From 4e7db161f610cb8959daca399f6fc4cbdb229a79 Mon Sep 17 00:00:00 2001 From: Mariana Date: Tue, 18 Feb 2025 19:51:00 +0000 Subject: [PATCH 01/15] Add Entity, Scene, Parse an some models and scenes --- Makefile | 6 +- include/engine/Entity.hpp | 36 + include/engine/Scene.hpp | 53 + include/engine/SceneWindow.hpp | 11 +- include/utils/Parse.hpp | 30 + models/box.3d | 1926 +++++++++++++ models/plane.3d | 321 +++ models/sphere.3d | 4881 ++++++++++++++++++++++++++++++++ scenes/scene_box.xml | 14 + scenes/scene_plane.xml | 14 + scenes/scene_sphere.xml | 14 + src/engine/Entity.cpp | 32 + src/engine/Scene.cpp | 78 + src/engine/SceneWindow.cpp | 35 +- src/engine/main.cpp | 11 +- src/utils/Parse.cpp | 189 ++ 16 files changed, 7632 insertions(+), 19 deletions(-) create mode 100644 include/engine/Entity.hpp create mode 100644 include/engine/Scene.hpp create mode 100644 include/utils/Parse.hpp create mode 100644 models/box.3d create mode 100644 models/plane.3d create mode 100644 models/sphere.3d create mode 100644 scenes/scene_box.xml create mode 100644 scenes/scene_plane.xml create mode 100644 scenes/scene_sphere.xml create mode 100644 src/engine/Entity.cpp create mode 100644 src/engine/Scene.cpp create mode 100644 src/utils/Parse.cpp diff --git a/Makefile b/Makefile index 8d3f2c10..82a3722a 100644 --- a/Makefile +++ b/Makefile @@ -21,11 +21,13 @@ CPPFLAGS := -Iinclude -std=c++20 -Wall -Wextra -pedantic -Wshadow \ $(shell pkg-config --cflags glfw3) -DGLFW_INCLUDE_NONE \ $(shell pkg-config --cflags glm) \ $(shell pkg-config --cflags gl) \ - -Ilib/include + -Ilib/include \ + -Ilib/include/tinyxml2 LIBS := -lm \ $(shell pkg-config --libs glfw3) \ $(shell pkg-config --libs glm) \ - $(shell pkg-config --libs gl) + $(shell pkg-config --libs gl) \ + -Llib -ltinyxml2 DEBUG_CPPFLAGS := -O0 -ggdb3 RELEASE_CPPFLAGS := -O2 diff --git a/include/engine/Entity.hpp b/include/engine/Entity.hpp new file mode 100644 index 00000000..4a305360 --- /dev/null +++ b/include/engine/Entity.hpp @@ -0,0 +1,36 @@ +/// Copyright 2025 Ana Oliveira, Humberto Gomes, Mariana Rocha, Sara Lopes +/// +/// Licensed under the Apache License, Version 2.0 (the "License"); +/// you may not use this file except in compliance with the License. +/// You may obtain a copy of the License at +/// +/// http://www.apache.org/licenses/LICENSE-2.0 +/// +/// Unless required by applicable law or agreed to in writing, software +/// distributed under the License is distributed on an "AS IS" BASIS, +/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +/// See the License for the specific language governing permissions and +/// limitations under the License. + +#pragma once + +#include +#include +#include +#include + +#include "engine/Model.hpp" +#include "engine/RenderPipeline.hpp" + +namespace engine { +class Entity { +protected: + std::unique_ptr model; + glm::vec4 color; + // Phase 2 – Add Geometric Transforms + +public: + Entity(std::unique_ptr argModel, const glm::vec4 &argColor); + void draw(const RenderPipeline &pipeline) const; +}; +} diff --git a/include/engine/Scene.hpp b/include/engine/Scene.hpp new file mode 100644 index 00000000..a8f3a919 --- /dev/null +++ b/include/engine/Scene.hpp @@ -0,0 +1,53 @@ +/// Copyright 2025 Ana Oliveira, Humberto Gomes, Mariana Rocha, Sara Lopes +/// +/// Licensed under the Apache License, Version 2.0 (the "License"); +/// you may not use this file except in compliance with the License. +/// You may obtain a copy of the License at +/// +/// http://www.apache.org/licenses/LICENSE-2.0 +/// +/// Unless required by applicable law or agreed to in writing, software +/// distributed under the License is distributed on an "AS IS" BASIS, +/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +/// See the License for the specific language governing permissions and +/// limitations under the License. + +#pragma once + +#include +#include +#include +#include + +#include "engine/Camera.hpp" +#include "engine/Entity.hpp" +#include "engine/RenderPipeline.hpp" + +namespace engine { +class Scene { +private: + int windowWidth, windowHeight; + std::string windowTitle; + Camera camera; + std::vector> entities; + +public: + Scene(); + Scene(const int &argWindowWidth, + const int &argWindowHeight, + const std::string &argWindowTitle, + const Camera &argCamera, + std::vector> argEntities); + void addEntity(std::unique_ptr entity); + void draw(const RenderPipeline &pipeline); + void updateCamera(float timeElapsed, const glm::vec3 &direction); + glm::mat4 getCameraMatrix() const; + void setWindowSize(int width, int height); + + Scene(const Scene &) = delete; + Scene &operator=(const Scene &) = delete; + + Scene(Scene &&other) noexcept; + Scene &operator=(Scene &&other) noexcept; +}; +} diff --git a/include/engine/SceneWindow.hpp b/include/engine/SceneWindow.hpp index d8df77d6..6171023e 100644 --- a/include/engine/SceneWindow.hpp +++ b/include/engine/SceneWindow.hpp @@ -14,25 +14,26 @@ #pragma once -#include - #include "engine/Camera.hpp" #include "engine/Model.hpp" #include "engine/RenderPipeline.hpp" +#include "engine/Scene.hpp" #include "engine/Window.hpp" namespace engine { class SceneWindow : public Window { private: RenderPipeline pipeline; - Camera camera; + // Camera camera; // TODO - remove, these are for testing purposes only - std::unique_ptr model; - glm::vec3 translate; + // std::unique_ptr model; + // glm::vec3 translate; + Scene scene; public: SceneWindow(); + void setScene(Scene &&newScene); protected: void onUpdate(float time, float timeElapsed); diff --git a/include/utils/Parse.hpp b/include/utils/Parse.hpp new file mode 100644 index 00000000..43a54ced --- /dev/null +++ b/include/utils/Parse.hpp @@ -0,0 +1,30 @@ +/// Copyright 2025 Ana Oliveira, Humberto Gomes, Mariana Rocha, Sara Lopes +/// +/// Licensed under the Apache License, Version 2.0 (the "License"); +/// you may not use this file except in compliance with the License. +/// You may obtain a copy of the License at +/// +/// http://www.apache.org/licenses/LICENSE-2.0 +/// +/// Unless required by applicable law or agreed to in writing, software +/// distributed under the License is distributed on an "AS IS" BASIS, +/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +/// See the License for the specific language governing permissions and +/// limitations under the License. + +#pragma once + +#include +#include + +#include "engine/Entity.hpp" +#include "engine/Scene.hpp" + +namespace utils { +engine::Scene configScene(const std::string &filename); +engine::Scene parseSceneXML(const std::string &filename); +engine::Scene parseSceneOBJ(const std::string &filename); +void processGroup(tinyxml2::XMLElement *groupElement, + glm::mat4 parentTransform, + std::vector> &entities); +} diff --git a/models/box.3d b/models/box.3d new file mode 100644 index 00000000..09356735 --- /dev/null +++ b/models/box.3d @@ -0,0 +1,1926 @@ +v -0.5 -0.5 -0.5 +v -0.5 -0.4 -0.5 +v -0.5 -0.3 -0.5 +v -0.5 -0.2 -0.5 +v -0.5 -0.1 -0.5 +v -0.5 0 -0.5 +v -0.5 0.1 -0.5 +v -0.5 0.2 -0.5 +v -0.5 0.3 -0.5 +v -0.5 0.4 -0.5 +v -0.5 0.5 -0.5 +v -0.4 -0.5 -0.5 +v -0.4 -0.4 -0.5 +v -0.4 -0.3 -0.5 +v -0.4 -0.2 -0.5 +v -0.4 -0.1 -0.5 +v -0.4 0 -0.5 +v -0.4 0.1 -0.5 +v -0.4 0.2 -0.5 +v -0.4 0.3 -0.5 +v -0.4 0.4 -0.5 +v -0.4 0.5 -0.5 +v -0.3 -0.5 -0.5 +v -0.3 -0.4 -0.5 +v -0.3 -0.3 -0.5 +v -0.3 -0.2 -0.5 +v -0.3 -0.1 -0.5 +v -0.3 0 -0.5 +v -0.3 0.1 -0.5 +v -0.3 0.2 -0.5 +v -0.3 0.3 -0.5 +v -0.3 0.4 -0.5 +v -0.3 0.5 -0.5 +v -0.2 -0.5 -0.5 +v -0.2 -0.4 -0.5 +v -0.2 -0.3 -0.5 +v -0.2 -0.2 -0.5 +v -0.2 -0.1 -0.5 +v -0.2 0 -0.5 +v -0.2 0.1 -0.5 +v -0.2 0.2 -0.5 +v -0.2 0.3 -0.5 +v -0.2 0.4 -0.5 +v -0.2 0.5 -0.5 +v -0.1 -0.5 -0.5 +v -0.1 -0.4 -0.5 +v -0.1 -0.3 -0.5 +v -0.1 -0.2 -0.5 +v -0.1 -0.1 -0.5 +v -0.1 0 -0.5 +v -0.1 0.1 -0.5 +v -0.1 0.2 -0.5 +v -0.1 0.3 -0.5 +v -0.1 0.4 -0.5 +v -0.1 0.5 -0.5 +v 0 -0.5 -0.5 +v 0 -0.4 -0.5 +v 0 -0.3 -0.5 +v 0 -0.2 -0.5 +v 0 -0.1 -0.5 +v 0 0 -0.5 +v 0 0.1 -0.5 +v 0 0.2 -0.5 +v 0 0.3 -0.5 +v 0 0.4 -0.5 +v 0 0.5 -0.5 +v 0.1 -0.5 -0.5 +v 0.1 -0.4 -0.5 +v 0.1 -0.3 -0.5 +v 0.1 -0.2 -0.5 +v 0.1 -0.1 -0.5 +v 0.1 0 -0.5 +v 0.1 0.1 -0.5 +v 0.1 0.2 -0.5 +v 0.1 0.3 -0.5 +v 0.1 0.4 -0.5 +v 0.1 0.5 -0.5 +v 0.2 -0.5 -0.5 +v 0.2 -0.4 -0.5 +v 0.2 -0.3 -0.5 +v 0.2 -0.2 -0.5 +v 0.2 -0.1 -0.5 +v 0.2 0 -0.5 +v 0.2 0.1 -0.5 +v 0.2 0.2 -0.5 +v 0.2 0.3 -0.5 +v 0.2 0.4 -0.5 +v 0.2 0.5 -0.5 +v 0.3 -0.5 -0.5 +v 0.3 -0.4 -0.5 +v 0.3 -0.3 -0.5 +v 0.3 -0.2 -0.5 +v 0.3 -0.1 -0.5 +v 0.3 0 -0.5 +v 0.3 0.1 -0.5 +v 0.3 0.2 -0.5 +v 0.3 0.3 -0.5 +v 0.3 0.4 -0.5 +v 0.3 0.5 -0.5 +v 0.4 -0.5 -0.5 +v 0.4 -0.4 -0.5 +v 0.4 -0.3 -0.5 +v 0.4 -0.2 -0.5 +v 0.4 -0.1 -0.5 +v 0.4 0 -0.5 +v 0.4 0.1 -0.5 +v 0.4 0.2 -0.5 +v 0.4 0.3 -0.5 +v 0.4 0.4 -0.5 +v 0.4 0.5 -0.5 +v 0.5 -0.5 -0.5 +v 0.5 -0.4 -0.5 +v 0.5 -0.3 -0.5 +v 0.5 -0.2 -0.5 +v 0.5 -0.1 -0.5 +v 0.5 0 -0.5 +v 0.5 0.1 -0.5 +v 0.5 0.2 -0.5 +v 0.5 0.3 -0.5 +v 0.5 0.4 -0.5 +v 0.5 0.5 -0.5 +v -0.5 -0.5 0.5 +v -0.5 -0.4 0.5 +v -0.5 -0.3 0.5 +v -0.5 -0.2 0.5 +v -0.5 -0.1 0.5 +v -0.5 0 0.5 +v -0.5 0.1 0.5 +v -0.5 0.2 0.5 +v -0.5 0.3 0.5 +v -0.5 0.4 0.5 +v -0.5 0.5 0.5 +v -0.4 -0.5 0.5 +v -0.4 -0.4 0.5 +v -0.4 -0.3 0.5 +v -0.4 -0.2 0.5 +v -0.4 -0.1 0.5 +v -0.4 0 0.5 +v -0.4 0.1 0.5 +v -0.4 0.2 0.5 +v -0.4 0.3 0.5 +v -0.4 0.4 0.5 +v -0.4 0.5 0.5 +v -0.3 -0.5 0.5 +v -0.3 -0.4 0.5 +v -0.3 -0.3 0.5 +v -0.3 -0.2 0.5 +v -0.3 -0.1 0.5 +v -0.3 0 0.5 +v -0.3 0.1 0.5 +v -0.3 0.2 0.5 +v -0.3 0.3 0.5 +v -0.3 0.4 0.5 +v -0.3 0.5 0.5 +v -0.2 -0.5 0.5 +v -0.2 -0.4 0.5 +v -0.2 -0.3 0.5 +v -0.2 -0.2 0.5 +v -0.2 -0.1 0.5 +v -0.2 0 0.5 +v -0.2 0.1 0.5 +v -0.2 0.2 0.5 +v -0.2 0.3 0.5 +v -0.2 0.4 0.5 +v -0.2 0.5 0.5 +v -0.1 -0.5 0.5 +v -0.1 -0.4 0.5 +v -0.1 -0.3 0.5 +v -0.1 -0.2 0.5 +v -0.1 -0.1 0.5 +v -0.1 0 0.5 +v -0.1 0.1 0.5 +v -0.1 0.2 0.5 +v -0.1 0.3 0.5 +v -0.1 0.4 0.5 +v -0.1 0.5 0.5 +v 0 -0.5 0.5 +v 0 -0.4 0.5 +v 0 -0.3 0.5 +v 0 -0.2 0.5 +v 0 -0.1 0.5 +v 0 0 0.5 +v 0 0.1 0.5 +v 0 0.2 0.5 +v 0 0.3 0.5 +v 0 0.4 0.5 +v 0 0.5 0.5 +v 0.1 -0.5 0.5 +v 0.1 -0.4 0.5 +v 0.1 -0.3 0.5 +v 0.1 -0.2 0.5 +v 0.1 -0.1 0.5 +v 0.1 0 0.5 +v 0.1 0.1 0.5 +v 0.1 0.2 0.5 +v 0.1 0.3 0.5 +v 0.1 0.4 0.5 +v 0.1 0.5 0.5 +v 0.2 -0.5 0.5 +v 0.2 -0.4 0.5 +v 0.2 -0.3 0.5 +v 0.2 -0.2 0.5 +v 0.2 -0.1 0.5 +v 0.2 0 0.5 +v 0.2 0.1 0.5 +v 0.2 0.2 0.5 +v 0.2 0.3 0.5 +v 0.2 0.4 0.5 +v 0.2 0.5 0.5 +v 0.3 -0.5 0.5 +v 0.3 -0.4 0.5 +v 0.3 -0.3 0.5 +v 0.3 -0.2 0.5 +v 0.3 -0.1 0.5 +v 0.3 0 0.5 +v 0.3 0.1 0.5 +v 0.3 0.2 0.5 +v 0.3 0.3 0.5 +v 0.3 0.4 0.5 +v 0.3 0.5 0.5 +v 0.4 -0.5 0.5 +v 0.4 -0.4 0.5 +v 0.4 -0.3 0.5 +v 0.4 -0.2 0.5 +v 0.4 -0.1 0.5 +v 0.4 0 0.5 +v 0.4 0.1 0.5 +v 0.4 0.2 0.5 +v 0.4 0.3 0.5 +v 0.4 0.4 0.5 +v 0.4 0.5 0.5 +v 0.5 -0.5 0.5 +v 0.5 -0.4 0.5 +v 0.5 -0.3 0.5 +v 0.5 -0.2 0.5 +v 0.5 -0.1 0.5 +v 0.5 0 0.5 +v 0.5 0.1 0.5 +v 0.5 0.2 0.5 +v 0.5 0.3 0.5 +v 0.5 0.4 0.5 +v 0.5 0.5 0.5 +v -0.5 -0.5 -0.5 +v -0.5 -0.5 -0.4 +v -0.5 -0.5 -0.3 +v -0.5 -0.5 -0.2 +v -0.5 -0.5 -0.1 +v -0.5 -0.5 0 +v -0.5 -0.5 0.1 +v -0.5 -0.5 0.2 +v -0.5 -0.5 0.3 +v -0.5 -0.5 0.4 +v -0.5 -0.5 0.5 +v -0.5 -0.4 -0.5 +v -0.5 -0.4 -0.4 +v -0.5 -0.4 -0.3 +v -0.5 -0.4 -0.2 +v -0.5 -0.4 -0.1 +v -0.5 -0.4 0 +v -0.5 -0.4 0.1 +v -0.5 -0.4 0.2 +v -0.5 -0.4 0.3 +v -0.5 -0.4 0.4 +v -0.5 -0.4 0.5 +v -0.5 -0.3 -0.5 +v -0.5 -0.3 -0.4 +v -0.5 -0.3 -0.3 +v -0.5 -0.3 -0.2 +v -0.5 -0.3 -0.1 +v -0.5 -0.3 0 +v -0.5 -0.3 0.1 +v -0.5 -0.3 0.2 +v -0.5 -0.3 0.3 +v -0.5 -0.3 0.4 +v -0.5 -0.3 0.5 +v -0.5 -0.2 -0.5 +v -0.5 -0.2 -0.4 +v -0.5 -0.2 -0.3 +v -0.5 -0.2 -0.2 +v -0.5 -0.2 -0.1 +v -0.5 -0.2 0 +v -0.5 -0.2 0.1 +v -0.5 -0.2 0.2 +v -0.5 -0.2 0.3 +v -0.5 -0.2 0.4 +v -0.5 -0.2 0.5 +v -0.5 -0.1 -0.5 +v -0.5 -0.1 -0.4 +v -0.5 -0.1 -0.3 +v -0.5 -0.1 -0.2 +v -0.5 -0.1 -0.1 +v -0.5 -0.1 0 +v -0.5 -0.1 0.1 +v -0.5 -0.1 0.2 +v -0.5 -0.1 0.3 +v -0.5 -0.1 0.4 +v -0.5 -0.1 0.5 +v -0.5 0 -0.5 +v -0.5 0 -0.4 +v -0.5 0 -0.3 +v -0.5 0 -0.2 +v -0.5 0 -0.1 +v -0.5 0 0 +v -0.5 0 0.1 +v -0.5 0 0.2 +v -0.5 0 0.3 +v -0.5 0 0.4 +v -0.5 0 0.5 +v -0.5 0.1 -0.5 +v -0.5 0.1 -0.4 +v -0.5 0.1 -0.3 +v -0.5 0.1 -0.2 +v -0.5 0.1 -0.1 +v -0.5 0.1 0 +v -0.5 0.1 0.1 +v -0.5 0.1 0.2 +v -0.5 0.1 0.3 +v -0.5 0.1 0.4 +v -0.5 0.1 0.5 +v -0.5 0.2 -0.5 +v -0.5 0.2 -0.4 +v -0.5 0.2 -0.3 +v -0.5 0.2 -0.2 +v -0.5 0.2 -0.1 +v -0.5 0.2 0 +v -0.5 0.2 0.1 +v -0.5 0.2 0.2 +v -0.5 0.2 0.3 +v -0.5 0.2 0.4 +v -0.5 0.2 0.5 +v -0.5 0.3 -0.5 +v -0.5 0.3 -0.4 +v -0.5 0.3 -0.3 +v -0.5 0.3 -0.2 +v -0.5 0.3 -0.1 +v -0.5 0.3 0 +v -0.5 0.3 0.1 +v -0.5 0.3 0.2 +v -0.5 0.3 0.3 +v -0.5 0.3 0.4 +v -0.5 0.3 0.5 +v -0.5 0.4 -0.5 +v -0.5 0.4 -0.4 +v -0.5 0.4 -0.3 +v -0.5 0.4 -0.2 +v -0.5 0.4 -0.1 +v -0.5 0.4 0 +v -0.5 0.4 0.1 +v -0.5 0.4 0.2 +v -0.5 0.4 0.3 +v -0.5 0.4 0.4 +v -0.5 0.4 0.5 +v -0.5 0.5 -0.5 +v -0.5 0.5 -0.4 +v -0.5 0.5 -0.3 +v -0.5 0.5 -0.2 +v -0.5 0.5 -0.1 +v -0.5 0.5 0 +v -0.5 0.5 0.1 +v -0.5 0.5 0.2 +v -0.5 0.5 0.3 +v -0.5 0.5 0.4 +v -0.5 0.5 0.5 +v 0.5 -0.5 -0.5 +v 0.5 -0.5 -0.4 +v 0.5 -0.5 -0.3 +v 0.5 -0.5 -0.2 +v 0.5 -0.5 -0.1 +v 0.5 -0.5 0 +v 0.5 -0.5 0.1 +v 0.5 -0.5 0.2 +v 0.5 -0.5 0.3 +v 0.5 -0.5 0.4 +v 0.5 -0.5 0.5 +v 0.5 -0.4 -0.5 +v 0.5 -0.4 -0.4 +v 0.5 -0.4 -0.3 +v 0.5 -0.4 -0.2 +v 0.5 -0.4 -0.1 +v 0.5 -0.4 0 +v 0.5 -0.4 0.1 +v 0.5 -0.4 0.2 +v 0.5 -0.4 0.3 +v 0.5 -0.4 0.4 +v 0.5 -0.4 0.5 +v 0.5 -0.3 -0.5 +v 0.5 -0.3 -0.4 +v 0.5 -0.3 -0.3 +v 0.5 -0.3 -0.2 +v 0.5 -0.3 -0.1 +v 0.5 -0.3 0 +v 0.5 -0.3 0.1 +v 0.5 -0.3 0.2 +v 0.5 -0.3 0.3 +v 0.5 -0.3 0.4 +v 0.5 -0.3 0.5 +v 0.5 -0.2 -0.5 +v 0.5 -0.2 -0.4 +v 0.5 -0.2 -0.3 +v 0.5 -0.2 -0.2 +v 0.5 -0.2 -0.1 +v 0.5 -0.2 0 +v 0.5 -0.2 0.1 +v 0.5 -0.2 0.2 +v 0.5 -0.2 0.3 +v 0.5 -0.2 0.4 +v 0.5 -0.2 0.5 +v 0.5 -0.1 -0.5 +v 0.5 -0.1 -0.4 +v 0.5 -0.1 -0.3 +v 0.5 -0.1 -0.2 +v 0.5 -0.1 -0.1 +v 0.5 -0.1 0 +v 0.5 -0.1 0.1 +v 0.5 -0.1 0.2 +v 0.5 -0.1 0.3 +v 0.5 -0.1 0.4 +v 0.5 -0.1 0.5 +v 0.5 0 -0.5 +v 0.5 0 -0.4 +v 0.5 0 -0.3 +v 0.5 0 -0.2 +v 0.5 0 -0.1 +v 0.5 0 0 +v 0.5 0 0.1 +v 0.5 0 0.2 +v 0.5 0 0.3 +v 0.5 0 0.4 +v 0.5 0 0.5 +v 0.5 0.1 -0.5 +v 0.5 0.1 -0.4 +v 0.5 0.1 -0.3 +v 0.5 0.1 -0.2 +v 0.5 0.1 -0.1 +v 0.5 0.1 0 +v 0.5 0.1 0.1 +v 0.5 0.1 0.2 +v 0.5 0.1 0.3 +v 0.5 0.1 0.4 +v 0.5 0.1 0.5 +v 0.5 0.2 -0.5 +v 0.5 0.2 -0.4 +v 0.5 0.2 -0.3 +v 0.5 0.2 -0.2 +v 0.5 0.2 -0.1 +v 0.5 0.2 0 +v 0.5 0.2 0.1 +v 0.5 0.2 0.2 +v 0.5 0.2 0.3 +v 0.5 0.2 0.4 +v 0.5 0.2 0.5 +v 0.5 0.3 -0.5 +v 0.5 0.3 -0.4 +v 0.5 0.3 -0.3 +v 0.5 0.3 -0.2 +v 0.5 0.3 -0.1 +v 0.5 0.3 0 +v 0.5 0.3 0.1 +v 0.5 0.3 0.2 +v 0.5 0.3 0.3 +v 0.5 0.3 0.4 +v 0.5 0.3 0.5 +v 0.5 0.4 -0.5 +v 0.5 0.4 -0.4 +v 0.5 0.4 -0.3 +v 0.5 0.4 -0.2 +v 0.5 0.4 -0.1 +v 0.5 0.4 0 +v 0.5 0.4 0.1 +v 0.5 0.4 0.2 +v 0.5 0.4 0.3 +v 0.5 0.4 0.4 +v 0.5 0.4 0.5 +v 0.5 0.5 -0.5 +v 0.5 0.5 -0.4 +v 0.5 0.5 -0.3 +v 0.5 0.5 -0.2 +v 0.5 0.5 -0.1 +v 0.5 0.5 0 +v 0.5 0.5 0.1 +v 0.5 0.5 0.2 +v 0.5 0.5 0.3 +v 0.5 0.5 0.4 +v 0.5 0.5 0.5 +v -0.5 -0.5 -0.5 +v -0.5 -0.5 -0.4 +v -0.5 -0.5 -0.3 +v -0.5 -0.5 -0.2 +v -0.5 -0.5 -0.1 +v -0.5 -0.5 0 +v -0.5 -0.5 0.1 +v -0.5 -0.5 0.2 +v -0.5 -0.5 0.3 +v -0.5 -0.5 0.4 +v -0.5 -0.5 0.5 +v -0.4 -0.5 -0.5 +v -0.4 -0.5 -0.4 +v -0.4 -0.5 -0.3 +v -0.4 -0.5 -0.2 +v -0.4 -0.5 -0.1 +v -0.4 -0.5 0 +v -0.4 -0.5 0.1 +v -0.4 -0.5 0.2 +v -0.4 -0.5 0.3 +v -0.4 -0.5 0.4 +v -0.4 -0.5 0.5 +v -0.3 -0.5 -0.5 +v -0.3 -0.5 -0.4 +v -0.3 -0.5 -0.3 +v -0.3 -0.5 -0.2 +v -0.3 -0.5 -0.1 +v -0.3 -0.5 0 +v -0.3 -0.5 0.1 +v -0.3 -0.5 0.2 +v -0.3 -0.5 0.3 +v -0.3 -0.5 0.4 +v -0.3 -0.5 0.5 +v -0.2 -0.5 -0.5 +v -0.2 -0.5 -0.4 +v -0.2 -0.5 -0.3 +v -0.2 -0.5 -0.2 +v -0.2 -0.5 -0.1 +v -0.2 -0.5 0 +v -0.2 -0.5 0.1 +v -0.2 -0.5 0.2 +v -0.2 -0.5 0.3 +v -0.2 -0.5 0.4 +v -0.2 -0.5 0.5 +v -0.1 -0.5 -0.5 +v -0.1 -0.5 -0.4 +v -0.1 -0.5 -0.3 +v -0.1 -0.5 -0.2 +v -0.1 -0.5 -0.1 +v -0.1 -0.5 0 +v -0.1 -0.5 0.1 +v -0.1 -0.5 0.2 +v -0.1 -0.5 0.3 +v -0.1 -0.5 0.4 +v -0.1 -0.5 0.5 +v 0 -0.5 -0.5 +v 0 -0.5 -0.4 +v 0 -0.5 -0.3 +v 0 -0.5 -0.2 +v 0 -0.5 -0.1 +v 0 -0.5 0 +v 0 -0.5 0.1 +v 0 -0.5 0.2 +v 0 -0.5 0.3 +v 0 -0.5 0.4 +v 0 -0.5 0.5 +v 0.1 -0.5 -0.5 +v 0.1 -0.5 -0.4 +v 0.1 -0.5 -0.3 +v 0.1 -0.5 -0.2 +v 0.1 -0.5 -0.1 +v 0.1 -0.5 0 +v 0.1 -0.5 0.1 +v 0.1 -0.5 0.2 +v 0.1 -0.5 0.3 +v 0.1 -0.5 0.4 +v 0.1 -0.5 0.5 +v 0.2 -0.5 -0.5 +v 0.2 -0.5 -0.4 +v 0.2 -0.5 -0.3 +v 0.2 -0.5 -0.2 +v 0.2 -0.5 -0.1 +v 0.2 -0.5 0 +v 0.2 -0.5 0.1 +v 0.2 -0.5 0.2 +v 0.2 -0.5 0.3 +v 0.2 -0.5 0.4 +v 0.2 -0.5 0.5 +v 0.3 -0.5 -0.5 +v 0.3 -0.5 -0.4 +v 0.3 -0.5 -0.3 +v 0.3 -0.5 -0.2 +v 0.3 -0.5 -0.1 +v 0.3 -0.5 0 +v 0.3 -0.5 0.1 +v 0.3 -0.5 0.2 +v 0.3 -0.5 0.3 +v 0.3 -0.5 0.4 +v 0.3 -0.5 0.5 +v 0.4 -0.5 -0.5 +v 0.4 -0.5 -0.4 +v 0.4 -0.5 -0.3 +v 0.4 -0.5 -0.2 +v 0.4 -0.5 -0.1 +v 0.4 -0.5 0 +v 0.4 -0.5 0.1 +v 0.4 -0.5 0.2 +v 0.4 -0.5 0.3 +v 0.4 -0.5 0.4 +v 0.4 -0.5 0.5 +v 0.5 -0.5 -0.5 +v 0.5 -0.5 -0.4 +v 0.5 -0.5 -0.3 +v 0.5 -0.5 -0.2 +v 0.5 -0.5 -0.1 +v 0.5 -0.5 0 +v 0.5 -0.5 0.1 +v 0.5 -0.5 0.2 +v 0.5 -0.5 0.3 +v 0.5 -0.5 0.4 +v 0.5 -0.5 0.5 +v -0.5 0.5 -0.5 +v -0.5 0.5 -0.4 +v -0.5 0.5 -0.3 +v -0.5 0.5 -0.2 +v -0.5 0.5 -0.1 +v -0.5 0.5 0 +v -0.5 0.5 0.1 +v -0.5 0.5 0.2 +v -0.5 0.5 0.3 +v -0.5 0.5 0.4 +v -0.5 0.5 0.5 +v -0.4 0.5 -0.5 +v -0.4 0.5 -0.4 +v -0.4 0.5 -0.3 +v -0.4 0.5 -0.2 +v -0.4 0.5 -0.1 +v -0.4 0.5 0 +v -0.4 0.5 0.1 +v -0.4 0.5 0.2 +v -0.4 0.5 0.3 +v -0.4 0.5 0.4 +v -0.4 0.5 0.5 +v -0.3 0.5 -0.5 +v -0.3 0.5 -0.4 +v -0.3 0.5 -0.3 +v -0.3 0.5 -0.2 +v -0.3 0.5 -0.1 +v -0.3 0.5 0 +v -0.3 0.5 0.1 +v -0.3 0.5 0.2 +v -0.3 0.5 0.3 +v -0.3 0.5 0.4 +v -0.3 0.5 0.5 +v -0.2 0.5 -0.5 +v -0.2 0.5 -0.4 +v -0.2 0.5 -0.3 +v -0.2 0.5 -0.2 +v -0.2 0.5 -0.1 +v -0.2 0.5 0 +v -0.2 0.5 0.1 +v -0.2 0.5 0.2 +v -0.2 0.5 0.3 +v -0.2 0.5 0.4 +v -0.2 0.5 0.5 +v -0.1 0.5 -0.5 +v -0.1 0.5 -0.4 +v -0.1 0.5 -0.3 +v -0.1 0.5 -0.2 +v -0.1 0.5 -0.1 +v -0.1 0.5 0 +v -0.1 0.5 0.1 +v -0.1 0.5 0.2 +v -0.1 0.5 0.3 +v -0.1 0.5 0.4 +v -0.1 0.5 0.5 +v 0 0.5 -0.5 +v 0 0.5 -0.4 +v 0 0.5 -0.3 +v 0 0.5 -0.2 +v 0 0.5 -0.1 +v 0 0.5 0 +v 0 0.5 0.1 +v 0 0.5 0.2 +v 0 0.5 0.3 +v 0 0.5 0.4 +v 0 0.5 0.5 +v 0.1 0.5 -0.5 +v 0.1 0.5 -0.4 +v 0.1 0.5 -0.3 +v 0.1 0.5 -0.2 +v 0.1 0.5 -0.1 +v 0.1 0.5 0 +v 0.1 0.5 0.1 +v 0.1 0.5 0.2 +v 0.1 0.5 0.3 +v 0.1 0.5 0.4 +v 0.1 0.5 0.5 +v 0.2 0.5 -0.5 +v 0.2 0.5 -0.4 +v 0.2 0.5 -0.3 +v 0.2 0.5 -0.2 +v 0.2 0.5 -0.1 +v 0.2 0.5 0 +v 0.2 0.5 0.1 +v 0.2 0.5 0.2 +v 0.2 0.5 0.3 +v 0.2 0.5 0.4 +v 0.2 0.5 0.5 +v 0.3 0.5 -0.5 +v 0.3 0.5 -0.4 +v 0.3 0.5 -0.3 +v 0.3 0.5 -0.2 +v 0.3 0.5 -0.1 +v 0.3 0.5 0 +v 0.3 0.5 0.1 +v 0.3 0.5 0.2 +v 0.3 0.5 0.3 +v 0.3 0.5 0.4 +v 0.3 0.5 0.5 +v 0.4 0.5 -0.5 +v 0.4 0.5 -0.4 +v 0.4 0.5 -0.3 +v 0.4 0.5 -0.2 +v 0.4 0.5 -0.1 +v 0.4 0.5 0 +v 0.4 0.5 0.1 +v 0.4 0.5 0.2 +v 0.4 0.5 0.3 +v 0.4 0.5 0.4 +v 0.4 0.5 0.5 +v 0.5 0.5 -0.5 +v 0.5 0.5 -0.4 +v 0.5 0.5 -0.3 +v 0.5 0.5 -0.2 +v 0.5 0.5 -0.1 +v 0.5 0.5 0 +v 0.5 0.5 0.1 +v 0.5 0.5 0.2 +v 0.5 0.5 0.3 +v 0.5 0.5 0.4 +v 0.5 0.5 0.5 +f 1 2 12 +f 2 13 12 +f 2 3 13 +f 3 14 13 +f 3 4 14 +f 4 15 14 +f 4 5 15 +f 5 16 15 +f 5 6 16 +f 6 17 16 +f 6 7 17 +f 7 18 17 +f 7 8 18 +f 8 19 18 +f 8 9 19 +f 9 20 19 +f 9 10 20 +f 10 21 20 +f 10 11 21 +f 11 22 21 +f 12 13 23 +f 13 24 23 +f 13 14 24 +f 14 25 24 +f 14 15 25 +f 15 26 25 +f 15 16 26 +f 16 27 26 +f 16 17 27 +f 17 28 27 +f 17 18 28 +f 18 29 28 +f 18 19 29 +f 19 30 29 +f 19 20 30 +f 20 31 30 +f 20 21 31 +f 21 32 31 +f 21 22 32 +f 22 33 32 +f 23 24 34 +f 24 35 34 +f 24 25 35 +f 25 36 35 +f 25 26 36 +f 26 37 36 +f 26 27 37 +f 27 38 37 +f 27 28 38 +f 28 39 38 +f 28 29 39 +f 29 40 39 +f 29 30 40 +f 30 41 40 +f 30 31 41 +f 31 42 41 +f 31 32 42 +f 32 43 42 +f 32 33 43 +f 33 44 43 +f 34 35 45 +f 35 46 45 +f 35 36 46 +f 36 47 46 +f 36 37 47 +f 37 48 47 +f 37 38 48 +f 38 49 48 +f 38 39 49 +f 39 50 49 +f 39 40 50 +f 40 51 50 +f 40 41 51 +f 41 52 51 +f 41 42 52 +f 42 53 52 +f 42 43 53 +f 43 54 53 +f 43 44 54 +f 44 55 54 +f 45 46 56 +f 46 57 56 +f 46 47 57 +f 47 58 57 +f 47 48 58 +f 48 59 58 +f 48 49 59 +f 49 60 59 +f 49 50 60 +f 50 61 60 +f 50 51 61 +f 51 62 61 +f 51 52 62 +f 52 63 62 +f 52 53 63 +f 53 64 63 +f 53 54 64 +f 54 65 64 +f 54 55 65 +f 55 66 65 +f 56 57 67 +f 57 68 67 +f 57 58 68 +f 58 69 68 +f 58 59 69 +f 59 70 69 +f 59 60 70 +f 60 71 70 +f 60 61 71 +f 61 72 71 +f 61 62 72 +f 62 73 72 +f 62 63 73 +f 63 74 73 +f 63 64 74 +f 64 75 74 +f 64 65 75 +f 65 76 75 +f 65 66 76 +f 66 77 76 +f 67 68 78 +f 68 79 78 +f 68 69 79 +f 69 80 79 +f 69 70 80 +f 70 81 80 +f 70 71 81 +f 71 82 81 +f 71 72 82 +f 72 83 82 +f 72 73 83 +f 73 84 83 +f 73 74 84 +f 74 85 84 +f 74 75 85 +f 75 86 85 +f 75 76 86 +f 76 87 86 +f 76 77 87 +f 77 88 87 +f 78 79 89 +f 79 90 89 +f 79 80 90 +f 80 91 90 +f 80 81 91 +f 81 92 91 +f 81 82 92 +f 82 93 92 +f 82 83 93 +f 83 94 93 +f 83 84 94 +f 84 95 94 +f 84 85 95 +f 85 96 95 +f 85 86 96 +f 86 97 96 +f 86 87 97 +f 87 98 97 +f 87 88 98 +f 88 99 98 +f 89 90 100 +f 90 101 100 +f 90 91 101 +f 91 102 101 +f 91 92 102 +f 92 103 102 +f 92 93 103 +f 93 104 103 +f 93 94 104 +f 94 105 104 +f 94 95 105 +f 95 106 105 +f 95 96 106 +f 96 107 106 +f 96 97 107 +f 97 108 107 +f 97 98 108 +f 98 109 108 +f 98 99 109 +f 99 110 109 +f 100 101 111 +f 101 112 111 +f 101 102 112 +f 102 113 112 +f 102 103 113 +f 103 114 113 +f 103 104 114 +f 104 115 114 +f 104 105 115 +f 105 116 115 +f 105 106 116 +f 106 117 116 +f 106 107 117 +f 107 118 117 +f 107 108 118 +f 108 119 118 +f 108 109 119 +f 109 120 119 +f 109 110 120 +f 110 121 120 +f 122 123 133 +f 123 134 133 +f 123 124 134 +f 124 135 134 +f 124 125 135 +f 125 136 135 +f 125 126 136 +f 126 137 136 +f 126 127 137 +f 127 138 137 +f 127 128 138 +f 128 139 138 +f 128 129 139 +f 129 140 139 +f 129 130 140 +f 130 141 140 +f 130 131 141 +f 131 142 141 +f 131 132 142 +f 132 143 142 +f 133 134 144 +f 134 145 144 +f 134 135 145 +f 135 146 145 +f 135 136 146 +f 136 147 146 +f 136 137 147 +f 137 148 147 +f 137 138 148 +f 138 149 148 +f 138 139 149 +f 139 150 149 +f 139 140 150 +f 140 151 150 +f 140 141 151 +f 141 152 151 +f 141 142 152 +f 142 153 152 +f 142 143 153 +f 143 154 153 +f 144 145 155 +f 145 156 155 +f 145 146 156 +f 146 157 156 +f 146 147 157 +f 147 158 157 +f 147 148 158 +f 148 159 158 +f 148 149 159 +f 149 160 159 +f 149 150 160 +f 150 161 160 +f 150 151 161 +f 151 162 161 +f 151 152 162 +f 152 163 162 +f 152 153 163 +f 153 164 163 +f 153 154 164 +f 154 165 164 +f 155 156 166 +f 156 167 166 +f 156 157 167 +f 157 168 167 +f 157 158 168 +f 158 169 168 +f 158 159 169 +f 159 170 169 +f 159 160 170 +f 160 171 170 +f 160 161 171 +f 161 172 171 +f 161 162 172 +f 162 173 172 +f 162 163 173 +f 163 174 173 +f 163 164 174 +f 164 175 174 +f 164 165 175 +f 165 176 175 +f 166 167 177 +f 167 178 177 +f 167 168 178 +f 168 179 178 +f 168 169 179 +f 169 180 179 +f 169 170 180 +f 170 181 180 +f 170 171 181 +f 171 182 181 +f 171 172 182 +f 172 183 182 +f 172 173 183 +f 173 184 183 +f 173 174 184 +f 174 185 184 +f 174 175 185 +f 175 186 185 +f 175 176 186 +f 176 187 186 +f 177 178 188 +f 178 189 188 +f 178 179 189 +f 179 190 189 +f 179 180 190 +f 180 191 190 +f 180 181 191 +f 181 192 191 +f 181 182 192 +f 182 193 192 +f 182 183 193 +f 183 194 193 +f 183 184 194 +f 184 195 194 +f 184 185 195 +f 185 196 195 +f 185 186 196 +f 186 197 196 +f 186 187 197 +f 187 198 197 +f 188 189 199 +f 189 200 199 +f 189 190 200 +f 190 201 200 +f 190 191 201 +f 191 202 201 +f 191 192 202 +f 192 203 202 +f 192 193 203 +f 193 204 203 +f 193 194 204 +f 194 205 204 +f 194 195 205 +f 195 206 205 +f 195 196 206 +f 196 207 206 +f 196 197 207 +f 197 208 207 +f 197 198 208 +f 198 209 208 +f 199 200 210 +f 200 211 210 +f 200 201 211 +f 201 212 211 +f 201 202 212 +f 202 213 212 +f 202 203 213 +f 203 214 213 +f 203 204 214 +f 204 215 214 +f 204 205 215 +f 205 216 215 +f 205 206 216 +f 206 217 216 +f 206 207 217 +f 207 218 217 +f 207 208 218 +f 208 219 218 +f 208 209 219 +f 209 220 219 +f 210 211 221 +f 211 222 221 +f 211 212 222 +f 212 223 222 +f 212 213 223 +f 213 224 223 +f 213 214 224 +f 214 225 224 +f 214 215 225 +f 215 226 225 +f 215 216 226 +f 216 227 226 +f 216 217 227 +f 217 228 227 +f 217 218 228 +f 218 229 228 +f 218 219 229 +f 219 230 229 +f 219 220 230 +f 220 231 230 +f 221 222 232 +f 222 233 232 +f 222 223 233 +f 223 234 233 +f 223 224 234 +f 224 235 234 +f 224 225 235 +f 225 236 235 +f 225 226 236 +f 226 237 236 +f 226 227 237 +f 227 238 237 +f 227 228 238 +f 228 239 238 +f 228 229 239 +f 229 240 239 +f 229 230 240 +f 230 241 240 +f 230 231 241 +f 231 242 241 +f 243 244 254 +f 244 255 254 +f 244 245 255 +f 245 256 255 +f 245 246 256 +f 246 257 256 +f 246 247 257 +f 247 258 257 +f 247 248 258 +f 248 259 258 +f 248 249 259 +f 249 260 259 +f 249 250 260 +f 250 261 260 +f 250 251 261 +f 251 262 261 +f 251 252 262 +f 252 263 262 +f 252 253 263 +f 253 264 263 +f 254 255 265 +f 255 266 265 +f 255 256 266 +f 256 267 266 +f 256 257 267 +f 257 268 267 +f 257 258 268 +f 258 269 268 +f 258 259 269 +f 259 270 269 +f 259 260 270 +f 260 271 270 +f 260 261 271 +f 261 272 271 +f 261 262 272 +f 262 273 272 +f 262 263 273 +f 263 274 273 +f 263 264 274 +f 264 275 274 +f 265 266 276 +f 266 277 276 +f 266 267 277 +f 267 278 277 +f 267 268 278 +f 268 279 278 +f 268 269 279 +f 269 280 279 +f 269 270 280 +f 270 281 280 +f 270 271 281 +f 271 282 281 +f 271 272 282 +f 272 283 282 +f 272 273 283 +f 273 284 283 +f 273 274 284 +f 274 285 284 +f 274 275 285 +f 275 286 285 +f 276 277 287 +f 277 288 287 +f 277 278 288 +f 278 289 288 +f 278 279 289 +f 279 290 289 +f 279 280 290 +f 280 291 290 +f 280 281 291 +f 281 292 291 +f 281 282 292 +f 282 293 292 +f 282 283 293 +f 283 294 293 +f 283 284 294 +f 284 295 294 +f 284 285 295 +f 285 296 295 +f 285 286 296 +f 286 297 296 +f 287 288 298 +f 288 299 298 +f 288 289 299 +f 289 300 299 +f 289 290 300 +f 290 301 300 +f 290 291 301 +f 291 302 301 +f 291 292 302 +f 292 303 302 +f 292 293 303 +f 293 304 303 +f 293 294 304 +f 294 305 304 +f 294 295 305 +f 295 306 305 +f 295 296 306 +f 296 307 306 +f 296 297 307 +f 297 308 307 +f 298 299 309 +f 299 310 309 +f 299 300 310 +f 300 311 310 +f 300 301 311 +f 301 312 311 +f 301 302 312 +f 302 313 312 +f 302 303 313 +f 303 314 313 +f 303 304 314 +f 304 315 314 +f 304 305 315 +f 305 316 315 +f 305 306 316 +f 306 317 316 +f 306 307 317 +f 307 318 317 +f 307 308 318 +f 308 319 318 +f 309 310 320 +f 310 321 320 +f 310 311 321 +f 311 322 321 +f 311 312 322 +f 312 323 322 +f 312 313 323 +f 313 324 323 +f 313 314 324 +f 314 325 324 +f 314 315 325 +f 315 326 325 +f 315 316 326 +f 316 327 326 +f 316 317 327 +f 317 328 327 +f 317 318 328 +f 318 329 328 +f 318 319 329 +f 319 330 329 +f 320 321 331 +f 321 332 331 +f 321 322 332 +f 322 333 332 +f 322 323 333 +f 323 334 333 +f 323 324 334 +f 324 335 334 +f 324 325 335 +f 325 336 335 +f 325 326 336 +f 326 337 336 +f 326 327 337 +f 327 338 337 +f 327 328 338 +f 328 339 338 +f 328 329 339 +f 329 340 339 +f 329 330 340 +f 330 341 340 +f 331 332 342 +f 332 343 342 +f 332 333 343 +f 333 344 343 +f 333 334 344 +f 334 345 344 +f 334 335 345 +f 335 346 345 +f 335 336 346 +f 336 347 346 +f 336 337 347 +f 337 348 347 +f 337 338 348 +f 338 349 348 +f 338 339 349 +f 339 350 349 +f 339 340 350 +f 340 351 350 +f 340 341 351 +f 341 352 351 +f 342 343 353 +f 343 354 353 +f 343 344 354 +f 344 355 354 +f 344 345 355 +f 345 356 355 +f 345 346 356 +f 346 357 356 +f 346 347 357 +f 347 358 357 +f 347 348 358 +f 348 359 358 +f 348 349 359 +f 349 360 359 +f 349 350 360 +f 350 361 360 +f 350 351 361 +f 351 362 361 +f 351 352 362 +f 352 363 362 +f 364 365 375 +f 365 376 375 +f 365 366 376 +f 366 377 376 +f 366 367 377 +f 367 378 377 +f 367 368 378 +f 368 379 378 +f 368 369 379 +f 369 380 379 +f 369 370 380 +f 370 381 380 +f 370 371 381 +f 371 382 381 +f 371 372 382 +f 372 383 382 +f 372 373 383 +f 373 384 383 +f 373 374 384 +f 374 385 384 +f 375 376 386 +f 376 387 386 +f 376 377 387 +f 377 388 387 +f 377 378 388 +f 378 389 388 +f 378 379 389 +f 379 390 389 +f 379 380 390 +f 380 391 390 +f 380 381 391 +f 381 392 391 +f 381 382 392 +f 382 393 392 +f 382 383 393 +f 383 394 393 +f 383 384 394 +f 384 395 394 +f 384 385 395 +f 385 396 395 +f 386 387 397 +f 387 398 397 +f 387 388 398 +f 388 399 398 +f 388 389 399 +f 389 400 399 +f 389 390 400 +f 390 401 400 +f 390 391 401 +f 391 402 401 +f 391 392 402 +f 392 403 402 +f 392 393 403 +f 393 404 403 +f 393 394 404 +f 394 405 404 +f 394 395 405 +f 395 406 405 +f 395 396 406 +f 396 407 406 +f 397 398 408 +f 398 409 408 +f 398 399 409 +f 399 410 409 +f 399 400 410 +f 400 411 410 +f 400 401 411 +f 401 412 411 +f 401 402 412 +f 402 413 412 +f 402 403 413 +f 403 414 413 +f 403 404 414 +f 404 415 414 +f 404 405 415 +f 405 416 415 +f 405 406 416 +f 406 417 416 +f 406 407 417 +f 407 418 417 +f 408 409 419 +f 409 420 419 +f 409 410 420 +f 410 421 420 +f 410 411 421 +f 411 422 421 +f 411 412 422 +f 412 423 422 +f 412 413 423 +f 413 424 423 +f 413 414 424 +f 414 425 424 +f 414 415 425 +f 415 426 425 +f 415 416 426 +f 416 427 426 +f 416 417 427 +f 417 428 427 +f 417 418 428 +f 418 429 428 +f 419 420 430 +f 420 431 430 +f 420 421 431 +f 421 432 431 +f 421 422 432 +f 422 433 432 +f 422 423 433 +f 423 434 433 +f 423 424 434 +f 424 435 434 +f 424 425 435 +f 425 436 435 +f 425 426 436 +f 426 437 436 +f 426 427 437 +f 427 438 437 +f 427 428 438 +f 428 439 438 +f 428 429 439 +f 429 440 439 +f 430 431 441 +f 431 442 441 +f 431 432 442 +f 432 443 442 +f 432 433 443 +f 433 444 443 +f 433 434 444 +f 434 445 444 +f 434 435 445 +f 435 446 445 +f 435 436 446 +f 436 447 446 +f 436 437 447 +f 437 448 447 +f 437 438 448 +f 438 449 448 +f 438 439 449 +f 439 450 449 +f 439 440 450 +f 440 451 450 +f 441 442 452 +f 442 453 452 +f 442 443 453 +f 443 454 453 +f 443 444 454 +f 444 455 454 +f 444 445 455 +f 445 456 455 +f 445 446 456 +f 446 457 456 +f 446 447 457 +f 447 458 457 +f 447 448 458 +f 448 459 458 +f 448 449 459 +f 449 460 459 +f 449 450 460 +f 450 461 460 +f 450 451 461 +f 451 462 461 +f 452 453 463 +f 453 464 463 +f 453 454 464 +f 454 465 464 +f 454 455 465 +f 455 466 465 +f 455 456 466 +f 456 467 466 +f 456 457 467 +f 457 468 467 +f 457 458 468 +f 458 469 468 +f 458 459 469 +f 459 470 469 +f 459 460 470 +f 460 471 470 +f 460 461 471 +f 461 472 471 +f 461 462 472 +f 462 473 472 +f 463 464 474 +f 464 475 474 +f 464 465 475 +f 465 476 475 +f 465 466 476 +f 466 477 476 +f 466 467 477 +f 467 478 477 +f 467 468 478 +f 468 479 478 +f 468 469 479 +f 469 480 479 +f 469 470 480 +f 470 481 480 +f 470 471 481 +f 471 482 481 +f 471 472 482 +f 472 483 482 +f 472 473 483 +f 473 484 483 +f 485 486 496 +f 486 497 496 +f 486 487 497 +f 487 498 497 +f 487 488 498 +f 488 499 498 +f 488 489 499 +f 489 500 499 +f 489 490 500 +f 490 501 500 +f 490 491 501 +f 491 502 501 +f 491 492 502 +f 492 503 502 +f 492 493 503 +f 493 504 503 +f 493 494 504 +f 494 505 504 +f 494 495 505 +f 495 506 505 +f 496 497 507 +f 497 508 507 +f 497 498 508 +f 498 509 508 +f 498 499 509 +f 499 510 509 +f 499 500 510 +f 500 511 510 +f 500 501 511 +f 501 512 511 +f 501 502 512 +f 502 513 512 +f 502 503 513 +f 503 514 513 +f 503 504 514 +f 504 515 514 +f 504 505 515 +f 505 516 515 +f 505 506 516 +f 506 517 516 +f 507 508 518 +f 508 519 518 +f 508 509 519 +f 509 520 519 +f 509 510 520 +f 510 521 520 +f 510 511 521 +f 511 522 521 +f 511 512 522 +f 512 523 522 +f 512 513 523 +f 513 524 523 +f 513 514 524 +f 514 525 524 +f 514 515 525 +f 515 526 525 +f 515 516 526 +f 516 527 526 +f 516 517 527 +f 517 528 527 +f 518 519 529 +f 519 530 529 +f 519 520 530 +f 520 531 530 +f 520 521 531 +f 521 532 531 +f 521 522 532 +f 522 533 532 +f 522 523 533 +f 523 534 533 +f 523 524 534 +f 524 535 534 +f 524 525 535 +f 525 536 535 +f 525 526 536 +f 526 537 536 +f 526 527 537 +f 527 538 537 +f 527 528 538 +f 528 539 538 +f 529 530 540 +f 530 541 540 +f 530 531 541 +f 531 542 541 +f 531 532 542 +f 532 543 542 +f 532 533 543 +f 533 544 543 +f 533 534 544 +f 534 545 544 +f 534 535 545 +f 535 546 545 +f 535 536 546 +f 536 547 546 +f 536 537 547 +f 537 548 547 +f 537 538 548 +f 538 549 548 +f 538 539 549 +f 539 550 549 +f 540 541 551 +f 541 552 551 +f 541 542 552 +f 542 553 552 +f 542 543 553 +f 543 554 553 +f 543 544 554 +f 544 555 554 +f 544 545 555 +f 545 556 555 +f 545 546 556 +f 546 557 556 +f 546 547 557 +f 547 558 557 +f 547 548 558 +f 548 559 558 +f 548 549 559 +f 549 560 559 +f 549 550 560 +f 550 561 560 +f 551 552 562 +f 552 563 562 +f 552 553 563 +f 553 564 563 +f 553 554 564 +f 554 565 564 +f 554 555 565 +f 555 566 565 +f 555 556 566 +f 556 567 566 +f 556 557 567 +f 557 568 567 +f 557 558 568 +f 558 569 568 +f 558 559 569 +f 559 570 569 +f 559 560 570 +f 560 571 570 +f 560 561 571 +f 561 572 571 +f 562 563 573 +f 563 574 573 +f 563 564 574 +f 564 575 574 +f 564 565 575 +f 565 576 575 +f 565 566 576 +f 566 577 576 +f 566 567 577 +f 567 578 577 +f 567 568 578 +f 568 579 578 +f 568 569 579 +f 569 580 579 +f 569 570 580 +f 570 581 580 +f 570 571 581 +f 571 582 581 +f 571 572 582 +f 572 583 582 +f 573 574 584 +f 574 585 584 +f 574 575 585 +f 575 586 585 +f 575 576 586 +f 576 587 586 +f 576 577 587 +f 577 588 587 +f 577 578 588 +f 578 589 588 +f 578 579 589 +f 579 590 589 +f 579 580 590 +f 580 591 590 +f 580 581 591 +f 581 592 591 +f 581 582 592 +f 582 593 592 +f 582 583 593 +f 583 594 593 +f 584 585 595 +f 585 596 595 +f 585 586 596 +f 586 597 596 +f 586 587 597 +f 587 598 597 +f 587 588 598 +f 588 599 598 +f 588 589 599 +f 589 600 599 +f 589 590 600 +f 590 601 600 +f 590 591 601 +f 591 602 601 +f 591 592 602 +f 592 603 602 +f 592 593 603 +f 593 604 603 +f 593 594 604 +f 594 605 604 +f 606 607 617 +f 607 618 617 +f 607 608 618 +f 608 619 618 +f 608 609 619 +f 609 620 619 +f 609 610 620 +f 610 621 620 +f 610 611 621 +f 611 622 621 +f 611 612 622 +f 612 623 622 +f 612 613 623 +f 613 624 623 +f 613 614 624 +f 614 625 624 +f 614 615 625 +f 615 626 625 +f 615 616 626 +f 616 627 626 +f 617 618 628 +f 618 629 628 +f 618 619 629 +f 619 630 629 +f 619 620 630 +f 620 631 630 +f 620 621 631 +f 621 632 631 +f 621 622 632 +f 622 633 632 +f 622 623 633 +f 623 634 633 +f 623 624 634 +f 624 635 634 +f 624 625 635 +f 625 636 635 +f 625 626 636 +f 626 637 636 +f 626 627 637 +f 627 638 637 +f 628 629 639 +f 629 640 639 +f 629 630 640 +f 630 641 640 +f 630 631 641 +f 631 642 641 +f 631 632 642 +f 632 643 642 +f 632 633 643 +f 633 644 643 +f 633 634 644 +f 634 645 644 +f 634 635 645 +f 635 646 645 +f 635 636 646 +f 636 647 646 +f 636 637 647 +f 637 648 647 +f 637 638 648 +f 638 649 648 +f 639 640 650 +f 640 651 650 +f 640 641 651 +f 641 652 651 +f 641 642 652 +f 642 653 652 +f 642 643 653 +f 643 654 653 +f 643 644 654 +f 644 655 654 +f 644 645 655 +f 645 656 655 +f 645 646 656 +f 646 657 656 +f 646 647 657 +f 647 658 657 +f 647 648 658 +f 648 659 658 +f 648 649 659 +f 649 660 659 +f 650 651 661 +f 651 662 661 +f 651 652 662 +f 652 663 662 +f 652 653 663 +f 653 664 663 +f 653 654 664 +f 654 665 664 +f 654 655 665 +f 655 666 665 +f 655 656 666 +f 656 667 666 +f 656 657 667 +f 657 668 667 +f 657 658 668 +f 658 669 668 +f 658 659 669 +f 659 670 669 +f 659 660 670 +f 660 671 670 +f 661 662 672 +f 662 673 672 +f 662 663 673 +f 663 674 673 +f 663 664 674 +f 664 675 674 +f 664 665 675 +f 665 676 675 +f 665 666 676 +f 666 677 676 +f 666 667 677 +f 667 678 677 +f 667 668 678 +f 668 679 678 +f 668 669 679 +f 669 680 679 +f 669 670 680 +f 670 681 680 +f 670 671 681 +f 671 682 681 +f 672 673 683 +f 673 684 683 +f 673 674 684 +f 674 685 684 +f 674 675 685 +f 675 686 685 +f 675 676 686 +f 676 687 686 +f 676 677 687 +f 677 688 687 +f 677 678 688 +f 678 689 688 +f 678 679 689 +f 679 690 689 +f 679 680 690 +f 680 691 690 +f 680 681 691 +f 681 692 691 +f 681 682 692 +f 682 693 692 +f 683 684 694 +f 684 695 694 +f 684 685 695 +f 685 696 695 +f 685 686 696 +f 686 697 696 +f 686 687 697 +f 687 698 697 +f 687 688 698 +f 688 699 698 +f 688 689 699 +f 689 700 699 +f 689 690 700 +f 690 701 700 +f 690 691 701 +f 691 702 701 +f 691 692 702 +f 692 703 702 +f 692 693 703 +f 693 704 703 +f 694 695 705 +f 695 706 705 +f 695 696 706 +f 696 707 706 +f 696 697 707 +f 697 708 707 +f 697 698 708 +f 698 709 708 +f 698 699 709 +f 699 710 709 +f 699 700 710 +f 700 711 710 +f 700 701 711 +f 701 712 711 +f 701 702 712 +f 702 713 712 +f 702 703 713 +f 703 714 713 +f 703 704 714 +f 704 715 714 +f 705 706 716 +f 706 717 716 +f 706 707 717 +f 707 718 717 +f 707 708 718 +f 708 719 718 +f 708 709 719 +f 709 720 719 +f 709 710 720 +f 710 721 720 +f 710 711 721 +f 711 722 721 +f 711 712 722 +f 712 723 722 +f 712 713 723 +f 713 724 723 +f 713 714 724 +f 714 725 724 +f 714 715 725 +f 715 726 725 diff --git a/models/plane.3d b/models/plane.3d new file mode 100644 index 00000000..1595837f --- /dev/null +++ b/models/plane.3d @@ -0,0 +1,321 @@ +v -0.5 0 -0.5 +v -0.5 0 -0.4 +v -0.5 0 -0.3 +v -0.5 0 -0.2 +v -0.5 0 -0.1 +v -0.5 0 0 +v -0.5 0 0.1 +v -0.5 0 0.2 +v -0.5 0 0.3 +v -0.5 0 0.4 +v -0.5 0 0.5 +v -0.4 0 -0.5 +v -0.4 0 -0.4 +v -0.4 0 -0.3 +v -0.4 0 -0.2 +v -0.4 0 -0.1 +v -0.4 0 0 +v -0.4 0 0.1 +v -0.4 0 0.2 +v -0.4 0 0.3 +v -0.4 0 0.4 +v -0.4 0 0.5 +v -0.3 0 -0.5 +v -0.3 0 -0.4 +v -0.3 0 -0.3 +v -0.3 0 -0.2 +v -0.3 0 -0.1 +v -0.3 0 0 +v -0.3 0 0.1 +v -0.3 0 0.2 +v -0.3 0 0.3 +v -0.3 0 0.4 +v -0.3 0 0.5 +v -0.2 0 -0.5 +v -0.2 0 -0.4 +v -0.2 0 -0.3 +v -0.2 0 -0.2 +v -0.2 0 -0.1 +v -0.2 0 0 +v -0.2 0 0.1 +v -0.2 0 0.2 +v -0.2 0 0.3 +v -0.2 0 0.4 +v -0.2 0 0.5 +v -0.1 0 -0.5 +v -0.1 0 -0.4 +v -0.1 0 -0.3 +v -0.1 0 -0.2 +v -0.1 0 -0.1 +v -0.1 0 0 +v -0.1 0 0.1 +v -0.1 0 0.2 +v -0.1 0 0.3 +v -0.1 0 0.4 +v -0.1 0 0.5 +v 0 0 -0.5 +v 0 0 -0.4 +v 0 0 -0.3 +v 0 0 -0.2 +v 0 0 -0.1 +v 0 0 0 +v 0 0 0.1 +v 0 0 0.2 +v 0 0 0.3 +v 0 0 0.4 +v 0 0 0.5 +v 0.1 0 -0.5 +v 0.1 0 -0.4 +v 0.1 0 -0.3 +v 0.1 0 -0.2 +v 0.1 0 -0.1 +v 0.1 0 0 +v 0.1 0 0.1 +v 0.1 0 0.2 +v 0.1 0 0.3 +v 0.1 0 0.4 +v 0.1 0 0.5 +v 0.2 0 -0.5 +v 0.2 0 -0.4 +v 0.2 0 -0.3 +v 0.2 0 -0.2 +v 0.2 0 -0.1 +v 0.2 0 0 +v 0.2 0 0.1 +v 0.2 0 0.2 +v 0.2 0 0.3 +v 0.2 0 0.4 +v 0.2 0 0.5 +v 0.3 0 -0.5 +v 0.3 0 -0.4 +v 0.3 0 -0.3 +v 0.3 0 -0.2 +v 0.3 0 -0.1 +v 0.3 0 0 +v 0.3 0 0.1 +v 0.3 0 0.2 +v 0.3 0 0.3 +v 0.3 0 0.4 +v 0.3 0 0.5 +v 0.4 0 -0.5 +v 0.4 0 -0.4 +v 0.4 0 -0.3 +v 0.4 0 -0.2 +v 0.4 0 -0.1 +v 0.4 0 0 +v 0.4 0 0.1 +v 0.4 0 0.2 +v 0.4 0 0.3 +v 0.4 0 0.4 +v 0.4 0 0.5 +v 0.5 0 -0.5 +v 0.5 0 -0.4 +v 0.5 0 -0.3 +v 0.5 0 -0.2 +v 0.5 0 -0.1 +v 0.5 0 0 +v 0.5 0 0.1 +v 0.5 0 0.2 +v 0.5 0 0.3 +v 0.5 0 0.4 +v 0.5 0 0.5 +f 2 12 1 +f 2 13 12 +f 3 13 2 +f 3 14 13 +f 4 14 3 +f 4 15 14 +f 5 15 4 +f 5 16 15 +f 6 16 5 +f 6 17 16 +f 7 17 6 +f 7 18 17 +f 8 18 7 +f 8 19 18 +f 9 19 8 +f 9 20 19 +f 10 20 9 +f 10 21 20 +f 11 21 10 +f 11 22 21 +f 13 23 12 +f 13 24 23 +f 14 24 13 +f 14 25 24 +f 15 25 14 +f 15 26 25 +f 16 26 15 +f 16 27 26 +f 17 27 16 +f 17 28 27 +f 18 28 17 +f 18 29 28 +f 19 29 18 +f 19 30 29 +f 20 30 19 +f 20 31 30 +f 21 31 20 +f 21 32 31 +f 22 32 21 +f 22 33 32 +f 24 34 23 +f 24 35 34 +f 25 35 24 +f 25 36 35 +f 26 36 25 +f 26 37 36 +f 27 37 26 +f 27 38 37 +f 28 38 27 +f 28 39 38 +f 29 39 28 +f 29 40 39 +f 30 40 29 +f 30 41 40 +f 31 41 30 +f 31 42 41 +f 32 42 31 +f 32 43 42 +f 33 43 32 +f 33 44 43 +f 35 45 34 +f 35 46 45 +f 36 46 35 +f 36 47 46 +f 37 47 36 +f 37 48 47 +f 38 48 37 +f 38 49 48 +f 39 49 38 +f 39 50 49 +f 40 50 39 +f 40 51 50 +f 41 51 40 +f 41 52 51 +f 42 52 41 +f 42 53 52 +f 43 53 42 +f 43 54 53 +f 44 54 43 +f 44 55 54 +f 46 56 45 +f 46 57 56 +f 47 57 46 +f 47 58 57 +f 48 58 47 +f 48 59 58 +f 49 59 48 +f 49 60 59 +f 50 60 49 +f 50 61 60 +f 51 61 50 +f 51 62 61 +f 52 62 51 +f 52 63 62 +f 53 63 52 +f 53 64 63 +f 54 64 53 +f 54 65 64 +f 55 65 54 +f 55 66 65 +f 57 67 56 +f 57 68 67 +f 58 68 57 +f 58 69 68 +f 59 69 58 +f 59 70 69 +f 60 70 59 +f 60 71 70 +f 61 71 60 +f 61 72 71 +f 62 72 61 +f 62 73 72 +f 63 73 62 +f 63 74 73 +f 64 74 63 +f 64 75 74 +f 65 75 64 +f 65 76 75 +f 66 76 65 +f 66 77 76 +f 68 78 67 +f 68 79 78 +f 69 79 68 +f 69 80 79 +f 70 80 69 +f 70 81 80 +f 71 81 70 +f 71 82 81 +f 72 82 71 +f 72 83 82 +f 73 83 72 +f 73 84 83 +f 74 84 73 +f 74 85 84 +f 75 85 74 +f 75 86 85 +f 76 86 75 +f 76 87 86 +f 77 87 76 +f 77 88 87 +f 79 89 78 +f 79 90 89 +f 80 90 79 +f 80 91 90 +f 81 91 80 +f 81 92 91 +f 82 92 81 +f 82 93 92 +f 83 93 82 +f 83 94 93 +f 84 94 83 +f 84 95 94 +f 85 95 84 +f 85 96 95 +f 86 96 85 +f 86 97 96 +f 87 97 86 +f 87 98 97 +f 88 98 87 +f 88 99 98 +f 90 100 89 +f 90 101 100 +f 91 101 90 +f 91 102 101 +f 92 102 91 +f 92 103 102 +f 93 103 92 +f 93 104 103 +f 94 104 93 +f 94 105 104 +f 95 105 94 +f 95 106 105 +f 96 106 95 +f 96 107 106 +f 97 107 96 +f 97 108 107 +f 98 108 97 +f 98 109 108 +f 99 109 98 +f 99 110 109 +f 101 111 100 +f 101 112 111 +f 102 112 101 +f 102 113 112 +f 103 113 102 +f 103 114 113 +f 104 114 103 +f 104 115 114 +f 105 115 104 +f 105 116 115 +f 106 116 105 +f 106 117 116 +f 107 117 106 +f 107 118 117 +f 108 118 107 +f 108 119 118 +f 109 119 108 +f 109 120 119 +f 110 120 109 +f 110 121 120 diff --git a/models/sphere.3d b/models/sphere.3d new file mode 100644 index 00000000..716543ab --- /dev/null +++ b/models/sphere.3d @@ -0,0 +1,4881 @@ +v 0 1 0 +v 0 1 0 +v 0 1 0 +v 0 1 0 +v 0 1 0 +v 0 1 0 +v 0 1 0 +v 0 1 0 +v 0 1 0 +v 0 1 0 +v 0 1 -0 +v 0 1 -0 +v 0 1 -0 +v 0 1 -0 +v 0 1 -0 +v 0 1 -0 +v 0 1 -0 +v 0 1 -0 +v 0 1 -0 +v 0 1 -0 +v -0 1 -0 +v -0 1 -0 +v -0 1 -0 +v -0 1 -0 +v -0 1 -0 +v -0 1 -0 +v -0 1 -0 +v -0 1 -0 +v -0 1 -0 +v -0 1 -0 +v -0 1 0 +v -0 1 0 +v -0 1 0 +v -0 1 0 +v -0 1 0 +v -0 1 0 +v -0 1 0 +v -0 1 0 +v -0 1 0 +v -0 1 0 +v 0 1 0 +v 0 0.996917 0.0784591 +v 0.0122737 0.996917 0.0774931 +v 0.0242452 0.996917 0.074619 +v 0.0356197 0.996917 0.0699076 +v 0.0461171 0.996917 0.0634747 +v 0.055479 0.996917 0.055479 +v 0.0634747 0.996917 0.0461171 +v 0.0699076 0.996917 0.0356197 +v 0.074619 0.996917 0.0242452 +v 0.0774931 0.996917 0.0122737 +v 0.0784591 0.996917 -3.42956e-09 +v 0.0774931 0.996917 -0.0122737 +v 0.074619 0.996917 -0.0242452 +v 0.0699076 0.996917 -0.0356197 +v 0.0634747 0.996917 -0.0461171 +v 0.055479 0.996917 -0.055479 +v 0.0461171 0.996917 -0.0634748 +v 0.0356197 0.996917 -0.0699076 +v 0.0242452 0.996917 -0.074619 +v 0.0122737 0.996917 -0.0774931 +v -6.85911e-09 0.996917 -0.0784591 +v -0.0122737 0.996917 -0.0774931 +v -0.0242452 0.996917 -0.074619 +v -0.0356197 0.996917 -0.0699076 +v -0.0461171 0.996917 -0.0634747 +v -0.055479 0.996917 -0.0554789 +v -0.0634748 0.996917 -0.0461171 +v -0.0699076 0.996917 -0.0356197 +v -0.074619 0.996917 -0.0242452 +v -0.0774931 0.996917 -0.0122737 +v -0.0784591 0.996917 9.35615e-10 +v -0.0774931 0.996917 0.0122737 +v -0.074619 0.996917 0.0242452 +v -0.0699076 0.996917 0.0356197 +v -0.0634747 0.996917 0.0461171 +v -0.0554789 0.996917 0.055479 +v -0.0461171 0.996917 0.0634748 +v -0.0356197 0.996917 0.0699076 +v -0.0242452 0.996917 0.074619 +v -0.0122737 0.996917 0.0774931 +v 1.37182e-08 0.996917 0.0784591 +v 0 0.987688 0.156434 +v 0.0244717 0.987688 0.154509 +v 0.0483409 0.987688 0.148778 +v 0.0710198 0.987688 0.139384 +v 0.0919499 0.987688 0.126558 +v 0.110616 0.987688 0.110616 +v 0.126558 0.987688 0.0919499 +v 0.139384 0.987688 0.0710198 +v 0.148778 0.987688 0.0483409 +v 0.154509 0.987688 0.0244717 +v 0.156434 0.987688 -6.83797e-09 +v 0.154509 0.987688 -0.0244717 +v 0.148778 0.987688 -0.0483409 +v 0.139384 0.987688 -0.0710198 +v 0.126558 0.987688 -0.0919499 +v 0.110616 0.987688 -0.110616 +v 0.0919499 0.987688 -0.126558 +v 0.0710197 0.987688 -0.139384 +v 0.0483409 0.987688 -0.148778 +v 0.0244717 0.987688 -0.154509 +v -1.36759e-08 0.987688 -0.156434 +v -0.0244718 0.987688 -0.154509 +v -0.0483409 0.987688 -0.148778 +v -0.0710198 0.987688 -0.139384 +v -0.0919499 0.987688 -0.126558 +v -0.110616 0.987688 -0.110616 +v -0.126558 0.987688 -0.0919499 +v -0.139384 0.987688 -0.0710197 +v -0.148778 0.987688 -0.0483409 +v -0.154509 0.987688 -0.0244718 +v -0.156434 0.987688 1.86546e-09 +v -0.154509 0.987688 0.0244718 +v -0.148778 0.987688 0.0483409 +v -0.139384 0.987688 0.0710198 +v -0.126558 0.987688 0.0919499 +v -0.110616 0.987688 0.110616 +v -0.0919498 0.987688 0.126558 +v -0.0710198 0.987688 0.139384 +v -0.0483409 0.987688 0.148778 +v -0.0244717 0.987688 0.154509 +v 2.73519e-08 0.987688 0.156434 +v 0 0.97237 0.233445 +v 0.0365189 0.97237 0.230571 +v 0.0721386 0.97237 0.22202 +v 0.105982 0.97237 0.208001 +v 0.137216 0.97237 0.188861 +v 0.165071 0.97237 0.165071 +v 0.188861 0.97237 0.137216 +v 0.208001 0.97237 0.105982 +v 0.22202 0.97237 0.0721386 +v 0.230571 0.97237 0.0365189 +v 0.233445 0.97237 -1.02042e-08 +v 0.230571 0.97237 -0.0365189 +v 0.22202 0.97237 -0.0721386 +v 0.208001 0.97237 -0.105982 +v 0.188861 0.97237 -0.137216 +v 0.165071 0.97237 -0.165071 +v 0.137216 0.97237 -0.188861 +v 0.105982 0.97237 -0.208001 +v 0.0721385 0.97237 -0.22202 +v 0.0365189 0.97237 -0.230571 +v -2.04084e-08 0.97237 -0.233445 +v -0.0365189 0.97237 -0.230571 +v -0.0721386 0.97237 -0.22202 +v -0.105982 0.97237 -0.208001 +v -0.137216 0.97237 -0.188861 +v -0.165071 0.97237 -0.165071 +v -0.188861 0.97237 -0.137216 +v -0.208001 0.97237 -0.105982 +v -0.22202 0.97237 -0.0721386 +v -0.230571 0.97237 -0.0365189 +v -0.233445 0.97237 2.78381e-09 +v -0.230571 0.97237 0.0365189 +v -0.22202 0.97237 0.0721386 +v -0.208001 0.97237 0.105982 +v -0.188861 0.97237 0.137216 +v -0.165071 0.97237 0.165071 +v -0.137216 0.97237 0.188861 +v -0.105982 0.97237 0.208001 +v -0.0721386 0.97237 0.22202 +v -0.0365189 0.97237 0.230571 +v 4.08169e-08 0.97237 0.233445 +v 0 0.951057 0.309017 +v 0.0483409 0.951057 0.305212 +v 0.0954915 0.951057 0.293893 +v 0.140291 0.951057 0.275336 +v 0.181636 0.951057 0.25 +v 0.218508 0.951057 0.218508 +v 0.25 0.951057 0.181636 +v 0.275336 0.951057 0.140291 +v 0.293893 0.951057 0.0954915 +v 0.305212 0.951057 0.0483409 +v 0.309017 0.951057 -1.35076e-08 +v 0.305212 0.951057 -0.0483409 +v 0.293893 0.951057 -0.0954915 +v 0.275336 0.951057 -0.140291 +v 0.25 0.951057 -0.181636 +v 0.218508 0.951057 -0.218508 +v 0.181636 0.951057 -0.25 +v 0.140291 0.951057 -0.275336 +v 0.0954914 0.951057 -0.293893 +v 0.0483409 0.951057 -0.305212 +v -2.70151e-08 0.951057 -0.309017 +v -0.048341 0.951057 -0.305212 +v -0.0954915 0.951057 -0.293893 +v -0.140291 0.951057 -0.275336 +v -0.181636 0.951057 -0.25 +v -0.218508 0.951057 -0.218508 +v -0.25 0.951057 -0.181636 +v -0.275336 0.951057 -0.140291 +v -0.293893 0.951057 -0.0954915 +v -0.305212 0.951057 -0.0483409 +v -0.309017 0.951057 3.68499e-09 +v -0.305212 0.951057 0.0483409 +v -0.293893 0.951057 0.0954915 +v -0.275336 0.951057 0.140291 +v -0.25 0.951057 0.181636 +v -0.218508 0.951057 0.218508 +v -0.181636 0.951057 0.25 +v -0.140291 0.951057 0.275336 +v -0.0954915 0.951057 0.293893 +v -0.0483409 0.951057 0.305212 +v 5.40302e-08 0.951057 0.309017 +v 0 0.92388 0.382683 +v 0.0598649 0.92388 0.377972 +v 0.118256 0.92388 0.363954 +v 0.173735 0.92388 0.340973 +v 0.224936 0.92388 0.309597 +v 0.270598 0.92388 0.270598 +v 0.309597 0.92388 0.224936 +v 0.340973 0.92388 0.173735 +v 0.363954 0.92388 0.118256 +v 0.377972 0.92388 0.0598648 +v 0.382683 0.92388 -1.67276e-08 +v 0.377972 0.92388 -0.0598649 +v 0.363954 0.92388 -0.118256 +v 0.340973 0.92388 -0.173735 +v 0.309597 0.92388 -0.224936 +v 0.270598 0.92388 -0.270598 +v 0.224936 0.92388 -0.309597 +v 0.173735 0.92388 -0.340973 +v 0.118256 0.92388 -0.363954 +v 0.0598649 0.92388 -0.377972 +v -3.34553e-08 0.92388 -0.382683 +v -0.0598649 0.92388 -0.377972 +v -0.118256 0.92388 -0.363954 +v -0.173735 0.92388 -0.340973 +v -0.224936 0.92388 -0.309597 +v -0.270598 0.92388 -0.270598 +v -0.309597 0.92388 -0.224936 +v -0.340973 0.92388 -0.173735 +v -0.363954 0.92388 -0.118256 +v -0.377972 0.92388 -0.0598649 +v -0.382683 0.92388 4.56345e-09 +v -0.377972 0.92388 0.0598649 +v -0.363954 0.92388 0.118256 +v -0.340973 0.92388 0.173735 +v -0.309597 0.92388 0.224936 +v -0.270598 0.92388 0.270598 +v -0.224936 0.92388 0.309598 +v -0.173735 0.92388 0.340973 +v -0.118256 0.92388 0.363954 +v -0.0598648 0.92388 0.377972 +v 6.69105e-08 0.92388 0.382683 +v 0 0.891007 0.453991 +v 0.0710198 0.891007 0.448401 +v 0.140291 0.891007 0.431771 +v 0.206107 0.891007 0.404509 +v 0.266849 0.891007 0.367286 +v 0.32102 0.891007 0.32102 +v 0.367286 0.891007 0.266849 +v 0.404509 0.891007 0.206107 +v 0.431771 0.891007 0.140291 +v 0.448401 0.891007 0.0710197 +v 0.453991 0.891007 -1.98446e-08 +v 0.448401 0.891007 -0.0710198 +v 0.431771 0.891007 -0.140291 +v 0.404509 0.891007 -0.206107 +v 0.367286 0.891007 -0.266849 +v 0.32102 0.891007 -0.32102 +v 0.266849 0.891007 -0.367286 +v 0.206107 0.891007 -0.404509 +v 0.140291 0.891007 -0.431771 +v 0.0710198 0.891007 -0.448401 +v -3.96891e-08 0.891007 -0.453991 +v -0.0710198 0.891007 -0.448401 +v -0.140291 0.891007 -0.431771 +v -0.206107 0.891007 -0.404509 +v -0.266849 0.891007 -0.367286 +v -0.32102 0.891007 -0.32102 +v -0.367286 0.891007 -0.266849 +v -0.404509 0.891007 -0.206107 +v -0.431771 0.891007 -0.140291 +v -0.448401 0.891007 -0.0710198 +v -0.453991 0.891007 5.41378e-09 +v -0.448401 0.891007 0.0710198 +v -0.431771 0.891007 0.140291 +v -0.404508 0.891007 0.206107 +v -0.367286 0.891007 0.266849 +v -0.32102 0.891007 0.32102 +v -0.266849 0.891007 0.367286 +v -0.206107 0.891007 0.404509 +v -0.140291 0.891007 0.431771 +v -0.0710197 0.891007 0.448401 +v 7.93782e-08 0.891007 0.453991 +v 0 0.85264 0.522499 +v 0.0817368 0.85264 0.516066 +v 0.161461 0.85264 0.496926 +v 0.237209 0.85264 0.46555 +v 0.307117 0.85264 0.42271 +v 0.369462 0.85264 0.369462 +v 0.42271 0.85264 0.307117 +v 0.46555 0.85264 0.237209 +v 0.496926 0.85264 0.161461 +v 0.516066 0.85264 0.0817367 +v 0.522499 0.85264 -2.28391e-08 +v 0.516066 0.85264 -0.0817368 +v 0.496926 0.85264 -0.161461 +v 0.46555 0.85264 -0.237209 +v 0.42271 0.85264 -0.307117 +v 0.369462 0.85264 -0.369462 +v 0.307117 0.85264 -0.42271 +v 0.237209 0.85264 -0.46555 +v 0.161461 0.85264 -0.496926 +v 0.0817368 0.85264 -0.516066 +v -4.56783e-08 0.85264 -0.522499 +v -0.0817369 0.85264 -0.516066 +v -0.161461 0.85264 -0.496926 +v -0.237209 0.85264 -0.46555 +v -0.307117 0.85264 -0.42271 +v -0.369462 0.85264 -0.369462 +v -0.42271 0.85264 -0.307117 +v -0.46555 0.85264 -0.237209 +v -0.496926 0.85264 -0.161461 +v -0.516066 0.85264 -0.0817368 +v -0.522499 0.85264 6.23073e-09 +v -0.516066 0.85264 0.0817368 +v -0.496926 0.85264 0.161461 +v -0.46555 0.85264 0.237209 +v -0.42271 0.85264 0.307117 +v -0.369462 0.85264 0.369462 +v -0.307117 0.85264 0.42271 +v -0.237209 0.85264 0.46555 +v -0.161461 0.85264 0.496926 +v -0.0817367 0.85264 0.516066 +v 9.13565e-08 0.85264 0.522499 +v 0 0.809017 0.587785 +v 0.0919499 0.809017 0.580549 +v 0.181636 0.809017 0.559017 +v 0.266849 0.809017 0.523721 +v 0.345491 0.809017 0.475528 +v 0.415627 0.809017 0.415627 +v 0.475528 0.809017 0.345491 +v 0.523721 0.809017 0.266849 +v 0.559017 0.809017 0.181636 +v 0.580549 0.809017 0.0919498 +v 0.587785 0.809017 -2.56929e-08 +v 0.580549 0.809017 -0.0919499 +v 0.559017 0.809017 -0.181636 +v 0.52372 0.809017 -0.266849 +v 0.475528 0.809017 -0.345491 +v 0.415627 0.809017 -0.415627 +v 0.345491 0.809017 -0.475528 +v 0.266849 0.809017 -0.523721 +v 0.181636 0.809017 -0.559017 +v 0.0919499 0.809017 -0.580549 +v -5.13858e-08 0.809017 -0.587785 +v -0.09195 0.809017 -0.580549 +v -0.181636 0.809017 -0.559017 +v -0.266849 0.809017 -0.523721 +v -0.345492 0.809017 -0.475528 +v -0.415627 0.809017 -0.415627 +v -0.475528 0.809017 -0.345491 +v -0.523721 0.809017 -0.266849 +v -0.559017 0.809017 -0.181636 +v -0.580549 0.809017 -0.0919499 +v -0.587785 0.809017 7.00927e-09 +v -0.580549 0.809017 0.0919499 +v -0.559017 0.809017 0.181636 +v -0.52372 0.809017 0.266849 +v -0.475528 0.809017 0.345492 +v -0.415627 0.809017 0.415627 +v -0.345491 0.809017 0.475528 +v -0.266849 0.809017 0.523721 +v -0.181636 0.809017 0.559017 +v -0.0919498 0.809017 0.580549 +v 1.02772e-07 0.809017 0.587785 +v 0 0.760406 0.649448 +v 0.101596 0.760406 0.641452 +v 0.200691 0.760406 0.617662 +v 0.294843 0.760406 0.578663 +v 0.381736 0.760406 0.525415 +v 0.459229 0.760406 0.459229 +v 0.525415 0.760406 0.381736 +v 0.578663 0.760406 0.294843 +v 0.617662 0.760406 0.20069 +v 0.641452 0.760406 0.101596 +v 0.649448 0.760406 -2.83883e-08 +v 0.641452 0.760406 -0.101596 +v 0.617662 0.760406 -0.200691 +v 0.578662 0.760406 -0.294843 +v 0.525415 0.760406 -0.381736 +v 0.459229 0.760406 -0.459229 +v 0.381736 0.760406 -0.525415 +v 0.294843 0.760406 -0.578663 +v 0.20069 0.760406 -0.617662 +v 0.101596 0.760406 -0.641452 +v -5.67766e-08 0.760406 -0.649448 +v -0.101596 0.760406 -0.641452 +v -0.20069 0.760406 -0.617662 +v -0.294843 0.760406 -0.578663 +v -0.381736 0.760406 -0.525415 +v -0.459229 0.760406 -0.459229 +v -0.525415 0.760406 -0.381736 +v -0.578663 0.760406 -0.294843 +v -0.617662 0.760406 -0.200691 +v -0.641452 0.760406 -0.101596 +v -0.649448 0.760406 7.74459e-09 +v -0.641452 0.760406 0.101596 +v -0.617662 0.760406 0.200691 +v -0.578662 0.760406 0.294843 +v -0.525414 0.760406 0.381736 +v -0.459229 0.760406 0.459229 +v -0.381736 0.760406 0.525415 +v -0.294843 0.760406 0.578663 +v -0.20069 0.760406 0.617662 +v -0.101596 0.760406 0.641452 +v 1.13553e-07 0.760406 0.649448 +v 0 0.707107 0.707107 +v 0.110616 0.707107 0.698401 +v 0.218508 0.707107 0.672499 +v 0.32102 0.707107 0.630037 +v 0.415627 0.707107 0.572061 +v 0.5 0.707107 0.5 +v 0.572061 0.707107 0.415627 +v 0.630037 0.707107 0.32102 +v 0.672499 0.707107 0.218508 +v 0.698401 0.707107 0.110616 +v 0.707107 0.707107 -3.09086e-08 +v 0.698401 0.707107 -0.110616 +v 0.672498 0.707107 -0.218508 +v 0.630037 0.707107 -0.32102 +v 0.572061 0.707107 -0.415627 +v 0.5 0.707107 -0.5 +v 0.415627 0.707107 -0.572061 +v 0.32102 0.707107 -0.630037 +v 0.218508 0.707107 -0.672499 +v 0.110616 0.707107 -0.698401 +v -6.18172e-08 0.707107 -0.707107 +v -0.110616 0.707107 -0.698401 +v -0.218508 0.707107 -0.672499 +v -0.32102 0.707107 -0.630037 +v -0.415627 0.707107 -0.572061 +v -0.5 0.707107 -0.5 +v -0.572061 0.707107 -0.415627 +v -0.630037 0.707107 -0.32102 +v -0.672498 0.707107 -0.218508 +v -0.698401 0.707107 -0.110616 +v -0.707107 0.707107 8.43216e-09 +v -0.698401 0.707107 0.110616 +v -0.672498 0.707107 0.218508 +v -0.630037 0.707107 0.32102 +v -0.572061 0.707107 0.415627 +v -0.5 0.707107 0.5 +v -0.415627 0.707107 0.572062 +v -0.32102 0.707107 0.630037 +v -0.218508 0.707107 0.672499 +v -0.110616 0.707107 0.698401 +v 1.23634e-07 0.707107 0.707107 +v 0 0.649448 0.760406 +v 0.118954 0.649448 0.751044 +v 0.234978 0.649448 0.723189 +v 0.345217 0.649448 0.677527 +v 0.446955 0.649448 0.615181 +v 0.537688 0.649448 0.537688 +v 0.615181 0.649448 0.446955 +v 0.677527 0.649448 0.345217 +v 0.723189 0.649448 0.234978 +v 0.751044 0.649448 0.118954 +v 0.760406 0.649448 -3.32384e-08 +v 0.751044 0.649448 -0.118954 +v 0.723189 0.649448 -0.234978 +v 0.677527 0.649448 -0.345217 +v 0.615181 0.649448 -0.446955 +v 0.537688 0.649448 -0.537688 +v 0.446955 0.649448 -0.615181 +v 0.345217 0.649448 -0.677527 +v 0.234978 0.649448 -0.723189 +v 0.118954 0.649448 -0.751044 +v -6.64768e-08 0.649448 -0.760406 +v -0.118954 0.649448 -0.751044 +v -0.234978 0.649448 -0.723189 +v -0.345217 0.649448 -0.677527 +v -0.446956 0.649448 -0.615181 +v -0.537688 0.649448 -0.537688 +v -0.615181 0.649448 -0.446955 +v -0.677527 0.649448 -0.345217 +v -0.723189 0.649448 -0.234978 +v -0.751044 0.649448 -0.118954 +v -0.760406 0.649448 9.06775e-09 +v -0.751044 0.649448 0.118954 +v -0.723189 0.649448 0.234978 +v -0.677527 0.649448 0.345217 +v -0.615181 0.649448 0.446956 +v -0.537688 0.649448 0.537688 +v -0.446955 0.649448 0.615182 +v -0.345217 0.649448 0.677527 +v -0.234978 0.649448 0.723189 +v -0.118954 0.649448 0.751044 +v 1.32954e-07 0.649448 0.760406 +v 0 0.587785 0.809017 +v 0.126558 0.587785 0.799057 +v 0.25 0.587785 0.769421 +v 0.367286 0.587785 0.720839 +v 0.475528 0.587785 0.654509 +v 0.572061 0.587785 0.572061 +v 0.654509 0.587785 0.475528 +v 0.720839 0.587785 0.367286 +v 0.769421 0.587785 0.25 +v 0.799057 0.587785 0.126558 +v 0.809017 0.587785 -3.53633e-08 +v 0.799057 0.587785 -0.126558 +v 0.769421 0.587785 -0.25 +v 0.720839 0.587785 -0.367286 +v 0.654509 0.587785 -0.475528 +v 0.572061 0.587785 -0.572061 +v 0.475528 0.587785 -0.654509 +v 0.367286 0.587785 -0.72084 +v 0.25 0.587785 -0.769421 +v 0.126558 0.587785 -0.799057 +v -7.07265e-08 0.587785 -0.809017 +v -0.126558 0.587785 -0.799057 +v -0.25 0.587785 -0.769421 +v -0.367286 0.587785 -0.720839 +v -0.475528 0.587785 -0.654508 +v -0.572061 0.587785 -0.572061 +v -0.654509 0.587785 -0.475528 +v -0.72084 0.587785 -0.367286 +v -0.769421 0.587785 -0.25 +v -0.799057 0.587785 -0.126558 +v -0.809017 0.587785 9.64743e-09 +v -0.799057 0.587785 0.126558 +v -0.769421 0.587785 0.25 +v -0.720839 0.587785 0.367286 +v -0.654508 0.587785 0.475528 +v -0.572061 0.587785 0.572062 +v -0.475528 0.587785 0.654509 +v -0.367286 0.587785 0.720839 +v -0.25 0.587785 0.769421 +v -0.126558 0.587785 0.799057 +v 1.41453e-07 0.587785 0.809017 +v 0 0.522498 0.85264 +v 0.133382 0.522498 0.842143 +v 0.26348 0.522498 0.810909 +v 0.387091 0.522498 0.759708 +v 0.501169 0.522498 0.6898 +v 0.602908 0.522498 0.602908 +v 0.6898 0.522498 0.501169 +v 0.759708 0.522498 0.387091 +v 0.810909 0.522498 0.26348 +v 0.842143 0.522498 0.133382 +v 0.85264 0.522498 -3.72701e-08 +v 0.842143 0.522498 -0.133382 +v 0.810909 0.522498 -0.26348 +v 0.759708 0.522498 -0.387091 +v 0.6898 0.522498 -0.501169 +v 0.602908 0.522498 -0.602908 +v 0.501169 0.522498 -0.689801 +v 0.38709 0.522498 -0.759708 +v 0.26348 0.522498 -0.810909 +v 0.133382 0.522498 -0.842143 +v -7.45402e-08 0.522498 -0.85264 +v -0.133382 0.522498 -0.842143 +v -0.26348 0.522498 -0.810909 +v -0.387091 0.522498 -0.759708 +v -0.501169 0.522498 -0.6898 +v -0.602908 0.522498 -0.602908 +v -0.689801 0.522498 -0.501169 +v -0.759708 0.522498 -0.38709 +v -0.810909 0.522498 -0.26348 +v -0.842143 0.522498 -0.133382 +v -0.85264 0.522498 1.01676e-08 +v -0.842143 0.522498 0.133382 +v -0.810909 0.522498 0.26348 +v -0.759708 0.522498 0.387091 +v -0.6898 0.522498 0.50117 +v -0.602907 0.522498 0.602908 +v -0.501169 0.522498 0.689801 +v -0.387091 0.522498 0.759708 +v -0.26348 0.522498 0.810909 +v -0.133382 0.522498 0.842143 +v 1.4908e-07 0.522498 0.85264 +v 0 0.453991 0.891007 +v 0.139384 0.453991 0.880037 +v 0.275336 0.453991 0.847398 +v 0.404509 0.453991 0.793893 +v 0.523721 0.453991 0.720839 +v 0.630037 0.453991 0.630037 +v 0.720839 0.453991 0.523721 +v 0.793893 0.453991 0.404509 +v 0.847398 0.453991 0.275336 +v 0.880037 0.453991 0.139384 +v 0.891007 0.453991 -3.89471e-08 +v 0.880037 0.453991 -0.139384 +v 0.847398 0.453991 -0.275336 +v 0.793893 0.453991 -0.404509 +v 0.720839 0.453991 -0.52372 +v 0.630037 0.453991 -0.630037 +v 0.52372 0.453991 -0.72084 +v 0.404508 0.453991 -0.793893 +v 0.275336 0.453991 -0.847398 +v 0.139384 0.453991 -0.880037 +v -7.78943e-08 0.453991 -0.891007 +v -0.139384 0.453991 -0.880037 +v -0.275336 0.453991 -0.847398 +v -0.404509 0.453991 -0.793893 +v -0.523721 0.453991 -0.720839 +v -0.630037 0.453991 -0.630037 +v -0.72084 0.453991 -0.52372 +v -0.793893 0.453991 -0.404508 +v -0.847398 0.453991 -0.275336 +v -0.880037 0.453991 -0.139384 +v -0.891007 0.453991 1.06251e-08 +v -0.880037 0.453991 0.139384 +v -0.847398 0.453991 0.275336 +v -0.793893 0.453991 0.404509 +v -0.720839 0.453991 0.523721 +v -0.630037 0.453991 0.630037 +v -0.52372 0.453991 0.72084 +v -0.404509 0.453991 0.793893 +v -0.275336 0.453991 0.847398 +v -0.139384 0.453991 0.880037 +v 1.55789e-07 0.453991 0.891007 +v 0 0.382683 0.92388 +v 0.144527 0.382683 0.912505 +v 0.285494 0.382683 0.878662 +v 0.419433 0.382683 0.823183 +v 0.543043 0.382683 0.747434 +v 0.653281 0.382683 0.653281 +v 0.747434 0.382683 0.543043 +v 0.823183 0.382683 0.419433 +v 0.878662 0.382683 0.285494 +v 0.912505 0.382683 0.144527 +v 0.92388 0.382683 -4.03841e-08 +v 0.912505 0.382683 -0.144527 +v 0.878662 0.382683 -0.285495 +v 0.823183 0.382683 -0.419433 +v 0.747434 0.382683 -0.543043 +v 0.653281 0.382683 -0.653281 +v 0.543043 0.382683 -0.747434 +v 0.419432 0.382683 -0.823183 +v 0.285494 0.382683 -0.878662 +v 0.144527 0.382683 -0.912505 +v -8.07681e-08 0.382683 -0.92388 +v -0.144527 0.382683 -0.912505 +v -0.285494 0.382683 -0.878662 +v -0.419433 0.382683 -0.823183 +v -0.543043 0.382683 -0.747434 +v -0.653282 0.382683 -0.653281 +v -0.747434 0.382683 -0.543043 +v -0.823183 0.382683 -0.419432 +v -0.878662 0.382683 -0.285495 +v -0.912505 0.382683 -0.144527 +v -0.92388 0.382683 1.10172e-08 +v -0.912505 0.382683 0.144527 +v -0.878662 0.382683 0.285495 +v -0.823183 0.382683 0.419433 +v -0.747434 0.382683 0.543043 +v -0.653281 0.382683 0.653282 +v -0.543042 0.382683 0.747434 +v -0.419433 0.382683 0.823183 +v -0.285494 0.382683 0.878662 +v -0.144526 0.382683 0.912505 +v 1.61536e-07 0.382683 0.92388 +v 0 0.309017 0.951057 +v 0.148778 0.309017 0.939348 +v 0.293893 0.309017 0.904509 +v 0.431771 0.309017 0.847398 +v 0.559017 0.309017 0.769421 +v 0.672499 0.309017 0.672499 +v 0.769421 0.309017 0.559017 +v 0.847398 0.309017 0.431771 +v 0.904509 0.309017 0.293893 +v 0.939348 0.309017 0.148778 +v 0.951057 0.309017 -4.1572e-08 +v 0.939348 0.309017 -0.148778 +v 0.904508 0.309017 -0.293893 +v 0.847398 0.309017 -0.431771 +v 0.769421 0.309017 -0.559017 +v 0.672499 0.309017 -0.672499 +v 0.559017 0.309017 -0.769421 +v 0.431771 0.309017 -0.847398 +v 0.293892 0.309017 -0.904509 +v 0.148778 0.309017 -0.939348 +v -8.3144e-08 0.309017 -0.951057 +v -0.148778 0.309017 -0.939347 +v -0.293893 0.309017 -0.904509 +v -0.431771 0.309017 -0.847398 +v -0.559017 0.309017 -0.769421 +v -0.672499 0.309017 -0.672498 +v -0.769421 0.309017 -0.559017 +v -0.847398 0.309017 -0.43177 +v -0.904508 0.309017 -0.293893 +v -0.939347 0.309017 -0.148778 +v -0.951057 0.309017 1.13412e-08 +v -0.939347 0.309017 0.148778 +v -0.904508 0.309017 0.293893 +v -0.847397 0.309017 0.431771 +v -0.769421 0.309017 0.559017 +v -0.672498 0.309017 0.672499 +v -0.559017 0.309017 0.769421 +v -0.431771 0.309017 0.847398 +v -0.293893 0.309017 0.904509 +v -0.148778 0.309017 0.939348 +v 1.66288e-07 0.309017 0.951057 +v 0 0.233445 0.97237 +v 0.152112 0.233445 0.960398 +v 0.300479 0.233445 0.924779 +v 0.441447 0.233445 0.866388 +v 0.571545 0.233445 0.786664 +v 0.687569 0.233445 0.687569 +v 0.786664 0.233445 0.571545 +v 0.866388 0.233445 0.441447 +v 0.924779 0.233445 0.300479 +v 0.960398 0.233445 0.152112 +v 0.97237 0.233445 -4.25036e-08 +v 0.960398 0.233445 -0.152112 +v 0.924779 0.233445 -0.300479 +v 0.866388 0.233445 -0.441447 +v 0.786664 0.233445 -0.571545 +v 0.687569 0.233445 -0.687569 +v 0.571545 0.233445 -0.786664 +v 0.441447 0.233445 -0.866388 +v 0.300479 0.233445 -0.924779 +v 0.152112 0.233445 -0.960398 +v -8.50073e-08 0.233445 -0.97237 +v -0.152112 0.233445 -0.960398 +v -0.300479 0.233445 -0.924779 +v -0.441447 0.233445 -0.866388 +v -0.571545 0.233445 -0.786664 +v -0.687569 0.233445 -0.687569 +v -0.786664 0.233445 -0.571545 +v -0.866388 0.233445 -0.441446 +v -0.924779 0.233445 -0.300479 +v -0.960398 0.233445 -0.152112 +v -0.97237 0.233445 1.15954e-08 +v -0.960398 0.233445 0.152112 +v -0.924779 0.233445 0.300479 +v -0.866388 0.233445 0.441447 +v -0.786664 0.233445 0.571545 +v -0.687569 0.233445 0.68757 +v -0.571544 0.233445 0.786664 +v -0.441447 0.233445 0.866388 +v -0.300479 0.233445 0.924779 +v -0.152112 0.233445 0.960398 +v 1.70015e-07 0.233445 0.97237 +v 0 0.156434 0.987688 +v 0.154509 0.156434 0.975528 +v 0.305212 0.156434 0.939348 +v 0.448401 0.156434 0.880037 +v 0.580549 0.156434 0.799057 +v 0.698401 0.156434 0.698401 +v 0.799057 0.156434 0.580549 +v 0.880037 0.156434 0.448401 +v 0.939348 0.156434 0.305212 +v 0.975528 0.156434 0.154508 +v 0.987688 0.156434 -4.31732e-08 +v 0.975528 0.156434 -0.154508 +v 0.939347 0.156434 -0.305213 +v 0.880037 0.156434 -0.448401 +v 0.799057 0.156434 -0.580549 +v 0.698401 0.156434 -0.698401 +v 0.580549 0.156434 -0.799057 +v 0.448401 0.156434 -0.880037 +v 0.305212 0.156434 -0.939348 +v 0.154508 0.156434 -0.975528 +v -8.63465e-08 0.156434 -0.987688 +v -0.154509 0.156434 -0.975528 +v -0.305212 0.156434 -0.939348 +v -0.448401 0.156434 -0.880037 +v -0.580549 0.156434 -0.799057 +v -0.698401 0.156434 -0.698401 +v -0.799057 0.156434 -0.580548 +v -0.880037 0.156434 -0.448401 +v -0.939347 0.156434 -0.305213 +v -0.975528 0.156434 -0.154509 +v -0.987688 0.156434 1.17781e-08 +v -0.975528 0.156434 0.154509 +v -0.939347 0.156434 0.305213 +v -0.880037 0.156434 0.448401 +v -0.799057 0.156434 0.580549 +v -0.698401 0.156434 0.698401 +v -0.580548 0.156434 0.799057 +v -0.448401 0.156434 0.880037 +v -0.305212 0.156434 0.939348 +v -0.154508 0.156434 0.975528 +v 1.72693e-07 0.156434 0.987688 +v 0 0.0784591 0.996917 +v 0.155952 0.0784591 0.984644 +v 0.308064 0.0784591 0.948125 +v 0.452591 0.0784591 0.88826 +v 0.585973 0.0784591 0.806523 +v 0.704927 0.0784591 0.704927 +v 0.806523 0.0784591 0.585973 +v 0.88826 0.0784591 0.452591 +v 0.948125 0.0784591 0.308064 +v 0.984644 0.0784591 0.155952 +v 0.996917 0.0784591 -4.35766e-08 +v 0.984644 0.0784591 -0.155952 +v 0.948125 0.0784591 -0.308064 +v 0.88826 0.0784591 -0.452591 +v 0.806523 0.0784591 -0.585973 +v 0.704927 0.0784591 -0.704927 +v 0.585973 0.0784591 -0.806523 +v 0.452591 0.0784591 -0.88826 +v 0.308064 0.0784591 -0.948125 +v 0.155952 0.0784591 -0.984644 +v -8.71533e-08 0.0784591 -0.996917 +v -0.155952 0.0784591 -0.984644 +v -0.308064 0.0784591 -0.948125 +v -0.452591 0.0784591 -0.88826 +v -0.585973 0.0784591 -0.806523 +v -0.704927 0.0784591 -0.704927 +v -0.806523 0.0784591 -0.585973 +v -0.88826 0.0784591 -0.452591 +v -0.948125 0.0784591 -0.308064 +v -0.984644 0.0784591 -0.155952 +v -0.996917 0.0784591 1.18881e-08 +v -0.984644 0.0784591 0.155952 +v -0.948125 0.0784591 0.308065 +v -0.88826 0.0784591 0.452591 +v -0.806523 0.0784591 0.585974 +v -0.704927 0.0784591 0.704927 +v -0.585973 0.0784591 0.806523 +v -0.452591 0.0784591 0.88826 +v -0.308064 0.0784591 0.948125 +v -0.155952 0.0784591 0.984644 +v 1.74307e-07 0.0784591 0.996917 +v 0 -4.37114e-08 1 +v 0.156434 -4.37114e-08 0.987688 +v 0.309017 -4.37114e-08 0.951057 +v 0.453991 -4.37114e-08 0.891007 +v 0.587785 -4.37114e-08 0.809017 +v 0.707107 -4.37114e-08 0.707107 +v 0.809017 -4.37114e-08 0.587785 +v 0.891007 -4.37114e-08 0.453991 +v 0.951057 -4.37114e-08 0.309017 +v 0.987688 -4.37114e-08 0.156434 +v 1 -4.37114e-08 -4.37114e-08 +v 0.987688 -4.37114e-08 -0.156434 +v 0.951056 -4.37114e-08 -0.309017 +v 0.891006 -4.37114e-08 -0.453991 +v 0.809017 -4.37114e-08 -0.587785 +v 0.707107 -4.37114e-08 -0.707107 +v 0.587785 -4.37114e-08 -0.809017 +v 0.45399 -4.37114e-08 -0.891007 +v 0.309017 -4.37114e-08 -0.951057 +v 0.156434 -4.37114e-08 -0.987688 +v -8.74228e-08 -4.37114e-08 -1 +v -0.156435 -4.37114e-08 -0.987688 +v -0.309017 -4.37114e-08 -0.951057 +v -0.453991 -4.37114e-08 -0.891007 +v -0.587785 -4.37114e-08 -0.809017 +v -0.707107 -4.37114e-08 -0.707107 +v -0.809017 -4.37114e-08 -0.587785 +v -0.891007 -4.37114e-08 -0.45399 +v -0.951056 -4.37114e-08 -0.309017 +v -0.987688 -4.37114e-08 -0.156435 +v -1 -4.37114e-08 1.19249e-08 +v -0.987688 -4.37114e-08 0.156435 +v -0.951056 -4.37114e-08 0.309017 +v -0.891006 -4.37114e-08 0.453991 +v -0.809017 -4.37114e-08 0.587785 +v -0.707107 -4.37114e-08 0.707107 +v -0.587785 -4.37114e-08 0.809017 +v -0.453991 -4.37114e-08 0.891007 +v -0.309017 -4.37114e-08 0.951057 +v -0.156434 -4.37114e-08 0.987688 +v 1.74846e-07 -4.37114e-08 1 +v 0 -0.0784592 0.996917 +v 0.155952 -0.0784592 0.984644 +v 0.308064 -0.0784592 0.948125 +v 0.452591 -0.0784592 0.88826 +v 0.585973 -0.0784592 0.806523 +v 0.704927 -0.0784592 0.704927 +v 0.806523 -0.0784592 0.585973 +v 0.88826 -0.0784592 0.452591 +v 0.948125 -0.0784592 0.308064 +v 0.984644 -0.0784592 0.155952 +v 0.996917 -0.0784592 -4.35766e-08 +v 0.984644 -0.0784592 -0.155952 +v 0.948125 -0.0784592 -0.308064 +v 0.88826 -0.0784592 -0.452591 +v 0.806523 -0.0784592 -0.585973 +v 0.704927 -0.0784592 -0.704927 +v 0.585973 -0.0784592 -0.806523 +v 0.452591 -0.0784592 -0.88826 +v 0.308064 -0.0784592 -0.948125 +v 0.155952 -0.0784592 -0.984644 +v -8.71533e-08 -0.0784592 -0.996917 +v -0.155952 -0.0784592 -0.984644 +v -0.308064 -0.0784592 -0.948125 +v -0.452591 -0.0784592 -0.88826 +v -0.585973 -0.0784592 -0.806523 +v -0.704927 -0.0784592 -0.704927 +v -0.806523 -0.0784592 -0.585973 +v -0.88826 -0.0784592 -0.452591 +v -0.948125 -0.0784592 -0.308064 +v -0.984644 -0.0784592 -0.155952 +v -0.996917 -0.0784592 1.18881e-08 +v -0.984644 -0.0784592 0.155952 +v -0.948125 -0.0784592 0.308065 +v -0.88826 -0.0784592 0.452591 +v -0.806523 -0.0784592 0.585974 +v -0.704927 -0.0784592 0.704927 +v -0.585973 -0.0784592 0.806523 +v -0.452591 -0.0784592 0.88826 +v -0.308064 -0.0784592 0.948125 +v -0.155952 -0.0784592 0.984644 +v 1.74307e-07 -0.0784592 0.996917 +v 0 -0.156434 0.987688 +v 0.154509 -0.156434 0.975528 +v 0.305212 -0.156434 0.939348 +v 0.448401 -0.156434 0.880037 +v 0.580549 -0.156434 0.799057 +v 0.698401 -0.156434 0.698401 +v 0.799057 -0.156434 0.580549 +v 0.880037 -0.156434 0.448401 +v 0.939348 -0.156434 0.305212 +v 0.975528 -0.156434 0.154508 +v 0.987688 -0.156434 -4.31732e-08 +v 0.975528 -0.156434 -0.154508 +v 0.939347 -0.156434 -0.305213 +v 0.880037 -0.156434 -0.448401 +v 0.799057 -0.156434 -0.580549 +v 0.698401 -0.156434 -0.698401 +v 0.580549 -0.156434 -0.799057 +v 0.448401 -0.156434 -0.880037 +v 0.305212 -0.156434 -0.939348 +v 0.154508 -0.156434 -0.975528 +v -8.63465e-08 -0.156434 -0.987688 +v -0.154509 -0.156434 -0.975528 +v -0.305212 -0.156434 -0.939348 +v -0.448401 -0.156434 -0.880037 +v -0.580549 -0.156434 -0.799057 +v -0.698401 -0.156434 -0.698401 +v -0.799057 -0.156434 -0.580548 +v -0.880037 -0.156434 -0.448401 +v -0.939347 -0.156434 -0.305213 +v -0.975528 -0.156434 -0.154509 +v -0.987688 -0.156434 1.17781e-08 +v -0.975528 -0.156434 0.154509 +v -0.939347 -0.156434 0.305213 +v -0.880037 -0.156434 0.448401 +v -0.799057 -0.156434 0.580549 +v -0.698401 -0.156434 0.698401 +v -0.580548 -0.156434 0.799057 +v -0.448401 -0.156434 0.880037 +v -0.305212 -0.156434 0.939348 +v -0.154508 -0.156434 0.975528 +v 1.72693e-07 -0.156434 0.987688 +v 0 -0.233445 0.97237 +v 0.152112 -0.233445 0.960398 +v 0.300479 -0.233445 0.924779 +v 0.441447 -0.233445 0.866388 +v 0.571545 -0.233445 0.786664 +v 0.687569 -0.233445 0.687569 +v 0.786664 -0.233445 0.571545 +v 0.866388 -0.233445 0.441447 +v 0.924779 -0.233445 0.300479 +v 0.960398 -0.233445 0.152112 +v 0.97237 -0.233445 -4.25036e-08 +v 0.960398 -0.233445 -0.152112 +v 0.924779 -0.233445 -0.300479 +v 0.866388 -0.233445 -0.441447 +v 0.786664 -0.233445 -0.571545 +v 0.687569 -0.233445 -0.687569 +v 0.571545 -0.233445 -0.786664 +v 0.441447 -0.233445 -0.866388 +v 0.300479 -0.233445 -0.924779 +v 0.152112 -0.233445 -0.960398 +v -8.50073e-08 -0.233445 -0.97237 +v -0.152112 -0.233445 -0.960398 +v -0.300479 -0.233445 -0.924779 +v -0.441447 -0.233445 -0.866388 +v -0.571545 -0.233445 -0.786664 +v -0.687569 -0.233445 -0.687569 +v -0.786664 -0.233445 -0.571545 +v -0.866388 -0.233445 -0.441446 +v -0.924779 -0.233445 -0.300479 +v -0.960398 -0.233445 -0.152112 +v -0.97237 -0.233445 1.15954e-08 +v -0.960398 -0.233445 0.152112 +v -0.924779 -0.233445 0.300479 +v -0.866388 -0.233445 0.441447 +v -0.786664 -0.233445 0.571545 +v -0.687569 -0.233445 0.68757 +v -0.571544 -0.233445 0.786664 +v -0.441447 -0.233445 0.866388 +v -0.300479 -0.233445 0.924779 +v -0.152112 -0.233445 0.960398 +v 1.70015e-07 -0.233445 0.97237 +v 0 -0.309017 0.951056 +v 0.148778 -0.309017 0.939347 +v 0.293893 -0.309017 0.904508 +v 0.431771 -0.309017 0.847398 +v 0.559017 -0.309017 0.769421 +v 0.672498 -0.309017 0.672498 +v 0.769421 -0.309017 0.559017 +v 0.847398 -0.309017 0.431771 +v 0.904508 -0.309017 0.293893 +v 0.939347 -0.309017 0.148778 +v 0.951056 -0.309017 -4.1572e-08 +v 0.939347 -0.309017 -0.148778 +v 0.904508 -0.309017 -0.293893 +v 0.847398 -0.309017 -0.431771 +v 0.769421 -0.309017 -0.559017 +v 0.672498 -0.309017 -0.672498 +v 0.559017 -0.309017 -0.769421 +v 0.43177 -0.309017 -0.847398 +v 0.293892 -0.309017 -0.904509 +v 0.148778 -0.309017 -0.939347 +v -8.3144e-08 -0.309017 -0.951056 +v -0.148778 -0.309017 -0.939347 +v -0.293893 -0.309017 -0.904508 +v -0.431771 -0.309017 -0.847398 +v -0.559017 -0.309017 -0.769421 +v -0.672499 -0.309017 -0.672498 +v -0.769421 -0.309017 -0.559017 +v -0.847398 -0.309017 -0.43177 +v -0.904508 -0.309017 -0.293893 +v -0.939347 -0.309017 -0.148778 +v -0.951056 -0.309017 1.13412e-08 +v -0.939347 -0.309017 0.148778 +v -0.904508 -0.309017 0.293893 +v -0.847397 -0.309017 0.431771 +v -0.769421 -0.309017 0.559017 +v -0.672498 -0.309017 0.672499 +v -0.559017 -0.309017 0.769421 +v -0.431771 -0.309017 0.847398 +v -0.293893 -0.309017 0.904508 +v -0.148778 -0.309017 0.939347 +v 1.66288e-07 -0.309017 0.951056 +v 0 -0.382684 0.92388 +v 0.144527 -0.382684 0.912505 +v 0.285494 -0.382684 0.878662 +v 0.419433 -0.382684 0.823183 +v 0.543043 -0.382684 0.747434 +v 0.653281 -0.382684 0.653281 +v 0.747434 -0.382684 0.543043 +v 0.823183 -0.382684 0.419433 +v 0.878662 -0.382684 0.285494 +v 0.912505 -0.382684 0.144527 +v 0.92388 -0.382684 -4.03841e-08 +v 0.912505 -0.382684 -0.144527 +v 0.878662 -0.382684 -0.285495 +v 0.823183 -0.382684 -0.419433 +v 0.747434 -0.382684 -0.543043 +v 0.653281 -0.382684 -0.653281 +v 0.543043 -0.382684 -0.747434 +v 0.419432 -0.382684 -0.823183 +v 0.285494 -0.382684 -0.878662 +v 0.144527 -0.382684 -0.912505 +v -8.07681e-08 -0.382684 -0.92388 +v -0.144527 -0.382684 -0.912505 +v -0.285494 -0.382684 -0.878662 +v -0.419433 -0.382684 -0.823183 +v -0.543043 -0.382684 -0.747434 +v -0.653282 -0.382684 -0.653281 +v -0.747434 -0.382684 -0.543043 +v -0.823183 -0.382684 -0.419432 +v -0.878662 -0.382684 -0.285495 +v -0.912505 -0.382684 -0.144527 +v -0.92388 -0.382684 1.10172e-08 +v -0.912505 -0.382684 0.144527 +v -0.878662 -0.382684 0.285495 +v -0.823183 -0.382684 0.419433 +v -0.747434 -0.382684 0.543043 +v -0.653281 -0.382684 0.653282 +v -0.543042 -0.382684 0.747434 +v -0.419433 -0.382684 0.823183 +v -0.285494 -0.382684 0.878662 +v -0.144526 -0.382684 0.912505 +v 1.61536e-07 -0.382684 0.92388 +v 0 -0.453991 0.891006 +v 0.139384 -0.453991 0.880037 +v 0.275336 -0.453991 0.847398 +v 0.404509 -0.453991 0.793893 +v 0.52372 -0.453991 0.720839 +v 0.630037 -0.453991 0.630037 +v 0.720839 -0.453991 0.52372 +v 0.793893 -0.453991 0.404509 +v 0.847398 -0.453991 0.275336 +v 0.880037 -0.453991 0.139384 +v 0.891006 -0.453991 -3.89471e-08 +v 0.880037 -0.453991 -0.139384 +v 0.847398 -0.453991 -0.275336 +v 0.793893 -0.453991 -0.404509 +v 0.720839 -0.453991 -0.52372 +v 0.630037 -0.453991 -0.630037 +v 0.52372 -0.453991 -0.720839 +v 0.404508 -0.453991 -0.793893 +v 0.275336 -0.453991 -0.847398 +v 0.139384 -0.453991 -0.880037 +v -7.78943e-08 -0.453991 -0.891006 +v -0.139384 -0.453991 -0.880037 +v -0.275336 -0.453991 -0.847398 +v -0.404509 -0.453991 -0.793893 +v -0.523721 -0.453991 -0.720839 +v -0.630037 -0.453991 -0.630037 +v -0.72084 -0.453991 -0.52372 +v -0.793893 -0.453991 -0.404508 +v -0.847398 -0.453991 -0.275336 +v -0.880037 -0.453991 -0.139384 +v -0.891006 -0.453991 1.06251e-08 +v -0.880037 -0.453991 0.139384 +v -0.847398 -0.453991 0.275336 +v -0.793893 -0.453991 0.404509 +v -0.720839 -0.453991 0.523721 +v -0.630036 -0.453991 0.630037 +v -0.52372 -0.453991 0.72084 +v -0.404509 -0.453991 0.793893 +v -0.275336 -0.453991 0.847398 +v -0.139384 -0.453991 0.880037 +v 1.55789e-07 -0.453991 0.891006 +v 0 -0.522499 0.85264 +v 0.133382 -0.522499 0.842143 +v 0.26348 -0.522499 0.810909 +v 0.387091 -0.522499 0.759708 +v 0.501169 -0.522499 0.6898 +v 0.602908 -0.522499 0.602908 +v 0.6898 -0.522499 0.501169 +v 0.759708 -0.522499 0.387091 +v 0.810909 -0.522499 0.26348 +v 0.842143 -0.522499 0.133382 +v 0.85264 -0.522499 -3.72701e-08 +v 0.842143 -0.522499 -0.133382 +v 0.810909 -0.522499 -0.26348 +v 0.759708 -0.522499 -0.387091 +v 0.6898 -0.522499 -0.501169 +v 0.602908 -0.522499 -0.602908 +v 0.501169 -0.522499 -0.6898 +v 0.38709 -0.522499 -0.759708 +v 0.26348 -0.522499 -0.810909 +v 0.133382 -0.522499 -0.842143 +v -7.45402e-08 -0.522499 -0.85264 +v -0.133382 -0.522499 -0.842143 +v -0.26348 -0.522499 -0.810909 +v -0.387091 -0.522499 -0.759708 +v -0.501169 -0.522499 -0.6898 +v -0.602908 -0.522499 -0.602907 +v -0.6898 -0.522499 -0.501169 +v -0.759708 -0.522499 -0.38709 +v -0.810909 -0.522499 -0.26348 +v -0.842143 -0.522499 -0.133382 +v -0.85264 -0.522499 1.01676e-08 +v -0.842143 -0.522499 0.133382 +v -0.810909 -0.522499 0.26348 +v -0.759708 -0.522499 0.387091 +v -0.6898 -0.522499 0.501169 +v -0.602907 -0.522499 0.602908 +v -0.501169 -0.522499 0.689801 +v -0.387091 -0.522499 0.759708 +v -0.26348 -0.522499 0.810909 +v -0.133382 -0.522499 0.842143 +v 1.4908e-07 -0.522499 0.85264 +v 0 -0.587785 0.809017 +v 0.126558 -0.587785 0.799057 +v 0.25 -0.587785 0.769421 +v 0.367286 -0.587785 0.720839 +v 0.475528 -0.587785 0.654509 +v 0.572061 -0.587785 0.572061 +v 0.654509 -0.587785 0.475528 +v 0.720839 -0.587785 0.367286 +v 0.769421 -0.587785 0.25 +v 0.799057 -0.587785 0.126558 +v 0.809017 -0.587785 -3.53633e-08 +v 0.799057 -0.587785 -0.126558 +v 0.769421 -0.587785 -0.25 +v 0.720839 -0.587785 -0.367286 +v 0.654509 -0.587785 -0.475528 +v 0.572061 -0.587785 -0.572061 +v 0.475528 -0.587785 -0.654509 +v 0.367286 -0.587785 -0.72084 +v 0.25 -0.587785 -0.769421 +v 0.126558 -0.587785 -0.799057 +v -7.07265e-08 -0.587785 -0.809017 +v -0.126558 -0.587785 -0.799057 +v -0.25 -0.587785 -0.769421 +v -0.367286 -0.587785 -0.720839 +v -0.475528 -0.587785 -0.654508 +v -0.572061 -0.587785 -0.572061 +v -0.654509 -0.587785 -0.475528 +v -0.72084 -0.587785 -0.367286 +v -0.769421 -0.587785 -0.25 +v -0.799057 -0.587785 -0.126558 +v -0.809017 -0.587785 9.64743e-09 +v -0.799057 -0.587785 0.126558 +v -0.769421 -0.587785 0.25 +v -0.720839 -0.587785 0.367286 +v -0.654508 -0.587785 0.475528 +v -0.572061 -0.587785 0.572062 +v -0.475528 -0.587785 0.654509 +v -0.367286 -0.587785 0.720839 +v -0.25 -0.587785 0.769421 +v -0.126558 -0.587785 0.799057 +v 1.41453e-07 -0.587785 0.809017 +v 0 -0.649448 0.760406 +v 0.118954 -0.649448 0.751044 +v 0.234978 -0.649448 0.723189 +v 0.345217 -0.649448 0.677527 +v 0.446955 -0.649448 0.615181 +v 0.537688 -0.649448 0.537688 +v 0.615181 -0.649448 0.446955 +v 0.677527 -0.649448 0.345217 +v 0.723189 -0.649448 0.234978 +v 0.751044 -0.649448 0.118954 +v 0.760406 -0.649448 -3.32384e-08 +v 0.751044 -0.649448 -0.118954 +v 0.723189 -0.649448 -0.234978 +v 0.677527 -0.649448 -0.345217 +v 0.615181 -0.649448 -0.446955 +v 0.537688 -0.649448 -0.537688 +v 0.446955 -0.649448 -0.615181 +v 0.345217 -0.649448 -0.677527 +v 0.234978 -0.649448 -0.723189 +v 0.118954 -0.649448 -0.751044 +v -6.64768e-08 -0.649448 -0.760406 +v -0.118954 -0.649448 -0.751044 +v -0.234978 -0.649448 -0.723189 +v -0.345217 -0.649448 -0.677527 +v -0.446956 -0.649448 -0.615181 +v -0.537688 -0.649448 -0.537688 +v -0.615181 -0.649448 -0.446955 +v -0.677527 -0.649448 -0.345217 +v -0.723189 -0.649448 -0.234978 +v -0.751044 -0.649448 -0.118954 +v -0.760406 -0.649448 9.06775e-09 +v -0.751044 -0.649448 0.118954 +v -0.723189 -0.649448 0.234978 +v -0.677527 -0.649448 0.345217 +v -0.615181 -0.649448 0.446956 +v -0.537688 -0.649448 0.537688 +v -0.446955 -0.649448 0.615182 +v -0.345217 -0.649448 0.677527 +v -0.234978 -0.649448 0.723189 +v -0.118954 -0.649448 0.751044 +v 1.32954e-07 -0.649448 0.760406 +v 0 -0.707107 0.707107 +v 0.110616 -0.707107 0.698401 +v 0.218508 -0.707107 0.672499 +v 0.32102 -0.707107 0.630037 +v 0.415627 -0.707107 0.572061 +v 0.5 -0.707107 0.5 +v 0.572061 -0.707107 0.415627 +v 0.630037 -0.707107 0.32102 +v 0.672499 -0.707107 0.218508 +v 0.698401 -0.707107 0.110616 +v 0.707107 -0.707107 -3.09086e-08 +v 0.698401 -0.707107 -0.110616 +v 0.672498 -0.707107 -0.218508 +v 0.630037 -0.707107 -0.32102 +v 0.572061 -0.707107 -0.415627 +v 0.5 -0.707107 -0.5 +v 0.415627 -0.707107 -0.572061 +v 0.32102 -0.707107 -0.630037 +v 0.218508 -0.707107 -0.672499 +v 0.110616 -0.707107 -0.698401 +v -6.18172e-08 -0.707107 -0.707107 +v -0.110616 -0.707107 -0.698401 +v -0.218508 -0.707107 -0.672499 +v -0.32102 -0.707107 -0.630037 +v -0.415627 -0.707107 -0.572061 +v -0.5 -0.707107 -0.5 +v -0.572061 -0.707107 -0.415627 +v -0.630037 -0.707107 -0.32102 +v -0.672498 -0.707107 -0.218508 +v -0.698401 -0.707107 -0.110616 +v -0.707107 -0.707107 8.43216e-09 +v -0.698401 -0.707107 0.110616 +v -0.672498 -0.707107 0.218508 +v -0.630037 -0.707107 0.32102 +v -0.572061 -0.707107 0.415627 +v -0.5 -0.707107 0.5 +v -0.415627 -0.707107 0.572062 +v -0.32102 -0.707107 0.630037 +v -0.218508 -0.707107 0.672499 +v -0.110616 -0.707107 0.698401 +v 1.23634e-07 -0.707107 0.707107 +v 0 -0.760406 0.649448 +v 0.101596 -0.760406 0.641452 +v 0.20069 -0.760406 0.617662 +v 0.294843 -0.760406 0.578662 +v 0.381736 -0.760406 0.525415 +v 0.459229 -0.760406 0.459229 +v 0.525415 -0.760406 0.381736 +v 0.578662 -0.760406 0.294843 +v 0.617662 -0.760406 0.20069 +v 0.641452 -0.760406 0.101596 +v 0.649448 -0.760406 -2.83883e-08 +v 0.641452 -0.760406 -0.101596 +v 0.617662 -0.760406 -0.200691 +v 0.578662 -0.760406 -0.294843 +v 0.525415 -0.760406 -0.381736 +v 0.459229 -0.760406 -0.459229 +v 0.381736 -0.760406 -0.525415 +v 0.294843 -0.760406 -0.578662 +v 0.20069 -0.760406 -0.617662 +v 0.101596 -0.760406 -0.641452 +v -5.67765e-08 -0.760406 -0.649448 +v -0.101596 -0.760406 -0.641452 +v -0.20069 -0.760406 -0.617662 +v -0.294843 -0.760406 -0.578662 +v -0.381736 -0.760406 -0.525414 +v -0.459229 -0.760406 -0.459229 +v -0.525415 -0.760406 -0.381736 +v -0.578663 -0.760406 -0.294843 +v -0.617662 -0.760406 -0.200691 +v -0.641452 -0.760406 -0.101596 +v -0.649448 -0.760406 7.74459e-09 +v -0.641452 -0.760406 0.101596 +v -0.617662 -0.760406 0.200691 +v -0.578662 -0.760406 0.294843 +v -0.525414 -0.760406 0.381736 +v -0.459229 -0.760406 0.459229 +v -0.381736 -0.760406 0.525415 +v -0.294843 -0.760406 0.578662 +v -0.20069 -0.760406 0.617662 +v -0.101596 -0.760406 0.641452 +v 1.13553e-07 -0.760406 0.649448 +v 0 -0.809017 0.587785 +v 0.0919499 -0.809017 0.580549 +v 0.181636 -0.809017 0.559017 +v 0.266849 -0.809017 0.52372 +v 0.345491 -0.809017 0.475528 +v 0.415627 -0.809017 0.415627 +v 0.475528 -0.809017 0.345491 +v 0.52372 -0.809017 0.266849 +v 0.559017 -0.809017 0.181636 +v 0.580549 -0.809017 0.0919498 +v 0.587785 -0.809017 -2.56929e-08 +v 0.580549 -0.809017 -0.0919499 +v 0.559017 -0.809017 -0.181636 +v 0.52372 -0.809017 -0.266849 +v 0.475528 -0.809017 -0.345491 +v 0.415627 -0.809017 -0.415627 +v 0.345491 -0.809017 -0.475528 +v 0.266849 -0.809017 -0.52372 +v 0.181635 -0.809017 -0.559017 +v 0.0919499 -0.809017 -0.580549 +v -5.13858e-08 -0.809017 -0.587785 +v -0.0919499 -0.809017 -0.580549 +v -0.181636 -0.809017 -0.559017 +v -0.266849 -0.809017 -0.52372 +v -0.345492 -0.809017 -0.475528 +v -0.415627 -0.809017 -0.415627 +v -0.475528 -0.809017 -0.345491 +v -0.523721 -0.809017 -0.266849 +v -0.559017 -0.809017 -0.181636 +v -0.580549 -0.809017 -0.0919499 +v -0.587785 -0.809017 7.00927e-09 +v -0.580549 -0.809017 0.0919499 +v -0.559017 -0.809017 0.181636 +v -0.52372 -0.809017 0.266849 +v -0.475528 -0.809017 0.345492 +v -0.415627 -0.809017 0.415627 +v -0.345491 -0.809017 0.475528 +v -0.266849 -0.809017 0.52372 +v -0.181636 -0.809017 0.559017 +v -0.0919498 -0.809017 0.580549 +v 1.02772e-07 -0.809017 0.587785 +v 0 -0.85264 0.522498 +v 0.0817368 -0.85264 0.516066 +v 0.161461 -0.85264 0.496926 +v 0.237209 -0.85264 0.46555 +v 0.307117 -0.85264 0.42271 +v 0.369462 -0.85264 0.369462 +v 0.42271 -0.85264 0.307117 +v 0.46555 -0.85264 0.237209 +v 0.496926 -0.85264 0.161461 +v 0.516066 -0.85264 0.0817367 +v 0.522498 -0.85264 -2.28391e-08 +v 0.516066 -0.85264 -0.0817368 +v 0.496926 -0.85264 -0.161461 +v 0.46555 -0.85264 -0.237209 +v 0.42271 -0.85264 -0.307117 +v 0.369462 -0.85264 -0.369462 +v 0.307117 -0.85264 -0.42271 +v 0.237209 -0.85264 -0.46555 +v 0.161461 -0.85264 -0.496926 +v 0.0817368 -0.85264 -0.516066 +v -4.56783e-08 -0.85264 -0.522498 +v -0.0817368 -0.85264 -0.516066 +v -0.161461 -0.85264 -0.496926 +v -0.237209 -0.85264 -0.46555 +v -0.307117 -0.85264 -0.42271 +v -0.369462 -0.85264 -0.369462 +v -0.42271 -0.85264 -0.307117 +v -0.46555 -0.85264 -0.237209 +v -0.496926 -0.85264 -0.161461 +v -0.516066 -0.85264 -0.0817368 +v -0.522498 -0.85264 6.23073e-09 +v -0.516066 -0.85264 0.0817368 +v -0.496926 -0.85264 0.161461 +v -0.465549 -0.85264 0.237209 +v -0.42271 -0.85264 0.307117 +v -0.369462 -0.85264 0.369462 +v -0.307117 -0.85264 0.42271 +v -0.237209 -0.85264 0.46555 +v -0.161461 -0.85264 0.496926 +v -0.0817367 -0.85264 0.516066 +v 9.13565e-08 -0.85264 0.522498 +v 0 -0.891007 0.45399 +v 0.0710197 -0.891007 0.448401 +v 0.140291 -0.891007 0.431771 +v 0.206107 -0.891007 0.404508 +v 0.266849 -0.891007 0.367286 +v 0.32102 -0.891007 0.32102 +v 0.367286 -0.891007 0.266849 +v 0.404508 -0.891007 0.206107 +v 0.431771 -0.891007 0.140291 +v 0.448401 -0.891007 0.0710197 +v 0.45399 -0.891007 -1.98445e-08 +v 0.448401 -0.891007 -0.0710197 +v 0.43177 -0.891007 -0.140291 +v 0.404508 -0.891007 -0.206107 +v 0.367286 -0.891007 -0.266849 +v 0.32102 -0.891007 -0.32102 +v 0.266849 -0.891007 -0.367286 +v 0.206107 -0.891007 -0.404508 +v 0.140291 -0.891007 -0.431771 +v 0.0710197 -0.891007 -0.448401 +v -3.96891e-08 -0.891007 -0.45399 +v -0.0710198 -0.891007 -0.448401 +v -0.140291 -0.891007 -0.431771 +v -0.206107 -0.891007 -0.404508 +v -0.266849 -0.891007 -0.367286 +v -0.32102 -0.891007 -0.32102 +v -0.367286 -0.891007 -0.266849 +v -0.404508 -0.891007 -0.206107 +v -0.43177 -0.891007 -0.140291 +v -0.448401 -0.891007 -0.0710198 +v -0.45399 -0.891007 5.41378e-09 +v -0.448401 -0.891007 0.0710198 +v -0.43177 -0.891007 0.140291 +v -0.404508 -0.891007 0.206107 +v -0.367286 -0.891007 0.266849 +v -0.32102 -0.891007 0.32102 +v -0.266849 -0.891007 0.367286 +v -0.206107 -0.891007 0.404508 +v -0.140291 -0.891007 0.431771 +v -0.0710197 -0.891007 0.448401 +v 7.93782e-08 -0.891007 0.45399 +v 0 -0.92388 0.382683 +v 0.0598649 -0.92388 0.377972 +v 0.118256 -0.92388 0.363953 +v 0.173735 -0.92388 0.340973 +v 0.224936 -0.92388 0.309597 +v 0.270598 -0.92388 0.270598 +v 0.309597 -0.92388 0.224936 +v 0.340973 -0.92388 0.173735 +v 0.363953 -0.92388 0.118256 +v 0.377972 -0.92388 0.0598648 +v 0.382683 -0.92388 -1.67276e-08 +v 0.377972 -0.92388 -0.0598648 +v 0.363953 -0.92388 -0.118256 +v 0.340973 -0.92388 -0.173735 +v 0.309597 -0.92388 -0.224936 +v 0.270598 -0.92388 -0.270598 +v 0.224936 -0.92388 -0.309597 +v 0.173735 -0.92388 -0.340973 +v 0.118256 -0.92388 -0.363953 +v 0.0598648 -0.92388 -0.377972 +v -3.34552e-08 -0.92388 -0.382683 +v -0.0598649 -0.92388 -0.377972 +v -0.118256 -0.92388 -0.363953 +v -0.173735 -0.92388 -0.340973 +v -0.224936 -0.92388 -0.309597 +v -0.270598 -0.92388 -0.270598 +v -0.309597 -0.92388 -0.224936 +v -0.340973 -0.92388 -0.173734 +v -0.363953 -0.92388 -0.118256 +v -0.377972 -0.92388 -0.0598649 +v -0.382683 -0.92388 4.56345e-09 +v -0.377972 -0.92388 0.0598649 +v -0.363953 -0.92388 0.118256 +v -0.340973 -0.92388 0.173735 +v -0.309597 -0.92388 0.224936 +v -0.270598 -0.92388 0.270598 +v -0.224935 -0.92388 0.309597 +v -0.173735 -0.92388 0.340973 +v -0.118256 -0.92388 0.363953 +v -0.0598648 -0.92388 0.377972 +v 6.69105e-08 -0.92388 0.382683 +v 0 -0.951057 0.309017 +v 0.0483409 -0.951057 0.305212 +v 0.0954914 -0.951057 0.293892 +v 0.140291 -0.951057 0.275336 +v 0.181636 -0.951057 0.25 +v 0.218508 -0.951057 0.218508 +v 0.25 -0.951057 0.181636 +v 0.275336 -0.951057 0.140291 +v 0.293892 -0.951057 0.0954914 +v 0.305212 -0.951057 0.0483408 +v 0.309017 -0.951057 -1.35076e-08 +v 0.305212 -0.951057 -0.0483409 +v 0.293892 -0.951057 -0.0954915 +v 0.275336 -0.951057 -0.140291 +v 0.25 -0.951057 -0.181635 +v 0.218508 -0.951057 -0.218508 +v 0.181635 -0.951057 -0.25 +v 0.140291 -0.951057 -0.275336 +v 0.0954914 -0.951057 -0.293892 +v 0.0483409 -0.951057 -0.305212 +v -2.70151e-08 -0.951057 -0.309017 +v -0.0483409 -0.951057 -0.305212 +v -0.0954914 -0.951057 -0.293892 +v -0.140291 -0.951057 -0.275336 +v -0.181636 -0.951057 -0.25 +v -0.218508 -0.951057 -0.218508 +v -0.25 -0.951057 -0.181635 +v -0.275336 -0.951057 -0.140291 +v -0.293892 -0.951057 -0.0954915 +v -0.305212 -0.951057 -0.0483409 +v -0.309017 -0.951057 3.68499e-09 +v -0.305212 -0.951057 0.0483409 +v -0.293892 -0.951057 0.0954915 +v -0.275336 -0.951057 0.140291 +v -0.25 -0.951057 0.181636 +v -0.218508 -0.951057 0.218508 +v -0.181635 -0.951057 0.25 +v -0.140291 -0.951057 0.275336 +v -0.0954914 -0.951057 0.293892 +v -0.0483408 -0.951057 0.305212 +v 5.40302e-08 -0.951057 0.309017 +v 0 -0.97237 0.233445 +v 0.0365189 -0.97237 0.230571 +v 0.0721386 -0.97237 0.22202 +v 0.105982 -0.97237 0.208001 +v 0.137216 -0.97237 0.188861 +v 0.165071 -0.97237 0.165071 +v 0.188861 -0.97237 0.137216 +v 0.208001 -0.97237 0.105982 +v 0.22202 -0.97237 0.0721386 +v 0.230571 -0.97237 0.0365189 +v 0.233445 -0.97237 -1.02042e-08 +v 0.230571 -0.97237 -0.0365189 +v 0.22202 -0.97237 -0.0721386 +v 0.208001 -0.97237 -0.105982 +v 0.188861 -0.97237 -0.137216 +v 0.165071 -0.97237 -0.165071 +v 0.137216 -0.97237 -0.188861 +v 0.105982 -0.97237 -0.208001 +v 0.0721385 -0.97237 -0.22202 +v 0.0365189 -0.97237 -0.230571 +v -2.04084e-08 -0.97237 -0.233445 +v -0.0365189 -0.97237 -0.230571 +v -0.0721386 -0.97237 -0.22202 +v -0.105982 -0.97237 -0.208001 +v -0.137216 -0.97237 -0.188861 +v -0.165071 -0.97237 -0.165071 +v -0.188861 -0.97237 -0.137216 +v -0.208001 -0.97237 -0.105982 +v -0.22202 -0.97237 -0.0721386 +v -0.230571 -0.97237 -0.0365189 +v -0.233445 -0.97237 2.78381e-09 +v -0.230571 -0.97237 0.0365189 +v -0.22202 -0.97237 0.0721386 +v -0.208001 -0.97237 0.105982 +v -0.188861 -0.97237 0.137216 +v -0.165071 -0.97237 0.165071 +v -0.137216 -0.97237 0.188861 +v -0.105982 -0.97237 0.208001 +v -0.0721386 -0.97237 0.22202 +v -0.0365189 -0.97237 0.230571 +v 4.08169e-08 -0.97237 0.233445 +v 0 -0.987688 0.156434 +v 0.0244717 -0.987688 0.154508 +v 0.0483409 -0.987688 0.148778 +v 0.0710198 -0.987688 0.139384 +v 0.0919499 -0.987688 0.126558 +v 0.110616 -0.987688 0.110616 +v 0.126558 -0.987688 0.0919499 +v 0.139384 -0.987688 0.0710198 +v 0.148778 -0.987688 0.0483409 +v 0.154508 -0.987688 0.0244717 +v 0.156434 -0.987688 -6.83797e-09 +v 0.154508 -0.987688 -0.0244717 +v 0.148778 -0.987688 -0.0483409 +v 0.139384 -0.987688 -0.0710198 +v 0.126558 -0.987688 -0.0919499 +v 0.110616 -0.987688 -0.110616 +v 0.0919499 -0.987688 -0.126558 +v 0.0710197 -0.987688 -0.139384 +v 0.0483409 -0.987688 -0.148778 +v 0.0244717 -0.987688 -0.154508 +v -1.36759e-08 -0.987688 -0.156434 +v -0.0244718 -0.987688 -0.154508 +v -0.0483409 -0.987688 -0.148778 +v -0.0710198 -0.987688 -0.139384 +v -0.0919499 -0.987688 -0.126558 +v -0.110616 -0.987688 -0.110616 +v -0.126558 -0.987688 -0.0919498 +v -0.139384 -0.987688 -0.0710197 +v -0.148778 -0.987688 -0.0483409 +v -0.154508 -0.987688 -0.0244717 +v -0.156434 -0.987688 1.86546e-09 +v -0.154508 -0.987688 0.0244718 +v -0.148778 -0.987688 0.0483409 +v -0.139384 -0.987688 0.0710198 +v -0.126558 -0.987688 0.0919499 +v -0.110616 -0.987688 0.110616 +v -0.0919498 -0.987688 0.126558 +v -0.0710198 -0.987688 0.139384 +v -0.0483409 -0.987688 0.148778 +v -0.0244717 -0.987688 0.154508 +v 2.73519e-08 -0.987688 0.156434 +v 0 -0.996917 0.078459 +v 0.0122737 -0.996917 0.0774931 +v 0.0242452 -0.996917 0.074619 +v 0.0356197 -0.996917 0.0699075 +v 0.0461171 -0.996917 0.0634747 +v 0.0554789 -0.996917 0.0554789 +v 0.0634747 -0.996917 0.0461171 +v 0.0699075 -0.996917 0.0356197 +v 0.074619 -0.996917 0.0242452 +v 0.0774931 -0.996917 0.0122737 +v 0.078459 -0.996917 -3.42955e-09 +v 0.0774931 -0.996917 -0.0122737 +v 0.074619 -0.996917 -0.0242452 +v 0.0699075 -0.996917 -0.0356197 +v 0.0634747 -0.996917 -0.0461171 +v 0.0554789 -0.996917 -0.0554789 +v 0.0461171 -0.996917 -0.0634747 +v 0.0356197 -0.996917 -0.0699075 +v 0.0242452 -0.996917 -0.074619 +v 0.0122737 -0.996917 -0.0774931 +v -6.85911e-09 -0.996917 -0.078459 +v -0.0122737 -0.996917 -0.0774931 +v -0.0242452 -0.996917 -0.074619 +v -0.0356197 -0.996917 -0.0699075 +v -0.0461171 -0.996917 -0.0634747 +v -0.0554789 -0.996917 -0.0554789 +v -0.0634747 -0.996917 -0.0461171 +v -0.0699075 -0.996917 -0.0356196 +v -0.074619 -0.996917 -0.0242452 +v -0.0774931 -0.996917 -0.0122737 +v -0.078459 -0.996917 9.35615e-10 +v -0.0774931 -0.996917 0.0122737 +v -0.074619 -0.996917 0.0242452 +v -0.0699075 -0.996917 0.0356197 +v -0.0634747 -0.996917 0.0461171 +v -0.0554789 -0.996917 0.0554789 +v -0.046117 -0.996917 0.0634747 +v -0.0356197 -0.996917 0.0699075 +v -0.0242452 -0.996917 0.074619 +v -0.0122737 -0.996917 0.0774931 +v 1.37182e-08 -0.996917 0.078459 +v -0 -1 -8.74228e-08 +v -1.36759e-08 -1 -8.63465e-08 +v -2.70151e-08 -1 -8.3144e-08 +v -3.96891e-08 -1 -7.78943e-08 +v -5.13858e-08 -1 -7.07265e-08 +v -6.18172e-08 -1 -6.18172e-08 +v -7.07265e-08 -1 -5.13858e-08 +v -7.78943e-08 -1 -3.96891e-08 +v -8.3144e-08 -1 -2.70151e-08 +v -8.63465e-08 -1 -1.36759e-08 +v -8.74228e-08 -1 3.82137e-15 +v -8.63465e-08 -1 1.36759e-08 +v -8.3144e-08 -1 2.70151e-08 +v -7.78943e-08 -1 3.96891e-08 +v -7.07265e-08 -1 5.13858e-08 +v -6.18172e-08 -1 6.18172e-08 +v -5.13858e-08 -1 7.07265e-08 +v -3.96891e-08 -1 7.78943e-08 +v -2.70151e-08 -1 8.3144e-08 +v -1.36759e-08 -1 8.63465e-08 +v 7.64274e-15 -1 8.74228e-08 +v 1.36759e-08 -1 8.63465e-08 +v 2.70151e-08 -1 8.3144e-08 +v 3.96891e-08 -1 7.78943e-08 +v 5.13858e-08 -1 7.07265e-08 +v 6.18172e-08 -1 6.18172e-08 +v 7.07265e-08 -1 5.13858e-08 +v 7.78943e-08 -1 3.96891e-08 +v 8.3144e-08 -1 2.70151e-08 +v 8.63465e-08 -1 1.36759e-08 +v 8.74228e-08 -1 -1.04251e-15 +v 8.63465e-08 -1 -1.36759e-08 +v 8.3144e-08 -1 -2.70151e-08 +v 7.78943e-08 -1 -3.96891e-08 +v 7.07265e-08 -1 -5.13858e-08 +v 6.18172e-08 -1 -6.18173e-08 +v 5.13858e-08 -1 -7.07265e-08 +v 3.96891e-08 -1 -7.78943e-08 +v 2.70151e-08 -1 -8.3144e-08 +v 1.36759e-08 -1 -8.63465e-08 +v -1.52855e-14 -1 -8.74228e-08 +f 1 42 43 +f 1 2 43 +f 2 43 44 +f 2 3 44 +f 3 44 45 +f 3 4 45 +f 4 45 46 +f 4 5 46 +f 5 46 47 +f 5 6 47 +f 6 47 48 +f 6 7 48 +f 7 48 49 +f 7 8 49 +f 8 49 50 +f 8 9 50 +f 9 50 51 +f 9 10 51 +f 10 51 52 +f 10 11 52 +f 11 52 53 +f 11 12 53 +f 12 53 54 +f 12 13 54 +f 13 54 55 +f 13 14 55 +f 14 55 56 +f 14 15 56 +f 15 56 57 +f 15 16 57 +f 16 57 58 +f 16 17 58 +f 17 58 59 +f 17 18 59 +f 18 59 60 +f 18 19 60 +f 19 60 61 +f 19 20 61 +f 20 61 62 +f 20 21 62 +f 21 62 63 +f 21 22 63 +f 22 63 64 +f 22 23 64 +f 23 64 65 +f 23 24 65 +f 24 65 66 +f 24 25 66 +f 25 66 67 +f 25 26 67 +f 26 67 68 +f 26 27 68 +f 27 68 69 +f 27 28 69 +f 28 69 70 +f 28 29 70 +f 29 70 71 +f 29 30 71 +f 30 71 72 +f 30 31 72 +f 31 72 73 +f 31 32 73 +f 32 73 74 +f 32 33 74 +f 33 74 75 +f 33 34 75 +f 34 75 76 +f 34 35 76 +f 35 76 77 +f 35 36 77 +f 36 77 78 +f 36 37 78 +f 37 78 79 +f 37 38 79 +f 38 79 80 +f 38 39 80 +f 39 80 81 +f 39 40 81 +f 40 81 82 +f 40 41 82 +f 42 83 84 +f 42 43 84 +f 43 84 85 +f 43 44 85 +f 44 85 86 +f 44 45 86 +f 45 86 87 +f 45 46 87 +f 46 87 88 +f 46 47 88 +f 47 88 89 +f 47 48 89 +f 48 89 90 +f 48 49 90 +f 49 90 91 +f 49 50 91 +f 50 91 92 +f 50 51 92 +f 51 92 93 +f 51 52 93 +f 52 93 94 +f 52 53 94 +f 53 94 95 +f 53 54 95 +f 54 95 96 +f 54 55 96 +f 55 96 97 +f 55 56 97 +f 56 97 98 +f 56 57 98 +f 57 98 99 +f 57 58 99 +f 58 99 100 +f 58 59 100 +f 59 100 101 +f 59 60 101 +f 60 101 102 +f 60 61 102 +f 61 102 103 +f 61 62 103 +f 62 103 104 +f 62 63 104 +f 63 104 105 +f 63 64 105 +f 64 105 106 +f 64 65 106 +f 65 106 107 +f 65 66 107 +f 66 107 108 +f 66 67 108 +f 67 108 109 +f 67 68 109 +f 68 109 110 +f 68 69 110 +f 69 110 111 +f 69 70 111 +f 70 111 112 +f 70 71 112 +f 71 112 113 +f 71 72 113 +f 72 113 114 +f 72 73 114 +f 73 114 115 +f 73 74 115 +f 74 115 116 +f 74 75 116 +f 75 116 117 +f 75 76 117 +f 76 117 118 +f 76 77 118 +f 77 118 119 +f 77 78 119 +f 78 119 120 +f 78 79 120 +f 79 120 121 +f 79 80 121 +f 80 121 122 +f 80 81 122 +f 81 122 123 +f 81 82 123 +f 83 124 125 +f 83 84 125 +f 84 125 126 +f 84 85 126 +f 85 126 127 +f 85 86 127 +f 86 127 128 +f 86 87 128 +f 87 128 129 +f 87 88 129 +f 88 129 130 +f 88 89 130 +f 89 130 131 +f 89 90 131 +f 90 131 132 +f 90 91 132 +f 91 132 133 +f 91 92 133 +f 92 133 134 +f 92 93 134 +f 93 134 135 +f 93 94 135 +f 94 135 136 +f 94 95 136 +f 95 136 137 +f 95 96 137 +f 96 137 138 +f 96 97 138 +f 97 138 139 +f 97 98 139 +f 98 139 140 +f 98 99 140 +f 99 140 141 +f 99 100 141 +f 100 141 142 +f 100 101 142 +f 101 142 143 +f 101 102 143 +f 102 143 144 +f 102 103 144 +f 103 144 145 +f 103 104 145 +f 104 145 146 +f 104 105 146 +f 105 146 147 +f 105 106 147 +f 106 147 148 +f 106 107 148 +f 107 148 149 +f 107 108 149 +f 108 149 150 +f 108 109 150 +f 109 150 151 +f 109 110 151 +f 110 151 152 +f 110 111 152 +f 111 152 153 +f 111 112 153 +f 112 153 154 +f 112 113 154 +f 113 154 155 +f 113 114 155 +f 114 155 156 +f 114 115 156 +f 115 156 157 +f 115 116 157 +f 116 157 158 +f 116 117 158 +f 117 158 159 +f 117 118 159 +f 118 159 160 +f 118 119 160 +f 119 160 161 +f 119 120 161 +f 120 161 162 +f 120 121 162 +f 121 162 163 +f 121 122 163 +f 122 163 164 +f 122 123 164 +f 124 165 166 +f 124 125 166 +f 125 166 167 +f 125 126 167 +f 126 167 168 +f 126 127 168 +f 127 168 169 +f 127 128 169 +f 128 169 170 +f 128 129 170 +f 129 170 171 +f 129 130 171 +f 130 171 172 +f 130 131 172 +f 131 172 173 +f 131 132 173 +f 132 173 174 +f 132 133 174 +f 133 174 175 +f 133 134 175 +f 134 175 176 +f 134 135 176 +f 135 176 177 +f 135 136 177 +f 136 177 178 +f 136 137 178 +f 137 178 179 +f 137 138 179 +f 138 179 180 +f 138 139 180 +f 139 180 181 +f 139 140 181 +f 140 181 182 +f 140 141 182 +f 141 182 183 +f 141 142 183 +f 142 183 184 +f 142 143 184 +f 143 184 185 +f 143 144 185 +f 144 185 186 +f 144 145 186 +f 145 186 187 +f 145 146 187 +f 146 187 188 +f 146 147 188 +f 147 188 189 +f 147 148 189 +f 148 189 190 +f 148 149 190 +f 149 190 191 +f 149 150 191 +f 150 191 192 +f 150 151 192 +f 151 192 193 +f 151 152 193 +f 152 193 194 +f 152 153 194 +f 153 194 195 +f 153 154 195 +f 154 195 196 +f 154 155 196 +f 155 196 197 +f 155 156 197 +f 156 197 198 +f 156 157 198 +f 157 198 199 +f 157 158 199 +f 158 199 200 +f 158 159 200 +f 159 200 201 +f 159 160 201 +f 160 201 202 +f 160 161 202 +f 161 202 203 +f 161 162 203 +f 162 203 204 +f 162 163 204 +f 163 204 205 +f 163 164 205 +f 165 206 207 +f 165 166 207 +f 166 207 208 +f 166 167 208 +f 167 208 209 +f 167 168 209 +f 168 209 210 +f 168 169 210 +f 169 210 211 +f 169 170 211 +f 170 211 212 +f 170 171 212 +f 171 212 213 +f 171 172 213 +f 172 213 214 +f 172 173 214 +f 173 214 215 +f 173 174 215 +f 174 215 216 +f 174 175 216 +f 175 216 217 +f 175 176 217 +f 176 217 218 +f 176 177 218 +f 177 218 219 +f 177 178 219 +f 178 219 220 +f 178 179 220 +f 179 220 221 +f 179 180 221 +f 180 221 222 +f 180 181 222 +f 181 222 223 +f 181 182 223 +f 182 223 224 +f 182 183 224 +f 183 224 225 +f 183 184 225 +f 184 225 226 +f 184 185 226 +f 185 226 227 +f 185 186 227 +f 186 227 228 +f 186 187 228 +f 187 228 229 +f 187 188 229 +f 188 229 230 +f 188 189 230 +f 189 230 231 +f 189 190 231 +f 190 231 232 +f 190 191 232 +f 191 232 233 +f 191 192 233 +f 192 233 234 +f 192 193 234 +f 193 234 235 +f 193 194 235 +f 194 235 236 +f 194 195 236 +f 195 236 237 +f 195 196 237 +f 196 237 238 +f 196 197 238 +f 197 238 239 +f 197 198 239 +f 198 239 240 +f 198 199 240 +f 199 240 241 +f 199 200 241 +f 200 241 242 +f 200 201 242 +f 201 242 243 +f 201 202 243 +f 202 243 244 +f 202 203 244 +f 203 244 245 +f 203 204 245 +f 204 245 246 +f 204 205 246 +f 206 247 248 +f 206 207 248 +f 207 248 249 +f 207 208 249 +f 208 249 250 +f 208 209 250 +f 209 250 251 +f 209 210 251 +f 210 251 252 +f 210 211 252 +f 211 252 253 +f 211 212 253 +f 212 253 254 +f 212 213 254 +f 213 254 255 +f 213 214 255 +f 214 255 256 +f 214 215 256 +f 215 256 257 +f 215 216 257 +f 216 257 258 +f 216 217 258 +f 217 258 259 +f 217 218 259 +f 218 259 260 +f 218 219 260 +f 219 260 261 +f 219 220 261 +f 220 261 262 +f 220 221 262 +f 221 262 263 +f 221 222 263 +f 222 263 264 +f 222 223 264 +f 223 264 265 +f 223 224 265 +f 224 265 266 +f 224 225 266 +f 225 266 267 +f 225 226 267 +f 226 267 268 +f 226 227 268 +f 227 268 269 +f 227 228 269 +f 228 269 270 +f 228 229 270 +f 229 270 271 +f 229 230 271 +f 230 271 272 +f 230 231 272 +f 231 272 273 +f 231 232 273 +f 232 273 274 +f 232 233 274 +f 233 274 275 +f 233 234 275 +f 234 275 276 +f 234 235 276 +f 235 276 277 +f 235 236 277 +f 236 277 278 +f 236 237 278 +f 237 278 279 +f 237 238 279 +f 238 279 280 +f 238 239 280 +f 239 280 281 +f 239 240 281 +f 240 281 282 +f 240 241 282 +f 241 282 283 +f 241 242 283 +f 242 283 284 +f 242 243 284 +f 243 284 285 +f 243 244 285 +f 244 285 286 +f 244 245 286 +f 245 286 287 +f 245 246 287 +f 247 288 289 +f 247 248 289 +f 248 289 290 +f 248 249 290 +f 249 290 291 +f 249 250 291 +f 250 291 292 +f 250 251 292 +f 251 292 293 +f 251 252 293 +f 252 293 294 +f 252 253 294 +f 253 294 295 +f 253 254 295 +f 254 295 296 +f 254 255 296 +f 255 296 297 +f 255 256 297 +f 256 297 298 +f 256 257 298 +f 257 298 299 +f 257 258 299 +f 258 299 300 +f 258 259 300 +f 259 300 301 +f 259 260 301 +f 260 301 302 +f 260 261 302 +f 261 302 303 +f 261 262 303 +f 262 303 304 +f 262 263 304 +f 263 304 305 +f 263 264 305 +f 264 305 306 +f 264 265 306 +f 265 306 307 +f 265 266 307 +f 266 307 308 +f 266 267 308 +f 267 308 309 +f 267 268 309 +f 268 309 310 +f 268 269 310 +f 269 310 311 +f 269 270 311 +f 270 311 312 +f 270 271 312 +f 271 312 313 +f 271 272 313 +f 272 313 314 +f 272 273 314 +f 273 314 315 +f 273 274 315 +f 274 315 316 +f 274 275 316 +f 275 316 317 +f 275 276 317 +f 276 317 318 +f 276 277 318 +f 277 318 319 +f 277 278 319 +f 278 319 320 +f 278 279 320 +f 279 320 321 +f 279 280 321 +f 280 321 322 +f 280 281 322 +f 281 322 323 +f 281 282 323 +f 282 323 324 +f 282 283 324 +f 283 324 325 +f 283 284 325 +f 284 325 326 +f 284 285 326 +f 285 326 327 +f 285 286 327 +f 286 327 328 +f 286 287 328 +f 288 329 330 +f 288 289 330 +f 289 330 331 +f 289 290 331 +f 290 331 332 +f 290 291 332 +f 291 332 333 +f 291 292 333 +f 292 333 334 +f 292 293 334 +f 293 334 335 +f 293 294 335 +f 294 335 336 +f 294 295 336 +f 295 336 337 +f 295 296 337 +f 296 337 338 +f 296 297 338 +f 297 338 339 +f 297 298 339 +f 298 339 340 +f 298 299 340 +f 299 340 341 +f 299 300 341 +f 300 341 342 +f 300 301 342 +f 301 342 343 +f 301 302 343 +f 302 343 344 +f 302 303 344 +f 303 344 345 +f 303 304 345 +f 304 345 346 +f 304 305 346 +f 305 346 347 +f 305 306 347 +f 306 347 348 +f 306 307 348 +f 307 348 349 +f 307 308 349 +f 308 349 350 +f 308 309 350 +f 309 350 351 +f 309 310 351 +f 310 351 352 +f 310 311 352 +f 311 352 353 +f 311 312 353 +f 312 353 354 +f 312 313 354 +f 313 354 355 +f 313 314 355 +f 314 355 356 +f 314 315 356 +f 315 356 357 +f 315 316 357 +f 316 357 358 +f 316 317 358 +f 317 358 359 +f 317 318 359 +f 318 359 360 +f 318 319 360 +f 319 360 361 +f 319 320 361 +f 320 361 362 +f 320 321 362 +f 321 362 363 +f 321 322 363 +f 322 363 364 +f 322 323 364 +f 323 364 365 +f 323 324 365 +f 324 365 366 +f 324 325 366 +f 325 366 367 +f 325 326 367 +f 326 367 368 +f 326 327 368 +f 327 368 369 +f 327 328 369 +f 329 370 371 +f 329 330 371 +f 330 371 372 +f 330 331 372 +f 331 372 373 +f 331 332 373 +f 332 373 374 +f 332 333 374 +f 333 374 375 +f 333 334 375 +f 334 375 376 +f 334 335 376 +f 335 376 377 +f 335 336 377 +f 336 377 378 +f 336 337 378 +f 337 378 379 +f 337 338 379 +f 338 379 380 +f 338 339 380 +f 339 380 381 +f 339 340 381 +f 340 381 382 +f 340 341 382 +f 341 382 383 +f 341 342 383 +f 342 383 384 +f 342 343 384 +f 343 384 385 +f 343 344 385 +f 344 385 386 +f 344 345 386 +f 345 386 387 +f 345 346 387 +f 346 387 388 +f 346 347 388 +f 347 388 389 +f 347 348 389 +f 348 389 390 +f 348 349 390 +f 349 390 391 +f 349 350 391 +f 350 391 392 +f 350 351 392 +f 351 392 393 +f 351 352 393 +f 352 393 394 +f 352 353 394 +f 353 394 395 +f 353 354 395 +f 354 395 396 +f 354 355 396 +f 355 396 397 +f 355 356 397 +f 356 397 398 +f 356 357 398 +f 357 398 399 +f 357 358 399 +f 358 399 400 +f 358 359 400 +f 359 400 401 +f 359 360 401 +f 360 401 402 +f 360 361 402 +f 361 402 403 +f 361 362 403 +f 362 403 404 +f 362 363 404 +f 363 404 405 +f 363 364 405 +f 364 405 406 +f 364 365 406 +f 365 406 407 +f 365 366 407 +f 366 407 408 +f 366 367 408 +f 367 408 409 +f 367 368 409 +f 368 409 410 +f 368 369 410 +f 370 411 412 +f 370 371 412 +f 371 412 413 +f 371 372 413 +f 372 413 414 +f 372 373 414 +f 373 414 415 +f 373 374 415 +f 374 415 416 +f 374 375 416 +f 375 416 417 +f 375 376 417 +f 376 417 418 +f 376 377 418 +f 377 418 419 +f 377 378 419 +f 378 419 420 +f 378 379 420 +f 379 420 421 +f 379 380 421 +f 380 421 422 +f 380 381 422 +f 381 422 423 +f 381 382 423 +f 382 423 424 +f 382 383 424 +f 383 424 425 +f 383 384 425 +f 384 425 426 +f 384 385 426 +f 385 426 427 +f 385 386 427 +f 386 427 428 +f 386 387 428 +f 387 428 429 +f 387 388 429 +f 388 429 430 +f 388 389 430 +f 389 430 431 +f 389 390 431 +f 390 431 432 +f 390 391 432 +f 391 432 433 +f 391 392 433 +f 392 433 434 +f 392 393 434 +f 393 434 435 +f 393 394 435 +f 394 435 436 +f 394 395 436 +f 395 436 437 +f 395 396 437 +f 396 437 438 +f 396 397 438 +f 397 438 439 +f 397 398 439 +f 398 439 440 +f 398 399 440 +f 399 440 441 +f 399 400 441 +f 400 441 442 +f 400 401 442 +f 401 442 443 +f 401 402 443 +f 402 443 444 +f 402 403 444 +f 403 444 445 +f 403 404 445 +f 404 445 446 +f 404 405 446 +f 405 446 447 +f 405 406 447 +f 406 447 448 +f 406 407 448 +f 407 448 449 +f 407 408 449 +f 408 449 450 +f 408 409 450 +f 409 450 451 +f 409 410 451 +f 411 452 453 +f 411 412 453 +f 412 453 454 +f 412 413 454 +f 413 454 455 +f 413 414 455 +f 414 455 456 +f 414 415 456 +f 415 456 457 +f 415 416 457 +f 416 457 458 +f 416 417 458 +f 417 458 459 +f 417 418 459 +f 418 459 460 +f 418 419 460 +f 419 460 461 +f 419 420 461 +f 420 461 462 +f 420 421 462 +f 421 462 463 +f 421 422 463 +f 422 463 464 +f 422 423 464 +f 423 464 465 +f 423 424 465 +f 424 465 466 +f 424 425 466 +f 425 466 467 +f 425 426 467 +f 426 467 468 +f 426 427 468 +f 427 468 469 +f 427 428 469 +f 428 469 470 +f 428 429 470 +f 429 470 471 +f 429 430 471 +f 430 471 472 +f 430 431 472 +f 431 472 473 +f 431 432 473 +f 432 473 474 +f 432 433 474 +f 433 474 475 +f 433 434 475 +f 434 475 476 +f 434 435 476 +f 435 476 477 +f 435 436 477 +f 436 477 478 +f 436 437 478 +f 437 478 479 +f 437 438 479 +f 438 479 480 +f 438 439 480 +f 439 480 481 +f 439 440 481 +f 440 481 482 +f 440 441 482 +f 441 482 483 +f 441 442 483 +f 442 483 484 +f 442 443 484 +f 443 484 485 +f 443 444 485 +f 444 485 486 +f 444 445 486 +f 445 486 487 +f 445 446 487 +f 446 487 488 +f 446 447 488 +f 447 488 489 +f 447 448 489 +f 448 489 490 +f 448 449 490 +f 449 490 491 +f 449 450 491 +f 450 491 492 +f 450 451 492 +f 452 493 494 +f 452 453 494 +f 453 494 495 +f 453 454 495 +f 454 495 496 +f 454 455 496 +f 455 496 497 +f 455 456 497 +f 456 497 498 +f 456 457 498 +f 457 498 499 +f 457 458 499 +f 458 499 500 +f 458 459 500 +f 459 500 501 +f 459 460 501 +f 460 501 502 +f 460 461 502 +f 461 502 503 +f 461 462 503 +f 462 503 504 +f 462 463 504 +f 463 504 505 +f 463 464 505 +f 464 505 506 +f 464 465 506 +f 465 506 507 +f 465 466 507 +f 466 507 508 +f 466 467 508 +f 467 508 509 +f 467 468 509 +f 468 509 510 +f 468 469 510 +f 469 510 511 +f 469 470 511 +f 470 511 512 +f 470 471 512 +f 471 512 513 +f 471 472 513 +f 472 513 514 +f 472 473 514 +f 473 514 515 +f 473 474 515 +f 474 515 516 +f 474 475 516 +f 475 516 517 +f 475 476 517 +f 476 517 518 +f 476 477 518 +f 477 518 519 +f 477 478 519 +f 478 519 520 +f 478 479 520 +f 479 520 521 +f 479 480 521 +f 480 521 522 +f 480 481 522 +f 481 522 523 +f 481 482 523 +f 482 523 524 +f 482 483 524 +f 483 524 525 +f 483 484 525 +f 484 525 526 +f 484 485 526 +f 485 526 527 +f 485 486 527 +f 486 527 528 +f 486 487 528 +f 487 528 529 +f 487 488 529 +f 488 529 530 +f 488 489 530 +f 489 530 531 +f 489 490 531 +f 490 531 532 +f 490 491 532 +f 491 532 533 +f 491 492 533 +f 493 534 535 +f 493 494 535 +f 494 535 536 +f 494 495 536 +f 495 536 537 +f 495 496 537 +f 496 537 538 +f 496 497 538 +f 497 538 539 +f 497 498 539 +f 498 539 540 +f 498 499 540 +f 499 540 541 +f 499 500 541 +f 500 541 542 +f 500 501 542 +f 501 542 543 +f 501 502 543 +f 502 543 544 +f 502 503 544 +f 503 544 545 +f 503 504 545 +f 504 545 546 +f 504 505 546 +f 505 546 547 +f 505 506 547 +f 506 547 548 +f 506 507 548 +f 507 548 549 +f 507 508 549 +f 508 549 550 +f 508 509 550 +f 509 550 551 +f 509 510 551 +f 510 551 552 +f 510 511 552 +f 511 552 553 +f 511 512 553 +f 512 553 554 +f 512 513 554 +f 513 554 555 +f 513 514 555 +f 514 555 556 +f 514 515 556 +f 515 556 557 +f 515 516 557 +f 516 557 558 +f 516 517 558 +f 517 558 559 +f 517 518 559 +f 518 559 560 +f 518 519 560 +f 519 560 561 +f 519 520 561 +f 520 561 562 +f 520 521 562 +f 521 562 563 +f 521 522 563 +f 522 563 564 +f 522 523 564 +f 523 564 565 +f 523 524 565 +f 524 565 566 +f 524 525 566 +f 525 566 567 +f 525 526 567 +f 526 567 568 +f 526 527 568 +f 527 568 569 +f 527 528 569 +f 528 569 570 +f 528 529 570 +f 529 570 571 +f 529 530 571 +f 530 571 572 +f 530 531 572 +f 531 572 573 +f 531 532 573 +f 532 573 574 +f 532 533 574 +f 534 575 576 +f 534 535 576 +f 535 576 577 +f 535 536 577 +f 536 577 578 +f 536 537 578 +f 537 578 579 +f 537 538 579 +f 538 579 580 +f 538 539 580 +f 539 580 581 +f 539 540 581 +f 540 581 582 +f 540 541 582 +f 541 582 583 +f 541 542 583 +f 542 583 584 +f 542 543 584 +f 543 584 585 +f 543 544 585 +f 544 585 586 +f 544 545 586 +f 545 586 587 +f 545 546 587 +f 546 587 588 +f 546 547 588 +f 547 588 589 +f 547 548 589 +f 548 589 590 +f 548 549 590 +f 549 590 591 +f 549 550 591 +f 550 591 592 +f 550 551 592 +f 551 592 593 +f 551 552 593 +f 552 593 594 +f 552 553 594 +f 553 594 595 +f 553 554 595 +f 554 595 596 +f 554 555 596 +f 555 596 597 +f 555 556 597 +f 556 597 598 +f 556 557 598 +f 557 598 599 +f 557 558 599 +f 558 599 600 +f 558 559 600 +f 559 600 601 +f 559 560 601 +f 560 601 602 +f 560 561 602 +f 561 602 603 +f 561 562 603 +f 562 603 604 +f 562 563 604 +f 563 604 605 +f 563 564 605 +f 564 605 606 +f 564 565 606 +f 565 606 607 +f 565 566 607 +f 566 607 608 +f 566 567 608 +f 567 608 609 +f 567 568 609 +f 568 609 610 +f 568 569 610 +f 569 610 611 +f 569 570 611 +f 570 611 612 +f 570 571 612 +f 571 612 613 +f 571 572 613 +f 572 613 614 +f 572 573 614 +f 573 614 615 +f 573 574 615 +f 575 616 617 +f 575 576 617 +f 576 617 618 +f 576 577 618 +f 577 618 619 +f 577 578 619 +f 578 619 620 +f 578 579 620 +f 579 620 621 +f 579 580 621 +f 580 621 622 +f 580 581 622 +f 581 622 623 +f 581 582 623 +f 582 623 624 +f 582 583 624 +f 583 624 625 +f 583 584 625 +f 584 625 626 +f 584 585 626 +f 585 626 627 +f 585 586 627 +f 586 627 628 +f 586 587 628 +f 587 628 629 +f 587 588 629 +f 588 629 630 +f 588 589 630 +f 589 630 631 +f 589 590 631 +f 590 631 632 +f 590 591 632 +f 591 632 633 +f 591 592 633 +f 592 633 634 +f 592 593 634 +f 593 634 635 +f 593 594 635 +f 594 635 636 +f 594 595 636 +f 595 636 637 +f 595 596 637 +f 596 637 638 +f 596 597 638 +f 597 638 639 +f 597 598 639 +f 598 639 640 +f 598 599 640 +f 599 640 641 +f 599 600 641 +f 600 641 642 +f 600 601 642 +f 601 642 643 +f 601 602 643 +f 602 643 644 +f 602 603 644 +f 603 644 645 +f 603 604 645 +f 604 645 646 +f 604 605 646 +f 605 646 647 +f 605 606 647 +f 606 647 648 +f 606 607 648 +f 607 648 649 +f 607 608 649 +f 608 649 650 +f 608 609 650 +f 609 650 651 +f 609 610 651 +f 610 651 652 +f 610 611 652 +f 611 652 653 +f 611 612 653 +f 612 653 654 +f 612 613 654 +f 613 654 655 +f 613 614 655 +f 614 655 656 +f 614 615 656 +f 616 657 658 +f 616 617 658 +f 617 658 659 +f 617 618 659 +f 618 659 660 +f 618 619 660 +f 619 660 661 +f 619 620 661 +f 620 661 662 +f 620 621 662 +f 621 662 663 +f 621 622 663 +f 622 663 664 +f 622 623 664 +f 623 664 665 +f 623 624 665 +f 624 665 666 +f 624 625 666 +f 625 666 667 +f 625 626 667 +f 626 667 668 +f 626 627 668 +f 627 668 669 +f 627 628 669 +f 628 669 670 +f 628 629 670 +f 629 670 671 +f 629 630 671 +f 630 671 672 +f 630 631 672 +f 631 672 673 +f 631 632 673 +f 632 673 674 +f 632 633 674 +f 633 674 675 +f 633 634 675 +f 634 675 676 +f 634 635 676 +f 635 676 677 +f 635 636 677 +f 636 677 678 +f 636 637 678 +f 637 678 679 +f 637 638 679 +f 638 679 680 +f 638 639 680 +f 639 680 681 +f 639 640 681 +f 640 681 682 +f 640 641 682 +f 641 682 683 +f 641 642 683 +f 642 683 684 +f 642 643 684 +f 643 684 685 +f 643 644 685 +f 644 685 686 +f 644 645 686 +f 645 686 687 +f 645 646 687 +f 646 687 688 +f 646 647 688 +f 647 688 689 +f 647 648 689 +f 648 689 690 +f 648 649 690 +f 649 690 691 +f 649 650 691 +f 650 691 692 +f 650 651 692 +f 651 692 693 +f 651 652 693 +f 652 693 694 +f 652 653 694 +f 653 694 695 +f 653 654 695 +f 654 695 696 +f 654 655 696 +f 655 696 697 +f 655 656 697 +f 657 698 699 +f 657 658 699 +f 658 699 700 +f 658 659 700 +f 659 700 701 +f 659 660 701 +f 660 701 702 +f 660 661 702 +f 661 702 703 +f 661 662 703 +f 662 703 704 +f 662 663 704 +f 663 704 705 +f 663 664 705 +f 664 705 706 +f 664 665 706 +f 665 706 707 +f 665 666 707 +f 666 707 708 +f 666 667 708 +f 667 708 709 +f 667 668 709 +f 668 709 710 +f 668 669 710 +f 669 710 711 +f 669 670 711 +f 670 711 712 +f 670 671 712 +f 671 712 713 +f 671 672 713 +f 672 713 714 +f 672 673 714 +f 673 714 715 +f 673 674 715 +f 674 715 716 +f 674 675 716 +f 675 716 717 +f 675 676 717 +f 676 717 718 +f 676 677 718 +f 677 718 719 +f 677 678 719 +f 678 719 720 +f 678 679 720 +f 679 720 721 +f 679 680 721 +f 680 721 722 +f 680 681 722 +f 681 722 723 +f 681 682 723 +f 682 723 724 +f 682 683 724 +f 683 724 725 +f 683 684 725 +f 684 725 726 +f 684 685 726 +f 685 726 727 +f 685 686 727 +f 686 727 728 +f 686 687 728 +f 687 728 729 +f 687 688 729 +f 688 729 730 +f 688 689 730 +f 689 730 731 +f 689 690 731 +f 690 731 732 +f 690 691 732 +f 691 732 733 +f 691 692 733 +f 692 733 734 +f 692 693 734 +f 693 734 735 +f 693 694 735 +f 694 735 736 +f 694 695 736 +f 695 736 737 +f 695 696 737 +f 696 737 738 +f 696 697 738 +f 698 739 740 +f 698 699 740 +f 699 740 741 +f 699 700 741 +f 700 741 742 +f 700 701 742 +f 701 742 743 +f 701 702 743 +f 702 743 744 +f 702 703 744 +f 703 744 745 +f 703 704 745 +f 704 745 746 +f 704 705 746 +f 705 746 747 +f 705 706 747 +f 706 747 748 +f 706 707 748 +f 707 748 749 +f 707 708 749 +f 708 749 750 +f 708 709 750 +f 709 750 751 +f 709 710 751 +f 710 751 752 +f 710 711 752 +f 711 752 753 +f 711 712 753 +f 712 753 754 +f 712 713 754 +f 713 754 755 +f 713 714 755 +f 714 755 756 +f 714 715 756 +f 715 756 757 +f 715 716 757 +f 716 757 758 +f 716 717 758 +f 717 758 759 +f 717 718 759 +f 718 759 760 +f 718 719 760 +f 719 760 761 +f 719 720 761 +f 720 761 762 +f 720 721 762 +f 721 762 763 +f 721 722 763 +f 722 763 764 +f 722 723 764 +f 723 764 765 +f 723 724 765 +f 724 765 766 +f 724 725 766 +f 725 766 767 +f 725 726 767 +f 726 767 768 +f 726 727 768 +f 727 768 769 +f 727 728 769 +f 728 769 770 +f 728 729 770 +f 729 770 771 +f 729 730 771 +f 730 771 772 +f 730 731 772 +f 731 772 773 +f 731 732 773 +f 732 773 774 +f 732 733 774 +f 733 774 775 +f 733 734 775 +f 734 775 776 +f 734 735 776 +f 735 776 777 +f 735 736 777 +f 736 777 778 +f 736 737 778 +f 737 778 779 +f 737 738 779 +f 739 780 781 +f 739 740 781 +f 740 781 782 +f 740 741 782 +f 741 782 783 +f 741 742 783 +f 742 783 784 +f 742 743 784 +f 743 784 785 +f 743 744 785 +f 744 785 786 +f 744 745 786 +f 745 786 787 +f 745 746 787 +f 746 787 788 +f 746 747 788 +f 747 788 789 +f 747 748 789 +f 748 789 790 +f 748 749 790 +f 749 790 791 +f 749 750 791 +f 750 791 792 +f 750 751 792 +f 751 792 793 +f 751 752 793 +f 752 793 794 +f 752 753 794 +f 753 794 795 +f 753 754 795 +f 754 795 796 +f 754 755 796 +f 755 796 797 +f 755 756 797 +f 756 797 798 +f 756 757 798 +f 757 798 799 +f 757 758 799 +f 758 799 800 +f 758 759 800 +f 759 800 801 +f 759 760 801 +f 760 801 802 +f 760 761 802 +f 761 802 803 +f 761 762 803 +f 762 803 804 +f 762 763 804 +f 763 804 805 +f 763 764 805 +f 764 805 806 +f 764 765 806 +f 765 806 807 +f 765 766 807 +f 766 807 808 +f 766 767 808 +f 767 808 809 +f 767 768 809 +f 768 809 810 +f 768 769 810 +f 769 810 811 +f 769 770 811 +f 770 811 812 +f 770 771 812 +f 771 812 813 +f 771 772 813 +f 772 813 814 +f 772 773 814 +f 773 814 815 +f 773 774 815 +f 774 815 816 +f 774 775 816 +f 775 816 817 +f 775 776 817 +f 776 817 818 +f 776 777 818 +f 777 818 819 +f 777 778 819 +f 778 819 820 +f 778 779 820 +f 780 821 822 +f 780 781 822 +f 781 822 823 +f 781 782 823 +f 782 823 824 +f 782 783 824 +f 783 824 825 +f 783 784 825 +f 784 825 826 +f 784 785 826 +f 785 826 827 +f 785 786 827 +f 786 827 828 +f 786 787 828 +f 787 828 829 +f 787 788 829 +f 788 829 830 +f 788 789 830 +f 789 830 831 +f 789 790 831 +f 790 831 832 +f 790 791 832 +f 791 832 833 +f 791 792 833 +f 792 833 834 +f 792 793 834 +f 793 834 835 +f 793 794 835 +f 794 835 836 +f 794 795 836 +f 795 836 837 +f 795 796 837 +f 796 837 838 +f 796 797 838 +f 797 838 839 +f 797 798 839 +f 798 839 840 +f 798 799 840 +f 799 840 841 +f 799 800 841 +f 800 841 842 +f 800 801 842 +f 801 842 843 +f 801 802 843 +f 802 843 844 +f 802 803 844 +f 803 844 845 +f 803 804 845 +f 804 845 846 +f 804 805 846 +f 805 846 847 +f 805 806 847 +f 806 847 848 +f 806 807 848 +f 807 848 849 +f 807 808 849 +f 808 849 850 +f 808 809 850 +f 809 850 851 +f 809 810 851 +f 810 851 852 +f 810 811 852 +f 811 852 853 +f 811 812 853 +f 812 853 854 +f 812 813 854 +f 813 854 855 +f 813 814 855 +f 814 855 856 +f 814 815 856 +f 815 856 857 +f 815 816 857 +f 816 857 858 +f 816 817 858 +f 817 858 859 +f 817 818 859 +f 818 859 860 +f 818 819 860 +f 819 860 861 +f 819 820 861 +f 821 862 863 +f 821 822 863 +f 822 863 864 +f 822 823 864 +f 823 864 865 +f 823 824 865 +f 824 865 866 +f 824 825 866 +f 825 866 867 +f 825 826 867 +f 826 867 868 +f 826 827 868 +f 827 868 869 +f 827 828 869 +f 828 869 870 +f 828 829 870 +f 829 870 871 +f 829 830 871 +f 830 871 872 +f 830 831 872 +f 831 872 873 +f 831 832 873 +f 832 873 874 +f 832 833 874 +f 833 874 875 +f 833 834 875 +f 834 875 876 +f 834 835 876 +f 835 876 877 +f 835 836 877 +f 836 877 878 +f 836 837 878 +f 837 878 879 +f 837 838 879 +f 838 879 880 +f 838 839 880 +f 839 880 881 +f 839 840 881 +f 840 881 882 +f 840 841 882 +f 841 882 883 +f 841 842 883 +f 842 883 884 +f 842 843 884 +f 843 884 885 +f 843 844 885 +f 844 885 886 +f 844 845 886 +f 845 886 887 +f 845 846 887 +f 846 887 888 +f 846 847 888 +f 847 888 889 +f 847 848 889 +f 848 889 890 +f 848 849 890 +f 849 890 891 +f 849 850 891 +f 850 891 892 +f 850 851 892 +f 851 892 893 +f 851 852 893 +f 852 893 894 +f 852 853 894 +f 853 894 895 +f 853 854 895 +f 854 895 896 +f 854 855 896 +f 855 896 897 +f 855 856 897 +f 856 897 898 +f 856 857 898 +f 857 898 899 +f 857 858 899 +f 858 899 900 +f 858 859 900 +f 859 900 901 +f 859 860 901 +f 860 901 902 +f 860 861 902 +f 862 903 904 +f 862 863 904 +f 863 904 905 +f 863 864 905 +f 864 905 906 +f 864 865 906 +f 865 906 907 +f 865 866 907 +f 866 907 908 +f 866 867 908 +f 867 908 909 +f 867 868 909 +f 868 909 910 +f 868 869 910 +f 869 910 911 +f 869 870 911 +f 870 911 912 +f 870 871 912 +f 871 912 913 +f 871 872 913 +f 872 913 914 +f 872 873 914 +f 873 914 915 +f 873 874 915 +f 874 915 916 +f 874 875 916 +f 875 916 917 +f 875 876 917 +f 876 917 918 +f 876 877 918 +f 877 918 919 +f 877 878 919 +f 878 919 920 +f 878 879 920 +f 879 920 921 +f 879 880 921 +f 880 921 922 +f 880 881 922 +f 881 922 923 +f 881 882 923 +f 882 923 924 +f 882 883 924 +f 883 924 925 +f 883 884 925 +f 884 925 926 +f 884 885 926 +f 885 926 927 +f 885 886 927 +f 886 927 928 +f 886 887 928 +f 887 928 929 +f 887 888 929 +f 888 929 930 +f 888 889 930 +f 889 930 931 +f 889 890 931 +f 890 931 932 +f 890 891 932 +f 891 932 933 +f 891 892 933 +f 892 933 934 +f 892 893 934 +f 893 934 935 +f 893 894 935 +f 894 935 936 +f 894 895 936 +f 895 936 937 +f 895 896 937 +f 896 937 938 +f 896 897 938 +f 897 938 939 +f 897 898 939 +f 898 939 940 +f 898 899 940 +f 899 940 941 +f 899 900 941 +f 900 941 942 +f 900 901 942 +f 901 942 943 +f 901 902 943 +f 903 944 945 +f 903 904 945 +f 904 945 946 +f 904 905 946 +f 905 946 947 +f 905 906 947 +f 906 947 948 +f 906 907 948 +f 907 948 949 +f 907 908 949 +f 908 949 950 +f 908 909 950 +f 909 950 951 +f 909 910 951 +f 910 951 952 +f 910 911 952 +f 911 952 953 +f 911 912 953 +f 912 953 954 +f 912 913 954 +f 913 954 955 +f 913 914 955 +f 914 955 956 +f 914 915 956 +f 915 956 957 +f 915 916 957 +f 916 957 958 +f 916 917 958 +f 917 958 959 +f 917 918 959 +f 918 959 960 +f 918 919 960 +f 919 960 961 +f 919 920 961 +f 920 961 962 +f 920 921 962 +f 921 962 963 +f 921 922 963 +f 922 963 964 +f 922 923 964 +f 923 964 965 +f 923 924 965 +f 924 965 966 +f 924 925 966 +f 925 966 967 +f 925 926 967 +f 926 967 968 +f 926 927 968 +f 927 968 969 +f 927 928 969 +f 928 969 970 +f 928 929 970 +f 929 970 971 +f 929 930 971 +f 930 971 972 +f 930 931 972 +f 931 972 973 +f 931 932 973 +f 932 973 974 +f 932 933 974 +f 933 974 975 +f 933 934 975 +f 934 975 976 +f 934 935 976 +f 935 976 977 +f 935 936 977 +f 936 977 978 +f 936 937 978 +f 937 978 979 +f 937 938 979 +f 938 979 980 +f 938 939 980 +f 939 980 981 +f 939 940 981 +f 940 981 982 +f 940 941 982 +f 941 982 983 +f 941 942 983 +f 942 983 984 +f 942 943 984 +f 944 985 986 +f 944 945 986 +f 945 986 987 +f 945 946 987 +f 946 987 988 +f 946 947 988 +f 947 988 989 +f 947 948 989 +f 948 989 990 +f 948 949 990 +f 949 990 991 +f 949 950 991 +f 950 991 992 +f 950 951 992 +f 951 992 993 +f 951 952 993 +f 952 993 994 +f 952 953 994 +f 953 994 995 +f 953 954 995 +f 954 995 996 +f 954 955 996 +f 955 996 997 +f 955 956 997 +f 956 997 998 +f 956 957 998 +f 957 998 999 +f 957 958 999 +f 958 999 1000 +f 958 959 1000 +f 959 1000 1001 +f 959 960 1001 +f 960 1001 1002 +f 960 961 1002 +f 961 1002 1003 +f 961 962 1003 +f 962 1003 1004 +f 962 963 1004 +f 963 1004 1005 +f 963 964 1005 +f 964 1005 1006 +f 964 965 1006 +f 965 1006 1007 +f 965 966 1007 +f 966 1007 1008 +f 966 967 1008 +f 967 1008 1009 +f 967 968 1009 +f 968 1009 1010 +f 968 969 1010 +f 969 1010 1011 +f 969 970 1011 +f 970 1011 1012 +f 970 971 1012 +f 971 1012 1013 +f 971 972 1013 +f 972 1013 1014 +f 972 973 1014 +f 973 1014 1015 +f 973 974 1015 +f 974 1015 1016 +f 974 975 1016 +f 975 1016 1017 +f 975 976 1017 +f 976 1017 1018 +f 976 977 1018 +f 977 1018 1019 +f 977 978 1019 +f 978 1019 1020 +f 978 979 1020 +f 979 1020 1021 +f 979 980 1021 +f 980 1021 1022 +f 980 981 1022 +f 981 1022 1023 +f 981 982 1023 +f 982 1023 1024 +f 982 983 1024 +f 983 1024 1025 +f 983 984 1025 +f 985 1026 1027 +f 985 986 1027 +f 986 1027 1028 +f 986 987 1028 +f 987 1028 1029 +f 987 988 1029 +f 988 1029 1030 +f 988 989 1030 +f 989 1030 1031 +f 989 990 1031 +f 990 1031 1032 +f 990 991 1032 +f 991 1032 1033 +f 991 992 1033 +f 992 1033 1034 +f 992 993 1034 +f 993 1034 1035 +f 993 994 1035 +f 994 1035 1036 +f 994 995 1036 +f 995 1036 1037 +f 995 996 1037 +f 996 1037 1038 +f 996 997 1038 +f 997 1038 1039 +f 997 998 1039 +f 998 1039 1040 +f 998 999 1040 +f 999 1040 1041 +f 999 1000 1041 +f 1000 1041 1042 +f 1000 1001 1042 +f 1001 1042 1043 +f 1001 1002 1043 +f 1002 1043 1044 +f 1002 1003 1044 +f 1003 1044 1045 +f 1003 1004 1045 +f 1004 1045 1046 +f 1004 1005 1046 +f 1005 1046 1047 +f 1005 1006 1047 +f 1006 1047 1048 +f 1006 1007 1048 +f 1007 1048 1049 +f 1007 1008 1049 +f 1008 1049 1050 +f 1008 1009 1050 +f 1009 1050 1051 +f 1009 1010 1051 +f 1010 1051 1052 +f 1010 1011 1052 +f 1011 1052 1053 +f 1011 1012 1053 +f 1012 1053 1054 +f 1012 1013 1054 +f 1013 1054 1055 +f 1013 1014 1055 +f 1014 1055 1056 +f 1014 1015 1056 +f 1015 1056 1057 +f 1015 1016 1057 +f 1016 1057 1058 +f 1016 1017 1058 +f 1017 1058 1059 +f 1017 1018 1059 +f 1018 1059 1060 +f 1018 1019 1060 +f 1019 1060 1061 +f 1019 1020 1061 +f 1020 1061 1062 +f 1020 1021 1062 +f 1021 1062 1063 +f 1021 1022 1063 +f 1022 1063 1064 +f 1022 1023 1064 +f 1023 1064 1065 +f 1023 1024 1065 +f 1024 1065 1066 +f 1024 1025 1066 +f 1026 1067 1068 +f 1026 1027 1068 +f 1027 1068 1069 +f 1027 1028 1069 +f 1028 1069 1070 +f 1028 1029 1070 +f 1029 1070 1071 +f 1029 1030 1071 +f 1030 1071 1072 +f 1030 1031 1072 +f 1031 1072 1073 +f 1031 1032 1073 +f 1032 1073 1074 +f 1032 1033 1074 +f 1033 1074 1075 +f 1033 1034 1075 +f 1034 1075 1076 +f 1034 1035 1076 +f 1035 1076 1077 +f 1035 1036 1077 +f 1036 1077 1078 +f 1036 1037 1078 +f 1037 1078 1079 +f 1037 1038 1079 +f 1038 1079 1080 +f 1038 1039 1080 +f 1039 1080 1081 +f 1039 1040 1081 +f 1040 1081 1082 +f 1040 1041 1082 +f 1041 1082 1083 +f 1041 1042 1083 +f 1042 1083 1084 +f 1042 1043 1084 +f 1043 1084 1085 +f 1043 1044 1085 +f 1044 1085 1086 +f 1044 1045 1086 +f 1045 1086 1087 +f 1045 1046 1087 +f 1046 1087 1088 +f 1046 1047 1088 +f 1047 1088 1089 +f 1047 1048 1089 +f 1048 1089 1090 +f 1048 1049 1090 +f 1049 1090 1091 +f 1049 1050 1091 +f 1050 1091 1092 +f 1050 1051 1092 +f 1051 1092 1093 +f 1051 1052 1093 +f 1052 1093 1094 +f 1052 1053 1094 +f 1053 1094 1095 +f 1053 1054 1095 +f 1054 1095 1096 +f 1054 1055 1096 +f 1055 1096 1097 +f 1055 1056 1097 +f 1056 1097 1098 +f 1056 1057 1098 +f 1057 1098 1099 +f 1057 1058 1099 +f 1058 1099 1100 +f 1058 1059 1100 +f 1059 1100 1101 +f 1059 1060 1101 +f 1060 1101 1102 +f 1060 1061 1102 +f 1061 1102 1103 +f 1061 1062 1103 +f 1062 1103 1104 +f 1062 1063 1104 +f 1063 1104 1105 +f 1063 1064 1105 +f 1064 1105 1106 +f 1064 1065 1106 +f 1065 1106 1107 +f 1065 1066 1107 +f 1067 1108 1109 +f 1067 1068 1109 +f 1068 1109 1110 +f 1068 1069 1110 +f 1069 1110 1111 +f 1069 1070 1111 +f 1070 1111 1112 +f 1070 1071 1112 +f 1071 1112 1113 +f 1071 1072 1113 +f 1072 1113 1114 +f 1072 1073 1114 +f 1073 1114 1115 +f 1073 1074 1115 +f 1074 1115 1116 +f 1074 1075 1116 +f 1075 1116 1117 +f 1075 1076 1117 +f 1076 1117 1118 +f 1076 1077 1118 +f 1077 1118 1119 +f 1077 1078 1119 +f 1078 1119 1120 +f 1078 1079 1120 +f 1079 1120 1121 +f 1079 1080 1121 +f 1080 1121 1122 +f 1080 1081 1122 +f 1081 1122 1123 +f 1081 1082 1123 +f 1082 1123 1124 +f 1082 1083 1124 +f 1083 1124 1125 +f 1083 1084 1125 +f 1084 1125 1126 +f 1084 1085 1126 +f 1085 1126 1127 +f 1085 1086 1127 +f 1086 1127 1128 +f 1086 1087 1128 +f 1087 1128 1129 +f 1087 1088 1129 +f 1088 1129 1130 +f 1088 1089 1130 +f 1089 1130 1131 +f 1089 1090 1131 +f 1090 1131 1132 +f 1090 1091 1132 +f 1091 1132 1133 +f 1091 1092 1133 +f 1092 1133 1134 +f 1092 1093 1134 +f 1093 1134 1135 +f 1093 1094 1135 +f 1094 1135 1136 +f 1094 1095 1136 +f 1095 1136 1137 +f 1095 1096 1137 +f 1096 1137 1138 +f 1096 1097 1138 +f 1097 1138 1139 +f 1097 1098 1139 +f 1098 1139 1140 +f 1098 1099 1140 +f 1099 1140 1141 +f 1099 1100 1141 +f 1100 1141 1142 +f 1100 1101 1142 +f 1101 1142 1143 +f 1101 1102 1143 +f 1102 1143 1144 +f 1102 1103 1144 +f 1103 1144 1145 +f 1103 1104 1145 +f 1104 1145 1146 +f 1104 1105 1146 +f 1105 1146 1147 +f 1105 1106 1147 +f 1106 1147 1148 +f 1106 1107 1148 +f 1108 1149 1150 +f 1108 1109 1150 +f 1109 1150 1151 +f 1109 1110 1151 +f 1110 1151 1152 +f 1110 1111 1152 +f 1111 1152 1153 +f 1111 1112 1153 +f 1112 1153 1154 +f 1112 1113 1154 +f 1113 1154 1155 +f 1113 1114 1155 +f 1114 1155 1156 +f 1114 1115 1156 +f 1115 1156 1157 +f 1115 1116 1157 +f 1116 1157 1158 +f 1116 1117 1158 +f 1117 1158 1159 +f 1117 1118 1159 +f 1118 1159 1160 +f 1118 1119 1160 +f 1119 1160 1161 +f 1119 1120 1161 +f 1120 1161 1162 +f 1120 1121 1162 +f 1121 1162 1163 +f 1121 1122 1163 +f 1122 1163 1164 +f 1122 1123 1164 +f 1123 1164 1165 +f 1123 1124 1165 +f 1124 1165 1166 +f 1124 1125 1166 +f 1125 1166 1167 +f 1125 1126 1167 +f 1126 1167 1168 +f 1126 1127 1168 +f 1127 1168 1169 +f 1127 1128 1169 +f 1128 1169 1170 +f 1128 1129 1170 +f 1129 1170 1171 +f 1129 1130 1171 +f 1130 1171 1172 +f 1130 1131 1172 +f 1131 1172 1173 +f 1131 1132 1173 +f 1132 1173 1174 +f 1132 1133 1174 +f 1133 1174 1175 +f 1133 1134 1175 +f 1134 1175 1176 +f 1134 1135 1176 +f 1135 1176 1177 +f 1135 1136 1177 +f 1136 1177 1178 +f 1136 1137 1178 +f 1137 1178 1179 +f 1137 1138 1179 +f 1138 1179 1180 +f 1138 1139 1180 +f 1139 1180 1181 +f 1139 1140 1181 +f 1140 1181 1182 +f 1140 1141 1182 +f 1141 1182 1183 +f 1141 1142 1183 +f 1142 1183 1184 +f 1142 1143 1184 +f 1143 1184 1185 +f 1143 1144 1185 +f 1144 1185 1186 +f 1144 1145 1186 +f 1145 1186 1187 +f 1145 1146 1187 +f 1146 1187 1188 +f 1146 1147 1188 +f 1147 1188 1189 +f 1147 1148 1189 +f 1149 1190 1191 +f 1149 1150 1191 +f 1150 1191 1192 +f 1150 1151 1192 +f 1151 1192 1193 +f 1151 1152 1193 +f 1152 1193 1194 +f 1152 1153 1194 +f 1153 1194 1195 +f 1153 1154 1195 +f 1154 1195 1196 +f 1154 1155 1196 +f 1155 1196 1197 +f 1155 1156 1197 +f 1156 1197 1198 +f 1156 1157 1198 +f 1157 1198 1199 +f 1157 1158 1199 +f 1158 1199 1200 +f 1158 1159 1200 +f 1159 1200 1201 +f 1159 1160 1201 +f 1160 1201 1202 +f 1160 1161 1202 +f 1161 1202 1203 +f 1161 1162 1203 +f 1162 1203 1204 +f 1162 1163 1204 +f 1163 1204 1205 +f 1163 1164 1205 +f 1164 1205 1206 +f 1164 1165 1206 +f 1165 1206 1207 +f 1165 1166 1207 +f 1166 1207 1208 +f 1166 1167 1208 +f 1167 1208 1209 +f 1167 1168 1209 +f 1168 1209 1210 +f 1168 1169 1210 +f 1169 1210 1211 +f 1169 1170 1211 +f 1170 1211 1212 +f 1170 1171 1212 +f 1171 1212 1213 +f 1171 1172 1213 +f 1172 1213 1214 +f 1172 1173 1214 +f 1173 1214 1215 +f 1173 1174 1215 +f 1174 1215 1216 +f 1174 1175 1216 +f 1175 1216 1217 +f 1175 1176 1217 +f 1176 1217 1218 +f 1176 1177 1218 +f 1177 1218 1219 +f 1177 1178 1219 +f 1178 1219 1220 +f 1178 1179 1220 +f 1179 1220 1221 +f 1179 1180 1221 +f 1180 1221 1222 +f 1180 1181 1222 +f 1181 1222 1223 +f 1181 1182 1223 +f 1182 1223 1224 +f 1182 1183 1224 +f 1183 1224 1225 +f 1183 1184 1225 +f 1184 1225 1226 +f 1184 1185 1226 +f 1185 1226 1227 +f 1185 1186 1227 +f 1186 1227 1228 +f 1186 1187 1228 +f 1187 1228 1229 +f 1187 1188 1229 +f 1188 1229 1230 +f 1188 1189 1230 +f 1190 1231 1232 +f 1190 1191 1232 +f 1191 1232 1233 +f 1191 1192 1233 +f 1192 1233 1234 +f 1192 1193 1234 +f 1193 1234 1235 +f 1193 1194 1235 +f 1194 1235 1236 +f 1194 1195 1236 +f 1195 1236 1237 +f 1195 1196 1237 +f 1196 1237 1238 +f 1196 1197 1238 +f 1197 1238 1239 +f 1197 1198 1239 +f 1198 1239 1240 +f 1198 1199 1240 +f 1199 1240 1241 +f 1199 1200 1241 +f 1200 1241 1242 +f 1200 1201 1242 +f 1201 1242 1243 +f 1201 1202 1243 +f 1202 1243 1244 +f 1202 1203 1244 +f 1203 1244 1245 +f 1203 1204 1245 +f 1204 1245 1246 +f 1204 1205 1246 +f 1205 1246 1247 +f 1205 1206 1247 +f 1206 1247 1248 +f 1206 1207 1248 +f 1207 1248 1249 +f 1207 1208 1249 +f 1208 1249 1250 +f 1208 1209 1250 +f 1209 1250 1251 +f 1209 1210 1251 +f 1210 1251 1252 +f 1210 1211 1252 +f 1211 1252 1253 +f 1211 1212 1253 +f 1212 1253 1254 +f 1212 1213 1254 +f 1213 1254 1255 +f 1213 1214 1255 +f 1214 1255 1256 +f 1214 1215 1256 +f 1215 1256 1257 +f 1215 1216 1257 +f 1216 1257 1258 +f 1216 1217 1258 +f 1217 1258 1259 +f 1217 1218 1259 +f 1218 1259 1260 +f 1218 1219 1260 +f 1219 1260 1261 +f 1219 1220 1261 +f 1220 1261 1262 +f 1220 1221 1262 +f 1221 1262 1263 +f 1221 1222 1263 +f 1222 1263 1264 +f 1222 1223 1264 +f 1223 1264 1265 +f 1223 1224 1265 +f 1224 1265 1266 +f 1224 1225 1266 +f 1225 1266 1267 +f 1225 1226 1267 +f 1226 1267 1268 +f 1226 1227 1268 +f 1227 1268 1269 +f 1227 1228 1269 +f 1228 1269 1270 +f 1228 1229 1270 +f 1229 1270 1271 +f 1229 1230 1271 +f 1231 1272 1273 +f 1231 1232 1273 +f 1232 1273 1274 +f 1232 1233 1274 +f 1233 1274 1275 +f 1233 1234 1275 +f 1234 1275 1276 +f 1234 1235 1276 +f 1235 1276 1277 +f 1235 1236 1277 +f 1236 1277 1278 +f 1236 1237 1278 +f 1237 1278 1279 +f 1237 1238 1279 +f 1238 1279 1280 +f 1238 1239 1280 +f 1239 1280 1281 +f 1239 1240 1281 +f 1240 1281 1282 +f 1240 1241 1282 +f 1241 1282 1283 +f 1241 1242 1283 +f 1242 1283 1284 +f 1242 1243 1284 +f 1243 1284 1285 +f 1243 1244 1285 +f 1244 1285 1286 +f 1244 1245 1286 +f 1245 1286 1287 +f 1245 1246 1287 +f 1246 1287 1288 +f 1246 1247 1288 +f 1247 1288 1289 +f 1247 1248 1289 +f 1248 1289 1290 +f 1248 1249 1290 +f 1249 1290 1291 +f 1249 1250 1291 +f 1250 1291 1292 +f 1250 1251 1292 +f 1251 1292 1293 +f 1251 1252 1293 +f 1252 1293 1294 +f 1252 1253 1294 +f 1253 1294 1295 +f 1253 1254 1295 +f 1254 1295 1296 +f 1254 1255 1296 +f 1255 1296 1297 +f 1255 1256 1297 +f 1256 1297 1298 +f 1256 1257 1298 +f 1257 1298 1299 +f 1257 1258 1299 +f 1258 1299 1300 +f 1258 1259 1300 +f 1259 1300 1301 +f 1259 1260 1301 +f 1260 1301 1302 +f 1260 1261 1302 +f 1261 1302 1303 +f 1261 1262 1303 +f 1262 1303 1304 +f 1262 1263 1304 +f 1263 1304 1305 +f 1263 1264 1305 +f 1264 1305 1306 +f 1264 1265 1306 +f 1265 1306 1307 +f 1265 1266 1307 +f 1266 1307 1308 +f 1266 1267 1308 +f 1267 1308 1309 +f 1267 1268 1309 +f 1268 1309 1310 +f 1268 1269 1310 +f 1269 1310 1311 +f 1269 1270 1311 +f 1270 1311 1312 +f 1270 1271 1312 +f 1272 1313 1314 +f 1272 1273 1314 +f 1273 1314 1315 +f 1273 1274 1315 +f 1274 1315 1316 +f 1274 1275 1316 +f 1275 1316 1317 +f 1275 1276 1317 +f 1276 1317 1318 +f 1276 1277 1318 +f 1277 1318 1319 +f 1277 1278 1319 +f 1278 1319 1320 +f 1278 1279 1320 +f 1279 1320 1321 +f 1279 1280 1321 +f 1280 1321 1322 +f 1280 1281 1322 +f 1281 1322 1323 +f 1281 1282 1323 +f 1282 1323 1324 +f 1282 1283 1324 +f 1283 1324 1325 +f 1283 1284 1325 +f 1284 1325 1326 +f 1284 1285 1326 +f 1285 1326 1327 +f 1285 1286 1327 +f 1286 1327 1328 +f 1286 1287 1328 +f 1287 1328 1329 +f 1287 1288 1329 +f 1288 1329 1330 +f 1288 1289 1330 +f 1289 1330 1331 +f 1289 1290 1331 +f 1290 1331 1332 +f 1290 1291 1332 +f 1291 1332 1333 +f 1291 1292 1333 +f 1292 1333 1334 +f 1292 1293 1334 +f 1293 1334 1335 +f 1293 1294 1335 +f 1294 1335 1336 +f 1294 1295 1336 +f 1295 1336 1337 +f 1295 1296 1337 +f 1296 1337 1338 +f 1296 1297 1338 +f 1297 1338 1339 +f 1297 1298 1339 +f 1298 1339 1340 +f 1298 1299 1340 +f 1299 1340 1341 +f 1299 1300 1341 +f 1300 1341 1342 +f 1300 1301 1342 +f 1301 1342 1343 +f 1301 1302 1343 +f 1302 1343 1344 +f 1302 1303 1344 +f 1303 1344 1345 +f 1303 1304 1345 +f 1304 1345 1346 +f 1304 1305 1346 +f 1305 1346 1347 +f 1305 1306 1347 +f 1306 1347 1348 +f 1306 1307 1348 +f 1307 1348 1349 +f 1307 1308 1349 +f 1308 1349 1350 +f 1308 1309 1350 +f 1309 1350 1351 +f 1309 1310 1351 +f 1310 1351 1352 +f 1310 1311 1352 +f 1311 1352 1353 +f 1311 1312 1353 +f 1313 1354 1355 +f 1313 1314 1355 +f 1314 1355 1356 +f 1314 1315 1356 +f 1315 1356 1357 +f 1315 1316 1357 +f 1316 1357 1358 +f 1316 1317 1358 +f 1317 1358 1359 +f 1317 1318 1359 +f 1318 1359 1360 +f 1318 1319 1360 +f 1319 1360 1361 +f 1319 1320 1361 +f 1320 1361 1362 +f 1320 1321 1362 +f 1321 1362 1363 +f 1321 1322 1363 +f 1322 1363 1364 +f 1322 1323 1364 +f 1323 1364 1365 +f 1323 1324 1365 +f 1324 1365 1366 +f 1324 1325 1366 +f 1325 1366 1367 +f 1325 1326 1367 +f 1326 1367 1368 +f 1326 1327 1368 +f 1327 1368 1369 +f 1327 1328 1369 +f 1328 1369 1370 +f 1328 1329 1370 +f 1329 1370 1371 +f 1329 1330 1371 +f 1330 1371 1372 +f 1330 1331 1372 +f 1331 1372 1373 +f 1331 1332 1373 +f 1332 1373 1374 +f 1332 1333 1374 +f 1333 1374 1375 +f 1333 1334 1375 +f 1334 1375 1376 +f 1334 1335 1376 +f 1335 1376 1377 +f 1335 1336 1377 +f 1336 1377 1378 +f 1336 1337 1378 +f 1337 1378 1379 +f 1337 1338 1379 +f 1338 1379 1380 +f 1338 1339 1380 +f 1339 1380 1381 +f 1339 1340 1381 +f 1340 1381 1382 +f 1340 1341 1382 +f 1341 1382 1383 +f 1341 1342 1383 +f 1342 1383 1384 +f 1342 1343 1384 +f 1343 1384 1385 +f 1343 1344 1385 +f 1344 1385 1386 +f 1344 1345 1386 +f 1345 1386 1387 +f 1345 1346 1387 +f 1346 1387 1388 +f 1346 1347 1388 +f 1347 1388 1389 +f 1347 1348 1389 +f 1348 1389 1390 +f 1348 1349 1390 +f 1349 1390 1391 +f 1349 1350 1391 +f 1350 1391 1392 +f 1350 1351 1392 +f 1351 1392 1393 +f 1351 1352 1393 +f 1352 1393 1394 +f 1352 1353 1394 +f 1354 1395 1396 +f 1354 1355 1396 +f 1355 1396 1397 +f 1355 1356 1397 +f 1356 1397 1398 +f 1356 1357 1398 +f 1357 1398 1399 +f 1357 1358 1399 +f 1358 1399 1400 +f 1358 1359 1400 +f 1359 1400 1401 +f 1359 1360 1401 +f 1360 1401 1402 +f 1360 1361 1402 +f 1361 1402 1403 +f 1361 1362 1403 +f 1362 1403 1404 +f 1362 1363 1404 +f 1363 1404 1405 +f 1363 1364 1405 +f 1364 1405 1406 +f 1364 1365 1406 +f 1365 1406 1407 +f 1365 1366 1407 +f 1366 1407 1408 +f 1366 1367 1408 +f 1367 1408 1409 +f 1367 1368 1409 +f 1368 1409 1410 +f 1368 1369 1410 +f 1369 1410 1411 +f 1369 1370 1411 +f 1370 1411 1412 +f 1370 1371 1412 +f 1371 1412 1413 +f 1371 1372 1413 +f 1372 1413 1414 +f 1372 1373 1414 +f 1373 1414 1415 +f 1373 1374 1415 +f 1374 1415 1416 +f 1374 1375 1416 +f 1375 1416 1417 +f 1375 1376 1417 +f 1376 1417 1418 +f 1376 1377 1418 +f 1377 1418 1419 +f 1377 1378 1419 +f 1378 1419 1420 +f 1378 1379 1420 +f 1379 1420 1421 +f 1379 1380 1421 +f 1380 1421 1422 +f 1380 1381 1422 +f 1381 1422 1423 +f 1381 1382 1423 +f 1382 1423 1424 +f 1382 1383 1424 +f 1383 1424 1425 +f 1383 1384 1425 +f 1384 1425 1426 +f 1384 1385 1426 +f 1385 1426 1427 +f 1385 1386 1427 +f 1386 1427 1428 +f 1386 1387 1428 +f 1387 1428 1429 +f 1387 1388 1429 +f 1388 1429 1430 +f 1388 1389 1430 +f 1389 1430 1431 +f 1389 1390 1431 +f 1390 1431 1432 +f 1390 1391 1432 +f 1391 1432 1433 +f 1391 1392 1433 +f 1392 1433 1434 +f 1392 1393 1434 +f 1393 1434 1435 +f 1393 1394 1435 +f 1395 1436 1437 +f 1395 1396 1437 +f 1396 1437 1438 +f 1396 1397 1438 +f 1397 1438 1439 +f 1397 1398 1439 +f 1398 1439 1440 +f 1398 1399 1440 +f 1399 1440 1441 +f 1399 1400 1441 +f 1400 1441 1442 +f 1400 1401 1442 +f 1401 1442 1443 +f 1401 1402 1443 +f 1402 1443 1444 +f 1402 1403 1444 +f 1403 1444 1445 +f 1403 1404 1445 +f 1404 1445 1446 +f 1404 1405 1446 +f 1405 1446 1447 +f 1405 1406 1447 +f 1406 1447 1448 +f 1406 1407 1448 +f 1407 1448 1449 +f 1407 1408 1449 +f 1408 1449 1450 +f 1408 1409 1450 +f 1409 1450 1451 +f 1409 1410 1451 +f 1410 1451 1452 +f 1410 1411 1452 +f 1411 1452 1453 +f 1411 1412 1453 +f 1412 1453 1454 +f 1412 1413 1454 +f 1413 1454 1455 +f 1413 1414 1455 +f 1414 1455 1456 +f 1414 1415 1456 +f 1415 1456 1457 +f 1415 1416 1457 +f 1416 1457 1458 +f 1416 1417 1458 +f 1417 1458 1459 +f 1417 1418 1459 +f 1418 1459 1460 +f 1418 1419 1460 +f 1419 1460 1461 +f 1419 1420 1461 +f 1420 1461 1462 +f 1420 1421 1462 +f 1421 1462 1463 +f 1421 1422 1463 +f 1422 1463 1464 +f 1422 1423 1464 +f 1423 1464 1465 +f 1423 1424 1465 +f 1424 1465 1466 +f 1424 1425 1466 +f 1425 1466 1467 +f 1425 1426 1467 +f 1426 1467 1468 +f 1426 1427 1468 +f 1427 1468 1469 +f 1427 1428 1469 +f 1428 1469 1470 +f 1428 1429 1470 +f 1429 1470 1471 +f 1429 1430 1471 +f 1430 1471 1472 +f 1430 1431 1472 +f 1431 1472 1473 +f 1431 1432 1473 +f 1432 1473 1474 +f 1432 1433 1474 +f 1433 1474 1475 +f 1433 1434 1475 +f 1434 1475 1476 +f 1434 1435 1476 +f 1436 1477 1478 +f 1436 1437 1478 +f 1437 1478 1479 +f 1437 1438 1479 +f 1438 1479 1480 +f 1438 1439 1480 +f 1439 1480 1481 +f 1439 1440 1481 +f 1440 1481 1482 +f 1440 1441 1482 +f 1441 1482 1483 +f 1441 1442 1483 +f 1442 1483 1484 +f 1442 1443 1484 +f 1443 1484 1485 +f 1443 1444 1485 +f 1444 1485 1486 +f 1444 1445 1486 +f 1445 1486 1487 +f 1445 1446 1487 +f 1446 1487 1488 +f 1446 1447 1488 +f 1447 1488 1489 +f 1447 1448 1489 +f 1448 1489 1490 +f 1448 1449 1490 +f 1449 1490 1491 +f 1449 1450 1491 +f 1450 1491 1492 +f 1450 1451 1492 +f 1451 1492 1493 +f 1451 1452 1493 +f 1452 1493 1494 +f 1452 1453 1494 +f 1453 1494 1495 +f 1453 1454 1495 +f 1454 1495 1496 +f 1454 1455 1496 +f 1455 1496 1497 +f 1455 1456 1497 +f 1456 1497 1498 +f 1456 1457 1498 +f 1457 1498 1499 +f 1457 1458 1499 +f 1458 1499 1500 +f 1458 1459 1500 +f 1459 1500 1501 +f 1459 1460 1501 +f 1460 1501 1502 +f 1460 1461 1502 +f 1461 1502 1503 +f 1461 1462 1503 +f 1462 1503 1504 +f 1462 1463 1504 +f 1463 1504 1505 +f 1463 1464 1505 +f 1464 1505 1506 +f 1464 1465 1506 +f 1465 1506 1507 +f 1465 1466 1507 +f 1466 1507 1508 +f 1466 1467 1508 +f 1467 1508 1509 +f 1467 1468 1509 +f 1468 1509 1510 +f 1468 1469 1510 +f 1469 1510 1511 +f 1469 1470 1511 +f 1470 1511 1512 +f 1470 1471 1512 +f 1471 1512 1513 +f 1471 1472 1513 +f 1472 1513 1514 +f 1472 1473 1514 +f 1473 1514 1515 +f 1473 1474 1515 +f 1474 1515 1516 +f 1474 1475 1516 +f 1475 1516 1517 +f 1475 1476 1517 +f 1477 1518 1519 +f 1477 1478 1519 +f 1478 1519 1520 +f 1478 1479 1520 +f 1479 1520 1521 +f 1479 1480 1521 +f 1480 1521 1522 +f 1480 1481 1522 +f 1481 1522 1523 +f 1481 1482 1523 +f 1482 1523 1524 +f 1482 1483 1524 +f 1483 1524 1525 +f 1483 1484 1525 +f 1484 1525 1526 +f 1484 1485 1526 +f 1485 1526 1527 +f 1485 1486 1527 +f 1486 1527 1528 +f 1486 1487 1528 +f 1487 1528 1529 +f 1487 1488 1529 +f 1488 1529 1530 +f 1488 1489 1530 +f 1489 1530 1531 +f 1489 1490 1531 +f 1490 1531 1532 +f 1490 1491 1532 +f 1491 1532 1533 +f 1491 1492 1533 +f 1492 1533 1534 +f 1492 1493 1534 +f 1493 1534 1535 +f 1493 1494 1535 +f 1494 1535 1536 +f 1494 1495 1536 +f 1495 1536 1537 +f 1495 1496 1537 +f 1496 1537 1538 +f 1496 1497 1538 +f 1497 1538 1539 +f 1497 1498 1539 +f 1498 1539 1540 +f 1498 1499 1540 +f 1499 1540 1541 +f 1499 1500 1541 +f 1500 1541 1542 +f 1500 1501 1542 +f 1501 1542 1543 +f 1501 1502 1543 +f 1502 1543 1544 +f 1502 1503 1544 +f 1503 1544 1545 +f 1503 1504 1545 +f 1504 1545 1546 +f 1504 1505 1546 +f 1505 1546 1547 +f 1505 1506 1547 +f 1506 1547 1548 +f 1506 1507 1548 +f 1507 1548 1549 +f 1507 1508 1549 +f 1508 1549 1550 +f 1508 1509 1550 +f 1509 1550 1551 +f 1509 1510 1551 +f 1510 1551 1552 +f 1510 1511 1552 +f 1511 1552 1553 +f 1511 1512 1553 +f 1512 1553 1554 +f 1512 1513 1554 +f 1513 1554 1555 +f 1513 1514 1555 +f 1514 1555 1556 +f 1514 1515 1556 +f 1515 1556 1557 +f 1515 1516 1557 +f 1516 1557 1558 +f 1516 1517 1558 +f 1518 1559 1560 +f 1518 1519 1560 +f 1519 1560 1561 +f 1519 1520 1561 +f 1520 1561 1562 +f 1520 1521 1562 +f 1521 1562 1563 +f 1521 1522 1563 +f 1522 1563 1564 +f 1522 1523 1564 +f 1523 1564 1565 +f 1523 1524 1565 +f 1524 1565 1566 +f 1524 1525 1566 +f 1525 1566 1567 +f 1525 1526 1567 +f 1526 1567 1568 +f 1526 1527 1568 +f 1527 1568 1569 +f 1527 1528 1569 +f 1528 1569 1570 +f 1528 1529 1570 +f 1529 1570 1571 +f 1529 1530 1571 +f 1530 1571 1572 +f 1530 1531 1572 +f 1531 1572 1573 +f 1531 1532 1573 +f 1532 1573 1574 +f 1532 1533 1574 +f 1533 1574 1575 +f 1533 1534 1575 +f 1534 1575 1576 +f 1534 1535 1576 +f 1535 1576 1577 +f 1535 1536 1577 +f 1536 1577 1578 +f 1536 1537 1578 +f 1537 1578 1579 +f 1537 1538 1579 +f 1538 1579 1580 +f 1538 1539 1580 +f 1539 1580 1581 +f 1539 1540 1581 +f 1540 1581 1582 +f 1540 1541 1582 +f 1541 1582 1583 +f 1541 1542 1583 +f 1542 1583 1584 +f 1542 1543 1584 +f 1543 1584 1585 +f 1543 1544 1585 +f 1544 1585 1586 +f 1544 1545 1586 +f 1545 1586 1587 +f 1545 1546 1587 +f 1546 1587 1588 +f 1546 1547 1588 +f 1547 1588 1589 +f 1547 1548 1589 +f 1548 1589 1590 +f 1548 1549 1590 +f 1549 1590 1591 +f 1549 1550 1591 +f 1550 1591 1592 +f 1550 1551 1592 +f 1551 1592 1593 +f 1551 1552 1593 +f 1552 1593 1594 +f 1552 1553 1594 +f 1553 1594 1595 +f 1553 1554 1595 +f 1554 1595 1596 +f 1554 1555 1596 +f 1555 1596 1597 +f 1555 1556 1597 +f 1556 1597 1598 +f 1556 1557 1598 +f 1557 1598 1599 +f 1557 1558 1599 +f 1559 1600 1601 +f 1559 1560 1601 +f 1560 1601 1602 +f 1560 1561 1602 +f 1561 1602 1603 +f 1561 1562 1603 +f 1562 1603 1604 +f 1562 1563 1604 +f 1563 1604 1605 +f 1563 1564 1605 +f 1564 1605 1606 +f 1564 1565 1606 +f 1565 1606 1607 +f 1565 1566 1607 +f 1566 1607 1608 +f 1566 1567 1608 +f 1567 1608 1609 +f 1567 1568 1609 +f 1568 1609 1610 +f 1568 1569 1610 +f 1569 1610 1611 +f 1569 1570 1611 +f 1570 1611 1612 +f 1570 1571 1612 +f 1571 1612 1613 +f 1571 1572 1613 +f 1572 1613 1614 +f 1572 1573 1614 +f 1573 1614 1615 +f 1573 1574 1615 +f 1574 1615 1616 +f 1574 1575 1616 +f 1575 1616 1617 +f 1575 1576 1617 +f 1576 1617 1618 +f 1576 1577 1618 +f 1577 1618 1619 +f 1577 1578 1619 +f 1578 1619 1620 +f 1578 1579 1620 +f 1579 1620 1621 +f 1579 1580 1621 +f 1580 1621 1622 +f 1580 1581 1622 +f 1581 1622 1623 +f 1581 1582 1623 +f 1582 1623 1624 +f 1582 1583 1624 +f 1583 1624 1625 +f 1583 1584 1625 +f 1584 1625 1626 +f 1584 1585 1626 +f 1585 1626 1627 +f 1585 1586 1627 +f 1586 1627 1628 +f 1586 1587 1628 +f 1587 1628 1629 +f 1587 1588 1629 +f 1588 1629 1630 +f 1588 1589 1630 +f 1589 1630 1631 +f 1589 1590 1631 +f 1590 1631 1632 +f 1590 1591 1632 +f 1591 1632 1633 +f 1591 1592 1633 +f 1592 1633 1634 +f 1592 1593 1634 +f 1593 1634 1635 +f 1593 1594 1635 +f 1594 1635 1636 +f 1594 1595 1636 +f 1595 1636 1637 +f 1595 1596 1637 +f 1596 1637 1638 +f 1596 1597 1638 +f 1597 1638 1639 +f 1597 1598 1639 +f 1598 1639 1640 +f 1598 1599 1640 +f 1600 1641 1642 +f 1600 1601 1642 +f 1601 1642 1643 +f 1601 1602 1643 +f 1602 1643 1644 +f 1602 1603 1644 +f 1603 1644 1645 +f 1603 1604 1645 +f 1604 1645 1646 +f 1604 1605 1646 +f 1605 1646 1647 +f 1605 1606 1647 +f 1606 1647 1648 +f 1606 1607 1648 +f 1607 1648 1649 +f 1607 1608 1649 +f 1608 1649 1650 +f 1608 1609 1650 +f 1609 1650 1651 +f 1609 1610 1651 +f 1610 1651 1652 +f 1610 1611 1652 +f 1611 1652 1653 +f 1611 1612 1653 +f 1612 1653 1654 +f 1612 1613 1654 +f 1613 1654 1655 +f 1613 1614 1655 +f 1614 1655 1656 +f 1614 1615 1656 +f 1615 1656 1657 +f 1615 1616 1657 +f 1616 1657 1658 +f 1616 1617 1658 +f 1617 1658 1659 +f 1617 1618 1659 +f 1618 1659 1660 +f 1618 1619 1660 +f 1619 1660 1661 +f 1619 1620 1661 +f 1620 1661 1662 +f 1620 1621 1662 +f 1621 1662 1663 +f 1621 1622 1663 +f 1622 1663 1664 +f 1622 1623 1664 +f 1623 1664 1665 +f 1623 1624 1665 +f 1624 1665 1666 +f 1624 1625 1666 +f 1625 1666 1667 +f 1625 1626 1667 +f 1626 1667 1668 +f 1626 1627 1668 +f 1627 1668 1669 +f 1627 1628 1669 +f 1628 1669 1670 +f 1628 1629 1670 +f 1629 1670 1671 +f 1629 1630 1671 +f 1630 1671 1672 +f 1630 1631 1672 +f 1631 1672 1673 +f 1631 1632 1673 +f 1632 1673 1674 +f 1632 1633 1674 +f 1633 1674 1675 +f 1633 1634 1675 +f 1634 1675 1676 +f 1634 1635 1676 +f 1635 1676 1677 +f 1635 1636 1677 +f 1636 1677 1678 +f 1636 1637 1678 +f 1637 1678 1679 +f 1637 1638 1679 +f 1638 1679 1680 +f 1638 1639 1680 +f 1639 1680 1681 +f 1639 1640 1681 diff --git a/scenes/scene_box.xml b/scenes/scene_box.xml new file mode 100644 index 00000000..42fe622b --- /dev/null +++ b/scenes/scene_box.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/scenes/scene_plane.xml b/scenes/scene_plane.xml new file mode 100644 index 00000000..ad3839f9 --- /dev/null +++ b/scenes/scene_plane.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/scenes/scene_sphere.xml b/scenes/scene_sphere.xml new file mode 100644 index 00000000..c6311f78 --- /dev/null +++ b/scenes/scene_sphere.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/engine/Entity.cpp b/src/engine/Entity.cpp new file mode 100644 index 00000000..6db10e76 --- /dev/null +++ b/src/engine/Entity.cpp @@ -0,0 +1,32 @@ +/// Copyright 2025 Ana Oliveira, Humberto Gomes, Mariana Rocha, Sara Lopes +/// +/// Licensed under the Apache License, Version 2.0 (the "License"); +/// you may not use this file except in compliance with the License. +/// You may obtain a copy of the License at +/// +/// http://www.apache.org/licenses/LICENSE-2.0 +/// +/// Unless required by applicable law or agreed to in writing, software +/// distributed under the License is distributed on an "AS IS" BASIS, +/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +/// See the License for the specific language governing permissions and +/// limitations under the License. + +#include "engine/Entity.hpp" + +#include "engine/Model.hpp" + +namespace engine { +Entity::Entity(std::unique_ptr argModel, const glm::vec4 &argColor) { + this->model = std::move(argModel); + this->color = argColor; +} + +void Entity::draw(const RenderPipeline &pipeline) const { + pipeline.setColor(color); + if (model) { + model->draw(); + } +} + +} diff --git a/src/engine/Scene.cpp b/src/engine/Scene.cpp new file mode 100644 index 00000000..3bab709e --- /dev/null +++ b/src/engine/Scene.cpp @@ -0,0 +1,78 @@ +/// Copyright 2025 Ana Oliveira, Humberto Gomes, Mariana Rocha, Sara Lopes +/// +/// Licensed under the Apache License, Version 2.0 (the "License"); +/// you may not use this file except in compliance with the License. +/// You may obtain a copy of the License at +/// +/// http://www.apache.org/licenses/LICENSE-2.0 +/// +/// Unless required by applicable law or agreed to in writing, software +/// distributed under the License is distributed on an "AS IS" BASIS, +/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +/// See the License for the specific language governing permissions and +/// limitations under the License. + +#include "engine/Scene.hpp" + +#include "engine/Camera.hpp" +#include "engine/Entity.hpp" +#include "engine/RenderPipeline.hpp" + +namespace engine { + +Scene::Scene() : windowWidth(800), windowHeight(600), windowTitle("Scene"), camera(), entities() {} + +Scene::Scene(const int &argWindowWidth, + const int &argWindowHeight, + const std::string &argWindowTitle, + const Camera &argCamera, + std::vector> argEntities) : + windowWidth(argWindowWidth), + windowHeight(argWindowHeight), + windowTitle(argWindowTitle), + camera(argCamera), + entities(std::move(argEntities)) {} + +void Scene::addEntity(std::unique_ptr entity) { + entities.push_back(std::move(entity)); +} + +void Scene::draw(const RenderPipeline &pipeline) { + for (auto &entity : entities) { + entity->draw(pipeline); + } +} + +void Scene::updateCamera(float timeElapsed, const glm::vec3 &direction) { + const float cameraSpeed = 2.5f; + this->camera.move(direction * cameraSpeed, timeElapsed); +} + +glm::mat4 Scene::getCameraMatrix() const { + float aspectRatio = static_cast(windowWidth) / static_cast(windowHeight); + return camera.getCameraMatrix(aspectRatio); +} + +Scene::Scene(Scene &&other) noexcept : + windowWidth(other.windowWidth), + windowHeight(other.windowHeight), + windowTitle(std::move(other.windowTitle)), + camera(std::move(other.camera)), + entities(std::move(other.entities)) {} + +Scene &Scene::operator=(Scene &&other) noexcept { + if (this != &other) { + windowWidth = other.windowWidth; + windowHeight = other.windowHeight; + windowTitle = std::move(other.windowTitle); + camera = std::move(other.camera); + entities = std::move(other.entities); + } + return *this; +} +void Scene::setWindowSize(int width, int height) { + this->windowWidth = width; + this->windowHeight = height; +} + +} diff --git a/src/engine/SceneWindow.cpp b/src/engine/SceneWindow.cpp index e128166d..c46867be 100644 --- a/src/engine/SceneWindow.cpp +++ b/src/engine/SceneWindow.cpp @@ -18,26 +18,35 @@ #include "engine/SceneWindow.hpp" namespace engine { -SceneWindow::SceneWindow() : Window("CG 2024/25", 640, 480), pipeline(), translate() { +SceneWindow::SceneWindow() : Window("CG 2024/25", 640, 480), pipeline(), scene() { // Only do this once, as we have a single shader program // TODO - in the future, remove this, as this is just for testing - camera = Camera(glm::vec3(0.0f, 0.0f, 5.0f), + /*camera = Camera(glm::vec3(0.0f, 0.0f, 5.0f), glm::vec3(0.0f, 0.0f, 0.0f), glm::vec3(0.0f, 1.0f, 0.0f), 60.0f, 0.01f, - 1000.0f); + 1000.0f);*/ this->pipeline.use(); + // To remove when all of the figures are using the right-hand rule + // glFrontFace(GL_CCW); + // glEnable(GL_CULL_FACE); + // glCullFace(GL_BACK); + // TODO - in the future, remove this, as this is just for testing - const utils::WavefrontOBJ object("box.3d"); - this->model = std::make_unique(object); + /*const utils::WavefrontOBJ object("box.3d"); + this->model = std::make_unique(object);*/ glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); } +void SceneWindow::setScene(Scene &&newScene) { + this->scene = std::move(newScene); +} + void SceneWindow::onUpdate(float time, float timeElapsed) { GLFWwindow *const windowHandle = this->getHandle(); @@ -46,25 +55,29 @@ void SceneWindow::onUpdate(float time, float timeElapsed) { const int left = glfwGetKey(windowHandle, GLFW_KEY_A); const int right = glfwGetKey(windowHandle, GLFW_KEY_D); - const float cameraSpeed = 2.5f; + // const float cameraSpeed = 2.5f; const glm::vec3 direction((right - left), 0.0f, (down - up)); - camera.move(direction * cameraSpeed, timeElapsed); - // this->translate += direction; + // camera.move(direction * cameraSpeed, timeElapsed); + // this->translate += direction; + scene.updateCamera(timeElapsed, direction); } void SceneWindow::onRender() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClearColor(0.f, 0.f, 0.f, 1.f); - glm::mat4 cameraMatrix = camera.getCameraMatrix(static_cast(getWidth()) / getHeight()); + glm::mat4 cameraMatrix = scene.getCameraMatrix(); this->pipeline.setCameraMatrix(cameraMatrix); - this->pipeline.setColor(glm::vec4(1.0f, 0.0f, 0.0f, 1.0f)); - this->model->draw(); + // this->pipeline.setColor(glm::vec4(1.0f, 0.0f, 0.0f, 1.0f)); + // this->model->draw(); + this->scene.draw(this->pipeline); } void SceneWindow::onResize(int _width, int _height) { glViewport(0, 0, _width, _height); + + scene.setWindowSize(_width, _height); } } diff --git a/src/engine/main.cpp b/src/engine/main.cpp index 1ca37fc3..bffa47a3 100644 --- a/src/engine/main.cpp +++ b/src/engine/main.cpp @@ -12,12 +12,21 @@ /// See the License for the specific language governing permissions and /// limitations under the License. -#include "engine/SceneWindow.hpp" +#include +#include "engine/Scene.hpp" +#include "engine/SceneWindow.hpp" +#include "utils/Parse.hpp" namespace engine { int main(int argc, char **argv) { + if (argc == 1) { + std::cerr << "Usage: " << argv[0] << std::endl; + return 1; + } + SceneWindow window = SceneWindow(); + window.setScene(utils::configScene(argv[1])); window.runLoop(); return 0; } diff --git a/src/utils/Parse.cpp b/src/utils/Parse.cpp new file mode 100644 index 00000000..648dd6b4 --- /dev/null +++ b/src/utils/Parse.cpp @@ -0,0 +1,189 @@ +/// Copyright 2025 Ana Oliveira, Humberto Gomes, Mariana Rocha, Sara Lopes +/// +/// Licensed under the Apache License, Version 2.0 (the "License"); +/// you may not use this file except in compliance with the License. +/// You may obtain a copy of the License at +/// +/// http://www.apache.org/licenses/LICENSE-2.0 +/// +/// Unless required by applicable law or agreed to in writing, software +/// distributed under the License is distributed on an "AS IS" BASIS, +/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +/// See the License for the specific language governing permissions and +/// limitations under the License. + +#include +#include + +#include "engine/Scene.hpp" +#include "utils/Parse.hpp" + +namespace utils { + +engine::Scene configScene(const std::string &filename) { + if (filename.size() > 4 && filename.compare(filename.size() - 4, 4, ".xml") == 0) { + return parseSceneXML(filename); + } else if ((filename.size() > 3 && filename.compare(filename.size() - 3, 3, ".3d") == 0) || + (filename.size() > 4 && filename.compare(filename.size() - 4, 4, ".obj") == 0)) { + return parseSceneOBJ(filename); + } else { + throw std::runtime_error("Invalid file format"); + } +} + +engine::Scene parseSceneXML(const std::string &filename) { + engine::Scene scene; + std::vector> entities; + + tinyxml2::XMLDocument doc; + if (doc.LoadFile(filename.c_str()) != tinyxml2::XML_SUCCESS) { + throw std::runtime_error("Failed to load XML file"); + } + + tinyxml2::XMLElement *worldElement = doc.FirstChildElement("world"); + if (!worldElement) { + throw std::runtime_error(" element not found"); + } + + int width; + int height; + tinyxml2::XMLElement *windowElement = worldElement->FirstChildElement("window"); + if (windowElement) { + width = windowElement->IntAttribute("width", 800); + height = windowElement->IntAttribute("height", 600); + } + + glm::vec3 position(0.0f, 0.0f, 3.0f); + glm::vec3 lookAt(0.0f, 0.0f, 0.0f); + glm::vec3 up(0.0f, 1.0f, 0.0f); + float fov = 60.0; + float near = 1.0; + float far = 1000.0; + tinyxml2::XMLElement *cameraElement = worldElement->FirstChildElement("camera"); + if (cameraElement) { + tinyxml2::XMLElement *positionElement = cameraElement->FirstChildElement("position"); + if (positionElement) { + position = glm::vec3(positionElement->FloatAttribute("x", 0.0f), + positionElement->FloatAttribute("y", 0.0f), + positionElement->FloatAttribute("z", 0.0f)); + } + + tinyxml2::XMLElement *lookAtElement = cameraElement->FirstChildElement("lookAt"); + if (lookAtElement) { + lookAt = glm::vec3(lookAtElement->FloatAttribute("x", 0.0f), + lookAtElement->FloatAttribute("y", 0.0f), + lookAtElement->FloatAttribute("z", 0.0f)); + } + + tinyxml2::XMLElement *upElement = cameraElement->FirstChildElement("up"); + if (upElement) { + up = glm::vec3(upElement->FloatAttribute("x", 0.0f), + upElement->FloatAttribute("y", 1.0f), + upElement->FloatAttribute("z", 0.0f)); + } + tinyxml2::XMLElement *projectionElement = cameraElement->FirstChildElement("projection"); + if (projectionElement) { + fov = projectionElement->FloatAttribute("fov", 60.0f); + near = projectionElement->FloatAttribute("near", 1.0f); + far = projectionElement->FloatAttribute("far", 1000.0f); + } + } + + engine::Camera camera(position, lookAt, up, fov, near, far); + + tinyxml2::XMLElement *groupElement = worldElement->FirstChildElement("group"); + if (groupElement) { + processGroup(groupElement, glm::mat4(1.0f), entities); + } + + return engine::Scene(width, height, "XML Scene", camera, std::move(entities)); +} + +void processGroup(tinyxml2::XMLElement *groupElement, + glm::mat4 parentTransform, + std::vector> &entities) { + // Remove comments in phase 2 and do a few changes, order is include + glm::mat4 transform = parentTransform; + + /*tinyxml2::XMLElement* transformElement = groupElement->FirstChildElement("transform"); + if (transformElement) { + std::vector transforms; + for (tinyxml2::XMLElement* elem = transformElement->FirstChildElement(); elem; elem = + elem->NextSiblingElement()) { transforms.push_back(elem); + } + + // Process transformations in reverse order + std::reverse(transforms.begin(), transforms.end()); + + for (auto& elem : transforms) { + const char* name = elem->Name(); + if (strcmp(name, "translate") == 0) { + glm::vec3 translation( + elem->FloatAttribute("x", 0.0f), + elem->FloatAttribute("y", 0.0f), + elem->FloatAttribute("z", 0.0f) + ); + transform = glm::translate(transform, translation); + } else if (strcmp(name, "rotate") == 0) { + float angle = elem->FloatAttribute("angle", 0.0f); + glm::vec3 axis( + elem->FloatAttribute("x", 0.0f), + elem->FloatAttribute("y", 0.0f), + elem->FloatAttribute("z", 0.0f) + ); + transform = glm::rotate(transform, glm::radians(angle), axis); + } else if (strcmp(name, "scale") == 0) { + glm::vec3 scale( + elem->FloatAttribute("x", 1.0f), + elem->FloatAttribute("y", 1.0f), + elem->FloatAttribute("z", 1.0f) + ); + transform = glm::scale(transform, scale); + } + } + }*/ + + tinyxml2::XMLElement *modelsElement = groupElement->FirstChildElement("models"); + if (modelsElement) { + for (tinyxml2::XMLElement *modelElement = modelsElement->FirstChildElement("model"); + modelElement; + modelElement = modelElement->NextSiblingElement("model")) { + std::string modelFile = modelElement->Attribute("file"); + + utils::WavefrontOBJ object(modelFile); + auto model = std::make_unique(object); + + auto entity = std::make_unique(std::move(model), glm::vec4(1.0f)); + entities.push_back(std::move(entity)); + } + } + + for (tinyxml2::XMLElement *childGroupElement = groupElement->FirstChildElement("group"); + childGroupElement; + childGroupElement = childGroupElement->NextSiblingElement("group")) { + processGroup(childGroupElement, transform, entities); + } +} + +engine::Scene parseSceneOBJ(const std::string &filename) { + const int &defaultWidth = 800; + const int &defaultHeight = 600; + std::string defaultTitle = "Scene"; + + utils::WavefrontOBJ object(filename); + auto model = std::make_unique(object); + + auto entity = + std::make_unique(std::move(model), glm::vec4(1.0f, 1.0f, 1.0f, 1.0f)); + std::vector> entities; + entities.push_back(std::move(entity)); + engine::Camera defaultCamera; + engine::Scene scene(defaultWidth, + defaultHeight, + defaultTitle, + defaultCamera, + std::move(entities)); + return scene; +} + +} From dba623d48bf7279c83ce97f30b652d3d980df95e Mon Sep 17 00:00:00 2001 From: Mariana Date: Tue, 18 Feb 2025 19:57:31 +0000 Subject: [PATCH 02/15] Add tinyxml to action --- .github/workflows/checks.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index c2921b6b..5865d8b2 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -15,7 +15,7 @@ jobs: # Don't fail on empty include (not tracked by git) - run: if ! [ -d include ]; then mkdir include; fi - - run: sudo apt update && sudo apt install -y libglfw3-dev libglm-dev libgl-dev + - run: sudo apt update && sudo apt install -y libglfw3-dev libglm-dev libgl-dev libtinyxml2-dev - run: make format: runs-on: ubuntu-latest @@ -45,4 +45,4 @@ jobs: # Don't fail on empty include (not tracked by git) - run: if ! [ -d include ]; then mkdir include; fi - - run: cppcheck src -I include + - run: cppcheck src -I include -I /usr/include/tinyxml2 From 595a1d21f82eaee9fc7fa675a7d72acb38ee817b Mon Sep 17 00:00:00 2001 From: Mariana Date: Tue, 18 Feb 2025 20:58:35 +0000 Subject: [PATCH 03/15] little fix on Makefile --- Makefile | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 82a3722a..1b294dab 100644 --- a/Makefile +++ b/Makefile @@ -21,13 +21,11 @@ CPPFLAGS := -Iinclude -std=c++20 -Wall -Wextra -pedantic -Wshadow \ $(shell pkg-config --cflags glfw3) -DGLFW_INCLUDE_NONE \ $(shell pkg-config --cflags glm) \ $(shell pkg-config --cflags gl) \ - -Ilib/include \ - -Ilib/include/tinyxml2 -LIBS := -lm \ + -Ilib/include +LIBS := -lm -Llib -ltinyxml2 \ $(shell pkg-config --libs glfw3) \ $(shell pkg-config --libs glm) \ $(shell pkg-config --libs gl) \ - -Llib -ltinyxml2 DEBUG_CPPFLAGS := -O0 -ggdb3 RELEASE_CPPFLAGS := -O2 @@ -52,7 +50,7 @@ LIB_SOURCES = $(shell find "lib" -name '*.c' -type f) LIB_OBJECTS = $(patsubst lib/%.c, $(OBJDIR)/%.o, $(LIB_SOURCES)) HEADERS = $(shell find "include" -name '*.hpp' -type f) DEPENDS = $(patsubst src/%.cpp, $(DEPDIR)/%.d, $(SOURCES)) -REPORTS = $(patsubst reports/%.tex, %.pdf, $(shell find reports -name '*.tex' -type f)) +REPORTS = $(patsubst reports/%.tex, $(BUILDDIR)/%.pdf, $(shell find reports -name '*.tex' -type f)) ifeq ($(DEBUG), 1) CPPFLAGS += $(DEBUG_CPPFLAGS) From ca14cd77157ef6deb8b20bbd179a4f2b846566f5 Mon Sep 17 00:00:00 2001 From: Mariana Date: Tue, 18 Feb 2025 22:13:57 +0000 Subject: [PATCH 04/15] Correct sphere (code on another branch) --- models/sphere.3d | 5240 +++++++--------------------------------------- 1 file changed, 780 insertions(+), 4460 deletions(-) diff --git a/models/sphere.3d b/models/sphere.3d index 716543ab..d40e3ec3 100644 --- a/models/sphere.3d +++ b/models/sphere.3d @@ -1,4881 +1,1201 @@ v 0 1 0 -v 0 1 0 -v 0 1 0 -v 0 1 0 -v 0 1 0 -v 0 1 0 -v 0 1 0 -v 0 1 0 -v 0 1 0 -v 0 1 0 -v 0 1 -0 -v 0 1 -0 -v 0 1 -0 -v 0 1 -0 -v 0 1 -0 -v 0 1 -0 -v 0 1 -0 -v 0 1 -0 -v 0 1 -0 -v 0 1 -0 -v -0 1 -0 -v -0 1 -0 -v -0 1 -0 -v -0 1 -0 -v -0 1 -0 -v -0 1 -0 -v -0 1 -0 -v -0 1 -0 -v -0 1 -0 -v -0 1 -0 -v -0 1 0 -v -0 1 0 -v -0 1 0 -v -0 1 0 -v -0 1 0 -v -0 1 0 -v -0 1 0 -v -0 1 0 -v -0 1 0 -v -0 1 0 -v 0 1 0 -v 0 0.996917 0.0784591 -v 0.0122737 0.996917 0.0774931 -v 0.0242452 0.996917 0.074619 -v 0.0356197 0.996917 0.0699076 -v 0.0461171 0.996917 0.0634747 -v 0.055479 0.996917 0.055479 -v 0.0634747 0.996917 0.0461171 -v 0.0699076 0.996917 0.0356197 -v 0.074619 0.996917 0.0242452 -v 0.0774931 0.996917 0.0122737 -v 0.0784591 0.996917 -3.42956e-09 -v 0.0774931 0.996917 -0.0122737 -v 0.074619 0.996917 -0.0242452 -v 0.0699076 0.996917 -0.0356197 -v 0.0634747 0.996917 -0.0461171 -v 0.055479 0.996917 -0.055479 -v 0.0461171 0.996917 -0.0634748 -v 0.0356197 0.996917 -0.0699076 -v 0.0242452 0.996917 -0.074619 -v 0.0122737 0.996917 -0.0774931 -v -6.85911e-09 0.996917 -0.0784591 -v -0.0122737 0.996917 -0.0774931 -v -0.0242452 0.996917 -0.074619 -v -0.0356197 0.996917 -0.0699076 -v -0.0461171 0.996917 -0.0634747 -v -0.055479 0.996917 -0.0554789 -v -0.0634748 0.996917 -0.0461171 -v -0.0699076 0.996917 -0.0356197 -v -0.074619 0.996917 -0.0242452 -v -0.0774931 0.996917 -0.0122737 -v -0.0784591 0.996917 9.35615e-10 -v -0.0774931 0.996917 0.0122737 -v -0.074619 0.996917 0.0242452 -v -0.0699076 0.996917 0.0356197 -v -0.0634747 0.996917 0.0461171 -v -0.0554789 0.996917 0.055479 -v -0.0461171 0.996917 0.0634748 -v -0.0356197 0.996917 0.0699076 -v -0.0242452 0.996917 0.074619 -v -0.0122737 0.996917 0.0774931 -v 1.37182e-08 0.996917 0.0784591 v 0 0.987688 0.156434 -v 0.0244717 0.987688 0.154509 v 0.0483409 0.987688 0.148778 -v 0.0710198 0.987688 0.139384 v 0.0919499 0.987688 0.126558 -v 0.110616 0.987688 0.110616 v 0.126558 0.987688 0.0919499 -v 0.139384 0.987688 0.0710198 v 0.148778 0.987688 0.0483409 -v 0.154509 0.987688 0.0244717 v 0.156434 0.987688 -6.83797e-09 -v 0.154509 0.987688 -0.0244717 v 0.148778 0.987688 -0.0483409 -v 0.139384 0.987688 -0.0710198 v 0.126558 0.987688 -0.0919499 -v 0.110616 0.987688 -0.110616 v 0.0919499 0.987688 -0.126558 -v 0.0710197 0.987688 -0.139384 v 0.0483409 0.987688 -0.148778 -v 0.0244717 0.987688 -0.154509 v -1.36759e-08 0.987688 -0.156434 -v -0.0244718 0.987688 -0.154509 v -0.0483409 0.987688 -0.148778 -v -0.0710198 0.987688 -0.139384 v -0.0919499 0.987688 -0.126558 -v -0.110616 0.987688 -0.110616 v -0.126558 0.987688 -0.0919499 -v -0.139384 0.987688 -0.0710197 v -0.148778 0.987688 -0.0483409 -v -0.154509 0.987688 -0.0244718 v -0.156434 0.987688 1.86546e-09 -v -0.154509 0.987688 0.0244718 v -0.148778 0.987688 0.0483409 -v -0.139384 0.987688 0.0710198 v -0.126558 0.987688 0.0919499 -v -0.110616 0.987688 0.110616 v -0.0919498 0.987688 0.126558 -v -0.0710198 0.987688 0.139384 v -0.0483409 0.987688 0.148778 -v -0.0244717 0.987688 0.154509 v 2.73519e-08 0.987688 0.156434 -v 0 0.97237 0.233445 -v 0.0365189 0.97237 0.230571 -v 0.0721386 0.97237 0.22202 -v 0.105982 0.97237 0.208001 -v 0.137216 0.97237 0.188861 -v 0.165071 0.97237 0.165071 -v 0.188861 0.97237 0.137216 -v 0.208001 0.97237 0.105982 -v 0.22202 0.97237 0.0721386 -v 0.230571 0.97237 0.0365189 -v 0.233445 0.97237 -1.02042e-08 -v 0.230571 0.97237 -0.0365189 -v 0.22202 0.97237 -0.0721386 -v 0.208001 0.97237 -0.105982 -v 0.188861 0.97237 -0.137216 -v 0.165071 0.97237 -0.165071 -v 0.137216 0.97237 -0.188861 -v 0.105982 0.97237 -0.208001 -v 0.0721385 0.97237 -0.22202 -v 0.0365189 0.97237 -0.230571 -v -2.04084e-08 0.97237 -0.233445 -v -0.0365189 0.97237 -0.230571 -v -0.0721386 0.97237 -0.22202 -v -0.105982 0.97237 -0.208001 -v -0.137216 0.97237 -0.188861 -v -0.165071 0.97237 -0.165071 -v -0.188861 0.97237 -0.137216 -v -0.208001 0.97237 -0.105982 -v -0.22202 0.97237 -0.0721386 -v -0.230571 0.97237 -0.0365189 -v -0.233445 0.97237 2.78381e-09 -v -0.230571 0.97237 0.0365189 -v -0.22202 0.97237 0.0721386 -v -0.208001 0.97237 0.105982 -v -0.188861 0.97237 0.137216 -v -0.165071 0.97237 0.165071 -v -0.137216 0.97237 0.188861 -v -0.105982 0.97237 0.208001 -v -0.0721386 0.97237 0.22202 -v -0.0365189 0.97237 0.230571 -v 4.08169e-08 0.97237 0.233445 v 0 0.951057 0.309017 -v 0.0483409 0.951057 0.305212 v 0.0954915 0.951057 0.293893 -v 0.140291 0.951057 0.275336 v 0.181636 0.951057 0.25 -v 0.218508 0.951057 0.218508 v 0.25 0.951057 0.181636 -v 0.275336 0.951057 0.140291 v 0.293893 0.951057 0.0954915 -v 0.305212 0.951057 0.0483409 v 0.309017 0.951057 -1.35076e-08 -v 0.305212 0.951057 -0.0483409 v 0.293893 0.951057 -0.0954915 -v 0.275336 0.951057 -0.140291 v 0.25 0.951057 -0.181636 -v 0.218508 0.951057 -0.218508 v 0.181636 0.951057 -0.25 -v 0.140291 0.951057 -0.275336 v 0.0954914 0.951057 -0.293893 -v 0.0483409 0.951057 -0.305212 v -2.70151e-08 0.951057 -0.309017 -v -0.048341 0.951057 -0.305212 v -0.0954915 0.951057 -0.293893 -v -0.140291 0.951057 -0.275336 v -0.181636 0.951057 -0.25 -v -0.218508 0.951057 -0.218508 v -0.25 0.951057 -0.181636 -v -0.275336 0.951057 -0.140291 v -0.293893 0.951057 -0.0954915 -v -0.305212 0.951057 -0.0483409 v -0.309017 0.951057 3.68499e-09 -v -0.305212 0.951057 0.0483409 v -0.293893 0.951057 0.0954915 -v -0.275336 0.951057 0.140291 v -0.25 0.951057 0.181636 -v -0.218508 0.951057 0.218508 v -0.181636 0.951057 0.25 -v -0.140291 0.951057 0.275336 v -0.0954915 0.951057 0.293893 -v -0.0483409 0.951057 0.305212 v 5.40302e-08 0.951057 0.309017 -v 0 0.92388 0.382683 -v 0.0598649 0.92388 0.377972 -v 0.118256 0.92388 0.363954 -v 0.173735 0.92388 0.340973 -v 0.224936 0.92388 0.309597 -v 0.270598 0.92388 0.270598 -v 0.309597 0.92388 0.224936 -v 0.340973 0.92388 0.173735 -v 0.363954 0.92388 0.118256 -v 0.377972 0.92388 0.0598648 -v 0.382683 0.92388 -1.67276e-08 -v 0.377972 0.92388 -0.0598649 -v 0.363954 0.92388 -0.118256 -v 0.340973 0.92388 -0.173735 -v 0.309597 0.92388 -0.224936 -v 0.270598 0.92388 -0.270598 -v 0.224936 0.92388 -0.309597 -v 0.173735 0.92388 -0.340973 -v 0.118256 0.92388 -0.363954 -v 0.0598649 0.92388 -0.377972 -v -3.34553e-08 0.92388 -0.382683 -v -0.0598649 0.92388 -0.377972 -v -0.118256 0.92388 -0.363954 -v -0.173735 0.92388 -0.340973 -v -0.224936 0.92388 -0.309597 -v -0.270598 0.92388 -0.270598 -v -0.309597 0.92388 -0.224936 -v -0.340973 0.92388 -0.173735 -v -0.363954 0.92388 -0.118256 -v -0.377972 0.92388 -0.0598649 -v -0.382683 0.92388 4.56345e-09 -v -0.377972 0.92388 0.0598649 -v -0.363954 0.92388 0.118256 -v -0.340973 0.92388 0.173735 -v -0.309597 0.92388 0.224936 -v -0.270598 0.92388 0.270598 -v -0.224936 0.92388 0.309598 -v -0.173735 0.92388 0.340973 -v -0.118256 0.92388 0.363954 -v -0.0598648 0.92388 0.377972 -v 6.69105e-08 0.92388 0.382683 v 0 0.891007 0.453991 -v 0.0710198 0.891007 0.448401 v 0.140291 0.891007 0.431771 -v 0.206107 0.891007 0.404509 v 0.266849 0.891007 0.367286 -v 0.32102 0.891007 0.32102 v 0.367286 0.891007 0.266849 -v 0.404509 0.891007 0.206107 v 0.431771 0.891007 0.140291 -v 0.448401 0.891007 0.0710197 v 0.453991 0.891007 -1.98446e-08 -v 0.448401 0.891007 -0.0710198 v 0.431771 0.891007 -0.140291 -v 0.404509 0.891007 -0.206107 v 0.367286 0.891007 -0.266849 -v 0.32102 0.891007 -0.32102 v 0.266849 0.891007 -0.367286 -v 0.206107 0.891007 -0.404509 v 0.140291 0.891007 -0.431771 -v 0.0710198 0.891007 -0.448401 v -3.96891e-08 0.891007 -0.453991 -v -0.0710198 0.891007 -0.448401 v -0.140291 0.891007 -0.431771 -v -0.206107 0.891007 -0.404509 v -0.266849 0.891007 -0.367286 -v -0.32102 0.891007 -0.32102 v -0.367286 0.891007 -0.266849 -v -0.404509 0.891007 -0.206107 v -0.431771 0.891007 -0.140291 -v -0.448401 0.891007 -0.0710198 v -0.453991 0.891007 5.41378e-09 -v -0.448401 0.891007 0.0710198 v -0.431771 0.891007 0.140291 -v -0.404508 0.891007 0.206107 v -0.367286 0.891007 0.266849 -v -0.32102 0.891007 0.32102 v -0.266849 0.891007 0.367286 -v -0.206107 0.891007 0.404509 v -0.140291 0.891007 0.431771 -v -0.0710197 0.891007 0.448401 v 7.93782e-08 0.891007 0.453991 -v 0 0.85264 0.522499 -v 0.0817368 0.85264 0.516066 -v 0.161461 0.85264 0.496926 -v 0.237209 0.85264 0.46555 -v 0.307117 0.85264 0.42271 -v 0.369462 0.85264 0.369462 -v 0.42271 0.85264 0.307117 -v 0.46555 0.85264 0.237209 -v 0.496926 0.85264 0.161461 -v 0.516066 0.85264 0.0817367 -v 0.522499 0.85264 -2.28391e-08 -v 0.516066 0.85264 -0.0817368 -v 0.496926 0.85264 -0.161461 -v 0.46555 0.85264 -0.237209 -v 0.42271 0.85264 -0.307117 -v 0.369462 0.85264 -0.369462 -v 0.307117 0.85264 -0.42271 -v 0.237209 0.85264 -0.46555 -v 0.161461 0.85264 -0.496926 -v 0.0817368 0.85264 -0.516066 -v -4.56783e-08 0.85264 -0.522499 -v -0.0817369 0.85264 -0.516066 -v -0.161461 0.85264 -0.496926 -v -0.237209 0.85264 -0.46555 -v -0.307117 0.85264 -0.42271 -v -0.369462 0.85264 -0.369462 -v -0.42271 0.85264 -0.307117 -v -0.46555 0.85264 -0.237209 -v -0.496926 0.85264 -0.161461 -v -0.516066 0.85264 -0.0817368 -v -0.522499 0.85264 6.23073e-09 -v -0.516066 0.85264 0.0817368 -v -0.496926 0.85264 0.161461 -v -0.46555 0.85264 0.237209 -v -0.42271 0.85264 0.307117 -v -0.369462 0.85264 0.369462 -v -0.307117 0.85264 0.42271 -v -0.237209 0.85264 0.46555 -v -0.161461 0.85264 0.496926 -v -0.0817367 0.85264 0.516066 -v 9.13565e-08 0.85264 0.522499 v 0 0.809017 0.587785 -v 0.0919499 0.809017 0.580549 v 0.181636 0.809017 0.559017 -v 0.266849 0.809017 0.523721 v 0.345491 0.809017 0.475528 -v 0.415627 0.809017 0.415627 v 0.475528 0.809017 0.345491 -v 0.523721 0.809017 0.266849 v 0.559017 0.809017 0.181636 -v 0.580549 0.809017 0.0919498 v 0.587785 0.809017 -2.56929e-08 -v 0.580549 0.809017 -0.0919499 v 0.559017 0.809017 -0.181636 -v 0.52372 0.809017 -0.266849 v 0.475528 0.809017 -0.345491 -v 0.415627 0.809017 -0.415627 v 0.345491 0.809017 -0.475528 -v 0.266849 0.809017 -0.523721 v 0.181636 0.809017 -0.559017 -v 0.0919499 0.809017 -0.580549 v -5.13858e-08 0.809017 -0.587785 -v -0.09195 0.809017 -0.580549 v -0.181636 0.809017 -0.559017 -v -0.266849 0.809017 -0.523721 v -0.345492 0.809017 -0.475528 -v -0.415627 0.809017 -0.415627 v -0.475528 0.809017 -0.345491 -v -0.523721 0.809017 -0.266849 v -0.559017 0.809017 -0.181636 -v -0.580549 0.809017 -0.0919499 v -0.587785 0.809017 7.00927e-09 -v -0.580549 0.809017 0.0919499 v -0.559017 0.809017 0.181636 -v -0.52372 0.809017 0.266849 v -0.475528 0.809017 0.345492 -v -0.415627 0.809017 0.415627 v -0.345491 0.809017 0.475528 -v -0.266849 0.809017 0.523721 v -0.181636 0.809017 0.559017 -v -0.0919498 0.809017 0.580549 v 1.02772e-07 0.809017 0.587785 -v 0 0.760406 0.649448 -v 0.101596 0.760406 0.641452 -v 0.200691 0.760406 0.617662 -v 0.294843 0.760406 0.578663 -v 0.381736 0.760406 0.525415 -v 0.459229 0.760406 0.459229 -v 0.525415 0.760406 0.381736 -v 0.578663 0.760406 0.294843 -v 0.617662 0.760406 0.20069 -v 0.641452 0.760406 0.101596 -v 0.649448 0.760406 -2.83883e-08 -v 0.641452 0.760406 -0.101596 -v 0.617662 0.760406 -0.200691 -v 0.578662 0.760406 -0.294843 -v 0.525415 0.760406 -0.381736 -v 0.459229 0.760406 -0.459229 -v 0.381736 0.760406 -0.525415 -v 0.294843 0.760406 -0.578663 -v 0.20069 0.760406 -0.617662 -v 0.101596 0.760406 -0.641452 -v -5.67766e-08 0.760406 -0.649448 -v -0.101596 0.760406 -0.641452 -v -0.20069 0.760406 -0.617662 -v -0.294843 0.760406 -0.578663 -v -0.381736 0.760406 -0.525415 -v -0.459229 0.760406 -0.459229 -v -0.525415 0.760406 -0.381736 -v -0.578663 0.760406 -0.294843 -v -0.617662 0.760406 -0.200691 -v -0.641452 0.760406 -0.101596 -v -0.649448 0.760406 7.74459e-09 -v -0.641452 0.760406 0.101596 -v -0.617662 0.760406 0.200691 -v -0.578662 0.760406 0.294843 -v -0.525414 0.760406 0.381736 -v -0.459229 0.760406 0.459229 -v -0.381736 0.760406 0.525415 -v -0.294843 0.760406 0.578663 -v -0.20069 0.760406 0.617662 -v -0.101596 0.760406 0.641452 -v 1.13553e-07 0.760406 0.649448 v 0 0.707107 0.707107 -v 0.110616 0.707107 0.698401 v 0.218508 0.707107 0.672499 -v 0.32102 0.707107 0.630037 v 0.415627 0.707107 0.572061 -v 0.5 0.707107 0.5 v 0.572061 0.707107 0.415627 -v 0.630037 0.707107 0.32102 v 0.672499 0.707107 0.218508 -v 0.698401 0.707107 0.110616 v 0.707107 0.707107 -3.09086e-08 -v 0.698401 0.707107 -0.110616 v 0.672498 0.707107 -0.218508 -v 0.630037 0.707107 -0.32102 v 0.572061 0.707107 -0.415627 -v 0.5 0.707107 -0.5 v 0.415627 0.707107 -0.572061 -v 0.32102 0.707107 -0.630037 v 0.218508 0.707107 -0.672499 -v 0.110616 0.707107 -0.698401 v -6.18172e-08 0.707107 -0.707107 -v -0.110616 0.707107 -0.698401 v -0.218508 0.707107 -0.672499 -v -0.32102 0.707107 -0.630037 v -0.415627 0.707107 -0.572061 -v -0.5 0.707107 -0.5 v -0.572061 0.707107 -0.415627 -v -0.630037 0.707107 -0.32102 v -0.672498 0.707107 -0.218508 -v -0.698401 0.707107 -0.110616 v -0.707107 0.707107 8.43216e-09 -v -0.698401 0.707107 0.110616 v -0.672498 0.707107 0.218508 -v -0.630037 0.707107 0.32102 v -0.572061 0.707107 0.415627 -v -0.5 0.707107 0.5 v -0.415627 0.707107 0.572062 -v -0.32102 0.707107 0.630037 v -0.218508 0.707107 0.672499 -v -0.110616 0.707107 0.698401 v 1.23634e-07 0.707107 0.707107 -v 0 0.649448 0.760406 -v 0.118954 0.649448 0.751044 -v 0.234978 0.649448 0.723189 -v 0.345217 0.649448 0.677527 -v 0.446955 0.649448 0.615181 -v 0.537688 0.649448 0.537688 -v 0.615181 0.649448 0.446955 -v 0.677527 0.649448 0.345217 -v 0.723189 0.649448 0.234978 -v 0.751044 0.649448 0.118954 -v 0.760406 0.649448 -3.32384e-08 -v 0.751044 0.649448 -0.118954 -v 0.723189 0.649448 -0.234978 -v 0.677527 0.649448 -0.345217 -v 0.615181 0.649448 -0.446955 -v 0.537688 0.649448 -0.537688 -v 0.446955 0.649448 -0.615181 -v 0.345217 0.649448 -0.677527 -v 0.234978 0.649448 -0.723189 -v 0.118954 0.649448 -0.751044 -v -6.64768e-08 0.649448 -0.760406 -v -0.118954 0.649448 -0.751044 -v -0.234978 0.649448 -0.723189 -v -0.345217 0.649448 -0.677527 -v -0.446956 0.649448 -0.615181 -v -0.537688 0.649448 -0.537688 -v -0.615181 0.649448 -0.446955 -v -0.677527 0.649448 -0.345217 -v -0.723189 0.649448 -0.234978 -v -0.751044 0.649448 -0.118954 -v -0.760406 0.649448 9.06775e-09 -v -0.751044 0.649448 0.118954 -v -0.723189 0.649448 0.234978 -v -0.677527 0.649448 0.345217 -v -0.615181 0.649448 0.446956 -v -0.537688 0.649448 0.537688 -v -0.446955 0.649448 0.615182 -v -0.345217 0.649448 0.677527 -v -0.234978 0.649448 0.723189 -v -0.118954 0.649448 0.751044 -v 1.32954e-07 0.649448 0.760406 v 0 0.587785 0.809017 -v 0.126558 0.587785 0.799057 v 0.25 0.587785 0.769421 -v 0.367286 0.587785 0.720839 v 0.475528 0.587785 0.654509 -v 0.572061 0.587785 0.572061 v 0.654509 0.587785 0.475528 -v 0.720839 0.587785 0.367286 v 0.769421 0.587785 0.25 -v 0.799057 0.587785 0.126558 v 0.809017 0.587785 -3.53633e-08 -v 0.799057 0.587785 -0.126558 v 0.769421 0.587785 -0.25 -v 0.720839 0.587785 -0.367286 v 0.654509 0.587785 -0.475528 -v 0.572061 0.587785 -0.572061 v 0.475528 0.587785 -0.654509 -v 0.367286 0.587785 -0.72084 v 0.25 0.587785 -0.769421 -v 0.126558 0.587785 -0.799057 v -7.07265e-08 0.587785 -0.809017 -v -0.126558 0.587785 -0.799057 v -0.25 0.587785 -0.769421 -v -0.367286 0.587785 -0.720839 v -0.475528 0.587785 -0.654508 -v -0.572061 0.587785 -0.572061 v -0.654509 0.587785 -0.475528 -v -0.72084 0.587785 -0.367286 v -0.769421 0.587785 -0.25 -v -0.799057 0.587785 -0.126558 v -0.809017 0.587785 9.64743e-09 -v -0.799057 0.587785 0.126558 v -0.769421 0.587785 0.25 -v -0.720839 0.587785 0.367286 v -0.654508 0.587785 0.475528 -v -0.572061 0.587785 0.572062 v -0.475528 0.587785 0.654509 -v -0.367286 0.587785 0.720839 v -0.25 0.587785 0.769421 -v -0.126558 0.587785 0.799057 v 1.41453e-07 0.587785 0.809017 -v 0 0.522498 0.85264 -v 0.133382 0.522498 0.842143 -v 0.26348 0.522498 0.810909 -v 0.387091 0.522498 0.759708 -v 0.501169 0.522498 0.6898 -v 0.602908 0.522498 0.602908 -v 0.6898 0.522498 0.501169 -v 0.759708 0.522498 0.387091 -v 0.810909 0.522498 0.26348 -v 0.842143 0.522498 0.133382 -v 0.85264 0.522498 -3.72701e-08 -v 0.842143 0.522498 -0.133382 -v 0.810909 0.522498 -0.26348 -v 0.759708 0.522498 -0.387091 -v 0.6898 0.522498 -0.501169 -v 0.602908 0.522498 -0.602908 -v 0.501169 0.522498 -0.689801 -v 0.38709 0.522498 -0.759708 -v 0.26348 0.522498 -0.810909 -v 0.133382 0.522498 -0.842143 -v -7.45402e-08 0.522498 -0.85264 -v -0.133382 0.522498 -0.842143 -v -0.26348 0.522498 -0.810909 -v -0.387091 0.522498 -0.759708 -v -0.501169 0.522498 -0.6898 -v -0.602908 0.522498 -0.602908 -v -0.689801 0.522498 -0.501169 -v -0.759708 0.522498 -0.38709 -v -0.810909 0.522498 -0.26348 -v -0.842143 0.522498 -0.133382 -v -0.85264 0.522498 1.01676e-08 -v -0.842143 0.522498 0.133382 -v -0.810909 0.522498 0.26348 -v -0.759708 0.522498 0.387091 -v -0.6898 0.522498 0.50117 -v -0.602907 0.522498 0.602908 -v -0.501169 0.522498 0.689801 -v -0.387091 0.522498 0.759708 -v -0.26348 0.522498 0.810909 -v -0.133382 0.522498 0.842143 -v 1.4908e-07 0.522498 0.85264 v 0 0.453991 0.891007 -v 0.139384 0.453991 0.880037 v 0.275336 0.453991 0.847398 -v 0.404509 0.453991 0.793893 v 0.523721 0.453991 0.720839 -v 0.630037 0.453991 0.630037 v 0.720839 0.453991 0.523721 -v 0.793893 0.453991 0.404509 v 0.847398 0.453991 0.275336 -v 0.880037 0.453991 0.139384 v 0.891007 0.453991 -3.89471e-08 -v 0.880037 0.453991 -0.139384 v 0.847398 0.453991 -0.275336 -v 0.793893 0.453991 -0.404509 v 0.720839 0.453991 -0.52372 -v 0.630037 0.453991 -0.630037 v 0.52372 0.453991 -0.72084 -v 0.404508 0.453991 -0.793893 v 0.275336 0.453991 -0.847398 -v 0.139384 0.453991 -0.880037 v -7.78943e-08 0.453991 -0.891007 -v -0.139384 0.453991 -0.880037 v -0.275336 0.453991 -0.847398 -v -0.404509 0.453991 -0.793893 v -0.523721 0.453991 -0.720839 -v -0.630037 0.453991 -0.630037 v -0.72084 0.453991 -0.52372 -v -0.793893 0.453991 -0.404508 v -0.847398 0.453991 -0.275336 -v -0.880037 0.453991 -0.139384 v -0.891007 0.453991 1.06251e-08 -v -0.880037 0.453991 0.139384 v -0.847398 0.453991 0.275336 -v -0.793893 0.453991 0.404509 v -0.720839 0.453991 0.523721 -v -0.630037 0.453991 0.630037 v -0.52372 0.453991 0.72084 -v -0.404509 0.453991 0.793893 v -0.275336 0.453991 0.847398 -v -0.139384 0.453991 0.880037 v 1.55789e-07 0.453991 0.891007 -v 0 0.382683 0.92388 -v 0.144527 0.382683 0.912505 -v 0.285494 0.382683 0.878662 -v 0.419433 0.382683 0.823183 -v 0.543043 0.382683 0.747434 -v 0.653281 0.382683 0.653281 -v 0.747434 0.382683 0.543043 -v 0.823183 0.382683 0.419433 -v 0.878662 0.382683 0.285494 -v 0.912505 0.382683 0.144527 -v 0.92388 0.382683 -4.03841e-08 -v 0.912505 0.382683 -0.144527 -v 0.878662 0.382683 -0.285495 -v 0.823183 0.382683 -0.419433 -v 0.747434 0.382683 -0.543043 -v 0.653281 0.382683 -0.653281 -v 0.543043 0.382683 -0.747434 -v 0.419432 0.382683 -0.823183 -v 0.285494 0.382683 -0.878662 -v 0.144527 0.382683 -0.912505 -v -8.07681e-08 0.382683 -0.92388 -v -0.144527 0.382683 -0.912505 -v -0.285494 0.382683 -0.878662 -v -0.419433 0.382683 -0.823183 -v -0.543043 0.382683 -0.747434 -v -0.653282 0.382683 -0.653281 -v -0.747434 0.382683 -0.543043 -v -0.823183 0.382683 -0.419432 -v -0.878662 0.382683 -0.285495 -v -0.912505 0.382683 -0.144527 -v -0.92388 0.382683 1.10172e-08 -v -0.912505 0.382683 0.144527 -v -0.878662 0.382683 0.285495 -v -0.823183 0.382683 0.419433 -v -0.747434 0.382683 0.543043 -v -0.653281 0.382683 0.653282 -v -0.543042 0.382683 0.747434 -v -0.419433 0.382683 0.823183 -v -0.285494 0.382683 0.878662 -v -0.144526 0.382683 0.912505 -v 1.61536e-07 0.382683 0.92388 v 0 0.309017 0.951057 -v 0.148778 0.309017 0.939348 v 0.293893 0.309017 0.904509 -v 0.431771 0.309017 0.847398 v 0.559017 0.309017 0.769421 -v 0.672499 0.309017 0.672499 v 0.769421 0.309017 0.559017 -v 0.847398 0.309017 0.431771 v 0.904509 0.309017 0.293893 -v 0.939348 0.309017 0.148778 v 0.951057 0.309017 -4.1572e-08 -v 0.939348 0.309017 -0.148778 v 0.904508 0.309017 -0.293893 -v 0.847398 0.309017 -0.431771 v 0.769421 0.309017 -0.559017 -v 0.672499 0.309017 -0.672499 v 0.559017 0.309017 -0.769421 -v 0.431771 0.309017 -0.847398 v 0.293892 0.309017 -0.904509 -v 0.148778 0.309017 -0.939348 v -8.3144e-08 0.309017 -0.951057 -v -0.148778 0.309017 -0.939347 v -0.293893 0.309017 -0.904509 -v -0.431771 0.309017 -0.847398 v -0.559017 0.309017 -0.769421 -v -0.672499 0.309017 -0.672498 v -0.769421 0.309017 -0.559017 -v -0.847398 0.309017 -0.43177 v -0.904508 0.309017 -0.293893 -v -0.939347 0.309017 -0.148778 v -0.951057 0.309017 1.13412e-08 -v -0.939347 0.309017 0.148778 v -0.904508 0.309017 0.293893 -v -0.847397 0.309017 0.431771 v -0.769421 0.309017 0.559017 -v -0.672498 0.309017 0.672499 v -0.559017 0.309017 0.769421 -v -0.431771 0.309017 0.847398 v -0.293893 0.309017 0.904509 -v -0.148778 0.309017 0.939348 v 1.66288e-07 0.309017 0.951057 -v 0 0.233445 0.97237 -v 0.152112 0.233445 0.960398 -v 0.300479 0.233445 0.924779 -v 0.441447 0.233445 0.866388 -v 0.571545 0.233445 0.786664 -v 0.687569 0.233445 0.687569 -v 0.786664 0.233445 0.571545 -v 0.866388 0.233445 0.441447 -v 0.924779 0.233445 0.300479 -v 0.960398 0.233445 0.152112 -v 0.97237 0.233445 -4.25036e-08 -v 0.960398 0.233445 -0.152112 -v 0.924779 0.233445 -0.300479 -v 0.866388 0.233445 -0.441447 -v 0.786664 0.233445 -0.571545 -v 0.687569 0.233445 -0.687569 -v 0.571545 0.233445 -0.786664 -v 0.441447 0.233445 -0.866388 -v 0.300479 0.233445 -0.924779 -v 0.152112 0.233445 -0.960398 -v -8.50073e-08 0.233445 -0.97237 -v -0.152112 0.233445 -0.960398 -v -0.300479 0.233445 -0.924779 -v -0.441447 0.233445 -0.866388 -v -0.571545 0.233445 -0.786664 -v -0.687569 0.233445 -0.687569 -v -0.786664 0.233445 -0.571545 -v -0.866388 0.233445 -0.441446 -v -0.924779 0.233445 -0.300479 -v -0.960398 0.233445 -0.152112 -v -0.97237 0.233445 1.15954e-08 -v -0.960398 0.233445 0.152112 -v -0.924779 0.233445 0.300479 -v -0.866388 0.233445 0.441447 -v -0.786664 0.233445 0.571545 -v -0.687569 0.233445 0.68757 -v -0.571544 0.233445 0.786664 -v -0.441447 0.233445 0.866388 -v -0.300479 0.233445 0.924779 -v -0.152112 0.233445 0.960398 -v 1.70015e-07 0.233445 0.97237 v 0 0.156434 0.987688 -v 0.154509 0.156434 0.975528 v 0.305212 0.156434 0.939348 -v 0.448401 0.156434 0.880037 v 0.580549 0.156434 0.799057 -v 0.698401 0.156434 0.698401 v 0.799057 0.156434 0.580549 -v 0.880037 0.156434 0.448401 v 0.939348 0.156434 0.305212 -v 0.975528 0.156434 0.154508 v 0.987688 0.156434 -4.31732e-08 -v 0.975528 0.156434 -0.154508 v 0.939347 0.156434 -0.305213 -v 0.880037 0.156434 -0.448401 v 0.799057 0.156434 -0.580549 -v 0.698401 0.156434 -0.698401 v 0.580549 0.156434 -0.799057 -v 0.448401 0.156434 -0.880037 v 0.305212 0.156434 -0.939348 -v 0.154508 0.156434 -0.975528 v -8.63465e-08 0.156434 -0.987688 -v -0.154509 0.156434 -0.975528 v -0.305212 0.156434 -0.939348 -v -0.448401 0.156434 -0.880037 v -0.580549 0.156434 -0.799057 -v -0.698401 0.156434 -0.698401 v -0.799057 0.156434 -0.580548 -v -0.880037 0.156434 -0.448401 v -0.939347 0.156434 -0.305213 -v -0.975528 0.156434 -0.154509 v -0.987688 0.156434 1.17781e-08 -v -0.975528 0.156434 0.154509 v -0.939347 0.156434 0.305213 -v -0.880037 0.156434 0.448401 v -0.799057 0.156434 0.580549 -v -0.698401 0.156434 0.698401 v -0.580548 0.156434 0.799057 -v -0.448401 0.156434 0.880037 v -0.305212 0.156434 0.939348 -v -0.154508 0.156434 0.975528 v 1.72693e-07 0.156434 0.987688 -v 0 0.0784591 0.996917 -v 0.155952 0.0784591 0.984644 -v 0.308064 0.0784591 0.948125 -v 0.452591 0.0784591 0.88826 -v 0.585973 0.0784591 0.806523 -v 0.704927 0.0784591 0.704927 -v 0.806523 0.0784591 0.585973 -v 0.88826 0.0784591 0.452591 -v 0.948125 0.0784591 0.308064 -v 0.984644 0.0784591 0.155952 -v 0.996917 0.0784591 -4.35766e-08 -v 0.984644 0.0784591 -0.155952 -v 0.948125 0.0784591 -0.308064 -v 0.88826 0.0784591 -0.452591 -v 0.806523 0.0784591 -0.585973 -v 0.704927 0.0784591 -0.704927 -v 0.585973 0.0784591 -0.806523 -v 0.452591 0.0784591 -0.88826 -v 0.308064 0.0784591 -0.948125 -v 0.155952 0.0784591 -0.984644 -v -8.71533e-08 0.0784591 -0.996917 -v -0.155952 0.0784591 -0.984644 -v -0.308064 0.0784591 -0.948125 -v -0.452591 0.0784591 -0.88826 -v -0.585973 0.0784591 -0.806523 -v -0.704927 0.0784591 -0.704927 -v -0.806523 0.0784591 -0.585973 -v -0.88826 0.0784591 -0.452591 -v -0.948125 0.0784591 -0.308064 -v -0.984644 0.0784591 -0.155952 -v -0.996917 0.0784591 1.18881e-08 -v -0.984644 0.0784591 0.155952 -v -0.948125 0.0784591 0.308065 -v -0.88826 0.0784591 0.452591 -v -0.806523 0.0784591 0.585974 -v -0.704927 0.0784591 0.704927 -v -0.585973 0.0784591 0.806523 -v -0.452591 0.0784591 0.88826 -v -0.308064 0.0784591 0.948125 -v -0.155952 0.0784591 0.984644 -v 1.74307e-07 0.0784591 0.996917 v 0 -4.37114e-08 1 -v 0.156434 -4.37114e-08 0.987688 v 0.309017 -4.37114e-08 0.951057 -v 0.453991 -4.37114e-08 0.891007 v 0.587785 -4.37114e-08 0.809017 -v 0.707107 -4.37114e-08 0.707107 v 0.809017 -4.37114e-08 0.587785 -v 0.891007 -4.37114e-08 0.453991 v 0.951057 -4.37114e-08 0.309017 -v 0.987688 -4.37114e-08 0.156434 v 1 -4.37114e-08 -4.37114e-08 -v 0.987688 -4.37114e-08 -0.156434 v 0.951056 -4.37114e-08 -0.309017 -v 0.891006 -4.37114e-08 -0.453991 v 0.809017 -4.37114e-08 -0.587785 -v 0.707107 -4.37114e-08 -0.707107 v 0.587785 -4.37114e-08 -0.809017 -v 0.45399 -4.37114e-08 -0.891007 v 0.309017 -4.37114e-08 -0.951057 -v 0.156434 -4.37114e-08 -0.987688 v -8.74228e-08 -4.37114e-08 -1 -v -0.156435 -4.37114e-08 -0.987688 v -0.309017 -4.37114e-08 -0.951057 -v -0.453991 -4.37114e-08 -0.891007 v -0.587785 -4.37114e-08 -0.809017 -v -0.707107 -4.37114e-08 -0.707107 v -0.809017 -4.37114e-08 -0.587785 -v -0.891007 -4.37114e-08 -0.45399 v -0.951056 -4.37114e-08 -0.309017 -v -0.987688 -4.37114e-08 -0.156435 v -1 -4.37114e-08 1.19249e-08 -v -0.987688 -4.37114e-08 0.156435 v -0.951056 -4.37114e-08 0.309017 -v -0.891006 -4.37114e-08 0.453991 v -0.809017 -4.37114e-08 0.587785 -v -0.707107 -4.37114e-08 0.707107 v -0.587785 -4.37114e-08 0.809017 -v -0.453991 -4.37114e-08 0.891007 v -0.309017 -4.37114e-08 0.951057 -v -0.156434 -4.37114e-08 0.987688 v 1.74846e-07 -4.37114e-08 1 -v 0 -0.0784592 0.996917 -v 0.155952 -0.0784592 0.984644 -v 0.308064 -0.0784592 0.948125 -v 0.452591 -0.0784592 0.88826 -v 0.585973 -0.0784592 0.806523 -v 0.704927 -0.0784592 0.704927 -v 0.806523 -0.0784592 0.585973 -v 0.88826 -0.0784592 0.452591 -v 0.948125 -0.0784592 0.308064 -v 0.984644 -0.0784592 0.155952 -v 0.996917 -0.0784592 -4.35766e-08 -v 0.984644 -0.0784592 -0.155952 -v 0.948125 -0.0784592 -0.308064 -v 0.88826 -0.0784592 -0.452591 -v 0.806523 -0.0784592 -0.585973 -v 0.704927 -0.0784592 -0.704927 -v 0.585973 -0.0784592 -0.806523 -v 0.452591 -0.0784592 -0.88826 -v 0.308064 -0.0784592 -0.948125 -v 0.155952 -0.0784592 -0.984644 -v -8.71533e-08 -0.0784592 -0.996917 -v -0.155952 -0.0784592 -0.984644 -v -0.308064 -0.0784592 -0.948125 -v -0.452591 -0.0784592 -0.88826 -v -0.585973 -0.0784592 -0.806523 -v -0.704927 -0.0784592 -0.704927 -v -0.806523 -0.0784592 -0.585973 -v -0.88826 -0.0784592 -0.452591 -v -0.948125 -0.0784592 -0.308064 -v -0.984644 -0.0784592 -0.155952 -v -0.996917 -0.0784592 1.18881e-08 -v -0.984644 -0.0784592 0.155952 -v -0.948125 -0.0784592 0.308065 -v -0.88826 -0.0784592 0.452591 -v -0.806523 -0.0784592 0.585974 -v -0.704927 -0.0784592 0.704927 -v -0.585973 -0.0784592 0.806523 -v -0.452591 -0.0784592 0.88826 -v -0.308064 -0.0784592 0.948125 -v -0.155952 -0.0784592 0.984644 -v 1.74307e-07 -0.0784592 0.996917 v 0 -0.156434 0.987688 -v 0.154509 -0.156434 0.975528 v 0.305212 -0.156434 0.939348 -v 0.448401 -0.156434 0.880037 v 0.580549 -0.156434 0.799057 -v 0.698401 -0.156434 0.698401 v 0.799057 -0.156434 0.580549 -v 0.880037 -0.156434 0.448401 v 0.939348 -0.156434 0.305212 -v 0.975528 -0.156434 0.154508 v 0.987688 -0.156434 -4.31732e-08 -v 0.975528 -0.156434 -0.154508 v 0.939347 -0.156434 -0.305213 -v 0.880037 -0.156434 -0.448401 v 0.799057 -0.156434 -0.580549 -v 0.698401 -0.156434 -0.698401 v 0.580549 -0.156434 -0.799057 -v 0.448401 -0.156434 -0.880037 v 0.305212 -0.156434 -0.939348 -v 0.154508 -0.156434 -0.975528 v -8.63465e-08 -0.156434 -0.987688 -v -0.154509 -0.156434 -0.975528 v -0.305212 -0.156434 -0.939348 -v -0.448401 -0.156434 -0.880037 v -0.580549 -0.156434 -0.799057 -v -0.698401 -0.156434 -0.698401 v -0.799057 -0.156434 -0.580548 -v -0.880037 -0.156434 -0.448401 v -0.939347 -0.156434 -0.305213 -v -0.975528 -0.156434 -0.154509 v -0.987688 -0.156434 1.17781e-08 -v -0.975528 -0.156434 0.154509 v -0.939347 -0.156434 0.305213 -v -0.880037 -0.156434 0.448401 v -0.799057 -0.156434 0.580549 -v -0.698401 -0.156434 0.698401 v -0.580548 -0.156434 0.799057 -v -0.448401 -0.156434 0.880037 v -0.305212 -0.156434 0.939348 -v -0.154508 -0.156434 0.975528 v 1.72693e-07 -0.156434 0.987688 -v 0 -0.233445 0.97237 -v 0.152112 -0.233445 0.960398 -v 0.300479 -0.233445 0.924779 -v 0.441447 -0.233445 0.866388 -v 0.571545 -0.233445 0.786664 -v 0.687569 -0.233445 0.687569 -v 0.786664 -0.233445 0.571545 -v 0.866388 -0.233445 0.441447 -v 0.924779 -0.233445 0.300479 -v 0.960398 -0.233445 0.152112 -v 0.97237 -0.233445 -4.25036e-08 -v 0.960398 -0.233445 -0.152112 -v 0.924779 -0.233445 -0.300479 -v 0.866388 -0.233445 -0.441447 -v 0.786664 -0.233445 -0.571545 -v 0.687569 -0.233445 -0.687569 -v 0.571545 -0.233445 -0.786664 -v 0.441447 -0.233445 -0.866388 -v 0.300479 -0.233445 -0.924779 -v 0.152112 -0.233445 -0.960398 -v -8.50073e-08 -0.233445 -0.97237 -v -0.152112 -0.233445 -0.960398 -v -0.300479 -0.233445 -0.924779 -v -0.441447 -0.233445 -0.866388 -v -0.571545 -0.233445 -0.786664 -v -0.687569 -0.233445 -0.687569 -v -0.786664 -0.233445 -0.571545 -v -0.866388 -0.233445 -0.441446 -v -0.924779 -0.233445 -0.300479 -v -0.960398 -0.233445 -0.152112 -v -0.97237 -0.233445 1.15954e-08 -v -0.960398 -0.233445 0.152112 -v -0.924779 -0.233445 0.300479 -v -0.866388 -0.233445 0.441447 -v -0.786664 -0.233445 0.571545 -v -0.687569 -0.233445 0.68757 -v -0.571544 -0.233445 0.786664 -v -0.441447 -0.233445 0.866388 -v -0.300479 -0.233445 0.924779 -v -0.152112 -0.233445 0.960398 -v 1.70015e-07 -0.233445 0.97237 v 0 -0.309017 0.951056 -v 0.148778 -0.309017 0.939347 v 0.293893 -0.309017 0.904508 -v 0.431771 -0.309017 0.847398 v 0.559017 -0.309017 0.769421 -v 0.672498 -0.309017 0.672498 v 0.769421 -0.309017 0.559017 -v 0.847398 -0.309017 0.431771 v 0.904508 -0.309017 0.293893 -v 0.939347 -0.309017 0.148778 v 0.951056 -0.309017 -4.1572e-08 -v 0.939347 -0.309017 -0.148778 v 0.904508 -0.309017 -0.293893 -v 0.847398 -0.309017 -0.431771 v 0.769421 -0.309017 -0.559017 -v 0.672498 -0.309017 -0.672498 v 0.559017 -0.309017 -0.769421 -v 0.43177 -0.309017 -0.847398 v 0.293892 -0.309017 -0.904509 -v 0.148778 -0.309017 -0.939347 v -8.3144e-08 -0.309017 -0.951056 -v -0.148778 -0.309017 -0.939347 v -0.293893 -0.309017 -0.904508 -v -0.431771 -0.309017 -0.847398 v -0.559017 -0.309017 -0.769421 -v -0.672499 -0.309017 -0.672498 v -0.769421 -0.309017 -0.559017 -v -0.847398 -0.309017 -0.43177 v -0.904508 -0.309017 -0.293893 -v -0.939347 -0.309017 -0.148778 v -0.951056 -0.309017 1.13412e-08 -v -0.939347 -0.309017 0.148778 v -0.904508 -0.309017 0.293893 -v -0.847397 -0.309017 0.431771 v -0.769421 -0.309017 0.559017 -v -0.672498 -0.309017 0.672499 v -0.559017 -0.309017 0.769421 -v -0.431771 -0.309017 0.847398 v -0.293893 -0.309017 0.904508 -v -0.148778 -0.309017 0.939347 v 1.66288e-07 -0.309017 0.951056 -v 0 -0.382684 0.92388 -v 0.144527 -0.382684 0.912505 -v 0.285494 -0.382684 0.878662 -v 0.419433 -0.382684 0.823183 -v 0.543043 -0.382684 0.747434 -v 0.653281 -0.382684 0.653281 -v 0.747434 -0.382684 0.543043 -v 0.823183 -0.382684 0.419433 -v 0.878662 -0.382684 0.285494 -v 0.912505 -0.382684 0.144527 -v 0.92388 -0.382684 -4.03841e-08 -v 0.912505 -0.382684 -0.144527 -v 0.878662 -0.382684 -0.285495 -v 0.823183 -0.382684 -0.419433 -v 0.747434 -0.382684 -0.543043 -v 0.653281 -0.382684 -0.653281 -v 0.543043 -0.382684 -0.747434 -v 0.419432 -0.382684 -0.823183 -v 0.285494 -0.382684 -0.878662 -v 0.144527 -0.382684 -0.912505 -v -8.07681e-08 -0.382684 -0.92388 -v -0.144527 -0.382684 -0.912505 -v -0.285494 -0.382684 -0.878662 -v -0.419433 -0.382684 -0.823183 -v -0.543043 -0.382684 -0.747434 -v -0.653282 -0.382684 -0.653281 -v -0.747434 -0.382684 -0.543043 -v -0.823183 -0.382684 -0.419432 -v -0.878662 -0.382684 -0.285495 -v -0.912505 -0.382684 -0.144527 -v -0.92388 -0.382684 1.10172e-08 -v -0.912505 -0.382684 0.144527 -v -0.878662 -0.382684 0.285495 -v -0.823183 -0.382684 0.419433 -v -0.747434 -0.382684 0.543043 -v -0.653281 -0.382684 0.653282 -v -0.543042 -0.382684 0.747434 -v -0.419433 -0.382684 0.823183 -v -0.285494 -0.382684 0.878662 -v -0.144526 -0.382684 0.912505 -v 1.61536e-07 -0.382684 0.92388 v 0 -0.453991 0.891006 -v 0.139384 -0.453991 0.880037 v 0.275336 -0.453991 0.847398 -v 0.404509 -0.453991 0.793893 v 0.52372 -0.453991 0.720839 -v 0.630037 -0.453991 0.630037 v 0.720839 -0.453991 0.52372 -v 0.793893 -0.453991 0.404509 v 0.847398 -0.453991 0.275336 -v 0.880037 -0.453991 0.139384 v 0.891006 -0.453991 -3.89471e-08 -v 0.880037 -0.453991 -0.139384 v 0.847398 -0.453991 -0.275336 -v 0.793893 -0.453991 -0.404509 v 0.720839 -0.453991 -0.52372 -v 0.630037 -0.453991 -0.630037 v 0.52372 -0.453991 -0.720839 -v 0.404508 -0.453991 -0.793893 v 0.275336 -0.453991 -0.847398 -v 0.139384 -0.453991 -0.880037 v -7.78943e-08 -0.453991 -0.891006 -v -0.139384 -0.453991 -0.880037 v -0.275336 -0.453991 -0.847398 -v -0.404509 -0.453991 -0.793893 v -0.523721 -0.453991 -0.720839 -v -0.630037 -0.453991 -0.630037 v -0.72084 -0.453991 -0.52372 -v -0.793893 -0.453991 -0.404508 v -0.847398 -0.453991 -0.275336 -v -0.880037 -0.453991 -0.139384 v -0.891006 -0.453991 1.06251e-08 -v -0.880037 -0.453991 0.139384 v -0.847398 -0.453991 0.275336 -v -0.793893 -0.453991 0.404509 v -0.720839 -0.453991 0.523721 -v -0.630036 -0.453991 0.630037 v -0.52372 -0.453991 0.72084 -v -0.404509 -0.453991 0.793893 v -0.275336 -0.453991 0.847398 -v -0.139384 -0.453991 0.880037 v 1.55789e-07 -0.453991 0.891006 -v 0 -0.522499 0.85264 -v 0.133382 -0.522499 0.842143 -v 0.26348 -0.522499 0.810909 -v 0.387091 -0.522499 0.759708 -v 0.501169 -0.522499 0.6898 -v 0.602908 -0.522499 0.602908 -v 0.6898 -0.522499 0.501169 -v 0.759708 -0.522499 0.387091 -v 0.810909 -0.522499 0.26348 -v 0.842143 -0.522499 0.133382 -v 0.85264 -0.522499 -3.72701e-08 -v 0.842143 -0.522499 -0.133382 -v 0.810909 -0.522499 -0.26348 -v 0.759708 -0.522499 -0.387091 -v 0.6898 -0.522499 -0.501169 -v 0.602908 -0.522499 -0.602908 -v 0.501169 -0.522499 -0.6898 -v 0.38709 -0.522499 -0.759708 -v 0.26348 -0.522499 -0.810909 -v 0.133382 -0.522499 -0.842143 -v -7.45402e-08 -0.522499 -0.85264 -v -0.133382 -0.522499 -0.842143 -v -0.26348 -0.522499 -0.810909 -v -0.387091 -0.522499 -0.759708 -v -0.501169 -0.522499 -0.6898 -v -0.602908 -0.522499 -0.602907 -v -0.6898 -0.522499 -0.501169 -v -0.759708 -0.522499 -0.38709 -v -0.810909 -0.522499 -0.26348 -v -0.842143 -0.522499 -0.133382 -v -0.85264 -0.522499 1.01676e-08 -v -0.842143 -0.522499 0.133382 -v -0.810909 -0.522499 0.26348 -v -0.759708 -0.522499 0.387091 -v -0.6898 -0.522499 0.501169 -v -0.602907 -0.522499 0.602908 -v -0.501169 -0.522499 0.689801 -v -0.387091 -0.522499 0.759708 -v -0.26348 -0.522499 0.810909 -v -0.133382 -0.522499 0.842143 -v 1.4908e-07 -0.522499 0.85264 v 0 -0.587785 0.809017 -v 0.126558 -0.587785 0.799057 v 0.25 -0.587785 0.769421 -v 0.367286 -0.587785 0.720839 v 0.475528 -0.587785 0.654509 -v 0.572061 -0.587785 0.572061 v 0.654509 -0.587785 0.475528 -v 0.720839 -0.587785 0.367286 v 0.769421 -0.587785 0.25 -v 0.799057 -0.587785 0.126558 v 0.809017 -0.587785 -3.53633e-08 -v 0.799057 -0.587785 -0.126558 v 0.769421 -0.587785 -0.25 -v 0.720839 -0.587785 -0.367286 v 0.654509 -0.587785 -0.475528 -v 0.572061 -0.587785 -0.572061 v 0.475528 -0.587785 -0.654509 -v 0.367286 -0.587785 -0.72084 v 0.25 -0.587785 -0.769421 -v 0.126558 -0.587785 -0.799057 v -7.07265e-08 -0.587785 -0.809017 -v -0.126558 -0.587785 -0.799057 v -0.25 -0.587785 -0.769421 -v -0.367286 -0.587785 -0.720839 v -0.475528 -0.587785 -0.654508 -v -0.572061 -0.587785 -0.572061 v -0.654509 -0.587785 -0.475528 -v -0.72084 -0.587785 -0.367286 v -0.769421 -0.587785 -0.25 -v -0.799057 -0.587785 -0.126558 v -0.809017 -0.587785 9.64743e-09 -v -0.799057 -0.587785 0.126558 v -0.769421 -0.587785 0.25 -v -0.720839 -0.587785 0.367286 v -0.654508 -0.587785 0.475528 -v -0.572061 -0.587785 0.572062 v -0.475528 -0.587785 0.654509 -v -0.367286 -0.587785 0.720839 v -0.25 -0.587785 0.769421 -v -0.126558 -0.587785 0.799057 v 1.41453e-07 -0.587785 0.809017 -v 0 -0.649448 0.760406 -v 0.118954 -0.649448 0.751044 -v 0.234978 -0.649448 0.723189 -v 0.345217 -0.649448 0.677527 -v 0.446955 -0.649448 0.615181 -v 0.537688 -0.649448 0.537688 -v 0.615181 -0.649448 0.446955 -v 0.677527 -0.649448 0.345217 -v 0.723189 -0.649448 0.234978 -v 0.751044 -0.649448 0.118954 -v 0.760406 -0.649448 -3.32384e-08 -v 0.751044 -0.649448 -0.118954 -v 0.723189 -0.649448 -0.234978 -v 0.677527 -0.649448 -0.345217 -v 0.615181 -0.649448 -0.446955 -v 0.537688 -0.649448 -0.537688 -v 0.446955 -0.649448 -0.615181 -v 0.345217 -0.649448 -0.677527 -v 0.234978 -0.649448 -0.723189 -v 0.118954 -0.649448 -0.751044 -v -6.64768e-08 -0.649448 -0.760406 -v -0.118954 -0.649448 -0.751044 -v -0.234978 -0.649448 -0.723189 -v -0.345217 -0.649448 -0.677527 -v -0.446956 -0.649448 -0.615181 -v -0.537688 -0.649448 -0.537688 -v -0.615181 -0.649448 -0.446955 -v -0.677527 -0.649448 -0.345217 -v -0.723189 -0.649448 -0.234978 -v -0.751044 -0.649448 -0.118954 -v -0.760406 -0.649448 9.06775e-09 -v -0.751044 -0.649448 0.118954 -v -0.723189 -0.649448 0.234978 -v -0.677527 -0.649448 0.345217 -v -0.615181 -0.649448 0.446956 -v -0.537688 -0.649448 0.537688 -v -0.446955 -0.649448 0.615182 -v -0.345217 -0.649448 0.677527 -v -0.234978 -0.649448 0.723189 -v -0.118954 -0.649448 0.751044 -v 1.32954e-07 -0.649448 0.760406 v 0 -0.707107 0.707107 -v 0.110616 -0.707107 0.698401 v 0.218508 -0.707107 0.672499 -v 0.32102 -0.707107 0.630037 v 0.415627 -0.707107 0.572061 -v 0.5 -0.707107 0.5 v 0.572061 -0.707107 0.415627 -v 0.630037 -0.707107 0.32102 v 0.672499 -0.707107 0.218508 -v 0.698401 -0.707107 0.110616 v 0.707107 -0.707107 -3.09086e-08 -v 0.698401 -0.707107 -0.110616 v 0.672498 -0.707107 -0.218508 -v 0.630037 -0.707107 -0.32102 v 0.572061 -0.707107 -0.415627 -v 0.5 -0.707107 -0.5 v 0.415627 -0.707107 -0.572061 -v 0.32102 -0.707107 -0.630037 v 0.218508 -0.707107 -0.672499 -v 0.110616 -0.707107 -0.698401 v -6.18172e-08 -0.707107 -0.707107 -v -0.110616 -0.707107 -0.698401 v -0.218508 -0.707107 -0.672499 -v -0.32102 -0.707107 -0.630037 v -0.415627 -0.707107 -0.572061 -v -0.5 -0.707107 -0.5 v -0.572061 -0.707107 -0.415627 -v -0.630037 -0.707107 -0.32102 v -0.672498 -0.707107 -0.218508 -v -0.698401 -0.707107 -0.110616 v -0.707107 -0.707107 8.43216e-09 -v -0.698401 -0.707107 0.110616 v -0.672498 -0.707107 0.218508 -v -0.630037 -0.707107 0.32102 v -0.572061 -0.707107 0.415627 -v -0.5 -0.707107 0.5 v -0.415627 -0.707107 0.572062 -v -0.32102 -0.707107 0.630037 v -0.218508 -0.707107 0.672499 -v -0.110616 -0.707107 0.698401 v 1.23634e-07 -0.707107 0.707107 -v 0 -0.760406 0.649448 -v 0.101596 -0.760406 0.641452 -v 0.20069 -0.760406 0.617662 -v 0.294843 -0.760406 0.578662 -v 0.381736 -0.760406 0.525415 -v 0.459229 -0.760406 0.459229 -v 0.525415 -0.760406 0.381736 -v 0.578662 -0.760406 0.294843 -v 0.617662 -0.760406 0.20069 -v 0.641452 -0.760406 0.101596 -v 0.649448 -0.760406 -2.83883e-08 -v 0.641452 -0.760406 -0.101596 -v 0.617662 -0.760406 -0.200691 -v 0.578662 -0.760406 -0.294843 -v 0.525415 -0.760406 -0.381736 -v 0.459229 -0.760406 -0.459229 -v 0.381736 -0.760406 -0.525415 -v 0.294843 -0.760406 -0.578662 -v 0.20069 -0.760406 -0.617662 -v 0.101596 -0.760406 -0.641452 -v -5.67765e-08 -0.760406 -0.649448 -v -0.101596 -0.760406 -0.641452 -v -0.20069 -0.760406 -0.617662 -v -0.294843 -0.760406 -0.578662 -v -0.381736 -0.760406 -0.525414 -v -0.459229 -0.760406 -0.459229 -v -0.525415 -0.760406 -0.381736 -v -0.578663 -0.760406 -0.294843 -v -0.617662 -0.760406 -0.200691 -v -0.641452 -0.760406 -0.101596 -v -0.649448 -0.760406 7.74459e-09 -v -0.641452 -0.760406 0.101596 -v -0.617662 -0.760406 0.200691 -v -0.578662 -0.760406 0.294843 -v -0.525414 -0.760406 0.381736 -v -0.459229 -0.760406 0.459229 -v -0.381736 -0.760406 0.525415 -v -0.294843 -0.760406 0.578662 -v -0.20069 -0.760406 0.617662 -v -0.101596 -0.760406 0.641452 -v 1.13553e-07 -0.760406 0.649448 v 0 -0.809017 0.587785 -v 0.0919499 -0.809017 0.580549 v 0.181636 -0.809017 0.559017 -v 0.266849 -0.809017 0.52372 v 0.345491 -0.809017 0.475528 -v 0.415627 -0.809017 0.415627 v 0.475528 -0.809017 0.345491 -v 0.52372 -0.809017 0.266849 v 0.559017 -0.809017 0.181636 -v 0.580549 -0.809017 0.0919498 v 0.587785 -0.809017 -2.56929e-08 -v 0.580549 -0.809017 -0.0919499 v 0.559017 -0.809017 -0.181636 -v 0.52372 -0.809017 -0.266849 v 0.475528 -0.809017 -0.345491 -v 0.415627 -0.809017 -0.415627 v 0.345491 -0.809017 -0.475528 -v 0.266849 -0.809017 -0.52372 v 0.181635 -0.809017 -0.559017 -v 0.0919499 -0.809017 -0.580549 v -5.13858e-08 -0.809017 -0.587785 -v -0.0919499 -0.809017 -0.580549 v -0.181636 -0.809017 -0.559017 -v -0.266849 -0.809017 -0.52372 v -0.345492 -0.809017 -0.475528 -v -0.415627 -0.809017 -0.415627 v -0.475528 -0.809017 -0.345491 -v -0.523721 -0.809017 -0.266849 v -0.559017 -0.809017 -0.181636 -v -0.580549 -0.809017 -0.0919499 v -0.587785 -0.809017 7.00927e-09 -v -0.580549 -0.809017 0.0919499 v -0.559017 -0.809017 0.181636 -v -0.52372 -0.809017 0.266849 v -0.475528 -0.809017 0.345492 -v -0.415627 -0.809017 0.415627 v -0.345491 -0.809017 0.475528 -v -0.266849 -0.809017 0.52372 v -0.181636 -0.809017 0.559017 -v -0.0919498 -0.809017 0.580549 v 1.02772e-07 -0.809017 0.587785 -v 0 -0.85264 0.522498 -v 0.0817368 -0.85264 0.516066 -v 0.161461 -0.85264 0.496926 -v 0.237209 -0.85264 0.46555 -v 0.307117 -0.85264 0.42271 -v 0.369462 -0.85264 0.369462 -v 0.42271 -0.85264 0.307117 -v 0.46555 -0.85264 0.237209 -v 0.496926 -0.85264 0.161461 -v 0.516066 -0.85264 0.0817367 -v 0.522498 -0.85264 -2.28391e-08 -v 0.516066 -0.85264 -0.0817368 -v 0.496926 -0.85264 -0.161461 -v 0.46555 -0.85264 -0.237209 -v 0.42271 -0.85264 -0.307117 -v 0.369462 -0.85264 -0.369462 -v 0.307117 -0.85264 -0.42271 -v 0.237209 -0.85264 -0.46555 -v 0.161461 -0.85264 -0.496926 -v 0.0817368 -0.85264 -0.516066 -v -4.56783e-08 -0.85264 -0.522498 -v -0.0817368 -0.85264 -0.516066 -v -0.161461 -0.85264 -0.496926 -v -0.237209 -0.85264 -0.46555 -v -0.307117 -0.85264 -0.42271 -v -0.369462 -0.85264 -0.369462 -v -0.42271 -0.85264 -0.307117 -v -0.46555 -0.85264 -0.237209 -v -0.496926 -0.85264 -0.161461 -v -0.516066 -0.85264 -0.0817368 -v -0.522498 -0.85264 6.23073e-09 -v -0.516066 -0.85264 0.0817368 -v -0.496926 -0.85264 0.161461 -v -0.465549 -0.85264 0.237209 -v -0.42271 -0.85264 0.307117 -v -0.369462 -0.85264 0.369462 -v -0.307117 -0.85264 0.42271 -v -0.237209 -0.85264 0.46555 -v -0.161461 -0.85264 0.496926 -v -0.0817367 -0.85264 0.516066 -v 9.13565e-08 -0.85264 0.522498 v 0 -0.891007 0.45399 -v 0.0710197 -0.891007 0.448401 v 0.140291 -0.891007 0.431771 -v 0.206107 -0.891007 0.404508 v 0.266849 -0.891007 0.367286 -v 0.32102 -0.891007 0.32102 v 0.367286 -0.891007 0.266849 -v 0.404508 -0.891007 0.206107 v 0.431771 -0.891007 0.140291 -v 0.448401 -0.891007 0.0710197 v 0.45399 -0.891007 -1.98445e-08 -v 0.448401 -0.891007 -0.0710197 v 0.43177 -0.891007 -0.140291 -v 0.404508 -0.891007 -0.206107 v 0.367286 -0.891007 -0.266849 -v 0.32102 -0.891007 -0.32102 v 0.266849 -0.891007 -0.367286 -v 0.206107 -0.891007 -0.404508 v 0.140291 -0.891007 -0.431771 -v 0.0710197 -0.891007 -0.448401 v -3.96891e-08 -0.891007 -0.45399 -v -0.0710198 -0.891007 -0.448401 v -0.140291 -0.891007 -0.431771 -v -0.206107 -0.891007 -0.404508 v -0.266849 -0.891007 -0.367286 -v -0.32102 -0.891007 -0.32102 v -0.367286 -0.891007 -0.266849 -v -0.404508 -0.891007 -0.206107 v -0.43177 -0.891007 -0.140291 -v -0.448401 -0.891007 -0.0710198 v -0.45399 -0.891007 5.41378e-09 -v -0.448401 -0.891007 0.0710198 v -0.43177 -0.891007 0.140291 -v -0.404508 -0.891007 0.206107 v -0.367286 -0.891007 0.266849 -v -0.32102 -0.891007 0.32102 v -0.266849 -0.891007 0.367286 -v -0.206107 -0.891007 0.404508 v -0.140291 -0.891007 0.431771 -v -0.0710197 -0.891007 0.448401 v 7.93782e-08 -0.891007 0.45399 -v 0 -0.92388 0.382683 -v 0.0598649 -0.92388 0.377972 -v 0.118256 -0.92388 0.363953 -v 0.173735 -0.92388 0.340973 -v 0.224936 -0.92388 0.309597 -v 0.270598 -0.92388 0.270598 -v 0.309597 -0.92388 0.224936 -v 0.340973 -0.92388 0.173735 -v 0.363953 -0.92388 0.118256 -v 0.377972 -0.92388 0.0598648 -v 0.382683 -0.92388 -1.67276e-08 -v 0.377972 -0.92388 -0.0598648 -v 0.363953 -0.92388 -0.118256 -v 0.340973 -0.92388 -0.173735 -v 0.309597 -0.92388 -0.224936 -v 0.270598 -0.92388 -0.270598 -v 0.224936 -0.92388 -0.309597 -v 0.173735 -0.92388 -0.340973 -v 0.118256 -0.92388 -0.363953 -v 0.0598648 -0.92388 -0.377972 -v -3.34552e-08 -0.92388 -0.382683 -v -0.0598649 -0.92388 -0.377972 -v -0.118256 -0.92388 -0.363953 -v -0.173735 -0.92388 -0.340973 -v -0.224936 -0.92388 -0.309597 -v -0.270598 -0.92388 -0.270598 -v -0.309597 -0.92388 -0.224936 -v -0.340973 -0.92388 -0.173734 -v -0.363953 -0.92388 -0.118256 -v -0.377972 -0.92388 -0.0598649 -v -0.382683 -0.92388 4.56345e-09 -v -0.377972 -0.92388 0.0598649 -v -0.363953 -0.92388 0.118256 -v -0.340973 -0.92388 0.173735 -v -0.309597 -0.92388 0.224936 -v -0.270598 -0.92388 0.270598 -v -0.224935 -0.92388 0.309597 -v -0.173735 -0.92388 0.340973 -v -0.118256 -0.92388 0.363953 -v -0.0598648 -0.92388 0.377972 -v 6.69105e-08 -0.92388 0.382683 v 0 -0.951057 0.309017 -v 0.0483409 -0.951057 0.305212 v 0.0954914 -0.951057 0.293892 -v 0.140291 -0.951057 0.275336 v 0.181636 -0.951057 0.25 -v 0.218508 -0.951057 0.218508 v 0.25 -0.951057 0.181636 -v 0.275336 -0.951057 0.140291 v 0.293892 -0.951057 0.0954914 -v 0.305212 -0.951057 0.0483408 v 0.309017 -0.951057 -1.35076e-08 -v 0.305212 -0.951057 -0.0483409 v 0.293892 -0.951057 -0.0954915 -v 0.275336 -0.951057 -0.140291 v 0.25 -0.951057 -0.181635 -v 0.218508 -0.951057 -0.218508 v 0.181635 -0.951057 -0.25 -v 0.140291 -0.951057 -0.275336 v 0.0954914 -0.951057 -0.293892 -v 0.0483409 -0.951057 -0.305212 v -2.70151e-08 -0.951057 -0.309017 -v -0.0483409 -0.951057 -0.305212 v -0.0954914 -0.951057 -0.293892 -v -0.140291 -0.951057 -0.275336 v -0.181636 -0.951057 -0.25 -v -0.218508 -0.951057 -0.218508 v -0.25 -0.951057 -0.181635 -v -0.275336 -0.951057 -0.140291 v -0.293892 -0.951057 -0.0954915 -v -0.305212 -0.951057 -0.0483409 v -0.309017 -0.951057 3.68499e-09 -v -0.305212 -0.951057 0.0483409 v -0.293892 -0.951057 0.0954915 -v -0.275336 -0.951057 0.140291 v -0.25 -0.951057 0.181636 -v -0.218508 -0.951057 0.218508 v -0.181635 -0.951057 0.25 -v -0.140291 -0.951057 0.275336 v -0.0954914 -0.951057 0.293892 -v -0.0483408 -0.951057 0.305212 v 5.40302e-08 -0.951057 0.309017 -v 0 -0.97237 0.233445 -v 0.0365189 -0.97237 0.230571 -v 0.0721386 -0.97237 0.22202 -v 0.105982 -0.97237 0.208001 -v 0.137216 -0.97237 0.188861 -v 0.165071 -0.97237 0.165071 -v 0.188861 -0.97237 0.137216 -v 0.208001 -0.97237 0.105982 -v 0.22202 -0.97237 0.0721386 -v 0.230571 -0.97237 0.0365189 -v 0.233445 -0.97237 -1.02042e-08 -v 0.230571 -0.97237 -0.0365189 -v 0.22202 -0.97237 -0.0721386 -v 0.208001 -0.97237 -0.105982 -v 0.188861 -0.97237 -0.137216 -v 0.165071 -0.97237 -0.165071 -v 0.137216 -0.97237 -0.188861 -v 0.105982 -0.97237 -0.208001 -v 0.0721385 -0.97237 -0.22202 -v 0.0365189 -0.97237 -0.230571 -v -2.04084e-08 -0.97237 -0.233445 -v -0.0365189 -0.97237 -0.230571 -v -0.0721386 -0.97237 -0.22202 -v -0.105982 -0.97237 -0.208001 -v -0.137216 -0.97237 -0.188861 -v -0.165071 -0.97237 -0.165071 -v -0.188861 -0.97237 -0.137216 -v -0.208001 -0.97237 -0.105982 -v -0.22202 -0.97237 -0.0721386 -v -0.230571 -0.97237 -0.0365189 -v -0.233445 -0.97237 2.78381e-09 -v -0.230571 -0.97237 0.0365189 -v -0.22202 -0.97237 0.0721386 -v -0.208001 -0.97237 0.105982 -v -0.188861 -0.97237 0.137216 -v -0.165071 -0.97237 0.165071 -v -0.137216 -0.97237 0.188861 -v -0.105982 -0.97237 0.208001 -v -0.0721386 -0.97237 0.22202 -v -0.0365189 -0.97237 0.230571 -v 4.08169e-08 -0.97237 0.233445 v 0 -0.987688 0.156434 -v 0.0244717 -0.987688 0.154508 v 0.0483409 -0.987688 0.148778 -v 0.0710198 -0.987688 0.139384 v 0.0919499 -0.987688 0.126558 -v 0.110616 -0.987688 0.110616 v 0.126558 -0.987688 0.0919499 -v 0.139384 -0.987688 0.0710198 v 0.148778 -0.987688 0.0483409 -v 0.154508 -0.987688 0.0244717 v 0.156434 -0.987688 -6.83797e-09 -v 0.154508 -0.987688 -0.0244717 v 0.148778 -0.987688 -0.0483409 -v 0.139384 -0.987688 -0.0710198 v 0.126558 -0.987688 -0.0919499 -v 0.110616 -0.987688 -0.110616 v 0.0919499 -0.987688 -0.126558 -v 0.0710197 -0.987688 -0.139384 v 0.0483409 -0.987688 -0.148778 -v 0.0244717 -0.987688 -0.154508 v -1.36759e-08 -0.987688 -0.156434 -v -0.0244718 -0.987688 -0.154508 v -0.0483409 -0.987688 -0.148778 -v -0.0710198 -0.987688 -0.139384 v -0.0919499 -0.987688 -0.126558 -v -0.110616 -0.987688 -0.110616 v -0.126558 -0.987688 -0.0919498 -v -0.139384 -0.987688 -0.0710197 v -0.148778 -0.987688 -0.0483409 -v -0.154508 -0.987688 -0.0244717 v -0.156434 -0.987688 1.86546e-09 -v -0.154508 -0.987688 0.0244718 v -0.148778 -0.987688 0.0483409 -v -0.139384 -0.987688 0.0710198 v -0.126558 -0.987688 0.0919499 -v -0.110616 -0.987688 0.110616 v -0.0919498 -0.987688 0.126558 -v -0.0710198 -0.987688 0.139384 v -0.0483409 -0.987688 0.148778 -v -0.0244717 -0.987688 0.154508 v 2.73519e-08 -0.987688 0.156434 -v 0 -0.996917 0.078459 -v 0.0122737 -0.996917 0.0774931 -v 0.0242452 -0.996917 0.074619 -v 0.0356197 -0.996917 0.0699075 -v 0.0461171 -0.996917 0.0634747 -v 0.0554789 -0.996917 0.0554789 -v 0.0634747 -0.996917 0.0461171 -v 0.0699075 -0.996917 0.0356197 -v 0.074619 -0.996917 0.0242452 -v 0.0774931 -0.996917 0.0122737 -v 0.078459 -0.996917 -3.42955e-09 -v 0.0774931 -0.996917 -0.0122737 -v 0.074619 -0.996917 -0.0242452 -v 0.0699075 -0.996917 -0.0356197 -v 0.0634747 -0.996917 -0.0461171 -v 0.0554789 -0.996917 -0.0554789 -v 0.0461171 -0.996917 -0.0634747 -v 0.0356197 -0.996917 -0.0699075 -v 0.0242452 -0.996917 -0.074619 -v 0.0122737 -0.996917 -0.0774931 -v -6.85911e-09 -0.996917 -0.078459 -v -0.0122737 -0.996917 -0.0774931 -v -0.0242452 -0.996917 -0.074619 -v -0.0356197 -0.996917 -0.0699075 -v -0.0461171 -0.996917 -0.0634747 -v -0.0554789 -0.996917 -0.0554789 -v -0.0634747 -0.996917 -0.0461171 -v -0.0699075 -0.996917 -0.0356196 -v -0.074619 -0.996917 -0.0242452 -v -0.0774931 -0.996917 -0.0122737 -v -0.078459 -0.996917 9.35615e-10 -v -0.0774931 -0.996917 0.0122737 -v -0.074619 -0.996917 0.0242452 -v -0.0699075 -0.996917 0.0356197 -v -0.0634747 -0.996917 0.0461171 -v -0.0554789 -0.996917 0.0554789 -v -0.046117 -0.996917 0.0634747 -v -0.0356197 -0.996917 0.0699075 -v -0.0242452 -0.996917 0.074619 -v -0.0122737 -0.996917 0.0774931 -v 1.37182e-08 -0.996917 0.078459 v -0 -1 -8.74228e-08 -v -1.36759e-08 -1 -8.63465e-08 v -2.70151e-08 -1 -8.3144e-08 -v -3.96891e-08 -1 -7.78943e-08 v -5.13858e-08 -1 -7.07265e-08 -v -6.18172e-08 -1 -6.18172e-08 v -7.07265e-08 -1 -5.13858e-08 -v -7.78943e-08 -1 -3.96891e-08 v -8.3144e-08 -1 -2.70151e-08 -v -8.63465e-08 -1 -1.36759e-08 v -8.74228e-08 -1 3.82137e-15 -v -8.63465e-08 -1 1.36759e-08 v -8.3144e-08 -1 2.70151e-08 -v -7.78943e-08 -1 3.96891e-08 v -7.07265e-08 -1 5.13858e-08 -v -6.18172e-08 -1 6.18172e-08 v -5.13858e-08 -1 7.07265e-08 -v -3.96891e-08 -1 7.78943e-08 v -2.70151e-08 -1 8.3144e-08 -v -1.36759e-08 -1 8.63465e-08 v 7.64274e-15 -1 8.74228e-08 -v 1.36759e-08 -1 8.63465e-08 v 2.70151e-08 -1 8.3144e-08 -v 3.96891e-08 -1 7.78943e-08 v 5.13858e-08 -1 7.07265e-08 -v 6.18172e-08 -1 6.18172e-08 v 7.07265e-08 -1 5.13858e-08 -v 7.78943e-08 -1 3.96891e-08 v 8.3144e-08 -1 2.70151e-08 -v 8.63465e-08 -1 1.36759e-08 v 8.74228e-08 -1 -1.04251e-15 -v 8.63465e-08 -1 -1.36759e-08 v 8.3144e-08 -1 -2.70151e-08 -v 7.78943e-08 -1 -3.96891e-08 v 7.07265e-08 -1 -5.13858e-08 -v 6.18172e-08 -1 -6.18173e-08 v 5.13858e-08 -1 -7.07265e-08 -v 3.96891e-08 -1 -7.78943e-08 v 2.70151e-08 -1 -8.3144e-08 -v 1.36759e-08 -1 -8.63465e-08 v -1.52855e-14 -1 -8.74228e-08 -f 1 42 43 -f 1 2 43 -f 2 43 44 -f 2 3 44 -f 3 44 45 -f 3 4 45 -f 4 45 46 -f 4 5 46 -f 5 46 47 -f 5 6 47 -f 6 47 48 -f 6 7 48 -f 7 48 49 -f 7 8 49 -f 8 49 50 -f 8 9 50 -f 9 50 51 -f 9 10 51 -f 10 51 52 -f 10 11 52 -f 11 52 53 -f 11 12 53 -f 12 53 54 -f 12 13 54 -f 13 54 55 -f 13 14 55 -f 14 55 56 -f 14 15 56 -f 15 56 57 -f 15 16 57 -f 16 57 58 -f 16 17 58 -f 17 58 59 -f 17 18 59 -f 18 59 60 -f 18 19 60 -f 19 60 61 -f 19 20 61 -f 20 61 62 -f 20 21 62 -f 21 62 63 -f 21 22 63 -f 22 63 64 -f 22 23 64 -f 23 64 65 -f 23 24 65 -f 24 65 66 -f 24 25 66 -f 25 66 67 -f 25 26 67 -f 26 67 68 -f 26 27 68 -f 27 68 69 -f 27 28 69 -f 28 69 70 -f 28 29 70 -f 29 70 71 -f 29 30 71 -f 30 71 72 -f 30 31 72 -f 31 72 73 -f 31 32 73 -f 32 73 74 -f 32 33 74 -f 33 74 75 -f 33 34 75 -f 34 75 76 -f 34 35 76 -f 35 76 77 -f 35 36 77 -f 36 77 78 -f 36 37 78 -f 37 78 79 -f 37 38 79 -f 38 79 80 -f 38 39 80 -f 39 80 81 -f 39 40 81 -f 40 81 82 -f 40 41 82 -f 42 83 84 -f 42 43 84 -f 43 84 85 -f 43 44 85 -f 44 85 86 -f 44 45 86 -f 45 86 87 -f 45 46 87 -f 46 87 88 -f 46 47 88 -f 47 88 89 -f 47 48 89 -f 48 89 90 -f 48 49 90 -f 49 90 91 -f 49 50 91 -f 50 91 92 -f 50 51 92 -f 51 92 93 -f 51 52 93 -f 52 93 94 -f 52 53 94 -f 53 94 95 -f 53 54 95 -f 54 95 96 -f 54 55 96 -f 55 96 97 -f 55 56 97 -f 56 97 98 -f 56 57 98 -f 57 98 99 -f 57 58 99 -f 58 99 100 -f 58 59 100 -f 59 100 101 -f 59 60 101 -f 60 101 102 -f 60 61 102 -f 61 102 103 -f 61 62 103 -f 62 103 104 -f 62 63 104 -f 63 104 105 -f 63 64 105 -f 64 105 106 -f 64 65 106 -f 65 106 107 -f 65 66 107 -f 66 107 108 -f 66 67 108 -f 67 108 109 -f 67 68 109 -f 68 109 110 -f 68 69 110 -f 69 110 111 -f 69 70 111 -f 70 111 112 -f 70 71 112 -f 71 112 113 -f 71 72 113 -f 72 113 114 -f 72 73 114 -f 73 114 115 -f 73 74 115 -f 74 115 116 -f 74 75 116 -f 75 116 117 -f 75 76 117 -f 76 117 118 -f 76 77 118 -f 77 118 119 -f 77 78 119 -f 78 119 120 -f 78 79 120 -f 79 120 121 -f 79 80 121 -f 80 121 122 -f 80 81 122 -f 81 122 123 -f 81 82 123 -f 83 124 125 -f 83 84 125 -f 84 125 126 -f 84 85 126 -f 85 126 127 -f 85 86 127 -f 86 127 128 -f 86 87 128 -f 87 128 129 -f 87 88 129 -f 88 129 130 -f 88 89 130 -f 89 130 131 -f 89 90 131 -f 90 131 132 -f 90 91 132 -f 91 132 133 -f 91 92 133 -f 92 133 134 -f 92 93 134 -f 93 134 135 -f 93 94 135 -f 94 135 136 -f 94 95 136 -f 95 136 137 -f 95 96 137 -f 96 137 138 -f 96 97 138 -f 97 138 139 -f 97 98 139 -f 98 139 140 -f 98 99 140 -f 99 140 141 -f 99 100 141 -f 100 141 142 -f 100 101 142 -f 101 142 143 -f 101 102 143 -f 102 143 144 -f 102 103 144 -f 103 144 145 -f 103 104 145 -f 104 145 146 -f 104 105 146 -f 105 146 147 -f 105 106 147 -f 106 147 148 -f 106 107 148 -f 107 148 149 -f 107 108 149 -f 108 149 150 -f 108 109 150 -f 109 150 151 -f 109 110 151 -f 110 151 152 -f 110 111 152 -f 111 152 153 -f 111 112 153 -f 112 153 154 -f 112 113 154 -f 113 154 155 -f 113 114 155 -f 114 155 156 -f 114 115 156 -f 115 156 157 -f 115 116 157 -f 116 157 158 -f 116 117 158 -f 117 158 159 -f 117 118 159 -f 118 159 160 -f 118 119 160 -f 119 160 161 -f 119 120 161 -f 120 161 162 -f 120 121 162 -f 121 162 163 -f 121 122 163 -f 122 163 164 -f 122 123 164 -f 124 165 166 -f 124 125 166 -f 125 166 167 -f 125 126 167 -f 126 167 168 -f 126 127 168 -f 127 168 169 -f 127 128 169 -f 128 169 170 -f 128 129 170 -f 129 170 171 -f 129 130 171 -f 130 171 172 -f 130 131 172 -f 131 172 173 -f 131 132 173 -f 132 173 174 -f 132 133 174 -f 133 174 175 -f 133 134 175 -f 134 175 176 -f 134 135 176 -f 135 176 177 -f 135 136 177 -f 136 177 178 -f 136 137 178 -f 137 178 179 -f 137 138 179 -f 138 179 180 -f 138 139 180 -f 139 180 181 -f 139 140 181 -f 140 181 182 -f 140 141 182 -f 141 182 183 -f 141 142 183 -f 142 183 184 -f 142 143 184 -f 143 184 185 -f 143 144 185 -f 144 185 186 -f 144 145 186 -f 145 186 187 -f 145 146 187 -f 146 187 188 -f 146 147 188 -f 147 188 189 -f 147 148 189 -f 148 189 190 -f 148 149 190 -f 149 190 191 -f 149 150 191 -f 150 191 192 -f 150 151 192 -f 151 192 193 -f 151 152 193 -f 152 193 194 -f 152 153 194 -f 153 194 195 -f 153 154 195 -f 154 195 196 -f 154 155 196 -f 155 196 197 -f 155 156 197 -f 156 197 198 -f 156 157 198 -f 157 198 199 -f 157 158 199 -f 158 199 200 -f 158 159 200 -f 159 200 201 -f 159 160 201 -f 160 201 202 -f 160 161 202 -f 161 202 203 -f 161 162 203 -f 162 203 204 -f 162 163 204 -f 163 204 205 -f 163 164 205 -f 165 206 207 -f 165 166 207 -f 166 207 208 -f 166 167 208 -f 167 208 209 -f 167 168 209 -f 168 209 210 -f 168 169 210 -f 169 210 211 -f 169 170 211 -f 170 211 212 -f 170 171 212 -f 171 212 213 -f 171 172 213 -f 172 213 214 -f 172 173 214 -f 173 214 215 -f 173 174 215 -f 174 215 216 -f 174 175 216 -f 175 216 217 -f 175 176 217 -f 176 217 218 -f 176 177 218 -f 177 218 219 -f 177 178 219 -f 178 219 220 -f 178 179 220 -f 179 220 221 -f 179 180 221 -f 180 221 222 -f 180 181 222 -f 181 222 223 -f 181 182 223 -f 182 223 224 -f 182 183 224 -f 183 224 225 -f 183 184 225 -f 184 225 226 -f 184 185 226 -f 185 226 227 -f 185 186 227 -f 186 227 228 -f 186 187 228 -f 187 228 229 -f 187 188 229 -f 188 229 230 -f 188 189 230 -f 189 230 231 -f 189 190 231 -f 190 231 232 -f 190 191 232 -f 191 232 233 -f 191 192 233 -f 192 233 234 -f 192 193 234 -f 193 234 235 -f 193 194 235 -f 194 235 236 -f 194 195 236 -f 195 236 237 -f 195 196 237 -f 196 237 238 -f 196 197 238 -f 197 238 239 -f 197 198 239 -f 198 239 240 -f 198 199 240 -f 199 240 241 -f 199 200 241 -f 200 241 242 -f 200 201 242 -f 201 242 243 -f 201 202 243 -f 202 243 244 -f 202 203 244 -f 203 244 245 -f 203 204 245 -f 204 245 246 -f 204 205 246 -f 206 247 248 -f 206 207 248 -f 207 248 249 -f 207 208 249 -f 208 249 250 -f 208 209 250 -f 209 250 251 -f 209 210 251 -f 210 251 252 -f 210 211 252 -f 211 252 253 -f 211 212 253 -f 212 253 254 -f 212 213 254 -f 213 254 255 -f 213 214 255 -f 214 255 256 -f 214 215 256 -f 215 256 257 -f 215 216 257 -f 216 257 258 -f 216 217 258 -f 217 258 259 -f 217 218 259 -f 218 259 260 -f 218 219 260 -f 219 260 261 -f 219 220 261 -f 220 261 262 -f 220 221 262 -f 221 262 263 -f 221 222 263 -f 222 263 264 -f 222 223 264 -f 223 264 265 -f 223 224 265 -f 224 265 266 -f 224 225 266 -f 225 266 267 -f 225 226 267 -f 226 267 268 -f 226 227 268 -f 227 268 269 -f 227 228 269 -f 228 269 270 -f 228 229 270 -f 229 270 271 -f 229 230 271 -f 230 271 272 -f 230 231 272 -f 231 272 273 -f 231 232 273 -f 232 273 274 -f 232 233 274 -f 233 274 275 -f 233 234 275 -f 234 275 276 -f 234 235 276 -f 235 276 277 -f 235 236 277 -f 236 277 278 -f 236 237 278 -f 237 278 279 -f 237 238 279 -f 238 279 280 -f 238 239 280 -f 239 280 281 -f 239 240 281 -f 240 281 282 -f 240 241 282 -f 241 282 283 -f 241 242 283 -f 242 283 284 -f 242 243 284 -f 243 284 285 -f 243 244 285 -f 244 285 286 -f 244 245 286 -f 245 286 287 -f 245 246 287 -f 247 288 289 -f 247 248 289 -f 248 289 290 -f 248 249 290 -f 249 290 291 -f 249 250 291 -f 250 291 292 -f 250 251 292 -f 251 292 293 -f 251 252 293 -f 252 293 294 -f 252 253 294 -f 253 294 295 -f 253 254 295 -f 254 295 296 -f 254 255 296 -f 255 296 297 -f 255 256 297 -f 256 297 298 -f 256 257 298 -f 257 298 299 -f 257 258 299 -f 258 299 300 -f 258 259 300 -f 259 300 301 -f 259 260 301 -f 260 301 302 -f 260 261 302 -f 261 302 303 -f 261 262 303 -f 262 303 304 -f 262 263 304 -f 263 304 305 -f 263 264 305 -f 264 305 306 -f 264 265 306 -f 265 306 307 -f 265 266 307 -f 266 307 308 -f 266 267 308 -f 267 308 309 -f 267 268 309 -f 268 309 310 -f 268 269 310 -f 269 310 311 -f 269 270 311 -f 270 311 312 -f 270 271 312 -f 271 312 313 -f 271 272 313 -f 272 313 314 -f 272 273 314 -f 273 314 315 -f 273 274 315 -f 274 315 316 -f 274 275 316 -f 275 316 317 -f 275 276 317 -f 276 317 318 -f 276 277 318 -f 277 318 319 -f 277 278 319 -f 278 319 320 -f 278 279 320 -f 279 320 321 -f 279 280 321 -f 280 321 322 -f 280 281 322 -f 281 322 323 -f 281 282 323 -f 282 323 324 -f 282 283 324 -f 283 324 325 -f 283 284 325 -f 284 325 326 -f 284 285 326 -f 285 326 327 -f 285 286 327 -f 286 327 328 -f 286 287 328 -f 288 329 330 -f 288 289 330 -f 289 330 331 -f 289 290 331 -f 290 331 332 -f 290 291 332 -f 291 332 333 -f 291 292 333 -f 292 333 334 -f 292 293 334 -f 293 334 335 -f 293 294 335 -f 294 335 336 -f 294 295 336 -f 295 336 337 -f 295 296 337 -f 296 337 338 -f 296 297 338 -f 297 338 339 -f 297 298 339 -f 298 339 340 -f 298 299 340 -f 299 340 341 -f 299 300 341 -f 300 341 342 -f 300 301 342 -f 301 342 343 -f 301 302 343 -f 302 343 344 -f 302 303 344 -f 303 344 345 -f 303 304 345 -f 304 345 346 -f 304 305 346 -f 305 346 347 -f 305 306 347 -f 306 347 348 -f 306 307 348 -f 307 348 349 -f 307 308 349 -f 308 349 350 -f 308 309 350 -f 309 350 351 -f 309 310 351 -f 310 351 352 -f 310 311 352 -f 311 352 353 -f 311 312 353 -f 312 353 354 -f 312 313 354 -f 313 354 355 -f 313 314 355 -f 314 355 356 -f 314 315 356 -f 315 356 357 -f 315 316 357 -f 316 357 358 -f 316 317 358 -f 317 358 359 -f 317 318 359 -f 318 359 360 -f 318 319 360 -f 319 360 361 -f 319 320 361 -f 320 361 362 -f 320 321 362 -f 321 362 363 -f 321 322 363 -f 322 363 364 -f 322 323 364 -f 323 364 365 -f 323 324 365 -f 324 365 366 -f 324 325 366 -f 325 366 367 -f 325 326 367 -f 326 367 368 -f 326 327 368 -f 327 368 369 -f 327 328 369 -f 329 370 371 -f 329 330 371 -f 330 371 372 -f 330 331 372 -f 331 372 373 -f 331 332 373 -f 332 373 374 -f 332 333 374 -f 333 374 375 -f 333 334 375 -f 334 375 376 -f 334 335 376 -f 335 376 377 -f 335 336 377 -f 336 377 378 -f 336 337 378 -f 337 378 379 -f 337 338 379 -f 338 379 380 -f 338 339 380 -f 339 380 381 -f 339 340 381 -f 340 381 382 -f 340 341 382 -f 341 382 383 -f 341 342 383 -f 342 383 384 -f 342 343 384 -f 343 384 385 -f 343 344 385 -f 344 385 386 -f 344 345 386 -f 345 386 387 -f 345 346 387 -f 346 387 388 -f 346 347 388 -f 347 388 389 -f 347 348 389 -f 348 389 390 -f 348 349 390 -f 349 390 391 -f 349 350 391 -f 350 391 392 -f 350 351 392 -f 351 392 393 -f 351 352 393 -f 352 393 394 -f 352 353 394 -f 353 394 395 -f 353 354 395 -f 354 395 396 -f 354 355 396 -f 355 396 397 -f 355 356 397 -f 356 397 398 -f 356 357 398 -f 357 398 399 -f 357 358 399 -f 358 399 400 -f 358 359 400 -f 359 400 401 -f 359 360 401 -f 360 401 402 -f 360 361 402 -f 361 402 403 -f 361 362 403 -f 362 403 404 -f 362 363 404 -f 363 404 405 -f 363 364 405 -f 364 405 406 -f 364 365 406 -f 365 406 407 -f 365 366 407 -f 366 407 408 -f 366 367 408 -f 367 408 409 -f 367 368 409 -f 368 409 410 -f 368 369 410 -f 370 411 412 -f 370 371 412 -f 371 412 413 -f 371 372 413 -f 372 413 414 -f 372 373 414 -f 373 414 415 -f 373 374 415 -f 374 415 416 -f 374 375 416 -f 375 416 417 -f 375 376 417 -f 376 417 418 -f 376 377 418 -f 377 418 419 -f 377 378 419 -f 378 419 420 -f 378 379 420 -f 379 420 421 -f 379 380 421 -f 380 421 422 -f 380 381 422 -f 381 422 423 -f 381 382 423 -f 382 423 424 -f 382 383 424 -f 383 424 425 -f 383 384 425 -f 384 425 426 -f 384 385 426 -f 385 426 427 -f 385 386 427 -f 386 427 428 -f 386 387 428 -f 387 428 429 -f 387 388 429 -f 388 429 430 -f 388 389 430 -f 389 430 431 -f 389 390 431 -f 390 431 432 -f 390 391 432 -f 391 432 433 -f 391 392 433 -f 392 433 434 -f 392 393 434 -f 393 434 435 -f 393 394 435 -f 394 435 436 -f 394 395 436 -f 395 436 437 -f 395 396 437 -f 396 437 438 -f 396 397 438 -f 397 438 439 -f 397 398 439 -f 398 439 440 -f 398 399 440 -f 399 440 441 -f 399 400 441 -f 400 441 442 -f 400 401 442 -f 401 442 443 -f 401 402 443 -f 402 443 444 -f 402 403 444 -f 403 444 445 -f 403 404 445 -f 404 445 446 -f 404 405 446 -f 405 446 447 -f 405 406 447 -f 406 447 448 -f 406 407 448 -f 407 448 449 -f 407 408 449 -f 408 449 450 -f 408 409 450 -f 409 450 451 -f 409 410 451 -f 411 452 453 -f 411 412 453 -f 412 453 454 -f 412 413 454 -f 413 454 455 -f 413 414 455 -f 414 455 456 -f 414 415 456 -f 415 456 457 -f 415 416 457 -f 416 457 458 -f 416 417 458 -f 417 458 459 -f 417 418 459 -f 418 459 460 -f 418 419 460 -f 419 460 461 -f 419 420 461 -f 420 461 462 -f 420 421 462 -f 421 462 463 -f 421 422 463 -f 422 463 464 -f 422 423 464 -f 423 464 465 -f 423 424 465 -f 424 465 466 -f 424 425 466 -f 425 466 467 -f 425 426 467 -f 426 467 468 -f 426 427 468 -f 427 468 469 -f 427 428 469 -f 428 469 470 -f 428 429 470 -f 429 470 471 -f 429 430 471 -f 430 471 472 -f 430 431 472 -f 431 472 473 -f 431 432 473 -f 432 473 474 -f 432 433 474 -f 433 474 475 -f 433 434 475 -f 434 475 476 -f 434 435 476 -f 435 476 477 -f 435 436 477 -f 436 477 478 -f 436 437 478 -f 437 478 479 -f 437 438 479 -f 438 479 480 -f 438 439 480 -f 439 480 481 -f 439 440 481 -f 440 481 482 -f 440 441 482 -f 441 482 483 -f 441 442 483 -f 442 483 484 -f 442 443 484 -f 443 484 485 -f 443 444 485 -f 444 485 486 -f 444 445 486 -f 445 486 487 -f 445 446 487 -f 446 487 488 -f 446 447 488 -f 447 488 489 -f 447 448 489 -f 448 489 490 -f 448 449 490 -f 449 490 491 -f 449 450 491 -f 450 491 492 -f 450 451 492 -f 452 493 494 -f 452 453 494 -f 453 494 495 -f 453 454 495 -f 454 495 496 -f 454 455 496 -f 455 496 497 -f 455 456 497 -f 456 497 498 -f 456 457 498 -f 457 498 499 -f 457 458 499 -f 458 499 500 -f 458 459 500 -f 459 500 501 -f 459 460 501 -f 460 501 502 -f 460 461 502 -f 461 502 503 -f 461 462 503 -f 462 503 504 -f 462 463 504 -f 463 504 505 -f 463 464 505 -f 464 505 506 -f 464 465 506 -f 465 506 507 -f 465 466 507 -f 466 507 508 -f 466 467 508 -f 467 508 509 -f 467 468 509 -f 468 509 510 -f 468 469 510 -f 469 510 511 -f 469 470 511 -f 470 511 512 -f 470 471 512 -f 471 512 513 -f 471 472 513 -f 472 513 514 -f 472 473 514 -f 473 514 515 -f 473 474 515 -f 474 515 516 -f 474 475 516 -f 475 516 517 -f 475 476 517 -f 476 517 518 -f 476 477 518 -f 477 518 519 -f 477 478 519 -f 478 519 520 -f 478 479 520 -f 479 520 521 -f 479 480 521 -f 480 521 522 -f 480 481 522 -f 481 522 523 -f 481 482 523 -f 482 523 524 -f 482 483 524 -f 483 524 525 -f 483 484 525 -f 484 525 526 -f 484 485 526 -f 485 526 527 -f 485 486 527 -f 486 527 528 -f 486 487 528 -f 487 528 529 -f 487 488 529 -f 488 529 530 -f 488 489 530 -f 489 530 531 -f 489 490 531 -f 490 531 532 -f 490 491 532 -f 491 532 533 -f 491 492 533 -f 493 534 535 -f 493 494 535 -f 494 535 536 -f 494 495 536 -f 495 536 537 -f 495 496 537 -f 496 537 538 -f 496 497 538 -f 497 538 539 -f 497 498 539 -f 498 539 540 -f 498 499 540 -f 499 540 541 -f 499 500 541 -f 500 541 542 -f 500 501 542 -f 501 542 543 -f 501 502 543 -f 502 543 544 -f 502 503 544 -f 503 544 545 -f 503 504 545 -f 504 545 546 -f 504 505 546 -f 505 546 547 -f 505 506 547 -f 506 547 548 -f 506 507 548 -f 507 548 549 -f 507 508 549 -f 508 549 550 -f 508 509 550 -f 509 550 551 -f 509 510 551 -f 510 551 552 -f 510 511 552 -f 511 552 553 -f 511 512 553 -f 512 553 554 -f 512 513 554 -f 513 554 555 -f 513 514 555 -f 514 555 556 -f 514 515 556 -f 515 556 557 -f 515 516 557 -f 516 557 558 -f 516 517 558 -f 517 558 559 -f 517 518 559 -f 518 559 560 -f 518 519 560 -f 519 560 561 -f 519 520 561 -f 520 561 562 -f 520 521 562 -f 521 562 563 -f 521 522 563 -f 522 563 564 -f 522 523 564 -f 523 564 565 -f 523 524 565 -f 524 565 566 -f 524 525 566 -f 525 566 567 -f 525 526 567 -f 526 567 568 -f 526 527 568 -f 527 568 569 -f 527 528 569 -f 528 569 570 -f 528 529 570 -f 529 570 571 -f 529 530 571 -f 530 571 572 -f 530 531 572 -f 531 572 573 -f 531 532 573 -f 532 573 574 -f 532 533 574 -f 534 575 576 -f 534 535 576 -f 535 576 577 -f 535 536 577 -f 536 577 578 -f 536 537 578 -f 537 578 579 -f 537 538 579 -f 538 579 580 -f 538 539 580 -f 539 580 581 -f 539 540 581 -f 540 581 582 -f 540 541 582 -f 541 582 583 -f 541 542 583 -f 542 583 584 -f 542 543 584 -f 543 584 585 -f 543 544 585 -f 544 585 586 -f 544 545 586 -f 545 586 587 -f 545 546 587 -f 546 587 588 -f 546 547 588 -f 547 588 589 -f 547 548 589 -f 548 589 590 -f 548 549 590 -f 549 590 591 -f 549 550 591 -f 550 591 592 -f 550 551 592 -f 551 592 593 -f 551 552 593 -f 552 593 594 -f 552 553 594 -f 553 594 595 -f 553 554 595 -f 554 595 596 -f 554 555 596 -f 555 596 597 -f 555 556 597 -f 556 597 598 -f 556 557 598 -f 557 598 599 -f 557 558 599 -f 558 599 600 -f 558 559 600 -f 559 600 601 -f 559 560 601 -f 560 601 602 -f 560 561 602 -f 561 602 603 -f 561 562 603 -f 562 603 604 -f 562 563 604 -f 563 604 605 -f 563 564 605 -f 564 605 606 -f 564 565 606 -f 565 606 607 -f 565 566 607 -f 566 607 608 -f 566 567 608 -f 567 608 609 -f 567 568 609 -f 568 609 610 -f 568 569 610 -f 569 610 611 -f 569 570 611 -f 570 611 612 -f 570 571 612 -f 571 612 613 -f 571 572 613 -f 572 613 614 -f 572 573 614 -f 573 614 615 -f 573 574 615 -f 575 616 617 -f 575 576 617 -f 576 617 618 -f 576 577 618 -f 577 618 619 -f 577 578 619 -f 578 619 620 -f 578 579 620 -f 579 620 621 -f 579 580 621 -f 580 621 622 -f 580 581 622 -f 581 622 623 -f 581 582 623 -f 582 623 624 -f 582 583 624 -f 583 624 625 -f 583 584 625 -f 584 625 626 -f 584 585 626 -f 585 626 627 -f 585 586 627 -f 586 627 628 -f 586 587 628 -f 587 628 629 -f 587 588 629 -f 588 629 630 -f 588 589 630 -f 589 630 631 -f 589 590 631 -f 590 631 632 -f 590 591 632 -f 591 632 633 -f 591 592 633 -f 592 633 634 -f 592 593 634 -f 593 634 635 -f 593 594 635 -f 594 635 636 -f 594 595 636 -f 595 636 637 -f 595 596 637 -f 596 637 638 -f 596 597 638 -f 597 638 639 -f 597 598 639 -f 598 639 640 -f 598 599 640 -f 599 640 641 -f 599 600 641 -f 600 641 642 -f 600 601 642 -f 601 642 643 -f 601 602 643 -f 602 643 644 -f 602 603 644 -f 603 644 645 -f 603 604 645 -f 604 645 646 -f 604 605 646 -f 605 646 647 -f 605 606 647 -f 606 647 648 -f 606 607 648 -f 607 648 649 -f 607 608 649 -f 608 649 650 -f 608 609 650 -f 609 650 651 -f 609 610 651 -f 610 651 652 -f 610 611 652 -f 611 652 653 -f 611 612 653 -f 612 653 654 -f 612 613 654 -f 613 654 655 -f 613 614 655 -f 614 655 656 -f 614 615 656 -f 616 657 658 -f 616 617 658 -f 617 658 659 -f 617 618 659 -f 618 659 660 -f 618 619 660 -f 619 660 661 -f 619 620 661 -f 620 661 662 -f 620 621 662 -f 621 662 663 -f 621 622 663 -f 622 663 664 -f 622 623 664 -f 623 664 665 -f 623 624 665 -f 624 665 666 -f 624 625 666 -f 625 666 667 -f 625 626 667 -f 626 667 668 -f 626 627 668 -f 627 668 669 -f 627 628 669 -f 628 669 670 -f 628 629 670 -f 629 670 671 -f 629 630 671 -f 630 671 672 -f 630 631 672 -f 631 672 673 -f 631 632 673 -f 632 673 674 -f 632 633 674 -f 633 674 675 -f 633 634 675 -f 634 675 676 -f 634 635 676 -f 635 676 677 -f 635 636 677 -f 636 677 678 -f 636 637 678 -f 637 678 679 -f 637 638 679 -f 638 679 680 -f 638 639 680 -f 639 680 681 -f 639 640 681 -f 640 681 682 -f 640 641 682 -f 641 682 683 -f 641 642 683 -f 642 683 684 -f 642 643 684 -f 643 684 685 -f 643 644 685 -f 644 685 686 -f 644 645 686 -f 645 686 687 -f 645 646 687 -f 646 687 688 -f 646 647 688 -f 647 688 689 -f 647 648 689 -f 648 689 690 -f 648 649 690 -f 649 690 691 -f 649 650 691 -f 650 691 692 -f 650 651 692 -f 651 692 693 -f 651 652 693 -f 652 693 694 -f 652 653 694 -f 653 694 695 -f 653 654 695 -f 654 695 696 -f 654 655 696 -f 655 696 697 -f 655 656 697 -f 657 698 699 -f 657 658 699 -f 658 699 700 -f 658 659 700 -f 659 700 701 -f 659 660 701 -f 660 701 702 -f 660 661 702 -f 661 702 703 -f 661 662 703 -f 662 703 704 -f 662 663 704 -f 663 704 705 -f 663 664 705 -f 664 705 706 -f 664 665 706 -f 665 706 707 -f 665 666 707 -f 666 707 708 -f 666 667 708 -f 667 708 709 -f 667 668 709 -f 668 709 710 -f 668 669 710 -f 669 710 711 -f 669 670 711 -f 670 711 712 -f 670 671 712 -f 671 712 713 -f 671 672 713 -f 672 713 714 -f 672 673 714 -f 673 714 715 -f 673 674 715 -f 674 715 716 -f 674 675 716 -f 675 716 717 -f 675 676 717 -f 676 717 718 -f 676 677 718 -f 677 718 719 -f 677 678 719 -f 678 719 720 -f 678 679 720 -f 679 720 721 -f 679 680 721 -f 680 721 722 -f 680 681 722 -f 681 722 723 -f 681 682 723 -f 682 723 724 -f 682 683 724 -f 683 724 725 -f 683 684 725 -f 684 725 726 -f 684 685 726 -f 685 726 727 -f 685 686 727 -f 686 727 728 -f 686 687 728 -f 687 728 729 -f 687 688 729 -f 688 729 730 -f 688 689 730 -f 689 730 731 -f 689 690 731 -f 690 731 732 -f 690 691 732 -f 691 732 733 -f 691 692 733 -f 692 733 734 -f 692 693 734 -f 693 734 735 -f 693 694 735 -f 694 735 736 -f 694 695 736 -f 695 736 737 -f 695 696 737 -f 696 737 738 -f 696 697 738 -f 698 739 740 -f 698 699 740 -f 699 740 741 -f 699 700 741 -f 700 741 742 -f 700 701 742 -f 701 742 743 -f 701 702 743 -f 702 743 744 -f 702 703 744 -f 703 744 745 -f 703 704 745 -f 704 745 746 -f 704 705 746 -f 705 746 747 -f 705 706 747 -f 706 747 748 -f 706 707 748 -f 707 748 749 -f 707 708 749 -f 708 749 750 -f 708 709 750 -f 709 750 751 -f 709 710 751 -f 710 751 752 -f 710 711 752 -f 711 752 753 -f 711 712 753 -f 712 753 754 -f 712 713 754 -f 713 754 755 -f 713 714 755 -f 714 755 756 -f 714 715 756 -f 715 756 757 -f 715 716 757 -f 716 757 758 -f 716 717 758 -f 717 758 759 -f 717 718 759 -f 718 759 760 -f 718 719 760 -f 719 760 761 -f 719 720 761 -f 720 761 762 -f 720 721 762 -f 721 762 763 -f 721 722 763 -f 722 763 764 -f 722 723 764 -f 723 764 765 -f 723 724 765 -f 724 765 766 -f 724 725 766 -f 725 766 767 -f 725 726 767 -f 726 767 768 -f 726 727 768 -f 727 768 769 -f 727 728 769 -f 728 769 770 -f 728 729 770 -f 729 770 771 -f 729 730 771 -f 730 771 772 -f 730 731 772 -f 731 772 773 -f 731 732 773 -f 732 773 774 -f 732 733 774 -f 733 774 775 -f 733 734 775 -f 734 775 776 -f 734 735 776 -f 735 776 777 -f 735 736 777 -f 736 777 778 -f 736 737 778 -f 737 778 779 -f 737 738 779 -f 739 780 781 -f 739 740 781 -f 740 781 782 -f 740 741 782 -f 741 782 783 -f 741 742 783 -f 742 783 784 -f 742 743 784 -f 743 784 785 -f 743 744 785 -f 744 785 786 -f 744 745 786 -f 745 786 787 -f 745 746 787 -f 746 787 788 -f 746 747 788 -f 747 788 789 -f 747 748 789 -f 748 789 790 -f 748 749 790 -f 749 790 791 -f 749 750 791 -f 750 791 792 -f 750 751 792 -f 751 792 793 -f 751 752 793 -f 752 793 794 -f 752 753 794 -f 753 794 795 -f 753 754 795 -f 754 795 796 -f 754 755 796 -f 755 796 797 -f 755 756 797 -f 756 797 798 -f 756 757 798 -f 757 798 799 -f 757 758 799 -f 758 799 800 -f 758 759 800 -f 759 800 801 -f 759 760 801 -f 760 801 802 -f 760 761 802 -f 761 802 803 -f 761 762 803 -f 762 803 804 -f 762 763 804 -f 763 804 805 -f 763 764 805 -f 764 805 806 -f 764 765 806 -f 765 806 807 -f 765 766 807 -f 766 807 808 -f 766 767 808 -f 767 808 809 -f 767 768 809 -f 768 809 810 -f 768 769 810 -f 769 810 811 -f 769 770 811 -f 770 811 812 -f 770 771 812 -f 771 812 813 -f 771 772 813 -f 772 813 814 -f 772 773 814 -f 773 814 815 -f 773 774 815 -f 774 815 816 -f 774 775 816 -f 775 816 817 -f 775 776 817 -f 776 817 818 -f 776 777 818 -f 777 818 819 -f 777 778 819 -f 778 819 820 -f 778 779 820 -f 780 821 822 -f 780 781 822 -f 781 822 823 -f 781 782 823 -f 782 823 824 -f 782 783 824 -f 783 824 825 -f 783 784 825 -f 784 825 826 -f 784 785 826 -f 785 826 827 -f 785 786 827 -f 786 827 828 -f 786 787 828 -f 787 828 829 -f 787 788 829 -f 788 829 830 -f 788 789 830 -f 789 830 831 -f 789 790 831 -f 790 831 832 -f 790 791 832 -f 791 832 833 -f 791 792 833 -f 792 833 834 -f 792 793 834 -f 793 834 835 -f 793 794 835 -f 794 835 836 -f 794 795 836 -f 795 836 837 -f 795 796 837 -f 796 837 838 -f 796 797 838 -f 797 838 839 -f 797 798 839 -f 798 839 840 -f 798 799 840 -f 799 840 841 -f 799 800 841 -f 800 841 842 -f 800 801 842 -f 801 842 843 -f 801 802 843 -f 802 843 844 -f 802 803 844 -f 803 844 845 -f 803 804 845 -f 804 845 846 -f 804 805 846 -f 805 846 847 -f 805 806 847 -f 806 847 848 -f 806 807 848 -f 807 848 849 -f 807 808 849 -f 808 849 850 -f 808 809 850 -f 809 850 851 -f 809 810 851 -f 810 851 852 -f 810 811 852 -f 811 852 853 -f 811 812 853 -f 812 853 854 -f 812 813 854 -f 813 854 855 -f 813 814 855 -f 814 855 856 -f 814 815 856 -f 815 856 857 -f 815 816 857 -f 816 857 858 -f 816 817 858 -f 817 858 859 -f 817 818 859 -f 818 859 860 -f 818 819 860 -f 819 860 861 -f 819 820 861 -f 821 862 863 -f 821 822 863 -f 822 863 864 -f 822 823 864 -f 823 864 865 -f 823 824 865 -f 824 865 866 -f 824 825 866 -f 825 866 867 -f 825 826 867 -f 826 867 868 -f 826 827 868 -f 827 868 869 -f 827 828 869 -f 828 869 870 -f 828 829 870 -f 829 870 871 -f 829 830 871 -f 830 871 872 -f 830 831 872 -f 831 872 873 -f 831 832 873 -f 832 873 874 -f 832 833 874 -f 833 874 875 -f 833 834 875 -f 834 875 876 -f 834 835 876 -f 835 876 877 -f 835 836 877 -f 836 877 878 -f 836 837 878 -f 837 878 879 -f 837 838 879 -f 838 879 880 -f 838 839 880 -f 839 880 881 -f 839 840 881 -f 840 881 882 -f 840 841 882 -f 841 882 883 -f 841 842 883 -f 842 883 884 -f 842 843 884 -f 843 884 885 -f 843 844 885 -f 844 885 886 -f 844 845 886 -f 845 886 887 -f 845 846 887 -f 846 887 888 -f 846 847 888 -f 847 888 889 -f 847 848 889 -f 848 889 890 -f 848 849 890 -f 849 890 891 -f 849 850 891 -f 850 891 892 -f 850 851 892 -f 851 892 893 -f 851 852 893 -f 852 893 894 -f 852 853 894 -f 853 894 895 -f 853 854 895 -f 854 895 896 -f 854 855 896 -f 855 896 897 -f 855 856 897 -f 856 897 898 -f 856 857 898 -f 857 898 899 -f 857 858 899 -f 858 899 900 -f 858 859 900 -f 859 900 901 -f 859 860 901 -f 860 901 902 -f 860 861 902 -f 862 903 904 -f 862 863 904 -f 863 904 905 -f 863 864 905 -f 864 905 906 -f 864 865 906 -f 865 906 907 -f 865 866 907 -f 866 907 908 -f 866 867 908 -f 867 908 909 -f 867 868 909 -f 868 909 910 -f 868 869 910 -f 869 910 911 -f 869 870 911 -f 870 911 912 -f 870 871 912 -f 871 912 913 -f 871 872 913 -f 872 913 914 -f 872 873 914 -f 873 914 915 -f 873 874 915 -f 874 915 916 -f 874 875 916 -f 875 916 917 -f 875 876 917 -f 876 917 918 -f 876 877 918 -f 877 918 919 -f 877 878 919 -f 878 919 920 -f 878 879 920 -f 879 920 921 -f 879 880 921 -f 880 921 922 -f 880 881 922 -f 881 922 923 -f 881 882 923 -f 882 923 924 -f 882 883 924 -f 883 924 925 -f 883 884 925 -f 884 925 926 -f 884 885 926 -f 885 926 927 -f 885 886 927 -f 886 927 928 -f 886 887 928 -f 887 928 929 -f 887 888 929 -f 888 929 930 -f 888 889 930 -f 889 930 931 -f 889 890 931 -f 890 931 932 -f 890 891 932 -f 891 932 933 -f 891 892 933 -f 892 933 934 -f 892 893 934 -f 893 934 935 -f 893 894 935 -f 894 935 936 -f 894 895 936 -f 895 936 937 -f 895 896 937 -f 896 937 938 -f 896 897 938 -f 897 938 939 -f 897 898 939 -f 898 939 940 -f 898 899 940 -f 899 940 941 -f 899 900 941 -f 900 941 942 -f 900 901 942 -f 901 942 943 -f 901 902 943 -f 903 944 945 -f 903 904 945 -f 904 945 946 -f 904 905 946 -f 905 946 947 -f 905 906 947 -f 906 947 948 -f 906 907 948 -f 907 948 949 -f 907 908 949 -f 908 949 950 -f 908 909 950 -f 909 950 951 -f 909 910 951 -f 910 951 952 -f 910 911 952 -f 911 952 953 -f 911 912 953 -f 912 953 954 -f 912 913 954 -f 913 954 955 -f 913 914 955 -f 914 955 956 -f 914 915 956 -f 915 956 957 -f 915 916 957 -f 916 957 958 -f 916 917 958 -f 917 958 959 -f 917 918 959 -f 918 959 960 -f 918 919 960 -f 919 960 961 -f 919 920 961 -f 920 961 962 -f 920 921 962 -f 921 962 963 -f 921 922 963 -f 922 963 964 -f 922 923 964 -f 923 964 965 -f 923 924 965 -f 924 965 966 -f 924 925 966 -f 925 966 967 -f 925 926 967 -f 926 967 968 -f 926 927 968 -f 927 968 969 -f 927 928 969 -f 928 969 970 -f 928 929 970 -f 929 970 971 -f 929 930 971 -f 930 971 972 -f 930 931 972 -f 931 972 973 -f 931 932 973 -f 932 973 974 -f 932 933 974 -f 933 974 975 -f 933 934 975 -f 934 975 976 -f 934 935 976 -f 935 976 977 -f 935 936 977 -f 936 977 978 -f 936 937 978 -f 937 978 979 -f 937 938 979 -f 938 979 980 -f 938 939 980 -f 939 980 981 -f 939 940 981 -f 940 981 982 -f 940 941 982 -f 941 982 983 -f 941 942 983 -f 942 983 984 -f 942 943 984 -f 944 985 986 -f 944 945 986 -f 945 986 987 -f 945 946 987 -f 946 987 988 -f 946 947 988 -f 947 988 989 -f 947 948 989 -f 948 989 990 -f 948 949 990 -f 949 990 991 -f 949 950 991 -f 950 991 992 -f 950 951 992 -f 951 992 993 -f 951 952 993 -f 952 993 994 -f 952 953 994 -f 953 994 995 -f 953 954 995 -f 954 995 996 -f 954 955 996 -f 955 996 997 -f 955 956 997 -f 956 997 998 -f 956 957 998 -f 957 998 999 -f 957 958 999 -f 958 999 1000 -f 958 959 1000 -f 959 1000 1001 -f 959 960 1001 -f 960 1001 1002 -f 960 961 1002 -f 961 1002 1003 -f 961 962 1003 -f 962 1003 1004 -f 962 963 1004 -f 963 1004 1005 -f 963 964 1005 -f 964 1005 1006 -f 964 965 1006 -f 965 1006 1007 -f 965 966 1007 -f 966 1007 1008 -f 966 967 1008 -f 967 1008 1009 -f 967 968 1009 -f 968 1009 1010 -f 968 969 1010 -f 969 1010 1011 -f 969 970 1011 -f 970 1011 1012 -f 970 971 1012 -f 971 1012 1013 -f 971 972 1013 -f 972 1013 1014 -f 972 973 1014 -f 973 1014 1015 -f 973 974 1015 -f 974 1015 1016 -f 974 975 1016 -f 975 1016 1017 -f 975 976 1017 -f 976 1017 1018 -f 976 977 1018 -f 977 1018 1019 -f 977 978 1019 -f 978 1019 1020 -f 978 979 1020 -f 979 1020 1021 -f 979 980 1021 -f 980 1021 1022 -f 980 981 1022 -f 981 1022 1023 -f 981 982 1023 -f 982 1023 1024 -f 982 983 1024 -f 983 1024 1025 -f 983 984 1025 -f 985 1026 1027 -f 985 986 1027 -f 986 1027 1028 -f 986 987 1028 -f 987 1028 1029 -f 987 988 1029 -f 988 1029 1030 -f 988 989 1030 -f 989 1030 1031 -f 989 990 1031 -f 990 1031 1032 -f 990 991 1032 -f 991 1032 1033 -f 991 992 1033 -f 992 1033 1034 -f 992 993 1034 -f 993 1034 1035 -f 993 994 1035 -f 994 1035 1036 -f 994 995 1036 -f 995 1036 1037 -f 995 996 1037 -f 996 1037 1038 -f 996 997 1038 -f 997 1038 1039 -f 997 998 1039 -f 998 1039 1040 -f 998 999 1040 -f 999 1040 1041 -f 999 1000 1041 -f 1000 1041 1042 -f 1000 1001 1042 -f 1001 1042 1043 -f 1001 1002 1043 -f 1002 1043 1044 -f 1002 1003 1044 -f 1003 1044 1045 -f 1003 1004 1045 -f 1004 1045 1046 -f 1004 1005 1046 -f 1005 1046 1047 -f 1005 1006 1047 -f 1006 1047 1048 -f 1006 1007 1048 -f 1007 1048 1049 -f 1007 1008 1049 -f 1008 1049 1050 -f 1008 1009 1050 -f 1009 1050 1051 -f 1009 1010 1051 -f 1010 1051 1052 -f 1010 1011 1052 -f 1011 1052 1053 -f 1011 1012 1053 -f 1012 1053 1054 -f 1012 1013 1054 -f 1013 1054 1055 -f 1013 1014 1055 -f 1014 1055 1056 -f 1014 1015 1056 -f 1015 1056 1057 -f 1015 1016 1057 -f 1016 1057 1058 -f 1016 1017 1058 -f 1017 1058 1059 -f 1017 1018 1059 -f 1018 1059 1060 -f 1018 1019 1060 -f 1019 1060 1061 -f 1019 1020 1061 -f 1020 1061 1062 -f 1020 1021 1062 -f 1021 1062 1063 -f 1021 1022 1063 -f 1022 1063 1064 -f 1022 1023 1064 -f 1023 1064 1065 -f 1023 1024 1065 -f 1024 1065 1066 -f 1024 1025 1066 -f 1026 1067 1068 -f 1026 1027 1068 -f 1027 1068 1069 -f 1027 1028 1069 -f 1028 1069 1070 -f 1028 1029 1070 -f 1029 1070 1071 -f 1029 1030 1071 -f 1030 1071 1072 -f 1030 1031 1072 -f 1031 1072 1073 -f 1031 1032 1073 -f 1032 1073 1074 -f 1032 1033 1074 -f 1033 1074 1075 -f 1033 1034 1075 -f 1034 1075 1076 -f 1034 1035 1076 -f 1035 1076 1077 -f 1035 1036 1077 -f 1036 1077 1078 -f 1036 1037 1078 -f 1037 1078 1079 -f 1037 1038 1079 -f 1038 1079 1080 -f 1038 1039 1080 -f 1039 1080 1081 -f 1039 1040 1081 -f 1040 1081 1082 -f 1040 1041 1082 -f 1041 1082 1083 -f 1041 1042 1083 -f 1042 1083 1084 -f 1042 1043 1084 -f 1043 1084 1085 -f 1043 1044 1085 -f 1044 1085 1086 -f 1044 1045 1086 -f 1045 1086 1087 -f 1045 1046 1087 -f 1046 1087 1088 -f 1046 1047 1088 -f 1047 1088 1089 -f 1047 1048 1089 -f 1048 1089 1090 -f 1048 1049 1090 -f 1049 1090 1091 -f 1049 1050 1091 -f 1050 1091 1092 -f 1050 1051 1092 -f 1051 1092 1093 -f 1051 1052 1093 -f 1052 1093 1094 -f 1052 1053 1094 -f 1053 1094 1095 -f 1053 1054 1095 -f 1054 1095 1096 -f 1054 1055 1096 -f 1055 1096 1097 -f 1055 1056 1097 -f 1056 1097 1098 -f 1056 1057 1098 -f 1057 1098 1099 -f 1057 1058 1099 -f 1058 1099 1100 -f 1058 1059 1100 -f 1059 1100 1101 -f 1059 1060 1101 -f 1060 1101 1102 -f 1060 1061 1102 -f 1061 1102 1103 -f 1061 1062 1103 -f 1062 1103 1104 -f 1062 1063 1104 -f 1063 1104 1105 -f 1063 1064 1105 -f 1064 1105 1106 -f 1064 1065 1106 -f 1065 1106 1107 -f 1065 1066 1107 -f 1067 1108 1109 -f 1067 1068 1109 -f 1068 1109 1110 -f 1068 1069 1110 -f 1069 1110 1111 -f 1069 1070 1111 -f 1070 1111 1112 -f 1070 1071 1112 -f 1071 1112 1113 -f 1071 1072 1113 -f 1072 1113 1114 -f 1072 1073 1114 -f 1073 1114 1115 -f 1073 1074 1115 -f 1074 1115 1116 -f 1074 1075 1116 -f 1075 1116 1117 -f 1075 1076 1117 -f 1076 1117 1118 -f 1076 1077 1118 -f 1077 1118 1119 -f 1077 1078 1119 -f 1078 1119 1120 -f 1078 1079 1120 -f 1079 1120 1121 -f 1079 1080 1121 -f 1080 1121 1122 -f 1080 1081 1122 -f 1081 1122 1123 -f 1081 1082 1123 -f 1082 1123 1124 -f 1082 1083 1124 -f 1083 1124 1125 -f 1083 1084 1125 -f 1084 1125 1126 -f 1084 1085 1126 -f 1085 1126 1127 -f 1085 1086 1127 -f 1086 1127 1128 -f 1086 1087 1128 -f 1087 1128 1129 -f 1087 1088 1129 -f 1088 1129 1130 -f 1088 1089 1130 -f 1089 1130 1131 -f 1089 1090 1131 -f 1090 1131 1132 -f 1090 1091 1132 -f 1091 1132 1133 -f 1091 1092 1133 -f 1092 1133 1134 -f 1092 1093 1134 -f 1093 1134 1135 -f 1093 1094 1135 -f 1094 1135 1136 -f 1094 1095 1136 -f 1095 1136 1137 -f 1095 1096 1137 -f 1096 1137 1138 -f 1096 1097 1138 -f 1097 1138 1139 -f 1097 1098 1139 -f 1098 1139 1140 -f 1098 1099 1140 -f 1099 1140 1141 -f 1099 1100 1141 -f 1100 1141 1142 -f 1100 1101 1142 -f 1101 1142 1143 -f 1101 1102 1143 -f 1102 1143 1144 -f 1102 1103 1144 -f 1103 1144 1145 -f 1103 1104 1145 -f 1104 1145 1146 -f 1104 1105 1146 -f 1105 1146 1147 -f 1105 1106 1147 -f 1106 1147 1148 -f 1106 1107 1148 -f 1108 1149 1150 -f 1108 1109 1150 -f 1109 1150 1151 -f 1109 1110 1151 -f 1110 1151 1152 -f 1110 1111 1152 -f 1111 1152 1153 -f 1111 1112 1153 -f 1112 1153 1154 -f 1112 1113 1154 -f 1113 1154 1155 -f 1113 1114 1155 -f 1114 1155 1156 -f 1114 1115 1156 -f 1115 1156 1157 -f 1115 1116 1157 -f 1116 1157 1158 -f 1116 1117 1158 -f 1117 1158 1159 -f 1117 1118 1159 -f 1118 1159 1160 -f 1118 1119 1160 -f 1119 1160 1161 -f 1119 1120 1161 -f 1120 1161 1162 -f 1120 1121 1162 -f 1121 1162 1163 -f 1121 1122 1163 -f 1122 1163 1164 -f 1122 1123 1164 -f 1123 1164 1165 -f 1123 1124 1165 -f 1124 1165 1166 -f 1124 1125 1166 -f 1125 1166 1167 -f 1125 1126 1167 -f 1126 1167 1168 -f 1126 1127 1168 -f 1127 1168 1169 -f 1127 1128 1169 -f 1128 1169 1170 -f 1128 1129 1170 -f 1129 1170 1171 -f 1129 1130 1171 -f 1130 1171 1172 -f 1130 1131 1172 -f 1131 1172 1173 -f 1131 1132 1173 -f 1132 1173 1174 -f 1132 1133 1174 -f 1133 1174 1175 -f 1133 1134 1175 -f 1134 1175 1176 -f 1134 1135 1176 -f 1135 1176 1177 -f 1135 1136 1177 -f 1136 1177 1178 -f 1136 1137 1178 -f 1137 1178 1179 -f 1137 1138 1179 -f 1138 1179 1180 -f 1138 1139 1180 -f 1139 1180 1181 -f 1139 1140 1181 -f 1140 1181 1182 -f 1140 1141 1182 -f 1141 1182 1183 -f 1141 1142 1183 -f 1142 1183 1184 -f 1142 1143 1184 -f 1143 1184 1185 -f 1143 1144 1185 -f 1144 1185 1186 -f 1144 1145 1186 -f 1145 1186 1187 -f 1145 1146 1187 -f 1146 1187 1188 -f 1146 1147 1188 -f 1147 1188 1189 -f 1147 1148 1189 -f 1149 1190 1191 -f 1149 1150 1191 -f 1150 1191 1192 -f 1150 1151 1192 -f 1151 1192 1193 -f 1151 1152 1193 -f 1152 1193 1194 -f 1152 1153 1194 -f 1153 1194 1195 -f 1153 1154 1195 -f 1154 1195 1196 -f 1154 1155 1196 -f 1155 1196 1197 -f 1155 1156 1197 -f 1156 1197 1198 -f 1156 1157 1198 -f 1157 1198 1199 -f 1157 1158 1199 -f 1158 1199 1200 -f 1158 1159 1200 -f 1159 1200 1201 -f 1159 1160 1201 -f 1160 1201 1202 -f 1160 1161 1202 -f 1161 1202 1203 -f 1161 1162 1203 -f 1162 1203 1204 -f 1162 1163 1204 -f 1163 1204 1205 -f 1163 1164 1205 -f 1164 1205 1206 -f 1164 1165 1206 -f 1165 1206 1207 -f 1165 1166 1207 -f 1166 1207 1208 -f 1166 1167 1208 -f 1167 1208 1209 -f 1167 1168 1209 -f 1168 1209 1210 -f 1168 1169 1210 -f 1169 1210 1211 -f 1169 1170 1211 -f 1170 1211 1212 -f 1170 1171 1212 -f 1171 1212 1213 -f 1171 1172 1213 -f 1172 1213 1214 -f 1172 1173 1214 -f 1173 1214 1215 -f 1173 1174 1215 -f 1174 1215 1216 -f 1174 1175 1216 -f 1175 1216 1217 -f 1175 1176 1217 -f 1176 1217 1218 -f 1176 1177 1218 -f 1177 1218 1219 -f 1177 1178 1219 -f 1178 1219 1220 -f 1178 1179 1220 -f 1179 1220 1221 -f 1179 1180 1221 -f 1180 1221 1222 -f 1180 1181 1222 -f 1181 1222 1223 -f 1181 1182 1223 -f 1182 1223 1224 -f 1182 1183 1224 -f 1183 1224 1225 -f 1183 1184 1225 -f 1184 1225 1226 -f 1184 1185 1226 -f 1185 1226 1227 -f 1185 1186 1227 -f 1186 1227 1228 -f 1186 1187 1228 -f 1187 1228 1229 -f 1187 1188 1229 -f 1188 1229 1230 -f 1188 1189 1230 -f 1190 1231 1232 -f 1190 1191 1232 -f 1191 1232 1233 -f 1191 1192 1233 -f 1192 1233 1234 -f 1192 1193 1234 -f 1193 1234 1235 -f 1193 1194 1235 -f 1194 1235 1236 -f 1194 1195 1236 -f 1195 1236 1237 -f 1195 1196 1237 -f 1196 1237 1238 -f 1196 1197 1238 -f 1197 1238 1239 -f 1197 1198 1239 -f 1198 1239 1240 -f 1198 1199 1240 -f 1199 1240 1241 -f 1199 1200 1241 -f 1200 1241 1242 -f 1200 1201 1242 -f 1201 1242 1243 -f 1201 1202 1243 -f 1202 1243 1244 -f 1202 1203 1244 -f 1203 1244 1245 -f 1203 1204 1245 -f 1204 1245 1246 -f 1204 1205 1246 -f 1205 1246 1247 -f 1205 1206 1247 -f 1206 1247 1248 -f 1206 1207 1248 -f 1207 1248 1249 -f 1207 1208 1249 -f 1208 1249 1250 -f 1208 1209 1250 -f 1209 1250 1251 -f 1209 1210 1251 -f 1210 1251 1252 -f 1210 1211 1252 -f 1211 1252 1253 -f 1211 1212 1253 -f 1212 1253 1254 -f 1212 1213 1254 -f 1213 1254 1255 -f 1213 1214 1255 -f 1214 1255 1256 -f 1214 1215 1256 -f 1215 1256 1257 -f 1215 1216 1257 -f 1216 1257 1258 -f 1216 1217 1258 -f 1217 1258 1259 -f 1217 1218 1259 -f 1218 1259 1260 -f 1218 1219 1260 -f 1219 1260 1261 -f 1219 1220 1261 -f 1220 1261 1262 -f 1220 1221 1262 -f 1221 1262 1263 -f 1221 1222 1263 -f 1222 1263 1264 -f 1222 1223 1264 -f 1223 1264 1265 -f 1223 1224 1265 -f 1224 1265 1266 -f 1224 1225 1266 -f 1225 1266 1267 -f 1225 1226 1267 -f 1226 1267 1268 -f 1226 1227 1268 -f 1227 1268 1269 -f 1227 1228 1269 -f 1228 1269 1270 -f 1228 1229 1270 -f 1229 1270 1271 -f 1229 1230 1271 -f 1231 1272 1273 -f 1231 1232 1273 -f 1232 1273 1274 -f 1232 1233 1274 -f 1233 1274 1275 -f 1233 1234 1275 -f 1234 1275 1276 -f 1234 1235 1276 -f 1235 1276 1277 -f 1235 1236 1277 -f 1236 1277 1278 -f 1236 1237 1278 -f 1237 1278 1279 -f 1237 1238 1279 -f 1238 1279 1280 -f 1238 1239 1280 -f 1239 1280 1281 -f 1239 1240 1281 -f 1240 1281 1282 -f 1240 1241 1282 -f 1241 1282 1283 -f 1241 1242 1283 -f 1242 1283 1284 -f 1242 1243 1284 -f 1243 1284 1285 -f 1243 1244 1285 -f 1244 1285 1286 -f 1244 1245 1286 -f 1245 1286 1287 -f 1245 1246 1287 -f 1246 1287 1288 -f 1246 1247 1288 -f 1247 1288 1289 -f 1247 1248 1289 -f 1248 1289 1290 -f 1248 1249 1290 -f 1249 1290 1291 -f 1249 1250 1291 -f 1250 1291 1292 -f 1250 1251 1292 -f 1251 1292 1293 -f 1251 1252 1293 -f 1252 1293 1294 -f 1252 1253 1294 -f 1253 1294 1295 -f 1253 1254 1295 -f 1254 1295 1296 -f 1254 1255 1296 -f 1255 1296 1297 -f 1255 1256 1297 -f 1256 1297 1298 -f 1256 1257 1298 -f 1257 1298 1299 -f 1257 1258 1299 -f 1258 1299 1300 -f 1258 1259 1300 -f 1259 1300 1301 -f 1259 1260 1301 -f 1260 1301 1302 -f 1260 1261 1302 -f 1261 1302 1303 -f 1261 1262 1303 -f 1262 1303 1304 -f 1262 1263 1304 -f 1263 1304 1305 -f 1263 1264 1305 -f 1264 1305 1306 -f 1264 1265 1306 -f 1265 1306 1307 -f 1265 1266 1307 -f 1266 1307 1308 -f 1266 1267 1308 -f 1267 1308 1309 -f 1267 1268 1309 -f 1268 1309 1310 -f 1268 1269 1310 -f 1269 1310 1311 -f 1269 1270 1311 -f 1270 1311 1312 -f 1270 1271 1312 -f 1272 1313 1314 -f 1272 1273 1314 -f 1273 1314 1315 -f 1273 1274 1315 -f 1274 1315 1316 -f 1274 1275 1316 -f 1275 1316 1317 -f 1275 1276 1317 -f 1276 1317 1318 -f 1276 1277 1318 -f 1277 1318 1319 -f 1277 1278 1319 -f 1278 1319 1320 -f 1278 1279 1320 -f 1279 1320 1321 -f 1279 1280 1321 -f 1280 1321 1322 -f 1280 1281 1322 -f 1281 1322 1323 -f 1281 1282 1323 -f 1282 1323 1324 -f 1282 1283 1324 -f 1283 1324 1325 -f 1283 1284 1325 -f 1284 1325 1326 -f 1284 1285 1326 -f 1285 1326 1327 -f 1285 1286 1327 -f 1286 1327 1328 -f 1286 1287 1328 -f 1287 1328 1329 -f 1287 1288 1329 -f 1288 1329 1330 -f 1288 1289 1330 -f 1289 1330 1331 -f 1289 1290 1331 -f 1290 1331 1332 -f 1290 1291 1332 -f 1291 1332 1333 -f 1291 1292 1333 -f 1292 1333 1334 -f 1292 1293 1334 -f 1293 1334 1335 -f 1293 1294 1335 -f 1294 1335 1336 -f 1294 1295 1336 -f 1295 1336 1337 -f 1295 1296 1337 -f 1296 1337 1338 -f 1296 1297 1338 -f 1297 1338 1339 -f 1297 1298 1339 -f 1298 1339 1340 -f 1298 1299 1340 -f 1299 1340 1341 -f 1299 1300 1341 -f 1300 1341 1342 -f 1300 1301 1342 -f 1301 1342 1343 -f 1301 1302 1343 -f 1302 1343 1344 -f 1302 1303 1344 -f 1303 1344 1345 -f 1303 1304 1345 -f 1304 1345 1346 -f 1304 1305 1346 -f 1305 1346 1347 -f 1305 1306 1347 -f 1306 1347 1348 -f 1306 1307 1348 -f 1307 1348 1349 -f 1307 1308 1349 -f 1308 1349 1350 -f 1308 1309 1350 -f 1309 1350 1351 -f 1309 1310 1351 -f 1310 1351 1352 -f 1310 1311 1352 -f 1311 1352 1353 -f 1311 1312 1353 -f 1313 1354 1355 -f 1313 1314 1355 -f 1314 1355 1356 -f 1314 1315 1356 -f 1315 1356 1357 -f 1315 1316 1357 -f 1316 1357 1358 -f 1316 1317 1358 -f 1317 1358 1359 -f 1317 1318 1359 -f 1318 1359 1360 -f 1318 1319 1360 -f 1319 1360 1361 -f 1319 1320 1361 -f 1320 1361 1362 -f 1320 1321 1362 -f 1321 1362 1363 -f 1321 1322 1363 -f 1322 1363 1364 -f 1322 1323 1364 -f 1323 1364 1365 -f 1323 1324 1365 -f 1324 1365 1366 -f 1324 1325 1366 -f 1325 1366 1367 -f 1325 1326 1367 -f 1326 1367 1368 -f 1326 1327 1368 -f 1327 1368 1369 -f 1327 1328 1369 -f 1328 1369 1370 -f 1328 1329 1370 -f 1329 1370 1371 -f 1329 1330 1371 -f 1330 1371 1372 -f 1330 1331 1372 -f 1331 1372 1373 -f 1331 1332 1373 -f 1332 1373 1374 -f 1332 1333 1374 -f 1333 1374 1375 -f 1333 1334 1375 -f 1334 1375 1376 -f 1334 1335 1376 -f 1335 1376 1377 -f 1335 1336 1377 -f 1336 1377 1378 -f 1336 1337 1378 -f 1337 1378 1379 -f 1337 1338 1379 -f 1338 1379 1380 -f 1338 1339 1380 -f 1339 1380 1381 -f 1339 1340 1381 -f 1340 1381 1382 -f 1340 1341 1382 -f 1341 1382 1383 -f 1341 1342 1383 -f 1342 1383 1384 -f 1342 1343 1384 -f 1343 1384 1385 -f 1343 1344 1385 -f 1344 1385 1386 -f 1344 1345 1386 -f 1345 1386 1387 -f 1345 1346 1387 -f 1346 1387 1388 -f 1346 1347 1388 -f 1347 1388 1389 -f 1347 1348 1389 -f 1348 1389 1390 -f 1348 1349 1390 -f 1349 1390 1391 -f 1349 1350 1391 -f 1350 1391 1392 -f 1350 1351 1392 -f 1351 1392 1393 -f 1351 1352 1393 -f 1352 1393 1394 -f 1352 1353 1394 -f 1354 1395 1396 -f 1354 1355 1396 -f 1355 1396 1397 -f 1355 1356 1397 -f 1356 1397 1398 -f 1356 1357 1398 -f 1357 1398 1399 -f 1357 1358 1399 -f 1358 1399 1400 -f 1358 1359 1400 -f 1359 1400 1401 -f 1359 1360 1401 -f 1360 1401 1402 -f 1360 1361 1402 -f 1361 1402 1403 -f 1361 1362 1403 -f 1362 1403 1404 -f 1362 1363 1404 -f 1363 1404 1405 -f 1363 1364 1405 -f 1364 1405 1406 -f 1364 1365 1406 -f 1365 1406 1407 -f 1365 1366 1407 -f 1366 1407 1408 -f 1366 1367 1408 -f 1367 1408 1409 -f 1367 1368 1409 -f 1368 1409 1410 -f 1368 1369 1410 -f 1369 1410 1411 -f 1369 1370 1411 -f 1370 1411 1412 -f 1370 1371 1412 -f 1371 1412 1413 -f 1371 1372 1413 -f 1372 1413 1414 -f 1372 1373 1414 -f 1373 1414 1415 -f 1373 1374 1415 -f 1374 1415 1416 -f 1374 1375 1416 -f 1375 1416 1417 -f 1375 1376 1417 -f 1376 1417 1418 -f 1376 1377 1418 -f 1377 1418 1419 -f 1377 1378 1419 -f 1378 1419 1420 -f 1378 1379 1420 -f 1379 1420 1421 -f 1379 1380 1421 -f 1380 1421 1422 -f 1380 1381 1422 -f 1381 1422 1423 -f 1381 1382 1423 -f 1382 1423 1424 -f 1382 1383 1424 -f 1383 1424 1425 -f 1383 1384 1425 -f 1384 1425 1426 -f 1384 1385 1426 -f 1385 1426 1427 -f 1385 1386 1427 -f 1386 1427 1428 -f 1386 1387 1428 -f 1387 1428 1429 -f 1387 1388 1429 -f 1388 1429 1430 -f 1388 1389 1430 -f 1389 1430 1431 -f 1389 1390 1431 -f 1390 1431 1432 -f 1390 1391 1432 -f 1391 1432 1433 -f 1391 1392 1433 -f 1392 1433 1434 -f 1392 1393 1434 -f 1393 1434 1435 -f 1393 1394 1435 -f 1395 1436 1437 -f 1395 1396 1437 -f 1396 1437 1438 -f 1396 1397 1438 -f 1397 1438 1439 -f 1397 1398 1439 -f 1398 1439 1440 -f 1398 1399 1440 -f 1399 1440 1441 -f 1399 1400 1441 -f 1400 1441 1442 -f 1400 1401 1442 -f 1401 1442 1443 -f 1401 1402 1443 -f 1402 1443 1444 -f 1402 1403 1444 -f 1403 1444 1445 -f 1403 1404 1445 -f 1404 1445 1446 -f 1404 1405 1446 -f 1405 1446 1447 -f 1405 1406 1447 -f 1406 1447 1448 -f 1406 1407 1448 -f 1407 1448 1449 -f 1407 1408 1449 -f 1408 1449 1450 -f 1408 1409 1450 -f 1409 1450 1451 -f 1409 1410 1451 -f 1410 1451 1452 -f 1410 1411 1452 -f 1411 1452 1453 -f 1411 1412 1453 -f 1412 1453 1454 -f 1412 1413 1454 -f 1413 1454 1455 -f 1413 1414 1455 -f 1414 1455 1456 -f 1414 1415 1456 -f 1415 1456 1457 -f 1415 1416 1457 -f 1416 1457 1458 -f 1416 1417 1458 -f 1417 1458 1459 -f 1417 1418 1459 -f 1418 1459 1460 -f 1418 1419 1460 -f 1419 1460 1461 -f 1419 1420 1461 -f 1420 1461 1462 -f 1420 1421 1462 -f 1421 1462 1463 -f 1421 1422 1463 -f 1422 1463 1464 -f 1422 1423 1464 -f 1423 1464 1465 -f 1423 1424 1465 -f 1424 1465 1466 -f 1424 1425 1466 -f 1425 1466 1467 -f 1425 1426 1467 -f 1426 1467 1468 -f 1426 1427 1468 -f 1427 1468 1469 -f 1427 1428 1469 -f 1428 1469 1470 -f 1428 1429 1470 -f 1429 1470 1471 -f 1429 1430 1471 -f 1430 1471 1472 -f 1430 1431 1472 -f 1431 1472 1473 -f 1431 1432 1473 -f 1432 1473 1474 -f 1432 1433 1474 -f 1433 1474 1475 -f 1433 1434 1475 -f 1434 1475 1476 -f 1434 1435 1476 -f 1436 1477 1478 -f 1436 1437 1478 -f 1437 1478 1479 -f 1437 1438 1479 -f 1438 1479 1480 -f 1438 1439 1480 -f 1439 1480 1481 -f 1439 1440 1481 -f 1440 1481 1482 -f 1440 1441 1482 -f 1441 1482 1483 -f 1441 1442 1483 -f 1442 1483 1484 -f 1442 1443 1484 -f 1443 1484 1485 -f 1443 1444 1485 -f 1444 1485 1486 -f 1444 1445 1486 -f 1445 1486 1487 -f 1445 1446 1487 -f 1446 1487 1488 -f 1446 1447 1488 -f 1447 1488 1489 -f 1447 1448 1489 -f 1448 1489 1490 -f 1448 1449 1490 -f 1449 1490 1491 -f 1449 1450 1491 -f 1450 1491 1492 -f 1450 1451 1492 -f 1451 1492 1493 -f 1451 1452 1493 -f 1452 1493 1494 -f 1452 1453 1494 -f 1453 1494 1495 -f 1453 1454 1495 -f 1454 1495 1496 -f 1454 1455 1496 -f 1455 1496 1497 -f 1455 1456 1497 -f 1456 1497 1498 -f 1456 1457 1498 -f 1457 1498 1499 -f 1457 1458 1499 -f 1458 1499 1500 -f 1458 1459 1500 -f 1459 1500 1501 -f 1459 1460 1501 -f 1460 1501 1502 -f 1460 1461 1502 -f 1461 1502 1503 -f 1461 1462 1503 -f 1462 1503 1504 -f 1462 1463 1504 -f 1463 1504 1505 -f 1463 1464 1505 -f 1464 1505 1506 -f 1464 1465 1506 -f 1465 1506 1507 -f 1465 1466 1507 -f 1466 1507 1508 -f 1466 1467 1508 -f 1467 1508 1509 -f 1467 1468 1509 -f 1468 1509 1510 -f 1468 1469 1510 -f 1469 1510 1511 -f 1469 1470 1511 -f 1470 1511 1512 -f 1470 1471 1512 -f 1471 1512 1513 -f 1471 1472 1513 -f 1472 1513 1514 -f 1472 1473 1514 -f 1473 1514 1515 -f 1473 1474 1515 -f 1474 1515 1516 -f 1474 1475 1516 -f 1475 1516 1517 -f 1475 1476 1517 -f 1477 1518 1519 -f 1477 1478 1519 -f 1478 1519 1520 -f 1478 1479 1520 -f 1479 1520 1521 -f 1479 1480 1521 -f 1480 1521 1522 -f 1480 1481 1522 -f 1481 1522 1523 -f 1481 1482 1523 -f 1482 1523 1524 -f 1482 1483 1524 -f 1483 1524 1525 -f 1483 1484 1525 -f 1484 1525 1526 -f 1484 1485 1526 -f 1485 1526 1527 -f 1485 1486 1527 -f 1486 1527 1528 -f 1486 1487 1528 -f 1487 1528 1529 -f 1487 1488 1529 -f 1488 1529 1530 -f 1488 1489 1530 -f 1489 1530 1531 -f 1489 1490 1531 -f 1490 1531 1532 -f 1490 1491 1532 -f 1491 1532 1533 -f 1491 1492 1533 -f 1492 1533 1534 -f 1492 1493 1534 -f 1493 1534 1535 -f 1493 1494 1535 -f 1494 1535 1536 -f 1494 1495 1536 -f 1495 1536 1537 -f 1495 1496 1537 -f 1496 1537 1538 -f 1496 1497 1538 -f 1497 1538 1539 -f 1497 1498 1539 -f 1498 1539 1540 -f 1498 1499 1540 -f 1499 1540 1541 -f 1499 1500 1541 -f 1500 1541 1542 -f 1500 1501 1542 -f 1501 1542 1543 -f 1501 1502 1543 -f 1502 1543 1544 -f 1502 1503 1544 -f 1503 1544 1545 -f 1503 1504 1545 -f 1504 1545 1546 -f 1504 1505 1546 -f 1505 1546 1547 -f 1505 1506 1547 -f 1506 1547 1548 -f 1506 1507 1548 -f 1507 1548 1549 -f 1507 1508 1549 -f 1508 1549 1550 -f 1508 1509 1550 -f 1509 1550 1551 -f 1509 1510 1551 -f 1510 1551 1552 -f 1510 1511 1552 -f 1511 1552 1553 -f 1511 1512 1553 -f 1512 1553 1554 -f 1512 1513 1554 -f 1513 1554 1555 -f 1513 1514 1555 -f 1514 1555 1556 -f 1514 1515 1556 -f 1515 1556 1557 -f 1515 1516 1557 -f 1516 1557 1558 -f 1516 1517 1558 -f 1518 1559 1560 -f 1518 1519 1560 -f 1519 1560 1561 -f 1519 1520 1561 -f 1520 1561 1562 -f 1520 1521 1562 -f 1521 1562 1563 -f 1521 1522 1563 -f 1522 1563 1564 -f 1522 1523 1564 -f 1523 1564 1565 -f 1523 1524 1565 -f 1524 1565 1566 -f 1524 1525 1566 -f 1525 1566 1567 -f 1525 1526 1567 -f 1526 1567 1568 -f 1526 1527 1568 -f 1527 1568 1569 -f 1527 1528 1569 -f 1528 1569 1570 -f 1528 1529 1570 -f 1529 1570 1571 -f 1529 1530 1571 -f 1530 1571 1572 -f 1530 1531 1572 -f 1531 1572 1573 -f 1531 1532 1573 -f 1532 1573 1574 -f 1532 1533 1574 -f 1533 1574 1575 -f 1533 1534 1575 -f 1534 1575 1576 -f 1534 1535 1576 -f 1535 1576 1577 -f 1535 1536 1577 -f 1536 1577 1578 -f 1536 1537 1578 -f 1537 1578 1579 -f 1537 1538 1579 -f 1538 1579 1580 -f 1538 1539 1580 -f 1539 1580 1581 -f 1539 1540 1581 -f 1540 1581 1582 -f 1540 1541 1582 -f 1541 1582 1583 -f 1541 1542 1583 -f 1542 1583 1584 -f 1542 1543 1584 -f 1543 1584 1585 -f 1543 1544 1585 -f 1544 1585 1586 -f 1544 1545 1586 -f 1545 1586 1587 -f 1545 1546 1587 -f 1546 1587 1588 -f 1546 1547 1588 -f 1547 1588 1589 -f 1547 1548 1589 -f 1548 1589 1590 -f 1548 1549 1590 -f 1549 1590 1591 -f 1549 1550 1591 -f 1550 1591 1592 -f 1550 1551 1592 -f 1551 1592 1593 -f 1551 1552 1593 -f 1552 1593 1594 -f 1552 1553 1594 -f 1553 1594 1595 -f 1553 1554 1595 -f 1554 1595 1596 -f 1554 1555 1596 -f 1555 1596 1597 -f 1555 1556 1597 -f 1556 1597 1598 -f 1556 1557 1598 -f 1557 1598 1599 -f 1557 1558 1599 -f 1559 1600 1601 -f 1559 1560 1601 -f 1560 1601 1602 -f 1560 1561 1602 -f 1561 1602 1603 -f 1561 1562 1603 -f 1562 1603 1604 -f 1562 1563 1604 -f 1563 1604 1605 -f 1563 1564 1605 -f 1564 1605 1606 -f 1564 1565 1606 -f 1565 1606 1607 -f 1565 1566 1607 -f 1566 1607 1608 -f 1566 1567 1608 -f 1567 1608 1609 -f 1567 1568 1609 -f 1568 1609 1610 -f 1568 1569 1610 -f 1569 1610 1611 -f 1569 1570 1611 -f 1570 1611 1612 -f 1570 1571 1612 -f 1571 1612 1613 -f 1571 1572 1613 -f 1572 1613 1614 -f 1572 1573 1614 -f 1573 1614 1615 -f 1573 1574 1615 -f 1574 1615 1616 -f 1574 1575 1616 -f 1575 1616 1617 -f 1575 1576 1617 -f 1576 1617 1618 -f 1576 1577 1618 -f 1577 1618 1619 -f 1577 1578 1619 -f 1578 1619 1620 -f 1578 1579 1620 -f 1579 1620 1621 -f 1579 1580 1621 -f 1580 1621 1622 -f 1580 1581 1622 -f 1581 1622 1623 -f 1581 1582 1623 -f 1582 1623 1624 -f 1582 1583 1624 -f 1583 1624 1625 -f 1583 1584 1625 -f 1584 1625 1626 -f 1584 1585 1626 -f 1585 1626 1627 -f 1585 1586 1627 -f 1586 1627 1628 -f 1586 1587 1628 -f 1587 1628 1629 -f 1587 1588 1629 -f 1588 1629 1630 -f 1588 1589 1630 -f 1589 1630 1631 -f 1589 1590 1631 -f 1590 1631 1632 -f 1590 1591 1632 -f 1591 1632 1633 -f 1591 1592 1633 -f 1592 1633 1634 -f 1592 1593 1634 -f 1593 1634 1635 -f 1593 1594 1635 -f 1594 1635 1636 -f 1594 1595 1636 -f 1595 1636 1637 -f 1595 1596 1637 -f 1596 1637 1638 -f 1596 1597 1638 -f 1597 1638 1639 -f 1597 1598 1639 -f 1598 1639 1640 -f 1598 1599 1640 -f 1600 1641 1642 -f 1600 1601 1642 -f 1601 1642 1643 -f 1601 1602 1643 -f 1602 1643 1644 -f 1602 1603 1644 -f 1603 1644 1645 -f 1603 1604 1645 -f 1604 1645 1646 -f 1604 1605 1646 -f 1605 1646 1647 -f 1605 1606 1647 -f 1606 1647 1648 -f 1606 1607 1648 -f 1607 1648 1649 -f 1607 1608 1649 -f 1608 1649 1650 -f 1608 1609 1650 -f 1609 1650 1651 -f 1609 1610 1651 -f 1610 1651 1652 -f 1610 1611 1652 -f 1611 1652 1653 -f 1611 1612 1653 -f 1612 1653 1654 -f 1612 1613 1654 -f 1613 1654 1655 -f 1613 1614 1655 -f 1614 1655 1656 -f 1614 1615 1656 -f 1615 1656 1657 -f 1615 1616 1657 -f 1616 1657 1658 -f 1616 1617 1658 -f 1617 1658 1659 -f 1617 1618 1659 -f 1618 1659 1660 -f 1618 1619 1660 -f 1619 1660 1661 -f 1619 1620 1661 -f 1620 1661 1662 -f 1620 1621 1662 -f 1621 1662 1663 -f 1621 1622 1663 -f 1622 1663 1664 -f 1622 1623 1664 -f 1623 1664 1665 -f 1623 1624 1665 -f 1624 1665 1666 -f 1624 1625 1666 -f 1625 1666 1667 -f 1625 1626 1667 -f 1626 1667 1668 -f 1626 1627 1668 -f 1627 1668 1669 -f 1627 1628 1669 -f 1628 1669 1670 -f 1628 1629 1670 -f 1629 1670 1671 -f 1629 1630 1671 -f 1630 1671 1672 -f 1630 1631 1672 -f 1631 1672 1673 -f 1631 1632 1673 -f 1632 1673 1674 -f 1632 1633 1674 -f 1633 1674 1675 -f 1633 1634 1675 -f 1634 1675 1676 -f 1634 1635 1676 -f 1635 1676 1677 -f 1635 1636 1677 -f 1636 1677 1678 -f 1636 1637 1678 -f 1637 1678 1679 -f 1637 1638 1679 -f 1638 1679 1680 -f 1638 1639 1680 -f 1639 1680 1681 -f 1639 1640 1681 +f 1 2 3 +f 1 3 4 +f 1 4 5 +f 1 5 6 +f 1 6 7 +f 1 7 8 +f 1 8 9 +f 1 9 10 +f 1 10 11 +f 1 11 12 +f 1 12 13 +f 1 13 14 +f 1 14 15 +f 1 15 16 +f 1 16 17 +f 1 17 18 +f 1 18 19 +f 1 19 20 +f 1 20 21 +f 1 21 2 +f 2 23 24 +f 2 24 3 +f 3 24 25 +f 3 25 4 +f 4 25 26 +f 4 26 5 +f 5 26 27 +f 5 27 6 +f 6 27 28 +f 6 28 7 +f 7 28 29 +f 7 29 8 +f 8 29 30 +f 8 30 9 +f 9 30 31 +f 9 31 10 +f 10 31 32 +f 10 32 11 +f 11 32 33 +f 11 33 12 +f 12 33 34 +f 12 34 13 +f 13 34 35 +f 13 35 14 +f 14 35 36 +f 14 36 15 +f 15 36 37 +f 15 37 16 +f 16 37 38 +f 16 38 17 +f 17 38 39 +f 17 39 18 +f 18 39 40 +f 18 40 19 +f 19 40 41 +f 19 41 20 +f 20 41 42 +f 20 42 21 +f 21 42 43 +f 21 43 22 +f 23 44 45 +f 23 45 24 +f 24 45 46 +f 24 46 25 +f 25 46 47 +f 25 47 26 +f 26 47 48 +f 26 48 27 +f 27 48 49 +f 27 49 28 +f 28 49 50 +f 28 50 29 +f 29 50 51 +f 29 51 30 +f 30 51 52 +f 30 52 31 +f 31 52 53 +f 31 53 32 +f 32 53 54 +f 32 54 33 +f 33 54 55 +f 33 55 34 +f 34 55 56 +f 34 56 35 +f 35 56 57 +f 35 57 36 +f 36 57 58 +f 36 58 37 +f 37 58 59 +f 37 59 38 +f 38 59 60 +f 38 60 39 +f 39 60 61 +f 39 61 40 +f 40 61 62 +f 40 62 41 +f 41 62 63 +f 41 63 42 +f 42 63 64 +f 42 64 43 +f 44 65 66 +f 44 66 45 +f 45 66 67 +f 45 67 46 +f 46 67 68 +f 46 68 47 +f 47 68 69 +f 47 69 48 +f 48 69 70 +f 48 70 49 +f 49 70 71 +f 49 71 50 +f 50 71 72 +f 50 72 51 +f 51 72 73 +f 51 73 52 +f 52 73 74 +f 52 74 53 +f 53 74 75 +f 53 75 54 +f 54 75 76 +f 54 76 55 +f 55 76 77 +f 55 77 56 +f 56 77 78 +f 56 78 57 +f 57 78 79 +f 57 79 58 +f 58 79 80 +f 58 80 59 +f 59 80 81 +f 59 81 60 +f 60 81 82 +f 60 82 61 +f 61 82 83 +f 61 83 62 +f 62 83 84 +f 62 84 63 +f 63 84 85 +f 63 85 64 +f 65 86 87 +f 65 87 66 +f 66 87 88 +f 66 88 67 +f 67 88 89 +f 67 89 68 +f 68 89 90 +f 68 90 69 +f 69 90 91 +f 69 91 70 +f 70 91 92 +f 70 92 71 +f 71 92 93 +f 71 93 72 +f 72 93 94 +f 72 94 73 +f 73 94 95 +f 73 95 74 +f 74 95 96 +f 74 96 75 +f 75 96 97 +f 75 97 76 +f 76 97 98 +f 76 98 77 +f 77 98 99 +f 77 99 78 +f 78 99 100 +f 78 100 79 +f 79 100 101 +f 79 101 80 +f 80 101 102 +f 80 102 81 +f 81 102 103 +f 81 103 82 +f 82 103 104 +f 82 104 83 +f 83 104 105 +f 83 105 84 +f 84 105 106 +f 84 106 85 +f 86 107 108 +f 86 108 87 +f 87 108 109 +f 87 109 88 +f 88 109 110 +f 88 110 89 +f 89 110 111 +f 89 111 90 +f 90 111 112 +f 90 112 91 +f 91 112 113 +f 91 113 92 +f 92 113 114 +f 92 114 93 +f 93 114 115 +f 93 115 94 +f 94 115 116 +f 94 116 95 +f 95 116 117 +f 95 117 96 +f 96 117 118 +f 96 118 97 +f 97 118 119 +f 97 119 98 +f 98 119 120 +f 98 120 99 +f 99 120 121 +f 99 121 100 +f 100 121 122 +f 100 122 101 +f 101 122 123 +f 101 123 102 +f 102 123 124 +f 102 124 103 +f 103 124 125 +f 103 125 104 +f 104 125 126 +f 104 126 105 +f 105 126 127 +f 105 127 106 +f 107 128 129 +f 107 129 108 +f 108 129 130 +f 108 130 109 +f 109 130 131 +f 109 131 110 +f 110 131 132 +f 110 132 111 +f 111 132 133 +f 111 133 112 +f 112 133 134 +f 112 134 113 +f 113 134 135 +f 113 135 114 +f 114 135 136 +f 114 136 115 +f 115 136 137 +f 115 137 116 +f 116 137 138 +f 116 138 117 +f 117 138 139 +f 117 139 118 +f 118 139 140 +f 118 140 119 +f 119 140 141 +f 119 141 120 +f 120 141 142 +f 120 142 121 +f 121 142 143 +f 121 143 122 +f 122 143 144 +f 122 144 123 +f 123 144 145 +f 123 145 124 +f 124 145 146 +f 124 146 125 +f 125 146 147 +f 125 147 126 +f 126 147 148 +f 126 148 127 +f 128 149 150 +f 128 150 129 +f 129 150 151 +f 129 151 130 +f 130 151 152 +f 130 152 131 +f 131 152 153 +f 131 153 132 +f 132 153 154 +f 132 154 133 +f 133 154 155 +f 133 155 134 +f 134 155 156 +f 134 156 135 +f 135 156 157 +f 135 157 136 +f 136 157 158 +f 136 158 137 +f 137 158 159 +f 137 159 138 +f 138 159 160 +f 138 160 139 +f 139 160 161 +f 139 161 140 +f 140 161 162 +f 140 162 141 +f 141 162 163 +f 141 163 142 +f 142 163 164 +f 142 164 143 +f 143 164 165 +f 143 165 144 +f 144 165 166 +f 144 166 145 +f 145 166 167 +f 145 167 146 +f 146 167 168 +f 146 168 147 +f 147 168 169 +f 147 169 148 +f 149 170 171 +f 149 171 150 +f 150 171 172 +f 150 172 151 +f 151 172 173 +f 151 173 152 +f 152 173 174 +f 152 174 153 +f 153 174 175 +f 153 175 154 +f 154 175 176 +f 154 176 155 +f 155 176 177 +f 155 177 156 +f 156 177 178 +f 156 178 157 +f 157 178 179 +f 157 179 158 +f 158 179 180 +f 158 180 159 +f 159 180 181 +f 159 181 160 +f 160 181 182 +f 160 182 161 +f 161 182 183 +f 161 183 162 +f 162 183 184 +f 162 184 163 +f 163 184 185 +f 163 185 164 +f 164 185 186 +f 164 186 165 +f 165 186 187 +f 165 187 166 +f 166 187 188 +f 166 188 167 +f 167 188 189 +f 167 189 168 +f 168 189 190 +f 168 190 169 +f 170 191 192 +f 170 192 171 +f 171 192 193 +f 171 193 172 +f 172 193 194 +f 172 194 173 +f 173 194 195 +f 173 195 174 +f 174 195 196 +f 174 196 175 +f 175 196 197 +f 175 197 176 +f 176 197 198 +f 176 198 177 +f 177 198 199 +f 177 199 178 +f 178 199 200 +f 178 200 179 +f 179 200 201 +f 179 201 180 +f 180 201 202 +f 180 202 181 +f 181 202 203 +f 181 203 182 +f 182 203 204 +f 182 204 183 +f 183 204 205 +f 183 205 184 +f 184 205 206 +f 184 206 185 +f 185 206 207 +f 185 207 186 +f 186 207 208 +f 186 208 187 +f 187 208 209 +f 187 209 188 +f 188 209 210 +f 188 210 189 +f 189 210 211 +f 189 211 190 +f 191 212 213 +f 191 213 192 +f 192 213 214 +f 192 214 193 +f 193 214 215 +f 193 215 194 +f 194 215 216 +f 194 216 195 +f 195 216 217 +f 195 217 196 +f 196 217 218 +f 196 218 197 +f 197 218 219 +f 197 219 198 +f 198 219 220 +f 198 220 199 +f 199 220 221 +f 199 221 200 +f 200 221 222 +f 200 222 201 +f 201 222 223 +f 201 223 202 +f 202 223 224 +f 202 224 203 +f 203 224 225 +f 203 225 204 +f 204 225 226 +f 204 226 205 +f 205 226 227 +f 205 227 206 +f 206 227 228 +f 206 228 207 +f 207 228 229 +f 207 229 208 +f 208 229 230 +f 208 230 209 +f 209 230 231 +f 209 231 210 +f 210 231 232 +f 210 232 211 +f 212 233 234 +f 212 234 213 +f 213 234 235 +f 213 235 214 +f 214 235 236 +f 214 236 215 +f 215 236 237 +f 215 237 216 +f 216 237 238 +f 216 238 217 +f 217 238 239 +f 217 239 218 +f 218 239 240 +f 218 240 219 +f 219 240 241 +f 219 241 220 +f 220 241 242 +f 220 242 221 +f 221 242 243 +f 221 243 222 +f 222 243 244 +f 222 244 223 +f 223 244 245 +f 223 245 224 +f 224 245 246 +f 224 246 225 +f 225 246 247 +f 225 247 226 +f 226 247 248 +f 226 248 227 +f 227 248 249 +f 227 249 228 +f 228 249 250 +f 228 250 229 +f 229 250 251 +f 229 251 230 +f 230 251 252 +f 230 252 231 +f 231 252 253 +f 231 253 232 +f 233 254 255 +f 233 255 234 +f 234 255 256 +f 234 256 235 +f 235 256 257 +f 235 257 236 +f 236 257 258 +f 236 258 237 +f 237 258 259 +f 237 259 238 +f 238 259 260 +f 238 260 239 +f 239 260 261 +f 239 261 240 +f 240 261 262 +f 240 262 241 +f 241 262 263 +f 241 263 242 +f 242 263 264 +f 242 264 243 +f 243 264 265 +f 243 265 244 +f 244 265 266 +f 244 266 245 +f 245 266 267 +f 245 267 246 +f 246 267 268 +f 246 268 247 +f 247 268 269 +f 247 269 248 +f 248 269 270 +f 248 270 249 +f 249 270 271 +f 249 271 250 +f 250 271 272 +f 250 272 251 +f 251 272 273 +f 251 273 252 +f 252 273 274 +f 252 274 253 +f 254 275 276 +f 254 276 255 +f 255 276 277 +f 255 277 256 +f 256 277 278 +f 256 278 257 +f 257 278 279 +f 257 279 258 +f 258 279 280 +f 258 280 259 +f 259 280 281 +f 259 281 260 +f 260 281 282 +f 260 282 261 +f 261 282 283 +f 261 283 262 +f 262 283 284 +f 262 284 263 +f 263 284 285 +f 263 285 264 +f 264 285 286 +f 264 286 265 +f 265 286 287 +f 265 287 266 +f 266 287 288 +f 266 288 267 +f 267 288 289 +f 267 289 268 +f 268 289 290 +f 268 290 269 +f 269 290 291 +f 269 291 270 +f 270 291 292 +f 270 292 271 +f 271 292 293 +f 271 293 272 +f 272 293 294 +f 272 294 273 +f 273 294 295 +f 273 295 274 +f 275 296 297 +f 275 297 276 +f 276 297 298 +f 276 298 277 +f 277 298 299 +f 277 299 278 +f 278 299 300 +f 278 300 279 +f 279 300 301 +f 279 301 280 +f 280 301 302 +f 280 302 281 +f 281 302 303 +f 281 303 282 +f 282 303 304 +f 282 304 283 +f 283 304 305 +f 283 305 284 +f 284 305 306 +f 284 306 285 +f 285 306 307 +f 285 307 286 +f 286 307 308 +f 286 308 287 +f 287 308 309 +f 287 309 288 +f 288 309 310 +f 288 310 289 +f 289 310 311 +f 289 311 290 +f 290 311 312 +f 290 312 291 +f 291 312 313 +f 291 313 292 +f 292 313 314 +f 292 314 293 +f 293 314 315 +f 293 315 294 +f 294 315 316 +f 294 316 295 +f 296 317 318 +f 296 318 297 +f 297 318 319 +f 297 319 298 +f 298 319 320 +f 298 320 299 +f 299 320 321 +f 299 321 300 +f 300 321 322 +f 300 322 301 +f 301 322 323 +f 301 323 302 +f 302 323 324 +f 302 324 303 +f 303 324 325 +f 303 325 304 +f 304 325 326 +f 304 326 305 +f 305 326 327 +f 305 327 306 +f 306 327 328 +f 306 328 307 +f 307 328 329 +f 307 329 308 +f 308 329 330 +f 308 330 309 +f 309 330 331 +f 309 331 310 +f 310 331 332 +f 310 332 311 +f 311 332 333 +f 311 333 312 +f 312 333 334 +f 312 334 313 +f 313 334 335 +f 313 335 314 +f 314 335 336 +f 314 336 315 +f 315 336 337 +f 315 337 316 +f 317 338 339 +f 317 339 318 +f 318 339 340 +f 318 340 319 +f 319 340 341 +f 319 341 320 +f 320 341 342 +f 320 342 321 +f 321 342 343 +f 321 343 322 +f 322 343 344 +f 322 344 323 +f 323 344 345 +f 323 345 324 +f 324 345 346 +f 324 346 325 +f 325 346 347 +f 325 347 326 +f 326 347 348 +f 326 348 327 +f 327 348 349 +f 327 349 328 +f 328 349 350 +f 328 350 329 +f 329 350 351 +f 329 351 330 +f 330 351 352 +f 330 352 331 +f 331 352 353 +f 331 353 332 +f 332 353 354 +f 332 354 333 +f 333 354 355 +f 333 355 334 +f 334 355 356 +f 334 356 335 +f 335 356 357 +f 335 357 336 +f 336 357 358 +f 336 358 337 +f 338 359 360 +f 338 360 339 +f 339 360 361 +f 339 361 340 +f 340 361 362 +f 340 362 341 +f 341 362 363 +f 341 363 342 +f 342 363 364 +f 342 364 343 +f 343 364 365 +f 343 365 344 +f 344 365 366 +f 344 366 345 +f 345 366 367 +f 345 367 346 +f 346 367 368 +f 346 368 347 +f 347 368 369 +f 347 369 348 +f 348 369 370 +f 348 370 349 +f 349 370 371 +f 349 371 350 +f 350 371 372 +f 350 372 351 +f 351 372 373 +f 351 373 352 +f 352 373 374 +f 352 374 353 +f 353 374 375 +f 353 375 354 +f 354 375 376 +f 354 376 355 +f 355 376 377 +f 355 377 356 +f 356 377 378 +f 356 378 357 +f 357 378 379 +f 357 379 358 +f 359 380 381 +f 359 381 360 +f 360 381 382 +f 360 382 361 +f 361 382 383 +f 361 383 362 +f 362 383 384 +f 362 384 363 +f 363 384 385 +f 363 385 364 +f 364 385 386 +f 364 386 365 +f 365 386 387 +f 365 387 366 +f 366 387 388 +f 366 388 367 +f 367 388 389 +f 367 389 368 +f 368 389 390 +f 368 390 369 +f 369 390 391 +f 369 391 370 +f 370 391 392 +f 370 392 371 +f 371 392 393 +f 371 393 372 +f 372 393 394 +f 372 394 373 +f 373 394 395 +f 373 395 374 +f 374 395 396 +f 374 396 375 +f 375 396 397 +f 375 397 376 +f 376 397 398 +f 376 398 377 +f 377 398 399 +f 377 399 378 +f 378 399 400 +f 378 400 379 +f 380 401 402 +f 380 402 381 +f 381 402 403 +f 381 403 382 +f 382 403 404 +f 382 404 383 +f 383 404 405 +f 383 405 384 +f 384 405 406 +f 384 406 385 +f 385 406 407 +f 385 407 386 +f 386 407 408 +f 386 408 387 +f 387 408 409 +f 387 409 388 +f 388 409 410 +f 388 410 389 +f 389 410 411 +f 389 411 390 +f 390 411 412 +f 390 412 391 +f 391 412 413 +f 391 413 392 +f 392 413 414 +f 392 414 393 +f 393 414 415 +f 393 415 394 +f 394 415 416 +f 394 416 395 +f 395 416 417 +f 395 417 396 +f 396 417 418 +f 396 418 397 +f 397 418 419 +f 397 419 398 +f 398 419 420 +f 398 420 399 +f 399 420 421 +f 399 421 400 From 67b3792a6ac0d6bf9e286d3de8f154ff3f4705ed Mon Sep 17 00:00:00 2001 From: Voidbert Date: Thu, 20 Feb 2025 10:28:39 +0000 Subject: [PATCH 05/15] Use pkg-config in Makefile --- Makefile | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 1b294dab..6f66fe38 100644 --- a/Makefile +++ b/Makefile @@ -21,11 +21,13 @@ CPPFLAGS := -Iinclude -std=c++20 -Wall -Wextra -pedantic -Wshadow \ $(shell pkg-config --cflags glfw3) -DGLFW_INCLUDE_NONE \ $(shell pkg-config --cflags glm) \ $(shell pkg-config --cflags gl) \ + $(shell pkg-config --cflags tinyxml2) \ -Ilib/include -LIBS := -lm -Llib -ltinyxml2 \ - $(shell pkg-config --libs glfw3) \ - $(shell pkg-config --libs glm) \ - $(shell pkg-config --libs gl) \ +LIBS := -lm \ + $(shell pkg-config --libs glfw3) \ + $(shell pkg-config --libs glm) \ + $(shell pkg-config --libs gl) \ + $(shell pkg-config --libs tinyxml2) DEBUG_CPPFLAGS := -O0 -ggdb3 RELEASE_CPPFLAGS := -O2 From 2d107e8bc4425d285decc10fa8b4a7658f11ab3e Mon Sep 17 00:00:00 2001 From: Voidbert Date: Thu, 20 Feb 2025 10:31:07 +0000 Subject: [PATCH 06/15] Prepare Window for scene loading in runtime --- include/engine/Window.hpp | 6 ++++-- src/engine/Window.cpp | 15 ++++++++++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/include/engine/Window.hpp b/include/engine/Window.hpp index 0c381565..417829a5 100644 --- a/include/engine/Window.hpp +++ b/include/engine/Window.hpp @@ -30,8 +30,10 @@ class Window { ~Window(); void runLoop(); - int getWidth(); - int getHeight(); + void resize(int _width, int _height); + + int getWidth() const; + int getHeight() const; protected: GLFWwindow *getHandle(); diff --git a/src/engine/Window.cpp b/src/engine/Window.cpp index 80960488..538d040a 100644 --- a/src/engine/Window.cpp +++ b/src/engine/Window.cpp @@ -18,8 +18,10 @@ #include "engine/Window.hpp" namespace engine { + Window::Window(const std::string &title, int argWidth, int argHeight) : width(argWidth), height(argHeight) { + if (!glfwInit()) { throw std::runtime_error("Failed to initialize GLFW"); } @@ -27,6 +29,7 @@ Window::Window(const std::string &title, int argWidth, int argHeight) : glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 6); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); + glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE); this->handle = glfwCreateWindow(argWidth, argHeight, title.c_str(), NULL, NULL); if (!this->handle) { glfwTerminate(); @@ -51,8 +54,10 @@ Window::~Window() { } void Window::runLoop() { - double time = glfwGetTime(); + glfwShowWindow(this->handle); this->onResize(this->width, this->height); + + double time = glfwGetTime(); while (!glfwWindowShouldClose(this->handle)) { glfwSetWindowSizeCallback(this->handle, [](GLFWwindow *_handle, int _width, int _height) { Window *window = reinterpret_cast(glfwGetWindowUserPointer(_handle)); @@ -71,11 +76,15 @@ void Window::runLoop() { } } -int Window::getWidth() { +void Window::resize(int _width, int _height) { + glfwSetWindowSize(this->handle, _width, _height); +} + +int Window::getWidth() const { return this->width; } -int Window::getHeight() { +int Window::getHeight() const { return this->height; } From f9a8feb59d65e858d425b30f167223e92f864ddc Mon Sep 17 00:00:00 2001 From: Voidbert Date: Thu, 20 Feb 2025 20:11:28 +0000 Subject: [PATCH 07/15] Small code style and formatting fixes --- include/engine/Entity.hpp | 4 +--- src/engine/Entity.cpp | 7 +++---- src/engine/Model.cpp | 1 + src/engine/RenderPipeline.cpp | 1 + 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/include/engine/Entity.hpp b/include/engine/Entity.hpp index 4a305360..4b34ac62 100644 --- a/include/engine/Entity.hpp +++ b/include/engine/Entity.hpp @@ -14,10 +14,8 @@ #pragma once -#include #include #include -#include #include "engine/Model.hpp" #include "engine/RenderPipeline.hpp" @@ -27,7 +25,7 @@ class Entity { protected: std::unique_ptr model; glm::vec4 color; - // Phase 2 – Add Geometric Transforms + // TODO - Phase 2 – Add Geometric Transforms public: Entity(std::unique_ptr argModel, const glm::vec4 &argColor); diff --git a/src/engine/Entity.cpp b/src/engine/Entity.cpp index 6db10e76..790d201e 100644 --- a/src/engine/Entity.cpp +++ b/src/engine/Entity.cpp @@ -17,16 +17,15 @@ #include "engine/Model.hpp" namespace engine { -Entity::Entity(std::unique_ptr argModel, const glm::vec4 &argColor) { + +Entity::Entity(std::unique_ptr argModel, const glm::vec4 &argColor) { this->model = std::move(argModel); this->color = argColor; } void Entity::draw(const RenderPipeline &pipeline) const { pipeline.setColor(color); - if (model) { - model->draw(); - } + this->model->draw(); } } diff --git a/src/engine/Model.cpp b/src/engine/Model.cpp index ba4a7d93..45e891d5 100644 --- a/src/engine/Model.cpp +++ b/src/engine/Model.cpp @@ -57,4 +57,5 @@ void Model::draw() const { glBindVertexArray(this->vao); glDrawElements(GL_TRIANGLES, this->vertexCount, GL_UNSIGNED_INT, nullptr); } + } diff --git a/src/engine/RenderPipeline.cpp b/src/engine/RenderPipeline.cpp index b6fb882d..5da46e38 100644 --- a/src/engine/RenderPipeline.cpp +++ b/src/engine/RenderPipeline.cpp @@ -114,4 +114,5 @@ void RenderPipeline::assertProgramLinking() const { throw std::runtime_error("Program linking error: " + logMessage); } } + } From 0ede92f5122571f57a8caf01dcc504933ccc30ed Mon Sep 17 00:00:00 2001 From: Voidbert Date: Fri, 21 Feb 2025 00:03:13 +0000 Subject: [PATCH 08/15] Allow for model sharing among entities --- include/engine/Entity.hpp | 4 ++-- src/engine/Entity.cpp | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/engine/Entity.hpp b/include/engine/Entity.hpp index 4b34ac62..e0f10116 100644 --- a/include/engine/Entity.hpp +++ b/include/engine/Entity.hpp @@ -23,12 +23,12 @@ namespace engine { class Entity { protected: - std::unique_ptr model; + std::shared_ptr model; glm::vec4 color; // TODO - Phase 2 – Add Geometric Transforms public: - Entity(std::unique_ptr argModel, const glm::vec4 &argColor); + Entity(std::shared_ptr _model, const glm::vec4 &color); void draw(const RenderPipeline &pipeline) const; }; } diff --git a/src/engine/Entity.cpp b/src/engine/Entity.cpp index 790d201e..d393194a 100644 --- a/src/engine/Entity.cpp +++ b/src/engine/Entity.cpp @@ -18,9 +18,9 @@ namespace engine { -Entity::Entity(std::unique_ptr argModel, const glm::vec4 &argColor) { - this->model = std::move(argModel); - this->color = argColor; +Entity::Entity(std::shared_ptr _model, const glm::vec4 &_color) { + this->model = _model; + this->color = _color; } void Entity::draw(const RenderPipeline &pipeline) const { From f995ec4e0274b071a5ee172d80f4addeb03b18d7 Mon Sep 17 00:00:00 2001 From: Voidbert Date: Fri, 21 Feb 2025 00:04:37 +0000 Subject: [PATCH 09/15] Removed old XML parser --- include/utils/Parse.hpp | 30 ------- src/utils/Parse.cpp | 189 ---------------------------------------- 2 files changed, 219 deletions(-) delete mode 100644 include/utils/Parse.hpp delete mode 100644 src/utils/Parse.cpp diff --git a/include/utils/Parse.hpp b/include/utils/Parse.hpp deleted file mode 100644 index 43a54ced..00000000 --- a/include/utils/Parse.hpp +++ /dev/null @@ -1,30 +0,0 @@ -/// Copyright 2025 Ana Oliveira, Humberto Gomes, Mariana Rocha, Sara Lopes -/// -/// Licensed under the Apache License, Version 2.0 (the "License"); -/// you may not use this file except in compliance with the License. -/// You may obtain a copy of the License at -/// -/// http://www.apache.org/licenses/LICENSE-2.0 -/// -/// Unless required by applicable law or agreed to in writing, software -/// distributed under the License is distributed on an "AS IS" BASIS, -/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -/// See the License for the specific language governing permissions and -/// limitations under the License. - -#pragma once - -#include -#include - -#include "engine/Entity.hpp" -#include "engine/Scene.hpp" - -namespace utils { -engine::Scene configScene(const std::string &filename); -engine::Scene parseSceneXML(const std::string &filename); -engine::Scene parseSceneOBJ(const std::string &filename); -void processGroup(tinyxml2::XMLElement *groupElement, - glm::mat4 parentTransform, - std::vector> &entities); -} diff --git a/src/utils/Parse.cpp b/src/utils/Parse.cpp deleted file mode 100644 index 648dd6b4..00000000 --- a/src/utils/Parse.cpp +++ /dev/null @@ -1,189 +0,0 @@ -/// Copyright 2025 Ana Oliveira, Humberto Gomes, Mariana Rocha, Sara Lopes -/// -/// Licensed under the Apache License, Version 2.0 (the "License"); -/// you may not use this file except in compliance with the License. -/// You may obtain a copy of the License at -/// -/// http://www.apache.org/licenses/LICENSE-2.0 -/// -/// Unless required by applicable law or agreed to in writing, software -/// distributed under the License is distributed on an "AS IS" BASIS, -/// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -/// See the License for the specific language governing permissions and -/// limitations under the License. - -#include -#include - -#include "engine/Scene.hpp" -#include "utils/Parse.hpp" - -namespace utils { - -engine::Scene configScene(const std::string &filename) { - if (filename.size() > 4 && filename.compare(filename.size() - 4, 4, ".xml") == 0) { - return parseSceneXML(filename); - } else if ((filename.size() > 3 && filename.compare(filename.size() - 3, 3, ".3d") == 0) || - (filename.size() > 4 && filename.compare(filename.size() - 4, 4, ".obj") == 0)) { - return parseSceneOBJ(filename); - } else { - throw std::runtime_error("Invalid file format"); - } -} - -engine::Scene parseSceneXML(const std::string &filename) { - engine::Scene scene; - std::vector> entities; - - tinyxml2::XMLDocument doc; - if (doc.LoadFile(filename.c_str()) != tinyxml2::XML_SUCCESS) { - throw std::runtime_error("Failed to load XML file"); - } - - tinyxml2::XMLElement *worldElement = doc.FirstChildElement("world"); - if (!worldElement) { - throw std::runtime_error(" element not found"); - } - - int width; - int height; - tinyxml2::XMLElement *windowElement = worldElement->FirstChildElement("window"); - if (windowElement) { - width = windowElement->IntAttribute("width", 800); - height = windowElement->IntAttribute("height", 600); - } - - glm::vec3 position(0.0f, 0.0f, 3.0f); - glm::vec3 lookAt(0.0f, 0.0f, 0.0f); - glm::vec3 up(0.0f, 1.0f, 0.0f); - float fov = 60.0; - float near = 1.0; - float far = 1000.0; - tinyxml2::XMLElement *cameraElement = worldElement->FirstChildElement("camera"); - if (cameraElement) { - tinyxml2::XMLElement *positionElement = cameraElement->FirstChildElement("position"); - if (positionElement) { - position = glm::vec3(positionElement->FloatAttribute("x", 0.0f), - positionElement->FloatAttribute("y", 0.0f), - positionElement->FloatAttribute("z", 0.0f)); - } - - tinyxml2::XMLElement *lookAtElement = cameraElement->FirstChildElement("lookAt"); - if (lookAtElement) { - lookAt = glm::vec3(lookAtElement->FloatAttribute("x", 0.0f), - lookAtElement->FloatAttribute("y", 0.0f), - lookAtElement->FloatAttribute("z", 0.0f)); - } - - tinyxml2::XMLElement *upElement = cameraElement->FirstChildElement("up"); - if (upElement) { - up = glm::vec3(upElement->FloatAttribute("x", 0.0f), - upElement->FloatAttribute("y", 1.0f), - upElement->FloatAttribute("z", 0.0f)); - } - tinyxml2::XMLElement *projectionElement = cameraElement->FirstChildElement("projection"); - if (projectionElement) { - fov = projectionElement->FloatAttribute("fov", 60.0f); - near = projectionElement->FloatAttribute("near", 1.0f); - far = projectionElement->FloatAttribute("far", 1000.0f); - } - } - - engine::Camera camera(position, lookAt, up, fov, near, far); - - tinyxml2::XMLElement *groupElement = worldElement->FirstChildElement("group"); - if (groupElement) { - processGroup(groupElement, glm::mat4(1.0f), entities); - } - - return engine::Scene(width, height, "XML Scene", camera, std::move(entities)); -} - -void processGroup(tinyxml2::XMLElement *groupElement, - glm::mat4 parentTransform, - std::vector> &entities) { - // Remove comments in phase 2 and do a few changes, order is include - glm::mat4 transform = parentTransform; - - /*tinyxml2::XMLElement* transformElement = groupElement->FirstChildElement("transform"); - if (transformElement) { - std::vector transforms; - for (tinyxml2::XMLElement* elem = transformElement->FirstChildElement(); elem; elem = - elem->NextSiblingElement()) { transforms.push_back(elem); - } - - // Process transformations in reverse order - std::reverse(transforms.begin(), transforms.end()); - - for (auto& elem : transforms) { - const char* name = elem->Name(); - if (strcmp(name, "translate") == 0) { - glm::vec3 translation( - elem->FloatAttribute("x", 0.0f), - elem->FloatAttribute("y", 0.0f), - elem->FloatAttribute("z", 0.0f) - ); - transform = glm::translate(transform, translation); - } else if (strcmp(name, "rotate") == 0) { - float angle = elem->FloatAttribute("angle", 0.0f); - glm::vec3 axis( - elem->FloatAttribute("x", 0.0f), - elem->FloatAttribute("y", 0.0f), - elem->FloatAttribute("z", 0.0f) - ); - transform = glm::rotate(transform, glm::radians(angle), axis); - } else if (strcmp(name, "scale") == 0) { - glm::vec3 scale( - elem->FloatAttribute("x", 1.0f), - elem->FloatAttribute("y", 1.0f), - elem->FloatAttribute("z", 1.0f) - ); - transform = glm::scale(transform, scale); - } - } - }*/ - - tinyxml2::XMLElement *modelsElement = groupElement->FirstChildElement("models"); - if (modelsElement) { - for (tinyxml2::XMLElement *modelElement = modelsElement->FirstChildElement("model"); - modelElement; - modelElement = modelElement->NextSiblingElement("model")) { - std::string modelFile = modelElement->Attribute("file"); - - utils::WavefrontOBJ object(modelFile); - auto model = std::make_unique(object); - - auto entity = std::make_unique(std::move(model), glm::vec4(1.0f)); - entities.push_back(std::move(entity)); - } - } - - for (tinyxml2::XMLElement *childGroupElement = groupElement->FirstChildElement("group"); - childGroupElement; - childGroupElement = childGroupElement->NextSiblingElement("group")) { - processGroup(childGroupElement, transform, entities); - } -} - -engine::Scene parseSceneOBJ(const std::string &filename) { - const int &defaultWidth = 800; - const int &defaultHeight = 600; - std::string defaultTitle = "Scene"; - - utils::WavefrontOBJ object(filename); - auto model = std::make_unique(object); - - auto entity = - std::make_unique(std::move(model), glm::vec4(1.0f, 1.0f, 1.0f, 1.0f)); - std::vector> entities; - entities.push_back(std::move(entity)); - engine::Camera defaultCamera; - engine::Scene scene(defaultWidth, - defaultHeight, - defaultTitle, - defaultCamera, - std::move(entities)); - return scene; -} - -} From 61482998bd379a0651355a8e6ef95e99a89a6e9f Mon Sep 17 00:00:00 2001 From: Voidbert Date: Fri, 21 Feb 2025 00:32:41 +0000 Subject: [PATCH 10/15] Cleanup scene and move parser there --- include/engine/Scene.hpp | 45 +++++++---- src/engine/Scene.cpp | 166 +++++++++++++++++++++++++++++---------- 2 files changed, 154 insertions(+), 57 deletions(-) diff --git a/include/engine/Scene.hpp b/include/engine/Scene.hpp index a8f3a919..599e885a 100644 --- a/include/engine/Scene.hpp +++ b/include/engine/Scene.hpp @@ -14,9 +14,10 @@ #pragma once -#include -#include +#include +#include #include +#include #include #include "engine/Camera.hpp" @@ -24,30 +25,40 @@ #include "engine/RenderPipeline.hpp" namespace engine { + class Scene { private: int windowWidth, windowHeight; std::string windowTitle; Camera camera; - std::vector> entities; + + // TODO - Phase 2 - add support for groups (linear scene is going to make it harder for phase 3) + std::vector> entities; public: - Scene(); - Scene(const int &argWindowWidth, - const int &argWindowHeight, - const std::string &argWindowTitle, - const Camera &argCamera, - std::vector> argEntities); - void addEntity(std::unique_ptr entity); - void draw(const RenderPipeline &pipeline); - void updateCamera(float timeElapsed, const glm::vec3 &direction); - glm::mat4 getCameraMatrix() const; + Scene(const std::string &file); + Scene(const Scene &scene) = delete; + Scene(Scene &&scene) = delete; + + int getWindowWidth() const; + int getWindowHeight() const; + Camera &getCamera(); + + void draw(const RenderPipeline &pipeline) const; void setWindowSize(int width, int height); - Scene(const Scene &) = delete; - Scene &operator=(const Scene &) = delete; +private: + const tinyxml2::XMLElement *getOnlyOneNodeFromXML(const tinyxml2::XMLNode *parent, + const std::string &name); + glm::vec3 getVectorFromXML(const tinyxml2::XMLElement *element); + + void getWindowFromXML(const tinyxml2::XMLElement *worldElement); + void getCameraFromXML(const tinyxml2::XMLElement *worldElement); - Scene(Scene &&other) noexcept; - Scene &operator=(Scene &&other) noexcept; + void getEntitiesFromWorldXML(const std::filesystem::path &sceneDirectory, + const tinyxml2::XMLElement *worldElement); + void getEntitiesFromGroupXML(const std::filesystem::path &sceneDirectory, + const tinyxml2::XMLElement *groupdElement); }; + } diff --git a/src/engine/Scene.cpp b/src/engine/Scene.cpp index 3bab709e..1f3d7dfc 100644 --- a/src/engine/Scene.cpp +++ b/src/engine/Scene.cpp @@ -12,64 +12,150 @@ /// See the License for the specific language governing permissions and /// limitations under the License. -#include "engine/Scene.hpp" +#include +#include #include "engine/Camera.hpp" #include "engine/Entity.hpp" #include "engine/RenderPipeline.hpp" +#include "engine/Scene.hpp" namespace engine { -Scene::Scene() : windowWidth(800), windowHeight(600), windowTitle("Scene"), camera(), entities() {} - -Scene::Scene(const int &argWindowWidth, - const int &argWindowHeight, - const std::string &argWindowTitle, - const Camera &argCamera, - std::vector> argEntities) : - windowWidth(argWindowWidth), - windowHeight(argWindowHeight), - windowTitle(argWindowTitle), - camera(argCamera), - entities(std::move(argEntities)) {} - -void Scene::addEntity(std::unique_ptr entity) { - entities.push_back(std::move(entity)); +Scene::Scene(const std::string &file) { + const std::filesystem::path sceneDirectory = std::filesystem::path(file).parent_path(); + + tinyxml2::XMLDocument doc; + if (doc.LoadFile(file.c_str()) != tinyxml2::XML_SUCCESS) { + throw std::runtime_error("Failed to load scene XML file"); + } + + const tinyxml2::XMLElement *worldElement = this->getOnlyOneNodeFromXML(&doc, "world"); + this->getWindowFromXML(worldElement); + this->getCameraFromXML(worldElement); + this->getEntitiesFromWorldXML(sceneDirectory, worldElement); } -void Scene::draw(const RenderPipeline &pipeline) { - for (auto &entity : entities) { - entity->draw(pipeline); +const tinyxml2::XMLElement *Scene::getOnlyOneNodeFromXML(const tinyxml2::XMLNode *parent, + const std::string &name) { + + const tinyxml2::XMLElement *child = parent->FirstChildElement(name.c_str()); + if (!child) { + throw std::runtime_error(std::format("<{}> element not found in scene XML", name)); + } + + const tinyxml2::XMLElement *child2 = child->NextSiblingElement(name.c_str()); + if (child2) { + throw std::runtime_error(std::format("More than one <{}> element in scene XML", name)); } + + return child; } -void Scene::updateCamera(float timeElapsed, const glm::vec3 &direction) { - const float cameraSpeed = 2.5f; - this->camera.move(direction * cameraSpeed, timeElapsed); +glm::vec3 Scene::getVectorFromXML(const tinyxml2::XMLElement *element) { + float x = element->FloatAttribute("x", NAN); + float y = element->FloatAttribute("y", NAN); + float z = element->FloatAttribute("z", NAN); + + if (std::isnan(x) || std::isnan(y) || std::isnan(z)) { + throw std::runtime_error( + std::format("Invalid vector in <{}> in scene XML file", element->Name())); + } + + return glm::vec3(x, y, z); } -glm::mat4 Scene::getCameraMatrix() const { - float aspectRatio = static_cast(windowWidth) / static_cast(windowHeight); - return camera.getCameraMatrix(aspectRatio); +void Scene::getWindowFromXML(const tinyxml2::XMLElement *worldElement) { + const tinyxml2::XMLElement *windowElement = this->getOnlyOneNodeFromXML(worldElement, "window"); + this->windowWidth = windowElement->IntAttribute("width", -1); + this->windowHeight = windowElement->IntAttribute("height", -1); + + if (this->windowWidth < 0 || this->windowHeight < 0) { + throw std::runtime_error("Invalid / unknown window width / height in scene XML file"); + } } -Scene::Scene(Scene &&other) noexcept : - windowWidth(other.windowWidth), - windowHeight(other.windowHeight), - windowTitle(std::move(other.windowTitle)), - camera(std::move(other.camera)), - entities(std::move(other.entities)) {} - -Scene &Scene::operator=(Scene &&other) noexcept { - if (this != &other) { - windowWidth = other.windowWidth; - windowHeight = other.windowHeight; - windowTitle = std::move(other.windowTitle); - camera = std::move(other.camera); - entities = std::move(other.entities); +void Scene::getCameraFromXML(const tinyxml2::XMLElement *worldElement) { + const tinyxml2::XMLElement *cameraElement = this->getOnlyOneNodeFromXML(worldElement, "camera"); + + // View matrix + const glm::vec3 position = + this->getVectorFromXML(this->getOnlyOneNodeFromXML(cameraElement, "position")); + const glm::vec3 lookAt = + this->getVectorFromXML(this->getOnlyOneNodeFromXML(cameraElement, "lookAt")); + const glm::vec3 up = this->getVectorFromXML(this->getOnlyOneNodeFromXML(cameraElement, "up")); + + // Projection matrix + const tinyxml2::XMLElement *projectionElement = + this->getOnlyOneNodeFromXML(cameraElement, "projection"); + + const float fov = projectionElement->FloatAttribute("fov", NAN); + const float near = projectionElement->FloatAttribute("near", NAN); + const float far = projectionElement->FloatAttribute("far", NAN); + + if (std::isnan(fov) || std::isnan(near) || std::isnan(far)) { + throw std::runtime_error("Invalid in scene XML file"); } - return *this; + + this->camera = Camera(position, lookAt, up, fov, near, far); } + +void Scene::getEntitiesFromWorldXML(const std::filesystem::path &sceneDirectory, + const tinyxml2::XMLElement *worldElement) { + const tinyxml2::XMLElement *groupElement = worldElement->FirstChildElement("group"); + while (groupElement) { + this->getEntitiesFromGroupXML(sceneDirectory, groupElement); + groupElement = worldElement->NextSiblingElement("group"); + } +} + +void Scene::getEntitiesFromGroupXML(const std::filesystem::path &sceneDirectory, + const tinyxml2::XMLElement *groupElement) { + + const tinyxml2::XMLElement *modelsElement = groupElement->FirstChildElement("models"); + if (!modelsElement) + return; // is optional + + const tinyxml2::XMLElement *modelElement = modelsElement->FirstChildElement("model"); + while (modelElement) { + const char *file = modelElement->Attribute("file"); + if (!file) { + throw std::runtime_error("Invalid in scene XML file"); + } + + utils::WavefrontOBJ object(sceneDirectory / file); + std::shared_ptr model = std::make_shared(object); + std::unique_ptr entity = std::make_unique(model, glm::vec4(1.0f)); + entities.push_back(std::move(entity)); + + modelElement = modelElement->NextSiblingElement("model"); + } + + const tinyxml2::XMLElement *innerGroupElement = groupElement->FirstChildElement("group"); + while (innerGroupElement) { + this->getEntitiesFromGroupXML(sceneDirectory, innerGroupElement); + innerGroupElement = innerGroupElement->NextSiblingElement("group"); + } +} + +void Scene::draw(const RenderPipeline &pipeline) const { + for (const std::unique_ptr &entity : this->entities) { + entity->draw(pipeline); + } +} + +int Scene::getWindowWidth() const { + return this->windowWidth; +} + +int Scene::getWindowHeight() const { + return this->windowHeight; +} + +Camera &Scene::getCamera() { + return this->camera; +} + void Scene::setWindowSize(int width, int height) { this->windowWidth = width; this->windowHeight = height; From 151e4073978e6a94dbe1c595c779ae8e73db2fac Mon Sep 17 00:00:00 2001 From: Voidbert Date: Fri, 21 Feb 2025 00:33:06 +0000 Subject: [PATCH 11/15] Adapt window and entry point to new scene --- include/engine/SceneWindow.hpp | 12 +++--------- src/engine/SceneWindow.cpp | 35 +++++++++------------------------- src/engine/main.cpp | 9 ++++----- 3 files changed, 16 insertions(+), 40 deletions(-) diff --git a/include/engine/SceneWindow.hpp b/include/engine/SceneWindow.hpp index 6171023e..01372d58 100644 --- a/include/engine/SceneWindow.hpp +++ b/include/engine/SceneWindow.hpp @@ -14,8 +14,8 @@ #pragma once -#include "engine/Camera.hpp" -#include "engine/Model.hpp" +#include + #include "engine/RenderPipeline.hpp" #include "engine/Scene.hpp" #include "engine/Window.hpp" @@ -24,16 +24,10 @@ namespace engine { class SceneWindow : public Window { private: RenderPipeline pipeline; - // Camera camera; - - // TODO - remove, these are for testing purposes only - // std::unique_ptr model; - // glm::vec3 translate; Scene scene; public: - SceneWindow(); - void setScene(Scene &&newScene); + SceneWindow(const std::string &sceneFile); protected: void onUpdate(float time, float timeElapsed); diff --git a/src/engine/SceneWindow.cpp b/src/engine/SceneWindow.cpp index c46867be..3115a604 100644 --- a/src/engine/SceneWindow.cpp +++ b/src/engine/SceneWindow.cpp @@ -14,39 +14,27 @@ #include #include +#include #include "engine/SceneWindow.hpp" namespace engine { -SceneWindow::SceneWindow() : Window("CG 2024/25", 640, 480), pipeline(), scene() { - // Only do this once, as we have a single shader program - // TODO - in the future, remove this, as this is just for testing - /*camera = Camera(glm::vec3(0.0f, 0.0f, 5.0f), - glm::vec3(0.0f, 0.0f, 0.0f), - glm::vec3(0.0f, 1.0f, 0.0f), - 60.0f, - 0.01f, - 1000.0f);*/ +SceneWindow::SceneWindow(const std::string &sceneFile) : + Window(sceneFile, 640, 480), pipeline(), scene(sceneFile) { + this->resize(scene.getWindowWidth(), scene.getWindowHeight()); + // Only do this once, as we have a single shader program this->pipeline.use(); - // To remove when all of the figures are using the right-hand rule + // TODO - remove when all of the figures are using the right-hand rule // glFrontFace(GL_CCW); // glEnable(GL_CULL_FACE); // glCullFace(GL_BACK); - // TODO - in the future, remove this, as this is just for testing - /*const utils::WavefrontOBJ object("box.3d"); - this->model = std::make_unique(object);*/ - glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); } -void SceneWindow::setScene(Scene &&newScene) { - this->scene = std::move(newScene); -} - void SceneWindow::onUpdate(float time, float timeElapsed) { GLFWwindow *const windowHandle = this->getHandle(); @@ -55,28 +43,23 @@ void SceneWindow::onUpdate(float time, float timeElapsed) { const int left = glfwGetKey(windowHandle, GLFW_KEY_A); const int right = glfwGetKey(windowHandle, GLFW_KEY_D); - // const float cameraSpeed = 2.5f; const glm::vec3 direction((right - left), 0.0f, (down - up)); - // camera.move(direction * cameraSpeed, timeElapsed); - // this->translate += direction; - scene.updateCamera(timeElapsed, direction); + this->scene.getCamera().move(direction, timeElapsed); } void SceneWindow::onRender() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClearColor(0.f, 0.f, 0.f, 1.f); - glm::mat4 cameraMatrix = scene.getCameraMatrix(); + glm::mat4 cameraMatrix = + scene.getCamera().getCameraMatrix(static_cast(this->getWidth()) / this->getHeight()); this->pipeline.setCameraMatrix(cameraMatrix); - // this->pipeline.setColor(glm::vec4(1.0f, 0.0f, 0.0f, 1.0f)); - // this->model->draw(); this->scene.draw(this->pipeline); } void SceneWindow::onResize(int _width, int _height) { glViewport(0, 0, _width, _height); - scene.setWindowSize(_width, _height); } diff --git a/src/engine/main.cpp b/src/engine/main.cpp index bffa47a3..6c1d4fe9 100644 --- a/src/engine/main.cpp +++ b/src/engine/main.cpp @@ -16,17 +16,16 @@ #include "engine/Scene.hpp" #include "engine/SceneWindow.hpp" -#include "utils/Parse.hpp" + namespace engine { int main(int argc, char **argv) { - if (argc == 1) { - std::cerr << "Usage: " << argv[0] << std::endl; + if (argc <= 1) { + std::cerr << "Usage: " << argv[0] << " " << std::endl; return 1; } - SceneWindow window = SceneWindow(); - window.setScene(utils::configScene(argv[1])); + SceneWindow window(argv[1]); window.runLoop(); return 0; } From 1398e964503e589d752cf8879c0372794ee03ea6 Mon Sep 17 00:00:00 2001 From: Voidbert Date: Fri, 21 Feb 2025 00:51:54 +0000 Subject: [PATCH 12/15] Add model reuse and fix empty nested group bug --- include/engine/Scene.hpp | 13 ++++++++---- src/engine/Scene.cpp | 44 +++++++++++++++++++++++++++------------- 2 files changed, 39 insertions(+), 18 deletions(-) diff --git a/include/engine/Scene.hpp b/include/engine/Scene.hpp index 599e885a..f3327a10 100644 --- a/include/engine/Scene.hpp +++ b/include/engine/Scene.hpp @@ -18,6 +18,7 @@ #include #include #include +#include #include #include "engine/Camera.hpp" @@ -55,10 +56,14 @@ class Scene { void getWindowFromXML(const tinyxml2::XMLElement *worldElement); void getCameraFromXML(const tinyxml2::XMLElement *worldElement); - void getEntitiesFromWorldXML(const std::filesystem::path &sceneDirectory, - const tinyxml2::XMLElement *worldElement); - void getEntitiesFromGroupXML(const std::filesystem::path &sceneDirectory, - const tinyxml2::XMLElement *groupdElement); + void getEntitiesFromWorldXML( + const std::filesystem::path &sceneDirectory, + std::unordered_map> &loadedModels, + const tinyxml2::XMLElement *worldElement); + void getEntitiesFromGroupXML( + const std::filesystem::path &sceneDirectory, + std::unordered_map> &loadedModels, + const tinyxml2::XMLElement *groupdElement); }; } diff --git a/src/engine/Scene.cpp b/src/engine/Scene.cpp index 1f3d7dfc..4d056519 100644 --- a/src/engine/Scene.cpp +++ b/src/engine/Scene.cpp @@ -24,6 +24,7 @@ namespace engine { Scene::Scene(const std::string &file) { const std::filesystem::path sceneDirectory = std::filesystem::path(file).parent_path(); + std::unordered_map> loadedModels; tinyxml2::XMLDocument doc; if (doc.LoadFile(file.c_str()) != tinyxml2::XML_SUCCESS) { @@ -33,7 +34,7 @@ Scene::Scene(const std::string &file) { const tinyxml2::XMLElement *worldElement = this->getOnlyOneNodeFromXML(&doc, "world"); this->getWindowFromXML(worldElement); this->getCameraFromXML(worldElement); - this->getEntitiesFromWorldXML(sceneDirectory, worldElement); + this->getEntitiesFromWorldXML(sceneDirectory, loadedModels, worldElement); } const tinyxml2::XMLElement *Scene::getOnlyOneNodeFromXML(const tinyxml2::XMLNode *parent, @@ -100,17 +101,28 @@ void Scene::getCameraFromXML(const tinyxml2::XMLElement *worldElement) { this->camera = Camera(position, lookAt, up, fov, near, far); } -void Scene::getEntitiesFromWorldXML(const std::filesystem::path &sceneDirectory, - const tinyxml2::XMLElement *worldElement) { +void Scene::getEntitiesFromWorldXML( + const std::filesystem::path &sceneDirectory, + std::unordered_map> &loadedModels, + const tinyxml2::XMLElement *worldElement) { + const tinyxml2::XMLElement *groupElement = worldElement->FirstChildElement("group"); while (groupElement) { - this->getEntitiesFromGroupXML(sceneDirectory, groupElement); + this->getEntitiesFromGroupXML(sceneDirectory, loadedModels, groupElement); groupElement = worldElement->NextSiblingElement("group"); } } -void Scene::getEntitiesFromGroupXML(const std::filesystem::path &sceneDirectory, - const tinyxml2::XMLElement *groupElement) { +void Scene::getEntitiesFromGroupXML( + const std::filesystem::path &sceneDirectory, + std::unordered_map> &loadedModels, + const tinyxml2::XMLElement *groupElement) { + + const tinyxml2::XMLElement *innerGroupElement = groupElement->FirstChildElement("group"); + while (innerGroupElement) { + this->getEntitiesFromGroupXML(sceneDirectory, loadedModels, innerGroupElement); + innerGroupElement = innerGroupElement->NextSiblingElement("group"); + } const tinyxml2::XMLElement *modelsElement = groupElement->FirstChildElement("models"); if (!modelsElement) @@ -123,19 +135,23 @@ void Scene::getEntitiesFromGroupXML(const std::filesystem::path &sceneDirectory, throw std::runtime_error("Invalid in scene XML file"); } - utils::WavefrontOBJ object(sceneDirectory / file); - std::shared_ptr model = std::make_shared(object); + std::string modelPath = std::filesystem::canonical(sceneDirectory / file); + auto it = loadedModels.find(modelPath); + std::shared_ptr model; + if (it == loadedModels.end()) { + utils::WavefrontOBJ object(modelPath); + model = std::make_shared(object); + loadedModels[modelPath] = model; + } else { + model = it->second; + } + + // TODO - color std::unique_ptr entity = std::make_unique(model, glm::vec4(1.0f)); entities.push_back(std::move(entity)); modelElement = modelElement->NextSiblingElement("model"); } - - const tinyxml2::XMLElement *innerGroupElement = groupElement->FirstChildElement("group"); - while (innerGroupElement) { - this->getEntitiesFromGroupXML(sceneDirectory, innerGroupElement); - innerGroupElement = innerGroupElement->NextSiblingElement("group"); - } } void Scene::draw(const RenderPipeline &pipeline) const { From 2cde43f68a09442eae95cc931badfb927bc4791a Mon Sep 17 00:00:00 2001 From: Voidbert Date: Fri, 21 Feb 2025 09:26:00 +0000 Subject: [PATCH 13/15] Add support for older compilers --- src/engine/Scene.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/engine/Scene.cpp b/src/engine/Scene.cpp index 4d056519..f8084d08 100644 --- a/src/engine/Scene.cpp +++ b/src/engine/Scene.cpp @@ -13,7 +13,6 @@ /// limitations under the License. #include -#include #include "engine/Camera.hpp" #include "engine/Entity.hpp" @@ -42,12 +41,12 @@ const tinyxml2::XMLElement *Scene::getOnlyOneNodeFromXML(const tinyxml2::XMLNode const tinyxml2::XMLElement *child = parent->FirstChildElement(name.c_str()); if (!child) { - throw std::runtime_error(std::format("<{}> element not found in scene XML", name)); + throw std::runtime_error("<" + name + "> element not found in scene XML"); } const tinyxml2::XMLElement *child2 = child->NextSiblingElement(name.c_str()); if (child2) { - throw std::runtime_error(std::format("More than one <{}> element in scene XML", name)); + throw std::runtime_error("More than one <" + name + "> element in scene XML"); } return child; @@ -59,8 +58,8 @@ glm::vec3 Scene::getVectorFromXML(const tinyxml2::XMLElement *element) { float z = element->FloatAttribute("z", NAN); if (std::isnan(x) || std::isnan(y) || std::isnan(z)) { - throw std::runtime_error( - std::format("Invalid vector in <{}> in scene XML file", element->Name())); + std::string name = element->Name(); + throw std::runtime_error("Invalid vector in <" + name + "> in scene XML file"); } return glm::vec3(x, y, z); From f8a116725da1172725dc677cf087200e2d17f634 Mon Sep 17 00:00:00 2001 From: Mariana Date: Fri, 21 Feb 2025 09:43:49 +0000 Subject: [PATCH 14/15] Changes res --- models/box.3d | 1926 ----------------------- models/plane.3d | 321 ---- models/sphere.3d | 1201 -------------- res/models/taurus.3d | 1 + {scenes => res/scenes}/scene_box.xml | 2 +- {scenes => res/scenes}/scene_plane.xml | 2 +- {scenes => res/scenes}/scene_sphere.xml | 2 +- src/engine/SceneWindow.cpp | 13 +- 8 files changed, 12 insertions(+), 3456 deletions(-) delete mode 100644 models/box.3d delete mode 100644 models/plane.3d delete mode 100644 models/sphere.3d create mode 100644 res/models/taurus.3d rename {scenes => res/scenes}/scene_box.xml (86%) rename {scenes => res/scenes}/scene_plane.xml (86%) rename {scenes => res/scenes}/scene_sphere.xml (86%) diff --git a/models/box.3d b/models/box.3d deleted file mode 100644 index 09356735..00000000 --- a/models/box.3d +++ /dev/null @@ -1,1926 +0,0 @@ -v -0.5 -0.5 -0.5 -v -0.5 -0.4 -0.5 -v -0.5 -0.3 -0.5 -v -0.5 -0.2 -0.5 -v -0.5 -0.1 -0.5 -v -0.5 0 -0.5 -v -0.5 0.1 -0.5 -v -0.5 0.2 -0.5 -v -0.5 0.3 -0.5 -v -0.5 0.4 -0.5 -v -0.5 0.5 -0.5 -v -0.4 -0.5 -0.5 -v -0.4 -0.4 -0.5 -v -0.4 -0.3 -0.5 -v -0.4 -0.2 -0.5 -v -0.4 -0.1 -0.5 -v -0.4 0 -0.5 -v -0.4 0.1 -0.5 -v -0.4 0.2 -0.5 -v -0.4 0.3 -0.5 -v -0.4 0.4 -0.5 -v -0.4 0.5 -0.5 -v -0.3 -0.5 -0.5 -v -0.3 -0.4 -0.5 -v -0.3 -0.3 -0.5 -v -0.3 -0.2 -0.5 -v -0.3 -0.1 -0.5 -v -0.3 0 -0.5 -v -0.3 0.1 -0.5 -v -0.3 0.2 -0.5 -v -0.3 0.3 -0.5 -v -0.3 0.4 -0.5 -v -0.3 0.5 -0.5 -v -0.2 -0.5 -0.5 -v -0.2 -0.4 -0.5 -v -0.2 -0.3 -0.5 -v -0.2 -0.2 -0.5 -v -0.2 -0.1 -0.5 -v -0.2 0 -0.5 -v -0.2 0.1 -0.5 -v -0.2 0.2 -0.5 -v -0.2 0.3 -0.5 -v -0.2 0.4 -0.5 -v -0.2 0.5 -0.5 -v -0.1 -0.5 -0.5 -v -0.1 -0.4 -0.5 -v -0.1 -0.3 -0.5 -v -0.1 -0.2 -0.5 -v -0.1 -0.1 -0.5 -v -0.1 0 -0.5 -v -0.1 0.1 -0.5 -v -0.1 0.2 -0.5 -v -0.1 0.3 -0.5 -v -0.1 0.4 -0.5 -v -0.1 0.5 -0.5 -v 0 -0.5 -0.5 -v 0 -0.4 -0.5 -v 0 -0.3 -0.5 -v 0 -0.2 -0.5 -v 0 -0.1 -0.5 -v 0 0 -0.5 -v 0 0.1 -0.5 -v 0 0.2 -0.5 -v 0 0.3 -0.5 -v 0 0.4 -0.5 -v 0 0.5 -0.5 -v 0.1 -0.5 -0.5 -v 0.1 -0.4 -0.5 -v 0.1 -0.3 -0.5 -v 0.1 -0.2 -0.5 -v 0.1 -0.1 -0.5 -v 0.1 0 -0.5 -v 0.1 0.1 -0.5 -v 0.1 0.2 -0.5 -v 0.1 0.3 -0.5 -v 0.1 0.4 -0.5 -v 0.1 0.5 -0.5 -v 0.2 -0.5 -0.5 -v 0.2 -0.4 -0.5 -v 0.2 -0.3 -0.5 -v 0.2 -0.2 -0.5 -v 0.2 -0.1 -0.5 -v 0.2 0 -0.5 -v 0.2 0.1 -0.5 -v 0.2 0.2 -0.5 -v 0.2 0.3 -0.5 -v 0.2 0.4 -0.5 -v 0.2 0.5 -0.5 -v 0.3 -0.5 -0.5 -v 0.3 -0.4 -0.5 -v 0.3 -0.3 -0.5 -v 0.3 -0.2 -0.5 -v 0.3 -0.1 -0.5 -v 0.3 0 -0.5 -v 0.3 0.1 -0.5 -v 0.3 0.2 -0.5 -v 0.3 0.3 -0.5 -v 0.3 0.4 -0.5 -v 0.3 0.5 -0.5 -v 0.4 -0.5 -0.5 -v 0.4 -0.4 -0.5 -v 0.4 -0.3 -0.5 -v 0.4 -0.2 -0.5 -v 0.4 -0.1 -0.5 -v 0.4 0 -0.5 -v 0.4 0.1 -0.5 -v 0.4 0.2 -0.5 -v 0.4 0.3 -0.5 -v 0.4 0.4 -0.5 -v 0.4 0.5 -0.5 -v 0.5 -0.5 -0.5 -v 0.5 -0.4 -0.5 -v 0.5 -0.3 -0.5 -v 0.5 -0.2 -0.5 -v 0.5 -0.1 -0.5 -v 0.5 0 -0.5 -v 0.5 0.1 -0.5 -v 0.5 0.2 -0.5 -v 0.5 0.3 -0.5 -v 0.5 0.4 -0.5 -v 0.5 0.5 -0.5 -v -0.5 -0.5 0.5 -v -0.5 -0.4 0.5 -v -0.5 -0.3 0.5 -v -0.5 -0.2 0.5 -v -0.5 -0.1 0.5 -v -0.5 0 0.5 -v -0.5 0.1 0.5 -v -0.5 0.2 0.5 -v -0.5 0.3 0.5 -v -0.5 0.4 0.5 -v -0.5 0.5 0.5 -v -0.4 -0.5 0.5 -v -0.4 -0.4 0.5 -v -0.4 -0.3 0.5 -v -0.4 -0.2 0.5 -v -0.4 -0.1 0.5 -v -0.4 0 0.5 -v -0.4 0.1 0.5 -v -0.4 0.2 0.5 -v -0.4 0.3 0.5 -v -0.4 0.4 0.5 -v -0.4 0.5 0.5 -v -0.3 -0.5 0.5 -v -0.3 -0.4 0.5 -v -0.3 -0.3 0.5 -v -0.3 -0.2 0.5 -v -0.3 -0.1 0.5 -v -0.3 0 0.5 -v -0.3 0.1 0.5 -v -0.3 0.2 0.5 -v -0.3 0.3 0.5 -v -0.3 0.4 0.5 -v -0.3 0.5 0.5 -v -0.2 -0.5 0.5 -v -0.2 -0.4 0.5 -v -0.2 -0.3 0.5 -v -0.2 -0.2 0.5 -v -0.2 -0.1 0.5 -v -0.2 0 0.5 -v -0.2 0.1 0.5 -v -0.2 0.2 0.5 -v -0.2 0.3 0.5 -v -0.2 0.4 0.5 -v -0.2 0.5 0.5 -v -0.1 -0.5 0.5 -v -0.1 -0.4 0.5 -v -0.1 -0.3 0.5 -v -0.1 -0.2 0.5 -v -0.1 -0.1 0.5 -v -0.1 0 0.5 -v -0.1 0.1 0.5 -v -0.1 0.2 0.5 -v -0.1 0.3 0.5 -v -0.1 0.4 0.5 -v -0.1 0.5 0.5 -v 0 -0.5 0.5 -v 0 -0.4 0.5 -v 0 -0.3 0.5 -v 0 -0.2 0.5 -v 0 -0.1 0.5 -v 0 0 0.5 -v 0 0.1 0.5 -v 0 0.2 0.5 -v 0 0.3 0.5 -v 0 0.4 0.5 -v 0 0.5 0.5 -v 0.1 -0.5 0.5 -v 0.1 -0.4 0.5 -v 0.1 -0.3 0.5 -v 0.1 -0.2 0.5 -v 0.1 -0.1 0.5 -v 0.1 0 0.5 -v 0.1 0.1 0.5 -v 0.1 0.2 0.5 -v 0.1 0.3 0.5 -v 0.1 0.4 0.5 -v 0.1 0.5 0.5 -v 0.2 -0.5 0.5 -v 0.2 -0.4 0.5 -v 0.2 -0.3 0.5 -v 0.2 -0.2 0.5 -v 0.2 -0.1 0.5 -v 0.2 0 0.5 -v 0.2 0.1 0.5 -v 0.2 0.2 0.5 -v 0.2 0.3 0.5 -v 0.2 0.4 0.5 -v 0.2 0.5 0.5 -v 0.3 -0.5 0.5 -v 0.3 -0.4 0.5 -v 0.3 -0.3 0.5 -v 0.3 -0.2 0.5 -v 0.3 -0.1 0.5 -v 0.3 0 0.5 -v 0.3 0.1 0.5 -v 0.3 0.2 0.5 -v 0.3 0.3 0.5 -v 0.3 0.4 0.5 -v 0.3 0.5 0.5 -v 0.4 -0.5 0.5 -v 0.4 -0.4 0.5 -v 0.4 -0.3 0.5 -v 0.4 -0.2 0.5 -v 0.4 -0.1 0.5 -v 0.4 0 0.5 -v 0.4 0.1 0.5 -v 0.4 0.2 0.5 -v 0.4 0.3 0.5 -v 0.4 0.4 0.5 -v 0.4 0.5 0.5 -v 0.5 -0.5 0.5 -v 0.5 -0.4 0.5 -v 0.5 -0.3 0.5 -v 0.5 -0.2 0.5 -v 0.5 -0.1 0.5 -v 0.5 0 0.5 -v 0.5 0.1 0.5 -v 0.5 0.2 0.5 -v 0.5 0.3 0.5 -v 0.5 0.4 0.5 -v 0.5 0.5 0.5 -v -0.5 -0.5 -0.5 -v -0.5 -0.5 -0.4 -v -0.5 -0.5 -0.3 -v -0.5 -0.5 -0.2 -v -0.5 -0.5 -0.1 -v -0.5 -0.5 0 -v -0.5 -0.5 0.1 -v -0.5 -0.5 0.2 -v -0.5 -0.5 0.3 -v -0.5 -0.5 0.4 -v -0.5 -0.5 0.5 -v -0.5 -0.4 -0.5 -v -0.5 -0.4 -0.4 -v -0.5 -0.4 -0.3 -v -0.5 -0.4 -0.2 -v -0.5 -0.4 -0.1 -v -0.5 -0.4 0 -v -0.5 -0.4 0.1 -v -0.5 -0.4 0.2 -v -0.5 -0.4 0.3 -v -0.5 -0.4 0.4 -v -0.5 -0.4 0.5 -v -0.5 -0.3 -0.5 -v -0.5 -0.3 -0.4 -v -0.5 -0.3 -0.3 -v -0.5 -0.3 -0.2 -v -0.5 -0.3 -0.1 -v -0.5 -0.3 0 -v -0.5 -0.3 0.1 -v -0.5 -0.3 0.2 -v -0.5 -0.3 0.3 -v -0.5 -0.3 0.4 -v -0.5 -0.3 0.5 -v -0.5 -0.2 -0.5 -v -0.5 -0.2 -0.4 -v -0.5 -0.2 -0.3 -v -0.5 -0.2 -0.2 -v -0.5 -0.2 -0.1 -v -0.5 -0.2 0 -v -0.5 -0.2 0.1 -v -0.5 -0.2 0.2 -v -0.5 -0.2 0.3 -v -0.5 -0.2 0.4 -v -0.5 -0.2 0.5 -v -0.5 -0.1 -0.5 -v -0.5 -0.1 -0.4 -v -0.5 -0.1 -0.3 -v -0.5 -0.1 -0.2 -v -0.5 -0.1 -0.1 -v -0.5 -0.1 0 -v -0.5 -0.1 0.1 -v -0.5 -0.1 0.2 -v -0.5 -0.1 0.3 -v -0.5 -0.1 0.4 -v -0.5 -0.1 0.5 -v -0.5 0 -0.5 -v -0.5 0 -0.4 -v -0.5 0 -0.3 -v -0.5 0 -0.2 -v -0.5 0 -0.1 -v -0.5 0 0 -v -0.5 0 0.1 -v -0.5 0 0.2 -v -0.5 0 0.3 -v -0.5 0 0.4 -v -0.5 0 0.5 -v -0.5 0.1 -0.5 -v -0.5 0.1 -0.4 -v -0.5 0.1 -0.3 -v -0.5 0.1 -0.2 -v -0.5 0.1 -0.1 -v -0.5 0.1 0 -v -0.5 0.1 0.1 -v -0.5 0.1 0.2 -v -0.5 0.1 0.3 -v -0.5 0.1 0.4 -v -0.5 0.1 0.5 -v -0.5 0.2 -0.5 -v -0.5 0.2 -0.4 -v -0.5 0.2 -0.3 -v -0.5 0.2 -0.2 -v -0.5 0.2 -0.1 -v -0.5 0.2 0 -v -0.5 0.2 0.1 -v -0.5 0.2 0.2 -v -0.5 0.2 0.3 -v -0.5 0.2 0.4 -v -0.5 0.2 0.5 -v -0.5 0.3 -0.5 -v -0.5 0.3 -0.4 -v -0.5 0.3 -0.3 -v -0.5 0.3 -0.2 -v -0.5 0.3 -0.1 -v -0.5 0.3 0 -v -0.5 0.3 0.1 -v -0.5 0.3 0.2 -v -0.5 0.3 0.3 -v -0.5 0.3 0.4 -v -0.5 0.3 0.5 -v -0.5 0.4 -0.5 -v -0.5 0.4 -0.4 -v -0.5 0.4 -0.3 -v -0.5 0.4 -0.2 -v -0.5 0.4 -0.1 -v -0.5 0.4 0 -v -0.5 0.4 0.1 -v -0.5 0.4 0.2 -v -0.5 0.4 0.3 -v -0.5 0.4 0.4 -v -0.5 0.4 0.5 -v -0.5 0.5 -0.5 -v -0.5 0.5 -0.4 -v -0.5 0.5 -0.3 -v -0.5 0.5 -0.2 -v -0.5 0.5 -0.1 -v -0.5 0.5 0 -v -0.5 0.5 0.1 -v -0.5 0.5 0.2 -v -0.5 0.5 0.3 -v -0.5 0.5 0.4 -v -0.5 0.5 0.5 -v 0.5 -0.5 -0.5 -v 0.5 -0.5 -0.4 -v 0.5 -0.5 -0.3 -v 0.5 -0.5 -0.2 -v 0.5 -0.5 -0.1 -v 0.5 -0.5 0 -v 0.5 -0.5 0.1 -v 0.5 -0.5 0.2 -v 0.5 -0.5 0.3 -v 0.5 -0.5 0.4 -v 0.5 -0.5 0.5 -v 0.5 -0.4 -0.5 -v 0.5 -0.4 -0.4 -v 0.5 -0.4 -0.3 -v 0.5 -0.4 -0.2 -v 0.5 -0.4 -0.1 -v 0.5 -0.4 0 -v 0.5 -0.4 0.1 -v 0.5 -0.4 0.2 -v 0.5 -0.4 0.3 -v 0.5 -0.4 0.4 -v 0.5 -0.4 0.5 -v 0.5 -0.3 -0.5 -v 0.5 -0.3 -0.4 -v 0.5 -0.3 -0.3 -v 0.5 -0.3 -0.2 -v 0.5 -0.3 -0.1 -v 0.5 -0.3 0 -v 0.5 -0.3 0.1 -v 0.5 -0.3 0.2 -v 0.5 -0.3 0.3 -v 0.5 -0.3 0.4 -v 0.5 -0.3 0.5 -v 0.5 -0.2 -0.5 -v 0.5 -0.2 -0.4 -v 0.5 -0.2 -0.3 -v 0.5 -0.2 -0.2 -v 0.5 -0.2 -0.1 -v 0.5 -0.2 0 -v 0.5 -0.2 0.1 -v 0.5 -0.2 0.2 -v 0.5 -0.2 0.3 -v 0.5 -0.2 0.4 -v 0.5 -0.2 0.5 -v 0.5 -0.1 -0.5 -v 0.5 -0.1 -0.4 -v 0.5 -0.1 -0.3 -v 0.5 -0.1 -0.2 -v 0.5 -0.1 -0.1 -v 0.5 -0.1 0 -v 0.5 -0.1 0.1 -v 0.5 -0.1 0.2 -v 0.5 -0.1 0.3 -v 0.5 -0.1 0.4 -v 0.5 -0.1 0.5 -v 0.5 0 -0.5 -v 0.5 0 -0.4 -v 0.5 0 -0.3 -v 0.5 0 -0.2 -v 0.5 0 -0.1 -v 0.5 0 0 -v 0.5 0 0.1 -v 0.5 0 0.2 -v 0.5 0 0.3 -v 0.5 0 0.4 -v 0.5 0 0.5 -v 0.5 0.1 -0.5 -v 0.5 0.1 -0.4 -v 0.5 0.1 -0.3 -v 0.5 0.1 -0.2 -v 0.5 0.1 -0.1 -v 0.5 0.1 0 -v 0.5 0.1 0.1 -v 0.5 0.1 0.2 -v 0.5 0.1 0.3 -v 0.5 0.1 0.4 -v 0.5 0.1 0.5 -v 0.5 0.2 -0.5 -v 0.5 0.2 -0.4 -v 0.5 0.2 -0.3 -v 0.5 0.2 -0.2 -v 0.5 0.2 -0.1 -v 0.5 0.2 0 -v 0.5 0.2 0.1 -v 0.5 0.2 0.2 -v 0.5 0.2 0.3 -v 0.5 0.2 0.4 -v 0.5 0.2 0.5 -v 0.5 0.3 -0.5 -v 0.5 0.3 -0.4 -v 0.5 0.3 -0.3 -v 0.5 0.3 -0.2 -v 0.5 0.3 -0.1 -v 0.5 0.3 0 -v 0.5 0.3 0.1 -v 0.5 0.3 0.2 -v 0.5 0.3 0.3 -v 0.5 0.3 0.4 -v 0.5 0.3 0.5 -v 0.5 0.4 -0.5 -v 0.5 0.4 -0.4 -v 0.5 0.4 -0.3 -v 0.5 0.4 -0.2 -v 0.5 0.4 -0.1 -v 0.5 0.4 0 -v 0.5 0.4 0.1 -v 0.5 0.4 0.2 -v 0.5 0.4 0.3 -v 0.5 0.4 0.4 -v 0.5 0.4 0.5 -v 0.5 0.5 -0.5 -v 0.5 0.5 -0.4 -v 0.5 0.5 -0.3 -v 0.5 0.5 -0.2 -v 0.5 0.5 -0.1 -v 0.5 0.5 0 -v 0.5 0.5 0.1 -v 0.5 0.5 0.2 -v 0.5 0.5 0.3 -v 0.5 0.5 0.4 -v 0.5 0.5 0.5 -v -0.5 -0.5 -0.5 -v -0.5 -0.5 -0.4 -v -0.5 -0.5 -0.3 -v -0.5 -0.5 -0.2 -v -0.5 -0.5 -0.1 -v -0.5 -0.5 0 -v -0.5 -0.5 0.1 -v -0.5 -0.5 0.2 -v -0.5 -0.5 0.3 -v -0.5 -0.5 0.4 -v -0.5 -0.5 0.5 -v -0.4 -0.5 -0.5 -v -0.4 -0.5 -0.4 -v -0.4 -0.5 -0.3 -v -0.4 -0.5 -0.2 -v -0.4 -0.5 -0.1 -v -0.4 -0.5 0 -v -0.4 -0.5 0.1 -v -0.4 -0.5 0.2 -v -0.4 -0.5 0.3 -v -0.4 -0.5 0.4 -v -0.4 -0.5 0.5 -v -0.3 -0.5 -0.5 -v -0.3 -0.5 -0.4 -v -0.3 -0.5 -0.3 -v -0.3 -0.5 -0.2 -v -0.3 -0.5 -0.1 -v -0.3 -0.5 0 -v -0.3 -0.5 0.1 -v -0.3 -0.5 0.2 -v -0.3 -0.5 0.3 -v -0.3 -0.5 0.4 -v -0.3 -0.5 0.5 -v -0.2 -0.5 -0.5 -v -0.2 -0.5 -0.4 -v -0.2 -0.5 -0.3 -v -0.2 -0.5 -0.2 -v -0.2 -0.5 -0.1 -v -0.2 -0.5 0 -v -0.2 -0.5 0.1 -v -0.2 -0.5 0.2 -v -0.2 -0.5 0.3 -v -0.2 -0.5 0.4 -v -0.2 -0.5 0.5 -v -0.1 -0.5 -0.5 -v -0.1 -0.5 -0.4 -v -0.1 -0.5 -0.3 -v -0.1 -0.5 -0.2 -v -0.1 -0.5 -0.1 -v -0.1 -0.5 0 -v -0.1 -0.5 0.1 -v -0.1 -0.5 0.2 -v -0.1 -0.5 0.3 -v -0.1 -0.5 0.4 -v -0.1 -0.5 0.5 -v 0 -0.5 -0.5 -v 0 -0.5 -0.4 -v 0 -0.5 -0.3 -v 0 -0.5 -0.2 -v 0 -0.5 -0.1 -v 0 -0.5 0 -v 0 -0.5 0.1 -v 0 -0.5 0.2 -v 0 -0.5 0.3 -v 0 -0.5 0.4 -v 0 -0.5 0.5 -v 0.1 -0.5 -0.5 -v 0.1 -0.5 -0.4 -v 0.1 -0.5 -0.3 -v 0.1 -0.5 -0.2 -v 0.1 -0.5 -0.1 -v 0.1 -0.5 0 -v 0.1 -0.5 0.1 -v 0.1 -0.5 0.2 -v 0.1 -0.5 0.3 -v 0.1 -0.5 0.4 -v 0.1 -0.5 0.5 -v 0.2 -0.5 -0.5 -v 0.2 -0.5 -0.4 -v 0.2 -0.5 -0.3 -v 0.2 -0.5 -0.2 -v 0.2 -0.5 -0.1 -v 0.2 -0.5 0 -v 0.2 -0.5 0.1 -v 0.2 -0.5 0.2 -v 0.2 -0.5 0.3 -v 0.2 -0.5 0.4 -v 0.2 -0.5 0.5 -v 0.3 -0.5 -0.5 -v 0.3 -0.5 -0.4 -v 0.3 -0.5 -0.3 -v 0.3 -0.5 -0.2 -v 0.3 -0.5 -0.1 -v 0.3 -0.5 0 -v 0.3 -0.5 0.1 -v 0.3 -0.5 0.2 -v 0.3 -0.5 0.3 -v 0.3 -0.5 0.4 -v 0.3 -0.5 0.5 -v 0.4 -0.5 -0.5 -v 0.4 -0.5 -0.4 -v 0.4 -0.5 -0.3 -v 0.4 -0.5 -0.2 -v 0.4 -0.5 -0.1 -v 0.4 -0.5 0 -v 0.4 -0.5 0.1 -v 0.4 -0.5 0.2 -v 0.4 -0.5 0.3 -v 0.4 -0.5 0.4 -v 0.4 -0.5 0.5 -v 0.5 -0.5 -0.5 -v 0.5 -0.5 -0.4 -v 0.5 -0.5 -0.3 -v 0.5 -0.5 -0.2 -v 0.5 -0.5 -0.1 -v 0.5 -0.5 0 -v 0.5 -0.5 0.1 -v 0.5 -0.5 0.2 -v 0.5 -0.5 0.3 -v 0.5 -0.5 0.4 -v 0.5 -0.5 0.5 -v -0.5 0.5 -0.5 -v -0.5 0.5 -0.4 -v -0.5 0.5 -0.3 -v -0.5 0.5 -0.2 -v -0.5 0.5 -0.1 -v -0.5 0.5 0 -v -0.5 0.5 0.1 -v -0.5 0.5 0.2 -v -0.5 0.5 0.3 -v -0.5 0.5 0.4 -v -0.5 0.5 0.5 -v -0.4 0.5 -0.5 -v -0.4 0.5 -0.4 -v -0.4 0.5 -0.3 -v -0.4 0.5 -0.2 -v -0.4 0.5 -0.1 -v -0.4 0.5 0 -v -0.4 0.5 0.1 -v -0.4 0.5 0.2 -v -0.4 0.5 0.3 -v -0.4 0.5 0.4 -v -0.4 0.5 0.5 -v -0.3 0.5 -0.5 -v -0.3 0.5 -0.4 -v -0.3 0.5 -0.3 -v -0.3 0.5 -0.2 -v -0.3 0.5 -0.1 -v -0.3 0.5 0 -v -0.3 0.5 0.1 -v -0.3 0.5 0.2 -v -0.3 0.5 0.3 -v -0.3 0.5 0.4 -v -0.3 0.5 0.5 -v -0.2 0.5 -0.5 -v -0.2 0.5 -0.4 -v -0.2 0.5 -0.3 -v -0.2 0.5 -0.2 -v -0.2 0.5 -0.1 -v -0.2 0.5 0 -v -0.2 0.5 0.1 -v -0.2 0.5 0.2 -v -0.2 0.5 0.3 -v -0.2 0.5 0.4 -v -0.2 0.5 0.5 -v -0.1 0.5 -0.5 -v -0.1 0.5 -0.4 -v -0.1 0.5 -0.3 -v -0.1 0.5 -0.2 -v -0.1 0.5 -0.1 -v -0.1 0.5 0 -v -0.1 0.5 0.1 -v -0.1 0.5 0.2 -v -0.1 0.5 0.3 -v -0.1 0.5 0.4 -v -0.1 0.5 0.5 -v 0 0.5 -0.5 -v 0 0.5 -0.4 -v 0 0.5 -0.3 -v 0 0.5 -0.2 -v 0 0.5 -0.1 -v 0 0.5 0 -v 0 0.5 0.1 -v 0 0.5 0.2 -v 0 0.5 0.3 -v 0 0.5 0.4 -v 0 0.5 0.5 -v 0.1 0.5 -0.5 -v 0.1 0.5 -0.4 -v 0.1 0.5 -0.3 -v 0.1 0.5 -0.2 -v 0.1 0.5 -0.1 -v 0.1 0.5 0 -v 0.1 0.5 0.1 -v 0.1 0.5 0.2 -v 0.1 0.5 0.3 -v 0.1 0.5 0.4 -v 0.1 0.5 0.5 -v 0.2 0.5 -0.5 -v 0.2 0.5 -0.4 -v 0.2 0.5 -0.3 -v 0.2 0.5 -0.2 -v 0.2 0.5 -0.1 -v 0.2 0.5 0 -v 0.2 0.5 0.1 -v 0.2 0.5 0.2 -v 0.2 0.5 0.3 -v 0.2 0.5 0.4 -v 0.2 0.5 0.5 -v 0.3 0.5 -0.5 -v 0.3 0.5 -0.4 -v 0.3 0.5 -0.3 -v 0.3 0.5 -0.2 -v 0.3 0.5 -0.1 -v 0.3 0.5 0 -v 0.3 0.5 0.1 -v 0.3 0.5 0.2 -v 0.3 0.5 0.3 -v 0.3 0.5 0.4 -v 0.3 0.5 0.5 -v 0.4 0.5 -0.5 -v 0.4 0.5 -0.4 -v 0.4 0.5 -0.3 -v 0.4 0.5 -0.2 -v 0.4 0.5 -0.1 -v 0.4 0.5 0 -v 0.4 0.5 0.1 -v 0.4 0.5 0.2 -v 0.4 0.5 0.3 -v 0.4 0.5 0.4 -v 0.4 0.5 0.5 -v 0.5 0.5 -0.5 -v 0.5 0.5 -0.4 -v 0.5 0.5 -0.3 -v 0.5 0.5 -0.2 -v 0.5 0.5 -0.1 -v 0.5 0.5 0 -v 0.5 0.5 0.1 -v 0.5 0.5 0.2 -v 0.5 0.5 0.3 -v 0.5 0.5 0.4 -v 0.5 0.5 0.5 -f 1 2 12 -f 2 13 12 -f 2 3 13 -f 3 14 13 -f 3 4 14 -f 4 15 14 -f 4 5 15 -f 5 16 15 -f 5 6 16 -f 6 17 16 -f 6 7 17 -f 7 18 17 -f 7 8 18 -f 8 19 18 -f 8 9 19 -f 9 20 19 -f 9 10 20 -f 10 21 20 -f 10 11 21 -f 11 22 21 -f 12 13 23 -f 13 24 23 -f 13 14 24 -f 14 25 24 -f 14 15 25 -f 15 26 25 -f 15 16 26 -f 16 27 26 -f 16 17 27 -f 17 28 27 -f 17 18 28 -f 18 29 28 -f 18 19 29 -f 19 30 29 -f 19 20 30 -f 20 31 30 -f 20 21 31 -f 21 32 31 -f 21 22 32 -f 22 33 32 -f 23 24 34 -f 24 35 34 -f 24 25 35 -f 25 36 35 -f 25 26 36 -f 26 37 36 -f 26 27 37 -f 27 38 37 -f 27 28 38 -f 28 39 38 -f 28 29 39 -f 29 40 39 -f 29 30 40 -f 30 41 40 -f 30 31 41 -f 31 42 41 -f 31 32 42 -f 32 43 42 -f 32 33 43 -f 33 44 43 -f 34 35 45 -f 35 46 45 -f 35 36 46 -f 36 47 46 -f 36 37 47 -f 37 48 47 -f 37 38 48 -f 38 49 48 -f 38 39 49 -f 39 50 49 -f 39 40 50 -f 40 51 50 -f 40 41 51 -f 41 52 51 -f 41 42 52 -f 42 53 52 -f 42 43 53 -f 43 54 53 -f 43 44 54 -f 44 55 54 -f 45 46 56 -f 46 57 56 -f 46 47 57 -f 47 58 57 -f 47 48 58 -f 48 59 58 -f 48 49 59 -f 49 60 59 -f 49 50 60 -f 50 61 60 -f 50 51 61 -f 51 62 61 -f 51 52 62 -f 52 63 62 -f 52 53 63 -f 53 64 63 -f 53 54 64 -f 54 65 64 -f 54 55 65 -f 55 66 65 -f 56 57 67 -f 57 68 67 -f 57 58 68 -f 58 69 68 -f 58 59 69 -f 59 70 69 -f 59 60 70 -f 60 71 70 -f 60 61 71 -f 61 72 71 -f 61 62 72 -f 62 73 72 -f 62 63 73 -f 63 74 73 -f 63 64 74 -f 64 75 74 -f 64 65 75 -f 65 76 75 -f 65 66 76 -f 66 77 76 -f 67 68 78 -f 68 79 78 -f 68 69 79 -f 69 80 79 -f 69 70 80 -f 70 81 80 -f 70 71 81 -f 71 82 81 -f 71 72 82 -f 72 83 82 -f 72 73 83 -f 73 84 83 -f 73 74 84 -f 74 85 84 -f 74 75 85 -f 75 86 85 -f 75 76 86 -f 76 87 86 -f 76 77 87 -f 77 88 87 -f 78 79 89 -f 79 90 89 -f 79 80 90 -f 80 91 90 -f 80 81 91 -f 81 92 91 -f 81 82 92 -f 82 93 92 -f 82 83 93 -f 83 94 93 -f 83 84 94 -f 84 95 94 -f 84 85 95 -f 85 96 95 -f 85 86 96 -f 86 97 96 -f 86 87 97 -f 87 98 97 -f 87 88 98 -f 88 99 98 -f 89 90 100 -f 90 101 100 -f 90 91 101 -f 91 102 101 -f 91 92 102 -f 92 103 102 -f 92 93 103 -f 93 104 103 -f 93 94 104 -f 94 105 104 -f 94 95 105 -f 95 106 105 -f 95 96 106 -f 96 107 106 -f 96 97 107 -f 97 108 107 -f 97 98 108 -f 98 109 108 -f 98 99 109 -f 99 110 109 -f 100 101 111 -f 101 112 111 -f 101 102 112 -f 102 113 112 -f 102 103 113 -f 103 114 113 -f 103 104 114 -f 104 115 114 -f 104 105 115 -f 105 116 115 -f 105 106 116 -f 106 117 116 -f 106 107 117 -f 107 118 117 -f 107 108 118 -f 108 119 118 -f 108 109 119 -f 109 120 119 -f 109 110 120 -f 110 121 120 -f 122 123 133 -f 123 134 133 -f 123 124 134 -f 124 135 134 -f 124 125 135 -f 125 136 135 -f 125 126 136 -f 126 137 136 -f 126 127 137 -f 127 138 137 -f 127 128 138 -f 128 139 138 -f 128 129 139 -f 129 140 139 -f 129 130 140 -f 130 141 140 -f 130 131 141 -f 131 142 141 -f 131 132 142 -f 132 143 142 -f 133 134 144 -f 134 145 144 -f 134 135 145 -f 135 146 145 -f 135 136 146 -f 136 147 146 -f 136 137 147 -f 137 148 147 -f 137 138 148 -f 138 149 148 -f 138 139 149 -f 139 150 149 -f 139 140 150 -f 140 151 150 -f 140 141 151 -f 141 152 151 -f 141 142 152 -f 142 153 152 -f 142 143 153 -f 143 154 153 -f 144 145 155 -f 145 156 155 -f 145 146 156 -f 146 157 156 -f 146 147 157 -f 147 158 157 -f 147 148 158 -f 148 159 158 -f 148 149 159 -f 149 160 159 -f 149 150 160 -f 150 161 160 -f 150 151 161 -f 151 162 161 -f 151 152 162 -f 152 163 162 -f 152 153 163 -f 153 164 163 -f 153 154 164 -f 154 165 164 -f 155 156 166 -f 156 167 166 -f 156 157 167 -f 157 168 167 -f 157 158 168 -f 158 169 168 -f 158 159 169 -f 159 170 169 -f 159 160 170 -f 160 171 170 -f 160 161 171 -f 161 172 171 -f 161 162 172 -f 162 173 172 -f 162 163 173 -f 163 174 173 -f 163 164 174 -f 164 175 174 -f 164 165 175 -f 165 176 175 -f 166 167 177 -f 167 178 177 -f 167 168 178 -f 168 179 178 -f 168 169 179 -f 169 180 179 -f 169 170 180 -f 170 181 180 -f 170 171 181 -f 171 182 181 -f 171 172 182 -f 172 183 182 -f 172 173 183 -f 173 184 183 -f 173 174 184 -f 174 185 184 -f 174 175 185 -f 175 186 185 -f 175 176 186 -f 176 187 186 -f 177 178 188 -f 178 189 188 -f 178 179 189 -f 179 190 189 -f 179 180 190 -f 180 191 190 -f 180 181 191 -f 181 192 191 -f 181 182 192 -f 182 193 192 -f 182 183 193 -f 183 194 193 -f 183 184 194 -f 184 195 194 -f 184 185 195 -f 185 196 195 -f 185 186 196 -f 186 197 196 -f 186 187 197 -f 187 198 197 -f 188 189 199 -f 189 200 199 -f 189 190 200 -f 190 201 200 -f 190 191 201 -f 191 202 201 -f 191 192 202 -f 192 203 202 -f 192 193 203 -f 193 204 203 -f 193 194 204 -f 194 205 204 -f 194 195 205 -f 195 206 205 -f 195 196 206 -f 196 207 206 -f 196 197 207 -f 197 208 207 -f 197 198 208 -f 198 209 208 -f 199 200 210 -f 200 211 210 -f 200 201 211 -f 201 212 211 -f 201 202 212 -f 202 213 212 -f 202 203 213 -f 203 214 213 -f 203 204 214 -f 204 215 214 -f 204 205 215 -f 205 216 215 -f 205 206 216 -f 206 217 216 -f 206 207 217 -f 207 218 217 -f 207 208 218 -f 208 219 218 -f 208 209 219 -f 209 220 219 -f 210 211 221 -f 211 222 221 -f 211 212 222 -f 212 223 222 -f 212 213 223 -f 213 224 223 -f 213 214 224 -f 214 225 224 -f 214 215 225 -f 215 226 225 -f 215 216 226 -f 216 227 226 -f 216 217 227 -f 217 228 227 -f 217 218 228 -f 218 229 228 -f 218 219 229 -f 219 230 229 -f 219 220 230 -f 220 231 230 -f 221 222 232 -f 222 233 232 -f 222 223 233 -f 223 234 233 -f 223 224 234 -f 224 235 234 -f 224 225 235 -f 225 236 235 -f 225 226 236 -f 226 237 236 -f 226 227 237 -f 227 238 237 -f 227 228 238 -f 228 239 238 -f 228 229 239 -f 229 240 239 -f 229 230 240 -f 230 241 240 -f 230 231 241 -f 231 242 241 -f 243 244 254 -f 244 255 254 -f 244 245 255 -f 245 256 255 -f 245 246 256 -f 246 257 256 -f 246 247 257 -f 247 258 257 -f 247 248 258 -f 248 259 258 -f 248 249 259 -f 249 260 259 -f 249 250 260 -f 250 261 260 -f 250 251 261 -f 251 262 261 -f 251 252 262 -f 252 263 262 -f 252 253 263 -f 253 264 263 -f 254 255 265 -f 255 266 265 -f 255 256 266 -f 256 267 266 -f 256 257 267 -f 257 268 267 -f 257 258 268 -f 258 269 268 -f 258 259 269 -f 259 270 269 -f 259 260 270 -f 260 271 270 -f 260 261 271 -f 261 272 271 -f 261 262 272 -f 262 273 272 -f 262 263 273 -f 263 274 273 -f 263 264 274 -f 264 275 274 -f 265 266 276 -f 266 277 276 -f 266 267 277 -f 267 278 277 -f 267 268 278 -f 268 279 278 -f 268 269 279 -f 269 280 279 -f 269 270 280 -f 270 281 280 -f 270 271 281 -f 271 282 281 -f 271 272 282 -f 272 283 282 -f 272 273 283 -f 273 284 283 -f 273 274 284 -f 274 285 284 -f 274 275 285 -f 275 286 285 -f 276 277 287 -f 277 288 287 -f 277 278 288 -f 278 289 288 -f 278 279 289 -f 279 290 289 -f 279 280 290 -f 280 291 290 -f 280 281 291 -f 281 292 291 -f 281 282 292 -f 282 293 292 -f 282 283 293 -f 283 294 293 -f 283 284 294 -f 284 295 294 -f 284 285 295 -f 285 296 295 -f 285 286 296 -f 286 297 296 -f 287 288 298 -f 288 299 298 -f 288 289 299 -f 289 300 299 -f 289 290 300 -f 290 301 300 -f 290 291 301 -f 291 302 301 -f 291 292 302 -f 292 303 302 -f 292 293 303 -f 293 304 303 -f 293 294 304 -f 294 305 304 -f 294 295 305 -f 295 306 305 -f 295 296 306 -f 296 307 306 -f 296 297 307 -f 297 308 307 -f 298 299 309 -f 299 310 309 -f 299 300 310 -f 300 311 310 -f 300 301 311 -f 301 312 311 -f 301 302 312 -f 302 313 312 -f 302 303 313 -f 303 314 313 -f 303 304 314 -f 304 315 314 -f 304 305 315 -f 305 316 315 -f 305 306 316 -f 306 317 316 -f 306 307 317 -f 307 318 317 -f 307 308 318 -f 308 319 318 -f 309 310 320 -f 310 321 320 -f 310 311 321 -f 311 322 321 -f 311 312 322 -f 312 323 322 -f 312 313 323 -f 313 324 323 -f 313 314 324 -f 314 325 324 -f 314 315 325 -f 315 326 325 -f 315 316 326 -f 316 327 326 -f 316 317 327 -f 317 328 327 -f 317 318 328 -f 318 329 328 -f 318 319 329 -f 319 330 329 -f 320 321 331 -f 321 332 331 -f 321 322 332 -f 322 333 332 -f 322 323 333 -f 323 334 333 -f 323 324 334 -f 324 335 334 -f 324 325 335 -f 325 336 335 -f 325 326 336 -f 326 337 336 -f 326 327 337 -f 327 338 337 -f 327 328 338 -f 328 339 338 -f 328 329 339 -f 329 340 339 -f 329 330 340 -f 330 341 340 -f 331 332 342 -f 332 343 342 -f 332 333 343 -f 333 344 343 -f 333 334 344 -f 334 345 344 -f 334 335 345 -f 335 346 345 -f 335 336 346 -f 336 347 346 -f 336 337 347 -f 337 348 347 -f 337 338 348 -f 338 349 348 -f 338 339 349 -f 339 350 349 -f 339 340 350 -f 340 351 350 -f 340 341 351 -f 341 352 351 -f 342 343 353 -f 343 354 353 -f 343 344 354 -f 344 355 354 -f 344 345 355 -f 345 356 355 -f 345 346 356 -f 346 357 356 -f 346 347 357 -f 347 358 357 -f 347 348 358 -f 348 359 358 -f 348 349 359 -f 349 360 359 -f 349 350 360 -f 350 361 360 -f 350 351 361 -f 351 362 361 -f 351 352 362 -f 352 363 362 -f 364 365 375 -f 365 376 375 -f 365 366 376 -f 366 377 376 -f 366 367 377 -f 367 378 377 -f 367 368 378 -f 368 379 378 -f 368 369 379 -f 369 380 379 -f 369 370 380 -f 370 381 380 -f 370 371 381 -f 371 382 381 -f 371 372 382 -f 372 383 382 -f 372 373 383 -f 373 384 383 -f 373 374 384 -f 374 385 384 -f 375 376 386 -f 376 387 386 -f 376 377 387 -f 377 388 387 -f 377 378 388 -f 378 389 388 -f 378 379 389 -f 379 390 389 -f 379 380 390 -f 380 391 390 -f 380 381 391 -f 381 392 391 -f 381 382 392 -f 382 393 392 -f 382 383 393 -f 383 394 393 -f 383 384 394 -f 384 395 394 -f 384 385 395 -f 385 396 395 -f 386 387 397 -f 387 398 397 -f 387 388 398 -f 388 399 398 -f 388 389 399 -f 389 400 399 -f 389 390 400 -f 390 401 400 -f 390 391 401 -f 391 402 401 -f 391 392 402 -f 392 403 402 -f 392 393 403 -f 393 404 403 -f 393 394 404 -f 394 405 404 -f 394 395 405 -f 395 406 405 -f 395 396 406 -f 396 407 406 -f 397 398 408 -f 398 409 408 -f 398 399 409 -f 399 410 409 -f 399 400 410 -f 400 411 410 -f 400 401 411 -f 401 412 411 -f 401 402 412 -f 402 413 412 -f 402 403 413 -f 403 414 413 -f 403 404 414 -f 404 415 414 -f 404 405 415 -f 405 416 415 -f 405 406 416 -f 406 417 416 -f 406 407 417 -f 407 418 417 -f 408 409 419 -f 409 420 419 -f 409 410 420 -f 410 421 420 -f 410 411 421 -f 411 422 421 -f 411 412 422 -f 412 423 422 -f 412 413 423 -f 413 424 423 -f 413 414 424 -f 414 425 424 -f 414 415 425 -f 415 426 425 -f 415 416 426 -f 416 427 426 -f 416 417 427 -f 417 428 427 -f 417 418 428 -f 418 429 428 -f 419 420 430 -f 420 431 430 -f 420 421 431 -f 421 432 431 -f 421 422 432 -f 422 433 432 -f 422 423 433 -f 423 434 433 -f 423 424 434 -f 424 435 434 -f 424 425 435 -f 425 436 435 -f 425 426 436 -f 426 437 436 -f 426 427 437 -f 427 438 437 -f 427 428 438 -f 428 439 438 -f 428 429 439 -f 429 440 439 -f 430 431 441 -f 431 442 441 -f 431 432 442 -f 432 443 442 -f 432 433 443 -f 433 444 443 -f 433 434 444 -f 434 445 444 -f 434 435 445 -f 435 446 445 -f 435 436 446 -f 436 447 446 -f 436 437 447 -f 437 448 447 -f 437 438 448 -f 438 449 448 -f 438 439 449 -f 439 450 449 -f 439 440 450 -f 440 451 450 -f 441 442 452 -f 442 453 452 -f 442 443 453 -f 443 454 453 -f 443 444 454 -f 444 455 454 -f 444 445 455 -f 445 456 455 -f 445 446 456 -f 446 457 456 -f 446 447 457 -f 447 458 457 -f 447 448 458 -f 448 459 458 -f 448 449 459 -f 449 460 459 -f 449 450 460 -f 450 461 460 -f 450 451 461 -f 451 462 461 -f 452 453 463 -f 453 464 463 -f 453 454 464 -f 454 465 464 -f 454 455 465 -f 455 466 465 -f 455 456 466 -f 456 467 466 -f 456 457 467 -f 457 468 467 -f 457 458 468 -f 458 469 468 -f 458 459 469 -f 459 470 469 -f 459 460 470 -f 460 471 470 -f 460 461 471 -f 461 472 471 -f 461 462 472 -f 462 473 472 -f 463 464 474 -f 464 475 474 -f 464 465 475 -f 465 476 475 -f 465 466 476 -f 466 477 476 -f 466 467 477 -f 467 478 477 -f 467 468 478 -f 468 479 478 -f 468 469 479 -f 469 480 479 -f 469 470 480 -f 470 481 480 -f 470 471 481 -f 471 482 481 -f 471 472 482 -f 472 483 482 -f 472 473 483 -f 473 484 483 -f 485 486 496 -f 486 497 496 -f 486 487 497 -f 487 498 497 -f 487 488 498 -f 488 499 498 -f 488 489 499 -f 489 500 499 -f 489 490 500 -f 490 501 500 -f 490 491 501 -f 491 502 501 -f 491 492 502 -f 492 503 502 -f 492 493 503 -f 493 504 503 -f 493 494 504 -f 494 505 504 -f 494 495 505 -f 495 506 505 -f 496 497 507 -f 497 508 507 -f 497 498 508 -f 498 509 508 -f 498 499 509 -f 499 510 509 -f 499 500 510 -f 500 511 510 -f 500 501 511 -f 501 512 511 -f 501 502 512 -f 502 513 512 -f 502 503 513 -f 503 514 513 -f 503 504 514 -f 504 515 514 -f 504 505 515 -f 505 516 515 -f 505 506 516 -f 506 517 516 -f 507 508 518 -f 508 519 518 -f 508 509 519 -f 509 520 519 -f 509 510 520 -f 510 521 520 -f 510 511 521 -f 511 522 521 -f 511 512 522 -f 512 523 522 -f 512 513 523 -f 513 524 523 -f 513 514 524 -f 514 525 524 -f 514 515 525 -f 515 526 525 -f 515 516 526 -f 516 527 526 -f 516 517 527 -f 517 528 527 -f 518 519 529 -f 519 530 529 -f 519 520 530 -f 520 531 530 -f 520 521 531 -f 521 532 531 -f 521 522 532 -f 522 533 532 -f 522 523 533 -f 523 534 533 -f 523 524 534 -f 524 535 534 -f 524 525 535 -f 525 536 535 -f 525 526 536 -f 526 537 536 -f 526 527 537 -f 527 538 537 -f 527 528 538 -f 528 539 538 -f 529 530 540 -f 530 541 540 -f 530 531 541 -f 531 542 541 -f 531 532 542 -f 532 543 542 -f 532 533 543 -f 533 544 543 -f 533 534 544 -f 534 545 544 -f 534 535 545 -f 535 546 545 -f 535 536 546 -f 536 547 546 -f 536 537 547 -f 537 548 547 -f 537 538 548 -f 538 549 548 -f 538 539 549 -f 539 550 549 -f 540 541 551 -f 541 552 551 -f 541 542 552 -f 542 553 552 -f 542 543 553 -f 543 554 553 -f 543 544 554 -f 544 555 554 -f 544 545 555 -f 545 556 555 -f 545 546 556 -f 546 557 556 -f 546 547 557 -f 547 558 557 -f 547 548 558 -f 548 559 558 -f 548 549 559 -f 549 560 559 -f 549 550 560 -f 550 561 560 -f 551 552 562 -f 552 563 562 -f 552 553 563 -f 553 564 563 -f 553 554 564 -f 554 565 564 -f 554 555 565 -f 555 566 565 -f 555 556 566 -f 556 567 566 -f 556 557 567 -f 557 568 567 -f 557 558 568 -f 558 569 568 -f 558 559 569 -f 559 570 569 -f 559 560 570 -f 560 571 570 -f 560 561 571 -f 561 572 571 -f 562 563 573 -f 563 574 573 -f 563 564 574 -f 564 575 574 -f 564 565 575 -f 565 576 575 -f 565 566 576 -f 566 577 576 -f 566 567 577 -f 567 578 577 -f 567 568 578 -f 568 579 578 -f 568 569 579 -f 569 580 579 -f 569 570 580 -f 570 581 580 -f 570 571 581 -f 571 582 581 -f 571 572 582 -f 572 583 582 -f 573 574 584 -f 574 585 584 -f 574 575 585 -f 575 586 585 -f 575 576 586 -f 576 587 586 -f 576 577 587 -f 577 588 587 -f 577 578 588 -f 578 589 588 -f 578 579 589 -f 579 590 589 -f 579 580 590 -f 580 591 590 -f 580 581 591 -f 581 592 591 -f 581 582 592 -f 582 593 592 -f 582 583 593 -f 583 594 593 -f 584 585 595 -f 585 596 595 -f 585 586 596 -f 586 597 596 -f 586 587 597 -f 587 598 597 -f 587 588 598 -f 588 599 598 -f 588 589 599 -f 589 600 599 -f 589 590 600 -f 590 601 600 -f 590 591 601 -f 591 602 601 -f 591 592 602 -f 592 603 602 -f 592 593 603 -f 593 604 603 -f 593 594 604 -f 594 605 604 -f 606 607 617 -f 607 618 617 -f 607 608 618 -f 608 619 618 -f 608 609 619 -f 609 620 619 -f 609 610 620 -f 610 621 620 -f 610 611 621 -f 611 622 621 -f 611 612 622 -f 612 623 622 -f 612 613 623 -f 613 624 623 -f 613 614 624 -f 614 625 624 -f 614 615 625 -f 615 626 625 -f 615 616 626 -f 616 627 626 -f 617 618 628 -f 618 629 628 -f 618 619 629 -f 619 630 629 -f 619 620 630 -f 620 631 630 -f 620 621 631 -f 621 632 631 -f 621 622 632 -f 622 633 632 -f 622 623 633 -f 623 634 633 -f 623 624 634 -f 624 635 634 -f 624 625 635 -f 625 636 635 -f 625 626 636 -f 626 637 636 -f 626 627 637 -f 627 638 637 -f 628 629 639 -f 629 640 639 -f 629 630 640 -f 630 641 640 -f 630 631 641 -f 631 642 641 -f 631 632 642 -f 632 643 642 -f 632 633 643 -f 633 644 643 -f 633 634 644 -f 634 645 644 -f 634 635 645 -f 635 646 645 -f 635 636 646 -f 636 647 646 -f 636 637 647 -f 637 648 647 -f 637 638 648 -f 638 649 648 -f 639 640 650 -f 640 651 650 -f 640 641 651 -f 641 652 651 -f 641 642 652 -f 642 653 652 -f 642 643 653 -f 643 654 653 -f 643 644 654 -f 644 655 654 -f 644 645 655 -f 645 656 655 -f 645 646 656 -f 646 657 656 -f 646 647 657 -f 647 658 657 -f 647 648 658 -f 648 659 658 -f 648 649 659 -f 649 660 659 -f 650 651 661 -f 651 662 661 -f 651 652 662 -f 652 663 662 -f 652 653 663 -f 653 664 663 -f 653 654 664 -f 654 665 664 -f 654 655 665 -f 655 666 665 -f 655 656 666 -f 656 667 666 -f 656 657 667 -f 657 668 667 -f 657 658 668 -f 658 669 668 -f 658 659 669 -f 659 670 669 -f 659 660 670 -f 660 671 670 -f 661 662 672 -f 662 673 672 -f 662 663 673 -f 663 674 673 -f 663 664 674 -f 664 675 674 -f 664 665 675 -f 665 676 675 -f 665 666 676 -f 666 677 676 -f 666 667 677 -f 667 678 677 -f 667 668 678 -f 668 679 678 -f 668 669 679 -f 669 680 679 -f 669 670 680 -f 670 681 680 -f 670 671 681 -f 671 682 681 -f 672 673 683 -f 673 684 683 -f 673 674 684 -f 674 685 684 -f 674 675 685 -f 675 686 685 -f 675 676 686 -f 676 687 686 -f 676 677 687 -f 677 688 687 -f 677 678 688 -f 678 689 688 -f 678 679 689 -f 679 690 689 -f 679 680 690 -f 680 691 690 -f 680 681 691 -f 681 692 691 -f 681 682 692 -f 682 693 692 -f 683 684 694 -f 684 695 694 -f 684 685 695 -f 685 696 695 -f 685 686 696 -f 686 697 696 -f 686 687 697 -f 687 698 697 -f 687 688 698 -f 688 699 698 -f 688 689 699 -f 689 700 699 -f 689 690 700 -f 690 701 700 -f 690 691 701 -f 691 702 701 -f 691 692 702 -f 692 703 702 -f 692 693 703 -f 693 704 703 -f 694 695 705 -f 695 706 705 -f 695 696 706 -f 696 707 706 -f 696 697 707 -f 697 708 707 -f 697 698 708 -f 698 709 708 -f 698 699 709 -f 699 710 709 -f 699 700 710 -f 700 711 710 -f 700 701 711 -f 701 712 711 -f 701 702 712 -f 702 713 712 -f 702 703 713 -f 703 714 713 -f 703 704 714 -f 704 715 714 -f 705 706 716 -f 706 717 716 -f 706 707 717 -f 707 718 717 -f 707 708 718 -f 708 719 718 -f 708 709 719 -f 709 720 719 -f 709 710 720 -f 710 721 720 -f 710 711 721 -f 711 722 721 -f 711 712 722 -f 712 723 722 -f 712 713 723 -f 713 724 723 -f 713 714 724 -f 714 725 724 -f 714 715 725 -f 715 726 725 diff --git a/models/plane.3d b/models/plane.3d deleted file mode 100644 index 1595837f..00000000 --- a/models/plane.3d +++ /dev/null @@ -1,321 +0,0 @@ -v -0.5 0 -0.5 -v -0.5 0 -0.4 -v -0.5 0 -0.3 -v -0.5 0 -0.2 -v -0.5 0 -0.1 -v -0.5 0 0 -v -0.5 0 0.1 -v -0.5 0 0.2 -v -0.5 0 0.3 -v -0.5 0 0.4 -v -0.5 0 0.5 -v -0.4 0 -0.5 -v -0.4 0 -0.4 -v -0.4 0 -0.3 -v -0.4 0 -0.2 -v -0.4 0 -0.1 -v -0.4 0 0 -v -0.4 0 0.1 -v -0.4 0 0.2 -v -0.4 0 0.3 -v -0.4 0 0.4 -v -0.4 0 0.5 -v -0.3 0 -0.5 -v -0.3 0 -0.4 -v -0.3 0 -0.3 -v -0.3 0 -0.2 -v -0.3 0 -0.1 -v -0.3 0 0 -v -0.3 0 0.1 -v -0.3 0 0.2 -v -0.3 0 0.3 -v -0.3 0 0.4 -v -0.3 0 0.5 -v -0.2 0 -0.5 -v -0.2 0 -0.4 -v -0.2 0 -0.3 -v -0.2 0 -0.2 -v -0.2 0 -0.1 -v -0.2 0 0 -v -0.2 0 0.1 -v -0.2 0 0.2 -v -0.2 0 0.3 -v -0.2 0 0.4 -v -0.2 0 0.5 -v -0.1 0 -0.5 -v -0.1 0 -0.4 -v -0.1 0 -0.3 -v -0.1 0 -0.2 -v -0.1 0 -0.1 -v -0.1 0 0 -v -0.1 0 0.1 -v -0.1 0 0.2 -v -0.1 0 0.3 -v -0.1 0 0.4 -v -0.1 0 0.5 -v 0 0 -0.5 -v 0 0 -0.4 -v 0 0 -0.3 -v 0 0 -0.2 -v 0 0 -0.1 -v 0 0 0 -v 0 0 0.1 -v 0 0 0.2 -v 0 0 0.3 -v 0 0 0.4 -v 0 0 0.5 -v 0.1 0 -0.5 -v 0.1 0 -0.4 -v 0.1 0 -0.3 -v 0.1 0 -0.2 -v 0.1 0 -0.1 -v 0.1 0 0 -v 0.1 0 0.1 -v 0.1 0 0.2 -v 0.1 0 0.3 -v 0.1 0 0.4 -v 0.1 0 0.5 -v 0.2 0 -0.5 -v 0.2 0 -0.4 -v 0.2 0 -0.3 -v 0.2 0 -0.2 -v 0.2 0 -0.1 -v 0.2 0 0 -v 0.2 0 0.1 -v 0.2 0 0.2 -v 0.2 0 0.3 -v 0.2 0 0.4 -v 0.2 0 0.5 -v 0.3 0 -0.5 -v 0.3 0 -0.4 -v 0.3 0 -0.3 -v 0.3 0 -0.2 -v 0.3 0 -0.1 -v 0.3 0 0 -v 0.3 0 0.1 -v 0.3 0 0.2 -v 0.3 0 0.3 -v 0.3 0 0.4 -v 0.3 0 0.5 -v 0.4 0 -0.5 -v 0.4 0 -0.4 -v 0.4 0 -0.3 -v 0.4 0 -0.2 -v 0.4 0 -0.1 -v 0.4 0 0 -v 0.4 0 0.1 -v 0.4 0 0.2 -v 0.4 0 0.3 -v 0.4 0 0.4 -v 0.4 0 0.5 -v 0.5 0 -0.5 -v 0.5 0 -0.4 -v 0.5 0 -0.3 -v 0.5 0 -0.2 -v 0.5 0 -0.1 -v 0.5 0 0 -v 0.5 0 0.1 -v 0.5 0 0.2 -v 0.5 0 0.3 -v 0.5 0 0.4 -v 0.5 0 0.5 -f 2 12 1 -f 2 13 12 -f 3 13 2 -f 3 14 13 -f 4 14 3 -f 4 15 14 -f 5 15 4 -f 5 16 15 -f 6 16 5 -f 6 17 16 -f 7 17 6 -f 7 18 17 -f 8 18 7 -f 8 19 18 -f 9 19 8 -f 9 20 19 -f 10 20 9 -f 10 21 20 -f 11 21 10 -f 11 22 21 -f 13 23 12 -f 13 24 23 -f 14 24 13 -f 14 25 24 -f 15 25 14 -f 15 26 25 -f 16 26 15 -f 16 27 26 -f 17 27 16 -f 17 28 27 -f 18 28 17 -f 18 29 28 -f 19 29 18 -f 19 30 29 -f 20 30 19 -f 20 31 30 -f 21 31 20 -f 21 32 31 -f 22 32 21 -f 22 33 32 -f 24 34 23 -f 24 35 34 -f 25 35 24 -f 25 36 35 -f 26 36 25 -f 26 37 36 -f 27 37 26 -f 27 38 37 -f 28 38 27 -f 28 39 38 -f 29 39 28 -f 29 40 39 -f 30 40 29 -f 30 41 40 -f 31 41 30 -f 31 42 41 -f 32 42 31 -f 32 43 42 -f 33 43 32 -f 33 44 43 -f 35 45 34 -f 35 46 45 -f 36 46 35 -f 36 47 46 -f 37 47 36 -f 37 48 47 -f 38 48 37 -f 38 49 48 -f 39 49 38 -f 39 50 49 -f 40 50 39 -f 40 51 50 -f 41 51 40 -f 41 52 51 -f 42 52 41 -f 42 53 52 -f 43 53 42 -f 43 54 53 -f 44 54 43 -f 44 55 54 -f 46 56 45 -f 46 57 56 -f 47 57 46 -f 47 58 57 -f 48 58 47 -f 48 59 58 -f 49 59 48 -f 49 60 59 -f 50 60 49 -f 50 61 60 -f 51 61 50 -f 51 62 61 -f 52 62 51 -f 52 63 62 -f 53 63 52 -f 53 64 63 -f 54 64 53 -f 54 65 64 -f 55 65 54 -f 55 66 65 -f 57 67 56 -f 57 68 67 -f 58 68 57 -f 58 69 68 -f 59 69 58 -f 59 70 69 -f 60 70 59 -f 60 71 70 -f 61 71 60 -f 61 72 71 -f 62 72 61 -f 62 73 72 -f 63 73 62 -f 63 74 73 -f 64 74 63 -f 64 75 74 -f 65 75 64 -f 65 76 75 -f 66 76 65 -f 66 77 76 -f 68 78 67 -f 68 79 78 -f 69 79 68 -f 69 80 79 -f 70 80 69 -f 70 81 80 -f 71 81 70 -f 71 82 81 -f 72 82 71 -f 72 83 82 -f 73 83 72 -f 73 84 83 -f 74 84 73 -f 74 85 84 -f 75 85 74 -f 75 86 85 -f 76 86 75 -f 76 87 86 -f 77 87 76 -f 77 88 87 -f 79 89 78 -f 79 90 89 -f 80 90 79 -f 80 91 90 -f 81 91 80 -f 81 92 91 -f 82 92 81 -f 82 93 92 -f 83 93 82 -f 83 94 93 -f 84 94 83 -f 84 95 94 -f 85 95 84 -f 85 96 95 -f 86 96 85 -f 86 97 96 -f 87 97 86 -f 87 98 97 -f 88 98 87 -f 88 99 98 -f 90 100 89 -f 90 101 100 -f 91 101 90 -f 91 102 101 -f 92 102 91 -f 92 103 102 -f 93 103 92 -f 93 104 103 -f 94 104 93 -f 94 105 104 -f 95 105 94 -f 95 106 105 -f 96 106 95 -f 96 107 106 -f 97 107 96 -f 97 108 107 -f 98 108 97 -f 98 109 108 -f 99 109 98 -f 99 110 109 -f 101 111 100 -f 101 112 111 -f 102 112 101 -f 102 113 112 -f 103 113 102 -f 103 114 113 -f 104 114 103 -f 104 115 114 -f 105 115 104 -f 105 116 115 -f 106 116 105 -f 106 117 116 -f 107 117 106 -f 107 118 117 -f 108 118 107 -f 108 119 118 -f 109 119 108 -f 109 120 119 -f 110 120 109 -f 110 121 120 diff --git a/models/sphere.3d b/models/sphere.3d deleted file mode 100644 index d40e3ec3..00000000 --- a/models/sphere.3d +++ /dev/null @@ -1,1201 +0,0 @@ -v 0 1 0 -v 0 0.987688 0.156434 -v 0.0483409 0.987688 0.148778 -v 0.0919499 0.987688 0.126558 -v 0.126558 0.987688 0.0919499 -v 0.148778 0.987688 0.0483409 -v 0.156434 0.987688 -6.83797e-09 -v 0.148778 0.987688 -0.0483409 -v 0.126558 0.987688 -0.0919499 -v 0.0919499 0.987688 -0.126558 -v 0.0483409 0.987688 -0.148778 -v -1.36759e-08 0.987688 -0.156434 -v -0.0483409 0.987688 -0.148778 -v -0.0919499 0.987688 -0.126558 -v -0.126558 0.987688 -0.0919499 -v -0.148778 0.987688 -0.0483409 -v -0.156434 0.987688 1.86546e-09 -v -0.148778 0.987688 0.0483409 -v -0.126558 0.987688 0.0919499 -v -0.0919498 0.987688 0.126558 -v -0.0483409 0.987688 0.148778 -v 2.73519e-08 0.987688 0.156434 -v 0 0.951057 0.309017 -v 0.0954915 0.951057 0.293893 -v 0.181636 0.951057 0.25 -v 0.25 0.951057 0.181636 -v 0.293893 0.951057 0.0954915 -v 0.309017 0.951057 -1.35076e-08 -v 0.293893 0.951057 -0.0954915 -v 0.25 0.951057 -0.181636 -v 0.181636 0.951057 -0.25 -v 0.0954914 0.951057 -0.293893 -v -2.70151e-08 0.951057 -0.309017 -v -0.0954915 0.951057 -0.293893 -v -0.181636 0.951057 -0.25 -v -0.25 0.951057 -0.181636 -v -0.293893 0.951057 -0.0954915 -v -0.309017 0.951057 3.68499e-09 -v -0.293893 0.951057 0.0954915 -v -0.25 0.951057 0.181636 -v -0.181636 0.951057 0.25 -v -0.0954915 0.951057 0.293893 -v 5.40302e-08 0.951057 0.309017 -v 0 0.891007 0.453991 -v 0.140291 0.891007 0.431771 -v 0.266849 0.891007 0.367286 -v 0.367286 0.891007 0.266849 -v 0.431771 0.891007 0.140291 -v 0.453991 0.891007 -1.98446e-08 -v 0.431771 0.891007 -0.140291 -v 0.367286 0.891007 -0.266849 -v 0.266849 0.891007 -0.367286 -v 0.140291 0.891007 -0.431771 -v -3.96891e-08 0.891007 -0.453991 -v -0.140291 0.891007 -0.431771 -v -0.266849 0.891007 -0.367286 -v -0.367286 0.891007 -0.266849 -v -0.431771 0.891007 -0.140291 -v -0.453991 0.891007 5.41378e-09 -v -0.431771 0.891007 0.140291 -v -0.367286 0.891007 0.266849 -v -0.266849 0.891007 0.367286 -v -0.140291 0.891007 0.431771 -v 7.93782e-08 0.891007 0.453991 -v 0 0.809017 0.587785 -v 0.181636 0.809017 0.559017 -v 0.345491 0.809017 0.475528 -v 0.475528 0.809017 0.345491 -v 0.559017 0.809017 0.181636 -v 0.587785 0.809017 -2.56929e-08 -v 0.559017 0.809017 -0.181636 -v 0.475528 0.809017 -0.345491 -v 0.345491 0.809017 -0.475528 -v 0.181636 0.809017 -0.559017 -v -5.13858e-08 0.809017 -0.587785 -v -0.181636 0.809017 -0.559017 -v -0.345492 0.809017 -0.475528 -v -0.475528 0.809017 -0.345491 -v -0.559017 0.809017 -0.181636 -v -0.587785 0.809017 7.00927e-09 -v -0.559017 0.809017 0.181636 -v -0.475528 0.809017 0.345492 -v -0.345491 0.809017 0.475528 -v -0.181636 0.809017 0.559017 -v 1.02772e-07 0.809017 0.587785 -v 0 0.707107 0.707107 -v 0.218508 0.707107 0.672499 -v 0.415627 0.707107 0.572061 -v 0.572061 0.707107 0.415627 -v 0.672499 0.707107 0.218508 -v 0.707107 0.707107 -3.09086e-08 -v 0.672498 0.707107 -0.218508 -v 0.572061 0.707107 -0.415627 -v 0.415627 0.707107 -0.572061 -v 0.218508 0.707107 -0.672499 -v -6.18172e-08 0.707107 -0.707107 -v -0.218508 0.707107 -0.672499 -v -0.415627 0.707107 -0.572061 -v -0.572061 0.707107 -0.415627 -v -0.672498 0.707107 -0.218508 -v -0.707107 0.707107 8.43216e-09 -v -0.672498 0.707107 0.218508 -v -0.572061 0.707107 0.415627 -v -0.415627 0.707107 0.572062 -v -0.218508 0.707107 0.672499 -v 1.23634e-07 0.707107 0.707107 -v 0 0.587785 0.809017 -v 0.25 0.587785 0.769421 -v 0.475528 0.587785 0.654509 -v 0.654509 0.587785 0.475528 -v 0.769421 0.587785 0.25 -v 0.809017 0.587785 -3.53633e-08 -v 0.769421 0.587785 -0.25 -v 0.654509 0.587785 -0.475528 -v 0.475528 0.587785 -0.654509 -v 0.25 0.587785 -0.769421 -v -7.07265e-08 0.587785 -0.809017 -v -0.25 0.587785 -0.769421 -v -0.475528 0.587785 -0.654508 -v -0.654509 0.587785 -0.475528 -v -0.769421 0.587785 -0.25 -v -0.809017 0.587785 9.64743e-09 -v -0.769421 0.587785 0.25 -v -0.654508 0.587785 0.475528 -v -0.475528 0.587785 0.654509 -v -0.25 0.587785 0.769421 -v 1.41453e-07 0.587785 0.809017 -v 0 0.453991 0.891007 -v 0.275336 0.453991 0.847398 -v 0.523721 0.453991 0.720839 -v 0.720839 0.453991 0.523721 -v 0.847398 0.453991 0.275336 -v 0.891007 0.453991 -3.89471e-08 -v 0.847398 0.453991 -0.275336 -v 0.720839 0.453991 -0.52372 -v 0.52372 0.453991 -0.72084 -v 0.275336 0.453991 -0.847398 -v -7.78943e-08 0.453991 -0.891007 -v -0.275336 0.453991 -0.847398 -v -0.523721 0.453991 -0.720839 -v -0.72084 0.453991 -0.52372 -v -0.847398 0.453991 -0.275336 -v -0.891007 0.453991 1.06251e-08 -v -0.847398 0.453991 0.275336 -v -0.720839 0.453991 0.523721 -v -0.52372 0.453991 0.72084 -v -0.275336 0.453991 0.847398 -v 1.55789e-07 0.453991 0.891007 -v 0 0.309017 0.951057 -v 0.293893 0.309017 0.904509 -v 0.559017 0.309017 0.769421 -v 0.769421 0.309017 0.559017 -v 0.904509 0.309017 0.293893 -v 0.951057 0.309017 -4.1572e-08 -v 0.904508 0.309017 -0.293893 -v 0.769421 0.309017 -0.559017 -v 0.559017 0.309017 -0.769421 -v 0.293892 0.309017 -0.904509 -v -8.3144e-08 0.309017 -0.951057 -v -0.293893 0.309017 -0.904509 -v -0.559017 0.309017 -0.769421 -v -0.769421 0.309017 -0.559017 -v -0.904508 0.309017 -0.293893 -v -0.951057 0.309017 1.13412e-08 -v -0.904508 0.309017 0.293893 -v -0.769421 0.309017 0.559017 -v -0.559017 0.309017 0.769421 -v -0.293893 0.309017 0.904509 -v 1.66288e-07 0.309017 0.951057 -v 0 0.156434 0.987688 -v 0.305212 0.156434 0.939348 -v 0.580549 0.156434 0.799057 -v 0.799057 0.156434 0.580549 -v 0.939348 0.156434 0.305212 -v 0.987688 0.156434 -4.31732e-08 -v 0.939347 0.156434 -0.305213 -v 0.799057 0.156434 -0.580549 -v 0.580549 0.156434 -0.799057 -v 0.305212 0.156434 -0.939348 -v -8.63465e-08 0.156434 -0.987688 -v -0.305212 0.156434 -0.939348 -v -0.580549 0.156434 -0.799057 -v -0.799057 0.156434 -0.580548 -v -0.939347 0.156434 -0.305213 -v -0.987688 0.156434 1.17781e-08 -v -0.939347 0.156434 0.305213 -v -0.799057 0.156434 0.580549 -v -0.580548 0.156434 0.799057 -v -0.305212 0.156434 0.939348 -v 1.72693e-07 0.156434 0.987688 -v 0 -4.37114e-08 1 -v 0.309017 -4.37114e-08 0.951057 -v 0.587785 -4.37114e-08 0.809017 -v 0.809017 -4.37114e-08 0.587785 -v 0.951057 -4.37114e-08 0.309017 -v 1 -4.37114e-08 -4.37114e-08 -v 0.951056 -4.37114e-08 -0.309017 -v 0.809017 -4.37114e-08 -0.587785 -v 0.587785 -4.37114e-08 -0.809017 -v 0.309017 -4.37114e-08 -0.951057 -v -8.74228e-08 -4.37114e-08 -1 -v -0.309017 -4.37114e-08 -0.951057 -v -0.587785 -4.37114e-08 -0.809017 -v -0.809017 -4.37114e-08 -0.587785 -v -0.951056 -4.37114e-08 -0.309017 -v -1 -4.37114e-08 1.19249e-08 -v -0.951056 -4.37114e-08 0.309017 -v -0.809017 -4.37114e-08 0.587785 -v -0.587785 -4.37114e-08 0.809017 -v -0.309017 -4.37114e-08 0.951057 -v 1.74846e-07 -4.37114e-08 1 -v 0 -0.156434 0.987688 -v 0.305212 -0.156434 0.939348 -v 0.580549 -0.156434 0.799057 -v 0.799057 -0.156434 0.580549 -v 0.939348 -0.156434 0.305212 -v 0.987688 -0.156434 -4.31732e-08 -v 0.939347 -0.156434 -0.305213 -v 0.799057 -0.156434 -0.580549 -v 0.580549 -0.156434 -0.799057 -v 0.305212 -0.156434 -0.939348 -v -8.63465e-08 -0.156434 -0.987688 -v -0.305212 -0.156434 -0.939348 -v -0.580549 -0.156434 -0.799057 -v -0.799057 -0.156434 -0.580548 -v -0.939347 -0.156434 -0.305213 -v -0.987688 -0.156434 1.17781e-08 -v -0.939347 -0.156434 0.305213 -v -0.799057 -0.156434 0.580549 -v -0.580548 -0.156434 0.799057 -v -0.305212 -0.156434 0.939348 -v 1.72693e-07 -0.156434 0.987688 -v 0 -0.309017 0.951056 -v 0.293893 -0.309017 0.904508 -v 0.559017 -0.309017 0.769421 -v 0.769421 -0.309017 0.559017 -v 0.904508 -0.309017 0.293893 -v 0.951056 -0.309017 -4.1572e-08 -v 0.904508 -0.309017 -0.293893 -v 0.769421 -0.309017 -0.559017 -v 0.559017 -0.309017 -0.769421 -v 0.293892 -0.309017 -0.904509 -v -8.3144e-08 -0.309017 -0.951056 -v -0.293893 -0.309017 -0.904508 -v -0.559017 -0.309017 -0.769421 -v -0.769421 -0.309017 -0.559017 -v -0.904508 -0.309017 -0.293893 -v -0.951056 -0.309017 1.13412e-08 -v -0.904508 -0.309017 0.293893 -v -0.769421 -0.309017 0.559017 -v -0.559017 -0.309017 0.769421 -v -0.293893 -0.309017 0.904508 -v 1.66288e-07 -0.309017 0.951056 -v 0 -0.453991 0.891006 -v 0.275336 -0.453991 0.847398 -v 0.52372 -0.453991 0.720839 -v 0.720839 -0.453991 0.52372 -v 0.847398 -0.453991 0.275336 -v 0.891006 -0.453991 -3.89471e-08 -v 0.847398 -0.453991 -0.275336 -v 0.720839 -0.453991 -0.52372 -v 0.52372 -0.453991 -0.720839 -v 0.275336 -0.453991 -0.847398 -v -7.78943e-08 -0.453991 -0.891006 -v -0.275336 -0.453991 -0.847398 -v -0.523721 -0.453991 -0.720839 -v -0.72084 -0.453991 -0.52372 -v -0.847398 -0.453991 -0.275336 -v -0.891006 -0.453991 1.06251e-08 -v -0.847398 -0.453991 0.275336 -v -0.720839 -0.453991 0.523721 -v -0.52372 -0.453991 0.72084 -v -0.275336 -0.453991 0.847398 -v 1.55789e-07 -0.453991 0.891006 -v 0 -0.587785 0.809017 -v 0.25 -0.587785 0.769421 -v 0.475528 -0.587785 0.654509 -v 0.654509 -0.587785 0.475528 -v 0.769421 -0.587785 0.25 -v 0.809017 -0.587785 -3.53633e-08 -v 0.769421 -0.587785 -0.25 -v 0.654509 -0.587785 -0.475528 -v 0.475528 -0.587785 -0.654509 -v 0.25 -0.587785 -0.769421 -v -7.07265e-08 -0.587785 -0.809017 -v -0.25 -0.587785 -0.769421 -v -0.475528 -0.587785 -0.654508 -v -0.654509 -0.587785 -0.475528 -v -0.769421 -0.587785 -0.25 -v -0.809017 -0.587785 9.64743e-09 -v -0.769421 -0.587785 0.25 -v -0.654508 -0.587785 0.475528 -v -0.475528 -0.587785 0.654509 -v -0.25 -0.587785 0.769421 -v 1.41453e-07 -0.587785 0.809017 -v 0 -0.707107 0.707107 -v 0.218508 -0.707107 0.672499 -v 0.415627 -0.707107 0.572061 -v 0.572061 -0.707107 0.415627 -v 0.672499 -0.707107 0.218508 -v 0.707107 -0.707107 -3.09086e-08 -v 0.672498 -0.707107 -0.218508 -v 0.572061 -0.707107 -0.415627 -v 0.415627 -0.707107 -0.572061 -v 0.218508 -0.707107 -0.672499 -v -6.18172e-08 -0.707107 -0.707107 -v -0.218508 -0.707107 -0.672499 -v -0.415627 -0.707107 -0.572061 -v -0.572061 -0.707107 -0.415627 -v -0.672498 -0.707107 -0.218508 -v -0.707107 -0.707107 8.43216e-09 -v -0.672498 -0.707107 0.218508 -v -0.572061 -0.707107 0.415627 -v -0.415627 -0.707107 0.572062 -v -0.218508 -0.707107 0.672499 -v 1.23634e-07 -0.707107 0.707107 -v 0 -0.809017 0.587785 -v 0.181636 -0.809017 0.559017 -v 0.345491 -0.809017 0.475528 -v 0.475528 -0.809017 0.345491 -v 0.559017 -0.809017 0.181636 -v 0.587785 -0.809017 -2.56929e-08 -v 0.559017 -0.809017 -0.181636 -v 0.475528 -0.809017 -0.345491 -v 0.345491 -0.809017 -0.475528 -v 0.181635 -0.809017 -0.559017 -v -5.13858e-08 -0.809017 -0.587785 -v -0.181636 -0.809017 -0.559017 -v -0.345492 -0.809017 -0.475528 -v -0.475528 -0.809017 -0.345491 -v -0.559017 -0.809017 -0.181636 -v -0.587785 -0.809017 7.00927e-09 -v -0.559017 -0.809017 0.181636 -v -0.475528 -0.809017 0.345492 -v -0.345491 -0.809017 0.475528 -v -0.181636 -0.809017 0.559017 -v 1.02772e-07 -0.809017 0.587785 -v 0 -0.891007 0.45399 -v 0.140291 -0.891007 0.431771 -v 0.266849 -0.891007 0.367286 -v 0.367286 -0.891007 0.266849 -v 0.431771 -0.891007 0.140291 -v 0.45399 -0.891007 -1.98445e-08 -v 0.43177 -0.891007 -0.140291 -v 0.367286 -0.891007 -0.266849 -v 0.266849 -0.891007 -0.367286 -v 0.140291 -0.891007 -0.431771 -v -3.96891e-08 -0.891007 -0.45399 -v -0.140291 -0.891007 -0.431771 -v -0.266849 -0.891007 -0.367286 -v -0.367286 -0.891007 -0.266849 -v -0.43177 -0.891007 -0.140291 -v -0.45399 -0.891007 5.41378e-09 -v -0.43177 -0.891007 0.140291 -v -0.367286 -0.891007 0.266849 -v -0.266849 -0.891007 0.367286 -v -0.140291 -0.891007 0.431771 -v 7.93782e-08 -0.891007 0.45399 -v 0 -0.951057 0.309017 -v 0.0954914 -0.951057 0.293892 -v 0.181636 -0.951057 0.25 -v 0.25 -0.951057 0.181636 -v 0.293892 -0.951057 0.0954914 -v 0.309017 -0.951057 -1.35076e-08 -v 0.293892 -0.951057 -0.0954915 -v 0.25 -0.951057 -0.181635 -v 0.181635 -0.951057 -0.25 -v 0.0954914 -0.951057 -0.293892 -v -2.70151e-08 -0.951057 -0.309017 -v -0.0954914 -0.951057 -0.293892 -v -0.181636 -0.951057 -0.25 -v -0.25 -0.951057 -0.181635 -v -0.293892 -0.951057 -0.0954915 -v -0.309017 -0.951057 3.68499e-09 -v -0.293892 -0.951057 0.0954915 -v -0.25 -0.951057 0.181636 -v -0.181635 -0.951057 0.25 -v -0.0954914 -0.951057 0.293892 -v 5.40302e-08 -0.951057 0.309017 -v 0 -0.987688 0.156434 -v 0.0483409 -0.987688 0.148778 -v 0.0919499 -0.987688 0.126558 -v 0.126558 -0.987688 0.0919499 -v 0.148778 -0.987688 0.0483409 -v 0.156434 -0.987688 -6.83797e-09 -v 0.148778 -0.987688 -0.0483409 -v 0.126558 -0.987688 -0.0919499 -v 0.0919499 -0.987688 -0.126558 -v 0.0483409 -0.987688 -0.148778 -v -1.36759e-08 -0.987688 -0.156434 -v -0.0483409 -0.987688 -0.148778 -v -0.0919499 -0.987688 -0.126558 -v -0.126558 -0.987688 -0.0919498 -v -0.148778 -0.987688 -0.0483409 -v -0.156434 -0.987688 1.86546e-09 -v -0.148778 -0.987688 0.0483409 -v -0.126558 -0.987688 0.0919499 -v -0.0919498 -0.987688 0.126558 -v -0.0483409 -0.987688 0.148778 -v 2.73519e-08 -0.987688 0.156434 -v -0 -1 -8.74228e-08 -v -2.70151e-08 -1 -8.3144e-08 -v -5.13858e-08 -1 -7.07265e-08 -v -7.07265e-08 -1 -5.13858e-08 -v -8.3144e-08 -1 -2.70151e-08 -v -8.74228e-08 -1 3.82137e-15 -v -8.3144e-08 -1 2.70151e-08 -v -7.07265e-08 -1 5.13858e-08 -v -5.13858e-08 -1 7.07265e-08 -v -2.70151e-08 -1 8.3144e-08 -v 7.64274e-15 -1 8.74228e-08 -v 2.70151e-08 -1 8.3144e-08 -v 5.13858e-08 -1 7.07265e-08 -v 7.07265e-08 -1 5.13858e-08 -v 8.3144e-08 -1 2.70151e-08 -v 8.74228e-08 -1 -1.04251e-15 -v 8.3144e-08 -1 -2.70151e-08 -v 7.07265e-08 -1 -5.13858e-08 -v 5.13858e-08 -1 -7.07265e-08 -v 2.70151e-08 -1 -8.3144e-08 -v -1.52855e-14 -1 -8.74228e-08 -f 1 2 3 -f 1 3 4 -f 1 4 5 -f 1 5 6 -f 1 6 7 -f 1 7 8 -f 1 8 9 -f 1 9 10 -f 1 10 11 -f 1 11 12 -f 1 12 13 -f 1 13 14 -f 1 14 15 -f 1 15 16 -f 1 16 17 -f 1 17 18 -f 1 18 19 -f 1 19 20 -f 1 20 21 -f 1 21 2 -f 2 23 24 -f 2 24 3 -f 3 24 25 -f 3 25 4 -f 4 25 26 -f 4 26 5 -f 5 26 27 -f 5 27 6 -f 6 27 28 -f 6 28 7 -f 7 28 29 -f 7 29 8 -f 8 29 30 -f 8 30 9 -f 9 30 31 -f 9 31 10 -f 10 31 32 -f 10 32 11 -f 11 32 33 -f 11 33 12 -f 12 33 34 -f 12 34 13 -f 13 34 35 -f 13 35 14 -f 14 35 36 -f 14 36 15 -f 15 36 37 -f 15 37 16 -f 16 37 38 -f 16 38 17 -f 17 38 39 -f 17 39 18 -f 18 39 40 -f 18 40 19 -f 19 40 41 -f 19 41 20 -f 20 41 42 -f 20 42 21 -f 21 42 43 -f 21 43 22 -f 23 44 45 -f 23 45 24 -f 24 45 46 -f 24 46 25 -f 25 46 47 -f 25 47 26 -f 26 47 48 -f 26 48 27 -f 27 48 49 -f 27 49 28 -f 28 49 50 -f 28 50 29 -f 29 50 51 -f 29 51 30 -f 30 51 52 -f 30 52 31 -f 31 52 53 -f 31 53 32 -f 32 53 54 -f 32 54 33 -f 33 54 55 -f 33 55 34 -f 34 55 56 -f 34 56 35 -f 35 56 57 -f 35 57 36 -f 36 57 58 -f 36 58 37 -f 37 58 59 -f 37 59 38 -f 38 59 60 -f 38 60 39 -f 39 60 61 -f 39 61 40 -f 40 61 62 -f 40 62 41 -f 41 62 63 -f 41 63 42 -f 42 63 64 -f 42 64 43 -f 44 65 66 -f 44 66 45 -f 45 66 67 -f 45 67 46 -f 46 67 68 -f 46 68 47 -f 47 68 69 -f 47 69 48 -f 48 69 70 -f 48 70 49 -f 49 70 71 -f 49 71 50 -f 50 71 72 -f 50 72 51 -f 51 72 73 -f 51 73 52 -f 52 73 74 -f 52 74 53 -f 53 74 75 -f 53 75 54 -f 54 75 76 -f 54 76 55 -f 55 76 77 -f 55 77 56 -f 56 77 78 -f 56 78 57 -f 57 78 79 -f 57 79 58 -f 58 79 80 -f 58 80 59 -f 59 80 81 -f 59 81 60 -f 60 81 82 -f 60 82 61 -f 61 82 83 -f 61 83 62 -f 62 83 84 -f 62 84 63 -f 63 84 85 -f 63 85 64 -f 65 86 87 -f 65 87 66 -f 66 87 88 -f 66 88 67 -f 67 88 89 -f 67 89 68 -f 68 89 90 -f 68 90 69 -f 69 90 91 -f 69 91 70 -f 70 91 92 -f 70 92 71 -f 71 92 93 -f 71 93 72 -f 72 93 94 -f 72 94 73 -f 73 94 95 -f 73 95 74 -f 74 95 96 -f 74 96 75 -f 75 96 97 -f 75 97 76 -f 76 97 98 -f 76 98 77 -f 77 98 99 -f 77 99 78 -f 78 99 100 -f 78 100 79 -f 79 100 101 -f 79 101 80 -f 80 101 102 -f 80 102 81 -f 81 102 103 -f 81 103 82 -f 82 103 104 -f 82 104 83 -f 83 104 105 -f 83 105 84 -f 84 105 106 -f 84 106 85 -f 86 107 108 -f 86 108 87 -f 87 108 109 -f 87 109 88 -f 88 109 110 -f 88 110 89 -f 89 110 111 -f 89 111 90 -f 90 111 112 -f 90 112 91 -f 91 112 113 -f 91 113 92 -f 92 113 114 -f 92 114 93 -f 93 114 115 -f 93 115 94 -f 94 115 116 -f 94 116 95 -f 95 116 117 -f 95 117 96 -f 96 117 118 -f 96 118 97 -f 97 118 119 -f 97 119 98 -f 98 119 120 -f 98 120 99 -f 99 120 121 -f 99 121 100 -f 100 121 122 -f 100 122 101 -f 101 122 123 -f 101 123 102 -f 102 123 124 -f 102 124 103 -f 103 124 125 -f 103 125 104 -f 104 125 126 -f 104 126 105 -f 105 126 127 -f 105 127 106 -f 107 128 129 -f 107 129 108 -f 108 129 130 -f 108 130 109 -f 109 130 131 -f 109 131 110 -f 110 131 132 -f 110 132 111 -f 111 132 133 -f 111 133 112 -f 112 133 134 -f 112 134 113 -f 113 134 135 -f 113 135 114 -f 114 135 136 -f 114 136 115 -f 115 136 137 -f 115 137 116 -f 116 137 138 -f 116 138 117 -f 117 138 139 -f 117 139 118 -f 118 139 140 -f 118 140 119 -f 119 140 141 -f 119 141 120 -f 120 141 142 -f 120 142 121 -f 121 142 143 -f 121 143 122 -f 122 143 144 -f 122 144 123 -f 123 144 145 -f 123 145 124 -f 124 145 146 -f 124 146 125 -f 125 146 147 -f 125 147 126 -f 126 147 148 -f 126 148 127 -f 128 149 150 -f 128 150 129 -f 129 150 151 -f 129 151 130 -f 130 151 152 -f 130 152 131 -f 131 152 153 -f 131 153 132 -f 132 153 154 -f 132 154 133 -f 133 154 155 -f 133 155 134 -f 134 155 156 -f 134 156 135 -f 135 156 157 -f 135 157 136 -f 136 157 158 -f 136 158 137 -f 137 158 159 -f 137 159 138 -f 138 159 160 -f 138 160 139 -f 139 160 161 -f 139 161 140 -f 140 161 162 -f 140 162 141 -f 141 162 163 -f 141 163 142 -f 142 163 164 -f 142 164 143 -f 143 164 165 -f 143 165 144 -f 144 165 166 -f 144 166 145 -f 145 166 167 -f 145 167 146 -f 146 167 168 -f 146 168 147 -f 147 168 169 -f 147 169 148 -f 149 170 171 -f 149 171 150 -f 150 171 172 -f 150 172 151 -f 151 172 173 -f 151 173 152 -f 152 173 174 -f 152 174 153 -f 153 174 175 -f 153 175 154 -f 154 175 176 -f 154 176 155 -f 155 176 177 -f 155 177 156 -f 156 177 178 -f 156 178 157 -f 157 178 179 -f 157 179 158 -f 158 179 180 -f 158 180 159 -f 159 180 181 -f 159 181 160 -f 160 181 182 -f 160 182 161 -f 161 182 183 -f 161 183 162 -f 162 183 184 -f 162 184 163 -f 163 184 185 -f 163 185 164 -f 164 185 186 -f 164 186 165 -f 165 186 187 -f 165 187 166 -f 166 187 188 -f 166 188 167 -f 167 188 189 -f 167 189 168 -f 168 189 190 -f 168 190 169 -f 170 191 192 -f 170 192 171 -f 171 192 193 -f 171 193 172 -f 172 193 194 -f 172 194 173 -f 173 194 195 -f 173 195 174 -f 174 195 196 -f 174 196 175 -f 175 196 197 -f 175 197 176 -f 176 197 198 -f 176 198 177 -f 177 198 199 -f 177 199 178 -f 178 199 200 -f 178 200 179 -f 179 200 201 -f 179 201 180 -f 180 201 202 -f 180 202 181 -f 181 202 203 -f 181 203 182 -f 182 203 204 -f 182 204 183 -f 183 204 205 -f 183 205 184 -f 184 205 206 -f 184 206 185 -f 185 206 207 -f 185 207 186 -f 186 207 208 -f 186 208 187 -f 187 208 209 -f 187 209 188 -f 188 209 210 -f 188 210 189 -f 189 210 211 -f 189 211 190 -f 191 212 213 -f 191 213 192 -f 192 213 214 -f 192 214 193 -f 193 214 215 -f 193 215 194 -f 194 215 216 -f 194 216 195 -f 195 216 217 -f 195 217 196 -f 196 217 218 -f 196 218 197 -f 197 218 219 -f 197 219 198 -f 198 219 220 -f 198 220 199 -f 199 220 221 -f 199 221 200 -f 200 221 222 -f 200 222 201 -f 201 222 223 -f 201 223 202 -f 202 223 224 -f 202 224 203 -f 203 224 225 -f 203 225 204 -f 204 225 226 -f 204 226 205 -f 205 226 227 -f 205 227 206 -f 206 227 228 -f 206 228 207 -f 207 228 229 -f 207 229 208 -f 208 229 230 -f 208 230 209 -f 209 230 231 -f 209 231 210 -f 210 231 232 -f 210 232 211 -f 212 233 234 -f 212 234 213 -f 213 234 235 -f 213 235 214 -f 214 235 236 -f 214 236 215 -f 215 236 237 -f 215 237 216 -f 216 237 238 -f 216 238 217 -f 217 238 239 -f 217 239 218 -f 218 239 240 -f 218 240 219 -f 219 240 241 -f 219 241 220 -f 220 241 242 -f 220 242 221 -f 221 242 243 -f 221 243 222 -f 222 243 244 -f 222 244 223 -f 223 244 245 -f 223 245 224 -f 224 245 246 -f 224 246 225 -f 225 246 247 -f 225 247 226 -f 226 247 248 -f 226 248 227 -f 227 248 249 -f 227 249 228 -f 228 249 250 -f 228 250 229 -f 229 250 251 -f 229 251 230 -f 230 251 252 -f 230 252 231 -f 231 252 253 -f 231 253 232 -f 233 254 255 -f 233 255 234 -f 234 255 256 -f 234 256 235 -f 235 256 257 -f 235 257 236 -f 236 257 258 -f 236 258 237 -f 237 258 259 -f 237 259 238 -f 238 259 260 -f 238 260 239 -f 239 260 261 -f 239 261 240 -f 240 261 262 -f 240 262 241 -f 241 262 263 -f 241 263 242 -f 242 263 264 -f 242 264 243 -f 243 264 265 -f 243 265 244 -f 244 265 266 -f 244 266 245 -f 245 266 267 -f 245 267 246 -f 246 267 268 -f 246 268 247 -f 247 268 269 -f 247 269 248 -f 248 269 270 -f 248 270 249 -f 249 270 271 -f 249 271 250 -f 250 271 272 -f 250 272 251 -f 251 272 273 -f 251 273 252 -f 252 273 274 -f 252 274 253 -f 254 275 276 -f 254 276 255 -f 255 276 277 -f 255 277 256 -f 256 277 278 -f 256 278 257 -f 257 278 279 -f 257 279 258 -f 258 279 280 -f 258 280 259 -f 259 280 281 -f 259 281 260 -f 260 281 282 -f 260 282 261 -f 261 282 283 -f 261 283 262 -f 262 283 284 -f 262 284 263 -f 263 284 285 -f 263 285 264 -f 264 285 286 -f 264 286 265 -f 265 286 287 -f 265 287 266 -f 266 287 288 -f 266 288 267 -f 267 288 289 -f 267 289 268 -f 268 289 290 -f 268 290 269 -f 269 290 291 -f 269 291 270 -f 270 291 292 -f 270 292 271 -f 271 292 293 -f 271 293 272 -f 272 293 294 -f 272 294 273 -f 273 294 295 -f 273 295 274 -f 275 296 297 -f 275 297 276 -f 276 297 298 -f 276 298 277 -f 277 298 299 -f 277 299 278 -f 278 299 300 -f 278 300 279 -f 279 300 301 -f 279 301 280 -f 280 301 302 -f 280 302 281 -f 281 302 303 -f 281 303 282 -f 282 303 304 -f 282 304 283 -f 283 304 305 -f 283 305 284 -f 284 305 306 -f 284 306 285 -f 285 306 307 -f 285 307 286 -f 286 307 308 -f 286 308 287 -f 287 308 309 -f 287 309 288 -f 288 309 310 -f 288 310 289 -f 289 310 311 -f 289 311 290 -f 290 311 312 -f 290 312 291 -f 291 312 313 -f 291 313 292 -f 292 313 314 -f 292 314 293 -f 293 314 315 -f 293 315 294 -f 294 315 316 -f 294 316 295 -f 296 317 318 -f 296 318 297 -f 297 318 319 -f 297 319 298 -f 298 319 320 -f 298 320 299 -f 299 320 321 -f 299 321 300 -f 300 321 322 -f 300 322 301 -f 301 322 323 -f 301 323 302 -f 302 323 324 -f 302 324 303 -f 303 324 325 -f 303 325 304 -f 304 325 326 -f 304 326 305 -f 305 326 327 -f 305 327 306 -f 306 327 328 -f 306 328 307 -f 307 328 329 -f 307 329 308 -f 308 329 330 -f 308 330 309 -f 309 330 331 -f 309 331 310 -f 310 331 332 -f 310 332 311 -f 311 332 333 -f 311 333 312 -f 312 333 334 -f 312 334 313 -f 313 334 335 -f 313 335 314 -f 314 335 336 -f 314 336 315 -f 315 336 337 -f 315 337 316 -f 317 338 339 -f 317 339 318 -f 318 339 340 -f 318 340 319 -f 319 340 341 -f 319 341 320 -f 320 341 342 -f 320 342 321 -f 321 342 343 -f 321 343 322 -f 322 343 344 -f 322 344 323 -f 323 344 345 -f 323 345 324 -f 324 345 346 -f 324 346 325 -f 325 346 347 -f 325 347 326 -f 326 347 348 -f 326 348 327 -f 327 348 349 -f 327 349 328 -f 328 349 350 -f 328 350 329 -f 329 350 351 -f 329 351 330 -f 330 351 352 -f 330 352 331 -f 331 352 353 -f 331 353 332 -f 332 353 354 -f 332 354 333 -f 333 354 355 -f 333 355 334 -f 334 355 356 -f 334 356 335 -f 335 356 357 -f 335 357 336 -f 336 357 358 -f 336 358 337 -f 338 359 360 -f 338 360 339 -f 339 360 361 -f 339 361 340 -f 340 361 362 -f 340 362 341 -f 341 362 363 -f 341 363 342 -f 342 363 364 -f 342 364 343 -f 343 364 365 -f 343 365 344 -f 344 365 366 -f 344 366 345 -f 345 366 367 -f 345 367 346 -f 346 367 368 -f 346 368 347 -f 347 368 369 -f 347 369 348 -f 348 369 370 -f 348 370 349 -f 349 370 371 -f 349 371 350 -f 350 371 372 -f 350 372 351 -f 351 372 373 -f 351 373 352 -f 352 373 374 -f 352 374 353 -f 353 374 375 -f 353 375 354 -f 354 375 376 -f 354 376 355 -f 355 376 377 -f 355 377 356 -f 356 377 378 -f 356 378 357 -f 357 378 379 -f 357 379 358 -f 359 380 381 -f 359 381 360 -f 360 381 382 -f 360 382 361 -f 361 382 383 -f 361 383 362 -f 362 383 384 -f 362 384 363 -f 363 384 385 -f 363 385 364 -f 364 385 386 -f 364 386 365 -f 365 386 387 -f 365 387 366 -f 366 387 388 -f 366 388 367 -f 367 388 389 -f 367 389 368 -f 368 389 390 -f 368 390 369 -f 369 390 391 -f 369 391 370 -f 370 391 392 -f 370 392 371 -f 371 392 393 -f 371 393 372 -f 372 393 394 -f 372 394 373 -f 373 394 395 -f 373 395 374 -f 374 395 396 -f 374 396 375 -f 375 396 397 -f 375 397 376 -f 376 397 398 -f 376 398 377 -f 377 398 399 -f 377 399 378 -f 378 399 400 -f 378 400 379 -f 380 401 402 -f 380 402 381 -f 381 402 403 -f 381 403 382 -f 382 403 404 -f 382 404 383 -f 383 404 405 -f 383 405 384 -f 384 405 406 -f 384 406 385 -f 385 406 407 -f 385 407 386 -f 386 407 408 -f 386 408 387 -f 387 408 409 -f 387 409 388 -f 388 409 410 -f 388 410 389 -f 389 410 411 -f 389 411 390 -f 390 411 412 -f 390 412 391 -f 391 412 413 -f 391 413 392 -f 392 413 414 -f 392 414 393 -f 393 414 415 -f 393 415 394 -f 394 415 416 -f 394 416 395 -f 395 416 417 -f 395 417 396 -f 396 417 418 -f 396 418 397 -f 397 418 419 -f 397 419 398 -f 398 419 420 -f 398 420 399 -f 399 420 421 -f 399 421 400 diff --git a/res/models/taurus.3d b/res/models/taurus.3d new file mode 100644 index 00000000..ed8ecd63 --- /dev/null +++ b/res/models/taurus.3d @@ -0,0 +1 @@ +Só para a pasta não apagar. \ No newline at end of file diff --git a/scenes/scene_box.xml b/res/scenes/scene_box.xml similarity index 86% rename from scenes/scene_box.xml rename to res/scenes/scene_box.xml index 42fe622b..96f231b1 100644 --- a/scenes/scene_box.xml +++ b/res/scenes/scene_box.xml @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/scenes/scene_plane.xml b/res/scenes/scene_plane.xml similarity index 86% rename from scenes/scene_plane.xml rename to res/scenes/scene_plane.xml index ad3839f9..ea73eca3 100644 --- a/scenes/scene_plane.xml +++ b/res/scenes/scene_plane.xml @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/scenes/scene_sphere.xml b/res/scenes/scene_sphere.xml similarity index 86% rename from scenes/scene_sphere.xml rename to res/scenes/scene_sphere.xml index c6311f78..364829bf 100644 --- a/scenes/scene_sphere.xml +++ b/res/scenes/scene_sphere.xml @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/src/engine/SceneWindow.cpp b/src/engine/SceneWindow.cpp index 3115a604..28e0a9d7 100644 --- a/src/engine/SceneWindow.cpp +++ b/src/engine/SceneWindow.cpp @@ -28,11 +28,11 @@ SceneWindow::SceneWindow(const std::string &sceneFile) : this->pipeline.use(); // TODO - remove when all of the figures are using the right-hand rule - // glFrontFace(GL_CCW); - // glEnable(GL_CULL_FACE); - // glCullFace(GL_BACK); + glFrontFace(GL_CCW); + glEnable(GL_CULL_FACE); + glCullFace(GL_BACK); - glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); + glPolygonMode(GL_FRONT_AND_BACK, GL_LINES); } void SceneWindow::onUpdate(float time, float timeElapsed) { @@ -51,10 +51,13 @@ void SceneWindow::onRender() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClearColor(0.f, 0.f, 0.f, 1.f); + float time = glfwGetTime()*100; + glm::mat4 rot = glm::rotate(glm::mat4(1.0f), glm::radians(time), glm::vec3(0.0f, 1.0f, 0.0f)); + glm::mat4 cameraMatrix = scene.getCamera().getCameraMatrix(static_cast(this->getWidth()) / this->getHeight()); - this->pipeline.setCameraMatrix(cameraMatrix); + this->pipeline.setCameraMatrix(cameraMatrix * rot); this->scene.draw(this->pipeline); } From 58462f8a4c5186c75ff9befe92d74790be72c8d4 Mon Sep 17 00:00:00 2001 From: Voidbert Date: Fri, 21 Feb 2025 10:06:39 +0000 Subject: [PATCH 15/15] Fix formatting --- src/engine/SceneWindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engine/SceneWindow.cpp b/src/engine/SceneWindow.cpp index 28e0a9d7..c8a03f8d 100644 --- a/src/engine/SceneWindow.cpp +++ b/src/engine/SceneWindow.cpp @@ -51,7 +51,7 @@ void SceneWindow::onRender() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClearColor(0.f, 0.f, 0.f, 1.f); - float time = glfwGetTime()*100; + float time = glfwGetTime() * 100; glm::mat4 rot = glm::rotate(glm::mat4(1.0f), glm::radians(time), glm::vec3(0.0f, 1.0f, 0.0f)); glm::mat4 cameraMatrix =