From b5320ffdfc934d1a3f5459cca645fcc8111aef39 Mon Sep 17 00:00:00 2001 From: ZhuohaoHe Date: Tue, 27 Aug 2024 15:14:06 -0400 Subject: [PATCH 01/18] update Barycentric function and DrawTriangle function Signed-off-by: ZhuohaoHe --- src/simple_renderer.cpp | 62 +++++++++++++---------------------------- 1 file changed, 19 insertions(+), 43 deletions(-) diff --git a/src/simple_renderer.cpp b/src/simple_renderer.cpp index fafbc15..1e8c7e5 100755 --- a/src/simple_renderer.cpp +++ b/src/simple_renderer.cpp @@ -132,31 +132,19 @@ void SimpleRenderer::DrawTriangle(const ShaderBase &shader, const Light &light, auto v2 = face.vertex(2); // 获取三角形的最小 box - auto min = v0.position(); - auto max = v1.position(); - auto max_x = std::max( - face.vertex(0).position().x, - std::max(face.vertex(1).position().x, face.vertex(2).position().x)); - auto max_y = std::max( - face.vertex(0).position().y, - std::max(face.vertex(1).position().y, face.vertex(2).position().y)); - max.x = max_x > max.x ? max_x : max.x; - max.y = max_y > max.y ? max_y : max.y; - max.z = 0; - auto min_x = std::min( - face.vertex(0).position().x, - std::min(face.vertex(1).position().x, face.vertex(2).position().x)); - auto min_y = std::min( - face.vertex(0).position().y, - std::min(face.vertex(1).position().y, face.vertex(2).position().y)); - min.x = min_x < min.x ? min_x : min.x; - min.y = min_y < min.y ? min_y : min.y; - min.z = 0; + Vector2f a = Vector2f(v0.position().x, v0.position().y); + Vector2f b = Vector2f(v1.position().x, v1.position().y); + Vector2f c = Vector2f(v2.position().x, v2.position().y); + + Vector2f bboxMin = + Vector2f{std::min({a.x, b.x, c.x}), std::min({a.y, b.y, c.y})}; + Vector2f bboxMax = + Vector2f{std::max({a.x, b.x, c.x}), std::max({a.y, b.y, c.y})}; #pragma omp parallel for num_threads(kNProc) collapse(2) default(none) \ - shared(min, max, v0, v1, v2, shader) firstprivate(normal, light) - for (auto x = int32_t(min.x); x <= int32_t(max.x); x++) { - for (auto y = int32_t(min.y); y <= int32_t(max.y); y++) { + shared(bboxMin, bboxMax, v0, v1, v2, shader) firstprivate(normal, light) + for (auto x = int32_t(bboxMin.x); x <= int32_t(bboxMax.x); x++) { + for (auto y = int32_t(bboxMin.y); y <= int32_t(bboxMax.y); y++) { /// @todo 这里要用裁剪替换掉 if ((unsigned)x >= width_ || (unsigned)y >= height_) { continue; @@ -231,30 +219,18 @@ void SimpleRenderer::DrawModel(const ShaderBase &shader, const Light &light, auto SimpleRenderer::GetBarycentricCoord(const Vector3f &p0, const Vector3f &p1, const Vector3f &p2, const Vector3f &pa) -> std::pair { - auto p1p0 = p1 - p0; - auto p2p0 = p2 - p0; - auto pap0 = pa - p0; - - auto deno = (p1p0.x * p2p0.y - p1p0.y * p2p0.x); - if (std::abs(deno) < std::numeric_limits::epsilon()) { - return std::pair{false, Vector3f()}; - } + Vector3f v0 = Vector3f{p2.x - p0.x, p1.x - p0.x, p0.x - pa.x}; + Vector3f v1 = Vector3f{p2.y - p0.y, p1.y - p0.y, p0.y - pa.y}; - auto s = (p2p0.y * pap0.x - p2p0.x * pap0.y) / deno; - if ((s > 1) || (s < 0)) { - return std::pair{false, Vector3f()}; - } - - auto t = (p1p0.x * pap0.y - p1p0.y * pap0.x) / deno; - if ((t > 1) || (t < 0)) { - return std::pair{false, Vector3f()}; - } + Vector3f u = glm::cross(v0, v1); - if ((1 - s - t > 1) || (1 - s - t < 0)) { - return std::pair{false, Vector3f()}; + // 如果 u.z == 0 说明三角形退化 + if (std::abs(u.z) < 1) { + return std::pair{false, Vector3f(0, 0, 0)}; } - return std::pair{true, Vector3f(1 - s - t, s, t)}; + return std::pair{ + true, Vector3f(1.0f - (u.x + u.y) / u.z, u.y / u.z, u.x / u.z)}; } auto SimpleRenderer::InterpolateDepth(float depth0, float depth1, float depth2, From 11bb0647c222c760bcb12380ddc265c379a0388e Mon Sep 17 00:00:00 2001 From: ZhuohaoHe Date: Tue, 27 Aug 2024 15:45:17 -0400 Subject: [PATCH 02/18] update DrawModel function Signed-off-by: ZhuohaoHe --- src/simple_renderer.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/simple_renderer.cpp b/src/simple_renderer.cpp index 1e8c7e5..c2c41cc 100755 --- a/src/simple_renderer.cpp +++ b/src/simple_renderer.cpp @@ -193,15 +193,12 @@ void SimpleRenderer::DrawModel(const ShaderBase &shader, const Light &light, for (const auto &f : model.faces()) { /// @todo 巨大性能开销 auto face = shader.Vertex(ShaderVertexIn(f)).face_; - DrawLine(face.vertex(0).position().x, face.vertex(0).position().y, - face.vertex(1).position().x, face.vertex(1).position().y, - Color::kRed); - DrawLine(face.vertex(1).position().x, face.vertex(1).position().y, - face.vertex(2).position().x, face.vertex(2).position().y, - Color::kGreen); - DrawLine(face.vertex(2).position().x, face.vertex(2).position().y, - face.vertex(0).position().x, face.vertex(0).position().y, - Color::kBlue); + auto a = face.vertex(0).position(); + auto b = face.vertex(1).position(); + auto c = face.vertex(2).position(); + DrawLine(a.x, a.y, b.x, b.y, Color::kRed); + DrawLine(b.x, b.y, c.x, c.y, Color::kGreen); + DrawLine(c.x, c.y, a.x, a.y, Color::kBlue); } } if (draw_triangle) { From eb57cde5ba57d4e2fbbcfb4d4259b833d0b403bd Mon Sep 17 00:00:00 2001 From: ZhuohaoHe Date: Wed, 28 Aug 2024 10:59:38 -0400 Subject: [PATCH 03/18] add buffer class including framebuffer and camera_matrix Signed-off-by: ZhuohaoHe --- src/include/buffer.hpp | 65 +++++++++++++++++++++++++++++++++++ src/include/simple_renderer.h | 1 + test/system_test/display.cpp | 4 +-- test/system_test/display.h | 4 ++- test/system_test/main.cpp | 10 +++--- 5 files changed, 76 insertions(+), 8 deletions(-) create mode 100644 src/include/buffer.hpp diff --git a/src/include/buffer.hpp b/src/include/buffer.hpp new file mode 100644 index 0000000..0ae4528 --- /dev/null +++ b/src/include/buffer.hpp @@ -0,0 +1,65 @@ +#ifndef SIMPLERENDER_SRC_INCLUDE_BUFFER_HPP_ +#define SIMPLERENDER_SRC_INCLUDE_BUFFER_HPP_ + +#include + +#include "math.hpp" + +namespace simple_renderer { + +class Buffer { + // buffer + matrix + public: + // Default constructor + // 默认构造函数 + Buffer() = default; + + // Copy constructor + // 拷贝构造函数 + Buffer(const Buffer& Buffer) = default; + // Copy assignment operator + // 拷贝赋值操作符 + Buffer& operator=(const Buffer& Buffer) = default; + + // Move constructor + // 移动构造函数 + Buffer(Buffer&& Buffer) = default; + // Move assignment operator + // 移动赋值操作符 + Buffer& operator=(Buffer&& Buffer) = default; + + // Destructor + // 析构函数 + ~Buffer() = default; + + Buffer(size_t width, size_t height) + : width_(width), + height_(height), + size_(width * height), + framebuffer_(new uint32_t[size_](), std::default_delete()), + matrix_(1.0f) {} + + uint32_t* framebuffer() { return framebuffer_.get(); } + + uint32_t& operator[](size_t index) { + if (index >= size_) { + throw std::out_of_range("Index out of range"); + } + return framebuffer_.get()[index]; + } + + const Matrix4f& matrix() const { return matrix_; } + + void setMatrix(const Matrix4f& matrix) { matrix_ = matrix; } + + private: + size_t width_; + size_t height_; + size_t size_; + std::shared_ptr framebuffer_; + Matrix4f matrix_; +}; + +} // namespace simple_renderer + +#endif \ No newline at end of file diff --git a/src/include/simple_renderer.h b/src/include/simple_renderer.h index 44e2ca6..7078a8d 100755 --- a/src/include/simple_renderer.h +++ b/src/include/simple_renderer.h @@ -21,6 +21,7 @@ #include #include +#include "buffer.hpp" #include "light.h" #include "log_system.h" #include "math.hpp" diff --git a/test/system_test/display.cpp b/test/system_test/display.cpp index af5223e..8baee94 100644 --- a/test/system_test/display.cpp +++ b/test/system_test/display.cpp @@ -88,7 +88,7 @@ void Display::fill(const uint32_t *buffer) { SDL_RenderPresent(sdl_renderer_); } -void Display::loop(uint32_t *buffer) { +void Display::loop(simple_renderer::Buffer buffer) { SDL_Event event = SDL_Event(); bool is_exit = false; while (is_exit == false) { @@ -116,6 +116,6 @@ void Display::loop(uint32_t *buffer) { } } - fill(buffer); + fill(buffer.framebuffer()); } } diff --git a/test/system_test/display.h b/test/system_test/display.h index 628a6c7..8f476da 100644 --- a/test/system_test/display.h +++ b/test/system_test/display.h @@ -23,6 +23,8 @@ #include #include +#include "buffer.hpp" + /** * 显示抽象 */ @@ -63,7 +65,7 @@ class Display { /** * 显示循环 */ - void loop(uint32_t *buffer); + void loop(simple_renderer::Buffer buffer); private: /// 窗口标题 diff --git a/test/system_test/main.cpp b/test/system_test/main.cpp index d1024a8..b1cd27b 100755 --- a/test/system_test/main.cpp +++ b/test/system_test/main.cpp @@ -22,6 +22,7 @@ #include #include +#include "buffer.hpp" #include "display.h" /// @name 默认大小 @@ -43,11 +44,10 @@ int main(int argc, char **argv) { } auto obj_path = std::string(argv[1]); - auto buffer = std::shared_ptr(new uint32_t[kWidth * kHeight], - std::default_delete()); + simple_renderer::Buffer buffer(kWidth, kHeight); - auto simple_renderer = - simple_renderer::SimpleRenderer(kWidth, kHeight, buffer.get(), pixel); + auto simple_renderer = simple_renderer::SimpleRenderer( + kWidth, kHeight, buffer.framebuffer(), pixel); // obj 路径 std::vector objs; @@ -95,7 +95,7 @@ int main(int argc, char **argv) { } auto display = Display(kWidth, kHeight); - display.loop(buffer.get()); + display.loop(buffer); // add camera info into this buffer?? return 0; } From 82599272e230cd7bebec2baa1ef7be6faad2eb1c Mon Sep 17 00:00:00 2001 From: ZhuohaoHe Date: Thu, 29 Aug 2024 11:40:19 -0400 Subject: [PATCH 04/18] refactor display class, but need to debug the realtime situation Signed-off-by: ZhuohaoHe --- src/simple_renderer.cpp | 21 +++++------ test/system_test/display.cpp | 67 ++++++++++++++++++++---------------- test/system_test/display.h | 8 ++++- test/system_test/main.cpp | 17 ++++++--- 4 files changed, 68 insertions(+), 45 deletions(-) diff --git a/src/simple_renderer.cpp b/src/simple_renderer.cpp index c2c41cc..b998b01 100755 --- a/src/simple_renderer.cpp +++ b/src/simple_renderer.cpp @@ -72,8 +72,9 @@ void SimpleRenderer::DrawLine(float x0, float y0, float x1, float y1, auto p1_x = static_cast(x1); auto p1_y = static_cast(y1); - SPDLOG_DEBUG("x0({}, {}), y0({}, {}), p0({}, {}), p1({}, {})", x0, y0, x1, y1, - p0_x, p0_y, p1_x, p1_y); + // SPDLOG_DEBUG("x0({}, {}), y0({}, {}), p0({}, {}), p1({}, {})", x0, y0, x1, + // y1, + // p0_x, p0_y, p1_x, p1_y); auto steep = false; if (std::abs(p0_x - p1_x) < std::abs(p0_y - p1_y)) { @@ -99,20 +100,20 @@ void SimpleRenderer::DrawLine(float x0, float y0, float x1, float y1, if (steep) { /// @todo 这里要用裁剪替换掉 if ((unsigned)y >= width_ || (unsigned)x >= height_) { - SPDLOG_WARN( - "width: {}, height: {}, p0_x: {}, p0_y: {}, p1_x: " - "{}, p1_y: {}, x: {}, y: {}", - width_, height_, p0_x, p0_y, p1_x, p1_y, x, y); + // SPDLOG_WARN( + // "width: {}, height: {}, p0_x: {}, p0_y: {}, p1_x: " + // "{}, p1_y: {}, x: {}, y: {}", + // width_, height_, p0_x, p0_y, p1_x, p1_y, x, y); continue; } draw_pixel_func_(y, x, _color, buffer_); } else { /// @todo 这里要用裁剪替换掉 if ((unsigned)x >= width_ || (unsigned)y >= height_) { - SPDLOG_WARN( - "width: {}, height: {}, p0_x: {}, p0_y: {}, p1_x: " - "{}, p1_y: {}, x: {}, y: {}", - width_, height_, p0_x, p0_y, p1_x, p1_y, x, y); + // SPDLOG_WARN( + // "width: {}, height: {}, p0_x: {}, p0_y: {}, p1_x: " + // "{}, p1_y: {}, x: {}, y: {}", + // width_, height_, p0_x, p0_y, p1_x, p1_y, x, y); continue; } draw_pixel_func_(x, y, _color, buffer_); diff --git a/test/system_test/display.cpp b/test/system_test/display.cpp index 8baee94..777ef41 100644 --- a/test/system_test/display.cpp +++ b/test/system_test/display.cpp @@ -68,7 +68,7 @@ Display::~Display() { SDL_Quit(); } -void Display::fill(const uint32_t *buffer) { +void Display::fill(const uint32_t* buffer) { // 更新 texture auto res = SDL_UpdateTexture(sdl_texture_, nullptr, buffer, width_ * 4); if (res != 0) { @@ -88,34 +88,43 @@ void Display::fill(const uint32_t *buffer) { SDL_RenderPresent(sdl_renderer_); } -void Display::loop(simple_renderer::Buffer buffer) { - SDL_Event event = SDL_Event(); - bool is_exit = false; - while (is_exit == false) { - while (SDL_PollEvent(&event) != 0) { - switch (event.type) { - case SDL_QUIT: { - is_exit = true; - break; - } - case SDL_KEYDOWN: { - switch (event.key.keysym.sym) { - case SDLK_ESCAPE: { - is_exit = true; - break; - } - default: { - // 输出按键名 - std::cout << "key " << SDL_GetKeyName(event.key.keysym.sym) - << " down!\n"; - break; - } - } - break; - } - } - } +void Display::loopBegin() { is_exit_ = false; } - fill(buffer.framebuffer()); +bool Display::loopShouldClose() { return is_exit_; } + +void Display::handleKeyboardEvent(SDL_Event& event) { + switch (event.key.keysym.sym) { + case SDLK_ESCAPE: + case SDLK_q: + is_exit_ = true; + break; + case SDLK_UP: + std::cout << "UP" << std::endl; + break; + case SDLK_DOWN: + std::cout << "DOWN" << std::endl; + break; + case SDLK_LEFT: + std::cout << "LEFT" << std::endl; + break; + case SDLK_RIGHT: + std::cout << "RIGHT" << std::endl; + break; + default: + break; } } + +void Display::handleEvents() { + SDL_Event event = SDL_Event(); + while (SDL_PollEvent(&event) != 0) { + switch (event.type) { + case SDL_QUIT: + is_exit_ = true; + break; + case SDL_KEYDOWN: + handleKeyboardEvent(event); + break; + } + } +} \ No newline at end of file diff --git a/test/system_test/display.h b/test/system_test/display.h index 8f476da..f167540 100644 --- a/test/system_test/display.h +++ b/test/system_test/display.h @@ -65,7 +65,10 @@ class Display { /** * 显示循环 */ - void loop(simple_renderer::Buffer buffer); + void loopBegin(); + void handleKeyboardEvent(SDL_Event &event); + void handleEvents(); + bool loopShouldClose(); private: /// 窗口标题 @@ -84,6 +87,9 @@ class Display { SDL_Renderer *sdl_renderer_; /// sdl 纹理 SDL_Texture *sdl_texture_; + + // Should Close + bool is_exit_; }; #endif /* SIMPLERENDER_TEST_SYSTEM_TEST_DISPLAY_H_ */ diff --git a/test/system_test/main.cpp b/test/system_test/main.cpp index b1cd27b..d3a8293 100755 --- a/test/system_test/main.cpp +++ b/test/system_test/main.cpp @@ -58,6 +58,11 @@ int main(int argc, char **argv) { // objs.emplace_back(obj_path + "/helmet.obj"); // objs.emplace_back(obj_path + "/african_head.obj"); objs.emplace_back(obj_path + "/utah-teapot/utah-teapot.obj"); + // load model + std::vector models; + for (auto &obj : objs) { + models.emplace_back(simple_renderer::Model(obj)); + } auto matrix = simple_renderer::Matrix4f(1.0f); simple_renderer::Matrix4f scale_matrix = @@ -86,16 +91,18 @@ int main(int argc, char **argv) { // 3. 移动到屏幕左上角 // 4. 缩放物体 - // 读取模型与材质 - for (auto &obj : objs) { - // 添加到场景中 - auto model = simple_renderer::Model(obj); + for (auto &model : models) { model.transform(matrix); simple_renderer.render(model); } auto display = Display(kWidth, kHeight); - display.loop(buffer); // add camera info into this buffer?? + display.loopBegin(); + while (!display.loopShouldClose()) { + display.handleEvents(); + + display.fill(buffer.framebuffer()); + } return 0; } From 167cc295ec23b321e98dd4a1117103b52d4ae886 Mon Sep 17 00:00:00 2001 From: ZhuohaoHe Date: Sun, 1 Sep 2024 21:52:07 -0400 Subject: [PATCH 05/18] repair DrawTriangle mode by add intensity * 255 Signed-off-by: ZhuohaoHe --- src/default_shader.cpp | 1 + src/include/color.h | 2 +- src/simple_renderer.cpp | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/default_shader.cpp b/src/default_shader.cpp index ba1c34e..a474793 100644 --- a/src/default_shader.cpp +++ b/src/default_shader.cpp @@ -64,6 +64,7 @@ auto DefaultShader::Fragment(const ShaderFragmentIn &shader_fragment_in) const is_need_draw = false; return ShaderFragmentOut(is_need_draw, Color()); } + intensity *= 255; auto color = InterpolateColor(shader_fragment_in.color0_, shader_fragment_in.color1_, shader_fragment_in.color2_, diff --git a/src/include/color.h b/src/include/color.h index eca95fc..5dbd04d 100755 --- a/src/include/color.h +++ b/src/include/color.h @@ -131,7 +131,7 @@ class Color { return _os; } - private: + public: // TODO: 为了方便测试,暂时公开 /// 颜色深度 static constexpr const uint8_t kDepth = 4; diff --git a/src/simple_renderer.cpp b/src/simple_renderer.cpp index b998b01..a7bc95a 100755 --- a/src/simple_renderer.cpp +++ b/src/simple_renderer.cpp @@ -61,7 +61,7 @@ bool SimpleRenderer::render(const Model &model) { SPDLOG_INFO("render model: {}", model.modelPath()); auto shader = DefaultShader(); auto light = Light(); - DrawModel(shader, light, model, 1, 0); + DrawModel(shader, light, model, 0, 1); return true; } From 74620db75cd013df65d2fb095ff9281bd6f61e0f Mon Sep 17 00:00:00 2001 From: ZhuohaoHe Date: Tue, 3 Sep 2024 15:30:48 -0400 Subject: [PATCH 06/18] repair DrawTriangle function by updateing InterpolateColor() and GetBarycentricCoord() Signed-off-by: ZhuohaoHe --- src/default_shader.cpp | 40 +++++++++++++++++++++------------------- src/simple_renderer.cpp | 15 ++++++++++++--- 2 files changed, 33 insertions(+), 22 deletions(-) diff --git a/src/default_shader.cpp b/src/default_shader.cpp index a474793..60ce914 100644 --- a/src/default_shader.cpp +++ b/src/default_shader.cpp @@ -18,28 +18,30 @@ namespace simple_renderer { +// 将浮点数转换为 uint8_t +// 对浮点数进行四舍五入 +uint8_t float_to_uint8_t(float val) { + float adjusted_val = val > 0.0f ? val + 0.5f : val - 0.5f; + return static_cast(adjusted_val); +} + auto DefaultShader::InterpolateColor( const Color &color0, const Color &color1, const Color &color2, const Vector3f &barycentric_coord) -> Color { - return Color( - static_cast(static_cast(color0[Color::kColorIndexRed]) * - barycentric_coord.x + - static_cast(color1[Color::kColorIndexRed]) * - barycentric_coord.y + - static_cast(color2[Color::kColorIndexRed]) * - barycentric_coord.z), - static_cast(static_cast(color0[Color::kColorIndexGreen]) * - barycentric_coord.x + - static_cast(color1[Color::kColorIndexGreen]) * - barycentric_coord.y + - static_cast(color2[Color::kColorIndexGreen]) * - barycentric_coord.z), - static_cast(static_cast(color0[Color::kColorIndexBlue]) * - barycentric_coord.x + - static_cast(color1[Color::kColorIndexBlue]) * - barycentric_coord.y + - static_cast(color2[Color::kColorIndexBlue]) * - barycentric_coord.z)); + // 插值颜色 (r, g, b) + auto color_r = float_to_uint8_t( + static_cast(color0[Color::kColorIndexRed]) * barycentric_coord.x + + static_cast(color1[Color::kColorIndexRed]) * barycentric_coord.y + + static_cast(color2[Color::kColorIndexRed]) * barycentric_coord.z); + auto color_g = float_to_uint8_t( + static_cast(color0[Color::kColorIndexGreen]) * barycentric_coord.x + + static_cast(color1[Color::kColorIndexGreen]) * barycentric_coord.y + + static_cast(color2[Color::kColorIndexGreen]) * barycentric_coord.z); + auto color_b = float_to_uint8_t( + static_cast(color0[Color::kColorIndexBlue]) * barycentric_coord.x + + static_cast(color1[Color::kColorIndexBlue]) * barycentric_coord.y + + static_cast(color2[Color::kColorIndexBlue]) * barycentric_coord.z); + return Color(color_r, color_g, color_b); } /// @todo 巨大性能开销 diff --git a/src/simple_renderer.cpp b/src/simple_renderer.cpp index a7bc95a..45691f1 100755 --- a/src/simple_renderer.cpp +++ b/src/simple_renderer.cpp @@ -223,12 +223,21 @@ auto SimpleRenderer::GetBarycentricCoord(const Vector3f &p0, const Vector3f &p1, Vector3f u = glm::cross(v0, v1); // 如果 u.z == 0 说明三角形退化 - if (std::abs(u.z) < 1) { + const float epsilon = 1e-6f; + if (std::abs(u.z) < epsilon) { return std::pair{false, Vector3f(0, 0, 0)}; } - return std::pair{ - true, Vector3f(1.0f - (u.x + u.y) / u.z, u.y / u.z, u.x / u.z)}; + auto x = 1.0f - (u.x + u.y) / u.z; + auto y = u.y / u.z; + auto z = u.x / u.z; + + // 如果重心坐标不在 [0, 1] 之间则说明点在三角形外 + if (x < 0 || y < 0 || z < 0 || x > 1 || y > 1 || z > 1) { + return std::pair{false, Vector3f(0, 0, 0)}; + } + + return std::pair{true, Vector3f(x, y, z)}; } auto SimpleRenderer::InterpolateDepth(float depth0, float depth1, float depth2, From 0b023803417b1e6d0faa30d6c283ff603de9eedb Mon Sep 17 00:00:00 2001 From: ZhuohaoHe Date: Tue, 3 Sep 2024 22:00:14 -0400 Subject: [PATCH 07/18] add teapot with texture && update Fragment Shader by replacing the is_show with std::max(0.0f, ) Signed-off-by: ZhuohaoHe --- obj/utah-teapot-texture/brick-specular.png | Bin 0 -> 37538 bytes obj/utah-teapot-texture/brick.png | Bin 0 -> 146946 bytes obj/utah-teapot-texture/teapot.mtl | 17 + obj/utah-teapot-texture/teapot.obj | 11758 +++++++++++++++++++ src/default_shader.cpp | 38 +- src/include/shader_base.h | 6 +- src/shader_base.cpp | 4 +- src/simple_renderer.cpp | 4 - test/system_test/main.cpp | 8 +- 9 files changed, 11802 insertions(+), 33 deletions(-) create mode 100644 obj/utah-teapot-texture/brick-specular.png create mode 100644 obj/utah-teapot-texture/brick.png create mode 100644 obj/utah-teapot-texture/teapot.mtl create mode 100644 obj/utah-teapot-texture/teapot.obj diff --git a/obj/utah-teapot-texture/brick-specular.png b/obj/utah-teapot-texture/brick-specular.png new file mode 100644 index 0000000000000000000000000000000000000000..0bf9ac6d68a3cc946d6c355d1f03c1d9e65c469d GIT binary patch literal 37538 zcmaHzbyQSs)b@vx?(U&ex}=5{kPsw>lp&~=^Qwez>{DzMNL%@$cG683JL{*Zl8h2T@c8f2L#$P0f9ubKp;}bl=s65 zAW#aclAN@b*RO*|^{CCioh)b^O$03N$-A+kuM|}X2Mif|na#|YXo-2kQvN7#Ya+b2 zbR^0>h~MPen;5Jcp5+{D8EY0v_`W;bDBMOOj3vv0^=Tut+wVQ=21Be^r3sjT*`hPr zgaSQ>$3OY6tXEmX(QIa~)(&St`ti?X3%ynggVsV?CH!qj)5VkbQ_s}7uSkLv7*7Z( zhF)2d?dqlWO08DfMdt5Y#3|CjdNjoPs;*>Gvwe z*Jy}^3RLB{DsptzIpVu*A8zFlgQdVu#ScMxoVH5rwHb0xA!T{M@q-+$Ute9DoSc`u zKfVme`E5WonqN>ALx1H1x%7cZKOzs9j9C7>>={_MG)$5L$Ay)RjU7R-@#zS|WFJEM z3k#}FUNKf~iL{)b?|8k@_@Y#ASbL=I48gTlMhi2y9lu7RDC%ajn{lJ({tfcDaX(T= z603tZ+pDK2*TIK4>;h1NGq>%>J7c>ioefKiSYw==8s2eAHq~_bJic75)gn?&_3AYt zYwM+5Zz|h0H2hl!Kkt?zx(yAbF5osaa(`J3x1t*C^vv`1(6zM8u#Fp&g(AhQ}_3Cl&O7=7&7EgFqxD} zoBl%UAxDgpPgTV6kESE6&DNRIwVvuP`dHas@e$6&`@W5i9S*p-4rIcI9y@1eD8|C7 zqXH{nvW8Ew=})MrV$wW+-5#)rf*8}?{OgT%3nlI0t*FAU@orKHw=cAahu7q>Se4jO z2G$=QylX$im};abAGW?!V$xd`QZ3hCxqj^DaX8ud@Xj^QxZ3@DH_I9>k$jETx7Nc^ zNyZEIS+9_;64ns=`*xQ_X-s%%RVO7flK5;le!xjA=Ht!cTOxdY3SX6(Eijot?ys>i z+Zi_j)%nX&s?qfEkfJCu;CV0OHFw`$S}$WfWF+ksX%|Wo(O7pX>K^vYa4=cBgSxio z;$5qK{hSXia_Gzql03dW95W=i>WGGxa&AwT%;11YiJdJ5THhxam#eV(Hbq&zz%Ma( z;ZkC#edAW9d{a1gp}ozDqYqAkW^rNiO)LQ6tY=;S7T1lH1-NL^>0!kDfyW8wP! zJbY=W*xJzjA*SlcRMES4T|`iN9eZ;`z(}0h;DeXI!Ps%{J%VkS{z{|-Sw?zQr$KGN zoP#HOI^PuOufxeX?M&5+?QKleRA7+}=2vcSU5(bN=TwH;gB1tmB1uc?j$u)Cb)A=Y z23J1C&QZ_90@9)oU*;a~O&Y2LlT%sAy*rwtl9^N0nUM<(h$F$#ADEGOY*k1M=BfER$tNc{Cy1sOC%<=Bgu`oQs3(G`wnzkl7>{) z#4@*IsT(Imx>OTK9mAk8>HS9j!99X`-Z5%=%(NBMakYJ_Kq-ENPV$EXoUk;{m1@Dp zh?eRAEQNrAWaQ%f3HR9n4{LB?)Mc2~j=On9i&OHqLZPeFnu)}wSq#0RX0)DTRp&b{ z%#GxMEGb)2HQejamhTRshd(s>fIX*abmJD0NVDdLB7?CIUWD_EO%LrVS`7W5?SO$n zBR%d+boSL_zktzbN2GjE1<4-}sSxdmBTjEO029oI0>JN18e(h$$^%$|CK3b#;xD z*yShdvbV59q;G0ZIh+@U&1l;BEZ(@*$UJhDn)$c)$?9#N}?#1{*>)onY&GE74=1wTr2+a z!daNCNm0GJv!h|mU2GJU<-O%}&+9CooCws8xy}fV4CA{*BaLDrp^Q>aM_HV~bA$eO zn|(vqsV*yJy67VDc^4rt!TxiU(GFVT@=3$Db`-#6_Th)q4`U6vq4r9xw8&&0Q7qK) z&V4sO_!a)dw1D-VOUo|jl2Twb)Q{-to8f}ox7gPu4~Rk#*nt2w)d8bl>C&vi_B4~q z9jiMI1Xtrb3dH^3(Y%YTETG~m^`w_B<0BytJA-0I+fwqz{7I0paW7At0Tu3xf%PT+ zN@Lw}GAl1oY@?3}TFsFSH1su;I1)V1_DAIC;o%kL&m^M`GU0HN2XVZF!bJT;EZoQ) z1)|uNUy=#o_m7GA+J!?s!HU1D-URBm$2z0ssJ?uKA?LB(y)F3^l?RuXqMNB4C<&Bd zW*rJ$oJ-V;mheu@k1idrPdBC&VO|Prt`XPLipMxJ!M4nrP>WhAQORMrXT3dNq+on3 zN5VuHwpmgyGzQ*rR3)-U-o4X0O}PYmG8IX0)+AHmY-P5sAGn83Hr54W_t^W9>4Pwn zrDd_)*Yi6!{bnB7mvop>TTcf!7rWc@^W(sAUJQJM+R3fTyRkB3f7a9>V?yDhu<*`p zBG|FSXQ5ig{}a5}Ur`iAE9s{iDhp+i3c3#n^67+$Q(0`_Jga6EO3O_L!YDkojD*Rb zIOry=%2n85De7-&MnvD^qezAJk|ky}fXGJd5B9V*n^OSa#GhQh;&^~8M?T$y2Sv3-Uw;PWPRvi?t>K=ql>a8**ln>y_WERW^ak( zUy9QL&EqXfxF8{?erc6)XG6Pjsf0}_#42mP{W{sK{kn4LuShhEN6nTRD3c`7;;IUO2Tt%@3iekH2DLWB8?eFyg)!vI1f^N^G=%g+ra{_s-@ONVT0E> z?ROc&w#>N)f)sqXe?crZ!l!(;>sJIZOUhQcYS0?QlL6`;x~bSw5iyOaio5!xL_1)U z=SBPuUsgC7y+)d6*Go~Z>g=jv>e(2mAVUdqIQLT`)PXY-Im2dYwv@#nplTIxe}+>}VgA>mEgS+}mVKi5I?(ml8og1( z)xm(oU|*bf2@B|)2kl&Dvsvfh*y@z-`=)5^T|b9~tnxT~{h^2T8#j3Aq8~S@B!$y4 zl~xLhl$Wpfj!Zd>eBc}<18SAS^@N8E{Aq+gpU0izW-Ap+e|X4~nE?hKT6IX6#|fHr z-0unc2{aAP7X$rGM=CQNoqG|Z;>*v}U{_aI6gTp_IU`_C#v`--D4-c8C{@0h*y4qD z9t1u)0i}#)-|V=40(k+w#kHNJA0*4uzylG6@IwGy$suewbm=lbffoHfie5dxF*5|U z@z1kk;C*HhlxUcKdjx+Ty}W#{qRlFQiqbBOgP6%qmHs(q1j0=N96N@-$c;<`ERR3- zz)};B6D5JljPRKU4ROtiDyMAx9K|S5g}0E&l;dhnVe@2(f4A9FhjCXOibOVojq$s! z)flJmes|^#MNv3{UV%!(+c0nZCP{~-(L#i@@xeK5QdAJoN(u;v34%%j8yB;Typm^l z80d8%N?8_klGvZ;e2%>lo-{m=Vfj41MJ!|fgQ6TDd3@Cwn4$j{hzgV??)Py1a1hfL ziIxUd)bHbIc96MMqld{?gi?G%emj$E*AXYR6x$hQ3CMyT2^aVK5^WIGXmCDpa7REP z2|bJ&^s{gRMGiWy#6r!3!GIgA?LOM-zlIw#EYtU#tTUYhGkb-rQ;HWSqtZb!k}i2G z9GAOkW`>CJWB2B=^V@m2+Gu&W;>V!=**eCx6inog%0kWO!W(L*SX1m`v4P-D7k2`xloa-;pj-PoH z!?f8g=#?33I#Jph1iRfn=#P}I?JdX%=M5D(}h>Kuu^HQ zk6~E;Y1`k1U?}|*FF~ySg^Ni23zB{}olw6pNy&rE3e((%7XcvHX_L#NLcs2D&`=+Z zn)B0yeQ6t9=vOx|MN|?6!Io!j#7CWhPUm0im%44Q{{=XqwdOJrqMVK|cwL<+<7F2P zFYjsP8>3u9d>-xfae;UJH>SG!=s571v&JSOks2-R@&v@Wucqy39rg8;q7UpH@8R?jayFoW7S%AVD1u~?|BWp;g(vQztp=S|adzKvM)8>!1DG~C zilU@>OdjE^VaiZvlpoZWB*`=c%<>KkDvXcMzhw%c2zdonIn1t9x|OVq*Xa8Q+AB&| zr(@s7(3vGnze^L+WS4X+fxB8G@T%86-^k$^VsqFf;6mMv&8xzI}Hwg2LEDAu{8b5YWv zvg-;>?3`KU{@tb%D9{uIjOO>nw^Ge%bkj z@Qr5)35mCJE9Sd}B_QC8Qf%<>-J*vrd5V!g-D=(L+Fud-?0tAQbJ-&hNzXtG`b+DS zB{d$^KtpDWXW?*k6CfpKWt3b!Ry%jK*6qB6@tXd}1qSH7+6+d-Gz+j}q3J1;HT>Xz zKg9UB04feqWMlESHFr#9Jlf;4Cd$*N>&1DwMX>ul(rtyeC#MS=W+jBMv&@4h6$}}Y~+iW*| ztm@iA#XCbE?|j1(4&5%X_a#p$w9J)|fnsEpLUz5IHkU&`s%m@EM@se5W|f)2C8tQu zJ4&q2-1ff+{JUZcb=B@HF zrN32tz#wWNjpub?oad9@e=-`#V6Ia;?;bKPrhxESe}R>8$n2xUR)sYFFg>*gzDq)* zJnvzvL}I7sG=eSe!lAb@tu0nYueB)arE*eCQ+NJD@WtvF&)D2>_~bc?oJH9yq>8x- zVCD<92w`4kilJbv6z~YeM|<;SQEmbljIurB=yvkzh%$N8{)4geO=|Cq5?s zAscf(0uHn99b?8q;mnU(p*m2eB(L&A5>% zEth2OxjlJJ`#OJuc%Naiz3p02ih4rAO<7Y|Ow-QPD1*S_5pZ)Tknl*5l-MixxT>YX zmJ78;UJQW!oLX8gQ=<19rvtkYz3x8S>v?iUM(<$O&R;4V;!S(M8jzDa+&u+K3CXRs z0B2HF`9YZ+*c?TBC4JjI!)r{(1Th_A0$=46cxOfgnrvd2oGg3g`C0Tl$ca}i0+C|Z zMESar(t z9p5Y4U{eYOE*@!~o0APdx00vW#YfBbZRC_B+{F>-&H^f&{`^XVJMB}3#fp5~r?8{M z8CH-++#k<`Z+6t<&5GcynO7Vnl=*WRLYDC2L*)SOcBbaY_2eyW4oZOso*`2H1*9kgw!OH42(AHgQ^ zXk2WtSI@|$8nw>xbGwKkry8(!PkcOs40J|PkoD#Ph__l1cLoxr4Sb|mWS zS?RUj*~Otv(`K5=PgA;Qn2-sZ`0JCI5ri!$3lt63Mr4K^qh`48h)9flp_EL>ao8@g zzCY@e81FRuK)MBHklVNou~-R)bNJ!zx20&5#3-G12YA`=fDb)TeLL2kZ?aEZy48g^ zmCi=!K9C6;7zh`82@Fj`wo95(?ON)jXJ~)&CdC7Nl15RXWRF~oB_7r{i;eoHJ;&3T z_=xn0@2RDTCy)K-cV@TvOCN(Me4u{;iRl`N74%2RE{(~!zEA$(_YyywZ0m-$z;j3Y zv`i9DbNbA2;AeYUVlHVOJb4;sZz$~Ip7t~@hQ4emo()OF(oz?Ovfe2%x_jy;P2?@T zZcuw2($5j|78v^1s0DvjS5P)+`$JB;K@NDi+<9sJOs0u(eed)sTOVydF#l@R<&^yP zd}scgYm9(Z@1*z)756^#-y)XB$KF)XkQ?9YbeL*=bmGmhzmITE9ec4xaUVVNPFn*x z%C5$1#tqPxc6X)Q?HMu68Y3;I9Q8a|SnB;DKQ1LyQ%^wO%U+zvobF)T{%S}e8?Iip zF$z89dgL$O^GSQ5Y?cBjX#W({{cA`>=_}0e7I-W8L~%@1QV8lZwp*!ReMn2)BXd=^ zIh!T>T@%+?uO>Pcle$M@gEC};dxAea9+in&O!A#)Q-pSie!4~>I_3B~IhiE}vnV3@ zhsWc>jgScEAuOf>Zm-ogFXUz7DbkZV@X2MTe(h1DytuD97QU#9RgSoZmzIVc^yLsD z^#Y*GX|D{_JzeZFb+s2o+0_>mR6$Q_=kFK6=u@OzTyE0qeYbzGId%}*d}}|n>Mz95 z7ZlJ)`OVtgmzT4@7;yKk>I76U9SVi%>rnmgX(a?WNP1W=YxI`(Z!nJ7^Te!j)XFzA z#{v0Ul$w@yXdy8%9!!>32q8s&`ujJXF`Y=hze*Oz7dmcwfmd%fKE>m}Sq-n zk24QSh2!!J-7$9$XH`TSX$*~ZHF~_b`JTmU8C#;mzeJ^^Io2BZ{b<1XsIlI801A0i>2zmW9)?d$>C+af#GR)iGY{>20tGmY9KpzQ#Yk&V3EL*jkE-4wI{T%#uf z?vIVI<-y*!b4IGE4Husxf7!#&5#{m0{#jg~Yq~tT7{-}u@LDPD;rG>jcLwk)E%$3c zqM(G$xM6MTWV{LKU)XmXmCWCqJy`)N-q2U8t!2S2mxO|iUvJfw7L4drH8NGNQ&agsTdfguGD1c*7Yg^HyFf=XDq5oJlb2{`T zwS5C`B*@-THxG_wQfgh`$$Fhi-mQHFPA++M`(dWAA~T_xL|rndV8b-i?(lExa0- zFL@tij~I_V_H>Yqd^+HNM89NbGq)#M6_t5u0<^<+gr5zi&Im}ttVQuW@PM}T?OeXH zd~_Hh%xv(*&eLbpin&f9)yzG4^suNLy<^o+tVREX(Dy0DDd}8*U4jSH*#G+>3ok{> zRL~G+J}6C8hZOfRP?xB2tv-@m9+-9B=HesLaaiT}`BbU(WD*1FdYZC4dEM@?L1Qkp zltp&gSPt{+y~q>`d7Q@Zo#gF97rmtIl+BB2w-hR%u+CkM0`sk#-%vYt=CDnUVP%>I zEOGGF)jXg-tELV>v@2ON+&w)!hS@ohgI{YeEG?yPF6*)b8u!N|EcXbQDcizf<2MN% z!$}NJjnN)=zH=X=$$q9y(A>YlXw7u6U%EP}IMmqrS#wgG($Dw2$ zzojzyim!sql2ajzPe-=k(@Lm(*XlGxg&N_`Vb+)Lh*@JR`w>+J!D!9Qj=sVrvBxC~ zote|XMvySQ-wZ{R%t66<9@rK-dozD%m#!Rr#CgAP?e=)Ov_wosST$Gw(e9Uh*UtvB z%QsoVq~j`hUjK|Cyo|;qlgB4+t)0$ZKvTAZuZ5&jd^q8WgI8B`ap5~?#|5??HuuT8 zw{~w{n0IJ#VYc&6?Qini5z$W_+)H=aU*Cu7+ZX=))v)H0cMrUV`E1=J@^mQZZIp&O z%iqAEcBP{P5;{^u4viaTX)!ZB;C74P9wq?{hv57O39;*JErRgPxY@r46E;GDFwf|U z{tJ`zu?-YdpEw=}=}?zv`r_Tajr;Rn6(+@ka_Pi5$_N23e%0Kg&VJ6zCWXzU(-9t$ zDVs|U?G-`Qor44A8O9$QFoPEZpylyJGeE923ar`pZ9U8`0}L3|RQlg!&pdzZup7J| zj=E_3o84TBPW%R%I{#IAbGRhht((4u-TR@-e zPTp)?T4YkE?N0h)$%ZW`pik1~Sk_1G>a4=3k39-6E%+7h+3d1b+Is__c!$YPI8$wr zvhooq_VRqGA)}DP#BXKeDIX>1adr-~U8fAr#wr~=4+my)ArNb*li9ns)@3Dm)MW{S zsUuIOUG}dh5TNuwrcL-0cp`yWLJwGl3B?QMZ5*HLI)ZG{WjaoZHQb!<`#Sp+KAHH{ z;X5dw#nI)wMn_**sY|6J_%hm!1l*jo>|aTl;(W^PRwI%1S4LyVAdmmf{dXtJC#c1o ztSwzx5AUYB8n6HgBvR!XqwHzuf+JCvt)Q?3?jP0iB>Xk&6U0~#yGu;Ftly^Wk~wq8 zV{K|`d6b>P9R*AOS}x$8^K?2mR5g#qfeAhh-Cw{~ zi^n62S-Yf>k4whlTivS%U#HxMbNHi=mT>sP#6pe@cq9~vQII$Xtm+dyS?;rGu#nc4y^R^s5zs3cp z-ba1@ne~|%-JE=%Z6M_M-J5JEx}fsQ@b~J+t@i;SQ%j!S5gU{&c`|a6=WR(^T@kg! zVfAUyyr+v5N4#W#j9>Gu>djG{t+QG$f7|?bmcemB!dj}{^%4c=E_-#GT=jv}iK2Py z!PA;r0~%3=Mqf3^yLUHC>s?e#OoNf?dh9`1W_)#UqxdUD(D64-(#?3sd9uvhLbu&EbVry*1$P0<{ z7w~XNnEHBlCAUNo;mi>uUK=pzBeif{_7)T-&l>b9Ke9v%q}ZH)Em3kE^;*6tX83i( z-Aq`OQwVm))Wztcac;6wHvNq(c#E)NHk)ZTFR2GnsymKSW9_pdDILq7=ac*fhVAGg zUh(&M!={T{xFHByGRif|k)DWjOu&w#h`>pTYlW7AKSnLX%=BiyKoOxK3Ey}CU*?YE z?J?b84vZc*s{suqNPLZ0)Y?#aWpj2_NyJwe?L`6U4+2I!zGc&}=o22t;zG%;*rlIn zWmCHa47Zyp7jFvp$qR8VD61Fi^BShVYD>tuj3BGdPZRYMY=~SFY9Go(6z$w|_KDdH z=*?3Tsod0+LECw50T03MUP%*O5MfL#%qU4M2)#K}n~e*K+V0?Z3Q;DDeKn6Dhhgg4 z%ke=k=VNb{fD&y=57e&Y;lYhxp12|GBt!7$He6QWx!nr^$4CuB}9M(!;eB^5^c3JjO&9>^6xZbkrVGiO>QaoqkD z&~xxO(989{%YB~dcnxcvZOn=ia-ex91+@+`Ar1_+5x~v*OBNS}!Xndn6GdFXHGuS0 z=ML*#chP5zpU=A~e5s+I%w(Y^p`f-AIpH7<^{Rg0*6?0!`&@(m&VW5XValt)m0pE~ z-9CH85YAenq^tKtccMx51v$9zRE5|c)X$eV`*F7<(5I_FGXhQT2BDWTld)2+ZiCt6 zfRkGffyY|p$~clx0@gj{NX_z|YMRzwX?jfodY7n*K#$kdf;w)2(Cb*o-Y_T;o)X_0 z#>^D9d*Z}&bPbT_pIOaHng$m?HaP$~ z25P^efUBTWNdNUcQUQ0x-lSXvy6>uzu4{AUPamd<-#?oIDDhQ(cDkH8t*lmE_cEj4 zF(}M%E>n$gFjbnvp8ys184P} z`%}Q(huvC|!qCM5sdsFOBAgt>^QMcjoK;y0T+Hu@5p*@hDi^|&om5l$EJ{2;I8Xfj z&n2`}P1#f$BPhw(L!It%NtgN2q2-P^{uS&c-8hpAenxoo*g9D(Ia`qY6O}Ty6${=x zZh8z~KB*cs1XU_|Uk^{GkWgEwNXxPgL39n5YR6dP3zHgeu@3Pt{oxh1^xYYka)EI# zBG~*$sYC+_6O8k1=oGgLRWz193AF(v{*ew!yZ}o+^Nikmi|4gRtq3haSc` z?rl2c7$2>ZM`ehbh2N^F83U71)trhZDC{9*S_*wX=3+y2l#Z`GPTCSwy>Y7sBU1lm z%~DuX4M?JUd>w%QFMRGR1_`X&PZZ8ba!?fqxmg-6DCHF4j+88Q{u8@q9N>(#XdT0O zS2xTv$&%1S3uiw&asOWdcb`{mjJg~gza#FOaaerN1r;o`*{=cRI#_CvtOPJ;kl7-~ zyaA%+QEGt}u%?M(Q5eTrwsg3JzXVgt*1frNyu2seZ&tEY*7yP#z?;i};G3eQIk$2` z%qk$4RefLZG-PQxzgwvs+G>T;zuk_E6&*@7N*tSbRwym9yySK8f|Ud_wxjW+FFng= zuxw-9#Ih5Na6q|+J55THiWsFF8NQ|eGC9He@KUcHy7gNLTzAxqBFL9IEP@Cmfx zgd}!P>gH=?Bk|yqI=E{d4JK+M2e7%N1rtw#={1L=C4x{GrWbr`RDT@@UOa-HU9u1b z*y&idYc-`J8tP6SO^WDW&$!WTN6sl!yZgJGi3;fh-hZ6S(b?HB&^A-t8v26plZEFw zwTU!{Vv`GcZj+xrPojlEy^I6t%V(UA+#j7gI6pGHyLtKJRaTjpp>U`~MO9a3CimAo zeFR(+3^YWD5UQKJ1PBpk#JfwvN=?>`~m>B(q^d6mVEe9-NAuy?m+w&w^^y$nY=h{JlmP zfDTFS;MJ|^t&2+;O1+6-OrIA1@)ZItrTorG$3)=r5TQ}u2cS_#fpPr+6;QFqHAPA! zFNH%X{0eiPIdoAfGw!nZwj};_*6gc-zvr)C*L(E_#k+cVXjf$*6cbxf4vV??8*^R0+k|l_)_-ARUT^esR*><{_hW=2>8612vq?jLBdTFboI%)RS z&1%dEIPJ1C>}W4C+(*yDwu30KL5M=vUL!?ZdDG8`BU5lm;~Dyiu1uT$oU?A_3Kcr=jrNTqH1BS74G4s z+^?74t0h6Gw09r8xy-G?dVNpJ)~`wy`{7;g_I}hy026|QX)C45!R9L%wS05}x@7~#F*?pv^ctFG{kDnd`^<^3z^b@|5j z1_JLr4kblL#7TIt$+)q$XZ74;Jcc4;WDYIY<5T;vNB6g@NwfDmw;_z_K*tO%$gVod z7?&wA3bywx+vQr9T;k?R0f(17|9X>AQ|7f7#wxw;jAjQn-kK$KcCu?bDcigqjFT=G zJRhRr^u&hUEnz@Ip?Lgzf~tc*IAWl+0Vprd8>;r*9)um2hq3sAd2na=Qr`qm!ZZPq z=epbRRYG%3SJVa2rTxYzSV(juWsz(6900ODYZ*!wn?H25=`tfpSqwWi^_F*-XzfuO z^~{4XJMZ0@HEczaR$Ge#w}GjBQN#P?;|0tDyP8*>wUQ{2L42%E>K23(E7+7&k z$@l7tItCe3*<31L&QbEb8z5-tD9&LhUnETLUpR6qohCM$Y_!_{mT6Mhu66GOz1$fpQJbL;r1nCsa%^|v zB)zn=`-J7e^ml~~ME($P(WQV_dr=oAy&x`29_+nbiZU>OY}k$e!}Vy}_Pif=@6xzV zd6hm+k%fQ!q!_{JXq#hL->3SV4!B7)Vhyc_u2ki$^xh_8UP;y1L#Ajoc{XYF{j2(& zI8i@D*<(cf*!v|(ob|9anZK+5pf`?V%lR~rP!LWO^3~5CAPp4KiS-lCKwlsAWpTkm zqG@B~yR7njSKrX3Q>I=I^ie%4uztnf{ByIY=<4V_ULl>c!UO-kC$y;$PeVh;;f|Te zGsOEoIynE@pRZ$Tatd0ce^Y*ns;5To1tMpDP{69&;^1cq()%$~Sor(Ks*c%wvEOp{ zlL)m13o;#wQ||PZ-qw-od7}s1p-pUvnM~}f-pkEcd0=I}z6=M-Ydx~yLCJ5^n9`7X zo}vARRpW^cIwnfp;?Xi zOAeE65Hh-cHF@n!6&X4&P)%}=#}AanIFX1U!LW_@g{4k;rSc=j-bF;=Eb6`WT4@TK zPB&!amu^en?^sb~?9Cnh^@W~%(6KoIz`Z#8a~j}Y7aoATK5 z@7PT4XYT{b`uESrfN?V#_`n@LND6$NH=rq(ax+ktY2ESNwqb;G%Qdpb3|}BtyuAtW zhZ4os!8wR}$*=;BE&~R;?DRalATI`jB#t2uLlBoh3Y+e(d&u(!?GvxJlpP%Y>(_6Q zI{4%1-5q4We(l#U_Vix2mDOt9=cBpmKw5*x+&Hz-XW{2Rfsar3&$Uoa)|exXrA}_D|N%wg# z@b0_g(~)rBZCBvAz%Sqj&PlccA{p_A;f+V) z4ohZHe+X-OFVK@L-I)s{uZzE!WP$&dzpX8B5q>{sa^l)}W94~0g&JDu==l8O@CjIV4Tdo* zH2Ugs9*3)|fNenJS!s+<#C_d6n8fpy1OI`F95H9`Gax1d?mLad#8E=a1#r#oHGenH z<=rSBS~F5+Wq2HLCHDVd!=-1fHa6?cBMfE{}jl zTDYsL5l!s_b+}BasT;dWEA8$2MEA^TB-~TV$At>@4E-M%{|!(@x~2toU9%PIXHLnD z8a8LOF2(H*2L~;N$VP_41N`j3B!K!?^c8iW{~R%okjIDIt2);DfZuO9T)N<*{PZmu ziE66zXP$>f8~67aZ~l|<&5px9X=*fl5Ku)#m92KSCu?(};G@D;Vu#Vu1%Cc10@zlt z=r%ZYh9S^t1oRagL`N`~9JrIjVuncfJPFA@wTDyxi40`jc-<_H6!oC;?X_SW(0a2I zqxee3=dL-xlbjoi3h(p$r+y#TpdME!v=l7#b?)&cJSh^fUeN#sVwntMCDG*5mJIg( z5_i+<+=SaODR9{7k#Cp{cW~lL4*U!X41#3%CJlIENW% zFaWpUAFc@?;*G_C$!X(G>#}|@L4ZutS-a8-bQ6nz%FC;Y&~DOUT_n?>kyO|+P%+CK zKL+3haAt-(slc0#0RO*64>65(I<`Dx%0$VOS3O~~6%e?gI;6-isybbr8jxghA)EiK zz);gLr!U^55icA+{X)bYqUoLMyz2g_1GfxaJjPvojz~WQSaIp~NOFWo*_ffdjj_~Y zZZ04}dqEuEGU`#{$47F!Ge zs+whT21`Lnz#)V&SS~2?__#P8z}uV{2uTYyPA-`qi#CM^*!AE~kxot(I)2|Q7(6mA zEh@3TGpuC2?6k>ItNkE@ym>i3P71IpFhWKU0I&?LKAwc~E|8%Pm+kiJ1HMM?cUxAF zR%&5hw@_TJkC8jTtsH^bLzpc@hOtTSA_z54xwgd8XfIg1IOOpQB~nEax;ppjzWLDq zZ@$5xskCas|Ho5U1i#&>%#%t{-r1P~x~{OPw}pUDZvScDH}||DuEHGlTkxT;s?m)yL0-0_Qzx+H4!HZvcEfTBTp6+$I+pHOBJ0ul*mx|1 zZijdrEIN=QB*!~#+r+@w{#Pod9Kp2zOOyJ8Ck%jUp4QAYJ&7+v^~jn8>)_Us^4dq?RWNshUNp2i7U1kD>7jqaZ(6@ zh;N?-jQBwpah?VFtj z6A(+NOF7_ZU|O%*^pGMOXS{)_0mfQThWpJ=l9?NNRet6*T)9(EvS1*|V$BtM*r;#I zrhBM%o(OCRGmIk}ajhCuqyFdLbIqB#ob;46m9#yHNJ2mU%%DbggYx+?jcvNK+?QgVYo$U4ma--Yr}YZZ(-DYqLb?i3@SfezzgpAWo16 z(kDEL#dXI3-L`NjNHM=C1lp*U7b0cUZT*FkPkiFp_v~C0;mMQESUJ0U!;>YFz>x_+ zcB4)M3cgB#ek#Vup6=nR8Q*K*BXS2PdY{)^fv1jbLVL8yUNr@ zw%`4ayapHKIoJ%3Iv?EnBT`l@>+A$ zZ+qL|`3=bU$h|u7(G0oNLgmtf`(W!%aAdvKHy}9xggLCDfQ->im(?zkHbPta3N-6I zb*uPY-=rh@0RQBPu8Y;@jSSBHqum(~Aq*2OmTYobV7L2#>iN##TWn#Fwj=g8Ap;$B z`Bzj)(Ktwa)@f;Z{I$w}b4g6mDW6TYH;=V7-?3?kZTFf_}! ztZ-x!<{G9Q&tax|$4iZ8U7yB$mK}Y@5S-MJ&XbBrwo05m^+U7FZ)SceWJp;B=fgIM z%1grtvyY8rb8m!j2{S(m{n_$U*`nQ=p;qB{5W&p*+aWZLBmxPXAuRmm;{|O2tCbSC2E&y4<7W)8#h|+nSUu=Ncmt?G_?f!WBD-w>@p#fUCz`VJ*2vUe^*u@A6m)_aJPc2r3 zV%fp@RY!R|pf-VgQF@6DBffNJ-;gMX27QLyeSr{J4Hv*!4k2iUo??I_-KUWUXaC`t z8jJ;#mjJ6m$g6J08DetsCq7phA+G3F^}UihcnkUQDQL6ZMepM$=$peMk?XiS`(hfu zqGh3kO{$#$5#$S}qBnL#OA;^%fCdT?nsoQw*)bE5*3F+Xn*q^JH9+H>JnA^4j0J|B z|MLhEy!qEP+ zbWO7gxMu(9lQg*IGdHHr;V$x})8Qe~FFIs`M{^Lqjt2Qe06sf1gB>#GK9}k*Dsri? zhg?2IkDQCxURo>`kuR)4fZsSdfM)wbWKsYpOnY?J9k+2S*I>v&UeW-DhsIx|!*5W# z-$+|5Ya$bJnLh=FeS3loedj5n0j2xk&l5MP$Qy@Uewnq2#tBBxMdWipD*=tLf=ut} zYB-RC9fbrbP!VAzh+t|dsF_yvy#N}rObX&hRyEIpQpyHl0CV>ezpH@_JFS83PhwG&01omX8OmEu zp$~n4qV{h%kr&kh${YBtirET~u)-#Vxe|j$ovjrKN7+Hr>${+!B*G}u6sZ{^FigniyCw!p=Brt$vvouKlVoMcMLcp6RXlzuqL05vhN_{Lw z1Y>_!%HhEeZg3$xLQ}^GYG4xuu}J}v<46D$&#MTD-VTjs8V^qhVYm67SiZ#7WH2H~ z95ko^&|AQ{y_Tci=KT?cKabU@x&a(p2r)(LtXnc331$|oVg+d2*z(_$*Oy{V(88$b zUlJn+Hv~wbv3_THmw}0gW*Y>2+WNjyXSy14#>%uaDv^nt+`zZfHj?}K2DdMN@HvG$z(O6b6cE151BajtnbUtxa8*|W(P5jWf}?P9q@XaK zB1}XW#yGPA0)U}kPBPnZY6@Xbq9X^F;|PUSo`M~a+6B16;=}Flt1ad=mMDOie!ue) z`XP{~7gl<6f6)z~jqD5as-++xgSSLf?#HXZ?WiuXMV6^qH{M~TQcF!Ug3w%qA0fLARP{5xv#i>5T}3kew~H8wmXoK zbkRdwC{+Jk^64et@>v0Ci6*FaUT}((B3?G9k!|xX0L9VY4mNcD%E}f zBxC^wJ1##+#lo8YJarln)&rtP*f_8{uk#W2yn7WDY&p`5kDzw^&(dKUMG%(TSLPcL z!ilU;M+Xx=cc0^vcduETero=~#LpU+M`ig3JSmZEo7!~Krm$w~BLD#%Xx02QF~A19 z#;i2D)im&%=iqQw3OiPO@#ku=2L`X$;n$49-z?|~?V5^BXAK(b0S9E4B%^m1rYyh>V=TLSD(lPpG{yT6x71wM|KDtcF3mF;v z9|NJeXf?PGh|U^ZKqCoo;C6Nq5=STO0Hj6*QgId?9Pz$FU;*w*QH58Qrx*ZLD94+n zUh^49ZZgYt?_Vuam=TCuEW6Iy2&uC8`OVoFapx~<AdFZs@P(`kwZmNwKl%3>I6j zbJrfYkJp|b4-aXd5}!9&q}PF&U6AYnkT2?uAMcO*p4a>!zznYa=|p~!P?cLM)Z}FC z(eruD;d=CI?97UN{WYNmJ;D470ET5SK#GDO0i^4`6Z7Q=1}C)gOI#ZIk7nW4P<9GeVA7p4m9!lHd{~D$Xbq+6=kd z%28tIK;VYR(c^uey4k8n7eq4fX-d<$d!;q-asOHUPg_sV2a+u;E~o8ausAg!wOJJ+Me>sEJ!@5 z+fXjdbmdo%m3CeBj`lr(M6uN*_a9aA zAa5~{7S?3LEyMtneLSoTvhX~n*J9iMbZ+m5JMp?yDqhRJX$LreM%;iX<}=CWmjwSL z54eJG5gQHRmzc3)VcnmcUuc z(@K}}8T;WiBq8RIC>HxahO%rI=yd-}77H4^N`Nh+As+v0H^tvarJJx_PnJ-6?@{NE zl>q950JYH?pdS>&#$0v}CMei;_zgK?=z*c!Xl>l%P)#_;RkS^q@UqWhWnc?HZi}Ke z#DwE0wO3TnIm>oG%GSV^t#T%g&Vd;X;&&sutv_YXf;AOx?~Asp=A*VRBDkDru>y0V zZ+7ytn-E)gH)F27vLT{|=LHIB@F_>)k5M~&Bi~RUD;J*hbvGdvsh$p5iXCIaUvTe(1WG(8{{rvgejJ3}{)IV@K4F9jM-fDr5MmVWd zwYw33cv0BA1mMsxy6;c~M$kOA2Vaf6YN~)L5Q@~U{N(Vg>o0( zzAw10g)KK+5(ONkQaJPI`w~RA*3l3&AIZ`D1{E2^bdofb?T4 z*sQ4m$O~roOwi1-T^?IZ4D_}z{XjeRjH*PbmpQcQ<1#=px;oZdgDCjb8Ni`Qa4VIP zSH9rpes7fn>s*=E&dMzL3-+@&Hn?bNUcfeb*Dv(TF()Ya zHZRp4AU9N9X;jXe^$Kid%YK00C5ro;Q&UA?n+0~0x;i1ts>Ytt3*%^5Ap)oCL^Oo^ zzKNq#d5Qi<3()Kb*X?hJKDln@vxV5vMYjrv;kBO+Ul5?9G8bCW>N$zW1w-W@y7yxB zdcO+qPOwT{Z3(`!2Bd-pq77VNA3VA|hcJu*V}0Qc@CdhUG$HAcrO z9+TROtt@{(R*z?q4dieyth#iY!&7{6aHpy_)X>&v6?Q{;b++;LwTU_CERy3_f1cp0 zB=jpMSB5zku8JEhqCBVM!bs=~Upw0a|#vToO9fz?Oq z37Ht@gB{Posbr1RAg?#xk2?DYInBXAKfGbV6jrP}Czh^;dlZ2_-eR*PB5DR4|D)|v z+%!C;VNb@<#B*RQ6v|xhG4?$-9|I)<1c*{E*(VOSsseoMz}4sER4;|Tl_8kEH&Jf` z`*U35N&2{DMno~<2*YGag_7XU1zjap|L1fvZGExrH3IE$&A~aiiCB9p2m)8S@n-J9XWWEW{38_f+xQ zGt#(Avc5sXT9|u7#o_tcIl103rs~1Noqga~HMB#X2FU@B`F+}+95#Z3nyfVSVr=0O zc>J$u00u=?v{#a;Wc~*HZ74hbA<@2=hrVw&IR0z zhZ1nts~Z&Lm(kwv{J}p}{+(|A7r%2|m%v&el1tmj2G${6lzm-I6qASya8sWfBKNd_ z-Y7B;|KigQBx%ibfJgZTQ%c3sp-$wVjo7KYQDjRb^8!m|(L1EyzxiHycv^yIUzctw1dRHPRnSY|a?*a^^+&wv zzd-9M&9uN@&SXpu@@cUu5TYppXYOWaT|Pq|Tl_w0$xFMBkm&b2hF|NRhOjRaf$u%L z@;($qQQ4pq{S2i6$%y{|HQ&VXCuHnD&{+FL>lHi>&i>g_QB(W2?^=?!?=YJ;{#-2N zh@V0^@p`{Zh4i(3YO(y++mjAi=}@&8j2Fa$AKYBiq+RQ%F^Eqgz2dT>SyO}~J!5N+ z;5F?aiC1h!sX_rw#%S}3Dy7Me^d;uWR%WcBJp5$~OiIcvaeO+p`^i7~9cV2hi>up* z@;Rns(EnL{7JZ^x3w*Y8;TDxAH15xXCD2s&w}y#*>~I`Lw^wdNJGAX|A#3Qw9^tBW zN{1!+EEcSIc2C@fbHDc*rcU}#Mv=QyQ{u=%-@3bk5j)3=o8s&+CIHnYIrA~B^fG! z%NIkvX;9Ay*dGEe1+vbd%Dg{^@uJYDdT=ZIteKDkJdIa(L>y*<0A;B@N8)}}ZGqER zxfwf*!`l4W!K@w%%sWYc7y2#iS9{&xa*GKN4zJYapWj3fw7t?r8zq0nz0C5|m(Q5A zec4FW&c&9&f+LaUAI=2CJ{+4jaxK!F+zyaIfFjGyAInE!`0!m^+=lqs!C(yVmJ%;R zm+bbBw)SCePi+l1ipyHJ{~o;2dkRywE|D%-YcoS-c2#{e8!89Z+1x`%P+O3-(=eE^ zt8PQNCkVZ*m8GZ2cqJ{q6We|JV0fmhm*Rm2#0Nucns^5R(TPV*c%RhN+`5v#}GR3Sb`bEP)BSFAVd9?)PmtZvpIGP$NH zW`4Rl+!qe~y0lxXa_GI63cBcs7ENxA)Lg>wB^u{X*ciRWYV>vF4^APZkJ5tHkHuiX zx=Ey=HiA(glP#Js8q)joswcgnc(eeGo*VL#>6 zW2j^Df^m&N9nJibTbfb{_&oQVQK5YCeHQ2+Hcvbs8ARXJ#(ToJ86brFM=9~@=0C8} zA1RmPA**WwjiM(FzCc(VFy(>G=NEv;;}cUoHH zKd;flH{bq)7`LH+9U;{mR=ZZ;5zsV+~GWD;^Y*I^dEIP z#F|1nIwc-FPbH1`!hcD-8BV4|F*zWbSga?TPYWS z?&9`{2_t+4$C?P?h6!v9w6;{0^+bpA^r^2RT*LW_4vatLDQ6andtAWHZt&~ zP|g7Q7+IW6&p|J+h$2rtgoIX*)H@lR6XH^H5z#Pbevj(JOo)RE_r%!y$seKh+OJr` zd-=g~(>D(@PI}wFqJAD7d1CAb3=TBh67$&H#nn<|$s9kjVy>p&M<>D;J8l!^r_phnI= z!Z%+AUsc2V(;3h|vITJN`!rRDXgO683!EUs?QrWoSQSUbL@#8HNOrq~eAR9KX zU#+4{Is{%S3(Op#h-h*E0qdD1G?`uM+sVMn+w@}l_}YhsADhOr6na!M8N*shZXk!N zLD?0;qQ{^&^N%w099ZZ;wr7nfrZup~F11w+(Cd7J#9WILcX;EoK3?k|LMXA+c))Am zCdzRWP>xUmx;5P&pqx4f4l&wAp&nTeVWA!Ms%EXAtf{|9Lp2r&zPoxQf*m=APDXBh zrQq>|&o~>8roxDFIhtLrNMuqO?WEfpIIAO1&^$w)t0Obs{(AKtC0Cj?1GCNE?`0uo z80?>&PIZ|=Ll|(TKbR7WEEb0JwmrHMFDOfxs^xyni%R#ob>rK z63#^l%4oKb@@2-vFC6)@6(or`n|nkv4pHm=k2P|*0idfwp8~y?hbKa7K>K!XKAU1* ze2q+7>?aN#dKttc9=Q9Oo*6#_l&?*^&CSy}?TyO!^VK8$x(L-*kY{dT)1lja*gLpu zsO2k5aW;RZvk&+(-D?P$FjAfeoh=f5Coh1lB%uaj(8gUBckLE4`P72>7_Zl!vlH<=?VjuA8R4B-@ppc-<<@jI&v$10=5i}dcBOFCGXUM!$KA6G_oG=OPdpOPG}|KXOhy2mgY>#%~2;g;aedOb0*$fzcYj z^BEnYP9jge(4OO(3@>axo-jt~K4u^s95uiiJoI5R5#MC*vA(i|IE0r0`JRlt`#Pl@ z_18r>Ai()?Qd)DY8KS`YC%NUcqbwtvl!hP5I~36k0O5O6l8`1QRHx&;_NM#Rj)Pv4 zl8Jm|(^oHwB%D(nLIY*PW|6<4rxoPkP`V?SPV7XaJVQ5mu5ZRqOOv$MHIR*%ribVW z^ewvaBG{Onj5c$$z>zzLijlMmD!g=A?EL83eU`G;+&)Z6$pCNv3sh_BT)o)*_Nj@i zL~!r~(Z?JPP}6R_9)f>qGJuc~P)<-aylrNKiEFe8sm3}DvMkUAfu?_45JpC5A0da3 z!p!++0FP8A8McKoyjIgy`i=TR1^y1a)+9{xsJS}SE;qD=xTv3czD^tR7N5MwgObrZ;AQ&Si?I zNqZynT1a63r8K z6jC#uI5~f@S!%13voj@E>jn*0H#*NiudmU(>{+26i!bZQc|^}~x6W6s(bCk@)W<6N z@5RSuP_5eD6AD2q7pRurK=uA=_O@oVQFsLY#xBpwWsb;=Zq~{1myDecU@QO>;VA^C zH}-~D=~ZJ@{Ve@v!Q#7ny_S(MWd%4C)7LrH?8-~<@4(kCzd3snAk+(ze8V1|@ukel zB-5{?5|taP!1{@BdCY5;mGN*+4G_8XB5Q!b=?8qro~c*ZFiZH~hvG?+m^rWW4)I)`thT-Q20 z3Rp67#p*UO0L9V3_nzkCQtCb^Qg6Em;3I2xU3b8Z9!U`Q;Sr@5F+MFpLM_Wz`QB&J z2p5JC0*vlvATQW;5YCkGxf*@6sOK8^ZvTIxE7)d#D-K}1etfiD{c$H*BI&j0Cko|` zjv%OsZ#>JR*AULf007ZXjo4v!qV3l*XGm1gU9+l zk{dO*WN1x)=7R)c_hC@6A(ALJPC)?X3v6j{Nak{Oo)b_}&0D z)Ud19+#v@apfmK0Lw+&(P$dOPe*&6>w8f+d&4#dN90<%W?u(DV0o;HmpOOIE*OFR6 zGx~9!?PAo#&73JU*7@`voL)2(d>_has6z}s`4hhNNT_HeW#{7$P@2qO&G>V^MFh-h|p1f^bI0M4xl zqMqYfICn%3@X~^Z9k{-OkNRcgn(GNyupM*I4Q!~zhLTnf;NgR!ngjQLGUx`Z9-B2& z4N-KoO#X+;aAjXhtlqA(U35;xW+f&qn`p?wY#?AB|823soR2dljExDzm+7;lX=_^D z>9V=wx3LrdnZ%+EP)yMY(aEL-!a>ZK(Q^?fdb$|0>=@qXNlNM87Z{0Ng8!fj&=()ocABF=(bS`r-V0KY(^l`Yj5G3MQv3?<%;gl;XioRIXEdi719Dtp?C4+12a8Z|? z9Ea8yGQF|%@^rm-t%sO(UQs==PP{SBGG+ER0%i?^#V;+Bx=+N_U)tvYP-=9 z6V=A<>D6rr_dHu~&FR*b$ryV1jCZncex7!8I@|)C9<(ckG%NLVgXFrOK-~e{S=Vps z?<_L`Sg~?6%&LF1snma1JqDbQn+N>_`^)YD)H3%0buZ95$qN6k#i{U%_gzCt>>hlq zEzt^{MOkF!-LQ``U#eCX1?VLWv>N>|R|)Lx%x#b@c<7b1+ASR>*Fr2OdakH5LKckv zflQeMJ#64eYtdluSpVck-oUrpDjfA2Ag7pG8<&UKDiNP2;N@@PEe9R-A6=fbZHvng ze@r|%(^VR#tmL8u0bObt0TnOF&edbT&Z6qB&#~KQa&RR5>>jk#A;;`Lu*M#IPy8`{ z4j1J;i1=*JXF!CWvm z=^(_Az1jk{F86>Oj^do0hkb+Bgil3{UoQ_%DLOmDJE|+Tz=<$A9*ZN$<9nx}a8Ges zP}N*<76$aP6#Jn$>N4iXkIA|aV2@<|Q2k@nt?K5xDgqJ_U|W+F`LDs5XqRrN0qxp8 zH92fqh1?%|f8|8vR2Hz3;cxoA({ZMV72jIb8njG^fMU_uy< zLUyJhIq{<|vH_IBf*25I5-2xzxI+D$>MBl8G{7>}$uYn;=CHdno;;Rgwd`JsqxL<= zZ6ss0bN%XBtxwKHVe&{OkfX;Eu)mq8Bb!ySZe5MV8YKYJCQF&_w#;_1e3QO+6OoYs zEP_ZtD^c>{eFEN`BR{HVBmuPB65&?=bQ^52@Bj_~U@r9ctevqBbOfLEouLui34qgz zZ7aFIAn#gOqa-t~eihd*sUFl@G7QKRyQm|456UWt7?&wCzF;6G@yA}uW;jGvWw_{xAA`2HmNpSn6~f}*4Wxi32pe>) zn%)2xTBXsak2$BV&{!PQPdkB3Pk-x)y|w%*RbR-s?)0`nLQjk3NZ9HVxOWoweYZk6 z;~yj}9GG3mdLHgZyOWKKSKV_lQ5D#1ej=blsMc)Kjw?O!i_|#n7;p{0sGiR~C(J?M zM%~R~_X*>0>KpuN8&diHTWmePMHs>S=Gf|LLCh!Vs-K0ab@ZiUR;h?&w5I$b%U+FF zh?!|6r6wnyrxznmZcfM%x7ihrY(nZ_<5P0$m>ing*xvF&GtG48K&mhjSDyBYe%Km`v=kIm+V1%$%QN|j>-T&% zyIKhTBll<9+THl9Uwc@D9J$}nQgYm2gncqRBYDLj+Uu6lYZhrC4Vi<}K?h?kpUTI6 z{{8@mR;*@o#_l9J{&mzB0>JJlD$yseH=_g;k?%W<{jPxhw=2b5qG|kSvQ<0t z8Ht7SSOE!A+Gl>%sY;I<2?qqGrk}TH)OeQuwl5i&t!N1D>N9e)_h+H`%>7@ED~<7u z--pA9#D?|r{(TMK1kGXAJZa%~-T2yyTA|UgAh2#5K%FZlz&ataXiRnR%X0IVC6+GJ z1Rg`AQT5I#@q4;=jZF?yg{^bv4{#{_byT1GeRT^oZ*G=Q%XG-fW3OV1Z)7lu*vqG9 zV3I|Uu*Bo)TME(KfPGpFbdKm1qWJtASLZyzmJw_Sy*-5tng|HkG` z%b*XIx$gR~0IiBo#XX^saqo?`bRy^F3rRl%usp9)zcabZMqHRpudfO#(}Dy4d$!=bSg{#t(Z0Qwh-baTS+1 zzQMn+ld?Qys5g-h?*;)_cRDOgl4YXKUl+ZW2Y{UZUtb#BCCF1B-@66xz=)oS^zG4= z2|yVA&phMS2K*6s7a^T*E)M^`?7Afam$1ZEQ!iVtoM9h+t4!%)?v-F zQeMsw5b$}d5rGM>@A(BvsyjyMyFUj9{0xdjrAZ`1_%&|6PU5m@Mg;;QE6r|{$>Bid z)+6Lfpto)36Mgl*LE^>Vr~PeKF~&o$=S1@HpCZoCroE*3Au&w(cI%G+O20d7ZxzH` zXY-O~F8?q%0~q=HW4NphGt+5`s*Tprb4(gZxZ-1JH}Q}UhFv*a?7T;OqnfL9ODQ#9 z<6bzudf;&k4gjESSu_*<)kXG8zX^N-cdsbY)YkSTd`~9v#x6&k!4<;CYD^HGg) zwRg+H#XT2A>3n~FX#8{W$#uAwjrcdS8vDq$q?Y#VS+~g{larVrsWZ&v?fO*Cu_c=x zpQxD>9B1R;fGMRtWsfwuBW;rP!5EMIB=!T;16iPUfzuZADE|#)vJsU9%qe&(C6Gj@ zdZ&MGR}eWI#6-J!p*asKLrypO5|Wo%FrJuxua^9f#BIV)4j!$1z>oi$aH(!a*k&~dX(X6@Z4_uN_oB`1g+-DlrL;3o-@K!cDFzqU~@HXjHl zHrdY(q^Q3WnlI!<2Szeh@$oOVU|dJ8r3a}8D)sFLv~GM^OINopk>tJK8J67b3G#!6 zC>l2D8^f2`TA%n{whEP|9e(nNn&Sd~sUjKi2`Ugc07f+;;8n>aAb89)f&_ddT7}*K zrjA~+$YAvd4&G8u6XB@x5W+D&uk8M}^%^`pAtMx|6=-cJGOS&Gcej5fl90%&PvCjL z*s=gYy5=)pN4u|Z7J|O&RS+AL+pe{$2P@dur~qB?t|4#Smuml|fd_0<)%1P)wMuQs zsa5eo6rU@rLrMzo*R)?e@#o8TXLruEcAWtye}jR~ZIhq52*eb`cggk%Tg#{}-o-kzAx>wkYTwD!0KiLh$^0payn#uOg40v(&#d2xmyFdx}VsUxx zymJS%oQ?qTFg(D#yfn#RnW)dodUpW0Q~bt;xZS4Ny9AdOXlC^cXPKQ)0hph#Yw#!v zpa-Je1AXjHu1>H9(*Y8a`S9KjN&1i<{=-PdG$O?V6Ii2MJN<=~`8zTO9kstLv5lf0 ztGI{|N+bc9=OpyYHy2-OG;~|-#+i4Ytqjc!%9W zFH3o68Lv>lG2OP6?LKz~B%FY1mzotK7tHFZ7s`GwEr`zrT%Q`s(mAnKd$ZIGt5Dni z2H8kp=LD*X^$kQk3DNVOi}KzV5j94B1C>gcAqJ@~UA8sZtP0N{C;0^#{6MVr1}5x| zy1&j&>imMjpCnVpXtw0vAGQyT1f#r7!;WkXfP~ilt(TsVD?kBu7zKy!$8++QG3ltr z4)`PXnZM*Hsi-dJC=^*WjB%*@_qceU>Y{(Y1{V%cRyO|w_w!tWxBN#yp?q=YP|@nY z6CIpVfi7|;ROkvW)63{~mx=qswmaR~)v{b*D38Ag)}J%E7lvoY$B;Ly^S+a;iRy|e ztj}J*Zu;yEQh)14bGX{#V&mIET$}oGz-m7fC$#<0#Sbq=`aIfLR_#*&wT+hx5$fKHfwOM8wuKTMAD z*XFnA_>(W8^%yjfRri9&;Vc)atc3r~z!OVE%Quk=fM8~O7oE!m=rc83`ra{^%$rkk zX?}`5_4BE8{gGq``{wHkyFpBT>QHq6#Ks|VaPvCm@sXN*l+`S}cBL@)r)>IsKGp4b z{eSieFzEr|P;^y?1Zh(zB%q-0dz!@>%0WFltW8{0G&uDjc=Bw|6Sf};{rgC|rA~vL|Lq0GdNsnV!W?CZv!bi9zr2o!X zRj&#ZhTC^f4ClSPj@1o(fye9K6(^ebVD6TSo1-!j<^gjiGKa;a)26Y@HWv7GrWmM9 z&Z(frK4y0k$*g`~`!s39DmndAq1bt_fCK&p2%>D_0XxQciH*Hnk z<$U)OE|UVrxXdsTh4E4-8~B3QYtEwq_lAy#@qK`SW~ib?`<(D<$hWlg#FC{XH1jJQ~uP}dF5Nzo%?+o_Z!hc>X$ zgiG<>ZpLnQZr2-%i%iQXj-y%eVoh#B7yGBgV2OakuQ9E_G$`N#M-PkPt^A)&XcDEA zr8rA~&9L+dgq7G9Md1{AZoMtPGWYpUkQIUG=_SfS%ofP(f-7(0bDh`)pt*>a`Wg^1 z5zz#7Z%!&VoMH{<@mg%(eD=COipQMBbewHdygc#w3+Fp#ytS(BBrZz#vXoBDtSD3j z3sJ}f7rI(BX=W5?%T@2&*#@cVZGl1~>hV{9`6){VVE=C@f5(xoIlTtBf{zx+ZvoP9 z6AyTw{)W(bcSJY<%3m;ABCwEO1b6>drqQAplZ2Wex9-`w(Aw&DprG2ye0sW&tfYWy zEH@wm#}1dv^p1J{8!NR5)j{@DQGCS8f2NZWR#;iZQiD<;ebH&`l!86-j<85D(cl0Z z31djX;pDBEr^5Swr;8$xQ1Fc8OespnEKI-}eT_EZGf98~w6I?mw7o~CdJ9-RslymWoMN>PB zk*8K83_IQwyu=cUV-*|XO>(-BdWQ1*R&Ko2x1&qI_ZsC_H$D*`x|AU|uO#(+7?GJ>?kUzhcKDi>?4 zQJ)?oyfin>=Ampv`fVS4q~C0l33xNgQK<_P7P}HN{R7x z04)v{Aj@%(hqAg%St&T%16cJ@CJlhZya+DZ2^_1Kv8Qv)Nj$X(83kZ;3j<$k2}vu~ zEPER5ve3wPNa?L_e`if>A_&{CFLXb^T2sfsj)(0h+BWcs{d>yyiJYr4nk-B_2_Sh@b&eH` z%ZrM{m@63F@%~G2ttC(4Ys!3zEn8oqv&|p(IN;kIe4Y7ChddR;zv8e*uuNQ7zN2j= z%L;(WcljpZPA^^5jg07IR8qXLhz! zPyZR3@RuAO%mC@Alm49Wf`}-TJ=CMvF?8zyIJkA9A21Wi|4|`62kB*i;JgMFP5X;% zV=yqIQX5G(U@~KVS(8_LaK{yYj$FRAokN1Fd~^xz-8|U;IhQ>sa7Sx&ueeJBkirW6 z37O}%aeFY>Hci}3QZGPD3N+LD!92GlPkwA^bsLXh#n5(Tv}6Hi`Hh(;bHrcM>}tI$ zq8%iw+oYVV8d`zu2Y``hPfGo!nY0O34MDmfWK_uUr*p2d5v;#=9!0gg(4L*TUsHT~ zR3sndiyJ}9qvaSq`xcz&N4Bj*g|qJ;mUr=bpFRRo(KHHsvVM-QpeeMWXx@{@FbO-# z`&()mX<3JZWVAbI^{eX*ouL5`xxS|GzRyOU^X@#pscUv)D|6V3drqwPjo?N?oY6Hx zTF9Ws3lvk?6$xWg_H+Op58!Tmsho?p_BUatkF94Jeh=nw4E!V>80ZHnCo?%{pdAu1 z0{`O1Uv=;aWI3eY+b*sY39^U*^Z)$!EPFe$hic`(tv`D<_xwM$%j7nlv%l9(J@9~j zL~fnm_rfBU1>#a2#5DVJ4a z6+lPl5Mt8pOp2JBk>OnBaNwXWyZE~4f8??P9kcoGL2~xZQU$XU>YdsZ5U|x6@u+{f z1x#n-ui$Fx%JlZ1?)A%-dEM*#>Ry2C9qgjaakL1OQ3L9 zs%7RL5&n|*Pv$8kM-Tq4Wyc*rH=tkx;u~`jVA>J27?XeUHGij{d$A`S)&Ax23SzdQ z!#RiW@Q!*<>iD@h6L{VMkB*#~?_IBNl$l!w4OK!^aEP0aT_5H=s5LE9+zS;1x^dVB z+yP~xdf(C?h$Kxf{`TmSp`)3H02o6jBlu<0KZq1~*}59c>~o~6IRlptIB|>Szk_NI z#6Q;?bUyAO>cWQOzrPzp9Q)k2A6G7;xHHC3zs7H#ysDpuF1i)c7ywCA+;yO*9W;l> zYwp{)Ks$ws*2AprO?;v3`5t<|o+UNVI3u6*Et3vN^av(BW;mAG0393#& zL9c1d&ks4gzK{d5@C^}&PW_jjnkX>_QXKdo?<;{WTFwHsn+{N^27D=uey{EqWH*GuPTUWqOrT8h-e8+Higy7o*5V)AR+}8q!CTRI zlKCuY8koE2IGH?#!>z)*L4!E8IIIGdMEl}c-&uqZx(3>)50IyzO|`pe_Z;}w=R5kh zQYzH=$l}(&2foz#^f5I{N~;{OzCqjX5g{Hhb4^@PZon&s!n+Z;l<1v{@NA<8r}Lme zt+Rh~kAnEmf-FWGQ{9H=YpknuPq|C7_12A)p<@T8Q{~iG4jl(JB!U_1dgtCMPr)+- zZhzfKpLVn}69ZoWMz{6O)dX<{BcnyTBU%zSB~?KM?B@-LpwU$4K+tayaOus4uHgTM zIXO4g0nPP3rW85|DZqa70Ra~cFN5#p=bPW$o=uP|OG`BZVQD9DU_iyDLEtIffP_}< zJ)fZ`s2_aZb}0hd&FQQE3gb7 z$fUQcFcHsat_ysNV=zqLW}C5ol_3cxxkmbug(kIH%S}vO2r(PVQ@YY>YM{%4mt_T* zF;Y??gnBtJFH;Re{77$*O}rHwg(40k5DrxFEc^Sn5-o761W}+5n`HX0p@F-mx-CJy zZH_;Q^pAo7pcW~mo2#gL`<+wqtte01_-ulv^nf!MkXw`tUhz&cnVZO|2@B0iX^9NV3Xf<+D}BkhI9y4)?O z@hs8&QoDLVkN&(P+t4-eWv|Kz$|G*AsNNskD zha=`nA$kHo6J`$vvnJ-$jwTP{90^p-U_MXDkMiXf&8qwRCD5p~BS=u{1bTiTFk_~P z!$Dht{Vp=0$G>~4BDYc^owQ0EzI!I;K^L6-m_<7S(cq%g87Hlqdv&!8Fbr!TUCzt&KDQ(9=PoR zok*k41Z6d^`_9w7n6)<;Ok^1o=b&QGw2%K-EmcHo`#3K1hjNrdxgLl&HWq%+CwKc0 z$&N|JM6$$*UsRz+tONE??FapPQxXZVPzB%11k})9gs!6C!1EAe*cK%`cU64y`;Q%0 zaL#ZLLS93o8=%$M(4U#ur66|Ic!aB&4vE1~}3k2_P>^;-Gx+sV%#Rb1?jTCtOM zG6H?s`D#u#MI6}uX}KELVE zYZF;f@z{^KrLQ0#ERln0CVu`sExzu>)@>1%zr>3yNnkW!dQi9`fgBLgbXLG06vULm z`pc1t3=A9wo5`3XQZ|?zyg#-X{eKNh2EYJnNVlnVih6)&;$(P4vKVHoV7+auU3m z5meX>cDT(VKCT0u;!+cf985QU8`s=f44R!sPD3c!`ZgUZIV=@2sYJ|x42pvhKjgU%8K~8dOkYC50MG0?4cdBaJTcxahyPjAc%U+W zk+4-#ljhy;xG~xbn~je)8dil@nmx)JIpc!_*x&yce8Y>4 zAI(1z2!MIcSM`@rKyZ?_1Qv|=4c!2(S%p@<7Cw( z+|@2)l1ICSkLD zh;*Y-uX#K1TY81>XeD6raf-(Qf1^I+BSp_>;}zr8W!bk0w_vfij^mr}ea5WJM&0Z| z!z$KuaUG~JIKQ_rJx`b4v~1fwtEG}LYqrz{3dLk`2^sS}dJ$d|^IBt2xZ;s;qV0vnTm=9{Dohep7S=@y zsI8-<92bglG_3a^n|_sH2))30W?}g&&Z^;^JDKt+>d0+gA-Uba2-BN*iXL7i4$1`l zDf!Kuvo@{RhgKS}cNMG6%)}lEBH@Z)u*aKZl8;=&7M@Su>aYj})Ja-?*&>#jWT5zvG_+yD;HUYFDXAiOcDN`#cf)M--ekmTFI2mY zgVlSh(TXE9r~f&iN39-%0YP+s=>`mV)}^s8q3VezgV}ioD6qrVKc~3Qf@s0WArZ6J zf7gmz97+Y?Lvg@dH?;C!`@`VA2lE0R)1BTB+%HOxHg=*uF&HsFkV-Bez{>K)t7zqg zD;P+C8GSy*x4YszQc5lc-xV-pln^Rre_>)g{ z^}R{e#8&ISa=3A(y(X>LQT}w0yI^?wUxZ^QKRvM?-24swouI6)qb6|GBUGwd=*Pe_j?s4PAz0 zl&K7LT(;3k8+b>!!dDkeXYyAy=#pR1V8AeiQqj%oFgZ7iN5=FaevZ0)z=2}S$TqT_ zbYoSy8iP=}$Tp+CQr&)Hz3A_SseFxP<4>0Qtu7JO7|mnxn5+$> z)lrgMS0@*ppWEN&oA*+jhW`#pyDGkVqdS zL+-vJ1}|sX3U9*@Jne-;O%z z$1~K9vWSfAZTbGqT02~CMEY-je%OzlQ=WQrT_)!-TIuo$4(V%Elnf5`L0ij#F8o$j zK^@+3p;&Z*-5o5On)!+5-84C>I+#UG^eM5G@*jWb3u`p% zW$GU$ig&!ecCZp)>baj3kM~cd`&5023S7G0H*=$mE}yAfTRQ3rGC;~uB}Yinmit(*f6VFxfFG(EJc zwhn!yX!%Y&swHocBFlo!zfC!fmB{iYGmzTaLGr-nVPNLNNQrCH8{Uc!*4;G`V|7ZJf zhKzE!L1Xrv&S9+?jG6ykxiM@Q;>BWg7=C`Ha=BPw zx%i6oeB^Y)NHM!i41tOIlzhjWDH{DQk|?Vpg6P9G;Y)|+J)pi`%(Iq$bq~*q zE+X zve2~Vc1`NtuQX&mT9_sFdJrKYv-iDDJ?9TKaQvy38+QqbIO4RP!w`9E%EN8AnKWrn z#xkJCe40*VYPKtqp>e;5F7UBgche95S^t>J%e3FWM6u*7qp1Rj@1=NeA5D`fp=TwM zP~30AUF=_5ex}Q%r$ZV#@C%r=WLKn!9R?GJz}l5E3KEh1@KIUN1}5>zNshhKxo626{l^cz4W*sQT_3- zU|E-}Rp>6I&JO@?Xh;-Co>t&p2obvF6hU>KpGUFSrdfz%gv%R0D9gAdo)7OH@rWZ~ zRVlkuqLexBcDPnU;iKU;{cUdU?NEcA%Y7q}^aSY(hOD5=%ETRS;9EzdDdJidt2+Dy zRp4X^XARBND^JOB8N3DIF~M1SfJ(ZDtM0wifqbADU2`PjG?*nbUjF``B+s>_zOd-P0L(S z*-Y>E4aPYzoI$lKQINZi3V=krH->rhb}|B^h7^6_%n*kwv5$WD5ioi6E?RQE6ZX_$ zHr66we6bTr5Lq!aIRBIt2Edo`IUwA}ScYSzuD5m86#@^7V8xbp_B({=T!JZ$!#(yI zAg)Iwul|^lR}&ZW#p;%H){hcjc8y38HZG8%snENp4o`@fw_u0_c%tT`tc|0Aw(~Ya zWO$P_LXo2P=daye$K6+x>s8bLfD^h+<{r4rB?7V&cVhu|E<}x|37J3F?Dgg^_$=K30jAvY(rwRKL~gF!ae&;= zA-qm*Y5A@)mzx&|o>L=XOw?ZOa+&HDTF1QPs4oBm``>icPO{N4y7BEv3Sz{o>$^^ja3m$ILl zXn8m)cZb6-ObsJ)3p2NVbL*(A+#|E?kZW;}-+TS`?;ejm z9{cXG&*S@jU7oM->cCy`A|2qV>Tq<^v|Ple5PBX82z$oy_b)hC_(1>BrO%nyUwwF? z`})3yJw2;WiORtJ^@`WDxjh+KW8vE^bL_@gd@CPwAg*!oS@17Mb^91~6u*QSSD~LJ zu6aW}V}0ltNagSe8DBH;9(+s5&e|g#e)_AI+ikow^g_{Y)c7;;04}BNg)0_{%>@si zQ7FrD?%)51iyU*-pc5@4rf-Z!b10;7B-8Y=4-bc@mKuC;95E~VUB$_w$TcTvYr?gG zA!U*7R97jHFuKv396B3yj^XP;FpE=?%eOW!1zPIPLh>@lMgKX}=3jMU2YR!J+v+AG zN?D27nz7*U5=?pPEiYsPfi#QWsXHBA)dp8Ux`(=Psls*Zcb0ehJHf8voCg=hbA4CK@< z`R114e5Po^L>~O5Pl5KJbniZck?rTFB%og0B~Vc6Ev@Ige=zieNs75X;%S?meK;1< zF=9Y&JIolVL&r0goUTY08YhoVa^Iwq{l|W8LUwq{QW8kxz9;CJZt{d;atsH1rvob+ zyjL^cdo4M1Tg*)DYxb%c!Ne_2sV;2O$fwn-t+&cFmGO|OBu-T>o#Z+>J=X%wQ;WB5 zSvt|6jqL&^IBXhgSiPntp=Vq&?e`yfJG@ZFpJt!&TnLLD3F{5w6LU|~+4>H;6$OT9 z*74&AQR@OV^aK9RbHW(VrC5(p^{+w7;;dp^D45UbR-AxSf1NY7-t0OT_0#A~NoWDigHm4+VR|3o(^={wp(ZbF`Y4ujIrHCvN_bGd%w3Qv^RB@IxKIp^Uhkl z+~lr7YZHL50Hi(b1!1-H*;``>NW+Ege2Q%=+mf@Dy1W=` zGreWogiO8uDs;(8t=(fn<85R5FTr_LB?t2K)?$wxkObN9FC07X?{}usSz*zv?q{17 zJQYQ#n<)Acq2|vd`eUluE;BId1T(qv_N4!eRshhvgcc`BBz3^LC#evK4eYI>ZvINz1O$G70G9+Dx$02$V_02
kh1SBaCDe2>ylBHe(USA69%9CRZ-7^{pS_)Xn@ zN5w<+O)t45Rp?RdSa?ZVREWzhM{V0xDCCIVIU8;7)11Q%amI1&I;K)l06HV7$ytXu zdXH+73siXnCU;CvN!YVk%R*`SJ-B+r+e|ZR;|{DxGnUFN&cZ?@#(33UHFCON`+hVR zi71|`9!d6egYDRDD`%AoQJQh1=WWy=ThM>BGo_+5aRYfi(MR1O4WqsgwnJj2dHVg^ zvhT&7vDek^w0WkP#0fLff1{K%uiAt zof)up{6{}fqHm?9eo!aosUbb!_TRz^y6Rn%0s(9shydm?+ddcW6~7nL7(pwyCwVU} z>#t}9(jH8H%59byQ8KcItI^_&Ex;c-VYT%L4J6m-$%H=FuD8Oj43iZsOzXDAZ-COIcl2r6N}wsF)#1;&_Q2>UE|Z9g`|?GqU_d-DbO#*!P#F U+sN5z;$rY}uyeUkW$Q)xA1Ts{?EnA( literal 0 HcmV?d00001 diff --git a/obj/utah-teapot-texture/brick.png b/obj/utah-teapot-texture/brick.png new file mode 100644 index 0000000000000000000000000000000000000000..d11438b28617ba0ffb80c8d122c14cb6d6899644 GIT binary patch literal 146946 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 literal 0 HcmV?d00001 diff --git a/obj/utah-teapot-texture/teapot.mtl b/obj/utah-teapot-texture/teapot.mtl new file mode 100644 index 0000000..795ff61 --- /dev/null +++ b/obj/utah-teapot-texture/teapot.mtl @@ -0,0 +1,17 @@ +# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware +# File Created: 08.02.2017 14:08:01 + +newmtl default + Ns 20.00000000 + Ni 1.50000000 + d 1.00000000 + Tr 0.00000000 + Tf 1.00000000 1.00000000 1.00000000 + illum 2 + Ka 0.50980395 0.00000000 0.00000000 + Kd 0.50980395 0.00000000 0.00000000 + Ks 0.80099994 0.80099994 0.80099994 + Ke 0.00000000 0.00000000 0.00000000 + map_Ka brick.png + map_Kd brick.png + map_Ks brick-specular.png diff --git a/obj/utah-teapot-texture/teapot.obj b/obj/utah-teapot-texture/teapot.obj new file mode 100644 index 0000000..644c03f --- /dev/null +++ b/obj/utah-teapot-texture/teapot.obj @@ -0,0 +1,11758 @@ +# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware +# File Created: 08.02.2017 14:08:01 + +mtllib teapot.mtl + +# +# object Teapot001 +# + +v 7.00000000 0.00000000 12.00000000 +v 6.90983963 -1.14855993 11.99999905 +v 6.84036970 -1.13701272 12.17718601 +v 6.92962456 0.00000000 12.17718697 +v 6.81310177 -1.13248014 12.31500149 +v 6.90199947 0.00000000 12.31500149 +v 6.82210875 -1.13397741 12.41343689 +v 6.91112518 0.00000000 12.41343880 +v 6.86147118 -1.14052010 12.47250080 +v 6.95100021 0.00000000 12.47250080 +v 6.92526293 -1.15112376 12.49218750 +v 7.01562500 0.00000000 12.49218750 +v 7.00756454 -1.16480386 12.47249985 +v 7.09899950 0.00000000 12.47249985 +v 7.10245132 -1.18057609 12.41343689 +v 7.19512463 0.00000000 12.41343689 +v 7.20400095 -1.19745588 12.31499863 +v 7.29799986 0.00000000 12.31499863 +v 7.30629158 -1.21445847 12.17718697 +v 7.40162468 0.00000000 12.17718887 +v 7.40339947 -1.23059988 11.99999905 +v 7.50000000 0.00000000 12.00000000 +v 6.64832067 -2.23328018 12.00000191 +v 6.58148098 -2.21082735 12.17718887 +v 6.55524349 -2.20201421 12.31500435 +v 6.56391048 -2.20492554 12.41343880 +v 6.60178232 -2.21764755 12.47250175 +v 6.66316032 -2.23826504 12.49218941 +v 6.74234676 -2.26486492 12.47250366 +v 6.83364201 -2.29553246 12.41343880 +v 6.93134880 -2.32835388 12.31500149 +v 7.02976799 -2.36141443 12.17718983 +v 7.12320089 -2.39279985 12.00000191 +v 6.22887993 -3.24072003 11.99999905 +v 6.16625690 -3.20813918 12.17718601 +v 6.14167595 -3.19535017 12.31500149 +v 6.14979506 -3.19957471 12.41343689 +v 6.18527842 -3.21803522 12.47250080 +v 6.24278355 -3.24795365 12.49218750 +v 6.31697416 -3.28655291 12.47249985 +v 6.40251064 -3.33105516 12.41343689 +v 6.49405241 -3.37868214 12.31499863 +v 6.58626175 -3.42665648 12.17718697 +v 6.67379951 -3.47219992 11.99999905 +v 5.66496086 -4.15744019 12.00000191 +v 5.60800648 -4.11564255 12.17718887 +v 5.58565140 -4.09923649 12.31500149 +v 5.59303570 -4.10465574 12.41343880 +v 5.62530565 -4.12833881 12.47250080 +v 5.67760515 -4.16672039 12.49218845 +v 5.74507952 -4.21623850 12.47249985 +v 5.82287121 -4.27332926 12.41343689 +v 5.90612602 -4.33442879 12.31500149 +v 5.98998785 -4.39597321 12.17718983 +v 6.06960058 -4.45440006 12.00000191 +v 4.96999979 -4.97000027 12.00000000 +v 4.92003345 -4.92003345 12.17718697 +v 4.90042019 -4.90042019 12.31500149 +v 4.90689850 -4.90689850 12.41343880 +v 4.93521023 -4.93521023 12.47250080 +v 4.98109388 -4.98109388 12.49218750 +v 5.04028988 -5.04028988 12.47249985 +v 5.10853863 -5.10853863 12.41343689 +v 5.18158007 -5.18157959 12.31499863 +v 5.25515366 -5.25515366 12.17718887 +v 5.32500029 -5.32500029 12.00000000 +v 4.15743923 -5.66495991 12.00000000 +v 4.11564207 -5.60800648 12.17718697 +v 4.09923601 -5.58565140 12.31500149 +v 4.10465527 -5.59303570 12.41343880 +v 4.12833786 -5.62530565 12.47250080 +v 4.16671944 -5.67760515 12.49218750 +v 4.21623755 -5.74507952 12.47249985 +v 4.27332830 -5.82287121 12.41343689 +v 4.33442783 -5.90612507 12.31499863 +v 4.39597321 -5.98998737 12.17718887 +v 4.45440006 -6.06960011 12.00000000 +v 3.24071932 -6.22887993 12.00000000 +v 3.20813870 -6.16625690 12.17718697 +v 3.19534922 -6.14167595 12.31500149 +v 3.19957376 -6.14979553 12.41343880 +v 3.21803474 -6.18527842 12.47250080 +v 3.24795294 -6.24278355 12.49218750 +v 3.28655243 -6.31697416 12.47249985 +v 3.33105421 -6.40250969 12.41343689 +v 3.37868166 -6.49405241 12.31499863 +v 3.42665553 -6.58626175 12.17718887 +v 3.47219920 -6.67379951 12.00000000 +v 2.23327923 -6.64832020 12.00000000 +v 2.21082664 -6.58148050 12.17718697 +v 2.20201349 -6.55524349 12.31500149 +v 2.20492458 -6.56391048 12.41343880 +v 2.21764660 -6.60178232 12.47250080 +v 2.23826432 -6.66315985 12.49218750 +v 2.26486421 -6.74234629 12.47249985 +v 2.29553199 -6.83364201 12.41343689 +v 2.32835317 -6.93134785 12.31499863 +v 2.36141396 -7.02976751 12.17718887 +v 2.39279938 -7.12319946 12.00000000 +v 1.14855897 -6.90984011 12.00000000 +v 1.13701177 -6.84037113 12.17718697 +v 1.13247919 -6.81310272 12.31500149 +v 1.13397634 -6.82211018 12.41343880 +v 1.14051914 -6.86147165 12.47250080 +v 1.15112269 -6.92526436 12.49218750 +v 1.16480279 -7.00756550 12.47249985 +v 1.18057501 -7.10245180 12.41343689 +v 1.19745481 -7.20400238 12.31499863 +v 1.21445763 -7.30629206 12.17718887 +v 1.23059881 -7.40339994 12.00000000 +v -0.00000140 -6.99999905 11.99999905 +v -0.00000139 -6.92962408 12.17718506 +v -0.00000138 -6.90199947 12.31500053 +v -0.00000138 -6.91112518 12.41343498 +v -0.00000139 -6.95100069 12.47249985 +v -0.00000141 -7.01562405 12.49218559 +v -0.00000142 -7.09899998 12.47249794 +v -0.00000144 -7.19512463 12.41343594 +v -0.00000146 -7.29799986 12.31499863 +v -0.00000148 -7.40162563 12.17718601 +v -0.00000150 -7.50000048 11.99999905 +v -1.25791001 -6.90983963 11.99999905 +v -1.21672881 -6.84036970 12.17718601 +v -1.18846750 -6.81310177 12.31500149 +v -1.17148447 -6.82210875 12.41343689 +v -1.16413975 -6.86147118 12.47250080 +v -1.16479254 -6.92526293 12.49218750 +v -1.17180228 -7.00756454 12.47249985 +v -1.18352842 -7.10245132 12.41343689 +v -1.19833064 -7.20400095 12.31499863 +v -1.21456790 -7.30629158 12.17718697 +v -1.23059988 -7.40339947 11.99999905 +v -2.40608001 -6.64832067 12.00000191 +v -2.33679867 -6.58148098 12.17718887 +v -2.29048777 -6.55524349 12.31500435 +v -2.26419568 -6.56391048 12.41343880 +v -2.25497198 -6.60178232 12.47250175 +v -2.25986505 -6.66316032 12.49218941 +v -2.27592421 -6.74234676 12.47250366 +v -2.30019808 -6.83364201 12.41343880 +v -2.32973623 -6.93134880 12.31500149 +v -2.36158705 -7.02976799 12.17718983 +v -2.39279985 -7.12320089 12.00000191 +v -3.43917012 -6.22887993 11.99999905 +v -3.35280919 -6.16625690 12.17718601 +v -3.29695654 -6.14167595 12.31500149 +v -3.26764297 -6.14979506 12.41343689 +v -3.26090050 -6.18527842 12.47250080 +v -3.27275991 -6.24278355 12.49218750 +v -3.29925394 -6.31697416 12.47249985 +v -3.33641315 -6.40251064 12.41343689 +v -3.38027000 -6.49405241 12.31499863 +v -3.42685485 -6.58626175 12.17718697 +v -3.47219992 -6.67379951 11.99999905 +v -4.35184050 -5.66496086 12.00000191 +v -4.25735998 -5.60800648 12.17718887 +v -4.19876957 -5.58565140 12.31500149 +v -4.17133522 -5.59303570 12.41343880 +v -4.17032862 -5.62530565 12.47250080 +v -4.19102049 -5.67760515 12.49218845 +v -4.22868013 -5.74507952 12.47249985 +v -4.27857828 -5.82287121 12.41343689 +v -4.33598375 -5.90612602 12.31500149 +v -4.39616776 -5.98998785 12.17718983 +v -4.45440006 -6.06960058 12.00000191 +v -5.13874960 -4.96999979 12.00000000 +v -5.04305172 -4.92003345 12.17718697 +v -4.98682022 -4.90042019 12.31500149 +v -4.96477938 -4.90689850 12.41343880 +v -4.97166014 -4.93521023 12.47250080 +v -5.00218773 -4.98109388 12.49218750 +v -5.05109024 -5.04028988 12.47249985 +v -5.11309528 -5.10853863 12.41343689 +v -5.18292999 -5.18158007 12.31499863 +v -5.25532246 -5.25515366 12.17718887 +v -5.32500029 -5.32500029 12.00000000 +v -5.79456043 -4.15743923 12.00000000 +v -5.70248556 -4.11564207 12.17718697 +v -5.65200710 -4.09923601 12.31500149 +v -5.63748789 -4.10465527 12.41343880 +v -5.65329981 -4.12833786 12.47250080 +v -5.69380522 -4.16671944 12.49218750 +v -5.75337315 -4.21623755 12.47249985 +v -5.82637072 -4.27332830 12.41343689 +v -5.90716267 -4.33442783 12.31499863 +v -5.99011660 -4.39597321 12.17718887 +v -6.06960011 -4.45440006 12.00000000 +v -6.31393003 -3.24071932 12.00000000 +v -6.22825813 -3.20813870 12.17718697 +v -6.18522167 -3.19534922 12.31500149 +v -6.17896795 -3.19957376 12.41343880 +v -6.20364952 -3.21803474 12.47250080 +v -6.25341463 -3.24795294 12.49218750 +v -6.32241726 -3.28655243 12.47249985 +v -6.40480614 -3.33105421 12.41343689 +v -6.49473238 -3.37868166 12.31499863 +v -6.58634663 -3.42665553 12.17718887 +v -6.67379951 -3.47219920 12.00000000 +v -6.69152021 -2.23327923 12.00000000 +v -6.61297321 -2.21082664 12.17718697 +v -6.57736254 -2.20201349 12.31500149 +v -6.57872772 -2.20492458 12.41343880 +v -6.61111355 -2.21764660 12.47250080 +v -6.66856003 -2.23826432 12.49218750 +v -6.74511051 -2.26486421 12.47249985 +v -6.83480787 -2.29553199 12.41343689 +v -6.93169355 -2.32835317 12.31499863 +v -7.02981043 -2.36141396 12.17718887 +v -7.12319946 -2.39279938 12.00000000 +v -6.92198992 -1.14855897 12.00000000 +v -6.84922886 -1.13701177 12.17718697 +v -6.81932354 -1.13247919 12.31500149 +v -6.82627726 -1.13397634 12.41343880 +v -6.86409664 -1.14051914 12.47250080 +v -6.92678356 -1.15112269 12.49218750 +v -7.00834274 -1.16480279 12.47249985 +v -7.10278034 -1.18057501 12.41343689 +v -7.20409918 -1.19745481 12.31499863 +v -7.30630398 -1.21445763 12.17718887 +v -7.40339994 -1.23059881 12.00000000 +v -6.99999905 0.00000140 11.99999905 +v -6.92962408 0.00000139 12.17718506 +v -6.90199947 0.00000138 12.31500053 +v -6.91112518 0.00000138 12.41343498 +v -6.95100069 0.00000139 12.47249985 +v -7.01562405 0.00000141 12.49218559 +v -7.09899998 0.00000142 12.47249794 +v -7.19512463 0.00000144 12.41343594 +v -7.29799986 0.00000146 12.31499863 +v -7.40162563 0.00000148 12.17718601 +v -7.50000048 0.00000150 11.99999905 +v -6.90983963 1.14855993 11.99999905 +v -6.84036970 1.13701272 12.17718601 +v -6.81310177 1.13248014 12.31500149 +v -6.82210875 1.13397741 12.41343689 +v -6.86147118 1.14052010 12.47250080 +v -6.92526293 1.15112376 12.49218750 +v -7.00756454 1.16480386 12.47249985 +v -7.10245132 1.18057609 12.41343689 +v -7.20400095 1.19745588 12.31499863 +v -7.30629158 1.21445847 12.17718697 +v -7.40339947 1.23059988 11.99999905 +v -6.64832067 2.23328018 12.00000191 +v -6.58148098 2.21082735 12.17718887 +v -6.55524349 2.20201421 12.31500435 +v -6.56391048 2.20492554 12.41343880 +v -6.60178232 2.21764755 12.47250175 +v -6.66316032 2.23826504 12.49218941 +v -6.74234676 2.26486492 12.47250366 +v -6.83364201 2.29553246 12.41343880 +v -6.93134880 2.32835388 12.31500149 +v -7.02976799 2.36141443 12.17718983 +v -7.12320089 2.39279985 12.00000191 +v -6.22887993 3.24072003 11.99999905 +v -6.16625690 3.20813918 12.17718601 +v -6.14167595 3.19535017 12.31500149 +v -6.14979506 3.19957471 12.41343689 +v -6.18527842 3.21803522 12.47250080 +v -6.24278355 3.24795365 12.49218750 +v -6.31697416 3.28655291 12.47249985 +v -6.40251064 3.33105516 12.41343689 +v -6.49405241 3.37868214 12.31499863 +v -6.58626175 3.42665648 12.17718697 +v -6.67379951 3.47219992 11.99999905 +v -5.66496086 4.15744019 12.00000191 +v -5.60800648 4.11564255 12.17718887 +v -5.58565140 4.09923649 12.31500149 +v -5.59303570 4.10465574 12.41343880 +v -5.62530565 4.12833881 12.47250080 +v -5.67760515 4.16672039 12.49218845 +v -5.74507952 4.21623850 12.47249985 +v -5.82287121 4.27332926 12.41343689 +v -5.90612602 4.33442879 12.31500149 +v -5.98998785 4.39597321 12.17718983 +v -6.06960058 4.45440006 12.00000191 +v -4.96999979 4.97000027 12.00000000 +v -4.92003345 4.92003345 12.17718697 +v -4.90042019 4.90042019 12.31500149 +v -4.90689850 4.90689850 12.41343880 +v -4.93521023 4.93521023 12.47250080 +v -4.98109388 4.98109388 12.49218750 +v -5.04028988 5.04028988 12.47249985 +v -5.10853863 5.10853863 12.41343689 +v -5.18158007 5.18157959 12.31499863 +v -5.25515366 5.25515366 12.17718887 +v -5.32500029 5.32500029 12.00000000 +v -4.15743923 5.66495991 12.00000000 +v -4.11564207 5.60800648 12.17718697 +v -4.09923601 5.58565140 12.31500149 +v -4.10465527 5.59303570 12.41343880 +v -4.12833786 5.62530565 12.47250080 +v -4.16671944 5.67760515 12.49218750 +v -4.21623755 5.74507952 12.47249985 +v -4.27332830 5.82287121 12.41343689 +v -4.33442783 5.90612507 12.31499863 +v -4.39597321 5.98998737 12.17718887 +v -4.45440006 6.06960011 12.00000000 +v -3.24071932 6.22887993 12.00000000 +v -3.20813870 6.16625690 12.17718697 +v -3.19534922 6.14167595 12.31500149 +v -3.19957376 6.14979553 12.41343880 +v -3.21803474 6.18527842 12.47250080 +v -3.24795294 6.24278355 12.49218750 +v -3.28655243 6.31697416 12.47249985 +v -3.33105421 6.40250969 12.41343689 +v -3.37868166 6.49405241 12.31499863 +v -3.42665553 6.58626175 12.17718887 +v -3.47219920 6.67379951 12.00000000 +v -2.23327923 6.64832020 12.00000000 +v -2.21082664 6.58148050 12.17718697 +v -2.20201349 6.55524349 12.31500149 +v -2.20492458 6.56391048 12.41343880 +v -2.21764660 6.60178232 12.47250080 +v -2.23826432 6.66315985 12.49218750 +v -2.26486421 6.74234629 12.47249985 +v -2.29553199 6.83364201 12.41343689 +v -2.32835317 6.93134785 12.31499863 +v -2.36141396 7.02976751 12.17718887 +v -2.39279938 7.12319946 12.00000000 +v -1.14855897 6.90984011 12.00000000 +v -1.13701177 6.84037113 12.17718697 +v -1.13247919 6.81310272 12.31500149 +v -1.13397634 6.82211018 12.41343880 +v -1.14051914 6.86147165 12.47250080 +v -1.15112269 6.92526436 12.49218750 +v -1.16480279 7.00756550 12.47249985 +v -1.18057501 7.10245180 12.41343689 +v -1.19745481 7.20400238 12.31499863 +v -1.21445763 7.30629206 12.17718887 +v -1.23059881 7.40339994 12.00000000 +v 0.00000140 6.99999905 11.99999905 +v 0.00000139 6.92962408 12.17718506 +v 0.00000138 6.90199947 12.31500053 +v 0.00000138 6.91112518 12.41343498 +v 0.00000139 6.95100069 12.47249985 +v 0.00000141 7.01562405 12.49218559 +v 0.00000142 7.09899998 12.47249794 +v 0.00000144 7.19512463 12.41343594 +v 0.00000146 7.29799986 12.31499863 +v 0.00000148 7.40162563 12.17718601 +v 0.00000150 7.50000048 11.99999905 +v 1.14855993 6.90983963 11.99999905 +v 1.13701272 6.84036970 12.17718601 +v 1.13248014 6.81310177 12.31500149 +v 1.13397741 6.82210875 12.41343689 +v 1.14052010 6.86147118 12.47250080 +v 1.15112376 6.92526293 12.49218750 +v 1.16480386 7.00756454 12.47249985 +v 1.18057609 7.10245132 12.41343689 +v 1.19745588 7.20400095 12.31499863 +v 1.21445847 7.30629158 12.17718697 +v 1.23059988 7.40339947 11.99999905 +v 2.23328018 6.64832067 12.00000191 +v 2.21082735 6.58148098 12.17718887 +v 2.20201421 6.55524349 12.31500435 +v 2.20492554 6.56391048 12.41343880 +v 2.21764755 6.60178232 12.47250175 +v 2.23826504 6.66316032 12.49218941 +v 2.26486492 6.74234676 12.47250366 +v 2.29553246 6.83364201 12.41343880 +v 2.32835388 6.93134880 12.31500149 +v 2.36141443 7.02976799 12.17718983 +v 2.39279985 7.12320089 12.00000191 +v 3.24072003 6.22887993 11.99999905 +v 3.20813918 6.16625690 12.17718601 +v 3.19535017 6.14167595 12.31500149 +v 3.19957471 6.14979506 12.41343689 +v 3.21803522 6.18527842 12.47250080 +v 3.24795365 6.24278355 12.49218750 +v 3.28655291 6.31697416 12.47249985 +v 3.33105516 6.40251064 12.41343689 +v 3.37868214 6.49405241 12.31499863 +v 3.42665648 6.58626175 12.17718697 +v 3.47219992 6.67379951 11.99999905 +v 4.15744019 5.66496086 12.00000191 +v 4.11564255 5.60800648 12.17718887 +v 4.09923649 5.58565140 12.31500149 +v 4.10465574 5.59303570 12.41343880 +v 4.12833881 5.62530565 12.47250080 +v 4.16672039 5.67760515 12.49218845 +v 4.21623850 5.74507952 12.47249985 +v 4.27332926 5.82287121 12.41343689 +v 4.33442879 5.90612602 12.31500149 +v 4.39597321 5.98998785 12.17718983 +v 4.45440006 6.06960058 12.00000191 +v 4.97000027 4.96999979 12.00000000 +v 4.92003345 4.92003345 12.17718697 +v 4.90042019 4.90042019 12.31500149 +v 4.90689850 4.90689850 12.41343880 +v 4.93521023 4.93521023 12.47250080 +v 4.98109388 4.98109388 12.49218750 +v 5.04028988 5.04028988 12.47249985 +v 5.10853863 5.10853863 12.41343689 +v 5.18157959 5.18158007 12.31499863 +v 5.25515366 5.25515366 12.17718887 +v 5.32500029 5.32500029 12.00000000 +v 5.66495991 4.15743923 12.00000000 +v 5.60800648 4.11564207 12.17718697 +v 5.58565140 4.09923601 12.31500149 +v 5.59303570 4.10465527 12.41343880 +v 5.62530565 4.12833786 12.47250080 +v 5.67760515 4.16671944 12.49218750 +v 5.74507952 4.21623755 12.47249985 +v 5.82287121 4.27332830 12.41343689 +v 5.90612507 4.33442783 12.31499863 +v 5.98998737 4.39597321 12.17718887 +v 6.06960011 4.45440006 12.00000000 +v 6.22887993 3.24071932 12.00000000 +v 6.16625690 3.20813870 12.17718697 +v 6.14167595 3.19534922 12.31500149 +v 6.14979553 3.19957376 12.41343880 +v 6.18527842 3.21803474 12.47250080 +v 6.24278355 3.24795294 12.49218750 +v 6.31697416 3.28655243 12.47249985 +v 6.40250969 3.33105421 12.41343689 +v 6.49405241 3.37868166 12.31499863 +v 6.58626175 3.42665553 12.17718887 +v 6.67379951 3.47219920 12.00000000 +v 6.64832020 2.23327923 12.00000000 +v 6.58148050 2.21082664 12.17718697 +v 6.55524349 2.20201349 12.31500149 +v 6.56391048 2.20492458 12.41343880 +v 6.60178232 2.21764660 12.47250080 +v 6.66315985 2.23826432 12.49218750 +v 6.74234629 2.26486421 12.47249985 +v 6.83364201 2.29553199 12.41343689 +v 6.93134785 2.32835317 12.31499863 +v 7.02976751 2.36141396 12.17718887 +v 7.12319946 2.39279938 12.00000000 +v 6.90984011 1.14855897 12.00000000 +v 6.84037113 1.13701177 12.17718697 +v 6.81310272 1.13247919 12.31500149 +v 6.82211018 1.13397634 12.41343880 +v 6.86147165 1.14051914 12.47250080 +v 6.92526436 1.15112269 12.49218750 +v 7.00756550 1.16480279 12.47249985 +v 7.10245180 1.18057501 12.41343689 +v 7.20400238 1.19745481 12.31499863 +v 7.30629206 1.21445763 12.17718887 +v 7.40339994 1.23059881 12.00000000 +v 7.77233505 -1.29192472 11.21287441 +v 7.87374926 0.00000000 11.21287441 +v 8.13386822 -1.35201919 10.42800045 +v 8.23999977 0.00000000 10.42800045 +v 8.48059368 -1.40965223 9.64762402 +v 8.59125042 0.00000000 9.64762592 +v 8.80511093 -1.46359372 8.87400055 +v 8.92000103 0.00000000 8.87400055 +v 9.10001183 -1.51261258 8.10937500 +v 9.21875000 0.00000000 8.10937500 +v 9.35789680 -1.55547845 7.35599995 +v 9.47999954 0.00000000 7.35600042 +v 9.57136154 -1.59096074 6.61612415 +v 9.69624996 0.00000000 6.61612463 +v 9.73300362 -1.61782873 5.89199972 +v 9.85999966 0.00000000 5.89200020 +v 9.83541679 -1.63485229 5.18587351 +v 9.96374989 0.00000000 5.18587494 +v 9.87120056 -1.64080012 4.49999905 +v 10.00000000 0.00000000 4.50000000 +v 7.47817326 -2.51204062 11.21287441 +v 7.82602406 -2.62889004 10.42800140 +v 8.15962601 -2.74095273 9.64762592 +v 8.47186089 -2.84583688 8.87400055 +v 8.75560093 -2.94115019 8.10937500 +v 9.00372505 -3.02449918 7.35600042 +v 9.20911217 -3.09349155 6.61612463 +v 9.36463451 -3.14573479 5.89200020 +v 9.46317196 -3.17883468 5.18587494 +v 9.49760056 -3.19040012 4.50000000 +v 7.00637627 -3.64523125 11.21287441 +v 7.33228207 -3.81479073 10.42800045 +v 7.64483833 -3.97740555 9.64762402 +v 7.93737316 -4.12960434 8.87400055 +v 8.20321274 -4.26791286 8.10937500 +v 8.43568325 -4.38886118 7.35600042 +v 8.62811089 -4.48897600 6.61612463 +v 8.77382183 -4.56478596 5.89200020 +v 8.86614418 -4.61281824 5.18587494 +v 8.89840031 -4.62960052 4.50000000 +v 6.37206841 -4.67637825 11.21287441 +v 6.66846800 -4.89390135 10.42800140 +v 6.95272827 -5.10251570 9.64762592 +v 7.21877861 -5.29776764 8.87400246 +v 7.46055079 -5.47520113 8.10937595 +v 7.67197514 -5.63036203 7.35600042 +v 7.84698248 -5.75879765 6.61612511 +v 7.97950220 -5.85605145 5.89200020 +v 8.06346512 -5.91767073 5.18587494 +v 8.09280109 -5.93920040 4.50000000 +v 5.59036255 -5.59036255 11.21287441 +v 5.85040092 -5.85040092 10.42800045 +v 6.09978771 -6.09978771 9.64762592 +v 6.33320093 -6.33320093 8.87400055 +v 6.54531288 -6.54531288 8.10937500 +v 6.73080015 -6.73080015 7.35600042 +v 6.88433743 -6.88433743 6.61612463 +v 7.00059986 -7.00059986 5.89200020 +v 7.07426310 -7.07426310 5.18587494 +v 7.10000038 -7.10000038 4.50000000 +v 4.67637682 -6.37206793 11.21287441 +v 4.89390039 -6.66846752 10.42800045 +v 5.10251522 -6.95272732 9.64762592 +v 5.29776621 -7.21877861 8.87400055 +v 5.47519970 -7.46055079 8.10937500 +v 5.63036156 -7.67197514 7.35599995 +v 5.75879669 -7.84698200 6.61612415 +v 5.85605145 -7.97950172 5.89199972 +v 5.91767073 -8.06346416 5.18587399 +v 5.93919992 -8.09280014 4.49999952 +v 3.64523029 -7.00637627 11.21287441 +v 3.81479001 -7.33228207 10.42800045 +v 3.97740459 -7.64483833 9.64762592 +v 4.12960291 -7.93737316 8.87400055 +v 4.26791191 -8.20321274 8.10937500 +v 4.38885975 -8.43568325 7.35600042 +v 4.48897552 -8.62811089 6.61612511 +v 4.56478500 -8.77382183 5.89200020 +v 4.61281729 -8.86614418 5.18587494 +v 4.62959957 -8.89840031 4.50000000 +v 2.51204038 -7.47817230 11.21287441 +v 2.62888908 -7.82602310 10.42800045 +v 2.74095178 -8.15962601 9.64762592 +v 2.84583664 -8.47185993 8.87400055 +v 2.94114923 -8.75559998 8.10937500 +v 3.02449822 -9.00372505 7.35600042 +v 3.09349084 -9.20911121 6.61612463 +v 3.14573336 -9.36463356 5.89200020 +v 3.17883396 -9.46317196 5.18587494 +v 3.19039917 -9.49760056 4.50000000 +v 1.29192352 -7.77233505 11.21287441 +v 1.35201812 -8.13386917 10.42800045 +v 1.40965104 -8.48059464 9.64762592 +v 1.46359253 -8.80511093 8.87400055 +v 1.51261115 -9.10001278 8.10937500 +v 1.55547714 -9.35789776 7.35600042 +v 1.59095931 -9.57136250 6.61612511 +v 1.61782742 -9.73300362 5.89200020 +v 1.63485074 -9.83541679 5.18587494 +v 1.64079857 -9.87120056 4.50000000 +v -0.00000158 -7.87374926 11.21287441 +v -0.00000165 -8.24000168 10.42800045 +v -0.00000172 -8.59125042 9.64762402 +v -0.00000179 -8.92000103 8.87400055 +v -0.00000185 -9.21875000 8.10937405 +v -0.00000190 -9.48000050 7.35599995 +v -0.00000194 -9.69624996 6.61612463 +v -0.00000197 -9.85999966 5.89199924 +v -0.00000200 -9.96374989 5.18587494 +v -0.00000200 -10.00000000 4.50000000 +v -1.29192472 -7.77233505 11.21287441 +v -1.35201919 -8.13386822 10.42800045 +v -1.40965223 -8.48059368 9.64762402 +v -1.46359372 -8.80511093 8.87400055 +v -1.51261258 -9.10001183 8.10937500 +v -1.55547845 -9.35789680 7.35599995 +v -1.59096074 -9.57136154 6.61612415 +v -1.61782873 -9.73300362 5.89199972 +v -1.63485229 -9.83541679 5.18587351 +v -1.64080012 -9.87120056 4.49999905 +v -2.51204062 -7.47817326 11.21287441 +v -2.62889004 -7.82602406 10.42800140 +v -2.74095273 -8.15962601 9.64762592 +v -2.84583688 -8.47186089 8.87400055 +v -2.94115019 -8.75560093 8.10937500 +v -3.02449918 -9.00372505 7.35600042 +v -3.09349155 -9.20911217 6.61612463 +v -3.14573479 -9.36463451 5.89200020 +v -3.17883468 -9.46317196 5.18587494 +v -3.19040012 -9.49760056 4.50000000 +v -3.64523125 -7.00637627 11.21287441 +v -3.81479073 -7.33228207 10.42800045 +v -3.97740555 -7.64483833 9.64762402 +v -4.12960434 -7.93737316 8.87400055 +v -4.26791286 -8.20321274 8.10937500 +v -4.38886118 -8.43568325 7.35600042 +v -4.48897600 -8.62811089 6.61612463 +v -4.56478596 -8.77382183 5.89200020 +v -4.61281824 -8.86614418 5.18587494 +v -4.62960052 -8.89840031 4.50000000 +v -4.67637825 -6.37206841 11.21287441 +v -4.89390135 -6.66846800 10.42800140 +v -5.10251570 -6.95272827 9.64762592 +v -5.29776764 -7.21877861 8.87400246 +v -5.47520113 -7.46055079 8.10937595 +v -5.63036203 -7.67197514 7.35600042 +v -5.75879765 -7.84698248 6.61612511 +v -5.85605145 -7.97950220 5.89200020 +v -5.91767073 -8.06346512 5.18587494 +v -5.93920040 -8.09280109 4.50000000 +v -5.59036255 -5.59036255 11.21287441 +v -5.85040092 -5.85040092 10.42800045 +v -6.09978771 -6.09978771 9.64762592 +v -6.33320093 -6.33320093 8.87400055 +v -6.54531288 -6.54531288 8.10937500 +v -6.73080015 -6.73080015 7.35600042 +v -6.88433743 -6.88433743 6.61612463 +v -7.00059986 -7.00059986 5.89200020 +v -7.07426310 -7.07426310 5.18587494 +v -7.10000038 -7.10000038 4.50000000 +v -6.37206793 -4.67637682 11.21287441 +v -6.66846752 -4.89390039 10.42800045 +v -6.95272732 -5.10251522 9.64762592 +v -7.21877861 -5.29776621 8.87400055 +v -7.46055079 -5.47519970 8.10937500 +v -7.67197514 -5.63036156 7.35599995 +v -7.84698200 -5.75879669 6.61612415 +v -7.97950172 -5.85605145 5.89199972 +v -8.06346416 -5.91767073 5.18587399 +v -8.09280014 -5.93919992 4.49999952 +v -7.00637627 -3.64523029 11.21287441 +v -7.33228207 -3.81479001 10.42800045 +v -7.64483833 -3.97740459 9.64762592 +v -7.93737316 -4.12960291 8.87400055 +v -8.20321274 -4.26791191 8.10937500 +v -8.43568325 -4.38885975 7.35600042 +v -8.62811089 -4.48897552 6.61612511 +v -8.77382183 -4.56478500 5.89200020 +v -8.86614418 -4.61281729 5.18587494 +v -8.89840031 -4.62959957 4.50000000 +v -7.47817230 -2.51204038 11.21287441 +v -7.82602310 -2.62888908 10.42800045 +v -8.15962601 -2.74095178 9.64762592 +v -8.47185993 -2.84583664 8.87400055 +v -8.75559998 -2.94114923 8.10937500 +v -9.00372505 -3.02449822 7.35600042 +v -9.20911121 -3.09349084 6.61612463 +v -9.36463356 -3.14573336 5.89200020 +v -9.46317196 -3.17883396 5.18587494 +v -9.49760056 -3.19039917 4.50000000 +v -7.77233505 -1.29192352 11.21287441 +v -8.13386917 -1.35201812 10.42800045 +v -8.48059464 -1.40965104 9.64762592 +v -8.80511093 -1.46359253 8.87400055 +v -9.10001278 -1.51261115 8.10937500 +v -9.35789776 -1.55547714 7.35600042 +v -9.57136250 -1.59095931 6.61612511 +v -9.73300362 -1.61782742 5.89200020 +v -9.83541679 -1.63485074 5.18587494 +v -9.87120056 -1.64079857 4.50000000 +v -7.87374926 0.00000158 11.21287441 +v -8.24000168 0.00000165 10.42800045 +v -8.59125042 0.00000172 9.64762402 +v -8.92000103 0.00000179 8.87400055 +v -9.21875000 0.00000185 8.10937405 +v -9.48000050 0.00000190 7.35599995 +v -9.69624996 0.00000194 6.61612463 +v -9.85999966 0.00000197 5.89199924 +v -9.96374989 0.00000200 5.18587494 +v -10.00000000 0.00000200 4.50000000 +v -7.77233505 1.29192472 11.21287441 +v -8.13386822 1.35201919 10.42800045 +v -8.48059368 1.40965223 9.64762402 +v -8.80511093 1.46359372 8.87400055 +v -9.10001183 1.51261258 8.10937500 +v -9.35789680 1.55547845 7.35599995 +v -9.57136154 1.59096074 6.61612415 +v -9.73300362 1.61782873 5.89199972 +v -9.83541679 1.63485229 5.18587351 +v -9.87120056 1.64080012 4.49999905 +v -7.47817326 2.51204062 11.21287441 +v -7.82602406 2.62889004 10.42800140 +v -8.15962601 2.74095273 9.64762592 +v -8.47186089 2.84583688 8.87400055 +v -8.75560093 2.94115019 8.10937500 +v -9.00372505 3.02449918 7.35600042 +v -9.20911217 3.09349155 6.61612463 +v -9.36463451 3.14573479 5.89200020 +v -9.46317196 3.17883468 5.18587494 +v -9.49760056 3.19040012 4.50000000 +v -7.00637627 3.64523125 11.21287441 +v -7.33228207 3.81479073 10.42800045 +v -7.64483833 3.97740555 9.64762402 +v -7.93737316 4.12960434 8.87400055 +v -8.20321274 4.26791286 8.10937500 +v -8.43568325 4.38886118 7.35600042 +v -8.62811089 4.48897600 6.61612463 +v -8.77382183 4.56478596 5.89200020 +v -8.86614418 4.61281824 5.18587494 +v -8.89840031 4.62960052 4.50000000 +v -6.37206841 4.67637825 11.21287441 +v -6.66846800 4.89390135 10.42800140 +v -6.95272827 5.10251570 9.64762592 +v -7.21877861 5.29776764 8.87400246 +v -7.46055079 5.47520113 8.10937595 +v -7.67197514 5.63036203 7.35600042 +v -7.84698248 5.75879765 6.61612511 +v -7.97950220 5.85605145 5.89200020 +v -8.06346512 5.91767073 5.18587494 +v -8.09280109 5.93920040 4.50000000 +v -5.59036255 5.59036255 11.21287441 +v -5.85040092 5.85040092 10.42800045 +v -6.09978771 6.09978771 9.64762592 +v -6.33320093 6.33320093 8.87400055 +v -6.54531288 6.54531288 8.10937500 +v -6.73080015 6.73080015 7.35600042 +v -6.88433743 6.88433743 6.61612463 +v -7.00059986 7.00059986 5.89200020 +v -7.07426310 7.07426310 5.18587494 +v -7.10000038 7.10000038 4.50000000 +v -4.67637682 6.37206793 11.21287441 +v -4.89390039 6.66846752 10.42800045 +v -5.10251522 6.95272732 9.64762592 +v -5.29776621 7.21877861 8.87400055 +v -5.47519970 7.46055079 8.10937500 +v -5.63036156 7.67197514 7.35599995 +v -5.75879669 7.84698200 6.61612415 +v -5.85605145 7.97950172 5.89199972 +v -5.91767073 8.06346416 5.18587399 +v -5.93919992 8.09280014 4.49999952 +v -3.64523029 7.00637627 11.21287441 +v -3.81479001 7.33228207 10.42800045 +v -3.97740459 7.64483833 9.64762592 +v -4.12960291 7.93737316 8.87400055 +v -4.26791191 8.20321274 8.10937500 +v -4.38885975 8.43568325 7.35600042 +v -4.48897552 8.62811089 6.61612511 +v -4.56478500 8.77382183 5.89200020 +v -4.61281729 8.86614418 5.18587494 +v -4.62959957 8.89840031 4.50000000 +v -2.51204038 7.47817230 11.21287441 +v -2.62888908 7.82602310 10.42800045 +v -2.74095178 8.15962601 9.64762592 +v -2.84583664 8.47185993 8.87400055 +v -2.94114923 8.75559998 8.10937500 +v -3.02449822 9.00372505 7.35600042 +v -3.09349084 9.20911121 6.61612463 +v -3.14573336 9.36463356 5.89200020 +v -3.17883396 9.46317196 5.18587494 +v -3.19039917 9.49760056 4.50000000 +v -1.29192352 7.77233505 11.21287441 +v -1.35201812 8.13386917 10.42800045 +v -1.40965104 8.48059464 9.64762592 +v -1.46359253 8.80511093 8.87400055 +v -1.51261115 9.10001278 8.10937500 +v -1.55547714 9.35789776 7.35600042 +v -1.59095931 9.57136250 6.61612511 +v -1.61782742 9.73300362 5.89200020 +v -1.63485074 9.83541679 5.18587494 +v -1.64079857 9.87120056 4.50000000 +v 0.00000158 7.87374926 11.21287441 +v 0.00000165 8.24000168 10.42800045 +v 0.00000172 8.59125042 9.64762402 +v 0.00000179 8.92000103 8.87400055 +v 0.00000185 9.21875000 8.10937405 +v 0.00000190 9.48000050 7.35599995 +v 0.00000194 9.69624996 6.61612463 +v 0.00000197 9.85999966 5.89199924 +v 0.00000200 9.96374989 5.18587494 +v 0.00000200 10.00000000 4.50000000 +v 1.29192472 7.77233505 11.21287441 +v 1.35201919 8.13386822 10.42800045 +v 1.40965223 8.48059368 9.64762402 +v 1.46359372 8.80511093 8.87400055 +v 1.51261258 9.10001183 8.10937500 +v 1.55547845 9.35789680 7.35599995 +v 1.59096074 9.57136154 6.61612415 +v 1.61782873 9.73300362 5.89199972 +v 1.63485229 9.83541679 5.18587351 +v 1.64080012 9.87120056 4.49999905 +v 2.51204062 7.47817326 11.21287441 +v 2.62889004 7.82602406 10.42800140 +v 2.74095273 8.15962601 9.64762592 +v 2.84583688 8.47186089 8.87400055 +v 2.94115019 8.75560093 8.10937500 +v 3.02449918 9.00372505 7.35600042 +v 3.09349155 9.20911217 6.61612463 +v 3.14573479 9.36463451 5.89200020 +v 3.17883468 9.46317196 5.18587494 +v 3.19040012 9.49760056 4.50000000 +v 3.64523125 7.00637627 11.21287441 +v 3.81479073 7.33228207 10.42800045 +v 3.97740555 7.64483833 9.64762402 +v 4.12960434 7.93737316 8.87400055 +v 4.26791286 8.20321274 8.10937500 +v 4.38886118 8.43568325 7.35600042 +v 4.48897600 8.62811089 6.61612463 +v 4.56478596 8.77382183 5.89200020 +v 4.61281824 8.86614418 5.18587494 +v 4.62960052 8.89840031 4.50000000 +v 4.67637825 6.37206841 11.21287441 +v 4.89390135 6.66846800 10.42800140 +v 5.10251570 6.95272827 9.64762592 +v 5.29776764 7.21877861 8.87400246 +v 5.47520113 7.46055079 8.10937595 +v 5.63036203 7.67197514 7.35600042 +v 5.75879765 7.84698248 6.61612511 +v 5.85605145 7.97950220 5.89200020 +v 5.91767073 8.06346512 5.18587494 +v 5.93920040 8.09280109 4.50000000 +v 5.59036255 5.59036255 11.21287441 +v 5.85040092 5.85040092 10.42800045 +v 6.09978771 6.09978771 9.64762592 +v 6.33320093 6.33320093 8.87400055 +v 6.54531288 6.54531288 8.10937500 +v 6.73080015 6.73080015 7.35600042 +v 6.88433743 6.88433743 6.61612463 +v 7.00059986 7.00059986 5.89200020 +v 7.07426310 7.07426310 5.18587494 +v 7.10000038 7.10000038 4.50000000 +v 6.37206793 4.67637682 11.21287441 +v 6.66846752 4.89390039 10.42800045 +v 6.95272732 5.10251522 9.64762592 +v 7.21877861 5.29776621 8.87400055 +v 7.46055079 5.47519970 8.10937500 +v 7.67197514 5.63036156 7.35599995 +v 7.84698200 5.75879669 6.61612415 +v 7.97950172 5.85605145 5.89199972 +v 8.06346416 5.91767073 5.18587399 +v 8.09280014 5.93919992 4.49999952 +v 7.00637627 3.64523029 11.21287441 +v 7.33228207 3.81479001 10.42800045 +v 7.64483833 3.97740459 9.64762592 +v 7.93737316 4.12960291 8.87400055 +v 8.20321274 4.26791191 8.10937500 +v 8.43568325 4.38885975 7.35600042 +v 8.62811089 4.48897552 6.61612511 +v 8.77382183 4.56478500 5.89200020 +v 8.86614418 4.61281729 5.18587494 +v 8.89840031 4.62959957 4.50000000 +v 7.47817230 2.51204038 11.21287441 +v 7.82602310 2.62888908 10.42800045 +v 8.15962601 2.74095178 9.64762592 +v 8.47185993 2.84583664 8.87400055 +v 8.75559998 2.94114923 8.10937500 +v 9.00372505 3.02449822 7.35600042 +v 9.20911121 3.09349084 6.61612463 +v 9.36463356 3.14573336 5.89200020 +v 9.46317196 3.17883396 5.18587494 +v 9.49760056 3.19039917 4.50000000 +v 7.77233505 1.29192352 11.21287441 +v 8.13386917 1.35201812 10.42800045 +v 8.48059464 1.40965104 9.64762592 +v 8.80511093 1.46359253 8.87400055 +v 9.10001278 1.51261115 8.10937500 +v 9.35789776 1.55547714 7.35600042 +v 9.57136250 1.59095931 6.61612511 +v 9.73300362 1.61782742 5.89200020 +v 9.83541679 1.63485074 5.18587494 +v 9.87120056 1.64079857 4.50000000 +v 9.80210114 -1.62931430 3.85837412 +v 9.93000031 0.00000000 3.85837460 +v 9.61454964 -1.59813929 3.28199983 +v 9.74000072 0.00000000 3.28200006 +v 9.33815479 -1.55219674 2.76862478 +v 9.46000004 0.00000000 2.76862478 +v 9.00253487 -1.49640965 2.31600022 +v 9.12000084 0.00000000 2.31600022 +v 8.63729954 -1.43570006 1.92187476 +v 8.75000000 0.00000000 1.92187500 +v 8.27206516 -1.37499034 1.58399963 +v 8.38000011 0.00000000 1.58399987 +v 7.93644428 -1.31920314 1.30012465 +v 8.03999901 0.00000000 1.30012488 +v 7.66005039 -1.27326071 1.06799972 +v 7.75999928 0.00000000 1.06799984 +v 7.47249699 -1.24208546 0.88537467 +v 7.56999969 0.00000000 0.88537484 +v 7.40339947 -1.23059988 0.74999994 +v 7.50000000 0.00000000 0.75000000 +v 9.43111706 -3.16806698 3.85837507 +v 9.25066471 -3.10744977 3.28200006 +v 8.98472977 -3.01811814 2.76862526 +v 8.66181278 -2.90964508 2.31600022 +v 8.31040192 -2.79159999 1.92187500 +v 7.95898962 -2.67355490 1.58399999 +v 7.63607073 -2.56508136 1.30012500 +v 7.37013817 -2.47575021 1.06799996 +v 7.18968391 -2.41513276 0.88537502 +v 7.12320089 -2.39279985 0.75000012 +v 8.83611107 -4.59719324 3.85837460 +v 8.66704178 -4.50923109 3.28200006 +v 8.41788578 -4.37960243 2.76862478 +v 8.11534119 -4.22219610 2.31600022 +v 7.78609991 -4.05090046 1.92187500 +v 7.45685959 -3.87960529 1.58399987 +v 7.15431309 -3.72219849 1.30012465 +v 6.90515757 -3.59256983 1.06799984 +v 6.73608828 -3.50460720 0.88537478 +v 6.67379951 -3.47219992 0.74999994 +v 8.03615093 -5.89762592 3.85837507 +v 7.88238811 -5.78478146 3.28200006 +v 7.65578985 -5.61848402 2.76862526 +v 7.38063431 -5.41655159 2.31600022 +v 7.08120108 -5.19680023 1.92187500 +v 6.78176689 -4.97705030 1.58399999 +v 6.50661182 -4.77511692 1.30012500 +v 6.28001308 -4.60881948 1.06799996 +v 6.12625027 -4.49597454 0.88537502 +v 6.06960058 -4.45440006 0.75000012 +v 7.05029964 -7.05029964 3.85837460 +v 6.91540051 -6.91540051 3.28200006 +v 6.71659946 -6.71659946 2.76862478 +v 6.47520113 -6.47520113 2.31600022 +v 6.21250057 -6.21250057 1.92187500 +v 5.94980049 -5.94980049 1.58399987 +v 5.70839977 -5.70839977 1.30012488 +v 5.50960016 -5.50960016 1.06799984 +v 5.37469959 -5.37469959 0.88537484 +v 5.32500029 -5.32500029 0.75000000 +v 5.89762449 -8.03614998 3.85837436 +v 5.78478098 -7.88238764 3.28200006 +v 5.61848259 -7.65578842 2.76862478 +v 5.41655111 -7.38063431 2.31600022 +v 5.19679976 -7.08119965 1.92187488 +v 4.97704983 -6.78176641 1.58399987 +v 4.77511644 -6.50661087 1.30012488 +v 4.60881901 -6.28001213 1.06799984 +v 4.49597406 -6.12624931 0.88537484 +v 4.45440006 -6.06960011 0.75000000 +v 4.59719229 -8.83611107 3.85837460 +v 4.50923014 -8.66704178 3.28200006 +v 4.37960100 -8.41788578 2.76862478 +v 4.22219467 -8.11534119 2.31600022 +v 4.05089903 -7.78609991 1.92187500 +v 3.87960386 -7.45685959 1.58399987 +v 3.72219753 -7.15431309 1.30012488 +v 3.59256864 -6.90515757 1.06799984 +v 3.50460649 -6.73608828 0.88537484 +v 3.47219920 -6.67379951 0.75000000 +v 3.16806579 -9.43111706 3.85837460 +v 3.10744858 -9.25066280 3.28200006 +v 3.01811743 -8.98472977 2.76862478 +v 2.90964413 -8.66181278 2.31600022 +v 2.79159927 -8.31040001 1.92187500 +v 2.67355442 -7.95898914 1.58399987 +v 2.56508064 -7.63607025 1.30012488 +v 2.47574949 -7.37013721 1.06799984 +v 2.41513205 -7.18968344 0.88537484 +v 2.39279938 -7.12319946 0.75000000 +v 1.62931275 -9.80210114 3.85837460 +v 1.59813786 -9.61454964 3.28200006 +v 1.55219543 -9.33815479 2.76862478 +v 1.49640846 -9.00253487 2.31600022 +v 1.43569875 -8.63730049 1.92187500 +v 1.37498915 -8.27206612 1.58399987 +v 1.31920207 -7.93644428 1.30012488 +v 1.27325964 -7.66005135 1.06799984 +v 1.24208450 -7.47249842 0.88537484 +v 1.23059881 -7.40339994 0.75000000 +v -0.00000199 -9.93000031 3.85837507 +v -0.00000195 -9.74000072 3.28200006 +v -0.00000189 -9.46000004 2.76862526 +v -0.00000183 -9.12000084 2.31600022 +v -0.00000175 -8.75000000 1.92187500 +v -0.00000168 -8.38000107 1.58399999 +v -0.00000161 -8.04000092 1.30012500 +v -0.00000155 -7.76000023 1.06799984 +v -0.00000152 -7.57000065 0.88537484 +v -0.00000150 -7.50000048 0.74999994 +v -1.62931430 -9.80210114 3.85837412 +v -1.59813929 -9.61454964 3.28199983 +v -1.55219674 -9.33815479 2.76862478 +v -1.49640965 -9.00253487 2.31600022 +v -1.43570006 -8.63729954 1.92187476 +v -1.37499034 -8.27206516 1.58399963 +v -1.31920314 -7.93644428 1.30012465 +v -1.27326071 -7.66005039 1.06799972 +v -1.24208546 -7.47249699 0.88537467 +v -1.23059988 -7.40339947 0.74999994 +v -3.16806698 -9.43111706 3.85837507 +v -3.10744977 -9.25066471 3.28200006 +v -3.01811814 -8.98472977 2.76862526 +v -2.90964508 -8.66181278 2.31600022 +v -2.79159999 -8.31040192 1.92187500 +v -2.67355490 -7.95898962 1.58399999 +v -2.56508136 -7.63607073 1.30012500 +v -2.47575021 -7.37013817 1.06799996 +v -2.41513276 -7.18968391 0.88537502 +v -2.39279985 -7.12320089 0.75000012 +v -4.59719324 -8.83611107 3.85837460 +v -4.50923109 -8.66704178 3.28200006 +v -4.37960243 -8.41788578 2.76862478 +v -4.22219610 -8.11534119 2.31600022 +v -4.05090046 -7.78609991 1.92187500 +v -3.87960529 -7.45685959 1.58399987 +v -3.72219849 -7.15431309 1.30012465 +v -3.59256983 -6.90515757 1.06799984 +v -3.50460720 -6.73608828 0.88537478 +v -3.47219992 -6.67379951 0.74999994 +v -5.89762592 -8.03615093 3.85837507 +v -5.78478146 -7.88238811 3.28200006 +v -5.61848402 -7.65578985 2.76862526 +v -5.41655159 -7.38063431 2.31600022 +v -5.19680023 -7.08120108 1.92187500 +v -4.97705030 -6.78176689 1.58399999 +v -4.77511692 -6.50661182 1.30012500 +v -4.60881948 -6.28001308 1.06799996 +v -4.49597454 -6.12625027 0.88537502 +v -4.45440006 -6.06960058 0.75000012 +v -7.05029964 -7.05029964 3.85837460 +v -6.91540051 -6.91540051 3.28200006 +v -6.71659946 -6.71659946 2.76862478 +v -6.47520113 -6.47520113 2.31600022 +v -6.21250057 -6.21250057 1.92187500 +v -5.94980049 -5.94980049 1.58399987 +v -5.70839977 -5.70839977 1.30012488 +v -5.50960016 -5.50960016 1.06799984 +v -5.37469959 -5.37469959 0.88537484 +v -5.32500029 -5.32500029 0.75000000 +v -8.03614998 -5.89762449 3.85837436 +v -7.88238764 -5.78478098 3.28200006 +v -7.65578842 -5.61848259 2.76862478 +v -7.38063431 -5.41655111 2.31600022 +v -7.08119965 -5.19679976 1.92187488 +v -6.78176641 -4.97704983 1.58399987 +v -6.50661087 -4.77511644 1.30012488 +v -6.28001213 -4.60881901 1.06799984 +v -6.12624931 -4.49597406 0.88537484 +v -6.06960011 -4.45440006 0.75000000 +v -8.83611107 -4.59719229 3.85837460 +v -8.66704178 -4.50923014 3.28200006 +v -8.41788578 -4.37960100 2.76862478 +v -8.11534119 -4.22219467 2.31600022 +v -7.78609991 -4.05089903 1.92187500 +v -7.45685959 -3.87960386 1.58399987 +v -7.15431309 -3.72219753 1.30012488 +v -6.90515757 -3.59256864 1.06799984 +v -6.73608828 -3.50460649 0.88537484 +v -6.67379951 -3.47219920 0.75000000 +v -9.43111706 -3.16806579 3.85837460 +v -9.25066280 -3.10744858 3.28200006 +v -8.98472977 -3.01811743 2.76862478 +v -8.66181278 -2.90964413 2.31600022 +v -8.31040001 -2.79159927 1.92187500 +v -7.95898914 -2.67355442 1.58399987 +v -7.63607025 -2.56508064 1.30012488 +v -7.37013721 -2.47574949 1.06799984 +v -7.18968344 -2.41513205 0.88537484 +v -7.12319946 -2.39279938 0.75000000 +v -9.80210114 -1.62931275 3.85837460 +v -9.61454964 -1.59813786 3.28200006 +v -9.33815479 -1.55219543 2.76862478 +v -9.00253487 -1.49640846 2.31600022 +v -8.63730049 -1.43569875 1.92187500 +v -8.27206612 -1.37498915 1.58399987 +v -7.93644428 -1.31920207 1.30012488 +v -7.66005135 -1.27325964 1.06799984 +v -7.47249842 -1.24208450 0.88537484 +v -7.40339994 -1.23059881 0.75000000 +v -9.93000031 0.00000199 3.85837507 +v -9.74000072 0.00000195 3.28200006 +v -9.46000004 0.00000189 2.76862526 +v -9.12000084 0.00000183 2.31600022 +v -8.75000000 0.00000175 1.92187500 +v -8.38000107 0.00000168 1.58399999 +v -8.04000092 0.00000161 1.30012500 +v -7.76000023 0.00000155 1.06799984 +v -7.57000065 0.00000152 0.88537484 +v -7.50000048 0.00000150 0.74999994 +v -9.80210114 1.62931430 3.85837412 +v -9.61454964 1.59813929 3.28199983 +v -9.33815479 1.55219674 2.76862478 +v -9.00253487 1.49640965 2.31600022 +v -8.63729954 1.43570006 1.92187476 +v -8.27206516 1.37499034 1.58399963 +v -7.93644428 1.31920314 1.30012465 +v -7.66005039 1.27326071 1.06799972 +v -7.47249699 1.24208546 0.88537467 +v -7.40339947 1.23059988 0.74999994 +v -9.43111706 3.16806698 3.85837507 +v -9.25066471 3.10744977 3.28200006 +v -8.98472977 3.01811814 2.76862526 +v -8.66181278 2.90964508 2.31600022 +v -8.31040192 2.79159999 1.92187500 +v -7.95898962 2.67355490 1.58399999 +v -7.63607073 2.56508136 1.30012500 +v -7.37013817 2.47575021 1.06799996 +v -7.18968391 2.41513276 0.88537502 +v -7.12320089 2.39279985 0.75000012 +v -8.83611107 4.59719324 3.85837460 +v -8.66704178 4.50923109 3.28200006 +v -8.41788578 4.37960243 2.76862478 +v -8.11534119 4.22219610 2.31600022 +v -7.78609991 4.05090046 1.92187500 +v -7.45685959 3.87960529 1.58399987 +v -7.15431309 3.72219849 1.30012465 +v -6.90515757 3.59256983 1.06799984 +v -6.73608828 3.50460720 0.88537478 +v -6.67379951 3.47219992 0.74999994 +v -8.03615093 5.89762592 3.85837507 +v -7.88238811 5.78478146 3.28200006 +v -7.65578985 5.61848402 2.76862526 +v -7.38063431 5.41655159 2.31600022 +v -7.08120108 5.19680023 1.92187500 +v -6.78176689 4.97705030 1.58399999 +v -6.50661182 4.77511692 1.30012500 +v -6.28001308 4.60881948 1.06799996 +v -6.12625027 4.49597454 0.88537502 +v -6.06960058 4.45440006 0.75000012 +v -7.05029964 7.05029964 3.85837460 +v -6.91540051 6.91540051 3.28200006 +v -6.71659946 6.71659946 2.76862478 +v -6.47520113 6.47520113 2.31600022 +v -6.21250057 6.21250057 1.92187500 +v -5.94980049 5.94980049 1.58399987 +v -5.70839977 5.70839977 1.30012488 +v -5.50960016 5.50960016 1.06799984 +v -5.37469959 5.37469959 0.88537484 +v -5.32500029 5.32500029 0.75000000 +v -5.89762449 8.03614998 3.85837436 +v -5.78478098 7.88238764 3.28200006 +v -5.61848259 7.65578842 2.76862478 +v -5.41655111 7.38063431 2.31600022 +v -5.19679976 7.08119965 1.92187488 +v -4.97704983 6.78176641 1.58399987 +v -4.77511644 6.50661087 1.30012488 +v -4.60881901 6.28001213 1.06799984 +v -4.49597406 6.12624931 0.88537484 +v -4.45440006 6.06960011 0.75000000 +v -4.59719229 8.83611107 3.85837460 +v -4.50923014 8.66704178 3.28200006 +v -4.37960100 8.41788578 2.76862478 +v -4.22219467 8.11534119 2.31600022 +v -4.05089903 7.78609991 1.92187500 +v -3.87960386 7.45685959 1.58399987 +v -3.72219753 7.15431309 1.30012488 +v -3.59256864 6.90515757 1.06799984 +v -3.50460649 6.73608828 0.88537484 +v -3.47219920 6.67379951 0.75000000 +v -3.16806579 9.43111706 3.85837460 +v -3.10744858 9.25066280 3.28200006 +v -3.01811743 8.98472977 2.76862478 +v -2.90964413 8.66181278 2.31600022 +v -2.79159927 8.31040001 1.92187500 +v -2.67355442 7.95898914 1.58399987 +v -2.56508064 7.63607025 1.30012488 +v -2.47574949 7.37013721 1.06799984 +v -2.41513205 7.18968344 0.88537484 +v -2.39279938 7.12319946 0.75000000 +v -1.62931275 9.80210114 3.85837460 +v -1.59813786 9.61454964 3.28200006 +v -1.55219543 9.33815479 2.76862478 +v -1.49640846 9.00253487 2.31600022 +v -1.43569875 8.63730049 1.92187500 +v -1.37498915 8.27206612 1.58399987 +v -1.31920207 7.93644428 1.30012488 +v -1.27325964 7.66005135 1.06799984 +v -1.24208450 7.47249842 0.88537484 +v -1.23059881 7.40339994 0.75000000 +v 0.00000199 9.93000031 3.85837507 +v 0.00000195 9.74000072 3.28200006 +v 0.00000189 9.46000004 2.76862526 +v 0.00000183 9.12000084 2.31600022 +v 0.00000175 8.75000000 1.92187500 +v 0.00000168 8.38000107 1.58399999 +v 0.00000161 8.04000092 1.30012500 +v 0.00000155 7.76000023 1.06799984 +v 0.00000152 7.57000065 0.88537484 +v 0.00000150 7.50000048 0.74999994 +v 1.62931430 9.80210114 3.85837412 +v 1.59813929 9.61454964 3.28199983 +v 1.55219674 9.33815479 2.76862478 +v 1.49640965 9.00253487 2.31600022 +v 1.43570006 8.63729954 1.92187476 +v 1.37499034 8.27206516 1.58399963 +v 1.31920314 7.93644428 1.30012465 +v 1.27326071 7.66005039 1.06799972 +v 1.24208546 7.47249699 0.88537467 +v 1.23059988 7.40339947 0.74999994 +v 3.16806698 9.43111706 3.85837507 +v 3.10744977 9.25066471 3.28200006 +v 3.01811814 8.98472977 2.76862526 +v 2.90964508 8.66181278 2.31600022 +v 2.79159999 8.31040192 1.92187500 +v 2.67355490 7.95898962 1.58399999 +v 2.56508136 7.63607073 1.30012500 +v 2.47575021 7.37013817 1.06799996 +v 2.41513276 7.18968391 0.88537502 +v 2.39279985 7.12320089 0.75000012 +v 4.59719324 8.83611107 3.85837460 +v 4.50923109 8.66704178 3.28200006 +v 4.37960243 8.41788578 2.76862478 +v 4.22219610 8.11534119 2.31600022 +v 4.05090046 7.78609991 1.92187500 +v 3.87960529 7.45685959 1.58399987 +v 3.72219849 7.15431309 1.30012465 +v 3.59256983 6.90515757 1.06799984 +v 3.50460720 6.73608828 0.88537478 +v 3.47219992 6.67379951 0.74999994 +v 5.89762592 8.03615093 3.85837507 +v 5.78478146 7.88238811 3.28200006 +v 5.61848402 7.65578985 2.76862526 +v 5.41655159 7.38063431 2.31600022 +v 5.19680023 7.08120108 1.92187500 +v 4.97705030 6.78176689 1.58399999 +v 4.77511692 6.50661182 1.30012500 +v 4.60881948 6.28001308 1.06799996 +v 4.49597454 6.12625027 0.88537502 +v 4.45440006 6.06960058 0.75000012 +v 7.05029964 7.05029964 3.85837460 +v 6.91540051 6.91540051 3.28200006 +v 6.71659946 6.71659946 2.76862478 +v 6.47520113 6.47520113 2.31600022 +v 6.21250057 6.21250057 1.92187500 +v 5.94980049 5.94980049 1.58399987 +v 5.70839977 5.70839977 1.30012488 +v 5.50960016 5.50960016 1.06799984 +v 5.37469959 5.37469959 0.88537484 +v 5.32500029 5.32500029 0.75000000 +v 8.03614998 5.89762449 3.85837436 +v 7.88238764 5.78478098 3.28200006 +v 7.65578842 5.61848259 2.76862478 +v 7.38063431 5.41655111 2.31600022 +v 7.08119965 5.19679976 1.92187488 +v 6.78176641 4.97704983 1.58399987 +v 6.50661087 4.77511644 1.30012488 +v 6.28001213 4.60881901 1.06799984 +v 6.12624931 4.49597406 0.88537484 +v 6.06960011 4.45440006 0.75000000 +v 8.83611107 4.59719229 3.85837460 +v 8.66704178 4.50923014 3.28200006 +v 8.41788578 4.37960100 2.76862478 +v 8.11534119 4.22219467 2.31600022 +v 7.78609991 4.05089903 1.92187500 +v 7.45685959 3.87960386 1.58399987 +v 7.15431309 3.72219753 1.30012488 +v 6.90515757 3.59256864 1.06799984 +v 6.73608828 3.50460649 0.88537484 +v 6.67379951 3.47219920 0.75000000 +v 9.43111706 3.16806579 3.85837460 +v 9.25066280 3.10744858 3.28200006 +v 8.98472977 3.01811743 2.76862478 +v 8.66181278 2.90964413 2.31600022 +v 8.31040001 2.79159927 1.92187500 +v 7.95898914 2.67355442 1.58399987 +v 7.63607025 2.56508064 1.30012488 +v 7.37013721 2.47574949 1.06799984 +v 7.18968344 2.41513205 0.88537484 +v 7.12319946 2.39279938 0.75000000 +v 9.80210114 1.62931275 3.85837460 +v 9.61454964 1.59813786 3.28200006 +v 9.33815479 1.55219543 2.76862478 +v 9.00253487 1.49640846 2.31600022 +v 8.63730049 1.43569875 1.92187500 +v 8.27206612 1.37498915 1.58399987 +v 7.93644428 1.31920207 1.30012488 +v 7.66005135 1.27325964 1.06799984 +v 7.47249842 1.24208450 0.88537484 +v 7.40339994 1.23059881 0.75000000 +v 7.38600063 -1.22770798 0.63787490 +v 7.48237419 0.00000000 0.63787496 +v 7.30863571 -1.21484828 0.52800000 +v 7.40400076 0.00000000 0.52800006 +v 7.13354540 -1.18574452 0.42262495 +v 7.22662449 0.00000000 0.42262501 +v 6.82297325 -1.13412094 0.32400000 +v 6.91200066 0.00000000 0.32400006 +v 6.33916092 -1.05370116 0.23437500 +v 6.42187500 0.00000000 0.23437500 +v 5.64435196 -0.93820935 0.15599997 +v 5.71799946 0.00000000 0.15599999 +v 4.70078802 -0.78136933 0.09112497 +v 4.76212406 0.00000000 0.09112498 +v 3.47071266 -0.57690507 0.04199997 +v 3.51599884 0.00000000 0.04199997 +v 1.91636813 -0.31854051 0.01087498 +v 1.94137323 0.00000000 0.01087498 +v 0.00000000 0.00000000 0.00000000 +v 7.10646105 -2.38717675 0.63787508 +v 7.03202438 -2.36217213 0.52800006 +v 6.86356020 -2.30558205 0.42262501 +v 6.56474209 -2.20520473 0.32400009 +v 6.09924078 -2.04883504 0.23437503 +v 5.43072796 -1.82427073 0.15599999 +v 4.52287579 -1.51930821 0.09112499 +v 3.33935523 -1.12174439 0.04199997 +v 1.84383869 -0.61937582 0.01087498 +v 6.65811586 -3.46404028 0.63787490 +v 6.58837557 -3.42775607 0.52800000 +v 6.43054008 -3.34563828 0.42262495 +v 6.15057468 -3.19998002 0.32400000 +v 5.71444082 -2.97307134 0.23437500 +v 5.08810472 -2.64720535 0.15599997 +v 4.23752832 -2.20467305 0.09112497 +v 3.12867618 -1.62776685 0.04199997 +v 1.72751164 -0.89877814 0.01087498 +v 6.05533648 -4.44393206 0.63787508 +v 5.99190998 -4.39738417 0.52800006 +v 5.84836388 -4.29203749 0.42262501 +v 5.59374428 -4.10517550 0.32400009 +v 5.19709587 -3.81408024 0.23437503 +v 4.62746334 -3.39603448 0.15599999 +v 3.85389280 -2.82832098 0.09112499 +v 2.84542823 -2.08822227 0.04199997 +v 1.57111478 -1.15302050 0.01087498 +v 5.31248617 -5.31248617 0.63787496 +v 5.25684071 -5.25684071 0.52800006 +v 5.13090372 -5.13090372 0.42262501 +v 4.90752077 -4.90752077 0.32400006 +v 4.55953121 -4.55953121 0.23437500 +v 4.05978012 -4.05978012 0.15599999 +v 3.38110828 -3.38110828 0.09112498 +v 2.49635935 -2.49635935 0.04199997 +v 1.37837505 -1.37837505 0.01087498 +v 4.44393158 -6.05533600 0.63787496 +v 4.39738369 -5.99190903 0.52800006 +v 4.29203653 -5.84836245 0.42262501 +v 4.10517502 -5.59374332 0.32400006 +v 3.81407976 -5.19709492 0.23437500 +v 3.39603424 -4.62746286 0.15599999 +v 2.82832098 -3.85389209 0.09112498 +v 2.08822227 -2.84542775 0.04199997 +v 1.15302038 -1.57111466 0.01087498 +v 3.46403933 -6.65811586 0.63787496 +v 3.42775488 -6.58837557 0.52800006 +v 3.34563756 -6.43054008 0.42262501 +v 3.19997883 -6.15057468 0.32400006 +v 2.97307062 -5.71444082 0.23437500 +v 2.64720464 -5.08810472 0.15599999 +v 2.20467281 -4.23752832 0.09112498 +v 1.62776649 -3.12867618 0.04199997 +v 0.89877796 -1.72751164 0.01087498 +v 2.38717604 -7.10645962 0.63787496 +v 2.36217165 -7.03202295 0.52800006 +v 2.30558181 -6.86355972 0.42262501 +v 2.20520401 -6.56474161 0.32400006 +v 2.04883432 -6.09924030 0.23437500 +v 1.82427001 -5.43072748 0.15599999 +v 1.51930785 -4.52287626 0.09112498 +v 1.12174404 -3.33935547 0.04199997 +v 0.61937553 -1.84383893 0.01087498 +v 1.22770691 -7.38600063 0.63787496 +v 1.21484733 -7.30863667 0.52800006 +v 1.18574357 -7.13354588 0.42262501 +v 1.13411999 -6.82297421 0.32400006 +v 1.05370033 -6.33916140 0.23437500 +v 0.93820858 -5.64435244 0.15599999 +v 0.78136867 -4.70078850 0.09112498 +v 0.57690465 -3.47071290 0.04199997 +v 0.31854028 -1.91636860 0.01087498 +v -0.00000150 -7.48237514 0.63787490 +v -0.00000148 -7.40400124 0.52800000 +v -0.00000145 -7.22662449 0.42262495 +v -0.00000138 -6.91200066 0.32400000 +v -0.00000129 -6.42187500 0.23437500 +v -0.00000115 -5.71799946 0.15599997 +v -0.00000095 -4.76212406 0.09112497 +v -0.00000070 -3.51599908 0.04199997 +v -0.00000039 -1.94137323 0.01087498 +v -1.22770798 -7.38600063 0.63787490 +v -1.21484828 -7.30863571 0.52800000 +v -1.18574452 -7.13354540 0.42262495 +v -1.13412094 -6.82297325 0.32400000 +v -1.05370116 -6.33916092 0.23437500 +v -0.93820935 -5.64435196 0.15599997 +v -0.78136933 -4.70078802 0.09112497 +v -0.57690507 -3.47071266 0.04199997 +v -0.31854051 -1.91636813 0.01087498 +v -2.38717675 -7.10646105 0.63787508 +v -2.36217213 -7.03202438 0.52800006 +v -2.30558205 -6.86356020 0.42262501 +v -2.20520473 -6.56474209 0.32400009 +v -2.04883504 -6.09924078 0.23437503 +v -1.82427073 -5.43072796 0.15599999 +v -1.51930821 -4.52287579 0.09112499 +v -1.12174439 -3.33935523 0.04199997 +v -0.61937582 -1.84383869 0.01087498 +v -3.46404028 -6.65811586 0.63787490 +v -3.42775607 -6.58837557 0.52800000 +v -3.34563828 -6.43054008 0.42262495 +v -3.19998002 -6.15057468 0.32400000 +v -2.97307134 -5.71444082 0.23437500 +v -2.64720535 -5.08810472 0.15599997 +v -2.20467305 -4.23752832 0.09112497 +v -1.62776685 -3.12867618 0.04199997 +v -0.89877814 -1.72751164 0.01087498 +v -4.44393206 -6.05533648 0.63787508 +v -4.39738417 -5.99190998 0.52800006 +v -4.29203749 -5.84836388 0.42262501 +v -4.10517550 -5.59374428 0.32400009 +v -3.81408024 -5.19709587 0.23437503 +v -3.39603448 -4.62746334 0.15599999 +v -2.82832098 -3.85389280 0.09112499 +v -2.08822227 -2.84542823 0.04199997 +v -1.15302050 -1.57111478 0.01087498 +v -5.31248617 -5.31248617 0.63787496 +v -5.25684071 -5.25684071 0.52800006 +v -5.13090372 -5.13090372 0.42262501 +v -4.90752077 -4.90752077 0.32400006 +v -4.55953121 -4.55953121 0.23437500 +v -4.05978012 -4.05978012 0.15599999 +v -3.38110828 -3.38110828 0.09112498 +v -2.49635935 -2.49635935 0.04199997 +v -1.37837505 -1.37837505 0.01087498 +v -6.05533600 -4.44393158 0.63787496 +v -5.99190903 -4.39738369 0.52800006 +v -5.84836245 -4.29203653 0.42262501 +v -5.59374332 -4.10517502 0.32400006 +v -5.19709492 -3.81407976 0.23437500 +v -4.62746286 -3.39603424 0.15599999 +v -3.85389209 -2.82832098 0.09112498 +v -2.84542775 -2.08822227 0.04199997 +v -1.57111466 -1.15302038 0.01087498 +v -6.65811586 -3.46403933 0.63787496 +v -6.58837557 -3.42775488 0.52800006 +v -6.43054008 -3.34563756 0.42262501 +v -6.15057468 -3.19997883 0.32400006 +v -5.71444082 -2.97307062 0.23437500 +v -5.08810472 -2.64720464 0.15599999 +v -4.23752832 -2.20467281 0.09112498 +v -3.12867618 -1.62776649 0.04199997 +v -1.72751164 -0.89877796 0.01087498 +v -7.10645962 -2.38717604 0.63787496 +v -7.03202295 -2.36217165 0.52800006 +v -6.86355972 -2.30558181 0.42262501 +v -6.56474161 -2.20520401 0.32400006 +v -6.09924030 -2.04883432 0.23437500 +v -5.43072748 -1.82427001 0.15599999 +v -4.52287626 -1.51930785 0.09112498 +v -3.33935547 -1.12174404 0.04199997 +v -1.84383893 -0.61937553 0.01087498 +v -7.38600063 -1.22770691 0.63787496 +v -7.30863667 -1.21484733 0.52800006 +v -7.13354588 -1.18574357 0.42262501 +v -6.82297421 -1.13411999 0.32400006 +v -6.33916140 -1.05370033 0.23437500 +v -5.64435244 -0.93820858 0.15599999 +v -4.70078850 -0.78136867 0.09112498 +v -3.47071290 -0.57690465 0.04199997 +v -1.91636860 -0.31854028 0.01087498 +v -7.48237514 0.00000150 0.63787490 +v -7.40400124 0.00000148 0.52800000 +v -7.22662449 0.00000145 0.42262495 +v -6.91200066 0.00000138 0.32400000 +v -6.42187500 0.00000129 0.23437500 +v -5.71799946 0.00000115 0.15599997 +v -4.76212406 0.00000095 0.09112497 +v -3.51599908 0.00000070 0.04199997 +v -1.94137323 0.00000039 0.01087498 +v -7.38600063 1.22770798 0.63787490 +v -7.30863571 1.21484828 0.52800000 +v -7.13354540 1.18574452 0.42262495 +v -6.82297325 1.13412094 0.32400000 +v -6.33916092 1.05370116 0.23437500 +v -5.64435196 0.93820935 0.15599997 +v -4.70078802 0.78136933 0.09112497 +v -3.47071266 0.57690507 0.04199997 +v -1.91636813 0.31854051 0.01087498 +v -7.10646105 2.38717675 0.63787508 +v -7.03202438 2.36217213 0.52800006 +v -6.86356020 2.30558205 0.42262501 +v -6.56474209 2.20520473 0.32400009 +v -6.09924078 2.04883504 0.23437503 +v -5.43072796 1.82427073 0.15599999 +v -4.52287579 1.51930821 0.09112499 +v -3.33935523 1.12174439 0.04199997 +v -1.84383869 0.61937582 0.01087498 +v -6.65811586 3.46404028 0.63787490 +v -6.58837557 3.42775607 0.52800000 +v -6.43054008 3.34563828 0.42262495 +v -6.15057468 3.19998002 0.32400000 +v -5.71444082 2.97307134 0.23437500 +v -5.08810472 2.64720535 0.15599997 +v -4.23752832 2.20467305 0.09112497 +v -3.12867618 1.62776685 0.04199997 +v -1.72751164 0.89877814 0.01087498 +v -6.05533648 4.44393206 0.63787508 +v -5.99190998 4.39738417 0.52800006 +v -5.84836388 4.29203749 0.42262501 +v -5.59374428 4.10517550 0.32400009 +v -5.19709587 3.81408024 0.23437503 +v -4.62746334 3.39603448 0.15599999 +v -3.85389280 2.82832098 0.09112499 +v -2.84542823 2.08822227 0.04199997 +v -1.57111478 1.15302050 0.01087498 +v -5.31248617 5.31248617 0.63787496 +v -5.25684071 5.25684071 0.52800006 +v -5.13090372 5.13090372 0.42262501 +v -4.90752077 4.90752077 0.32400006 +v -4.55953121 4.55953121 0.23437500 +v -4.05978012 4.05978012 0.15599999 +v -3.38110828 3.38110828 0.09112498 +v -2.49635935 2.49635935 0.04199997 +v -1.37837505 1.37837505 0.01087498 +v -4.44393158 6.05533600 0.63787496 +v -4.39738369 5.99190903 0.52800006 +v -4.29203653 5.84836245 0.42262501 +v -4.10517502 5.59374332 0.32400006 +v -3.81407976 5.19709492 0.23437500 +v -3.39603424 4.62746286 0.15599999 +v -2.82832098 3.85389209 0.09112498 +v -2.08822227 2.84542775 0.04199997 +v -1.15302038 1.57111466 0.01087498 +v -3.46403933 6.65811586 0.63787496 +v -3.42775488 6.58837557 0.52800006 +v -3.34563756 6.43054008 0.42262501 +v -3.19997883 6.15057468 0.32400006 +v -2.97307062 5.71444082 0.23437500 +v -2.64720464 5.08810472 0.15599999 +v -2.20467281 4.23752832 0.09112498 +v -1.62776649 3.12867618 0.04199997 +v -0.89877796 1.72751164 0.01087498 +v -2.38717604 7.10645962 0.63787496 +v -2.36217165 7.03202295 0.52800006 +v -2.30558181 6.86355972 0.42262501 +v -2.20520401 6.56474161 0.32400006 +v -2.04883432 6.09924030 0.23437500 +v -1.82427001 5.43072748 0.15599999 +v -1.51930785 4.52287626 0.09112498 +v -1.12174404 3.33935547 0.04199997 +v -0.61937553 1.84383893 0.01087498 +v -1.22770691 7.38600063 0.63787496 +v -1.21484733 7.30863667 0.52800006 +v -1.18574357 7.13354588 0.42262501 +v -1.13411999 6.82297421 0.32400006 +v -1.05370033 6.33916140 0.23437500 +v -0.93820858 5.64435244 0.15599999 +v -0.78136867 4.70078850 0.09112498 +v -0.57690465 3.47071290 0.04199997 +v -0.31854028 1.91636860 0.01087498 +v 0.00000150 7.48237514 0.63787490 +v 0.00000148 7.40400124 0.52800000 +v 0.00000145 7.22662449 0.42262495 +v 0.00000138 6.91200066 0.32400000 +v 0.00000129 6.42187500 0.23437500 +v 0.00000115 5.71799946 0.15599997 +v 0.00000095 4.76212406 0.09112497 +v 0.00000070 3.51599908 0.04199997 +v 0.00000039 1.94137323 0.01087498 +v 1.22770798 7.38600063 0.63787490 +v 1.21484828 7.30863571 0.52800000 +v 1.18574452 7.13354540 0.42262495 +v 1.13412094 6.82297325 0.32400000 +v 1.05370116 6.33916092 0.23437500 +v 0.93820935 5.64435196 0.15599997 +v 0.78136933 4.70078802 0.09112497 +v 0.57690507 3.47071266 0.04199997 +v 0.31854051 1.91636813 0.01087498 +v 2.38717675 7.10646105 0.63787508 +v 2.36217213 7.03202438 0.52800006 +v 2.30558205 6.86356020 0.42262501 +v 2.20520473 6.56474209 0.32400009 +v 2.04883504 6.09924078 0.23437503 +v 1.82427073 5.43072796 0.15599999 +v 1.51930821 4.52287579 0.09112499 +v 1.12174439 3.33935523 0.04199997 +v 0.61937582 1.84383869 0.01087498 +v 3.46404028 6.65811586 0.63787490 +v 3.42775607 6.58837557 0.52800000 +v 3.34563828 6.43054008 0.42262495 +v 3.19998002 6.15057468 0.32400000 +v 2.97307134 5.71444082 0.23437500 +v 2.64720535 5.08810472 0.15599997 +v 2.20467305 4.23752832 0.09112497 +v 1.62776685 3.12867618 0.04199997 +v 0.89877814 1.72751164 0.01087498 +v 4.44393206 6.05533648 0.63787508 +v 4.39738417 5.99190998 0.52800006 +v 4.29203749 5.84836388 0.42262501 +v 4.10517550 5.59374428 0.32400009 +v 3.81408024 5.19709587 0.23437503 +v 3.39603448 4.62746334 0.15599999 +v 2.82832098 3.85389280 0.09112499 +v 2.08822227 2.84542823 0.04199997 +v 1.15302050 1.57111478 0.01087498 +v 5.31248617 5.31248617 0.63787496 +v 5.25684071 5.25684071 0.52800006 +v 5.13090372 5.13090372 0.42262501 +v 4.90752077 4.90752077 0.32400006 +v 4.55953121 4.55953121 0.23437500 +v 4.05978012 4.05978012 0.15599999 +v 3.38110828 3.38110828 0.09112498 +v 2.49635935 2.49635935 0.04199997 +v 1.37837505 1.37837505 0.01087498 +v 6.05533600 4.44393158 0.63787496 +v 5.99190903 4.39738369 0.52800006 +v 5.84836245 4.29203653 0.42262501 +v 5.59374332 4.10517502 0.32400006 +v 5.19709492 3.81407976 0.23437500 +v 4.62746286 3.39603424 0.15599999 +v 3.85389209 2.82832098 0.09112498 +v 2.84542775 2.08822227 0.04199997 +v 1.57111466 1.15302038 0.01087498 +v 6.65811586 3.46403933 0.63787496 +v 6.58837557 3.42775488 0.52800006 +v 6.43054008 3.34563756 0.42262501 +v 6.15057468 3.19997883 0.32400006 +v 5.71444082 2.97307062 0.23437500 +v 5.08810472 2.64720464 0.15599999 +v 4.23752832 2.20467281 0.09112498 +v 3.12867618 1.62776649 0.04199997 +v 1.72751164 0.89877796 0.01087498 +v 7.10645962 2.38717604 0.63787496 +v 7.03202295 2.36217165 0.52800006 +v 6.86355972 2.30558181 0.42262501 +v 6.56474161 2.20520401 0.32400006 +v 6.09924030 2.04883432 0.23437500 +v 5.43072748 1.82427001 0.15599999 +v 4.52287626 1.51930785 0.09112498 +v 3.33935547 1.12174404 0.04199997 +v 1.84383893 0.61937553 0.01087498 +v 7.38600063 1.22770691 0.63787496 +v 7.30863667 1.21484733 0.52800006 +v 7.13354588 1.18574357 0.42262501 +v 6.82297421 1.13411999 0.32400006 +v 6.33916140 1.05370033 0.23437500 +v 5.64435244 0.93820858 0.15599999 +v 4.70078850 0.78136867 0.09112498 +v 3.47071290 0.57690465 0.04199997 +v 1.91636860 0.31854028 0.01087498 +v -8.00000000 0.00000000 10.12500000 +v -7.98599958 -0.40500000 10.15649986 +v -9.00227356 -0.40499997 10.15534401 +v -9.00449848 0.00000000 10.12387466 +v -9.92395210 -0.40500000 10.14724827 +v -9.91600132 0.00000000 10.11600113 +v -10.74811840 -0.40500000 10.12527561 +v -10.73150063 0.00000000 10.09462547 +v -11.47185707 -0.40500003 10.08248425 +v -11.44800186 0.00000000 10.05300140 +v -12.09225082 -0.40500000 10.01193810 +v -12.06250095 0.00000000 9.98437595 +v -12.60638332 -0.40500003 9.90669632 +v -12.57200050 0.00000000 9.88199997 +v -13.01134205 -0.40500000 9.75981998 +v -12.97350025 0.00000000 9.73912525 +v -13.30420685 -0.40500000 9.56437206 +v -13.26399994 0.00000000 9.54899979 +v -13.48206615 -0.40500000 9.31341076 +v -13.44050026 0.00000000 9.30487537 +v -13.54199982 -0.40500000 8.99999809 +v -13.50000000 0.00000000 9.00000000 +v -7.94800043 -0.72000003 10.24199963 +v -8.99623203 -0.72000003 10.24075603 +v -9.94553757 -0.72000003 10.23206520 +v -10.79322624 -0.72000003 10.20846748 +v -11.53660870 -0.72000015 10.16251373 +v -12.17300224 -0.72000015 10.08675003 +v -12.69971275 -0.72000003 9.97372723 +v -13.11405659 -0.72000003 9.81599426 +v -13.41334534 -0.72000003 9.60609531 +v -13.59488964 -0.72000003 9.33658218 +v -13.65600109 -0.72000003 9.00000000 +v -7.89200020 -0.94500005 10.36800003 +v -8.98732758 -0.94500005 10.36663151 +v -9.97734451 -0.94500005 10.35705662 +v -10.85969543 -0.94500005 10.33106422 +v -11.63203239 -0.94500005 10.28044796 +v -12.29200172 -0.94500005 10.19700050 +v -12.83724880 -0.94500005 10.07251263 +v -13.26542377 -0.94500005 9.89877605 +v -13.57417583 -0.94500005 9.66758347 +v -13.76115322 -0.94500005 9.37072754 +v -13.82400036 -0.94500005 9.00000000 +v -7.82400084 -1.08000016 10.52100086 +v -8.97651577 -1.08000016 10.51947975 +v -10.01596928 -1.08000016 10.50883389 +v -10.94041348 -1.08000016 10.47993279 +v -11.74790573 -1.08000028 10.42365646 +v -12.43649960 -1.08000016 10.33087540 +v -13.00425720 -1.08000016 10.19246483 +v -13.44922924 -1.08000016 9.99929714 +v -13.76947308 -1.08000016 9.74224854 +v -13.96304321 -1.08000016 9.41219139 +v -14.02800083 -1.08000016 9.00000000 +v -7.75000000 -1.12500000 10.68750000 +v -8.96474934 -1.12500000 10.68581390 +v -10.05800056 -1.12500000 10.67400074 +v -11.02824974 -1.12500000 10.64193726 +v -11.87400055 -1.12500024 10.57950115 +v -12.59375000 -1.12500000 10.47656250 +v -13.18599892 -1.12500000 10.32300091 +v -13.64924908 -1.12500000 10.10868835 +v -13.98200035 -1.12500000 9.82349968 +v -14.18274975 -1.12500012 9.45731258 +v -14.25000000 -1.12500000 9.00000000 +v -7.67599964 -1.07999992 10.85400105 +v -8.95298386 -1.07999992 10.85214615 +v -10.10003185 -1.08000004 10.83916759 +v -11.11608696 -1.08000004 10.80394268 +v -12.00009727 -1.08000016 10.73534584 +v -12.75099945 -1.07999992 10.62225151 +v -13.36774445 -1.07999992 10.45353699 +v -13.84927177 -1.07999992 10.21807671 +v -14.19452763 -1.07999992 9.90475178 +v -14.40245628 -1.07999992 9.50243378 +v -14.47199917 -1.07999992 8.99999905 +v -7.60799980 -0.94499993 11.00699997 +v -8.94217110 -0.94499981 11.00499249 +v -10.13865566 -0.94499999 10.99094486 +v -11.19680405 -0.94499993 10.95281124 +v -12.11596870 -0.94499999 10.87855339 +v -12.89549923 -0.94499993 10.75612545 +v -13.53474998 -0.94499981 10.57348824 +v -14.03307724 -0.94499993 10.31859970 +v -14.38982201 -0.94499993 9.97941589 +v -14.60434723 -0.94499993 9.54389668 +v -14.67599869 -0.94499993 9.00000000 +v -7.55199957 -0.71999973 11.13299942 +v -8.93326664 -0.71999967 11.13086605 +v -10.17046452 -0.71999973 11.11593628 +v -11.26327515 -0.71999973 11.07540894 +v -12.21139336 -0.71999991 10.99648952 +v -13.01449966 -0.71999973 10.86637497 +v -13.67228699 -0.71999973 10.67227268 +v -14.18444443 -0.71999979 10.40138054 +v -14.55065727 -0.71999973 10.04090309 +v -14.77061272 -0.71999973 9.57804298 +v -14.84399986 -0.71999973 9.00000000 +v -7.51399994 -0.40499967 11.21849918 +v -8.92722511 -0.40499961 11.21627998 +v -10.19204903 -0.40499970 11.20075226 +v -11.30838203 -0.40499967 11.15859890 +v -12.27614594 -0.40499967 11.07651615 +v -13.09525013 -0.40499967 10.94118595 +v -13.76561642 -0.40499967 10.73930359 +v -14.28715897 -0.40499967 10.45755386 +v -14.65979385 -0.40499961 10.08262634 +v -14.88343430 -0.40499961 9.60121250 +v -14.95800018 -0.40499967 9.00000000 +v -7.50000048 0.00000054 11.25000000 +v -8.92499924 0.00000054 11.24774933 +v -10.20000076 0.00000054 11.23200035 +v -11.32499886 0.00000054 11.18924999 +v -12.30000019 0.00000054 11.10600090 +v -13.12500000 0.00000054 10.96875000 +v -13.80000114 0.00000054 10.76399994 +v -14.32500076 0.00000054 10.47824955 +v -14.70000172 0.00000054 10.09799957 +v -14.92500210 0.00000054 9.60975075 +v -15.00000095 0.00000054 9.00000000 +v -7.51399946 0.40500000 11.21849918 +v -8.92722511 0.40499997 11.21627998 +v -10.19204712 0.40500000 11.20075226 +v -11.30838013 0.40500000 11.15859890 +v -12.27614307 0.40500003 11.07651615 +v -13.09524918 0.40500000 10.94118595 +v -13.76561356 0.40500003 10.73930264 +v -14.28715706 0.40500000 10.45755291 +v -14.65979099 0.40500000 10.08262634 +v -14.88343239 0.40500000 9.60121155 +v -14.95799923 0.40500000 8.99999809 +v -7.55200100 0.72000003 11.13300228 +v -8.93326855 0.72000003 11.13086796 +v -10.17046452 0.72000003 11.11593819 +v -11.26327610 0.72000003 11.07541084 +v -12.21139431 0.72000015 10.99649048 +v -13.01449966 0.72000015 10.86637592 +v -13.67228985 0.72000003 10.67227364 +v -14.18444633 0.72000003 10.40138245 +v -14.55065727 0.72000003 10.04090309 +v -14.77061462 0.72000003 9.57804394 +v -14.84400272 0.72000003 9.00000000 +v -7.60799980 0.94500005 11.00699997 +v -8.94217110 0.94500005 11.00499249 +v -10.13865662 0.94500005 10.99094486 +v -11.19680405 0.94500005 10.95281124 +v -12.11596966 0.94500005 10.87855339 +v -12.89550018 0.94500005 10.75612545 +v -13.53475380 0.94500005 10.57348824 +v -14.03307724 0.94500005 10.31859970 +v -14.38982487 0.94500005 9.97941589 +v -14.60434914 0.94500005 9.54389668 +v -14.67600060 0.94500005 9.00000000 +v -7.67600060 1.08000016 10.85400200 +v -8.95298386 1.08000016 10.85214710 +v -10.10003185 1.08000016 10.83917141 +v -11.11608982 1.08000016 10.80394363 +v -12.00009823 1.08000028 10.73534870 +v -12.75100136 1.08000016 10.62225246 +v -13.36774635 1.08000016 10.45353889 +v -13.84927368 1.08000016 10.21807861 +v -14.19453049 1.08000016 9.90475273 +v -14.40245724 1.08000016 9.50243473 +v -14.47200203 1.08000016 9.00000000 +v -7.75000048 1.12500000 10.68750000 +v -8.96475029 1.12500000 10.68581390 +v -10.05800056 1.12500000 10.67400074 +v -11.02825069 1.12500000 10.64193726 +v -11.87400055 1.12500024 10.57950115 +v -12.59375000 1.12500000 10.47656250 +v -13.18600082 1.12500000 10.32300091 +v -13.64925003 1.12500000 10.10868835 +v -13.98200035 1.12500000 9.82349968 +v -14.18275070 1.12500012 9.45731258 +v -14.25000095 1.12500000 9.00000000 +v -7.82400036 1.07999992 10.52100086 +v -8.97651577 1.07999992 10.51947975 +v -10.01596832 1.08000004 10.50883389 +v -10.94041348 1.08000004 10.47993279 +v -11.74790573 1.08000016 10.42365646 +v -12.43649960 1.07999992 10.33087540 +v -13.00425720 1.07999992 10.19246292 +v -13.44922924 1.07999992 9.99929619 +v -13.76947308 1.07999992 9.74224854 +v -13.96304321 1.07999992 9.41219044 +v -14.02800083 1.07999992 8.99999905 +v -7.89200068 0.94499993 10.36800003 +v -8.98732853 0.94499981 10.36663151 +v -9.97734451 0.94499999 10.35705662 +v -10.85969543 0.94499993 10.33106422 +v -11.63203239 0.94499999 10.28044796 +v -12.29200172 0.94499993 10.19700050 +v -12.83724880 0.94499981 10.07251263 +v -13.26542377 0.94499993 9.89877605 +v -13.57417583 0.94499993 9.66758347 +v -13.76115322 0.94499993 9.37072754 +v -13.82400036 0.94499993 9.00000000 +v -7.94799995 0.71999973 10.24200058 +v -8.99623108 0.71999967 10.24075890 +v -9.94553566 0.71999973 10.23206615 +v -10.79322338 0.71999973 10.20846748 +v -11.53660870 0.71999991 10.16251469 +v -12.17299938 0.71999973 10.08675098 +v -12.69971275 0.71999973 9.97372818 +v -13.11405659 0.71999979 9.81599617 +v -13.41334534 0.71999973 9.60609627 +v -13.59488964 0.71999973 9.33658218 +v -13.65600109 0.71999973 9.00000000 +v -7.98599958 0.40499967 10.15649986 +v -9.00227356 0.40499961 10.15534401 +v -9.92395210 0.40499970 10.14724827 +v -10.74811840 0.40499967 10.12527561 +v -11.47185707 0.40499967 10.08248425 +v -12.09225082 0.40499967 10.01193810 +v -12.60638332 0.40499967 9.90669632 +v -13.01134205 0.40499967 9.75982094 +v -13.30420685 0.40499961 9.56437206 +v -13.48206615 0.40499961 9.31341171 +v -13.54199982 0.40499967 9.00000000 +v -13.51087570 -0.40499997 8.62259293 +v -13.46950054 0.00000000 8.63099957 +v -13.41553688 -0.40500000 8.19304752 +v -13.37600136 0.00000000 8.20800018 +v -13.25301743 -0.40500000 7.72451305 +v -13.21650028 0.00000000 7.74450064 +v -13.02036858 -0.40500003 7.23014402 +v -12.98800087 0.00000000 7.25400066 +v -12.71462440 -0.40500000 6.72309351 +v -12.68750000 0.00000000 6.75000000 +v -12.33283138 -0.40500003 6.21651554 +v -12.31200027 0.00000000 6.24599981 +v -11.87202930 -0.40500000 5.72356319 +v -11.85850048 0.00000000 5.75550032 +v -11.32926178 -0.40500000 5.25739098 +v -11.32400036 0.00000000 5.29199982 +v -10.70157146 -0.40500000 4.83115149 +v -10.70549965 0.00000000 4.86899948 +v -9.98599911 -0.40500000 4.45799923 +v -10.00000000 0.00000000 4.50000000 +v -13.62318611 -0.72000003 8.59977913 +v -13.52285004 -0.72000003 8.15246487 +v -13.35214424 -0.72000003 7.67026472 +v -13.10822582 -0.72000015 7.16539383 +v -12.78824997 -0.72000015 6.65006351 +v -12.38937569 -0.72000003 6.13648844 +v -11.90875816 -0.72000003 5.63688183 +v -11.34355164 -0.72000003 5.16345549 +v -10.69091320 -0.72000003 4.72842407 +v -9.94800091 -0.72000003 4.34400034 +v -13.78869438 -0.94500005 8.56615829 +v -13.68099403 -0.94500005 8.09265614 +v -13.49821949 -0.94500005 7.59031677 +v -13.23769665 -0.94500005 7.06996870 +v -12.89674950 -0.94500005 6.54243755 +v -12.47270489 -0.94500005 6.01855230 +v -11.96288204 -0.94500005 5.50913858 +v -11.36460781 -0.94500005 5.02502441 +v -10.67520523 -0.94500005 4.57703543 +v -9.89200020 -0.94500005 4.17600060 +v -13.98966885 -1.08000016 8.52533436 +v -13.87302494 -1.08000016 8.02003288 +v -13.67559624 -1.08000016 7.49323893 +v -13.39491367 -1.08000028 6.95409727 +v -13.02850151 -1.08000016 6.41175079 +v -12.57388878 -1.08000016 5.87534475 +v -12.02860451 -1.08000016 5.35402250 +v -11.39017582 -1.08000016 4.85692835 +v -10.65613270 -1.08000016 4.39320564 +v -9.82400036 -1.08000016 3.97200012 +v -14.20837402 -1.12500000 8.48090553 +v -14.08200073 -1.12500000 7.94100046 +v -13.86862373 -1.12500000 7.38759422 +v -13.56599998 -1.12500024 6.82800055 +v -13.17187500 -1.12500000 6.26953125 +v -12.68399811 -1.12500000 5.71950006 +v -12.10012436 -1.12500000 5.18521881 +v -11.41799927 -1.12500000 4.67399979 +v -10.63537407 -1.12500012 4.19315577 +v -9.75000000 -1.12500000 3.75000000 +v -14.42708015 -1.07999992 8.43647766 +v -14.29097939 -1.08000004 7.86196899 +v -14.06165218 -1.08000004 7.28194904 +v -13.73708820 -1.08000016 6.70190430 +v -13.31524944 -1.07999992 6.12731266 +v -12.79411221 -1.07999992 5.56365585 +v -12.17164612 -1.07999992 5.01641560 +v -11.44582367 -1.07999992 4.49107170 +v -10.61461639 -1.07999992 3.99310613 +v -9.67599964 -1.07999992 3.52800012 +v -14.62805367 -0.94499981 8.39565182 +v -14.48300743 -0.94499999 7.78934431 +v -14.23903084 -0.94499993 7.18487024 +v -13.89430523 -0.94499999 6.58603239 +v -13.44699955 -0.94499993 5.99662495 +v -12.89529610 -0.94499981 5.42044735 +v -12.23736763 -0.94499993 4.86129904 +v -11.47139072 -0.94499993 4.32297516 +v -10.59554291 -0.94499993 3.80927610 +v -9.60799980 -0.94499993 3.32399988 +v -14.79356384 -0.71999967 8.36203098 +v -14.64115238 -0.71999973 7.72953606 +v -14.38510895 -0.71999973 7.10492420 +v -14.02377892 -0.71999991 6.49060917 +v -13.55550003 -0.71999973 5.88900042 +v -12.97862530 -0.71999973 5.30251217 +v -12.29149055 -0.71999979 4.73355579 +v -11.49244785 -0.71999973 4.18454361 +v -10.57983494 -0.71999973 3.65788746 +v -9.55200005 -0.71999973 3.15599966 +v -14.90587234 -0.40499961 8.33921623 +v -14.74846458 -0.40499970 7.68895149 +v -14.48423195 -0.40499967 7.05067396 +v -14.11163330 -0.40499967 6.42585659 +v -13.62912560 -0.40499967 5.81596947 +v -13.03516769 -0.40499967 5.22248363 +v -12.32821941 -0.40499967 4.64687300 +v -11.50673485 -0.40499961 4.09060764 +v -10.56917572 -0.40499961 3.55515909 +v -9.51399899 -0.40499967 3.04199982 +v -14.94724846 0.00000054 8.33081245 +v -14.78800297 0.00000054 7.67400026 +v -14.52075005 0.00000054 7.03068733 +v -14.14400196 0.00000054 6.40200043 +v -13.65625000 0.00000054 5.78906298 +v -13.05599976 0.00000054 5.19299984 +v -12.34174919 0.00000054 4.61493731 +v -11.51199913 0.00000054 4.05599976 +v -10.56524849 0.00000054 3.51731181 +v -9.50000000 0.00000054 2.99999976 +v -14.90587139 0.40499997 8.33921528 +v -14.74846268 0.40500000 7.68895149 +v -14.48422909 0.40500000 7.05067396 +v -14.11163330 0.40500003 6.42585659 +v -13.62912369 0.40500000 5.81596851 +v -13.03516769 0.40500003 5.22248316 +v -12.32821655 0.40500000 4.64687252 +v -11.50673485 0.40500000 4.09060717 +v -10.56917572 0.40500000 3.55515909 +v -9.51399899 0.40500000 3.04199982 +v -14.79356670 0.72000003 8.36203194 +v -14.64115524 0.72000003 7.72953606 +v -14.38511086 0.72000003 7.10492420 +v -14.02377892 0.72000015 6.49060917 +v -13.55550194 0.72000015 5.88900042 +v -12.97862530 0.72000003 5.30251217 +v -12.29149246 0.72000003 4.73355579 +v -11.49244785 0.72000003 4.18454409 +v -10.57983494 0.72000003 3.65788746 +v -9.55200005 0.72000003 3.15600014 +v -14.62805653 0.94500005 8.39565182 +v -14.48300934 0.94500005 7.78934431 +v -14.23903370 0.94500005 7.18487215 +v -13.89430618 0.94500005 6.58603287 +v -13.44700050 0.94500005 5.99662495 +v -12.89529610 0.94500005 5.42044735 +v -12.23736858 0.94500005 4.86129904 +v -11.47139072 0.94500005 4.32297516 +v -10.59554291 0.94500005 3.80927610 +v -9.60799980 0.94500005 3.32399988 +v -14.42708206 1.08000016 8.43647766 +v -14.29097939 1.08000016 7.86196899 +v -14.06165504 1.08000016 7.28195000 +v -13.73709202 1.08000028 6.70190430 +v -13.31525040 1.08000016 6.12731266 +v -12.79411316 1.08000016 5.56365585 +v -12.17164612 1.08000016 5.01641560 +v -11.44582558 1.08000016 4.49107218 +v -10.61461830 1.08000016 3.99310613 +v -9.67600060 1.08000016 3.52800035 +v -14.20837498 1.12500000 8.48090553 +v -14.08200073 1.12500000 7.94099998 +v -13.86862564 1.12500000 7.38759422 +v -13.56599998 1.12500024 6.82800055 +v -13.17187500 1.12500000 6.26953125 +v -12.68400002 1.12500000 5.71950006 +v -12.10012531 1.12500000 5.18521833 +v -11.41799927 1.12500000 4.67399931 +v -10.63537502 1.12500012 4.19315577 +v -9.75000000 1.12500000 3.75000000 +v -13.98966885 1.07999992 8.52533340 +v -13.87302494 1.08000004 8.02003193 +v -13.67559624 1.08000004 7.49323845 +v -13.39491367 1.08000016 6.95409679 +v -13.02849960 1.07999992 6.41175032 +v -12.57388687 1.07999992 5.87534428 +v -12.02860355 1.07999992 5.35402203 +v -11.39017582 1.07999992 4.85692739 +v -10.65612984 1.07999992 4.39320517 +v -9.82399940 1.07999992 3.97199988 +v -13.78869438 0.94499981 8.56615829 +v -13.68099403 0.94499999 8.09265614 +v -13.49821949 0.94499993 7.59031582 +v -13.23769665 0.94499999 7.06996870 +v -12.89674950 0.94499993 6.54243755 +v -12.47270489 0.94499981 6.01855230 +v -11.96288204 0.94499993 5.50913811 +v -11.36460781 0.94499993 5.02502394 +v -10.67520523 0.94499993 4.57703495 +v -9.89200020 0.94499993 4.17600012 +v -13.62318611 0.71999967 8.59977913 +v -13.52285004 0.71999973 8.15246391 +v -13.35214424 0.71999973 7.67026377 +v -13.10822582 0.71999991 7.16539192 +v -12.78824997 0.71999973 6.65006256 +v -12.38937569 0.71999973 6.13648796 +v -11.90875912 0.71999979 5.63688087 +v -11.34355354 0.71999973 5.16345501 +v -10.69091320 0.71999973 4.72842360 +v -9.94799995 0.71999973 4.34399986 +v -13.51087570 0.40499961 8.62259483 +v -13.41553688 0.40499970 8.19304848 +v -13.25301933 0.40499967 7.72451401 +v -13.02036858 0.40499967 7.23014450 +v -12.71462440 0.40499967 6.72309399 +v -12.33283138 0.40499967 6.21651554 +v -11.87203026 0.40499967 5.72356319 +v -11.32926369 0.40499961 5.25739145 +v -10.70157242 0.40499961 4.83115244 +v -9.98600006 0.40499967 4.45800018 +v 8.50000000 0.00000000 7.12500000 +v 8.50000000 -0.89099991 7.00949907 +v 9.69696999 -0.87550175 7.11610413 +v 9.67949963 0.00000000 7.22099972 +v 10.58489609 -0.83343601 7.39559937 +v 10.55600166 0.00000000 7.48799992 +v 11.22228241 -0.77144384 7.81585455 +v 11.18649960 0.00000000 7.89449930 +v 11.66764641 -0.69616795 8.34473991 +v 11.62800026 0.00000000 8.40900040 +v 11.97949886 -0.61424994 8.95012379 +v 11.93750000 0.00000000 9.00000000 +v 12.21635056 -0.53233194 9.59987831 +v 12.17199898 0.00000000 9.63599968 +v 12.43671513 -0.45705599 10.26187420 +v 12.38850021 0.00000000 10.28550053 +v 12.69910336 -0.39506400 10.90397930 +v 12.64400005 0.00000000 10.91699982 +v 13.06202888 -0.35299796 11.49406433 +v 12.99550056 0.00000000 11.49900055 +v 13.58399963 -0.33750001 11.99999905 +v 13.50000000 0.00000000 12.00000000 +v 8.50000191 -1.58399999 6.69600010 +v 9.74439621 -1.55644786 6.83138895 +v 10.66333008 -1.48166406 7.14480019 +v 11.31941223 -1.37145591 7.60239029 +v 11.77526569 -1.23763204 8.17032051 +v 12.09350014 -1.09200001 8.81475067 +v 12.33673668 -0.94636804 9.50183964 +v 12.56758881 -0.81254393 10.19775009 +v 12.84867287 -0.70233595 10.86864090 +v 13.24260712 -0.62755197 11.48067284 +v 13.81200027 -0.60000002 12.00000191 +v 8.50000000 -2.07900023 6.23399925 +v 9.81428337 -2.04283810 6.41180897 +v 10.77891254 -1.94468439 6.77519989 +v 11.46254921 -1.80003595 7.28780937 +v 11.93385601 -1.62439227 7.91328049 +v 12.26150036 -1.43325019 8.61524963 +v 12.51414394 -1.24210799 9.35735893 +v 12.76045036 -1.06646395 10.10325050 +v 13.06908798 -0.92181593 10.81655979 +v 13.50871849 -0.82366198 11.46092987 +v 14.14800167 -0.78750002 11.99999905 +v 8.50000191 -2.37600040 5.67300081 +v 9.89914799 -2.33467245 5.90232086 +v 10.91926670 -2.22249651 6.32640123 +v 11.63635635 -2.05718422 6.90582085 +v 12.12643433 -1.85644853 7.60116148 +v 12.46549988 -1.63800013 8.37300110 +v 12.72956848 -1.41955209 9.18192101 +v 12.99464417 -1.21881604 9.98850060 +v 13.33673668 -1.05350399 10.75332165 +v 13.83185387 -0.94132793 11.43696308 +v 14.55600166 -0.90000004 12.00000191 +v 8.50000000 -2.47499990 5.06250000 +v 9.99149895 -2.43194962 5.34787464 +v 11.07200050 -2.31510019 5.83800030 +v 11.82550049 -2.14289999 6.49012518 +v 12.33600044 -1.93380010 7.26150036 +v 12.68750000 -1.70624995 8.10937500 +v 12.96399879 -1.47870004 8.99100018 +v 13.24950027 -1.26959991 9.86362553 +v 13.62799835 -1.09739995 10.68449974 +v 14.18350029 -0.98054993 11.41087627 +v 15.00000000 -0.93750000 12.00000000 +v 8.50000000 -2.37599993 4.45199966 +v 10.08385086 -2.33467197 4.79342890 +v 11.22473621 -2.22249603 5.34960032 +v 12.01464272 -2.05718422 6.07442951 +v 12.54556847 -1.85644805 6.92184019 +v 12.90949917 -1.63800001 7.84574986 +v 13.19843197 -1.41955197 8.80007935 +v 13.50435638 -1.21881580 9.73875046 +v 13.91926575 -1.05350387 10.61568069 +v 14.53515053 -0.94132781 11.38479137 +v 15.44400120 -0.89999986 12.00000000 +v 8.50000000 -2.07900000 3.89099979 +v 10.16871548 -2.04283786 4.28393984 +v 11.36508942 -1.94468403 4.90080023 +v 12.18845272 -1.80003583 5.69244003 +v 12.73814583 -1.62439215 6.60972071 +v 13.11349869 -1.43324983 7.60349989 +v 13.41385651 -1.24210787 8.62464046 +v 13.73854828 -1.06646383 9.62400055 +v 14.18691158 -0.92181575 10.55244064 +v 14.85828400 -0.82366192 11.36082172 +v 15.85199833 -0.78749990 12.00000000 +v 8.50000000 -1.58399951 3.42899990 +v 10.23860168 -1.55644774 3.86435938 +v 11.48067284 -1.48166370 4.53120041 +v 12.33158684 -1.37145543 5.37786007 +v 12.89673710 -1.23763192 6.35268021 +v 13.28149891 -1.09199977 7.40399933 +v 13.59126282 -0.94636768 8.48016071 +v 13.93141174 -0.81254369 9.52950096 +v 14.40732765 -0.70233572 10.50036049 +v 15.12439537 -0.62755173 11.34108067 +v 16.18799973 -0.59999979 12.00000000 +v 8.50000000 -0.89099920 3.11549997 +v 10.28602791 -0.87550116 3.57964420 +v 11.55910397 -0.83343518 4.28040028 +v 12.42871666 -0.77144337 5.16439486 +v 13.00435257 -0.69616741 6.17826033 +v 13.39549923 -0.61424947 7.26862526 +v 13.71164799 -0.53233159 8.38212109 +v 14.06228447 -0.45705560 9.46537590 +v 14.55689621 -0.39506361 10.46502113 +v 15.30497360 -0.35299766 11.32768631 +v 16.41600037 -0.33749971 12.00000000 +v 8.50000095 0.00000118 2.99999976 +v 10.30349922 0.00000116 3.47474957 +v 11.58800220 0.00000110 4.18800020 +v 12.46450233 0.00000102 5.08575010 +v 13.04400063 0.00000092 6.11400032 +v 13.43750000 0.00000081 7.21875000 +v 13.75599957 0.00000071 8.34600067 +v 14.11050034 0.00000061 9.44175148 +v 14.61199951 0.00000052 10.45200157 +v 15.37150192 0.00000047 11.32275009 +v 16.50000000 0.00000045 11.99999905 +v 8.50000000 0.89099991 3.11550021 +v 10.28602791 0.87550175 3.57964420 +v 11.55910397 0.83343601 4.28040028 +v 12.42871475 0.77144384 5.16439486 +v 13.00435257 0.69616795 6.17825985 +v 13.39549923 0.61424994 7.26862431 +v 13.71164799 0.53233194 8.38212013 +v 14.06228256 0.45705599 9.46537495 +v 14.55689621 0.39506400 10.46502113 +v 15.30497360 0.35299796 11.32768536 +v 16.41599846 0.33750001 11.99999905 +v 8.50000191 1.58399999 3.42900014 +v 10.23860359 1.55644786 3.86435962 +v 11.48067379 1.48166406 4.53120041 +v 12.33158875 1.37145591 5.37786007 +v 12.89673901 1.23763204 6.35268116 +v 13.28150177 1.09200001 7.40400076 +v 13.59126282 0.94636804 8.48016167 +v 13.93141270 0.81254393 9.52950096 +v 14.40732956 0.70233595 10.50036240 +v 15.12439728 0.62755197 11.34108353 +v 16.18799973 0.60000002 12.00000191 +v 8.50000000 2.07900023 3.89099956 +v 10.16871548 2.04283810 4.28393936 +v 11.36508942 1.94468439 4.90079975 +v 12.18845272 1.80003595 5.69243956 +v 12.73814583 1.62439227 6.60972071 +v 13.11349964 1.43325019 7.60349989 +v 13.41385460 1.24210799 8.62464046 +v 13.73854733 1.06646395 9.62400055 +v 14.18691158 0.92181593 10.55244064 +v 14.85828400 0.82366198 11.36082077 +v 15.85200119 0.78750002 11.99999905 +v 8.50000191 2.37600040 4.45200014 +v 10.08385277 2.33467245 4.79342985 +v 11.22473907 2.22249651 5.34960032 +v 12.01464558 2.05718422 6.07443047 +v 12.54557133 1.85644853 6.92184067 +v 12.90950203 1.63800013 7.84575033 +v 13.19843292 1.41955209 8.80008125 +v 13.50435734 1.21881604 9.73875141 +v 13.91926575 1.05350399 10.61568165 +v 14.53515053 0.94132793 11.38479233 +v 15.44400120 0.90000004 12.00000191 +v 8.50000000 2.47499990 5.06249952 +v 9.99149895 2.43194962 5.34787464 +v 11.07200050 2.31510019 5.83800030 +v 11.82550049 2.14289999 6.49012518 +v 12.33600044 1.93380010 7.26150036 +v 12.68750000 1.70624995 8.10937500 +v 12.96399879 1.47870004 8.99100018 +v 13.24950027 1.26959991 9.86362553 +v 13.62799835 1.09739995 10.68449974 +v 14.18350029 0.98054993 11.41087627 +v 15.00000000 0.93750000 12.00000000 +v 8.50000000 2.37599993 5.67299938 +v 9.89914703 2.33467197 5.90231991 +v 10.91926479 2.22249603 6.32639980 +v 11.63635445 2.05718422 6.90581989 +v 12.12643242 1.85644805 7.60116005 +v 12.46549797 1.63800001 8.37300110 +v 12.72956657 1.41955197 9.18192005 +v 12.99464321 1.21881580 9.98850060 +v 13.33673477 1.05350387 10.75332069 +v 13.83185291 0.94132781 11.43696022 +v 14.55599976 0.89999986 12.00000000 +v 8.50000000 2.07900000 6.23399973 +v 9.81428242 2.04283786 6.41180944 +v 10.77891254 1.94468403 6.77519989 +v 11.46254539 1.80003583 7.28780985 +v 11.93385601 1.62439215 7.91328049 +v 12.26149940 1.43324983 8.61524963 +v 12.51414299 1.24210787 9.35735989 +v 12.76045036 1.06646383 10.10324955 +v 13.06908798 0.92181575 10.81655979 +v 13.50871563 0.82366192 11.46093178 +v 14.14799881 0.78749990 12.00000000 +v 8.50000000 1.58399951 6.69600010 +v 9.74439526 1.55644774 6.83138895 +v 10.66332817 1.48166370 7.14480019 +v 11.31941223 1.37145543 7.60238934 +v 11.77526474 1.23763192 8.17032051 +v 12.09350014 1.09199977 8.81474972 +v 12.33673573 0.94636768 9.50183964 +v 12.56758881 0.81254369 10.19775009 +v 12.84867287 0.70233572 10.86863995 +v 13.24260616 0.62755173 11.48067093 +v 13.81200027 0.59999979 12.00000000 +v 8.50000000 0.89099920 7.00950050 +v 9.69697094 0.87550116 7.11610508 +v 10.58489704 0.83343518 7.39559937 +v 11.22228432 0.77144337 7.81585503 +v 11.66764736 0.69616741 8.34474087 +v 11.97949982 0.61424947 8.95012474 +v 12.21635056 0.53233159 9.59988022 +v 12.43671513 0.45705560 10.26187515 +v 12.69910336 0.39506361 10.90397930 +v 13.06202888 0.35299766 11.49406624 +v 13.58399963 0.33749971 12.00000000 +v 13.73703194 -0.33372000 12.10202694 +v 13.64899826 0.00000000 12.10124969 +v 13.88182449 -0.32346004 12.18151283 +v 13.79200077 0.00000000 12.18000221 +v 14.01264000 -0.30834001 12.23839951 +v 13.92300034 0.00000000 12.23625088 +v 14.12375355 -0.28998005 12.27264595 +v 14.03600121 0.00000000 12.27000141 +v 14.20943737 -0.26999998 12.28420258 +v 14.12499905 0.00000000 12.28125000 +v 14.26396847 -0.25002000 12.27302456 +v 14.18400002 0.00000000 12.27000046 +v 14.28161621 -0.23166001 12.23906040 +v 14.20700073 0.00000000 12.23624992 +v 14.25665665 -0.21653998 12.18226624 +v 14.18800163 0.00000000 12.17999935 +v 14.18336010 -0.20627998 12.10259533 +v 14.12099934 0.00000000 12.10124969 +v 14.05599976 -0.20250000 11.99999905 +v 14.00000000 0.00000000 12.00000000 +v 13.97598839 -0.59328002 12.10414696 +v 14.12563324 -0.57504004 12.18561745 +v 14.25594330 -0.54816002 12.24423599 +v 14.36193848 -0.51552010 12.27982998 +v 14.43862534 -0.48000005 12.29221916 +v 14.48102474 -0.44448003 12.28123474 +v 14.48414803 -0.41184005 12.24669266 +v 14.44300842 -0.38496003 12.18842506 +v 14.35262203 -0.36671999 12.10625458 +v 14.20800114 -0.36000001 12.00000191 +v 14.32813072 -0.77867997 12.10726261 +v 14.48492908 -0.75474000 12.19166565 +v 14.61449718 -0.71946001 12.25283527 +v 14.71294498 -0.67662007 12.29041195 +v 14.77637482 -0.63000000 12.30403042 +v 14.80089569 -0.58337998 12.29332829 +v 14.78261185 -0.54053998 12.25793743 +v 14.71763134 -0.50525999 12.19749546 +v 14.60205841 -0.48132002 12.11163712 +v 14.43200016 -0.47250003 11.99999905 +v 14.75573349 -0.88992000 12.11105156 +v 14.92121696 -0.86256003 12.19900990 +v 15.04988480 -0.82224005 12.26327896 +v 15.13917065 -0.77328014 12.30326653 +v 15.18650055 -0.72000003 12.31837654 +v 15.18931293 -0.66672003 12.30801773 +v 15.14503670 -0.61776006 12.27159405 +v 15.05110550 -0.57744002 12.20851421 +v 14.90494728 -0.55008006 12.11818123 +v 14.70400047 -0.54000008 12.00000191 +v 15.22106075 -0.92699993 12.11516953 +v 15.39600182 -0.89850014 12.20700073 +v 15.52368736 -0.85650003 12.27464199 +v 15.60300064 -0.80550009 12.31725121 +v 15.63281250 -0.74999994 12.33398438 +v 15.61200047 -0.69449997 12.32399940 +v 15.53943634 -0.64349997 12.28645325 +v 15.41399956 -0.60149997 12.22049904 +v 15.23456192 -0.57300001 12.12529755 +v 15.00000000 -0.56250000 12.00000000 +v 15.68639278 -0.88991976 12.11929226 +v 15.87078667 -0.86255997 12.21499348 +v 15.99749184 -0.82224000 12.28600407 +v 16.06683540 -0.77328002 12.33123684 +v 16.07912636 -0.71999997 12.34959412 +v 16.03468895 -0.66671997 12.33998299 +v 15.93383884 -0.61775994 12.30131340 +v 15.77689648 -0.57743990 12.23248672 +v 15.56417656 -0.55007994 12.13241577 +v 15.29599953 -0.53999996 12.00000000 +v 16.11399078 -0.77867991 12.12307835 +v 16.30707169 -0.75473994 12.22233772 +v 16.43287849 -0.71945989 12.29644680 +v 16.49305725 -0.67662001 12.34408855 +v 16.48925018 -0.62999994 12.36393833 +v 16.42310524 -0.58337992 12.35467148 +v 16.29626274 -0.54053992 12.31496906 +v 16.11036873 -0.50525993 12.24350452 +v 15.86706734 -0.48131990 12.13895607 +v 15.56800079 -0.47249997 12.00000000 +v 16.46613503 -0.59327972 12.12619781 +v 16.66637039 -0.57503986 12.22838497 +v 16.79143333 -0.54815978 12.30504608 +v 16.84406471 -0.51551992 12.35467339 +v 16.82699966 -0.47999981 12.37574959 +v 16.74297523 -0.44447988 12.36676693 +v 16.59472656 -0.41183984 12.32621384 +v 16.38499260 -0.38495988 12.25257683 +v 16.11650276 -0.36671984 12.14434242 +v 15.79199982 -0.35999987 12.00000000 +v 16.70508957 -0.33371970 12.12831402 +v 16.91017723 -0.32345977 12.23248863 +v 17.03473663 -0.30833972 12.31088257 +v 17.08225060 -0.28997976 12.36185646 +v 17.05618858 -0.26999977 12.38376617 +v 16.96003151 -0.25001979 12.37497711 +v 16.79725838 -0.23165980 12.33384609 +v 16.57134438 -0.21653980 12.25873184 +v 16.28576469 -0.20627981 12.14799786 +v 15.94399929 -0.20249984 12.00000000 +v 16.79312515 0.00000044 12.12909317 +v 17.00000191 0.00000043 12.23400116 +v 17.12437630 0.00000041 12.31303120 +v 17.17000198 0.00000038 12.36450100 +v 17.14062691 0.00000036 12.38671780 +v 17.04000282 0.00000033 12.37799835 +v 16.87187576 0.00000031 12.33665562 +v 16.63999939 0.00000029 12.26099968 +v 16.34812546 0.00000027 12.14934254 +v 16.00000191 0.00000027 11.99999905 +v 16.70508957 0.33372000 12.12831306 +v 16.91017723 0.32346004 12.23248672 +v 17.03473663 0.30834001 12.31088066 +v 17.08225060 0.28998005 12.36185455 +v 17.05618858 0.26999998 12.38376522 +v 16.96003151 0.25002000 12.37497520 +v 16.79725838 0.23166001 12.33384514 +v 16.57134247 0.21653998 12.25873184 +v 16.28576469 0.20627998 12.14799690 +v 15.94399929 0.20250000 11.99999905 +v 16.46613503 0.59328002 12.12619877 +v 16.66637039 0.57504004 12.22838497 +v 16.79143333 0.54816002 12.30504608 +v 16.84406662 0.51552010 12.35467339 +v 16.82699966 0.48000005 12.37574959 +v 16.74297714 0.44448003 12.36676693 +v 16.59472656 0.41184005 12.32621288 +v 16.38499260 0.38496003 12.25257683 +v 16.11650467 0.36671999 12.14434433 +v 15.79200172 0.36000001 12.00000191 +v 16.11399269 0.77867997 12.12307739 +v 16.30707359 0.75474000 12.22233677 +v 16.43287849 0.71946001 12.29644680 +v 16.49305725 0.67662007 12.34408855 +v 16.48925018 0.63000000 12.36393833 +v 16.42310333 0.58337998 12.35467148 +v 16.29626274 0.54053998 12.31496906 +v 16.11036682 0.50525999 12.24350452 +v 15.86706638 0.48132002 12.13895607 +v 15.56799984 0.47250003 11.99999905 +v 15.68639278 0.88992000 12.11929417 +v 15.87078667 0.86256003 12.21499443 +v 15.99749184 0.82224005 12.28600597 +v 16.06683540 0.77328014 12.33123875 +v 16.07912827 0.72000003 12.34959507 +v 16.03469086 0.66672003 12.33998489 +v 15.93383980 0.61776006 12.30131340 +v 15.77689648 0.57744002 12.23248959 +v 15.56417847 0.55008006 12.13241673 +v 15.29600048 0.54000008 12.00000191 +v 15.22106075 0.92699993 12.11516953 +v 15.39600182 0.89850014 12.20700073 +v 15.52368736 0.85650003 12.27464199 +v 15.60299969 0.80550009 12.31725121 +v 15.63281155 0.74999994 12.33398438 +v 15.61199951 0.69449997 12.32399940 +v 15.53943634 0.64349997 12.28645325 +v 15.41399956 0.60149997 12.22049904 +v 15.23456192 0.57300001 12.12529755 +v 15.00000000 0.56250000 12.00000000 +v 14.75573063 0.88991976 12.11104965 +v 14.92121696 0.86255997 12.19900990 +v 15.04988480 0.82224000 12.26327801 +v 15.13916874 0.77328002 12.30326557 +v 15.18650055 0.71999997 12.31837654 +v 15.18931293 0.66671997 12.30801582 +v 15.14503670 0.61775994 12.27159309 +v 15.05110550 0.57743990 12.20851135 +v 14.90494728 0.55007994 12.11817932 +v 14.70400047 0.53999996 12.00000000 +v 14.32812881 0.77867991 12.10726261 +v 14.48492908 0.75473994 12.19166565 +v 14.61449528 0.71945989 12.25283527 +v 14.71294498 0.67662001 12.29041195 +v 14.77637482 0.62999994 12.30403042 +v 14.80089569 0.58337992 12.29332829 +v 14.78261185 0.54053992 12.25793839 +v 14.71763134 0.50525993 12.19749451 +v 14.60205841 0.48131990 12.11163902 +v 14.43200016 0.47249997 12.00000000 +v 13.97598839 0.59327972 12.10414696 +v 14.12563229 0.57503986 12.18561745 +v 14.25594330 0.54815978 12.24423504 +v 14.36193657 0.51551992 12.27982903 +v 14.43862534 0.47999981 12.29221916 +v 14.48102188 0.44447988 12.28123188 +v 14.48414803 0.41183984 12.24669266 +v 14.44300747 0.38495988 12.18842411 +v 14.35262108 0.36671984 12.10625172 +v 14.20800018 0.35999987 12.00000000 +v 13.73703194 0.33371970 12.10202789 +v 13.88182449 0.32345977 12.18151283 +v 14.01264000 0.30833972 12.23839951 +v 14.12375355 0.28997976 12.27264786 +v 14.20943737 0.26999977 12.28420258 +v 14.26396847 0.25001979 12.27302456 +v 14.28161621 0.23165980 12.23906040 +v 14.25665665 0.21653980 12.18226624 +v 14.18336010 0.20627981 12.10259628 +v 14.05599976 0.20249984 12.00000000 +v 0.96053332 -0.16024032 15.70725060 +v 0.97299999 0.00000000 15.70725060 +v 0.00000000 0.00000000 15.75000000 +v 1.52421701 -0.25427264 15.58800220 +v 1.54400015 0.00000000 15.58800220 +v 1.76805079 -0.29493886 15.40574932 +v 1.79100013 0.00000000 15.40574932 +v 1.76903594 -0.29508114 15.17400265 +v 1.79200029 0.00000000 15.17400265 +v 1.60417104 -0.26754123 14.90625000 +v 1.62500012 0.00000000 14.90625000 +v 1.35045767 -0.22516124 14.61600113 +v 1.36799991 0.00000000 14.61600113 +v 1.08489573 -0.18078315 14.31674957 +v 1.09899998 0.00000000 14.31674862 +v 0.88448530 -0.14724894 14.02199936 +v 0.89599997 0.00000000 14.02199936 +v 0.82622671 -0.13740057 13.74525070 +v 0.83700001 0.00000000 13.74525070 +v 0.98711997 -0.16407999 13.50000191 +v 1.00000000 0.00000000 13.50000000 +v 0.92434978 -0.31135905 15.70725250 +v 1.46679831 -0.49407232 15.58800220 +v 1.70144379 -0.57309407 15.40575027 +v 1.70238495 -0.57337868 15.17400265 +v 1.54372001 -0.51988000 14.90625191 +v 1.29954815 -0.43755263 14.61600113 +v 1.04396772 -0.35135067 14.31674957 +v 0.85107714 -0.28622845 14.02199936 +v 0.79497516 -0.26714021 13.74525070 +v 0.94976008 -0.31904000 13.50000191 +v 0.86627340 -0.45153168 15.70725060 +v 1.37463868 -0.71650362 15.58800220 +v 1.59453678 -0.83110619 15.40574932 +v 1.59540963 -0.83152950 15.17400265 +v 1.44669867 -0.75396371 14.90625000 +v 1.21784532 -0.63459933 14.61600113 +v 0.97829115 -0.50962651 14.31674957 +v 0.79747796 -0.41523549 14.02199936 +v 0.74484706 -0.38761660 13.74525070 +v 0.88984001 -0.46296003 13.50000191 +v 0.78812933 -0.57893395 15.70725250 +v 1.25063431 -0.91867149 15.58800220 +v 1.45069075 -1.06561601 15.40575218 +v 1.45147431 -1.06617105 15.17400265 +v 1.31616008 -0.96674019 14.90625191 +v 1.10792458 -0.81372678 14.61600113 +v 0.88994312 -0.65353459 14.31675148 +v 0.72539139 -0.53256702 14.02199936 +v 0.67744523 -0.49722773 13.74525166 +v 0.80928004 -0.59392011 13.50000191 +v 0.69174123 -0.69174123 15.70725060 +v 1.09768021 -1.09768021 15.58800220 +v 1.27326381 -1.27326381 15.40574932 +v 1.27394021 -1.27394021 15.17400265 +v 1.15515625 -1.15515625 14.90625000 +v 0.97235990 -0.97235990 14.61600113 +v 0.78099871 -0.78099871 14.31674957 +v 0.63651991 -0.63651991 14.02199936 +v 0.59437132 -0.59437132 13.74525070 +v 0.71000004 -0.71000004 13.50000191 +v 0.57893384 -0.78812921 15.70725250 +v 0.91867137 -1.25063431 15.58800220 +v 1.06561565 -1.45069063 15.40575027 +v 1.06617081 -1.45147395 15.17400265 +v 0.96673989 -1.31615996 14.90625191 +v 0.81372666 -1.10792446 14.61600113 +v 0.65353441 -0.88994300 14.31674957 +v 0.53256696 -0.72539127 14.02199936 +v 0.49722767 -0.67744523 13.74525070 +v 0.59391993 -0.80928004 13.50000191 +v 0.45153156 -0.86627364 15.70725060 +v 0.71650356 -1.37463903 15.58800220 +v 0.83110601 -1.59453702 15.40574932 +v 0.83152938 -1.59540999 15.17400265 +v 0.75396359 -1.44669890 14.90625000 +v 0.63459921 -1.21784544 14.61600113 +v 0.50962639 -0.97829133 14.31674862 +v 0.41523540 -0.79747802 14.02199936 +v 0.38761652 -0.74484730 13.74525070 +v 0.46295998 -0.88984013 13.50000000 +v 0.31135890 -0.92434973 15.70725060 +v 0.49407211 -1.46679819 15.58800220 +v 0.57309383 -1.70144343 15.40574932 +v 0.57337832 -1.70238483 15.17400265 +v 0.51987976 -1.54372001 14.90625000 +v 0.43755239 -1.29954803 14.61600113 +v 0.35135055 -1.04396749 14.31674957 +v 0.28622839 -0.85107708 14.02199936 +v 0.26714012 -0.79497516 13.74525070 +v 0.31903994 -0.94976008 13.50000191 +v 0.16024017 -0.96053332 15.70725060 +v 0.25427240 -1.52421701 15.58800220 +v 0.29493862 -1.76805079 15.40575027 +v 0.29508087 -1.76903594 15.17400265 +v 0.26754099 -1.60417104 14.90625191 +v 0.22516105 -1.35045767 14.61600113 +v 0.18078300 -1.08489573 14.31674957 +v 0.14724882 -0.88448530 14.02199936 +v 0.13740046 -0.82622671 13.74525070 +v 0.16407987 -0.98711997 13.50000000 +v -0.00000020 -0.97299999 15.70725250 +v -0.00000031 -1.54400015 15.58800220 +v -0.00000036 -1.79100013 15.40575027 +v -0.00000036 -1.79200029 15.17400265 +v -0.00000033 -1.62500012 14.90625191 +v -0.00000028 -1.36799991 14.61599922 +v -0.00000022 -1.09899998 14.31674957 +v -0.00000018 -0.89599997 14.02199936 +v -0.00000017 -0.83700007 13.74524879 +v -0.00000020 -1.00000012 13.49999905 +v -0.16024032 -0.96053332 15.70725060 +v -0.25427264 -1.52421701 15.58800220 +v -0.29493886 -1.76805079 15.40574932 +v -0.29508114 -1.76903594 15.17400265 +v -0.26754123 -1.60417104 14.90625000 +v -0.22516124 -1.35045767 14.61600113 +v -0.18078315 -1.08489573 14.31674957 +v -0.14724894 -0.88448530 14.02199936 +v -0.13740057 -0.82622671 13.74525070 +v -0.16407999 -0.98711997 13.50000191 +v -0.31135905 -0.92434978 15.70725250 +v -0.49407232 -1.46679831 15.58800220 +v -0.57309407 -1.70144379 15.40575027 +v -0.57337868 -1.70238495 15.17400265 +v -0.51988000 -1.54372001 14.90625191 +v -0.43755263 -1.29954815 14.61600113 +v -0.35135067 -1.04396772 14.31674957 +v -0.28622845 -0.85107714 14.02199936 +v -0.26714021 -0.79497516 13.74525070 +v -0.31904000 -0.94976008 13.50000191 +v -0.45153168 -0.86627340 15.70725060 +v -0.71650362 -1.37463868 15.58800220 +v -0.83110619 -1.59453678 15.40574932 +v -0.83152950 -1.59540963 15.17400265 +v -0.75396371 -1.44669867 14.90625000 +v -0.63459933 -1.21784532 14.61600113 +v -0.50962651 -0.97829115 14.31674957 +v -0.41523549 -0.79747796 14.02199936 +v -0.38761660 -0.74484706 13.74525070 +v -0.46296003 -0.88984001 13.50000191 +v -0.57893395 -0.78812933 15.70725250 +v -0.91867149 -1.25063431 15.58800220 +v -1.06561601 -1.45069075 15.40575218 +v -1.06617105 -1.45147431 15.17400265 +v -0.96674019 -1.31616008 14.90625191 +v -0.81372678 -1.10792458 14.61600113 +v -0.65353459 -0.88994312 14.31675148 +v -0.53256702 -0.72539139 14.02199936 +v -0.49722773 -0.67744523 13.74525166 +v -0.59392011 -0.80928004 13.50000191 +v -0.69174123 -0.69174123 15.70725060 +v -1.09768021 -1.09768021 15.58800220 +v -1.27326381 -1.27326381 15.40574932 +v -1.27394021 -1.27394021 15.17400265 +v -1.15515625 -1.15515625 14.90625000 +v -0.97235990 -0.97235990 14.61600113 +v -0.78099871 -0.78099871 14.31674957 +v -0.63651991 -0.63651991 14.02199936 +v -0.59437132 -0.59437132 13.74525070 +v -0.71000004 -0.71000004 13.50000191 +v -0.78812921 -0.57893384 15.70725250 +v -1.25063431 -0.91867137 15.58800220 +v -1.45069063 -1.06561565 15.40575027 +v -1.45147395 -1.06617081 15.17400265 +v -1.31615996 -0.96673989 14.90625191 +v -1.10792446 -0.81372666 14.61600113 +v -0.88994300 -0.65353441 14.31674957 +v -0.72539127 -0.53256696 14.02199936 +v -0.67744523 -0.49722767 13.74525070 +v -0.80928004 -0.59391993 13.50000191 +v -0.86627364 -0.45153156 15.70725060 +v -1.37463903 -0.71650356 15.58800220 +v -1.59453702 -0.83110601 15.40574932 +v -1.59540999 -0.83152938 15.17400265 +v -1.44669890 -0.75396359 14.90625000 +v -1.21784544 -0.63459921 14.61600113 +v -0.97829133 -0.50962639 14.31674862 +v -0.79747802 -0.41523540 14.02199936 +v -0.74484730 -0.38761652 13.74525070 +v -0.88984013 -0.46295998 13.50000000 +v -0.92434973 -0.31135890 15.70725060 +v -1.46679819 -0.49407211 15.58800220 +v -1.70144343 -0.57309383 15.40574932 +v -1.70238483 -0.57337832 15.17400265 +v -1.54372001 -0.51987976 14.90625000 +v -1.29954803 -0.43755239 14.61600113 +v -1.04396749 -0.35135055 14.31674957 +v -0.85107708 -0.28622839 14.02199936 +v -0.79497516 -0.26714012 13.74525070 +v -0.94976008 -0.31903994 13.50000191 +v -0.96053332 -0.16024017 15.70725060 +v -1.52421701 -0.25427240 15.58800220 +v -1.76805079 -0.29493862 15.40575027 +v -1.76903594 -0.29508087 15.17400265 +v -1.60417104 -0.26754099 14.90625191 +v -1.35045767 -0.22516105 14.61600113 +v -1.08489573 -0.18078300 14.31674957 +v -0.88448530 -0.14724882 14.02199936 +v -0.82622671 -0.13740046 13.74525070 +v -0.98711997 -0.16407987 13.50000000 +v -0.97299999 0.00000020 15.70725250 +v -1.54400015 0.00000031 15.58800220 +v -1.79100013 0.00000036 15.40575027 +v -1.79200029 0.00000036 15.17400265 +v -1.62500012 0.00000033 14.90625191 +v -1.36799991 0.00000028 14.61599922 +v -1.09899998 0.00000022 14.31674957 +v -0.89599997 0.00000018 14.02199936 +v -0.83700007 0.00000017 13.74524879 +v -1.00000012 0.00000020 13.49999905 +v -0.96053332 0.16024032 15.70725060 +v -1.52421701 0.25427264 15.58800220 +v -1.76805079 0.29493886 15.40574932 +v -1.76903594 0.29508114 15.17400265 +v -1.60417104 0.26754123 14.90625000 +v -1.35045767 0.22516124 14.61600113 +v -1.08489573 0.18078315 14.31674957 +v -0.88448530 0.14724894 14.02199936 +v -0.82622671 0.13740057 13.74525070 +v -0.98711997 0.16407999 13.50000191 +v -0.92434978 0.31135905 15.70725250 +v -1.46679831 0.49407232 15.58800220 +v -1.70144379 0.57309407 15.40575027 +v -1.70238495 0.57337868 15.17400265 +v -1.54372001 0.51988000 14.90625191 +v -1.29954815 0.43755263 14.61600113 +v -1.04396772 0.35135067 14.31674957 +v -0.85107714 0.28622845 14.02199936 +v -0.79497516 0.26714021 13.74525070 +v -0.94976008 0.31904000 13.50000191 +v -0.86627340 0.45153168 15.70725060 +v -1.37463868 0.71650362 15.58800220 +v -1.59453678 0.83110619 15.40574932 +v -1.59540963 0.83152950 15.17400265 +v -1.44669867 0.75396371 14.90625000 +v -1.21784532 0.63459933 14.61600113 +v -0.97829115 0.50962651 14.31674957 +v -0.79747796 0.41523549 14.02199936 +v -0.74484706 0.38761660 13.74525070 +v -0.88984001 0.46296003 13.50000191 +v -0.78812933 0.57893395 15.70725250 +v -1.25063431 0.91867149 15.58800220 +v -1.45069075 1.06561601 15.40575218 +v -1.45147431 1.06617105 15.17400265 +v -1.31616008 0.96674019 14.90625191 +v -1.10792458 0.81372678 14.61600113 +v -0.88994312 0.65353459 14.31675148 +v -0.72539139 0.53256702 14.02199936 +v -0.67744523 0.49722773 13.74525166 +v -0.80928004 0.59392011 13.50000191 +v -0.69174123 0.69174123 15.70725060 +v -1.09768021 1.09768021 15.58800220 +v -1.27326381 1.27326381 15.40574932 +v -1.27394021 1.27394021 15.17400265 +v -1.15515625 1.15515625 14.90625000 +v -0.97235990 0.97235990 14.61600113 +v -0.78099871 0.78099871 14.31674957 +v -0.63651991 0.63651991 14.02199936 +v -0.59437132 0.59437132 13.74525070 +v -0.71000004 0.71000004 13.50000191 +v -0.57893384 0.78812921 15.70725250 +v -0.91867137 1.25063431 15.58800220 +v -1.06561565 1.45069063 15.40575027 +v -1.06617081 1.45147395 15.17400265 +v -0.96673989 1.31615996 14.90625191 +v -0.81372666 1.10792446 14.61600113 +v -0.65353441 0.88994300 14.31674957 +v -0.53256696 0.72539127 14.02199936 +v -0.49722767 0.67744523 13.74525070 +v -0.59391993 0.80928004 13.50000191 +v -0.45153156 0.86627364 15.70725060 +v -0.71650356 1.37463903 15.58800220 +v -0.83110601 1.59453702 15.40574932 +v -0.83152938 1.59540999 15.17400265 +v -0.75396359 1.44669890 14.90625000 +v -0.63459921 1.21784544 14.61600113 +v -0.50962639 0.97829133 14.31674862 +v -0.41523540 0.79747802 14.02199936 +v -0.38761652 0.74484730 13.74525070 +v -0.46295998 0.88984013 13.50000000 +v -0.31135890 0.92434973 15.70725060 +v -0.49407211 1.46679819 15.58800220 +v -0.57309383 1.70144343 15.40574932 +v -0.57337832 1.70238483 15.17400265 +v -0.51987976 1.54372001 14.90625000 +v -0.43755239 1.29954803 14.61600113 +v -0.35135055 1.04396749 14.31674957 +v -0.28622839 0.85107708 14.02199936 +v -0.26714012 0.79497516 13.74525070 +v -0.31903994 0.94976008 13.50000191 +v -0.16024017 0.96053332 15.70725060 +v -0.25427240 1.52421701 15.58800220 +v -0.29493862 1.76805079 15.40575027 +v -0.29508087 1.76903594 15.17400265 +v -0.26754099 1.60417104 14.90625191 +v -0.22516105 1.35045767 14.61600113 +v -0.18078300 1.08489573 14.31674957 +v -0.14724882 0.88448530 14.02199936 +v -0.13740046 0.82622671 13.74525070 +v -0.16407987 0.98711997 13.50000000 +v 0.00000020 0.97299999 15.70725250 +v 0.00000031 1.54400015 15.58800220 +v 0.00000036 1.79100013 15.40575027 +v 0.00000036 1.79200029 15.17400265 +v 0.00000033 1.62500012 14.90625191 +v 0.00000028 1.36799991 14.61599922 +v 0.00000022 1.09899998 14.31674957 +v 0.00000018 0.89599997 14.02199936 +v 0.00000017 0.83700007 13.74524879 +v 0.00000020 1.00000012 13.49999905 +v 0.16024032 0.96053332 15.70725060 +v 0.25427264 1.52421701 15.58800220 +v 0.29493886 1.76805079 15.40574932 +v 0.29508114 1.76903594 15.17400265 +v 0.26754123 1.60417104 14.90625000 +v 0.22516124 1.35045767 14.61600113 +v 0.18078315 1.08489573 14.31674957 +v 0.14724894 0.88448530 14.02199936 +v 0.13740057 0.82622671 13.74525070 +v 0.16407999 0.98711997 13.50000191 +v 0.31135905 0.92434978 15.70725250 +v 0.49407232 1.46679831 15.58800220 +v 0.57309407 1.70144379 15.40575027 +v 0.57337868 1.70238495 15.17400265 +v 0.51988000 1.54372001 14.90625191 +v 0.43755263 1.29954815 14.61600113 +v 0.35135067 1.04396772 14.31674957 +v 0.28622845 0.85107714 14.02199936 +v 0.26714021 0.79497516 13.74525070 +v 0.31904000 0.94976008 13.50000191 +v 0.45153168 0.86627340 15.70725060 +v 0.71650362 1.37463868 15.58800220 +v 0.83110619 1.59453678 15.40574932 +v 0.83152950 1.59540963 15.17400265 +v 0.75396371 1.44669867 14.90625000 +v 0.63459933 1.21784532 14.61600113 +v 0.50962651 0.97829115 14.31674957 +v 0.41523549 0.79747796 14.02199936 +v 0.38761660 0.74484706 13.74525070 +v 0.46296003 0.88984001 13.50000191 +v 0.57893395 0.78812933 15.70725250 +v 0.91867149 1.25063431 15.58800220 +v 1.06561601 1.45069075 15.40575218 +v 1.06617105 1.45147431 15.17400265 +v 0.96674019 1.31616008 14.90625191 +v 0.81372678 1.10792458 14.61600113 +v 0.65353459 0.88994312 14.31675148 +v 0.53256702 0.72539139 14.02199936 +v 0.49722773 0.67744523 13.74525166 +v 0.59392011 0.80928004 13.50000191 +v 0.69174123 0.69174123 15.70725060 +v 1.09768021 1.09768021 15.58800220 +v 1.27326381 1.27326381 15.40574932 +v 1.27394021 1.27394021 15.17400265 +v 1.15515625 1.15515625 14.90625000 +v 0.97235990 0.97235990 14.61600113 +v 0.78099871 0.78099871 14.31674957 +v 0.63651991 0.63651991 14.02199936 +v 0.59437132 0.59437132 13.74525070 +v 0.71000004 0.71000004 13.50000191 +v 0.78812921 0.57893384 15.70725250 +v 1.25063431 0.91867137 15.58800220 +v 1.45069063 1.06561565 15.40575027 +v 1.45147395 1.06617081 15.17400265 +v 1.31615996 0.96673989 14.90625191 +v 1.10792446 0.81372666 14.61600113 +v 0.88994300 0.65353441 14.31674957 +v 0.72539127 0.53256696 14.02199936 +v 0.67744523 0.49722767 13.74525070 +v 0.80928004 0.59391993 13.50000191 +v 0.86627364 0.45153156 15.70725060 +v 1.37463903 0.71650356 15.58800220 +v 1.59453702 0.83110601 15.40574932 +v 1.59540999 0.83152938 15.17400265 +v 1.44669890 0.75396359 14.90625000 +v 1.21784544 0.63459921 14.61600113 +v 0.97829133 0.50962639 14.31674862 +v 0.79747802 0.41523540 14.02199936 +v 0.74484730 0.38761652 13.74525070 +v 0.88984013 0.46295998 13.50000000 +v 0.92434973 0.31135890 15.70725060 +v 1.46679819 0.49407211 15.58800220 +v 1.70144343 0.57309383 15.40574932 +v 1.70238483 0.57337832 15.17400265 +v 1.54372001 0.51987976 14.90625000 +v 1.29954803 0.43755239 14.61600113 +v 1.04396749 0.35135055 14.31674957 +v 0.85107708 0.28622839 14.02199936 +v 0.79497516 0.26714012 13.74525070 +v 0.94976008 0.31903994 13.50000191 +v 0.96053332 0.16024017 15.70725060 +v 1.52421701 0.25427240 15.58800220 +v 1.76805079 0.29493862 15.40575027 +v 1.76903594 0.29508087 15.17400265 +v 1.60417104 0.26754099 14.90625191 +v 1.35045767 0.22516105 14.61600113 +v 1.08489573 0.18078300 14.31674957 +v 0.88448530 0.14724882 14.02199936 +v 0.82622671 0.13740046 13.74525070 +v 0.98711997 0.16407987 13.50000000 +v 1.37900651 -0.22921976 13.29599857 +v 1.39700007 0.00000000 13.29599857 +v 1.93080664 -0.32094049 13.12800217 +v 1.95600009 0.00000000 13.12800217 +v 2.59513831 -0.43136632 12.98699951 +v 2.62899995 0.00000000 12.98699951 +v 3.32462049 -0.55262148 12.86400032 +v 3.36800003 0.00000000 12.86400223 +v 4.07186985 -0.67683005 12.74999809 +v 4.12500000 0.00000000 12.75000000 +v 4.78950596 -0.79611611 12.63599777 +v 4.85199976 0.00000000 12.63600159 +v 5.43014717 -0.90260416 12.51299858 +v 5.50100040 0.00000000 12.51299953 +v 5.94641113 -0.98841792 12.37199879 +v 6.02400064 0.00000000 12.37199974 +v 6.29091549 -1.04568183 12.20399857 +v 6.37300014 0.00000000 12.20399952 +v 6.41627979 -1.06651998 11.99999905 +v 6.50000000 0.00000000 12.00000000 +v 1.32681477 -0.44569886 13.29599857 +v 1.85773075 -0.62404239 13.12800217 +v 2.49691939 -0.83875626 12.98700237 +v 3.19879198 -1.07452679 12.86400223 +v 3.91776037 -1.31604004 12.75000000 +v 4.60823584 -1.54798210 12.63600159 +v 5.22463036 -1.75503910 12.51299953 +v 5.72135448 -1.92189705 12.37199974 +v 6.05282068 -2.03324223 12.20400047 +v 6.17343998 -2.07376003 12.00000191 +v 1.24310625 -0.64675510 13.29599857 +v 1.74052703 -0.90554988 13.12800217 +v 2.33938932 -1.21712196 12.98700237 +v 2.99698114 -1.55924964 12.86400223 +v 3.67058992 -1.90971017 12.75000000 +v 4.31750345 -2.24628210 12.63599968 +v 4.89500952 -2.54674315 12.51299953 +v 5.36039639 -2.78887129 12.37199974 +v 5.67095041 -2.95044422 12.20399857 +v 5.78395939 -3.00924015 11.99999905 +v 1.13056421 -0.82970631 13.29599953 +v 1.58295178 -1.16170776 13.12800217 +v 2.12759709 -1.56141591 12.98700237 +v 2.72565556 -2.00032282 12.86400223 +v 3.33828020 -2.44991994 12.75000000 +v 3.92662740 -2.88170052 12.63600159 +v 4.45184994 -3.26715422 12.51300049 +v 4.87510300 -3.57777405 12.37200165 +v 5.15754223 -3.78505230 12.20400238 +v 5.26032019 -3.86047983 12.00000191 +v 0.99186993 -0.99186993 13.29599857 +v 1.38876021 -1.38876021 13.12800217 +v 1.86659002 -1.86659002 12.98699951 +v 2.39128041 -2.39128041 12.86400032 +v 2.92875004 -2.92875004 12.74999809 +v 3.44491982 -3.44491982 12.63599873 +v 3.90571022 -3.90571022 12.51299858 +v 4.27703953 -4.27703953 12.37199879 +v 4.52482986 -4.52482986 12.20399952 +v 4.61499977 -4.61499977 12.00000000 +v 0.82970607 -1.13056421 13.29599953 +v 1.16170752 -1.58295178 13.12800217 +v 1.56141567 -2.12759709 12.98700237 +v 2.00032234 -2.72565556 12.86400223 +v 2.44991970 -3.33827996 12.75000000 +v 2.88169956 -3.92662644 12.63600159 +v 3.26715374 -4.45184946 12.51300049 +v 3.57777381 -4.87510252 12.37199974 +v 3.78505182 -5.15754128 12.20400047 +v 3.86047959 -5.26031971 12.00000000 +v 0.64675498 -1.24310648 13.29599857 +v 0.90554976 -1.74052727 13.12800217 +v 1.21712160 -2.33938932 12.98699951 +v 1.55924916 -2.99698138 12.86400223 +v 1.90970969 -3.67058992 12.75000000 +v 2.24628162 -4.31750345 12.63600159 +v 2.54674244 -4.89500952 12.51299953 +v 2.78887057 -5.36039639 12.37199974 +v 2.95044374 -5.67095041 12.20399952 +v 3.00923944 -5.78395939 12.00000000 +v 0.44569874 -1.32681477 13.29599857 +v 0.62404209 -1.85773075 13.12800217 +v 0.83875591 -2.49691939 12.98700237 +v 1.07452643 -3.19879198 12.86400223 +v 1.31603956 -3.91776037 12.75000000 +v 1.54798150 -4.60823584 12.63600159 +v 1.75503850 -5.22463036 12.51299953 +v 1.92189634 -5.72135448 12.37199974 +v 2.03324127 -6.05282068 12.20399952 +v 2.07375932 -6.17343998 12.00000000 +v 0.22921956 -1.37900651 13.29599857 +v 0.32094026 -1.93080676 13.12800217 +v 0.43136597 -2.59513855 12.98699951 +v 0.55262101 -3.32462049 12.86400223 +v 0.67682946 -4.07187033 12.75000000 +v 0.79611552 -4.78950596 12.63600159 +v 0.90260339 -5.43014765 12.51299953 +v 0.98841715 -5.94641161 12.37199974 +v 1.04568100 -6.29091644 12.20399952 +v 1.06651914 -6.41628027 12.00000000 +v -0.00000028 -1.39700007 13.29599762 +v -0.00000039 -1.95600009 13.12799931 +v -0.00000053 -2.62899995 12.98699856 +v -0.00000067 -3.36799979 12.86400032 +v -0.00000083 -4.12499952 12.74999809 +v -0.00000097 -4.85199976 12.63599777 +v -0.00000110 -5.50100040 12.51299858 +v -0.00000121 -6.02399921 12.37199879 +v -0.00000128 -6.37299967 12.20399857 +v -0.00000130 -6.49999905 11.99999905 +v -0.22921976 -1.37900651 13.29599857 +v -0.32094049 -1.93080664 13.12800217 +v -0.43136632 -2.59513831 12.98699951 +v -0.55262148 -3.32462049 12.86400032 +v -0.67683005 -4.07186985 12.74999809 +v -0.79611611 -4.78950596 12.63599777 +v -0.90260416 -5.43014717 12.51299858 +v -0.98841792 -5.94641113 12.37199879 +v -1.04568183 -6.29091549 12.20399857 +v -1.06651998 -6.41627979 11.99999905 +v -0.44569886 -1.32681477 13.29599857 +v -0.62404239 -1.85773075 13.12800217 +v -0.83875626 -2.49691939 12.98700237 +v -1.07452679 -3.19879198 12.86400223 +v -1.31604004 -3.91776037 12.75000000 +v -1.54798210 -4.60823584 12.63600159 +v -1.75503910 -5.22463036 12.51299953 +v -1.92189705 -5.72135448 12.37199974 +v -2.03324223 -6.05282068 12.20400047 +v -2.07376003 -6.17343998 12.00000191 +v -0.64675510 -1.24310625 13.29599857 +v -0.90554988 -1.74052703 13.12800217 +v -1.21712196 -2.33938932 12.98700237 +v -1.55924964 -2.99698114 12.86400223 +v -1.90971017 -3.67058992 12.75000000 +v -2.24628210 -4.31750345 12.63599968 +v -2.54674315 -4.89500952 12.51299953 +v -2.78887129 -5.36039639 12.37199974 +v -2.95044422 -5.67095041 12.20399857 +v -3.00924015 -5.78395939 11.99999905 +v -0.82970631 -1.13056421 13.29599953 +v -1.16170776 -1.58295178 13.12800217 +v -1.56141591 -2.12759709 12.98700237 +v -2.00032282 -2.72565556 12.86400223 +v -2.44991994 -3.33828020 12.75000000 +v -2.88170052 -3.92662740 12.63600159 +v -3.26715422 -4.45184994 12.51300049 +v -3.57777405 -4.87510300 12.37200165 +v -3.78505230 -5.15754223 12.20400238 +v -3.86047983 -5.26032019 12.00000191 +v -0.99186993 -0.99186993 13.29599857 +v -1.38876021 -1.38876021 13.12800217 +v -1.86659002 -1.86659002 12.98699951 +v -2.39128041 -2.39128041 12.86400032 +v -2.92875004 -2.92875004 12.74999809 +v -3.44491982 -3.44491982 12.63599873 +v -3.90571022 -3.90571022 12.51299858 +v -4.27703953 -4.27703953 12.37199879 +v -4.52482986 -4.52482986 12.20399952 +v -4.61499977 -4.61499977 12.00000000 +v -1.13056421 -0.82970607 13.29599953 +v -1.58295178 -1.16170752 13.12800217 +v -2.12759709 -1.56141567 12.98700237 +v -2.72565556 -2.00032234 12.86400223 +v -3.33827996 -2.44991970 12.75000000 +v -3.92662644 -2.88169956 12.63600159 +v -4.45184946 -3.26715374 12.51300049 +v -4.87510252 -3.57777381 12.37199974 +v -5.15754128 -3.78505182 12.20400047 +v -5.26031971 -3.86047959 12.00000000 +v -1.24310648 -0.64675498 13.29599857 +v -1.74052727 -0.90554976 13.12800217 +v -2.33938932 -1.21712160 12.98699951 +v -2.99698138 -1.55924916 12.86400223 +v -3.67058992 -1.90970969 12.75000000 +v -4.31750345 -2.24628162 12.63600159 +v -4.89500952 -2.54674244 12.51299953 +v -5.36039639 -2.78887057 12.37199974 +v -5.67095041 -2.95044374 12.20399952 +v -5.78395939 -3.00923944 12.00000000 +v -1.32681477 -0.44569874 13.29599857 +v -1.85773075 -0.62404209 13.12800217 +v -2.49691939 -0.83875591 12.98700237 +v -3.19879198 -1.07452643 12.86400223 +v -3.91776037 -1.31603956 12.75000000 +v -4.60823584 -1.54798150 12.63600159 +v -5.22463036 -1.75503850 12.51299953 +v -5.72135448 -1.92189634 12.37199974 +v -6.05282068 -2.03324127 12.20399952 +v -6.17343998 -2.07375932 12.00000000 +v -1.37900651 -0.22921956 13.29599857 +v -1.93080676 -0.32094026 13.12800217 +v -2.59513855 -0.43136597 12.98699951 +v -3.32462049 -0.55262101 12.86400223 +v -4.07187033 -0.67682946 12.75000000 +v -4.78950596 -0.79611552 12.63600159 +v -5.43014765 -0.90260339 12.51299953 +v -5.94641161 -0.98841715 12.37199974 +v -6.29091644 -1.04568100 12.20399952 +v -6.41628027 -1.06651914 12.00000000 +v -1.39700007 0.00000028 13.29599762 +v -1.95600009 0.00000039 13.12799931 +v -2.62899995 0.00000053 12.98699856 +v -3.36799979 0.00000067 12.86400032 +v -4.12499952 0.00000083 12.74999809 +v -4.85199976 0.00000097 12.63599777 +v -5.50100040 0.00000110 12.51299858 +v -6.02399921 0.00000121 12.37199879 +v -6.37299967 0.00000128 12.20399857 +v -6.49999905 0.00000130 11.99999905 +v -1.37900651 0.22921976 13.29599857 +v -1.93080664 0.32094049 13.12800217 +v -2.59513831 0.43136632 12.98699951 +v -3.32462049 0.55262148 12.86400032 +v -4.07186985 0.67683005 12.74999809 +v -4.78950596 0.79611611 12.63599777 +v -5.43014717 0.90260416 12.51299858 +v -5.94641113 0.98841792 12.37199879 +v -6.29091549 1.04568183 12.20399857 +v -6.41627979 1.06651998 11.99999905 +v -1.32681477 0.44569886 13.29599857 +v -1.85773075 0.62404239 13.12800217 +v -2.49691939 0.83875626 12.98700237 +v -3.19879198 1.07452679 12.86400223 +v -3.91776037 1.31604004 12.75000000 +v -4.60823584 1.54798210 12.63600159 +v -5.22463036 1.75503910 12.51299953 +v -5.72135448 1.92189705 12.37199974 +v -6.05282068 2.03324223 12.20400047 +v -6.17343998 2.07376003 12.00000191 +v -1.24310625 0.64675510 13.29599857 +v -1.74052703 0.90554988 13.12800217 +v -2.33938932 1.21712196 12.98700237 +v -2.99698114 1.55924964 12.86400223 +v -3.67058992 1.90971017 12.75000000 +v -4.31750345 2.24628210 12.63599968 +v -4.89500952 2.54674315 12.51299953 +v -5.36039639 2.78887129 12.37199974 +v -5.67095041 2.95044422 12.20399857 +v -5.78395939 3.00924015 11.99999905 +v -1.13056421 0.82970631 13.29599953 +v -1.58295178 1.16170776 13.12800217 +v -2.12759709 1.56141591 12.98700237 +v -2.72565556 2.00032282 12.86400223 +v -3.33828020 2.44991994 12.75000000 +v -3.92662740 2.88170052 12.63600159 +v -4.45184994 3.26715422 12.51300049 +v -4.87510300 3.57777405 12.37200165 +v -5.15754223 3.78505230 12.20400238 +v -5.26032019 3.86047983 12.00000191 +v -0.99186993 0.99186993 13.29599857 +v -1.38876021 1.38876021 13.12800217 +v -1.86659002 1.86659002 12.98699951 +v -2.39128041 2.39128041 12.86400032 +v -2.92875004 2.92875004 12.74999809 +v -3.44491982 3.44491982 12.63599873 +v -3.90571022 3.90571022 12.51299858 +v -4.27703953 4.27703953 12.37199879 +v -4.52482986 4.52482986 12.20399952 +v -4.61499977 4.61499977 12.00000000 +v -0.82970607 1.13056421 13.29599953 +v -1.16170752 1.58295178 13.12800217 +v -1.56141567 2.12759709 12.98700237 +v -2.00032234 2.72565556 12.86400223 +v -2.44991970 3.33827996 12.75000000 +v -2.88169956 3.92662644 12.63600159 +v -3.26715374 4.45184946 12.51300049 +v -3.57777381 4.87510252 12.37199974 +v -3.78505182 5.15754128 12.20400047 +v -3.86047959 5.26031971 12.00000000 +v -0.64675498 1.24310648 13.29599857 +v -0.90554976 1.74052727 13.12800217 +v -1.21712160 2.33938932 12.98699951 +v -1.55924916 2.99698138 12.86400223 +v -1.90970969 3.67058992 12.75000000 +v -2.24628162 4.31750345 12.63600159 +v -2.54674244 4.89500952 12.51299953 +v -2.78887057 5.36039639 12.37199974 +v -2.95044374 5.67095041 12.20399952 +v -3.00923944 5.78395939 12.00000000 +v -0.44569874 1.32681477 13.29599857 +v -0.62404209 1.85773075 13.12800217 +v -0.83875591 2.49691939 12.98700237 +v -1.07452643 3.19879198 12.86400223 +v -1.31603956 3.91776037 12.75000000 +v -1.54798150 4.60823584 12.63600159 +v -1.75503850 5.22463036 12.51299953 +v -1.92189634 5.72135448 12.37199974 +v -2.03324127 6.05282068 12.20399952 +v -2.07375932 6.17343998 12.00000000 +v -0.22921956 1.37900651 13.29599857 +v -0.32094026 1.93080676 13.12800217 +v -0.43136597 2.59513855 12.98699951 +v -0.55262101 3.32462049 12.86400223 +v -0.67682946 4.07187033 12.75000000 +v -0.79611552 4.78950596 12.63600159 +v -0.90260339 5.43014765 12.51299953 +v -0.98841715 5.94641161 12.37199974 +v -1.04568100 6.29091644 12.20399952 +v -1.06651914 6.41628027 12.00000000 +v 0.00000028 1.39700007 13.29599762 +v 0.00000039 1.95600009 13.12799931 +v 0.00000053 2.62899995 12.98699856 +v 0.00000067 3.36799979 12.86400032 +v 0.00000083 4.12499952 12.74999809 +v 0.00000097 4.85199976 12.63599777 +v 0.00000110 5.50100040 12.51299858 +v 0.00000121 6.02399921 12.37199879 +v 0.00000128 6.37299967 12.20399857 +v 0.00000130 6.49999905 11.99999905 +v 0.22921976 1.37900651 13.29599857 +v 0.32094049 1.93080664 13.12800217 +v 0.43136632 2.59513831 12.98699951 +v 0.55262148 3.32462049 12.86400032 +v 0.67683005 4.07186985 12.74999809 +v 0.79611611 4.78950596 12.63599777 +v 0.90260416 5.43014717 12.51299858 +v 0.98841792 5.94641113 12.37199879 +v 1.04568183 6.29091549 12.20399857 +v 1.06651998 6.41627979 11.99999905 +v 0.44569886 1.32681477 13.29599857 +v 0.62404239 1.85773075 13.12800217 +v 0.83875626 2.49691939 12.98700237 +v 1.07452679 3.19879198 12.86400223 +v 1.31604004 3.91776037 12.75000000 +v 1.54798210 4.60823584 12.63600159 +v 1.75503910 5.22463036 12.51299953 +v 1.92189705 5.72135448 12.37199974 +v 2.03324223 6.05282068 12.20400047 +v 2.07376003 6.17343998 12.00000191 +v 0.64675510 1.24310625 13.29599857 +v 0.90554988 1.74052703 13.12800217 +v 1.21712196 2.33938932 12.98700237 +v 1.55924964 2.99698114 12.86400223 +v 1.90971017 3.67058992 12.75000000 +v 2.24628210 4.31750345 12.63599968 +v 2.54674315 4.89500952 12.51299953 +v 2.78887129 5.36039639 12.37199974 +v 2.95044422 5.67095041 12.20399857 +v 3.00924015 5.78395939 11.99999905 +v 0.82970631 1.13056421 13.29599953 +v 1.16170776 1.58295178 13.12800217 +v 1.56141591 2.12759709 12.98700237 +v 2.00032282 2.72565556 12.86400223 +v 2.44991994 3.33828020 12.75000000 +v 2.88170052 3.92662740 12.63600159 +v 3.26715422 4.45184994 12.51300049 +v 3.57777405 4.87510300 12.37200165 +v 3.78505230 5.15754223 12.20400238 +v 3.86047983 5.26032019 12.00000191 +v 0.99186993 0.99186993 13.29599857 +v 1.38876021 1.38876021 13.12800217 +v 1.86659002 1.86659002 12.98699951 +v 2.39128041 2.39128041 12.86400032 +v 2.92875004 2.92875004 12.74999809 +v 3.44491982 3.44491982 12.63599873 +v 3.90571022 3.90571022 12.51299858 +v 4.27703953 4.27703953 12.37199879 +v 4.52482986 4.52482986 12.20399952 +v 4.61499977 4.61499977 12.00000000 +v 1.13056421 0.82970607 13.29599953 +v 1.58295178 1.16170752 13.12800217 +v 2.12759709 1.56141567 12.98700237 +v 2.72565556 2.00032234 12.86400223 +v 3.33827996 2.44991970 12.75000000 +v 3.92662644 2.88169956 12.63600159 +v 4.45184946 3.26715374 12.51300049 +v 4.87510252 3.57777381 12.37199974 +v 5.15754128 3.78505182 12.20400047 +v 5.26031971 3.86047959 12.00000000 +v 1.24310648 0.64675498 13.29599857 +v 1.74052727 0.90554976 13.12800217 +v 2.33938932 1.21712160 12.98699951 +v 2.99698138 1.55924916 12.86400223 +v 3.67058992 1.90970969 12.75000000 +v 4.31750345 2.24628162 12.63600159 +v 4.89500952 2.54674244 12.51299953 +v 5.36039639 2.78887057 12.37199974 +v 5.67095041 2.95044374 12.20399952 +v 5.78395939 3.00923944 12.00000000 +v 1.32681477 0.44569874 13.29599857 +v 1.85773075 0.62404209 13.12800217 +v 2.49691939 0.83875591 12.98700237 +v 3.19879198 1.07452643 12.86400223 +v 3.91776037 1.31603956 12.75000000 +v 4.60823584 1.54798150 12.63600159 +v 5.22463036 1.75503850 12.51299953 +v 5.72135448 1.92189634 12.37199974 +v 6.05282068 2.03324127 12.20399952 +v 6.17343998 2.07375932 12.00000000 +v 1.37900651 0.22921956 13.29599857 +v 1.93080676 0.32094026 13.12800217 +v 2.59513855 0.43136597 12.98699951 +v 3.32462049 0.55262101 12.86400223 +v 4.07187033 0.67682946 12.75000000 +v 4.78950596 0.79611552 12.63600159 +v 5.43014765 0.90260339 12.51299953 +v 5.94641161 0.98841715 12.37199974 +v 6.29091644 1.04568100 12.20399952 +v 6.41628027 1.06651914 12.00000000 +# 3242 vertices + +vn -0.92937702 0.00000066 -0.36913189 +vn -0.91777939 0.14584102 -0.36933908 +vn -0.94655925 0.15025593 -0.28539219 +vn -0.95846283 0.00000039 -0.28521743 +vn -0.98624462 0.15653481 -0.05308880 +vn -0.99859172 0.00000043 -0.05305253 +vn -0.92857677 0.14735591 0.34063390 +vn -0.94026983 0.00000047 0.34043011 +vn -0.57574195 0.09143545 0.81250280 +vn -0.58325863 0.00000014 0.81228650 +vn -0.01851714 0.00303705 0.99982393 +vn -0.01890163 0.00000005 0.99982136 +vn 0.38331231 -0.06080242 0.92161530 +vn 0.38823691 -0.00000016 0.92155957 +vn 0.60637170 -0.09624735 0.78933507 +vn 0.61416614 -0.00000025 0.78917676 +vn 0.74009740 -0.11749516 0.66215611 +vn 0.74955201 -0.00000052 0.66194546 +vn 0.82924587 -0.13166013 0.54315460 +vn 0.83977759 -0.00000060 0.54293054 +vn 0.87847370 -0.13947570 0.45697978 +vn 0.88959199 -0.00000029 0.45675611 +vn -0.88322002 0.28848207 -0.36973032 +vn -0.91101164 0.29736489 -0.28571302 +vn -0.94930249 0.30983824 -0.05315110 +vn -0.89369029 0.29165581 0.34096128 +vn -0.55383718 0.18083061 0.81275129 +vn -0.01782426 0.00593466 0.99982351 +vn 0.36858153 -0.12025690 0.92178410 +vn 0.58321714 -0.19036068 0.78969651 +vn 0.71198517 -0.23241727 0.66261548 +vn 0.79788733 -0.26047307 0.54362631 +vn 0.84534264 -0.27596396 0.45742726 +vn -0.82694155 0.42331010 -0.37010300 +vn -0.85303330 0.43650383 -0.28600454 +vn -0.88896716 0.45486927 -0.05321062 +vn -0.83680320 0.42815152 0.34124282 +vn -0.51837826 0.26530099 0.81295717 +vn -0.01672515 0.00865607 0.99982268 +vn 0.34479791 -0.17639315 0.92195439 +vn 0.54574186 -0.27925360 0.79005271 +vn 0.66639054 -0.34101027 0.66305023 +vn 0.74691564 -0.38222960 0.54407495 +vn 0.79141933 -0.40500358 0.45785099 +vn -0.75079948 0.54693532 -0.37035385 +vn -0.77451009 0.56411320 -0.28619990 +vn -0.80718130 0.58789718 -0.05324761 +vn -0.75976038 0.55334359 0.34143078 +vn -0.47055763 0.34275571 0.81307691 +vn -0.01524668 0.01116221 0.99982148 +vn 0.31285259 -0.22783993 0.92206955 +vn 0.49528098 -0.36073422 0.79029590 +vn 0.60486996 -0.44056484 0.66335130 +vn 0.67804587 -0.49386927 0.54437757 +vn 0.71849620 -0.52333170 0.45813438 +vn -0.65680134 0.65680265 -0.37043515 +vn -0.67751420 0.67751467 -0.28626621 +vn -0.70610309 0.70610309 -0.05326291 +vn -0.66459811 0.66459841 0.34149426 +vn -0.41160181 0.41160229 0.81312209 +vn -0.01337804 0.01337779 0.99982101 +vn 0.27359486 -0.27359521 0.92211252 +vn 0.43319049 -0.43319100 0.79037428 +vn 0.52907068 -0.52907157 0.66345119 +vn 0.59309965 -0.59310073 0.54448539 +vn 0.62849897 -0.62849981 0.45823258 +vn -0.54693663 0.75080073 -0.37034932 +vn -0.56411374 0.77451098 -0.28619644 +vn -0.58789682 0.80718160 -0.05324630 +vn -0.55334389 0.75976098 0.34142900 +vn -0.34275308 0.47055402 0.81308007 +vn -0.01116183 0.01524614 0.99982148 +vn 0.22783731 -0.31284890 0.92207146 +vn 0.36073792 -0.49528721 0.79029030 +vn 0.44056576 -0.60487187 0.66334897 +vn 0.49386823 -0.67804390 0.54438102 +vn 0.52333224 -0.71849644 0.45813340 +vn -0.42331013 0.82694185 -0.37010229 +vn -0.43650362 0.85303307 -0.28600559 +vn -0.45486921 0.88896722 -0.05321032 +vn -0.42815024 0.83680087 0.34125009 +vn -0.26529899 0.51837379 0.81296068 +vn -0.00865664 0.01672514 0.99982268 +vn 0.17639306 -0.34480059 0.92195338 +vn 0.27925292 -0.54574192 0.79005289 +vn 0.34100902 -0.66638726 0.66305423 +vn 0.38222912 -0.74691468 0.54407662 +vn 0.40500349 -0.79141986 0.45785016 +vn -0.28848213 0.88322014 -0.36973000 +vn -0.29736567 0.91101164 -0.28571209 +vn -0.30983877 0.94930226 -0.05315211 +vn -0.29165566 0.89368963 0.34096310 +vn -0.18082850 0.55382955 0.81275696 +vn -0.00593017 0.01780839 0.99982381 +vn 0.12025759 -0.36858290 0.92178345 +vn 0.19036052 -0.58321464 0.78969836 +vn 0.23241726 -0.71198517 0.66261554 +vn 0.26047286 -0.79788673 0.54362726 +vn 0.27596459 -0.84534365 0.45742506 +vn -0.14584167 0.91778094 -0.36933509 +vn -0.15025572 0.94655937 -0.28539193 +vn -0.15653491 0.98624456 -0.05308953 +vn -0.14735614 0.92857540 0.34063753 +vn -0.09143508 0.57573831 0.81250536 +vn -0.00303603 0.01851422 0.99982399 +vn 0.06080331 -0.38331348 0.92161477 +vn 0.09624790 -0.60637057 0.78933585 +vn 0.11749562 -0.74009526 0.66215849 +vn 0.13166077 -0.82924569 0.54315472 +vn 0.13947631 -0.87847430 0.45697838 +vn -0.00241132 0.92919028 -0.36959377 +vn -0.00214093 0.95840925 -0.28538951 +vn -0.00156673 0.99858111 -0.05322830 +vn -0.00098996 0.94033718 0.34024262 +vn -0.00040494 0.58340061 0.81218445 +vn -0.00003100 0.01895988 0.99982023 +vn 0.00005471 -0.38823390 0.92156088 +vn 0.00003556 -0.61417031 0.78917348 +vn 0.00001110 -0.74955589 0.66194105 +vn 0.00000088 -0.83977890 0.54292852 +vn -0.00000046 -0.88959146 0.45675710 +vn 0.14365491 0.90915614 -0.39089435 +vn 0.14280027 0.94071108 -0.30768612 +vn 0.15177603 0.98516017 -0.08014628 +vn 0.14534885 0.93794131 0.31486481 +vn 0.08932434 0.58863962 0.80344540 +vn 0.00165450 0.02035248 0.99979150 +vn -0.06112473 -0.38594052 0.92049640 +vn -0.09621954 -0.60815173 0.78796780 +vn -0.11740727 -0.74081051 0.66137379 +vn -0.13160300 -0.82942176 0.54289979 +vn -0.13946594 -0.87849152 0.45694846 +vn 0.28124434 0.85605878 -0.43366459 +vn 0.28304282 0.89119565 -0.35448143 +vn 0.30241874 0.94317204 -0.13772956 +vn 0.29599312 0.91978902 0.25763580 +vn 0.18738765 0.59379762 0.78248978 +vn 0.00503982 0.02373027 0.99970567 +vn -0.12275879 -0.37660226 0.91820532 +vn -0.19164266 -0.58858532 0.78539187 +vn -0.23280467 -0.71413022 0.66016662 +vn -0.26051158 -0.79841906 0.54282659 +vn -0.27596161 -0.84539682 0.45732850 +vn 0.40772751 0.78024703 -0.47431308 +vn 0.41497874 0.81677252 -0.40084317 +vn 0.44540322 0.87360090 -0.19605474 +vn 0.44560152 0.87362117 0.19551302 +vn 0.29214314 0.58349502 0.75775057 +vn 0.01051011 0.02699072 0.99958044 +vn -0.18298006 -0.35760441 0.91577148 +vn -0.28318092 -0.55422550 0.78271496 +vn -0.34243277 -0.66976798 0.65890115 +vn -0.38251632 -0.74775475 0.54271919 +vn -0.40502563 -0.79150522 0.45768306 +vn 0.52222884 0.69137323 -0.49927956 +vn 0.53581339 0.72620809 -0.43072703 +vn 0.57622308 0.78303432 -0.23414573 +vn 0.58447140 0.79692757 0.15264224 +vn 0.39381951 0.54644239 0.73912579 +vn 0.01705136 0.02789705 0.99946535 +vn -0.23892814 -0.32759613 0.91410840 +vn -0.36762398 -0.50497699 0.78092951 +vn -0.44316623 -0.60871994 0.65807575 +vn -0.49445033 -0.67900348 0.54265380 +vn -0.52338409 -0.71859461 0.45792013 +vn 0.62662739 0.59472734 -0.50362438 +vn 0.64602774 0.62557507 -0.43738309 +vn 0.69405138 0.67789310 -0.24239150 +vn 0.70540297 0.69416553 0.14332078 +vn 0.47977954 0.47991407 0.73450261 +vn 0.02253748 0.02516904 0.99942911 +vn -0.28763738 -0.28683168 0.91377914 +vn -0.44208869 -0.44187564 0.78057897 +vn -0.53249156 -0.53251767 0.65793437 +vn -0.59389484 -0.59395957 0.54267943 +vn -0.62857515 -0.62858742 0.45800778 +vn 0.72179592 0.49101904 -0.48776114 +vn 0.74584442 0.51651710 -0.42062593 +vn 0.79813540 0.56071025 -0.22041760 +vn 0.80340552 0.57101071 0.16877903 +vn 0.54063070 0.39020982 0.74528831 +vn 0.02514792 0.01950396 0.99949348 +vn -0.32692203 -0.23710503 0.91482413 +vn -0.50434715 -0.36683220 0.78170842 +vn -0.60839593 -0.44298822 0.65849513 +vn -0.67887932 -0.49447551 0.54278618 +vn -0.71857744 -0.52339458 0.45793507 +vn 0.80537552 0.37876737 -0.45596662 +vn 0.83255297 0.39810854 -0.38518202 +vn 0.88491893 0.43157828 -0.17509606 +vn 0.87438536 0.43309706 0.21880859 +vn 0.57421529 0.28871742 0.76610643 +vn 0.02467178 0.01293414 0.99961191 +vn -0.35589349 -0.18108353 0.91681439 +vn -0.55300683 -0.28234553 0.78387785 +vn -0.66924173 -0.34223819 0.65953660 +vn -0.74760044 -0.38253894 0.54291582 +vn -0.79148746 -0.40503561 0.45770490 +vn 0.87182689 0.25732258 -0.41677690 +vn 0.90048492 0.27011719 -0.34082779 +vn 0.94893670 0.29179314 -0.11989972 +vn 0.91716671 0.28744596 0.27600726 +vn 0.58597183 0.18650684 0.78857607 +vn 0.02240267 0.00724929 0.99972272 +vn -0.37492424 -0.12150608 0.91905826 +vn -0.58744848 -0.19116247 0.78635943 +vn -0.71366805 -0.23272941 0.66069275 +vn -0.79829693 -0.26055285 0.54298639 +vn -0.84538448 -0.27597278 0.45734465 +vn 0.91464841 0.12899825 -0.38311583 +vn 0.94360489 0.13528989 -0.30216956 +vn 0.98662364 0.14570706 -0.07309741 +vn 0.93625158 0.14141636 0.32161215 +vn 0.58577669 0.08999700 0.80546027 +vn 0.02007953 0.00308192 0.99979365 +vn -0.38521239 -0.06059395 0.92083645 +vn -0.60768831 -0.09607073 0.78834343 +vn -0.74063140 -0.11741198 0.66157359 +vn -0.82937890 -0.13163866 0.54295659 +vn -0.87848777 -0.13947387 0.45695323 +vn 0.92936647 -0.00480829 -0.36912718 +vn 0.95835537 -0.00432758 -0.28554562 +vn 0.99856812 -0.00327549 -0.05339426 +vn 0.94040322 -0.00216649 0.34005445 +vn 0.58357376 -0.00093375 0.81205964 +vn 0.01905436 -0.00006852 0.99981844 +vn -0.38822630 0.00016426 0.92156404 +vn -0.61418188 0.00012988 0.78916454 +vn -0.74956554 0.00005991 0.66193014 +vn -0.83978313 0.00001679 0.54292196 +vn -0.88959211 0.00000229 0.45675585 +vn 0.91777945 -0.14584051 -0.36933914 +vn 0.94655937 -0.15025553 -0.28539214 +vn 0.98624462 -0.15653470 -0.05308866 +vn 0.92857659 -0.14735647 0.34063411 +vn 0.57574183 -0.09143623 0.81250274 +vn 0.01851692 -0.00303775 0.99982393 +vn -0.38331240 0.06080172 0.92161530 +vn -0.60637164 0.09624694 0.78933513 +vn -0.74009740 0.11749506 0.66215616 +vn -0.82924592 0.13166003 0.54315454 +vn -0.87847370 0.13947564 0.45697981 +vn 0.88322002 -0.28848207 -0.36973032 +vn 0.91101164 -0.29736489 -0.28571302 +vn 0.94930249 -0.30983824 -0.05315110 +vn 0.89369029 -0.29165581 0.34096128 +vn 0.55383718 -0.18083061 0.81275129 +vn 0.01782426 -0.00593466 0.99982351 +vn -0.36858153 0.12025690 0.92178410 +vn -0.58321714 0.19036068 0.78969651 +vn -0.71198517 0.23241727 0.66261548 +vn -0.79788733 0.26047307 0.54362631 +vn -0.84534264 0.27596396 0.45742726 +vn 0.82694155 -0.42331010 -0.37010300 +vn 0.85303330 -0.43650383 -0.28600454 +vn 0.88896716 -0.45486927 -0.05321062 +vn 0.83680320 -0.42815152 0.34124282 +vn 0.51837826 -0.26530099 0.81295717 +vn 0.01672515 -0.00865607 0.99982268 +vn -0.34479791 0.17639315 0.92195439 +vn -0.54574186 0.27925360 0.79005271 +vn -0.66639054 0.34101027 0.66305023 +vn -0.74691564 0.38222960 0.54407495 +vn -0.79141933 0.40500358 0.45785099 +vn 0.75079948 -0.54693532 -0.37035385 +vn 0.77451009 -0.56411320 -0.28619990 +vn 0.80718130 -0.58789718 -0.05324761 +vn 0.75976038 -0.55334359 0.34143078 +vn 0.47055763 -0.34275571 0.81307691 +vn 0.01524668 -0.01116221 0.99982148 +vn -0.31285259 0.22783993 0.92206955 +vn -0.49528098 0.36073422 0.79029590 +vn -0.60486996 0.44056484 0.66335130 +vn -0.67804587 0.49386927 0.54437757 +vn -0.71849620 0.52333170 0.45813438 +vn 0.65680134 -0.65680265 -0.37043515 +vn 0.67751420 -0.67751467 -0.28626621 +vn 0.70610309 -0.70610309 -0.05326291 +vn 0.66459811 -0.66459841 0.34149426 +vn 0.41160181 -0.41160229 0.81312209 +vn 0.01337804 -0.01337779 0.99982101 +vn -0.27359486 0.27359521 0.92211252 +vn -0.43319049 0.43319100 0.79037428 +vn -0.52907068 0.52907157 0.66345119 +vn -0.59309965 0.59310073 0.54448539 +vn -0.62849897 0.62849981 0.45823258 +vn 0.54693663 -0.75080073 -0.37034932 +vn 0.56411374 -0.77451098 -0.28619644 +vn 0.58789682 -0.80718160 -0.05324630 +vn 0.55334389 -0.75976098 0.34142900 +vn 0.34275308 -0.47055402 0.81308007 +vn 0.01116183 -0.01524614 0.99982148 +vn -0.22783731 0.31284890 0.92207146 +vn -0.36073792 0.49528721 0.79029030 +vn -0.44056576 0.60487187 0.66334897 +vn -0.49386823 0.67804390 0.54438102 +vn -0.52333224 0.71849644 0.45813340 +vn 0.42331013 -0.82694185 -0.37010229 +vn 0.43650362 -0.85303307 -0.28600559 +vn 0.45486921 -0.88896722 -0.05321032 +vn 0.42815024 -0.83680087 0.34125009 +vn 0.26529899 -0.51837379 0.81296068 +vn 0.00865664 -0.01672514 0.99982268 +vn -0.17639306 0.34480059 0.92195338 +vn -0.27925292 0.54574192 0.79005289 +vn -0.34100902 0.66638726 0.66305423 +vn -0.38222912 0.74691468 0.54407662 +vn -0.40500349 0.79141986 0.45785016 +vn 0.28848213 -0.88322014 -0.36973000 +vn 0.29736567 -0.91101164 -0.28571209 +vn 0.30983877 -0.94930226 -0.05315211 +vn 0.29165566 -0.89368963 0.34096310 +vn 0.18082850 -0.55382955 0.81275696 +vn 0.00593017 -0.01780839 0.99982381 +vn -0.12025759 0.36858290 0.92178345 +vn -0.19036052 0.58321464 0.78969836 +vn -0.23241726 0.71198517 0.66261554 +vn -0.26047286 0.79788673 0.54362726 +vn -0.27596459 0.84534365 0.45742506 +vn 0.14584167 -0.91778094 -0.36933509 +vn 0.15025572 -0.94655937 -0.28539193 +vn 0.15653491 -0.98624456 -0.05308953 +vn 0.14735614 -0.92857540 0.34063753 +vn 0.09143508 -0.57573831 0.81250536 +vn 0.00303603 -0.01851422 0.99982399 +vn -0.06080331 0.38331348 0.92161477 +vn -0.09624790 0.60637057 0.78933585 +vn -0.11749562 0.74009526 0.66215849 +vn -0.13166077 0.82924569 0.54315472 +vn -0.13947631 0.87847430 0.45697838 +vn -0.00000076 -0.92937720 -0.36913148 +vn -0.00000063 -0.95846349 -0.28521514 +vn -0.00000070 -0.99859190 -0.05304909 +vn -0.00000034 -0.94027245 0.34042284 +vn -0.00000007 -0.58326209 0.81228399 +vn -0.00000006 -0.01890031 0.99982136 +vn 0.00000038 0.38823304 0.92156124 +vn 0.00000057 0.61416245 0.78917962 +vn 0.00000051 0.74955237 0.66194504 +vn 0.00000062 0.83977842 0.54292929 +vn 0.00000046 0.88959146 0.45675710 +vn -0.14584051 -0.91777945 -0.36933914 +vn -0.15025553 -0.94655937 -0.28539214 +vn -0.15653470 -0.98624462 -0.05308866 +vn -0.14735647 -0.92857659 0.34063411 +vn -0.09143623 -0.57574183 0.81250274 +vn -0.00303775 -0.01851692 0.99982393 +vn 0.06080172 0.38331240 0.92161530 +vn 0.09624694 0.60637164 0.78933513 +vn 0.11749506 0.74009740 0.66215616 +vn 0.13166003 0.82924592 0.54315454 +vn 0.13947564 0.87847370 0.45697981 +vn -0.28848207 -0.88322002 -0.36973032 +vn -0.29736489 -0.91101164 -0.28571302 +vn -0.30983824 -0.94930249 -0.05315110 +vn -0.29165581 -0.89369029 0.34096128 +vn -0.18083061 -0.55383718 0.81275129 +vn -0.00593466 -0.01782426 0.99982351 +vn 0.12025690 0.36858153 0.92178410 +vn 0.19036068 0.58321714 0.78969651 +vn 0.23241727 0.71198517 0.66261548 +vn 0.26047307 0.79788733 0.54362631 +vn 0.27596396 0.84534264 0.45742726 +vn -0.42331010 -0.82694155 -0.37010300 +vn -0.43650383 -0.85303330 -0.28600454 +vn -0.45486927 -0.88896716 -0.05321062 +vn -0.42815152 -0.83680320 0.34124282 +vn -0.26530099 -0.51837826 0.81295717 +vn -0.00865607 -0.01672515 0.99982268 +vn 0.17639315 0.34479791 0.92195439 +vn 0.27925360 0.54574186 0.79005271 +vn 0.34101027 0.66639054 0.66305023 +vn 0.38222960 0.74691564 0.54407495 +vn 0.40500358 0.79141933 0.45785099 +vn -0.54693532 -0.75079948 -0.37035385 +vn -0.56411320 -0.77451009 -0.28619990 +vn -0.58789718 -0.80718130 -0.05324761 +vn -0.55334359 -0.75976038 0.34143078 +vn -0.34275571 -0.47055763 0.81307691 +vn -0.01116221 -0.01524668 0.99982148 +vn 0.22783993 0.31285259 0.92206955 +vn 0.36073422 0.49528098 0.79029590 +vn 0.44056484 0.60486996 0.66335130 +vn 0.49386927 0.67804587 0.54437757 +vn 0.52333170 0.71849620 0.45813438 +vn -0.65680265 -0.65680134 -0.37043515 +vn -0.67751467 -0.67751420 -0.28626621 +vn -0.70610309 -0.70610309 -0.05326291 +vn -0.66459841 -0.66459811 0.34149426 +vn -0.41160229 -0.41160181 0.81312209 +vn -0.01337779 -0.01337804 0.99982101 +vn 0.27359521 0.27359486 0.92211252 +vn 0.43319100 0.43319049 0.79037428 +vn 0.52907157 0.52907068 0.66345119 +vn 0.59310073 0.59309965 0.54448539 +vn 0.62849981 0.62849897 0.45823258 +vn -0.75080073 -0.54693663 -0.37034932 +vn -0.77451098 -0.56411374 -0.28619644 +vn -0.80718160 -0.58789682 -0.05324630 +vn -0.75976098 -0.55334389 0.34142900 +vn -0.47055402 -0.34275308 0.81308007 +vn -0.01524614 -0.01116183 0.99982148 +vn 0.31284890 0.22783731 0.92207146 +vn 0.49528721 0.36073792 0.79029030 +vn 0.60487187 0.44056576 0.66334897 +vn 0.67804390 0.49386823 0.54438102 +vn 0.71849644 0.52333224 0.45813340 +vn -0.82694185 -0.42331013 -0.37010229 +vn -0.85303307 -0.43650362 -0.28600559 +vn -0.88896722 -0.45486921 -0.05321032 +vn -0.83680087 -0.42815024 0.34125009 +vn -0.51837379 -0.26529899 0.81296068 +vn -0.01672514 -0.00865664 0.99982268 +vn 0.34480059 0.17639306 0.92195338 +vn 0.54574192 0.27925292 0.79005289 +vn 0.66638726 0.34100902 0.66305423 +vn 0.74691468 0.38222912 0.54407662 +vn 0.79141986 0.40500349 0.45785016 +vn -0.88322014 -0.28848213 -0.36973000 +vn -0.91101164 -0.29736567 -0.28571209 +vn -0.94930226 -0.30983877 -0.05315211 +vn -0.89368963 -0.29165566 0.34096310 +vn -0.55382955 -0.18082850 0.81275696 +vn -0.01780839 -0.00593017 0.99982381 +vn 0.36858290 0.12025759 0.92178345 +vn 0.58321464 0.19036052 0.78969836 +vn 0.71198517 0.23241726 0.66261554 +vn 0.79788673 0.26047286 0.54362726 +vn 0.84534365 0.27596459 0.45742506 +vn -0.91778082 -0.14584222 -0.36933509 +vn -0.94655931 -0.15025608 -0.28539202 +vn -0.98624456 -0.15653493 -0.05308959 +vn -0.92857546 -0.14735588 0.34063745 +vn -0.57573849 -0.09143453 0.81250536 +vn -0.01851429 -0.00303529 0.99982399 +vn 0.38331342 0.06080388 0.92161471 +vn 0.60637069 0.09624811 0.78933573 +vn 0.74009508 0.11749584 0.66215855 +vn 0.82924569 0.13166103 0.54315460 +vn 0.87847430 0.13947636 0.45697838 +vn 0.89350575 -0.14185734 0.42605627 +vn 0.90480113 0.00000001 0.42583436 +vn 0.89777595 -0.14253618 0.41675147 +vn 0.90911996 -0.00000041 0.41653436 +vn 0.90482628 -0.14365776 0.40081391 +vn 0.91625232 -0.00000046 0.40060166 +vn 0.91455418 -0.14520422 0.37750024 +vn 0.92609268 0.00000001 0.37729606 +vn 0.92672956 -0.14713964 0.34571987 +vn 0.93840790 -0.00000016 0.34552941 +vn 0.94088739 -0.14939053 0.30399567 +vn 0.95272821 -0.00000031 0.30382386 +vn 0.95615268 -0.15181807 0.25044620 +vn 0.96816820 -0.00000019 0.25030041 +vn 0.97097337 -0.15417565 0.18286768 +vn 0.98315781 -0.00000005 0.18275872 +vn 0.98277348 -0.15605396 0.09901247 +vn 0.99509209 -0.00000003 0.09895285 +vn 0.98724180 -0.15677668 -0.02783409 +vn 0.99961305 -0.00000005 -0.02781714 +vn 0.85983777 -0.28068987 0.42648822 +vn 0.86395502 -0.28203514 0.41717848 +vn 0.87075424 -0.28425637 0.40122980 +vn 0.88013476 -0.28732133 0.37790108 +vn 0.89187682 -0.29115754 0.34609690 +vn 0.90553182 -0.29561919 0.30433765 +vn 0.92025673 -0.30043092 0.25073642 +vn 0.93455404 -0.30510378 0.18308578 +vn 0.94593829 -0.30882576 0.09913316 +vn 0.95024687 -0.31024876 -0.02786814 +vn 0.80501652 -0.41195682 0.42689577 +vn 0.80887830 -0.41393420 0.41758156 +vn 0.81525648 -0.41719931 0.40162367 +vn 0.82405657 -0.42170480 0.37828007 +vn 0.83507258 -0.42734465 0.34645396 +vn 0.84788495 -0.43390438 0.30466065 +vn 0.86170214 -0.44097921 0.25101140 +vn 0.87511909 -0.44785020 0.18329430 +vn 0.88580376 -0.45332259 0.09924911 +vn 0.88984704 -0.45540506 -0.02790110 +vn 0.73085678 -0.53233194 0.42716628 +vn 0.73436701 -0.53488970 0.41784942 +vn 0.74016494 -0.53911364 0.40188602 +vn 0.74816525 -0.54494220 0.37853235 +vn 0.75818050 -0.55223852 0.34669143 +vn 0.76982939 -0.56072533 0.30487669 +vn 0.78239310 -0.56987870 0.25119564 +vn 0.79459435 -0.57876801 0.18343221 +vn 0.80431104 -0.58584827 0.09932566 +vn 0.80798906 -0.58853543 -0.02792301 +vn 0.63931525 -0.63931608 0.42725980 +vn 0.64238787 -0.64238840 0.41794142 +vn 0.64746219 -0.64746273 0.40197602 +vn 0.65446401 -0.65446478 0.37861943 +vn 0.66322970 -0.66323030 0.34677354 +vn 0.67342591 -0.67342603 0.30495071 +vn 0.68442255 -0.68442297 0.25125879 +vn 0.69510221 -0.69510275 0.18348059 +vn 0.70360798 -0.70360851 0.09935265 +vn 0.70683062 -0.70683122 -0.02793089 +vn 0.53233194 -0.73085684 0.42716625 +vn 0.53488952 -0.73436707 0.41784948 +vn 0.53911370 -0.74016500 0.40188581 +vn 0.54494202 -0.74816543 0.37853229 +vn 0.55223817 -0.75818056 0.34669188 +vn 0.56072509 -0.76982963 0.30487663 +vn 0.56987846 -0.78239334 0.25119555 +vn 0.57876813 -0.79459423 0.18343234 +vn 0.58584851 -0.80431092 0.09932517 +vn 0.58853537 -0.80798912 -0.02792346 +vn 0.41195658 -0.80501670 0.42689568 +vn 0.41393399 -0.80887824 0.41758183 +vn 0.41719949 -0.81525642 0.40162367 +vn 0.42170489 -0.82405674 0.37827963 +vn 0.42734456 -0.83507258 0.34645405 +vn 0.43390447 -0.84788483 0.30466089 +vn 0.44097939 -0.86170208 0.25101134 +vn 0.44784972 -0.87511933 0.18329427 +vn 0.45332250 -0.88580376 0.09924914 +vn 0.45540538 -0.88984686 -0.02790113 +vn 0.28068995 -0.85983765 0.42648843 +vn 0.28203535 -0.86395472 0.41717893 +vn 0.28425667 -0.87075400 0.40123010 +vn 0.28732169 -0.88013494 0.37790048 +vn 0.29115775 -0.89187658 0.34609732 +vn 0.29561928 -0.90553176 0.30433768 +vn 0.30043119 -0.92025679 0.25073594 +vn 0.30510402 -0.93455392 0.18308596 +vn 0.30882585 -0.94593817 0.09913408 +vn 0.31024864 -0.95024687 -0.02786839 +vn 0.14185783 -0.89350563 0.42605641 +vn 0.14253692 -0.89777547 0.41675222 +vn 0.14365764 -0.90482652 0.40081343 +vn 0.14520417 -0.91455436 0.37749982 +vn 0.14713970 -0.92672932 0.34572047 +vn 0.14939083 -0.94088733 0.30399570 +vn 0.15181810 -0.95615280 0.25044578 +vn 0.15417579 -0.97097343 0.18286720 +vn 0.15605399 -0.98277342 0.09901261 +vn 0.15677670 -0.98724180 -0.02783400 +vn -0.00000029 -0.90480077 0.42583513 +vn -0.00000037 -0.90912014 0.41653395 +vn -0.00000035 -0.91625261 0.40060094 +vn -0.00000012 -0.92609262 0.37729624 +vn -0.00000034 -0.93840778 0.34552979 +vn -0.00000042 -0.95272821 0.30382395 +vn -0.00000017 -0.96816838 0.25029987 +vn -0.00000014 -0.98315781 0.18275867 +vn -0.00000013 -0.99509209 0.09895293 +vn -0.00000014 -0.99961305 -0.02781717 +vn -0.14185737 -0.89350575 0.42605627 +vn -0.14253666 -0.89777577 0.41675162 +vn -0.14365782 -0.90482640 0.40081367 +vn -0.14520417 -0.91455412 0.37750030 +vn -0.14713961 -0.92672956 0.34571984 +vn -0.14939068 -0.94088733 0.30399576 +vn -0.15181820 -0.95615268 0.25044617 +vn -0.15417568 -0.97097337 0.18286768 +vn -0.15605402 -0.98277348 0.09901249 +vn -0.15677674 -0.98724174 -0.02783409 +vn -0.28068987 -0.85983777 0.42648822 +vn -0.28203514 -0.86395502 0.41717848 +vn -0.28425637 -0.87075424 0.40122980 +vn -0.28732133 -0.88013476 0.37790108 +vn -0.29115754 -0.89187682 0.34609690 +vn -0.29561919 -0.90553182 0.30433765 +vn -0.30043092 -0.92025673 0.25073642 +vn -0.30510378 -0.93455404 0.18308578 +vn -0.30882576 -0.94593829 0.09913316 +vn -0.31024876 -0.95024687 -0.02786814 +vn -0.41195682 -0.80501652 0.42689577 +vn -0.41393420 -0.80887830 0.41758156 +vn -0.41719931 -0.81525648 0.40162367 +vn -0.42170480 -0.82405657 0.37828007 +vn -0.42734465 -0.83507258 0.34645396 +vn -0.43390438 -0.84788495 0.30466065 +vn -0.44097921 -0.86170214 0.25101140 +vn -0.44785020 -0.87511909 0.18329430 +vn -0.45332259 -0.88580376 0.09924911 +vn -0.45540506 -0.88984704 -0.02790110 +vn -0.53233194 -0.73085678 0.42716628 +vn -0.53488970 -0.73436701 0.41784942 +vn -0.53911364 -0.74016494 0.40188602 +vn -0.54494220 -0.74816525 0.37853235 +vn -0.55223852 -0.75818050 0.34669143 +vn -0.56072533 -0.76982939 0.30487669 +vn -0.56987870 -0.78239310 0.25119564 +vn -0.57876801 -0.79459435 0.18343221 +vn -0.58584827 -0.80431104 0.09932566 +vn -0.58853543 -0.80798906 -0.02792301 +vn -0.63931608 -0.63931525 0.42725980 +vn -0.64238840 -0.64238787 0.41794142 +vn -0.64746273 -0.64746219 0.40197602 +vn -0.65446478 -0.65446401 0.37861943 +vn -0.66323030 -0.66322970 0.34677354 +vn -0.67342603 -0.67342591 0.30495071 +vn -0.68442297 -0.68442255 0.25125879 +vn -0.69510275 -0.69510221 0.18348059 +vn -0.70360851 -0.70360798 0.09935265 +vn -0.70683122 -0.70683062 -0.02793089 +vn -0.73085684 -0.53233194 0.42716625 +vn -0.73436707 -0.53488952 0.41784948 +vn -0.74016500 -0.53911370 0.40188581 +vn -0.74816543 -0.54494202 0.37853229 +vn -0.75818056 -0.55223817 0.34669188 +vn -0.76982963 -0.56072509 0.30487663 +vn -0.78239334 -0.56987846 0.25119555 +vn -0.79459423 -0.57876813 0.18343234 +vn -0.80431092 -0.58584851 0.09932517 +vn -0.80798912 -0.58853537 -0.02792346 +vn -0.80501670 -0.41195658 0.42689568 +vn -0.80887824 -0.41393399 0.41758183 +vn -0.81525642 -0.41719949 0.40162367 +vn -0.82405674 -0.42170489 0.37827963 +vn -0.83507258 -0.42734456 0.34645405 +vn -0.84788483 -0.43390447 0.30466089 +vn -0.86170208 -0.44097939 0.25101134 +vn -0.87511933 -0.44784972 0.18329427 +vn -0.88580376 -0.45332250 0.09924914 +vn -0.88984686 -0.45540538 -0.02790113 +vn -0.85983765 -0.28068995 0.42648843 +vn -0.86395472 -0.28203535 0.41717893 +vn -0.87075400 -0.28425667 0.40123010 +vn -0.88013494 -0.28732169 0.37790048 +vn -0.89187658 -0.29115775 0.34609732 +vn -0.90553176 -0.29561928 0.30433768 +vn -0.92025679 -0.30043119 0.25073594 +vn -0.93455392 -0.30510402 0.18308596 +vn -0.94593817 -0.30882585 0.09913408 +vn -0.95024687 -0.31024864 -0.02786839 +vn -0.89350563 -0.14185783 0.42605641 +vn -0.89777547 -0.14253692 0.41675222 +vn -0.90482652 -0.14365764 0.40081343 +vn -0.91455436 -0.14520417 0.37749982 +vn -0.92672932 -0.14713970 0.34572047 +vn -0.94088733 -0.14939083 0.30399570 +vn -0.95615280 -0.15181810 0.25044578 +vn -0.97097343 -0.15417579 0.18286720 +vn -0.98277342 -0.15605399 0.09901261 +vn -0.98724180 -0.15677670 -0.02783400 +vn -0.90480077 0.00000029 0.42583513 +vn -0.90912014 0.00000037 0.41653395 +vn -0.91625261 0.00000035 0.40060094 +vn -0.92609262 0.00000012 0.37729624 +vn -0.93840778 0.00000034 0.34552979 +vn -0.95272821 0.00000042 0.30382395 +vn -0.96816838 0.00000017 0.25029987 +vn -0.98315781 0.00000014 0.18275867 +vn -0.99509209 0.00000013 0.09895293 +vn -0.99961305 0.00000014 -0.02781717 +vn -0.89350575 0.14185737 0.42605627 +vn -0.89777577 0.14253666 0.41675162 +vn -0.90482640 0.14365782 0.40081367 +vn -0.91455412 0.14520417 0.37750030 +vn -0.92672956 0.14713961 0.34571984 +vn -0.94088733 0.14939068 0.30399576 +vn -0.95615268 0.15181820 0.25044617 +vn -0.97097337 0.15417568 0.18286768 +vn -0.98277348 0.15605402 0.09901249 +vn -0.98724174 0.15677674 -0.02783409 +vn -0.85983777 0.28068987 0.42648822 +vn -0.86395502 0.28203514 0.41717848 +vn -0.87075424 0.28425637 0.40122980 +vn -0.88013476 0.28732133 0.37790108 +vn -0.89187682 0.29115754 0.34609690 +vn -0.90553182 0.29561919 0.30433765 +vn -0.92025673 0.30043092 0.25073642 +vn -0.93455404 0.30510378 0.18308578 +vn -0.94593829 0.30882576 0.09913316 +vn -0.95024687 0.31024876 -0.02786814 +vn -0.80501652 0.41195682 0.42689577 +vn -0.80887830 0.41393420 0.41758156 +vn -0.81525648 0.41719931 0.40162367 +vn -0.82405657 0.42170480 0.37828007 +vn -0.83507258 0.42734465 0.34645396 +vn -0.84788495 0.43390438 0.30466065 +vn -0.86170214 0.44097921 0.25101140 +vn -0.87511909 0.44785020 0.18329430 +vn -0.88580376 0.45332259 0.09924911 +vn -0.88984704 0.45540506 -0.02790110 +vn -0.73085678 0.53233194 0.42716628 +vn -0.73436701 0.53488970 0.41784942 +vn -0.74016494 0.53911364 0.40188602 +vn -0.74816525 0.54494220 0.37853235 +vn -0.75818050 0.55223852 0.34669143 +vn -0.76982939 0.56072533 0.30487669 +vn -0.78239310 0.56987870 0.25119564 +vn -0.79459435 0.57876801 0.18343221 +vn -0.80431104 0.58584827 0.09932566 +vn -0.80798906 0.58853543 -0.02792301 +vn -0.63931525 0.63931608 0.42725980 +vn -0.64238787 0.64238840 0.41794142 +vn -0.64746219 0.64746273 0.40197602 +vn -0.65446401 0.65446478 0.37861943 +vn -0.66322970 0.66323030 0.34677354 +vn -0.67342591 0.67342603 0.30495071 +vn -0.68442255 0.68442297 0.25125879 +vn -0.69510221 0.69510275 0.18348059 +vn -0.70360798 0.70360851 0.09935265 +vn -0.70683062 0.70683122 -0.02793089 +vn -0.53233194 0.73085684 0.42716625 +vn -0.53488952 0.73436707 0.41784948 +vn -0.53911370 0.74016500 0.40188581 +vn -0.54494202 0.74816543 0.37853229 +vn -0.55223817 0.75818056 0.34669188 +vn -0.56072509 0.76982963 0.30487663 +vn -0.56987846 0.78239334 0.25119555 +vn -0.57876813 0.79459423 0.18343234 +vn -0.58584851 0.80431092 0.09932517 +vn -0.58853537 0.80798912 -0.02792346 +vn -0.41195658 0.80501670 0.42689568 +vn -0.41393399 0.80887824 0.41758183 +vn -0.41719949 0.81525642 0.40162367 +vn -0.42170489 0.82405674 0.37827963 +vn -0.42734456 0.83507258 0.34645405 +vn -0.43390447 0.84788483 0.30466089 +vn -0.44097939 0.86170208 0.25101134 +vn -0.44784972 0.87511933 0.18329427 +vn -0.45332250 0.88580376 0.09924914 +vn -0.45540538 0.88984686 -0.02790113 +vn -0.28068995 0.85983765 0.42648843 +vn -0.28203535 0.86395472 0.41717893 +vn -0.28425667 0.87075400 0.40123010 +vn -0.28732169 0.88013494 0.37790048 +vn -0.29115775 0.89187658 0.34609732 +vn -0.29561928 0.90553176 0.30433768 +vn -0.30043119 0.92025679 0.25073594 +vn -0.30510402 0.93455392 0.18308596 +vn -0.30882585 0.94593817 0.09913408 +vn -0.31024864 0.95024687 -0.02786839 +vn -0.14185783 0.89350563 0.42605641 +vn -0.14253692 0.89777547 0.41675222 +vn -0.14365764 0.90482652 0.40081343 +vn -0.14520417 0.91455436 0.37749982 +vn -0.14713970 0.92672932 0.34572047 +vn -0.14939083 0.94088733 0.30399570 +vn -0.15181810 0.95615280 0.25044578 +vn -0.15417579 0.97097343 0.18286720 +vn -0.15605399 0.98277342 0.09901261 +vn -0.15677670 0.98724180 -0.02783400 +vn 0.00000029 0.90480077 0.42583513 +vn 0.00000037 0.90912014 0.41653395 +vn 0.00000035 0.91625261 0.40060094 +vn 0.00000012 0.92609262 0.37729624 +vn 0.00000034 0.93840778 0.34552979 +vn 0.00000042 0.95272821 0.30382395 +vn 0.00000017 0.96816838 0.25029987 +vn 0.00000014 0.98315781 0.18275867 +vn 0.00000013 0.99509209 0.09895293 +vn 0.00000014 0.99961305 -0.02781717 +vn 0.14185737 0.89350575 0.42605627 +vn 0.14253666 0.89777577 0.41675162 +vn 0.14365782 0.90482640 0.40081367 +vn 0.14520417 0.91455412 0.37750030 +vn 0.14713961 0.92672956 0.34571984 +vn 0.14939068 0.94088733 0.30399576 +vn 0.15181820 0.95615268 0.25044617 +vn 0.15417568 0.97097337 0.18286768 +vn 0.15605402 0.98277348 0.09901249 +vn 0.15677674 0.98724174 -0.02783409 +vn 0.28068987 0.85983777 0.42648822 +vn 0.28203514 0.86395502 0.41717848 +vn 0.28425637 0.87075424 0.40122980 +vn 0.28732133 0.88013476 0.37790108 +vn 0.29115754 0.89187682 0.34609690 +vn 0.29561919 0.90553182 0.30433765 +vn 0.30043092 0.92025673 0.25073642 +vn 0.30510378 0.93455404 0.18308578 +vn 0.30882576 0.94593829 0.09913316 +vn 0.31024876 0.95024687 -0.02786814 +vn 0.41195682 0.80501652 0.42689577 +vn 0.41393420 0.80887830 0.41758156 +vn 0.41719931 0.81525648 0.40162367 +vn 0.42170480 0.82405657 0.37828007 +vn 0.42734465 0.83507258 0.34645396 +vn 0.43390438 0.84788495 0.30466065 +vn 0.44097921 0.86170214 0.25101140 +vn 0.44785020 0.87511909 0.18329430 +vn 0.45332259 0.88580376 0.09924911 +vn 0.45540506 0.88984704 -0.02790110 +vn 0.53233194 0.73085678 0.42716628 +vn 0.53488970 0.73436701 0.41784942 +vn 0.53911364 0.74016494 0.40188602 +vn 0.54494220 0.74816525 0.37853235 +vn 0.55223852 0.75818050 0.34669143 +vn 0.56072533 0.76982939 0.30487669 +vn 0.56987870 0.78239310 0.25119564 +vn 0.57876801 0.79459435 0.18343221 +vn 0.58584827 0.80431104 0.09932566 +vn 0.58853543 0.80798906 -0.02792301 +vn 0.63931608 0.63931525 0.42725980 +vn 0.64238840 0.64238787 0.41794142 +vn 0.64746273 0.64746219 0.40197602 +vn 0.65446478 0.65446401 0.37861943 +vn 0.66323030 0.66322970 0.34677354 +vn 0.67342603 0.67342591 0.30495071 +vn 0.68442297 0.68442255 0.25125879 +vn 0.69510275 0.69510221 0.18348059 +vn 0.70360851 0.70360798 0.09935265 +vn 0.70683122 0.70683062 -0.02793089 +vn 0.73085684 0.53233194 0.42716625 +vn 0.73436707 0.53488952 0.41784948 +vn 0.74016500 0.53911370 0.40188581 +vn 0.74816543 0.54494202 0.37853229 +vn 0.75818056 0.55223817 0.34669188 +vn 0.76982963 0.56072509 0.30487663 +vn 0.78239334 0.56987846 0.25119555 +vn 0.79459423 0.57876813 0.18343234 +vn 0.80431092 0.58584851 0.09932517 +vn 0.80798912 0.58853537 -0.02792346 +vn 0.80501670 0.41195658 0.42689568 +vn 0.80887824 0.41393399 0.41758183 +vn 0.81525642 0.41719949 0.40162367 +vn 0.82405674 0.42170489 0.37827963 +vn 0.83507258 0.42734456 0.34645405 +vn 0.84788483 0.43390447 0.30466089 +vn 0.86170208 0.44097939 0.25101134 +vn 0.87511933 0.44784972 0.18329427 +vn 0.88580376 0.45332250 0.09924914 +vn 0.88984686 0.45540538 -0.02790113 +vn 0.85983765 0.28068995 0.42648843 +vn 0.86395472 0.28203535 0.41717893 +vn 0.87075400 0.28425667 0.40123010 +vn 0.88013494 0.28732169 0.37790048 +vn 0.89187658 0.29115775 0.34609732 +vn 0.90553176 0.29561928 0.30433768 +vn 0.92025679 0.30043119 0.25073594 +vn 0.93455392 0.30510402 0.18308596 +vn 0.94593817 0.30882585 0.09913408 +vn 0.95024687 0.31024864 -0.02786839 +vn 0.89350575 0.14185767 0.42605621 +vn 0.89777541 0.14253663 0.41675243 +vn 0.90482652 0.14365788 0.40081334 +vn 0.91455430 0.14520426 0.37749985 +vn 0.92672938 0.14713973 0.34572038 +vn 0.94088733 0.14939074 0.30399582 +vn 0.95615280 0.15181817 0.25044581 +vn 0.97097343 0.15417586 0.18286718 +vn 0.98277342 0.15605402 0.09901262 +vn 0.98724174 0.15677674 -0.02783400 +vn 0.96539468 -0.15331139 -0.21097094 +vn 0.97751707 -0.00000000 -0.21085630 +vn 0.90683150 -0.14399630 -0.39613342 +vn 0.91827595 0.00000010 -0.39594096 +vn 0.83142984 -0.13200840 -0.53972054 +vn 0.84198821 -0.00000003 -0.53949594 +vn 0.75691521 -0.12016643 -0.64237010 +vn 0.76658314 0.00000004 -0.64214510 +vn 0.69427353 -0.11021502 -0.71122217 +vn 0.70318335 -0.00000006 -0.71100855 +vn 0.65003216 -0.10318917 -0.75286800 +vn 0.65840209 -0.00000006 -0.75266635 +vn 0.63146859 -0.10024237 -0.76889461 +vn 0.63961565 0.00000003 -0.76869488 +vn 0.65655881 -0.10422780 -0.74703890 +vn 0.66502774 -0.00000025 -0.74681866 +vn 0.78835273 -0.12513870 -0.60236222 +vn 0.79842824 -0.00000037 -0.60209000 +vn 0.93772268 -0.14883222 -0.31388724 +vn 0.94952470 -0.00000024 -0.31369233 +vn 0.92916822 -0.30337197 -0.21121515 +vn 0.87268543 -0.28491223 -0.39654148 +vn 0.79999274 -0.26116136 -0.54019111 +vn 0.72818834 -0.23770741 -0.64283508 +vn 0.66784692 -0.21800163 -0.71165711 +vn 0.62524182 -0.20409068 -0.75327265 +vn 0.60736901 -0.19825724 -0.76928341 +vn 0.63153023 -0.20614730 -0.74744421 +vn 0.75850272 -0.24758013 -0.60280824 +vn 0.90249741 -0.29456064 -0.31421724 +vn 0.87006313 -0.44528440 -0.21145198 +vn 0.81706631 -0.41814652 -0.39693338 +vn 0.74888873 -0.38324028 -0.54064089 +vn 0.68157333 -0.34878084 -0.64328039 +vn 0.62502736 -0.31983829 -0.71207041 +vn 0.58511358 -0.29941070 -0.75365466 +vn 0.56837320 -0.29084438 -0.76965022 +vn 0.59101242 -0.30243212 -0.74782294 +vn 0.71002454 -0.36332124 -0.60321045 +vn 0.84505075 -0.43239737 -0.31451830 +vn 0.78999829 -0.57543355 -0.21161023 +vn 0.74181104 -0.54032528 -0.39719635 +vn 0.67983913 -0.49517679 -0.54094243 +vn 0.61866987 -0.45061594 -0.64357817 +vn 0.56730092 -0.41319680 -0.71234691 +vn 0.53104883 -0.38679102 -0.75390971 +vn 0.51584810 -0.37571964 -0.76989317 +vn 0.53641427 -0.39070064 -0.74807268 +vn 0.64454478 -0.46945119 -0.60347128 +vn 0.76725411 -0.55881560 -0.31471619 +vn 0.69108504 -0.69108558 -0.21166512 +vn 0.64890748 -0.64890784 -0.39728794 +vn 0.59467125 -0.59467179 -0.54104674 +vn 0.54114467 -0.54114515 -0.64368033 +vn 0.49619827 -0.49619856 -0.71244246 +vn 0.46448195 -0.46448210 -0.75399792 +vn 0.45118472 -0.45118499 -0.76997691 +vn 0.46917927 -0.46917957 -0.74815863 +vn 0.56378937 -0.56378973 -0.60355836 +vn 0.67116052 -0.67116100 -0.31478009 +vn 0.57543337 -0.78999847 -0.21161027 +vn 0.54032505 -0.74181122 -0.39719638 +vn 0.49517652 -0.67983919 -0.54094255 +vn 0.45061597 -0.61867017 -0.64357787 +vn 0.41319662 -0.56730080 -0.71234709 +vn 0.38679084 -0.53104907 -0.75390959 +vn 0.37571931 -0.51584804 -0.76989335 +vn 0.39070064 -0.53641462 -0.74807245 +vn 0.46945167 -0.64454567 -0.60346997 +vn 0.55881590 -0.76725417 -0.31471545 +vn 0.44528461 -0.87006301 -0.21145199 +vn 0.41814646 -0.81706625 -0.39693359 +vn 0.38324046 -0.74888867 -0.54064083 +vn 0.34878081 -0.68157333 -0.64328045 +vn 0.31983802 -0.62502748 -0.71207047 +vn 0.29941061 -0.58511364 -0.75365466 +vn 0.29084456 -0.56837314 -0.76965016 +vn 0.30243227 -0.59101266 -0.74782270 +vn 0.36332119 -0.71002454 -0.60321045 +vn 0.43239695 -0.84505081 -0.31451869 +vn 0.30337161 -0.92916811 -0.21121636 +vn 0.28491217 -0.87268537 -0.39654163 +vn 0.26116148 -0.79999340 -0.54019004 +vn 0.23770706 -0.72818762 -0.64283603 +vn 0.21800195 -0.66784662 -0.71165723 +vn 0.20409119 -0.62524241 -0.75327200 +vn 0.19825716 -0.60736871 -0.76928365 +vn 0.20614743 -0.63153040 -0.74744403 +vn 0.24758016 -0.75850171 -0.60280943 +vn 0.29456064 -0.90249646 -0.31421998 +vn 0.15331155 -0.96539462 -0.21097104 +vn 0.14399652 -0.90683156 -0.39613315 +vn 0.13200854 -0.83142984 -0.53972042 +vn 0.12016653 -0.75691551 -0.64236981 +vn 0.11021529 -0.69427383 -0.71122181 +vn 0.10318942 -0.65003169 -0.75286835 +vn 0.10024277 -0.63146859 -0.76889449 +vn 0.10422848 -0.65655971 -0.74703801 +vn 0.12513900 -0.78835148 -0.60236382 +vn 0.14883274 -0.93772107 -0.31389168 +vn -0.00000011 -0.97751707 -0.21085620 +vn 0.00000001 -0.91827595 -0.39594105 +vn -0.00000012 -0.84198821 -0.53949594 +vn -0.00000007 -0.76658326 -0.64214492 +vn -0.00000021 -0.70318371 -0.71100825 +vn -0.00000029 -0.65840298 -0.75266558 +vn -0.00000006 -0.63961565 -0.76869488 +vn -0.00000024 -0.66502726 -0.74681908 +vn -0.00000038 -0.79842746 -0.60209107 +vn -0.00000032 -0.94952488 -0.31369174 +vn -0.15331143 -0.96539468 -0.21097097 +vn -0.14399634 -0.90683150 -0.39613342 +vn -0.13200839 -0.83142984 -0.53972054 +vn -0.12016643 -0.75691527 -0.64237010 +vn -0.11021507 -0.69427353 -0.71122211 +vn -0.10318933 -0.65003216 -0.75286794 +vn -0.10024273 -0.63146853 -0.76889455 +vn -0.10422813 -0.65655875 -0.74703890 +vn -0.12513904 -0.78835273 -0.60236222 +vn -0.14883253 -0.93772262 -0.31388727 +vn -0.30337197 -0.92916822 -0.21121515 +vn -0.28491223 -0.87268543 -0.39654148 +vn -0.26116136 -0.79999274 -0.54019111 +vn -0.23770741 -0.72818834 -0.64283508 +vn -0.21800163 -0.66784692 -0.71165711 +vn -0.20409068 -0.62524182 -0.75327265 +vn -0.19825724 -0.60736901 -0.76928341 +vn -0.20614730 -0.63153023 -0.74744421 +vn -0.24758013 -0.75850272 -0.60280824 +vn -0.29456064 -0.90249741 -0.31421724 +vn -0.44528440 -0.87006313 -0.21145198 +vn -0.41814652 -0.81706631 -0.39693338 +vn -0.38324028 -0.74888873 -0.54064089 +vn -0.34878084 -0.68157333 -0.64328039 +vn -0.31983829 -0.62502736 -0.71207041 +vn -0.29941070 -0.58511358 -0.75365466 +vn -0.29084438 -0.56837320 -0.76965022 +vn -0.30243212 -0.59101242 -0.74782294 +vn -0.36332124 -0.71002454 -0.60321045 +vn -0.43239737 -0.84505075 -0.31451830 +vn -0.57543355 -0.78999829 -0.21161023 +vn -0.54032528 -0.74181104 -0.39719635 +vn -0.49517679 -0.67983913 -0.54094243 +vn -0.45061594 -0.61866987 -0.64357817 +vn -0.41319680 -0.56730092 -0.71234691 +vn -0.38679102 -0.53104883 -0.75390971 +vn -0.37571964 -0.51584810 -0.76989317 +vn -0.39070064 -0.53641427 -0.74807268 +vn -0.46945119 -0.64454478 -0.60347128 +vn -0.55881560 -0.76725411 -0.31471619 +vn -0.69108558 -0.69108504 -0.21166512 +vn -0.64890784 -0.64890748 -0.39728794 +vn -0.59467179 -0.59467125 -0.54104674 +vn -0.54114515 -0.54114467 -0.64368033 +vn -0.49619856 -0.49619827 -0.71244246 +vn -0.46448210 -0.46448195 -0.75399792 +vn -0.45118499 -0.45118472 -0.76997691 +vn -0.46917957 -0.46917927 -0.74815863 +vn -0.56378973 -0.56378937 -0.60355836 +vn -0.67116100 -0.67116052 -0.31478009 +vn -0.78999847 -0.57543337 -0.21161027 +vn -0.74181122 -0.54032505 -0.39719638 +vn -0.67983919 -0.49517652 -0.54094255 +vn -0.61867017 -0.45061597 -0.64357787 +vn -0.56730080 -0.41319662 -0.71234709 +vn -0.53104907 -0.38679084 -0.75390959 +vn -0.51584804 -0.37571931 -0.76989335 +vn -0.53641462 -0.39070064 -0.74807245 +vn -0.64454567 -0.46945167 -0.60346997 +vn -0.76725417 -0.55881590 -0.31471545 +vn -0.87006301 -0.44528461 -0.21145199 +vn -0.81706625 -0.41814646 -0.39693359 +vn -0.74888867 -0.38324046 -0.54064083 +vn -0.68157333 -0.34878081 -0.64328045 +vn -0.62502748 -0.31983802 -0.71207047 +vn -0.58511364 -0.29941061 -0.75365466 +vn -0.56837314 -0.29084456 -0.76965016 +vn -0.59101266 -0.30243227 -0.74782270 +vn -0.71002454 -0.36332119 -0.60321045 +vn -0.84505081 -0.43239695 -0.31451869 +vn -0.92916811 -0.30337161 -0.21121636 +vn -0.87268537 -0.28491217 -0.39654163 +vn -0.79999340 -0.26116148 -0.54019004 +vn -0.72818762 -0.23770706 -0.64283603 +vn -0.66784662 -0.21800195 -0.71165723 +vn -0.62524241 -0.20409119 -0.75327200 +vn -0.60736871 -0.19825716 -0.76928365 +vn -0.63153040 -0.20614743 -0.74744403 +vn -0.75850171 -0.24758016 -0.60280943 +vn -0.90249646 -0.29456064 -0.31421998 +vn -0.96539462 -0.15331155 -0.21097104 +vn -0.90683156 -0.14399652 -0.39613315 +vn -0.83142984 -0.13200854 -0.53972042 +vn -0.75691551 -0.12016653 -0.64236981 +vn -0.69427383 -0.11021529 -0.71122181 +vn -0.65003169 -0.10318942 -0.75286835 +vn -0.63146859 -0.10024277 -0.76889449 +vn -0.65655971 -0.10422848 -0.74703801 +vn -0.78835148 -0.12513900 -0.60236382 +vn -0.93772107 -0.14883274 -0.31389168 +vn -0.97751707 0.00000011 -0.21085620 +vn -0.91827595 -0.00000001 -0.39594105 +vn -0.84198821 0.00000012 -0.53949594 +vn -0.76658326 0.00000007 -0.64214492 +vn -0.70318371 0.00000021 -0.71100825 +vn -0.65840298 0.00000029 -0.75266558 +vn -0.63961565 0.00000006 -0.76869488 +vn -0.66502726 0.00000024 -0.74681908 +vn -0.79842746 0.00000038 -0.60209107 +vn -0.94952488 0.00000032 -0.31369174 +vn -0.96539468 0.15331143 -0.21097097 +vn -0.90683150 0.14399634 -0.39613342 +vn -0.83142984 0.13200839 -0.53972054 +vn -0.75691527 0.12016643 -0.64237010 +vn -0.69427353 0.11021507 -0.71122211 +vn -0.65003216 0.10318933 -0.75286794 +vn -0.63146853 0.10024273 -0.76889455 +vn -0.65655875 0.10422813 -0.74703890 +vn -0.78835273 0.12513904 -0.60236222 +vn -0.93772262 0.14883253 -0.31388727 +vn -0.92916822 0.30337197 -0.21121515 +vn -0.87268543 0.28491223 -0.39654148 +vn -0.79999274 0.26116136 -0.54019111 +vn -0.72818834 0.23770741 -0.64283508 +vn -0.66784692 0.21800163 -0.71165711 +vn -0.62524182 0.20409068 -0.75327265 +vn -0.60736901 0.19825724 -0.76928341 +vn -0.63153023 0.20614730 -0.74744421 +vn -0.75850272 0.24758013 -0.60280824 +vn -0.90249741 0.29456064 -0.31421724 +vn -0.87006313 0.44528440 -0.21145198 +vn -0.81706631 0.41814652 -0.39693338 +vn -0.74888873 0.38324028 -0.54064089 +vn -0.68157333 0.34878084 -0.64328039 +vn -0.62502736 0.31983829 -0.71207041 +vn -0.58511358 0.29941070 -0.75365466 +vn -0.56837320 0.29084438 -0.76965022 +vn -0.59101242 0.30243212 -0.74782294 +vn -0.71002454 0.36332124 -0.60321045 +vn -0.84505075 0.43239737 -0.31451830 +vn -0.78999829 0.57543355 -0.21161023 +vn -0.74181104 0.54032528 -0.39719635 +vn -0.67983913 0.49517679 -0.54094243 +vn -0.61866987 0.45061594 -0.64357817 +vn -0.56730092 0.41319680 -0.71234691 +vn -0.53104883 0.38679102 -0.75390971 +vn -0.51584810 0.37571964 -0.76989317 +vn -0.53641427 0.39070064 -0.74807268 +vn -0.64454478 0.46945119 -0.60347128 +vn -0.76725411 0.55881560 -0.31471619 +vn -0.69108504 0.69108558 -0.21166512 +vn -0.64890748 0.64890784 -0.39728794 +vn -0.59467125 0.59467179 -0.54104674 +vn -0.54114467 0.54114515 -0.64368033 +vn -0.49619827 0.49619856 -0.71244246 +vn -0.46448195 0.46448210 -0.75399792 +vn -0.45118472 0.45118499 -0.76997691 +vn -0.46917927 0.46917957 -0.74815863 +vn -0.56378937 0.56378973 -0.60355836 +vn -0.67116052 0.67116100 -0.31478009 +vn -0.57543337 0.78999847 -0.21161027 +vn -0.54032505 0.74181122 -0.39719638 +vn -0.49517652 0.67983919 -0.54094255 +vn -0.45061597 0.61867017 -0.64357787 +vn -0.41319662 0.56730080 -0.71234709 +vn -0.38679084 0.53104907 -0.75390959 +vn -0.37571931 0.51584804 -0.76989335 +vn -0.39070064 0.53641462 -0.74807245 +vn -0.46945167 0.64454567 -0.60346997 +vn -0.55881590 0.76725417 -0.31471545 +vn -0.44528461 0.87006301 -0.21145199 +vn -0.41814646 0.81706625 -0.39693359 +vn -0.38324046 0.74888867 -0.54064083 +vn -0.34878081 0.68157333 -0.64328045 +vn -0.31983802 0.62502748 -0.71207047 +vn -0.29941061 0.58511364 -0.75365466 +vn -0.29084456 0.56837314 -0.76965016 +vn -0.30243227 0.59101266 -0.74782270 +vn -0.36332119 0.71002454 -0.60321045 +vn -0.43239695 0.84505081 -0.31451869 +vn -0.30337161 0.92916811 -0.21121636 +vn -0.28491217 0.87268537 -0.39654163 +vn -0.26116148 0.79999340 -0.54019004 +vn -0.23770706 0.72818762 -0.64283603 +vn -0.21800195 0.66784662 -0.71165723 +vn -0.20409119 0.62524241 -0.75327200 +vn -0.19825716 0.60736871 -0.76928365 +vn -0.20614743 0.63153040 -0.74744403 +vn -0.24758016 0.75850171 -0.60280943 +vn -0.29456064 0.90249646 -0.31421998 +vn -0.15331155 0.96539462 -0.21097104 +vn -0.14399652 0.90683156 -0.39613315 +vn -0.13200854 0.83142984 -0.53972042 +vn -0.12016653 0.75691551 -0.64236981 +vn -0.11021529 0.69427383 -0.71122181 +vn -0.10318942 0.65003169 -0.75286835 +vn -0.10024277 0.63146859 -0.76889449 +vn -0.10422848 0.65655971 -0.74703801 +vn -0.12513900 0.78835148 -0.60236382 +vn -0.14883274 0.93772107 -0.31389168 +vn 0.00000011 0.97751707 -0.21085620 +vn -0.00000001 0.91827595 -0.39594105 +vn 0.00000012 0.84198821 -0.53949594 +vn 0.00000007 0.76658326 -0.64214492 +vn 0.00000021 0.70318371 -0.71100825 +vn 0.00000029 0.65840298 -0.75266558 +vn 0.00000006 0.63961565 -0.76869488 +vn 0.00000024 0.66502726 -0.74681908 +vn 0.00000038 0.79842746 -0.60209107 +vn 0.00000032 0.94952488 -0.31369174 +vn 0.15331143 0.96539468 -0.21097097 +vn 0.14399634 0.90683150 -0.39613342 +vn 0.13200839 0.83142984 -0.53972054 +vn 0.12016643 0.75691527 -0.64237010 +vn 0.11021507 0.69427353 -0.71122211 +vn 0.10318933 0.65003216 -0.75286794 +vn 0.10024273 0.63146853 -0.76889455 +vn 0.10422813 0.65655875 -0.74703890 +vn 0.12513904 0.78835273 -0.60236222 +vn 0.14883253 0.93772262 -0.31388727 +vn 0.30337197 0.92916822 -0.21121515 +vn 0.28491223 0.87268543 -0.39654148 +vn 0.26116136 0.79999274 -0.54019111 +vn 0.23770741 0.72818834 -0.64283508 +vn 0.21800163 0.66784692 -0.71165711 +vn 0.20409068 0.62524182 -0.75327265 +vn 0.19825724 0.60736901 -0.76928341 +vn 0.20614730 0.63153023 -0.74744421 +vn 0.24758013 0.75850272 -0.60280824 +vn 0.29456064 0.90249741 -0.31421724 +vn 0.44528440 0.87006313 -0.21145198 +vn 0.41814652 0.81706631 -0.39693338 +vn 0.38324028 0.74888873 -0.54064089 +vn 0.34878084 0.68157333 -0.64328039 +vn 0.31983829 0.62502736 -0.71207041 +vn 0.29941070 0.58511358 -0.75365466 +vn 0.29084438 0.56837320 -0.76965022 +vn 0.30243212 0.59101242 -0.74782294 +vn 0.36332124 0.71002454 -0.60321045 +vn 0.43239737 0.84505075 -0.31451830 +vn 0.57543355 0.78999829 -0.21161023 +vn 0.54032528 0.74181104 -0.39719635 +vn 0.49517679 0.67983913 -0.54094243 +vn 0.45061594 0.61866987 -0.64357817 +vn 0.41319680 0.56730092 -0.71234691 +vn 0.38679102 0.53104883 -0.75390971 +vn 0.37571964 0.51584810 -0.76989317 +vn 0.39070064 0.53641427 -0.74807268 +vn 0.46945119 0.64454478 -0.60347128 +vn 0.55881560 0.76725411 -0.31471619 +vn 0.69108558 0.69108504 -0.21166512 +vn 0.64890784 0.64890748 -0.39728794 +vn 0.59467179 0.59467125 -0.54104674 +vn 0.54114515 0.54114467 -0.64368033 +vn 0.49619856 0.49619827 -0.71244246 +vn 0.46448210 0.46448195 -0.75399792 +vn 0.45118499 0.45118472 -0.76997691 +vn 0.46917957 0.46917927 -0.74815863 +vn 0.56378973 0.56378937 -0.60355836 +vn 0.67116100 0.67116052 -0.31478009 +vn 0.78999847 0.57543337 -0.21161027 +vn 0.74181122 0.54032505 -0.39719638 +vn 0.67983919 0.49517652 -0.54094255 +vn 0.61867017 0.45061597 -0.64357787 +vn 0.56730080 0.41319662 -0.71234709 +vn 0.53104907 0.38679084 -0.75390959 +vn 0.51584804 0.37571931 -0.76989335 +vn 0.53641462 0.39070064 -0.74807245 +vn 0.64454567 0.46945167 -0.60346997 +vn 0.76725417 0.55881590 -0.31471545 +vn 0.87006301 0.44528461 -0.21145199 +vn 0.81706625 0.41814646 -0.39693359 +vn 0.74888867 0.38324046 -0.54064083 +vn 0.68157333 0.34878081 -0.64328045 +vn 0.62502748 0.31983802 -0.71207047 +vn 0.58511364 0.29941061 -0.75365466 +vn 0.56837314 0.29084456 -0.76965016 +vn 0.59101266 0.30243227 -0.74782270 +vn 0.71002454 0.36332119 -0.60321045 +vn 0.84505081 0.43239695 -0.31451869 +vn 0.92916811 0.30337161 -0.21121636 +vn 0.87268537 0.28491217 -0.39654163 +vn 0.79999340 0.26116148 -0.54019004 +vn 0.72818762 0.23770706 -0.64283603 +vn 0.66784662 0.21800195 -0.71165723 +vn 0.62524241 0.20409119 -0.75327200 +vn 0.60736871 0.19825716 -0.76928365 +vn 0.63153040 0.20614743 -0.74744403 +vn 0.75850171 0.24758016 -0.60280943 +vn 0.90249646 0.29456064 -0.31421998 +vn 0.96539462 0.15331161 -0.21097106 +vn 0.90683156 0.14399660 -0.39613315 +vn 0.83142984 0.13200863 -0.53972042 +vn 0.75691551 0.12016656 -0.64236981 +vn 0.69427383 0.11021525 -0.71122181 +vn 0.65003169 0.10318914 -0.75286841 +vn 0.63146877 0.10024247 -0.76889443 +vn 0.65655971 0.10422827 -0.74703807 +vn 0.78835154 0.12513879 -0.60236377 +vn 0.93772107 0.14883250 -0.31389174 +vn 0.91582352 -0.14546207 -0.37431005 +vn 0.92736238 -0.00000020 -0.37416449 +vn 0.67385620 -0.10696837 -0.73107839 +vn 0.68245178 -0.00000011 -0.73093063 +vn 0.40721729 -0.06461115 -0.91104305 +vn 0.41247389 0.00000002 -0.91096944 +vn 0.23971950 -0.03803033 -0.97009706 +vn 0.24283315 -0.00000008 -0.97006810 +vn 0.14517727 -0.02303116 -0.98913759 +vn 0.14706697 -0.00000002 -0.98912656 +vn 0.08911561 -0.01413713 -0.99592096 +vn 0.09027618 0.00000000 -0.99591678 +vn 0.05356621 -0.00849712 -0.99852812 +vn 0.05426332 -0.00000001 -0.99852663 +vn 0.02968260 -0.00470777 -0.99954832 +vn 0.03006783 -0.00000000 -0.99954784 +vn 0.01287012 -0.00204020 -0.99991512 +vn 0.01303558 -0.00000001 -0.99991500 +vn 0.00000000 0.00000000 -1.00000000 +vn 0.88136280 -0.28779146 -0.37466738 +vn 0.64821416 -0.21158607 -0.73147094 +vn 0.39156950 -0.12777607 -0.91123354 +vn 0.23047282 -0.07520171 -0.97016853 +vn 0.13957030 -0.04554026 -0.98916441 +vn 0.08567221 -0.02795353 -0.99593115 +vn 0.05149608 -0.01680177 -0.99853188 +vn 0.02853537 -0.00930941 -0.99954945 +vn 0.01237264 -0.00403518 -0.99991530 +vn 0.82521194 -0.42235437 -0.37502274 +vn 0.60664219 -0.31042433 -0.73186201 +vn 0.36631441 -0.18741505 -0.91142160 +vn 0.21557586 -0.11028885 -0.97023886 +vn 0.13054258 -0.06678517 -0.98919076 +vn 0.08012936 -0.04099364 -0.99594116 +vn 0.04816372 -0.02463970 -0.99853551 +vn 0.02668827 -0.01365248 -0.99955058 +vn 0.01157105 -0.00591815 -0.99991554 +vn 0.74922323 -0.54574651 -0.37526703 +vn 0.55060035 -0.40102968 -0.73213011 +vn 0.33238155 -0.24207184 -0.91155016 +vn 0.19558635 -0.14244170 -0.97028673 +vn 0.11843427 -0.08625311 -0.98920864 +vn 0.07269603 -0.05294272 -0.99594796 +vn 0.04369520 -0.03182184 -0.99853796 +vn 0.02421162 -0.01763212 -0.99955136 +vn 0.01049650 -0.00764346 -0.99991572 +vn 0.65540457 -0.65540504 -0.37535194 +vn 0.48158407 -0.48158452 -0.73222476 +vn 0.29068342 -0.29068375 -0.91159534 +vn 0.17104292 -0.17104313 -0.97030336 +vn 0.10357098 -0.10357104 -0.98921490 +vn 0.06357250 -0.06357253 -0.99595034 +vn 0.03821104 -0.03821106 -0.99853885 +vn 0.02117248 -0.02117249 -0.99955165 +vn 0.00917844 -0.00917845 -0.99991578 +vn 0.54574579 -0.74922252 -0.37526941 +vn 0.40102863 -0.55059916 -0.73213154 +vn 0.24207136 -0.33238113 -0.91155046 +vn 0.14244181 -0.19558659 -0.97028667 +vn 0.08625303 -0.11843434 -0.98920864 +vn 0.05294271 -0.07269605 -0.99594796 +vn 0.03182182 -0.04369522 -0.99853796 +vn 0.01763211 -0.02421163 -0.99955136 +vn 0.00764345 -0.01049650 -0.99991572 +vn 0.42235377 -0.82521188 -0.37502354 +vn 0.31042412 -0.60664225 -0.73186201 +vn 0.18741517 -0.36631459 -0.91142154 +vn 0.11028892 -0.21557584 -0.97023886 +vn 0.06678528 -0.13054265 -0.98919076 +vn 0.04099365 -0.08012937 -0.99594116 +vn 0.02463974 -0.04816370 -0.99853551 +vn 0.01365250 -0.02668827 -0.99955058 +vn 0.00591815 -0.01157105 -0.99991554 +vn 0.28779140 -0.88136280 -0.37466756 +vn 0.21158653 -0.64821476 -0.73147029 +vn 0.12777656 -0.39157048 -0.91123307 +vn 0.07520179 -0.23047280 -0.97016853 +vn 0.04554026 -0.13957027 -0.98916441 +vn 0.02795356 -0.08567221 -0.99593115 +vn 0.01680177 -0.05149611 -0.99853182 +vn 0.00930941 -0.02853536 -0.99954945 +vn 0.00403519 -0.01237264 -0.99991530 +vn 0.14546306 -0.91582370 -0.37430936 +vn 0.10696901 -0.67385787 -0.73107678 +vn 0.06461113 -0.40721709 -0.91104317 +vn 0.03803040 -0.23971969 -0.97009701 +vn 0.02303117 -0.14517727 -0.98913759 +vn 0.01413713 -0.08911560 -0.99592096 +vn 0.00849712 -0.05356623 -0.99852812 +vn 0.00470777 -0.02968260 -0.99954832 +vn 0.00204020 -0.01287012 -0.99991512 +vn -0.00000033 -0.92736256 -0.37416393 +vn -0.00000006 -0.68245041 -0.73093188 +vn 0.00000002 -0.41247335 -0.91096967 +vn -0.00000009 -0.24283314 -0.97006810 +vn -0.00000002 -0.14706694 -0.98912656 +vn -0.00000001 -0.09027619 -0.99591678 +vn -0.00000001 -0.05426333 -0.99852663 +vn -0.00000001 -0.03006783 -0.99954784 +vn -0.00000001 -0.01303557 -0.99991500 +vn -0.14546235 -0.91582358 -0.37430993 +vn -0.10696863 -0.67385614 -0.73107839 +vn -0.06461124 -0.40721723 -0.91104311 +vn -0.03803036 -0.23971950 -0.97009706 +vn -0.02303118 -0.14517727 -0.98913759 +vn -0.01413714 -0.08911560 -0.99592096 +vn -0.00849713 -0.05356622 -0.99852812 +vn -0.00470778 -0.02968260 -0.99954832 +vn -0.00204020 -0.01287011 -0.99991512 +vn -0.28779146 -0.88136280 -0.37466738 +vn -0.21158607 -0.64821416 -0.73147094 +vn -0.12777607 -0.39156950 -0.91123354 +vn -0.07520171 -0.23047282 -0.97016853 +vn -0.04554026 -0.13957030 -0.98916441 +vn -0.02795353 -0.08567221 -0.99593115 +vn -0.01680177 -0.05149608 -0.99853188 +vn -0.00930941 -0.02853537 -0.99954945 +vn -0.00403518 -0.01237264 -0.99991530 +vn -0.42235437 -0.82521194 -0.37502274 +vn -0.31042433 -0.60664219 -0.73186201 +vn -0.18741505 -0.36631441 -0.91142160 +vn -0.11028885 -0.21557586 -0.97023886 +vn -0.06678517 -0.13054258 -0.98919076 +vn -0.04099364 -0.08012936 -0.99594116 +vn -0.02463970 -0.04816372 -0.99853551 +vn -0.01365248 -0.02668827 -0.99955058 +vn -0.00591815 -0.01157105 -0.99991554 +vn -0.54574651 -0.74922323 -0.37526703 +vn -0.40102968 -0.55060035 -0.73213011 +vn -0.24207184 -0.33238155 -0.91155016 +vn -0.14244170 -0.19558635 -0.97028673 +vn -0.08625311 -0.11843427 -0.98920864 +vn -0.05294272 -0.07269603 -0.99594796 +vn -0.03182184 -0.04369520 -0.99853796 +vn -0.01763212 -0.02421162 -0.99955136 +vn -0.00764346 -0.01049650 -0.99991572 +vn -0.65540504 -0.65540457 -0.37535194 +vn -0.48158452 -0.48158407 -0.73222476 +vn -0.29068375 -0.29068342 -0.91159534 +vn -0.17104313 -0.17104292 -0.97030336 +vn -0.10357104 -0.10357098 -0.98921490 +vn -0.06357253 -0.06357250 -0.99595034 +vn -0.03821106 -0.03821104 -0.99853885 +vn -0.02117249 -0.02117248 -0.99955165 +vn -0.00917845 -0.00917844 -0.99991578 +vn -0.74922252 -0.54574579 -0.37526941 +vn -0.55059916 -0.40102863 -0.73213154 +vn -0.33238113 -0.24207136 -0.91155046 +vn -0.19558659 -0.14244181 -0.97028667 +vn -0.11843434 -0.08625303 -0.98920864 +vn -0.07269605 -0.05294271 -0.99594796 +vn -0.04369522 -0.03182182 -0.99853796 +vn -0.02421163 -0.01763211 -0.99955136 +vn -0.01049650 -0.00764345 -0.99991572 +vn -0.82521188 -0.42235377 -0.37502354 +vn -0.60664225 -0.31042412 -0.73186201 +vn -0.36631459 -0.18741517 -0.91142154 +vn -0.21557584 -0.11028892 -0.97023886 +vn -0.13054265 -0.06678528 -0.98919076 +vn -0.08012937 -0.04099365 -0.99594116 +vn -0.04816370 -0.02463974 -0.99853551 +vn -0.02668827 -0.01365250 -0.99955058 +vn -0.01157105 -0.00591815 -0.99991554 +vn -0.88136280 -0.28779140 -0.37466756 +vn -0.64821476 -0.21158653 -0.73147029 +vn -0.39157048 -0.12777656 -0.91123307 +vn -0.23047280 -0.07520179 -0.97016853 +vn -0.13957027 -0.04554026 -0.98916441 +vn -0.08567221 -0.02795356 -0.99593115 +vn -0.05149611 -0.01680177 -0.99853182 +vn -0.02853536 -0.00930941 -0.99954945 +vn -0.01237264 -0.00403519 -0.99991530 +vn -0.91582370 -0.14546306 -0.37430936 +vn -0.67385787 -0.10696901 -0.73107678 +vn -0.40721709 -0.06461113 -0.91104317 +vn -0.23971969 -0.03803040 -0.97009701 +vn -0.14517727 -0.02303117 -0.98913759 +vn -0.08911560 -0.01413713 -0.99592096 +vn -0.05356623 -0.00849712 -0.99852812 +vn -0.02968260 -0.00470777 -0.99954832 +vn -0.01287012 -0.00204020 -0.99991512 +vn -0.92736256 0.00000033 -0.37416393 +vn -0.68245041 0.00000006 -0.73093188 +vn -0.41247335 -0.00000002 -0.91096967 +vn -0.24283314 0.00000009 -0.97006810 +vn -0.14706694 0.00000002 -0.98912656 +vn -0.09027619 0.00000001 -0.99591678 +vn -0.05426333 0.00000001 -0.99852663 +vn -0.03006783 0.00000001 -0.99954784 +vn -0.01303557 0.00000001 -0.99991500 +vn -0.91582358 0.14546235 -0.37430993 +vn -0.67385614 0.10696863 -0.73107839 +vn -0.40721723 0.06461124 -0.91104311 +vn -0.23971950 0.03803036 -0.97009706 +vn -0.14517727 0.02303118 -0.98913759 +vn -0.08911560 0.01413714 -0.99592096 +vn -0.05356622 0.00849713 -0.99852812 +vn -0.02968260 0.00470778 -0.99954832 +vn -0.01287011 0.00204020 -0.99991512 +vn -0.88136280 0.28779146 -0.37466738 +vn -0.64821416 0.21158607 -0.73147094 +vn -0.39156950 0.12777607 -0.91123354 +vn -0.23047282 0.07520171 -0.97016853 +vn -0.13957030 0.04554026 -0.98916441 +vn -0.08567221 0.02795353 -0.99593115 +vn -0.05149608 0.01680177 -0.99853188 +vn -0.02853537 0.00930941 -0.99954945 +vn -0.01237264 0.00403518 -0.99991530 +vn -0.82521194 0.42235437 -0.37502274 +vn -0.60664219 0.31042433 -0.73186201 +vn -0.36631441 0.18741505 -0.91142160 +vn -0.21557586 0.11028885 -0.97023886 +vn -0.13054258 0.06678517 -0.98919076 +vn -0.08012936 0.04099364 -0.99594116 +vn -0.04816372 0.02463970 -0.99853551 +vn -0.02668827 0.01365248 -0.99955058 +vn -0.01157105 0.00591815 -0.99991554 +vn -0.74922323 0.54574651 -0.37526703 +vn -0.55060035 0.40102968 -0.73213011 +vn -0.33238155 0.24207184 -0.91155016 +vn -0.19558635 0.14244170 -0.97028673 +vn -0.11843427 0.08625311 -0.98920864 +vn -0.07269603 0.05294272 -0.99594796 +vn -0.04369520 0.03182184 -0.99853796 +vn -0.02421162 0.01763212 -0.99955136 +vn -0.01049650 0.00764346 -0.99991572 +vn -0.65540457 0.65540504 -0.37535194 +vn -0.48158407 0.48158452 -0.73222476 +vn -0.29068342 0.29068375 -0.91159534 +vn -0.17104292 0.17104313 -0.97030336 +vn -0.10357098 0.10357104 -0.98921490 +vn -0.06357250 0.06357253 -0.99595034 +vn -0.03821104 0.03821106 -0.99853885 +vn -0.02117248 0.02117249 -0.99955165 +vn -0.00917844 0.00917845 -0.99991578 +vn -0.54574579 0.74922252 -0.37526941 +vn -0.40102863 0.55059916 -0.73213154 +vn -0.24207136 0.33238113 -0.91155046 +vn -0.14244181 0.19558659 -0.97028667 +vn -0.08625303 0.11843434 -0.98920864 +vn -0.05294271 0.07269605 -0.99594796 +vn -0.03182182 0.04369522 -0.99853796 +vn -0.01763211 0.02421163 -0.99955136 +vn -0.00764345 0.01049650 -0.99991572 +vn -0.42235377 0.82521188 -0.37502354 +vn -0.31042412 0.60664225 -0.73186201 +vn -0.18741517 0.36631459 -0.91142154 +vn -0.11028892 0.21557584 -0.97023886 +vn -0.06678528 0.13054265 -0.98919076 +vn -0.04099365 0.08012937 -0.99594116 +vn -0.02463974 0.04816370 -0.99853551 +vn -0.01365250 0.02668827 -0.99955058 +vn -0.00591815 0.01157105 -0.99991554 +vn -0.28779140 0.88136280 -0.37466756 +vn -0.21158653 0.64821476 -0.73147029 +vn -0.12777656 0.39157048 -0.91123307 +vn -0.07520179 0.23047280 -0.97016853 +vn -0.04554026 0.13957027 -0.98916441 +vn -0.02795356 0.08567221 -0.99593115 +vn -0.01680177 0.05149611 -0.99853182 +vn -0.00930941 0.02853536 -0.99954945 +vn -0.00403519 0.01237264 -0.99991530 +vn -0.14546306 0.91582370 -0.37430936 +vn -0.10696901 0.67385787 -0.73107678 +vn -0.06461113 0.40721709 -0.91104317 +vn -0.03803040 0.23971969 -0.97009701 +vn -0.02303117 0.14517727 -0.98913759 +vn -0.01413713 0.08911560 -0.99592096 +vn -0.00849712 0.05356623 -0.99852812 +vn -0.00470777 0.02968260 -0.99954832 +vn -0.00204020 0.01287012 -0.99991512 +vn 0.00000033 0.92736256 -0.37416393 +vn 0.00000006 0.68245041 -0.73093188 +vn -0.00000002 0.41247335 -0.91096967 +vn 0.00000009 0.24283314 -0.97006810 +vn 0.00000002 0.14706694 -0.98912656 +vn 0.00000001 0.09027619 -0.99591678 +vn 0.00000001 0.05426333 -0.99852663 +vn 0.00000001 0.03006783 -0.99954784 +vn 0.00000001 0.01303557 -0.99991500 +vn 0.14546235 0.91582358 -0.37430993 +vn 0.10696863 0.67385614 -0.73107839 +vn 0.06461124 0.40721723 -0.91104311 +vn 0.03803036 0.23971950 -0.97009706 +vn 0.02303118 0.14517727 -0.98913759 +vn 0.01413714 0.08911560 -0.99592096 +vn 0.00849713 0.05356622 -0.99852812 +vn 0.00470778 0.02968260 -0.99954832 +vn 0.00204020 0.01287011 -0.99991512 +vn 0.28779146 0.88136280 -0.37466738 +vn 0.21158607 0.64821416 -0.73147094 +vn 0.12777607 0.39156950 -0.91123354 +vn 0.07520171 0.23047282 -0.97016853 +vn 0.04554026 0.13957030 -0.98916441 +vn 0.02795353 0.08567221 -0.99593115 +vn 0.01680177 0.05149608 -0.99853188 +vn 0.00930941 0.02853537 -0.99954945 +vn 0.00403518 0.01237264 -0.99991530 +vn 0.42235437 0.82521194 -0.37502274 +vn 0.31042433 0.60664219 -0.73186201 +vn 0.18741505 0.36631441 -0.91142160 +vn 0.11028885 0.21557586 -0.97023886 +vn 0.06678517 0.13054258 -0.98919076 +vn 0.04099364 0.08012936 -0.99594116 +vn 0.02463970 0.04816372 -0.99853551 +vn 0.01365248 0.02668827 -0.99955058 +vn 0.00591815 0.01157105 -0.99991554 +vn 0.54574651 0.74922323 -0.37526703 +vn 0.40102968 0.55060035 -0.73213011 +vn 0.24207184 0.33238155 -0.91155016 +vn 0.14244170 0.19558635 -0.97028673 +vn 0.08625311 0.11843427 -0.98920864 +vn 0.05294272 0.07269603 -0.99594796 +vn 0.03182184 0.04369520 -0.99853796 +vn 0.01763212 0.02421162 -0.99955136 +vn 0.00764346 0.01049650 -0.99991572 +vn 0.65540504 0.65540457 -0.37535194 +vn 0.48158452 0.48158407 -0.73222476 +vn 0.29068375 0.29068342 -0.91159534 +vn 0.17104313 0.17104292 -0.97030336 +vn 0.10357104 0.10357098 -0.98921490 +vn 0.06357253 0.06357250 -0.99595034 +vn 0.03821106 0.03821104 -0.99853885 +vn 0.02117249 0.02117248 -0.99955165 +vn 0.00917845 0.00917844 -0.99991578 +vn 0.74922252 0.54574579 -0.37526941 +vn 0.55059916 0.40102863 -0.73213154 +vn 0.33238113 0.24207136 -0.91155046 +vn 0.19558659 0.14244181 -0.97028667 +vn 0.11843434 0.08625303 -0.98920864 +vn 0.07269605 0.05294271 -0.99594796 +vn 0.04369522 0.03182182 -0.99853796 +vn 0.02421163 0.01763211 -0.99955136 +vn 0.01049650 0.00764345 -0.99991572 +vn 0.82521188 0.42235377 -0.37502354 +vn 0.60664225 0.31042412 -0.73186201 +vn 0.36631459 0.18741517 -0.91142154 +vn 0.21557584 0.11028892 -0.97023886 +vn 0.13054265 0.06678528 -0.98919076 +vn 0.08012937 0.04099365 -0.99594116 +vn 0.04816370 0.02463974 -0.99853551 +vn 0.02668827 0.01365250 -0.99955058 +vn 0.01157105 0.00591815 -0.99991554 +vn 0.88136280 0.28779140 -0.37466756 +vn 0.64821476 0.21158653 -0.73147029 +vn 0.39157048 0.12777656 -0.91123307 +vn 0.23047280 0.07520179 -0.97016853 +vn 0.13957027 0.04554026 -0.98916441 +vn 0.08567221 0.02795356 -0.99593115 +vn 0.05149611 0.01680177 -0.99853182 +vn 0.02853536 0.00930941 -0.99954945 +vn 0.01237264 0.00403519 -0.99991530 +vn 0.91582376 0.14546281 -0.37430921 +vn 0.67385781 0.10696895 -0.73107678 +vn 0.40721706 0.06461113 -0.91104317 +vn 0.23971967 0.03803039 -0.97009701 +vn 0.14517727 0.02303117 -0.98913759 +vn 0.08911560 0.01413713 -0.99592096 +vn 0.05356624 0.00849711 -0.99852812 +vn 0.02968260 0.00470776 -0.99954832 +vn 0.01287012 0.00204020 -0.99991512 +vn 0.00112677 0.00000536 -0.99999934 +vn 0.00114011 -0.17472270 -0.98461699 +vn 0.00497310 -0.17025533 -0.98538744 +vn 0.00492316 0.00002457 -0.99998790 +vn 0.01752522 -0.16984272 -0.98531532 +vn 0.01742448 0.00008669 -0.99984819 +vn 0.04214052 -0.16947429 -0.98463327 +vn 0.04197326 0.00021040 -0.99911869 +vn 0.08438206 -0.16973993 -0.98186964 +vn 0.08412205 0.00042216 -0.99645537 +vn 0.15359893 -0.17176610 -0.97308981 +vn 0.15326653 0.00075613 -0.98818457 +vn 0.26523039 -0.17757159 -0.94769257 +vn 0.26518658 0.00124421 -0.96419632 +vn 0.43996900 -0.18996051 -0.87769145 +vn 0.44205484 0.00183697 -0.89698613 +vn 0.67844987 -0.20909730 -0.70426142 +vn 0.68809068 0.00217704 -0.72562140 +vn 0.89521575 -0.22460653 -0.38489047 +vn 0.91674310 0.00156023 -0.39947426 +vn 0.97272134 -0.22585709 -0.05293217 +vn 0.99847382 0.00041760 -0.05522507 +vn 0.00111903 -0.38955215 -0.92100370 +vn 0.00489266 -0.37773171 -0.92590219 +vn 0.01720462 -0.37712902 -0.92600089 +vn 0.04135746 -0.37685975 -0.92534655 +vn 0.08279634 -0.37823030 -0.92200142 +vn 0.15040852 -0.38359776 -0.91116959 +vn 0.25796345 -0.39684036 -0.88089305 +vn 0.42093101 -0.42231554 -0.80278683 +vn 0.63077849 -0.45712522 -0.62702078 +vn 0.81062448 -0.48079199 -0.33425587 +vn 0.87609142 -0.48009279 -0.04443812 +vn 0.00097477 -0.64955986 -0.76030982 +vn 0.00433334 -0.62780952 -0.77835494 +vn 0.01531830 -0.62739480 -0.77855068 +vn 0.03691889 -0.62772965 -0.77755547 +vn 0.07388552 -0.63057101 -0.77260673 +vn 0.13342294 -0.63881338 -0.75770426 +vn 0.22506431 -0.65647453 -0.71999115 +vn 0.35509214 -0.68603396 -0.63503307 +vn 0.50724977 -0.71980673 -0.47389448 +vn 0.62936664 -0.73774058 -0.24420577 +vn 0.67819232 -0.73423660 -0.03085127 +vn 0.00057360 -0.90436232 -0.42676514 +vn 0.00273642 -0.88070399 -0.47365916 +vn 0.01002580 -0.88080943 -0.47336480 +vn 0.02442030 -0.88164723 -0.47127682 +vn 0.04873839 -0.88429219 -0.46438336 +vn 0.08659453 -0.89019763 -0.44726896 +vn 0.14110714 -0.90069944 -0.41088837 +vn 0.21053033 -0.91506594 -0.34399319 +vn 0.28268260 -0.92794371 -0.24292193 +vn 0.33958143 -0.93261153 -0.12214814 +vn 0.36901399 -0.92930865 -0.01463102 +vn -0.00010712 -0.99755770 0.06984756 +vn -0.00010241 -0.99999964 0.00081570 +vn 0.00026434 -0.99999791 0.00201076 +vn 0.00105016 -0.99999058 0.00421170 +vn 0.00198756 -0.99996608 0.00799210 +vn 0.00233769 -0.99990314 0.01372209 +vn 0.00038050 -0.99978364 0.02079682 +vn -0.00638465 -0.99964964 0.02568699 +vn -0.01691706 -0.99962169 0.02168524 +vn -0.02179927 -0.99972010 0.00919186 +vn -0.01455590 -0.99989384 0.00068796 +vn -0.00077862 -0.85282123 0.52220237 +vn -0.00312502 -0.88011086 0.47475797 +vn -0.01087056 -0.87949330 0.47578710 +vn -0.02609946 -0.87940598 0.47535664 +vn -0.05205279 -0.88082707 0.47056800 +vn -0.09309199 -0.88497669 0.45623478 +vn -0.15375502 -0.89277512 0.42345244 +vn -0.23426595 -0.90339375 0.35916460 +vn -0.31982467 -0.91288155 0.25369167 +vn -0.37893432 -0.91725868 0.12265944 +vn -0.39318678 -0.91937929 0.01207914 +vn -0.00121760 -0.60412812 0.79688627 +vn -0.00520564 -0.62729889 0.77876115 +vn -0.01878769 -0.62664926 0.77907491 +vn -0.04572460 -0.62777656 0.77704948 +vn -0.09174436 -0.63308609 0.76862538 +vn -0.16473670 -0.64535147 0.74591106 +vn -0.27285478 -0.66623306 0.69403440 +vn -0.41520843 -0.69246191 0.58999872 +vn -0.56290495 -0.71341521 0.41734487 +vn -0.66308343 -0.72058672 0.20266990 +vn -0.69219810 -0.72146618 0.01866361 +vn -0.00144967 -0.36545116 0.93082941 +vn -0.00631524 -0.37747976 0.92599630 +vn -0.02297673 -0.37709677 0.92588884 +vn -0.05621461 -0.37851807 0.92388529 +vn -0.11351442 -0.38408226 0.91629434 +vn -0.20573688 -0.39660513 0.89463776 +vn -0.34495080 -0.41800997 0.84040266 +vn -0.53056890 -0.44501358 0.72142881 +vn -0.72115594 -0.46590957 0.51270109 +vn -0.84596789 -0.47170693 0.24865820 +vn -0.88194591 -0.47086197 0.02145773 +vn -0.00155253 -0.16581365 0.98615587 +vn -0.00680874 -0.17018884 0.98538792 +vn -0.02480942 -0.17004907 0.98512322 +vn -0.06082322 -0.17091516 0.98340660 +vn -0.12324283 -0.17406641 0.97699136 +vn -0.22462504 -0.18110891 0.95746708 +vn -0.37957513 -0.19325419 0.90475166 +vn -0.58816814 -0.20875549 0.78133178 +vn -0.80115968 -0.22056754 0.55632108 +vn -0.93695199 -0.22324118 0.26885742 +vn -0.97478884 -0.22203490 0.02207409 +vn -0.00157569 -0.00000262 0.99999875 +vn -0.00692782 -0.00001283 0.99997598 +vn -0.02524578 -0.00004859 0.99968129 +vn -0.06192927 -0.00012355 0.99808055 +vn -0.12562034 -0.00025530 0.99207836 +vn -0.22937922 -0.00046230 0.97333699 +vn -0.38865009 -0.00073348 0.92138511 +vn -0.60389417 -0.00096258 0.79706395 +vn -0.82340163 -0.00092835 0.56745827 +vn -0.96189415 -0.00054645 0.27342147 +vn -0.99976104 -0.00013031 0.02186059 +vn -0.00153880 0.16580629 0.98615712 +vn -0.00675908 0.17016512 0.98539239 +vn -0.02468110 0.16995612 0.98514253 +vn -0.06056871 0.17067228 0.98346448 +vn -0.12280600 0.17355552 0.97713721 +vn -0.22398978 0.18018329 0.95779043 +vn -0.37890708 0.19183286 0.90533394 +vn -0.58794177 0.20703323 0.78196019 +vn -0.80161756 0.21903634 0.55626643 +vn -0.93744195 0.22234565 0.26788995 +vn -0.97485328 0.22181357 0.02144282 +vn -0.00142458 0.36545241 0.93082893 +vn -0.00622498 0.37746936 0.92600113 +vn -0.02274136 0.37702286 0.92592472 +vn -0.05574907 0.37828830 0.92400759 +vn -0.11272253 0.38356432 0.91660899 +vn -0.20461336 0.39568397 0.89530307 +vn -0.34381327 0.41676283 0.84148747 +vn -0.53016967 0.44390902 0.72240216 +vn -0.72179872 0.46529311 0.51235628 +vn -0.84669906 0.47137332 0.24679521 +vn -0.88202834 0.47075927 0.02029103 +vn -0.00118638 0.60413915 0.79687798 +vn -0.00509568 0.62730509 0.77875692 +vn -0.01850758 0.62661177 0.77911174 +vn -0.04518772 0.62762618 0.77720237 +vn -0.09088244 0.63272518 0.76902485 +vn -0.16360590 0.64476663 0.74666530 +vn -0.27181119 0.66567802 0.69497585 +vn -0.41477889 0.69246948 0.59029186 +vn -0.56312287 0.71398306 0.41607794 +vn -0.66344106 0.72095710 0.20016697 +vn -0.69217360 0.72152495 0.01724782 +vn -0.00075269 0.85282898 0.52218980 +vn -0.00303963 0.88012612 0.47473022 +vn -0.01067727 0.87951934 0.47574329 +vn -0.02578888 0.87945455 0.47528371 +vn -0.05164303 0.88093221 0.47041625 +vn -0.09263816 0.88523489 0.45582601 +vn -0.15330243 0.89335322 0.42239597 +vn -0.23364410 0.90439332 0.35704792 +vn -0.31883782 0.91399050 0.25092602 +vn -0.37819546 0.91789240 0.12017363 +vn -0.39290911 0.91951197 0.01096128 +vn -0.00010293 0.99755877 0.06983176 +vn -0.00010076 0.99999970 0.00076392 +vn 0.00022435 0.99999833 0.00181180 +vn 0.00087874 0.99999297 0.00364410 +vn 0.00161530 0.99997646 0.00666645 +vn 0.00186545 0.99993587 0.01116950 +vn 0.00030287 0.99985820 0.01683746 +vn -0.00528065 0.99976218 0.02115989 +vn -0.01465153 0.99972296 0.01842273 +vn -0.01993152 0.99976909 0.00803475 +vn -0.01403946 0.99990129 0.00057787 +vn 0.00054730 0.90436298 -0.42676371 +vn 0.00263489 0.88068783 -0.47368979 +vn 0.00976125 0.88071239 -0.47355086 +vn 0.02390369 0.88136464 -0.47183153 +vn 0.04791322 0.88368392 -0.46562546 +vn 0.08560590 0.88913894 -0.44955927 +vn 0.14057620 0.89923805 -0.41425750 +vn 0.21144196 0.91361284 -0.34728074 +vn 0.28496954 0.92695665 -0.24401587 +vn 0.34159565 0.93208218 -0.12056225 +vn 0.36948571 0.92914182 -0.01325980 +vn 0.00092997 0.64956760 -0.76030326 +vn 0.00417606 0.62780327 -0.77836084 +vn 0.01495815 0.62731558 -0.77862149 +vn 0.03631179 0.62749702 -0.77777177 +vn 0.07301468 0.63011122 -0.77306449 +vn 0.13237391 0.63809526 -0.75849295 +vn 0.22420910 0.65560544 -0.72104907 +vn 0.35517725 0.68545938 -0.63560569 +vn 0.50852084 0.71993446 -0.47233564 +vn 0.63071382 0.73793697 -0.24010226 +vn 0.67837501 0.73417157 -0.02827373 +vn 0.00107459 0.38956279 -0.92099929 +vn 0.00474641 0.37775147 -0.92589486 +vn 0.01688069 0.37715310 -0.92599708 +vn 0.04083773 0.37689719 -0.92535442 +vn 0.08208022 0.37833264 -0.92202348 +vn 0.14953358 0.38388652 -0.91119200 +vn 0.25707242 0.39755064 -0.88083327 +vn 0.42041737 0.42381433 -0.80226594 +vn 0.63113379 0.45947146 -0.62494493 +vn 0.81138384 0.48255941 -0.32983726 +vn 0.87604278 0.48042649 -0.04170698 +vn 0.00111371 0.17473640 -0.98461461 +vn 0.00488670 0.17029837 -0.98538041 +vn 0.01733651 0.16997035 -0.98529667 +vn 0.04184100 0.16977692 -0.98459387 +vn 0.08397106 0.17036267 -0.98179704 +vn 0.15308326 0.17292723 -0.97296542 +vn 0.26463860 0.17957269 -0.94748092 +vn 0.43945241 0.19308425 -0.87726849 +vn 0.67840683 0.21302670 -0.70312434 +vn 0.89559847 0.22748560 -0.38230050 +vn 0.97264498 0.22657277 -0.05124906 +vn 0.96333629 -0.22507310 0.14603175 +vn 0.98879045 0.00008840 0.14930984 +vn 0.93748128 -0.22423194 0.26617453 +vn 0.96252912 0.00043609 0.27117795 +vn 0.90307009 -0.22013135 0.36879066 +vn 0.92709166 0.00085806 0.37483373 +vn 0.86120945 -0.21212403 0.46186760 +vn 0.88342500 0.00122394 0.46857095 +vn 0.81116170 -0.20074487 0.54928881 +vn 0.83091515 0.00147545 0.55639714 +vn 0.75162572 -0.18750755 0.63237619 +vn 0.76851612 0.00157145 0.63982850 +vn 0.68142760 -0.17487152 0.71068722 +vn 0.69531167 0.00148325 0.71870685 +vn 0.60004526 -0.16614984 0.78252155 +vn 0.61095053 0.00119222 0.79166788 +vn 0.50796986 -0.16524880 0.84537536 +vn 0.51601398 0.00069697 0.85657984 +vn 0.45548639 -0.17619599 0.87263232 +vn 0.46308294 0.00038848 0.88631487 +vn 0.86817205 -0.47823042 0.13256307 +vn 0.84426880 -0.47722894 0.24384990 +vn 0.81395566 -0.47076854 0.34037200 +vn 0.77879202 -0.45740950 0.42925468 +vn 0.73769134 -0.43765596 0.51407081 +vn 0.68847901 -0.41378185 0.59563518 +vn 0.62892658 -0.39006293 0.67253423 +vn 0.55761361 -0.37284321 0.74165696 +vn 0.47451845 -0.36990893 0.79874879 +vn 0.42271310 -0.39638713 0.81497908 +vn 0.67346472 -0.73189414 0.10380860 +vn 0.65426719 -0.73116148 0.19322868 +vn 0.63186598 -0.72554070 0.27264649 +vn 0.60832816 -0.71339476 0.34785742 +vn 0.58251673 -0.69461000 0.42212698 +vn 0.55151671 -0.67069834 0.49597687 +vn 0.51167190 -0.64556074 0.56695962 +vn 0.45975143 -0.62617385 0.62971020 +vn 0.39424065 -0.62194532 0.67657840 +vn 0.34092218 -0.66580862 0.66367984 +vn 0.36906362 -0.92761838 0.05758662 +vn 0.35820463 -0.92733139 0.10837892 +vn 0.34644762 -0.92525065 0.15454865 +vn 0.33557943 -0.92063403 0.19954818 +vn 0.32505539 -0.91321129 0.24573182 +vn 0.31274861 -0.90328652 0.29370365 +vn 0.29538172 -0.89227331 0.34146452 +vn 0.26934731 -0.88333923 0.38361931 +vn 0.23233956 -0.88119709 0.41171595 +vn 0.17472807 -0.92270941 0.34362400 +vn -0.00945889 -0.99995464 -0.00113590 +vn -0.00866981 -0.99995911 -0.00257213 +vn -0.00789142 -0.99996072 -0.00403998 +vn -0.00713672 -0.99996030 -0.00533072 +vn -0.00649393 -0.99995923 -0.00627469 +vn -0.00614946 -0.99995834 -0.00674412 +vn -0.00638466 -0.99995655 -0.00679371 +vn -0.00732321 -0.99995005 -0.00680232 +vn -0.00851619 -0.99993765 -0.00722531 +vn -0.05882828 -0.99125862 -0.11809144 +vn -0.38436773 -0.92120343 -0.06037935 +vn -0.37077615 -0.92134219 -0.11684886 +vn -0.35479400 -0.91949099 -0.16928542 +vn -0.33881229 -0.91496742 -0.21918221 +vn -0.32314482 -0.90766937 -0.26779419 +vn -0.30671284 -0.89810205 -0.31518236 +vn -0.28754145 -0.88773078 -0.35951918 +vn -0.26336703 -0.87936658 -0.39667651 +vn -0.23261794 -0.87687618 -0.42068645 +vn -0.25193655 -0.82375121 -0.50789952 +vn -0.68137288 -0.72391796 -0.10804517 +vn -0.65676695 -0.72415340 -0.21037830 +vn -0.62410730 -0.71951759 -0.30460542 +vn -0.58767402 -0.70847428 -0.39077291 +vn -0.54927802 -0.69131708 -0.46944043 +vn -0.50898832 -0.66997391 -0.54043114 +vn -0.46601844 -0.64818048 -0.60223651 +vn -0.41959271 -0.63151544 -0.65202010 +vn -0.36960799 -0.62655663 -0.68616086 +vn -0.36019149 -0.57869768 -0.73169059 +vn -0.87020975 -0.47275412 -0.13870309 +vn -0.83814454 -0.47303820 -0.27156696 +vn -0.79147947 -0.46811578 -0.39297315 +vn -0.73593283 -0.45652601 -0.49998689 +vn -0.67592531 -0.43911278 -0.59186560 +vn -0.61434275 -0.41843691 -0.66894960 +vn -0.55289370 -0.39834186 -0.73186904 +vn -0.49262518 -0.38349870 -0.78118449 +vn -0.43423814 -0.37883273 -0.81726557 +vn -0.41130123 -0.35205847 -0.84076518 +vn -0.96263665 -0.22288409 -0.15379655 +vn -0.92673552 -0.22314297 -0.30227226 +vn -0.87180138 -0.22040403 -0.43747500 +vn -0.80450422 -0.21384990 -0.55411297 +vn -0.73146987 -0.20411706 -0.65060592 +vn -0.65784544 -0.19281490 -0.72805339 +vn -0.58694965 -0.18207707 -0.78888404 +vn -0.52058202 -0.17422026 -0.83584785 +vn -0.45948747 -0.17154960 -0.87145966 +vn -0.43211791 -0.16128792 -0.88727689 +vn -0.98747545 -0.00004253 -0.15777276 +vn -0.95055711 -0.00022658 -0.31054974 +vn -0.89319211 -0.00048486 -0.44967496 +vn -0.82234043 -0.00072239 -0.56899530 +vn -0.74539977 -0.00086786 -0.66661716 +vn -0.66829002 -0.00089477 -0.74390030 +vn -0.59481847 -0.00079864 -0.80385965 +vn -0.52694291 -0.00060075 -0.84990048 +vn -0.46534950 -0.00031676 -0.88512695 +vn -0.43703863 -0.00016050 -0.89944273 +vn -0.96269631 0.22280319 -0.15354018 +vn -0.92699063 0.22275302 -0.30177718 +vn -0.87223887 0.21959369 -0.43701023 +vn -0.80499756 0.21265151 -0.55385756 +vn -0.73187077 0.20266405 -0.65060931 +vn -0.65805668 0.19130702 -0.72826028 +vn -0.58693415 0.18072431 -0.78920656 +vn -0.52032870 0.17322676 -0.83621198 +vn -0.45897117 0.17108876 -0.87182230 +vn -0.43140638 0.16116706 -0.88764507 +vn -0.87031150 0.47270402 -0.13823469 +vn -0.83855027 0.47283182 -0.27067235 +vn -0.79215068 0.46771452 -0.39209750 +vn -0.73667467 0.45593289 -0.49943531 +vn -0.67651886 0.43835664 -0.59174806 +vn -0.61462659 0.41760811 -0.66920674 +vn -0.55279052 0.39758053 -0.73236084 +vn -0.49209410 0.38299251 -0.78176731 +vn -0.43321699 0.37879151 -0.81782639 +vn -0.40989968 0.35245675 -0.84128267 +vn -0.68146110 0.72391671 -0.10749566 +vn -0.65706432 0.72419137 -0.20931636 +vn -0.62452936 0.71963418 -0.30346289 +vn -0.58806759 0.70865130 -0.38985869 +vn -0.54948539 0.69150412 -0.46892199 +vn -0.50887495 0.67012972 -0.54034477 +vn -0.46548370 0.64833182 -0.60248715 +vn -0.41856885 0.63176084 -0.65244031 +vn -0.36802626 0.62707835 -0.68653435 +vn -0.35817286 0.57970071 -0.73188746 +vn -0.38436449 0.92123175 -0.05996715 +vn -0.37063739 0.92150509 -0.11600108 +vn -0.35437295 0.91985494 -0.16818640 +vn -0.33806682 0.91553438 -0.21796259 +vn -0.32208356 0.90839791 -0.26659963 +vn -0.30532813 0.89892870 -0.31416860 +vn -0.28580126 0.88859832 -0.35876265 +vn -0.26130533 0.88022870 -0.39612740 +vn -0.23044170 0.87767273 -0.42022279 +vn -0.24971734 0.82480526 -0.50728452 +vn -0.00932085 0.99995595 -0.00110360 +vn -0.00798704 0.99996531 -0.00236991 +vn -0.00652276 0.99997270 -0.00347699 +vn -0.00516811 0.99997747 -0.00427972 +vn -0.00410263 0.99998033 -0.00475031 +vn -0.00350840 0.99998188 -0.00489774 +vn -0.00365682 0.99998152 -0.00485264 +vn -0.00481632 0.99997586 -0.00501060 +vn -0.00687827 0.99995846 -0.00598042 +vn -0.05786975 0.99141383 -0.11725933 +vn 0.36928350 0.92755973 0.05712004 +vn 0.35910234 0.92706257 0.10770555 +vn 0.34802523 0.92472142 0.15417111 +vn 0.33761057 0.91984951 0.19973986 +vn 0.32721159 0.91221112 0.24658346 +vn 0.31463772 0.90216625 0.29512572 +vn 0.29659155 0.89121628 0.34317201 +vn 0.26950839 0.88262910 0.38513780 +vn 0.23123401 0.88113880 0.41246235 +vn 0.17300408 0.92306781 0.34353369 +vn 0.67366028 0.73183191 0.10297543 +vn 0.65493172 0.73091716 0.19189720 +vn 0.63286066 0.72512114 0.27145302 +vn 0.60939085 0.71285176 0.34710976 +vn 0.58332807 0.69402426 0.42197004 +vn 0.55171162 0.67020160 0.49643144 +vn 0.51089966 0.64536059 0.56788313 +vn 0.45783305 0.62652689 0.63075584 +vn 0.39136389 0.62298971 0.67728734 +vn 0.33780020 0.66731042 0.66376793 +vn 0.86828917 0.47825414 0.13170741 +vn 0.84457129 0.47740677 0.24245024 +vn 0.81428719 0.47118711 0.33899719 +vn 0.77898389 0.45809099 0.42817837 +vn 0.73757607 0.43858021 0.51344806 +vn 0.68786764 0.41490918 0.59555727 +vn 0.62763357 0.39135057 0.67299396 +vn 0.55555362 0.37424669 0.74249554 +vn 0.47184426 0.37133330 0.79967153 +vn 0.41991895 0.39790466 0.81568372 +vn 0.96338445 0.22520497 0.14550991 +vn 0.93756586 0.22490188 0.26531002 +vn 0.90310109 0.22146621 0.36791456 +vn 0.86112130 0.21405575 0.46114022 +vn 0.81090087 0.20310110 0.54880756 +vn 0.75112408 0.19005410 0.63221198 +vn 0.68060678 0.17733300 0.71086383 +vn 0.59885514 0.16822872 0.78298891 +vn 0.50646460 0.16664155 0.84600484 +vn 0.45389998 0.17719762 0.87325585 +vn -0.08289275 0.00163724 0.99655712 +vn -0.08668669 -0.27164516 0.95848542 +vn -0.18226723 -0.26109657 0.94794899 +vn -0.18892476 0.00133594 0.98199064 +vn -0.40274680 -0.25029212 0.88042539 +vn -0.42248943 0.00065974 0.90636760 +vn -0.63077354 -0.23549324 0.73936981 +vn -0.65939832 -0.00008775 0.75179374 +vn -0.79880047 -0.21885896 0.56037360 +vn -0.82902867 -0.00085211 0.55920541 +vn -0.88444668 -0.21215905 0.41562313 +vn -0.91405350 -0.00165159 0.40559021 +vn -0.91063577 -0.22326857 0.34769762 +vn -0.94277877 -0.00257844 0.33340898 +vn -0.89714092 -0.25158885 0.36309940 +vn -0.93679053 -0.00363800 0.34987187 +vn -0.84309781 -0.28807491 0.45409128 +vn -0.89265817 -0.00458123 0.45071098 +vn -0.73476386 -0.31406000 0.60123909 +vn -0.78762698 -0.00488954 0.61613297 +vn -0.59621227 -0.32053220 0.73606384 +vn -0.64139146 -0.00384223 0.76720417 +vn -0.08366430 -0.55544853 0.82733136 +vn -0.15658639 -0.53810686 0.82820392 +vn -0.33469692 -0.52177888 0.78468132 +vn -0.53049940 -0.50032687 0.68428314 +vn -0.68892384 -0.47484198 0.54763955 +vn -0.77531385 -0.46289900 0.42966613 +vn -0.79606783 -0.47786775 0.37137365 +vn -0.76721603 -0.51666999 0.38004178 +vn -0.69662499 -0.56256425 0.44523603 +vn -0.58948165 -0.59004772 0.55168384 +vn -0.47330955 -0.59423661 0.65027755 +vn -0.06385837 -0.79813492 0.59908491 +vn -0.10408639 -0.78327441 0.61290067 +vn -0.21031919 -0.77159065 0.60034466 +vn -0.34006312 -0.75813800 0.55640262 +vn -0.46403530 -0.74097681 0.48541179 +vn -0.54469848 -0.72988212 0.41300809 +vn -0.56692511 -0.73603666 0.36992690 +vn -0.53924996 -0.75774008 0.36747724 +vn -0.47800753 -0.78194135 0.40009567 +vn -0.40015900 -0.79295701 0.45944738 +vn -0.32208148 -0.79251558 0.51786351 +vn -0.02381497 -0.95252353 0.30353224 +vn -0.02579848 -0.94593555 0.32332706 +vn -0.04086152 -0.94088900 0.33624139 +vn -0.07417650 -0.93563879 0.34507674 +vn -0.12855227 -0.93049937 0.34299448 +vn -0.18818085 -0.92576444 0.32794538 +vn -0.22891590 -0.92256713 0.31059203 +vn -0.24046363 -0.92213655 0.30305359 +vn -0.22831513 -0.92353237 0.30815601 +vn -0.20230326 -0.92503959 0.32151997 +vn -0.16597350 -0.92597979 0.33913741 +vn 0.03309054 -0.99926180 -0.01951473 +vn 0.06923968 -0.99759936 -0.00115346 +vn 0.14552568 -0.98887533 0.03078793 +vn 0.20999213 -0.97412944 0.08351745 +vn 0.23411772 -0.96221566 0.13903220 +vn 0.20864858 -0.96181607 0.17713171 +vn 0.14885378 -0.97026306 0.19087195 +vn 0.08177602 -0.97916716 0.18586119 +vn 0.02906671 -0.98530841 0.16829281 +vn -0.00036206 -0.99136341 0.13114284 +vn -0.00321735 -0.99496019 0.10021940 +vn 0.09943423 -0.93636709 -0.33664447 +vn 0.16824916 -0.93235493 -0.32001022 +vn 0.31836417 -0.90967155 -0.26672453 +vn 0.45368940 -0.87451673 -0.17142484 +vn 0.53150088 -0.84434515 -0.06773569 +vn 0.53753674 -0.84319574 0.00867452 +vn 0.48127738 -0.87556982 0.04182780 +vn 0.38637426 -0.92177421 0.03236109 +vn 0.28603140 -0.95810425 -0.01490993 +vn 0.20784901 -0.97150868 -0.11388469 +vn 0.16597195 -0.96510136 -0.20256515 +vn 0.16450725 -0.77132142 -0.61481756 +vn 0.25693864 -0.76191360 -0.59453356 +vn 0.45525256 -0.72739625 -0.51345867 +vn 0.62894481 -0.68043184 -0.37608632 +vn 0.73112726 -0.64130449 -0.23276915 +vn 0.75754321 -0.63897491 -0.13356395 +vn 0.72316968 -0.68357861 -0.09872166 +vn 0.63979447 -0.75760216 -0.12923603 +vn 0.52455419 -0.82209867 -0.22135201 +vn 0.40402037 -0.83001822 -0.38449612 +vn 0.31578684 -0.79563349 -0.51695848 +vn 0.21601251 -0.53016120 -0.81991935 +vn 0.32256579 -0.51877028 -0.79172510 +vn 0.54553348 -0.48560685 -0.68306607 +vn 0.73471826 -0.44465619 -0.51231825 +vn 0.84446830 -0.41206989 -0.34215748 +vn 0.88196963 -0.41008326 -0.23229566 +vn 0.87019461 -0.44787878 -0.20534335 +vn 0.81454027 -0.51624334 -0.26460710 +vn 0.70668864 -0.57961345 -0.40575784 +vn 0.54671025 -0.57289982 -0.61065024 +vn 0.40924034 -0.52220094 -0.74821693 +vn 0.24578924 -0.25923085 -0.93401659 +vn 0.35937047 -0.25159025 -0.89864075 +vn 0.59133667 -0.23246539 -0.77219218 +vn 0.78474271 -0.21016122 -0.58310473 +vn 0.89595634 -0.19297697 -0.40002763 +vn 0.93852246 -0.19186926 -0.28698748 +vn 0.93995053 -0.21155183 -0.26784095 +vn 0.90391254 -0.24857171 -0.34807220 +vn 0.80492163 -0.28360677 -0.52121812 +vn 0.61606818 -0.27426320 -0.73840350 +vn 0.44577551 -0.24087584 -0.86212707 +vn 0.25384271 -0.00059725 -0.96724534 +vn 0.37061197 -0.00037728 -0.92878771 +vn 0.60413784 0.00011516 -0.79687983 +vn 0.79787660 0.00056532 -0.60282052 +vn 0.90902871 0.00094139 -0.41673246 +vn 0.95282072 0.00132210 -0.30353084 +vn 0.95782679 0.00179745 -0.28734052 +vn 0.92734098 0.00232861 -0.37421021 +vn 0.83102137 0.00256890 -0.55623454 +vn 0.63360536 0.00204445 -0.77365375 +vn 0.45328903 0.00126741 -0.89136267 +vn 0.24320363 0.25852805 -0.93488783 +vn 0.36055046 0.25095159 -0.89834660 +vn 0.59213698 0.23262233 -0.77153134 +vn 0.78499323 0.21111505 -0.58242255 +vn 0.89584792 0.19463909 -0.39946479 +vn 0.93823189 0.19419649 -0.28637150 +vn 0.93950015 0.21464208 -0.26696110 +vn 0.90329963 0.25247398 -0.34685251 +vn 0.80419952 0.28789055 -0.51998287 +vn 0.61530000 0.27775133 -0.73773986 +vn 0.44486639 0.24373776 -0.86179221 +vn 0.21154121 0.53049535 -0.82086849 +vn 0.32463276 0.51840913 -0.79111665 +vn 0.54701471 0.48558053 -0.68189913 +vn 0.73521215 0.44517896 -0.51115441 +vn 0.84424746 0.41325122 -0.34127653 +vn 0.88140351 0.41176704 -0.23146440 +vn 0.86940938 0.44989228 -0.20426524 +vn 0.81360716 0.51843369 -0.26319176 +vn 0.70568669 0.58182168 -0.40433875 +vn 0.54556710 0.57476342 -0.60992092 +vn 0.40648577 0.52433991 -0.74822253 +vn 0.15966859 0.77232164 -0.61483759 +vn 0.25929290 0.76188028 -0.59355342 +vn 0.45715883 0.72716391 -0.51209223 +vn 0.62982309 0.68035585 -0.37475169 +vn 0.73105711 0.64174998 -0.23175943 +vn 0.75702125 0.63974708 -0.13282508 +vn 0.72262526 0.68423337 -0.09817053 +vn 0.63950866 0.75787783 -0.12903459 +vn 0.52447683 0.82200837 -0.22186989 +vn 0.40378997 0.82949501 -0.38586488 +vn 0.31276464 0.79454255 -0.52046174 +vn 0.09638812 0.93710178 -0.33548418 +vn 0.17019922 0.93246883 -0.31864411 +vn 0.32030937 0.90934080 -0.26552072 +vn 0.45526513 0.87390918 -0.17034200 +vn 0.53242433 0.84383696 -0.06680939 +vn 0.53815299 0.84279716 0.00917733 +vn 0.48221794 0.87506640 0.04152857 +vn 0.38790041 0.92119014 0.03069247 +vn 0.28789020 0.95748258 -0.01861105 +vn 0.20961650 0.97039270 -0.11999569 +vn 0.16582242 0.96329105 -0.21112375 +vn 0.03391985 0.99926645 -0.01777793 +vn 0.07026812 0.99752808 0.00035873 +vn 0.14699949 0.98863429 0.03151823 +vn 0.21227138 0.97360212 0.08390370 +vn 0.23699418 0.96145236 0.13943867 +vn 0.21196580 0.96106529 0.17726806 +vn 0.15252644 0.96985191 0.19006048 +vn 0.08550975 0.97936481 0.18311925 +vn 0.03263059 0.98616999 0.16249311 +vn 0.00275699 0.99265492 0.12094858 +vn -0.00083429 0.99576682 0.09191190 +vn -0.01807640 0.95214975 0.30509681 +vn -0.02590401 0.94556284 0.32440701 +vn -0.04037825 0.94089329 0.33628768 +vn -0.07235318 0.93594211 0.34464097 +vn -0.12525414 0.93110090 0.34258217 +vn -0.18371996 0.92678571 0.32759002 +vn -0.22393015 0.92406064 0.30978581 +vn -0.23562324 0.92416871 0.30065578 +vn -0.22409946 0.92637163 0.30267966 +vn -0.19940376 0.92912394 0.31139493 +vn -0.16292427 0.92740399 0.33671573 +vn -0.05415272 0.79816294 0.60000283 +vn -0.10517689 0.78307557 0.61296856 +vn -0.21099754 0.77192259 0.59967953 +vn -0.34015277 0.75885731 0.55536628 +vn -0.46365342 0.74206603 0.48411104 +vn -0.54368901 0.73145497 0.41155300 +vn -0.56495583 0.73826957 0.36848739 +vn -0.53627092 0.76067257 0.36577415 +vn -0.47481132 0.78543127 0.39705408 +vn -0.39848891 0.79691291 0.45402247 +vn -0.31885311 0.79078740 0.52248245 +vn -0.07330105 0.55665201 0.82750559 +vn -0.15810290 0.53892845 0.82738119 +vn -0.33599868 0.52251458 0.78363478 +vn -0.53192228 0.50059134 0.68298388 +vn -0.69070244 0.47447941 0.54571003 +vn -0.77724123 0.46214065 0.42699188 +vn -0.79774761 0.47730780 0.36847797 +vn -0.76809514 0.51691252 0.37793028 +vn -0.69635546 0.56335926 0.44465199 +vn -0.58884120 0.58976519 0.55266899 +vn -0.46909291 0.58774573 0.65917134 +vn -0.08006709 0.27426606 0.95831490 +vn -0.18335932 0.26321211 0.94715297 +vn -0.40371826 0.25144005 0.87965304 +vn -0.63188481 0.23537649 0.73845750 +vn -0.80017662 0.21739237 0.55897939 +vn -0.88608634 0.20941359 0.41351774 +vn -0.91257942 0.21936886 0.34507412 +vn -0.89934957 0.24681105 0.36090803 +vn -0.84491199 0.28269500 0.45410055 +vn -0.73469806 0.30762425 0.60463709 +vn -0.59170032 0.31212419 0.74328274 +vn -0.49270859 -0.28237545 0.82310528 +vn -0.52699703 -0.00203142 0.84986466 +vn -0.41510913 -0.24581087 0.87593460 +vn -0.44480661 -0.00149473 0.89562541 +vn -0.32547316 -0.19627258 0.92495638 +vn -0.34951168 -0.00094787 0.93693155 +vn -0.20556617 -0.12202393 0.97100604 +vn -0.22106826 -0.00031211 0.97525829 +vn -0.00378864 0.01190288 0.99992198 +vn 0.00072594 0.00047764 0.99999964 +vn 0.39603129 0.29597190 0.86922944 +vn 0.49230441 0.00110899 0.87042236 +vn 0.79910666 0.55520177 0.23060685 +vn 0.98940963 -0.00046871 0.14514954 +vn 0.76404023 0.48895714 -0.42090794 +vn 0.85911816 -0.00262499 -0.51177055 +vn 0.63676041 0.39178798 -0.66410720 +vn 0.69391334 -0.00331448 -0.72005087 +vn 0.60566992 0.30572855 -0.73463869 +vn 0.63938916 -0.00261173 -0.76887888 +vn -0.39992213 -0.53736281 0.74249816 +vn -0.33680508 -0.46692356 0.81764585 +vn -0.26388925 -0.37052396 0.89054728 +vn -0.16725974 -0.22693530 0.95943969 +vn -0.01453348 0.01766599 0.99973834 +vn 0.22551782 0.43265229 0.87289959 +vn 0.46994954 0.79462683 0.38433790 +vn 0.53479224 0.82189918 -0.19616066 +vn 0.48849130 0.71484828 -0.50036806 +vn 0.49868658 0.59900224 -0.62650460 +vn -0.27917662 -0.73792905 0.61442745 +vn -0.23735845 -0.64465785 0.72668922 +vn -0.18831779 -0.51153910 0.83836997 +vn -0.12335501 -0.31208900 0.94201064 +vn -0.02852516 0.00401281 0.99958503 +vn 0.09573448 0.44323078 0.89128077 +vn 0.23256986 0.82268977 0.51874161 +vn 0.30529049 0.95128393 0.04308800 +vn 0.31112295 0.90733826 -0.28273624 +vn 0.35087255 0.81770122 -0.45634761 +vn -0.14608783 -0.88803756 0.43594453 +vn -0.12764579 -0.79094535 0.59842461 +vn -0.10556483 -0.63515925 0.76513320 +vn -0.07566480 -0.39074194 0.91738516 +vn -0.03577119 -0.02657528 0.99900657 +vn 0.01328090 0.40711680 0.91327953 +vn 0.07786282 0.77442878 0.62785149 +vn 0.12496035 0.95858711 0.25592113 +vn 0.14444840 0.98842931 -0.04628395 +vn 0.19818395 0.94852990 -0.24701032 +vn 0.00174552 -0.98231089 0.18724921 +vn 0.00043096 -0.91347247 0.40690026 +vn -0.00510187 -0.75889486 0.65119314 +vn -0.01550305 -0.47602019 0.87929767 +vn -0.03278703 -0.06684749 0.99722433 +vn -0.04215725 0.35554478 0.93370801 +vn -0.03108427 0.69336671 0.71991414 +vn -0.01627996 0.89453524 0.44670087 +vn -0.00616969 0.97944456 0.20161915 +vn 0.04911920 0.99878436 -0.00413834 +vn 0.16250308 -0.97680205 -0.13946499 +vn 0.15832302 -0.98061132 0.11547835 +vn 0.13614957 -0.88076931 0.45355126 +vn 0.07764884 -0.57890034 0.81169271 +vn -0.01648854 -0.11320270 0.99343508 +vn -0.08316340 0.29495853 0.95188409 +vn -0.11452043 0.58844638 0.80038488 +vn -0.13012736 0.77505445 0.61835057 +vn -0.13956723 0.88269842 0.44873655 +vn -0.09652270 0.95881599 0.26712409 +vn 0.30652979 -0.81808048 -0.48660436 +vn 0.32867667 -0.90613657 -0.26624838 +vn 0.33417994 -0.93464589 0.12149432 +vn 0.24845682 -0.69587713 0.67381322 +vn 0.02181332 -0.16258638 0.98645318 +vn -0.11470632 0.22487672 0.96761197 +vn -0.18049036 0.45974410 0.86951631 +vn -0.21970107 0.60764229 0.76321840 +vn -0.24809495 0.70391583 0.66554594 +vn -0.22990265 0.81016624 0.53923601 +vn 0.39419788 -0.53887707 -0.74445921 +vn 0.45118931 -0.64350080 -0.61833239 +vn 0.53806704 -0.78794026 -0.29938945 +vn 0.54458827 -0.72769463 0.41699424 +vn 0.10309739 -0.20086378 0.97417897 +vn -0.13647483 0.14614758 0.97980380 +vn -0.22936432 0.30989349 0.92269063 +vn -0.28308061 0.40677977 0.86855948 +vn -0.32294601 0.47078058 0.82101858 +vn -0.33014223 0.56131369 0.75890255 +vn 0.42661104 -0.24782123 -0.86982048 +vn 0.49643949 -0.30249915 -0.81365967 +vn 0.64864683 -0.41720340 -0.63655210 +vn 0.86049408 -0.47844720 0.17503771 +vn 0.24587460 -0.16731416 0.95475215 +vn -0.14598240 0.06755889 0.98697770 +vn -0.25823832 0.15096816 0.95421255 +vn -0.31862536 0.19658223 0.92727196 +vn -0.36212158 0.22564197 0.90440792 +vn -0.38256207 0.27004951 0.88358331 +vn 0.43240857 0.00122830 -0.90167695 +vn 0.50225520 0.00166786 -0.86471784 +vn 0.66423953 0.00263263 -0.74751514 +vn 0.99566191 0.00390733 0.09296309 +vn 0.33626881 0.00246507 0.94176280 +vn -0.14810625 0.00011574 0.98897147 +vn -0.26770109 -0.00011701 0.96350199 +vn -0.32956952 0.00008518 0.94413131 +vn -0.37308761 0.00043998 0.92779601 +vn -0.39497080 0.00084794 0.91869330 +vn 0.42721349 0.25177109 -0.86838931 +vn 0.49687967 0.30773476 -0.81142461 +vn 0.64837146 0.42406726 -0.63228267 +vn 0.85974979 0.47991154 0.17468594 +vn 0.24715205 0.16990392 0.95396465 +vn -0.14568274 -0.06687102 0.98706877 +vn -0.25838071 -0.15145135 0.95409745 +vn -0.31899855 -0.19682264 0.92709267 +vn -0.36241207 -0.22487384 0.90448284 +vn -0.38005909 -0.26604107 0.88587654 +vn 0.39347449 0.54356122 -0.74143040 +vn 0.44998258 0.64828163 -0.61420399 +vn 0.53667814 0.78997290 -0.29651207 +vn 0.55196941 0.72645319 0.40938434 +vn 0.10560384 0.20257589 0.97355574 +vn -0.13634272 -0.14465423 0.98004377 +vn -0.22935428 -0.31052366 0.92248124 +vn -0.28353849 -0.40826681 0.86771202 +vn -0.32389548 -0.47143710 0.82026750 +vn -0.32794991 -0.55349010 0.76557004 +vn 0.30557281 0.81901997 -0.48562494 +vn 0.32841516 0.90613121 -0.26658902 +vn 0.33679771 0.93442613 0.11582363 +vn 0.25696543 0.70001465 0.66629446 +vn 0.02389160 0.16404045 0.98616427 +vn -0.11500970 -0.22303918 0.96800119 +vn -0.18037716 -0.45992506 0.86944407 +vn -0.21950111 -0.61015248 0.76127076 +vn -0.24856414 -0.70713776 0.66194564 +vn -0.23008038 -0.80393332 0.54841065 +vn 0.16376446 0.97603655 -0.14329657 +vn 0.16045633 0.98081958 0.11066499 +vn 0.13978402 0.88323855 0.44760484 +vn 0.08221678 0.58309048 0.80823630 +vn -0.01481345 0.11442880 0.99332100 +vn -0.08376684 -0.29332429 0.95233607 +vn -0.11463409 -0.58781970 0.80082899 +vn -0.12918858 -0.77702028 0.61607611 +vn -0.13816977 -0.88622427 0.44217148 +vn -0.09659859 -0.95801955 0.26993933 +vn 0.00372909 0.98306406 0.18322444 +vn 0.00236002 0.91491950 0.40362945 +vn -0.00307254 0.76112288 0.64860046 +vn -0.01342967 0.47855133 0.87795687 +vn -0.03147319 0.06796328 0.99719125 +vn -0.04279367 -0.35434380 0.93413550 +vn -0.03175423 -0.69201118 0.72118807 +vn -0.01537789 -0.89511013 0.44557983 +vn -0.00363907 -0.98074245 0.19527157 +vn 0.05226727 -0.99853671 -0.01387681 +vn -0.14507140 0.88874590 0.43483901 +vn -0.12679036 0.79159230 0.59775066 +vn -0.10473467 0.63589299 0.76463765 +vn -0.07479459 0.39172804 0.91703594 +vn -0.03487295 0.02748316 0.99901378 +vn 0.01285407 -0.40627912 0.91365862 +vn 0.07643341 -0.77274621 0.63009620 +vn 0.12516330 -0.95828831 0.25693902 +vn 0.14655434 -0.98795348 -0.04969640 +vn 0.20367049 -0.94191164 -0.26705950 +vn -0.27913189 0.73682052 0.61577666 +vn -0.23721060 0.64369810 0.72758770 +vn -0.18802235 0.51083428 0.83886588 +vn -0.12292905 0.31180763 0.94215947 +vn -0.02798098 -0.00359525 0.99960202 +vn 0.09558246 -0.44243971 0.89169002 +vn 0.23036952 -0.82127637 0.52195305 +vn 0.30464730 -0.95133543 0.04637769 +vn 0.31200048 -0.90712154 -0.28246462 +vn 0.35410929 -0.80329847 -0.47887176 +vn -0.40006050 0.53384370 0.74495804 +vn -0.33677411 0.46423429 0.81918842 +vn -0.26363873 0.36863437 0.89140522 +vn -0.16677971 0.22586019 0.95977688 +vn -0.01391444 -0.01776476 0.99974537 +vn 0.22557727 -0.43167070 0.87337011 +vn 0.46740076 -0.79417813 0.38835245 +vn 0.53365982 -0.82378995 -0.19125198 +vn 0.48822412 -0.71748221 -0.49684650 +vn 0.49517301 -0.58495367 -0.64236504 +vn -0.49222651 0.27776751 0.82495958 +vn -0.41466460 0.24235521 0.87710732 +vn -0.32500520 0.19398749 0.92560273 +vn -0.20497549 0.12100553 0.97125834 +vn -0.00299581 -0.01153175 0.99992901 +vn 0.39638036 -0.29441333 0.86959958 +vn 0.79752862 -0.55598485 0.23415577 +vn 0.76341885 -0.49362981 -0.41655889 +vn 0.63690650 -0.39810607 -0.66019821 +vn 0.59947246 -0.30348200 -0.74062914 +vn 0.12689997 -0.01995338 0.99171484 +vn 0.12850313 -0.00000004 0.99170911 +vn 0.00000010 0.00000000 1.00000000 +vn 0.41198418 -0.06485616 0.90887994 +vn 0.41718510 -0.00000064 0.90882152 +vn 0.88510609 -0.13963734 0.44394669 +vn 0.89607108 -0.00000307 0.44391054 +vn 0.95115852 -0.15006034 -0.26977658 +vn 0.96296322 -0.00000478 -0.26963270 +vn 0.79282731 -0.12503149 -0.59648299 +vn 0.80284333 -0.00000484 -0.59619004 +vn 0.73687536 -0.11626467 -0.66595590 +vn 0.74627310 -0.00000901 -0.66563988 +vn 0.77414608 -0.12228721 -0.62108272 +vn 0.78402793 -0.00001578 -0.62072557 +vn 0.90549737 -0.14327776 -0.39943209 +vn 0.91692317 -0.00002620 -0.39906386 +vn 0.96952450 -0.15363504 0.19083621 +vn 0.98163176 -0.00002335 0.19078541 +vn 0.65093565 -0.10333269 0.75206721 +vn 0.65935779 -0.00000146 0.75182933 +vn 0.12201847 -0.03955638 0.99173927 +vn 0.39626300 -0.12854138 0.90909445 +vn 0.85208648 -0.27678874 0.44422588 +vn 0.91571420 -0.29746136 -0.27015594 +vn 0.76292127 -0.24776977 -0.59712756 +vn 0.70894027 -0.23032877 -0.66659760 +vn 0.74481028 -0.24219130 -0.62177247 +vn 0.87143826 -0.28373796 -0.40011010 +vn 0.93329197 -0.30424741 0.19078685 +vn 0.62621170 -0.20440637 0.75238085 +vn 0.11411323 -0.05813324 0.99176544 +vn 0.37072423 -0.18892360 0.90932471 +vn 0.79796684 -0.40698582 0.44453508 +vn 0.85759926 -0.43740875 -0.27054965 +vn 0.71415806 -0.36420247 -0.59777486 +vn 0.66350812 -0.33846015 -0.66723436 +vn 0.69710803 -0.35580638 -0.62244856 +vn 0.81588155 -0.41679040 -0.40077808 +vn 0.87403804 -0.44687703 0.19067886 +vn 0.58615071 -0.29993567 0.75263929 +vn 0.10347959 -0.07520222 0.99178457 +vn 0.33627746 -0.24442899 0.90948993 +vn 0.72438455 -0.52673322 0.44476867 +vn 0.77855742 -0.56612670 -0.27083004 +vn 0.64811325 -0.47124931 -0.59822518 +vn 0.60208660 -0.43783951 -0.66767377 +vn 0.63262582 -0.46017537 -0.62291515 +vn 0.74062175 -0.53896761 -0.40123969 +vn 0.79362619 -0.57778960 0.19056918 +vn 0.53208494 -0.38753921 0.75279409 +vn 0.09041582 -0.09041714 0.99179119 +vn 0.29387316 -0.29387277 0.90954787 +vn 0.63329035 -0.63328928 0.44484609 +vn 0.68066204 -0.68065923 -0.27092850 +vn 0.56654286 -0.56653780 -0.59838456 +vn 0.52631539 -0.52630663 -0.66782743 +vn 0.55307978 -0.55306226 -0.62307698 +vn 0.64765310 -0.64762902 -0.40140021 +vn 0.69416493 -0.69414479 0.19052045 +vn 0.46542144 -0.46541715 0.75284111 +vn 0.07520360 -0.10347833 0.99178457 +vn 0.24442953 -0.33627784 0.90948963 +vn 0.52673495 -0.72438335 0.44476858 +vn 0.56613249 -0.77855384 -0.27082816 +vn 0.47125608 -0.64810985 -0.59822351 +vn 0.43784961 -0.60208344 -0.66767001 +vn 0.46019396 -0.63261837 -0.62290895 +vn 0.53899330 -0.74060738 -0.40123180 +vn 0.57781446 -0.79361421 0.19054385 +vn 0.38754666 -0.53209281 0.75278473 +vn 0.05812642 -0.11411546 0.99176556 +vn 0.18892373 -0.37072349 0.90932500 +vn 0.40698692 -0.79796255 0.44454181 +vn 0.43741161 -0.85759902 -0.27054569 +vn 0.36420840 -0.71415710 -0.59777242 +vn 0.33846790 -0.66350991 -0.66722864 +vn 0.35581553 -0.69711238 -0.62243843 +vn 0.41680804 -0.81587958 -0.40076366 +vn 0.44689527 -0.87403929 0.19063032 +vn 0.29994681 -0.58616596 0.75262302 +vn 0.03955699 -0.12201835 0.99173927 +vn 0.12854066 -0.39626086 0.90909553 +vn 0.27678752 -0.85208446 0.44423056 +vn 0.29746029 -0.91571587 -0.27015147 +vn 0.24776745 -0.76292467 -0.59712416 +vn 0.23032779 -0.70894504 -0.66659284 +vn 0.24218999 -0.74482083 -0.62176037 +vn 0.28373536 -0.87144661 -0.40009376 +vn 0.30424550 -0.93330330 0.19073443 +vn 0.20441258 -0.62623274 0.75236166 +vn 0.01996345 -0.12689814 0.99171484 +vn 0.06485569 -0.41198197 0.90888095 +vn 0.13963483 -0.88510364 0.44395229 +vn 0.15005428 -0.95115989 -0.26977494 +vn 0.12502144 -0.79283106 -0.59648013 +vn 0.11625640 -0.73688084 -0.66595125 +vn 0.12226896 -0.77415544 -0.62107462 +vn 0.14324757 -0.90550750 -0.39941999 +vn 0.15360728 -0.96953666 0.19079705 +vn 0.10332689 -0.65094990 0.75205570 +vn 0.00000081 -0.12850282 0.99170917 +vn -0.00000058 -0.41718510 0.90882152 +vn -0.00000345 -0.89607036 0.44391203 +vn -0.00000446 -0.96296293 -0.26963380 +vn -0.00000523 -0.80284417 -0.59618896 +vn -0.00000959 -0.74627352 -0.66563940 +vn -0.00001521 -0.78402716 -0.62072653 +vn -0.00002677 -0.91692358 -0.39906287 +vn -0.00002415 -0.98163092 0.19078985 +vn -0.00000193 -0.65935689 0.75183010 +vn -0.01995921 -0.12689905 0.99171484 +vn -0.06485671 -0.41198468 0.90887964 +vn -0.13963778 -0.88510609 0.44394657 +vn -0.15006039 -0.95115846 -0.26977661 +vn -0.12502989 -0.79282719 -0.59648347 +vn -0.11626652 -0.73687577 -0.66595507 +vn -0.12228635 -0.77414566 -0.62108338 +vn -0.14327757 -0.90549755 -0.39943182 +vn -0.15363370 -0.96952504 0.19083478 +vn -0.10333046 -0.65093595 0.75206727 +vn -0.03955638 -0.12201847 0.99173927 +vn -0.12854138 -0.39626300 0.90909445 +vn -0.27678874 -0.85208648 0.44422588 +vn -0.29746136 -0.91571420 -0.27015594 +vn -0.24776977 -0.76292127 -0.59712756 +vn -0.23032877 -0.70894027 -0.66659760 +vn -0.24219130 -0.74481028 -0.62177247 +vn -0.28373796 -0.87143826 -0.40011010 +vn -0.30424741 -0.93329197 0.19078685 +vn -0.20440637 -0.62621170 0.75238085 +vn -0.05813324 -0.11411323 0.99176544 +vn -0.18892360 -0.37072423 0.90932471 +vn -0.40698582 -0.79796684 0.44453508 +vn -0.43740875 -0.85759926 -0.27054965 +vn -0.36420247 -0.71415806 -0.59777486 +vn -0.33846015 -0.66350812 -0.66723436 +vn -0.35580638 -0.69710803 -0.62244856 +vn -0.41679040 -0.81588155 -0.40077808 +vn -0.44687703 -0.87403804 0.19067886 +vn -0.29993567 -0.58615071 0.75263929 +vn -0.07520222 -0.10347959 0.99178457 +vn -0.24442899 -0.33627746 0.90948993 +vn -0.52673322 -0.72438455 0.44476867 +vn -0.56612670 -0.77855742 -0.27083004 +vn -0.47124931 -0.64811325 -0.59822518 +vn -0.43783951 -0.60208660 -0.66767377 +vn -0.46017537 -0.63262582 -0.62291515 +vn -0.53896761 -0.74062175 -0.40123969 +vn -0.57778960 -0.79362619 0.19056918 +vn -0.38753921 -0.53208494 0.75279409 +vn -0.09041714 -0.09041582 0.99179119 +vn -0.29387277 -0.29387316 0.90954787 +vn -0.63328928 -0.63329035 0.44484609 +vn -0.68065923 -0.68066204 -0.27092850 +vn -0.56653780 -0.56654286 -0.59838456 +vn -0.52630663 -0.52631539 -0.66782743 +vn -0.55306226 -0.55307978 -0.62307698 +vn -0.64762902 -0.64765310 -0.40140021 +vn -0.69414479 -0.69416493 0.19052045 +vn -0.46541715 -0.46542144 0.75284111 +vn -0.10347833 -0.07520360 0.99178457 +vn -0.33627784 -0.24442953 0.90948963 +vn -0.72438335 -0.52673495 0.44476858 +vn -0.77855384 -0.56613249 -0.27082816 +vn -0.64810985 -0.47125608 -0.59822351 +vn -0.60208344 -0.43784961 -0.66767001 +vn -0.63261837 -0.46019396 -0.62290895 +vn -0.74060738 -0.53899330 -0.40123180 +vn -0.79361421 -0.57781446 0.19054385 +vn -0.53209281 -0.38754666 0.75278473 +vn -0.11411546 -0.05812642 0.99176556 +vn -0.37072349 -0.18892373 0.90932500 +vn -0.79796255 -0.40698692 0.44454181 +vn -0.85759902 -0.43741161 -0.27054569 +vn -0.71415710 -0.36420840 -0.59777242 +vn -0.66350991 -0.33846790 -0.66722864 +vn -0.69711238 -0.35581553 -0.62243843 +vn -0.81587958 -0.41680804 -0.40076366 +vn -0.87403929 -0.44689527 0.19063032 +vn -0.58616596 -0.29994681 0.75262302 +vn -0.12201835 -0.03955699 0.99173927 +vn -0.39626086 -0.12854066 0.90909553 +vn -0.85208446 -0.27678752 0.44423056 +vn -0.91571587 -0.29746029 -0.27015147 +vn -0.76292467 -0.24776745 -0.59712416 +vn -0.70894504 -0.23032779 -0.66659284 +vn -0.74482083 -0.24218999 -0.62176037 +vn -0.87144661 -0.28373536 -0.40009376 +vn -0.93330330 -0.30424550 0.19073443 +vn -0.62623274 -0.20441258 0.75236166 +vn -0.12689814 -0.01996345 0.99171484 +vn -0.41198197 -0.06485569 0.90888095 +vn -0.88510364 -0.13963483 0.44395229 +vn -0.95115989 -0.15005428 -0.26977494 +vn -0.79283106 -0.12502144 -0.59648013 +vn -0.73688084 -0.11625640 -0.66595125 +vn -0.77415544 -0.12226896 -0.62107462 +vn -0.90550750 -0.14324757 -0.39941999 +vn -0.96953666 -0.15360728 0.19079705 +vn -0.65094990 -0.10332689 0.75205570 +vn -0.12850282 -0.00000081 0.99170917 +vn -0.41718510 0.00000058 0.90882152 +vn -0.89607036 0.00000345 0.44391203 +vn -0.96296293 0.00000446 -0.26963380 +vn -0.80284417 0.00000523 -0.59618896 +vn -0.74627352 0.00000959 -0.66563940 +vn -0.78402716 0.00001521 -0.62072653 +vn -0.91692358 0.00002677 -0.39906287 +vn -0.98163092 0.00002415 0.19078985 +vn -0.65935689 0.00000193 0.75183010 +vn -0.12689905 0.01995921 0.99171484 +vn -0.41198468 0.06485671 0.90887964 +vn -0.88510609 0.13963778 0.44394657 +vn -0.95115846 0.15006039 -0.26977661 +vn -0.79282719 0.12502989 -0.59648347 +vn -0.73687577 0.11626652 -0.66595507 +vn -0.77414566 0.12228635 -0.62108338 +vn -0.90549755 0.14327757 -0.39943182 +vn -0.96952504 0.15363370 0.19083478 +vn -0.65093595 0.10333046 0.75206727 +vn -0.12201847 0.03955638 0.99173927 +vn -0.39626300 0.12854138 0.90909445 +vn -0.85208648 0.27678874 0.44422588 +vn -0.91571420 0.29746136 -0.27015594 +vn -0.76292127 0.24776977 -0.59712756 +vn -0.70894027 0.23032877 -0.66659760 +vn -0.74481028 0.24219130 -0.62177247 +vn -0.87143826 0.28373796 -0.40011010 +vn -0.93329197 0.30424741 0.19078685 +vn -0.62621170 0.20440637 0.75238085 +vn -0.11411323 0.05813324 0.99176544 +vn -0.37072423 0.18892360 0.90932471 +vn -0.79796684 0.40698582 0.44453508 +vn -0.85759926 0.43740875 -0.27054965 +vn -0.71415806 0.36420247 -0.59777486 +vn -0.66350812 0.33846015 -0.66723436 +vn -0.69710803 0.35580638 -0.62244856 +vn -0.81588155 0.41679040 -0.40077808 +vn -0.87403804 0.44687703 0.19067886 +vn -0.58615071 0.29993567 0.75263929 +vn -0.10347959 0.07520222 0.99178457 +vn -0.33627746 0.24442899 0.90948993 +vn -0.72438455 0.52673322 0.44476867 +vn -0.77855742 0.56612670 -0.27083004 +vn -0.64811325 0.47124931 -0.59822518 +vn -0.60208660 0.43783951 -0.66767377 +vn -0.63262582 0.46017537 -0.62291515 +vn -0.74062175 0.53896761 -0.40123969 +vn -0.79362619 0.57778960 0.19056918 +vn -0.53208494 0.38753921 0.75279409 +vn -0.09041582 0.09041714 0.99179119 +vn -0.29387316 0.29387277 0.90954787 +vn -0.63329035 0.63328928 0.44484609 +vn -0.68066204 0.68065923 -0.27092850 +vn -0.56654286 0.56653780 -0.59838456 +vn -0.52631539 0.52630663 -0.66782743 +vn -0.55307978 0.55306226 -0.62307698 +vn -0.64765310 0.64762902 -0.40140021 +vn -0.69416493 0.69414479 0.19052045 +vn -0.46542144 0.46541715 0.75284111 +vn -0.07520360 0.10347833 0.99178457 +vn -0.24442953 0.33627784 0.90948963 +vn -0.52673495 0.72438335 0.44476858 +vn -0.56613249 0.77855384 -0.27082816 +vn -0.47125608 0.64810985 -0.59822351 +vn -0.43784961 0.60208344 -0.66767001 +vn -0.46019396 0.63261837 -0.62290895 +vn -0.53899330 0.74060738 -0.40123180 +vn -0.57781446 0.79361421 0.19054385 +vn -0.38754666 0.53209281 0.75278473 +vn -0.05812642 0.11411546 0.99176556 +vn -0.18892373 0.37072349 0.90932500 +vn -0.40698692 0.79796255 0.44454181 +vn -0.43741161 0.85759902 -0.27054569 +vn -0.36420840 0.71415710 -0.59777242 +vn -0.33846790 0.66350991 -0.66722864 +vn -0.35581553 0.69711238 -0.62243843 +vn -0.41680804 0.81587958 -0.40076366 +vn -0.44689527 0.87403929 0.19063032 +vn -0.29994681 0.58616596 0.75262302 +vn -0.03955699 0.12201835 0.99173927 +vn -0.12854066 0.39626086 0.90909553 +vn -0.27678752 0.85208446 0.44423056 +vn -0.29746029 0.91571587 -0.27015147 +vn -0.24776745 0.76292467 -0.59712416 +vn -0.23032779 0.70894504 -0.66659284 +vn -0.24218999 0.74482083 -0.62176037 +vn -0.28373536 0.87144661 -0.40009376 +vn -0.30424550 0.93330330 0.19073443 +vn -0.20441258 0.62623274 0.75236166 +vn -0.01996345 0.12689814 0.99171484 +vn -0.06485569 0.41198197 0.90888095 +vn -0.13963483 0.88510364 0.44395229 +vn -0.15005428 0.95115989 -0.26977494 +vn -0.12502144 0.79283106 -0.59648013 +vn -0.11625640 0.73688084 -0.66595125 +vn -0.12226896 0.77415544 -0.62107462 +vn -0.14324757 0.90550750 -0.39941999 +vn -0.15360728 0.96953666 0.19079705 +vn -0.10332689 0.65094990 0.75205570 +vn -0.00000081 0.12850282 0.99170917 +vn 0.00000058 0.41718510 0.90882152 +vn 0.00000345 0.89607036 0.44391203 +vn 0.00000446 0.96296293 -0.26963380 +vn 0.00000523 0.80284417 -0.59618896 +vn 0.00000959 0.74627352 -0.66563940 +vn 0.00001521 0.78402716 -0.62072653 +vn 0.00002677 0.91692358 -0.39906287 +vn 0.00002415 0.98163092 0.19078985 +vn 0.00000193 0.65935689 0.75183010 +vn 0.01995921 0.12689905 0.99171484 +vn 0.06485671 0.41198468 0.90887964 +vn 0.13963778 0.88510609 0.44394657 +vn 0.15006039 0.95115846 -0.26977661 +vn 0.12502989 0.79282719 -0.59648347 +vn 0.11626652 0.73687577 -0.66595507 +vn 0.12228635 0.77414566 -0.62108338 +vn 0.14327757 0.90549755 -0.39943182 +vn 0.15363370 0.96952504 0.19083478 +vn 0.10333046 0.65093595 0.75206727 +vn 0.03955638 0.12201847 0.99173927 +vn 0.12854138 0.39626300 0.90909445 +vn 0.27678874 0.85208648 0.44422588 +vn 0.29746136 0.91571420 -0.27015594 +vn 0.24776977 0.76292127 -0.59712756 +vn 0.23032877 0.70894027 -0.66659760 +vn 0.24219130 0.74481028 -0.62177247 +vn 0.28373796 0.87143826 -0.40011010 +vn 0.30424741 0.93329197 0.19078685 +vn 0.20440637 0.62621170 0.75238085 +vn 0.05813324 0.11411323 0.99176544 +vn 0.18892360 0.37072423 0.90932471 +vn 0.40698582 0.79796684 0.44453508 +vn 0.43740875 0.85759926 -0.27054965 +vn 0.36420247 0.71415806 -0.59777486 +vn 0.33846015 0.66350812 -0.66723436 +vn 0.35580638 0.69710803 -0.62244856 +vn 0.41679040 0.81588155 -0.40077808 +vn 0.44687703 0.87403804 0.19067886 +vn 0.29993567 0.58615071 0.75263929 +vn 0.07520222 0.10347959 0.99178457 +vn 0.24442899 0.33627746 0.90948993 +vn 0.52673322 0.72438455 0.44476867 +vn 0.56612670 0.77855742 -0.27083004 +vn 0.47124931 0.64811325 -0.59822518 +vn 0.43783951 0.60208660 -0.66767377 +vn 0.46017537 0.63262582 -0.62291515 +vn 0.53896761 0.74062175 -0.40123969 +vn 0.57778960 0.79362619 0.19056918 +vn 0.38753921 0.53208494 0.75279409 +vn 0.09041714 0.09041582 0.99179119 +vn 0.29387277 0.29387316 0.90954787 +vn 0.63328928 0.63329035 0.44484609 +vn 0.68065923 0.68066204 -0.27092850 +vn 0.56653780 0.56654286 -0.59838456 +vn 0.52630663 0.52631539 -0.66782743 +vn 0.55306226 0.55307978 -0.62307698 +vn 0.64762902 0.64765310 -0.40140021 +vn 0.69414479 0.69416493 0.19052045 +vn 0.46541715 0.46542144 0.75284111 +vn 0.10347833 0.07520360 0.99178457 +vn 0.33627784 0.24442953 0.90948963 +vn 0.72438335 0.52673495 0.44476858 +vn 0.77855384 0.56613249 -0.27082816 +vn 0.64810985 0.47125608 -0.59822351 +vn 0.60208344 0.43784961 -0.66767001 +vn 0.63261837 0.46019396 -0.62290895 +vn 0.74060738 0.53899330 -0.40123180 +vn 0.79361421 0.57781446 0.19054385 +vn 0.53209281 0.38754666 0.75278473 +vn 0.11411546 0.05812642 0.99176556 +vn 0.37072349 0.18892373 0.90932500 +vn 0.79796255 0.40698692 0.44454181 +vn 0.85759902 0.43741161 -0.27054569 +vn 0.71415710 0.36420840 -0.59777242 +vn 0.66350991 0.33846790 -0.66722864 +vn 0.69711238 0.35581553 -0.62243843 +vn 0.81587958 0.41680804 -0.40076366 +vn 0.87403929 0.44689527 0.19063032 +vn 0.58616596 0.29994681 0.75262302 +vn 0.12201835 0.03955699 0.99173927 +vn 0.39626086 0.12854066 0.90909553 +vn 0.85208446 0.27678752 0.44423056 +vn 0.91571587 0.29746029 -0.27015147 +vn 0.76292467 0.24776745 -0.59712416 +vn 0.70894504 0.23032779 -0.66659284 +vn 0.74482083 0.24218999 -0.62176037 +vn 0.87144661 0.28373536 -0.40009376 +vn 0.93330330 0.30424550 0.19073443 +vn 0.62623274 0.20441258 0.75236166 +vn 0.12689795 0.01995834 0.99171495 +vn 0.41198233 0.06485541 0.90888083 +vn 0.88510358 0.13963418 0.44395268 +vn 0.95115995 0.15005477 -0.26977453 +vn 0.79283041 0.12502269 -0.59648073 +vn 0.73688161 0.11625430 -0.66595078 +vn 0.77415502 0.12227042 -0.62107480 +vn 0.90550739 0.14324737 -0.39942026 +vn 0.96953624 0.15360799 0.19079833 +vn 0.65094942 0.10332874 0.75205588 +vn 0.36524853 -0.05800096 0.92910141 +vn 0.37006378 0.00000001 0.92900634 +vn 0.24146894 -0.03834134 0.96965080 +vn 0.24466075 -0.00000002 0.96960872 +vn 0.18126661 -0.02877613 0.98301291 +vn 0.18365821 -0.00000042 0.98299015 +vn 0.15414737 -0.02446986 0.98774481 +vn 0.15617728 -0.00000163 0.98772901 +vn 0.15009367 -0.02382255 0.98838472 +vn 0.15206462 -0.00000173 0.98837054 +vn 0.16913700 -0.02684147 0.98522699 +vn 0.17135185 -0.00000175 0.98520988 +vn 0.22231756 -0.03527597 0.97433591 +vn 0.22521795 -0.00000055 0.97430843 +vn 0.34805033 -0.05522098 0.93584806 +vn 0.35255650 -0.00000052 0.93579054 +vn 0.66692889 -0.10586476 0.73756260 +vn 0.67540067 -0.00000054 0.73745096 +vn 0.83825505 -0.13325146 0.52874619 +vn 0.84893191 -0.00000050 0.52850229 +vn 0.35119995 -0.11466307 0.92925292 +vn 0.23215404 -0.07579185 0.96972167 +vn 0.17426835 -0.05688637 0.98305362 +vn 0.14819574 -0.04837191 0.98777437 +vn 0.14429654 -0.04709547 0.98841316 +vn 0.16260718 -0.05306637 0.98526287 +vn 0.21374066 -0.06974826 0.97439730 +vn 0.33465418 -0.10920083 0.93599236 +vn 0.64157003 -0.20941329 0.73792547 +vn 0.80653542 -0.26349229 0.52921867 +vn 0.32857391 -0.16815443 0.92938864 +vn 0.21717168 -0.11114011 0.96978569 +vn 0.16301249 -0.08341999 0.98309106 +vn 0.13862079 -0.07093420 0.98780191 +vn 0.13497156 -0.06906262 0.98843968 +vn 0.15209606 -0.07782093 0.98529726 +vn 0.19992571 -0.10228775 0.97445726 +vn 0.31305268 -0.16016120 0.93613374 +vn 0.60043752 -0.30724418 0.73829246 +vn 0.75501519 -0.38653851 0.52966028 +vn 0.29816881 -0.21718390 0.92947650 +vn 0.19706047 -0.14353611 0.96982706 +vn 0.14790806 -0.10773566 0.98311555 +vn 0.12577373 -0.09160982 0.98782015 +vn 0.12245899 -0.08919322 0.98845756 +vn 0.13799483 -0.10050474 0.98532039 +vn 0.18138966 -0.13210665 0.97449762 +vn 0.28403863 -0.20686342 0.93623161 +vn 0.54496998 -0.39692637 0.73855072 +vn 0.68542576 -0.49934056 0.52995336 +vn 0.26078570 -0.26078612 0.92950600 +vn 0.17234905 -0.17234848 0.96984112 +vn 0.12935975 -0.12935975 0.98312366 +vn 0.10999748 -0.10999798 0.98782641 +vn 0.10709754 -0.10709749 0.98846358 +vn 0.12068129 -0.12068173 0.98532832 +vn 0.15863028 -0.15863098 0.97451150 +vn 0.24840198 -0.24840339 0.93626505 +vn 0.47665811 -0.47665980 0.73864233 +vn 0.59959853 -0.59960014 0.53005785 +vn 0.21718429 -0.29816857 0.92947644 +vn 0.14353544 -0.19706103 0.96982706 +vn 0.10773347 -0.14790986 0.98311555 +vn 0.09160993 -0.12577339 0.98782015 +vn 0.08919307 -0.12245899 0.98845756 +vn 0.10050564 -0.13799441 0.98532033 +vn 0.13210770 -0.18139042 0.97449732 +vn 0.20686430 -0.28404015 0.93623090 +vn 0.39692625 -0.54496944 0.73855120 +vn 0.49934044 -0.68542469 0.52995485 +vn 0.16815309 -0.32857266 0.92938936 +vn 0.11114126 -0.21717300 0.96978527 +vn 0.08341970 -0.16301288 0.98309100 +vn 0.07093322 -0.13861996 0.98780209 +vn 0.06906255 -0.13497053 0.98843986 +vn 0.07782121 -0.15209627 0.98529720 +vn 0.10228818 -0.19992661 0.97445703 +vn 0.16016193 -0.31305152 0.93613404 +vn 0.30724469 -0.60043621 0.73829335 +vn 0.38653898 -0.75501531 0.52965975 +vn 0.11466319 -0.35119924 0.92925316 +vn 0.07579139 -0.23215497 0.96972150 +vn 0.05688942 -0.17426653 0.98305380 +vn 0.04837415 -0.14819467 0.98777443 +vn 0.04709649 -0.14429595 0.98841316 +vn 0.05306773 -0.16260684 0.98526281 +vn 0.06974947 -0.21374077 0.97439718 +vn 0.10920133 -0.33465493 0.93599206 +vn 0.20941357 -0.64157152 0.73792410 +vn 0.26349252 -0.80653644 0.52921700 +vn 0.05799863 -0.36524901 0.92910135 +vn 0.03833837 -0.24146943 0.96965080 +vn 0.02877459 -0.18126480 0.98301327 +vn 0.02446788 -0.15414725 0.98774487 +vn 0.02382101 -0.15009303 0.98838484 +vn 0.02683942 -0.16913746 0.98522699 +vn 0.03527515 -0.22231922 0.97433561 +vn 0.05522051 -0.34805036 0.93584806 +vn 0.10586470 -0.66692930 0.73756218 +vn 0.13325149 -0.83825588 0.52874482 +vn 0.00000032 -0.37006494 0.92900592 +vn -0.00000047 -0.24466112 0.96960866 +vn -0.00000068 -0.18365799 0.98299021 +vn -0.00000163 -0.15617789 0.98772895 +vn -0.00000152 -0.15206575 0.98837036 +vn -0.00000220 -0.17135110 0.98521000 +vn -0.00000096 -0.22521673 0.97430867 +vn -0.00000061 -0.35255626 0.93579060 +vn -0.00000061 -0.67540103 0.73745066 +vn -0.00000045 -0.84893274 0.52850091 +vn -0.05799900 -0.36524886 0.92910141 +vn -0.03833738 -0.24146992 0.96965075 +vn -0.02877459 -0.18126637 0.98301297 +vn -0.02446826 -0.15414777 0.98774481 +vn -0.02382107 -0.15009385 0.98838472 +vn -0.02683937 -0.16913755 0.98522693 +vn -0.03527496 -0.22231728 0.97433603 +vn -0.05522034 -0.34805053 0.93584806 +vn -0.10586422 -0.66692883 0.73756266 +vn -0.13325106 -0.83825517 0.52874607 +vn -0.11466307 -0.35119995 0.92925292 +vn -0.07579185 -0.23215404 0.96972167 +vn -0.05688637 -0.17426835 0.98305362 +vn -0.04837191 -0.14819574 0.98777437 +vn -0.04709547 -0.14429654 0.98841316 +vn -0.05306637 -0.16260718 0.98526287 +vn -0.06974826 -0.21374066 0.97439730 +vn -0.10920083 -0.33465418 0.93599236 +vn -0.20941329 -0.64157003 0.73792547 +vn -0.26349229 -0.80653542 0.52921867 +vn -0.16815443 -0.32857391 0.92938864 +vn -0.11114011 -0.21717168 0.96978569 +vn -0.08341999 -0.16301249 0.98309106 +vn -0.07093420 -0.13862079 0.98780191 +vn -0.06906262 -0.13497156 0.98843968 +vn -0.07782093 -0.15209606 0.98529726 +vn -0.10228775 -0.19992571 0.97445726 +vn -0.16016120 -0.31305268 0.93613374 +vn -0.30724418 -0.60043752 0.73829246 +vn -0.38653851 -0.75501519 0.52966028 +vn -0.21718390 -0.29816881 0.92947650 +vn -0.14353611 -0.19706047 0.96982706 +vn -0.10773566 -0.14790806 0.98311555 +vn -0.09160982 -0.12577373 0.98782015 +vn -0.08919322 -0.12245899 0.98845756 +vn -0.10050474 -0.13799483 0.98532039 +vn -0.13210665 -0.18138966 0.97449762 +vn -0.20686342 -0.28403863 0.93623161 +vn -0.39692637 -0.54496998 0.73855072 +vn -0.49934056 -0.68542576 0.52995336 +vn -0.26078612 -0.26078570 0.92950600 +vn -0.17234848 -0.17234905 0.96984112 +vn -0.12935975 -0.12935975 0.98312366 +vn -0.10999798 -0.10999748 0.98782641 +vn -0.10709749 -0.10709754 0.98846358 +vn -0.12068173 -0.12068129 0.98532832 +vn -0.15863098 -0.15863028 0.97451150 +vn -0.24840339 -0.24840198 0.93626505 +vn -0.47665980 -0.47665811 0.73864233 +vn -0.59960014 -0.59959853 0.53005785 +vn -0.29816857 -0.21718429 0.92947644 +vn -0.19706103 -0.14353544 0.96982706 +vn -0.14790986 -0.10773347 0.98311555 +vn -0.12577339 -0.09160993 0.98782015 +vn -0.12245899 -0.08919307 0.98845756 +vn -0.13799441 -0.10050564 0.98532033 +vn -0.18139042 -0.13210770 0.97449732 +vn -0.28404015 -0.20686430 0.93623090 +vn -0.54496944 -0.39692625 0.73855120 +vn -0.68542469 -0.49934044 0.52995485 +vn -0.32857266 -0.16815309 0.92938936 +vn -0.21717300 -0.11114126 0.96978527 +vn -0.16301288 -0.08341970 0.98309100 +vn -0.13861996 -0.07093322 0.98780209 +vn -0.13497053 -0.06906255 0.98843986 +vn -0.15209627 -0.07782121 0.98529720 +vn -0.19992661 -0.10228818 0.97445703 +vn -0.31305152 -0.16016193 0.93613404 +vn -0.60043621 -0.30724469 0.73829335 +vn -0.75501531 -0.38653898 0.52965975 +vn -0.35119924 -0.11466319 0.92925316 +vn -0.23215497 -0.07579139 0.96972150 +vn -0.17426653 -0.05688942 0.98305380 +vn -0.14819467 -0.04837415 0.98777443 +vn -0.14429595 -0.04709649 0.98841316 +vn -0.16260684 -0.05306773 0.98526281 +vn -0.21374077 -0.06974947 0.97439718 +vn -0.33465493 -0.10920133 0.93599206 +vn -0.64157152 -0.20941357 0.73792410 +vn -0.80653644 -0.26349252 0.52921700 +vn -0.36524901 -0.05799863 0.92910135 +vn -0.24146943 -0.03833837 0.96965080 +vn -0.18126480 -0.02877459 0.98301327 +vn -0.15414725 -0.02446788 0.98774487 +vn -0.15009303 -0.02382101 0.98838484 +vn -0.16913746 -0.02683942 0.98522699 +vn -0.22231922 -0.03527515 0.97433561 +vn -0.34805036 -0.05522051 0.93584806 +vn -0.66692930 -0.10586470 0.73756218 +vn -0.83825588 -0.13325149 0.52874482 +vn -0.37006494 -0.00000032 0.92900592 +vn -0.24466112 0.00000047 0.96960866 +vn -0.18365799 0.00000068 0.98299021 +vn -0.15617789 0.00000163 0.98772895 +vn -0.15206575 0.00000152 0.98837036 +vn -0.17135110 0.00000220 0.98521000 +vn -0.22521673 0.00000096 0.97430867 +vn -0.35255626 0.00000061 0.93579060 +vn -0.67540103 0.00000061 0.73745066 +vn -0.84893274 0.00000045 0.52850091 +vn -0.36524886 0.05799900 0.92910141 +vn -0.24146992 0.03833738 0.96965075 +vn -0.18126637 0.02877459 0.98301297 +vn -0.15414777 0.02446826 0.98774481 +vn -0.15009385 0.02382107 0.98838472 +vn -0.16913755 0.02683937 0.98522693 +vn -0.22231728 0.03527496 0.97433603 +vn -0.34805053 0.05522034 0.93584806 +vn -0.66692883 0.10586422 0.73756266 +vn -0.83825517 0.13325106 0.52874607 +vn -0.35119995 0.11466307 0.92925292 +vn -0.23215404 0.07579185 0.96972167 +vn -0.17426835 0.05688637 0.98305362 +vn -0.14819574 0.04837191 0.98777437 +vn -0.14429654 0.04709547 0.98841316 +vn -0.16260718 0.05306637 0.98526287 +vn -0.21374066 0.06974826 0.97439730 +vn -0.33465418 0.10920083 0.93599236 +vn -0.64157003 0.20941329 0.73792547 +vn -0.80653542 0.26349229 0.52921867 +vn -0.32857391 0.16815443 0.92938864 +vn -0.21717168 0.11114011 0.96978569 +vn -0.16301249 0.08341999 0.98309106 +vn -0.13862079 0.07093420 0.98780191 +vn -0.13497156 0.06906262 0.98843968 +vn -0.15209606 0.07782093 0.98529726 +vn -0.19992571 0.10228775 0.97445726 +vn -0.31305268 0.16016120 0.93613374 +vn -0.60043752 0.30724418 0.73829246 +vn -0.75501519 0.38653851 0.52966028 +vn -0.29816881 0.21718390 0.92947650 +vn -0.19706047 0.14353611 0.96982706 +vn -0.14790806 0.10773566 0.98311555 +vn -0.12577373 0.09160982 0.98782015 +vn -0.12245899 0.08919322 0.98845756 +vn -0.13799483 0.10050474 0.98532039 +vn -0.18138966 0.13210665 0.97449762 +vn -0.28403863 0.20686342 0.93623161 +vn -0.54496998 0.39692637 0.73855072 +vn -0.68542576 0.49934056 0.52995336 +vn -0.26078570 0.26078612 0.92950600 +vn -0.17234905 0.17234848 0.96984112 +vn -0.12935975 0.12935975 0.98312366 +vn -0.10999748 0.10999798 0.98782641 +vn -0.10709754 0.10709749 0.98846358 +vn -0.12068129 0.12068173 0.98532832 +vn -0.15863028 0.15863098 0.97451150 +vn -0.24840198 0.24840339 0.93626505 +vn -0.47665811 0.47665980 0.73864233 +vn -0.59959853 0.59960014 0.53005785 +vn -0.21718429 0.29816857 0.92947644 +vn -0.14353544 0.19706103 0.96982706 +vn -0.10773347 0.14790986 0.98311555 +vn -0.09160993 0.12577339 0.98782015 +vn -0.08919307 0.12245899 0.98845756 +vn -0.10050564 0.13799441 0.98532033 +vn -0.13210770 0.18139042 0.97449732 +vn -0.20686430 0.28404015 0.93623090 +vn -0.39692625 0.54496944 0.73855120 +vn -0.49934044 0.68542469 0.52995485 +vn -0.16815309 0.32857266 0.92938936 +vn -0.11114126 0.21717300 0.96978527 +vn -0.08341970 0.16301288 0.98309100 +vn -0.07093322 0.13861996 0.98780209 +vn -0.06906255 0.13497053 0.98843986 +vn -0.07782121 0.15209627 0.98529720 +vn -0.10228818 0.19992661 0.97445703 +vn -0.16016193 0.31305152 0.93613404 +vn -0.30724469 0.60043621 0.73829335 +vn -0.38653898 0.75501531 0.52965975 +vn -0.11466319 0.35119924 0.92925316 +vn -0.07579139 0.23215497 0.96972150 +vn -0.05688942 0.17426653 0.98305380 +vn -0.04837415 0.14819467 0.98777443 +vn -0.04709649 0.14429595 0.98841316 +vn -0.05306773 0.16260684 0.98526281 +vn -0.06974947 0.21374077 0.97439718 +vn -0.10920133 0.33465493 0.93599206 +vn -0.20941357 0.64157152 0.73792410 +vn -0.26349252 0.80653644 0.52921700 +vn -0.05799863 0.36524901 0.92910135 +vn -0.03833837 0.24146943 0.96965080 +vn -0.02877459 0.18126480 0.98301327 +vn -0.02446788 0.15414725 0.98774487 +vn -0.02382101 0.15009303 0.98838484 +vn -0.02683942 0.16913746 0.98522699 +vn -0.03527515 0.22231922 0.97433561 +vn -0.05522051 0.34805036 0.93584806 +vn -0.10586470 0.66692930 0.73756218 +vn -0.13325149 0.83825588 0.52874482 +vn -0.00000032 0.37006494 0.92900592 +vn 0.00000047 0.24466112 0.96960866 +vn 0.00000068 0.18365799 0.98299021 +vn 0.00000163 0.15617789 0.98772895 +vn 0.00000152 0.15206575 0.98837036 +vn 0.00000220 0.17135110 0.98521000 +vn 0.00000096 0.22521673 0.97430867 +vn 0.00000061 0.35255626 0.93579060 +vn 0.00000061 0.67540103 0.73745066 +vn 0.00000045 0.84893274 0.52850091 +vn 0.05799900 0.36524886 0.92910141 +vn 0.03833738 0.24146992 0.96965075 +vn 0.02877459 0.18126637 0.98301297 +vn 0.02446826 0.15414777 0.98774481 +vn 0.02382107 0.15009385 0.98838472 +vn 0.02683937 0.16913755 0.98522693 +vn 0.03527496 0.22231728 0.97433603 +vn 0.05522034 0.34805053 0.93584806 +vn 0.10586422 0.66692883 0.73756266 +vn 0.13325106 0.83825517 0.52874607 +vn 0.11466307 0.35119995 0.92925292 +vn 0.07579185 0.23215404 0.96972167 +vn 0.05688637 0.17426835 0.98305362 +vn 0.04837191 0.14819574 0.98777437 +vn 0.04709547 0.14429654 0.98841316 +vn 0.05306637 0.16260718 0.98526287 +vn 0.06974826 0.21374066 0.97439730 +vn 0.10920083 0.33465418 0.93599236 +vn 0.20941329 0.64157003 0.73792547 +vn 0.26349229 0.80653542 0.52921867 +vn 0.16815443 0.32857391 0.92938864 +vn 0.11114011 0.21717168 0.96978569 +vn 0.08341999 0.16301249 0.98309106 +vn 0.07093420 0.13862079 0.98780191 +vn 0.06906262 0.13497156 0.98843968 +vn 0.07782093 0.15209606 0.98529726 +vn 0.10228775 0.19992571 0.97445726 +vn 0.16016120 0.31305268 0.93613374 +vn 0.30724418 0.60043752 0.73829246 +vn 0.38653851 0.75501519 0.52966028 +vn 0.21718390 0.29816881 0.92947650 +vn 0.14353611 0.19706047 0.96982706 +vn 0.10773566 0.14790806 0.98311555 +vn 0.09160982 0.12577373 0.98782015 +vn 0.08919322 0.12245899 0.98845756 +vn 0.10050474 0.13799483 0.98532039 +vn 0.13210665 0.18138966 0.97449762 +vn 0.20686342 0.28403863 0.93623161 +vn 0.39692637 0.54496998 0.73855072 +vn 0.49934056 0.68542576 0.52995336 +vn 0.26078612 0.26078570 0.92950600 +vn 0.17234848 0.17234905 0.96984112 +vn 0.12935975 0.12935975 0.98312366 +vn 0.10999798 0.10999748 0.98782641 +vn 0.10709749 0.10709754 0.98846358 +vn 0.12068173 0.12068129 0.98532832 +vn 0.15863098 0.15863028 0.97451150 +vn 0.24840339 0.24840198 0.93626505 +vn 0.47665980 0.47665811 0.73864233 +vn 0.59960014 0.59959853 0.53005785 +vn 0.29816857 0.21718429 0.92947644 +vn 0.19706103 0.14353544 0.96982706 +vn 0.14790986 0.10773347 0.98311555 +vn 0.12577339 0.09160993 0.98782015 +vn 0.12245899 0.08919307 0.98845756 +vn 0.13799441 0.10050564 0.98532033 +vn 0.18139042 0.13210770 0.97449732 +vn 0.28404015 0.20686430 0.93623090 +vn 0.54496944 0.39692625 0.73855120 +vn 0.68542469 0.49934044 0.52995485 +vn 0.32857266 0.16815309 0.92938936 +vn 0.21717300 0.11114126 0.96978527 +vn 0.16301288 0.08341970 0.98309100 +vn 0.13861996 0.07093322 0.98780209 +vn 0.13497053 0.06906255 0.98843986 +vn 0.15209627 0.07782121 0.98529720 +vn 0.19992661 0.10228818 0.97445703 +vn 0.31305152 0.16016193 0.93613404 +vn 0.60043621 0.30724469 0.73829335 +vn 0.75501531 0.38653898 0.52965975 +vn 0.35119924 0.11466319 0.92925316 +vn 0.23215497 0.07579139 0.96972150 +vn 0.17426653 0.05688942 0.98305380 +vn 0.14819467 0.04837415 0.98777443 +vn 0.14429595 0.04709649 0.98841316 +vn 0.16260684 0.05306773 0.98526281 +vn 0.21374077 0.06974947 0.97439718 +vn 0.33465493 0.10920133 0.93599206 +vn 0.64157152 0.20941357 0.73792410 +vn 0.80653644 0.26349252 0.52921700 +vn 0.36524817 0.05800089 0.92910153 +vn 0.24146946 0.03834209 0.96965063 +vn 0.18126443 0.02877580 0.98301333 +vn 0.15414707 0.02446955 0.98774487 +vn 0.15009250 0.02382267 0.98838490 +vn 0.16913769 0.02684122 0.98522687 +vn 0.22231908 0.03527572 0.97433561 +vn 0.34805030 0.05522114 0.93584806 +vn 0.66692919 0.10586528 0.73756218 +vn 0.83825576 0.13325213 0.52874482 +# 3242 vertex normals + +vt 2.00000000 2.00000000 0.00000000 +vt 1.89999998 2.00000000 0.00000000 +vt 1.89999998 1.99000001 0.00000000 +vt 2.00000000 1.99000001 0.00000000 +vt 1.89999998 1.98000002 0.00000000 +vt 2.00000000 1.98000002 0.00000000 +vt 1.89999998 1.97000003 0.00000000 +vt 2.00000000 1.97000003 0.00000000 +vt 1.89999998 1.96000004 0.00000000 +vt 2.00000000 1.96000004 0.00000000 +vt 1.89999998 1.95000005 0.00000000 +vt 2.00000000 1.95000005 0.00000000 +vt 1.89999998 1.94000006 0.00000000 +vt 2.00000000 1.94000006 0.00000000 +vt 1.89999998 1.93000007 0.00000000 +vt 2.00000000 1.93000007 0.00000000 +vt 1.89999998 1.92000008 0.00000000 +vt 2.00000000 1.92000008 0.00000000 +vt 1.89999998 1.91000009 0.00000000 +vt 2.00000000 1.91000009 0.00000000 +vt 1.89999998 1.90000010 0.00000000 +vt 2.00000000 1.90000010 0.00000000 +vt 1.79999995 2.00000000 0.00000000 +vt 1.79999995 1.99000001 0.00000000 +vt 1.79999995 1.98000002 0.00000000 +vt 1.79999995 1.97000003 0.00000000 +vt 1.79999995 1.96000004 0.00000000 +vt 1.79999995 1.95000005 0.00000000 +vt 1.79999995 1.94000006 0.00000000 +vt 1.79999995 1.93000007 0.00000000 +vt 1.79999995 1.92000008 0.00000000 +vt 1.79999995 1.91000009 0.00000000 +vt 1.79999995 1.90000010 0.00000000 +vt 1.69999993 2.00000000 0.00000000 +vt 1.69999993 1.99000001 0.00000000 +vt 1.69999993 1.98000002 0.00000000 +vt 1.69999993 1.97000003 0.00000000 +vt 1.69999993 1.96000004 0.00000000 +vt 1.69999993 1.95000005 0.00000000 +vt 1.69999993 1.94000006 0.00000000 +vt 1.69999993 1.93000007 0.00000000 +vt 1.69999993 1.92000008 0.00000000 +vt 1.69999993 1.91000009 0.00000000 +vt 1.69999993 1.90000010 0.00000000 +vt 1.59999990 2.00000000 0.00000000 +vt 1.59999990 1.99000001 0.00000000 +vt 1.59999990 1.98000002 0.00000000 +vt 1.59999990 1.97000003 0.00000000 +vt 1.59999990 1.96000004 0.00000000 +vt 1.59999990 1.95000005 0.00000000 +vt 1.59999990 1.94000006 0.00000000 +vt 1.59999990 1.93000007 0.00000000 +vt 1.59999990 1.92000008 0.00000000 +vt 1.59999990 1.91000009 0.00000000 +vt 1.59999990 1.90000010 0.00000000 +vt 1.49999988 2.00000000 0.00000000 +vt 1.49999988 1.99000001 0.00000000 +vt 1.49999988 1.98000002 0.00000000 +vt 1.49999988 1.97000003 0.00000000 +vt 1.49999988 1.96000004 0.00000000 +vt 1.49999988 1.95000005 0.00000000 +vt 1.49999988 1.94000006 0.00000000 +vt 1.49999988 1.93000007 0.00000000 +vt 1.49999988 1.92000008 0.00000000 +vt 1.49999988 1.91000009 0.00000000 +vt 1.49999988 1.90000010 0.00000000 +vt 1.39999986 2.00000000 0.00000000 +vt 1.39999986 1.99000001 0.00000000 +vt 1.39999986 1.98000002 0.00000000 +vt 1.39999986 1.97000003 0.00000000 +vt 1.39999986 1.96000004 0.00000000 +vt 1.39999986 1.95000005 0.00000000 +vt 1.39999986 1.94000006 0.00000000 +vt 1.39999986 1.93000007 0.00000000 +vt 1.39999986 1.92000008 0.00000000 +vt 1.39999986 1.91000009 0.00000000 +vt 1.39999986 1.90000010 0.00000000 +vt 1.29999983 2.00000000 0.00000000 +vt 1.29999983 1.99000001 0.00000000 +vt 1.29999983 1.98000002 0.00000000 +vt 1.29999983 1.97000003 0.00000000 +vt 1.29999983 1.96000004 0.00000000 +vt 1.29999983 1.95000005 0.00000000 +vt 1.29999983 1.94000006 0.00000000 +vt 1.29999983 1.93000007 0.00000000 +vt 1.29999983 1.92000008 0.00000000 +vt 1.29999983 1.91000009 0.00000000 +vt 1.29999983 1.90000010 0.00000000 +vt 1.19999981 2.00000000 0.00000000 +vt 1.19999981 1.99000001 0.00000000 +vt 1.19999981 1.98000002 0.00000000 +vt 1.19999981 1.97000003 0.00000000 +vt 1.19999981 1.96000004 0.00000000 +vt 1.19999981 1.95000005 0.00000000 +vt 1.19999981 1.94000006 0.00000000 +vt 1.19999981 1.93000007 0.00000000 +vt 1.19999981 1.92000008 0.00000000 +vt 1.19999981 1.91000009 0.00000000 +vt 1.19999981 1.90000010 0.00000000 +vt 1.09999979 2.00000000 0.00000000 +vt 1.09999979 1.99000001 0.00000000 +vt 1.09999979 1.98000002 0.00000000 +vt 1.09999979 1.97000003 0.00000000 +vt 1.09999979 1.96000004 0.00000000 +vt 1.09999979 1.95000005 0.00000000 +vt 1.09999979 1.94000006 0.00000000 +vt 1.09999979 1.93000007 0.00000000 +vt 1.09999979 1.92000008 0.00000000 +vt 1.09999979 1.91000009 0.00000000 +vt 1.09999979 1.90000010 0.00000000 +vt 0.99999976 2.00000000 0.00000000 +vt 0.99999976 1.99000001 0.00000000 +vt 0.99999976 1.98000002 0.00000000 +vt 0.99999976 1.97000003 0.00000000 +vt 0.99999976 1.96000004 0.00000000 +vt 0.99999976 1.95000005 0.00000000 +vt 0.99999976 1.94000006 0.00000000 +vt 0.99999976 1.93000007 0.00000000 +vt 0.99999976 1.92000008 0.00000000 +vt 0.99999976 1.91000009 0.00000000 +vt 0.99999976 1.90000010 0.00000000 +vt 1.00000000 2.00000000 0.00000000 +vt 0.89999998 2.00000000 0.00000000 +vt 0.89999998 1.99000001 0.00000000 +vt 1.00000000 1.99000001 0.00000000 +vt 0.89999998 1.98000002 0.00000000 +vt 1.00000000 1.98000002 0.00000000 +vt 0.89999998 1.97000003 0.00000000 +vt 1.00000000 1.97000003 0.00000000 +vt 0.89999998 1.96000004 0.00000000 +vt 1.00000000 1.96000004 0.00000000 +vt 0.89999998 1.95000005 0.00000000 +vt 1.00000000 1.95000005 0.00000000 +vt 0.89999998 1.94000006 0.00000000 +vt 1.00000000 1.94000006 0.00000000 +vt 0.89999998 1.93000007 0.00000000 +vt 1.00000000 1.93000007 0.00000000 +vt 0.89999998 1.92000008 0.00000000 +vt 1.00000000 1.92000008 0.00000000 +vt 0.89999998 1.91000009 0.00000000 +vt 1.00000000 1.91000009 0.00000000 +vt 0.89999998 1.90000010 0.00000000 +vt 1.00000000 1.90000010 0.00000000 +vt 0.79999995 2.00000000 0.00000000 +vt 0.79999995 1.99000001 0.00000000 +vt 0.79999995 1.98000002 0.00000000 +vt 0.79999995 1.97000003 0.00000000 +vt 0.79999995 1.96000004 0.00000000 +vt 0.79999995 1.95000005 0.00000000 +vt 0.79999995 1.94000006 0.00000000 +vt 0.79999995 1.93000007 0.00000000 +vt 0.79999995 1.92000008 0.00000000 +vt 0.79999995 1.91000009 0.00000000 +vt 0.79999995 1.90000010 0.00000000 +vt 0.69999993 2.00000000 0.00000000 +vt 0.69999993 1.99000001 0.00000000 +vt 0.69999993 1.98000002 0.00000000 +vt 0.69999993 1.97000003 0.00000000 +vt 0.69999993 1.96000004 0.00000000 +vt 0.69999993 1.95000005 0.00000000 +vt 0.69999993 1.94000006 0.00000000 +vt 0.69999993 1.93000007 0.00000000 +vt 0.69999993 1.92000008 0.00000000 +vt 0.69999993 1.91000009 0.00000000 +vt 0.69999993 1.90000010 0.00000000 +vt 0.59999990 2.00000000 0.00000000 +vt 0.59999990 1.99000001 0.00000000 +vt 0.59999990 1.98000002 0.00000000 +vt 0.59999990 1.97000003 0.00000000 +vt 0.59999990 1.96000004 0.00000000 +vt 0.59999990 1.95000005 0.00000000 +vt 0.59999990 1.94000006 0.00000000 +vt 0.59999990 1.93000007 0.00000000 +vt 0.59999990 1.92000008 0.00000000 +vt 0.59999990 1.91000009 0.00000000 +vt 0.59999990 1.90000010 0.00000000 +vt 0.49999991 2.00000000 0.00000000 +vt 0.49999991 1.99000001 0.00000000 +vt 0.49999991 1.98000002 0.00000000 +vt 0.49999991 1.97000003 0.00000000 +vt 0.49999991 1.96000004 0.00000000 +vt 0.49999991 1.95000005 0.00000000 +vt 0.49999991 1.94000006 0.00000000 +vt 0.49999991 1.93000007 0.00000000 +vt 0.49999991 1.92000008 0.00000000 +vt 0.49999991 1.91000009 0.00000000 +vt 0.49999991 1.90000010 0.00000000 +vt 0.39999992 2.00000000 0.00000000 +vt 0.39999992 1.99000001 0.00000000 +vt 0.39999992 1.98000002 0.00000000 +vt 0.39999992 1.97000003 0.00000000 +vt 0.39999992 1.96000004 0.00000000 +vt 0.39999992 1.95000005 0.00000000 +vt 0.39999992 1.94000006 0.00000000 +vt 0.39999992 1.93000007 0.00000000 +vt 0.39999992 1.92000008 0.00000000 +vt 0.39999992 1.91000009 0.00000000 +vt 0.39999992 1.90000010 0.00000000 +vt 0.29999992 2.00000000 0.00000000 +vt 0.29999992 1.99000001 0.00000000 +vt 0.29999992 1.98000002 0.00000000 +vt 0.29999992 1.97000003 0.00000000 +vt 0.29999992 1.96000004 0.00000000 +vt 0.29999992 1.95000005 0.00000000 +vt 0.29999992 1.94000006 0.00000000 +vt 0.29999992 1.93000007 0.00000000 +vt 0.29999992 1.92000008 0.00000000 +vt 0.29999992 1.91000009 0.00000000 +vt 0.29999992 1.90000010 0.00000000 +vt 0.19999993 2.00000000 0.00000000 +vt 0.19999993 1.99000001 0.00000000 +vt 0.19999993 1.98000002 0.00000000 +vt 0.19999993 1.97000003 0.00000000 +vt 0.19999993 1.96000004 0.00000000 +vt 0.19999993 1.95000005 0.00000000 +vt 0.19999993 1.94000006 0.00000000 +vt 0.19999993 1.93000007 0.00000000 +vt 0.19999993 1.92000008 0.00000000 +vt 0.19999993 1.91000009 0.00000000 +vt 0.19999993 1.90000010 0.00000000 +vt 0.09999993 2.00000000 0.00000000 +vt 0.09999993 1.99000001 0.00000000 +vt 0.09999993 1.98000002 0.00000000 +vt 0.09999993 1.97000003 0.00000000 +vt 0.09999993 1.96000004 0.00000000 +vt 0.09999993 1.95000005 0.00000000 +vt 0.09999993 1.94000006 0.00000000 +vt 0.09999993 1.93000007 0.00000000 +vt 0.09999993 1.92000008 0.00000000 +vt 0.09999993 1.91000009 0.00000000 +vt 0.09999993 1.90000010 0.00000000 +vt -0.00000007 2.00000000 0.00000000 +vt -0.00000007 1.99000001 0.00000000 +vt -0.00000007 1.98000002 0.00000000 +vt -0.00000007 1.97000003 0.00000000 +vt -0.00000007 1.96000004 0.00000000 +vt -0.00000007 1.95000005 0.00000000 +vt -0.00000007 1.94000006 0.00000000 +vt -0.00000007 1.93000007 0.00000000 +vt -0.00000007 1.92000008 0.00000000 +vt -0.00000007 1.91000009 0.00000000 +vt -0.00000007 1.90000010 0.00000000 +vt 2.00000000 1.89999998 0.00000000 +vt 1.89999998 1.89999998 0.00000000 +vt 1.89999998 1.80999994 0.00000000 +vt 2.00000000 1.80999994 0.00000000 +vt 1.89999998 1.71999991 0.00000000 +vt 2.00000000 1.71999991 0.00000000 +vt 1.89999998 1.62999988 0.00000000 +vt 2.00000000 1.62999988 0.00000000 +vt 1.89999998 1.53999984 0.00000000 +vt 2.00000000 1.53999984 0.00000000 +vt 1.89999998 1.44999981 0.00000000 +vt 2.00000000 1.44999981 0.00000000 +vt 1.89999998 1.35999978 0.00000000 +vt 2.00000000 1.35999978 0.00000000 +vt 1.89999998 1.26999974 0.00000000 +vt 2.00000000 1.26999974 0.00000000 +vt 1.89999998 1.17999971 0.00000000 +vt 2.00000000 1.17999971 0.00000000 +vt 1.89999998 1.08999968 0.00000000 +vt 2.00000000 1.08999968 0.00000000 +vt 1.89999998 0.99999970 0.00000000 +vt 2.00000000 0.99999970 0.00000000 +vt 1.79999995 1.89999998 0.00000000 +vt 1.79999995 1.80999994 0.00000000 +vt 1.79999995 1.71999991 0.00000000 +vt 1.79999995 1.62999988 0.00000000 +vt 1.79999995 1.53999984 0.00000000 +vt 1.79999995 1.44999981 0.00000000 +vt 1.79999995 1.35999978 0.00000000 +vt 1.79999995 1.26999974 0.00000000 +vt 1.79999995 1.17999971 0.00000000 +vt 1.79999995 1.08999968 0.00000000 +vt 1.79999995 0.99999970 0.00000000 +vt 1.69999993 1.89999998 0.00000000 +vt 1.69999993 1.80999994 0.00000000 +vt 1.69999993 1.71999991 0.00000000 +vt 1.69999993 1.62999988 0.00000000 +vt 1.69999993 1.53999984 0.00000000 +vt 1.69999993 1.44999981 0.00000000 +vt 1.69999993 1.35999978 0.00000000 +vt 1.69999993 1.26999974 0.00000000 +vt 1.69999993 1.17999971 0.00000000 +vt 1.69999993 1.08999968 0.00000000 +vt 1.69999993 0.99999970 0.00000000 +vt 1.59999990 1.89999998 0.00000000 +vt 1.59999990 1.80999994 0.00000000 +vt 1.59999990 1.71999991 0.00000000 +vt 1.59999990 1.62999988 0.00000000 +vt 1.59999990 1.53999984 0.00000000 +vt 1.59999990 1.44999981 0.00000000 +vt 1.59999990 1.35999978 0.00000000 +vt 1.59999990 1.26999974 0.00000000 +vt 1.59999990 1.17999971 0.00000000 +vt 1.59999990 1.08999968 0.00000000 +vt 1.59999990 0.99999970 0.00000000 +vt 1.49999988 1.89999998 0.00000000 +vt 1.49999988 1.80999994 0.00000000 +vt 1.49999988 1.71999991 0.00000000 +vt 1.49999988 1.62999988 0.00000000 +vt 1.49999988 1.53999984 0.00000000 +vt 1.49999988 1.44999981 0.00000000 +vt 1.49999988 1.35999978 0.00000000 +vt 1.49999988 1.26999974 0.00000000 +vt 1.49999988 1.17999971 0.00000000 +vt 1.49999988 1.08999968 0.00000000 +vt 1.49999988 0.99999970 0.00000000 +vt 1.39999986 1.89999998 0.00000000 +vt 1.39999986 1.80999994 0.00000000 +vt 1.39999986 1.71999991 0.00000000 +vt 1.39999986 1.62999988 0.00000000 +vt 1.39999986 1.53999984 0.00000000 +vt 1.39999986 1.44999981 0.00000000 +vt 1.39999986 1.35999978 0.00000000 +vt 1.39999986 1.26999974 0.00000000 +vt 1.39999986 1.17999971 0.00000000 +vt 1.39999986 1.08999968 0.00000000 +vt 1.39999986 0.99999970 0.00000000 +vt 1.29999983 1.89999998 0.00000000 +vt 1.29999983 1.80999994 0.00000000 +vt 1.29999983 1.71999991 0.00000000 +vt 1.29999983 1.62999988 0.00000000 +vt 1.29999983 1.53999984 0.00000000 +vt 1.29999983 1.44999981 0.00000000 +vt 1.29999983 1.35999978 0.00000000 +vt 1.29999983 1.26999974 0.00000000 +vt 1.29999983 1.17999971 0.00000000 +vt 1.29999983 1.08999968 0.00000000 +vt 1.29999983 0.99999970 0.00000000 +vt 1.19999981 1.89999998 0.00000000 +vt 1.19999981 1.80999994 0.00000000 +vt 1.19999981 1.71999991 0.00000000 +vt 1.19999981 1.62999988 0.00000000 +vt 1.19999981 1.53999984 0.00000000 +vt 1.19999981 1.44999981 0.00000000 +vt 1.19999981 1.35999978 0.00000000 +vt 1.19999981 1.26999974 0.00000000 +vt 1.19999981 1.17999971 0.00000000 +vt 1.19999981 1.08999968 0.00000000 +vt 1.19999981 0.99999970 0.00000000 +vt 1.09999979 1.89999998 0.00000000 +vt 1.09999979 1.80999994 0.00000000 +vt 1.09999979 1.71999991 0.00000000 +vt 1.09999979 1.62999988 0.00000000 +vt 1.09999979 1.53999984 0.00000000 +vt 1.09999979 1.44999981 0.00000000 +vt 1.09999979 1.35999978 0.00000000 +vt 1.09999979 1.26999974 0.00000000 +vt 1.09999979 1.17999971 0.00000000 +vt 1.09999979 1.08999968 0.00000000 +vt 1.09999979 0.99999970 0.00000000 +vt 0.99999976 1.89999998 0.00000000 +vt 0.99999976 1.80999994 0.00000000 +vt 0.99999976 1.71999991 0.00000000 +vt 0.99999976 1.62999988 0.00000000 +vt 0.99999976 1.53999984 0.00000000 +vt 0.99999976 1.44999981 0.00000000 +vt 0.99999976 1.35999978 0.00000000 +vt 0.99999976 1.26999974 0.00000000 +vt 0.99999976 1.17999971 0.00000000 +vt 0.99999976 1.08999968 0.00000000 +vt 0.99999976 0.99999970 0.00000000 +vt 1.00000000 1.89999998 0.00000000 +vt 0.89999998 1.89999998 0.00000000 +vt 0.89999998 1.80999994 0.00000000 +vt 1.00000000 1.80999994 0.00000000 +vt 0.89999998 1.71999991 0.00000000 +vt 1.00000000 1.71999991 0.00000000 +vt 0.89999998 1.62999988 0.00000000 +vt 1.00000000 1.62999988 0.00000000 +vt 0.89999998 1.53999984 0.00000000 +vt 1.00000000 1.53999984 0.00000000 +vt 0.89999998 1.44999981 0.00000000 +vt 1.00000000 1.44999981 0.00000000 +vt 0.89999998 1.35999978 0.00000000 +vt 1.00000000 1.35999978 0.00000000 +vt 0.89999998 1.26999974 0.00000000 +vt 1.00000000 1.26999974 0.00000000 +vt 0.89999998 1.17999971 0.00000000 +vt 1.00000000 1.17999971 0.00000000 +vt 0.89999998 1.08999968 0.00000000 +vt 1.00000000 1.08999968 0.00000000 +vt 0.89999998 0.99999970 0.00000000 +vt 1.00000000 0.99999970 0.00000000 +vt 0.79999995 1.89999998 0.00000000 +vt 0.79999995 1.80999994 0.00000000 +vt 0.79999995 1.71999991 0.00000000 +vt 0.79999995 1.62999988 0.00000000 +vt 0.79999995 1.53999984 0.00000000 +vt 0.79999995 1.44999981 0.00000000 +vt 0.79999995 1.35999978 0.00000000 +vt 0.79999995 1.26999974 0.00000000 +vt 0.79999995 1.17999971 0.00000000 +vt 0.79999995 1.08999968 0.00000000 +vt 0.79999995 0.99999970 0.00000000 +vt 0.69999993 1.89999998 0.00000000 +vt 0.69999993 1.80999994 0.00000000 +vt 0.69999993 1.71999991 0.00000000 +vt 0.69999993 1.62999988 0.00000000 +vt 0.69999993 1.53999984 0.00000000 +vt 0.69999993 1.44999981 0.00000000 +vt 0.69999993 1.35999978 0.00000000 +vt 0.69999993 1.26999974 0.00000000 +vt 0.69999993 1.17999971 0.00000000 +vt 0.69999993 1.08999968 0.00000000 +vt 0.69999993 0.99999970 0.00000000 +vt 0.59999990 1.89999998 0.00000000 +vt 0.59999990 1.80999994 0.00000000 +vt 0.59999990 1.71999991 0.00000000 +vt 0.59999990 1.62999988 0.00000000 +vt 0.59999990 1.53999984 0.00000000 +vt 0.59999990 1.44999981 0.00000000 +vt 0.59999990 1.35999978 0.00000000 +vt 0.59999990 1.26999974 0.00000000 +vt 0.59999990 1.17999971 0.00000000 +vt 0.59999990 1.08999968 0.00000000 +vt 0.59999990 0.99999970 0.00000000 +vt 0.49999991 1.89999998 0.00000000 +vt 0.49999991 1.80999994 0.00000000 +vt 0.49999991 1.71999991 0.00000000 +vt 0.49999991 1.62999988 0.00000000 +vt 0.49999991 1.53999984 0.00000000 +vt 0.49999991 1.44999981 0.00000000 +vt 0.49999991 1.35999978 0.00000000 +vt 0.49999991 1.26999974 0.00000000 +vt 0.49999991 1.17999971 0.00000000 +vt 0.49999991 1.08999968 0.00000000 +vt 0.49999991 0.99999970 0.00000000 +vt 0.39999992 1.89999998 0.00000000 +vt 0.39999992 1.80999994 0.00000000 +vt 0.39999992 1.71999991 0.00000000 +vt 0.39999992 1.62999988 0.00000000 +vt 0.39999992 1.53999984 0.00000000 +vt 0.39999992 1.44999981 0.00000000 +vt 0.39999992 1.35999978 0.00000000 +vt 0.39999992 1.26999974 0.00000000 +vt 0.39999992 1.17999971 0.00000000 +vt 0.39999992 1.08999968 0.00000000 +vt 0.39999992 0.99999970 0.00000000 +vt 0.29999992 1.89999998 0.00000000 +vt 0.29999992 1.80999994 0.00000000 +vt 0.29999992 1.71999991 0.00000000 +vt 0.29999992 1.62999988 0.00000000 +vt 0.29999992 1.53999984 0.00000000 +vt 0.29999992 1.44999981 0.00000000 +vt 0.29999992 1.35999978 0.00000000 +vt 0.29999992 1.26999974 0.00000000 +vt 0.29999992 1.17999971 0.00000000 +vt 0.29999992 1.08999968 0.00000000 +vt 0.29999992 0.99999970 0.00000000 +vt 0.19999993 1.89999998 0.00000000 +vt 0.19999993 1.80999994 0.00000000 +vt 0.19999993 1.71999991 0.00000000 +vt 0.19999993 1.62999988 0.00000000 +vt 0.19999993 1.53999984 0.00000000 +vt 0.19999993 1.44999981 0.00000000 +vt 0.19999993 1.35999978 0.00000000 +vt 0.19999993 1.26999974 0.00000000 +vt 0.19999993 1.17999971 0.00000000 +vt 0.19999993 1.08999968 0.00000000 +vt 0.19999993 0.99999970 0.00000000 +vt 0.09999993 1.89999998 0.00000000 +vt 0.09999993 1.80999994 0.00000000 +vt 0.09999993 1.71999991 0.00000000 +vt 0.09999993 1.62999988 0.00000000 +vt 0.09999993 1.53999984 0.00000000 +vt 0.09999993 1.44999981 0.00000000 +vt 0.09999993 1.35999978 0.00000000 +vt 0.09999993 1.26999974 0.00000000 +vt 0.09999993 1.17999971 0.00000000 +vt 0.09999993 1.08999968 0.00000000 +vt 0.09999993 0.99999970 0.00000000 +vt -0.00000007 1.89999998 0.00000000 +vt -0.00000007 1.80999994 0.00000000 +vt -0.00000007 1.71999991 0.00000000 +vt -0.00000007 1.62999988 0.00000000 +vt -0.00000007 1.53999984 0.00000000 +vt -0.00000007 1.44999981 0.00000000 +vt -0.00000007 1.35999978 0.00000000 +vt -0.00000007 1.26999974 0.00000000 +vt -0.00000007 1.17999971 0.00000000 +vt -0.00000007 1.08999968 0.00000000 +vt -0.00000007 0.99999970 0.00000000 +vt 2.00000000 1.00000000 0.00000000 +vt 1.89999998 1.00000000 0.00000000 +vt 1.89999998 0.94000000 0.00000000 +vt 2.00000000 0.94000000 0.00000000 +vt 1.89999998 0.88000000 0.00000000 +vt 2.00000000 0.88000000 0.00000000 +vt 1.89999998 0.81999999 0.00000000 +vt 2.00000000 0.81999999 0.00000000 +vt 1.89999998 0.75999999 0.00000000 +vt 2.00000000 0.75999999 0.00000000 +vt 1.89999998 0.69999999 0.00000000 +vt 2.00000000 0.69999999 0.00000000 +vt 1.89999998 0.63999999 0.00000000 +vt 2.00000000 0.63999999 0.00000000 +vt 1.89999998 0.57999998 0.00000000 +vt 2.00000000 0.57999998 0.00000000 +vt 1.89999998 0.51999998 0.00000000 +vt 2.00000000 0.51999998 0.00000000 +vt 1.89999998 0.45999998 0.00000000 +vt 2.00000000 0.45999998 0.00000000 +vt 1.89999998 0.39999998 0.00000000 +vt 2.00000000 0.39999998 0.00000000 +vt 1.79999995 1.00000000 0.00000000 +vt 1.79999995 0.94000000 0.00000000 +vt 1.79999995 0.88000000 0.00000000 +vt 1.79999995 0.81999999 0.00000000 +vt 1.79999995 0.75999999 0.00000000 +vt 1.79999995 0.69999999 0.00000000 +vt 1.79999995 0.63999999 0.00000000 +vt 1.79999995 0.57999998 0.00000000 +vt 1.79999995 0.51999998 0.00000000 +vt 1.79999995 0.45999998 0.00000000 +vt 1.79999995 0.39999998 0.00000000 +vt 1.69999993 1.00000000 0.00000000 +vt 1.69999993 0.94000000 0.00000000 +vt 1.69999993 0.88000000 0.00000000 +vt 1.69999993 0.81999999 0.00000000 +vt 1.69999993 0.75999999 0.00000000 +vt 1.69999993 0.69999999 0.00000000 +vt 1.69999993 0.63999999 0.00000000 +vt 1.69999993 0.57999998 0.00000000 +vt 1.69999993 0.51999998 0.00000000 +vt 1.69999993 0.45999998 0.00000000 +vt 1.69999993 0.39999998 0.00000000 +vt 1.59999990 1.00000000 0.00000000 +vt 1.59999990 0.94000000 0.00000000 +vt 1.59999990 0.88000000 0.00000000 +vt 1.59999990 0.81999999 0.00000000 +vt 1.59999990 0.75999999 0.00000000 +vt 1.59999990 0.69999999 0.00000000 +vt 1.59999990 0.63999999 0.00000000 +vt 1.59999990 0.57999998 0.00000000 +vt 1.59999990 0.51999998 0.00000000 +vt 1.59999990 0.45999998 0.00000000 +vt 1.59999990 0.39999998 0.00000000 +vt 1.49999988 1.00000000 0.00000000 +vt 1.49999988 0.94000000 0.00000000 +vt 1.49999988 0.88000000 0.00000000 +vt 1.49999988 0.81999999 0.00000000 +vt 1.49999988 0.75999999 0.00000000 +vt 1.49999988 0.69999999 0.00000000 +vt 1.49999988 0.63999999 0.00000000 +vt 1.49999988 0.57999998 0.00000000 +vt 1.49999988 0.51999998 0.00000000 +vt 1.49999988 0.45999998 0.00000000 +vt 1.49999988 0.39999998 0.00000000 +vt 1.39999986 1.00000000 0.00000000 +vt 1.39999986 0.94000000 0.00000000 +vt 1.39999986 0.88000000 0.00000000 +vt 1.39999986 0.81999999 0.00000000 +vt 1.39999986 0.75999999 0.00000000 +vt 1.39999986 0.69999999 0.00000000 +vt 1.39999986 0.63999999 0.00000000 +vt 1.39999986 0.57999998 0.00000000 +vt 1.39999986 0.51999998 0.00000000 +vt 1.39999986 0.45999998 0.00000000 +vt 1.39999986 0.39999998 0.00000000 +vt 1.29999983 1.00000000 0.00000000 +vt 1.29999983 0.94000000 0.00000000 +vt 1.29999983 0.88000000 0.00000000 +vt 1.29999983 0.81999999 0.00000000 +vt 1.29999983 0.75999999 0.00000000 +vt 1.29999983 0.69999999 0.00000000 +vt 1.29999983 0.63999999 0.00000000 +vt 1.29999983 0.57999998 0.00000000 +vt 1.29999983 0.51999998 0.00000000 +vt 1.29999983 0.45999998 0.00000000 +vt 1.29999983 0.39999998 0.00000000 +vt 1.19999981 1.00000000 0.00000000 +vt 1.19999981 0.94000000 0.00000000 +vt 1.19999981 0.88000000 0.00000000 +vt 1.19999981 0.81999999 0.00000000 +vt 1.19999981 0.75999999 0.00000000 +vt 1.19999981 0.69999999 0.00000000 +vt 1.19999981 0.63999999 0.00000000 +vt 1.19999981 0.57999998 0.00000000 +vt 1.19999981 0.51999998 0.00000000 +vt 1.19999981 0.45999998 0.00000000 +vt 1.19999981 0.39999998 0.00000000 +vt 1.09999979 1.00000000 0.00000000 +vt 1.09999979 0.94000000 0.00000000 +vt 1.09999979 0.88000000 0.00000000 +vt 1.09999979 0.81999999 0.00000000 +vt 1.09999979 0.75999999 0.00000000 +vt 1.09999979 0.69999999 0.00000000 +vt 1.09999979 0.63999999 0.00000000 +vt 1.09999979 0.57999998 0.00000000 +vt 1.09999979 0.51999998 0.00000000 +vt 1.09999979 0.45999998 0.00000000 +vt 1.09999979 0.39999998 0.00000000 +vt 0.99999976 1.00000000 0.00000000 +vt 0.99999976 0.94000000 0.00000000 +vt 0.99999976 0.88000000 0.00000000 +vt 0.99999976 0.81999999 0.00000000 +vt 0.99999976 0.75999999 0.00000000 +vt 0.99999976 0.69999999 0.00000000 +vt 0.99999976 0.63999999 0.00000000 +vt 0.99999976 0.57999998 0.00000000 +vt 0.99999976 0.51999998 0.00000000 +vt 0.99999976 0.45999998 0.00000000 +vt 0.99999976 0.39999998 0.00000000 +vt 1.00000000 1.00000000 0.00000000 +vt 0.89999998 1.00000000 0.00000000 +vt 0.89999998 0.94000000 0.00000000 +vt 1.00000000 0.94000000 0.00000000 +vt 0.89999998 0.88000000 0.00000000 +vt 1.00000000 0.88000000 0.00000000 +vt 0.89999998 0.81999999 0.00000000 +vt 1.00000000 0.81999999 0.00000000 +vt 0.89999998 0.75999999 0.00000000 +vt 1.00000000 0.75999999 0.00000000 +vt 0.89999998 0.69999999 0.00000000 +vt 1.00000000 0.69999999 0.00000000 +vt 0.89999998 0.63999999 0.00000000 +vt 1.00000000 0.63999999 0.00000000 +vt 0.89999998 0.57999998 0.00000000 +vt 1.00000000 0.57999998 0.00000000 +vt 0.89999998 0.51999998 0.00000000 +vt 1.00000000 0.51999998 0.00000000 +vt 0.89999998 0.45999998 0.00000000 +vt 1.00000000 0.45999998 0.00000000 +vt 0.89999998 0.39999998 0.00000000 +vt 1.00000000 0.39999998 0.00000000 +vt 0.79999995 1.00000000 0.00000000 +vt 0.79999995 0.94000000 0.00000000 +vt 0.79999995 0.88000000 0.00000000 +vt 0.79999995 0.81999999 0.00000000 +vt 0.79999995 0.75999999 0.00000000 +vt 0.79999995 0.69999999 0.00000000 +vt 0.79999995 0.63999999 0.00000000 +vt 0.79999995 0.57999998 0.00000000 +vt 0.79999995 0.51999998 0.00000000 +vt 0.79999995 0.45999998 0.00000000 +vt 0.79999995 0.39999998 0.00000000 +vt 0.69999993 1.00000000 0.00000000 +vt 0.69999993 0.94000000 0.00000000 +vt 0.69999993 0.88000000 0.00000000 +vt 0.69999993 0.81999999 0.00000000 +vt 0.69999993 0.75999999 0.00000000 +vt 0.69999993 0.69999999 0.00000000 +vt 0.69999993 0.63999999 0.00000000 +vt 0.69999993 0.57999998 0.00000000 +vt 0.69999993 0.51999998 0.00000000 +vt 0.69999993 0.45999998 0.00000000 +vt 0.69999993 0.39999998 0.00000000 +vt 0.59999990 1.00000000 0.00000000 +vt 0.59999990 0.94000000 0.00000000 +vt 0.59999990 0.88000000 0.00000000 +vt 0.59999990 0.81999999 0.00000000 +vt 0.59999990 0.75999999 0.00000000 +vt 0.59999990 0.69999999 0.00000000 +vt 0.59999990 0.63999999 0.00000000 +vt 0.59999990 0.57999998 0.00000000 +vt 0.59999990 0.51999998 0.00000000 +vt 0.59999990 0.45999998 0.00000000 +vt 0.59999990 0.39999998 0.00000000 +vt 0.49999991 1.00000000 0.00000000 +vt 0.49999991 0.94000000 0.00000000 +vt 0.49999991 0.88000000 0.00000000 +vt 0.49999991 0.81999999 0.00000000 +vt 0.49999991 0.75999999 0.00000000 +vt 0.49999991 0.69999999 0.00000000 +vt 0.49999991 0.63999999 0.00000000 +vt 0.49999991 0.57999998 0.00000000 +vt 0.49999991 0.51999998 0.00000000 +vt 0.49999991 0.45999998 0.00000000 +vt 0.49999991 0.39999998 0.00000000 +vt 0.39999992 1.00000000 0.00000000 +vt 0.39999992 0.94000000 0.00000000 +vt 0.39999992 0.88000000 0.00000000 +vt 0.39999992 0.81999999 0.00000000 +vt 0.39999992 0.75999999 0.00000000 +vt 0.39999992 0.69999999 0.00000000 +vt 0.39999992 0.63999999 0.00000000 +vt 0.39999992 0.57999998 0.00000000 +vt 0.39999992 0.51999998 0.00000000 +vt 0.39999992 0.45999998 0.00000000 +vt 0.39999992 0.39999998 0.00000000 +vt 0.29999992 1.00000000 0.00000000 +vt 0.29999992 0.94000000 0.00000000 +vt 0.29999992 0.88000000 0.00000000 +vt 0.29999992 0.81999999 0.00000000 +vt 0.29999992 0.75999999 0.00000000 +vt 0.29999992 0.69999999 0.00000000 +vt 0.29999992 0.63999999 0.00000000 +vt 0.29999992 0.57999998 0.00000000 +vt 0.29999992 0.51999998 0.00000000 +vt 0.29999992 0.45999998 0.00000000 +vt 0.29999992 0.39999998 0.00000000 +vt 0.19999993 1.00000000 0.00000000 +vt 0.19999993 0.94000000 0.00000000 +vt 0.19999993 0.88000000 0.00000000 +vt 0.19999993 0.81999999 0.00000000 +vt 0.19999993 0.75999999 0.00000000 +vt 0.19999993 0.69999999 0.00000000 +vt 0.19999993 0.63999999 0.00000000 +vt 0.19999993 0.57999998 0.00000000 +vt 0.19999993 0.51999998 0.00000000 +vt 0.19999993 0.45999998 0.00000000 +vt 0.19999993 0.39999998 0.00000000 +vt 0.09999993 1.00000000 0.00000000 +vt 0.09999993 0.94000000 0.00000000 +vt 0.09999993 0.88000000 0.00000000 +vt 0.09999993 0.81999999 0.00000000 +vt 0.09999993 0.75999999 0.00000000 +vt 0.09999993 0.69999999 0.00000000 +vt 0.09999993 0.63999999 0.00000000 +vt 0.09999993 0.57999998 0.00000000 +vt 0.09999993 0.51999998 0.00000000 +vt 0.09999993 0.45999998 0.00000000 +vt 0.09999993 0.39999998 0.00000000 +vt -0.00000007 1.00000000 0.00000000 +vt -0.00000007 0.94000000 0.00000000 +vt -0.00000007 0.88000000 0.00000000 +vt -0.00000007 0.81999999 0.00000000 +vt -0.00000007 0.75999999 0.00000000 +vt -0.00000007 0.69999999 0.00000000 +vt -0.00000007 0.63999999 0.00000000 +vt -0.00000007 0.57999998 0.00000000 +vt -0.00000007 0.51999998 0.00000000 +vt -0.00000007 0.45999998 0.00000000 +vt -0.00000007 0.39999998 0.00000000 +vt 2.00000000 0.40000001 0.00000000 +vt 1.89999998 0.40000001 0.00000000 +vt 1.89999998 0.36000001 0.00000000 +vt 2.00000000 0.36000001 0.00000000 +vt 1.89999998 0.32000002 0.00000000 +vt 2.00000000 0.32000002 0.00000000 +vt 1.89999998 0.28000003 0.00000000 +vt 2.00000000 0.28000003 0.00000000 +vt 1.89999998 0.24000002 0.00000000 +vt 2.00000000 0.24000002 0.00000000 +vt 1.89999998 0.20000002 0.00000000 +vt 2.00000000 0.20000002 0.00000000 +vt 1.89999998 0.16000001 0.00000000 +vt 2.00000000 0.16000001 0.00000000 +vt 1.89999998 0.12000000 0.00000000 +vt 2.00000000 0.12000000 0.00000000 +vt 1.89999998 0.08000000 0.00000000 +vt 2.00000000 0.08000000 0.00000000 +vt 1.89999998 0.04000000 0.00000000 +vt 2.00000000 0.04000000 0.00000000 +vt 1.89999998 -0.00000001 0.00000000 +vt 1.79999995 0.40000001 0.00000000 +vt 1.79999995 0.36000001 0.00000000 +vt 1.79999995 0.32000002 0.00000000 +vt 1.79999995 0.28000003 0.00000000 +vt 1.79999995 0.24000002 0.00000000 +vt 1.79999995 0.20000002 0.00000000 +vt 1.79999995 0.16000001 0.00000000 +vt 1.79999995 0.12000000 0.00000000 +vt 1.79999995 0.08000000 0.00000000 +vt 1.79999995 0.04000000 0.00000000 +vt 1.79999995 -0.00000001 0.00000000 +vt 1.69999993 0.40000001 0.00000000 +vt 1.69999993 0.36000001 0.00000000 +vt 1.69999993 0.32000002 0.00000000 +vt 1.69999993 0.28000003 0.00000000 +vt 1.69999993 0.24000002 0.00000000 +vt 1.69999993 0.20000002 0.00000000 +vt 1.69999993 0.16000001 0.00000000 +vt 1.69999993 0.12000000 0.00000000 +vt 1.69999993 0.08000000 0.00000000 +vt 1.69999993 0.04000000 0.00000000 +vt 1.69999993 -0.00000001 0.00000000 +vt 1.59999990 0.40000001 0.00000000 +vt 1.59999990 0.36000001 0.00000000 +vt 1.59999990 0.32000002 0.00000000 +vt 1.59999990 0.28000003 0.00000000 +vt 1.59999990 0.24000002 0.00000000 +vt 1.59999990 0.20000002 0.00000000 +vt 1.59999990 0.16000001 0.00000000 +vt 1.59999990 0.12000000 0.00000000 +vt 1.59999990 0.08000000 0.00000000 +vt 1.59999990 0.04000000 0.00000000 +vt 1.59999990 -0.00000001 0.00000000 +vt 1.49999988 0.40000001 0.00000000 +vt 1.49999988 0.36000001 0.00000000 +vt 1.49999988 0.32000002 0.00000000 +vt 1.49999988 0.28000003 0.00000000 +vt 1.49999988 0.24000002 0.00000000 +vt 1.49999988 0.20000002 0.00000000 +vt 1.49999988 0.16000001 0.00000000 +vt 1.49999988 0.12000000 0.00000000 +vt 1.49999988 0.08000000 0.00000000 +vt 1.49999988 0.04000000 0.00000000 +vt 1.49999988 -0.00000001 0.00000000 +vt 1.39999986 0.40000001 0.00000000 +vt 1.39999986 0.36000001 0.00000000 +vt 1.39999986 0.32000002 0.00000000 +vt 1.39999986 0.28000003 0.00000000 +vt 1.39999986 0.24000002 0.00000000 +vt 1.39999986 0.20000002 0.00000000 +vt 1.39999986 0.16000001 0.00000000 +vt 1.39999986 0.12000000 0.00000000 +vt 1.39999986 0.08000000 0.00000000 +vt 1.39999986 0.04000000 0.00000000 +vt 1.39999986 -0.00000001 0.00000000 +vt 1.29999983 0.40000001 0.00000000 +vt 1.29999983 0.36000001 0.00000000 +vt 1.29999983 0.32000002 0.00000000 +vt 1.29999983 0.28000003 0.00000000 +vt 1.29999983 0.24000002 0.00000000 +vt 1.29999983 0.20000002 0.00000000 +vt 1.29999983 0.16000001 0.00000000 +vt 1.29999983 0.12000000 0.00000000 +vt 1.29999983 0.08000000 0.00000000 +vt 1.29999983 0.04000000 0.00000000 +vt 1.29999983 -0.00000001 0.00000000 +vt 1.19999981 0.40000001 0.00000000 +vt 1.19999981 0.36000001 0.00000000 +vt 1.19999981 0.32000002 0.00000000 +vt 1.19999981 0.28000003 0.00000000 +vt 1.19999981 0.24000002 0.00000000 +vt 1.19999981 0.20000002 0.00000000 +vt 1.19999981 0.16000001 0.00000000 +vt 1.19999981 0.12000000 0.00000000 +vt 1.19999981 0.08000000 0.00000000 +vt 1.19999981 0.04000000 0.00000000 +vt 1.19999981 -0.00000001 0.00000000 +vt 1.09999979 0.40000001 0.00000000 +vt 1.09999979 0.36000001 0.00000000 +vt 1.09999979 0.32000002 0.00000000 +vt 1.09999979 0.28000003 0.00000000 +vt 1.09999979 0.24000002 0.00000000 +vt 1.09999979 0.20000002 0.00000000 +vt 1.09999979 0.16000001 0.00000000 +vt 1.09999979 0.12000000 0.00000000 +vt 1.09999979 0.08000000 0.00000000 +vt 1.09999979 0.04000000 0.00000000 +vt 1.09999979 -0.00000001 0.00000000 +vt 0.99999976 0.40000001 0.00000000 +vt 0.99999976 0.36000001 0.00000000 +vt 0.99999976 0.32000002 0.00000000 +vt 0.99999976 0.28000003 0.00000000 +vt 0.99999976 0.24000002 0.00000000 +vt 0.99999976 0.20000002 0.00000000 +vt 0.99999976 0.16000001 0.00000000 +vt 0.99999976 0.12000000 0.00000000 +vt 0.99999976 0.08000000 0.00000000 +vt 0.99999976 0.04000000 0.00000000 +vt 0.99999976 -0.00000001 0.00000000 +vt 1.00000000 0.40000001 0.00000000 +vt 0.89999998 0.40000001 0.00000000 +vt 0.89999998 0.36000001 0.00000000 +vt 1.00000000 0.36000001 0.00000000 +vt 0.89999998 0.32000002 0.00000000 +vt 1.00000000 0.32000002 0.00000000 +vt 0.89999998 0.28000003 0.00000000 +vt 1.00000000 0.28000003 0.00000000 +vt 0.89999998 0.24000002 0.00000000 +vt 1.00000000 0.24000002 0.00000000 +vt 0.89999998 0.20000002 0.00000000 +vt 1.00000000 0.20000002 0.00000000 +vt 0.89999998 0.16000001 0.00000000 +vt 1.00000000 0.16000001 0.00000000 +vt 0.89999998 0.12000000 0.00000000 +vt 1.00000000 0.12000000 0.00000000 +vt 0.89999998 0.08000000 0.00000000 +vt 1.00000000 0.08000000 0.00000000 +vt 0.89999998 0.04000000 0.00000000 +vt 1.00000000 0.04000000 0.00000000 +vt 0.89999998 -0.00000001 0.00000000 +vt 0.79999995 0.40000001 0.00000000 +vt 0.79999995 0.36000001 0.00000000 +vt 0.79999995 0.32000002 0.00000000 +vt 0.79999995 0.28000003 0.00000000 +vt 0.79999995 0.24000002 0.00000000 +vt 0.79999995 0.20000002 0.00000000 +vt 0.79999995 0.16000001 0.00000000 +vt 0.79999995 0.12000000 0.00000000 +vt 0.79999995 0.08000000 0.00000000 +vt 0.79999995 0.04000000 0.00000000 +vt 0.79999995 -0.00000001 0.00000000 +vt 0.69999993 0.40000001 0.00000000 +vt 0.69999993 0.36000001 0.00000000 +vt 0.69999993 0.32000002 0.00000000 +vt 0.69999993 0.28000003 0.00000000 +vt 0.69999993 0.24000002 0.00000000 +vt 0.69999993 0.20000002 0.00000000 +vt 0.69999993 0.16000001 0.00000000 +vt 0.69999993 0.12000000 0.00000000 +vt 0.69999993 0.08000000 0.00000000 +vt 0.69999993 0.04000000 0.00000000 +vt 0.69999993 -0.00000001 0.00000000 +vt 0.59999990 0.40000001 0.00000000 +vt 0.59999990 0.36000001 0.00000000 +vt 0.59999990 0.32000002 0.00000000 +vt 0.59999990 0.28000003 0.00000000 +vt 0.59999990 0.24000002 0.00000000 +vt 0.59999990 0.20000002 0.00000000 +vt 0.59999990 0.16000001 0.00000000 +vt 0.59999990 0.12000000 0.00000000 +vt 0.59999990 0.08000000 0.00000000 +vt 0.59999990 0.04000000 0.00000000 +vt 0.59999990 -0.00000001 0.00000000 +vt 0.49999991 0.40000001 0.00000000 +vt 0.49999991 0.36000001 0.00000000 +vt 0.49999991 0.32000002 0.00000000 +vt 0.49999991 0.28000003 0.00000000 +vt 0.49999991 0.24000002 0.00000000 +vt 0.49999991 0.20000002 0.00000000 +vt 0.49999991 0.16000001 0.00000000 +vt 0.49999991 0.12000000 0.00000000 +vt 0.49999991 0.08000000 0.00000000 +vt 0.49999991 0.04000000 0.00000000 +vt 0.49999991 -0.00000001 0.00000000 +vt 0.39999992 0.40000001 0.00000000 +vt 0.39999992 0.36000001 0.00000000 +vt 0.39999992 0.32000002 0.00000000 +vt 0.39999992 0.28000003 0.00000000 +vt 0.39999992 0.24000002 0.00000000 +vt 0.39999992 0.20000002 0.00000000 +vt 0.39999992 0.16000001 0.00000000 +vt 0.39999992 0.12000000 0.00000000 +vt 0.39999992 0.08000000 0.00000000 +vt 0.39999992 0.04000000 0.00000000 +vt 0.39999992 -0.00000001 0.00000000 +vt 0.29999992 0.40000001 0.00000000 +vt 0.29999992 0.36000001 0.00000000 +vt 0.29999992 0.32000002 0.00000000 +vt 0.29999992 0.28000003 0.00000000 +vt 0.29999992 0.24000002 0.00000000 +vt 0.29999992 0.20000002 0.00000000 +vt 0.29999992 0.16000001 0.00000000 +vt 0.29999992 0.12000000 0.00000000 +vt 0.29999992 0.08000000 0.00000000 +vt 0.29999992 0.04000000 0.00000000 +vt 0.29999992 -0.00000001 0.00000000 +vt 0.19999993 0.40000001 0.00000000 +vt 0.19999993 0.36000001 0.00000000 +vt 0.19999993 0.32000002 0.00000000 +vt 0.19999993 0.28000003 0.00000000 +vt 0.19999993 0.24000002 0.00000000 +vt 0.19999993 0.20000002 0.00000000 +vt 0.19999993 0.16000001 0.00000000 +vt 0.19999993 0.12000000 0.00000000 +vt 0.19999993 0.08000000 0.00000000 +vt 0.19999993 0.04000000 0.00000000 +vt 0.19999993 -0.00000001 0.00000000 +vt 0.09999993 0.40000001 0.00000000 +vt 0.09999993 0.36000001 0.00000000 +vt 0.09999993 0.32000002 0.00000000 +vt 0.09999993 0.28000003 0.00000000 +vt 0.09999993 0.24000002 0.00000000 +vt 0.09999993 0.20000002 0.00000000 +vt 0.09999993 0.16000001 0.00000000 +vt 0.09999993 0.12000000 0.00000000 +vt 0.09999993 0.08000000 0.00000000 +vt 0.09999993 0.04000000 0.00000000 +vt 0.09999993 -0.00000001 0.00000000 +vt -0.00000007 0.40000001 0.00000000 +vt -0.00000007 0.36000001 0.00000000 +vt -0.00000007 0.32000002 0.00000000 +vt -0.00000007 0.28000003 0.00000000 +vt -0.00000007 0.24000002 0.00000000 +vt -0.00000007 0.20000002 0.00000000 +vt -0.00000007 0.16000001 0.00000000 +vt -0.00000007 0.12000000 0.00000000 +vt -0.00000007 0.08000000 0.00000000 +vt -0.00000007 0.04000000 0.00000000 +vt -0.00000007 -0.00000001 0.00000000 +vt 0.94999999 1.00000000 0.00000000 +vt 0.94999999 0.94999999 0.00000000 +vt 1.00000000 0.94999999 0.00000000 +vt 0.94999999 0.89999998 0.00000000 +vt 1.00000000 0.89999998 0.00000000 +vt 0.94999999 0.84999996 0.00000000 +vt 1.00000000 0.84999996 0.00000000 +vt 0.94999999 0.79999995 0.00000000 +vt 1.00000000 0.79999995 0.00000000 +vt 0.94999999 0.74999994 0.00000000 +vt 1.00000000 0.74999994 0.00000000 +vt 0.94999999 0.69999993 0.00000000 +vt 1.00000000 0.69999993 0.00000000 +vt 0.94999999 0.64999992 0.00000000 +vt 1.00000000 0.64999992 0.00000000 +vt 0.94999999 0.59999990 0.00000000 +vt 1.00000000 0.59999990 0.00000000 +vt 0.94999999 0.54999989 0.00000000 +vt 1.00000000 0.54999989 0.00000000 +vt 0.94999999 0.49999988 0.00000000 +vt 1.00000000 0.49999988 0.00000000 +vt 0.89999998 0.94999999 0.00000000 +vt 0.89999998 0.89999998 0.00000000 +vt 0.89999998 0.84999996 0.00000000 +vt 0.89999998 0.79999995 0.00000000 +vt 0.89999998 0.74999994 0.00000000 +vt 0.89999998 0.69999993 0.00000000 +vt 0.89999998 0.64999992 0.00000000 +vt 0.89999998 0.59999990 0.00000000 +vt 0.89999998 0.54999989 0.00000000 +vt 0.89999998 0.49999988 0.00000000 +vt 0.84999996 1.00000000 0.00000000 +vt 0.84999996 0.94999999 0.00000000 +vt 0.84999996 0.89999998 0.00000000 +vt 0.84999996 0.84999996 0.00000000 +vt 0.84999996 0.79999995 0.00000000 +vt 0.84999996 0.74999994 0.00000000 +vt 0.84999996 0.69999993 0.00000000 +vt 0.84999996 0.64999992 0.00000000 +vt 0.84999996 0.59999990 0.00000000 +vt 0.84999996 0.54999989 0.00000000 +vt 0.84999996 0.49999988 0.00000000 +vt 0.79999995 0.94999999 0.00000000 +vt 0.79999995 0.89999998 0.00000000 +vt 0.79999995 0.84999996 0.00000000 +vt 0.79999995 0.79999995 0.00000000 +vt 0.79999995 0.74999994 0.00000000 +vt 0.79999995 0.69999993 0.00000000 +vt 0.79999995 0.64999992 0.00000000 +vt 0.79999995 0.59999990 0.00000000 +vt 0.79999995 0.54999989 0.00000000 +vt 0.79999995 0.49999988 0.00000000 +vt 0.74999994 1.00000000 0.00000000 +vt 0.74999994 0.94999999 0.00000000 +vt 0.74999994 0.89999998 0.00000000 +vt 0.74999994 0.84999996 0.00000000 +vt 0.74999994 0.79999995 0.00000000 +vt 0.74999994 0.74999994 0.00000000 +vt 0.74999994 0.69999993 0.00000000 +vt 0.74999994 0.64999992 0.00000000 +vt 0.74999994 0.59999990 0.00000000 +vt 0.74999994 0.54999989 0.00000000 +vt 0.74999994 0.49999988 0.00000000 +vt 0.69999993 0.94999999 0.00000000 +vt 0.69999993 0.89999998 0.00000000 +vt 0.69999993 0.84999996 0.00000000 +vt 0.69999993 0.79999995 0.00000000 +vt 0.69999993 0.74999994 0.00000000 +vt 0.69999993 0.69999993 0.00000000 +vt 0.69999993 0.64999992 0.00000000 +vt 0.69999993 0.59999990 0.00000000 +vt 0.69999993 0.54999989 0.00000000 +vt 0.69999993 0.49999988 0.00000000 +vt 0.64999992 1.00000000 0.00000000 +vt 0.64999992 0.94999999 0.00000000 +vt 0.64999992 0.89999998 0.00000000 +vt 0.64999992 0.84999996 0.00000000 +vt 0.64999992 0.79999995 0.00000000 +vt 0.64999992 0.74999994 0.00000000 +vt 0.64999992 0.69999993 0.00000000 +vt 0.64999992 0.64999992 0.00000000 +vt 0.64999992 0.59999990 0.00000000 +vt 0.64999992 0.54999989 0.00000000 +vt 0.64999992 0.49999988 0.00000000 +vt 0.59999990 0.94999999 0.00000000 +vt 0.59999990 0.89999998 0.00000000 +vt 0.59999990 0.84999996 0.00000000 +vt 0.59999990 0.79999995 0.00000000 +vt 0.59999990 0.74999994 0.00000000 +vt 0.59999990 0.69999993 0.00000000 +vt 0.59999990 0.64999992 0.00000000 +vt 0.59999990 0.59999990 0.00000000 +vt 0.59999990 0.54999989 0.00000000 +vt 0.59999990 0.49999988 0.00000000 +vt 0.54999989 1.00000000 0.00000000 +vt 0.54999989 0.94999999 0.00000000 +vt 0.54999989 0.89999998 0.00000000 +vt 0.54999989 0.84999996 0.00000000 +vt 0.54999989 0.79999995 0.00000000 +vt 0.54999989 0.74999994 0.00000000 +vt 0.54999989 0.69999993 0.00000000 +vt 0.54999989 0.64999992 0.00000000 +vt 0.54999989 0.59999990 0.00000000 +vt 0.54999989 0.54999989 0.00000000 +vt 0.54999989 0.49999988 0.00000000 +vt 0.49999988 1.00000000 0.00000000 +vt 0.49999988 0.94999999 0.00000000 +vt 0.49999988 0.89999998 0.00000000 +vt 0.49999988 0.84999996 0.00000000 +vt 0.49999988 0.79999995 0.00000000 +vt 0.49999988 0.74999994 0.00000000 +vt 0.49999988 0.69999993 0.00000000 +vt 0.49999988 0.64999992 0.00000000 +vt 0.49999988 0.59999990 0.00000000 +vt 0.49999988 0.54999989 0.00000000 +vt 0.49999988 0.49999988 0.00000000 +vt 0.50000000 1.00000000 0.00000000 +vt 0.44999999 1.00000000 0.00000000 +vt 0.44999999 0.94999999 0.00000000 +vt 0.50000000 0.94999999 0.00000000 +vt 0.44999999 0.89999998 0.00000000 +vt 0.50000000 0.89999998 0.00000000 +vt 0.44999999 0.84999996 0.00000000 +vt 0.50000000 0.84999996 0.00000000 +vt 0.44999999 0.79999995 0.00000000 +vt 0.50000000 0.79999995 0.00000000 +vt 0.44999999 0.74999994 0.00000000 +vt 0.50000000 0.74999994 0.00000000 +vt 0.44999999 0.69999993 0.00000000 +vt 0.50000000 0.69999993 0.00000000 +vt 0.44999999 0.64999992 0.00000000 +vt 0.50000000 0.64999992 0.00000000 +vt 0.44999999 0.59999990 0.00000000 +vt 0.50000000 0.59999990 0.00000000 +vt 0.44999999 0.54999989 0.00000000 +vt 0.50000000 0.54999989 0.00000000 +vt 0.44999999 0.49999988 0.00000000 +vt 0.50000000 0.49999988 0.00000000 +vt 0.39999998 1.00000000 0.00000000 +vt 0.39999998 0.94999999 0.00000000 +vt 0.39999998 0.89999998 0.00000000 +vt 0.39999998 0.84999996 0.00000000 +vt 0.39999998 0.79999995 0.00000000 +vt 0.39999998 0.74999994 0.00000000 +vt 0.39999998 0.69999993 0.00000000 +vt 0.39999998 0.64999992 0.00000000 +vt 0.39999998 0.59999990 0.00000000 +vt 0.39999998 0.54999989 0.00000000 +vt 0.39999998 0.49999988 0.00000000 +vt 0.34999996 1.00000000 0.00000000 +vt 0.34999996 0.94999999 0.00000000 +vt 0.34999996 0.89999998 0.00000000 +vt 0.34999996 0.84999996 0.00000000 +vt 0.34999996 0.79999995 0.00000000 +vt 0.34999996 0.74999994 0.00000000 +vt 0.34999996 0.69999993 0.00000000 +vt 0.34999996 0.64999992 0.00000000 +vt 0.34999996 0.59999990 0.00000000 +vt 0.34999996 0.54999989 0.00000000 +vt 0.34999996 0.49999988 0.00000000 +vt 0.29999995 1.00000000 0.00000000 +vt 0.29999995 0.94999999 0.00000000 +vt 0.29999995 0.89999998 0.00000000 +vt 0.29999995 0.84999996 0.00000000 +vt 0.29999995 0.79999995 0.00000000 +vt 0.29999995 0.74999994 0.00000000 +vt 0.29999995 0.69999993 0.00000000 +vt 0.29999995 0.64999992 0.00000000 +vt 0.29999995 0.59999990 0.00000000 +vt 0.29999995 0.54999989 0.00000000 +vt 0.29999995 0.49999988 0.00000000 +vt 0.24999996 1.00000000 0.00000000 +vt 0.24999996 0.94999999 0.00000000 +vt 0.24999996 0.89999998 0.00000000 +vt 0.24999996 0.84999996 0.00000000 +vt 0.24999996 0.79999995 0.00000000 +vt 0.24999996 0.74999994 0.00000000 +vt 0.24999996 0.69999993 0.00000000 +vt 0.24999996 0.64999992 0.00000000 +vt 0.24999996 0.59999990 0.00000000 +vt 0.24999996 0.54999989 0.00000000 +vt 0.24999996 0.49999988 0.00000000 +vt 0.19999996 1.00000000 0.00000000 +vt 0.19999996 0.94999999 0.00000000 +vt 0.19999996 0.89999998 0.00000000 +vt 0.19999996 0.84999996 0.00000000 +vt 0.19999996 0.79999995 0.00000000 +vt 0.19999996 0.74999994 0.00000000 +vt 0.19999996 0.69999993 0.00000000 +vt 0.19999996 0.64999992 0.00000000 +vt 0.19999996 0.59999990 0.00000000 +vt 0.19999996 0.54999989 0.00000000 +vt 0.19999996 0.49999988 0.00000000 +vt 0.14999996 1.00000000 0.00000000 +vt 0.14999996 0.94999999 0.00000000 +vt 0.14999996 0.89999998 0.00000000 +vt 0.14999996 0.84999996 0.00000000 +vt 0.14999996 0.79999995 0.00000000 +vt 0.14999996 0.74999994 0.00000000 +vt 0.14999996 0.69999993 0.00000000 +vt 0.14999996 0.64999992 0.00000000 +vt 0.14999996 0.59999990 0.00000000 +vt 0.14999996 0.54999989 0.00000000 +vt 0.14999996 0.49999988 0.00000000 +vt 0.09999996 1.00000000 0.00000000 +vt 0.09999996 0.94999999 0.00000000 +vt 0.09999996 0.89999998 0.00000000 +vt 0.09999996 0.84999996 0.00000000 +vt 0.09999996 0.79999995 0.00000000 +vt 0.09999996 0.74999994 0.00000000 +vt 0.09999996 0.69999993 0.00000000 +vt 0.09999996 0.64999992 0.00000000 +vt 0.09999996 0.59999990 0.00000000 +vt 0.09999996 0.54999989 0.00000000 +vt 0.09999996 0.49999988 0.00000000 +vt 0.04999996 1.00000000 0.00000000 +vt 0.04999996 0.94999999 0.00000000 +vt 0.04999996 0.89999998 0.00000000 +vt 0.04999996 0.84999996 0.00000000 +vt 0.04999996 0.79999995 0.00000000 +vt 0.04999996 0.74999994 0.00000000 +vt 0.04999996 0.69999993 0.00000000 +vt 0.04999996 0.64999992 0.00000000 +vt 0.04999996 0.59999990 0.00000000 +vt 0.04999996 0.54999989 0.00000000 +vt 0.04999996 0.49999988 0.00000000 +vt -0.00000004 1.00000000 0.00000000 +vt -0.00000004 0.94999999 0.00000000 +vt -0.00000004 0.89999998 0.00000000 +vt -0.00000004 0.84999996 0.00000000 +vt -0.00000004 0.79999995 0.00000000 +vt -0.00000004 0.74999994 0.00000000 +vt -0.00000004 0.69999993 0.00000000 +vt -0.00000004 0.64999992 0.00000000 +vt -0.00000004 0.59999990 0.00000000 +vt -0.00000004 0.54999989 0.00000000 +vt -0.00000004 0.49999988 0.00000000 +vt 1.00000000 0.50000000 0.00000000 +vt 0.94999999 0.50000000 0.00000000 +vt 0.94999999 0.44999999 0.00000000 +vt 1.00000000 0.44999999 0.00000000 +vt 0.94999999 0.39999998 0.00000000 +vt 0.94999999 0.34999996 0.00000000 +vt 1.00000000 0.34999996 0.00000000 +vt 0.94999999 0.29999995 0.00000000 +vt 1.00000000 0.29999995 0.00000000 +vt 0.94999999 0.24999996 0.00000000 +vt 1.00000000 0.24999996 0.00000000 +vt 0.94999999 0.19999996 0.00000000 +vt 1.00000000 0.19999996 0.00000000 +vt 0.94999999 0.14999996 0.00000000 +vt 1.00000000 0.14999996 0.00000000 +vt 0.94999999 0.09999996 0.00000000 +vt 1.00000000 0.09999996 0.00000000 +vt 0.94999999 0.04999996 0.00000000 +vt 1.00000000 0.04999996 0.00000000 +vt 0.94999999 -0.00000004 0.00000000 +vt 1.00000000 -0.00000004 0.00000000 +vt 0.89999998 0.50000000 0.00000000 +vt 0.89999998 0.44999999 0.00000000 +vt 0.89999998 0.34999996 0.00000000 +vt 0.89999998 0.29999995 0.00000000 +vt 0.89999998 0.24999996 0.00000000 +vt 0.89999998 0.19999996 0.00000000 +vt 0.89999998 0.14999996 0.00000000 +vt 0.89999998 0.09999996 0.00000000 +vt 0.89999998 0.04999996 0.00000000 +vt 0.89999998 -0.00000004 0.00000000 +vt 0.84999996 0.50000000 0.00000000 +vt 0.84999996 0.44999999 0.00000000 +vt 0.84999996 0.39999998 0.00000000 +vt 0.84999996 0.34999996 0.00000000 +vt 0.84999996 0.29999995 0.00000000 +vt 0.84999996 0.24999996 0.00000000 +vt 0.84999996 0.19999996 0.00000000 +vt 0.84999996 0.14999996 0.00000000 +vt 0.84999996 0.09999996 0.00000000 +vt 0.84999996 0.04999996 0.00000000 +vt 0.84999996 -0.00000004 0.00000000 +vt 0.79999995 0.50000000 0.00000000 +vt 0.79999995 0.44999999 0.00000000 +vt 0.79999995 0.34999996 0.00000000 +vt 0.79999995 0.29999995 0.00000000 +vt 0.79999995 0.24999996 0.00000000 +vt 0.79999995 0.19999996 0.00000000 +vt 0.79999995 0.14999996 0.00000000 +vt 0.79999995 0.09999996 0.00000000 +vt 0.79999995 0.04999996 0.00000000 +vt 0.79999995 -0.00000004 0.00000000 +vt 0.74999994 0.50000000 0.00000000 +vt 0.74999994 0.44999999 0.00000000 +vt 0.74999994 0.39999998 0.00000000 +vt 0.74999994 0.34999996 0.00000000 +vt 0.74999994 0.29999995 0.00000000 +vt 0.74999994 0.24999996 0.00000000 +vt 0.74999994 0.19999996 0.00000000 +vt 0.74999994 0.14999996 0.00000000 +vt 0.74999994 0.09999996 0.00000000 +vt 0.74999994 0.04999996 0.00000000 +vt 0.74999994 -0.00000004 0.00000000 +vt 0.69999993 0.50000000 0.00000000 +vt 0.69999993 0.44999999 0.00000000 +vt 0.69999993 0.34999996 0.00000000 +vt 0.69999993 0.29999995 0.00000000 +vt 0.69999993 0.24999996 0.00000000 +vt 0.69999993 0.19999996 0.00000000 +vt 0.69999993 0.14999996 0.00000000 +vt 0.69999993 0.09999996 0.00000000 +vt 0.69999993 0.04999996 0.00000000 +vt 0.69999993 -0.00000004 0.00000000 +vt 0.64999992 0.50000000 0.00000000 +vt 0.64999992 0.44999999 0.00000000 +vt 0.64999992 0.39999998 0.00000000 +vt 0.64999992 0.34999996 0.00000000 +vt 0.64999992 0.29999995 0.00000000 +vt 0.64999992 0.24999996 0.00000000 +vt 0.64999992 0.19999996 0.00000000 +vt 0.64999992 0.14999996 0.00000000 +vt 0.64999992 0.09999996 0.00000000 +vt 0.64999992 0.04999996 0.00000000 +vt 0.64999992 -0.00000004 0.00000000 +vt 0.59999990 0.50000000 0.00000000 +vt 0.59999990 0.44999999 0.00000000 +vt 0.59999990 0.34999996 0.00000000 +vt 0.59999990 0.29999995 0.00000000 +vt 0.59999990 0.24999996 0.00000000 +vt 0.59999990 0.19999996 0.00000000 +vt 0.59999990 0.14999996 0.00000000 +vt 0.59999990 0.09999996 0.00000000 +vt 0.59999990 0.04999996 0.00000000 +vt 0.59999990 -0.00000004 0.00000000 +vt 0.54999989 0.50000000 0.00000000 +vt 0.54999989 0.44999999 0.00000000 +vt 0.54999989 0.39999998 0.00000000 +vt 0.54999989 0.34999996 0.00000000 +vt 0.54999989 0.29999995 0.00000000 +vt 0.54999989 0.24999996 0.00000000 +vt 0.54999989 0.19999996 0.00000000 +vt 0.54999989 0.14999996 0.00000000 +vt 0.54999989 0.09999996 0.00000000 +vt 0.54999989 0.04999996 0.00000000 +vt 0.54999989 -0.00000004 0.00000000 +vt 0.49999988 0.50000000 0.00000000 +vt 0.49999988 0.44999999 0.00000000 +vt 0.49999988 0.39999998 0.00000000 +vt 0.49999988 0.34999996 0.00000000 +vt 0.49999988 0.29999995 0.00000000 +vt 0.49999988 0.24999996 0.00000000 +vt 0.49999988 0.19999996 0.00000000 +vt 0.49999988 0.14999996 0.00000000 +vt 0.49999988 0.09999996 0.00000000 +vt 0.49999988 0.04999996 0.00000000 +vt 0.49999988 -0.00000004 0.00000000 +vt 0.50000000 0.50000000 0.00000000 +vt 0.44999999 0.50000000 0.00000000 +vt 0.44999999 0.44999999 0.00000000 +vt 0.50000000 0.44999999 0.00000000 +vt 0.44999999 0.39999998 0.00000000 +vt 0.50000000 0.39999998 0.00000000 +vt 0.44999999 0.34999996 0.00000000 +vt 0.50000000 0.34999996 0.00000000 +vt 0.44999999 0.29999995 0.00000000 +vt 0.50000000 0.29999995 0.00000000 +vt 0.44999999 0.24999996 0.00000000 +vt 0.50000000 0.24999996 0.00000000 +vt 0.44999999 0.19999996 0.00000000 +vt 0.50000000 0.19999996 0.00000000 +vt 0.44999999 0.14999996 0.00000000 +vt 0.50000000 0.14999996 0.00000000 +vt 0.44999999 0.09999996 0.00000000 +vt 0.50000000 0.09999996 0.00000000 +vt 0.44999999 0.04999996 0.00000000 +vt 0.50000000 0.04999996 0.00000000 +vt 0.44999999 -0.00000004 0.00000000 +vt 0.50000000 -0.00000004 0.00000000 +vt 0.39999998 0.50000000 0.00000000 +vt 0.39999998 0.44999999 0.00000000 +vt 0.39999998 0.39999998 0.00000000 +vt 0.39999998 0.34999996 0.00000000 +vt 0.39999998 0.29999995 0.00000000 +vt 0.39999998 0.24999996 0.00000000 +vt 0.39999998 0.19999996 0.00000000 +vt 0.39999998 0.14999996 0.00000000 +vt 0.39999998 0.09999996 0.00000000 +vt 0.39999998 0.04999996 0.00000000 +vt 0.39999998 -0.00000004 0.00000000 +vt 0.34999996 0.50000000 0.00000000 +vt 0.34999996 0.44999999 0.00000000 +vt 0.34999996 0.39999998 0.00000000 +vt 0.34999996 0.34999996 0.00000000 +vt 0.34999996 0.29999995 0.00000000 +vt 0.34999996 0.24999996 0.00000000 +vt 0.34999996 0.19999996 0.00000000 +vt 0.34999996 0.14999996 0.00000000 +vt 0.34999996 0.09999996 0.00000000 +vt 0.34999996 0.04999996 0.00000000 +vt 0.34999996 -0.00000004 0.00000000 +vt 0.29999995 0.50000000 0.00000000 +vt 0.29999995 0.44999999 0.00000000 +vt 0.29999995 0.39999998 0.00000000 +vt 0.29999995 0.34999996 0.00000000 +vt 0.29999995 0.29999995 0.00000000 +vt 0.29999995 0.24999996 0.00000000 +vt 0.29999995 0.19999996 0.00000000 +vt 0.29999995 0.14999996 0.00000000 +vt 0.29999995 0.09999996 0.00000000 +vt 0.29999995 0.04999996 0.00000000 +vt 0.29999995 -0.00000004 0.00000000 +vt 0.24999996 0.50000000 0.00000000 +vt 0.24999996 0.44999999 0.00000000 +vt 0.24999996 0.39999998 0.00000000 +vt 0.24999996 0.34999996 0.00000000 +vt 0.24999996 0.29999995 0.00000000 +vt 0.24999996 0.24999996 0.00000000 +vt 0.24999996 0.19999996 0.00000000 +vt 0.24999996 0.14999996 0.00000000 +vt 0.24999996 0.09999996 0.00000000 +vt 0.24999996 0.04999996 0.00000000 +vt 0.24999996 -0.00000004 0.00000000 +vt 0.19999996 0.50000000 0.00000000 +vt 0.19999996 0.44999999 0.00000000 +vt 0.19999996 0.39999998 0.00000000 +vt 0.19999996 0.34999996 0.00000000 +vt 0.19999996 0.29999995 0.00000000 +vt 0.19999996 0.24999996 0.00000000 +vt 0.19999996 0.19999996 0.00000000 +vt 0.19999996 0.14999996 0.00000000 +vt 0.19999996 0.09999996 0.00000000 +vt 0.19999996 0.04999996 0.00000000 +vt 0.19999996 -0.00000004 0.00000000 +vt 0.14999996 0.50000000 0.00000000 +vt 0.14999996 0.44999999 0.00000000 +vt 0.14999996 0.39999998 0.00000000 +vt 0.14999996 0.34999996 0.00000000 +vt 0.14999996 0.29999995 0.00000000 +vt 0.14999996 0.24999996 0.00000000 +vt 0.14999996 0.19999996 0.00000000 +vt 0.14999996 0.14999996 0.00000000 +vt 0.14999996 0.09999996 0.00000000 +vt 0.14999996 0.04999996 0.00000000 +vt 0.14999996 -0.00000004 0.00000000 +vt 0.09999996 0.50000000 0.00000000 +vt 0.09999996 0.44999999 0.00000000 +vt 0.09999996 0.39999998 0.00000000 +vt 0.09999996 0.34999996 0.00000000 +vt 0.09999996 0.29999995 0.00000000 +vt 0.09999996 0.24999996 0.00000000 +vt 0.09999996 0.19999996 0.00000000 +vt 0.09999996 0.14999996 0.00000000 +vt 0.09999996 0.09999996 0.00000000 +vt 0.09999996 0.04999996 0.00000000 +vt 0.09999996 -0.00000004 0.00000000 +vt 0.04999996 0.50000000 0.00000000 +vt 0.04999996 0.44999999 0.00000000 +vt 0.04999996 0.39999998 0.00000000 +vt 0.04999996 0.34999996 0.00000000 +vt 0.04999996 0.29999995 0.00000000 +vt 0.04999996 0.24999996 0.00000000 +vt 0.04999996 0.19999996 0.00000000 +vt 0.04999996 0.14999996 0.00000000 +vt 0.04999996 0.09999996 0.00000000 +vt 0.04999996 0.04999996 0.00000000 +vt 0.04999996 -0.00000004 0.00000000 +vt -0.00000004 0.50000000 0.00000000 +vt -0.00000004 0.44999999 0.00000000 +vt -0.00000004 0.39999998 0.00000000 +vt -0.00000004 0.34999996 0.00000000 +vt -0.00000004 0.29999995 0.00000000 +vt -0.00000004 0.24999996 0.00000000 +vt -0.00000004 0.19999996 0.00000000 +vt -0.00000004 0.14999996 0.00000000 +vt -0.00000004 0.09999996 0.00000000 +vt -0.00000004 0.04999996 0.00000000 +vt -0.00000004 -0.00000004 0.00000000 +vt 0.50000000 0.00000000 0.00000000 +vt 0.55000001 0.00000000 0.00000000 +vt 0.55000001 0.09000000 0.00000000 +vt 0.50000000 0.09000000 0.00000000 +vt 0.55000001 0.17999999 0.00000000 +vt 0.50000000 0.17999999 0.00000000 +vt 0.55000001 0.26999998 0.00000000 +vt 0.50000000 0.26999998 0.00000000 +vt 0.55000001 0.35999998 0.00000000 +vt 0.50000000 0.35999998 0.00000000 +vt 0.55000001 0.44999999 0.00000000 +vt 0.55000001 0.53999996 0.00000000 +vt 0.50000000 0.53999996 0.00000000 +vt 0.55000001 0.62999994 0.00000000 +vt 0.50000000 0.62999994 0.00000000 +vt 0.55000001 0.71999991 0.00000000 +vt 0.50000000 0.71999991 0.00000000 +vt 0.55000001 0.80999988 0.00000000 +vt 0.50000000 0.80999988 0.00000000 +vt 0.55000001 0.89999986 0.00000000 +vt 0.50000000 0.89999986 0.00000000 +vt 0.60000002 0.00000000 0.00000000 +vt 0.60000002 0.09000000 0.00000000 +vt 0.60000002 0.17999999 0.00000000 +vt 0.60000002 0.26999998 0.00000000 +vt 0.60000002 0.35999998 0.00000000 +vt 0.60000002 0.44999999 0.00000000 +vt 0.60000002 0.53999996 0.00000000 +vt 0.60000002 0.62999994 0.00000000 +vt 0.60000002 0.71999991 0.00000000 +vt 0.60000002 0.80999988 0.00000000 +vt 0.60000002 0.89999986 0.00000000 +vt 0.65000004 0.00000000 0.00000000 +vt 0.65000004 0.09000000 0.00000000 +vt 0.65000004 0.17999999 0.00000000 +vt 0.65000004 0.26999998 0.00000000 +vt 0.65000004 0.35999998 0.00000000 +vt 0.65000004 0.44999999 0.00000000 +vt 0.65000004 0.53999996 0.00000000 +vt 0.65000004 0.62999994 0.00000000 +vt 0.65000004 0.71999991 0.00000000 +vt 0.65000004 0.80999988 0.00000000 +vt 0.65000004 0.89999986 0.00000000 +vt 0.70000005 0.00000000 0.00000000 +vt 0.70000005 0.09000000 0.00000000 +vt 0.70000005 0.17999999 0.00000000 +vt 0.70000005 0.26999998 0.00000000 +vt 0.70000005 0.35999998 0.00000000 +vt 0.70000005 0.44999999 0.00000000 +vt 0.70000005 0.53999996 0.00000000 +vt 0.70000005 0.62999994 0.00000000 +vt 0.70000005 0.71999991 0.00000000 +vt 0.70000005 0.80999988 0.00000000 +vt 0.70000005 0.89999986 0.00000000 +vt 0.75000006 0.00000000 0.00000000 +vt 0.75000006 0.09000000 0.00000000 +vt 0.75000006 0.17999999 0.00000000 +vt 0.75000006 0.26999998 0.00000000 +vt 0.75000006 0.35999998 0.00000000 +vt 0.75000006 0.44999999 0.00000000 +vt 0.75000006 0.53999996 0.00000000 +vt 0.75000006 0.62999994 0.00000000 +vt 0.75000006 0.71999991 0.00000000 +vt 0.75000006 0.80999988 0.00000000 +vt 0.75000006 0.89999986 0.00000000 +vt 0.80000007 0.00000000 0.00000000 +vt 0.80000007 0.09000000 0.00000000 +vt 0.80000007 0.17999999 0.00000000 +vt 0.80000007 0.26999998 0.00000000 +vt 0.80000007 0.35999998 0.00000000 +vt 0.80000007 0.44999999 0.00000000 +vt 0.80000007 0.53999996 0.00000000 +vt 0.80000007 0.62999994 0.00000000 +vt 0.80000007 0.71999991 0.00000000 +vt 0.80000007 0.80999988 0.00000000 +vt 0.80000007 0.89999986 0.00000000 +vt 0.85000008 0.00000000 0.00000000 +vt 0.85000008 0.09000000 0.00000000 +vt 0.85000008 0.17999999 0.00000000 +vt 0.85000008 0.26999998 0.00000000 +vt 0.85000008 0.35999998 0.00000000 +vt 0.85000008 0.44999999 0.00000000 +vt 0.85000008 0.53999996 0.00000000 +vt 0.85000008 0.62999994 0.00000000 +vt 0.85000008 0.71999991 0.00000000 +vt 0.85000008 0.80999988 0.00000000 +vt 0.85000008 0.89999986 0.00000000 +vt 0.90000010 0.00000000 0.00000000 +vt 0.90000010 0.09000000 0.00000000 +vt 0.90000010 0.17999999 0.00000000 +vt 0.90000010 0.26999998 0.00000000 +vt 0.90000010 0.35999998 0.00000000 +vt 0.90000010 0.44999999 0.00000000 +vt 0.90000010 0.53999996 0.00000000 +vt 0.90000010 0.62999994 0.00000000 +vt 0.90000010 0.71999991 0.00000000 +vt 0.90000010 0.80999988 0.00000000 +vt 0.90000010 0.89999986 0.00000000 +vt 0.95000011 0.00000000 0.00000000 +vt 0.95000011 0.09000000 0.00000000 +vt 0.95000011 0.17999999 0.00000000 +vt 0.95000011 0.26999998 0.00000000 +vt 0.95000011 0.35999998 0.00000000 +vt 0.95000011 0.44999999 0.00000000 +vt 0.95000011 0.53999996 0.00000000 +vt 0.95000011 0.62999994 0.00000000 +vt 0.95000011 0.71999991 0.00000000 +vt 0.95000011 0.80999988 0.00000000 +vt 0.95000011 0.89999986 0.00000000 +vt 1.00000012 0.00000000 0.00000000 +vt 1.00000012 0.09000000 0.00000000 +vt 1.00000012 0.17999999 0.00000000 +vt 1.00000012 0.26999998 0.00000000 +vt 1.00000012 0.35999998 0.00000000 +vt 1.00000012 0.44999999 0.00000000 +vt 1.00000012 0.53999996 0.00000000 +vt 1.00000012 0.62999994 0.00000000 +vt 1.00000012 0.71999991 0.00000000 +vt 1.00000012 0.80999988 0.00000000 +vt 1.00000012 0.89999986 0.00000000 +vt 0.00000000 0.00000000 0.00000000 +vt 0.05000000 0.00000000 0.00000000 +vt 0.05000000 0.09000000 0.00000000 +vt 0.00000000 0.09000000 0.00000000 +vt 0.05000000 0.17999999 0.00000000 +vt 0.00000000 0.17999999 0.00000000 +vt 0.05000000 0.26999998 0.00000000 +vt 0.00000000 0.26999998 0.00000000 +vt 0.05000000 0.35999998 0.00000000 +vt 0.00000000 0.35999998 0.00000000 +vt 0.05000000 0.44999999 0.00000000 +vt 0.00000000 0.44999999 0.00000000 +vt 0.05000000 0.53999996 0.00000000 +vt 0.00000000 0.53999996 0.00000000 +vt 0.05000000 0.62999994 0.00000000 +vt 0.00000000 0.62999994 0.00000000 +vt 0.05000000 0.71999991 0.00000000 +vt 0.00000000 0.71999991 0.00000000 +vt 0.05000000 0.80999988 0.00000000 +vt 0.00000000 0.80999988 0.00000000 +vt 0.05000000 0.89999986 0.00000000 +vt 0.00000000 0.89999986 0.00000000 +vt 0.10000000 0.00000000 0.00000000 +vt 0.10000000 0.09000000 0.00000000 +vt 0.10000000 0.17999999 0.00000000 +vt 0.10000000 0.26999998 0.00000000 +vt 0.10000000 0.35999998 0.00000000 +vt 0.10000000 0.44999999 0.00000000 +vt 0.10000000 0.53999996 0.00000000 +vt 0.10000000 0.62999994 0.00000000 +vt 0.10000000 0.71999991 0.00000000 +vt 0.10000000 0.80999988 0.00000000 +vt 0.10000000 0.89999986 0.00000000 +vt 0.15000001 0.00000000 0.00000000 +vt 0.15000001 0.09000000 0.00000000 +vt 0.15000001 0.17999999 0.00000000 +vt 0.15000001 0.26999998 0.00000000 +vt 0.15000001 0.35999998 0.00000000 +vt 0.15000001 0.44999999 0.00000000 +vt 0.15000001 0.53999996 0.00000000 +vt 0.15000001 0.62999994 0.00000000 +vt 0.15000001 0.71999991 0.00000000 +vt 0.15000001 0.80999988 0.00000000 +vt 0.15000001 0.89999986 0.00000000 +vt 0.20000000 0.00000000 0.00000000 +vt 0.20000000 0.09000000 0.00000000 +vt 0.20000000 0.17999999 0.00000000 +vt 0.20000000 0.26999998 0.00000000 +vt 0.20000000 0.35999998 0.00000000 +vt 0.20000000 0.44999999 0.00000000 +vt 0.20000000 0.53999996 0.00000000 +vt 0.20000000 0.62999994 0.00000000 +vt 0.20000000 0.71999991 0.00000000 +vt 0.20000000 0.80999988 0.00000000 +vt 0.20000000 0.89999986 0.00000000 +vt 0.25000000 0.00000000 0.00000000 +vt 0.25000000 0.09000000 0.00000000 +vt 0.25000000 0.17999999 0.00000000 +vt 0.25000000 0.26999998 0.00000000 +vt 0.25000000 0.35999998 0.00000000 +vt 0.25000000 0.44999999 0.00000000 +vt 0.25000000 0.53999996 0.00000000 +vt 0.25000000 0.62999994 0.00000000 +vt 0.25000000 0.71999991 0.00000000 +vt 0.25000000 0.80999988 0.00000000 +vt 0.25000000 0.89999986 0.00000000 +vt 0.30000001 0.00000000 0.00000000 +vt 0.30000001 0.09000000 0.00000000 +vt 0.30000001 0.17999999 0.00000000 +vt 0.30000001 0.26999998 0.00000000 +vt 0.30000001 0.35999998 0.00000000 +vt 0.30000001 0.44999999 0.00000000 +vt 0.30000001 0.53999996 0.00000000 +vt 0.30000001 0.62999994 0.00000000 +vt 0.30000001 0.71999991 0.00000000 +vt 0.30000001 0.80999988 0.00000000 +vt 0.30000001 0.89999986 0.00000000 +vt 0.35000002 0.00000000 0.00000000 +vt 0.35000002 0.09000000 0.00000000 +vt 0.35000002 0.17999999 0.00000000 +vt 0.35000002 0.26999998 0.00000000 +vt 0.35000002 0.35999998 0.00000000 +vt 0.35000002 0.44999999 0.00000000 +vt 0.35000002 0.53999996 0.00000000 +vt 0.35000002 0.62999994 0.00000000 +vt 0.35000002 0.71999991 0.00000000 +vt 0.35000002 0.80999988 0.00000000 +vt 0.35000002 0.89999986 0.00000000 +vt 0.40000004 0.00000000 0.00000000 +vt 0.40000004 0.09000000 0.00000000 +vt 0.40000004 0.17999999 0.00000000 +vt 0.40000004 0.26999998 0.00000000 +vt 0.40000004 0.35999998 0.00000000 +vt 0.40000004 0.44999999 0.00000000 +vt 0.40000004 0.53999996 0.00000000 +vt 0.40000004 0.62999994 0.00000000 +vt 0.40000004 0.71999991 0.00000000 +vt 0.40000004 0.80999988 0.00000000 +vt 0.40000004 0.89999986 0.00000000 +vt 0.45000005 0.00000000 0.00000000 +vt 0.45000005 0.09000000 0.00000000 +vt 0.45000005 0.17999999 0.00000000 +vt 0.45000005 0.26999998 0.00000000 +vt 0.45000005 0.35999998 0.00000000 +vt 0.45000005 0.44999999 0.00000000 +vt 0.45000005 0.53999996 0.00000000 +vt 0.45000005 0.62999994 0.00000000 +vt 0.45000005 0.71999991 0.00000000 +vt 0.45000005 0.80999988 0.00000000 +vt 0.45000005 0.89999986 0.00000000 +vt 0.50000006 0.00000000 0.00000000 +vt 0.50000006 0.09000000 0.00000000 +vt 0.50000006 0.17999999 0.00000000 +vt 0.50000006 0.26999998 0.00000000 +vt 0.50000006 0.35999998 0.00000000 +vt 0.50000006 0.44999999 0.00000000 +vt 0.50000006 0.53999996 0.00000000 +vt 0.50000006 0.62999994 0.00000000 +vt 0.50000006 0.71999991 0.00000000 +vt 0.50000006 0.80999988 0.00000000 +vt 0.50000006 0.89999986 0.00000000 +vt 0.55000001 0.89999998 0.00000000 +vt 0.55000001 0.90999997 0.00000000 +vt 0.50000000 0.90999997 0.00000000 +vt 0.55000001 0.91999996 0.00000000 +vt 0.50000000 0.91999996 0.00000000 +vt 0.55000001 0.92999995 0.00000000 +vt 0.50000000 0.92999995 0.00000000 +vt 0.55000001 0.93999994 0.00000000 +vt 0.50000000 0.93999994 0.00000000 +vt 0.55000001 0.94999993 0.00000000 +vt 0.50000000 0.94999993 0.00000000 +vt 0.55000001 0.95999992 0.00000000 +vt 0.50000000 0.95999992 0.00000000 +vt 0.55000001 0.96999991 0.00000000 +vt 0.50000000 0.96999991 0.00000000 +vt 0.55000001 0.97999990 0.00000000 +vt 0.50000000 0.97999990 0.00000000 +vt 0.55000001 0.98999989 0.00000000 +vt 0.50000000 0.98999989 0.00000000 +vt 0.55000001 0.99999988 0.00000000 +vt 0.50000000 0.99999988 0.00000000 +vt 0.60000002 0.89999998 0.00000000 +vt 0.60000002 0.90999997 0.00000000 +vt 0.60000002 0.91999996 0.00000000 +vt 0.60000002 0.92999995 0.00000000 +vt 0.60000002 0.93999994 0.00000000 +vt 0.60000002 0.94999993 0.00000000 +vt 0.60000002 0.95999992 0.00000000 +vt 0.60000002 0.96999991 0.00000000 +vt 0.60000002 0.97999990 0.00000000 +vt 0.60000002 0.98999989 0.00000000 +vt 0.60000002 0.99999988 0.00000000 +vt 0.65000004 0.89999998 0.00000000 +vt 0.65000004 0.90999997 0.00000000 +vt 0.65000004 0.91999996 0.00000000 +vt 0.65000004 0.92999995 0.00000000 +vt 0.65000004 0.93999994 0.00000000 +vt 0.65000004 0.94999993 0.00000000 +vt 0.65000004 0.95999992 0.00000000 +vt 0.65000004 0.96999991 0.00000000 +vt 0.65000004 0.97999990 0.00000000 +vt 0.65000004 0.98999989 0.00000000 +vt 0.65000004 0.99999988 0.00000000 +vt 0.70000005 0.89999998 0.00000000 +vt 0.70000005 0.90999997 0.00000000 +vt 0.70000005 0.91999996 0.00000000 +vt 0.70000005 0.92999995 0.00000000 +vt 0.70000005 0.93999994 0.00000000 +vt 0.70000005 0.94999993 0.00000000 +vt 0.70000005 0.95999992 0.00000000 +vt 0.70000005 0.96999991 0.00000000 +vt 0.70000005 0.97999990 0.00000000 +vt 0.70000005 0.98999989 0.00000000 +vt 0.70000005 0.99999988 0.00000000 +vt 0.75000006 0.89999998 0.00000000 +vt 0.75000006 0.90999997 0.00000000 +vt 0.75000006 0.91999996 0.00000000 +vt 0.75000006 0.92999995 0.00000000 +vt 0.75000006 0.93999994 0.00000000 +vt 0.75000006 0.94999993 0.00000000 +vt 0.75000006 0.95999992 0.00000000 +vt 0.75000006 0.96999991 0.00000000 +vt 0.75000006 0.97999990 0.00000000 +vt 0.75000006 0.98999989 0.00000000 +vt 0.75000006 0.99999988 0.00000000 +vt 0.80000007 0.89999998 0.00000000 +vt 0.80000007 0.90999997 0.00000000 +vt 0.80000007 0.91999996 0.00000000 +vt 0.80000007 0.92999995 0.00000000 +vt 0.80000007 0.93999994 0.00000000 +vt 0.80000007 0.94999993 0.00000000 +vt 0.80000007 0.95999992 0.00000000 +vt 0.80000007 0.96999991 0.00000000 +vt 0.80000007 0.97999990 0.00000000 +vt 0.80000007 0.98999989 0.00000000 +vt 0.80000007 0.99999988 0.00000000 +vt 0.85000008 0.89999998 0.00000000 +vt 0.85000008 0.90999997 0.00000000 +vt 0.85000008 0.91999996 0.00000000 +vt 0.85000008 0.92999995 0.00000000 +vt 0.85000008 0.93999994 0.00000000 +vt 0.85000008 0.94999993 0.00000000 +vt 0.85000008 0.95999992 0.00000000 +vt 0.85000008 0.96999991 0.00000000 +vt 0.85000008 0.97999990 0.00000000 +vt 0.85000008 0.98999989 0.00000000 +vt 0.85000008 0.99999988 0.00000000 +vt 0.90000010 0.89999998 0.00000000 +vt 0.90000010 0.90999997 0.00000000 +vt 0.90000010 0.91999996 0.00000000 +vt 0.90000010 0.92999995 0.00000000 +vt 0.90000010 0.93999994 0.00000000 +vt 0.90000010 0.94999993 0.00000000 +vt 0.90000010 0.95999992 0.00000000 +vt 0.90000010 0.96999991 0.00000000 +vt 0.90000010 0.97999990 0.00000000 +vt 0.90000010 0.98999989 0.00000000 +vt 0.90000010 0.99999988 0.00000000 +vt 0.95000011 0.89999998 0.00000000 +vt 0.95000011 0.90999997 0.00000000 +vt 0.95000011 0.91999996 0.00000000 +vt 0.95000011 0.92999995 0.00000000 +vt 0.95000011 0.93999994 0.00000000 +vt 0.95000011 0.94999993 0.00000000 +vt 0.95000011 0.95999992 0.00000000 +vt 0.95000011 0.96999991 0.00000000 +vt 0.95000011 0.97999990 0.00000000 +vt 0.95000011 0.98999989 0.00000000 +vt 0.95000011 0.99999988 0.00000000 +vt 1.00000012 0.89999998 0.00000000 +vt 1.00000012 0.90999997 0.00000000 +vt 1.00000012 0.91999996 0.00000000 +vt 1.00000012 0.92999995 0.00000000 +vt 1.00000012 0.93999994 0.00000000 +vt 1.00000012 0.94999993 0.00000000 +vt 1.00000012 0.95999992 0.00000000 +vt 1.00000012 0.96999991 0.00000000 +vt 1.00000012 0.97999990 0.00000000 +vt 1.00000012 0.98999989 0.00000000 +vt 1.00000012 0.99999988 0.00000000 +vt 0.00000000 0.89999998 0.00000000 +vt 0.05000000 0.89999998 0.00000000 +vt 0.05000000 0.90999997 0.00000000 +vt 0.00000000 0.90999997 0.00000000 +vt 0.05000000 0.91999996 0.00000000 +vt 0.00000000 0.91999996 0.00000000 +vt 0.05000000 0.92999995 0.00000000 +vt 0.00000000 0.92999995 0.00000000 +vt 0.05000000 0.93999994 0.00000000 +vt 0.00000000 0.93999994 0.00000000 +vt 0.05000000 0.94999993 0.00000000 +vt 0.00000000 0.94999993 0.00000000 +vt 0.05000000 0.95999992 0.00000000 +vt 0.00000000 0.95999992 0.00000000 +vt 0.05000000 0.96999991 0.00000000 +vt 0.00000000 0.96999991 0.00000000 +vt 0.05000000 0.97999990 0.00000000 +vt 0.00000000 0.97999990 0.00000000 +vt 0.05000000 0.98999989 0.00000000 +vt 0.00000000 0.98999989 0.00000000 +vt 0.05000000 0.99999988 0.00000000 +vt 0.00000000 0.99999988 0.00000000 +vt 0.10000000 0.89999998 0.00000000 +vt 0.10000000 0.90999997 0.00000000 +vt 0.10000000 0.91999996 0.00000000 +vt 0.10000000 0.92999995 0.00000000 +vt 0.10000000 0.93999994 0.00000000 +vt 0.10000000 0.94999993 0.00000000 +vt 0.10000000 0.95999992 0.00000000 +vt 0.10000000 0.96999991 0.00000000 +vt 0.10000000 0.97999990 0.00000000 +vt 0.10000000 0.98999989 0.00000000 +vt 0.10000000 0.99999988 0.00000000 +vt 0.15000001 0.89999998 0.00000000 +vt 0.15000001 0.90999997 0.00000000 +vt 0.15000001 0.91999996 0.00000000 +vt 0.15000001 0.92999995 0.00000000 +vt 0.15000001 0.93999994 0.00000000 +vt 0.15000001 0.94999993 0.00000000 +vt 0.15000001 0.95999992 0.00000000 +vt 0.15000001 0.96999991 0.00000000 +vt 0.15000001 0.97999990 0.00000000 +vt 0.15000001 0.98999989 0.00000000 +vt 0.15000001 0.99999988 0.00000000 +vt 0.20000000 0.89999998 0.00000000 +vt 0.20000000 0.90999997 0.00000000 +vt 0.20000000 0.91999996 0.00000000 +vt 0.20000000 0.92999995 0.00000000 +vt 0.20000000 0.93999994 0.00000000 +vt 0.20000000 0.94999993 0.00000000 +vt 0.20000000 0.95999992 0.00000000 +vt 0.20000000 0.96999991 0.00000000 +vt 0.20000000 0.97999990 0.00000000 +vt 0.20000000 0.98999989 0.00000000 +vt 0.20000000 0.99999988 0.00000000 +vt 0.25000000 0.89999998 0.00000000 +vt 0.25000000 0.90999997 0.00000000 +vt 0.25000000 0.91999996 0.00000000 +vt 0.25000000 0.92999995 0.00000000 +vt 0.25000000 0.93999994 0.00000000 +vt 0.25000000 0.94999993 0.00000000 +vt 0.25000000 0.95999992 0.00000000 +vt 0.25000000 0.96999991 0.00000000 +vt 0.25000000 0.97999990 0.00000000 +vt 0.25000000 0.98999989 0.00000000 +vt 0.25000000 0.99999988 0.00000000 +vt 0.30000001 0.89999998 0.00000000 +vt 0.30000001 0.90999997 0.00000000 +vt 0.30000001 0.91999996 0.00000000 +vt 0.30000001 0.92999995 0.00000000 +vt 0.30000001 0.93999994 0.00000000 +vt 0.30000001 0.94999993 0.00000000 +vt 0.30000001 0.95999992 0.00000000 +vt 0.30000001 0.96999991 0.00000000 +vt 0.30000001 0.97999990 0.00000000 +vt 0.30000001 0.98999989 0.00000000 +vt 0.30000001 0.99999988 0.00000000 +vt 0.35000002 0.89999998 0.00000000 +vt 0.35000002 0.90999997 0.00000000 +vt 0.35000002 0.91999996 0.00000000 +vt 0.35000002 0.92999995 0.00000000 +vt 0.35000002 0.93999994 0.00000000 +vt 0.35000002 0.94999993 0.00000000 +vt 0.35000002 0.95999992 0.00000000 +vt 0.35000002 0.96999991 0.00000000 +vt 0.35000002 0.97999990 0.00000000 +vt 0.35000002 0.98999989 0.00000000 +vt 0.35000002 0.99999988 0.00000000 +vt 0.40000004 0.89999998 0.00000000 +vt 0.40000004 0.90999997 0.00000000 +vt 0.40000004 0.91999996 0.00000000 +vt 0.40000004 0.92999995 0.00000000 +vt 0.40000004 0.93999994 0.00000000 +vt 0.40000004 0.94999993 0.00000000 +vt 0.40000004 0.95999992 0.00000000 +vt 0.40000004 0.96999991 0.00000000 +vt 0.40000004 0.97999990 0.00000000 +vt 0.40000004 0.98999989 0.00000000 +vt 0.40000004 0.99999988 0.00000000 +vt 0.45000005 0.89999998 0.00000000 +vt 0.45000005 0.90999997 0.00000000 +vt 0.45000005 0.91999996 0.00000000 +vt 0.45000005 0.92999995 0.00000000 +vt 0.45000005 0.93999994 0.00000000 +vt 0.45000005 0.94999993 0.00000000 +vt 0.45000005 0.95999992 0.00000000 +vt 0.45000005 0.96999991 0.00000000 +vt 0.45000005 0.97999990 0.00000000 +vt 0.45000005 0.98999989 0.00000000 +vt 0.45000005 0.99999988 0.00000000 +vt 0.50000006 0.89999998 0.00000000 +vt 0.50000006 0.90999997 0.00000000 +vt 0.50000006 0.91999996 0.00000000 +vt 0.50000006 0.92999995 0.00000000 +vt 0.50000006 0.93999994 0.00000000 +vt 0.50000006 0.94999993 0.00000000 +vt 0.50000006 0.95999992 0.00000000 +vt 0.50000006 0.96999991 0.00000000 +vt 0.50000006 0.97999990 0.00000000 +vt 0.50000006 0.98999989 0.00000000 +vt 0.50000006 0.99999988 0.00000000 +vt 0.94999999 0.49999991 0.00000000 +vt 1.00000000 0.49999991 0.00000000 +vt 0.94999999 0.39999992 0.00000000 +vt 1.00000000 0.39999992 0.00000000 +vt 0.94999999 0.29999992 0.00000000 +vt 1.00000000 0.29999992 0.00000000 +vt 0.94999999 0.19999993 0.00000000 +vt 1.00000000 0.19999993 0.00000000 +vt 0.94999999 0.09999993 0.00000000 +vt 1.00000000 0.09999993 0.00000000 +vt 0.94999999 -0.00000007 0.00000000 +vt 1.00000000 -0.00000007 0.00000000 +vt 0.89999998 0.49999991 0.00000000 +vt 0.89999998 0.39999992 0.00000000 +vt 0.89999998 0.29999992 0.00000000 +vt 0.89999998 0.19999993 0.00000000 +vt 0.89999998 0.09999993 0.00000000 +vt 0.89999998 -0.00000007 0.00000000 +vt 0.84999996 0.49999991 0.00000000 +vt 0.84999996 0.39999992 0.00000000 +vt 0.84999996 0.29999992 0.00000000 +vt 0.84999996 0.19999993 0.00000000 +vt 0.84999996 0.09999993 0.00000000 +vt 0.84999996 -0.00000007 0.00000000 +vt 0.79999995 0.49999991 0.00000000 +vt 0.79999995 0.39999992 0.00000000 +vt 0.79999995 0.29999992 0.00000000 +vt 0.79999995 0.19999993 0.00000000 +vt 0.79999995 0.09999993 0.00000000 +vt 0.79999995 -0.00000007 0.00000000 +vt 0.74999994 0.49999991 0.00000000 +vt 0.74999994 0.39999992 0.00000000 +vt 0.74999994 0.29999992 0.00000000 +vt 0.74999994 0.19999993 0.00000000 +vt 0.74999994 0.09999993 0.00000000 +vt 0.74999994 -0.00000007 0.00000000 +vt 0.69999993 0.49999991 0.00000000 +vt 0.69999993 0.39999992 0.00000000 +vt 0.69999993 0.29999992 0.00000000 +vt 0.69999993 0.19999993 0.00000000 +vt 0.69999993 0.09999993 0.00000000 +vt 0.69999993 -0.00000007 0.00000000 +vt 0.64999992 0.49999991 0.00000000 +vt 0.64999992 0.39999992 0.00000000 +vt 0.64999992 0.29999992 0.00000000 +vt 0.64999992 0.19999993 0.00000000 +vt 0.64999992 0.09999993 0.00000000 +vt 0.64999992 -0.00000007 0.00000000 +vt 0.59999990 0.49999991 0.00000000 +vt 0.59999990 0.39999992 0.00000000 +vt 0.59999990 0.29999992 0.00000000 +vt 0.59999990 0.19999993 0.00000000 +vt 0.59999990 0.09999993 0.00000000 +vt 0.59999990 -0.00000007 0.00000000 +vt 0.54999989 0.49999991 0.00000000 +vt 0.54999989 0.39999992 0.00000000 +vt 0.54999989 0.29999992 0.00000000 +vt 0.54999989 0.19999993 0.00000000 +vt 0.54999989 0.09999993 0.00000000 +vt 0.54999989 -0.00000007 0.00000000 +vt 0.49999988 0.49999991 0.00000000 +vt 0.49999988 0.39999992 0.00000000 +vt 0.49999988 0.29999992 0.00000000 +vt 0.49999988 0.19999993 0.00000000 +vt 0.49999988 0.09999993 0.00000000 +vt 0.49999988 -0.00000007 0.00000000 +vt 0.44999999 0.49999991 0.00000000 +vt 0.50000000 0.49999991 0.00000000 +vt 0.44999999 0.39999992 0.00000000 +vt 0.50000000 0.39999992 0.00000000 +vt 0.44999999 0.29999992 0.00000000 +vt 0.50000000 0.29999992 0.00000000 +vt 0.44999999 0.19999993 0.00000000 +vt 0.50000000 0.19999993 0.00000000 +vt 0.44999999 0.09999993 0.00000000 +vt 0.50000000 0.09999993 0.00000000 +vt 0.44999999 -0.00000007 0.00000000 +vt 0.50000000 -0.00000007 0.00000000 +vt 0.39999998 0.49999991 0.00000000 +vt 0.39999998 0.39999992 0.00000000 +vt 0.39999998 0.29999992 0.00000000 +vt 0.39999998 0.19999993 0.00000000 +vt 0.39999998 0.09999993 0.00000000 +vt 0.39999998 -0.00000007 0.00000000 +vt 0.34999996 0.49999991 0.00000000 +vt 0.34999996 0.39999992 0.00000000 +vt 0.34999996 0.29999992 0.00000000 +vt 0.34999996 0.19999993 0.00000000 +vt 0.34999996 0.09999993 0.00000000 +vt 0.34999996 -0.00000007 0.00000000 +vt 0.29999995 0.49999991 0.00000000 +vt 0.29999995 0.39999992 0.00000000 +vt 0.29999995 0.29999992 0.00000000 +vt 0.29999995 0.19999993 0.00000000 +vt 0.29999995 0.09999993 0.00000000 +vt 0.29999995 -0.00000007 0.00000000 +vt 0.24999996 0.49999991 0.00000000 +vt 0.24999996 0.39999992 0.00000000 +vt 0.24999996 0.29999992 0.00000000 +vt 0.24999996 0.19999993 0.00000000 +vt 0.24999996 0.09999993 0.00000000 +vt 0.24999996 -0.00000007 0.00000000 +vt 0.19999996 0.49999991 0.00000000 +vt 0.19999996 0.39999992 0.00000000 +vt 0.19999996 0.29999992 0.00000000 +vt 0.19999996 0.19999993 0.00000000 +vt 0.19999996 0.09999993 0.00000000 +vt 0.19999996 -0.00000007 0.00000000 +vt 0.14999996 0.49999991 0.00000000 +vt 0.14999996 0.39999992 0.00000000 +vt 0.14999996 0.29999992 0.00000000 +vt 0.14999996 0.19999993 0.00000000 +vt 0.14999996 0.09999993 0.00000000 +vt 0.14999996 -0.00000007 0.00000000 +vt 0.09999996 0.49999991 0.00000000 +vt 0.09999996 0.39999992 0.00000000 +vt 0.09999996 0.29999992 0.00000000 +vt 0.09999996 0.19999993 0.00000000 +vt 0.09999996 0.09999993 0.00000000 +vt 0.09999996 -0.00000007 0.00000000 +vt 0.04999996 0.49999991 0.00000000 +vt 0.04999996 0.39999992 0.00000000 +vt 0.04999996 0.29999992 0.00000000 +vt 0.04999996 0.19999993 0.00000000 +vt 0.04999996 0.09999993 0.00000000 +vt 0.04999996 -0.00000007 0.00000000 +vt -0.00000004 0.49999991 0.00000000 +vt -0.00000004 0.39999992 0.00000000 +vt -0.00000004 0.29999992 0.00000000 +vt -0.00000004 0.19999993 0.00000000 +vt -0.00000004 0.09999993 0.00000000 +vt -0.00000004 -0.00000007 0.00000000 +# 2054 texture coords + +g Teapot001 +usemtl default +s 1 +f 1/1/1 2/2/2 3/3/3 4/4/4 +f 4/4/4 3/3/3 5/5/5 6/6/6 +f 6/6/6 5/5/5 7/7/7 8/8/8 +f 8/8/8 7/7/7 9/9/9 10/10/10 +f 10/10/10 9/9/9 11/11/11 12/12/12 +f 12/12/12 11/11/11 13/13/13 14/14/14 +f 14/14/14 13/13/13 15/15/15 16/16/16 +f 16/16/16 15/15/15 17/17/17 18/18/18 +f 18/18/18 17/17/17 19/19/19 20/20/20 +f 20/20/20 19/19/19 21/21/21 22/22/22 +f 2/2/2 23/23/23 24/24/24 3/3/3 +f 3/3/3 24/24/24 25/25/25 5/5/5 +f 5/5/5 25/25/25 26/26/26 7/7/7 +f 7/7/7 26/26/26 27/27/27 9/9/9 +f 9/9/9 27/27/27 28/28/28 11/11/11 +f 11/11/11 28/28/28 29/29/29 13/13/13 +f 13/13/13 29/29/29 30/30/30 15/15/15 +f 15/15/15 30/30/30 31/31/31 17/17/17 +f 17/17/17 31/31/31 32/32/32 19/19/19 +f 19/19/19 32/32/32 33/33/33 21/21/21 +f 23/23/23 34/34/34 35/35/35 24/24/24 +f 24/24/24 35/35/35 36/36/36 25/25/25 +f 25/25/25 36/36/36 37/37/37 26/26/26 +f 26/26/26 37/37/37 38/38/38 27/27/27 +f 27/27/27 38/38/38 39/39/39 28/28/28 +f 28/28/28 39/39/39 40/40/40 29/29/29 +f 29/29/29 40/40/40 41/41/41 30/30/30 +f 30/30/30 41/41/41 42/42/42 31/31/31 +f 31/31/31 42/42/42 43/43/43 32/32/32 +f 32/32/32 43/43/43 44/44/44 33/33/33 +f 34/34/34 45/45/45 46/46/46 35/35/35 +f 35/35/35 46/46/46 47/47/47 36/36/36 +f 36/36/36 47/47/47 48/48/48 37/37/37 +f 37/37/37 48/48/48 49/49/49 38/38/38 +f 38/38/38 49/49/49 50/50/50 39/39/39 +f 39/39/39 50/50/50 51/51/51 40/40/40 +f 40/40/40 51/51/51 52/52/52 41/41/41 +f 41/41/41 52/52/52 53/53/53 42/42/42 +f 42/42/42 53/53/53 54/54/54 43/43/43 +f 43/43/43 54/54/54 55/55/55 44/44/44 +f 45/45/45 56/56/56 57/57/57 46/46/46 +f 46/46/46 57/57/57 58/58/58 47/47/47 +f 47/47/47 58/58/58 59/59/59 48/48/48 +f 48/48/48 59/59/59 60/60/60 49/49/49 +f 49/49/49 60/60/60 61/61/61 50/50/50 +f 50/50/50 61/61/61 62/62/62 51/51/51 +f 51/51/51 62/62/62 63/63/63 52/52/52 +f 52/52/52 63/63/63 64/64/64 53/53/53 +f 53/53/53 64/64/64 65/65/65 54/54/54 +f 54/54/54 65/65/65 66/66/66 55/55/55 +f 56/56/56 67/67/67 68/68/68 57/57/57 +f 57/57/57 68/68/68 69/69/69 58/58/58 +f 58/58/58 69/69/69 70/70/70 59/59/59 +f 59/59/59 70/70/70 71/71/71 60/60/60 +f 60/60/60 71/71/71 72/72/72 61/61/61 +f 61/61/61 72/72/72 73/73/73 62/62/62 +f 62/62/62 73/73/73 74/74/74 63/63/63 +f 63/63/63 74/74/74 75/75/75 64/64/64 +f 64/64/64 75/75/75 76/76/76 65/65/65 +f 65/65/65 76/76/76 77/77/77 66/66/66 +f 67/67/67 78/78/78 79/79/79 68/68/68 +f 68/68/68 79/79/79 80/80/80 69/69/69 +f 69/69/69 80/80/80 81/81/81 70/70/70 +f 70/70/70 81/81/81 82/82/82 71/71/71 +f 71/71/71 82/82/82 83/83/83 72/72/72 +f 72/72/72 83/83/83 84/84/84 73/73/73 +f 73/73/73 84/84/84 85/85/85 74/74/74 +f 74/74/74 85/85/85 86/86/86 75/75/75 +f 75/75/75 86/86/86 87/87/87 76/76/76 +f 76/76/76 87/87/87 88/88/88 77/77/77 +f 78/78/78 89/89/89 90/90/90 79/79/79 +f 79/79/79 90/90/90 91/91/91 80/80/80 +f 80/80/80 91/91/91 92/92/92 81/81/81 +f 81/81/81 92/92/92 93/93/93 82/82/82 +f 82/82/82 93/93/93 94/94/94 83/83/83 +f 83/83/83 94/94/94 95/95/95 84/84/84 +f 84/84/84 95/95/95 96/96/96 85/85/85 +f 85/85/85 96/96/96 97/97/97 86/86/86 +f 86/86/86 97/97/97 98/98/98 87/87/87 +f 87/87/87 98/98/98 99/99/99 88/88/88 +f 89/89/89 100/100/100 101/101/101 90/90/90 +f 90/90/90 101/101/101 102/102/102 91/91/91 +f 91/91/91 102/102/102 103/103/103 92/92/92 +f 92/92/92 103/103/103 104/104/104 93/93/93 +f 93/93/93 104/104/104 105/105/105 94/94/94 +f 94/94/94 105/105/105 106/106/106 95/95/95 +f 95/95/95 106/106/106 107/107/107 96/96/96 +f 96/96/96 107/107/107 108/108/108 97/97/97 +f 97/97/97 108/108/108 109/109/109 98/98/98 +f 98/98/98 109/109/109 110/110/110 99/99/99 +f 100/100/100 111/111/111 112/112/112 101/101/101 +f 101/101/101 112/112/112 113/113/113 102/102/102 +f 102/102/102 113/113/113 114/114/114 103/103/103 +f 103/103/103 114/114/114 115/115/115 104/104/104 +f 104/104/104 115/115/115 116/116/116 105/105/105 +f 105/105/105 116/116/116 117/117/117 106/106/106 +f 106/106/106 117/117/117 118/118/118 107/107/107 +f 107/107/107 118/118/118 119/119/119 108/108/108 +f 108/108/108 119/119/119 120/120/120 109/109/109 +f 109/109/109 120/120/120 121/121/121 110/110/110 +f 111/122/111 122/123/122 123/124/123 112/125/112 +f 112/125/112 123/124/123 124/126/124 113/127/113 +f 113/127/113 124/126/124 125/128/125 114/129/114 +f 114/129/114 125/128/125 126/130/126 115/131/115 +f 115/131/115 126/130/126 127/132/127 116/133/116 +f 116/133/116 127/132/127 128/134/128 117/135/117 +f 117/135/117 128/134/128 129/136/129 118/137/118 +f 118/137/118 129/136/129 130/138/130 119/139/119 +f 119/139/119 130/138/130 131/140/131 120/141/120 +f 120/141/120 131/140/131 132/142/132 121/143/121 +f 122/123/122 133/144/133 134/145/134 123/124/123 +f 123/124/123 134/145/134 135/146/135 124/126/124 +f 124/126/124 135/146/135 136/147/136 125/128/125 +f 125/128/125 136/147/136 137/148/137 126/130/126 +f 126/130/126 137/148/137 138/149/138 127/132/127 +f 127/132/127 138/149/138 139/150/139 128/134/128 +f 128/134/128 139/150/139 140/151/140 129/136/129 +f 129/136/129 140/151/140 141/152/141 130/138/130 +f 130/138/130 141/152/141 142/153/142 131/140/131 +f 131/140/131 142/153/142 143/154/143 132/142/132 +f 133/144/133 144/155/144 145/156/145 134/145/134 +f 134/145/134 145/156/145 146/157/146 135/146/135 +f 135/146/135 146/157/146 147/158/147 136/147/136 +f 136/147/136 147/158/147 148/159/148 137/148/137 +f 137/148/137 148/159/148 149/160/149 138/149/138 +f 138/149/138 149/160/149 150/161/150 139/150/139 +f 139/150/139 150/161/150 151/162/151 140/151/140 +f 140/151/140 151/162/151 152/163/152 141/152/141 +f 141/152/141 152/163/152 153/164/153 142/153/142 +f 142/153/142 153/164/153 154/165/154 143/154/143 +f 144/155/144 155/166/155 156/167/156 145/156/145 +f 145/156/145 156/167/156 157/168/157 146/157/146 +f 146/157/146 157/168/157 158/169/158 147/158/147 +f 147/158/147 158/169/158 159/170/159 148/159/148 +f 148/159/148 159/170/159 160/171/160 149/160/149 +f 149/160/149 160/171/160 161/172/161 150/161/150 +f 150/161/150 161/172/161 162/173/162 151/162/151 +f 151/162/151 162/173/162 163/174/163 152/163/152 +f 152/163/152 163/174/163 164/175/164 153/164/153 +f 153/164/153 164/175/164 165/176/165 154/165/154 +f 155/166/155 166/177/166 167/178/167 156/167/156 +f 156/167/156 167/178/167 168/179/168 157/168/157 +f 157/168/157 168/179/168 169/180/169 158/169/158 +f 158/169/158 169/180/169 170/181/170 159/170/159 +f 159/170/159 170/181/170 171/182/171 160/171/160 +f 160/171/160 171/182/171 172/183/172 161/172/161 +f 161/172/161 172/183/172 173/184/173 162/173/162 +f 162/173/162 173/184/173 174/185/174 163/174/163 +f 163/174/163 174/185/174 175/186/175 164/175/164 +f 164/175/164 175/186/175 176/187/176 165/176/165 +f 166/177/166 177/188/177 178/189/178 167/178/167 +f 167/178/167 178/189/178 179/190/179 168/179/168 +f 168/179/168 179/190/179 180/191/180 169/180/169 +f 169/180/169 180/191/180 181/192/181 170/181/170 +f 170/181/170 181/192/181 182/193/182 171/182/171 +f 171/182/171 182/193/182 183/194/183 172/183/172 +f 172/183/172 183/194/183 184/195/184 173/184/173 +f 173/184/173 184/195/184 185/196/185 174/185/174 +f 174/185/174 185/196/185 186/197/186 175/186/175 +f 175/186/175 186/197/186 187/198/187 176/187/176 +f 177/188/177 188/199/188 189/200/189 178/189/178 +f 178/189/178 189/200/189 190/201/190 179/190/179 +f 179/190/179 190/201/190 191/202/191 180/191/180 +f 180/191/180 191/202/191 192/203/192 181/192/181 +f 181/192/181 192/203/192 193/204/193 182/193/182 +f 182/193/182 193/204/193 194/205/194 183/194/183 +f 183/194/183 194/205/194 195/206/195 184/195/184 +f 184/195/184 195/206/195 196/207/196 185/196/185 +f 185/196/185 196/207/196 197/208/197 186/197/186 +f 186/197/186 197/208/197 198/209/198 187/198/187 +f 188/199/188 199/210/199 200/211/200 189/200/189 +f 189/200/189 200/211/200 201/212/201 190/201/190 +f 190/201/190 201/212/201 202/213/202 191/202/191 +f 191/202/191 202/213/202 203/214/203 192/203/192 +f 192/203/192 203/214/203 204/215/204 193/204/193 +f 193/204/193 204/215/204 205/216/205 194/205/194 +f 194/205/194 205/216/205 206/217/206 195/206/195 +f 195/206/195 206/217/206 207/218/207 196/207/196 +f 196/207/196 207/218/207 208/219/208 197/208/197 +f 197/208/197 208/219/208 209/220/209 198/209/198 +f 199/210/199 210/221/210 211/222/211 200/211/200 +f 200/211/200 211/222/211 212/223/212 201/212/201 +f 201/212/201 212/223/212 213/224/213 202/213/202 +f 202/213/202 213/224/213 214/225/214 203/214/203 +f 203/214/203 214/225/214 215/226/215 204/215/204 +f 204/215/204 215/226/215 216/227/216 205/216/205 +f 205/216/205 216/227/216 217/228/217 206/217/206 +f 206/217/206 217/228/217 218/229/218 207/218/207 +f 207/218/207 218/229/218 219/230/219 208/219/208 +f 208/219/208 219/230/219 220/231/220 209/220/209 +f 210/221/210 221/232/221 222/233/222 211/222/211 +f 211/222/211 222/233/222 223/234/223 212/223/212 +f 212/223/212 223/234/223 224/235/224 213/224/213 +f 213/224/213 224/235/224 225/236/225 214/225/214 +f 214/225/214 225/236/225 226/237/226 215/226/215 +f 215/226/215 226/237/226 227/238/227 216/227/216 +f 216/227/216 227/238/227 228/239/228 217/228/217 +f 217/228/217 228/239/228 229/240/229 218/229/218 +f 218/229/218 229/240/229 230/241/230 219/230/219 +f 219/230/219 230/241/230 231/242/231 220/231/220 +f 221/1/221 232/2/232 233/3/233 222/4/222 +f 222/4/222 233/3/233 234/5/234 223/6/223 +f 223/6/223 234/5/234 235/7/235 224/8/224 +f 224/8/224 235/7/235 236/9/236 225/10/225 +f 225/10/225 236/9/236 237/11/237 226/12/226 +f 226/12/226 237/11/237 238/13/238 227/14/227 +f 227/14/227 238/13/238 239/15/239 228/16/228 +f 228/16/228 239/15/239 240/17/240 229/18/229 +f 229/18/229 240/17/240 241/19/241 230/20/230 +f 230/20/230 241/19/241 242/21/242 231/22/231 +f 232/2/232 243/23/243 244/24/244 233/3/233 +f 233/3/233 244/24/244 245/25/245 234/5/234 +f 234/5/234 245/25/245 246/26/246 235/7/235 +f 235/7/235 246/26/246 247/27/247 236/9/236 +f 236/9/236 247/27/247 248/28/248 237/11/237 +f 237/11/237 248/28/248 249/29/249 238/13/238 +f 238/13/238 249/29/249 250/30/250 239/15/239 +f 239/15/239 250/30/250 251/31/251 240/17/240 +f 240/17/240 251/31/251 252/32/252 241/19/241 +f 241/19/241 252/32/252 253/33/253 242/21/242 +f 243/23/243 254/34/254 255/35/255 244/24/244 +f 244/24/244 255/35/255 256/36/256 245/25/245 +f 245/25/245 256/36/256 257/37/257 246/26/246 +f 246/26/246 257/37/257 258/38/258 247/27/247 +f 247/27/247 258/38/258 259/39/259 248/28/248 +f 248/28/248 259/39/259 260/40/260 249/29/249 +f 249/29/249 260/40/260 261/41/261 250/30/250 +f 250/30/250 261/41/261 262/42/262 251/31/251 +f 251/31/251 262/42/262 263/43/263 252/32/252 +f 252/32/252 263/43/263 264/44/264 253/33/253 +f 254/34/254 265/45/265 266/46/266 255/35/255 +f 255/35/255 266/46/266 267/47/267 256/36/256 +f 256/36/256 267/47/267 268/48/268 257/37/257 +f 257/37/257 268/48/268 269/49/269 258/38/258 +f 258/38/258 269/49/269 270/50/270 259/39/259 +f 259/39/259 270/50/270 271/51/271 260/40/260 +f 260/40/260 271/51/271 272/52/272 261/41/261 +f 261/41/261 272/52/272 273/53/273 262/42/262 +f 262/42/262 273/53/273 274/54/274 263/43/263 +f 263/43/263 274/54/274 275/55/275 264/44/264 +f 265/45/265 276/56/276 277/57/277 266/46/266 +f 266/46/266 277/57/277 278/58/278 267/47/267 +f 267/47/267 278/58/278 279/59/279 268/48/268 +f 268/48/268 279/59/279 280/60/280 269/49/269 +f 269/49/269 280/60/280 281/61/281 270/50/270 +f 270/50/270 281/61/281 282/62/282 271/51/271 +f 271/51/271 282/62/282 283/63/283 272/52/272 +f 272/52/272 283/63/283 284/64/284 273/53/273 +f 273/53/273 284/64/284 285/65/285 274/54/274 +f 274/54/274 285/65/285 286/66/286 275/55/275 +f 276/56/276 287/67/287 288/68/288 277/57/277 +f 277/57/277 288/68/288 289/69/289 278/58/278 +f 278/58/278 289/69/289 290/70/290 279/59/279 +f 279/59/279 290/70/290 291/71/291 280/60/280 +f 280/60/280 291/71/291 292/72/292 281/61/281 +f 281/61/281 292/72/292 293/73/293 282/62/282 +f 282/62/282 293/73/293 294/74/294 283/63/283 +f 283/63/283 294/74/294 295/75/295 284/64/284 +f 284/64/284 295/75/295 296/76/296 285/65/285 +f 285/65/285 296/76/296 297/77/297 286/66/286 +f 287/67/287 298/78/298 299/79/299 288/68/288 +f 288/68/288 299/79/299 300/80/300 289/69/289 +f 289/69/289 300/80/300 301/81/301 290/70/290 +f 290/70/290 301/81/301 302/82/302 291/71/291 +f 291/71/291 302/82/302 303/83/303 292/72/292 +f 292/72/292 303/83/303 304/84/304 293/73/293 +f 293/73/293 304/84/304 305/85/305 294/74/294 +f 294/74/294 305/85/305 306/86/306 295/75/295 +f 295/75/295 306/86/306 307/87/307 296/76/296 +f 296/76/296 307/87/307 308/88/308 297/77/297 +f 298/78/298 309/89/309 310/90/310 299/79/299 +f 299/79/299 310/90/310 311/91/311 300/80/300 +f 300/80/300 311/91/311 312/92/312 301/81/301 +f 301/81/301 312/92/312 313/93/313 302/82/302 +f 302/82/302 313/93/313 314/94/314 303/83/303 +f 303/83/303 314/94/314 315/95/315 304/84/304 +f 304/84/304 315/95/315 316/96/316 305/85/305 +f 305/85/305 316/96/316 317/97/317 306/86/306 +f 306/86/306 317/97/317 318/98/318 307/87/307 +f 307/87/307 318/98/318 319/99/319 308/88/308 +f 309/89/309 320/100/320 321/101/321 310/90/310 +f 310/90/310 321/101/321 322/102/322 311/91/311 +f 311/91/311 322/102/322 323/103/323 312/92/312 +f 312/92/312 323/103/323 324/104/324 313/93/313 +f 313/93/313 324/104/324 325/105/325 314/94/314 +f 314/94/314 325/105/325 326/106/326 315/95/315 +f 315/95/315 326/106/326 327/107/327 316/96/316 +f 316/96/316 327/107/327 328/108/328 317/97/317 +f 317/97/317 328/108/328 329/109/329 318/98/318 +f 318/98/318 329/109/329 330/110/330 319/99/319 +f 320/100/320 331/111/331 332/112/332 321/101/321 +f 321/101/321 332/112/332 333/113/333 322/102/322 +f 322/102/322 333/113/333 334/114/334 323/103/323 +f 323/103/323 334/114/334 335/115/335 324/104/324 +f 324/104/324 335/115/335 336/116/336 325/105/325 +f 325/105/325 336/116/336 337/117/337 326/106/326 +f 326/106/326 337/117/337 338/118/338 327/107/327 +f 327/107/327 338/118/338 339/119/339 328/108/328 +f 328/108/328 339/119/339 340/120/340 329/109/329 +f 329/109/329 340/120/340 341/121/341 330/110/330 +f 331/122/331 342/123/342 343/124/343 332/125/332 +f 332/125/332 343/124/343 344/126/344 333/127/333 +f 333/127/333 344/126/344 345/128/345 334/129/334 +f 334/129/334 345/128/345 346/130/346 335/131/335 +f 335/131/335 346/130/346 347/132/347 336/133/336 +f 336/133/336 347/132/347 348/134/348 337/135/337 +f 337/135/337 348/134/348 349/136/349 338/137/338 +f 338/137/338 349/136/349 350/138/350 339/139/339 +f 339/139/339 350/138/350 351/140/351 340/141/340 +f 340/141/340 351/140/351 352/142/352 341/143/341 +f 342/123/342 353/144/353 354/145/354 343/124/343 +f 343/124/343 354/145/354 355/146/355 344/126/344 +f 344/126/344 355/146/355 356/147/356 345/128/345 +f 345/128/345 356/147/356 357/148/357 346/130/346 +f 346/130/346 357/148/357 358/149/358 347/132/347 +f 347/132/347 358/149/358 359/150/359 348/134/348 +f 348/134/348 359/150/359 360/151/360 349/136/349 +f 349/136/349 360/151/360 361/152/361 350/138/350 +f 350/138/350 361/152/361 362/153/362 351/140/351 +f 351/140/351 362/153/362 363/154/363 352/142/352 +f 353/144/353 364/155/364 365/156/365 354/145/354 +f 354/145/354 365/156/365 366/157/366 355/146/355 +f 355/146/355 366/157/366 367/158/367 356/147/356 +f 356/147/356 367/158/367 368/159/368 357/148/357 +f 357/148/357 368/159/368 369/160/369 358/149/358 +f 358/149/358 369/160/369 370/161/370 359/150/359 +f 359/150/359 370/161/370 371/162/371 360/151/360 +f 360/151/360 371/162/371 372/163/372 361/152/361 +f 361/152/361 372/163/372 373/164/373 362/153/362 +f 362/153/362 373/164/373 374/165/374 363/154/363 +f 364/155/364 375/166/375 376/167/376 365/156/365 +f 365/156/365 376/167/376 377/168/377 366/157/366 +f 366/157/366 377/168/377 378/169/378 367/158/367 +f 367/158/367 378/169/378 379/170/379 368/159/368 +f 368/159/368 379/170/379 380/171/380 369/160/369 +f 369/160/369 380/171/380 381/172/381 370/161/370 +f 370/161/370 381/172/381 382/173/382 371/162/371 +f 371/162/371 382/173/382 383/174/383 372/163/372 +f 372/163/372 383/174/383 384/175/384 373/164/373 +f 373/164/373 384/175/384 385/176/385 374/165/374 +f 375/166/375 386/177/386 387/178/387 376/167/376 +f 376/167/376 387/178/387 388/179/388 377/168/377 +f 377/168/377 388/179/388 389/180/389 378/169/378 +f 378/169/378 389/180/389 390/181/390 379/170/379 +f 379/170/379 390/181/390 391/182/391 380/171/380 +f 380/171/380 391/182/391 392/183/392 381/172/381 +f 381/172/381 392/183/392 393/184/393 382/173/382 +f 382/173/382 393/184/393 394/185/394 383/174/383 +f 383/174/383 394/185/394 395/186/395 384/175/384 +f 384/175/384 395/186/395 396/187/396 385/176/385 +f 386/177/386 397/188/397 398/189/398 387/178/387 +f 387/178/387 398/189/398 399/190/399 388/179/388 +f 388/179/388 399/190/399 400/191/400 389/180/389 +f 389/180/389 400/191/400 401/192/401 390/181/390 +f 390/181/390 401/192/401 402/193/402 391/182/391 +f 391/182/391 402/193/402 403/194/403 392/183/392 +f 392/183/392 403/194/403 404/195/404 393/184/393 +f 393/184/393 404/195/404 405/196/405 394/185/394 +f 394/185/394 405/196/405 406/197/406 395/186/395 +f 395/186/395 406/197/406 407/198/407 396/187/396 +f 397/188/397 408/199/408 409/200/409 398/189/398 +f 398/189/398 409/200/409 410/201/410 399/190/399 +f 399/190/399 410/201/410 411/202/411 400/191/400 +f 400/191/400 411/202/411 412/203/412 401/192/401 +f 401/192/401 412/203/412 413/204/413 402/193/402 +f 402/193/402 413/204/413 414/205/414 403/194/403 +f 403/194/403 414/205/414 415/206/415 404/195/404 +f 404/195/404 415/206/415 416/207/416 405/196/405 +f 405/196/405 416/207/416 417/208/417 406/197/406 +f 406/197/406 417/208/417 418/209/418 407/198/407 +f 408/199/408 419/210/419 420/211/420 409/200/409 +f 409/200/409 420/211/420 421/212/421 410/201/410 +f 410/201/410 421/212/421 422/213/422 411/202/411 +f 411/202/411 422/213/422 423/214/423 412/203/412 +f 412/203/412 423/214/423 424/215/424 413/204/413 +f 413/204/413 424/215/424 425/216/425 414/205/414 +f 414/205/414 425/216/425 426/217/426 415/206/415 +f 415/206/415 426/217/426 427/218/427 416/207/416 +f 416/207/416 427/218/427 428/219/428 417/208/417 +f 417/208/417 428/219/428 429/220/429 418/209/418 +f 419/210/419 430/221/430 431/222/431 420/211/420 +f 420/211/420 431/222/431 432/223/432 421/212/421 +f 421/212/421 432/223/432 433/224/433 422/213/422 +f 422/213/422 433/224/433 434/225/434 423/214/423 +f 423/214/423 434/225/434 435/226/435 424/215/424 +f 424/215/424 435/226/435 436/227/436 425/216/425 +f 425/216/425 436/227/436 437/228/437 426/217/426 +f 426/217/426 437/228/437 438/229/438 427/218/427 +f 427/218/427 438/229/438 439/230/439 428/219/428 +f 428/219/428 439/230/439 440/231/440 429/220/429 +f 430/221/430 1/232/1 4/233/4 431/222/431 +f 431/222/431 4/233/4 6/234/6 432/223/432 +f 432/223/432 6/234/6 8/235/8 433/224/433 +f 433/224/433 8/235/8 10/236/10 434/225/434 +f 434/225/434 10/236/10 12/237/12 435/226/435 +f 435/226/435 12/237/12 14/238/14 436/227/436 +f 436/227/436 14/238/14 16/239/16 437/228/437 +f 437/228/437 16/239/16 18/240/18 438/229/438 +f 438/229/438 18/240/18 20/241/20 439/230/439 +f 439/230/439 20/241/20 22/242/22 440/231/440 +f 22/243/22 21/244/21 441/245/441 442/246/442 +f 442/246/442 441/245/441 443/247/443 444/248/444 +f 444/248/444 443/247/443 445/249/445 446/250/446 +f 446/250/446 445/249/445 447/251/447 448/252/448 +f 448/252/448 447/251/447 449/253/449 450/254/450 +f 450/254/450 449/253/449 451/255/451 452/256/452 +f 452/256/452 451/255/451 453/257/453 454/258/454 +f 454/258/454 453/257/453 455/259/455 456/260/456 +f 456/260/456 455/259/455 457/261/457 458/262/458 +f 458/262/458 457/261/457 459/263/459 460/264/460 +f 21/244/21 33/265/33 461/266/461 441/245/441 +f 441/245/441 461/266/461 462/267/462 443/247/443 +f 443/247/443 462/267/462 463/268/463 445/249/445 +f 445/249/445 463/268/463 464/269/464 447/251/447 +f 447/251/447 464/269/464 465/270/465 449/253/449 +f 449/253/449 465/270/465 466/271/466 451/255/451 +f 451/255/451 466/271/466 467/272/467 453/257/453 +f 453/257/453 467/272/467 468/273/468 455/259/455 +f 455/259/455 468/273/468 469/274/469 457/261/457 +f 457/261/457 469/274/469 470/275/470 459/263/459 +f 33/265/33 44/276/44 471/277/471 461/266/461 +f 461/266/461 471/277/471 472/278/472 462/267/462 +f 462/267/462 472/278/472 473/279/473 463/268/463 +f 463/268/463 473/279/473 474/280/474 464/269/464 +f 464/269/464 474/280/474 475/281/475 465/270/465 +f 465/270/465 475/281/475 476/282/476 466/271/466 +f 466/271/466 476/282/476 477/283/477 467/272/467 +f 467/272/467 477/283/477 478/284/478 468/273/468 +f 468/273/468 478/284/478 479/285/479 469/274/469 +f 469/274/469 479/285/479 480/286/480 470/275/470 +f 44/276/44 55/287/55 481/288/481 471/277/471 +f 471/277/471 481/288/481 482/289/482 472/278/472 +f 472/278/472 482/289/482 483/290/483 473/279/473 +f 473/279/473 483/290/483 484/291/484 474/280/474 +f 474/280/474 484/291/484 485/292/485 475/281/475 +f 475/281/475 485/292/485 486/293/486 476/282/476 +f 476/282/476 486/293/486 487/294/487 477/283/477 +f 477/283/477 487/294/487 488/295/488 478/284/478 +f 478/284/478 488/295/488 489/296/489 479/285/479 +f 479/285/479 489/296/489 490/297/490 480/286/480 +f 55/287/55 66/298/66 491/299/491 481/288/481 +f 481/288/481 491/299/491 492/300/492 482/289/482 +f 482/289/482 492/300/492 493/301/493 483/290/483 +f 483/290/483 493/301/493 494/302/494 484/291/484 +f 484/291/484 494/302/494 495/303/495 485/292/485 +f 485/292/485 495/303/495 496/304/496 486/293/486 +f 486/293/486 496/304/496 497/305/497 487/294/487 +f 487/294/487 497/305/497 498/306/498 488/295/488 +f 488/295/488 498/306/498 499/307/499 489/296/489 +f 489/296/489 499/307/499 500/308/500 490/297/490 +f 66/298/66 77/309/77 501/310/501 491/299/491 +f 491/299/491 501/310/501 502/311/502 492/300/492 +f 492/300/492 502/311/502 503/312/503 493/301/493 +f 493/301/493 503/312/503 504/313/504 494/302/494 +f 494/302/494 504/313/504 505/314/505 495/303/495 +f 495/303/495 505/314/505 506/315/506 496/304/496 +f 496/304/496 506/315/506 507/316/507 497/305/497 +f 497/305/497 507/316/507 508/317/508 498/306/498 +f 498/306/498 508/317/508 509/318/509 499/307/499 +f 499/307/499 509/318/509 510/319/510 500/308/500 +f 77/309/77 88/320/88 511/321/511 501/310/501 +f 501/310/501 511/321/511 512/322/512 502/311/502 +f 502/311/502 512/322/512 513/323/513 503/312/503 +f 503/312/503 513/323/513 514/324/514 504/313/504 +f 504/313/504 514/324/514 515/325/515 505/314/505 +f 505/314/505 515/325/515 516/326/516 506/315/506 +f 506/315/506 516/326/516 517/327/517 507/316/507 +f 507/316/507 517/327/517 518/328/518 508/317/508 +f 508/317/508 518/328/518 519/329/519 509/318/509 +f 509/318/509 519/329/519 520/330/520 510/319/510 +f 88/320/88 99/331/99 521/332/521 511/321/511 +f 511/321/511 521/332/521 522/333/522 512/322/512 +f 512/322/512 522/333/522 523/334/523 513/323/513 +f 513/323/513 523/334/523 524/335/524 514/324/514 +f 514/324/514 524/335/524 525/336/525 515/325/515 +f 515/325/515 525/336/525 526/337/526 516/326/516 +f 516/326/516 526/337/526 527/338/527 517/327/517 +f 517/327/517 527/338/527 528/339/528 518/328/518 +f 518/328/518 528/339/528 529/340/529 519/329/519 +f 519/329/519 529/340/529 530/341/530 520/330/520 +f 99/331/99 110/342/110 531/343/531 521/332/521 +f 521/332/521 531/343/531 532/344/532 522/333/522 +f 522/333/522 532/344/532 533/345/533 523/334/523 +f 523/334/523 533/345/533 534/346/534 524/335/524 +f 524/335/524 534/346/534 535/347/535 525/336/525 +f 525/336/525 535/347/535 536/348/536 526/337/526 +f 526/337/526 536/348/536 537/349/537 527/338/527 +f 527/338/527 537/349/537 538/350/538 528/339/528 +f 528/339/528 538/350/538 539/351/539 529/340/529 +f 529/340/529 539/351/539 540/352/540 530/341/530 +f 110/342/110 121/353/121 541/354/541 531/343/531 +f 531/343/531 541/354/541 542/355/542 532/344/532 +f 532/344/532 542/355/542 543/356/543 533/345/533 +f 533/345/533 543/356/543 544/357/544 534/346/534 +f 534/346/534 544/357/544 545/358/545 535/347/535 +f 535/347/535 545/358/545 546/359/546 536/348/536 +f 536/348/536 546/359/546 547/360/547 537/349/537 +f 537/349/537 547/360/547 548/361/548 538/350/538 +f 538/350/538 548/361/548 549/362/549 539/351/539 +f 539/351/539 549/362/549 550/363/550 540/352/540 +f 121/364/121 132/365/132 551/366/551 541/367/541 +f 541/367/541 551/366/551 552/368/552 542/369/542 +f 542/369/542 552/368/552 553/370/553 543/371/543 +f 543/371/543 553/370/553 554/372/554 544/373/544 +f 544/373/544 554/372/554 555/374/555 545/375/545 +f 545/375/545 555/374/555 556/376/556 546/377/546 +f 546/377/546 556/376/556 557/378/557 547/379/547 +f 547/379/547 557/378/557 558/380/558 548/381/548 +f 548/381/548 558/380/558 559/382/559 549/383/549 +f 549/383/549 559/382/559 560/384/560 550/385/550 +f 132/365/132 143/386/143 561/387/561 551/366/551 +f 551/366/551 561/387/561 562/388/562 552/368/552 +f 552/368/552 562/388/562 563/389/563 553/370/553 +f 553/370/553 563/389/563 564/390/564 554/372/554 +f 554/372/554 564/390/564 565/391/565 555/374/555 +f 555/374/555 565/391/565 566/392/566 556/376/556 +f 556/376/556 566/392/566 567/393/567 557/378/557 +f 557/378/557 567/393/567 568/394/568 558/380/558 +f 558/380/558 568/394/568 569/395/569 559/382/559 +f 559/382/559 569/395/569 570/396/570 560/384/560 +f 143/386/143 154/397/154 571/398/571 561/387/561 +f 561/387/561 571/398/571 572/399/572 562/388/562 +f 562/388/562 572/399/572 573/400/573 563/389/563 +f 563/389/563 573/400/573 574/401/574 564/390/564 +f 564/390/564 574/401/574 575/402/575 565/391/565 +f 565/391/565 575/402/575 576/403/576 566/392/566 +f 566/392/566 576/403/576 577/404/577 567/393/567 +f 567/393/567 577/404/577 578/405/578 568/394/568 +f 568/394/568 578/405/578 579/406/579 569/395/569 +f 569/395/569 579/406/579 580/407/580 570/396/570 +f 154/397/154 165/408/165 581/409/581 571/398/571 +f 571/398/571 581/409/581 582/410/582 572/399/572 +f 572/399/572 582/410/582 583/411/583 573/400/573 +f 573/400/573 583/411/583 584/412/584 574/401/574 +f 574/401/574 584/412/584 585/413/585 575/402/575 +f 575/402/575 585/413/585 586/414/586 576/403/576 +f 576/403/576 586/414/586 587/415/587 577/404/577 +f 577/404/577 587/415/587 588/416/588 578/405/578 +f 578/405/578 588/416/588 589/417/589 579/406/579 +f 579/406/579 589/417/589 590/418/590 580/407/580 +f 165/408/165 176/419/176 591/420/591 581/409/581 +f 581/409/581 591/420/591 592/421/592 582/410/582 +f 582/410/582 592/421/592 593/422/593 583/411/583 +f 583/411/583 593/422/593 594/423/594 584/412/584 +f 584/412/584 594/423/594 595/424/595 585/413/585 +f 585/413/585 595/424/595 596/425/596 586/414/586 +f 586/414/586 596/425/596 597/426/597 587/415/587 +f 587/415/587 597/426/597 598/427/598 588/416/588 +f 588/416/588 598/427/598 599/428/599 589/417/589 +f 589/417/589 599/428/599 600/429/600 590/418/590 +f 176/419/176 187/430/187 601/431/601 591/420/591 +f 591/420/591 601/431/601 602/432/602 592/421/592 +f 592/421/592 602/432/602 603/433/603 593/422/593 +f 593/422/593 603/433/603 604/434/604 594/423/594 +f 594/423/594 604/434/604 605/435/605 595/424/595 +f 595/424/595 605/435/605 606/436/606 596/425/596 +f 596/425/596 606/436/606 607/437/607 597/426/597 +f 597/426/597 607/437/607 608/438/608 598/427/598 +f 598/427/598 608/438/608 609/439/609 599/428/599 +f 599/428/599 609/439/609 610/440/610 600/429/600 +f 187/430/187 198/441/198 611/442/611 601/431/601 +f 601/431/601 611/442/611 612/443/612 602/432/602 +f 602/432/602 612/443/612 613/444/613 603/433/603 +f 603/433/603 613/444/613 614/445/614 604/434/604 +f 604/434/604 614/445/614 615/446/615 605/435/605 +f 605/435/605 615/446/615 616/447/616 606/436/606 +f 606/436/606 616/447/616 617/448/617 607/437/607 +f 607/437/607 617/448/617 618/449/618 608/438/608 +f 608/438/608 618/449/618 619/450/619 609/439/609 +f 609/439/609 619/450/619 620/451/620 610/440/610 +f 198/441/198 209/452/209 621/453/621 611/442/611 +f 611/442/611 621/453/621 622/454/622 612/443/612 +f 612/443/612 622/454/622 623/455/623 613/444/613 +f 613/444/613 623/455/623 624/456/624 614/445/614 +f 614/445/614 624/456/624 625/457/625 615/446/615 +f 615/446/615 625/457/625 626/458/626 616/447/616 +f 616/447/616 626/458/626 627/459/627 617/448/617 +f 617/448/617 627/459/627 628/460/628 618/449/618 +f 618/449/618 628/460/628 629/461/629 619/450/619 +f 619/450/619 629/461/629 630/462/630 620/451/620 +f 209/452/209 220/463/220 631/464/631 621/453/621 +f 621/453/621 631/464/631 632/465/632 622/454/622 +f 622/454/622 632/465/632 633/466/633 623/455/623 +f 623/455/623 633/466/633 634/467/634 624/456/624 +f 624/456/624 634/467/634 635/468/635 625/457/625 +f 625/457/625 635/468/635 636/469/636 626/458/626 +f 626/458/626 636/469/636 637/470/637 627/459/627 +f 627/459/627 637/470/637 638/471/638 628/460/628 +f 628/460/628 638/471/638 639/472/639 629/461/629 +f 629/461/629 639/472/639 640/473/640 630/462/630 +f 220/463/220 231/474/231 641/475/641 631/464/631 +f 631/464/631 641/475/641 642/476/642 632/465/632 +f 632/465/632 642/476/642 643/477/643 633/466/633 +f 633/466/633 643/477/643 644/478/644 634/467/634 +f 634/467/634 644/478/644 645/479/645 635/468/635 +f 635/468/635 645/479/645 646/480/646 636/469/636 +f 636/469/636 646/480/646 647/481/647 637/470/637 +f 637/470/637 647/481/647 648/482/648 638/471/638 +f 638/471/638 648/482/648 649/483/649 639/472/639 +f 639/472/639 649/483/649 650/484/650 640/473/640 +f 231/243/231 242/244/242 651/245/651 641/246/641 +f 641/246/641 651/245/651 652/247/652 642/248/642 +f 642/248/642 652/247/652 653/249/653 643/250/643 +f 643/250/643 653/249/653 654/251/654 644/252/644 +f 644/252/644 654/251/654 655/253/655 645/254/645 +f 645/254/645 655/253/655 656/255/656 646/256/646 +f 646/256/646 656/255/656 657/257/657 647/258/647 +f 647/258/647 657/257/657 658/259/658 648/260/648 +f 648/260/648 658/259/658 659/261/659 649/262/649 +f 649/262/649 659/261/659 660/263/660 650/264/650 +f 242/244/242 253/265/253 661/266/661 651/245/651 +f 651/245/651 661/266/661 662/267/662 652/247/652 +f 652/247/652 662/267/662 663/268/663 653/249/653 +f 653/249/653 663/268/663 664/269/664 654/251/654 +f 654/251/654 664/269/664 665/270/665 655/253/655 +f 655/253/655 665/270/665 666/271/666 656/255/656 +f 656/255/656 666/271/666 667/272/667 657/257/657 +f 657/257/657 667/272/667 668/273/668 658/259/658 +f 658/259/658 668/273/668 669/274/669 659/261/659 +f 659/261/659 669/274/669 670/275/670 660/263/660 +f 253/265/253 264/276/264 671/277/671 661/266/661 +f 661/266/661 671/277/671 672/278/672 662/267/662 +f 662/267/662 672/278/672 673/279/673 663/268/663 +f 663/268/663 673/279/673 674/280/674 664/269/664 +f 664/269/664 674/280/674 675/281/675 665/270/665 +f 665/270/665 675/281/675 676/282/676 666/271/666 +f 666/271/666 676/282/676 677/283/677 667/272/667 +f 667/272/667 677/283/677 678/284/678 668/273/668 +f 668/273/668 678/284/678 679/285/679 669/274/669 +f 669/274/669 679/285/679 680/286/680 670/275/670 +f 264/276/264 275/287/275 681/288/681 671/277/671 +f 671/277/671 681/288/681 682/289/682 672/278/672 +f 672/278/672 682/289/682 683/290/683 673/279/673 +f 673/279/673 683/290/683 684/291/684 674/280/674 +f 674/280/674 684/291/684 685/292/685 675/281/675 +f 675/281/675 685/292/685 686/293/686 676/282/676 +f 676/282/676 686/293/686 687/294/687 677/283/677 +f 677/283/677 687/294/687 688/295/688 678/284/678 +f 678/284/678 688/295/688 689/296/689 679/285/679 +f 679/285/679 689/296/689 690/297/690 680/286/680 +f 275/287/275 286/298/286 691/299/691 681/288/681 +f 681/288/681 691/299/691 692/300/692 682/289/682 +f 682/289/682 692/300/692 693/301/693 683/290/683 +f 683/290/683 693/301/693 694/302/694 684/291/684 +f 684/291/684 694/302/694 695/303/695 685/292/685 +f 685/292/685 695/303/695 696/304/696 686/293/686 +f 686/293/686 696/304/696 697/305/697 687/294/687 +f 687/294/687 697/305/697 698/306/698 688/295/688 +f 688/295/688 698/306/698 699/307/699 689/296/689 +f 689/296/689 699/307/699 700/308/700 690/297/690 +f 286/298/286 297/309/297 701/310/701 691/299/691 +f 691/299/691 701/310/701 702/311/702 692/300/692 +f 692/300/692 702/311/702 703/312/703 693/301/693 +f 693/301/693 703/312/703 704/313/704 694/302/694 +f 694/302/694 704/313/704 705/314/705 695/303/695 +f 695/303/695 705/314/705 706/315/706 696/304/696 +f 696/304/696 706/315/706 707/316/707 697/305/697 +f 697/305/697 707/316/707 708/317/708 698/306/698 +f 698/306/698 708/317/708 709/318/709 699/307/699 +f 699/307/699 709/318/709 710/319/710 700/308/700 +f 297/309/297 308/320/308 711/321/711 701/310/701 +f 701/310/701 711/321/711 712/322/712 702/311/702 +f 702/311/702 712/322/712 713/323/713 703/312/703 +f 703/312/703 713/323/713 714/324/714 704/313/704 +f 704/313/704 714/324/714 715/325/715 705/314/705 +f 705/314/705 715/325/715 716/326/716 706/315/706 +f 706/315/706 716/326/716 717/327/717 707/316/707 +f 707/316/707 717/327/717 718/328/718 708/317/708 +f 708/317/708 718/328/718 719/329/719 709/318/709 +f 709/318/709 719/329/719 720/330/720 710/319/710 +f 308/320/308 319/331/319 721/332/721 711/321/711 +f 711/321/711 721/332/721 722/333/722 712/322/712 +f 712/322/712 722/333/722 723/334/723 713/323/713 +f 713/323/713 723/334/723 724/335/724 714/324/714 +f 714/324/714 724/335/724 725/336/725 715/325/715 +f 715/325/715 725/336/725 726/337/726 716/326/716 +f 716/326/716 726/337/726 727/338/727 717/327/717 +f 717/327/717 727/338/727 728/339/728 718/328/718 +f 718/328/718 728/339/728 729/340/729 719/329/719 +f 719/329/719 729/340/729 730/341/730 720/330/720 +f 319/331/319 330/342/330 731/343/731 721/332/721 +f 721/332/721 731/343/731 732/344/732 722/333/722 +f 722/333/722 732/344/732 733/345/733 723/334/723 +f 723/334/723 733/345/733 734/346/734 724/335/724 +f 724/335/724 734/346/734 735/347/735 725/336/725 +f 725/336/725 735/347/735 736/348/736 726/337/726 +f 726/337/726 736/348/736 737/349/737 727/338/727 +f 727/338/727 737/349/737 738/350/738 728/339/728 +f 728/339/728 738/350/738 739/351/739 729/340/729 +f 729/340/729 739/351/739 740/352/740 730/341/730 +f 330/342/330 341/353/341 741/354/741 731/343/731 +f 731/343/731 741/354/741 742/355/742 732/344/732 +f 732/344/732 742/355/742 743/356/743 733/345/733 +f 733/345/733 743/356/743 744/357/744 734/346/734 +f 734/346/734 744/357/744 745/358/745 735/347/735 +f 735/347/735 745/358/745 746/359/746 736/348/736 +f 736/348/736 746/359/746 747/360/747 737/349/737 +f 737/349/737 747/360/747 748/361/748 738/350/738 +f 738/350/738 748/361/748 749/362/749 739/351/739 +f 739/351/739 749/362/749 750/363/750 740/352/740 +f 341/364/341 352/365/352 751/366/751 741/367/741 +f 741/367/741 751/366/751 752/368/752 742/369/742 +f 742/369/742 752/368/752 753/370/753 743/371/743 +f 743/371/743 753/370/753 754/372/754 744/373/744 +f 744/373/744 754/372/754 755/374/755 745/375/745 +f 745/375/745 755/374/755 756/376/756 746/377/746 +f 746/377/746 756/376/756 757/378/757 747/379/747 +f 747/379/747 757/378/757 758/380/758 748/381/748 +f 748/381/748 758/380/758 759/382/759 749/383/749 +f 749/383/749 759/382/759 760/384/760 750/385/750 +f 352/365/352 363/386/363 761/387/761 751/366/751 +f 751/366/751 761/387/761 762/388/762 752/368/752 +f 752/368/752 762/388/762 763/389/763 753/370/753 +f 753/370/753 763/389/763 764/390/764 754/372/754 +f 754/372/754 764/390/764 765/391/765 755/374/755 +f 755/374/755 765/391/765 766/392/766 756/376/756 +f 756/376/756 766/392/766 767/393/767 757/378/757 +f 757/378/757 767/393/767 768/394/768 758/380/758 +f 758/380/758 768/394/768 769/395/769 759/382/759 +f 759/382/759 769/395/769 770/396/770 760/384/760 +f 363/386/363 374/397/374 771/398/771 761/387/761 +f 761/387/761 771/398/771 772/399/772 762/388/762 +f 762/388/762 772/399/772 773/400/773 763/389/763 +f 763/389/763 773/400/773 774/401/774 764/390/764 +f 764/390/764 774/401/774 775/402/775 765/391/765 +f 765/391/765 775/402/775 776/403/776 766/392/766 +f 766/392/766 776/403/776 777/404/777 767/393/767 +f 767/393/767 777/404/777 778/405/778 768/394/768 +f 768/394/768 778/405/778 779/406/779 769/395/769 +f 769/395/769 779/406/779 780/407/780 770/396/770 +f 374/397/374 385/408/385 781/409/781 771/398/771 +f 771/398/771 781/409/781 782/410/782 772/399/772 +f 772/399/772 782/410/782 783/411/783 773/400/773 +f 773/400/773 783/411/783 784/412/784 774/401/774 +f 774/401/774 784/412/784 785/413/785 775/402/775 +f 775/402/775 785/413/785 786/414/786 776/403/776 +f 776/403/776 786/414/786 787/415/787 777/404/777 +f 777/404/777 787/415/787 788/416/788 778/405/778 +f 778/405/778 788/416/788 789/417/789 779/406/779 +f 779/406/779 789/417/789 790/418/790 780/407/780 +f 385/408/385 396/419/396 791/420/791 781/409/781 +f 781/409/781 791/420/791 792/421/792 782/410/782 +f 782/410/782 792/421/792 793/422/793 783/411/783 +f 783/411/783 793/422/793 794/423/794 784/412/784 +f 784/412/784 794/423/794 795/424/795 785/413/785 +f 785/413/785 795/424/795 796/425/796 786/414/786 +f 786/414/786 796/425/796 797/426/797 787/415/787 +f 787/415/787 797/426/797 798/427/798 788/416/788 +f 788/416/788 798/427/798 799/428/799 789/417/789 +f 789/417/789 799/428/799 800/429/800 790/418/790 +f 396/419/396 407/430/407 801/431/801 791/420/791 +f 791/420/791 801/431/801 802/432/802 792/421/792 +f 792/421/792 802/432/802 803/433/803 793/422/793 +f 793/422/793 803/433/803 804/434/804 794/423/794 +f 794/423/794 804/434/804 805/435/805 795/424/795 +f 795/424/795 805/435/805 806/436/806 796/425/796 +f 796/425/796 806/436/806 807/437/807 797/426/797 +f 797/426/797 807/437/807 808/438/808 798/427/798 +f 798/427/798 808/438/808 809/439/809 799/428/799 +f 799/428/799 809/439/809 810/440/810 800/429/800 +f 407/430/407 418/441/418 811/442/811 801/431/801 +f 801/431/801 811/442/811 812/443/812 802/432/802 +f 802/432/802 812/443/812 813/444/813 803/433/803 +f 803/433/803 813/444/813 814/445/814 804/434/804 +f 804/434/804 814/445/814 815/446/815 805/435/805 +f 805/435/805 815/446/815 816/447/816 806/436/806 +f 806/436/806 816/447/816 817/448/817 807/437/807 +f 807/437/807 817/448/817 818/449/818 808/438/808 +f 808/438/808 818/449/818 819/450/819 809/439/809 +f 809/439/809 819/450/819 820/451/820 810/440/810 +f 418/441/418 429/452/429 821/453/821 811/442/811 +f 811/442/811 821/453/821 822/454/822 812/443/812 +f 812/443/812 822/454/822 823/455/823 813/444/813 +f 813/444/813 823/455/823 824/456/824 814/445/814 +f 814/445/814 824/456/824 825/457/825 815/446/815 +f 815/446/815 825/457/825 826/458/826 816/447/816 +f 816/447/816 826/458/826 827/459/827 817/448/817 +f 817/448/817 827/459/827 828/460/828 818/449/818 +f 818/449/818 828/460/828 829/461/829 819/450/819 +f 819/450/819 829/461/829 830/462/830 820/451/820 +f 429/452/429 440/463/440 831/464/831 821/453/821 +f 821/453/821 831/464/831 832/465/832 822/454/822 +f 822/454/822 832/465/832 833/466/833 823/455/823 +f 823/455/823 833/466/833 834/467/834 824/456/824 +f 824/456/824 834/467/834 835/468/835 825/457/825 +f 825/457/825 835/468/835 836/469/836 826/458/826 +f 826/458/826 836/469/836 837/470/837 827/459/827 +f 827/459/827 837/470/837 838/471/838 828/460/828 +f 828/460/828 838/471/838 839/472/839 829/461/829 +f 829/461/829 839/472/839 840/473/840 830/462/830 +f 440/463/440 22/474/22 442/475/442 831/464/831 +f 831/464/831 442/475/442 444/476/444 832/465/832 +f 832/465/832 444/476/444 446/477/446 833/466/833 +f 833/466/833 446/477/446 448/478/448 834/467/834 +f 834/467/834 448/478/448 450/479/450 835/468/835 +f 835/468/835 450/479/450 452/480/452 836/469/836 +f 836/469/836 452/480/452 454/481/454 837/470/837 +f 837/470/837 454/481/454 456/482/456 838/471/838 +f 838/471/838 456/482/456 458/483/458 839/472/839 +f 839/472/839 458/483/458 460/484/460 840/473/840 +f 460/485/460 459/486/459 841/487/841 842/488/842 +f 842/488/842 841/487/841 843/489/843 844/490/844 +f 844/490/844 843/489/843 845/491/845 846/492/846 +f 846/492/846 845/491/845 847/493/847 848/494/848 +f 848/494/848 847/493/847 849/495/849 850/496/850 +f 850/496/850 849/495/849 851/497/851 852/498/852 +f 852/498/852 851/497/851 853/499/853 854/500/854 +f 854/500/854 853/499/853 855/501/855 856/502/856 +f 856/502/856 855/501/855 857/503/857 858/504/858 +f 858/504/858 857/503/857 859/505/859 860/506/860 +f 459/486/459 470/507/470 861/508/861 841/487/841 +f 841/487/841 861/508/861 862/509/862 843/489/843 +f 843/489/843 862/509/862 863/510/863 845/491/845 +f 845/491/845 863/510/863 864/511/864 847/493/847 +f 847/493/847 864/511/864 865/512/865 849/495/849 +f 849/495/849 865/512/865 866/513/866 851/497/851 +f 851/497/851 866/513/866 867/514/867 853/499/853 +f 853/499/853 867/514/867 868/515/868 855/501/855 +f 855/501/855 868/515/868 869/516/869 857/503/857 +f 857/503/857 869/516/869 870/517/870 859/505/859 +f 470/507/470 480/518/480 871/519/871 861/508/861 +f 861/508/861 871/519/871 872/520/872 862/509/862 +f 862/509/862 872/520/872 873/521/873 863/510/863 +f 863/510/863 873/521/873 874/522/874 864/511/864 +f 864/511/864 874/522/874 875/523/875 865/512/865 +f 865/512/865 875/523/875 876/524/876 866/513/866 +f 866/513/866 876/524/876 877/525/877 867/514/867 +f 867/514/867 877/525/877 878/526/878 868/515/868 +f 868/515/868 878/526/878 879/527/879 869/516/869 +f 869/516/869 879/527/879 880/528/880 870/517/870 +f 480/518/480 490/529/490 881/530/881 871/519/871 +f 871/519/871 881/530/881 882/531/882 872/520/872 +f 872/520/872 882/531/882 883/532/883 873/521/873 +f 873/521/873 883/532/883 884/533/884 874/522/874 +f 874/522/874 884/533/884 885/534/885 875/523/875 +f 875/523/875 885/534/885 886/535/886 876/524/876 +f 876/524/876 886/535/886 887/536/887 877/525/877 +f 877/525/877 887/536/887 888/537/888 878/526/878 +f 878/526/878 888/537/888 889/538/889 879/527/879 +f 879/527/879 889/538/889 890/539/890 880/528/880 +f 490/529/490 500/540/500 891/541/891 881/530/881 +f 881/530/881 891/541/891 892/542/892 882/531/882 +f 882/531/882 892/542/892 893/543/893 883/532/883 +f 883/532/883 893/543/893 894/544/894 884/533/884 +f 884/533/884 894/544/894 895/545/895 885/534/885 +f 885/534/885 895/545/895 896/546/896 886/535/886 +f 886/535/886 896/546/896 897/547/897 887/536/887 +f 887/536/887 897/547/897 898/548/898 888/537/888 +f 888/537/888 898/548/898 899/549/899 889/538/889 +f 889/538/889 899/549/899 900/550/900 890/539/890 +f 500/540/500 510/551/510 901/552/901 891/541/891 +f 891/541/891 901/552/901 902/553/902 892/542/892 +f 892/542/892 902/553/902 903/554/903 893/543/893 +f 893/543/893 903/554/903 904/555/904 894/544/894 +f 894/544/894 904/555/904 905/556/905 895/545/895 +f 895/545/895 905/556/905 906/557/906 896/546/896 +f 896/546/896 906/557/906 907/558/907 897/547/897 +f 897/547/897 907/558/907 908/559/908 898/548/898 +f 898/548/898 908/559/908 909/560/909 899/549/899 +f 899/549/899 909/560/909 910/561/910 900/550/900 +f 510/551/510 520/562/520 911/563/911 901/552/901 +f 901/552/901 911/563/911 912/564/912 902/553/902 +f 902/553/902 912/564/912 913/565/913 903/554/903 +f 903/554/903 913/565/913 914/566/914 904/555/904 +f 904/555/904 914/566/914 915/567/915 905/556/905 +f 905/556/905 915/567/915 916/568/916 906/557/906 +f 906/557/906 916/568/916 917/569/917 907/558/907 +f 907/558/907 917/569/917 918/570/918 908/559/908 +f 908/559/908 918/570/918 919/571/919 909/560/909 +f 909/560/909 919/571/919 920/572/920 910/561/910 +f 520/562/520 530/573/530 921/574/921 911/563/911 +f 911/563/911 921/574/921 922/575/922 912/564/912 +f 912/564/912 922/575/922 923/576/923 913/565/913 +f 913/565/913 923/576/923 924/577/924 914/566/914 +f 914/566/914 924/577/924 925/578/925 915/567/915 +f 915/567/915 925/578/925 926/579/926 916/568/916 +f 916/568/916 926/579/926 927/580/927 917/569/917 +f 917/569/917 927/580/927 928/581/928 918/570/918 +f 918/570/918 928/581/928 929/582/929 919/571/919 +f 919/571/919 929/582/929 930/583/930 920/572/920 +f 530/573/530 540/584/540 931/585/931 921/574/921 +f 921/574/921 931/585/931 932/586/932 922/575/922 +f 922/575/922 932/586/932 933/587/933 923/576/923 +f 923/576/923 933/587/933 934/588/934 924/577/924 +f 924/577/924 934/588/934 935/589/935 925/578/925 +f 925/578/925 935/589/935 936/590/936 926/579/926 +f 926/579/926 936/590/936 937/591/937 927/580/927 +f 927/580/927 937/591/937 938/592/938 928/581/928 +f 928/581/928 938/592/938 939/593/939 929/582/929 +f 929/582/929 939/593/939 940/594/940 930/583/930 +f 540/584/540 550/595/550 941/596/941 931/585/931 +f 931/585/931 941/596/941 942/597/942 932/586/932 +f 932/586/932 942/597/942 943/598/943 933/587/933 +f 933/587/933 943/598/943 944/599/944 934/588/934 +f 934/588/934 944/599/944 945/600/945 935/589/935 +f 935/589/935 945/600/945 946/601/946 936/590/936 +f 936/590/936 946/601/946 947/602/947 937/591/937 +f 937/591/937 947/602/947 948/603/948 938/592/938 +f 938/592/938 948/603/948 949/604/949 939/593/939 +f 939/593/939 949/604/949 950/605/950 940/594/940 +f 550/606/550 560/607/560 951/608/951 941/609/941 +f 941/609/941 951/608/951 952/610/952 942/611/942 +f 942/611/942 952/610/952 953/612/953 943/613/943 +f 943/613/943 953/612/953 954/614/954 944/615/944 +f 944/615/944 954/614/954 955/616/955 945/617/945 +f 945/617/945 955/616/955 956/618/956 946/619/946 +f 946/619/946 956/618/956 957/620/957 947/621/947 +f 947/621/947 957/620/957 958/622/958 948/623/948 +f 948/623/948 958/622/958 959/624/959 949/625/949 +f 949/625/949 959/624/959 960/626/960 950/627/950 +f 560/607/560 570/628/570 961/629/961 951/608/951 +f 951/608/951 961/629/961 962/630/962 952/610/952 +f 952/610/952 962/630/962 963/631/963 953/612/953 +f 953/612/953 963/631/963 964/632/964 954/614/954 +f 954/614/954 964/632/964 965/633/965 955/616/955 +f 955/616/955 965/633/965 966/634/966 956/618/956 +f 956/618/956 966/634/966 967/635/967 957/620/957 +f 957/620/957 967/635/967 968/636/968 958/622/958 +f 958/622/958 968/636/968 969/637/969 959/624/959 +f 959/624/959 969/637/969 970/638/970 960/626/960 +f 570/628/570 580/639/580 971/640/971 961/629/961 +f 961/629/961 971/640/971 972/641/972 962/630/962 +f 962/630/962 972/641/972 973/642/973 963/631/963 +f 963/631/963 973/642/973 974/643/974 964/632/964 +f 964/632/964 974/643/974 975/644/975 965/633/965 +f 965/633/965 975/644/975 976/645/976 966/634/966 +f 966/634/966 976/645/976 977/646/977 967/635/967 +f 967/635/967 977/646/977 978/647/978 968/636/968 +f 968/636/968 978/647/978 979/648/979 969/637/969 +f 969/637/969 979/648/979 980/649/980 970/638/970 +f 580/639/580 590/650/590 981/651/981 971/640/971 +f 971/640/971 981/651/981 982/652/982 972/641/972 +f 972/641/972 982/652/982 983/653/983 973/642/973 +f 973/642/973 983/653/983 984/654/984 974/643/974 +f 974/643/974 984/654/984 985/655/985 975/644/975 +f 975/644/975 985/655/985 986/656/986 976/645/976 +f 976/645/976 986/656/986 987/657/987 977/646/977 +f 977/646/977 987/657/987 988/658/988 978/647/978 +f 978/647/978 988/658/988 989/659/989 979/648/979 +f 979/648/979 989/659/989 990/660/990 980/649/980 +f 590/650/590 600/661/600 991/662/991 981/651/981 +f 981/651/981 991/662/991 992/663/992 982/652/982 +f 982/652/982 992/663/992 993/664/993 983/653/983 +f 983/653/983 993/664/993 994/665/994 984/654/984 +f 984/654/984 994/665/994 995/666/995 985/655/985 +f 985/655/985 995/666/995 996/667/996 986/656/986 +f 986/656/986 996/667/996 997/668/997 987/657/987 +f 987/657/987 997/668/997 998/669/998 988/658/988 +f 988/658/988 998/669/998 999/670/999 989/659/989 +f 989/659/989 999/670/999 1000/671/1000 990/660/990 +f 600/661/600 610/672/610 1001/673/1001 991/662/991 +f 991/662/991 1001/673/1001 1002/674/1002 992/663/992 +f 992/663/992 1002/674/1002 1003/675/1003 993/664/993 +f 993/664/993 1003/675/1003 1004/676/1004 994/665/994 +f 994/665/994 1004/676/1004 1005/677/1005 995/666/995 +f 995/666/995 1005/677/1005 1006/678/1006 996/667/996 +f 996/667/996 1006/678/1006 1007/679/1007 997/668/997 +f 997/668/997 1007/679/1007 1008/680/1008 998/669/998 +f 998/669/998 1008/680/1008 1009/681/1009 999/670/999 +f 999/670/999 1009/681/1009 1010/682/1010 1000/671/1000 +f 610/672/610 620/683/620 1011/684/1011 1001/673/1001 +f 1001/673/1001 1011/684/1011 1012/685/1012 1002/674/1002 +f 1002/674/1002 1012/685/1012 1013/686/1013 1003/675/1003 +f 1003/675/1003 1013/686/1013 1014/687/1014 1004/676/1004 +f 1004/676/1004 1014/687/1014 1015/688/1015 1005/677/1005 +f 1005/677/1005 1015/688/1015 1016/689/1016 1006/678/1006 +f 1006/678/1006 1016/689/1016 1017/690/1017 1007/679/1007 +f 1007/679/1007 1017/690/1017 1018/691/1018 1008/680/1008 +f 1008/680/1008 1018/691/1018 1019/692/1019 1009/681/1009 +f 1009/681/1009 1019/692/1019 1020/693/1020 1010/682/1010 +f 620/683/620 630/694/630 1021/695/1021 1011/684/1011 +f 1011/684/1011 1021/695/1021 1022/696/1022 1012/685/1012 +f 1012/685/1012 1022/696/1022 1023/697/1023 1013/686/1013 +f 1013/686/1013 1023/697/1023 1024/698/1024 1014/687/1014 +f 1014/687/1014 1024/698/1024 1025/699/1025 1015/688/1015 +f 1015/688/1015 1025/699/1025 1026/700/1026 1016/689/1016 +f 1016/689/1016 1026/700/1026 1027/701/1027 1017/690/1017 +f 1017/690/1017 1027/701/1027 1028/702/1028 1018/691/1018 +f 1018/691/1018 1028/702/1028 1029/703/1029 1019/692/1019 +f 1019/692/1019 1029/703/1029 1030/704/1030 1020/693/1020 +f 630/694/630 640/705/640 1031/706/1031 1021/695/1021 +f 1021/695/1021 1031/706/1031 1032/707/1032 1022/696/1022 +f 1022/696/1022 1032/707/1032 1033/708/1033 1023/697/1023 +f 1023/697/1023 1033/708/1033 1034/709/1034 1024/698/1024 +f 1024/698/1024 1034/709/1034 1035/710/1035 1025/699/1025 +f 1025/699/1025 1035/710/1035 1036/711/1036 1026/700/1026 +f 1026/700/1026 1036/711/1036 1037/712/1037 1027/701/1027 +f 1027/701/1027 1037/712/1037 1038/713/1038 1028/702/1028 +f 1028/702/1028 1038/713/1038 1039/714/1039 1029/703/1029 +f 1029/703/1029 1039/714/1039 1040/715/1040 1030/704/1030 +f 640/705/640 650/716/650 1041/717/1041 1031/706/1031 +f 1031/706/1031 1041/717/1041 1042/718/1042 1032/707/1032 +f 1032/707/1032 1042/718/1042 1043/719/1043 1033/708/1033 +f 1033/708/1033 1043/719/1043 1044/720/1044 1034/709/1034 +f 1034/709/1034 1044/720/1044 1045/721/1045 1035/710/1035 +f 1035/710/1035 1045/721/1045 1046/722/1046 1036/711/1036 +f 1036/711/1036 1046/722/1046 1047/723/1047 1037/712/1037 +f 1037/712/1037 1047/723/1047 1048/724/1048 1038/713/1038 +f 1038/713/1038 1048/724/1048 1049/725/1049 1039/714/1039 +f 1039/714/1039 1049/725/1049 1050/726/1050 1040/715/1040 +f 650/485/650 660/486/660 1051/487/1051 1041/488/1041 +f 1041/488/1041 1051/487/1051 1052/489/1052 1042/490/1042 +f 1042/490/1042 1052/489/1052 1053/491/1053 1043/492/1043 +f 1043/492/1043 1053/491/1053 1054/493/1054 1044/494/1044 +f 1044/494/1044 1054/493/1054 1055/495/1055 1045/496/1045 +f 1045/496/1045 1055/495/1055 1056/497/1056 1046/498/1046 +f 1046/498/1046 1056/497/1056 1057/499/1057 1047/500/1047 +f 1047/500/1047 1057/499/1057 1058/501/1058 1048/502/1048 +f 1048/502/1048 1058/501/1058 1059/503/1059 1049/504/1049 +f 1049/504/1049 1059/503/1059 1060/505/1060 1050/506/1050 +f 660/486/660 670/507/670 1061/508/1061 1051/487/1051 +f 1051/487/1051 1061/508/1061 1062/509/1062 1052/489/1052 +f 1052/489/1052 1062/509/1062 1063/510/1063 1053/491/1053 +f 1053/491/1053 1063/510/1063 1064/511/1064 1054/493/1054 +f 1054/493/1054 1064/511/1064 1065/512/1065 1055/495/1055 +f 1055/495/1055 1065/512/1065 1066/513/1066 1056/497/1056 +f 1056/497/1056 1066/513/1066 1067/514/1067 1057/499/1057 +f 1057/499/1057 1067/514/1067 1068/515/1068 1058/501/1058 +f 1058/501/1058 1068/515/1068 1069/516/1069 1059/503/1059 +f 1059/503/1059 1069/516/1069 1070/517/1070 1060/505/1060 +f 670/507/670 680/518/680 1071/519/1071 1061/508/1061 +f 1061/508/1061 1071/519/1071 1072/520/1072 1062/509/1062 +f 1062/509/1062 1072/520/1072 1073/521/1073 1063/510/1063 +f 1063/510/1063 1073/521/1073 1074/522/1074 1064/511/1064 +f 1064/511/1064 1074/522/1074 1075/523/1075 1065/512/1065 +f 1065/512/1065 1075/523/1075 1076/524/1076 1066/513/1066 +f 1066/513/1066 1076/524/1076 1077/525/1077 1067/514/1067 +f 1067/514/1067 1077/525/1077 1078/526/1078 1068/515/1068 +f 1068/515/1068 1078/526/1078 1079/527/1079 1069/516/1069 +f 1069/516/1069 1079/527/1079 1080/528/1080 1070/517/1070 +f 680/518/680 690/529/690 1081/530/1081 1071/519/1071 +f 1071/519/1071 1081/530/1081 1082/531/1082 1072/520/1072 +f 1072/520/1072 1082/531/1082 1083/532/1083 1073/521/1073 +f 1073/521/1073 1083/532/1083 1084/533/1084 1074/522/1074 +f 1074/522/1074 1084/533/1084 1085/534/1085 1075/523/1075 +f 1075/523/1075 1085/534/1085 1086/535/1086 1076/524/1076 +f 1076/524/1076 1086/535/1086 1087/536/1087 1077/525/1077 +f 1077/525/1077 1087/536/1087 1088/537/1088 1078/526/1078 +f 1078/526/1078 1088/537/1088 1089/538/1089 1079/527/1079 +f 1079/527/1079 1089/538/1089 1090/539/1090 1080/528/1080 +f 690/529/690 700/540/700 1091/541/1091 1081/530/1081 +f 1081/530/1081 1091/541/1091 1092/542/1092 1082/531/1082 +f 1082/531/1082 1092/542/1092 1093/543/1093 1083/532/1083 +f 1083/532/1083 1093/543/1093 1094/544/1094 1084/533/1084 +f 1084/533/1084 1094/544/1094 1095/545/1095 1085/534/1085 +f 1085/534/1085 1095/545/1095 1096/546/1096 1086/535/1086 +f 1086/535/1086 1096/546/1096 1097/547/1097 1087/536/1087 +f 1087/536/1087 1097/547/1097 1098/548/1098 1088/537/1088 +f 1088/537/1088 1098/548/1098 1099/549/1099 1089/538/1089 +f 1089/538/1089 1099/549/1099 1100/550/1100 1090/539/1090 +f 700/540/700 710/551/710 1101/552/1101 1091/541/1091 +f 1091/541/1091 1101/552/1101 1102/553/1102 1092/542/1092 +f 1092/542/1092 1102/553/1102 1103/554/1103 1093/543/1093 +f 1093/543/1093 1103/554/1103 1104/555/1104 1094/544/1094 +f 1094/544/1094 1104/555/1104 1105/556/1105 1095/545/1095 +f 1095/545/1095 1105/556/1105 1106/557/1106 1096/546/1096 +f 1096/546/1096 1106/557/1106 1107/558/1107 1097/547/1097 +f 1097/547/1097 1107/558/1107 1108/559/1108 1098/548/1098 +f 1098/548/1098 1108/559/1108 1109/560/1109 1099/549/1099 +f 1099/549/1099 1109/560/1109 1110/561/1110 1100/550/1100 +f 710/551/710 720/562/720 1111/563/1111 1101/552/1101 +f 1101/552/1101 1111/563/1111 1112/564/1112 1102/553/1102 +f 1102/553/1102 1112/564/1112 1113/565/1113 1103/554/1103 +f 1103/554/1103 1113/565/1113 1114/566/1114 1104/555/1104 +f 1104/555/1104 1114/566/1114 1115/567/1115 1105/556/1105 +f 1105/556/1105 1115/567/1115 1116/568/1116 1106/557/1106 +f 1106/557/1106 1116/568/1116 1117/569/1117 1107/558/1107 +f 1107/558/1107 1117/569/1117 1118/570/1118 1108/559/1108 +f 1108/559/1108 1118/570/1118 1119/571/1119 1109/560/1109 +f 1109/560/1109 1119/571/1119 1120/572/1120 1110/561/1110 +f 720/562/720 730/573/730 1121/574/1121 1111/563/1111 +f 1111/563/1111 1121/574/1121 1122/575/1122 1112/564/1112 +f 1112/564/1112 1122/575/1122 1123/576/1123 1113/565/1113 +f 1113/565/1113 1123/576/1123 1124/577/1124 1114/566/1114 +f 1114/566/1114 1124/577/1124 1125/578/1125 1115/567/1115 +f 1115/567/1115 1125/578/1125 1126/579/1126 1116/568/1116 +f 1116/568/1116 1126/579/1126 1127/580/1127 1117/569/1117 +f 1117/569/1117 1127/580/1127 1128/581/1128 1118/570/1118 +f 1118/570/1118 1128/581/1128 1129/582/1129 1119/571/1119 +f 1119/571/1119 1129/582/1129 1130/583/1130 1120/572/1120 +f 730/573/730 740/584/740 1131/585/1131 1121/574/1121 +f 1121/574/1121 1131/585/1131 1132/586/1132 1122/575/1122 +f 1122/575/1122 1132/586/1132 1133/587/1133 1123/576/1123 +f 1123/576/1123 1133/587/1133 1134/588/1134 1124/577/1124 +f 1124/577/1124 1134/588/1134 1135/589/1135 1125/578/1125 +f 1125/578/1125 1135/589/1135 1136/590/1136 1126/579/1126 +f 1126/579/1126 1136/590/1136 1137/591/1137 1127/580/1127 +f 1127/580/1127 1137/591/1137 1138/592/1138 1128/581/1128 +f 1128/581/1128 1138/592/1138 1139/593/1139 1129/582/1129 +f 1129/582/1129 1139/593/1139 1140/594/1140 1130/583/1130 +f 740/584/740 750/595/750 1141/596/1141 1131/585/1131 +f 1131/585/1131 1141/596/1141 1142/597/1142 1132/586/1132 +f 1132/586/1132 1142/597/1142 1143/598/1143 1133/587/1133 +f 1133/587/1133 1143/598/1143 1144/599/1144 1134/588/1134 +f 1134/588/1134 1144/599/1144 1145/600/1145 1135/589/1135 +f 1135/589/1135 1145/600/1145 1146/601/1146 1136/590/1136 +f 1136/590/1136 1146/601/1146 1147/602/1147 1137/591/1137 +f 1137/591/1137 1147/602/1147 1148/603/1148 1138/592/1138 +f 1138/592/1138 1148/603/1148 1149/604/1149 1139/593/1139 +f 1139/593/1139 1149/604/1149 1150/605/1150 1140/594/1140 +f 750/606/750 760/607/760 1151/608/1151 1141/609/1141 +f 1141/609/1141 1151/608/1151 1152/610/1152 1142/611/1142 +f 1142/611/1142 1152/610/1152 1153/612/1153 1143/613/1143 +f 1143/613/1143 1153/612/1153 1154/614/1154 1144/615/1144 +f 1144/615/1144 1154/614/1154 1155/616/1155 1145/617/1145 +f 1145/617/1145 1155/616/1155 1156/618/1156 1146/619/1146 +f 1146/619/1146 1156/618/1156 1157/620/1157 1147/621/1147 +f 1147/621/1147 1157/620/1157 1158/622/1158 1148/623/1148 +f 1148/623/1148 1158/622/1158 1159/624/1159 1149/625/1149 +f 1149/625/1149 1159/624/1159 1160/626/1160 1150/627/1150 +f 760/607/760 770/628/770 1161/629/1161 1151/608/1151 +f 1151/608/1151 1161/629/1161 1162/630/1162 1152/610/1152 +f 1152/610/1152 1162/630/1162 1163/631/1163 1153/612/1153 +f 1153/612/1153 1163/631/1163 1164/632/1164 1154/614/1154 +f 1154/614/1154 1164/632/1164 1165/633/1165 1155/616/1155 +f 1155/616/1155 1165/633/1165 1166/634/1166 1156/618/1156 +f 1156/618/1156 1166/634/1166 1167/635/1167 1157/620/1157 +f 1157/620/1157 1167/635/1167 1168/636/1168 1158/622/1158 +f 1158/622/1158 1168/636/1168 1169/637/1169 1159/624/1159 +f 1159/624/1159 1169/637/1169 1170/638/1170 1160/626/1160 +f 770/628/770 780/639/780 1171/640/1171 1161/629/1161 +f 1161/629/1161 1171/640/1171 1172/641/1172 1162/630/1162 +f 1162/630/1162 1172/641/1172 1173/642/1173 1163/631/1163 +f 1163/631/1163 1173/642/1173 1174/643/1174 1164/632/1164 +f 1164/632/1164 1174/643/1174 1175/644/1175 1165/633/1165 +f 1165/633/1165 1175/644/1175 1176/645/1176 1166/634/1166 +f 1166/634/1166 1176/645/1176 1177/646/1177 1167/635/1167 +f 1167/635/1167 1177/646/1177 1178/647/1178 1168/636/1168 +f 1168/636/1168 1178/647/1178 1179/648/1179 1169/637/1169 +f 1169/637/1169 1179/648/1179 1180/649/1180 1170/638/1170 +f 780/639/780 790/650/790 1181/651/1181 1171/640/1171 +f 1171/640/1171 1181/651/1181 1182/652/1182 1172/641/1172 +f 1172/641/1172 1182/652/1182 1183/653/1183 1173/642/1173 +f 1173/642/1173 1183/653/1183 1184/654/1184 1174/643/1174 +f 1174/643/1174 1184/654/1184 1185/655/1185 1175/644/1175 +f 1175/644/1175 1185/655/1185 1186/656/1186 1176/645/1176 +f 1176/645/1176 1186/656/1186 1187/657/1187 1177/646/1177 +f 1177/646/1177 1187/657/1187 1188/658/1188 1178/647/1178 +f 1178/647/1178 1188/658/1188 1189/659/1189 1179/648/1179 +f 1179/648/1179 1189/659/1189 1190/660/1190 1180/649/1180 +f 790/650/790 800/661/800 1191/662/1191 1181/651/1181 +f 1181/651/1181 1191/662/1191 1192/663/1192 1182/652/1182 +f 1182/652/1182 1192/663/1192 1193/664/1193 1183/653/1183 +f 1183/653/1183 1193/664/1193 1194/665/1194 1184/654/1184 +f 1184/654/1184 1194/665/1194 1195/666/1195 1185/655/1185 +f 1185/655/1185 1195/666/1195 1196/667/1196 1186/656/1186 +f 1186/656/1186 1196/667/1196 1197/668/1197 1187/657/1187 +f 1187/657/1187 1197/668/1197 1198/669/1198 1188/658/1188 +f 1188/658/1188 1198/669/1198 1199/670/1199 1189/659/1189 +f 1189/659/1189 1199/670/1199 1200/671/1200 1190/660/1190 +f 800/661/800 810/672/810 1201/673/1201 1191/662/1191 +f 1191/662/1191 1201/673/1201 1202/674/1202 1192/663/1192 +f 1192/663/1192 1202/674/1202 1203/675/1203 1193/664/1193 +f 1193/664/1193 1203/675/1203 1204/676/1204 1194/665/1194 +f 1194/665/1194 1204/676/1204 1205/677/1205 1195/666/1195 +f 1195/666/1195 1205/677/1205 1206/678/1206 1196/667/1196 +f 1196/667/1196 1206/678/1206 1207/679/1207 1197/668/1197 +f 1197/668/1197 1207/679/1207 1208/680/1208 1198/669/1198 +f 1198/669/1198 1208/680/1208 1209/681/1209 1199/670/1199 +f 1199/670/1199 1209/681/1209 1210/682/1210 1200/671/1200 +f 810/672/810 820/683/820 1211/684/1211 1201/673/1201 +f 1201/673/1201 1211/684/1211 1212/685/1212 1202/674/1202 +f 1202/674/1202 1212/685/1212 1213/686/1213 1203/675/1203 +f 1203/675/1203 1213/686/1213 1214/687/1214 1204/676/1204 +f 1204/676/1204 1214/687/1214 1215/688/1215 1205/677/1205 +f 1205/677/1205 1215/688/1215 1216/689/1216 1206/678/1206 +f 1206/678/1206 1216/689/1216 1217/690/1217 1207/679/1207 +f 1207/679/1207 1217/690/1217 1218/691/1218 1208/680/1208 +f 1208/680/1208 1218/691/1218 1219/692/1219 1209/681/1209 +f 1209/681/1209 1219/692/1219 1220/693/1220 1210/682/1210 +f 820/683/820 830/694/830 1221/695/1221 1211/684/1211 +f 1211/684/1211 1221/695/1221 1222/696/1222 1212/685/1212 +f 1212/685/1212 1222/696/1222 1223/697/1223 1213/686/1213 +f 1213/686/1213 1223/697/1223 1224/698/1224 1214/687/1214 +f 1214/687/1214 1224/698/1224 1225/699/1225 1215/688/1215 +f 1215/688/1215 1225/699/1225 1226/700/1226 1216/689/1216 +f 1216/689/1216 1226/700/1226 1227/701/1227 1217/690/1217 +f 1217/690/1217 1227/701/1227 1228/702/1228 1218/691/1218 +f 1218/691/1218 1228/702/1228 1229/703/1229 1219/692/1219 +f 1219/692/1219 1229/703/1229 1230/704/1230 1220/693/1220 +f 830/694/830 840/705/840 1231/706/1231 1221/695/1221 +f 1221/695/1221 1231/706/1231 1232/707/1232 1222/696/1222 +f 1222/696/1222 1232/707/1232 1233/708/1233 1223/697/1223 +f 1223/697/1223 1233/708/1233 1234/709/1234 1224/698/1224 +f 1224/698/1224 1234/709/1234 1235/710/1235 1225/699/1225 +f 1225/699/1225 1235/710/1235 1236/711/1236 1226/700/1226 +f 1226/700/1226 1236/711/1236 1237/712/1237 1227/701/1227 +f 1227/701/1227 1237/712/1237 1238/713/1238 1228/702/1228 +f 1228/702/1228 1238/713/1238 1239/714/1239 1229/703/1229 +f 1229/703/1229 1239/714/1239 1240/715/1240 1230/704/1230 +f 840/705/840 460/716/460 842/717/842 1231/706/1231 +f 1231/706/1231 842/717/842 844/718/844 1232/707/1232 +f 1232/707/1232 844/718/844 846/719/846 1233/708/1233 +f 1233/708/1233 846/719/846 848/720/848 1234/709/1234 +f 1234/709/1234 848/720/848 850/721/850 1235/710/1235 +f 1235/710/1235 850/721/850 852/722/852 1236/711/1236 +f 1236/711/1236 852/722/852 854/723/854 1237/712/1237 +f 1237/712/1237 854/723/854 856/724/856 1238/713/1238 +f 1238/713/1238 856/724/856 858/725/858 1239/714/1239 +f 1239/714/1239 858/725/858 860/726/860 1240/715/1240 +f 860/727/860 859/728/859 1241/729/1241 1242/730/1242 +f 1242/730/1242 1241/729/1241 1243/731/1243 1244/732/1244 +f 1244/732/1244 1243/731/1243 1245/733/1245 1246/734/1246 +f 1246/734/1246 1245/733/1245 1247/735/1247 1248/736/1248 +f 1248/736/1248 1247/735/1247 1249/737/1249 1250/738/1250 +f 1250/738/1250 1249/737/1249 1251/739/1251 1252/740/1252 +f 1252/740/1252 1251/739/1251 1253/741/1253 1254/742/1254 +f 1254/742/1254 1253/741/1253 1255/743/1255 1256/744/1256 +f 1256/744/1256 1255/743/1255 1257/745/1257 1258/746/1258 +f 1258/746/1258 1257/745/1257 1259/747/1259 +f 859/728/859 870/748/870 1260/749/1260 1241/729/1241 +f 1241/729/1241 1260/749/1260 1261/750/1261 1243/731/1243 +f 1243/731/1243 1261/750/1261 1262/751/1262 1245/733/1245 +f 1245/733/1245 1262/751/1262 1263/752/1263 1247/735/1247 +f 1247/735/1247 1263/752/1263 1264/753/1264 1249/737/1249 +f 1249/737/1249 1264/753/1264 1265/754/1265 1251/739/1251 +f 1251/739/1251 1265/754/1265 1266/755/1266 1253/741/1253 +f 1253/741/1253 1266/755/1266 1267/756/1267 1255/743/1255 +f 1255/743/1255 1267/756/1267 1268/757/1268 1257/745/1257 +f 1257/745/1257 1268/757/1268 1259/758/1259 +f 870/748/870 880/759/880 1269/760/1269 1260/749/1260 +f 1260/749/1260 1269/760/1269 1270/761/1270 1261/750/1261 +f 1261/750/1261 1270/761/1270 1271/762/1271 1262/751/1262 +f 1262/751/1262 1271/762/1271 1272/763/1272 1263/752/1263 +f 1263/752/1263 1272/763/1272 1273/764/1273 1264/753/1264 +f 1264/753/1264 1273/764/1273 1274/765/1274 1265/754/1265 +f 1265/754/1265 1274/765/1274 1275/766/1275 1266/755/1266 +f 1266/755/1266 1275/766/1275 1276/767/1276 1267/756/1267 +f 1267/756/1267 1276/767/1276 1277/768/1277 1268/757/1268 +f 1268/757/1268 1277/768/1277 1259/769/1259 +f 880/759/880 890/770/890 1278/771/1278 1269/760/1269 +f 1269/760/1269 1278/771/1278 1279/772/1279 1270/761/1270 +f 1270/761/1270 1279/772/1279 1280/773/1280 1271/762/1271 +f 1271/762/1271 1280/773/1280 1281/774/1281 1272/763/1272 +f 1272/763/1272 1281/774/1281 1282/775/1282 1273/764/1273 +f 1273/764/1273 1282/775/1282 1283/776/1283 1274/765/1274 +f 1274/765/1274 1283/776/1283 1284/777/1284 1275/766/1275 +f 1275/766/1275 1284/777/1284 1285/778/1285 1276/767/1276 +f 1276/767/1276 1285/778/1285 1286/779/1286 1277/768/1277 +f 1277/768/1277 1286/779/1286 1259/780/1259 +f 890/770/890 900/781/900 1287/782/1287 1278/771/1278 +f 1278/771/1278 1287/782/1287 1288/783/1288 1279/772/1279 +f 1279/772/1279 1288/783/1288 1289/784/1289 1280/773/1280 +f 1280/773/1280 1289/784/1289 1290/785/1290 1281/774/1281 +f 1281/774/1281 1290/785/1290 1291/786/1291 1282/775/1282 +f 1282/775/1282 1291/786/1291 1292/787/1292 1283/776/1283 +f 1283/776/1283 1292/787/1292 1293/788/1293 1284/777/1284 +f 1284/777/1284 1293/788/1293 1294/789/1294 1285/778/1285 +f 1285/778/1285 1294/789/1294 1295/790/1295 1286/779/1286 +f 1286/779/1286 1295/790/1295 1259/791/1259 +f 900/781/900 910/792/910 1296/793/1296 1287/782/1287 +f 1287/782/1287 1296/793/1296 1297/794/1297 1288/783/1288 +f 1288/783/1288 1297/794/1297 1298/795/1298 1289/784/1289 +f 1289/784/1289 1298/795/1298 1299/796/1299 1290/785/1290 +f 1290/785/1290 1299/796/1299 1300/797/1300 1291/786/1291 +f 1291/786/1291 1300/797/1300 1301/798/1301 1292/787/1292 +f 1292/787/1292 1301/798/1301 1302/799/1302 1293/788/1293 +f 1293/788/1293 1302/799/1302 1303/800/1303 1294/789/1294 +f 1294/789/1294 1303/800/1303 1304/801/1304 1295/790/1295 +f 1295/790/1295 1304/801/1304 1259/802/1259 +f 910/792/910 920/803/920 1305/804/1305 1296/793/1296 +f 1296/793/1296 1305/804/1305 1306/805/1306 1297/794/1297 +f 1297/794/1297 1306/805/1306 1307/806/1307 1298/795/1298 +f 1298/795/1298 1307/806/1307 1308/807/1308 1299/796/1299 +f 1299/796/1299 1308/807/1308 1309/808/1309 1300/797/1300 +f 1300/797/1300 1309/808/1309 1310/809/1310 1301/798/1301 +f 1301/798/1301 1310/809/1310 1311/810/1311 1302/799/1302 +f 1302/799/1302 1311/810/1311 1312/811/1312 1303/800/1303 +f 1303/800/1303 1312/811/1312 1313/812/1313 1304/801/1304 +f 1304/801/1304 1313/812/1313 1259/813/1259 +f 920/803/920 930/814/930 1314/815/1314 1305/804/1305 +f 1305/804/1305 1314/815/1314 1315/816/1315 1306/805/1306 +f 1306/805/1306 1315/816/1315 1316/817/1316 1307/806/1307 +f 1307/806/1307 1316/817/1316 1317/818/1317 1308/807/1308 +f 1308/807/1308 1317/818/1317 1318/819/1318 1309/808/1309 +f 1309/808/1309 1318/819/1318 1319/820/1319 1310/809/1310 +f 1310/809/1310 1319/820/1319 1320/821/1320 1311/810/1311 +f 1311/810/1311 1320/821/1320 1321/822/1321 1312/811/1312 +f 1312/811/1312 1321/822/1321 1322/823/1322 1313/812/1313 +f 1313/812/1313 1322/823/1322 1259/824/1259 +f 930/814/930 940/825/940 1323/826/1323 1314/815/1314 +f 1314/815/1314 1323/826/1323 1324/827/1324 1315/816/1315 +f 1315/816/1315 1324/827/1324 1325/828/1325 1316/817/1316 +f 1316/817/1316 1325/828/1325 1326/829/1326 1317/818/1317 +f 1317/818/1317 1326/829/1326 1327/830/1327 1318/819/1318 +f 1318/819/1318 1327/830/1327 1328/831/1328 1319/820/1319 +f 1319/820/1319 1328/831/1328 1329/832/1329 1320/821/1320 +f 1320/821/1320 1329/832/1329 1330/833/1330 1321/822/1321 +f 1321/822/1321 1330/833/1330 1331/834/1331 1322/823/1322 +f 1322/823/1322 1331/834/1331 1259/835/1259 +f 940/825/940 950/836/950 1332/837/1332 1323/826/1323 +f 1323/826/1323 1332/837/1332 1333/838/1333 1324/827/1324 +f 1324/827/1324 1333/838/1333 1334/839/1334 1325/828/1325 +f 1325/828/1325 1334/839/1334 1335/840/1335 1326/829/1326 +f 1326/829/1326 1335/840/1335 1336/841/1336 1327/830/1327 +f 1327/830/1327 1336/841/1336 1337/842/1337 1328/831/1328 +f 1328/831/1328 1337/842/1337 1338/843/1338 1329/832/1329 +f 1329/832/1329 1338/843/1338 1339/844/1339 1330/833/1330 +f 1330/833/1330 1339/844/1339 1340/845/1340 1331/834/1331 +f 1331/834/1331 1340/845/1340 1259/846/1259 +f 950/847/950 960/848/960 1341/849/1341 1332/850/1332 +f 1332/850/1332 1341/849/1341 1342/851/1342 1333/852/1333 +f 1333/852/1333 1342/851/1342 1343/853/1343 1334/854/1334 +f 1334/854/1334 1343/853/1343 1344/855/1344 1335/856/1335 +f 1335/856/1335 1344/855/1344 1345/857/1345 1336/858/1336 +f 1336/858/1336 1345/857/1345 1346/859/1346 1337/860/1337 +f 1337/860/1337 1346/859/1346 1347/861/1347 1338/862/1338 +f 1338/862/1338 1347/861/1347 1348/863/1348 1339/864/1339 +f 1339/864/1339 1348/863/1348 1349/865/1349 1340/866/1340 +f 1340/866/1340 1349/865/1349 1259/867/1259 +f 960/848/960 970/868/970 1350/869/1350 1341/849/1341 +f 1341/849/1341 1350/869/1350 1351/870/1351 1342/851/1342 +f 1342/851/1342 1351/870/1351 1352/871/1352 1343/853/1343 +f 1343/853/1343 1352/871/1352 1353/872/1353 1344/855/1344 +f 1344/855/1344 1353/872/1353 1354/873/1354 1345/857/1345 +f 1345/857/1345 1354/873/1354 1355/874/1355 1346/859/1346 +f 1346/859/1346 1355/874/1355 1356/875/1356 1347/861/1347 +f 1347/861/1347 1356/875/1356 1357/876/1357 1348/863/1348 +f 1348/863/1348 1357/876/1357 1358/877/1358 1349/865/1349 +f 1349/865/1349 1358/877/1358 1259/878/1259 +f 970/868/970 980/879/980 1359/880/1359 1350/869/1350 +f 1350/869/1350 1359/880/1359 1360/881/1360 1351/870/1351 +f 1351/870/1351 1360/881/1360 1361/882/1361 1352/871/1352 +f 1352/871/1352 1361/882/1361 1362/883/1362 1353/872/1353 +f 1353/872/1353 1362/883/1362 1363/884/1363 1354/873/1354 +f 1354/873/1354 1363/884/1363 1364/885/1364 1355/874/1355 +f 1355/874/1355 1364/885/1364 1365/886/1365 1356/875/1356 +f 1356/875/1356 1365/886/1365 1366/887/1366 1357/876/1357 +f 1357/876/1357 1366/887/1366 1367/888/1367 1358/877/1358 +f 1358/877/1358 1367/888/1367 1259/889/1259 +f 980/879/980 990/890/990 1368/891/1368 1359/880/1359 +f 1359/880/1359 1368/891/1368 1369/892/1369 1360/881/1360 +f 1360/881/1360 1369/892/1369 1370/893/1370 1361/882/1361 +f 1361/882/1361 1370/893/1370 1371/894/1371 1362/883/1362 +f 1362/883/1362 1371/894/1371 1372/895/1372 1363/884/1363 +f 1363/884/1363 1372/895/1372 1373/896/1373 1364/885/1364 +f 1364/885/1364 1373/896/1373 1374/897/1374 1365/886/1365 +f 1365/886/1365 1374/897/1374 1375/898/1375 1366/887/1366 +f 1366/887/1366 1375/898/1375 1376/899/1376 1367/888/1367 +f 1367/888/1367 1376/899/1376 1259/900/1259 +f 990/890/990 1000/901/1000 1377/902/1377 1368/891/1368 +f 1368/891/1368 1377/902/1377 1378/903/1378 1369/892/1369 +f 1369/892/1369 1378/903/1378 1379/904/1379 1370/893/1370 +f 1370/893/1370 1379/904/1379 1380/905/1380 1371/894/1371 +f 1371/894/1371 1380/905/1380 1381/906/1381 1372/895/1372 +f 1372/895/1372 1381/906/1381 1382/907/1382 1373/896/1373 +f 1373/896/1373 1382/907/1382 1383/908/1383 1374/897/1374 +f 1374/897/1374 1383/908/1383 1384/909/1384 1375/898/1375 +f 1375/898/1375 1384/909/1384 1385/910/1385 1376/899/1376 +f 1376/899/1376 1385/910/1385 1259/911/1259 +f 1000/901/1000 1010/912/1010 1386/913/1386 1377/902/1377 +f 1377/902/1377 1386/913/1386 1387/914/1387 1378/903/1378 +f 1378/903/1378 1387/914/1387 1388/915/1388 1379/904/1379 +f 1379/904/1379 1388/915/1388 1389/916/1389 1380/905/1380 +f 1380/905/1380 1389/916/1389 1390/917/1390 1381/906/1381 +f 1381/906/1381 1390/917/1390 1391/918/1391 1382/907/1382 +f 1382/907/1382 1391/918/1391 1392/919/1392 1383/908/1383 +f 1383/908/1383 1392/919/1392 1393/920/1393 1384/909/1384 +f 1384/909/1384 1393/920/1393 1394/921/1394 1385/910/1385 +f 1385/910/1385 1394/921/1394 1259/922/1259 +f 1010/912/1010 1020/923/1020 1395/924/1395 1386/913/1386 +f 1386/913/1386 1395/924/1395 1396/925/1396 1387/914/1387 +f 1387/914/1387 1396/925/1396 1397/926/1397 1388/915/1388 +f 1388/915/1388 1397/926/1397 1398/927/1398 1389/916/1389 +f 1389/916/1389 1398/927/1398 1399/928/1399 1390/917/1390 +f 1390/917/1390 1399/928/1399 1400/929/1400 1391/918/1391 +f 1391/918/1391 1400/929/1400 1401/930/1401 1392/919/1392 +f 1392/919/1392 1401/930/1401 1402/931/1402 1393/920/1393 +f 1393/920/1393 1402/931/1402 1403/932/1403 1394/921/1394 +f 1394/921/1394 1403/932/1403 1259/933/1259 +f 1020/923/1020 1030/934/1030 1404/935/1404 1395/924/1395 +f 1395/924/1395 1404/935/1404 1405/936/1405 1396/925/1396 +f 1396/925/1396 1405/936/1405 1406/937/1406 1397/926/1397 +f 1397/926/1397 1406/937/1406 1407/938/1407 1398/927/1398 +f 1398/927/1398 1407/938/1407 1408/939/1408 1399/928/1399 +f 1399/928/1399 1408/939/1408 1409/940/1409 1400/929/1400 +f 1400/929/1400 1409/940/1409 1410/941/1410 1401/930/1401 +f 1401/930/1401 1410/941/1410 1411/942/1411 1402/931/1402 +f 1402/931/1402 1411/942/1411 1412/943/1412 1403/932/1403 +f 1403/932/1403 1412/943/1412 1259/944/1259 +f 1030/934/1030 1040/945/1040 1413/946/1413 1404/935/1404 +f 1404/935/1404 1413/946/1413 1414/947/1414 1405/936/1405 +f 1405/936/1405 1414/947/1414 1415/948/1415 1406/937/1406 +f 1406/937/1406 1415/948/1415 1416/949/1416 1407/938/1407 +f 1407/938/1407 1416/949/1416 1417/950/1417 1408/939/1408 +f 1408/939/1408 1417/950/1417 1418/951/1418 1409/940/1409 +f 1409/940/1409 1418/951/1418 1419/952/1419 1410/941/1410 +f 1410/941/1410 1419/952/1419 1420/953/1420 1411/942/1411 +f 1411/942/1411 1420/953/1420 1421/954/1421 1412/943/1412 +f 1412/943/1412 1421/954/1421 1259/955/1259 +f 1040/945/1040 1050/956/1050 1422/957/1422 1413/946/1413 +f 1413/946/1413 1422/957/1422 1423/958/1423 1414/947/1414 +f 1414/947/1414 1423/958/1423 1424/959/1424 1415/948/1415 +f 1415/948/1415 1424/959/1424 1425/960/1425 1416/949/1416 +f 1416/949/1416 1425/960/1425 1426/961/1426 1417/950/1417 +f 1417/950/1417 1426/961/1426 1427/962/1427 1418/951/1418 +f 1418/951/1418 1427/962/1427 1428/963/1428 1419/952/1419 +f 1419/952/1419 1428/963/1428 1429/964/1429 1420/953/1420 +f 1420/953/1420 1429/964/1429 1430/965/1430 1421/954/1421 +f 1421/954/1421 1430/965/1430 1259/966/1259 +f 1050/727/1050 1060/728/1060 1431/729/1431 1422/730/1422 +f 1422/730/1422 1431/729/1431 1432/731/1432 1423/732/1423 +f 1423/732/1423 1432/731/1432 1433/733/1433 1424/734/1424 +f 1424/734/1424 1433/733/1433 1434/735/1434 1425/736/1425 +f 1425/736/1425 1434/735/1434 1435/737/1435 1426/738/1426 +f 1426/738/1426 1435/737/1435 1436/739/1436 1427/740/1427 +f 1427/740/1427 1436/739/1436 1437/741/1437 1428/742/1428 +f 1428/742/1428 1437/741/1437 1438/743/1438 1429/744/1429 +f 1429/744/1429 1438/743/1438 1439/745/1439 1430/746/1430 +f 1430/746/1430 1439/745/1439 1259/747/1259 +f 1060/728/1060 1070/748/1070 1440/749/1440 1431/729/1431 +f 1431/729/1431 1440/749/1440 1441/750/1441 1432/731/1432 +f 1432/731/1432 1441/750/1441 1442/751/1442 1433/733/1433 +f 1433/733/1433 1442/751/1442 1443/752/1443 1434/735/1434 +f 1434/735/1434 1443/752/1443 1444/753/1444 1435/737/1435 +f 1435/737/1435 1444/753/1444 1445/754/1445 1436/739/1436 +f 1436/739/1436 1445/754/1445 1446/755/1446 1437/741/1437 +f 1437/741/1437 1446/755/1446 1447/756/1447 1438/743/1438 +f 1438/743/1438 1447/756/1447 1448/757/1448 1439/745/1439 +f 1439/745/1439 1448/757/1448 1259/758/1259 +f 1070/748/1070 1080/759/1080 1449/760/1449 1440/749/1440 +f 1440/749/1440 1449/760/1449 1450/761/1450 1441/750/1441 +f 1441/750/1441 1450/761/1450 1451/762/1451 1442/751/1442 +f 1442/751/1442 1451/762/1451 1452/763/1452 1443/752/1443 +f 1443/752/1443 1452/763/1452 1453/764/1453 1444/753/1444 +f 1444/753/1444 1453/764/1453 1454/765/1454 1445/754/1445 +f 1445/754/1445 1454/765/1454 1455/766/1455 1446/755/1446 +f 1446/755/1446 1455/766/1455 1456/767/1456 1447/756/1447 +f 1447/756/1447 1456/767/1456 1457/768/1457 1448/757/1448 +f 1448/757/1448 1457/768/1457 1259/769/1259 +f 1080/759/1080 1090/770/1090 1458/771/1458 1449/760/1449 +f 1449/760/1449 1458/771/1458 1459/772/1459 1450/761/1450 +f 1450/761/1450 1459/772/1459 1460/773/1460 1451/762/1451 +f 1451/762/1451 1460/773/1460 1461/774/1461 1452/763/1452 +f 1452/763/1452 1461/774/1461 1462/775/1462 1453/764/1453 +f 1453/764/1453 1462/775/1462 1463/776/1463 1454/765/1454 +f 1454/765/1454 1463/776/1463 1464/777/1464 1455/766/1455 +f 1455/766/1455 1464/777/1464 1465/778/1465 1456/767/1456 +f 1456/767/1456 1465/778/1465 1466/779/1466 1457/768/1457 +f 1457/768/1457 1466/779/1466 1259/780/1259 +f 1090/770/1090 1100/781/1100 1467/782/1467 1458/771/1458 +f 1458/771/1458 1467/782/1467 1468/783/1468 1459/772/1459 +f 1459/772/1459 1468/783/1468 1469/784/1469 1460/773/1460 +f 1460/773/1460 1469/784/1469 1470/785/1470 1461/774/1461 +f 1461/774/1461 1470/785/1470 1471/786/1471 1462/775/1462 +f 1462/775/1462 1471/786/1471 1472/787/1472 1463/776/1463 +f 1463/776/1463 1472/787/1472 1473/788/1473 1464/777/1464 +f 1464/777/1464 1473/788/1473 1474/789/1474 1465/778/1465 +f 1465/778/1465 1474/789/1474 1475/790/1475 1466/779/1466 +f 1466/779/1466 1475/790/1475 1259/791/1259 +f 1100/781/1100 1110/792/1110 1476/793/1476 1467/782/1467 +f 1467/782/1467 1476/793/1476 1477/794/1477 1468/783/1468 +f 1468/783/1468 1477/794/1477 1478/795/1478 1469/784/1469 +f 1469/784/1469 1478/795/1478 1479/796/1479 1470/785/1470 +f 1470/785/1470 1479/796/1479 1480/797/1480 1471/786/1471 +f 1471/786/1471 1480/797/1480 1481/798/1481 1472/787/1472 +f 1472/787/1472 1481/798/1481 1482/799/1482 1473/788/1473 +f 1473/788/1473 1482/799/1482 1483/800/1483 1474/789/1474 +f 1474/789/1474 1483/800/1483 1484/801/1484 1475/790/1475 +f 1475/790/1475 1484/801/1484 1259/802/1259 +f 1110/792/1110 1120/803/1120 1485/804/1485 1476/793/1476 +f 1476/793/1476 1485/804/1485 1486/805/1486 1477/794/1477 +f 1477/794/1477 1486/805/1486 1487/806/1487 1478/795/1478 +f 1478/795/1478 1487/806/1487 1488/807/1488 1479/796/1479 +f 1479/796/1479 1488/807/1488 1489/808/1489 1480/797/1480 +f 1480/797/1480 1489/808/1489 1490/809/1490 1481/798/1481 +f 1481/798/1481 1490/809/1490 1491/810/1491 1482/799/1482 +f 1482/799/1482 1491/810/1491 1492/811/1492 1483/800/1483 +f 1483/800/1483 1492/811/1492 1493/812/1493 1484/801/1484 +f 1484/801/1484 1493/812/1493 1259/813/1259 +f 1120/803/1120 1130/814/1130 1494/815/1494 1485/804/1485 +f 1485/804/1485 1494/815/1494 1495/816/1495 1486/805/1486 +f 1486/805/1486 1495/816/1495 1496/817/1496 1487/806/1487 +f 1487/806/1487 1496/817/1496 1497/818/1497 1488/807/1488 +f 1488/807/1488 1497/818/1497 1498/819/1498 1489/808/1489 +f 1489/808/1489 1498/819/1498 1499/820/1499 1490/809/1490 +f 1490/809/1490 1499/820/1499 1500/821/1500 1491/810/1491 +f 1491/810/1491 1500/821/1500 1501/822/1501 1492/811/1492 +f 1492/811/1492 1501/822/1501 1502/823/1502 1493/812/1493 +f 1493/812/1493 1502/823/1502 1259/824/1259 +f 1130/814/1130 1140/825/1140 1503/826/1503 1494/815/1494 +f 1494/815/1494 1503/826/1503 1504/827/1504 1495/816/1495 +f 1495/816/1495 1504/827/1504 1505/828/1505 1496/817/1496 +f 1496/817/1496 1505/828/1505 1506/829/1506 1497/818/1497 +f 1497/818/1497 1506/829/1506 1507/830/1507 1498/819/1498 +f 1498/819/1498 1507/830/1507 1508/831/1508 1499/820/1499 +f 1499/820/1499 1508/831/1508 1509/832/1509 1500/821/1500 +f 1500/821/1500 1509/832/1509 1510/833/1510 1501/822/1501 +f 1501/822/1501 1510/833/1510 1511/834/1511 1502/823/1502 +f 1502/823/1502 1511/834/1511 1259/835/1259 +f 1140/825/1140 1150/836/1150 1512/837/1512 1503/826/1503 +f 1503/826/1503 1512/837/1512 1513/838/1513 1504/827/1504 +f 1504/827/1504 1513/838/1513 1514/839/1514 1505/828/1505 +f 1505/828/1505 1514/839/1514 1515/840/1515 1506/829/1506 +f 1506/829/1506 1515/840/1515 1516/841/1516 1507/830/1507 +f 1507/830/1507 1516/841/1516 1517/842/1517 1508/831/1508 +f 1508/831/1508 1517/842/1517 1518/843/1518 1509/832/1509 +f 1509/832/1509 1518/843/1518 1519/844/1519 1510/833/1510 +f 1510/833/1510 1519/844/1519 1520/845/1520 1511/834/1511 +f 1511/834/1511 1520/845/1520 1259/846/1259 +f 1150/847/1150 1160/848/1160 1521/849/1521 1512/850/1512 +f 1512/850/1512 1521/849/1521 1522/851/1522 1513/852/1513 +f 1513/852/1513 1522/851/1522 1523/853/1523 1514/854/1514 +f 1514/854/1514 1523/853/1523 1524/855/1524 1515/856/1515 +f 1515/856/1515 1524/855/1524 1525/857/1525 1516/858/1516 +f 1516/858/1516 1525/857/1525 1526/859/1526 1517/860/1517 +f 1517/860/1517 1526/859/1526 1527/861/1527 1518/862/1518 +f 1518/862/1518 1527/861/1527 1528/863/1528 1519/864/1519 +f 1519/864/1519 1528/863/1528 1529/865/1529 1520/866/1520 +f 1520/866/1520 1529/865/1529 1259/867/1259 +f 1160/848/1160 1170/868/1170 1530/869/1530 1521/849/1521 +f 1521/849/1521 1530/869/1530 1531/870/1531 1522/851/1522 +f 1522/851/1522 1531/870/1531 1532/871/1532 1523/853/1523 +f 1523/853/1523 1532/871/1532 1533/872/1533 1524/855/1524 +f 1524/855/1524 1533/872/1533 1534/873/1534 1525/857/1525 +f 1525/857/1525 1534/873/1534 1535/874/1535 1526/859/1526 +f 1526/859/1526 1535/874/1535 1536/875/1536 1527/861/1527 +f 1527/861/1527 1536/875/1536 1537/876/1537 1528/863/1528 +f 1528/863/1528 1537/876/1537 1538/877/1538 1529/865/1529 +f 1529/865/1529 1538/877/1538 1259/878/1259 +f 1170/868/1170 1180/879/1180 1539/880/1539 1530/869/1530 +f 1530/869/1530 1539/880/1539 1540/881/1540 1531/870/1531 +f 1531/870/1531 1540/881/1540 1541/882/1541 1532/871/1532 +f 1532/871/1532 1541/882/1541 1542/883/1542 1533/872/1533 +f 1533/872/1533 1542/883/1542 1543/884/1543 1534/873/1534 +f 1534/873/1534 1543/884/1543 1544/885/1544 1535/874/1535 +f 1535/874/1535 1544/885/1544 1545/886/1545 1536/875/1536 +f 1536/875/1536 1545/886/1545 1546/887/1546 1537/876/1537 +f 1537/876/1537 1546/887/1546 1547/888/1547 1538/877/1538 +f 1538/877/1538 1547/888/1547 1259/889/1259 +f 1180/879/1180 1190/890/1190 1548/891/1548 1539/880/1539 +f 1539/880/1539 1548/891/1548 1549/892/1549 1540/881/1540 +f 1540/881/1540 1549/892/1549 1550/893/1550 1541/882/1541 +f 1541/882/1541 1550/893/1550 1551/894/1551 1542/883/1542 +f 1542/883/1542 1551/894/1551 1552/895/1552 1543/884/1543 +f 1543/884/1543 1552/895/1552 1553/896/1553 1544/885/1544 +f 1544/885/1544 1553/896/1553 1554/897/1554 1545/886/1545 +f 1545/886/1545 1554/897/1554 1555/898/1555 1546/887/1546 +f 1546/887/1546 1555/898/1555 1556/899/1556 1547/888/1547 +f 1547/888/1547 1556/899/1556 1259/900/1259 +f 1190/890/1190 1200/901/1200 1557/902/1557 1548/891/1548 +f 1548/891/1548 1557/902/1557 1558/903/1558 1549/892/1549 +f 1549/892/1549 1558/903/1558 1559/904/1559 1550/893/1550 +f 1550/893/1550 1559/904/1559 1560/905/1560 1551/894/1551 +f 1551/894/1551 1560/905/1560 1561/906/1561 1552/895/1552 +f 1552/895/1552 1561/906/1561 1562/907/1562 1553/896/1553 +f 1553/896/1553 1562/907/1562 1563/908/1563 1554/897/1554 +f 1554/897/1554 1563/908/1563 1564/909/1564 1555/898/1555 +f 1555/898/1555 1564/909/1564 1565/910/1565 1556/899/1556 +f 1556/899/1556 1565/910/1565 1259/911/1259 +f 1200/901/1200 1210/912/1210 1566/913/1566 1557/902/1557 +f 1557/902/1557 1566/913/1566 1567/914/1567 1558/903/1558 +f 1558/903/1558 1567/914/1567 1568/915/1568 1559/904/1559 +f 1559/904/1559 1568/915/1568 1569/916/1569 1560/905/1560 +f 1560/905/1560 1569/916/1569 1570/917/1570 1561/906/1561 +f 1561/906/1561 1570/917/1570 1571/918/1571 1562/907/1562 +f 1562/907/1562 1571/918/1571 1572/919/1572 1563/908/1563 +f 1563/908/1563 1572/919/1572 1573/920/1573 1564/909/1564 +f 1564/909/1564 1573/920/1573 1574/921/1574 1565/910/1565 +f 1565/910/1565 1574/921/1574 1259/922/1259 +f 1210/912/1210 1220/923/1220 1575/924/1575 1566/913/1566 +f 1566/913/1566 1575/924/1575 1576/925/1576 1567/914/1567 +f 1567/914/1567 1576/925/1576 1577/926/1577 1568/915/1568 +f 1568/915/1568 1577/926/1577 1578/927/1578 1569/916/1569 +f 1569/916/1569 1578/927/1578 1579/928/1579 1570/917/1570 +f 1570/917/1570 1579/928/1579 1580/929/1580 1571/918/1571 +f 1571/918/1571 1580/929/1580 1581/930/1581 1572/919/1572 +f 1572/919/1572 1581/930/1581 1582/931/1582 1573/920/1573 +f 1573/920/1573 1582/931/1582 1583/932/1583 1574/921/1574 +f 1574/921/1574 1583/932/1583 1259/933/1259 +f 1220/923/1220 1230/934/1230 1584/935/1584 1575/924/1575 +f 1575/924/1575 1584/935/1584 1585/936/1585 1576/925/1576 +f 1576/925/1576 1585/936/1585 1586/937/1586 1577/926/1577 +f 1577/926/1577 1586/937/1586 1587/938/1587 1578/927/1578 +f 1578/927/1578 1587/938/1587 1588/939/1588 1579/928/1579 +f 1579/928/1579 1588/939/1588 1589/940/1589 1580/929/1580 +f 1580/929/1580 1589/940/1589 1590/941/1590 1581/930/1581 +f 1581/930/1581 1590/941/1590 1591/942/1591 1582/931/1582 +f 1582/931/1582 1591/942/1591 1592/943/1592 1583/932/1583 +f 1583/932/1583 1592/943/1592 1259/944/1259 +f 1230/934/1230 1240/945/1240 1593/946/1593 1584/935/1584 +f 1584/935/1584 1593/946/1593 1594/947/1594 1585/936/1585 +f 1585/936/1585 1594/947/1594 1595/948/1595 1586/937/1586 +f 1586/937/1586 1595/948/1595 1596/949/1596 1587/938/1587 +f 1587/938/1587 1596/949/1596 1597/950/1597 1588/939/1588 +f 1588/939/1588 1597/950/1597 1598/951/1598 1589/940/1589 +f 1589/940/1589 1598/951/1598 1599/952/1599 1590/941/1590 +f 1590/941/1590 1599/952/1599 1600/953/1600 1591/942/1591 +f 1591/942/1591 1600/953/1600 1601/954/1601 1592/943/1592 +f 1592/943/1592 1601/954/1601 1259/955/1259 +f 1240/945/1240 860/956/860 1242/957/1242 1593/946/1593 +f 1593/946/1593 1242/957/1242 1244/958/1244 1594/947/1594 +f 1594/947/1594 1244/958/1244 1246/959/1246 1595/948/1595 +f 1595/948/1595 1246/959/1246 1248/960/1248 1596/949/1596 +f 1596/949/1596 1248/960/1248 1250/961/1250 1597/950/1597 +f 1597/950/1597 1250/961/1250 1252/962/1252 1598/951/1598 +f 1598/951/1598 1252/962/1252 1254/963/1254 1599/952/1599 +f 1599/952/1599 1254/963/1254 1256/964/1256 1600/953/1600 +f 1600/953/1600 1256/964/1256 1258/965/1258 1601/954/1601 +f 1601/954/1601 1258/965/1258 1259/966/1259 +f 1602/606/1602 1603/967/1603 1604/968/1604 1605/969/1605 +f 1605/969/1605 1604/968/1604 1606/970/1606 1607/971/1607 +f 1607/971/1607 1606/970/1606 1608/972/1608 1609/973/1609 +f 1609/973/1609 1608/972/1608 1610/974/1610 1611/975/1611 +f 1611/975/1611 1610/974/1610 1612/976/1612 1613/977/1613 +f 1613/977/1613 1612/976/1612 1614/978/1614 1615/979/1615 +f 1615/979/1615 1614/978/1614 1616/980/1616 1617/981/1617 +f 1617/981/1617 1616/980/1616 1618/982/1618 1619/983/1619 +f 1619/983/1619 1618/982/1618 1620/984/1620 1621/985/1621 +f 1621/985/1621 1620/984/1620 1622/986/1622 1623/987/1623 +f 1603/967/1603 1624/607/1624 1625/988/1625 1604/968/1604 +f 1604/968/1604 1625/988/1625 1626/989/1626 1606/970/1606 +f 1606/970/1606 1626/989/1626 1627/990/1627 1608/972/1608 +f 1608/972/1608 1627/990/1627 1628/991/1628 1610/974/1610 +f 1610/974/1610 1628/991/1628 1629/992/1629 1612/976/1612 +f 1612/976/1612 1629/992/1629 1630/993/1630 1614/978/1614 +f 1614/978/1614 1630/993/1630 1631/994/1631 1616/980/1616 +f 1616/980/1616 1631/994/1631 1632/995/1632 1618/982/1618 +f 1618/982/1618 1632/995/1632 1633/996/1633 1620/984/1620 +f 1620/984/1620 1633/996/1633 1634/997/1634 1622/986/1622 +f 1624/607/1624 1635/998/1635 1636/999/1636 1625/988/1625 +f 1625/988/1625 1636/999/1636 1637/1000/1637 1626/989/1626 +f 1626/989/1626 1637/1000/1637 1638/1001/1638 1627/990/1627 +f 1627/990/1627 1638/1001/1638 1639/1002/1639 1628/991/1628 +f 1628/991/1628 1639/1002/1639 1640/1003/1640 1629/992/1629 +f 1629/992/1629 1640/1003/1640 1641/1004/1641 1630/993/1630 +f 1630/993/1630 1641/1004/1641 1642/1005/1642 1631/994/1631 +f 1631/994/1631 1642/1005/1642 1643/1006/1643 1632/995/1632 +f 1632/995/1632 1643/1006/1643 1644/1007/1644 1633/996/1633 +f 1633/996/1633 1644/1007/1644 1645/1008/1645 1634/997/1634 +f 1635/998/1635 1646/628/1646 1647/1009/1647 1636/999/1636 +f 1636/999/1636 1647/1009/1647 1648/1010/1648 1637/1000/1637 +f 1637/1000/1637 1648/1010/1648 1649/1011/1649 1638/1001/1638 +f 1638/1001/1638 1649/1011/1649 1650/1012/1650 1639/1002/1639 +f 1639/1002/1639 1650/1012/1650 1651/1013/1651 1640/1003/1640 +f 1640/1003/1640 1651/1013/1651 1652/1014/1652 1641/1004/1641 +f 1641/1004/1641 1652/1014/1652 1653/1015/1653 1642/1005/1642 +f 1642/1005/1642 1653/1015/1653 1654/1016/1654 1643/1006/1643 +f 1643/1006/1643 1654/1016/1654 1655/1017/1655 1644/1007/1644 +f 1644/1007/1644 1655/1017/1655 1656/1018/1656 1645/1008/1645 +f 1646/628/1646 1657/1019/1657 1658/1020/1658 1647/1009/1647 +f 1647/1009/1647 1658/1020/1658 1659/1021/1659 1648/1010/1648 +f 1648/1010/1648 1659/1021/1659 1660/1022/1660 1649/1011/1649 +f 1649/1011/1649 1660/1022/1660 1661/1023/1661 1650/1012/1650 +f 1650/1012/1650 1661/1023/1661 1662/1024/1662 1651/1013/1651 +f 1651/1013/1651 1662/1024/1662 1663/1025/1663 1652/1014/1652 +f 1652/1014/1652 1663/1025/1663 1664/1026/1664 1653/1015/1653 +f 1653/1015/1653 1664/1026/1664 1665/1027/1665 1654/1016/1654 +f 1654/1016/1654 1665/1027/1665 1666/1028/1666 1655/1017/1655 +f 1655/1017/1655 1666/1028/1666 1667/1029/1667 1656/1018/1656 +f 1657/1019/1657 1668/639/1668 1669/1030/1669 1658/1020/1658 +f 1658/1020/1658 1669/1030/1669 1670/1031/1670 1659/1021/1659 +f 1659/1021/1659 1670/1031/1670 1671/1032/1671 1660/1022/1660 +f 1660/1022/1660 1671/1032/1671 1672/1033/1672 1661/1023/1661 +f 1661/1023/1661 1672/1033/1672 1673/1034/1673 1662/1024/1662 +f 1662/1024/1662 1673/1034/1673 1674/1035/1674 1663/1025/1663 +f 1663/1025/1663 1674/1035/1674 1675/1036/1675 1664/1026/1664 +f 1664/1026/1664 1675/1036/1675 1676/1037/1676 1665/1027/1665 +f 1665/1027/1665 1676/1037/1676 1677/1038/1677 1666/1028/1666 +f 1666/1028/1666 1677/1038/1677 1678/1039/1678 1667/1029/1667 +f 1668/639/1668 1679/1040/1679 1680/1041/1680 1669/1030/1669 +f 1669/1030/1669 1680/1041/1680 1681/1042/1681 1670/1031/1670 +f 1670/1031/1670 1681/1042/1681 1682/1043/1682 1671/1032/1671 +f 1671/1032/1671 1682/1043/1682 1683/1044/1683 1672/1033/1672 +f 1672/1033/1672 1683/1044/1683 1684/1045/1684 1673/1034/1673 +f 1673/1034/1673 1684/1045/1684 1685/1046/1685 1674/1035/1674 +f 1674/1035/1674 1685/1046/1685 1686/1047/1686 1675/1036/1675 +f 1675/1036/1675 1686/1047/1686 1687/1048/1687 1676/1037/1676 +f 1676/1037/1676 1687/1048/1687 1688/1049/1688 1677/1038/1677 +f 1677/1038/1677 1688/1049/1688 1689/1050/1689 1678/1039/1678 +f 1679/1040/1679 1690/650/1690 1691/1051/1691 1680/1041/1680 +f 1680/1041/1680 1691/1051/1691 1692/1052/1692 1681/1042/1681 +f 1681/1042/1681 1692/1052/1692 1693/1053/1693 1682/1043/1682 +f 1682/1043/1682 1693/1053/1693 1694/1054/1694 1683/1044/1683 +f 1683/1044/1683 1694/1054/1694 1695/1055/1695 1684/1045/1684 +f 1684/1045/1684 1695/1055/1695 1696/1056/1696 1685/1046/1685 +f 1685/1046/1685 1696/1056/1696 1697/1057/1697 1686/1047/1686 +f 1686/1047/1686 1697/1057/1697 1698/1058/1698 1687/1048/1687 +f 1687/1048/1687 1698/1058/1698 1699/1059/1699 1688/1049/1688 +f 1688/1049/1688 1699/1059/1699 1700/1060/1700 1689/1050/1689 +f 1690/650/1690 1701/1061/1701 1702/1062/1702 1691/1051/1691 +f 1691/1051/1691 1702/1062/1702 1703/1063/1703 1692/1052/1692 +f 1692/1052/1692 1703/1063/1703 1704/1064/1704 1693/1053/1693 +f 1693/1053/1693 1704/1064/1704 1705/1065/1705 1694/1054/1694 +f 1694/1054/1694 1705/1065/1705 1706/1066/1706 1695/1055/1695 +f 1695/1055/1695 1706/1066/1706 1707/1067/1707 1696/1056/1696 +f 1696/1056/1696 1707/1067/1707 1708/1068/1708 1697/1057/1697 +f 1697/1057/1697 1708/1068/1708 1709/1069/1709 1698/1058/1698 +f 1698/1058/1698 1709/1069/1709 1710/1070/1710 1699/1059/1699 +f 1699/1059/1699 1710/1070/1710 1711/1071/1711 1700/1060/1700 +f 1701/1061/1701 1712/1072/1712 1713/1073/1713 1702/1062/1702 +f 1702/1062/1702 1713/1073/1713 1714/1074/1714 1703/1063/1703 +f 1703/1063/1703 1714/1074/1714 1715/1075/1715 1704/1064/1704 +f 1704/1064/1704 1715/1075/1715 1716/1076/1716 1705/1065/1705 +f 1705/1065/1705 1716/1076/1716 1717/1077/1717 1706/1066/1706 +f 1706/1066/1706 1717/1077/1717 1718/1078/1718 1707/1067/1707 +f 1707/1067/1707 1718/1078/1718 1719/1079/1719 1708/1068/1708 +f 1708/1068/1708 1719/1079/1719 1720/1080/1720 1709/1069/1709 +f 1709/1069/1709 1720/1080/1720 1721/1081/1721 1710/1070/1710 +f 1710/1070/1710 1721/1081/1721 1722/1082/1722 1711/1071/1711 +f 1712/1083/1712 1723/1084/1723 1724/1085/1724 1713/1086/1713 +f 1713/1086/1713 1724/1085/1724 1725/1087/1725 1714/1088/1714 +f 1714/1088/1714 1725/1087/1725 1726/1089/1726 1715/1090/1715 +f 1715/1090/1715 1726/1089/1726 1727/1091/1727 1716/1092/1716 +f 1716/1092/1716 1727/1091/1727 1728/1093/1728 1717/1094/1717 +f 1717/1094/1717 1728/1093/1728 1729/1095/1729 1718/1096/1718 +f 1718/1096/1718 1729/1095/1729 1730/1097/1730 1719/1098/1719 +f 1719/1098/1719 1730/1097/1730 1731/1099/1731 1720/1100/1720 +f 1720/1100/1720 1731/1099/1731 1732/1101/1732 1721/1102/1721 +f 1721/1102/1721 1732/1101/1732 1733/1103/1733 1722/1104/1722 +f 1723/1084/1723 1734/1105/1734 1735/1106/1735 1724/1085/1724 +f 1724/1085/1724 1735/1106/1735 1736/1107/1736 1725/1087/1725 +f 1725/1087/1725 1736/1107/1736 1737/1108/1737 1726/1089/1726 +f 1726/1089/1726 1737/1108/1737 1738/1109/1738 1727/1091/1727 +f 1727/1091/1727 1738/1109/1738 1739/1110/1739 1728/1093/1728 +f 1728/1093/1728 1739/1110/1739 1740/1111/1740 1729/1095/1729 +f 1729/1095/1729 1740/1111/1740 1741/1112/1741 1730/1097/1730 +f 1730/1097/1730 1741/1112/1741 1742/1113/1742 1731/1099/1731 +f 1731/1099/1731 1742/1113/1742 1743/1114/1743 1732/1101/1732 +f 1732/1101/1732 1743/1114/1743 1744/1115/1744 1733/1103/1733 +f 1734/1105/1734 1745/1116/1745 1746/1117/1746 1735/1106/1735 +f 1735/1106/1735 1746/1117/1746 1747/1118/1747 1736/1107/1736 +f 1736/1107/1736 1747/1118/1747 1748/1119/1748 1737/1108/1737 +f 1737/1108/1737 1748/1119/1748 1749/1120/1749 1738/1109/1738 +f 1738/1109/1738 1749/1120/1749 1750/1121/1750 1739/1110/1739 +f 1739/1110/1739 1750/1121/1750 1751/1122/1751 1740/1111/1740 +f 1740/1111/1740 1751/1122/1751 1752/1123/1752 1741/1112/1741 +f 1741/1112/1741 1752/1123/1752 1753/1124/1753 1742/1113/1742 +f 1742/1113/1742 1753/1124/1753 1754/1125/1754 1743/1114/1743 +f 1743/1114/1743 1754/1125/1754 1755/1126/1755 1744/1115/1744 +f 1745/1116/1745 1756/1127/1756 1757/1128/1757 1746/1117/1746 +f 1746/1117/1746 1757/1128/1757 1758/1129/1758 1747/1118/1747 +f 1747/1118/1747 1758/1129/1758 1759/1130/1759 1748/1119/1748 +f 1748/1119/1748 1759/1130/1759 1760/1131/1760 1749/1120/1749 +f 1749/1120/1749 1760/1131/1760 1761/1132/1761 1750/1121/1750 +f 1750/1121/1750 1761/1132/1761 1762/1133/1762 1751/1122/1751 +f 1751/1122/1751 1762/1133/1762 1763/1134/1763 1752/1123/1752 +f 1752/1123/1752 1763/1134/1763 1764/1135/1764 1753/1124/1753 +f 1753/1124/1753 1764/1135/1764 1765/1136/1765 1754/1125/1754 +f 1754/1125/1754 1765/1136/1765 1766/1137/1766 1755/1126/1755 +f 1756/1127/1756 1767/1138/1767 1768/1139/1768 1757/1128/1757 +f 1757/1128/1757 1768/1139/1768 1769/1140/1769 1758/1129/1758 +f 1758/1129/1758 1769/1140/1769 1770/1141/1770 1759/1130/1759 +f 1759/1130/1759 1770/1141/1770 1771/1142/1771 1760/1131/1760 +f 1760/1131/1760 1771/1142/1771 1772/1143/1772 1761/1132/1761 +f 1761/1132/1761 1772/1143/1772 1773/1144/1773 1762/1133/1762 +f 1762/1133/1762 1773/1144/1773 1774/1145/1774 1763/1134/1763 +f 1763/1134/1763 1774/1145/1774 1775/1146/1775 1764/1135/1764 +f 1764/1135/1764 1775/1146/1775 1776/1147/1776 1765/1136/1765 +f 1765/1136/1765 1776/1147/1776 1777/1148/1777 1766/1137/1766 +f 1767/1138/1767 1778/1149/1778 1779/1150/1779 1768/1139/1768 +f 1768/1139/1768 1779/1150/1779 1780/1151/1780 1769/1140/1769 +f 1769/1140/1769 1780/1151/1780 1781/1152/1781 1770/1141/1770 +f 1770/1141/1770 1781/1152/1781 1782/1153/1782 1771/1142/1771 +f 1771/1142/1771 1782/1153/1782 1783/1154/1783 1772/1143/1772 +f 1772/1143/1772 1783/1154/1783 1784/1155/1784 1773/1144/1773 +f 1773/1144/1773 1784/1155/1784 1785/1156/1785 1774/1145/1774 +f 1774/1145/1774 1785/1156/1785 1786/1157/1786 1775/1146/1775 +f 1775/1146/1775 1786/1157/1786 1787/1158/1787 1776/1147/1776 +f 1776/1147/1776 1787/1158/1787 1788/1159/1788 1777/1148/1777 +f 1778/1149/1778 1789/1160/1789 1790/1161/1790 1779/1150/1779 +f 1779/1150/1779 1790/1161/1790 1791/1162/1791 1780/1151/1780 +f 1780/1151/1780 1791/1162/1791 1792/1163/1792 1781/1152/1781 +f 1781/1152/1781 1792/1163/1792 1793/1164/1793 1782/1153/1782 +f 1782/1153/1782 1793/1164/1793 1794/1165/1794 1783/1154/1783 +f 1783/1154/1783 1794/1165/1794 1795/1166/1795 1784/1155/1784 +f 1784/1155/1784 1795/1166/1795 1796/1167/1796 1785/1156/1785 +f 1785/1156/1785 1796/1167/1796 1797/1168/1797 1786/1157/1786 +f 1786/1157/1786 1797/1168/1797 1798/1169/1798 1787/1158/1787 +f 1787/1158/1787 1798/1169/1798 1799/1170/1799 1788/1159/1788 +f 1789/1160/1789 1800/1171/1800 1801/1172/1801 1790/1161/1790 +f 1790/1161/1790 1801/1172/1801 1802/1173/1802 1791/1162/1791 +f 1791/1162/1791 1802/1173/1802 1803/1174/1803 1792/1163/1792 +f 1792/1163/1792 1803/1174/1803 1804/1175/1804 1793/1164/1793 +f 1793/1164/1793 1804/1175/1804 1805/1176/1805 1794/1165/1794 +f 1794/1165/1794 1805/1176/1805 1806/1177/1806 1795/1166/1795 +f 1795/1166/1795 1806/1177/1806 1807/1178/1807 1796/1167/1796 +f 1796/1167/1796 1807/1178/1807 1808/1179/1808 1797/1168/1797 +f 1797/1168/1797 1808/1179/1808 1809/1180/1809 1798/1169/1798 +f 1798/1169/1798 1809/1180/1809 1810/1181/1810 1799/1170/1799 +f 1800/1171/1800 1811/1182/1811 1812/1183/1812 1801/1172/1801 +f 1801/1172/1801 1812/1183/1812 1813/1184/1813 1802/1173/1802 +f 1802/1173/1802 1813/1184/1813 1814/1185/1814 1803/1174/1803 +f 1803/1174/1803 1814/1185/1814 1815/1186/1815 1804/1175/1804 +f 1804/1175/1804 1815/1186/1815 1816/1187/1816 1805/1176/1805 +f 1805/1176/1805 1816/1187/1816 1817/1188/1817 1806/1177/1806 +f 1806/1177/1806 1817/1188/1817 1818/1189/1818 1807/1178/1807 +f 1807/1178/1807 1818/1189/1818 1819/1190/1819 1808/1179/1808 +f 1808/1179/1808 1819/1190/1819 1820/1191/1820 1809/1180/1809 +f 1809/1180/1809 1820/1191/1820 1821/1192/1821 1810/1181/1810 +f 1811/1182/1811 1602/1193/1602 1605/1194/1605 1812/1183/1812 +f 1812/1183/1812 1605/1194/1605 1607/1195/1607 1813/1184/1813 +f 1813/1184/1813 1607/1195/1607 1609/1196/1609 1814/1185/1814 +f 1814/1185/1814 1609/1196/1609 1611/1197/1611 1815/1186/1815 +f 1815/1186/1815 1611/1197/1611 1613/1198/1613 1816/1187/1816 +f 1816/1187/1816 1613/1198/1613 1615/1199/1615 1817/1188/1817 +f 1817/1188/1817 1615/1199/1615 1617/1200/1617 1818/1189/1818 +f 1818/1189/1818 1617/1200/1617 1619/1201/1619 1819/1190/1819 +f 1819/1190/1819 1619/1201/1619 1621/1202/1621 1820/1191/1820 +f 1820/1191/1820 1621/1202/1621 1623/1203/1623 1821/1192/1821 +f 1623/1204/1623 1622/1205/1622 1822/1206/1822 1823/1207/1823 +f 1823/1207/1823 1822/1206/1822 1824/1208/1824 1825/627/1825 +f 1825/627/1825 1824/1208/1824 1826/1209/1826 1827/1210/1827 +f 1827/1210/1827 1826/1209/1826 1828/1211/1828 1829/1212/1829 +f 1829/1212/1829 1828/1211/1828 1830/1213/1830 1831/1214/1831 +f 1831/1214/1831 1830/1213/1830 1832/1215/1832 1833/1216/1833 +f 1833/1216/1833 1832/1215/1832 1834/1217/1834 1835/1218/1835 +f 1835/1218/1835 1834/1217/1834 1836/1219/1836 1837/1220/1837 +f 1837/1220/1837 1836/1219/1836 1838/1221/1838 1839/1222/1839 +f 1839/1222/1839 1838/1221/1838 1840/1223/1840 1841/1224/1841 +f 1622/1205/1622 1634/1225/1634 1842/1226/1842 1822/1206/1822 +f 1822/1206/1822 1842/1226/1842 1843/626/1843 1824/1208/1824 +f 1824/1208/1824 1843/626/1843 1844/1227/1844 1826/1209/1826 +f 1826/1209/1826 1844/1227/1844 1845/1228/1845 1828/1211/1828 +f 1828/1211/1828 1845/1228/1845 1846/1229/1846 1830/1213/1830 +f 1830/1213/1830 1846/1229/1846 1847/1230/1847 1832/1215/1832 +f 1832/1215/1832 1847/1230/1847 1848/1231/1848 1834/1217/1834 +f 1834/1217/1834 1848/1231/1848 1849/1232/1849 1836/1219/1836 +f 1836/1219/1836 1849/1232/1849 1850/1233/1850 1838/1221/1838 +f 1838/1221/1838 1850/1233/1850 1851/1234/1851 1840/1223/1840 +f 1634/1225/1634 1645/1235/1645 1852/1236/1852 1842/1226/1842 +f 1842/1226/1842 1852/1236/1852 1853/1237/1853 1843/626/1843 +f 1843/626/1843 1853/1237/1853 1854/1238/1854 1844/1227/1844 +f 1844/1227/1844 1854/1238/1854 1855/1239/1855 1845/1228/1845 +f 1845/1228/1845 1855/1239/1855 1856/1240/1856 1846/1229/1846 +f 1846/1229/1846 1856/1240/1856 1857/1241/1857 1847/1230/1847 +f 1847/1230/1847 1857/1241/1857 1858/1242/1858 1848/1231/1848 +f 1848/1231/1848 1858/1242/1858 1859/1243/1859 1849/1232/1849 +f 1849/1232/1849 1859/1243/1859 1860/1244/1860 1850/1233/1850 +f 1850/1233/1850 1860/1244/1860 1861/1245/1861 1851/1234/1851 +f 1645/1235/1645 1656/1246/1656 1862/1247/1862 1852/1236/1852 +f 1852/1236/1852 1862/1247/1862 1863/638/1863 1853/1237/1853 +f 1853/1237/1853 1863/638/1863 1864/1248/1864 1854/1238/1854 +f 1854/1238/1854 1864/1248/1864 1865/1249/1865 1855/1239/1855 +f 1855/1239/1855 1865/1249/1865 1866/1250/1866 1856/1240/1856 +f 1856/1240/1856 1866/1250/1866 1867/1251/1867 1857/1241/1857 +f 1857/1241/1857 1867/1251/1867 1868/1252/1868 1858/1242/1858 +f 1858/1242/1858 1868/1252/1868 1869/1253/1869 1859/1243/1859 +f 1859/1243/1859 1869/1253/1869 1870/1254/1870 1860/1244/1860 +f 1860/1244/1860 1870/1254/1870 1871/1255/1871 1861/1245/1861 +f 1656/1246/1656 1667/1256/1667 1872/1257/1872 1862/1247/1862 +f 1862/1247/1862 1872/1257/1872 1873/1258/1873 1863/638/1863 +f 1863/638/1863 1873/1258/1873 1874/1259/1874 1864/1248/1864 +f 1864/1248/1864 1874/1259/1874 1875/1260/1875 1865/1249/1865 +f 1865/1249/1865 1875/1260/1875 1876/1261/1876 1866/1250/1866 +f 1866/1250/1866 1876/1261/1876 1877/1262/1877 1867/1251/1867 +f 1867/1251/1867 1877/1262/1877 1878/1263/1878 1868/1252/1868 +f 1868/1252/1868 1878/1263/1878 1879/1264/1879 1869/1253/1869 +f 1869/1253/1869 1879/1264/1879 1880/1265/1880 1870/1254/1870 +f 1870/1254/1870 1880/1265/1880 1881/1266/1881 1871/1255/1871 +f 1667/1256/1667 1678/1267/1678 1882/1268/1882 1872/1257/1872 +f 1872/1257/1872 1882/1268/1882 1883/649/1883 1873/1258/1873 +f 1873/1258/1873 1883/649/1883 1884/1269/1884 1874/1259/1874 +f 1874/1259/1874 1884/1269/1884 1885/1270/1885 1875/1260/1875 +f 1875/1260/1875 1885/1270/1885 1886/1271/1886 1876/1261/1876 +f 1876/1261/1876 1886/1271/1886 1887/1272/1887 1877/1262/1877 +f 1877/1262/1877 1887/1272/1887 1888/1273/1888 1878/1263/1878 +f 1878/1263/1878 1888/1273/1888 1889/1274/1889 1879/1264/1879 +f 1879/1264/1879 1889/1274/1889 1890/1275/1890 1880/1265/1880 +f 1880/1265/1880 1890/1275/1890 1891/1276/1891 1881/1266/1881 +f 1678/1267/1678 1689/1277/1689 1892/1278/1892 1882/1268/1882 +f 1882/1268/1882 1892/1278/1892 1893/1279/1893 1883/649/1883 +f 1883/649/1883 1893/1279/1893 1894/1280/1894 1884/1269/1884 +f 1884/1269/1884 1894/1280/1894 1895/1281/1895 1885/1270/1885 +f 1885/1270/1885 1895/1281/1895 1896/1282/1896 1886/1271/1886 +f 1886/1271/1886 1896/1282/1896 1897/1283/1897 1887/1272/1887 +f 1887/1272/1887 1897/1283/1897 1898/1284/1898 1888/1273/1888 +f 1888/1273/1888 1898/1284/1898 1899/1285/1899 1889/1274/1889 +f 1889/1274/1889 1899/1285/1899 1900/1286/1900 1890/1275/1890 +f 1890/1275/1890 1900/1286/1900 1901/1287/1901 1891/1276/1891 +f 1689/1277/1689 1700/1288/1700 1902/1289/1902 1892/1278/1892 +f 1892/1278/1892 1902/1289/1902 1903/660/1903 1893/1279/1893 +f 1893/1279/1893 1903/660/1903 1904/1290/1904 1894/1280/1894 +f 1894/1280/1894 1904/1290/1904 1905/1291/1905 1895/1281/1895 +f 1895/1281/1895 1905/1291/1905 1906/1292/1906 1896/1282/1896 +f 1896/1282/1896 1906/1292/1906 1907/1293/1907 1897/1283/1897 +f 1897/1283/1897 1907/1293/1907 1908/1294/1908 1898/1284/1898 +f 1898/1284/1898 1908/1294/1908 1909/1295/1909 1899/1285/1899 +f 1899/1285/1899 1909/1295/1909 1910/1296/1910 1900/1286/1900 +f 1900/1286/1900 1910/1296/1910 1911/1297/1911 1901/1287/1901 +f 1700/1288/1700 1711/1298/1711 1912/1299/1912 1902/1289/1902 +f 1902/1289/1902 1912/1299/1912 1913/1300/1913 1903/660/1903 +f 1903/660/1903 1913/1300/1913 1914/1301/1914 1904/1290/1904 +f 1904/1290/1904 1914/1301/1914 1915/1302/1915 1905/1291/1905 +f 1905/1291/1905 1915/1302/1915 1916/1303/1916 1906/1292/1906 +f 1906/1292/1906 1916/1303/1916 1917/1304/1917 1907/1293/1907 +f 1907/1293/1907 1917/1304/1917 1918/1305/1918 1908/1294/1908 +f 1908/1294/1908 1918/1305/1918 1919/1306/1919 1909/1295/1909 +f 1909/1295/1909 1919/1306/1919 1920/1307/1920 1910/1296/1910 +f 1910/1296/1910 1920/1307/1920 1921/1308/1921 1911/1297/1911 +f 1711/1298/1711 1722/1309/1722 1922/1310/1922 1912/1299/1912 +f 1912/1299/1912 1922/1310/1922 1923/1311/1923 1913/1300/1913 +f 1913/1300/1913 1923/1311/1923 1924/1312/1924 1914/1301/1914 +f 1914/1301/1914 1924/1312/1924 1925/1313/1925 1915/1302/1915 +f 1915/1302/1915 1925/1313/1925 1926/1314/1926 1916/1303/1916 +f 1916/1303/1916 1926/1314/1926 1927/1315/1927 1917/1304/1917 +f 1917/1304/1917 1927/1315/1927 1928/1316/1928 1918/1305/1918 +f 1918/1305/1918 1928/1316/1928 1929/1317/1929 1919/1306/1919 +f 1919/1306/1919 1929/1317/1929 1930/1318/1930 1920/1307/1920 +f 1920/1307/1920 1930/1318/1930 1931/1319/1931 1921/1308/1921 +f 1722/1320/1722 1733/1321/1733 1932/1322/1932 1922/1323/1922 +f 1922/1323/1922 1932/1322/1932 1933/1324/1933 1923/1325/1923 +f 1923/1325/1923 1933/1324/1933 1934/1326/1934 1924/1327/1924 +f 1924/1327/1924 1934/1326/1934 1935/1328/1935 1925/1329/1925 +f 1925/1329/1925 1935/1328/1935 1936/1330/1936 1926/1331/1926 +f 1926/1331/1926 1936/1330/1936 1937/1332/1937 1927/1333/1927 +f 1927/1333/1927 1937/1332/1937 1938/1334/1938 1928/1335/1928 +f 1928/1335/1928 1938/1334/1938 1939/1336/1939 1929/1337/1929 +f 1929/1337/1929 1939/1336/1939 1940/1338/1940 1930/1339/1930 +f 1930/1339/1930 1940/1338/1940 1941/1340/1941 1931/1341/1931 +f 1733/1321/1733 1744/1342/1744 1942/1343/1942 1932/1322/1932 +f 1932/1322/1932 1942/1343/1942 1943/1344/1943 1933/1324/1933 +f 1933/1324/1933 1943/1344/1943 1944/1345/1944 1934/1326/1934 +f 1934/1326/1934 1944/1345/1944 1945/1346/1945 1935/1328/1935 +f 1935/1328/1935 1945/1346/1945 1946/1347/1946 1936/1330/1936 +f 1936/1330/1936 1946/1347/1946 1947/1348/1947 1937/1332/1937 +f 1937/1332/1937 1947/1348/1947 1948/1349/1948 1938/1334/1938 +f 1938/1334/1938 1948/1349/1948 1949/1350/1949 1939/1336/1939 +f 1939/1336/1939 1949/1350/1949 1950/1351/1950 1940/1338/1940 +f 1940/1338/1940 1950/1351/1950 1951/1352/1951 1941/1340/1941 +f 1744/1342/1744 1755/1353/1755 1952/1354/1952 1942/1343/1942 +f 1942/1343/1942 1952/1354/1952 1953/1355/1953 1943/1344/1943 +f 1943/1344/1943 1953/1355/1953 1954/1356/1954 1944/1345/1944 +f 1944/1345/1944 1954/1356/1954 1955/1357/1955 1945/1346/1945 +f 1945/1346/1945 1955/1357/1955 1956/1358/1956 1946/1347/1946 +f 1946/1347/1946 1956/1358/1956 1957/1359/1957 1947/1348/1947 +f 1947/1348/1947 1957/1359/1957 1958/1360/1958 1948/1349/1948 +f 1948/1349/1948 1958/1360/1958 1959/1361/1959 1949/1350/1949 +f 1949/1350/1949 1959/1361/1959 1960/1362/1960 1950/1351/1950 +f 1950/1351/1950 1960/1362/1960 1961/1363/1961 1951/1352/1951 +f 1755/1353/1755 1766/1364/1766 1962/1365/1962 1952/1354/1952 +f 1952/1354/1952 1962/1365/1962 1963/1366/1963 1953/1355/1953 +f 1953/1355/1953 1963/1366/1963 1964/1367/1964 1954/1356/1954 +f 1954/1356/1954 1964/1367/1964 1965/1368/1965 1955/1357/1955 +f 1955/1357/1955 1965/1368/1965 1966/1369/1966 1956/1358/1956 +f 1956/1358/1956 1966/1369/1966 1967/1370/1967 1957/1359/1957 +f 1957/1359/1957 1967/1370/1967 1968/1371/1968 1958/1360/1958 +f 1958/1360/1958 1968/1371/1968 1969/1372/1969 1959/1361/1959 +f 1959/1361/1959 1969/1372/1969 1970/1373/1970 1960/1362/1960 +f 1960/1362/1960 1970/1373/1970 1971/1374/1971 1961/1363/1961 +f 1766/1364/1766 1777/1375/1777 1972/1376/1972 1962/1365/1962 +f 1962/1365/1962 1972/1376/1972 1973/1377/1973 1963/1366/1963 +f 1963/1366/1963 1973/1377/1973 1974/1378/1974 1964/1367/1964 +f 1964/1367/1964 1974/1378/1974 1975/1379/1975 1965/1368/1965 +f 1965/1368/1965 1975/1379/1975 1976/1380/1976 1966/1369/1966 +f 1966/1369/1966 1976/1380/1976 1977/1381/1977 1967/1370/1967 +f 1967/1370/1967 1977/1381/1977 1978/1382/1978 1968/1371/1968 +f 1968/1371/1968 1978/1382/1978 1979/1383/1979 1969/1372/1969 +f 1969/1372/1969 1979/1383/1979 1980/1384/1980 1970/1373/1970 +f 1970/1373/1970 1980/1384/1980 1981/1385/1981 1971/1374/1971 +f 1777/1375/1777 1788/1386/1788 1982/1387/1982 1972/1376/1972 +f 1972/1376/1972 1982/1387/1982 1983/1388/1983 1973/1377/1973 +f 1973/1377/1973 1983/1388/1983 1984/1389/1984 1974/1378/1974 +f 1974/1378/1974 1984/1389/1984 1985/1390/1985 1975/1379/1975 +f 1975/1379/1975 1985/1390/1985 1986/1391/1986 1976/1380/1976 +f 1976/1380/1976 1986/1391/1986 1987/1392/1987 1977/1381/1977 +f 1977/1381/1977 1987/1392/1987 1988/1393/1988 1978/1382/1978 +f 1978/1382/1978 1988/1393/1988 1989/1394/1989 1979/1383/1979 +f 1979/1383/1979 1989/1394/1989 1990/1395/1990 1980/1384/1980 +f 1980/1384/1980 1990/1395/1990 1991/1396/1991 1981/1385/1981 +f 1788/1386/1788 1799/1397/1799 1992/1398/1992 1982/1387/1982 +f 1982/1387/1982 1992/1398/1992 1993/1399/1993 1983/1388/1983 +f 1983/1388/1983 1993/1399/1993 1994/1400/1994 1984/1389/1984 +f 1984/1389/1984 1994/1400/1994 1995/1401/1995 1985/1390/1985 +f 1985/1390/1985 1995/1401/1995 1996/1402/1996 1986/1391/1986 +f 1986/1391/1986 1996/1402/1996 1997/1403/1997 1987/1392/1987 +f 1987/1392/1987 1997/1403/1997 1998/1404/1998 1988/1393/1988 +f 1988/1393/1988 1998/1404/1998 1999/1405/1999 1989/1394/1989 +f 1989/1394/1989 1999/1405/1999 2000/1406/2000 1990/1395/1990 +f 1990/1395/1990 2000/1406/2000 2001/1407/2001 1991/1396/1991 +f 1799/1397/1799 1810/1408/1810 2002/1409/2002 1992/1398/1992 +f 1992/1398/1992 2002/1409/2002 2003/1410/2003 1993/1399/1993 +f 1993/1399/1993 2003/1410/2003 2004/1411/2004 1994/1400/1994 +f 1994/1400/1994 2004/1411/2004 2005/1412/2005 1995/1401/1995 +f 1995/1401/1995 2005/1412/2005 2006/1413/2006 1996/1402/1996 +f 1996/1402/1996 2006/1413/2006 2007/1414/2007 1997/1403/1997 +f 1997/1403/1997 2007/1414/2007 2008/1415/2008 1998/1404/1998 +f 1998/1404/1998 2008/1415/2008 2009/1416/2009 1999/1405/1999 +f 1999/1405/1999 2009/1416/2009 2010/1417/2010 2000/1406/2000 +f 2000/1406/2000 2010/1417/2010 2011/1418/2011 2001/1407/2001 +f 1810/1408/1810 1821/1419/1821 2012/1420/2012 2002/1409/2002 +f 2002/1409/2002 2012/1420/2012 2013/1421/2013 2003/1410/2003 +f 2003/1410/2003 2013/1421/2013 2014/1422/2014 2004/1411/2004 +f 2004/1411/2004 2014/1422/2014 2015/1423/2015 2005/1412/2005 +f 2005/1412/2005 2015/1423/2015 2016/1424/2016 2006/1413/2006 +f 2006/1413/2006 2016/1424/2016 2017/1425/2017 2007/1414/2007 +f 2007/1414/2007 2017/1425/2017 2018/1426/2018 2008/1415/2008 +f 2008/1415/2008 2018/1426/2018 2019/1427/2019 2009/1416/2009 +f 2009/1416/2009 2019/1427/2019 2020/1428/2020 2010/1417/2010 +f 2010/1417/2010 2020/1428/2020 2021/1429/2021 2011/1418/2011 +f 1821/1419/1821 1623/1430/1623 1823/1431/1823 2012/1420/2012 +f 2012/1420/2012 1823/1431/1823 1825/1432/1825 2013/1421/2013 +f 2013/1421/2013 1825/1432/1825 1827/1433/1827 2014/1422/2014 +f 2014/1422/2014 1827/1433/1827 1829/1434/1829 2015/1423/2015 +f 2015/1423/2015 1829/1434/1829 1831/1435/1831 2016/1424/2016 +f 2016/1424/2016 1831/1435/1831 1833/1436/1833 2017/1425/2017 +f 2017/1425/2017 1833/1436/1833 1835/1437/1835 2018/1426/2018 +f 2018/1426/2018 1835/1437/1835 1837/1438/1837 2019/1427/2019 +f 2019/1427/2019 1837/1438/1837 1839/1439/1839 2020/1428/2020 +f 2020/1428/2020 1839/1439/1839 1841/1440/1841 2021/1429/2021 +f 2022/1441/2022 2023/1442/2023 2024/1443/2024 2025/1444/2025 +f 2025/1444/2025 2024/1443/2024 2026/1445/2026 2027/1446/2027 +f 2027/1446/2027 2026/1445/2026 2028/1447/2028 2029/1448/2029 +f 2029/1448/2029 2028/1447/2028 2030/1449/2030 2031/1450/2031 +f 2031/1450/2031 2030/1449/2030 2032/1451/2032 2033/1323/2033 +f 2033/1323/2033 2032/1451/2032 2034/1452/2034 2035/1453/2035 +f 2035/1453/2035 2034/1452/2034 2036/1454/2036 2037/1455/2037 +f 2037/1455/2037 2036/1454/2036 2038/1456/2038 2039/1457/2039 +f 2039/1457/2039 2038/1456/2038 2040/1458/2040 2041/1459/2041 +f 2041/1459/2041 2040/1458/2040 2042/1460/2042 2043/1461/2043 +f 2023/1442/2023 2044/1462/2044 2045/1463/2045 2024/1443/2024 +f 2024/1443/2024 2045/1463/2045 2046/1464/2046 2026/1445/2026 +f 2026/1445/2026 2046/1464/2046 2047/1465/2047 2028/1447/2028 +f 2028/1447/2028 2047/1465/2047 2048/1466/2048 2030/1449/2030 +f 2030/1449/2030 2048/1466/2048 2049/1467/2049 2032/1451/2032 +f 2032/1451/2032 2049/1467/2049 2050/1468/2050 2034/1452/2034 +f 2034/1452/2034 2050/1468/2050 2051/1469/2051 2036/1454/2036 +f 2036/1454/2036 2051/1469/2051 2052/1470/2052 2038/1456/2038 +f 2038/1456/2038 2052/1470/2052 2053/1471/2053 2040/1458/2040 +f 2040/1458/2040 2053/1471/2053 2054/1472/2054 2042/1460/2042 +f 2044/1462/2044 2055/1473/2055 2056/1474/2056 2045/1463/2045 +f 2045/1463/2045 2056/1474/2056 2057/1475/2057 2046/1464/2046 +f 2046/1464/2046 2057/1475/2057 2058/1476/2058 2047/1465/2047 +f 2047/1465/2047 2058/1476/2058 2059/1477/2059 2048/1466/2048 +f 2048/1466/2048 2059/1477/2059 2060/1478/2060 2049/1467/2049 +f 2049/1467/2049 2060/1478/2060 2061/1479/2061 2050/1468/2050 +f 2050/1468/2050 2061/1479/2061 2062/1480/2062 2051/1469/2051 +f 2051/1469/2051 2062/1480/2062 2063/1481/2063 2052/1470/2052 +f 2052/1470/2052 2063/1481/2063 2064/1482/2064 2053/1471/2053 +f 2053/1471/2053 2064/1482/2064 2065/1483/2065 2054/1472/2054 +f 2055/1473/2055 2066/1484/2066 2067/1485/2067 2056/1474/2056 +f 2056/1474/2056 2067/1485/2067 2068/1486/2068 2057/1475/2057 +f 2057/1475/2057 2068/1486/2068 2069/1487/2069 2058/1476/2058 +f 2058/1476/2058 2069/1487/2069 2070/1488/2070 2059/1477/2059 +f 2059/1477/2059 2070/1488/2070 2071/1489/2071 2060/1478/2060 +f 2060/1478/2060 2071/1489/2071 2072/1490/2072 2061/1479/2061 +f 2061/1479/2061 2072/1490/2072 2073/1491/2073 2062/1480/2062 +f 2062/1480/2062 2073/1491/2073 2074/1492/2074 2063/1481/2063 +f 2063/1481/2063 2074/1492/2074 2075/1493/2075 2064/1482/2064 +f 2064/1482/2064 2075/1493/2075 2076/1494/2076 2065/1483/2065 +f 2066/1484/2066 2077/1495/2077 2078/1496/2078 2067/1485/2067 +f 2067/1485/2067 2078/1496/2078 2079/1497/2079 2068/1486/2068 +f 2068/1486/2068 2079/1497/2079 2080/1498/2080 2069/1487/2069 +f 2069/1487/2069 2080/1498/2080 2081/1499/2081 2070/1488/2070 +f 2070/1488/2070 2081/1499/2081 2082/1500/2082 2071/1489/2071 +f 2071/1489/2071 2082/1500/2082 2083/1501/2083 2072/1490/2072 +f 2072/1490/2072 2083/1501/2083 2084/1502/2084 2073/1491/2073 +f 2073/1491/2073 2084/1502/2084 2085/1503/2085 2074/1492/2074 +f 2074/1492/2074 2085/1503/2085 2086/1504/2086 2075/1493/2075 +f 2075/1493/2075 2086/1504/2086 2087/1505/2087 2076/1494/2076 +f 2077/1495/2077 2088/1506/2088 2089/1507/2089 2078/1496/2078 +f 2078/1496/2078 2089/1507/2089 2090/1508/2090 2079/1497/2079 +f 2079/1497/2079 2090/1508/2090 2091/1509/2091 2080/1498/2080 +f 2080/1498/2080 2091/1509/2091 2092/1510/2092 2081/1499/2081 +f 2081/1499/2081 2092/1510/2092 2093/1511/2093 2082/1500/2082 +f 2082/1500/2082 2093/1511/2093 2094/1512/2094 2083/1501/2083 +f 2083/1501/2083 2094/1512/2094 2095/1513/2095 2084/1502/2084 +f 2084/1502/2084 2095/1513/2095 2096/1514/2096 2085/1503/2085 +f 2085/1503/2085 2096/1514/2096 2097/1515/2097 2086/1504/2086 +f 2086/1504/2086 2097/1515/2097 2098/1516/2098 2087/1505/2087 +f 2088/1506/2088 2099/1517/2099 2100/1518/2100 2089/1507/2089 +f 2089/1507/2089 2100/1518/2100 2101/1519/2101 2090/1508/2090 +f 2090/1508/2090 2101/1519/2101 2102/1520/2102 2091/1509/2091 +f 2091/1509/2091 2102/1520/2102 2103/1521/2103 2092/1510/2092 +f 2092/1510/2092 2103/1521/2103 2104/1522/2104 2093/1511/2093 +f 2093/1511/2093 2104/1522/2104 2105/1523/2105 2094/1512/2094 +f 2094/1512/2094 2105/1523/2105 2106/1524/2106 2095/1513/2095 +f 2095/1513/2095 2106/1524/2106 2107/1525/2107 2096/1514/2096 +f 2096/1514/2096 2107/1525/2107 2108/1526/2108 2097/1515/2097 +f 2097/1515/2097 2108/1526/2108 2109/1527/2109 2098/1516/2098 +f 2099/1517/2099 2110/1528/2110 2111/1529/2111 2100/1518/2100 +f 2100/1518/2100 2111/1529/2111 2112/1530/2112 2101/1519/2101 +f 2101/1519/2101 2112/1530/2112 2113/1531/2113 2102/1520/2102 +f 2102/1520/2102 2113/1531/2113 2114/1532/2114 2103/1521/2103 +f 2103/1521/2103 2114/1532/2114 2115/1533/2115 2104/1522/2104 +f 2104/1522/2104 2115/1533/2115 2116/1534/2116 2105/1523/2105 +f 2105/1523/2105 2116/1534/2116 2117/1535/2117 2106/1524/2106 +f 2106/1524/2106 2117/1535/2117 2118/1536/2118 2107/1525/2107 +f 2107/1525/2107 2118/1536/2118 2119/1537/2119 2108/1526/2108 +f 2108/1526/2108 2119/1537/2119 2120/1538/2120 2109/1527/2109 +f 2110/1528/2110 2121/1539/2121 2122/1540/2122 2111/1529/2111 +f 2111/1529/2111 2122/1540/2122 2123/1541/2123 2112/1530/2112 +f 2112/1530/2112 2123/1541/2123 2124/1542/2124 2113/1531/2113 +f 2113/1531/2113 2124/1542/2124 2125/1543/2125 2114/1532/2114 +f 2114/1532/2114 2125/1543/2125 2126/1544/2126 2115/1533/2115 +f 2115/1533/2115 2126/1544/2126 2127/1545/2127 2116/1534/2116 +f 2116/1534/2116 2127/1545/2127 2128/1546/2128 2117/1535/2117 +f 2117/1535/2117 2128/1546/2128 2129/1547/2129 2118/1536/2118 +f 2118/1536/2118 2129/1547/2129 2130/1548/2130 2119/1537/2119 +f 2119/1537/2119 2130/1548/2130 2131/1549/2131 2120/1538/2120 +f 2121/1539/2121 2132/1550/2132 2133/1551/2133 2122/1540/2122 +f 2122/1540/2122 2133/1551/2133 2134/1552/2134 2123/1541/2123 +f 2123/1541/2123 2134/1552/2134 2135/1553/2135 2124/1542/2124 +f 2124/1542/2124 2135/1553/2135 2136/1554/2136 2125/1543/2125 +f 2125/1543/2125 2136/1554/2136 2137/1555/2137 2126/1544/2126 +f 2126/1544/2126 2137/1555/2137 2138/1556/2138 2127/1545/2127 +f 2127/1545/2127 2138/1556/2138 2139/1557/2139 2128/1546/2128 +f 2128/1546/2128 2139/1557/2139 2140/1558/2140 2129/1547/2129 +f 2129/1547/2129 2140/1558/2140 2141/1559/2141 2130/1548/2130 +f 2130/1548/2130 2141/1559/2141 2142/1560/2142 2131/1549/2131 +f 2132/1561/2132 2143/1562/2143 2144/1563/2144 2133/1564/2133 +f 2133/1564/2133 2144/1563/2144 2145/1565/2145 2134/1566/2134 +f 2134/1566/2134 2145/1565/2145 2146/1567/2146 2135/1568/2135 +f 2135/1568/2135 2146/1567/2146 2147/1569/2147 2136/1570/2136 +f 2136/1570/2136 2147/1569/2147 2148/1571/2148 2137/1572/2137 +f 2137/1572/2137 2148/1571/2148 2149/1573/2149 2138/1574/2138 +f 2138/1574/2138 2149/1573/2149 2150/1575/2150 2139/1576/2139 +f 2139/1576/2139 2150/1575/2150 2151/1577/2151 2140/1578/2140 +f 2140/1578/2140 2151/1577/2151 2152/1579/2152 2141/1580/2141 +f 2141/1580/2141 2152/1579/2152 2153/1581/2153 2142/1582/2142 +f 2143/1562/2143 2154/1583/2154 2155/1584/2155 2144/1563/2144 +f 2144/1563/2144 2155/1584/2155 2156/1585/2156 2145/1565/2145 +f 2145/1565/2145 2156/1585/2156 2157/1586/2157 2146/1567/2146 +f 2146/1567/2146 2157/1586/2157 2158/1587/2158 2147/1569/2147 +f 2147/1569/2147 2158/1587/2158 2159/1588/2159 2148/1571/2148 +f 2148/1571/2148 2159/1588/2159 2160/1589/2160 2149/1573/2149 +f 2149/1573/2149 2160/1589/2160 2161/1590/2161 2150/1575/2150 +f 2150/1575/2150 2161/1590/2161 2162/1591/2162 2151/1577/2151 +f 2151/1577/2151 2162/1591/2162 2163/1592/2163 2152/1579/2152 +f 2152/1579/2152 2163/1592/2163 2164/1593/2164 2153/1581/2153 +f 2154/1583/2154 2165/1594/2165 2166/1595/2166 2155/1584/2155 +f 2155/1584/2155 2166/1595/2166 2167/1596/2167 2156/1585/2156 +f 2156/1585/2156 2167/1596/2167 2168/1597/2168 2157/1586/2157 +f 2157/1586/2157 2168/1597/2168 2169/1598/2169 2158/1587/2158 +f 2158/1587/2158 2169/1598/2169 2170/1599/2170 2159/1588/2159 +f 2159/1588/2159 2170/1599/2170 2171/1600/2171 2160/1589/2160 +f 2160/1589/2160 2171/1600/2171 2172/1601/2172 2161/1590/2161 +f 2161/1590/2161 2172/1601/2172 2173/1602/2173 2162/1591/2162 +f 2162/1591/2162 2173/1602/2173 2174/1603/2174 2163/1592/2163 +f 2163/1592/2163 2174/1603/2174 2175/1604/2175 2164/1593/2164 +f 2165/1594/2165 2176/1605/2176 2177/1606/2177 2166/1595/2166 +f 2166/1595/2166 2177/1606/2177 2178/1607/2178 2167/1596/2167 +f 2167/1596/2167 2178/1607/2178 2179/1608/2179 2168/1597/2168 +f 2168/1597/2168 2179/1608/2179 2180/1609/2180 2169/1598/2169 +f 2169/1598/2169 2180/1609/2180 2181/1610/2181 2170/1599/2170 +f 2170/1599/2170 2181/1610/2181 2182/1611/2182 2171/1600/2171 +f 2171/1600/2171 2182/1611/2182 2183/1612/2183 2172/1601/2172 +f 2172/1601/2172 2183/1612/2183 2184/1613/2184 2173/1602/2173 +f 2173/1602/2173 2184/1613/2184 2185/1614/2185 2174/1603/2174 +f 2174/1603/2174 2185/1614/2185 2186/1615/2186 2175/1604/2175 +f 2176/1605/2176 2187/1616/2187 2188/1617/2188 2177/1606/2177 +f 2177/1606/2177 2188/1617/2188 2189/1618/2189 2178/1607/2178 +f 2178/1607/2178 2189/1618/2189 2190/1619/2190 2179/1608/2179 +f 2179/1608/2179 2190/1619/2190 2191/1620/2191 2180/1609/2180 +f 2180/1609/2180 2191/1620/2191 2192/1621/2192 2181/1610/2181 +f 2181/1610/2181 2192/1621/2192 2193/1622/2193 2182/1611/2182 +f 2182/1611/2182 2193/1622/2193 2194/1623/2194 2183/1612/2183 +f 2183/1612/2183 2194/1623/2194 2195/1624/2195 2184/1613/2184 +f 2184/1613/2184 2195/1624/2195 2196/1625/2196 2185/1614/2185 +f 2185/1614/2185 2196/1625/2196 2197/1626/2197 2186/1615/2186 +f 2187/1616/2187 2198/1627/2198 2199/1628/2199 2188/1617/2188 +f 2188/1617/2188 2199/1628/2199 2200/1629/2200 2189/1618/2189 +f 2189/1618/2189 2200/1629/2200 2201/1630/2201 2190/1619/2190 +f 2190/1619/2190 2201/1630/2201 2202/1631/2202 2191/1620/2191 +f 2191/1620/2191 2202/1631/2202 2203/1632/2203 2192/1621/2192 +f 2192/1621/2192 2203/1632/2203 2204/1633/2204 2193/1622/2193 +f 2193/1622/2193 2204/1633/2204 2205/1634/2205 2194/1623/2194 +f 2194/1623/2194 2205/1634/2205 2206/1635/2206 2195/1624/2195 +f 2195/1624/2195 2206/1635/2206 2207/1636/2207 2196/1625/2196 +f 2196/1625/2196 2207/1636/2207 2208/1637/2208 2197/1626/2197 +f 2198/1627/2198 2209/1638/2209 2210/1639/2210 2199/1628/2199 +f 2199/1628/2199 2210/1639/2210 2211/1640/2211 2200/1629/2200 +f 2200/1629/2200 2211/1640/2211 2212/1641/2212 2201/1630/2201 +f 2201/1630/2201 2212/1641/2212 2213/1642/2213 2202/1631/2202 +f 2202/1631/2202 2213/1642/2213 2214/1643/2214 2203/1632/2203 +f 2203/1632/2203 2214/1643/2214 2215/1644/2215 2204/1633/2204 +f 2204/1633/2204 2215/1644/2215 2216/1645/2216 2205/1634/2205 +f 2205/1634/2205 2216/1645/2216 2217/1646/2217 2206/1635/2206 +f 2206/1635/2206 2217/1646/2217 2218/1647/2218 2207/1636/2207 +f 2207/1636/2207 2218/1647/2218 2219/1648/2219 2208/1637/2208 +f 2209/1638/2209 2220/1649/2220 2221/1650/2221 2210/1639/2210 +f 2210/1639/2210 2221/1650/2221 2222/1651/2222 2211/1640/2211 +f 2211/1640/2211 2222/1651/2222 2223/1652/2223 2212/1641/2212 +f 2212/1641/2212 2223/1652/2223 2224/1653/2224 2213/1642/2213 +f 2213/1642/2213 2224/1653/2224 2225/1654/2225 2214/1643/2214 +f 2214/1643/2214 2225/1654/2225 2226/1655/2226 2215/1644/2215 +f 2215/1644/2215 2226/1655/2226 2227/1656/2227 2216/1645/2216 +f 2216/1645/2216 2227/1656/2227 2228/1657/2228 2217/1646/2217 +f 2217/1646/2217 2228/1657/2228 2229/1658/2229 2218/1647/2218 +f 2218/1647/2218 2229/1658/2229 2230/1659/2230 2219/1648/2219 +f 2220/1649/2220 2231/1660/2231 2232/1661/2232 2221/1650/2221 +f 2221/1650/2221 2232/1661/2232 2233/1662/2233 2222/1651/2222 +f 2222/1651/2222 2233/1662/2233 2234/1663/2234 2223/1652/2223 +f 2223/1652/2223 2234/1663/2234 2235/1664/2235 2224/1653/2224 +f 2224/1653/2224 2235/1664/2235 2236/1665/2236 2225/1654/2225 +f 2225/1654/2225 2236/1665/2236 2237/1666/2237 2226/1655/2226 +f 2226/1655/2226 2237/1666/2237 2238/1667/2238 2227/1656/2227 +f 2227/1656/2227 2238/1667/2238 2239/1668/2239 2228/1657/2228 +f 2228/1657/2228 2239/1668/2239 2240/1669/2240 2229/1658/2229 +f 2229/1658/2229 2240/1669/2240 2241/1670/2241 2230/1659/2230 +f 2231/1660/2231 2022/1671/2022 2025/1672/2025 2232/1661/2232 +f 2232/1661/2232 2025/1672/2025 2027/1673/2027 2233/1662/2233 +f 2233/1662/2233 2027/1673/2027 2029/1674/2029 2234/1663/2234 +f 2234/1663/2234 2029/1674/2029 2031/1675/2031 2235/1664/2235 +f 2235/1664/2235 2031/1675/2031 2033/1676/2033 2236/1665/2236 +f 2236/1665/2236 2033/1676/2033 2035/1677/2035 2237/1666/2237 +f 2237/1666/2237 2035/1677/2035 2037/1678/2037 2238/1667/2238 +f 2238/1667/2238 2037/1678/2037 2039/1679/2039 2239/1668/2239 +f 2239/1668/2239 2039/1679/2039 2041/1680/2041 2240/1669/2240 +f 2240/1669/2240 2041/1680/2041 2043/1681/2043 2241/1670/2241 +f 2043/1088/2043 2042/1682/2042 2242/1683/2242 2243/1684/2243 +f 2243/1684/2243 2242/1683/2242 2244/1685/2244 2245/1686/2245 +f 2245/1686/2245 2244/1685/2244 2246/1687/2246 2247/1688/2247 +f 2247/1688/2247 2246/1687/2246 2248/1689/2248 2249/1690/2249 +f 2249/1690/2249 2248/1689/2248 2250/1691/2250 2251/1692/2251 +f 2251/1692/2251 2250/1691/2250 2252/1693/2252 2253/1694/2253 +f 2253/1694/2253 2252/1693/2252 2254/1695/2254 2255/1696/2255 +f 2255/1696/2255 2254/1695/2254 2256/1697/2256 2257/1698/2257 +f 2257/1698/2257 2256/1697/2256 2258/1699/2258 2259/1700/2259 +f 2259/1700/2259 2258/1699/2258 2260/1701/2260 2261/1702/2261 +f 2042/1682/2042 2054/1703/2054 2262/1704/2262 2242/1683/2242 +f 2242/1683/2242 2262/1704/2262 2263/1705/2263 2244/1685/2244 +f 2244/1685/2244 2263/1705/2263 2264/1706/2264 2246/1687/2246 +f 2246/1687/2246 2264/1706/2264 2265/1707/2265 2248/1689/2248 +f 2248/1689/2248 2265/1707/2265 2266/1708/2266 2250/1691/2250 +f 2250/1691/2250 2266/1708/2266 2267/1709/2267 2252/1693/2252 +f 2252/1693/2252 2267/1709/2267 2268/1710/2268 2254/1695/2254 +f 2254/1695/2254 2268/1710/2268 2269/1711/2269 2256/1697/2256 +f 2256/1697/2256 2269/1711/2269 2270/1712/2270 2258/1699/2258 +f 2258/1699/2258 2270/1712/2270 2271/1713/2271 2260/1701/2260 +f 2054/1703/2054 2065/1714/2065 2272/1715/2272 2262/1704/2262 +f 2262/1704/2262 2272/1715/2272 2273/1716/2273 2263/1705/2263 +f 2263/1705/2263 2273/1716/2273 2274/1717/2274 2264/1706/2264 +f 2264/1706/2264 2274/1717/2274 2275/1718/2275 2265/1707/2265 +f 2265/1707/2265 2275/1718/2275 2276/1719/2276 2266/1708/2266 +f 2266/1708/2266 2276/1719/2276 2277/1720/2277 2267/1709/2267 +f 2267/1709/2267 2277/1720/2277 2278/1721/2278 2268/1710/2268 +f 2268/1710/2268 2278/1721/2278 2279/1722/2279 2269/1711/2269 +f 2269/1711/2269 2279/1722/2279 2280/1723/2280 2270/1712/2270 +f 2270/1712/2270 2280/1723/2280 2281/1724/2281 2271/1713/2271 +f 2065/1714/2065 2076/1725/2076 2282/1726/2282 2272/1715/2272 +f 2272/1715/2272 2282/1726/2282 2283/1727/2283 2273/1716/2273 +f 2273/1716/2273 2283/1727/2283 2284/1728/2284 2274/1717/2274 +f 2274/1717/2274 2284/1728/2284 2285/1729/2285 2275/1718/2275 +f 2275/1718/2275 2285/1729/2285 2286/1730/2286 2276/1719/2276 +f 2276/1719/2276 2286/1730/2286 2287/1731/2287 2277/1720/2277 +f 2277/1720/2277 2287/1731/2287 2288/1732/2288 2278/1721/2278 +f 2278/1721/2278 2288/1732/2288 2289/1733/2289 2279/1722/2279 +f 2279/1722/2279 2289/1733/2289 2290/1734/2290 2280/1723/2280 +f 2280/1723/2280 2290/1734/2290 2291/1735/2291 2281/1724/2281 +f 2076/1725/2076 2087/1736/2087 2292/1737/2292 2282/1726/2282 +f 2282/1726/2282 2292/1737/2292 2293/1738/2293 2283/1727/2283 +f 2283/1727/2283 2293/1738/2293 2294/1739/2294 2284/1728/2284 +f 2284/1728/2284 2294/1739/2294 2295/1740/2295 2285/1729/2285 +f 2285/1729/2285 2295/1740/2295 2296/1741/2296 2286/1730/2286 +f 2286/1730/2286 2296/1741/2296 2297/1742/2297 2287/1731/2287 +f 2287/1731/2287 2297/1742/2297 2298/1743/2298 2288/1732/2288 +f 2288/1732/2288 2298/1743/2298 2299/1744/2299 2289/1733/2289 +f 2289/1733/2289 2299/1744/2299 2300/1745/2300 2290/1734/2290 +f 2290/1734/2290 2300/1745/2300 2301/1746/2301 2291/1735/2291 +f 2087/1736/2087 2098/1747/2098 2302/1748/2302 2292/1737/2292 +f 2292/1737/2292 2302/1748/2302 2303/1749/2303 2293/1738/2293 +f 2293/1738/2293 2303/1749/2303 2304/1750/2304 2294/1739/2294 +f 2294/1739/2294 2304/1750/2304 2305/1751/2305 2295/1740/2295 +f 2295/1740/2295 2305/1751/2305 2306/1752/2306 2296/1741/2296 +f 2296/1741/2296 2306/1752/2306 2307/1753/2307 2297/1742/2297 +f 2297/1742/2297 2307/1753/2307 2308/1754/2308 2298/1743/2298 +f 2298/1743/2298 2308/1754/2308 2309/1755/2309 2299/1744/2299 +f 2299/1744/2299 2309/1755/2309 2310/1756/2310 2300/1745/2300 +f 2300/1745/2300 2310/1756/2310 2311/1757/2311 2301/1746/2301 +f 2098/1747/2098 2109/1758/2109 2312/1759/2312 2302/1748/2302 +f 2302/1748/2302 2312/1759/2312 2313/1760/2313 2303/1749/2303 +f 2303/1749/2303 2313/1760/2313 2314/1761/2314 2304/1750/2304 +f 2304/1750/2304 2314/1761/2314 2315/1762/2315 2305/1751/2305 +f 2305/1751/2305 2315/1762/2315 2316/1763/2316 2306/1752/2306 +f 2306/1752/2306 2316/1763/2316 2317/1764/2317 2307/1753/2307 +f 2307/1753/2307 2317/1764/2317 2318/1765/2318 2308/1754/2308 +f 2308/1754/2308 2318/1765/2318 2319/1766/2319 2309/1755/2309 +f 2309/1755/2309 2319/1766/2319 2320/1767/2320 2310/1756/2310 +f 2310/1756/2310 2320/1767/2320 2321/1768/2321 2311/1757/2311 +f 2109/1758/2109 2120/1769/2120 2322/1770/2322 2312/1759/2312 +f 2312/1759/2312 2322/1770/2322 2323/1771/2323 2313/1760/2313 +f 2313/1760/2313 2323/1771/2323 2324/1772/2324 2314/1761/2314 +f 2314/1761/2314 2324/1772/2324 2325/1773/2325 2315/1762/2315 +f 2315/1762/2315 2325/1773/2325 2326/1774/2326 2316/1763/2316 +f 2316/1763/2316 2326/1774/2326 2327/1775/2327 2317/1764/2317 +f 2317/1764/2317 2327/1775/2327 2328/1776/2328 2318/1765/2318 +f 2318/1765/2318 2328/1776/2328 2329/1777/2329 2319/1766/2319 +f 2319/1766/2319 2329/1777/2329 2330/1778/2330 2320/1767/2320 +f 2320/1767/2320 2330/1778/2330 2331/1779/2331 2321/1768/2321 +f 2120/1769/2120 2131/1780/2131 2332/1781/2332 2322/1770/2322 +f 2322/1770/2322 2332/1781/2332 2333/1782/2333 2323/1771/2323 +f 2323/1771/2323 2333/1782/2333 2334/1783/2334 2324/1772/2324 +f 2324/1772/2324 2334/1783/2334 2335/1784/2335 2325/1773/2325 +f 2325/1773/2325 2335/1784/2335 2336/1785/2336 2326/1774/2326 +f 2326/1774/2326 2336/1785/2336 2337/1786/2337 2327/1775/2327 +f 2327/1775/2327 2337/1786/2337 2338/1787/2338 2328/1776/2328 +f 2328/1776/2328 2338/1787/2338 2339/1788/2339 2329/1777/2329 +f 2329/1777/2329 2339/1788/2339 2340/1789/2340 2330/1778/2330 +f 2330/1778/2330 2340/1789/2340 2341/1790/2341 2331/1779/2331 +f 2131/1780/2131 2142/1791/2142 2342/1792/2342 2332/1781/2332 +f 2332/1781/2332 2342/1792/2342 2343/1793/2343 2333/1782/2333 +f 2333/1782/2333 2343/1793/2343 2344/1794/2344 2334/1783/2334 +f 2334/1783/2334 2344/1794/2344 2345/1795/2345 2335/1784/2335 +f 2335/1784/2335 2345/1795/2345 2346/1796/2346 2336/1785/2336 +f 2336/1785/2336 2346/1796/2346 2347/1797/2347 2337/1786/2337 +f 2337/1786/2337 2347/1797/2347 2348/1798/2348 2338/1787/2338 +f 2338/1787/2338 2348/1798/2348 2349/1799/2349 2339/1788/2339 +f 2339/1788/2339 2349/1799/2349 2350/1800/2350 2340/1789/2340 +f 2340/1789/2340 2350/1800/2350 2351/1801/2351 2341/1790/2341 +f 2142/1802/2142 2153/1803/2153 2352/1804/2352 2342/1805/2342 +f 2342/1805/2342 2352/1804/2352 2353/1806/2353 2343/1807/2343 +f 2343/1807/2343 2353/1806/2353 2354/1808/2354 2344/1809/2344 +f 2344/1809/2344 2354/1808/2354 2355/1810/2355 2345/1811/2345 +f 2345/1811/2345 2355/1810/2355 2356/1812/2356 2346/1813/2346 +f 2346/1813/2346 2356/1812/2356 2357/1814/2357 2347/1815/2347 +f 2347/1815/2347 2357/1814/2357 2358/1816/2358 2348/1817/2348 +f 2348/1817/2348 2358/1816/2358 2359/1818/2359 2349/1819/2349 +f 2349/1819/2349 2359/1818/2359 2360/1820/2360 2350/1821/2350 +f 2350/1821/2350 2360/1820/2360 2361/1822/2361 2351/1823/2351 +f 2153/1803/2153 2164/1824/2164 2362/1825/2362 2352/1804/2352 +f 2352/1804/2352 2362/1825/2362 2363/1826/2363 2353/1806/2353 +f 2353/1806/2353 2363/1826/2363 2364/1827/2364 2354/1808/2354 +f 2354/1808/2354 2364/1827/2364 2365/1828/2365 2355/1810/2355 +f 2355/1810/2355 2365/1828/2365 2366/1829/2366 2356/1812/2356 +f 2356/1812/2356 2366/1829/2366 2367/1830/2367 2357/1814/2357 +f 2357/1814/2357 2367/1830/2367 2368/1831/2368 2358/1816/2358 +f 2358/1816/2358 2368/1831/2368 2369/1832/2369 2359/1818/2359 +f 2359/1818/2359 2369/1832/2369 2370/1833/2370 2360/1820/2360 +f 2360/1820/2360 2370/1833/2370 2371/1834/2371 2361/1822/2361 +f 2164/1824/2164 2175/1835/2175 2372/1836/2372 2362/1825/2362 +f 2362/1825/2362 2372/1836/2372 2373/1837/2373 2363/1826/2363 +f 2363/1826/2363 2373/1837/2373 2374/1838/2374 2364/1827/2364 +f 2364/1827/2364 2374/1838/2374 2375/1839/2375 2365/1828/2365 +f 2365/1828/2365 2375/1839/2375 2376/1840/2376 2366/1829/2366 +f 2366/1829/2366 2376/1840/2376 2377/1841/2377 2367/1830/2367 +f 2367/1830/2367 2377/1841/2377 2378/1842/2378 2368/1831/2368 +f 2368/1831/2368 2378/1842/2378 2379/1843/2379 2369/1832/2369 +f 2369/1832/2369 2379/1843/2379 2380/1844/2380 2370/1833/2370 +f 2370/1833/2370 2380/1844/2380 2381/1845/2381 2371/1834/2371 +f 2175/1835/2175 2186/1846/2186 2382/1847/2382 2372/1836/2372 +f 2372/1836/2372 2382/1847/2382 2383/1848/2383 2373/1837/2373 +f 2373/1837/2373 2383/1848/2383 2384/1849/2384 2374/1838/2374 +f 2374/1838/2374 2384/1849/2384 2385/1850/2385 2375/1839/2375 +f 2375/1839/2375 2385/1850/2385 2386/1851/2386 2376/1840/2376 +f 2376/1840/2376 2386/1851/2386 2387/1852/2387 2377/1841/2377 +f 2377/1841/2377 2387/1852/2387 2388/1853/2388 2378/1842/2378 +f 2378/1842/2378 2388/1853/2388 2389/1854/2389 2379/1843/2379 +f 2379/1843/2379 2389/1854/2389 2390/1855/2390 2380/1844/2380 +f 2380/1844/2380 2390/1855/2390 2391/1856/2391 2381/1845/2381 +f 2186/1846/2186 2197/1857/2197 2392/1858/2392 2382/1847/2382 +f 2382/1847/2382 2392/1858/2392 2393/1859/2393 2383/1848/2383 +f 2383/1848/2383 2393/1859/2393 2394/1860/2394 2384/1849/2384 +f 2384/1849/2384 2394/1860/2394 2395/1861/2395 2385/1850/2385 +f 2385/1850/2385 2395/1861/2395 2396/1862/2396 2386/1851/2386 +f 2386/1851/2386 2396/1862/2396 2397/1863/2397 2387/1852/2387 +f 2387/1852/2387 2397/1863/2397 2398/1864/2398 2388/1853/2388 +f 2388/1853/2388 2398/1864/2398 2399/1865/2399 2389/1854/2389 +f 2389/1854/2389 2399/1865/2399 2400/1866/2400 2390/1855/2390 +f 2390/1855/2390 2400/1866/2400 2401/1867/2401 2391/1856/2391 +f 2197/1857/2197 2208/1868/2208 2402/1869/2402 2392/1858/2392 +f 2392/1858/2392 2402/1869/2402 2403/1870/2403 2393/1859/2393 +f 2393/1859/2393 2403/1870/2403 2404/1871/2404 2394/1860/2394 +f 2394/1860/2394 2404/1871/2404 2405/1872/2405 2395/1861/2395 +f 2395/1861/2395 2405/1872/2405 2406/1873/2406 2396/1862/2396 +f 2396/1862/2396 2406/1873/2406 2407/1874/2407 2397/1863/2397 +f 2397/1863/2397 2407/1874/2407 2408/1875/2408 2398/1864/2398 +f 2398/1864/2398 2408/1875/2408 2409/1876/2409 2399/1865/2399 +f 2399/1865/2399 2409/1876/2409 2410/1877/2410 2400/1866/2400 +f 2400/1866/2400 2410/1877/2410 2411/1878/2411 2401/1867/2401 +f 2208/1868/2208 2219/1879/2219 2412/1880/2412 2402/1869/2402 +f 2402/1869/2402 2412/1880/2412 2413/1881/2413 2403/1870/2403 +f 2403/1870/2403 2413/1881/2413 2414/1882/2414 2404/1871/2404 +f 2404/1871/2404 2414/1882/2414 2415/1883/2415 2405/1872/2405 +f 2405/1872/2405 2415/1883/2415 2416/1884/2416 2406/1873/2406 +f 2406/1873/2406 2416/1884/2416 2417/1885/2417 2407/1874/2407 +f 2407/1874/2407 2417/1885/2417 2418/1886/2418 2408/1875/2408 +f 2408/1875/2408 2418/1886/2418 2419/1887/2419 2409/1876/2409 +f 2409/1876/2409 2419/1887/2419 2420/1888/2420 2410/1877/2410 +f 2410/1877/2410 2420/1888/2420 2421/1889/2421 2411/1878/2411 +f 2219/1879/2219 2230/1890/2230 2422/1891/2422 2412/1880/2412 +f 2412/1880/2412 2422/1891/2422 2423/1892/2423 2413/1881/2413 +f 2413/1881/2413 2423/1892/2423 2424/1893/2424 2414/1882/2414 +f 2414/1882/2414 2424/1893/2424 2425/1894/2425 2415/1883/2415 +f 2415/1883/2415 2425/1894/2425 2426/1895/2426 2416/1884/2416 +f 2416/1884/2416 2426/1895/2426 2427/1896/2427 2417/1885/2417 +f 2417/1885/2417 2427/1896/2427 2428/1897/2428 2418/1886/2418 +f 2418/1886/2418 2428/1897/2428 2429/1898/2429 2419/1887/2419 +f 2419/1887/2419 2429/1898/2429 2430/1899/2430 2420/1888/2420 +f 2420/1888/2420 2430/1899/2430 2431/1900/2431 2421/1889/2421 +f 2230/1890/2230 2241/1901/2241 2432/1902/2432 2422/1891/2422 +f 2422/1891/2422 2432/1902/2432 2433/1903/2433 2423/1892/2423 +f 2423/1892/2423 2433/1903/2433 2434/1904/2434 2424/1893/2424 +f 2424/1893/2424 2434/1904/2434 2435/1905/2435 2425/1894/2425 +f 2425/1894/2425 2435/1905/2435 2436/1906/2436 2426/1895/2426 +f 2426/1895/2426 2436/1906/2436 2437/1907/2437 2427/1896/2427 +f 2427/1896/2427 2437/1907/2437 2438/1908/2438 2428/1897/2428 +f 2428/1897/2428 2438/1908/2438 2439/1909/2439 2429/1898/2429 +f 2429/1898/2429 2439/1909/2439 2440/1910/2440 2430/1899/2430 +f 2430/1899/2430 2440/1910/2440 2441/1911/2441 2431/1900/2431 +f 2241/1901/2241 2043/1912/2043 2243/1913/2243 2432/1902/2432 +f 2432/1902/2432 2243/1913/2243 2245/1914/2245 2433/1903/2433 +f 2433/1903/2433 2245/1914/2245 2247/1915/2247 2434/1904/2434 +f 2434/1904/2434 2247/1915/2247 2249/1916/2249 2435/1905/2435 +f 2435/1905/2435 2249/1916/2249 2251/1917/2251 2436/1906/2436 +f 2436/1906/2436 2251/1917/2251 2253/1918/2253 2437/1907/2437 +f 2437/1907/2437 2253/1918/2253 2255/1919/2255 2438/1908/2438 +f 2438/1908/2438 2255/1919/2255 2257/1920/2257 2439/1909/2439 +f 2439/1909/2439 2257/1920/2257 2259/1921/2259 2440/1910/2440 +f 2440/1910/2440 2259/1921/2259 2261/1922/2261 2441/1911/2441 +f 2442/970/2442 2443/971/2443 2444/606/2444 +f 2443/971/2443 2442/970/2442 2445/974/2445 2446/975/2446 +f 2446/975/2446 2445/974/2445 2447/978/2447 2448/979/2448 +f 2448/979/2448 2447/978/2447 2449/982/2449 2450/983/2450 +f 2450/983/2450 2449/982/2449 2451/1923/2451 2452/1924/2452 +f 2452/1924/2452 2451/1923/2451 2453/1925/2453 2454/1926/2454 +f 2454/1926/2454 2453/1925/2453 2455/1927/2455 2456/1928/2456 +f 2456/1928/2456 2455/1927/2455 2457/1929/2457 2458/1930/2458 +f 2458/1930/2458 2457/1929/2457 2459/1931/2459 2460/1932/2460 +f 2460/1932/2460 2459/1931/2459 2461/1933/2461 2462/1934/2462 +f 2463/989/2463 2442/970/2442 2444/967/2444 +f 2442/970/2442 2463/989/2463 2464/991/2464 2445/974/2445 +f 2445/974/2445 2464/991/2464 2465/993/2465 2447/978/2447 +f 2447/978/2447 2465/993/2465 2466/995/2466 2449/982/2449 +f 2449/982/2449 2466/995/2466 2467/1935/2467 2451/1923/2451 +f 2451/1923/2451 2467/1935/2467 2468/1936/2468 2453/1925/2453 +f 2453/1925/2453 2468/1936/2468 2469/1937/2469 2455/1927/2455 +f 2455/1927/2455 2469/1937/2469 2470/1938/2470 2457/1929/2457 +f 2457/1929/2457 2470/1938/2470 2471/1939/2471 2459/1931/2459 +f 2459/1931/2459 2471/1939/2471 2472/1940/2472 2461/1933/2461 +f 2473/1000/2473 2463/989/2463 2444/607/2444 +f 2463/989/2463 2473/1000/2473 2474/1002/2474 2464/991/2464 +f 2464/991/2464 2474/1002/2474 2475/1004/2475 2465/993/2465 +f 2465/993/2465 2475/1004/2475 2476/1006/2476 2466/995/2466 +f 2466/995/2466 2476/1006/2476 2477/1941/2477 2467/1935/2467 +f 2467/1935/2467 2477/1941/2477 2478/1942/2478 2468/1936/2468 +f 2468/1936/2468 2478/1942/2478 2479/1943/2479 2469/1937/2469 +f 2469/1937/2469 2479/1943/2479 2480/1944/2480 2470/1938/2470 +f 2470/1938/2470 2480/1944/2480 2481/1945/2481 2471/1939/2471 +f 2471/1939/2471 2481/1945/2481 2482/1946/2482 2472/1940/2472 +f 2483/1010/2483 2473/1000/2473 2444/998/2444 +f 2473/1000/2473 2483/1010/2483 2484/1012/2484 2474/1002/2474 +f 2474/1002/2474 2484/1012/2484 2485/1014/2485 2475/1004/2475 +f 2475/1004/2475 2485/1014/2485 2486/1016/2486 2476/1006/2476 +f 2476/1006/2476 2486/1016/2486 2487/1947/2487 2477/1941/2477 +f 2477/1941/2477 2487/1947/2487 2488/1948/2488 2478/1942/2478 +f 2478/1942/2478 2488/1948/2488 2489/1949/2489 2479/1943/2479 +f 2479/1943/2479 2489/1949/2489 2490/1950/2490 2480/1944/2480 +f 2480/1944/2480 2490/1950/2490 2491/1951/2491 2481/1945/2481 +f 2481/1945/2481 2491/1951/2491 2492/1952/2492 2482/1946/2482 +f 2493/1021/2493 2483/1010/2483 2444/628/2444 +f 2483/1010/2483 2493/1021/2493 2494/1023/2494 2484/1012/2484 +f 2484/1012/2484 2494/1023/2494 2495/1025/2495 2485/1014/2485 +f 2485/1014/2485 2495/1025/2495 2496/1027/2496 2486/1016/2486 +f 2486/1016/2486 2496/1027/2496 2497/1953/2497 2487/1947/2487 +f 2487/1947/2487 2497/1953/2497 2498/1954/2498 2488/1948/2488 +f 2488/1948/2488 2498/1954/2498 2499/1955/2499 2489/1949/2489 +f 2489/1949/2489 2499/1955/2499 2500/1956/2500 2490/1950/2490 +f 2490/1950/2490 2500/1956/2500 2501/1957/2501 2491/1951/2491 +f 2491/1951/2491 2501/1957/2501 2502/1958/2502 2492/1952/2492 +f 2503/1031/2503 2493/1021/2493 2444/1019/2444 +f 2493/1021/2493 2503/1031/2503 2504/1033/2504 2494/1023/2494 +f 2494/1023/2494 2504/1033/2504 2505/1035/2505 2495/1025/2495 +f 2495/1025/2495 2505/1035/2505 2506/1037/2506 2496/1027/2496 +f 2496/1027/2496 2506/1037/2506 2507/1959/2507 2497/1953/2497 +f 2497/1953/2497 2507/1959/2507 2508/1960/2508 2498/1954/2498 +f 2498/1954/2498 2508/1960/2508 2509/1961/2509 2499/1955/2499 +f 2499/1955/2499 2509/1961/2509 2510/1962/2510 2500/1956/2500 +f 2500/1956/2500 2510/1962/2510 2511/1963/2511 2501/1957/2501 +f 2501/1957/2501 2511/1963/2511 2512/1964/2512 2502/1958/2502 +f 2513/1042/2513 2503/1031/2503 2444/639/2444 +f 2503/1031/2503 2513/1042/2513 2514/1044/2514 2504/1033/2504 +f 2504/1033/2504 2514/1044/2514 2515/1046/2515 2505/1035/2505 +f 2505/1035/2505 2515/1046/2515 2516/1048/2516 2506/1037/2506 +f 2506/1037/2506 2516/1048/2516 2517/1965/2517 2507/1959/2507 +f 2507/1959/2507 2517/1965/2517 2518/1966/2518 2508/1960/2508 +f 2508/1960/2508 2518/1966/2518 2519/1967/2519 2509/1961/2509 +f 2509/1961/2509 2519/1967/2519 2520/1968/2520 2510/1962/2510 +f 2510/1962/2510 2520/1968/2520 2521/1969/2521 2511/1963/2511 +f 2511/1963/2511 2521/1969/2521 2522/1970/2522 2512/1964/2512 +f 2523/1052/2523 2513/1042/2513 2444/1040/2444 +f 2513/1042/2513 2523/1052/2523 2524/1054/2524 2514/1044/2514 +f 2514/1044/2514 2524/1054/2524 2525/1056/2525 2515/1046/2515 +f 2515/1046/2515 2525/1056/2525 2526/1058/2526 2516/1048/2516 +f 2516/1048/2516 2526/1058/2526 2527/1971/2527 2517/1965/2517 +f 2517/1965/2517 2527/1971/2527 2528/1972/2528 2518/1966/2518 +f 2518/1966/2518 2528/1972/2528 2529/1973/2529 2519/1967/2519 +f 2519/1967/2519 2529/1973/2529 2530/1974/2530 2520/1968/2520 +f 2520/1968/2520 2530/1974/2530 2531/1975/2531 2521/1969/2521 +f 2521/1969/2521 2531/1975/2531 2532/1976/2532 2522/1970/2522 +f 2533/1063/2533 2523/1052/2523 2444/650/2444 +f 2523/1052/2523 2533/1063/2533 2534/1065/2534 2524/1054/2524 +f 2524/1054/2524 2534/1065/2534 2535/1067/2535 2525/1056/2525 +f 2525/1056/2525 2535/1067/2535 2536/1069/2536 2526/1058/2526 +f 2526/1058/2526 2536/1069/2536 2537/1977/2537 2527/1971/2527 +f 2527/1971/2527 2537/1977/2537 2538/1978/2538 2528/1972/2528 +f 2528/1972/2528 2538/1978/2538 2539/1979/2539 2529/1973/2529 +f 2529/1973/2529 2539/1979/2539 2540/1980/2540 2530/1974/2530 +f 2530/1974/2530 2540/1980/2540 2541/1981/2541 2531/1975/2531 +f 2531/1975/2531 2541/1981/2541 2542/1982/2542 2532/1976/2532 +f 2543/1074/2543 2533/1063/2533 2444/1061/2444 +f 2533/1063/2533 2543/1074/2543 2544/1076/2544 2534/1065/2534 +f 2534/1065/2534 2544/1076/2544 2545/1078/2545 2535/1067/2535 +f 2535/1067/2535 2545/1078/2545 2546/1080/2546 2536/1069/2536 +f 2536/1069/2536 2546/1080/2546 2547/1983/2547 2537/1977/2537 +f 2537/1977/2537 2547/1983/2547 2548/1984/2548 2538/1978/2538 +f 2538/1978/2538 2548/1984/2548 2549/1985/2549 2539/1979/2539 +f 2539/1979/2539 2549/1985/2549 2550/1986/2550 2540/1980/2540 +f 2540/1980/2540 2550/1986/2550 2551/1987/2551 2541/1981/2541 +f 2541/1981/2541 2551/1987/2551 2552/1988/2552 2542/1982/2542 +f 2553/1087/2553 2543/1088/2543 2444/1083/2444 +f 2543/1088/2543 2553/1087/2553 2554/1091/2554 2544/1092/2544 +f 2544/1092/2544 2554/1091/2554 2555/1095/2555 2545/1096/2545 +f 2545/1096/2545 2555/1095/2555 2556/1099/2556 2546/1100/2546 +f 2546/1100/2546 2556/1099/2556 2557/1989/2557 2547/1990/2547 +f 2547/1990/2547 2557/1989/2557 2558/1991/2558 2548/1992/2548 +f 2548/1992/2548 2558/1991/2558 2559/1993/2559 2549/1994/2549 +f 2549/1994/2549 2559/1993/2559 2560/1995/2560 2550/1996/2550 +f 2550/1996/2550 2560/1995/2560 2561/1997/2561 2551/1998/2551 +f 2551/1998/2551 2561/1997/2561 2562/1999/2562 2552/2000/2552 +f 2563/1107/2563 2553/1087/2553 2444/1084/2444 +f 2553/1087/2553 2563/1107/2563 2564/1109/2564 2554/1091/2554 +f 2554/1091/2554 2564/1109/2564 2565/1111/2565 2555/1095/2555 +f 2555/1095/2555 2565/1111/2565 2566/1113/2566 2556/1099/2556 +f 2556/1099/2556 2566/1113/2566 2567/2001/2567 2557/1989/2557 +f 2557/1989/2557 2567/2001/2567 2568/2002/2568 2558/1991/2558 +f 2558/1991/2558 2568/2002/2568 2569/2003/2569 2559/1993/2559 +f 2559/1993/2559 2569/2003/2569 2570/2004/2570 2560/1995/2560 +f 2560/1995/2560 2570/2004/2570 2571/2005/2571 2561/1997/2561 +f 2561/1997/2561 2571/2005/2571 2572/2006/2572 2562/1999/2562 +f 2573/1118/2573 2563/1107/2563 2444/1105/2444 +f 2563/1107/2563 2573/1118/2573 2574/1120/2574 2564/1109/2564 +f 2564/1109/2564 2574/1120/2574 2575/1122/2575 2565/1111/2565 +f 2565/1111/2565 2575/1122/2575 2576/1124/2576 2566/1113/2566 +f 2566/1113/2566 2576/1124/2576 2577/2007/2577 2567/2001/2567 +f 2567/2001/2567 2577/2007/2577 2578/2008/2578 2568/2002/2568 +f 2568/2002/2568 2578/2008/2578 2579/2009/2579 2569/2003/2569 +f 2569/2003/2569 2579/2009/2579 2580/2010/2580 2570/2004/2570 +f 2570/2004/2570 2580/2010/2580 2581/2011/2581 2571/2005/2571 +f 2571/2005/2571 2581/2011/2581 2582/2012/2582 2572/2006/2572 +f 2583/1129/2583 2573/1118/2573 2444/1116/2444 +f 2573/1118/2573 2583/1129/2583 2584/1131/2584 2574/1120/2574 +f 2574/1120/2574 2584/1131/2584 2585/1133/2585 2575/1122/2575 +f 2575/1122/2575 2585/1133/2585 2586/1135/2586 2576/1124/2576 +f 2576/1124/2576 2586/1135/2586 2587/2013/2587 2577/2007/2577 +f 2577/2007/2577 2587/2013/2587 2588/2014/2588 2578/2008/2578 +f 2578/2008/2578 2588/2014/2588 2589/2015/2589 2579/2009/2579 +f 2579/2009/2579 2589/2015/2589 2590/2016/2590 2580/2010/2580 +f 2580/2010/2580 2590/2016/2590 2591/2017/2591 2581/2011/2581 +f 2581/2011/2581 2591/2017/2591 2592/2018/2592 2582/2012/2582 +f 2593/1140/2593 2583/1129/2583 2444/1127/2444 +f 2583/1129/2583 2593/1140/2593 2594/1142/2594 2584/1131/2584 +f 2584/1131/2584 2594/1142/2594 2595/1144/2595 2585/1133/2585 +f 2585/1133/2585 2595/1144/2595 2596/1146/2596 2586/1135/2586 +f 2586/1135/2586 2596/1146/2596 2597/2019/2597 2587/2013/2587 +f 2587/2013/2587 2597/2019/2597 2598/2020/2598 2588/2014/2588 +f 2588/2014/2588 2598/2020/2598 2599/2021/2599 2589/2015/2589 +f 2589/2015/2589 2599/2021/2599 2600/2022/2600 2590/2016/2590 +f 2590/2016/2590 2600/2022/2600 2601/2023/2601 2591/2017/2591 +f 2591/2017/2591 2601/2023/2601 2602/2024/2602 2592/2018/2592 +f 2603/1151/2603 2593/1140/2593 2444/1138/2444 +f 2593/1140/2593 2603/1151/2603 2604/1153/2604 2594/1142/2594 +f 2594/1142/2594 2604/1153/2604 2605/1155/2605 2595/1144/2595 +f 2595/1144/2595 2605/1155/2605 2606/1157/2606 2596/1146/2596 +f 2596/1146/2596 2606/1157/2606 2607/2025/2607 2597/2019/2597 +f 2597/2019/2597 2607/2025/2607 2608/2026/2608 2598/2020/2598 +f 2598/2020/2598 2608/2026/2608 2609/2027/2609 2599/2021/2599 +f 2599/2021/2599 2609/2027/2609 2610/2028/2610 2600/2022/2600 +f 2600/2022/2600 2610/2028/2610 2611/2029/2611 2601/2023/2601 +f 2601/2023/2601 2611/2029/2611 2612/2030/2612 2602/2024/2602 +f 2613/1162/2613 2603/1151/2603 2444/1149/2444 +f 2603/1151/2603 2613/1162/2613 2614/1164/2614 2604/1153/2604 +f 2604/1153/2604 2614/1164/2614 2615/1166/2615 2605/1155/2605 +f 2605/1155/2605 2615/1166/2615 2616/1168/2616 2606/1157/2606 +f 2606/1157/2606 2616/1168/2616 2617/2031/2617 2607/2025/2607 +f 2607/2025/2607 2617/2031/2617 2618/2032/2618 2608/2026/2608 +f 2608/2026/2608 2618/2032/2618 2619/2033/2619 2609/2027/2609 +f 2609/2027/2609 2619/2033/2619 2620/2034/2620 2610/2028/2610 +f 2610/2028/2610 2620/2034/2620 2621/2035/2621 2611/2029/2611 +f 2611/2029/2611 2621/2035/2621 2622/2036/2622 2612/2030/2612 +f 2623/1173/2623 2613/1162/2613 2444/1160/2444 +f 2613/1162/2613 2623/1173/2623 2624/1175/2624 2614/1164/2614 +f 2614/1164/2614 2624/1175/2624 2625/1177/2625 2615/1166/2615 +f 2615/1166/2615 2625/1177/2625 2626/1179/2626 2616/1168/2616 +f 2616/1168/2616 2626/1179/2626 2627/2037/2627 2617/2031/2617 +f 2617/2031/2617 2627/2037/2627 2628/2038/2628 2618/2032/2618 +f 2618/2032/2618 2628/2038/2628 2629/2039/2629 2619/2033/2619 +f 2619/2033/2619 2629/2039/2629 2630/2040/2630 2620/2034/2620 +f 2620/2034/2620 2630/2040/2630 2631/2041/2631 2621/2035/2621 +f 2621/2035/2621 2631/2041/2631 2632/2042/2632 2622/2036/2622 +f 2633/1184/2633 2623/1173/2623 2444/1171/2444 +f 2623/1173/2623 2633/1184/2633 2634/1186/2634 2624/1175/2624 +f 2624/1175/2624 2634/1186/2634 2635/1188/2635 2625/1177/2625 +f 2625/1177/2625 2635/1188/2635 2636/1190/2636 2626/1179/2626 +f 2626/1179/2626 2636/1190/2636 2637/2043/2637 2627/2037/2627 +f 2627/2037/2627 2637/2043/2637 2638/2044/2638 2628/2038/2628 +f 2628/2038/2628 2638/2044/2638 2639/2045/2639 2629/2039/2629 +f 2629/2039/2629 2639/2045/2639 2640/2046/2640 2630/2040/2630 +f 2630/2040/2630 2640/2046/2640 2641/2047/2641 2631/2041/2631 +f 2631/2041/2631 2641/2047/2641 2642/2048/2642 2632/2042/2632 +f 2643/1195/2643 2633/1184/2633 2444/1182/2444 +f 2633/1184/2633 2643/1195/2643 2644/1197/2644 2634/1186/2634 +f 2634/1186/2634 2644/1197/2644 2645/1199/2645 2635/1188/2635 +f 2635/1188/2635 2645/1199/2645 2646/1201/2646 2636/1190/2636 +f 2636/1190/2636 2646/1201/2646 2647/2049/2647 2637/2043/2637 +f 2637/2043/2637 2647/2049/2647 2648/2050/2648 2638/2044/2638 +f 2638/2044/2638 2648/2050/2648 2649/2051/2649 2639/2045/2639 +f 2639/2045/2639 2649/2051/2649 2650/2052/2650 2640/2046/2640 +f 2640/2046/2640 2650/2052/2650 2651/2053/2651 2641/2047/2641 +f 2641/2047/2641 2651/2053/2651 2652/2054/2652 2642/2048/2642 +f 2653/970/2653 2643/971/2643 2444/606/2444 +f 2643/971/2643 2653/970/2653 2654/974/2654 2644/975/2644 +f 2644/975/2644 2654/974/2654 2655/978/2655 2645/979/2645 +f 2645/979/2645 2655/978/2655 2656/982/2656 2646/983/2646 +f 2646/983/2646 2656/982/2656 2657/1923/2657 2647/1924/2647 +f 2647/1924/2647 2657/1923/2657 2658/1925/2658 2648/1926/2648 +f 2648/1926/2648 2658/1925/2658 2659/1927/2659 2649/1928/2649 +f 2649/1928/2649 2659/1927/2659 2660/1929/2660 2650/1930/2650 +f 2650/1930/2650 2660/1929/2660 2661/1931/2661 2651/1932/2651 +f 2651/1932/2651 2661/1931/2661 2662/1933/2662 2652/1934/2652 +f 2663/989/2663 2653/970/2653 2444/967/2444 +f 2653/970/2653 2663/989/2663 2664/991/2664 2654/974/2654 +f 2654/974/2654 2664/991/2664 2665/993/2665 2655/978/2655 +f 2655/978/2655 2665/993/2665 2666/995/2666 2656/982/2656 +f 2656/982/2656 2666/995/2666 2667/1935/2667 2657/1923/2657 +f 2657/1923/2657 2667/1935/2667 2668/1936/2668 2658/1925/2658 +f 2658/1925/2658 2668/1936/2668 2669/1937/2669 2659/1927/2659 +f 2659/1927/2659 2669/1937/2669 2670/1938/2670 2660/1929/2660 +f 2660/1929/2660 2670/1938/2670 2671/1939/2671 2661/1931/2661 +f 2661/1931/2661 2671/1939/2671 2672/1940/2672 2662/1933/2662 +f 2673/1000/2673 2663/989/2663 2444/607/2444 +f 2663/989/2663 2673/1000/2673 2674/1002/2674 2664/991/2664 +f 2664/991/2664 2674/1002/2674 2675/1004/2675 2665/993/2665 +f 2665/993/2665 2675/1004/2675 2676/1006/2676 2666/995/2666 +f 2666/995/2666 2676/1006/2676 2677/1941/2677 2667/1935/2667 +f 2667/1935/2667 2677/1941/2677 2678/1942/2678 2668/1936/2668 +f 2668/1936/2668 2678/1942/2678 2679/1943/2679 2669/1937/2669 +f 2669/1937/2669 2679/1943/2679 2680/1944/2680 2670/1938/2670 +f 2670/1938/2670 2680/1944/2680 2681/1945/2681 2671/1939/2671 +f 2671/1939/2671 2681/1945/2681 2682/1946/2682 2672/1940/2672 +f 2683/1010/2683 2673/1000/2673 2444/998/2444 +f 2673/1000/2673 2683/1010/2683 2684/1012/2684 2674/1002/2674 +f 2674/1002/2674 2684/1012/2684 2685/1014/2685 2675/1004/2675 +f 2675/1004/2675 2685/1014/2685 2686/1016/2686 2676/1006/2676 +f 2676/1006/2676 2686/1016/2686 2687/1947/2687 2677/1941/2677 +f 2677/1941/2677 2687/1947/2687 2688/1948/2688 2678/1942/2678 +f 2678/1942/2678 2688/1948/2688 2689/1949/2689 2679/1943/2679 +f 2679/1943/2679 2689/1949/2689 2690/1950/2690 2680/1944/2680 +f 2680/1944/2680 2690/1950/2690 2691/1951/2691 2681/1945/2681 +f 2681/1945/2681 2691/1951/2691 2692/1952/2692 2682/1946/2682 +f 2693/1021/2693 2683/1010/2683 2444/628/2444 +f 2683/1010/2683 2693/1021/2693 2694/1023/2694 2684/1012/2684 +f 2684/1012/2684 2694/1023/2694 2695/1025/2695 2685/1014/2685 +f 2685/1014/2685 2695/1025/2695 2696/1027/2696 2686/1016/2686 +f 2686/1016/2686 2696/1027/2696 2697/1953/2697 2687/1947/2687 +f 2687/1947/2687 2697/1953/2697 2698/1954/2698 2688/1948/2688 +f 2688/1948/2688 2698/1954/2698 2699/1955/2699 2689/1949/2689 +f 2689/1949/2689 2699/1955/2699 2700/1956/2700 2690/1950/2690 +f 2690/1950/2690 2700/1956/2700 2701/1957/2701 2691/1951/2691 +f 2691/1951/2691 2701/1957/2701 2702/1958/2702 2692/1952/2692 +f 2703/1031/2703 2693/1021/2693 2444/1019/2444 +f 2693/1021/2693 2703/1031/2703 2704/1033/2704 2694/1023/2694 +f 2694/1023/2694 2704/1033/2704 2705/1035/2705 2695/1025/2695 +f 2695/1025/2695 2705/1035/2705 2706/1037/2706 2696/1027/2696 +f 2696/1027/2696 2706/1037/2706 2707/1959/2707 2697/1953/2697 +f 2697/1953/2697 2707/1959/2707 2708/1960/2708 2698/1954/2698 +f 2698/1954/2698 2708/1960/2708 2709/1961/2709 2699/1955/2699 +f 2699/1955/2699 2709/1961/2709 2710/1962/2710 2700/1956/2700 +f 2700/1956/2700 2710/1962/2710 2711/1963/2711 2701/1957/2701 +f 2701/1957/2701 2711/1963/2711 2712/1964/2712 2702/1958/2702 +f 2713/1042/2713 2703/1031/2703 2444/639/2444 +f 2703/1031/2703 2713/1042/2713 2714/1044/2714 2704/1033/2704 +f 2704/1033/2704 2714/1044/2714 2715/1046/2715 2705/1035/2705 +f 2705/1035/2705 2715/1046/2715 2716/1048/2716 2706/1037/2706 +f 2706/1037/2706 2716/1048/2716 2717/1965/2717 2707/1959/2707 +f 2707/1959/2707 2717/1965/2717 2718/1966/2718 2708/1960/2708 +f 2708/1960/2708 2718/1966/2718 2719/1967/2719 2709/1961/2709 +f 2709/1961/2709 2719/1967/2719 2720/1968/2720 2710/1962/2710 +f 2710/1962/2710 2720/1968/2720 2721/1969/2721 2711/1963/2711 +f 2711/1963/2711 2721/1969/2721 2722/1970/2722 2712/1964/2712 +f 2723/1052/2723 2713/1042/2713 2444/1040/2444 +f 2713/1042/2713 2723/1052/2723 2724/1054/2724 2714/1044/2714 +f 2714/1044/2714 2724/1054/2724 2725/1056/2725 2715/1046/2715 +f 2715/1046/2715 2725/1056/2725 2726/1058/2726 2716/1048/2716 +f 2716/1048/2716 2726/1058/2726 2727/1971/2727 2717/1965/2717 +f 2717/1965/2717 2727/1971/2727 2728/1972/2728 2718/1966/2718 +f 2718/1966/2718 2728/1972/2728 2729/1973/2729 2719/1967/2719 +f 2719/1967/2719 2729/1973/2729 2730/1974/2730 2720/1968/2720 +f 2720/1968/2720 2730/1974/2730 2731/1975/2731 2721/1969/2721 +f 2721/1969/2721 2731/1975/2731 2732/1976/2732 2722/1970/2722 +f 2733/1063/2733 2723/1052/2723 2444/650/2444 +f 2723/1052/2723 2733/1063/2733 2734/1065/2734 2724/1054/2724 +f 2724/1054/2724 2734/1065/2734 2735/1067/2735 2725/1056/2725 +f 2725/1056/2725 2735/1067/2735 2736/1069/2736 2726/1058/2726 +f 2726/1058/2726 2736/1069/2736 2737/1977/2737 2727/1971/2727 +f 2727/1971/2727 2737/1977/2737 2738/1978/2738 2728/1972/2728 +f 2728/1972/2728 2738/1978/2738 2739/1979/2739 2729/1973/2729 +f 2729/1973/2729 2739/1979/2739 2740/1980/2740 2730/1974/2730 +f 2730/1974/2730 2740/1980/2740 2741/1981/2741 2731/1975/2731 +f 2731/1975/2731 2741/1981/2741 2742/1982/2742 2732/1976/2732 +f 2743/1074/2743 2733/1063/2733 2444/1061/2444 +f 2733/1063/2733 2743/1074/2743 2744/1076/2744 2734/1065/2734 +f 2734/1065/2734 2744/1076/2744 2745/1078/2745 2735/1067/2735 +f 2735/1067/2735 2745/1078/2745 2746/1080/2746 2736/1069/2736 +f 2736/1069/2736 2746/1080/2746 2747/1983/2747 2737/1977/2737 +f 2737/1977/2737 2747/1983/2747 2748/1984/2748 2738/1978/2738 +f 2738/1978/2738 2748/1984/2748 2749/1985/2749 2739/1979/2739 +f 2739/1979/2739 2749/1985/2749 2750/1986/2750 2740/1980/2740 +f 2740/1980/2740 2750/1986/2750 2751/1987/2751 2741/1981/2741 +f 2741/1981/2741 2751/1987/2751 2752/1988/2752 2742/1982/2742 +f 2753/1087/2753 2743/1088/2743 2444/1083/2444 +f 2743/1088/2743 2753/1087/2753 2754/1091/2754 2744/1092/2744 +f 2744/1092/2744 2754/1091/2754 2755/1095/2755 2745/1096/2745 +f 2745/1096/2745 2755/1095/2755 2756/1099/2756 2746/1100/2746 +f 2746/1100/2746 2756/1099/2756 2757/1989/2757 2747/1990/2747 +f 2747/1990/2747 2757/1989/2757 2758/1991/2758 2748/1992/2748 +f 2748/1992/2748 2758/1991/2758 2759/1993/2759 2749/1994/2749 +f 2749/1994/2749 2759/1993/2759 2760/1995/2760 2750/1996/2750 +f 2750/1996/2750 2760/1995/2760 2761/1997/2761 2751/1998/2751 +f 2751/1998/2751 2761/1997/2761 2762/1999/2762 2752/2000/2752 +f 2763/1107/2763 2753/1087/2753 2444/1084/2444 +f 2753/1087/2753 2763/1107/2763 2764/1109/2764 2754/1091/2754 +f 2754/1091/2754 2764/1109/2764 2765/1111/2765 2755/1095/2755 +f 2755/1095/2755 2765/1111/2765 2766/1113/2766 2756/1099/2756 +f 2756/1099/2756 2766/1113/2766 2767/2001/2767 2757/1989/2757 +f 2757/1989/2757 2767/2001/2767 2768/2002/2768 2758/1991/2758 +f 2758/1991/2758 2768/2002/2768 2769/2003/2769 2759/1993/2759 +f 2759/1993/2759 2769/2003/2769 2770/2004/2770 2760/1995/2760 +f 2760/1995/2760 2770/2004/2770 2771/2005/2771 2761/1997/2761 +f 2761/1997/2761 2771/2005/2771 2772/2006/2772 2762/1999/2762 +f 2773/1118/2773 2763/1107/2763 2444/1105/2444 +f 2763/1107/2763 2773/1118/2773 2774/1120/2774 2764/1109/2764 +f 2764/1109/2764 2774/1120/2774 2775/1122/2775 2765/1111/2765 +f 2765/1111/2765 2775/1122/2775 2776/1124/2776 2766/1113/2766 +f 2766/1113/2766 2776/1124/2776 2777/2007/2777 2767/2001/2767 +f 2767/2001/2767 2777/2007/2777 2778/2008/2778 2768/2002/2768 +f 2768/2002/2768 2778/2008/2778 2779/2009/2779 2769/2003/2769 +f 2769/2003/2769 2779/2009/2779 2780/2010/2780 2770/2004/2770 +f 2770/2004/2770 2780/2010/2780 2781/2011/2781 2771/2005/2771 +f 2771/2005/2771 2781/2011/2781 2782/2012/2782 2772/2006/2772 +f 2783/1129/2783 2773/1118/2773 2444/1116/2444 +f 2773/1118/2773 2783/1129/2783 2784/1131/2784 2774/1120/2774 +f 2774/1120/2774 2784/1131/2784 2785/1133/2785 2775/1122/2775 +f 2775/1122/2775 2785/1133/2785 2786/1135/2786 2776/1124/2776 +f 2776/1124/2776 2786/1135/2786 2787/2013/2787 2777/2007/2777 +f 2777/2007/2777 2787/2013/2787 2788/2014/2788 2778/2008/2778 +f 2778/2008/2778 2788/2014/2788 2789/2015/2789 2779/2009/2779 +f 2779/2009/2779 2789/2015/2789 2790/2016/2790 2780/2010/2780 +f 2780/2010/2780 2790/2016/2790 2791/2017/2791 2781/2011/2781 +f 2781/2011/2781 2791/2017/2791 2792/2018/2792 2782/2012/2782 +f 2793/1140/2793 2783/1129/2783 2444/1127/2444 +f 2783/1129/2783 2793/1140/2793 2794/1142/2794 2784/1131/2784 +f 2784/1131/2784 2794/1142/2794 2795/1144/2795 2785/1133/2785 +f 2785/1133/2785 2795/1144/2795 2796/1146/2796 2786/1135/2786 +f 2786/1135/2786 2796/1146/2796 2797/2019/2797 2787/2013/2787 +f 2787/2013/2787 2797/2019/2797 2798/2020/2798 2788/2014/2788 +f 2788/2014/2788 2798/2020/2798 2799/2021/2799 2789/2015/2789 +f 2789/2015/2789 2799/2021/2799 2800/2022/2800 2790/2016/2790 +f 2790/2016/2790 2800/2022/2800 2801/2023/2801 2791/2017/2791 +f 2791/2017/2791 2801/2023/2801 2802/2024/2802 2792/2018/2792 +f 2803/1151/2803 2793/1140/2793 2444/1138/2444 +f 2793/1140/2793 2803/1151/2803 2804/1153/2804 2794/1142/2794 +f 2794/1142/2794 2804/1153/2804 2805/1155/2805 2795/1144/2795 +f 2795/1144/2795 2805/1155/2805 2806/1157/2806 2796/1146/2796 +f 2796/1146/2796 2806/1157/2806 2807/2025/2807 2797/2019/2797 +f 2797/2019/2797 2807/2025/2807 2808/2026/2808 2798/2020/2798 +f 2798/2020/2798 2808/2026/2808 2809/2027/2809 2799/2021/2799 +f 2799/2021/2799 2809/2027/2809 2810/2028/2810 2800/2022/2800 +f 2800/2022/2800 2810/2028/2810 2811/2029/2811 2801/2023/2801 +f 2801/2023/2801 2811/2029/2811 2812/2030/2812 2802/2024/2802 +f 2813/1162/2813 2803/1151/2803 2444/1149/2444 +f 2803/1151/2803 2813/1162/2813 2814/1164/2814 2804/1153/2804 +f 2804/1153/2804 2814/1164/2814 2815/1166/2815 2805/1155/2805 +f 2805/1155/2805 2815/1166/2815 2816/1168/2816 2806/1157/2806 +f 2806/1157/2806 2816/1168/2816 2817/2031/2817 2807/2025/2807 +f 2807/2025/2807 2817/2031/2817 2818/2032/2818 2808/2026/2808 +f 2808/2026/2808 2818/2032/2818 2819/2033/2819 2809/2027/2809 +f 2809/2027/2809 2819/2033/2819 2820/2034/2820 2810/2028/2810 +f 2810/2028/2810 2820/2034/2820 2821/2035/2821 2811/2029/2811 +f 2811/2029/2811 2821/2035/2821 2822/2036/2822 2812/2030/2812 +f 2823/1173/2823 2813/1162/2813 2444/1160/2444 +f 2813/1162/2813 2823/1173/2823 2824/1175/2824 2814/1164/2814 +f 2814/1164/2814 2824/1175/2824 2825/1177/2825 2815/1166/2815 +f 2815/1166/2815 2825/1177/2825 2826/1179/2826 2816/1168/2816 +f 2816/1168/2816 2826/1179/2826 2827/2037/2827 2817/2031/2817 +f 2817/2031/2817 2827/2037/2827 2828/2038/2828 2818/2032/2818 +f 2818/2032/2818 2828/2038/2828 2829/2039/2829 2819/2033/2819 +f 2819/2033/2819 2829/2039/2829 2830/2040/2830 2820/2034/2820 +f 2820/2034/2820 2830/2040/2830 2831/2041/2831 2821/2035/2821 +f 2821/2035/2821 2831/2041/2831 2832/2042/2832 2822/2036/2822 +f 2833/1184/2833 2823/1173/2823 2444/1171/2444 +f 2823/1173/2823 2833/1184/2833 2834/1186/2834 2824/1175/2824 +f 2824/1175/2824 2834/1186/2834 2835/1188/2835 2825/1177/2825 +f 2825/1177/2825 2835/1188/2835 2836/1190/2836 2826/1179/2826 +f 2826/1179/2826 2836/1190/2836 2837/2043/2837 2827/2037/2827 +f 2827/2037/2827 2837/2043/2837 2838/2044/2838 2828/2038/2828 +f 2828/2038/2828 2838/2044/2838 2839/2045/2839 2829/2039/2829 +f 2829/2039/2829 2839/2045/2839 2840/2046/2840 2830/2040/2830 +f 2830/2040/2830 2840/2046/2840 2841/2047/2841 2831/2041/2831 +f 2831/2041/2831 2841/2047/2841 2842/2048/2842 2832/2042/2832 +f 2443/1195/2443 2833/1184/2833 2444/1182/2444 +f 2833/1184/2833 2443/1195/2443 2446/1197/2446 2834/1186/2834 +f 2834/1186/2834 2446/1197/2446 2448/1199/2448 2835/1188/2835 +f 2835/1188/2835 2448/1199/2448 2450/1201/2450 2836/1190/2836 +f 2836/1190/2836 2450/1201/2450 2452/2049/2452 2837/2043/2837 +f 2837/2043/2837 2452/2049/2452 2454/2050/2454 2838/2044/2838 +f 2838/2044/2838 2454/2050/2454 2456/2051/2456 2839/2045/2839 +f 2839/2045/2839 2456/2051/2456 2458/2052/2458 2840/2046/2840 +f 2840/2046/2840 2458/2052/2458 2460/2053/2460 2841/2047/2841 +f 2841/2047/2841 2460/2053/2460 2462/2054/2462 2842/2048/2842 +f 2462/606/2462 2461/967/2461 2843/970/2843 2844/971/2844 +f 2844/971/2844 2843/970/2843 2845/974/2845 2846/975/2846 +f 2846/975/2846 2845/974/2845 2847/978/2847 2848/979/2848 +f 2848/979/2848 2847/978/2847 2849/982/2849 2850/983/2850 +f 2850/983/2850 2849/982/2849 2851/1923/2851 2852/1924/2852 +f 2852/1924/2852 2851/1923/2851 2853/1925/2853 2854/1926/2854 +f 2854/1926/2854 2853/1925/2853 2855/1927/2855 2856/1928/2856 +f 2856/1928/2856 2855/1927/2855 2857/1929/2857 2858/1930/2858 +f 2858/1930/2858 2857/1929/2857 2859/1931/2859 2860/1932/2860 +f 2860/1932/2860 2859/1931/2859 2861/1933/2861 2862/1934/2862 +f 2461/967/2461 2472/607/2472 2863/989/2863 2843/970/2843 +f 2843/970/2843 2863/989/2863 2864/991/2864 2845/974/2845 +f 2845/974/2845 2864/991/2864 2865/993/2865 2847/978/2847 +f 2847/978/2847 2865/993/2865 2866/995/2866 2849/982/2849 +f 2849/982/2849 2866/995/2866 2867/1935/2867 2851/1923/2851 +f 2851/1923/2851 2867/1935/2867 2868/1936/2868 2853/1925/2853 +f 2853/1925/2853 2868/1936/2868 2869/1937/2869 2855/1927/2855 +f 2855/1927/2855 2869/1937/2869 2870/1938/2870 2857/1929/2857 +f 2857/1929/2857 2870/1938/2870 2871/1939/2871 2859/1931/2859 +f 2859/1931/2859 2871/1939/2871 2872/1940/2872 2861/1933/2861 +f 2472/607/2472 2482/998/2482 2873/1000/2873 2863/989/2863 +f 2863/989/2863 2873/1000/2873 2874/1002/2874 2864/991/2864 +f 2864/991/2864 2874/1002/2874 2875/1004/2875 2865/993/2865 +f 2865/993/2865 2875/1004/2875 2876/1006/2876 2866/995/2866 +f 2866/995/2866 2876/1006/2876 2877/1941/2877 2867/1935/2867 +f 2867/1935/2867 2877/1941/2877 2878/1942/2878 2868/1936/2868 +f 2868/1936/2868 2878/1942/2878 2879/1943/2879 2869/1937/2869 +f 2869/1937/2869 2879/1943/2879 2880/1944/2880 2870/1938/2870 +f 2870/1938/2870 2880/1944/2880 2881/1945/2881 2871/1939/2871 +f 2871/1939/2871 2881/1945/2881 2882/1946/2882 2872/1940/2872 +f 2482/998/2482 2492/628/2492 2883/1010/2883 2873/1000/2873 +f 2873/1000/2873 2883/1010/2883 2884/1012/2884 2874/1002/2874 +f 2874/1002/2874 2884/1012/2884 2885/1014/2885 2875/1004/2875 +f 2875/1004/2875 2885/1014/2885 2886/1016/2886 2876/1006/2876 +f 2876/1006/2876 2886/1016/2886 2887/1947/2887 2877/1941/2877 +f 2877/1941/2877 2887/1947/2887 2888/1948/2888 2878/1942/2878 +f 2878/1942/2878 2888/1948/2888 2889/1949/2889 2879/1943/2879 +f 2879/1943/2879 2889/1949/2889 2890/1950/2890 2880/1944/2880 +f 2880/1944/2880 2890/1950/2890 2891/1951/2891 2881/1945/2881 +f 2881/1945/2881 2891/1951/2891 2892/1952/2892 2882/1946/2882 +f 2492/628/2492 2502/1019/2502 2893/1021/2893 2883/1010/2883 +f 2883/1010/2883 2893/1021/2893 2894/1023/2894 2884/1012/2884 +f 2884/1012/2884 2894/1023/2894 2895/1025/2895 2885/1014/2885 +f 2885/1014/2885 2895/1025/2895 2896/1027/2896 2886/1016/2886 +f 2886/1016/2886 2896/1027/2896 2897/1953/2897 2887/1947/2887 +f 2887/1947/2887 2897/1953/2897 2898/1954/2898 2888/1948/2888 +f 2888/1948/2888 2898/1954/2898 2899/1955/2899 2889/1949/2889 +f 2889/1949/2889 2899/1955/2899 2900/1956/2900 2890/1950/2890 +f 2890/1950/2890 2900/1956/2900 2901/1957/2901 2891/1951/2891 +f 2891/1951/2891 2901/1957/2901 2902/1958/2902 2892/1952/2892 +f 2502/1019/2502 2512/639/2512 2903/1031/2903 2893/1021/2893 +f 2893/1021/2893 2903/1031/2903 2904/1033/2904 2894/1023/2894 +f 2894/1023/2894 2904/1033/2904 2905/1035/2905 2895/1025/2895 +f 2895/1025/2895 2905/1035/2905 2906/1037/2906 2896/1027/2896 +f 2896/1027/2896 2906/1037/2906 2907/1959/2907 2897/1953/2897 +f 2897/1953/2897 2907/1959/2907 2908/1960/2908 2898/1954/2898 +f 2898/1954/2898 2908/1960/2908 2909/1961/2909 2899/1955/2899 +f 2899/1955/2899 2909/1961/2909 2910/1962/2910 2900/1956/2900 +f 2900/1956/2900 2910/1962/2910 2911/1963/2911 2901/1957/2901 +f 2901/1957/2901 2911/1963/2911 2912/1964/2912 2902/1958/2902 +f 2512/639/2512 2522/1040/2522 2913/1042/2913 2903/1031/2903 +f 2903/1031/2903 2913/1042/2913 2914/1044/2914 2904/1033/2904 +f 2904/1033/2904 2914/1044/2914 2915/1046/2915 2905/1035/2905 +f 2905/1035/2905 2915/1046/2915 2916/1048/2916 2906/1037/2906 +f 2906/1037/2906 2916/1048/2916 2917/1965/2917 2907/1959/2907 +f 2907/1959/2907 2917/1965/2917 2918/1966/2918 2908/1960/2908 +f 2908/1960/2908 2918/1966/2918 2919/1967/2919 2909/1961/2909 +f 2909/1961/2909 2919/1967/2919 2920/1968/2920 2910/1962/2910 +f 2910/1962/2910 2920/1968/2920 2921/1969/2921 2911/1963/2911 +f 2911/1963/2911 2921/1969/2921 2922/1970/2922 2912/1964/2912 +f 2522/1040/2522 2532/650/2532 2923/1052/2923 2913/1042/2913 +f 2913/1042/2913 2923/1052/2923 2924/1054/2924 2914/1044/2914 +f 2914/1044/2914 2924/1054/2924 2925/1056/2925 2915/1046/2915 +f 2915/1046/2915 2925/1056/2925 2926/1058/2926 2916/1048/2916 +f 2916/1048/2916 2926/1058/2926 2927/1971/2927 2917/1965/2917 +f 2917/1965/2917 2927/1971/2927 2928/1972/2928 2918/1966/2918 +f 2918/1966/2918 2928/1972/2928 2929/1973/2929 2919/1967/2919 +f 2919/1967/2919 2929/1973/2929 2930/1974/2930 2920/1968/2920 +f 2920/1968/2920 2930/1974/2930 2931/1975/2931 2921/1969/2921 +f 2921/1969/2921 2931/1975/2931 2932/1976/2932 2922/1970/2922 +f 2532/650/2532 2542/1061/2542 2933/1063/2933 2923/1052/2923 +f 2923/1052/2923 2933/1063/2933 2934/1065/2934 2924/1054/2924 +f 2924/1054/2924 2934/1065/2934 2935/1067/2935 2925/1056/2925 +f 2925/1056/2925 2935/1067/2935 2936/1069/2936 2926/1058/2926 +f 2926/1058/2926 2936/1069/2936 2937/1977/2937 2927/1971/2927 +f 2927/1971/2927 2937/1977/2937 2938/1978/2938 2928/1972/2928 +f 2928/1972/2928 2938/1978/2938 2939/1979/2939 2929/1973/2929 +f 2929/1973/2929 2939/1979/2939 2940/1980/2940 2930/1974/2930 +f 2930/1974/2930 2940/1980/2940 2941/1981/2941 2931/1975/2931 +f 2931/1975/2931 2941/1981/2941 2942/1982/2942 2932/1976/2932 +f 2542/1061/2542 2552/1072/2552 2943/1074/2943 2933/1063/2933 +f 2933/1063/2933 2943/1074/2943 2944/1076/2944 2934/1065/2934 +f 2934/1065/2934 2944/1076/2944 2945/1078/2945 2935/1067/2935 +f 2935/1067/2935 2945/1078/2945 2946/1080/2946 2936/1069/2936 +f 2936/1069/2936 2946/1080/2946 2947/1983/2947 2937/1977/2937 +f 2937/1977/2937 2947/1983/2947 2948/1984/2948 2938/1978/2938 +f 2938/1978/2938 2948/1984/2948 2949/1985/2949 2939/1979/2939 +f 2939/1979/2939 2949/1985/2949 2950/1986/2950 2940/1980/2940 +f 2940/1980/2940 2950/1986/2950 2951/1987/2951 2941/1981/2941 +f 2941/1981/2941 2951/1987/2951 2952/1988/2952 2942/1982/2942 +f 2552/1083/2552 2562/1084/2562 2953/1087/2953 2943/1088/2943 +f 2943/1088/2943 2953/1087/2953 2954/1091/2954 2944/1092/2944 +f 2944/1092/2944 2954/1091/2954 2955/1095/2955 2945/1096/2945 +f 2945/1096/2945 2955/1095/2955 2956/1099/2956 2946/1100/2946 +f 2946/1100/2946 2956/1099/2956 2957/1989/2957 2947/1990/2947 +f 2947/1990/2947 2957/1989/2957 2958/1991/2958 2948/1992/2948 +f 2948/1992/2948 2958/1991/2958 2959/1993/2959 2949/1994/2949 +f 2949/1994/2949 2959/1993/2959 2960/1995/2960 2950/1996/2950 +f 2950/1996/2950 2960/1995/2960 2961/1997/2961 2951/1998/2951 +f 2951/1998/2951 2961/1997/2961 2962/1999/2962 2952/2000/2952 +f 2562/1084/2562 2572/1105/2572 2963/1107/2963 2953/1087/2953 +f 2953/1087/2953 2963/1107/2963 2964/1109/2964 2954/1091/2954 +f 2954/1091/2954 2964/1109/2964 2965/1111/2965 2955/1095/2955 +f 2955/1095/2955 2965/1111/2965 2966/1113/2966 2956/1099/2956 +f 2956/1099/2956 2966/1113/2966 2967/2001/2967 2957/1989/2957 +f 2957/1989/2957 2967/2001/2967 2968/2002/2968 2958/1991/2958 +f 2958/1991/2958 2968/2002/2968 2969/2003/2969 2959/1993/2959 +f 2959/1993/2959 2969/2003/2969 2970/2004/2970 2960/1995/2960 +f 2960/1995/2960 2970/2004/2970 2971/2005/2971 2961/1997/2961 +f 2961/1997/2961 2971/2005/2971 2972/2006/2972 2962/1999/2962 +f 2572/1105/2572 2582/1116/2582 2973/1118/2973 2963/1107/2963 +f 2963/1107/2963 2973/1118/2973 2974/1120/2974 2964/1109/2964 +f 2964/1109/2964 2974/1120/2974 2975/1122/2975 2965/1111/2965 +f 2965/1111/2965 2975/1122/2975 2976/1124/2976 2966/1113/2966 +f 2966/1113/2966 2976/1124/2976 2977/2007/2977 2967/2001/2967 +f 2967/2001/2967 2977/2007/2977 2978/2008/2978 2968/2002/2968 +f 2968/2002/2968 2978/2008/2978 2979/2009/2979 2969/2003/2969 +f 2969/2003/2969 2979/2009/2979 2980/2010/2980 2970/2004/2970 +f 2970/2004/2970 2980/2010/2980 2981/2011/2981 2971/2005/2971 +f 2971/2005/2971 2981/2011/2981 2982/2012/2982 2972/2006/2972 +f 2582/1116/2582 2592/1127/2592 2983/1129/2983 2973/1118/2973 +f 2973/1118/2973 2983/1129/2983 2984/1131/2984 2974/1120/2974 +f 2974/1120/2974 2984/1131/2984 2985/1133/2985 2975/1122/2975 +f 2975/1122/2975 2985/1133/2985 2986/1135/2986 2976/1124/2976 +f 2976/1124/2976 2986/1135/2986 2987/2013/2987 2977/2007/2977 +f 2977/2007/2977 2987/2013/2987 2988/2014/2988 2978/2008/2978 +f 2978/2008/2978 2988/2014/2988 2989/2015/2989 2979/2009/2979 +f 2979/2009/2979 2989/2015/2989 2990/2016/2990 2980/2010/2980 +f 2980/2010/2980 2990/2016/2990 2991/2017/2991 2981/2011/2981 +f 2981/2011/2981 2991/2017/2991 2992/2018/2992 2982/2012/2982 +f 2592/1127/2592 2602/1138/2602 2993/1140/2993 2983/1129/2983 +f 2983/1129/2983 2993/1140/2993 2994/1142/2994 2984/1131/2984 +f 2984/1131/2984 2994/1142/2994 2995/1144/2995 2985/1133/2985 +f 2985/1133/2985 2995/1144/2995 2996/1146/2996 2986/1135/2986 +f 2986/1135/2986 2996/1146/2996 2997/2019/2997 2987/2013/2987 +f 2987/2013/2987 2997/2019/2997 2998/2020/2998 2988/2014/2988 +f 2988/2014/2988 2998/2020/2998 2999/2021/2999 2989/2015/2989 +f 2989/2015/2989 2999/2021/2999 3000/2022/3000 2990/2016/2990 +f 2990/2016/2990 3000/2022/3000 3001/2023/3001 2991/2017/2991 +f 2991/2017/2991 3001/2023/3001 3002/2024/3002 2992/2018/2992 +f 2602/1138/2602 2612/1149/2612 3003/1151/3003 2993/1140/2993 +f 2993/1140/2993 3003/1151/3003 3004/1153/3004 2994/1142/2994 +f 2994/1142/2994 3004/1153/3004 3005/1155/3005 2995/1144/2995 +f 2995/1144/2995 3005/1155/3005 3006/1157/3006 2996/1146/2996 +f 2996/1146/2996 3006/1157/3006 3007/2025/3007 2997/2019/2997 +f 2997/2019/2997 3007/2025/3007 3008/2026/3008 2998/2020/2998 +f 2998/2020/2998 3008/2026/3008 3009/2027/3009 2999/2021/2999 +f 2999/2021/2999 3009/2027/3009 3010/2028/3010 3000/2022/3000 +f 3000/2022/3000 3010/2028/3010 3011/2029/3011 3001/2023/3001 +f 3001/2023/3001 3011/2029/3011 3012/2030/3012 3002/2024/3002 +f 2612/1149/2612 2622/1160/2622 3013/1162/3013 3003/1151/3003 +f 3003/1151/3003 3013/1162/3013 3014/1164/3014 3004/1153/3004 +f 3004/1153/3004 3014/1164/3014 3015/1166/3015 3005/1155/3005 +f 3005/1155/3005 3015/1166/3015 3016/1168/3016 3006/1157/3006 +f 3006/1157/3006 3016/1168/3016 3017/2031/3017 3007/2025/3007 +f 3007/2025/3007 3017/2031/3017 3018/2032/3018 3008/2026/3008 +f 3008/2026/3008 3018/2032/3018 3019/2033/3019 3009/2027/3009 +f 3009/2027/3009 3019/2033/3019 3020/2034/3020 3010/2028/3010 +f 3010/2028/3010 3020/2034/3020 3021/2035/3021 3011/2029/3011 +f 3011/2029/3011 3021/2035/3021 3022/2036/3022 3012/2030/3012 +f 2622/1160/2622 2632/1171/2632 3023/1173/3023 3013/1162/3013 +f 3013/1162/3013 3023/1173/3023 3024/1175/3024 3014/1164/3014 +f 3014/1164/3014 3024/1175/3024 3025/1177/3025 3015/1166/3015 +f 3015/1166/3015 3025/1177/3025 3026/1179/3026 3016/1168/3016 +f 3016/1168/3016 3026/1179/3026 3027/2037/3027 3017/2031/3017 +f 3017/2031/3017 3027/2037/3027 3028/2038/3028 3018/2032/3018 +f 3018/2032/3018 3028/2038/3028 3029/2039/3029 3019/2033/3019 +f 3019/2033/3019 3029/2039/3029 3030/2040/3030 3020/2034/3020 +f 3020/2034/3020 3030/2040/3030 3031/2041/3031 3021/2035/3021 +f 3021/2035/3021 3031/2041/3031 3032/2042/3032 3022/2036/3022 +f 2632/1171/2632 2642/1182/2642 3033/1184/3033 3023/1173/3023 +f 3023/1173/3023 3033/1184/3033 3034/1186/3034 3024/1175/3024 +f 3024/1175/3024 3034/1186/3034 3035/1188/3035 3025/1177/3025 +f 3025/1177/3025 3035/1188/3035 3036/1190/3036 3026/1179/3026 +f 3026/1179/3026 3036/1190/3036 3037/2043/3037 3027/2037/3027 +f 3027/2037/3027 3037/2043/3037 3038/2044/3038 3028/2038/3028 +f 3028/2038/3028 3038/2044/3038 3039/2045/3039 3029/2039/3029 +f 3029/2039/3029 3039/2045/3039 3040/2046/3040 3030/2040/3030 +f 3030/2040/3030 3040/2046/3040 3041/2047/3041 3031/2041/3031 +f 3031/2041/3031 3041/2047/3041 3042/2048/3042 3032/2042/3032 +f 2642/1182/2642 2652/1193/2652 3043/1195/3043 3033/1184/3033 +f 3033/1184/3033 3043/1195/3043 3044/1197/3044 3034/1186/3034 +f 3034/1186/3034 3044/1197/3044 3045/1199/3045 3035/1188/3035 +f 3035/1188/3035 3045/1199/3045 3046/1201/3046 3036/1190/3036 +f 3036/1190/3036 3046/1201/3046 3047/2049/3047 3037/2043/3037 +f 3037/2043/3037 3047/2049/3047 3048/2050/3048 3038/2044/3038 +f 3038/2044/3038 3048/2050/3048 3049/2051/3049 3039/2045/3039 +f 3039/2045/3039 3049/2051/3049 3050/2052/3050 3040/2046/3040 +f 3040/2046/3040 3050/2052/3050 3051/2053/3051 3041/2047/3041 +f 3041/2047/3041 3051/2053/3051 3052/2054/3052 3042/2048/3042 +f 2652/606/2652 2662/967/2662 3053/970/3053 3043/971/3043 +f 3043/971/3043 3053/970/3053 3054/974/3054 3044/975/3044 +f 3044/975/3044 3054/974/3054 3055/978/3055 3045/979/3045 +f 3045/979/3045 3055/978/3055 3056/982/3056 3046/983/3046 +f 3046/983/3046 3056/982/3056 3057/1923/3057 3047/1924/3047 +f 3047/1924/3047 3057/1923/3057 3058/1925/3058 3048/1926/3048 +f 3048/1926/3048 3058/1925/3058 3059/1927/3059 3049/1928/3049 +f 3049/1928/3049 3059/1927/3059 3060/1929/3060 3050/1930/3050 +f 3050/1930/3050 3060/1929/3060 3061/1931/3061 3051/1932/3051 +f 3051/1932/3051 3061/1931/3061 3062/1933/3062 3052/1934/3052 +f 2662/967/2662 2672/607/2672 3063/989/3063 3053/970/3053 +f 3053/970/3053 3063/989/3063 3064/991/3064 3054/974/3054 +f 3054/974/3054 3064/991/3064 3065/993/3065 3055/978/3055 +f 3055/978/3055 3065/993/3065 3066/995/3066 3056/982/3056 +f 3056/982/3056 3066/995/3066 3067/1935/3067 3057/1923/3057 +f 3057/1923/3057 3067/1935/3067 3068/1936/3068 3058/1925/3058 +f 3058/1925/3058 3068/1936/3068 3069/1937/3069 3059/1927/3059 +f 3059/1927/3059 3069/1937/3069 3070/1938/3070 3060/1929/3060 +f 3060/1929/3060 3070/1938/3070 3071/1939/3071 3061/1931/3061 +f 3061/1931/3061 3071/1939/3071 3072/1940/3072 3062/1933/3062 +f 2672/607/2672 2682/998/2682 3073/1000/3073 3063/989/3063 +f 3063/989/3063 3073/1000/3073 3074/1002/3074 3064/991/3064 +f 3064/991/3064 3074/1002/3074 3075/1004/3075 3065/993/3065 +f 3065/993/3065 3075/1004/3075 3076/1006/3076 3066/995/3066 +f 3066/995/3066 3076/1006/3076 3077/1941/3077 3067/1935/3067 +f 3067/1935/3067 3077/1941/3077 3078/1942/3078 3068/1936/3068 +f 3068/1936/3068 3078/1942/3078 3079/1943/3079 3069/1937/3069 +f 3069/1937/3069 3079/1943/3079 3080/1944/3080 3070/1938/3070 +f 3070/1938/3070 3080/1944/3080 3081/1945/3081 3071/1939/3071 +f 3071/1939/3071 3081/1945/3081 3082/1946/3082 3072/1940/3072 +f 2682/998/2682 2692/628/2692 3083/1010/3083 3073/1000/3073 +f 3073/1000/3073 3083/1010/3083 3084/1012/3084 3074/1002/3074 +f 3074/1002/3074 3084/1012/3084 3085/1014/3085 3075/1004/3075 +f 3075/1004/3075 3085/1014/3085 3086/1016/3086 3076/1006/3076 +f 3076/1006/3076 3086/1016/3086 3087/1947/3087 3077/1941/3077 +f 3077/1941/3077 3087/1947/3087 3088/1948/3088 3078/1942/3078 +f 3078/1942/3078 3088/1948/3088 3089/1949/3089 3079/1943/3079 +f 3079/1943/3079 3089/1949/3089 3090/1950/3090 3080/1944/3080 +f 3080/1944/3080 3090/1950/3090 3091/1951/3091 3081/1945/3081 +f 3081/1945/3081 3091/1951/3091 3092/1952/3092 3082/1946/3082 +f 2692/628/2692 2702/1019/2702 3093/1021/3093 3083/1010/3083 +f 3083/1010/3083 3093/1021/3093 3094/1023/3094 3084/1012/3084 +f 3084/1012/3084 3094/1023/3094 3095/1025/3095 3085/1014/3085 +f 3085/1014/3085 3095/1025/3095 3096/1027/3096 3086/1016/3086 +f 3086/1016/3086 3096/1027/3096 3097/1953/3097 3087/1947/3087 +f 3087/1947/3087 3097/1953/3097 3098/1954/3098 3088/1948/3088 +f 3088/1948/3088 3098/1954/3098 3099/1955/3099 3089/1949/3089 +f 3089/1949/3089 3099/1955/3099 3100/1956/3100 3090/1950/3090 +f 3090/1950/3090 3100/1956/3100 3101/1957/3101 3091/1951/3091 +f 3091/1951/3091 3101/1957/3101 3102/1958/3102 3092/1952/3092 +f 2702/1019/2702 2712/639/2712 3103/1031/3103 3093/1021/3093 +f 3093/1021/3093 3103/1031/3103 3104/1033/3104 3094/1023/3094 +f 3094/1023/3094 3104/1033/3104 3105/1035/3105 3095/1025/3095 +f 3095/1025/3095 3105/1035/3105 3106/1037/3106 3096/1027/3096 +f 3096/1027/3096 3106/1037/3106 3107/1959/3107 3097/1953/3097 +f 3097/1953/3097 3107/1959/3107 3108/1960/3108 3098/1954/3098 +f 3098/1954/3098 3108/1960/3108 3109/1961/3109 3099/1955/3099 +f 3099/1955/3099 3109/1961/3109 3110/1962/3110 3100/1956/3100 +f 3100/1956/3100 3110/1962/3110 3111/1963/3111 3101/1957/3101 +f 3101/1957/3101 3111/1963/3111 3112/1964/3112 3102/1958/3102 +f 2712/639/2712 2722/1040/2722 3113/1042/3113 3103/1031/3103 +f 3103/1031/3103 3113/1042/3113 3114/1044/3114 3104/1033/3104 +f 3104/1033/3104 3114/1044/3114 3115/1046/3115 3105/1035/3105 +f 3105/1035/3105 3115/1046/3115 3116/1048/3116 3106/1037/3106 +f 3106/1037/3106 3116/1048/3116 3117/1965/3117 3107/1959/3107 +f 3107/1959/3107 3117/1965/3117 3118/1966/3118 3108/1960/3108 +f 3108/1960/3108 3118/1966/3118 3119/1967/3119 3109/1961/3109 +f 3109/1961/3109 3119/1967/3119 3120/1968/3120 3110/1962/3110 +f 3110/1962/3110 3120/1968/3120 3121/1969/3121 3111/1963/3111 +f 3111/1963/3111 3121/1969/3121 3122/1970/3122 3112/1964/3112 +f 2722/1040/2722 2732/650/2732 3123/1052/3123 3113/1042/3113 +f 3113/1042/3113 3123/1052/3123 3124/1054/3124 3114/1044/3114 +f 3114/1044/3114 3124/1054/3124 3125/1056/3125 3115/1046/3115 +f 3115/1046/3115 3125/1056/3125 3126/1058/3126 3116/1048/3116 +f 3116/1048/3116 3126/1058/3126 3127/1971/3127 3117/1965/3117 +f 3117/1965/3117 3127/1971/3127 3128/1972/3128 3118/1966/3118 +f 3118/1966/3118 3128/1972/3128 3129/1973/3129 3119/1967/3119 +f 3119/1967/3119 3129/1973/3129 3130/1974/3130 3120/1968/3120 +f 3120/1968/3120 3130/1974/3130 3131/1975/3131 3121/1969/3121 +f 3121/1969/3121 3131/1975/3131 3132/1976/3132 3122/1970/3122 +f 2732/650/2732 2742/1061/2742 3133/1063/3133 3123/1052/3123 +f 3123/1052/3123 3133/1063/3133 3134/1065/3134 3124/1054/3124 +f 3124/1054/3124 3134/1065/3134 3135/1067/3135 3125/1056/3125 +f 3125/1056/3125 3135/1067/3135 3136/1069/3136 3126/1058/3126 +f 3126/1058/3126 3136/1069/3136 3137/1977/3137 3127/1971/3127 +f 3127/1971/3127 3137/1977/3137 3138/1978/3138 3128/1972/3128 +f 3128/1972/3128 3138/1978/3138 3139/1979/3139 3129/1973/3129 +f 3129/1973/3129 3139/1979/3139 3140/1980/3140 3130/1974/3130 +f 3130/1974/3130 3140/1980/3140 3141/1981/3141 3131/1975/3131 +f 3131/1975/3131 3141/1981/3141 3142/1982/3142 3132/1976/3132 +f 2742/1061/2742 2752/1072/2752 3143/1074/3143 3133/1063/3133 +f 3133/1063/3133 3143/1074/3143 3144/1076/3144 3134/1065/3134 +f 3134/1065/3134 3144/1076/3144 3145/1078/3145 3135/1067/3135 +f 3135/1067/3135 3145/1078/3145 3146/1080/3146 3136/1069/3136 +f 3136/1069/3136 3146/1080/3146 3147/1983/3147 3137/1977/3137 +f 3137/1977/3137 3147/1983/3147 3148/1984/3148 3138/1978/3138 +f 3138/1978/3138 3148/1984/3148 3149/1985/3149 3139/1979/3139 +f 3139/1979/3139 3149/1985/3149 3150/1986/3150 3140/1980/3140 +f 3140/1980/3140 3150/1986/3150 3151/1987/3151 3141/1981/3141 +f 3141/1981/3141 3151/1987/3151 3152/1988/3152 3142/1982/3142 +f 2752/1083/2752 2762/1084/2762 3153/1087/3153 3143/1088/3143 +f 3143/1088/3143 3153/1087/3153 3154/1091/3154 3144/1092/3144 +f 3144/1092/3144 3154/1091/3154 3155/1095/3155 3145/1096/3145 +f 3145/1096/3145 3155/1095/3155 3156/1099/3156 3146/1100/3146 +f 3146/1100/3146 3156/1099/3156 3157/1989/3157 3147/1990/3147 +f 3147/1990/3147 3157/1989/3157 3158/1991/3158 3148/1992/3148 +f 3148/1992/3148 3158/1991/3158 3159/1993/3159 3149/1994/3149 +f 3149/1994/3149 3159/1993/3159 3160/1995/3160 3150/1996/3150 +f 3150/1996/3150 3160/1995/3160 3161/1997/3161 3151/1998/3151 +f 3151/1998/3151 3161/1997/3161 3162/1999/3162 3152/2000/3152 +f 2762/1084/2762 2772/1105/2772 3163/1107/3163 3153/1087/3153 +f 3153/1087/3153 3163/1107/3163 3164/1109/3164 3154/1091/3154 +f 3154/1091/3154 3164/1109/3164 3165/1111/3165 3155/1095/3155 +f 3155/1095/3155 3165/1111/3165 3166/1113/3166 3156/1099/3156 +f 3156/1099/3156 3166/1113/3166 3167/2001/3167 3157/1989/3157 +f 3157/1989/3157 3167/2001/3167 3168/2002/3168 3158/1991/3158 +f 3158/1991/3158 3168/2002/3168 3169/2003/3169 3159/1993/3159 +f 3159/1993/3159 3169/2003/3169 3170/2004/3170 3160/1995/3160 +f 3160/1995/3160 3170/2004/3170 3171/2005/3171 3161/1997/3161 +f 3161/1997/3161 3171/2005/3171 3172/2006/3172 3162/1999/3162 +f 2772/1105/2772 2782/1116/2782 3173/1118/3173 3163/1107/3163 +f 3163/1107/3163 3173/1118/3173 3174/1120/3174 3164/1109/3164 +f 3164/1109/3164 3174/1120/3174 3175/1122/3175 3165/1111/3165 +f 3165/1111/3165 3175/1122/3175 3176/1124/3176 3166/1113/3166 +f 3166/1113/3166 3176/1124/3176 3177/2007/3177 3167/2001/3167 +f 3167/2001/3167 3177/2007/3177 3178/2008/3178 3168/2002/3168 +f 3168/2002/3168 3178/2008/3178 3179/2009/3179 3169/2003/3169 +f 3169/2003/3169 3179/2009/3179 3180/2010/3180 3170/2004/3170 +f 3170/2004/3170 3180/2010/3180 3181/2011/3181 3171/2005/3171 +f 3171/2005/3171 3181/2011/3181 3182/2012/3182 3172/2006/3172 +f 2782/1116/2782 2792/1127/2792 3183/1129/3183 3173/1118/3173 +f 3173/1118/3173 3183/1129/3183 3184/1131/3184 3174/1120/3174 +f 3174/1120/3174 3184/1131/3184 3185/1133/3185 3175/1122/3175 +f 3175/1122/3175 3185/1133/3185 3186/1135/3186 3176/1124/3176 +f 3176/1124/3176 3186/1135/3186 3187/2013/3187 3177/2007/3177 +f 3177/2007/3177 3187/2013/3187 3188/2014/3188 3178/2008/3178 +f 3178/2008/3178 3188/2014/3188 3189/2015/3189 3179/2009/3179 +f 3179/2009/3179 3189/2015/3189 3190/2016/3190 3180/2010/3180 +f 3180/2010/3180 3190/2016/3190 3191/2017/3191 3181/2011/3181 +f 3181/2011/3181 3191/2017/3191 3192/2018/3192 3182/2012/3182 +f 2792/1127/2792 2802/1138/2802 3193/1140/3193 3183/1129/3183 +f 3183/1129/3183 3193/1140/3193 3194/1142/3194 3184/1131/3184 +f 3184/1131/3184 3194/1142/3194 3195/1144/3195 3185/1133/3185 +f 3185/1133/3185 3195/1144/3195 3196/1146/3196 3186/1135/3186 +f 3186/1135/3186 3196/1146/3196 3197/2019/3197 3187/2013/3187 +f 3187/2013/3187 3197/2019/3197 3198/2020/3198 3188/2014/3188 +f 3188/2014/3188 3198/2020/3198 3199/2021/3199 3189/2015/3189 +f 3189/2015/3189 3199/2021/3199 3200/2022/3200 3190/2016/3190 +f 3190/2016/3190 3200/2022/3200 3201/2023/3201 3191/2017/3191 +f 3191/2017/3191 3201/2023/3201 3202/2024/3202 3192/2018/3192 +f 2802/1138/2802 2812/1149/2812 3203/1151/3203 3193/1140/3193 +f 3193/1140/3193 3203/1151/3203 3204/1153/3204 3194/1142/3194 +f 3194/1142/3194 3204/1153/3204 3205/1155/3205 3195/1144/3195 +f 3195/1144/3195 3205/1155/3205 3206/1157/3206 3196/1146/3196 +f 3196/1146/3196 3206/1157/3206 3207/2025/3207 3197/2019/3197 +f 3197/2019/3197 3207/2025/3207 3208/2026/3208 3198/2020/3198 +f 3198/2020/3198 3208/2026/3208 3209/2027/3209 3199/2021/3199 +f 3199/2021/3199 3209/2027/3209 3210/2028/3210 3200/2022/3200 +f 3200/2022/3200 3210/2028/3210 3211/2029/3211 3201/2023/3201 +f 3201/2023/3201 3211/2029/3211 3212/2030/3212 3202/2024/3202 +f 2812/1149/2812 2822/1160/2822 3213/1162/3213 3203/1151/3203 +f 3203/1151/3203 3213/1162/3213 3214/1164/3214 3204/1153/3204 +f 3204/1153/3204 3214/1164/3214 3215/1166/3215 3205/1155/3205 +f 3205/1155/3205 3215/1166/3215 3216/1168/3216 3206/1157/3206 +f 3206/1157/3206 3216/1168/3216 3217/2031/3217 3207/2025/3207 +f 3207/2025/3207 3217/2031/3217 3218/2032/3218 3208/2026/3208 +f 3208/2026/3208 3218/2032/3218 3219/2033/3219 3209/2027/3209 +f 3209/2027/3209 3219/2033/3219 3220/2034/3220 3210/2028/3210 +f 3210/2028/3210 3220/2034/3220 3221/2035/3221 3211/2029/3211 +f 3211/2029/3211 3221/2035/3221 3222/2036/3222 3212/2030/3212 +f 2822/1160/2822 2832/1171/2832 3223/1173/3223 3213/1162/3213 +f 3213/1162/3213 3223/1173/3223 3224/1175/3224 3214/1164/3214 +f 3214/1164/3214 3224/1175/3224 3225/1177/3225 3215/1166/3215 +f 3215/1166/3215 3225/1177/3225 3226/1179/3226 3216/1168/3216 +f 3216/1168/3216 3226/1179/3226 3227/2037/3227 3217/2031/3217 +f 3217/2031/3217 3227/2037/3227 3228/2038/3228 3218/2032/3218 +f 3218/2032/3218 3228/2038/3228 3229/2039/3229 3219/2033/3219 +f 3219/2033/3219 3229/2039/3229 3230/2040/3230 3220/2034/3220 +f 3220/2034/3220 3230/2040/3230 3231/2041/3231 3221/2035/3221 +f 3221/2035/3221 3231/2041/3231 3232/2042/3232 3222/2036/3222 +f 2832/1171/2832 2842/1182/2842 3233/1184/3233 3223/1173/3223 +f 3223/1173/3223 3233/1184/3233 3234/1186/3234 3224/1175/3224 +f 3224/1175/3224 3234/1186/3234 3235/1188/3235 3225/1177/3225 +f 3225/1177/3225 3235/1188/3235 3236/1190/3236 3226/1179/3226 +f 3226/1179/3226 3236/1190/3236 3237/2043/3237 3227/2037/3227 +f 3227/2037/3227 3237/2043/3237 3238/2044/3238 3228/2038/3228 +f 3228/2038/3228 3238/2044/3238 3239/2045/3239 3229/2039/3229 +f 3229/2039/3229 3239/2045/3239 3240/2046/3240 3230/2040/3230 +f 3230/2040/3230 3240/2046/3240 3241/2047/3241 3231/2041/3231 +f 3231/2041/3231 3241/2047/3241 3242/2048/3242 3232/2042/3232 +f 2842/1182/2842 2462/1193/2462 2844/1195/2844 3233/1184/3233 +f 3233/1184/3233 2844/1195/2844 2846/1197/2846 3234/1186/3234 +f 3234/1186/3234 2846/1197/2846 2848/1199/2848 3235/1188/3235 +f 3235/1188/3235 2848/1199/2848 2850/1201/2850 3236/1190/3236 +f 3236/1190/3236 2850/1201/2850 2852/2049/2852 3237/2043/3237 +f 3237/2043/3237 2852/2049/2852 2854/2050/2854 3238/2044/3238 +f 3238/2044/3238 2854/2050/2854 2856/2051/2856 3239/2045/3239 +f 3239/2045/3239 2856/2051/2856 2858/2052/2858 3240/2046/3240 +f 3240/2046/3240 2858/2052/2858 2860/2053/2860 3241/2047/3241 +f 3241/2047/3241 2860/2053/2860 2862/2054/2862 3242/2048/3242 +# 3120 polygons - 80 triangles + diff --git a/src/default_shader.cpp b/src/default_shader.cpp index 60ce914..e3711bc 100644 --- a/src/default_shader.cpp +++ b/src/default_shader.cpp @@ -30,17 +30,20 @@ auto DefaultShader::InterpolateColor( const Vector3f &barycentric_coord) -> Color { // 插值颜色 (r, g, b) auto color_r = float_to_uint8_t( - static_cast(color0[Color::kColorIndexRed]) * barycentric_coord.x + - static_cast(color1[Color::kColorIndexRed]) * barycentric_coord.y + - static_cast(color2[Color::kColorIndexRed]) * barycentric_coord.z); - auto color_g = float_to_uint8_t( - static_cast(color0[Color::kColorIndexGreen]) * barycentric_coord.x + - static_cast(color1[Color::kColorIndexGreen]) * barycentric_coord.y + - static_cast(color2[Color::kColorIndexGreen]) * barycentric_coord.z); + static_cast(color0[Color::kColorIndexRed]) * barycentric_coord.x + + static_cast(color1[Color::kColorIndexRed]) * barycentric_coord.y + + static_cast(color2[Color::kColorIndexRed]) * barycentric_coord.z); + auto color_g = + float_to_uint8_t(static_cast(color0[Color::kColorIndexGreen]) * + barycentric_coord.x + + static_cast(color1[Color::kColorIndexGreen]) * + barycentric_coord.y + + static_cast(color2[Color::kColorIndexGreen]) * + barycentric_coord.z); auto color_b = float_to_uint8_t( - static_cast(color0[Color::kColorIndexBlue]) * barycentric_coord.x + - static_cast(color1[Color::kColorIndexBlue]) * barycentric_coord.y + - static_cast(color2[Color::kColorIndexBlue]) * barycentric_coord.z); + static_cast(color0[Color::kColorIndexBlue]) * barycentric_coord.x + + static_cast(color1[Color::kColorIndexBlue]) * barycentric_coord.y + + static_cast(color2[Color::kColorIndexBlue]) * barycentric_coord.z); return Color(color_r, color_g, color_b); } @@ -49,6 +52,8 @@ auto DefaultShader::Vertex(const ShaderVertexIn &shader_vertex_in) const -> ShaderVertexOut { auto face(shader_vertex_in.face_); + // texture + face.transform(shader_data_.project_matrix_ * shader_data_.view_matrix_ * shader_data_.model_matrix_); @@ -58,21 +63,16 @@ auto DefaultShader::Vertex(const ShaderVertexIn &shader_vertex_in) const auto DefaultShader::Fragment(const ShaderFragmentIn &shader_fragment_in) const -> ShaderFragmentOut { - auto intensity = - glm::dot(shader_fragment_in.normal_, shader_fragment_in.light_); - auto is_need_draw = true; - // 光照方向为正,不绘制背面 - if (intensity <= 0) { - is_need_draw = false; - return ShaderFragmentOut(is_need_draw, Color()); - } + // 只绘制正面,背面intensity为负 = 0 + auto intensity = std::max( + glm::dot(shader_fragment_in.normal_, shader_fragment_in.light_), 0.0f); intensity *= 255; auto color = InterpolateColor(shader_fragment_in.color0_, shader_fragment_in.color1_, shader_fragment_in.color2_, shader_fragment_in.barycentric_coord_) * intensity; - return ShaderFragmentOut(is_need_draw, color); + return ShaderFragmentOut(color); } } // namespace simple_renderer diff --git a/src/include/shader_base.h b/src/include/shader_base.h index 9f69382..7eaa794 100644 --- a/src/include/shader_base.h +++ b/src/include/shader_base.h @@ -127,18 +127,14 @@ class ShaderFragmentIn { */ class ShaderFragmentOut { public: - /// 是否需要绘制 - bool is_need_draw_ = false; - /// 颜色 Color color_; /** * 构造函数 - * @param _is_need_draw 是否需要绘制 * @param _color 颜色 */ - explicit ShaderFragmentOut(const bool &is_need_draw, const Color &color); + explicit ShaderFragmentOut(const Color &color); /// @name 默认构造/析构函数 /// @{ diff --git a/src/shader_base.cpp b/src/shader_base.cpp index b5b1f39..0198bcc 100644 --- a/src/shader_base.cpp +++ b/src/shader_base.cpp @@ -33,9 +33,7 @@ ShaderFragmentIn::ShaderFragmentIn(const Vector3f &barycentric_coord, color1_(color1), color2_(color2) {} -ShaderFragmentOut::ShaderFragmentOut(const bool &is_need_draw, - const Color &color) - : is_need_draw_(is_need_draw), color_(color) {} +ShaderFragmentOut::ShaderFragmentOut(const Color &color) : color_(color) {} ShaderData::ShaderData(const Matrix4f &model_matrix, const Matrix4f &view_matrix, diff --git a/src/simple_renderer.cpp b/src/simple_renderer.cpp index 45691f1..7ab5e46 100755 --- a/src/simple_renderer.cpp +++ b/src/simple_renderer.cpp @@ -170,10 +170,6 @@ void SimpleRenderer::DrawTriangle(const ShaderBase &shader, const Light &light, v1.color(), v2.color()); // 计算颜色,颜色为通过 shader 片段着色器计算 auto shader_fragment_out = shader.Fragment(shader_fragment_in); - // 如果不需要绘制则跳过 - if (!shader_fragment_out.is_need_draw_) { - continue; - } // 构造颜色 auto color = Color(shader_fragment_out.color_); // 填充像素 diff --git a/test/system_test/main.cpp b/test/system_test/main.cpp index d3a8293..c3a6d81 100755 --- a/test/system_test/main.cpp +++ b/test/system_test/main.cpp @@ -57,7 +57,7 @@ int main(int argc, char **argv) { // objs.emplace_back(obj_path + "/cornell_box.obj"); // objs.emplace_back(obj_path + "/helmet.obj"); // objs.emplace_back(obj_path + "/african_head.obj"); - objs.emplace_back(obj_path + "/utah-teapot/utah-teapot.obj"); + objs.emplace_back(obj_path + "/utah-teapot-texture/teapot.obj"); // load model std::vector models; for (auto &obj : objs) { @@ -74,8 +74,12 @@ int main(int argc, char **argv) { simple_renderer::Matrix4f(1.0f), simple_renderer::Vector3f(kWidth / 2.0f, kHeight / 2.0f, 0.0f)); + simple_renderer::Matrix4f rotation_matrix = + glm::rotate(simple_renderer::Matrix4f(1.0f), 90.0f, + simple_renderer::Vector3f(1.0f, 0.0f, 0.0f)); + // Combined transformation matrix - matrix = translation_matrix * scale_matrix; + matrix = translation_matrix * scale_matrix * rotation_matrix; // 矩阵运算的顺序 // 归一化 From af8db3f43fe15780575548d25a2ce51f1affc74f Mon Sep 17 00:00:00 2001 From: ZhuohaoHe Date: Wed, 4 Sep 2024 18:22:51 -0400 Subject: [PATCH 08/18] implement the texture mapping on diffuse texture Signed-off-by: ZhuohaoHe --- cmake/3rd.cmake | 2 + src/color.cpp | 12 +++++ src/default_shader.cpp | 93 ++++++++++++++++++++++++++++++----- src/include/color.h | 7 +++ src/include/default_shader.h | 8 +++ src/include/material.hpp | 72 +++++++++++++++++++++++++-- src/include/math.hpp | 19 +++++++ src/include/model.hpp | 6 +++ src/include/shader_base.h | 23 +++------ src/include/simple_renderer.h | 2 +- src/material.cpp | 56 +++++++++++++++++++++ src/model.cpp | 55 ++++++++++++++++++++- src/shader_base.cpp | 11 ++--- src/simple_renderer.cpp | 9 ++-- 14 files changed, 328 insertions(+), 47 deletions(-) create mode 100644 src/material.cpp diff --git a/cmake/3rd.cmake b/cmake/3rd.cmake index 9c3fe69..fd3fc03 100644 --- a/cmake/3rd.cmake +++ b/cmake/3rd.cmake @@ -90,6 +90,8 @@ if (stb_ADDED) BASE_DIRS ${stb_SOURCE_DIR} FILES stb_image.h ) + add_library(stb_image INTERFACE) + target_include_directories(stb_image INTERFACE ${stb_SOURCE_DIR}) endif () # http://wenq.org/wqy2/index.cgi?ZenHei diff --git a/src/color.cpp b/src/color.cpp index e55f039..37c5059 100755 --- a/src/color.cpp +++ b/src/color.cpp @@ -96,6 +96,18 @@ auto Color::operator*=(float val) -> Color & { return *this; } +auto Color::operator+(const Color &color) const -> Color { + auto red = + static_cast(static_cast(channel_r_) + color.channel_r_); + auto green = + static_cast(static_cast(channel_g_) + color.channel_g_); + auto blue = + static_cast(static_cast(channel_b_) + color.channel_b_); + auto alpha = + static_cast(static_cast(channel_a_) + color.channel_a_); + return Color(red, green, blue, alpha); +} + Color::operator uint32_t() const { uint32_t ret = 0; auto ret_ptr = std::span(reinterpret_cast(&ret), 4); diff --git a/src/default_shader.cpp b/src/default_shader.cpp index e3711bc..9807c34 100644 --- a/src/default_shader.cpp +++ b/src/default_shader.cpp @@ -20,15 +20,38 @@ namespace simple_renderer { // 将浮点数转换为 uint8_t // 对浮点数进行四舍五入 -uint8_t float_to_uint8_t(float val) { +uint8_t DefaultShader::float_to_uint8_t(float val) { float adjusted_val = val > 0.0f ? val + 0.5f : val - 0.5f; return static_cast(adjusted_val); } +// sampleTexture +// 纹理采样 +Color DefaultShader::sampleTexture(const Texture &texture, const Vector2f &uv) { + // wrap u,v to [0. 1] + // 将 u, v 包装到 [0. 1] + auto u = uv.x - std::floor(uv.x); + auto v = uv.y - std::floor(uv.y); + + // convert u,v to pixel space coordinates + // 将 u, v 转换为像素空间坐标 + auto x = static_cast(u * texture.width); + auto y = static_cast(v * texture.height); + + // Ensure x, y are within bounds + // 确保 x, y 在范围内 + x = std::clamp(x, 0, texture.width - 1); + y = std::clamp(y, 0, texture.height - 1); + + // Get pixel color + // 获取像素颜色 + return texture.getPixel(x, y); +} + +// 插值颜色 (r, g, b) auto DefaultShader::InterpolateColor( const Color &color0, const Color &color1, const Color &color2, const Vector3f &barycentric_coord) -> Color { - // 插值颜色 (r, g, b) auto color_r = float_to_uint8_t( static_cast(color0[Color::kColorIndexRed]) * barycentric_coord.x + static_cast(color1[Color::kColorIndexRed]) * barycentric_coord.y + @@ -47,13 +70,22 @@ auto DefaultShader::InterpolateColor( return Color(color_r, color_g, color_b); } +// 插值 UV +auto DefaultShader::InterpolateUV( + const Vector2f &uv0, const Vector2f &uv1, const Vector2f &uv2, + const Vector3f &barycentric_coord) -> Vector2f { + auto uv_x = uv0.x * barycentric_coord.x + uv1.x * barycentric_coord.y + + uv2.x * barycentric_coord.z; + auto uv_y = uv0.y * barycentric_coord.x + uv1.y * barycentric_coord.y + + uv2.y * barycentric_coord.z; + return Vector2f(uv_x, uv_y); +} + /// @todo 巨大性能开销 auto DefaultShader::Vertex(const ShaderVertexIn &shader_vertex_in) const -> ShaderVertexOut { auto face(shader_vertex_in.face_); - // texture - face.transform(shader_data_.project_matrix_ * shader_data_.view_matrix_ * shader_data_.model_matrix_); @@ -63,16 +95,51 @@ auto DefaultShader::Vertex(const ShaderVertexIn &shader_vertex_in) const auto DefaultShader::Fragment(const ShaderFragmentIn &shader_fragment_in) const -> ShaderFragmentOut { + // interpolate Normal, Color and UV + // 插值法线、颜色和 UV + Vector3f interpolateNormal = + shader_fragment_in.face_ + .normal(); // OR barycentric interpolation with vertex normals + // 或者使用顶点法线进行重心插值 + Color interpolateColor = + InterpolateColor(shader_fragment_in.face_.vertex(0).color(), + shader_fragment_in.face_.vertex(1).color(), + shader_fragment_in.face_.vertex(2).color(), + shader_fragment_in.barycentric_coord_); + Vector2f interpolateUV = + InterpolateUV(shader_fragment_in.face_.vertex(0).texCoords(), + shader_fragment_in.face_.vertex(1).texCoords(), + shader_fragment_in.face_.vertex(2).texCoords(), + shader_fragment_in.barycentric_coord_); + // 只绘制正面,背面intensity为负 = 0 - auto intensity = std::max( - glm::dot(shader_fragment_in.normal_, shader_fragment_in.light_), 0.0f); - intensity *= 255; - auto color = - InterpolateColor(shader_fragment_in.color0_, shader_fragment_in.color1_, - shader_fragment_in.color2_, - shader_fragment_in.barycentric_coord_) * - intensity; - return ShaderFragmentOut(color); + auto intensity = + std::max(glm::dot(interpolateNormal, shader_fragment_in.light_), 0.0f); + // texture color + // 纹理颜色 + Color final_color, ambient_color, diffuse_color, specular_color; + if (shader_fragment_in.face_.material().has_ambient_texture) { + Color texture_color = sampleTexture( + shader_fragment_in.face_.material().ambient_texture, interpolateUV); + ambient_color = texture_color * intensity; + } else { + ambient_color = interpolateColor * intensity; + } + + if (shader_fragment_in.face_.material().has_diffuse_texture) { + Color texture_color = sampleTexture( + shader_fragment_in.face_.material().diffuse_texture, interpolateUV); + diffuse_color = texture_color * intensity; + } else { + diffuse_color = interpolateColor * intensity; + } + + // TODO: add specular texture <- get view direction <- have a camera system + // 添加高光纹理 <- 获取视图方向 <- 有一个相机系统 + // TODO: and I want to refactor the shader system + // 我想重构着色器系统 + final_color = ambient_color * 0.1f + diffuse_color; + return ShaderFragmentOut(final_color); } } // namespace simple_renderer diff --git a/src/include/color.h b/src/include/color.h index 5dbd04d..e7c037c 100755 --- a/src/include/color.h +++ b/src/include/color.h @@ -110,6 +110,13 @@ class Color { */ auto operator*=(float val) -> Color &; + /** + * 颜色相加 + * @param color 颜色 + * @return 颜色 + */ + auto operator+(const Color &color) const -> Color; + /** * 获取每像素大小 * @return size_t 像素大小,单位为字节 diff --git a/src/include/default_shader.h b/src/include/default_shader.h index 717c802..bff6952 100644 --- a/src/include/default_shader.h +++ b/src/include/default_shader.h @@ -65,6 +65,14 @@ class DefaultShader : public ShaderBase { static auto InterpolateColor(const Color &color0, const Color &color1, const Color &color2, const Vector3f &barycentric_coord) -> Color; + + static auto InterpolateUV(const Vector2f &uv0, const Vector2f &uv1, + const Vector2f &uv2, + const Vector3f &barycentric_coord) -> Vector2f; + + static uint8_t float_to_uint8_t(float val); + + static Color sampleTexture(const Texture &texture, const Vector2f &uv); }; } // namespace simple_renderer diff --git a/src/include/material.hpp b/src/include/material.hpp index c637548..cb0763b 100644 --- a/src/include/material.hpp +++ b/src/include/material.hpp @@ -1,10 +1,67 @@ #ifndef SIMPLERENDER_SRC_INCLUDE_MATERIAL_HPP_ #define SIMPLERENDER_SRC_INCLUDE_MATERIAL_HPP_ -#include +#include "color.h" +#include "math.hpp" namespace simple_renderer { +/* * * * * * * * * */ +/* --- Texture --- */ +class Texture { + public: + // Default constructor + // 默认构造函数 + Texture() = default; + + // Copy constructor + // 拷贝构造函数 + Texture(const Texture& texture) = default; + + // Copy assignment operator + // 拷贝赋值操作符 + Texture& operator=(const Texture& texture) = default; + + // Move constructor + // 移动构造函数 + Texture(Texture&& texture) = default; + + // Move assignment operator + // 移动赋值操作符 + Texture& operator=(Texture&& texture) = default; + + // Destructor + // 析构函数 + ~Texture() = default; + + // Load a texture from a file + // 从文件加载纹理 + static Texture loadTextureFromFile(const std::string& path); + + // Free the texture data + // 释放纹理数据 + void free(); + + // get pixel from texture + // 从纹理获取像素 + Color getPixel(int x, int y) const; + + // Texture data + // 纹理数据 + uint8_t* data = nullptr; + // Texture channels + // 纹理通道数 + int channels = 0; + // Texture width + // 纹理宽度 + int width = 0; + // Texture height + // 纹理高度 + int height = 0; +}; + +/* * * * * * * * * */ +/* --- Material --- */ class Material { public: // Default constructor @@ -35,8 +92,17 @@ class Material { Vector3f ambient; Vector3f diffuse; Vector3f specular; -}; + // Texture + // 纹理 + Texture ambient_texture; + Texture diffuse_texture; + Texture specular_texture; + + bool has_ambient_texture = false; + bool has_diffuse_texture = false; + bool has_specular_texture = false; +}; } // namespace simple_renderer -#endif \ No newline at end of file +#endif /* SIMPLERENDER_SRC_INCLUDE_MATERIAL_HPP_ */ \ No newline at end of file diff --git a/src/include/math.hpp b/src/include/math.hpp index 6f5a8eb..59b26fd 100644 --- a/src/include/math.hpp +++ b/src/include/math.hpp @@ -6,6 +6,7 @@ #define GLM_ENABLE_EXPERIMENTAL #include +#include "color.h" #include "log_system.h" namespace simple_renderer { @@ -58,4 +59,22 @@ struct fmt::formatter : fmt::formatter { } }; +/** + * spdlog 输出颜色实现 + */ +template <> +struct fmt::formatter : fmt::formatter { + auto format(const simple_renderer::Color &color, + fmt::format_context &ctx) const -> decltype(ctx.out()) { + // Convert the Matrix4f to a string using glm::to_string + std::string color_str = fmt::format( + "({}, {}, {})", color[simple_renderer::Color::kColorIndexRed], + color[simple_renderer::Color::kColorIndexGreen], + color[simple_renderer::Color::kColorIndexBlue]); + + // Format and output the string + return fmt::format_to(ctx.out(), "\n{}", color_str); + } +}; + #endif diff --git a/src/include/model.hpp b/src/include/model.hpp index de8924b..3a9a5f1 100755 --- a/src/include/model.hpp +++ b/src/include/model.hpp @@ -31,6 +31,8 @@ namespace simple_renderer { +/* * * * * * * * * */ +/* --- Model --- */ class Model { public: // Default constructor @@ -94,6 +96,10 @@ class Model { // Process the material of the model // 处理模型的材质 Material processMaterial(aiMaterial* material); + + // Texture cache + // 纹理缓存 + std::unordered_map texture_cache_; }; } // namespace simple_renderer diff --git a/src/include/shader_base.h b/src/include/shader_base.h index 7eaa794..e4635d5 100644 --- a/src/include/shader_base.h +++ b/src/include/shader_base.h @@ -83,31 +83,22 @@ class ShaderFragmentIn { public: /// 重心坐标 Vector3f barycentric_coord_; - /// 法线方向 - Vector3f normal_; + + // face + // 面信息 + Face face_; + /// 光照方向 Vector3f light_; - /// @name 三个顶点的颜色 - /// @{ - Color color0_; - Color color1_; - Color color2_; - /// @} - /** * 构造函数 * @param barycentric_coord 重心坐标 - * @param normal 法线 + * @param face 面信息 * @param light 光照 - * @param color0 顶点 0 颜色 - * @param color1 顶点 1 颜色 - * @param color2 顶点 2 颜色 */ explicit ShaderFragmentIn(const Vector3f &_barycentric_coord, - const Vector3f &_normal, const Vector3f &_light, - const Color &_color0, const Color &_color1, - const Color &_color2); + const Face &face, const Vector3f &light); /// @name 默认构造/析构函数 /// @{ diff --git a/src/include/simple_renderer.h b/src/include/simple_renderer.h index 7078a8d..e8ad9a4 100755 --- a/src/include/simple_renderer.h +++ b/src/include/simple_renderer.h @@ -91,7 +91,7 @@ class SimpleRenderer { * @todo 多线程支持 */ void DrawTriangle(const ShaderBase &shader, const Light &light, - const Vector3f &normal, const Face &face); + const Face &face); /** * 绘制模型 diff --git a/src/material.cpp b/src/material.cpp new file mode 100644 index 0000000..a838a2c --- /dev/null +++ b/src/material.cpp @@ -0,0 +1,56 @@ +#include "material.hpp" + +#include + +#define STB_IMAGE_IMPLEMENTATION +#include "stb_image.h" + +#include "log_system.h" + + + +namespace simple_renderer { +Texture Texture::loadTextureFromFile(const std::string& path) { + Texture texture; + + int width, height, channels; + unsigned char* data = stbi_load(path.c_str(), &width, &height, &channels, 0); + if (data) { + texture.data = data; + texture.width = width; + texture.height = height; + texture.channels = channels; + } else { + SPDLOG_ERROR("Failed to load texture: {}", path); + throw std::runtime_error("Failed to load texture"); + } + + return texture; +} + +void Texture::free() { + if (data) { + stbi_image_free(data); + data = nullptr; + } +} + +Color Texture::getPixel(int x, int y) const { + if (!data) { + SPDLOG_ERROR("Texture data is nullptr"); + throw std::invalid_argument("Texture data is nullptr"); + } + + int index = (y * width + x) * channels; + + if (channels == 3) { + return Color(data[index], data[index + 1], data[index + 2]); + } else if (channels == 4) { + return Color(data[index], data[index + 1], data[index + 2], + data[index + 3]); + } else { + SPDLOG_ERROR("Unsupported texture channels: {}", channels); + throw std::invalid_argument("Unsupported texture channels"); + } +} +} // namespace simple_renderer \ No newline at end of file diff --git a/src/model.cpp b/src/model.cpp index 53b8bac..0ec180f 100755 --- a/src/model.cpp +++ b/src/model.cpp @@ -20,6 +20,7 @@ #include #include +#include #include #include "log_system.h" @@ -147,6 +148,59 @@ Material Model::processMaterial(aiMaterial* mat) { material.shininess = shininess; } + // load textures + // 加载纹理 + if (mat->GetTextureCount(aiTextureType_AMBIENT) > 0) { + aiString texture_path; + mat->GetTexture(aiTextureType_AMBIENT, 0, &texture_path); + std::string fullpath = directory_ + "/" + texture_path.C_Str(); + if (texture_cache_.find(fullpath) != texture_cache_.end()) { + // load from cache + // 从缓存加载 + material.ambient_texture = texture_cache_[fullpath]; + } else { + // first time loading + // 第一次加载纹理 + material.ambient_texture = Texture::loadTextureFromFile(fullpath); + texture_cache_[fullpath] = material.ambient_texture; + } + material.has_ambient_texture = true; + } + + if (mat->GetTextureCount(aiTextureType_DIFFUSE) > 0) { + aiString texture_path; + mat->GetTexture(aiTextureType_DIFFUSE, 0, &texture_path); + std::string fullpath = directory_ + "/" + texture_path.C_Str(); + if (texture_cache_.find(fullpath) != texture_cache_.end()) { + // load from cache + // 从缓存加载 + material.diffuse_texture = texture_cache_[fullpath]; + } else { + // first time loading + // 第一次加载纹理 + material.diffuse_texture = Texture::loadTextureFromFile(fullpath); + texture_cache_[fullpath] = material.diffuse_texture; + } + material.has_diffuse_texture = true; + } + + if (mat->GetTextureCount(aiTextureType_SPECULAR) > 0) { + aiString texture_path; + mat->GetTexture(aiTextureType_SPECULAR, 0, &texture_path); + std::string fullpath = directory_ + "/" + texture_path.C_Str(); + if (texture_cache_.find(fullpath) != texture_cache_.end()) { + // load from cache + // 从缓存加载 + material.specular_texture = texture_cache_[fullpath]; + } else { + // first time loading + // 第一次加载纹理 + material.specular_texture = Texture::loadTextureFromFile(fullpath); + texture_cache_[fullpath] = material.specular_texture; + } + material.has_specular_texture = true; + } + return material; } @@ -157,5 +211,4 @@ void Model::transform(const Matrix4f& tran) { face.transform(tran); } } - } // namespace simple_renderer diff --git a/src/shader_base.cpp b/src/shader_base.cpp index 0198bcc..39c0519 100644 --- a/src/shader_base.cpp +++ b/src/shader_base.cpp @@ -23,15 +23,10 @@ ShaderVertexIn::ShaderVertexIn(const Face &face) : face_(face) {} ShaderVertexOut::ShaderVertexOut(const Face &face) : face_(face) {} ShaderFragmentIn::ShaderFragmentIn(const Vector3f &barycentric_coord, - const Vector3f &normal, - const Vector3f &light, const Color &color0, - const Color &color1, const Color &color2) + const Face &face, const Vector3f &light) : barycentric_coord_(barycentric_coord), - normal_(normal), - light_(light), - color0_(color0), - color1_(color1), - color2_(color2) {} + face_(face), + light_(light) {} // TODO: normal calculation in the Vertex SHader ShaderFragmentOut::ShaderFragmentOut(const Color &color) : color_(color) {} diff --git a/src/simple_renderer.cpp b/src/simple_renderer.cpp index 7ab5e46..2a3afce 100755 --- a/src/simple_renderer.cpp +++ b/src/simple_renderer.cpp @@ -127,7 +127,7 @@ void SimpleRenderer::DrawLine(float x0, float y0, float x1, float y1, } void SimpleRenderer::DrawTriangle(const ShaderBase &shader, const Light &light, - const Vector3f &normal, const Face &face) { + const Face &face) { auto v0 = face.vertex(0); auto v1 = face.vertex(1); auto v2 = face.vertex(2); @@ -143,7 +143,7 @@ void SimpleRenderer::DrawTriangle(const ShaderBase &shader, const Light &light, Vector2f{std::max({a.x, b.x, c.x}), std::max({a.y, b.y, c.y})}; #pragma omp parallel for num_threads(kNProc) collapse(2) default(none) \ - shared(bboxMin, bboxMax, v0, v1, v2, shader) firstprivate(normal, light) + shared(bboxMin, bboxMax, v0, v1, v2, shader, face) firstprivate(light) for (auto x = int32_t(bboxMin.x); x <= int32_t(bboxMax.x); x++) { for (auto y = int32_t(bboxMin.y); y <= int32_t(bboxMax.y); y++) { /// @todo 这里要用裁剪替换掉 @@ -166,8 +166,7 @@ void SimpleRenderer::DrawTriangle(const ShaderBase &shader, const Light &light, } // 构造着色器输入 auto shader_fragment_in = - ShaderFragmentIn(barycentric_coord, normal, light.dir, v0.color(), - v1.color(), v2.color()); + ShaderFragmentIn(barycentric_coord, face, light.dir); // 计算颜色,颜色为通过 shader 片段着色器计算 auto shader_fragment_out = shader.Fragment(shader_fragment_in); // 构造颜色 @@ -204,7 +203,7 @@ void SimpleRenderer::DrawModel(const ShaderBase &shader, const Light &light, for (const auto &f : model.faces()) { /// @todo 巨大性能开销 auto face = shader.Vertex(ShaderVertexIn(f)).face_; - DrawTriangle(shader, light, face.normal(), face); + DrawTriangle(shader, light, face); } } } From 6976eac3dbc2d7ac5602837dcaffaac5ecc8286d Mon Sep 17 00:00:00 2001 From: ZhuohaoHe Date: Fri, 6 Sep 2024 22:48:59 -0400 Subject: [PATCH 09/18] Refactored the shader structure, abstracted the rasterizer, introduced a uniform buffer, and modularized the pipeline to align more closely with OpenGL's structure and improve clarity and programmability. Signed-off-by: ZhuohaoHe --- src/include/face.hpp | 42 +++---- src/include/math.hpp | 1 + src/include/model.hpp | 5 +- src/include/rasterizer.hpp | 46 ++++++++ src/include/shader.hpp | 76 ++++++++++++ src/include/shader_base.h | 5 + src/include/simple_renderer.h | 77 +------------ src/include/vertex.hpp | 15 ++- src/model.cpp | 18 +-- src/rasterizer.cpp | 117 +++++++++++++++++++ src/shader.cpp | 76 ++++++++++++ src/simple_renderer.cpp | 210 +++------------------------------- 12 files changed, 377 insertions(+), 311 deletions(-) create mode 100644 src/include/rasterizer.hpp create mode 100644 src/include/shader.hpp create mode 100644 src/rasterizer.cpp create mode 100644 src/shader.cpp diff --git a/src/include/face.hpp b/src/include/face.hpp index bd5de4e..7a689bc 100644 --- a/src/include/face.hpp +++ b/src/include/face.hpp @@ -34,48 +34,34 @@ class Face { // Constructor that initializes the Face with three vertices and a material // 使用三个顶点和材质初始化 Face 的构造函数 - explicit Face(const Vertex& v0, const Vertex& v1, const Vertex& v2, - Material material) - : vertices_{v0, v1, v2}, material_(std::move(material)) { - // Calculate the normal vector when the face is created - // 创建 Face 时计算法向量 - calculateNormal(); - } - - // Apply a transformation matrix to the vertices - // 对顶点应用变换矩阵 - void transform(const Matrix4f& tran) { - vertices_[0].transform(tran); - vertices_[1].transform(tran); - vertices_[2].transform(tran); - } + explicit Face(size_t v0, size_t v1, size_t v2, const Material material) + : indices_{v0, v1, v2}, material_(std::move(material)) {} // Get functions // 获取函数 - const std::array& vertices() const { return vertices_; } - const Vertex& vertex(size_t index) const { return vertices_[index]; } + const std::array& indices() const { return indices_; } + const size_t index(size_t index) const { return indices_[index]; } const Vector3f& normal() const { return normal_; } const Material& material() const { return material_; } - private: - std::array vertices_; - Vector3f normal_; - Material material_; - // Calculate the normal vector based on the vertices // 根据顶点计算法向量 - void calculateNormal() { - Vector3f edge1 = - Vector3f(vertices_[1].position()) - Vector3f(vertices_[0].position()); - Vector3f edge2 = - Vector3f(vertices_[2].position()) - Vector3f(vertices_[0].position()); + void calculateNormal(const std::vector& vertices) { + Vector3f edge1 = Vector3f(vertices[indices_[1]].position()) - + Vector3f(vertices[indices_[0]].position()); + Vector3f edge2 = Vector3f(vertices[indices_[2]].position()) - + Vector3f(vertices[indices_[0]].position()); normal_ = glm::normalize( // Normalize the cross product to get the // normal 归一化叉积以获得法向量 glm::cross(edge1, edge2)); } -}; + private: + std::array indices_; + Vector3f normal_; + Material material_; +}; } // namespace simple_renderer #endif \ No newline at end of file diff --git a/src/include/math.hpp b/src/include/math.hpp index 59b26fd..d02cebe 100644 --- a/src/include/math.hpp +++ b/src/include/math.hpp @@ -13,6 +13,7 @@ namespace simple_renderer { using Vector2f = glm::vec2; using Vector3f = glm::vec3; using Vector4f = glm::vec4; +using Matrix3f = glm::mat3; using Matrix4f = glm::mat4; } // namespace simple_renderer diff --git a/src/include/model.hpp b/src/include/model.hpp index 3a9a5f1..255a903 100755 --- a/src/include/model.hpp +++ b/src/include/model.hpp @@ -61,12 +61,9 @@ class Model { // 从文件路径加载模型的构造函数 Model(const std::string& model_path); - // Apply a transformation to the model - // 对模型应用变换 - void transform(const Matrix4f& tran); - // Get functions // 获取函数 + const std::vector& vertices() const { return vertices_; }; const std::vector& faces() const { return faces_; }; const std::string& modelPath() const { return directory_; }; diff --git a/src/include/rasterizer.hpp b/src/include/rasterizer.hpp new file mode 100644 index 0000000..8d38e38 --- /dev/null +++ b/src/include/rasterizer.hpp @@ -0,0 +1,46 @@ +#ifndef SIMPLERENDER_SRC_INCLUDE_RASTERIZER_HPP_ +#define SIMPLERENDER_SRC_INCLUDE_RASTERIZER_HPP_ + +#include "shader.hpp" + +namespace simple_renderer { + +class Rasterizer { + public: + Rasterizer() = default; + Rasterizer(const Rasterizer& rasterizer) = default; + Rasterizer(Rasterizer&& rasterizer) = default; + auto operator=(const Rasterizer& rasterizer) -> Rasterizer& = default; + auto operator=(Rasterizer&& rasterizer) -> Rasterizer& = default; + ~Rasterizer() = default; + + Rasterizer(size_t width, size_t height); + + std::vector rasterize(const Vertex& v0, const Vertex& v1, + const Vertex& v2); + + void setDepthBuffer(size_t index, float zvalue) { + depth_buffer_[index] = zvalue; + } + + private: + size_t width_, height_; + std::shared_ptr depth_buffer_; + + template + T interpolate(const T& v0, const T& v1, const T& v2, + const Vector3f& barycentric_coord); + + Color interpolateColor(const Color& color0, const Color& color1, + const Color& color2, + const Vector3f& barycentric_coord); + + std::pair GetBarycentricCoord(const Vector3f& p0, + const Vector3f& p1, + const Vector3f& p2, + const Vector3f& pa); +}; + +} // namespace simple_renderer + +#endif // SIMPLERENDER_SRC_INCLUDE_RASTERIZER_HPP_ diff --git a/src/include/shader.hpp b/src/include/shader.hpp new file mode 100644 index 0000000..5742caf --- /dev/null +++ b/src/include/shader.hpp @@ -0,0 +1,76 @@ +#ifndef SIMPLERENDER_SRC_INCLUDE_SHADER_HPP_ +#define SIMPLERENDER_SRC_INCLUDE_SHADER_HPP_ + +#include "material.hpp" +#include "vertex.hpp" + +namespace simple_renderer { + +using UniformValue = std::variant; + +class UniformBuffer { + public: + template + void SetUniform(const std::string &name, const T &value) { + uniforms_[name] = value; + } + + template + T getUniform(const std::string &name) const { + return std::get(uniforms_.at(name)); + } + + template + bool hasUniform(const std::string &name) const { + return uniforms_.find(name) != uniforms_.end(); + } + + private: + std::unordered_map uniforms_; +}; + +/** + * @brief Fragment 结构体 + * as input of Fragment Shader + * 片段结构体作为片段着色器的输入 + */ + +struct Fragment { + std::array screen_coord; + Vector3f normal; + Vector2f uv; + Color color; +}; + +/** + * @brief Shader Class 着色器类 + * + */ +class Shader { + public: + Shader() = default; + Shader(const Shader &shader_base) = default; + Shader(Shader &&shader_base) = default; + auto operator=(const Shader &shader_base) -> Shader & = default; + auto operator=(Shader &&shader_base) -> Shader & = default; + virtual ~Shader() = default; + + // Input Data -> Vertex Shader -> Screen Space Coordiante + Vertex VertexShader(const Vertex &vertex) const; + // Input Data -> Fragment Shader -> Color + Color FragmentShader(const Fragment &fragment) const; + + private: + // UniformBuffer + // TODO: add setter function and getter function under Shader class level + UniformBuffer uniformbuffer_; + + Color sampleTexture(const Texture &texture, const Vector2f &uv) const; +}; + +uint8_t float_to_uint8_t(float val); + +} // namespace simple_renderer + +#endif /* SIMPLERENDER_SRC_INCLUDE_SHADER_H_ */ \ No newline at end of file diff --git a/src/include/shader_base.h b/src/include/shader_base.h index e4635d5..8174aab 100644 --- a/src/include/shader_base.h +++ b/src/include/shader_base.h @@ -22,6 +22,11 @@ namespace simple_renderer { +/* +for each face -> *VertexShader* -> DrawTriangle -> +for each pixel -> *FragmentShader* -> DrawPixel +*/ + /** * 顶点着色器输入数据 */ diff --git a/src/include/simple_renderer.h b/src/include/simple_renderer.h index e8ad9a4..632057a 100755 --- a/src/include/simple_renderer.h +++ b/src/include/simple_renderer.h @@ -26,7 +26,8 @@ #include "log_system.h" #include "math.hpp" #include "model.hpp" -#include "shader_base.h" +#include "rasterizer.hpp" +#include "shader.hpp" namespace simple_renderer { @@ -56,42 +57,17 @@ class SimpleRenderer { virtual ~SimpleRenderer() = default; /// @} - bool render(const Model &model); + bool render(const Model &model, const Shader &shader); private: - /// 深度类型 - /// @note 不要进行会影响内存的修改 - using Depth = float; - const size_t height_; const size_t width_; uint32_t *buffer_; - std::shared_ptr depth_buffer_; DrawPixelFunc draw_pixel_func_; LogSystem log_system_; - /** - * 画直线 Bresenham 算法 - * @param _x0 第一个点的 x 坐标 - * @param _y0 第一个点的 y 坐标 - * @param _x1 第二个点的 x 坐标 - * @param _y1 第二个点的 y 坐标 - * @param _color 直线颜色 - * @todo 多线程支持 - */ - void DrawLine(float _x0, float _y0, float _x1, float _y1, - const Color &_color); - - /** - * 填充三角形 - * @param shader 要使用的着色器 - * @param light 光照信息 - * @param normal 面的法向量 - * @param face 面 - * @todo 多线程支持 - */ - void DrawTriangle(const ShaderBase &shader, const Light &light, - const Face &face); + std::shared_ptr shader_; + std::shared_ptr rasterizer_; /** * 绘制模型 @@ -101,49 +77,8 @@ class SimpleRenderer { * @param draw_line 是否绘制线框 * @param draw_triangle 是否绘制三角形 */ - void DrawModel(const ShaderBase &shader, const Light &light, - const Model &model, bool draw_line, bool draw_triangle); - - /** - * 计算重心坐标 - * @param p0 三角形的第一个点 - * @param p1 三角形的第二个点 - * @param p2 三角形的第三个点 - * @param pa 要判断的点 - * @return std::pair - * 第一个返回为 _p 是否在三角形内,第二个为重心坐标 - * @see http://blackpawn.com/texts/pointinpoly/ - * solve - * P = A + s * AB + t * AC --> AP = s * AB + t * AC - * then - * s = (AC.y * AP.x - AC.x * AP.y) / (AB.x * AC.y - AB.y * AC.x) - * t = (AB.x * AP.y - AB.y * AP.x) / (AB.x * AC.y - AB.y * AC.x) - * - * notice - * P = A + s * AB + t * AC - * = A + s * (B - A) + t * (C - A) - * = (1 - s - t) * A + s * B + t * C - * then - * weight_A = 1 - s - t - * weight_B = s - * weight_C = t - */ - static auto GetBarycentricCoord(const Vector3f &p0, const Vector3f &p1, - const Vector3f &p2, const Vector3f &pa) - -> std::pair; - - /** - * 深度插值,由重心坐标计算出对应点的深度值 - * @param depth0 点 1 - * @param depth1 点 2 - * @param depth2 点 3 - * @param barycentric_coord 重心坐标 - * @return 深度值 - */ - static auto InterpolateDepth(float depth0, float depth1, float depth2, - const Vector3f &barycentric_coord) -> float; + void DrawModel(const Model &model, const Light &light); }; - } // namespace simple_renderer #endif /* SIMPLERENDER_SRC_INCLUDE_SIMPLE_RENDER_H_ */ diff --git a/src/include/vertex.hpp b/src/include/vertex.hpp index 924d8fe..35b2563 100644 --- a/src/include/vertex.hpp +++ b/src/include/vertex.hpp @@ -50,12 +50,12 @@ class Vertex { } } - // Get functions + // Getter functions // 获取函数 - Vector4f position() const { return position_; } - Vector3f normal() const { return normal_; } - Vector2f texCoords() const { return texCoords_; } - Color color() const { return color_; } + [[nodiscard]] Vector4f position() const { return position_; } + [[nodiscard]] Vector3f normal() const { return normal_; } + [[nodiscard]] Vector2f texCoords() const { return texCoords_; } + [[nodiscard]] Color color() const { return color_; } private: Vector4f position_; // 3D position, 3D顶点坐标 @@ -64,6 +64,11 @@ class Vertex { Color color_; }; +inline Vertex operator*(const Matrix4f& matrix, const Vertex& vertex) { + return Vertex(matrix * vertex.position(), Matrix3f(matrix) * vertex.normal(), + vertex.texCoords(), vertex.color()); +} + } // namespace simple_renderer #endif \ No newline at end of file diff --git a/src/model.cpp b/src/model.cpp index 0ec180f..87ac9ee 100755 --- a/src/model.cpp +++ b/src/model.cpp @@ -107,9 +107,9 @@ void Model::processMesh(aiMesh* mesh, const aiScene* scene) { for (unsigned int i = 0; i < mesh->mNumFaces; ++i) { aiFace face = mesh->mFaces[i]; if (face.mNumIndices == 3) { // Triangle, 三角形 - Vertex v0 = vertices[face.mIndices[0]]; - Vertex v1 = vertices[face.mIndices[1]]; - Vertex v2 = vertices[face.mIndices[2]]; + size_t v0 = face.mIndices[0]; + size_t v1 = face.mIndices[1]; + size_t v2 = face.mIndices[2]; // Process the material associated with this mesh // 处理与此网格关联的材质 @@ -118,7 +118,9 @@ void Model::processMesh(aiMesh* mesh, const aiScene* scene) { // Create a Face object and store it // 创建一个 Face 对象并存储它 - faces_.emplace_back(v0, v1, v2, std::move(material)); + Face face(v0, v1, v2, std::move(material)); + face.calculateNormal(vertices); + faces_.emplace_back(face); } } } @@ -203,12 +205,4 @@ Material Model::processMaterial(aiMaterial* mat) { return material; } - -// Apply a transformation matrix to all faces in the model -// 对模型中的所有面应用变换矩阵 -void Model::transform(const Matrix4f& tran) { - for (auto& face : faces_) { - face.transform(tran); - } -} } // namespace simple_renderer diff --git a/src/rasterizer.cpp b/src/rasterizer.cpp new file mode 100644 index 0000000..27fa113 --- /dev/null +++ b/src/rasterizer.cpp @@ -0,0 +1,117 @@ +#include "rasterizer.hpp" + +namespace simple_renderer { + +Rasterizer::Rasterizer(size_t width, size_t height) + : width_(width), height_(height) { + depth_buffer_ = std::shared_ptr(new float[width * height], + std::default_delete()); + + std::fill(depth_buffer_.get(), depth_buffer_.get() + width * height, + std::numeric_limits::lowest()); + + SPDLOG_INFO("Rasterizer init with {}, {}", width, height); +} + +std::vector Rasterizer::rasterize(const Vertex& v0, const Vertex& v1, + const Vertex& v2) { + std::vector fragments; + // 获取三角形的最小 box + Vector2f a = Vector2f(v0.position().x, v0.position().y); + Vector2f b = Vector2f(v1.position().x, v1.position().y); + Vector2f c = Vector2f(v2.position().x, v2.position().y); + + Vector2f bboxMin = + Vector2f{std::min({a.x, b.x, c.x}), std::min({a.y, b.y, c.y})}; + Vector2f bboxMax = + Vector2f{std::max({a.x, b.x, c.x}), std::max({a.y, b.y, c.y})}; +#pragma omp parallel for num_threads(kNProc) collapse(2) default(none) \ + shared(bboxMin, bboxMax, v0, v1, v2, shader, face) firstprivate(light) + for (auto x = int32_t(bboxMin.x); x <= int32_t(bboxMax.x); x++) { + for (auto y = int32_t(bboxMin.y); y <= int32_t(bboxMax.y); y++) { + auto [is_inside, barycentric_coord] = GetBarycentricCoord( + v0.position(), v1.position(), v2.position(), + Vector3f(static_cast(x), static_cast(y), 0)); + // 如果点在三角形内再进行下一步 + if (!is_inside) { + continue; + } + // 计算该点的深度,通过重心坐标插值计算 + auto z = interpolate(v0.position().z, v1.position().z, v2.position().z, + barycentric_coord); + // 深度在已有颜色之上 TODO: maybe need to change the process sequance + // here, z_buffer check maybe outside of the rasterize + if (z < depth_buffer_[y * width_ + x]) { + continue; + } + depth_buffer_[y * width_ + x] = z; + Fragment fragment; + fragment.screen_coord = {x, y}; + fragment.normal = + interpolate(v0.normal(), v1.normal(), v2.normal(), barycentric_coord); + fragment.uv = interpolate(v0.texCoords(), v1.texCoords(), v2.texCoords(), + barycentric_coord); + fragment.color = interpolateColor(v0.color(), v1.color(), v2.color(), + barycentric_coord); + fragments.push_back(fragment); + } + } + return fragments; +} + +std::pair Rasterizer::GetBarycentricCoord(const Vector3f& p0, + const Vector3f& p1, + const Vector3f& p2, + const Vector3f& pa) { + Vector3f v0 = Vector3f{p2.x - p0.x, p1.x - p0.x, p0.x - pa.x}; + Vector3f v1 = Vector3f{p2.y - p0.y, p1.y - p0.y, p0.y - pa.y}; + + Vector3f u = glm::cross(v0, v1); + + // 如果 u.z == 0 说明三角形退化 + const float epsilon = 1e-6f; + if (std::abs(u.z) < epsilon) { + return std::pair{false, Vector3f(0, 0, 0)}; + } + + auto x = 1.0f - (u.x + u.y) / u.z; + auto y = u.y / u.z; + auto z = u.x / u.z; + + // 如果重心坐标不在 [0, 1] 之间则说明点在三角形外 + if (x < 0 || y < 0 || z < 0 || x > 1 || y > 1 || z > 1) { + return std::pair{false, Vector3f(0, 0, 0)}; + } + + return std::pair{true, Vector3f(x, y, z)}; +} + +template +T Rasterizer::interpolate(const T& v0, const T& v1, const T& v2, + const Vector3f& barycentric_coord) { + return v0 * barycentric_coord.x + v1 * barycentric_coord.y + + v2 * barycentric_coord.z; +} + +Color Rasterizer::interpolateColor(const Color& color0, const Color& color1, + const Color& color2, + const Vector3f& barycentric_coord) { + auto color_r = float_to_uint8_t( + static_cast(color0[Color::kColorIndexRed]) * barycentric_coord.x + + static_cast(color1[Color::kColorIndexRed]) * barycentric_coord.y + + static_cast(color2[Color::kColorIndexRed]) * barycentric_coord.z); + auto color_g = + float_to_uint8_t(static_cast(color0[Color::kColorIndexGreen]) * + barycentric_coord.x + + static_cast(color1[Color::kColorIndexGreen]) * + barycentric_coord.y + + static_cast(color2[Color::kColorIndexGreen]) * + barycentric_coord.z); + auto color_b = float_to_uint8_t( + static_cast(color0[Color::kColorIndexBlue]) * barycentric_coord.x + + static_cast(color1[Color::kColorIndexBlue]) * barycentric_coord.y + + static_cast(color2[Color::kColorIndexBlue]) * barycentric_coord.z); + return Color(color_r, color_g, color_b); +} + +} // namespace simple_renderer \ No newline at end of file diff --git a/src/shader.cpp b/src/shader.cpp new file mode 100644 index 0000000..4b49094 --- /dev/null +++ b/src/shader.cpp @@ -0,0 +1,76 @@ +#include "shader.hpp" + +namespace simple_renderer { + +Vertex Shader::VertexShader(const Vertex& vertex) const { + Matrix4f model_matrix = uniformbuffer_.getUniform("model_matrix"); + Matrix4f view_matrix = uniformbuffer_.getUniform("view_matrix"); + Matrix4f projection_matrix = + uniformbuffer_.getUniform("projection_matrix"); + + Matrix4f mvp_matrix = projection_matrix * view_matrix * model_matrix; + // auto normal_matrix = model_matrix.inverse().transpose(); + + return mvp_matrix * vertex; +} + +Color Shader::FragmentShader(const Fragment& fragment) const { + // interpolate Normal, Color and UV + Color interpolateColor = fragment.color; + Vector3f normal = fragment.normal; + Vector2f uv = fragment.uv; + + // uniform + Vector3f light = uniformbuffer_.getUniform("light"); + Material material = uniformbuffer_.getUniform("material"); + + // 只绘制正面,背面intensity为负 = 0 + auto intensity = std::max(glm::dot(normal, light), 0.0f); + // texture color + Color final_color, ambient_color, diffuse_color, specular_color; + if (material.has_ambient_texture) { + Color texture_color = sampleTexture(material.ambient_texture, uv); + ambient_color = texture_color * intensity; + } else { + ambient_color = interpolateColor * intensity; + } + + if (material.has_diffuse_texture) { + Color texture_color = sampleTexture(material.diffuse_texture, uv); + diffuse_color = texture_color * intensity; + } else { + diffuse_color = interpolateColor * intensity; + } +} + +// 将浮点数转换为 uint8_t +// 对浮点数进行四舍五入 +uint8_t float_to_uint8_t(float val) { + float adjusted_val = val > 0.0f ? val + 0.5f : val - 0.5f; + return static_cast(adjusted_val); +} + +// sampleTexture +// 纹理采样 +Color Shader::sampleTexture(const Texture& texture, const Vector2f& uv) const { + // wrap u,v to [0. 1] + // 将 u, v 包装到 [0. 1] + auto u = uv.x - std::floor(uv.x); + auto v = uv.y - std::floor(uv.y); + + // convert u,v to pixel space coordinates + // 将 u, v 转换为像素空间坐标 + auto x = static_cast(u * texture.width); + auto y = static_cast(v * texture.height); + + // Ensure x, y are within bounds + // 确保 x, y 在范围内 + x = std::clamp(x, 0, texture.width - 1); + y = std::clamp(y, 0, texture.height - 1); + + // Get pixel color + // 获取像素颜色 + return texture.getPixel(x, y); +} + +} // namespace simple_renderer \ No newline at end of file diff --git a/src/simple_renderer.cpp b/src/simple_renderer.cpp index 2a3afce..0555c41 100755 --- a/src/simple_renderer.cpp +++ b/src/simple_renderer.cpp @@ -37,211 +37,39 @@ SimpleRenderer::SimpleRenderer(size_t width, size_t height, uint32_t *buffer, : height_(height), width_(width), buffer_(buffer), - depth_buffer_(std::shared_ptr(new Depth[width_ * height_], - std::default_delete())), draw_pixel_func_(draw_pixel_func), log_system_(LogSystem(kLogFilePath, kLogFileMaxSize, kLogFileMaxCount)) { - if (buffer_ == nullptr) { - SPDLOG_ERROR("buffer_ == nullptr"); - throw std::invalid_argument("buffer_ == nullptr"); - } - - if (depth_buffer_ == nullptr) { - SPDLOG_ERROR("depth_buffer_ == nullptr"); - throw std::invalid_argument("depth_buffer_ == nullptr"); - } - - std::fill(depth_buffer_.get(), depth_buffer_.get() + width_ * height_, - std::numeric_limits::lowest()); - - SPDLOG_INFO("SimpleRenderer init with {}, {}", width_, height_); + rasterizer_ = std::make_shared(width, height); } -bool SimpleRenderer::render(const Model &model) { +bool SimpleRenderer::render(const Model &model, const Shader &shader) { SPDLOG_INFO("render model: {}", model.modelPath()); - auto shader = DefaultShader(); + shader_ = std::make_shared(shader); auto light = Light(); - DrawModel(shader, light, model, 0, 1); + DrawModel(model, light); return true; } -void SimpleRenderer::DrawLine(float x0, float y0, float x1, float y1, - const Color &_color) { - auto p0_x = static_cast(x0); - auto p0_y = static_cast(y0); - auto p1_x = static_cast(x1); - auto p1_y = static_cast(y1); - - // SPDLOG_DEBUG("x0({}, {}), y0({}, {}), p0({}, {}), p1({}, {})", x0, y0, x1, - // y1, - // p0_x, p0_y, p1_x, p1_y); - - auto steep = false; - if (std::abs(p0_x - p1_x) < std::abs(p0_y - p1_y)) { - std::swap(p0_x, p0_y); - std::swap(p1_x, p1_y); - steep = true; - } - // 终点 x 坐标在起点 左边 - if (p0_x > p1_x) { - std::swap(p0_x, p1_x); - std::swap(p0_y, p1_y); - } - - auto de = 0; - auto dy2 = std::abs(p1_y - p0_y) << 1; - auto dx2 = std::abs(p1_x - p0_x) << 1; - auto y = p0_y; - auto yi = 1; - if (p1_y <= p0_y) { - yi = -1; - } - for (auto x = p0_x; x <= p1_x; x++) { - if (steep) { - /// @todo 这里要用裁剪替换掉 - if ((unsigned)y >= width_ || (unsigned)x >= height_) { - // SPDLOG_WARN( - // "width: {}, height: {}, p0_x: {}, p0_y: {}, p1_x: " - // "{}, p1_y: {}, x: {}, y: {}", - // width_, height_, p0_x, p0_y, p1_x, p1_y, x, y); - continue; - } - draw_pixel_func_(y, x, _color, buffer_); - } else { - /// @todo 这里要用裁剪替换掉 - if ((unsigned)x >= width_ || (unsigned)y >= height_) { - // SPDLOG_WARN( - // "width: {}, height: {}, p0_x: {}, p0_y: {}, p1_x: " - // "{}, p1_y: {}, x: {}, y: {}", - // width_, height_, p0_x, p0_y, p1_x, p1_y, x, y); - continue; - } - draw_pixel_func_(x, y, _color, buffer_); - } - de += std::abs(dy2); - if (de >= dx2) { - y += yi; - de -= dx2; - } - } -} - -void SimpleRenderer::DrawTriangle(const ShaderBase &shader, const Light &light, - const Face &face) { - auto v0 = face.vertex(0); - auto v1 = face.vertex(1); - auto v2 = face.vertex(2); - - // 获取三角形的最小 box - Vector2f a = Vector2f(v0.position().x, v0.position().y); - Vector2f b = Vector2f(v1.position().x, v1.position().y); - Vector2f c = Vector2f(v2.position().x, v2.position().y); - - Vector2f bboxMin = - Vector2f{std::min({a.x, b.x, c.x}), std::min({a.y, b.y, c.y})}; - Vector2f bboxMax = - Vector2f{std::max({a.x, b.x, c.x}), std::max({a.y, b.y, c.y})}; - -#pragma omp parallel for num_threads(kNProc) collapse(2) default(none) \ - shared(bboxMin, bboxMax, v0, v1, v2, shader, face) firstprivate(light) - for (auto x = int32_t(bboxMin.x); x <= int32_t(bboxMax.x); x++) { - for (auto y = int32_t(bboxMin.y); y <= int32_t(bboxMax.y); y++) { - /// @todo 这里要用裁剪替换掉 - if ((unsigned)x >= width_ || (unsigned)y >= height_) { - continue; - } - auto [is_inside, barycentric_coord] = GetBarycentricCoord( - v0.position(), v1.position(), v2.position(), - Vector3f(static_cast(x), static_cast(y), 0)); - // 如果点在三角形内再进行下一步 - if (!is_inside) { - continue; - } - // 计算该点的深度,通过重心坐标插值计算 - auto z = InterpolateDepth(v0.position().z, v1.position().z, - v2.position().z, barycentric_coord); - // 深度在已有颜色之上 - if (z < depth_buffer_[y * width_ + x]) { - continue; - } - // 构造着色器输入 - auto shader_fragment_in = - ShaderFragmentIn(barycentric_coord, face, light.dir); - // 计算颜色,颜色为通过 shader 片段着色器计算 - auto shader_fragment_out = shader.Fragment(shader_fragment_in); - // 构造颜色 - auto color = Color(shader_fragment_out.color_); - // 填充像素 - draw_pixel_func_(x, y, color, buffer_); - depth_buffer_[y * width_ + x] = z; - } - } -} - -void SimpleRenderer::DrawModel(const ShaderBase &shader, const Light &light, - const Model &model, bool draw_line, - bool draw_triangle) { +void SimpleRenderer::DrawModel(const Model &model, const Light &light) { SPDLOG_INFO("draw {}", model.modelPath()); - - if (draw_line) { -#pragma omp parallel for num_threads(kNProc) default(none) shared(shader) \ - firstprivate(model) - for (const auto &f : model.faces()) { - /// @todo 巨大性能开销 - auto face = shader.Vertex(ShaderVertexIn(f)).face_; - auto a = face.vertex(0).position(); - auto b = face.vertex(1).position(); - auto c = face.vertex(2).position(); - DrawLine(a.x, a.y, b.x, b.y, Color::kRed); - DrawLine(b.x, b.y, c.x, c.y, Color::kGreen); - DrawLine(c.x, c.y, a.x, a.y, Color::kBlue); - } - } - if (draw_triangle) { + std::vector processedVertex; #pragma omp parallel for num_threads(kNProc) default(none) shared(shader) \ firstprivate(model, light) - for (const auto &f : model.faces()) { - /// @todo 巨大性能开销 - auto face = shader.Vertex(ShaderVertexIn(f)).face_; - DrawTriangle(shader, light, face); - } + for (const auto &v : model.vertices()) { + auto vertex = shader_->VertexShader(v); + processedVertex.push_back(vertex); } -} - -/// @todo 巨大性能开销 -auto SimpleRenderer::GetBarycentricCoord(const Vector3f &p0, const Vector3f &p1, - const Vector3f &p2, const Vector3f &pa) - -> std::pair { - Vector3f v0 = Vector3f{p2.x - p0.x, p1.x - p0.x, p0.x - pa.x}; - Vector3f v1 = Vector3f{p2.y - p0.y, p1.y - p0.y, p0.y - pa.y}; - - Vector3f u = glm::cross(v0, v1); - - // 如果 u.z == 0 说明三角形退化 - const float epsilon = 1e-6f; - if (std::abs(u.z) < epsilon) { - return std::pair{false, Vector3f(0, 0, 0)}; - } - - auto x = 1.0f - (u.x + u.y) / u.z; - auto y = u.y / u.z; - auto z = u.x / u.z; - - // 如果重心坐标不在 [0, 1] 之间则说明点在三角形外 - if (x < 0 || y < 0 || z < 0 || x > 1 || y > 1 || z > 1) { - return std::pair{false, Vector3f(0, 0, 0)}; + for (const auto &f : model.faces()) { + auto v0 = processedVertex[f.index(0)]; + auto v1 = processedVertex[f.index(1)]; + auto v2 = processedVertex[f.index(2)]; + auto fragments = rasterizer_->rasterize(v0, v1, v2); + for (const auto &fragment : fragments) { + auto color = shader_->FragmentShader(fragment); + draw_pixel_func_(fragment.screen_coord[0], fragment.screen_coord[1], + color, buffer_); + } } - - return std::pair{true, Vector3f(x, y, z)}; -} - -auto SimpleRenderer::InterpolateDepth(float depth0, float depth1, float depth2, - const Vector3f &_barycentric_coord) - -> float { - auto depth = depth0 * _barycentric_coord.x; - depth += depth1 * _barycentric_coord.y; - depth += depth2 * _barycentric_coord.z; - return depth; } } // namespace simple_renderer From 972c357151e45fa70d5979997ee8535cac37c220 Mon Sep 17 00:00:00 2001 From: ZhuohaoHe Date: Fri, 13 Sep 2024 21:06:15 -0400 Subject: [PATCH 10/18] refactor: debug and fix normal vector issue Signed-off-by: ZhuohaoHe --- CMakeLists.txt | 2 + src/default_shader.cpp | 145 ---------------------- src/include/default_shader.h | 80 ------------ src/include/face.hpp | 15 --- src/include/model.hpp | 5 + src/include/rasterizer.hpp | 11 +- src/include/shader.hpp | 26 +++- src/include/shader_base.h | 221 ---------------------------------- src/include/simple_renderer.h | 7 +- src/include/vertex.hpp | 11 -- src/model.cpp | 17 ++- src/rasterizer.cpp | 95 +++++++++------ src/shader.cpp | 7 +- src/shader_base.cpp | 40 ------ src/simple_renderer.cpp | 55 +++++++-- test/system_test/main.cpp | 32 ++--- 16 files changed, 161 insertions(+), 608 deletions(-) delete mode 100644 src/default_shader.cpp delete mode 100644 src/include/default_shader.h delete mode 100644 src/include/shader_base.h delete mode 100644 src/shader_base.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 5b5d780..faf5256 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,6 +45,8 @@ set(LOG_FILE_PATH "${EXECUTABLE_OUTPUT_PATH}/logs/SimpleRendererLog.log") set(LOG_FILE_MAX_SIZE 1024*1024*4) # 日志文件数量 set(LOG_FILE_MAX_COUNT 8) +#Debug Type (for cmake debug) +set(CMAKE_BUILD_TYPE "Debug") # 生成配置头文件 configure_file( "${PROJECT_SOURCE_DIR}/cmake/config.h.in" diff --git a/src/default_shader.cpp b/src/default_shader.cpp deleted file mode 100644 index 9807c34..0000000 --- a/src/default_shader.cpp +++ /dev/null @@ -1,145 +0,0 @@ - -/** - * @file default_shader.cpp - * @brief 默认着色器实现 - * @author Zone.N (Zone.Niuzh@hotmail.com) - * @version 1.0 - * @date 2022-11-01 - * @copyright MIT LICENSE - * https://github.com/Simple-XX/SimpleRenderer - * @par change log: - * - *
DateAuthorDescription - *
2022-11-01Zone.N创建文件 - *
- */ - -#include "default_shader.h" - -namespace simple_renderer { - -// 将浮点数转换为 uint8_t -// 对浮点数进行四舍五入 -uint8_t DefaultShader::float_to_uint8_t(float val) { - float adjusted_val = val > 0.0f ? val + 0.5f : val - 0.5f; - return static_cast(adjusted_val); -} - -// sampleTexture -// 纹理采样 -Color DefaultShader::sampleTexture(const Texture &texture, const Vector2f &uv) { - // wrap u,v to [0. 1] - // 将 u, v 包装到 [0. 1] - auto u = uv.x - std::floor(uv.x); - auto v = uv.y - std::floor(uv.y); - - // convert u,v to pixel space coordinates - // 将 u, v 转换为像素空间坐标 - auto x = static_cast(u * texture.width); - auto y = static_cast(v * texture.height); - - // Ensure x, y are within bounds - // 确保 x, y 在范围内 - x = std::clamp(x, 0, texture.width - 1); - y = std::clamp(y, 0, texture.height - 1); - - // Get pixel color - // 获取像素颜色 - return texture.getPixel(x, y); -} - -// 插值颜色 (r, g, b) -auto DefaultShader::InterpolateColor( - const Color &color0, const Color &color1, const Color &color2, - const Vector3f &barycentric_coord) -> Color { - auto color_r = float_to_uint8_t( - static_cast(color0[Color::kColorIndexRed]) * barycentric_coord.x + - static_cast(color1[Color::kColorIndexRed]) * barycentric_coord.y + - static_cast(color2[Color::kColorIndexRed]) * barycentric_coord.z); - auto color_g = - float_to_uint8_t(static_cast(color0[Color::kColorIndexGreen]) * - barycentric_coord.x + - static_cast(color1[Color::kColorIndexGreen]) * - barycentric_coord.y + - static_cast(color2[Color::kColorIndexGreen]) * - barycentric_coord.z); - auto color_b = float_to_uint8_t( - static_cast(color0[Color::kColorIndexBlue]) * barycentric_coord.x + - static_cast(color1[Color::kColorIndexBlue]) * barycentric_coord.y + - static_cast(color2[Color::kColorIndexBlue]) * barycentric_coord.z); - return Color(color_r, color_g, color_b); -} - -// 插值 UV -auto DefaultShader::InterpolateUV( - const Vector2f &uv0, const Vector2f &uv1, const Vector2f &uv2, - const Vector3f &barycentric_coord) -> Vector2f { - auto uv_x = uv0.x * barycentric_coord.x + uv1.x * barycentric_coord.y + - uv2.x * barycentric_coord.z; - auto uv_y = uv0.y * barycentric_coord.x + uv1.y * barycentric_coord.y + - uv2.y * barycentric_coord.z; - return Vector2f(uv_x, uv_y); -} - -/// @todo 巨大性能开销 -auto DefaultShader::Vertex(const ShaderVertexIn &shader_vertex_in) const - -> ShaderVertexOut { - auto face(shader_vertex_in.face_); - - face.transform(shader_data_.project_matrix_ * shader_data_.view_matrix_ * - shader_data_.model_matrix_); - - /// @todo 变换贴图 - return ShaderVertexOut(face); -} - -auto DefaultShader::Fragment(const ShaderFragmentIn &shader_fragment_in) const - -> ShaderFragmentOut { - // interpolate Normal, Color and UV - // 插值法线、颜色和 UV - Vector3f interpolateNormal = - shader_fragment_in.face_ - .normal(); // OR barycentric interpolation with vertex normals - // 或者使用顶点法线进行重心插值 - Color interpolateColor = - InterpolateColor(shader_fragment_in.face_.vertex(0).color(), - shader_fragment_in.face_.vertex(1).color(), - shader_fragment_in.face_.vertex(2).color(), - shader_fragment_in.barycentric_coord_); - Vector2f interpolateUV = - InterpolateUV(shader_fragment_in.face_.vertex(0).texCoords(), - shader_fragment_in.face_.vertex(1).texCoords(), - shader_fragment_in.face_.vertex(2).texCoords(), - shader_fragment_in.barycentric_coord_); - - // 只绘制正面,背面intensity为负 = 0 - auto intensity = - std::max(glm::dot(interpolateNormal, shader_fragment_in.light_), 0.0f); - // texture color - // 纹理颜色 - Color final_color, ambient_color, diffuse_color, specular_color; - if (shader_fragment_in.face_.material().has_ambient_texture) { - Color texture_color = sampleTexture( - shader_fragment_in.face_.material().ambient_texture, interpolateUV); - ambient_color = texture_color * intensity; - } else { - ambient_color = interpolateColor * intensity; - } - - if (shader_fragment_in.face_.material().has_diffuse_texture) { - Color texture_color = sampleTexture( - shader_fragment_in.face_.material().diffuse_texture, interpolateUV); - diffuse_color = texture_color * intensity; - } else { - diffuse_color = interpolateColor * intensity; - } - - // TODO: add specular texture <- get view direction <- have a camera system - // 添加高光纹理 <- 获取视图方向 <- 有一个相机系统 - // TODO: and I want to refactor the shader system - // 我想重构着色器系统 - final_color = ambient_color * 0.1f + diffuse_color; - return ShaderFragmentOut(final_color); -} - -} // namespace simple_renderer diff --git a/src/include/default_shader.h b/src/include/default_shader.h deleted file mode 100644 index bff6952..0000000 --- a/src/include/default_shader.h +++ /dev/null @@ -1,80 +0,0 @@ - -/** - * @file default_shader.h - * @brief 默认着色器 - * @author Zone.N (Zone.Niuzh@hotmail.com) - * @version 1.0 - * @date 2022-11-01 - * @copyright MIT LICENSE - * https://github.com/Simple-XX/SimpleRenderer - * @par change log: - * - *
DateAuthorDescription - *
2022-11-01Zone.N创建文件 - *
- */ - -#ifndef SIMPLERENDER_SRC_INCLUDE_DEFAULT_SHADER_H_ -#define SIMPLERENDER_SRC_INCLUDE_DEFAULT_SHADER_H_ - -#include "shader_base.h" - -namespace simple_renderer { - -/** - * 默认着色器 - */ -class DefaultShader : public ShaderBase { - public: - /// @name 默认构造/析构函数 - /// @{ - DefaultShader() = default; - DefaultShader(const DefaultShader &default_shader) = default; - DefaultShader(DefaultShader &&default_shader) = default; - auto operator=(const DefaultShader &default_shader) -> DefaultShader & = - default; - auto operator=(DefaultShader &&default_shader) -> DefaultShader & = default; - ~DefaultShader() override = default; - /// @} - - /** - * 顶点着色器 - * @param shader_vertex_in 输入 - * @return 输出 - */ - [[nodiscard]] auto Vertex(const ShaderVertexIn &shader_vertex_in) const - -> ShaderVertexOut final; - - /** - * 片段着色器 - * @param _shader_fragment_in 输入 - * @return 输出 - */ - [[nodiscard]] auto Fragment(const ShaderFragmentIn &shader_fragment_in) const - -> ShaderFragmentOut final; - - private: - /** - * 颜色插值,由重心坐标计算出对应点的颜色 - * @param color0 第一个点的颜色 - * @param color1 第二个点的颜色 - * @param color2 第三个点的颜色 - * @param barycentric_coord 重心坐标 - * @return 颜色值 - */ - static auto InterpolateColor(const Color &color0, const Color &color1, - const Color &color2, - const Vector3f &barycentric_coord) -> Color; - - static auto InterpolateUV(const Vector2f &uv0, const Vector2f &uv1, - const Vector2f &uv2, - const Vector3f &barycentric_coord) -> Vector2f; - - static uint8_t float_to_uint8_t(float val); - - static Color sampleTexture(const Texture &texture, const Vector2f &uv); -}; - -} // namespace simple_renderer - -#endif /* SIMPLERENDER_SRC_INCLUDE_DEFAULT_SHADER_H_ */ diff --git a/src/include/face.hpp b/src/include/face.hpp index 7a689bc..56d393c 100644 --- a/src/include/face.hpp +++ b/src/include/face.hpp @@ -41,25 +41,10 @@ class Face { // 获取函数 const std::array& indices() const { return indices_; } const size_t index(size_t index) const { return indices_[index]; } - const Vector3f& normal() const { return normal_; } const Material& material() const { return material_; } - // Calculate the normal vector based on the vertices - // 根据顶点计算法向量 - void calculateNormal(const std::vector& vertices) { - Vector3f edge1 = Vector3f(vertices[indices_[1]].position()) - - Vector3f(vertices[indices_[0]].position()); - Vector3f edge2 = Vector3f(vertices[indices_[2]].position()) - - Vector3f(vertices[indices_[0]].position()); - normal_ = glm::normalize( - // Normalize the cross product to get the - // normal 归一化叉积以获得法向量 - glm::cross(edge1, edge2)); - } - private: std::array indices_; - Vector3f normal_; Material material_; }; } // namespace simple_renderer diff --git a/src/include/model.hpp b/src/include/model.hpp index 255a903..d7c2d69 100755 --- a/src/include/model.hpp +++ b/src/include/model.hpp @@ -74,6 +74,11 @@ class Model { // Directory where the model is located // 模型所在的目录 std::string directory_; + + // List of vertices that make up the model + // 构成模型的顶点列表 + std::vector vertices_; + // List of faces(triangles) that make up the model // 构成模型的面(三角形)列表 std::vector faces_; diff --git a/src/include/rasterizer.hpp b/src/include/rasterizer.hpp index 8d38e38..e272b51 100644 --- a/src/include/rasterizer.hpp +++ b/src/include/rasterizer.hpp @@ -1,6 +1,7 @@ #ifndef SIMPLERENDER_SRC_INCLUDE_RASTERIZER_HPP_ #define SIMPLERENDER_SRC_INCLUDE_RASTERIZER_HPP_ +#include "config.h" #include "shader.hpp" namespace simple_renderer { @@ -19,13 +20,8 @@ class Rasterizer { std::vector rasterize(const Vertex& v0, const Vertex& v1, const Vertex& v2); - void setDepthBuffer(size_t index, float zvalue) { - depth_buffer_[index] = zvalue; - } - private: size_t width_, height_; - std::shared_ptr depth_buffer_; template T interpolate(const T& v0, const T& v1, const T& v2, @@ -39,6 +35,11 @@ class Rasterizer { const Vector3f& p1, const Vector3f& p2, const Vector3f& pa); + + // Calculate the normal vector based on the vertices + // 根据顶点计算法向量 + Vector3f calculateNormal(const Vector3f& v0, const Vector3f& v1, + const Vector3f& v2); }; } // namespace simple_renderer diff --git a/src/include/shader.hpp b/src/include/shader.hpp index 5742caf..1e030e9 100644 --- a/src/include/shader.hpp +++ b/src/include/shader.hpp @@ -1,18 +1,26 @@ #ifndef SIMPLERENDER_SRC_INCLUDE_SHADER_HPP_ #define SIMPLERENDER_SRC_INCLUDE_SHADER_HPP_ +#include "light.h" #include "material.hpp" #include "vertex.hpp" namespace simple_renderer { using UniformValue = std::variant; + Matrix3f, Matrix4f, Material, Light>; class UniformBuffer { public: template void SetUniform(const std::string &name, const T &value) { + static_assert( + std::is_same_v || std::is_same_v || + std::is_same_v || std::is_same_v || + std::is_same_v || std::is_same_v || + std::is_same_v || std::is_same_v || + std::is_same_v, + "Type not supported by UniformValue"); uniforms_[name] = value; } @@ -41,6 +49,7 @@ struct Fragment { Vector3f normal; Vector2f uv; Color color; + float depth; }; /** @@ -50,10 +59,10 @@ struct Fragment { class Shader { public: Shader() = default; - Shader(const Shader &shader_base) = default; - Shader(Shader &&shader_base) = default; - auto operator=(const Shader &shader_base) -> Shader & = default; - auto operator=(Shader &&shader_base) -> Shader & = default; + Shader(const Shader &shader) = default; + Shader(Shader &&shader) = default; + auto operator=(const Shader &shader) -> Shader & = default; + auto operator=(Shader &&shader) -> Shader & = default; virtual ~Shader() = default; // Input Data -> Vertex Shader -> Screen Space Coordiante @@ -61,9 +70,14 @@ class Shader { // Input Data -> Fragment Shader -> Color Color FragmentShader(const Fragment &fragment) const; + // set uniform value + template + void SetUniform(const std::string &name, const T &value) { + uniformbuffer_.SetUniform(name, value); + } + private: // UniformBuffer - // TODO: add setter function and getter function under Shader class level UniformBuffer uniformbuffer_; Color sampleTexture(const Texture &texture, const Vector2f &uv) const; diff --git a/src/include/shader_base.h b/src/include/shader_base.h deleted file mode 100644 index 8174aab..0000000 --- a/src/include/shader_base.h +++ /dev/null @@ -1,221 +0,0 @@ - -/** - * @file shader_base.h - * @brief 着色器基类头文件 - * @author Zone.N (Zone.Niuzh@hotmail.com) - * @version 1.0 - * @date 2022-10-15 - * @copyright MIT LICENSE - * https://github.com/Simple-XX/SimpleRenderer - * @par change log: - * - *
DateAuthorDescription - *
2022-10-15Zone.N创建文件 - *
- */ - -#ifndef SIMPLERENDER_SRC_INCLUDE_SHADER_BASE_H_ -#define SIMPLERENDER_SRC_INCLUDE_SHADER_BASE_H_ - -#include "math.hpp" -#include "model.hpp" - -namespace simple_renderer { - -/* -for each face -> *VertexShader* -> DrawTriangle -> -for each pixel -> *FragmentShader* -> DrawPixel -*/ - -/** - * 顶点着色器输入数据 - */ -class ShaderVertexIn { - public: - /// 面信息 - Face face_; - - /** - * 构造函数 - * @param face 面信息 - */ - explicit ShaderVertexIn(const Face &face); - - /// @name 默认构造/析构函数 - /// @{ - ShaderVertexIn() = default; - ShaderVertexIn(const ShaderVertexIn &shader_vertex_in) = default; - ShaderVertexIn(ShaderVertexIn &&shader_vertex_in) = default; - auto operator=(const ShaderVertexIn &shader_vertex_in) -> ShaderVertexIn & = - default; - auto operator=(ShaderVertexIn &&shader_vertex_in) -> ShaderVertexIn & = - default; - ~ShaderVertexIn() = default; - /// @} -}; - -/** - * 顶点着色器输出数据 - */ -class ShaderVertexOut { - public: - /// 面信息 - Face face_; - - /** - * 构造函数 - * @param face 面信息 - */ - explicit ShaderVertexOut(const Face &face); - - /// @name 默认构造/析构函数 - /// @{ - ShaderVertexOut() = default; - ShaderVertexOut(const ShaderVertexOut &shader_vertex_out) = default; - ShaderVertexOut(ShaderVertexOut &&shader_vertex_out) = default; - auto operator=(const ShaderVertexOut &shader_vertex_out) - -> ShaderVertexOut & = default; - auto operator=(ShaderVertexOut &&shader_vertex_out) -> ShaderVertexOut & = - default; - ~ShaderVertexOut() = default; - /// @} -}; - -/** - * 片段着色器输入 - */ -class ShaderFragmentIn { - public: - /// 重心坐标 - Vector3f barycentric_coord_; - - // face - // 面信息 - Face face_; - - /// 光照方向 - Vector3f light_; - - /** - * 构造函数 - * @param barycentric_coord 重心坐标 - * @param face 面信息 - * @param light 光照 - */ - explicit ShaderFragmentIn(const Vector3f &_barycentric_coord, - const Face &face, const Vector3f &light); - - /// @name 默认构造/析构函数 - /// @{ - ShaderFragmentIn() = default; - ShaderFragmentIn(const ShaderFragmentIn &shader_fragment_in) = default; - ShaderFragmentIn(ShaderFragmentIn &&shader_fragment_in) = default; - auto operator=(const ShaderFragmentIn &shader_fragment_in) - -> ShaderFragmentIn & = default; - auto operator=(ShaderFragmentIn &&shader_fragment_in) -> ShaderFragmentIn & = - default; - ~ShaderFragmentIn() = default; - /// @} -}; - -/** - * 片段着色器输出 - */ -class ShaderFragmentOut { - public: - /// 颜色 - Color color_; - - /** - * 构造函数 - * @param _color 颜色 - */ - explicit ShaderFragmentOut(const Color &color); - - /// @name 默认构造/析构函数 - /// @{ - ShaderFragmentOut() = default; - ShaderFragmentOut(const ShaderFragmentOut &shader_fragment_out) = default; - ShaderFragmentOut(ShaderFragmentOut &&shader_fragment_out) = default; - auto operator=(const ShaderFragmentOut &shader_fragment_out) - -> ShaderFragmentOut & = default; - auto operator=(ShaderFragmentOut &&shader_fragment_out) - -> ShaderFragmentOut & = default; - ~ShaderFragmentOut() = default; - /// @} -}; - -/** - * 着色器数据 - */ -class ShaderData { - public: - /// 模型变换矩阵 - Matrix4f model_matrix_ = Matrix4f(1.0f); - /// 视图变换矩阵 - Matrix4f view_matrix_ = Matrix4f(1.0f); - /// 正交变换矩阵 - Matrix4f project_matrix_ = Matrix4f(1.0f); - - /** - * 构造函数 - * @param model_matrix 模型变换矩阵 - * @param view_matrix 视图变换矩阵 - * @param project_matrix 正交变换矩阵 - */ - explicit ShaderData(const Matrix4f &model_matrix, const Matrix4f &view_matrix, - const Matrix4f &project_matrix); - - /// @name 默认构造/析构函数 - /// @{ - ShaderData() = default; - ShaderData(const ShaderData &shader_data) = default; - ShaderData(ShaderData &&shader_data) = default; - auto operator=(const ShaderData &shader_data) -> ShaderData & = default; - auto operator=(ShaderData &&shader_data) -> ShaderData & = default; - ~ShaderData() = default; - /// @} -}; - -/** - * 着色器基类 - */ -class ShaderBase { - public: - /// 着色器数据 - ShaderData shader_data_; - - /// @name 默认构造/析构函数 - /// @{ - ShaderBase() = default; - ShaderBase(const ShaderBase &shader_base) = default; - ShaderBase(ShaderBase &&shader_base) = default; - auto operator=(const ShaderBase &shader_base) -> ShaderBase & = default; - auto operator=(ShaderBase &&shader_base) -> ShaderBase & = default; - virtual ~ShaderBase() = default; - /// @} - - /** - * 顶点着色器 - * 处理顶点的着色器,所有顶点被载入管线后都会经由顶点着色器处理后载入管线的下一步。 - * 通过顶点着色器可以改变绘制内容的形状,包括形状大小、位置、角度、投影等等。 - * @param shader_vertex_in 顶点着色器输入 - * @return 顶点着色器输出 - */ - [[nodiscard]] virtual auto Vertex( - const ShaderVertexIn &shader_vertex_in) const -> ShaderVertexOut = 0; - - /** - * 片段着色器 - * 片段着色器负责处理绘制内容的颜色,所有顶点光栅化后经由片段着色器都会被赋值颜色,并且也会被插值处理。 - * @param shader_fragment_in 片段着色器输入 - * @return 片段着色器输出 - */ - [[nodiscard]] virtual auto Fragment( - const ShaderFragmentIn &shader_fragment_in) const - -> ShaderFragmentOut = 0; -}; - -} // namespace simple_renderer - -#endif /* SIMPLERENDER_SRC_INCLUDE_SHADER_BASE_H_ */ diff --git a/src/include/simple_renderer.h b/src/include/simple_renderer.h index 632057a..272312a 100755 --- a/src/include/simple_renderer.h +++ b/src/include/simple_renderer.h @@ -63,6 +63,7 @@ class SimpleRenderer { const size_t height_; const size_t width_; uint32_t *buffer_; + std::shared_ptr depth_buffer_; DrawPixelFunc draw_pixel_func_; LogSystem log_system_; @@ -71,13 +72,9 @@ class SimpleRenderer { /** * 绘制模型 - * @param shader 要使用的着色器 - * @param light 光照信息 * @param model 模型 - * @param draw_line 是否绘制线框 - * @param draw_triangle 是否绘制三角形 */ - void DrawModel(const Model &model, const Light &light); + void DrawModel(const Model &model); }; } // namespace simple_renderer diff --git a/src/include/vertex.hpp b/src/include/vertex.hpp index 35b2563..c71c3a2 100644 --- a/src/include/vertex.hpp +++ b/src/include/vertex.hpp @@ -39,17 +39,6 @@ class Vertex { // Transform the vertex with a matrix 使用矩阵变换顶点 void transform(const Matrix4f& matrix) { position_ = matrix * position_; } - // Perspective divide to convert from clip space to normalized device - // coordinates 透视除法,将裁剪空间转换为标准化设备坐标 - void perspectiveDivide() { - if (position_.w != 0) { - position_.x /= position_.w; - position_.y /= position_.w; - position_.z /= position_.w; - position_.w = 1.0f; // Homogenize, 齐次坐标 - } - } - // Getter functions // 获取函数 [[nodiscard]] Vector4f position() const { return position_; } diff --git a/src/model.cpp b/src/model.cpp index 87ac9ee..1de210b 100755 --- a/src/model.cpp +++ b/src/model.cpp @@ -43,20 +43,22 @@ void Model::loadModel(const std::string& path) { if (!scene || scene->mFlags & AI_SCENE_FLAGS_INCOMPLETE || !scene->mRootNode) { SPDLOG_ERROR("Assimp Error: {}", importer.GetErrorString()); - throw std::runtime_error("Failed to load model with Assimp"); + throw std::runtime_error("Failed to load model with Assimp, path: " + path); } // Store the directory path of the model // 存储模型的目录路径 directory_ = path.substr(0, path.find_last_of('/')); - SPDLOG_INFO( - "Loaded model path: {}, Directory: {}, with meshes: {}, materials: {}", - path, directory_, scene->mNumMeshes, scene->mNumMaterials); - // Process the root node recursively // 递归处理根节点 processNode(scene->mRootNode, scene); + + SPDLOG_INFO( + "Loaded model path: {}, with vertices: {}, triangles: {}, " + "meshes: {}, materials: {}", + path, static_cast(vertices_.size()), static_cast(faces_.size()), + scene->mNumMeshes, scene->mNumMaterials); } // Recursively process nodes in the model @@ -79,8 +81,6 @@ void Model::processNode(aiNode* node, const aiScene* scene) { // Process a single mesh and extract vertices, normals, and faces // 处理单个网格并提取顶点、法线和面 void Model::processMesh(aiMesh* mesh, const aiScene* scene) { - std::vector vertices; - // Process vertices // 处理顶点 for (unsigned int i = 0; i < mesh->mNumVertices; ++i) { @@ -99,7 +99,7 @@ void Model::processMesh(aiMesh* mesh, const aiScene* scene) { Color color(255.f, 255.f, 255.f, 255.f); // Default color (white) // 默认颜色(白色) - vertices.emplace_back(Vector4f(position, 1.0f), normal, texCoords, color); + vertices_.emplace_back(Vector4f(position, 1.0f), normal, texCoords, color); } // Process faces (assuming triangulation, so each face has 3 vertices) @@ -119,7 +119,6 @@ void Model::processMesh(aiMesh* mesh, const aiScene* scene) { // Create a Face object and store it // 创建一个 Face 对象并存储它 Face face(v0, v1, v2, std::move(material)); - face.calculateNormal(vertices); faces_.emplace_back(face); } } diff --git a/src/rasterizer.cpp b/src/rasterizer.cpp index 27fa113..6d50079 100644 --- a/src/rasterizer.cpp +++ b/src/rasterizer.cpp @@ -1,21 +1,18 @@ #include "rasterizer.hpp" +#include + namespace simple_renderer { Rasterizer::Rasterizer(size_t width, size_t height) : width_(width), height_(height) { - depth_buffer_ = std::shared_ptr(new float[width * height], - std::default_delete()); - - std::fill(depth_buffer_.get(), depth_buffer_.get() + width * height, - std::numeric_limits::lowest()); - SPDLOG_INFO("Rasterizer init with {}, {}", width, height); } std::vector Rasterizer::rasterize(const Vertex& v0, const Vertex& v1, const Vertex& v2) { std::vector fragments; + // 获取三角形的最小 box Vector2f a = Vector2f(v0.position().x, v0.position().y); Vector2f b = Vector2f(v1.position().x, v1.position().y); @@ -25,37 +22,53 @@ std::vector Rasterizer::rasterize(const Vertex& v0, const Vertex& v1, Vector2f{std::min({a.x, b.x, c.x}), std::min({a.y, b.y, c.y})}; Vector2f bboxMax = Vector2f{std::max({a.x, b.x, c.x}), std::max({a.y, b.y, c.y})}; -#pragma omp parallel for num_threads(kNProc) collapse(2) default(none) \ - shared(bboxMin, bboxMax, v0, v1, v2, shader, face) firstprivate(light) - for (auto x = int32_t(bboxMin.x); x <= int32_t(bboxMax.x); x++) { - for (auto y = int32_t(bboxMin.y); y <= int32_t(bboxMax.y); y++) { - auto [is_inside, barycentric_coord] = GetBarycentricCoord( - v0.position(), v1.position(), v2.position(), - Vector3f(static_cast(x), static_cast(y), 0)); - // 如果点在三角形内再进行下一步 - if (!is_inside) { - continue; - } - // 计算该点的深度,通过重心坐标插值计算 - auto z = interpolate(v0.position().z, v1.position().z, v2.position().z, - barycentric_coord); - // 深度在已有颜色之上 TODO: maybe need to change the process sequance - // here, z_buffer check maybe outside of the rasterize - if (z < depth_buffer_[y * width_ + x]) { - continue; + + // Clamp the bounding box to the screen dimensions + bboxMin.x = std::max(0.0f, bboxMin.x); + bboxMin.y = std::max(0.0f, bboxMin.y); + bboxMax.x = std::min(float(width_ - 1), bboxMax.x); + bboxMax.y = std::min(float(height_ - 1), bboxMax.y); + + std::vector> fragments_per_thread(kNProc); + +#pragma omp parallel num_threads(kNProc) default(none) shared( \ + bboxMin, bboxMax, v0, v1, v2, fragments, width_, fragments_per_thread) + { + int thread_id = omp_get_thread_num(); + std::vector& local_fragments = fragments_per_thread[thread_id]; +#pragma omp for collapse(2) + for (auto x = int32_t(bboxMin.x); x <= int32_t(bboxMax.x); x++) { + for (auto y = int32_t(bboxMin.y); y <= int32_t(bboxMax.y); y++) { + auto [is_inside, barycentric_coord] = GetBarycentricCoord( + v0.position(), v1.position(), v2.position(), + Vector3f(static_cast(x), static_cast(y), 0)); + // 如果点在三角形内再进行下一步 + if (!is_inside) { + continue; + } + // 计算该点的深度,通过重心坐标插值计算 + auto z = interpolate(v0.position().z, v1.position().z, v2.position().z, + barycentric_coord); + + Fragment fragment; + fragment.screen_coord = {x, y}; + fragment.normal = + calculateNormal(v0.position(), v1.position(), v2.position()); + fragment.uv = interpolate(v0.texCoords(), v1.texCoords(), + v2.texCoords(), barycentric_coord); + fragment.color = interpolateColor(v0.color(), v1.color(), v2.color(), + barycentric_coord); + fragment.depth = z; + + local_fragments.push_back(fragment); } - depth_buffer_[y * width_ + x] = z; - Fragment fragment; - fragment.screen_coord = {x, y}; - fragment.normal = - interpolate(v0.normal(), v1.normal(), v2.normal(), barycentric_coord); - fragment.uv = interpolate(v0.texCoords(), v1.texCoords(), v2.texCoords(), - barycentric_coord); - fragment.color = interpolateColor(v0.color(), v1.color(), v2.color(), - barycentric_coord); - fragments.push_back(fragment); } } + + for (const auto& local_fragments : fragments_per_thread) { + fragments.insert(fragments.end(), local_fragments.begin(), + local_fragments.end()); + } return fragments; } @@ -93,6 +106,8 @@ T Rasterizer::interpolate(const T& v0, const T& v1, const T& v2, v2 * barycentric_coord.z; } +// TODO: refactor this function by updating the Color class's + and * +// operator Color Rasterizer::interpolateColor(const Color& color0, const Color& color1, const Color& color2, const Vector3f& barycentric_coord) { @@ -114,4 +129,16 @@ Color Rasterizer::interpolateColor(const Color& color0, const Color& color1, return Color(color_r, color_g, color_b); } +// Calculate the normal vector based on the vertices +// 根据顶点计算法向量 +Vector3f Rasterizer::calculateNormal(const Vector3f& v0, const Vector3f& v1, + const Vector3f& v2) { + Vector3f edge1 = v1 - v0; + Vector3f edge2 = v2 - v0; + return glm::normalize( + // Normalize the cross product to get the + // normal 归一化叉积以获得法向量 + glm::cross(edge1, edge2)); +} + } // namespace simple_renderer \ No newline at end of file diff --git a/src/shader.cpp b/src/shader.cpp index 4b49094..03becb4 100644 --- a/src/shader.cpp +++ b/src/shader.cpp @@ -21,13 +21,13 @@ Color Shader::FragmentShader(const Fragment& fragment) const { Vector2f uv = fragment.uv; // uniform - Vector3f light = uniformbuffer_.getUniform("light"); + Light light = uniformbuffer_.getUniform("light"); Material material = uniformbuffer_.getUniform("material"); // 只绘制正面,背面intensity为负 = 0 - auto intensity = std::max(glm::dot(normal, light), 0.0f); + auto intensity = std::max(glm::dot(normal, light.dir), 0.0f); // texture color - Color final_color, ambient_color, diffuse_color, specular_color; + Color ambient_color, diffuse_color; if (material.has_ambient_texture) { Color texture_color = sampleTexture(material.ambient_texture, uv); ambient_color = texture_color * intensity; @@ -41,6 +41,7 @@ Color Shader::FragmentShader(const Fragment& fragment) const { } else { diffuse_color = interpolateColor * intensity; } + return ambient_color * 0.1f + diffuse_color; } // 将浮点数转换为 uint8_t diff --git a/src/shader_base.cpp b/src/shader_base.cpp deleted file mode 100644 index 39c0519..0000000 --- a/src/shader_base.cpp +++ /dev/null @@ -1,40 +0,0 @@ - -/** - * @file shader_base.cpp - * @brief 着色器基类实现 - * @author Zone.N (Zone.Niuzh@hotmail.com) - * @version 1.0 - * @date 2022-10-15 - * @copyright MIT LICENSE - * https://github.com/Simple-XX/SimpleRenderer - * @par change log: - * - *
DateAuthorDescription - *
2022-10-15Zone.N创建文件 - *
- */ - -#include "shader_base.h" - -namespace simple_renderer { - -ShaderVertexIn::ShaderVertexIn(const Face &face) : face_(face) {} - -ShaderVertexOut::ShaderVertexOut(const Face &face) : face_(face) {} - -ShaderFragmentIn::ShaderFragmentIn(const Vector3f &barycentric_coord, - const Face &face, const Vector3f &light) - : barycentric_coord_(barycentric_coord), - face_(face), - light_(light) {} // TODO: normal calculation in the Vertex SHader - -ShaderFragmentOut::ShaderFragmentOut(const Color &color) : color_(color) {} - -ShaderData::ShaderData(const Matrix4f &model_matrix, - const Matrix4f &view_matrix, - const Matrix4f &project_matrix) - : model_matrix_(model_matrix), - view_matrix_(view_matrix), - project_matrix_(project_matrix) {} - -} // namespace simple_renderer diff --git a/src/simple_renderer.cpp b/src/simple_renderer.cpp index 0555c41..7dd3460 100755 --- a/src/simple_renderer.cpp +++ b/src/simple_renderer.cpp @@ -16,6 +16,8 @@ #include "simple_renderer.h" +#include + #include #include #include @@ -24,11 +26,9 @@ #include #include "config.h" -#include "default_shader.h" #include "light.h" #include "log_system.h" #include "model.hpp" -#include "shader_base.h" namespace simple_renderer { @@ -40,34 +40,63 @@ SimpleRenderer::SimpleRenderer(size_t width, size_t height, uint32_t *buffer, draw_pixel_func_(draw_pixel_func), log_system_(LogSystem(kLogFilePath, kLogFileMaxSize, kLogFileMaxCount)) { rasterizer_ = std::make_shared(width, height); + // init depth buffer + depth_buffer_ = std::shared_ptr(new float[width * height], + std::default_delete()); + std::fill(depth_buffer_.get(), depth_buffer_.get() + width * height, + std::numeric_limits::infinity()); } bool SimpleRenderer::render(const Model &model, const Shader &shader) { SPDLOG_INFO("render model: {}", model.modelPath()); shader_ = std::make_shared(shader); - auto light = Light(); - DrawModel(model, light); + DrawModel(model); return true; } -void SimpleRenderer::DrawModel(const Model &model, const Light &light) { +void SimpleRenderer::DrawModel(const Model &model) { SPDLOG_INFO("draw {}", model.modelPath()); std::vector processedVertex; -#pragma omp parallel for num_threads(kNProc) default(none) shared(shader) \ - firstprivate(model, light) - for (const auto &v : model.vertices()) { - auto vertex = shader_->VertexShader(v); - processedVertex.push_back(vertex); + + std::vector> processed_vertices_per_thread(kNProc); +#pragma omp parallel num_threads(kNProc) default(none) \ + shared(shader_, processed_vertices_per_thread) firstprivate(model) + { + int thread_id = omp_get_thread_num(); + std::vector &local_vertices = + processed_vertices_per_thread[thread_id]; + +#pragma omp for + for (const auto &v : model.vertices()) { + /* * * Vertex Shader * * */ + auto vertex = shader_->VertexShader(v); + local_vertices.push_back(vertex); + } } + + for (const auto &local_vertices : processed_vertices_per_thread) { + processedVertex.insert(processedVertex.end(), local_vertices.begin(), + local_vertices.end()); + } + for (const auto &f : model.faces()) { auto v0 = processedVertex[f.index(0)]; auto v1 = processedVertex[f.index(1)]; auto v2 = processedVertex[f.index(2)]; + /* * * Rasterization * * */ auto fragments = rasterizer_->rasterize(v0, v1, v2); + // material + shader_->SetUniform("material", f.material()); for (const auto &fragment : fragments) { - auto color = shader_->FragmentShader(fragment); - draw_pixel_func_(fragment.screen_coord[0], fragment.screen_coord[1], - color, buffer_); + size_t x = fragment.screen_coord[0]; + size_t y = fragment.screen_coord[1]; + if (fragment.depth < depth_buffer_[x + y * width_]) { + depth_buffer_[x + y * width_] = fragment.depth; + + /* * * Fragment Shader * * */ + auto color = shader_->FragmentShader(fragment); + draw_pixel_func_(x, y, color, buffer_); + } } } } diff --git a/test/system_test/main.cpp b/test/system_test/main.cpp index c3a6d81..049065a 100755 --- a/test/system_test/main.cpp +++ b/test/system_test/main.cpp @@ -43,6 +43,9 @@ int main(int argc, char **argv) { printf("argv[%d]: %s\n", i, argv[i]); } auto obj_path = std::string(argv[1]); + // auto obj_path = std::string( + // "/Users/hezhohao/Programming/GitRepo/SimpleRenderer/obj"); // just for + // debuging simple_renderer::Buffer buffer(kWidth, kHeight); @@ -51,13 +54,8 @@ int main(int argc, char **argv) { // obj 路径 std::vector objs; - // objs.emplace_back(obj_path + "/cube.obj"); - // objs.emplace_back(obj_path + "/cube2.obj"); - // objs.emplace_back(obj_path + "/cube3.obj"); - // objs.emplace_back(obj_path + "/cornell_box.obj"); - // objs.emplace_back(obj_path + "/helmet.obj"); - // objs.emplace_back(obj_path + "/african_head.obj"); objs.emplace_back(obj_path + "/utah-teapot-texture/teapot.obj"); + // add more obj .. if you want // load model std::vector models; for (auto &obj : objs) { @@ -81,23 +79,15 @@ int main(int argc, char **argv) { // Combined transformation matrix matrix = translation_matrix * scale_matrix * rotation_matrix; - // 矩阵运算的顺序 - // 归一化 - // 坐标空间 - - /// @todo 旋转 - // 旋转轴+旋转角度 - // 四元数 - // (0.3, 0.2, 0.1) 90 - // Tran/Scal/rota - // 1. 物体原地旋转 - // 2. 移动到屏幕中央 - // 3. 移动到屏幕左上角 - // 4. 缩放物体 + simple_renderer::Shader shader; + shader.SetUniform("model_matrix", matrix); + shader.SetUniform("view_matrix", simple_renderer::Matrix4f(1.0f)); + shader.SetUniform("projection_matrix", simple_renderer::Matrix4f(1.0f)); + simple_renderer::Light light; + shader.SetUniform("light", light); for (auto &model : models) { - model.transform(matrix); - simple_renderer.render(model); + simple_renderer.render(model, shader); } auto display = Display(kWidth, kHeight); From e338aa4755d102bd92e02827c07272b34c185597 Mon Sep 17 00:00:00 2001 From: ZhuohaoHe Date: Sat, 14 Sep 2024 16:33:35 -0400 Subject: [PATCH 11/18] refactor: update name of functions Signed-off-by: ZhuohaoHe --- src/include/buffer.hpp | 6 ++--- src/include/color.h | 2 +- src/include/face.hpp | 6 ++--- src/include/material.hpp | 4 +-- src/include/model.hpp | 14 +++++------ src/include/rasterizer.hpp | 8 +++--- src/include/shader.hpp | 8 +++--- src/include/vertex.hpp | 13 +++++----- src/material.cpp | 9 +++---- src/model.cpp | 24 +++++++++--------- src/rasterizer.cpp | 50 ++++++++++++++++++-------------------- src/shader.cpp | 22 ++++++++--------- src/simple_renderer.cpp | 18 +++++++------- test/system_test/main.cpp | 4 +-- 14 files changed, 92 insertions(+), 96 deletions(-) diff --git a/src/include/buffer.hpp b/src/include/buffer.hpp index 0ae4528..877cf7a 100644 --- a/src/include/buffer.hpp +++ b/src/include/buffer.hpp @@ -39,7 +39,7 @@ class Buffer { framebuffer_(new uint32_t[size_](), std::default_delete()), matrix_(1.0f) {} - uint32_t* framebuffer() { return framebuffer_.get(); } + uint32_t* GetFramebuffer() { return framebuffer_.get(); } uint32_t& operator[](size_t index) { if (index >= size_) { @@ -48,9 +48,9 @@ class Buffer { return framebuffer_.get()[index]; } - const Matrix4f& matrix() const { return matrix_; } + const Matrix4f& GetMatrix() const { return matrix_; } - void setMatrix(const Matrix4f& matrix) { matrix_ = matrix; } + void SetMatrix(const Matrix4f& matrix) { matrix_ = matrix; } private: size_t width_; diff --git a/src/include/color.h b/src/include/color.h index e7c037c..e09ce3d 100755 --- a/src/include/color.h +++ b/src/include/color.h @@ -138,7 +138,7 @@ class Color { return _os; } - public: // TODO: 为了方便测试,暂时公开 + private: /// 颜色深度 static constexpr const uint8_t kDepth = 4; diff --git a/src/include/face.hpp b/src/include/face.hpp index 56d393c..a30e725 100644 --- a/src/include/face.hpp +++ b/src/include/face.hpp @@ -39,9 +39,9 @@ class Face { // Get functions // 获取函数 - const std::array& indices() const { return indices_; } - const size_t index(size_t index) const { return indices_[index]; } - const Material& material() const { return material_; } + const std::array& GetIndices() const { return indices_; } + const size_t GetIndex(size_t index) const { return indices_[index]; } + const Material& GetMaterial() const { return material_; } private: std::array indices_; diff --git a/src/include/material.hpp b/src/include/material.hpp index cb0763b..129df64 100644 --- a/src/include/material.hpp +++ b/src/include/material.hpp @@ -36,7 +36,7 @@ class Texture { // Load a texture from a file // 从文件加载纹理 - static Texture loadTextureFromFile(const std::string& path); + static Texture LoadTextureFromFile(const std::string& path); // Free the texture data // 释放纹理数据 @@ -44,7 +44,7 @@ class Texture { // get pixel from texture // 从纹理获取像素 - Color getPixel(int x, int y) const; + Color GetPixel(int x, int y) const; // Texture data // 纹理数据 diff --git a/src/include/model.hpp b/src/include/model.hpp index d7c2d69..0804378 100755 --- a/src/include/model.hpp +++ b/src/include/model.hpp @@ -63,9 +63,9 @@ class Model { // Get functions // 获取函数 - const std::vector& vertices() const { return vertices_; }; - const std::vector& faces() const { return faces_; }; - const std::string& modelPath() const { return directory_; }; + const std::vector& GetVertices() const { return vertices_; }; + const std::vector& GetFaces() const { return faces_; }; + const std::string& GetModelPath() const { return directory_; }; private: // Number of vertices per triangle face @@ -85,19 +85,19 @@ class Model { // Load the model from the specified file path // 从指定的文件路径加载模型 - void loadModel(const std::string& path); + void LoadModel(const std::string& path); // Process a node in the model // 处理模型中的一个节点 - void processNode(aiNode* node, const aiScene* scene); + void ProcessNode(aiNode* node, const aiScene* scene); // Process a mesh in the model // 处理模型中的一个网格 - void processMesh(aiMesh* mesh, const aiScene* scene); + void ProcessMesh(aiMesh* mesh, const aiScene* scene); // Process the material of the model // 处理模型的材质 - Material processMaterial(aiMaterial* material); + Material ProcessMaterial(aiMaterial* material); // Texture cache // 纹理缓存 diff --git a/src/include/rasterizer.hpp b/src/include/rasterizer.hpp index e272b51..749aa28 100644 --- a/src/include/rasterizer.hpp +++ b/src/include/rasterizer.hpp @@ -17,17 +17,17 @@ class Rasterizer { Rasterizer(size_t width, size_t height); - std::vector rasterize(const Vertex& v0, const Vertex& v1, + std::vector Rasterize(const Vertex& v0, const Vertex& v1, const Vertex& v2); private: size_t width_, height_; template - T interpolate(const T& v0, const T& v1, const T& v2, + T Interpolate(const T& v0, const T& v1, const T& v2, const Vector3f& barycentric_coord); - Color interpolateColor(const Color& color0, const Color& color1, + Color InterpolateColor(const Color& color0, const Color& color1, const Color& color2, const Vector3f& barycentric_coord); @@ -38,7 +38,7 @@ class Rasterizer { // Calculate the normal vector based on the vertices // 根据顶点计算法向量 - Vector3f calculateNormal(const Vector3f& v0, const Vector3f& v1, + Vector3f CalculateNormal(const Vector3f& v0, const Vector3f& v1, const Vector3f& v2); }; diff --git a/src/include/shader.hpp b/src/include/shader.hpp index 1e030e9..2f5cf1f 100644 --- a/src/include/shader.hpp +++ b/src/include/shader.hpp @@ -25,12 +25,12 @@ class UniformBuffer { } template - T getUniform(const std::string &name) const { + T GetUniform(const std::string &name) const { return std::get(uniforms_.at(name)); } template - bool hasUniform(const std::string &name) const { + bool HasUniform(const std::string &name) const { return uniforms_.find(name) != uniforms_.end(); } @@ -80,10 +80,10 @@ class Shader { // UniformBuffer UniformBuffer uniformbuffer_; - Color sampleTexture(const Texture &texture, const Vector2f &uv) const; + Color SampleTexture(const Texture &texture, const Vector2f &uv) const; }; -uint8_t float_to_uint8_t(float val); +uint8_t FloatToUint8_t(float val); } // namespace simple_renderer diff --git a/src/include/vertex.hpp b/src/include/vertex.hpp index c71c3a2..d050146 100644 --- a/src/include/vertex.hpp +++ b/src/include/vertex.hpp @@ -41,10 +41,10 @@ class Vertex { // Getter functions // 获取函数 - [[nodiscard]] Vector4f position() const { return position_; } - [[nodiscard]] Vector3f normal() const { return normal_; } - [[nodiscard]] Vector2f texCoords() const { return texCoords_; } - [[nodiscard]] Color color() const { return color_; } + [[nodiscard]] Vector4f GetPosition() const { return position_; } + [[nodiscard]] Vector3f GetNormal() const { return normal_; } + [[nodiscard]] Vector2f GetTexCoords() const { return texCoords_; } + [[nodiscard]] Color GetColor() const { return color_; } private: Vector4f position_; // 3D position, 3D顶点坐标 @@ -54,8 +54,9 @@ class Vertex { }; inline Vertex operator*(const Matrix4f& matrix, const Vertex& vertex) { - return Vertex(matrix * vertex.position(), Matrix3f(matrix) * vertex.normal(), - vertex.texCoords(), vertex.color()); + return Vertex(matrix * vertex.GetPosition(), + Matrix3f(matrix) * vertex.GetNormal(), vertex.GetTexCoords(), + vertex.GetColor()); } } // namespace simple_renderer diff --git a/src/material.cpp b/src/material.cpp index a838a2c..b4139b4 100644 --- a/src/material.cpp +++ b/src/material.cpp @@ -3,14 +3,11 @@ #include #define STB_IMAGE_IMPLEMENTATION -#include "stb_image.h" - #include "log_system.h" - - +#include "stb_image.h" namespace simple_renderer { -Texture Texture::loadTextureFromFile(const std::string& path) { +Texture Texture::LoadTextureFromFile(const std::string& path) { Texture texture; int width, height, channels; @@ -35,7 +32,7 @@ void Texture::free() { } } -Color Texture::getPixel(int x, int y) const { +Color Texture::GetPixel(int x, int y) const { if (!data) { SPDLOG_ERROR("Texture data is nullptr"); throw std::invalid_argument("Texture data is nullptr"); diff --git a/src/model.cpp b/src/model.cpp index 1de210b..86d93ce 100755 --- a/src/model.cpp +++ b/src/model.cpp @@ -29,11 +29,11 @@ namespace simple_renderer { // Constructor that loads a model from a file path // 构造函数从文件路径加载模型 -Model::Model(const std::string& model_path) { loadModel(model_path); } +Model::Model(const std::string& model_path) { LoadModel(model_path); } // Load the model using Assimp and process its nodes and meshes // 使用 Assimp 加载模型并处理其节点和网格 -void Model::loadModel(const std::string& path) { +void Model::LoadModel(const std::string& path) { Assimp::Importer importer; const aiScene* scene = importer.ReadFile(path, aiProcess_Triangulate | aiProcess_FlipUVs); @@ -52,7 +52,7 @@ void Model::loadModel(const std::string& path) { // Process the root node recursively // 递归处理根节点 - processNode(scene->mRootNode, scene); + ProcessNode(scene->mRootNode, scene); SPDLOG_INFO( "Loaded model path: {}, with vertices: {}, triangles: {}, " @@ -63,24 +63,24 @@ void Model::loadModel(const std::string& path) { // Recursively process nodes in the model // 递归处理模型中的节点 -void Model::processNode(aiNode* node, const aiScene* scene) { +void Model::ProcessNode(aiNode* node, const aiScene* scene) { // Process each mesh in the node // 处理节点中的每个网格 for (unsigned int i = 0; i < node->mNumMeshes; i++) { aiMesh* mesh = scene->mMeshes[node->mMeshes[i]]; - processMesh(mesh, scene); + ProcessMesh(mesh, scene); } // Recursively process each child node // 递归处理每个子节点 for (unsigned int i = 0; i < node->mNumChildren; i++) { - processNode(node->mChildren[i], scene); + ProcessNode(node->mChildren[i], scene); } } // Process a single mesh and extract vertices, normals, and faces // 处理单个网格并提取顶点、法线和面 -void Model::processMesh(aiMesh* mesh, const aiScene* scene) { +void Model::ProcessMesh(aiMesh* mesh, const aiScene* scene) { // Process vertices // 处理顶点 for (unsigned int i = 0; i < mesh->mNumVertices; ++i) { @@ -114,7 +114,7 @@ void Model::processMesh(aiMesh* mesh, const aiScene* scene) { // Process the material associated with this mesh // 处理与此网格关联的材质 Material material = - processMaterial(scene->mMaterials[mesh->mMaterialIndex]); + ProcessMaterial(scene->mMaterials[mesh->mMaterialIndex]); // Create a Face object and store it // 创建一个 Face 对象并存储它 @@ -126,7 +126,7 @@ void Model::processMesh(aiMesh* mesh, const aiScene* scene) { // Extract material properties from the Assimp material structure // 从 Assimp 材质结构中提取材质属性 -Material Model::processMaterial(aiMaterial* mat) { +Material Model::ProcessMaterial(aiMaterial* mat) { Material material; aiColor3D ambient(0.0f, 0.0f, 0.0f); @@ -162,7 +162,7 @@ Material Model::processMaterial(aiMaterial* mat) { } else { // first time loading // 第一次加载纹理 - material.ambient_texture = Texture::loadTextureFromFile(fullpath); + material.ambient_texture = Texture::LoadTextureFromFile(fullpath); texture_cache_[fullpath] = material.ambient_texture; } material.has_ambient_texture = true; @@ -179,7 +179,7 @@ Material Model::processMaterial(aiMaterial* mat) { } else { // first time loading // 第一次加载纹理 - material.diffuse_texture = Texture::loadTextureFromFile(fullpath); + material.diffuse_texture = Texture::LoadTextureFromFile(fullpath); texture_cache_[fullpath] = material.diffuse_texture; } material.has_diffuse_texture = true; @@ -196,7 +196,7 @@ Material Model::processMaterial(aiMaterial* mat) { } else { // first time loading // 第一次加载纹理 - material.specular_texture = Texture::loadTextureFromFile(fullpath); + material.specular_texture = Texture::LoadTextureFromFile(fullpath); texture_cache_[fullpath] = material.specular_texture; } material.has_specular_texture = true; diff --git a/src/rasterizer.cpp b/src/rasterizer.cpp index 6d50079..8bf2d34 100644 --- a/src/rasterizer.cpp +++ b/src/rasterizer.cpp @@ -9,14 +9,14 @@ Rasterizer::Rasterizer(size_t width, size_t height) SPDLOG_INFO("Rasterizer init with {}, {}", width, height); } -std::vector Rasterizer::rasterize(const Vertex& v0, const Vertex& v1, +std::vector Rasterizer::Rasterize(const Vertex& v0, const Vertex& v1, const Vertex& v2) { std::vector fragments; // 获取三角形的最小 box - Vector2f a = Vector2f(v0.position().x, v0.position().y); - Vector2f b = Vector2f(v1.position().x, v1.position().y); - Vector2f c = Vector2f(v2.position().x, v2.position().y); + Vector2f a = Vector2f(v0.GetPosition().x, v0.GetPosition().y); + Vector2f b = Vector2f(v1.GetPosition().x, v1.GetPosition().y); + Vector2f c = Vector2f(v2.GetPosition().x, v2.GetPosition().y); Vector2f bboxMin = Vector2f{std::min({a.x, b.x, c.x}), std::min({a.y, b.y, c.y})}; @@ -40,24 +40,24 @@ std::vector Rasterizer::rasterize(const Vertex& v0, const Vertex& v1, for (auto x = int32_t(bboxMin.x); x <= int32_t(bboxMax.x); x++) { for (auto y = int32_t(bboxMin.y); y <= int32_t(bboxMax.y); y++) { auto [is_inside, barycentric_coord] = GetBarycentricCoord( - v0.position(), v1.position(), v2.position(), + v0.GetPosition(), v1.GetPosition(), v2.GetPosition(), Vector3f(static_cast(x), static_cast(y), 0)); // 如果点在三角形内再进行下一步 if (!is_inside) { continue; } // 计算该点的深度,通过重心坐标插值计算 - auto z = interpolate(v0.position().z, v1.position().z, v2.position().z, - barycentric_coord); + auto z = Interpolate(v0.GetPosition().z, v1.GetPosition().z, + v2.GetPosition().z, barycentric_coord); Fragment fragment; fragment.screen_coord = {x, y}; - fragment.normal = - calculateNormal(v0.position(), v1.position(), v2.position()); - fragment.uv = interpolate(v0.texCoords(), v1.texCoords(), - v2.texCoords(), barycentric_coord); - fragment.color = interpolateColor(v0.color(), v1.color(), v2.color(), - barycentric_coord); + fragment.normal = CalculateNormal(v0.GetPosition(), v1.GetPosition(), + v2.GetPosition()); + fragment.uv = Interpolate(v0.GetTexCoords(), v1.GetTexCoords(), + v2.GetTexCoords(), barycentric_coord); + fragment.color = InterpolateColor(v0.GetColor(), v1.GetColor(), + v2.GetColor(), barycentric_coord); fragment.depth = z; local_fragments.push_back(fragment); @@ -100,29 +100,27 @@ std::pair Rasterizer::GetBarycentricCoord(const Vector3f& p0, } template -T Rasterizer::interpolate(const T& v0, const T& v1, const T& v2, +T Rasterizer::Interpolate(const T& v0, const T& v1, const T& v2, const Vector3f& barycentric_coord) { return v0 * barycentric_coord.x + v1 * barycentric_coord.y + v2 * barycentric_coord.z; } -// TODO: refactor this function by updating the Color class's + and * -// operator -Color Rasterizer::interpolateColor(const Color& color0, const Color& color1, +Color Rasterizer::InterpolateColor(const Color& color0, const Color& color1, const Color& color2, const Vector3f& barycentric_coord) { - auto color_r = float_to_uint8_t( + auto color_r = FloatToUint8_t( static_cast(color0[Color::kColorIndexRed]) * barycentric_coord.x + static_cast(color1[Color::kColorIndexRed]) * barycentric_coord.y + static_cast(color2[Color::kColorIndexRed]) * barycentric_coord.z); auto color_g = - float_to_uint8_t(static_cast(color0[Color::kColorIndexGreen]) * - barycentric_coord.x + - static_cast(color1[Color::kColorIndexGreen]) * - barycentric_coord.y + - static_cast(color2[Color::kColorIndexGreen]) * - barycentric_coord.z); - auto color_b = float_to_uint8_t( + FloatToUint8_t(static_cast(color0[Color::kColorIndexGreen]) * + barycentric_coord.x + + static_cast(color1[Color::kColorIndexGreen]) * + barycentric_coord.y + + static_cast(color2[Color::kColorIndexGreen]) * + barycentric_coord.z); + auto color_b = FloatToUint8_t( static_cast(color0[Color::kColorIndexBlue]) * barycentric_coord.x + static_cast(color1[Color::kColorIndexBlue]) * barycentric_coord.y + static_cast(color2[Color::kColorIndexBlue]) * barycentric_coord.z); @@ -131,7 +129,7 @@ Color Rasterizer::interpolateColor(const Color& color0, const Color& color1, // Calculate the normal vector based on the vertices // 根据顶点计算法向量 -Vector3f Rasterizer::calculateNormal(const Vector3f& v0, const Vector3f& v1, +Vector3f Rasterizer::CalculateNormal(const Vector3f& v0, const Vector3f& v1, const Vector3f& v2) { Vector3f edge1 = v1 - v0; Vector3f edge2 = v2 - v0; diff --git a/src/shader.cpp b/src/shader.cpp index 03becb4..013a17d 100644 --- a/src/shader.cpp +++ b/src/shader.cpp @@ -3,10 +3,10 @@ namespace simple_renderer { Vertex Shader::VertexShader(const Vertex& vertex) const { - Matrix4f model_matrix = uniformbuffer_.getUniform("model_matrix"); - Matrix4f view_matrix = uniformbuffer_.getUniform("view_matrix"); + Matrix4f model_matrix = uniformbuffer_.GetUniform("model_matrix"); + Matrix4f view_matrix = uniformbuffer_.GetUniform("view_matrix"); Matrix4f projection_matrix = - uniformbuffer_.getUniform("projection_matrix"); + uniformbuffer_.GetUniform("projection_matrix"); Matrix4f mvp_matrix = projection_matrix * view_matrix * model_matrix; // auto normal_matrix = model_matrix.inverse().transpose(); @@ -21,22 +21,22 @@ Color Shader::FragmentShader(const Fragment& fragment) const { Vector2f uv = fragment.uv; // uniform - Light light = uniformbuffer_.getUniform("light"); - Material material = uniformbuffer_.getUniform("material"); + Light light = uniformbuffer_.GetUniform("light"); + Material material = uniformbuffer_.GetUniform("material"); // 只绘制正面,背面intensity为负 = 0 auto intensity = std::max(glm::dot(normal, light.dir), 0.0f); // texture color Color ambient_color, diffuse_color; if (material.has_ambient_texture) { - Color texture_color = sampleTexture(material.ambient_texture, uv); + Color texture_color = SampleTexture(material.ambient_texture, uv); ambient_color = texture_color * intensity; } else { ambient_color = interpolateColor * intensity; } if (material.has_diffuse_texture) { - Color texture_color = sampleTexture(material.diffuse_texture, uv); + Color texture_color = SampleTexture(material.diffuse_texture, uv); diffuse_color = texture_color * intensity; } else { diffuse_color = interpolateColor * intensity; @@ -46,14 +46,14 @@ Color Shader::FragmentShader(const Fragment& fragment) const { // 将浮点数转换为 uint8_t // 对浮点数进行四舍五入 -uint8_t float_to_uint8_t(float val) { +uint8_t FloatToUint8_t(float val) { float adjusted_val = val > 0.0f ? val + 0.5f : val - 0.5f; return static_cast(adjusted_val); } -// sampleTexture +// SampleTexture // 纹理采样 -Color Shader::sampleTexture(const Texture& texture, const Vector2f& uv) const { +Color Shader::SampleTexture(const Texture& texture, const Vector2f& uv) const { // wrap u,v to [0. 1] // 将 u, v 包装到 [0. 1] auto u = uv.x - std::floor(uv.x); @@ -71,7 +71,7 @@ Color Shader::sampleTexture(const Texture& texture, const Vector2f& uv) const { // Get pixel color // 获取像素颜色 - return texture.getPixel(x, y); + return texture.GetPixel(x, y); } } // namespace simple_renderer \ No newline at end of file diff --git a/src/simple_renderer.cpp b/src/simple_renderer.cpp index 7dd3460..128e0c8 100755 --- a/src/simple_renderer.cpp +++ b/src/simple_renderer.cpp @@ -48,14 +48,14 @@ SimpleRenderer::SimpleRenderer(size_t width, size_t height, uint32_t *buffer, } bool SimpleRenderer::render(const Model &model, const Shader &shader) { - SPDLOG_INFO("render model: {}", model.modelPath()); + SPDLOG_INFO("render model: {}", model.GetModelPath()); shader_ = std::make_shared(shader); DrawModel(model); return true; } void SimpleRenderer::DrawModel(const Model &model) { - SPDLOG_INFO("draw {}", model.modelPath()); + SPDLOG_INFO("draw {}", model.GetModelPath()); std::vector processedVertex; std::vector> processed_vertices_per_thread(kNProc); @@ -67,7 +67,7 @@ void SimpleRenderer::DrawModel(const Model &model) { processed_vertices_per_thread[thread_id]; #pragma omp for - for (const auto &v : model.vertices()) { + for (const auto &v : model.GetVertices()) { /* * * Vertex Shader * * */ auto vertex = shader_->VertexShader(v); local_vertices.push_back(vertex); @@ -79,14 +79,14 @@ void SimpleRenderer::DrawModel(const Model &model) { local_vertices.end()); } - for (const auto &f : model.faces()) { - auto v0 = processedVertex[f.index(0)]; - auto v1 = processedVertex[f.index(1)]; - auto v2 = processedVertex[f.index(2)]; + for (const auto &f : model.GetFaces()) { + auto v0 = processedVertex[f.GetIndex(0)]; + auto v1 = processedVertex[f.GetIndex(1)]; + auto v2 = processedVertex[f.GetIndex(2)]; /* * * Rasterization * * */ - auto fragments = rasterizer_->rasterize(v0, v1, v2); + auto fragments = rasterizer_->Rasterize(v0, v1, v2); // material - shader_->SetUniform("material", f.material()); + shader_->SetUniform("material", f.GetMaterial()); for (const auto &fragment : fragments) { size_t x = fragment.screen_coord[0]; size_t y = fragment.screen_coord[1]; diff --git a/test/system_test/main.cpp b/test/system_test/main.cpp index 049065a..cff1a2f 100755 --- a/test/system_test/main.cpp +++ b/test/system_test/main.cpp @@ -50,7 +50,7 @@ int main(int argc, char **argv) { simple_renderer::Buffer buffer(kWidth, kHeight); auto simple_renderer = simple_renderer::SimpleRenderer( - kWidth, kHeight, buffer.framebuffer(), pixel); + kWidth, kHeight, buffer.GetFramebuffer(), pixel); // obj 路径 std::vector objs; @@ -95,7 +95,7 @@ int main(int argc, char **argv) { while (!display.loopShouldClose()) { display.handleEvents(); - display.fill(buffer.framebuffer()); + display.fill(buffer.GetFramebuffer()); } return 0; From 8eb6d1dbac1f1a1b457c1d555ddb10170890fc04 Mon Sep 17 00:00:00 2001 From: ZhuohaoHe Date: Sat, 14 Sep 2024 19:37:13 -0400 Subject: [PATCH 12/18] add specular texture Signed-off-by: ZhuohaoHe --- src/color.cpp | 1 + src/include/{simple_renderer.h => renderer.h} | 4 +- src/include/shader.hpp | 15 ++++- src/{simple_renderer.cpp => renderer.cpp} | 2 +- src/shader.cpp | 56 +++++++++++++++---- test/system_test/main.cpp | 13 +++-- 6 files changed, 72 insertions(+), 19 deletions(-) rename src/include/{simple_renderer.h => renderer.h} (95%) rename src/{simple_renderer.cpp => renderer.cpp} (99%) diff --git a/src/color.cpp b/src/color.cpp index 37c5059..2fdc63c 100755 --- a/src/color.cpp +++ b/src/color.cpp @@ -16,6 +16,7 @@ #include "color.h" +#include #include #include diff --git a/src/include/simple_renderer.h b/src/include/renderer.h similarity index 95% rename from src/include/simple_renderer.h rename to src/include/renderer.h index 272312a..7f5583e 100755 --- a/src/include/simple_renderer.h +++ b/src/include/renderer.h @@ -14,8 +14,8 @@ * */ -#ifndef SIMPLERENDER_SRC_INCLUDE_SIMPLE_RENDER_H_ -#define SIMPLERENDER_SRC_INCLUDE_SIMPLE_RENDER_H_ +#ifndef SIMPLERENDER_SRC_INCLUDE_RENDERER_H_ +#define SIMPLERENDER_SRC_INCLUDE_RENDERER_H_ #include #include diff --git a/src/include/shader.hpp b/src/include/shader.hpp index 2f5cf1f..0a6825a 100644 --- a/src/include/shader.hpp +++ b/src/include/shader.hpp @@ -52,6 +52,14 @@ struct Fragment { float depth; }; +/** + * @brief Shared Variables 共享变量 + * + */ +struct SharedDataInShader { + Vector3f fragPos_varying = Vector3f(0.0f); +}; + /** * @brief Shader Class 着色器类 * @@ -66,7 +74,7 @@ class Shader { virtual ~Shader() = default; // Input Data -> Vertex Shader -> Screen Space Coordiante - Vertex VertexShader(const Vertex &vertex) const; + Vertex VertexShader(const Vertex &vertex); // Input Data -> Fragment Shader -> Color Color FragmentShader(const Fragment &fragment) const; @@ -80,7 +88,12 @@ class Shader { // UniformBuffer UniformBuffer uniformbuffer_; + // Shared Variables + // 共享变量 + SharedDataInShader sharedDataInShader_; + Color SampleTexture(const Texture &texture, const Vector2f &uv) const; + Color ClampColor(const Color color) const; }; uint8_t FloatToUint8_t(float val); diff --git a/src/simple_renderer.cpp b/src/renderer.cpp similarity index 99% rename from src/simple_renderer.cpp rename to src/renderer.cpp index 128e0c8..c9df35c 100755 --- a/src/simple_renderer.cpp +++ b/src/renderer.cpp @@ -14,7 +14,7 @@ * */ -#include "simple_renderer.h" +#include "renderer.h" #include diff --git a/src/shader.cpp b/src/shader.cpp index 013a17d..41e19f2 100644 --- a/src/shader.cpp +++ b/src/shader.cpp @@ -2,37 +2,45 @@ namespace simple_renderer { -Vertex Shader::VertexShader(const Vertex& vertex) const { - Matrix4f model_matrix = uniformbuffer_.GetUniform("model_matrix"); - Matrix4f view_matrix = uniformbuffer_.GetUniform("view_matrix"); +Vertex Shader::VertexShader(const Vertex& vertex) { + Matrix4f model_matrix = uniformbuffer_.GetUniform("modelMatrix"); + Matrix4f view_matrix = uniformbuffer_.GetUniform("viewMatrix"); Matrix4f projection_matrix = - uniformbuffer_.GetUniform("projection_matrix"); + uniformbuffer_.GetUniform("projectionMatrix"); Matrix4f mvp_matrix = projection_matrix * view_matrix * model_matrix; // auto normal_matrix = model_matrix.inverse().transpose(); + sharedDataInShader_.fragPos_varying = + Vector3f(model_matrix * vertex.GetPosition()); + return mvp_matrix * vertex; } Color Shader::FragmentShader(const Fragment& fragment) const { // interpolate Normal, Color and UV Color interpolateColor = fragment.color; - Vector3f normal = fragment.normal; + Vector3f normal = glm::normalize(fragment.normal); Vector2f uv = fragment.uv; // uniform Light light = uniformbuffer_.GetUniform("light"); Material material = uniformbuffer_.GetUniform("material"); - // 只绘制正面,背面intensity为负 = 0 - auto intensity = std::max(glm::dot(normal, light.dir), 0.0f); + // view direction + Vector3f view_dir = + glm::normalize(sharedDataInShader_.fragPos_varying - + uniformbuffer_.GetUniform("cameraPos")); + Vector3f light_dir = glm::normalize(light.dir); + + auto intensity = std::max(glm::dot(normal, light_dir), 0.0f); // texture color - Color ambient_color, diffuse_color; + Color ambient_color, diffuse_color, specular_color; if (material.has_ambient_texture) { Color texture_color = SampleTexture(material.ambient_texture, uv); - ambient_color = texture_color * intensity; + ambient_color = texture_color; } else { - ambient_color = interpolateColor * intensity; + ambient_color = interpolateColor; } if (material.has_diffuse_texture) { @@ -41,7 +49,19 @@ Color Shader::FragmentShader(const Fragment& fragment) const { } else { diffuse_color = interpolateColor * intensity; } - return ambient_color * 0.1f + diffuse_color; + + Vector3f halfVector = glm::normalize(light_dir + view_dir); + float spec = std::pow(std::max(glm::dot(normal, halfVector), 0.0f), + material.shininess); + if (material.has_specular_texture) { + Color texture_color = SampleTexture(material.specular_texture, uv); + specular_color = texture_color * spec; + } else { + specular_color = Color(1.0f, 1.0f, 1.0f) * spec; + } + + return ClampColor(ambient_color * 0.1f + diffuse_color + + specular_color * 0.2f); } // 将浮点数转换为 uint8_t @@ -74,4 +94,18 @@ Color Shader::SampleTexture(const Texture& texture, const Vector2f& uv) const { return texture.GetPixel(x, y); } +Color Shader::ClampColor(const Color color) const { + uint8_t red = + color[Color::kColorIndexRed] > 255 ? 255 : color[Color::kColorIndexRed]; + uint8_t green = color[Color::kColorIndexGreen] > 255 + ? 255 + : color[Color::kColorIndexGreen]; + uint8_t blue = + color[Color::kColorIndexBlue] > 255 ? 255 : color[Color::kColorIndexBlue]; + uint8_t alpha = color[Color::kColorIndexAlpha] > 255 + ? 255 + : color[Color::kColorIndexAlpha]; + return Color(red, green, blue, alpha); +} + } // namespace simple_renderer \ No newline at end of file diff --git a/test/system_test/main.cpp b/test/system_test/main.cpp index cff1a2f..8d4ed71 100755 --- a/test/system_test/main.cpp +++ b/test/system_test/main.cpp @@ -14,7 +14,7 @@ * */ -#include +#include #include #include @@ -80,17 +80,22 @@ int main(int argc, char **argv) { matrix = translation_matrix * scale_matrix * rotation_matrix; simple_renderer::Shader shader; - shader.SetUniform("model_matrix", matrix); - shader.SetUniform("view_matrix", simple_renderer::Matrix4f(1.0f)); - shader.SetUniform("projection_matrix", simple_renderer::Matrix4f(1.0f)); + shader.SetUniform("modelMatrix", matrix); + shader.SetUniform("viewMatrix", simple_renderer::Matrix4f(1.0f)); + shader.SetUniform("projectionMatrix", simple_renderer::Matrix4f(1.0f)); simple_renderer::Light light; + light.dir = simple_renderer::Vector3f(1.0f, 1.0f, -1.0f); shader.SetUniform("light", light); + // TODO: add complete camera system + shader.SetUniform("cameraPos", simple_renderer::Vector3f(0.0f, 0.0f, 0.0f)); + for (auto &model : models) { simple_renderer.render(model, shader); } auto display = Display(kWidth, kHeight); + // TODO: support real-time keyboard event display.loopBegin(); while (!display.loopShouldClose()) { display.handleEvents(); From b2155a5771e64910e476fd4bfd630c27c7ecf575 Mon Sep 17 00:00:00 2001 From: ZhuohaoHe Date: Sat, 14 Sep 2024 20:20:40 -0400 Subject: [PATCH 13/18] update including header Signed-off-by: ZhuohaoHe --- src/include/shader.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/include/shader.hpp b/src/include/shader.hpp index 0a6825a..73c9ed3 100644 --- a/src/include/shader.hpp +++ b/src/include/shader.hpp @@ -1,6 +1,8 @@ #ifndef SIMPLERENDER_SRC_INCLUDE_SHADER_HPP_ #define SIMPLERENDER_SRC_INCLUDE_SHADER_HPP_ +#include + #include "light.h" #include "material.hpp" #include "vertex.hpp" From 892a97c62cbf8dbfa2dc0f4aa438a94758e34d61 Mon Sep 17 00:00:00 2001 From: ZhuohaoHe Date: Mon, 16 Sep 2024 11:29:33 -0400 Subject: [PATCH 14/18] update camera system & implement swap buffer and real-time display Signed-off-by: ZhuohaoHe --- src/include/buffer.hpp | 39 ++++++++++++----- src/include/renderer.h | 14 +++---- src/renderer.cpp | 31 +++++++++----- test/system_test/camera.h | 81 +++++++++++++++++++++++++----------- test/system_test/display.cpp | 15 +++---- test/system_test/display.h | 10 ++--- test/system_test/main.cpp | 55 ++++++++++++------------ 7 files changed, 148 insertions(+), 97 deletions(-) diff --git a/src/include/buffer.hpp b/src/include/buffer.hpp index 877cf7a..bf21ad7 100644 --- a/src/include/buffer.hpp +++ b/src/include/buffer.hpp @@ -1,6 +1,7 @@ #ifndef SIMPLERENDER_SRC_INCLUDE_BUFFER_HPP_ #define SIMPLERENDER_SRC_INCLUDE_BUFFER_HPP_ +#include #include #include "math.hpp" @@ -35,29 +36,45 @@ class Buffer { Buffer(size_t width, size_t height) : width_(width), height_(height), - size_(width * height), - framebuffer_(new uint32_t[size_](), std::default_delete()), - matrix_(1.0f) {} + size_(width_ * height_), + framebuffer_1_(new uint32_t[size_](), + std::default_delete()), + framebuffer_2_(new uint32_t[size_](), + std::default_delete()) { + ClearBuffer(framebuffer_1_.get()); + ClearBuffer(framebuffer_2_.get()); + drawBuffer_ = framebuffer_1_.get(); + displayBuffer_ = framebuffer_2_.get(); + } + + void ClearDrawBuffer(Color color) { ClearBuffer(drawBuffer_, color); } - uint32_t* GetFramebuffer() { return framebuffer_.get(); } + void SwapBuffer() { std::swap(drawBuffer_, displayBuffer_); } + + uint32_t* GetDisplayBuffer() { return displayBuffer_; } + uint32_t* GetDrawBuffer() { return drawBuffer_; } uint32_t& operator[](size_t index) { if (index >= size_) { throw std::out_of_range("Index out of range"); } - return framebuffer_.get()[index]; + return drawBuffer_[index]; } - const Matrix4f& GetMatrix() const { return matrix_; } - - void SetMatrix(const Matrix4f& matrix) { matrix_ = matrix; } - private: size_t width_; size_t height_; size_t size_; - std::shared_ptr framebuffer_; - Matrix4f matrix_; + std::unique_ptr framebuffer_1_; + std::unique_ptr framebuffer_2_; + uint32_t* drawBuffer_; + uint32_t* displayBuffer_; + + void ClearBuffer(uint32_t* buffer, Color color) { + std::fill(buffer, buffer + size_, uint32_t(color)); + } + + void ClearBuffer(uint32_t* buffer) { std::fill(buffer, buffer + size_, 0); } }; } // namespace simple_renderer diff --git a/src/include/renderer.h b/src/include/renderer.h index 7f5583e..d4c865d 100755 --- a/src/include/renderer.h +++ b/src/include/renderer.h @@ -33,9 +33,6 @@ namespace simple_renderer { class SimpleRenderer { public: - typedef std::function - DrawPixelFunc; - /** * 构造函数 * @param width @@ -43,8 +40,7 @@ class SimpleRenderer { * @param buffer 要进行绘制的内存区域,大小为 width*height*sizeof(uint32_t) * @param */ - SimpleRenderer(size_t width, size_t height, uint32_t *buffer, - DrawPixelFunc draw_pixel_func); + SimpleRenderer(size_t width, size_t height); /// @name 默认构造/析构函数 /// @{ @@ -57,14 +53,12 @@ class SimpleRenderer { virtual ~SimpleRenderer() = default; /// @} - bool render(const Model &model, const Shader &shader); + bool Render(const Model &model, const Shader &shader, uint32_t *buffer); private: const size_t height_; const size_t width_; - uint32_t *buffer_; std::shared_ptr depth_buffer_; - DrawPixelFunc draw_pixel_func_; LogSystem log_system_; std::shared_ptr shader_; @@ -74,7 +68,9 @@ class SimpleRenderer { * 绘制模型 * @param model 模型 */ - void DrawModel(const Model &model); + void DrawModel(const Model &model, uint32_t *buffer); + + void ClearDepthBuffer(); }; } // namespace simple_renderer diff --git a/src/renderer.cpp b/src/renderer.cpp index c9df35c..b24175b 100755 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -32,29 +32,31 @@ namespace simple_renderer { -SimpleRenderer::SimpleRenderer(size_t width, size_t height, uint32_t *buffer, - DrawPixelFunc draw_pixel_func) +SimpleRenderer::SimpleRenderer(size_t width, size_t height) : height_(height), width_(width), - buffer_(buffer), - draw_pixel_func_(draw_pixel_func), log_system_(LogSystem(kLogFilePath, kLogFileMaxSize, kLogFileMaxCount)) { rasterizer_ = std::make_shared(width, height); // init depth buffer depth_buffer_ = std::shared_ptr(new float[width * height], std::default_delete()); - std::fill(depth_buffer_.get(), depth_buffer_.get() + width * height, - std::numeric_limits::infinity()); } -bool SimpleRenderer::render(const Model &model, const Shader &shader) { +bool SimpleRenderer::Render(const Model &model, const Shader &shader, + uint32_t *buffer) { SPDLOG_INFO("render model: {}", model.GetModelPath()); + ClearDepthBuffer(); shader_ = std::make_shared(shader); - DrawModel(model); + DrawModel(model, buffer); return true; } -void SimpleRenderer::DrawModel(const Model &model) { +void SimpleRenderer::ClearDepthBuffer() { + std::fill(depth_buffer_.get(), depth_buffer_.get() + width_ * height_, + std::numeric_limits::infinity()); +} + +void SimpleRenderer::DrawModel(const Model &model, uint32_t *buffer) { SPDLOG_INFO("draw {}", model.GetModelPath()); std::vector processedVertex; @@ -83,19 +85,26 @@ void SimpleRenderer::DrawModel(const Model &model) { auto v0 = processedVertex[f.GetIndex(0)]; auto v1 = processedVertex[f.GetIndex(1)]; auto v2 = processedVertex[f.GetIndex(2)]; + /* * * Rasterization * * */ auto fragments = rasterizer_->Rasterize(v0, v1, v2); - // material + shader_->SetUniform("material", f.GetMaterial()); + for (const auto &fragment : fragments) { size_t x = fragment.screen_coord[0]; size_t y = fragment.screen_coord[1]; + + if (x >= width_ || y >= height_) { + continue; + } + if (fragment.depth < depth_buffer_[x + y * width_]) { depth_buffer_[x + y * width_] = fragment.depth; /* * * Fragment Shader * * */ auto color = shader_->FragmentShader(fragment); - draw_pixel_func_(x, y, color, buffer_); + buffer[x + y * width_] = static_cast(color); } } } diff --git a/test/system_test/camera.h b/test/system_test/camera.h index d64693d..e5aa89f 100644 --- a/test/system_test/camera.h +++ b/test/system_test/camera.h @@ -25,33 +25,66 @@ namespace simple_renderer { -/** - * camera 抽象 - */ +#pragma once + +#include +#include +#include + class Camera { public: - /// 光照名称 - std::string name_ = "default light name"; - /// 位置 - Vector3f pos_; - /// 方向 - Vector3f dir_; - - /** - * 构造函数 - * @param _name camera 名称 - */ - explicit Camera(const std::string &_name); - - /// @name 默认构造/析构函数 - /// @{ - Camera() = default; - Camera(const Camera &light) = default; - Camera(Camera &&light) = default; - auto operator=(const Camera &light) -> Camera & = default; - auto operator=(Camera &&light) -> Camera & = default; + Camera(Vector3f position) + : position_(position), front_(0.0f, 0.0f, -1.0f), up_(0.0f, 1.0f, 0.0f) {} + + Camera(const Camera& camera) = default; + Camera(Camera&& camera) = default; + auto operator=(const Camera& camera) -> Camera& = default; + auto operator=(Camera&& camera) -> Camera& = default; ~Camera() = default; - /// @} + + // Getters and Setters + void SetPosition(const glm::vec3& pos) { position_ = pos; } + void SetFront(const glm::vec3& frontVec) { + front_ = glm::normalize(frontVec); + } + void SetUp(const glm::vec3& upVec) { up_ = glm::normalize(upVec); } + + glm::vec3 GetPosition() const { return position_; } + glm::vec3 GetFront() const { return front_; } + glm::vec3 GetUp() const { return up_; } + + // Methods to get view and projection matrices + glm::mat4 GetViewMatrix() const { + return glm::lookAt(position_, position_ + front_, up_); + } + + glm::mat4 GetProjectionMatrix(float fov, float aspectRatio, float nearPlane, + float farPlane) const { + return glm::perspective(glm::radians(fov), aspectRatio, nearPlane, + farPlane); + } + + // Additional methods for camera movement (optional) + void MoveForward(float distance) { position_ += front_ * distance; } + + void MoveRight(float distance) { + position_ += glm::normalize(glm::cross(front_, up_)) * distance; + } + + void MoveUp(float distance) { position_ += up_ * distance; } + + void Rotate(float yaw, float pitch) { + glm::vec3 newFront; + newFront.x = cos(glm::radians(yaw)) * cos(glm::radians(pitch)); + newFront.y = sin(glm::radians(pitch)); + newFront.z = sin(glm::radians(yaw)) * cos(glm::radians(pitch)); + front_ = glm::normalize(newFront); + } + + private: + Vector3f position_; + Vector3f front_; + Vector3f up_; }; } // namespace simple_renderer diff --git a/test/system_test/display.cpp b/test/system_test/display.cpp index 777ef41..d2a9b12 100644 --- a/test/system_test/display.cpp +++ b/test/system_test/display.cpp @@ -92,30 +92,31 @@ void Display::loopBegin() { is_exit_ = false; } bool Display::loopShouldClose() { return is_exit_; } -void Display::handleKeyboardEvent(SDL_Event& event) { +void Display::handleKeyboardEvent(SDL_Event& event, + simple_renderer::Camera& camera) { switch (event.key.keysym.sym) { case SDLK_ESCAPE: case SDLK_q: is_exit_ = true; break; case SDLK_UP: - std::cout << "UP" << std::endl; + camera.MoveUp(1.0f); break; case SDLK_DOWN: - std::cout << "DOWN" << std::endl; + camera.MoveUp(-1.0f); break; case SDLK_LEFT: - std::cout << "LEFT" << std::endl; + camera.MoveRight(-1.0f); break; case SDLK_RIGHT: - std::cout << "RIGHT" << std::endl; + camera.MoveRight(1.0f); break; default: break; } } -void Display::handleEvents() { +void Display::handleEvents(simple_renderer::Camera& camera) { SDL_Event event = SDL_Event(); while (SDL_PollEvent(&event) != 0) { switch (event.type) { @@ -123,7 +124,7 @@ void Display::handleEvents() { is_exit_ = true; break; case SDL_KEYDOWN: - handleKeyboardEvent(event); + handleKeyboardEvent(event, camera); break; } } diff --git a/test/system_test/display.h b/test/system_test/display.h index f167540..64160c5 100644 --- a/test/system_test/display.h +++ b/test/system_test/display.h @@ -24,6 +24,7 @@ #include #include "buffer.hpp" +#include "camera.h" /** * 显示抽象 @@ -57,17 +58,12 @@ class Display { */ void fill(const uint32_t *buffer); - /** - * 运行 - */ - void run(); - /** * 显示循环 */ void loopBegin(); - void handleKeyboardEvent(SDL_Event &event); - void handleEvents(); + void handleKeyboardEvent(SDL_Event &event, simple_renderer::Camera &camera); + void handleEvents(simple_renderer::Camera &camera); bool loopShouldClose(); private: diff --git a/test/system_test/main.cpp b/test/system_test/main.cpp index 8d4ed71..f75b29c 100755 --- a/test/system_test/main.cpp +++ b/test/system_test/main.cpp @@ -23,6 +23,7 @@ #include #include "buffer.hpp" +#include "camera.h" #include "display.h" /// @name 默认大小 @@ -31,10 +32,6 @@ static constexpr const size_t kWidth = 800; static constexpr const size_t kHeight = 600; /// @} -static void pixel(size_t x, size_t y, uint32_t color, uint32_t *buffer) { - buffer[x + y * kWidth] = color; -} - /// usage: /// ./bin/system_test ../obj int main(int argc, char **argv) { @@ -43,14 +40,10 @@ int main(int argc, char **argv) { printf("argv[%d]: %s\n", i, argv[i]); } auto obj_path = std::string(argv[1]); - // auto obj_path = std::string( - // "/Users/hezhohao/Programming/GitRepo/SimpleRenderer/obj"); // just for - // debuging simple_renderer::Buffer buffer(kWidth, kHeight); - auto simple_renderer = simple_renderer::SimpleRenderer( - kWidth, kHeight, buffer.GetFramebuffer(), pixel); + auto simple_renderer = simple_renderer::SimpleRenderer(kWidth, kHeight); // obj 路径 std::vector objs; @@ -62,45 +55,51 @@ int main(int argc, char **argv) { models.emplace_back(simple_renderer::Model(obj)); } - auto matrix = simple_renderer::Matrix4f(1.0f); + auto modelMatrix = simple_renderer::Matrix4f(1.0f); simple_renderer::Matrix4f scale_matrix = glm::scale(simple_renderer::Matrix4f(1.0f), - simple_renderer::Vector3f(10.0f, 10.0f, 10.0f)); + simple_renderer::Vector3f(7.0f, 7.0f, 7.0f)); // Translation matrix - simple_renderer::Matrix4f translation_matrix = glm::translate( - simple_renderer::Matrix4f(1.0f), - simple_renderer::Vector3f(kWidth / 2.0f, kHeight / 2.0f, 0.0f)); + simple_renderer::Matrix4f translation_matrix = + glm::translate(simple_renderer::Matrix4f(1.0f), + simple_renderer::Vector3f(30.0f, 30.0f, 0.0f)); simple_renderer::Matrix4f rotation_matrix = glm::rotate(simple_renderer::Matrix4f(1.0f), 90.0f, simple_renderer::Vector3f(1.0f, 0.0f, 0.0f)); // Combined transformation matrix - matrix = translation_matrix * scale_matrix * rotation_matrix; + modelMatrix = scale_matrix * translation_matrix * rotation_matrix; simple_renderer::Shader shader; - shader.SetUniform("modelMatrix", matrix); - shader.SetUniform("viewMatrix", simple_renderer::Matrix4f(1.0f)); - shader.SetUniform("projectionMatrix", simple_renderer::Matrix4f(1.0f)); + shader.SetUniform("modelMatrix", modelMatrix); + simple_renderer::Light light; - light.dir = simple_renderer::Vector3f(1.0f, 1.0f, -1.0f); + light.dir = simple_renderer::Vector3f(1.0f, 5.0f, 1.0f); shader.SetUniform("light", light); - // TODO: add complete camera system - shader.SetUniform("cameraPos", simple_renderer::Vector3f(0.0f, 0.0f, 0.0f)); - - for (auto &model : models) { - simple_renderer.render(model, shader); - } + simple_renderer::Camera camera(simple_renderer::Vector3f(0.0f, 0.0f, 1.0f)); auto display = Display(kWidth, kHeight); - // TODO: support real-time keyboard event display.loopBegin(); + while (!display.loopShouldClose()) { - display.handleEvents(); + display.handleEvents(camera); + + shader.SetUniform("cameraPos", camera.GetPosition()); + shader.SetUniform("viewMatrix", camera.GetViewMatrix()); + shader.SetUniform("projectionMatrix", + camera.GetProjectionMatrix(60.0f, 1.0f, 0.1f, 100.0f)); + + buffer.ClearDrawBuffer(simple_renderer::Color::kBlack); + for (auto &model : models) { + simple_renderer.Render(model, shader, buffer.GetDrawBuffer()); + } + + buffer.SwapBuffer(); - display.fill(buffer.GetFramebuffer()); + display.fill(buffer.GetDisplayBuffer()); } return 0; From c1a8bb00e935e1bccfc698ed8abacca6c38f6109 Mon Sep 17 00:00:00 2001 From: ZhuohaoHe Date: Tue, 17 Sep 2024 10:36:36 -0400 Subject: [PATCH 15/18] update render pipeline to seperate rasterization and fragment shader Signed-off-by: ZhuohaoHe --- src/include/shader.hpp | 1 + src/renderer.cpp | 43 +++++++++++++++++++++++++++--------- src/shader.cpp | 2 +- test/system_test/display.cpp | 3 --- 4 files changed, 35 insertions(+), 14 deletions(-) diff --git a/src/include/shader.hpp b/src/include/shader.hpp index 73c9ed3..ed08998 100644 --- a/src/include/shader.hpp +++ b/src/include/shader.hpp @@ -52,6 +52,7 @@ struct Fragment { Vector2f uv; Color color; float depth; + const Material *material; }; /** diff --git a/src/renderer.cpp b/src/renderer.cpp index b24175b..9cb6cbd 100755 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -58,8 +58,9 @@ void SimpleRenderer::ClearDepthBuffer() { void SimpleRenderer::DrawModel(const Model &model, uint32_t *buffer) { SPDLOG_INFO("draw {}", model.GetModelPath()); - std::vector processedVertex; + /* * * Vertex Shader * * */ + std::vector processedVertex; std::vector> processed_vertices_per_thread(kNProc); #pragma omp parallel num_threads(kNProc) default(none) \ shared(shader_, processed_vertices_per_thread) firstprivate(model) @@ -80,18 +81,23 @@ void SimpleRenderer::DrawModel(const Model &model, uint32_t *buffer) { processedVertex.insert(processedVertex.end(), local_vertices.begin(), local_vertices.end()); } + /* * * * * * * */ + + /* * * Rasterization * * */ + std::vector> fragmentsBuffer(width_ * height_); for (const auto &f : model.GetFaces()) { auto v0 = processedVertex[f.GetIndex(0)]; auto v1 = processedVertex[f.GetIndex(1)]; auto v2 = processedVertex[f.GetIndex(2)]; - /* * * Rasterization * * */ + const Material *material = &f.GetMaterial(); + auto fragments = rasterizer_->Rasterize(v0, v1, v2); - shader_->SetUniform("material", f.GetMaterial()); + for (auto &fragment : fragments) { + fragment.material = material; - for (const auto &fragment : fragments) { size_t x = fragment.screen_coord[0]; size_t y = fragment.screen_coord[1]; @@ -99,15 +105,32 @@ void SimpleRenderer::DrawModel(const Model &model, uint32_t *buffer) { continue; } - if (fragment.depth < depth_buffer_[x + y * width_]) { - depth_buffer_[x + y * width_] = fragment.depth; + size_t index = x + y * width_; + fragmentsBuffer[index].push_back(fragment); + } + } + /* * * * * * * */ + + /* * * Fragment Shader * * */ + for (size_t i = 0; i < fragmentsBuffer.size(); i++) { + const auto &fragments = fragmentsBuffer[i]; + if (fragments.empty()) { + continue; + } - /* * * Fragment Shader * * */ - auto color = shader_->FragmentShader(fragment); - buffer[x + y * width_] = static_cast(color); + const Fragment *renderFragment = nullptr; + for (const auto &fragment : fragments) { + if (!renderFragment || fragment.depth < renderFragment->depth) { + renderFragment = &fragment; } } + + if (renderFragment) { + auto color = shader_->FragmentShader(*renderFragment); + buffer[i] = uint32_t(color); + } } -} + /* * * * * * * */ +} // namespace simple_renderer } // namespace simple_renderer diff --git a/src/shader.cpp b/src/shader.cpp index 41e19f2..3438627 100644 --- a/src/shader.cpp +++ b/src/shader.cpp @@ -25,7 +25,7 @@ Color Shader::FragmentShader(const Fragment& fragment) const { // uniform Light light = uniformbuffer_.GetUniform("light"); - Material material = uniformbuffer_.GetUniform("material"); + Material material = *fragment.material; // view direction Vector3f view_dir = diff --git a/test/system_test/display.cpp b/test/system_test/display.cpp index d2a9b12..6fc731d 100644 --- a/test/system_test/display.cpp +++ b/test/system_test/display.cpp @@ -75,9 +75,6 @@ void Display::fill(const uint32_t* buffer) { throw std::runtime_error(SDL_GetError()); } - // 清除渲染器 - SDL_RenderClear(sdl_renderer_); - // 复制到渲染器 res = SDL_RenderCopy(sdl_renderer_, sdl_texture_, nullptr, nullptr); if (res != 0) { From 081444ce46af90ffcd38ab5cfe40e4fd5fe8ae73 Mon Sep 17 00:00:00 2001 From: ZhuohaoHe Date: Tue, 17 Sep 2024 10:50:29 -0400 Subject: [PATCH 16/18] update multi-thread to rasterization and fragment shader Signed-off-by: ZhuohaoHe --- src/renderer.cpp | 55 +++++++++++++++++++++++++++++++++--------------- 1 file changed, 38 insertions(+), 17 deletions(-) diff --git a/src/renderer.cpp b/src/renderer.cpp index 9cb6cbd..5a28d6a 100755 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -84,34 +84,55 @@ void SimpleRenderer::DrawModel(const Model &model, uint32_t *buffer) { /* * * * * * * */ /* * * Rasterization * * */ - std::vector> fragmentsBuffer(width_ * height_); + std::vector>> fragmentsBuffer_all_thread( + kNProc, std::vector>(width_ * height_)); + +#pragma omp parallel num_threads(kNProc) default(none) \ + shared(processedVertex, fragmentsBuffer_all_thread, rasterizer_, width_, \ + height_) firstprivate(model) + { + int thread_id = omp_get_thread_num(); + auto &fragmentsBuffer_per_thread = fragmentsBuffer_all_thread[thread_id]; + +#pragma omp for + for (const auto &f : model.GetFaces()) { + auto v0 = processedVertex[f.GetIndex(0)]; + auto v1 = processedVertex[f.GetIndex(1)]; + auto v2 = processedVertex[f.GetIndex(2)]; - for (const auto &f : model.GetFaces()) { - auto v0 = processedVertex[f.GetIndex(0)]; - auto v1 = processedVertex[f.GetIndex(1)]; - auto v2 = processedVertex[f.GetIndex(2)]; + const Material *material = &f.GetMaterial(); - const Material *material = &f.GetMaterial(); + auto fragments = rasterizer_->Rasterize(v0, v1, v2); - auto fragments = rasterizer_->Rasterize(v0, v1, v2); + for (auto &fragment : fragments) { + fragment.material = material; - for (auto &fragment : fragments) { - fragment.material = material; + size_t x = fragment.screen_coord[0]; + size_t y = fragment.screen_coord[1]; - size_t x = fragment.screen_coord[0]; - size_t y = fragment.screen_coord[1]; + if (x >= width_ || y >= height_) { + continue; + } - if (x >= width_ || y >= height_) { - continue; + size_t index = x + y * width_; + fragmentsBuffer_per_thread[index].push_back(fragment); } + } + } - size_t index = x + y * width_; - fragmentsBuffer[index].push_back(fragment); + // Merge fragments + std::vector> fragmentsBuffer(width_ * height_); + for (const auto &fragmentsBuffer_per_thread : fragmentsBuffer_all_thread) { + for (size_t i = 0; i < fragmentsBuffer_per_thread.size(); i++) { + fragmentsBuffer[i].insert(fragmentsBuffer[i].end(), + fragmentsBuffer_per_thread[i].begin(), + fragmentsBuffer_per_thread[i].end()); } } - /* * * * * * * */ +/* * * * * * * */ - /* * * Fragment Shader * * */ +/* * * Fragment Shader * * */ +#pragma omp parallel for for (size_t i = 0; i < fragmentsBuffer.size(); i++) { const auto &fragments = fragmentsBuffer[i]; if (fragments.empty()) { From 02caa9e6133a3a055b5815a0f9e5a5ca449d5e5d Mon Sep 17 00:00:00 2001 From: ZhuohaoHe Date: Tue, 17 Sep 2024 12:21:12 -0400 Subject: [PATCH 17/18] optimize performace Signed-off-by: ZhuohaoHe --- src/include/face.hpp | 6 +- src/include/renderer.h | 4 +- src/include/vertex.hpp | 8 +-- src/renderer.cpp | 138 ++++++++++++++++++++++++++++++++++++++--- 4 files changed, 137 insertions(+), 19 deletions(-) diff --git a/src/include/face.hpp b/src/include/face.hpp index a30e725..28a5b30 100644 --- a/src/include/face.hpp +++ b/src/include/face.hpp @@ -39,9 +39,9 @@ class Face { // Get functions // 获取函数 - const std::array& GetIndices() const { return indices_; } - const size_t GetIndex(size_t index) const { return indices_[index]; } - const Material& GetMaterial() const { return material_; } + inline const std::array& GetIndices() const { return indices_; } + inline const size_t GetIndex(size_t index) const { return indices_[index]; } + inline const Material& GetMaterial() const { return material_; } private: std::array indices_; diff --git a/src/include/renderer.h b/src/include/renderer.h index d4c865d..bcc136f 100755 --- a/src/include/renderer.h +++ b/src/include/renderer.h @@ -58,7 +58,6 @@ class SimpleRenderer { private: const size_t height_; const size_t width_; - std::shared_ptr depth_buffer_; LogSystem log_system_; std::shared_ptr shader_; @@ -69,8 +68,7 @@ class SimpleRenderer { * @param model 模型 */ void DrawModel(const Model &model, uint32_t *buffer); - - void ClearDepthBuffer(); + void DrawModelSlower(const Model &model, uint32_t *buffer); }; } // namespace simple_renderer diff --git a/src/include/vertex.hpp b/src/include/vertex.hpp index d050146..975abd0 100644 --- a/src/include/vertex.hpp +++ b/src/include/vertex.hpp @@ -41,10 +41,10 @@ class Vertex { // Getter functions // 获取函数 - [[nodiscard]] Vector4f GetPosition() const { return position_; } - [[nodiscard]] Vector3f GetNormal() const { return normal_; } - [[nodiscard]] Vector2f GetTexCoords() const { return texCoords_; } - [[nodiscard]] Color GetColor() const { return color_; } + [[nodiscard]] inline Vector4f GetPosition() const { return position_; } + [[nodiscard]] inline Vector3f GetNormal() const { return normal_; } + [[nodiscard]] inline Vector2f GetTexCoords() const { return texCoords_; } + [[nodiscard]] inline Color GetColor() const { return color_; } private: Vector4f position_; // 3D position, 3D顶点坐标 diff --git a/src/renderer.cpp b/src/renderer.cpp index 5a28d6a..c7a5769 100755 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -37,28 +37,148 @@ SimpleRenderer::SimpleRenderer(size_t width, size_t height) width_(width), log_system_(LogSystem(kLogFilePath, kLogFileMaxSize, kLogFileMaxCount)) { rasterizer_ = std::make_shared(width, height); - // init depth buffer - depth_buffer_ = std::shared_ptr(new float[width * height], - std::default_delete()); } bool SimpleRenderer::Render(const Model &model, const Shader &shader, uint32_t *buffer) { SPDLOG_INFO("render model: {}", model.GetModelPath()); - ClearDepthBuffer(); shader_ = std::make_shared(shader); DrawModel(model, buffer); return true; } -void SimpleRenderer::ClearDepthBuffer() { - std::fill(depth_buffer_.get(), depth_buffer_.get() + width_ * height_, - std::numeric_limits::infinity()); -} +/* +Optimizes performance by performing depth testing during rasterization, keeping +only the closest fragment per pixel, and avoiding storing all +fragments—resulting in faster rendering. +通过在光栅化过程中执行深度测试,仅保留每个像素的深度值最近的片段,避免存储所有片段,从而优化性能,实现更快的渲染。 +*/ void SimpleRenderer::DrawModel(const Model &model, uint32_t *buffer) { SPDLOG_INFO("draw {}", model.GetModelPath()); + /* * * Vertex Shader * * */ + std::vector processedVertices; + std::vector> processed_vertices_all_thread(kNProc); +#pragma omp parallel num_threads(kNProc) default(none) \ + shared(shader_, processed_vertices_all_thread) firstprivate(model) + { + int thread_id = omp_get_thread_num(); + std::vector &processedVertices_per_thread = + processed_vertices_all_thread[thread_id]; + +#pragma omp for + for (const auto &v : model.GetVertices()) { + auto vertex = shader_->VertexShader(v); + processedVertices_per_thread.push_back(vertex); + } + } + + for (const auto &processedVertices_per_thread : + processed_vertices_all_thread) { + processedVertices.insert(processedVertices.end(), + processedVertices_per_thread.begin(), + processedVertices_per_thread.end()); + } + /* * * * * * * */ + + /* * * Rasterization * * */ + std::vector> depthBuffer_all_thread(kNProc); + std::vector> colorBuffer_all_thread(kNProc); + + for (size_t thread_id = 0; thread_id < kNProc; thread_id++) { + depthBuffer_all_thread[thread_id] = + std::make_unique(width_ * height_); + colorBuffer_all_thread[thread_id] = + std::make_unique(width_ * height_); + + std::fill_n(depthBuffer_all_thread[thread_id].get(), width_ * height_, + std::numeric_limits::infinity()); + std::fill_n(colorBuffer_all_thread[thread_id].get(), width_ * height_, 0); + } + +#pragma omp parallel num_threads(kNProc) default(none) \ + shared(processedVertices, rasterizer_, shader_, width_, height_, \ + depthBuffer_all_thread, colorBuffer_all_thread) \ + firstprivate(model) + { + int thread_id = omp_get_thread_num(); + auto &depthBuffer_per_thread = depthBuffer_all_thread[thread_id]; + auto &colorBuffer_per_thread = colorBuffer_all_thread[thread_id]; +#pragma omp for + for (const auto &f : model.GetFaces()) { + auto v0 = processedVertices[f.GetIndex(0)]; + auto v1 = processedVertices[f.GetIndex(1)]; + auto v2 = processedVertices[f.GetIndex(2)]; + + const Material *material = &f.GetMaterial(); + + auto fragments = rasterizer_->Rasterize(v0, v1, v2); + + for (auto &fragment : fragments) { + fragment.material = material; + + size_t x = fragment.screen_coord[0]; + size_t y = fragment.screen_coord[1]; + + if (x >= width_ || y >= height_) { + continue; + } + + size_t index = x + y * width_; + + if (fragment.depth < depthBuffer_per_thread[index]) { + depthBuffer_per_thread[index] = fragment.depth; + + /* * * Fragment Shader * * */ + auto color = shader_->FragmentShader(fragment); + colorBuffer_per_thread[index] = uint32_t(color); + } + } + } + } + + // Merge + std::unique_ptr depthBuffer = + std::make_unique(width_ * height_); + std::unique_ptr colorBuffer = + std::make_unique(width_ * height_); + + std::fill_n(depthBuffer.get(), width_ * height_, + std::numeric_limits::infinity()); + std::fill_n(colorBuffer.get(), width_ * height_, 0); + +#pragma omp parallel for + for (size_t i = 0; i < width_ * height_; i++) { + float min_depth = std::numeric_limits::infinity(); + uint32_t color = 0; + + for (size_t thread_id = 0; thread_id < kNProc; thread_id++) { + float depth = depthBuffer_all_thread[thread_id][i]; + if (depth < min_depth) { + min_depth = depth; + color = colorBuffer_all_thread[thread_id][i]; + } + } + depthBuffer[i] = min_depth; + colorBuffer[i] = color; + } + + std::memcpy(buffer, colorBuffer.get(), width_ * height_ * sizeof(uint32_t)); +} + +/* +Organizes processing to simulate how OpenGL works with GPUs by collecting all +fragments per pixel before processing, closely mimicking the GPU pipeline but +leading to increased memory usage and slower performance. + +组织处理方式模拟 OpenGL 在 GPU +上的工作原理,先收集每个像素的所有片段再并行处理屏幕上的每个像素,模仿 GPU +管线,但导致内存使用增加和渲染速度变慢 +*/ +void SimpleRenderer::DrawModelSlower(const Model &model, uint32_t *buffer) { + SPDLOG_INFO("draw {}", model.GetModelPath()); + /* * * Vertex Shader * * */ std::vector processedVertex; std::vector> processed_vertices_per_thread(kNProc); @@ -152,6 +272,6 @@ void SimpleRenderer::DrawModel(const Model &model, uint32_t *buffer) { } } /* * * * * * * */ -} // namespace simple_renderer +} } // namespace simple_renderer From c62317a3a4db722c9d5c2305b0186ab8497858f1 Mon Sep 17 00:00:00 2001 From: ZhuohaoHe Date: Thu, 19 Sep 2024 11:06:15 -0400 Subject: [PATCH 18/18] update according to review Signed-off-by: ZhuohaoHe --- CMakeLists.txt | 2 +- CMakePresets.json | 4 +++ test/system_test/camera.h | 51 +++++++++++++++++++++++++++------------ 3 files changed, 41 insertions(+), 16 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index faf5256..01e8447 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,7 +46,7 @@ set(LOG_FILE_MAX_SIZE 1024*1024*4) # 日志文件数量 set(LOG_FILE_MAX_COUNT 8) #Debug Type (for cmake debug) -set(CMAKE_BUILD_TYPE "Debug") +# set(CMAKE_BUILD_TYPE "Debug") # 生成配置头文件 configure_file( "${PROJECT_SOURCE_DIR}/cmake/config.h.in" diff --git a/CMakePresets.json b/CMakePresets.json index 6976ac5..012b933 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -42,6 +42,10 @@ "COVERAGE_OUTPUT_DIR": { "type": "STRING", "value": "${sourceDir}/build/coverage" + }, + "CMAKE_BUILD_TYPE": { + "type": "STRING", + "value": "Debug" } } }, diff --git a/test/system_test/camera.h b/test/system_test/camera.h index e5aa89f..33e6901 100644 --- a/test/system_test/camera.h +++ b/test/system_test/camera.h @@ -43,23 +43,44 @@ class Camera { ~Camera() = default; // Getters and Setters - void SetPosition(const glm::vec3& pos) { position_ = pos; } - void SetFront(const glm::vec3& frontVec) { - front_ = glm::normalize(frontVec); + void SetPosition(const Vector3f& pos) { position_ = pos; } + void SetFront(const Vector3f& frontVec) { front_ = glm::normalize(frontVec); } + void SetUp(const Vector3f& upVec) { up_ = glm::normalize(upVec); } + + Vector3f GetPosition() const { return position_; } + Vector3f GetFront() const { return front_; } + Vector3f GetUp() const { return up_; } + + Matrix4f LookAt(const Vector3f& position, const Vector3f& target, + const Vector3f up) { + Matrix4f rotationMat = Matrix4f(1.0f); + Matrix4f translationMat = Matrix4f(1.0f); + Vector3f z = glm::normalize(position - target); + Vector3f x = glm::normalize(glm::cross(up, z)); + Vector3f y = glm::normalize(glm::cross(z, x)); + rotationMat[0][0] = x.x; + rotationMat[1][0] = x.y; + rotationMat[2][0] = x.z; + rotationMat[0][1] = y.x; + rotationMat[1][1] = y.y; + rotationMat[2][1] = y.z; + rotationMat[0][2] = z.x; + rotationMat[1][2] = z.y; + rotationMat[2][2] = z.z; + translationMat[3][0] = -position.x; + translationMat[3][1] = -position.y; + translationMat[3][2] = -position.z; + return rotationMat * translationMat; } - void SetUp(const glm::vec3& upVec) { up_ = glm::normalize(upVec); } - - glm::vec3 GetPosition() const { return position_; } - glm::vec3 GetFront() const { return front_; } - glm::vec3 GetUp() const { return up_; } // Methods to get view and projection matrices - glm::mat4 GetViewMatrix() const { + Matrix4f GetViewMatrix() { + // return LookAt(position_, position_ + front_, up_); return glm::lookAt(position_, position_ + front_, up_); } - glm::mat4 GetProjectionMatrix(float fov, float aspectRatio, float nearPlane, - float farPlane) const { + Matrix4f GetProjectionMatrix(float fov, float aspectRatio, float nearPlane, + float farPlane) const { return glm::perspective(glm::radians(fov), aspectRatio, nearPlane, farPlane); } @@ -74,10 +95,10 @@ class Camera { void MoveUp(float distance) { position_ += up_ * distance; } void Rotate(float yaw, float pitch) { - glm::vec3 newFront; - newFront.x = cos(glm::radians(yaw)) * cos(glm::radians(pitch)); - newFront.y = sin(glm::radians(pitch)); - newFront.z = sin(glm::radians(yaw)) * cos(glm::radians(pitch)); + Vector3f newFront; + newFront.x = std::cos(glm::radians(yaw)) * std::cos(glm::radians(pitch)); + newFront.y = std::sin(glm::radians(pitch)); + newFront.z = std::sin(glm::radians(yaw)) * std::cos(glm::radians(pitch)); front_ = glm::normalize(newFront); }