From 6b9869cd378af71f4e461139ff199f976c098725 Mon Sep 17 00:00:00 2001 From: Able Date: Tue, 29 Mar 2022 07:07:56 -0500 Subject: [PATCH] Teapot Loading --- assets/opengl.png | Bin 72249 -> 0 bytes assets/shaders/teapot/teapot.frag | 9 + assets/shaders/teapot/teapot.vert | 10 + src/main.rs | 75 +- src/teapot.rs | 2110 +++++++++++++++++++++++++++++ 5 files changed, 2187 insertions(+), 17 deletions(-) delete mode 100644 assets/opengl.png create mode 100644 assets/shaders/teapot/teapot.frag create mode 100644 assets/shaders/teapot/teapot.vert create mode 100644 src/teapot.rs diff --git a/assets/opengl.png b/assets/opengl.png deleted file mode 100644 index 89f897b3b44a879be711e8f8eeb27a7843767fb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72249 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 Jorq^2{Xc~&U_$@^ diff --git a/assets/shaders/teapot/teapot.frag b/assets/shaders/teapot/teapot.frag new file mode 100644 index 0000000..43cd048 --- /dev/null +++ b/assets/shaders/teapot/teapot.frag @@ -0,0 +1,9 @@ +#version 140 + +out vec4 color; + +void main() { + color = vec4(1.0, 0.0, 0.0, 1.0); +} + + diff --git a/assets/shaders/teapot/teapot.vert b/assets/shaders/teapot/teapot.vert new file mode 100644 index 0000000..6a71aad --- /dev/null +++ b/assets/shaders/teapot/teapot.vert @@ -0,0 +1,10 @@ +#version 140 + +in vec3 position; +in vec3 normal; + +uniform mat4 matrix; + +void main() { + gl_Position = matrix * vec4(position, 1.0); +} \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index 60e764a..7aa4233 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,6 @@ #![feature(const_fn_trait_bound)] -use std::io::Cursor; +use std::{collections::HashMap, io::Cursor}; #[macro_use] extern crate glium; @@ -136,27 +136,68 @@ fn main() { let mut target = display.draw(); target.clear_color(0.0, 0.0, 1.0, 1.0); - let uniforms = uniform! { - matrix: [ - [1.0, 0.0, 0.0, 0.0], - [0.0, 1.0, 0.0, 0.0], - [0.0, 0.0, 1.0, 0.0], - [ t , 0.0, 0.0, 1.0f32], - ], - tex: &texture, + { + // draw the triangle + let uniforms = uniform! { + matrix: [ + [1.0, 0.0, 0.0, 0.0], + [0.0, 1.0, 0.0, 0.0], + [0.0, 0.0, 1.0, 0.0], + [ t , 0.0, 0.0, 1.0f32], + ], + tex: &texture, + }; + target + .draw( + &vertex_buffer, + &indices, + &program, + &uniforms, + &Default::default(), + ) + .unwrap(); + } + { + // Teapot stage + let vertex_shader_src = include_str!("../assets/shaders/teapot/teapot.vert"); + let fragment_shader_src = include_str!("../assets/shaders/teapot/teapot.frag"); - }; + let program = + glium::Program::from_source(&display, vertex_shader_src, fragment_shader_src, None) + .unwrap(); - target - .draw( - &vertex_buffer, - &indices, - &program, - &uniforms, - &Default::default(), + let positions = glium::VertexBuffer::new(&display, &teapot::VERTICES).unwrap(); + let normals = glium::VertexBuffer::new(&display, &teapot::NORMALS).unwrap(); + let indices = glium::IndexBuffer::new( + &display, + glium::index::PrimitiveType::TrianglesList, + &teapot::INDICES, ) .unwrap(); + + let matrix = [ + [0.01, 0.0, 0.0, 0.0], + [0.0, 0.01, 0.0, 0.0], + [0.0, 0.0, 0.01, 0.0], + [0.0, 0.0, 0.0, 1.0f32], + ]; + + target + .draw( + (&positions, &normals), + &indices, + &program, + &uniform! { matrix: matrix }, + &Default::default(), + ) + .unwrap(); + } + target.finish().unwrap(); }); } + +mod teapot; + +pub type ShaderList = HashMap; diff --git a/src/teapot.rs b/src/teapot.rs new file mode 100644 index 0000000..914a881 --- /dev/null +++ b/src/teapot.rs @@ -0,0 +1,2110 @@ +#[derive(Copy, Clone)] +pub struct Vertex { + position: (f32, f32, f32) +} + +implement_vertex!(Vertex, position); + +pub const VERTICES: [Vertex; 531] = [ + Vertex { position: (0.0, 0.0, 0.0) }, // dummy vector because in the original model indices + // start at 1 + Vertex { position: (40.6266, 28.3457, -1.10804) }, + Vertex { position: (40.0714, 30.4443, -1.10804) }, + Vertex { position: (40.7155, 31.1438, -1.10804) }, + Vertex { position: (42.0257, 30.4443, -1.10804) }, + Vertex { position: (43.4692, 28.3457, -1.10804) }, + Vertex { position: (37.5425, 28.3457, 14.5117) }, + Vertex { position: (37.0303, 30.4443, 14.2938) }, + Vertex { position: (37.6244, 31.1438, 14.5466) }, + Vertex { position: (38.8331, 30.4443, 15.0609) }, + Vertex { position: (40.1647, 28.3457, 15.6274) }, + Vertex { position: (29.0859, 28.3457, 27.1468) }, + Vertex { position: (28.6917, 30.4443, 26.7527) }, + Vertex { position: (29.149, 31.1438, 27.2099) }, + Vertex { position: (30.0792, 30.4443, 28.1402) }, + Vertex { position: (31.1041, 28.3457, 29.165) }, + Vertex { position: (16.4508, 28.3457, 35.6034) }, + Vertex { position: (16.2329, 30.4443, 35.0912) }, + Vertex { position: (16.4857, 31.1438, 35.6853) }, + Vertex { position: (16.9999, 30.4443, 36.894) }, + Vertex { position: (17.5665, 28.3457, 38.2256) }, + Vertex { position: (0.831025, 28.3457, 38.6876) }, + Vertex { position: (0.831025, 30.4443, 38.1324) }, + Vertex { position: (0.831025, 31.1438, 38.7764) }, + Vertex { position: (0.831025, 30.4443, 40.0866) }, + Vertex { position: (0.831025, 28.3457, 41.5301) }, + Vertex { position: (-15.868, 28.3457, 35.6034) }, + Vertex { position: (-15.0262, 30.4443, 35.0912) }, + Vertex { position: (-14.9585, 31.1438, 35.6853) }, + Vertex { position: (-15.3547, 30.4443, 36.894) }, + Vertex { position: (-15.9044, 28.3457, 38.2256) }, + Vertex { position: (-28.3832, 28.3457, 27.1468) }, + Vertex { position: (-27.4344, 30.4443, 26.7527) }, + Vertex { position: (-27.6068, 31.1438, 27.2099) }, + Vertex { position: (-28.4322, 30.4443, 28.1402) }, + Vertex { position: (-29.4421, 28.3457, 29.165) }, + Vertex { position: (-36.2402, 28.3457, 14.5117) }, + Vertex { position: (-35.52, 30.4443, 14.2938) }, + Vertex { position: (-36.0073, 31.1438, 14.5466) }, + Vertex { position: (-37.1767, 30.4443, 15.0609) }, + Vertex { position: (-38.5027, 28.3457, 15.6274) }, + Vertex { position: (-38.9646, 28.3457, -1.10804) }, + Vertex { position: (-38.4094, 30.4443, -1.10804) }, + Vertex { position: (-39.0534, 31.1438, -1.10804) }, + Vertex { position: (-40.3636, 30.4443, -1.10804) }, + Vertex { position: (-41.8071, 28.3457, -1.10804) }, + Vertex { position: (-35.8804, 28.3457, -16.7278) }, + Vertex { position: (-35.3683, 30.4443, -16.5099) }, + Vertex { position: (-35.9624, 31.1438, -16.7627) }, + Vertex { position: (-37.1711, 30.4443, -17.2769) }, + Vertex { position: (-38.5027, 28.3457, -17.8435) }, + Vertex { position: (-27.4238, 28.3457, -29.3629) }, + Vertex { position: (-27.0297, 30.4443, -28.9687) }, + Vertex { position: (-27.4869, 31.1438, -29.426) }, + Vertex { position: (-28.4172, 30.4443, -30.3562) }, + Vertex { position: (-29.4421, 28.3457, -31.3811) }, + Vertex { position: (-14.7887, 28.3457, -37.8195) }, + Vertex { position: (-14.5708, 30.4443, -37.3073) }, + Vertex { position: (-14.8236, 31.1438, -37.9014) }, + Vertex { position: (-15.3379, 30.4443, -39.1101) }, + Vertex { position: (-15.9044, 28.3457, -40.4417) }, + Vertex { position: (0.831025, 28.3457, -40.9036) }, + Vertex { position: (0.831025, 30.4443, -40.3484) }, + Vertex { position: (0.831025, 31.1438, -40.9925) }, + Vertex { position: (0.831025, 30.4443, -42.3027) }, + Vertex { position: (0.831025, 28.3457, -43.7462) }, + Vertex { position: (16.4508, 28.3457, -37.8195) }, + Vertex { position: (16.2329, 30.4443, -37.3073) }, + Vertex { position: (16.4857, 31.1438, -37.9014) }, + Vertex { position: (16.9999, 30.4443, -39.1101) }, + Vertex { position: (17.5665, 28.3457, -40.4417) }, + Vertex { position: (29.0859, 28.3457, -29.3629) }, + Vertex { position: (28.6917, 30.4443, -28.9687) }, + Vertex { position: (29.149, 31.1438, -29.426) }, + Vertex { position: (30.0792, 30.4443, -30.3562) }, + Vertex { position: (31.1041, 28.3457, -31.3811) }, + Vertex { position: (37.5425, 28.3457, -16.7278) }, + Vertex { position: (37.0303, 30.4443, -16.5099) }, + Vertex { position: (37.6244, 31.1438, -16.7627) }, + Vertex { position: (38.8331, 30.4443, -17.2769) }, + Vertex { position: (40.1647, 28.3457, -17.8435) }, + Vertex { position: (48.6879, 17.1865, -1.10804) }, + Vertex { position: (53.2404, 6.22714, -1.10804) }, + Vertex { position: (56.4605, -4.33246, -1.10804) }, + Vertex { position: (57.6819, -14.2925, -1.10804) }, + Vertex { position: (44.979, 17.1865, 17.6758) }, + Vertex { position: (49.1787, 6.22714, 19.4626) }, + Vertex { position: (52.1492, -4.33246, 20.7265) }, + Vertex { position: (53.2759, -14.2925, 21.2059) }, + Vertex { position: (34.8094, 17.1865, 32.8703) }, + Vertex { position: (38.0417, 6.22714, 36.1026) }, + Vertex { position: (40.3279, -4.33246, 38.3889) }, + Vertex { position: (41.1951, -14.2925, 39.2561) }, + Vertex { position: (19.6148, 17.1865, 43.0399) }, + Vertex { position: (21.4017, 6.22714, 47.2396) }, + Vertex { position: (22.6656, -4.33246, 50.2101) }, + Vertex { position: (23.145, -14.2925, 51.3369) }, + Vertex { position: (0.831025, 17.1865, 46.7488) }, + Vertex { position: (0.831025, 6.22714, 51.3013) }, + Vertex { position: (0.831025, -4.33246, 54.5214) }, + Vertex { position: (0.831025, -14.2925, 55.7428) }, + Vertex { position: (-17.9528, 17.1865, 43.0399) }, + Vertex { position: (-19.7397, 6.22714, 47.2396) }, + Vertex { position: (-21.0035, -4.33246, 50.2101) }, + Vertex { position: (-21.4829, -14.2925, 51.3369) }, + Vertex { position: (-33.1474, 17.1865, 32.8703) }, + Vertex { position: (-36.3796, 6.22714, 36.1026) }, + Vertex { position: (-38.6659, -4.33246, 38.3889) }, + Vertex { position: (-39.5331, -14.2925, 39.2561) }, + Vertex { position: (-43.3169, 17.1865, 17.6758) }, + Vertex { position: (-47.5166, 6.22714, 19.4626) }, + Vertex { position: (-50.4871, -4.33246, 20.7265) }, + Vertex { position: (-51.6139, -14.2925, 21.2059) }, + Vertex { position: (-47.0258, 17.1865, -1.10804) }, + Vertex { position: (-51.5784, 6.22714, -1.10804) }, + Vertex { position: (-54.7984, -4.33246, -1.10804) }, + Vertex { position: (-56.0198, -14.2925, -1.10804) }, + Vertex { position: (-43.3169, 17.1865, -19.8919) }, + Vertex { position: (-47.5166, 6.22714, -21.6787) }, + Vertex { position: (-50.4871, -4.33246, -22.9426) }, + Vertex { position: (-51.6139, -14.2925, -23.422) }, + Vertex { position: (-33.1474, 17.1865, -35.0864) }, + Vertex { position: (-36.3796, 6.22714, -38.3187) }, + Vertex { position: (-38.6659, -4.33246, -40.6049) }, + Vertex { position: (-39.5331, -14.2925, -41.4721) }, + Vertex { position: (-17.9528, 17.1865, -45.256) }, + Vertex { position: (-19.7397, 6.22714, -49.4557) }, + Vertex { position: (-21.0035, -4.33246, -52.4262) }, + Vertex { position: (-21.4829, -14.2925, -53.5529) }, + Vertex { position: (0.831025, 17.1865, -48.9649) }, + Vertex { position: (0.831025, 6.22714, -53.5174) }, + Vertex { position: (0.831025, -4.33246, -56.7375) }, + Vertex { position: (0.831025, -14.2925, -57.9589) }, + Vertex { position: (19.6148, 17.1865, -45.256) }, + Vertex { position: (21.4017, 6.22714, -49.4557) }, + Vertex { position: (22.6656, -4.33246, -52.4262) }, + Vertex { position: (23.145, -14.2925, -53.5529) }, + Vertex { position: (34.8094, 17.1865, -35.0864) }, + Vertex { position: (38.0417, 6.22714, -38.3187) }, + Vertex { position: (40.3279, -4.33246, -40.6049) }, + Vertex { position: (41.1951, -14.2925, -41.4721) }, + Vertex { position: (44.979, 17.1865, -19.8919) }, + Vertex { position: (49.1787, 6.22714, -21.6787) }, + Vertex { position: (52.1492, -4.33246, -22.9426) }, + Vertex { position: (53.2759, -14.2925, -23.422) }, + Vertex { position: (55.4611, -22.7202, -1.10804) }, + Vertex { position: (50.5755, -28.9493, -1.10804) }, + Vertex { position: (45.6899, -33.1798, -1.10804) }, + Vertex { position: (43.4692, -35.6115, -1.10804) }, + Vertex { position: (51.2273, -22.7202, 20.3343) }, + Vertex { position: (46.7203, -28.9493, 18.4167) }, + Vertex { position: (42.2133, -33.1798, 16.4991) }, + Vertex { position: (40.1647, -35.6115, 15.6274) }, + Vertex { position: (39.6184, -22.7202, 37.6793) }, + Vertex { position: (36.1496, -28.9493, 34.2106) }, + Vertex { position: (32.6808, -33.1798, 30.7418) }, + Vertex { position: (31.1041, -35.6115, 29.165) }, + Vertex { position: (22.2733, -22.7202, 49.2882) }, + Vertex { position: (20.3557, -28.9493, 44.7813) }, + Vertex { position: (18.4381, -33.1798, 40.2743) }, + Vertex { position: (17.5665, -35.6115, 38.2256) }, + Vertex { position: (0.831025, -22.7202, 53.5221) }, + Vertex { position: (0.831025, -28.9493, 48.6365) }, + Vertex { position: (0.831025, -33.1798, 43.7508) }, + Vertex { position: (0.831025, -35.6115, 41.5301) }, + Vertex { position: (-20.6113, -22.7202, 49.2882) }, + Vertex { position: (-18.6937, -28.9493, 44.7813) }, + Vertex { position: (-16.7761, -33.1798, 40.2743) }, + Vertex { position: (-15.9044, -35.6115, 38.2256) }, + Vertex { position: (-37.9564, -22.7202, 37.6793) }, + Vertex { position: (-34.4876, -28.9493, 34.2106) }, + Vertex { position: (-31.0188, -33.1798, 30.7418) }, + Vertex { position: (-29.4421, -35.6115, 29.165) }, + Vertex { position: (-49.5653, -22.7202, 20.3343) }, + Vertex { position: (-45.0583, -28.9493, 18.4167) }, + Vertex { position: (-40.5513, -33.1798, 16.4991) }, + Vertex { position: (-38.5027, -35.6115, 15.6274) }, + Vertex { position: (-53.7991, -22.7202, -1.10804) }, + Vertex { position: (-48.9135, -28.9493, -1.10804) }, + Vertex { position: (-44.0279, -33.1798, -1.10804) }, + Vertex { position: (-41.8071, -35.6115, -1.10804) }, + Vertex { position: (-49.5653, -22.7202, -22.5504) }, + Vertex { position: (-45.0583, -28.9493, -20.6327) }, + Vertex { position: (-40.5513, -33.1798, -18.7151) }, + Vertex { position: (-38.5027, -35.6115, -17.8435) }, + Vertex { position: (-37.9564, -22.7202, -39.8954) }, + Vertex { position: (-34.4876, -28.9493, -36.4266) }, + Vertex { position: (-31.0188, -33.1798, -32.9578) }, + Vertex { position: (-29.4421, -35.6115, -31.3811) }, + Vertex { position: (-20.6113, -22.7202, -51.5043) }, + Vertex { position: (-18.6937, -28.9493, -46.9973) }, + Vertex { position: (-16.7761, -33.1798, -42.4903) }, + Vertex { position: (-15.9044, -35.6115, -40.4417) }, + Vertex { position: (0.831025, -22.7202, -55.7382) }, + Vertex { position: (0.831025, -28.9493, -50.8525) }, + Vertex { position: (0.831025, -33.1798, -45.9669) }, + Vertex { position: (0.831025, -35.6115, -43.7462) }, + Vertex { position: (22.2733, -22.7202, -51.5043) }, + Vertex { position: (20.3557, -28.9493, -46.9973) }, + Vertex { position: (18.4381, -33.1798, -42.4903) }, + Vertex { position: (17.5665, -35.6115, -40.4417) }, + Vertex { position: (39.6184, -22.7202, -39.8954) }, + Vertex { position: (36.1496, -28.9493, -36.4266) }, + Vertex { position: (32.6808, -33.1798, -32.9578) }, + Vertex { position: (31.1041, -35.6115, -31.3811) }, + Vertex { position: (51.2273, -22.7202, -22.5504) }, + Vertex { position: (46.7203, -28.9493, -20.6327) }, + Vertex { position: (42.2133, -33.1798, -18.7151) }, + Vertex { position: (40.1647, -35.6115, -17.8435) }, + Vertex { position: (42.5031, -37.1772, -1.10804) }, + Vertex { position: (37.3399, -38.5429, -1.10804) }, + Vertex { position: (24.5818, -39.5089, -1.10804) }, + Vertex { position: (0.831025, -39.8754, -1.10804) }, + Vertex { position: (39.2736, -37.1772, 15.2483) }, + Vertex { position: (34.5105, -38.5429, 13.2217) }, + Vertex { position: (22.7411, -39.5089, 8.21414) }, + Vertex { position: (30.4182, -37.1772, 28.4792) }, + Vertex { position: (26.7523, -38.5429, 24.8133) }, + Vertex { position: (17.6941, -39.5089, 15.755) }, + Vertex { position: (17.1873, -37.1772, 37.3345) }, + Vertex { position: (15.1608, -38.5429, 32.5714) }, + Vertex { position: (10.1532, -39.5089, 20.8021) }, + Vertex { position: (0.831025, -37.1772, 40.5641) }, + Vertex { position: (0.831025, -38.5429, 35.4009) }, + Vertex { position: (0.831025, -39.5089, 22.6427) }, + Vertex { position: (-15.5253, -37.1772, 37.3345) }, + Vertex { position: (-13.4987, -38.5429, 32.5714) }, + Vertex { position: (-8.49115, -39.5089, 20.8021) }, + Vertex { position: (-28.7562, -37.1772, 28.4792) }, + Vertex { position: (-25.0903, -38.5429, 24.8133) }, + Vertex { position: (-16.032, -39.5089, 15.755) }, + Vertex { position: (-37.6115, -37.1772, 15.2483) }, + Vertex { position: (-32.8484, -38.5429, 13.2217) }, + Vertex { position: (-21.0791, -39.5089, 8.21414) }, + Vertex { position: (-40.8411, -37.1772, -1.10804) }, + Vertex { position: (-35.6779, -38.5429, -1.10804) }, + Vertex { position: (-22.9198, -39.5089, -1.10804) }, + Vertex { position: (-37.6115, -37.1772, -17.4643) }, + Vertex { position: (-32.8484, -38.5429, -15.4378) }, + Vertex { position: (-21.0791, -39.5089, -10.4302) }, + Vertex { position: (-28.7562, -37.1772, -30.6952) }, + Vertex { position: (-25.0903, -38.5429, -27.0294) }, + Vertex { position: (-16.032, -39.5089, -17.9711) }, + Vertex { position: (-15.5253, -37.1772, -39.5506) }, + Vertex { position: (-13.4987, -38.5429, -34.7875) }, + Vertex { position: (-8.49115, -39.5089, -23.0181) }, + Vertex { position: (0.831025, -37.1772, -42.7802) }, + Vertex { position: (0.831025, -38.5429, -37.6169) }, + Vertex { position: (0.831025, -39.5089, -24.8588) }, + Vertex { position: (17.1873, -37.1772, -39.5506) }, + Vertex { position: (15.1608, -38.5429, -34.7875) }, + Vertex { position: (10.1532, -39.5089, -23.0181) }, + Vertex { position: (30.4182, -37.1772, -30.6952) }, + Vertex { position: (26.7523, -38.5429, -27.0294) }, + Vertex { position: (17.6941, -39.5089, -17.9711) }, + Vertex { position: (39.2736, -37.1772, -17.4643) }, + Vertex { position: (34.5105, -38.5429, -15.4378) }, + Vertex { position: (22.7411, -39.5089, -10.4302) }, + Vertex { position: (-44.6497, 17.6861, -1.10804) }, + Vertex { position: (-57.9297, 17.5862, -1.10804) }, + Vertex { position: (-67.7453, 16.8867, -1.10804) }, + Vertex { position: (-73.8301, 14.9879, -1.10804) }, + Vertex { position: (-75.9176, 11.2904, -1.10804) }, + Vertex { position: (-44.2055, 18.6855, 3.68876) }, + Vertex { position: (-58.3252, 18.5699, 3.68876) }, + Vertex { position: (-68.6891, 17.7611, 3.68876) }, + Vertex { position: (-75.0724, 15.5657, 3.68876) }, + Vertex { position: (-77.2501, 11.2904, 3.68876) }, + Vertex { position: (-43.2284, 20.884, 5.28769) }, + Vertex { position: (-59.1955, 20.7341, 5.28769) }, + Vertex { position: (-70.7655, 19.6848, 5.28769) }, + Vertex { position: (-77.8053, 16.8367, 5.28769) }, + Vertex { position: (-80.1814, 11.2904, 5.28769) }, + Vertex { position: (-42.2513, 23.0825, 3.68876) }, + Vertex { position: (-60.0657, 22.8983, 3.68876) }, + Vertex { position: (-72.8419, 21.6085, 3.68876) }, + Vertex { position: (-80.5381, 18.1077, 3.68876) }, + Vertex { position: (-83.1128, 11.2904, 3.68876) }, + Vertex { position: (-41.8071, 24.0819, -1.10804) }, + Vertex { position: (-60.4613, 23.882, -1.10804) }, + Vertex { position: (-73.7857, 22.4829, -1.10804) }, + Vertex { position: (-81.7804, 18.6855, -1.10804) }, + Vertex { position: (-84.4453, 11.2904, -1.10804) }, + Vertex { position: (-42.2513, 23.0825, -5.90483) }, + Vertex { position: (-60.0657, 22.8983, -5.90483) }, + Vertex { position: (-72.8419, 21.6085, -5.90483) }, + Vertex { position: (-80.5381, 18.1077, -5.90483) }, + Vertex { position: (-83.1128, 11.2904, -5.90483) }, + Vertex { position: (-43.2284, 20.884, -7.50376) }, + Vertex { position: (-59.1955, 20.7341, -7.50376) }, + Vertex { position: (-70.7655, 19.6848, -7.50376) }, + Vertex { position: (-77.8053, 16.8367, -7.50376) }, + Vertex { position: (-80.1814, 11.2904, -7.50376) }, + Vertex { position: (-44.2055, 18.6855, -5.90483) }, + Vertex { position: (-58.3252, 18.5699, -5.90483) }, + Vertex { position: (-68.6891, 17.7611, -5.90483) }, + Vertex { position: (-75.0724, 15.5657, -5.90483) }, + Vertex { position: (-77.2501, 11.2904, -5.90483) }, + Vertex { position: (-74.8073, 5.4943, -1.10804) }, + Vertex { position: (-71.2985, -1.50103, -1.10804) }, + Vertex { position: (-65.1248, -8.49634, -1.10804) }, + Vertex { position: (-56.0198, -14.2925, -1.10804) }, + Vertex { position: (-76.0183, 4.93477, 3.68876) }, + Vertex { position: (-72.159, -2.35462, 3.68876) }, + Vertex { position: (-65.4267, -9.55033, 3.68876) }, + Vertex { position: (-55.5757, -15.6249, 3.68876) }, + Vertex { position: (-78.6824, 3.70383, 5.28769) }, + Vertex { position: (-74.0522, -4.23253, 5.28769) }, + Vertex { position: (-66.0909, -11.8691, 5.28769) }, + Vertex { position: (-54.5986, -18.5563, 5.28769) }, + Vertex { position: (-81.3466, 2.47288, 3.68876) }, + Vertex { position: (-75.9454, -6.11044, 3.68876) }, + Vertex { position: (-66.755, -14.1878, 3.68876) }, + Vertex { position: (-53.6214, -21.4877, 3.68876) }, + Vertex { position: (-82.5576, 1.91336, -1.10804) }, + Vertex { position: (-76.8059, -6.96404, -1.10804) }, + Vertex { position: (-67.0569, -15.2418, -1.10804) }, + Vertex { position: (-53.1773, -22.8201, -1.10804) }, + Vertex { position: (-81.3466, 2.47288, -5.90483) }, + Vertex { position: (-75.9454, -6.11044, -5.90483) }, + Vertex { position: (-66.755, -14.1878, -5.90483) }, + Vertex { position: (-53.6214, -21.4877, -5.90483) }, + Vertex { position: (-78.6824, 3.70383, -7.50376) }, + Vertex { position: (-74.0522, -4.23253, -7.50376) }, + Vertex { position: (-66.0909, -11.8691, -7.50376) }, + Vertex { position: (-54.5986, -18.5563, -7.50376) }, + Vertex { position: (-76.0183, 4.93477, -5.90483) }, + Vertex { position: (-72.159, -2.35462, -5.90483) }, + Vertex { position: (-65.4267, -9.55033, -5.90483) }, + Vertex { position: (-55.5757, -15.6249, -5.90483) }, + Vertex { position: (49.1543, 0.630882, -1.10804) }, + Vertex { position: (62.7896, 3.76212, -1.10804) }, + Vertex { position: (68.6967, 11.2904, -1.10804) }, + Vertex { position: (71.939, 20.4176, -1.10804) }, + Vertex { position: (77.5797, 28.3457, -1.10804) }, + Vertex { position: (49.1543, -3.03333, 9.4449) }, + Vertex { position: (63.8305, 1.04519, 8.42059) }, + Vertex { position: (70.0292, 9.70814, 6.1671) }, + Vertex { position: (73.5629, 19.8451, 3.91361) }, + Vertex { position: (80.2446, 28.3457, 2.88929) }, + Vertex { position: (49.1543, -11.0946, 12.9626) }, + Vertex { position: (66.1207, -4.93206, 11.5968) }, + Vertex { position: (72.9605, 6.22714, 8.59214) }, + Vertex { position: (77.1355, 18.5855, 5.58749) }, + Vertex { position: (86.1073, 28.3457, 4.22173) }, + Vertex { position: (49.1543, -19.1559, 9.4449) }, + Vertex { position: (68.4108, -10.9093, 8.42059) }, + Vertex { position: (75.8919, 2.74614, 6.1671) }, + Vertex { position: (80.7081, 17.326, 3.91361) }, + Vertex { position: (91.97, 28.3457, 2.88929) }, + Vertex { position: (49.1543, -22.8201, -1.10804) }, + Vertex { position: (69.4518, -13.6262, -1.10804) }, + Vertex { position: (77.2244, 1.16386, -1.10804) }, + Vertex { position: (82.3321, 16.7534, -1.10804) }, + Vertex { position: (94.6349, 28.3457, -1.10804) }, + Vertex { position: (49.1543, -19.1559, -11.661) }, + Vertex { position: (68.4108, -10.9093, -10.6367) }, + Vertex { position: (75.8919, 2.74614, -8.38317) }, + Vertex { position: (80.7081, 17.326, -6.12968) }, + Vertex { position: (91.97, 28.3457, -5.10536) }, + Vertex { position: (49.1543, -11.0946, -15.1786) }, + Vertex { position: (66.1207, -4.93206, -13.8129) }, + Vertex { position: (72.9605, 6.22714, -10.8082) }, + Vertex { position: (77.1355, 18.5855, -7.80356) }, + Vertex { position: (86.1073, 28.3457, -6.4378) }, + Vertex { position: (49.1543, -3.03333, -11.661) }, + Vertex { position: (63.8305, 1.04519, -10.6367) }, + Vertex { position: (70.0292, 9.70814, -8.38317) }, + Vertex { position: (73.5629, 19.8451, -6.12968) }, + Vertex { position: (80.2446, 28.3457, -5.10536) }, + Vertex { position: (79.6227, 29.5449, -1.10804) }, + Vertex { position: (81.1329, 29.9446, -1.10804) }, + Vertex { position: (81.577, 29.5449, -1.10804) }, + Vertex { position: (80.4222, 28.3457, -1.10804) }, + Vertex { position: (82.4767, 29.6034, 2.63946) }, + Vertex { position: (83.8116, 30.0383, 2.08983) }, + Vertex { position: (83.8515, 29.6268, 1.54019) }, + Vertex { position: (82.1988, 28.3457, 1.29036) }, + Vertex { position: (88.7555, 29.7322, 3.88862) }, + Vertex { position: (89.7049, 30.2444, 3.15578) }, + Vertex { position: (88.8555, 29.8072, 2.42294) }, + Vertex { position: (86.1073, 28.3457, 2.08983) }, + Vertex { position: (95.0343, 29.8611, 2.63946) }, + Vertex { position: (95.5982, 30.4505, 2.08983) }, + Vertex { position: (93.8594, 29.9875, 1.54019) }, + Vertex { position: (90.0158, 28.3457, 1.29036) }, + Vertex { position: (97.8883, 29.9196, -1.10804) }, + Vertex { position: (98.2769, 30.5442, -1.10804) }, + Vertex { position: (96.1339, 30.0695, -1.10804) }, + Vertex { position: (91.7924, 28.3457, -1.10804) }, + Vertex { position: (95.0343, 29.8611, -4.85553) }, + Vertex { position: (95.5982, 30.4505, -4.3059) }, + Vertex { position: (93.8594, 29.9875, -3.75626) }, + Vertex { position: (90.0158, 28.3457, -3.50643) }, + Vertex { position: (88.7555, 29.7322, -6.10469) }, + Vertex { position: (89.7049, 30.2444, -5.37185) }, + Vertex { position: (88.8555, 29.8072, -4.63901) }, + Vertex { position: (86.1073, 28.3457, -4.3059) }, + Vertex { position: (82.4767, 29.6034, -4.85553) }, + Vertex { position: (83.8116, 30.0383, -4.3059) }, + Vertex { position: (83.8515, 29.6268, -3.75626) }, + Vertex { position: (82.1988, 28.3457, -3.50643) }, + Vertex { position: (0.831025, 49.6647, -1.10804) }, + Vertex { position: (10.5134, 48.2657, -1.10804) }, + Vertex { position: (10.0693, 44.868, -1.10804) }, + Vertex { position: (6.42728, 40.6708, -1.10804) }, + Vertex { position: (6.51611, 36.8733, -1.10804) }, + Vertex { position: (9.76642, 48.2657, 2.70243) }, + Vertex { position: (9.35632, 44.868, 2.52698) }, + Vertex { position: (5.9947, 40.6708, 1.09187) }, + Vertex { position: (6.07552, 36.8733, 1.12336) }, + Vertex { position: (7.71453, 48.2657, 5.77547) }, + Vertex { position: (7.39819, 44.868, 5.45913) }, + Vertex { position: (4.80736, 40.6708, 2.8683) }, + Vertex { position: (4.86744, 36.8733, 2.92838) }, + Vertex { position: (4.64149, 48.2657, 7.82736) }, + Vertex { position: (4.46604, 44.868, 7.41726) }, + Vertex { position: (3.03093, 40.6708, 4.05564) }, + Vertex { position: (3.06242, 36.8733, 4.13646) }, + Vertex { position: (0.831025, 48.2657, 8.57438) }, + Vertex { position: (0.831025, 44.868, 8.13023) }, + Vertex { position: (0.831025, 40.6708, 4.48822) }, + Vertex { position: (0.831025, 36.8733, 4.57705) }, + Vertex { position: (-2.97944, 48.2657, 7.82736) }, + Vertex { position: (-2.80399, 44.868, 7.41726) }, + Vertex { position: (-1.36888, 40.6708, 4.05564) }, + Vertex { position: (-1.40037, 36.8733, 4.13646) }, + Vertex { position: (-6.05248, 48.2657, 5.77547) }, + Vertex { position: (-5.73614, 44.868, 5.45913) }, + Vertex { position: (-3.14531, 40.6708, 2.8683) }, + Vertex { position: (-3.20539, 36.8733, 2.92838) }, + Vertex { position: (-8.10437, 48.2657, 2.70243) }, + Vertex { position: (-7.69427, 44.868, 2.52698) }, + Vertex { position: (-4.33265, 40.6708, 1.09187) }, + Vertex { position: (-4.41347, 36.8733, 1.12336) }, + Vertex { position: (-8.85139, 48.2657, -1.10804) }, + Vertex { position: (-8.40724, 44.868, -1.10804) }, + Vertex { position: (-4.76523, 40.6708, -1.10804) }, + Vertex { position: (-4.85406, 36.8733, -1.10804) }, + Vertex { position: (-8.10437, 48.2657, -4.9185) }, + Vertex { position: (-7.69427, 44.868, -4.74305) }, + Vertex { position: (-4.33265, 40.6708, -3.30794) }, + Vertex { position: (-4.41347, 36.8733, -3.33943) }, + Vertex { position: (-6.05248, 48.2657, -7.99154) }, + Vertex { position: (-5.73614, 44.868, -7.6752) }, + Vertex { position: (-3.14531, 40.6708, -5.08437) }, + Vertex { position: (-3.20539, 36.8733, -5.14445) }, + Vertex { position: (-2.97944, 48.2657, -10.0434) }, + Vertex { position: (-2.80399, 44.868, -9.63333) }, + Vertex { position: (-1.36888, 40.6708, -6.27171) }, + Vertex { position: (-1.40037, 36.8733, -6.35253) }, + Vertex { position: (0.831025, 48.2657, -10.7904) }, + Vertex { position: (0.831025, 44.868, -10.3463) }, + Vertex { position: (0.831025, 40.6708, -6.70429) }, + Vertex { position: (0.831025, 36.8733, -6.79312) }, + Vertex { position: (4.64149, 48.2657, -10.0434) }, + Vertex { position: (4.46604, 44.868, -9.63333) }, + Vertex { position: (3.03093, 40.6708, -6.27171) }, + Vertex { position: (3.06242, 36.8733, -6.35253) }, + Vertex { position: (7.71453, 48.2657, -7.99154) }, + Vertex { position: (7.39819, 44.868, -7.6752) }, + Vertex { position: (4.80736, 40.6708, -5.08437) }, + Vertex { position: (4.86744, 36.8733, -5.14445) }, + Vertex { position: (9.76642, 48.2657, -4.9185) }, + Vertex { position: (9.35632, 44.868, -4.74305) }, + Vertex { position: (5.9947, 40.6708, -3.30794) }, + Vertex { position: (6.07552, 36.8733, -3.33943) }, + Vertex { position: (13.8001, 34.3417, -1.10804) }, + Vertex { position: (24.282, 32.6095, -1.10804) }, + Vertex { position: (33.6979, 30.8773, -1.10804) }, + Vertex { position: (37.7841, 28.3457, -1.10804) }, + Vertex { position: (12.795, 34.3417, 3.98234) }, + Vertex { position: (22.4646, 32.6095, 8.09647) }, + Vertex { position: (31.1507, 30.8773, 11.7922) }, + Vertex { position: (34.9202, 28.3457, 13.396) }, + Vertex { position: (10.0391, 34.3417, 8.10003) }, + Vertex { position: (17.4812, 32.6095, 15.5422) }, + Vertex { position: (24.1665, 30.8773, 22.2275) }, + Vertex { position: (27.0677, 28.3457, 25.1286) }, + Vertex { position: (5.9214, 34.3417, 10.856) }, + Vertex { position: (10.0355, 32.6095, 20.5255) }, + Vertex { position: (13.7313, 30.8773, 29.2117) }, + Vertex { position: (15.3351, 28.3457, 32.9812) }, + Vertex { position: (0.831025, 34.3417, 11.8611) }, + Vertex { position: (0.831025, 32.6095, 22.3429) }, + Vertex { position: (0.831025, 30.8773, 31.7589) }, + Vertex { position: (0.831025, 28.3457, 35.845) }, + Vertex { position: (-4.25935, 34.3417, 10.856) }, + Vertex { position: (-8.37348, 32.6095, 20.5255) }, + Vertex { position: (-12.0692, 30.8773, 29.2117) }, + Vertex { position: (-13.673, 28.3457, 32.9812) }, + Vertex { position: (-8.37704, 34.3417, 8.10003) }, + Vertex { position: (-15.8192, 32.6095, 15.5422) }, + Vertex { position: (-22.5045, 30.8773, 22.2275) }, + Vertex { position: (-25.4056, 28.3457, 25.1286) }, + Vertex { position: (-11.133, 34.3417, 3.98234) }, + Vertex { position: (-20.8025, 32.6095, 8.09647) }, + Vertex { position: (-29.4887, 30.8773, 11.7922) }, + Vertex { position: (-33.2582, 28.3457, 13.396) }, + Vertex { position: (-12.1381, 34.3417, -1.10804) }, + Vertex { position: (-22.62, 32.6095, -1.10804) }, + Vertex { position: (-32.0359, 30.8773, -1.10804) }, + Vertex { position: (-36.122, 28.3457, -1.10804) }, + Vertex { position: (-11.133, 34.3417, -6.19841) }, + Vertex { position: (-20.8025, 32.6095, -10.3125) }, + Vertex { position: (-29.4887, 30.8773, -14.0083) }, + Vertex { position: (-33.2582, 28.3457, -15.6121) }, + Vertex { position: (-8.37704, 34.3417, -10.3161) }, + Vertex { position: (-15.8192, 32.6095, -17.7582) }, + Vertex { position: (-22.5045, 30.8773, -24.4435) }, + Vertex { position: (-25.4056, 28.3457, -27.3447) }, + Vertex { position: (-4.25935, 34.3417, -13.072) }, + Vertex { position: (-8.37348, 32.6095, -22.7416) }, + Vertex { position: (-12.0692, 30.8773, -31.4277) }, + Vertex { position: (-13.673, 28.3457, -35.1972) }, + Vertex { position: (0.831025, 34.3417, -14.0771) }, + Vertex { position: (0.831025, 32.6095, -24.559) }, + Vertex { position: (0.831025, 30.8773, -33.9749) }, + Vertex { position: (0.831025, 28.3457, -38.0611) }, + Vertex { position: (5.9214, 34.3417, -13.072) }, + Vertex { position: (10.0355, 32.6095, -22.7416) }, + Vertex { position: (13.7313, 30.8773, -31.4277) }, + Vertex { position: (15.3351, 28.3457, -35.1972) }, + Vertex { position: (10.0391, 34.3417, -10.3161) }, + Vertex { position: (17.4812, 32.6095, -17.7582) }, + Vertex { position: (24.1665, 30.8773, -24.4435) }, + Vertex { position: (27.0677, 28.3457, -27.3447) }, + Vertex { position: (12.795, 34.3417, -6.19841) }, + Vertex { position: (22.4646, 32.6095, -10.3125) }, + Vertex { position: (31.1507, 30.8773, -14.0083) }, + Vertex { position: (34.9202, 28.3457, -15.6121) } +]; + +#[derive(Copy, Clone)] +pub struct Normal { + normal: (f32, f32, f32) +} + +implement_vertex!(Normal, normal); + +pub const NORMALS: [Normal; 531] = [ + Normal { normal: (0.0, 0.0, 0.0) }, // dummy vector because in the original model indices + // start at 1 + Normal { normal: (-0.966742, -0.255752, 0.0) }, + Normal { normal: (-0.966824, 0.255443, 0.0) }, + Normal { normal: (-0.092052, 0.995754, 0.0) }, + Normal { normal: (0.68205, 0.731305, 0.0) }, + Normal { normal: (0.870301, 0.492521, -0.0) }, + Normal { normal: (-0.893014, -0.256345, -0.369882) }, + Normal { normal: (-0.893437, 0.255997, -0.369102) }, + Normal { normal: (-0.0838771, 0.995843, -0.0355068) }, + Normal { normal: (0.629724, 0.73186, 0.260439) }, + Normal { normal: (0.803725, 0.49337, 0.332584) }, + Normal { normal: (-0.683407, -0.256729, -0.683407) }, + Normal { normal: (-0.683531, 0.256067, -0.683531) }, + Normal { normal: (-0.0649249, 0.995776, -0.0649248) }, + Normal { normal: (0.481398, 0.732469, 0.481398) }, + Normal { normal: (0.614804, 0.493997, 0.614804) }, + Normal { normal: (-0.369882, -0.256345, -0.893014) }, + Normal { normal: (-0.369102, 0.255997, -0.893437) }, + Normal { normal: (-0.0355067, 0.995843, -0.0838772) }, + Normal { normal: (0.260439, 0.73186, 0.629724) }, + Normal { normal: (0.332584, 0.49337, 0.803725) }, + Normal { normal: (-0.00284834, -0.257863, -0.966177) }, + Normal { normal: (-0.00192311, 0.254736, -0.967009) }, + Normal { normal: (-0.000266114, 0.995734, -0.0922702) }, + Normal { normal: (0.0, 0.731295, 0.682061) }, + Normal { normal: (0.0, 0.492521, 0.870301) }, + Normal { normal: (0.379058, -0.3593, -0.852771) }, + Normal { normal: (0.37711, 0.149086, -0.914091) }, + Normal { normal: (0.0275022, 0.992081, -0.122551) }, + Normal { normal: (-0.26101, 0.726762, 0.635367) }, + Normal { normal: (-0.332485, 0.492546, 0.804271) }, + Normal { normal: (0.663548, -0.410791, -0.625264) }, + Normal { normal: (0.712664, 0.0737216, -0.697621) }, + Normal { normal: (0.0997268, 0.987509, -0.121984) }, + Normal { normal: (-0.48732, 0.723754, 0.488568) }, + Normal { normal: (-0.615242, 0.492602, 0.615484) }, + Normal { normal: (0.880028, -0.332908, -0.338709) }, + Normal { normal: (0.917276, 0.167113, -0.361493) }, + Normal { normal: (0.113584, 0.992365, -0.0480695) }, + Normal { normal: (-0.63415, 0.727508, 0.261889) }, + Normal { normal: (-0.804126, 0.492634, 0.332705) }, + Normal { normal: (0.96669, -0.255738, 0.0104537) }, + Normal { normal: (0.967442, 0.252962, 0.00810329) }, + Normal { normal: (0.0934365, 0.995624, 0.00128063) }, + Normal { normal: (-0.682167, 0.731196, -0.00034353) }, + Normal { normal: (-0.870322, 0.492483, -0.0) }, + Normal { normal: (0.893014, -0.256345, 0.369882) }, + Normal { normal: (0.893437, 0.255997, 0.369102) }, + Normal { normal: (0.0838768, 0.995843, 0.0355066) }, + Normal { normal: (-0.629724, 0.73186, -0.260439) }, + Normal { normal: (-0.803725, 0.49337, -0.332584) }, + Normal { normal: (0.683407, -0.256729, 0.683407) }, + Normal { normal: (0.683531, 0.256067, 0.683531) }, + Normal { normal: (0.0649249, 0.995776, 0.0649249) }, + Normal { normal: (-0.481398, 0.732469, -0.481398) }, + Normal { normal: (-0.614804, 0.493997, -0.614804) }, + Normal { normal: (0.369882, -0.256345, 0.893014) }, + Normal { normal: (0.369102, 0.255997, 0.893437) }, + Normal { normal: (0.0355067, 0.995843, 0.083877) }, + Normal { normal: (-0.260439, 0.73186, -0.629724) }, + Normal { normal: (-0.332584, 0.49337, -0.803725) }, + Normal { normal: (0.0, -0.255752, 0.966742) }, + Normal { normal: (0.0, 0.255443, 0.966824) }, + Normal { normal: (0.0, 0.995754, 0.092052) }, + Normal { normal: (0.0, 0.731305, -0.68205) }, + Normal { normal: (-0.0, 0.492521, -0.870301) }, + Normal { normal: (-0.369882, -0.256345, 0.893014) }, + Normal { normal: (-0.369102, 0.255996, 0.893437) }, + Normal { normal: (-0.0355068, 0.995843, 0.0838771) }, + Normal { normal: (0.260439, 0.73186, -0.629724) }, + Normal { normal: (0.332584, 0.49337, -0.803725) }, + Normal { normal: (-0.683407, -0.256729, 0.683407) }, + Normal { normal: (-0.683531, 0.256067, 0.683531) }, + Normal { normal: (-0.0649249, 0.995776, 0.064925) }, + Normal { normal: (0.481398, 0.732469, -0.481398) }, + Normal { normal: (0.614804, 0.493997, -0.614804) }, + Normal { normal: (-0.893014, -0.256345, 0.369882) }, + Normal { normal: (-0.893437, 0.255997, 0.369102) }, + Normal { normal: (-0.0838767, 0.995843, 0.0355066) }, + Normal { normal: (0.629724, 0.73186, -0.260439) }, + Normal { normal: (0.803725, 0.49337, -0.332584) }, + Normal { normal: (0.915321, 0.402725, 0.0) }, + Normal { normal: (0.941808, 0.336151, -0.0) }, + Normal { normal: (0.97869, 0.205342, 0.0) }, + Normal { normal: (0.997804, -0.0662397, 0.0) }, + Normal { normal: (0.845438, 0.403546, 0.349835) }, + Normal { normal: (0.869996, 0.336859, 0.360047) }, + Normal { normal: (0.904193, 0.205791, 0.37428) }, + Normal { normal: (0.921879, -0.0663697, 0.381752) }, + Normal { normal: (0.646802, 0.404096, 0.646802) }, + Normal { normal: (0.665655, 0.337351, 0.665655) }, + Normal { normal: (0.691923, 0.20612, 0.691923) }, + Normal { normal: (0.705542, -0.0664796, 0.705543) }, + Normal { normal: (0.349835, 0.403546, 0.845438) }, + Normal { normal: (0.360047, 0.336859, 0.869996) }, + Normal { normal: (0.37428, 0.205791, 0.904193) }, + Normal { normal: (0.381752, -0.0663697, 0.921879) }, + Normal { normal: (-0.0, 0.402725, 0.915321) }, + Normal { normal: (0.0, 0.336151, 0.941808) }, + Normal { normal: (-0.0, 0.205342, 0.97869) }, + Normal { normal: (-0.0, -0.0662397, 0.997804) }, + Normal { normal: (-0.349835, 0.403546, 0.845438) }, + Normal { normal: (-0.360047, 0.336859, 0.869996) }, + Normal { normal: (-0.37428, 0.205791, 0.904193) }, + Normal { normal: (-0.381752, -0.0663697, 0.921879) }, + Normal { normal: (-0.646802, 0.404096, 0.646802) }, + Normal { normal: (-0.665655, 0.337351, 0.665655) }, + Normal { normal: (-0.691923, 0.20612, 0.691923) }, + Normal { normal: (-0.705543, -0.0664796, 0.705543) }, + Normal { normal: (-0.845438, 0.403546, 0.349835) }, + Normal { normal: (-0.869996, 0.336859, 0.360047) }, + Normal { normal: (-0.904193, 0.205791, 0.37428) }, + Normal { normal: (-0.921879, -0.0663697, 0.381752) }, + Normal { normal: (-0.915321, 0.402725, -0.0) }, + Normal { normal: (-0.941808, 0.336151, -0.0) }, + Normal { normal: (-0.97869, 0.205342, -0.0) }, + Normal { normal: (-0.997804, -0.0662397, -0.0) }, + Normal { normal: (-0.845438, 0.403546, -0.349835) }, + Normal { normal: (-0.869996, 0.336859, -0.360047) }, + Normal { normal: (-0.904193, 0.205791, -0.37428) }, + Normal { normal: (-0.921879, -0.0663697, -0.381752) }, + Normal { normal: (-0.646802, 0.404096, -0.646802) }, + Normal { normal: (-0.665655, 0.337351, -0.665655) }, + Normal { normal: (-0.691923, 0.20612, -0.691923) }, + Normal { normal: (-0.705542, -0.0664796, -0.705543) }, + Normal { normal: (-0.349835, 0.403546, -0.845438) }, + Normal { normal: (-0.360047, 0.336859, -0.869996) }, + Normal { normal: (-0.37428, 0.205791, -0.904193) }, + Normal { normal: (-0.381752, -0.0663697, -0.921879) }, + Normal { normal: (0.0, 0.402725, -0.915321) }, + Normal { normal: (-0.0, 0.336151, -0.941808) }, + Normal { normal: (0.0, 0.205342, -0.97869) }, + Normal { normal: (0.0, -0.0662397, -0.997804) }, + Normal { normal: (0.349835, 0.403546, -0.845438) }, + Normal { normal: (0.360047, 0.336859, -0.869996) }, + Normal { normal: (0.37428, 0.205791, -0.904193) }, + Normal { normal: (0.381752, -0.0663697, -0.921879) }, + Normal { normal: (0.646802, 0.404096, -0.646802) }, + Normal { normal: (0.665655, 0.337351, -0.665655) }, + Normal { normal: (0.691923, 0.20612, -0.691923) }, + Normal { normal: (0.705543, -0.0664796, -0.705542) }, + Normal { normal: (0.845438, 0.403546, -0.349835) }, + Normal { normal: (0.869996, 0.336859, -0.360047) }, + Normal { normal: (0.904193, 0.205791, -0.37428) }, + Normal { normal: (0.921879, -0.0663697, -0.381752) }, + Normal { normal: (0.900182, -0.435513, -0.0) }, + Normal { normal: (0.729611, -0.683863, -0.0) }, + Normal { normal: (0.693951, -0.720022, -0.0) }, + Normal { normal: (0.79395, -0.607984, 0.0) }, + Normal { normal: (0.831437, -0.43618, 0.344179) }, + Normal { normal: (0.673512, -0.684665, 0.278594) }, + Normal { normal: (0.640399, -0.720924, 0.264874) }, + Normal { normal: (0.732949, -0.608996, 0.303166) }, + Normal { normal: (0.636092, -0.436777, 0.636092) }, + Normal { normal: (0.514965, -0.685289, 0.514965) }, + Normal { normal: (0.489651, -0.721446, 0.489651) }, + Normal { normal: (0.560555, -0.609554, 0.560555) }, + Normal { normal: (0.344179, -0.43618, 0.831437) }, + Normal { normal: (0.278594, -0.684665, 0.673512) }, + Normal { normal: (0.264874, -0.720924, 0.640399) }, + Normal { normal: (0.303166, -0.608996, 0.732949) }, + Normal { normal: (0.0, -0.435513, 0.900182) }, + Normal { normal: (-0.0, -0.683863, 0.729611) }, + Normal { normal: (0.0, -0.720022, 0.693951) }, + Normal { normal: (-0.0, -0.607984, 0.79395) }, + Normal { normal: (-0.344179, -0.43618, 0.831437) }, + Normal { normal: (-0.278594, -0.684665, 0.673512) }, + Normal { normal: (-0.264874, -0.720924, 0.640399) }, + Normal { normal: (-0.303166, -0.608996, 0.732949) }, + Normal { normal: (-0.636092, -0.436777, 0.636092) }, + Normal { normal: (-0.514965, -0.685289, 0.514965) }, + Normal { normal: (-0.489651, -0.721446, 0.489651) }, + Normal { normal: (-0.560555, -0.609554, 0.560555) }, + Normal { normal: (-0.831437, -0.43618, 0.344179) }, + Normal { normal: (-0.673512, -0.684665, 0.278595) }, + Normal { normal: (-0.640399, -0.720924, 0.264874) }, + Normal { normal: (-0.732949, -0.608996, 0.303166) }, + Normal { normal: (-0.900182, -0.435513, -0.0) }, + Normal { normal: (-0.729611, -0.683863, -0.0) }, + Normal { normal: (-0.693951, -0.720022, 0.0) }, + Normal { normal: (-0.79395, -0.607983, -0.0) }, + Normal { normal: (-0.831437, -0.43618, -0.344179) }, + Normal { normal: (-0.673512, -0.684665, -0.278594) }, + Normal { normal: (-0.640399, -0.720924, -0.264874) }, + Normal { normal: (-0.732949, -0.608996, -0.303166) }, + Normal { normal: (-0.636092, -0.436777, -0.636092) }, + Normal { normal: (-0.514965, -0.685289, -0.514965) }, + Normal { normal: (-0.489651, -0.721446, -0.489651) }, + Normal { normal: (-0.560555, -0.609554, -0.560555) }, + Normal { normal: (-0.344179, -0.43618, -0.831437) }, + Normal { normal: (-0.278594, -0.684665, -0.673512) }, + Normal { normal: (-0.264874, -0.720924, -0.640399) }, + Normal { normal: (-0.303166, -0.608996, -0.732949) }, + Normal { normal: (-0.0, -0.435513, -0.900182) }, + Normal { normal: (0.0, -0.683863, -0.729611) }, + Normal { normal: (-0.0, -0.720022, -0.693951) }, + Normal { normal: (0.0, -0.607984, -0.79395) }, + Normal { normal: (0.344179, -0.43618, -0.831437) }, + Normal { normal: (0.278594, -0.684665, -0.673512) }, + Normal { normal: (0.264874, -0.720924, -0.640399) }, + Normal { normal: (0.303167, -0.608996, -0.732949) }, + Normal { normal: (0.636092, -0.436777, -0.636092) }, + Normal { normal: (0.514965, -0.685289, -0.514965) }, + Normal { normal: (0.489651, -0.721446, -0.489651) }, + Normal { normal: (0.560555, -0.609554, -0.560555) }, + Normal { normal: (0.831437, -0.43618, -0.344179) }, + Normal { normal: (0.673512, -0.684665, -0.278595) }, + Normal { normal: (0.640399, -0.720924, -0.264874) }, + Normal { normal: (0.732949, -0.608996, -0.303166) }, + Normal { normal: (0.62386, -0.781536, 0.0) }, + Normal { normal: (0.177291, -0.984159, -0.0) }, + Normal { normal: (0.0492072, -0.998789, 0.0) }, + Normal { normal: (0.0, -1.0, -0.0) }, + Normal { normal: (0.576229, -0.781801, 0.238217) }, + Normal { normal: (0.163629, -0.984208, 0.0675273) }, + Normal { normal: (0.0454217, -0.998792, 0.0187357) }, + Normal { normal: (0.440416, -0.782348, 0.440416) }, + Normal { normal: (0.124903, -0.984276, 0.124903) }, + Normal { normal: (0.0346621, -0.998798, 0.0346621) }, + Normal { normal: (0.238217, -0.781801, 0.576229) }, + Normal { normal: (0.0675273, -0.984208, 0.163629) }, + Normal { normal: (0.0187357, -0.998792, 0.0454217) }, + Normal { normal: (-0.0, -0.781536, 0.62386) }, + Normal { normal: (0.0, -0.984159, 0.177291) }, + Normal { normal: (-0.0, -0.998789, 0.0492072) }, + Normal { normal: (-0.238216, -0.781801, 0.576229) }, + Normal { normal: (-0.0675273, -0.984208, 0.163629) }, + Normal { normal: (-0.0187357, -0.998792, 0.0454217) }, + Normal { normal: (-0.440416, -0.782348, 0.440416) }, + Normal { normal: (-0.124903, -0.984276, 0.124903) }, + Normal { normal: (-0.0346621, -0.998798, 0.0346621) }, + Normal { normal: (-0.576229, -0.781801, 0.238217) }, + Normal { normal: (-0.163629, -0.984208, 0.0675273) }, + Normal { normal: (-0.0454217, -0.998792, 0.0187357) }, + Normal { normal: (-0.62386, -0.781536, -0.0) }, + Normal { normal: (-0.177291, -0.984159, 0.0) }, + Normal { normal: (-0.0492072, -0.998789, -0.0) }, + Normal { normal: (-0.576229, -0.781801, -0.238217) }, + Normal { normal: (-0.163629, -0.984208, -0.0675273) }, + Normal { normal: (-0.0454217, -0.998792, -0.0187357) }, + Normal { normal: (-0.440416, -0.782348, -0.440416) }, + Normal { normal: (-0.124903, -0.984276, -0.124903) }, + Normal { normal: (-0.0346621, -0.998798, -0.0346621) }, + Normal { normal: (-0.238217, -0.781801, -0.576229) }, + Normal { normal: (-0.0675273, -0.984208, -0.163629) }, + Normal { normal: (-0.0187357, -0.998792, -0.0454217) }, + Normal { normal: (0.0, -0.781536, -0.62386) }, + Normal { normal: (-0.0, -0.984159, -0.177291) }, + Normal { normal: (0.0, -0.998789, -0.0492072) }, + Normal { normal: (0.238217, -0.781801, -0.576229) }, + Normal { normal: (0.0675273, -0.984208, -0.163629) }, + Normal { normal: (0.0187357, -0.998792, -0.0454217) }, + Normal { normal: (0.440416, -0.782348, -0.440416) }, + Normal { normal: (0.124903, -0.984276, -0.124903) }, + Normal { normal: (0.0346621, -0.998798, -0.0346621) }, + Normal { normal: (0.576229, -0.781801, -0.238217) }, + Normal { normal: (0.163629, -0.984208, -0.0675273) }, + Normal { normal: (0.0454217, -0.998792, -0.0187357) }, + Normal { normal: (0.00778619, -0.99997, -0.000215809) }, + Normal { normal: (0.0391385, -0.999233, -0.000988567) }, + Normal { normal: (0.179511, -0.983746, -0.00436856) }, + Normal { normal: (0.6123, -0.790556, -0.0104598) }, + Normal { normal: (0.986152, -0.165707, -0.00666949) }, + Normal { normal: (0.00703893, -0.812495, 0.582926) }, + Normal { normal: (0.0361273, -0.837257, 0.545614) }, + Normal { normal: (0.161845, -0.810421, 0.563048) }, + Normal { normal: (0.482365, -0.595148, 0.642746) }, + Normal { normal: (0.73872, -0.114593, 0.664199) }, + Normal { normal: (-0.00190867, 0.162121, 0.986769) }, + Normal { normal: (0.0027616, 0.0171073, 0.99985) }, + Normal { normal: (0.0105326, 0.0733989, 0.997247) }, + Normal { normal: (-0.0660406, 0.130069, 0.989303) }, + Normal { normal: (-0.0944272, 0.0165946, 0.995393) }, + Normal { normal: (-0.009203, 0.871509, 0.490293) }, + Normal { normal: (-0.0486064, 0.840609, 0.539457) }, + Normal { normal: (-0.223298, 0.802881, 0.552739) }, + Normal { normal: (-0.596365, 0.559971, 0.575135) }, + Normal { normal: (-0.803337, 0.0682361, 0.591602) }, + Normal { normal: (-0.0105609, 0.999944, 0.000103364) }, + Normal { normal: (-0.0587986, 0.99827, 0.000709759) }, + Normal { normal: (-0.28071, 0.959787, 0.00326876) }, + Normal { normal: (-0.749723, 0.661738, 0.0042684) }, + Normal { normal: (-0.997351, 0.0727144, 0.00205923) }, + Normal { normal: (-0.00879197, 0.871493, -0.49033) }, + Normal { normal: (-0.0464937, 0.841178, -0.538756) }, + Normal { normal: (-0.217909, 0.806807, -0.549161) }, + Normal { normal: (-0.597291, 0.560026, -0.574121) }, + Normal { normal: (-0.804, 0.0629127, -0.591291) }, + Normal { normal: (-0.00180555, 0.161691, -0.98684) }, + Normal { normal: (0.00203087, 0.014555, -0.999892) }, + Normal { normal: (0.00921499, 0.0600698, -0.998152) }, + Normal { normal: (-0.0593333, 0.113865, -0.991723) }, + Normal { normal: (-0.0868992, 0.0122903, -0.996141) }, + Normal { normal: (0.00641779, -0.812379, -0.583094) }, + Normal { normal: (0.0337833, -0.837512, -0.545373) }, + Normal { normal: (0.157112, -0.811947, -0.56219) }, + Normal { normal: (0.484407, -0.589365, -0.646528) }, + Normal { normal: (0.73887, -0.10132, -0.666187) }, + Normal { normal: (0.946512, 0.32265, -0.0033571) }, + Normal { normal: (0.82583, 0.56387, -0.00745213) }, + Normal { normal: (0.650011, 0.759893, -0.00693681) }, + Normal { normal: (0.532429, 0.846458, -0.00524544) }, + Normal { normal: (0.725608, 0.259351, 0.637362) }, + Normal { normal: (0.645945, 0.461988, 0.607719) }, + Normal { normal: (0.531614, 0.63666, 0.558615) }, + Normal { normal: (0.424964, 0.681717, 0.59554) }, + Normal { normal: (-0.0495616, -0.019755, 0.998576) }, + Normal { normal: (-0.0378162, -0.0356243, 0.99865) }, + Normal { normal: (-0.0379139, -0.0365122, 0.998614) }, + Normal { normal: (-0.168854, -0.297946, 0.93953) }, + Normal { normal: (-0.742342, -0.299166, 0.599523) }, + Normal { normal: (-0.619602, -0.529406, 0.579503) }, + Normal { normal: (-0.483708, -0.685761, 0.543837) }, + Normal { normal: (-0.445293, -0.794355, 0.413176) }, + Normal { normal: (-0.926513, -0.376257, 0.00199587) }, + Normal { normal: (-0.75392, -0.656952, 0.00431723) }, + Normal { normal: (-0.566224, -0.824244, 0.00346105) }, + Normal { normal: (-0.481804, -0.876277, 0.00185047) }, + Normal { normal: (-0.744675, -0.294424, -0.598977) }, + Normal { normal: (-0.621949, -0.528114, -0.578165) }, + Normal { normal: (-0.481171, -0.68834, -0.542828) }, + Normal { normal: (-0.438055, -0.797035, -0.415744) }, + Normal { normal: (-0.0443368, -0.0170558, -0.998871) }, + Normal { normal: (-0.0261761, -0.0281665, -0.99926) }, + Normal { normal: (-0.0252939, -0.0283323, -0.999278) }, + Normal { normal: (-0.157482, -0.289392, -0.944167) }, + Normal { normal: (0.728244, 0.25241, -0.637142) }, + Normal { normal: (0.647055, 0.459725, -0.608254) }, + Normal { normal: (0.522994, 0.640657, -0.562171) }, + Normal { normal: (0.409978, 0.682857, -0.604669) }, + Normal { normal: (-0.230787, 0.972982, -0.00652338) }, + Normal { normal: (-0.548936, 0.835863, -0.00151111) }, + Normal { normal: (-0.875671, 0.482807, 0.00989278) }, + Normal { normal: (-0.877554, 0.479097, 0.0190923) }, + Normal { normal: (-0.69619, 0.717439, 0.024497) }, + Normal { normal: (-0.152878, 0.687211, 0.71019) }, + Normal { normal: (-0.316721, 0.63775, 0.702113) }, + Normal { normal: (-0.601067, 0.471452, 0.64533) }, + Normal { normal: (-0.635889, 0.44609, 0.6298) }, + Normal { normal: (-0.435746, 0.601008, 0.670011) }, + Normal { normal: (0.111112, -0.0850694, 0.99016) }, + Normal { normal: (0.22331, 0.00654036, 0.974726) }, + Normal { normal: (0.190097, 0.154964, 0.969458) }, + Normal { normal: (0.00527077, 0.189482, 0.98187) }, + Normal { normal: (-0.0117518, 0.246688, 0.969024) }, + Normal { normal: (0.343906, -0.722796, 0.599412) }, + Normal { normal: (0.572489, -0.567656, 0.591627) }, + Normal { normal: (0.787436, -0.256459, 0.560512) }, + Normal { normal: (0.647097, -0.306374, 0.698141) }, + Normal { normal: (0.427528, -0.499343, 0.753576) }, + Normal { normal: (0.410926, -0.911668, 0.00128446) }, + Normal { normal: (0.67152, -0.740986, -0.000899122) }, + Normal { normal: (0.922026, -0.38706, -0.00725269) }, + Normal { normal: (0.84691, -0.531556, -0.0138542) }, + Normal { normal: (0.535925, -0.8442, -0.0105045) }, + Normal { normal: (0.341188, -0.722822, -0.600931) }, + Normal { normal: (0.578664, -0.561139, -0.591838) }, + Normal { normal: (0.784869, -0.25102, -0.566542) }, + Normal { normal: (0.642681, -0.302257, -0.70399) }, + Normal { normal: (0.418589, -0.500042, -0.758117) }, + Normal { normal: (0.115806, -0.0791394, -0.990114) }, + Normal { normal: (0.232811, 0.0125652, -0.972441) }, + Normal { normal: (0.206662, 0.153601, -0.96628) }, + Normal { normal: (0.0244996, 0.161443, -0.986578) }, + Normal { normal: (0.00338193, 0.211115, -0.977455) }, + Normal { normal: (-0.134912, 0.687491, -0.713551) }, + Normal { normal: (-0.31954, 0.633073, -0.705062) }, + Normal { normal: (-0.603902, 0.461442, -0.649903) }, + Normal { normal: (-0.631816, 0.437169, -0.640072) }, + Normal { normal: (-0.424306, 0.612706, -0.66675) }, + Normal { normal: (-0.4258, 0.904753, 0.0108049) }, + Normal { normal: (0.0220472, 0.999756, 0.00162273) }, + Normal { normal: (0.999599, 0.0258705, 0.0115556) }, + Normal { normal: (0.709585, -0.704553, 0.00967183) }, + Normal { normal: (-0.259858, 0.791936, 0.552549) }, + Normal { normal: (0.00953916, 0.99972, -0.0216718) }, + Normal { normal: (0.410156, 0.332912, -0.849083) }, + Normal { normal: (0.541523, -0.54862, -0.637) }, + Normal { normal: (0.0463104, 0.455224, 0.889172) }, + Normal { normal: (-0.0106883, 0.988794, 0.148901) }, + Normal { normal: (-0.0443756, 0.682947, -0.729118) }, + Normal { normal: (0.122825, 0.00923214, -0.992385) }, + Normal { normal: (0.481839, -0.180439, 0.85748) }, + Normal { normal: (0.455272, 0.736752, 0.499925) }, + Normal { normal: (-0.220542, 0.907193, -0.358276) }, + Normal { normal: (-0.23592, 0.657249, -0.715797) }, + Normal { normal: (0.728092, -0.685302, -0.0155853) }, + Normal { normal: (0.888739, 0.45811, -0.0166791) }, + Normal { normal: (-0.260097, 0.965582, 0.000800195) }, + Normal { normal: (-0.371612, 0.928378, -0.00441745) }, + Normal { normal: (0.480166, -0.17836, -0.858853) }, + Normal { normal: (0.488103, 0.716801, -0.497947) }, + Normal { normal: (-0.222004, 0.905399, 0.361893) }, + Normal { normal: (-0.235405, 0.66318, 0.710477) }, + Normal { normal: (0.0587203, 0.437704, -0.8972) }, + Normal { normal: (0.00132612, 0.986459, -0.164003) }, + Normal { normal: (-0.0441901, 0.681677, 0.730317) }, + Normal { normal: (0.138801, -0.0341896, 0.98973) }, + Normal { normal: (-0.25889, 0.797206, -0.54538) }, + Normal { normal: (0.0122703, 0.999739, 0.0192865) }, + Normal { normal: (0.39863, 0.35489, 0.845663) }, + Normal { normal: (0.537564, -0.5814, 0.610737) }, + Normal { normal: (-0.0, 1.0, 0.0) }, + Normal { normal: (0.82454, 0.565804, 0.0) }, + Normal { normal: (0.917701, -0.397272, 0.0) }, + Normal { normal: (0.935269, -0.353939, 0.000112842) }, + Normal { normal: (0.780712, 0.624891, 0.0) }, + Normal { normal: (0.762641, 0.565035, 0.314825) }, + Normal { normal: (0.847982, -0.397998, 0.350034) }, + Normal { normal: (0.864141, -0.355261, 0.356441) }, + Normal { normal: (0.720991, 0.625625, 0.297933) }, + Normal { normal: (0.583357, 0.565165, 0.583338) }, + Normal { normal: (0.648485, -0.398726, 0.648448) }, + Normal { normal: (0.660872, -0.355894, 0.660748) }, + Normal { normal: (0.551862, 0.62529, 0.55178) }, + Normal { normal: (0.314824, 0.565051, 0.762629) }, + Normal { normal: (0.350045, -0.397976, 0.847988) }, + Normal { normal: (0.356474, -0.3552, 0.864153) }, + Normal { normal: (0.297983, 0.625515, 0.721067) }, + Normal { normal: (-0.0, 0.565804, 0.82454) }, + Normal { normal: (-0.0, -0.397272, 0.917701) }, + Normal { normal: (-0.000112839, -0.353939, 0.935269) }, + Normal { normal: (-0.0, 0.624891, 0.780712) }, + Normal { normal: (-0.314825, 0.565035, 0.762641) }, + Normal { normal: (-0.350034, -0.397998, 0.847982) }, + Normal { normal: (-0.356441, -0.355261, 0.864141) }, + Normal { normal: (-0.297933, 0.625625, 0.720991) }, + Normal { normal: (-0.583338, 0.565165, 0.583357) }, + Normal { normal: (-0.648448, -0.398726, 0.648485) }, + Normal { normal: (-0.660748, -0.355894, 0.660872) }, + Normal { normal: (-0.55178, 0.62529, 0.551862) }, + Normal { normal: (-0.762629, 0.565051, 0.314824) }, + Normal { normal: (-0.847988, -0.397976, 0.350045) }, + Normal { normal: (-0.864153, -0.3552, 0.356474) }, + Normal { normal: (-0.721067, 0.625515, 0.297983) }, + Normal { normal: (-0.82454, 0.565804, -0.0) }, + Normal { normal: (-0.917701, -0.397272, -0.0) }, + Normal { normal: (-0.935269, -0.353939, -0.000112839) }, + Normal { normal: (-0.780712, 0.624891, -0.0) }, + Normal { normal: (-0.76264, 0.565035, -0.314825) }, + Normal { normal: (-0.847982, -0.397998, -0.350034) }, + Normal { normal: (-0.864141, -0.355261, -0.356441) }, + Normal { normal: (-0.720991, 0.625625, -0.297933) }, + Normal { normal: (-0.583357, 0.565165, -0.583338) }, + Normal { normal: (-0.648485, -0.398726, -0.648448) }, + Normal { normal: (-0.660872, -0.355894, -0.660748) }, + Normal { normal: (-0.551862, 0.62529, -0.55178) }, + Normal { normal: (-0.314824, 0.565051, -0.762629) }, + Normal { normal: (-0.350045, -0.397976, -0.847988) }, + Normal { normal: (-0.356474, -0.3552, -0.864153) }, + Normal { normal: (-0.297983, 0.625515, -0.721067) }, + Normal { normal: (0.0, 0.565804, -0.82454) }, + Normal { normal: (0.0, -0.397272, -0.917701) }, + Normal { normal: (0.000112839, -0.353939, -0.935269) }, + Normal { normal: (0.0, 0.624891, -0.780712) }, + Normal { normal: (0.314825, 0.565035, -0.762641) }, + Normal { normal: (0.350034, -0.397998, -0.847982) }, + Normal { normal: (0.356441, -0.355261, -0.864141) }, + Normal { normal: (0.297933, 0.625625, -0.720991) }, + Normal { normal: (0.583338, 0.565165, -0.583357) }, + Normal { normal: (0.648448, -0.398726, -0.648485) }, + Normal { normal: (0.660748, -0.355894, -0.660872) }, + Normal { normal: (0.55178, 0.62529, -0.551862) }, + Normal { normal: (0.762629, 0.565051, -0.314824) }, + Normal { normal: (0.847988, -0.397976, -0.350045) }, + Normal { normal: (0.864153, -0.3552, -0.356474) }, + Normal { normal: (0.721067, 0.625515, -0.297983) }, + Normal { normal: (0.236584, 0.971611, 0.0) }, + Normal { normal: (0.173084, 0.984907, -0.0) }, + Normal { normal: (0.379703, 0.925108, 0.0) }, + Normal { normal: (0.526673, 0.850068, 0.0) }, + Normal { normal: (0.217978, 0.971775, 0.0902162) }, + Normal { normal: (0.15959, 0.984977, 0.0659615) }, + Normal { normal: (0.350498, 0.925312, 0.14474) }, + Normal { normal: (0.48559, 0.850653, 0.201474) }, + Normal { normal: (0.166631, 0.971838, 0.166631) }, + Normal { normal: (0.121908, 0.985026, 0.121908) }, + Normal { normal: (0.267668, 0.925585, 0.267668) }, + Normal { normal: (0.371315, 0.851029, 0.371315) }, + Normal { normal: (0.0902162, 0.971775, 0.217978) }, + Normal { normal: (0.0659615, 0.984977, 0.15959) }, + Normal { normal: (0.14474, 0.925312, 0.350498) }, + Normal { normal: (0.201474, 0.850653, 0.48559) }, + Normal { normal: (-0.0, 0.971611, 0.236584) }, + Normal { normal: (0.0, 0.984907, 0.173084) }, + Normal { normal: (0.0, 0.925108, 0.379703) }, + Normal { normal: (0.0, 0.850068, 0.526673) }, + Normal { normal: (-0.0902162, 0.971775, 0.217978) }, + Normal { normal: (-0.0659615, 0.984977, 0.15959) }, + Normal { normal: (-0.14474, 0.925312, 0.350498) }, + Normal { normal: (-0.201474, 0.850653, 0.48559) }, + Normal { normal: (-0.166631, 0.971838, 0.166631) }, + Normal { normal: (-0.121908, 0.985026, 0.121908) }, + Normal { normal: (-0.267668, 0.925585, 0.267668) }, + Normal { normal: (-0.371315, 0.851029, 0.371315) }, + Normal { normal: (-0.217978, 0.971775, 0.0902162) }, + Normal { normal: (-0.15959, 0.984977, 0.0659615) }, + Normal { normal: (-0.350498, 0.925312, 0.14474) }, + Normal { normal: (-0.48559, 0.850653, 0.201474) }, + Normal { normal: (-0.236583, 0.971611, -0.0) }, + Normal { normal: (-0.173084, 0.984907, 0.0) }, + Normal { normal: (-0.379703, 0.925108, -0.0) }, + Normal { normal: (-0.526673, 0.850068, 0.0) }, + Normal { normal: (-0.217978, 0.971775, -0.0902162) }, + Normal { normal: (-0.15959, 0.984977, -0.0659615) }, + Normal { normal: (-0.350498, 0.925312, -0.14474) }, + Normal { normal: (-0.48559, 0.850653, -0.201474) }, + Normal { normal: (-0.166631, 0.971838, -0.166631) }, + Normal { normal: (-0.121908, 0.985026, -0.121908) }, + Normal { normal: (-0.267668, 0.925585, -0.267668) }, + Normal { normal: (-0.371315, 0.851029, -0.371315) }, + Normal { normal: (-0.0902162, 0.971775, -0.217978) }, + Normal { normal: (-0.0659615, 0.984977, -0.15959) }, + Normal { normal: (-0.14474, 0.925312, -0.350498) }, + Normal { normal: (-0.201474, 0.850653, -0.485589) }, + Normal { normal: (0.0, 0.971611, -0.236584) }, + Normal { normal: (-0.0, 0.984907, -0.173084) }, + Normal { normal: (-0.0, 0.925108, -0.379703) }, + Normal { normal: (-0.0, 0.850068, -0.526673) }, + Normal { normal: (0.0902162, 0.971775, -0.217978) }, + Normal { normal: (0.0659615, 0.984977, -0.15959) }, + Normal { normal: (0.14474, 0.925312, -0.350498) }, + Normal { normal: (0.201474, 0.850653, -0.48559) }, + Normal { normal: (0.166631, 0.971838, -0.166631) }, + Normal { normal: (0.121908, 0.985026, -0.121908) }, + Normal { normal: (0.267668, 0.925585, -0.267668) }, + Normal { normal: (0.371315, 0.851029, -0.371315) }, + Normal { normal: (0.217978, 0.971775, -0.0902162) }, + Normal { normal: (0.15959, 0.984977, -0.0659615) }, + Normal { normal: (0.350498, 0.925312, -0.14474) }, + Normal { normal: (0.48559, 0.850653, -0.201474) }, +]; + +pub const INDICES: [u16; 3072] = [ + 7, 6, 1, + 1, 2, 7, + 8, 7, 2, + 2, 3, 8, + 9, 8, 3, + 3, 4, 9, + 10, 9, 4, + 4, 5, 10, + 12, 11, 6, + 6, 7, 12, + 13, 12, 7, + 7, 8, 13, + 14, 13, 8, + 8, 9, 14, + 15, 14, 9, + 9, 10, 15, + 17, 16, 11, + 11, 12, 17, + 18, 17, 12, + 12, 13, 18, + 19, 18, 13, + 13, 14, 19, + 20, 19, 14, + 14, 15, 20, + 22, 21, 16, + 16, 17, 22, + 23, 22, 17, + 17, 18, 23, + 24, 23, 18, + 18, 19, 24, + 25, 24, 19, + 19, 20, 25, + 27, 26, 21, + 21, 22, 27, + 28, 27, 22, + 22, 23, 28, + 29, 28, 23, + 23, 24, 29, + 30, 29, 24, + 24, 25, 30, + 32, 31, 26, + 26, 27, 32, + 33, 32, 27, + 27, 28, 33, + 34, 33, 28, + 28, 29, 34, + 35, 34, 29, + 29, 30, 35, + 37, 36, 31, + 31, 32, 37, + 38, 37, 32, + 32, 33, 38, + 39, 38, 33, + 33, 34, 39, + 40, 39, 34, + 34, 35, 40, + 42, 41, 36, + 36, 37, 42, + 43, 42, 37, + 37, 38, 43, + 44, 43, 38, + 38, 39, 44, + 45, 44, 39, + 39, 40, 45, + 47, 46, 41, + 41, 42, 47, + 48, 47, 42, + 42, 43, 48, + 49, 48, 43, + 43, 44, 49, + 50, 49, 44, + 44, 45, 50, + 52, 51, 46, + 46, 47, 52, + 53, 52, 47, + 47, 48, 53, + 54, 53, 48, + 48, 49, 54, + 55, 54, 49, + 49, 50, 55, + 57, 56, 51, + 51, 52, 57, + 58, 57, 52, + 52, 53, 58, + 59, 58, 53, + 53, 54, 59, + 60, 59, 54, + 54, 55, 60, + 62, 61, 56, + 56, 57, 62, + 63, 62, 57, + 57, 58, 63, + 64, 63, 58, + 58, 59, 64, + 65, 64, 59, + 59, 60, 65, + 67, 66, 61, + 61, 62, 67, + 68, 67, 62, + 62, 63, 68, + 69, 68, 63, + 63, 64, 69, + 70, 69, 64, + 64, 65, 70, + 72, 71, 66, + 66, 67, 72, + 73, 72, 67, + 67, 68, 73, + 74, 73, 68, + 68, 69, 74, + 75, 74, 69, + 69, 70, 75, + 77, 76, 71, + 71, 72, 77, + 78, 77, 72, + 72, 73, 78, + 79, 78, 73, + 73, 74, 79, + 80, 79, 74, + 74, 75, 80, + 2, 1, 76, + 76, 77, 2, + 3, 2, 77, + 77, 78, 3, + 4, 3, 78, + 78, 79, 4, + 5, 4, 79, + 79, 80, 5, + 85, 10, 5, + 5, 81, 85, + 86, 85, 81, + 81, 82, 86, + 87, 86, 82, + 82, 83, 87, + 88, 87, 83, + 83, 84, 88, + 89, 15, 10, + 10, 85, 89, + 90, 89, 85, + 85, 86, 90, + 91, 90, 86, + 86, 87, 91, + 92, 91, 87, + 87, 88, 92, + 93, 20, 15, + 15, 89, 93, + 94, 93, 89, + 89, 90, 94, + 95, 94, 90, + 90, 91, 95, + 96, 95, 91, + 91, 92, 96, + 97, 25, 20, + 20, 93, 97, + 98, 97, 93, + 93, 94, 98, + 99, 98, 94, + 94, 95, 99, + 100, 99, 95, + 95, 96, 100, + 101, 30, 25, + 25, 97, 101, + 102, 101, 97, + 97, 98, 102, + 103, 102, 98, + 98, 99, 103, + 104, 103, 99, + 99, 100, 104, + 105, 35, 30, + 30, 101, 105, + 106, 105, 101, + 101, 102, 106, + 107, 106, 102, + 102, 103, 107, + 108, 107, 103, + 103, 104, 108, + 109, 40, 35, + 35, 105, 109, + 110, 109, 105, + 105, 106, 110, + 111, 110, 106, + 106, 107, 111, + 112, 111, 107, + 107, 108, 112, + 113, 45, 40, + 40, 109, 113, + 114, 113, 109, + 109, 110, 114, + 115, 114, 110, + 110, 111, 115, + 116, 115, 111, + 111, 112, 116, + 117, 50, 45, + 45, 113, 117, + 118, 117, 113, + 113, 114, 118, + 119, 118, 114, + 114, 115, 119, + 120, 119, 115, + 115, 116, 120, + 121, 55, 50, + 50, 117, 121, + 122, 121, 117, + 117, 118, 122, + 123, 122, 118, + 118, 119, 123, + 124, 123, 119, + 119, 120, 124, + 125, 60, 55, + 55, 121, 125, + 126, 125, 121, + 121, 122, 126, + 127, 126, 122, + 122, 123, 127, + 128, 127, 123, + 123, 124, 128, + 129, 65, 60, + 60, 125, 129, + 130, 129, 125, + 125, 126, 130, + 131, 130, 126, + 126, 127, 131, + 132, 131, 127, + 127, 128, 132, + 133, 70, 65, + 65, 129, 133, + 134, 133, 129, + 129, 130, 134, + 135, 134, 130, + 130, 131, 135, + 136, 135, 131, + 131, 132, 136, + 137, 75, 70, + 70, 133, 137, + 138, 137, 133, + 133, 134, 138, + 139, 138, 134, + 134, 135, 139, + 140, 139, 135, + 135, 136, 140, + 141, 80, 75, + 75, 137, 141, + 142, 141, 137, + 137, 138, 142, + 143, 142, 138, + 138, 139, 143, + 144, 143, 139, + 139, 140, 144, + 81, 5, 80, + 80, 141, 81, + 82, 81, 141, + 141, 142, 82, + 83, 82, 142, + 142, 143, 83, + 84, 83, 143, + 143, 144, 84, + 149, 88, 84, + 84, 145, 149, + 150, 149, 145, + 145, 146, 150, + 151, 150, 146, + 146, 147, 151, + 152, 151, 147, + 147, 148, 152, + 153, 92, 88, + 88, 149, 153, + 154, 153, 149, + 149, 150, 154, + 155, 154, 150, + 150, 151, 155, + 156, 155, 151, + 151, 152, 156, + 157, 96, 92, + 92, 153, 157, + 158, 157, 153, + 153, 154, 158, + 159, 158, 154, + 154, 155, 159, + 160, 159, 155, + 155, 156, 160, + 161, 100, 96, + 96, 157, 161, + 162, 161, 157, + 157, 158, 162, + 163, 162, 158, + 158, 159, 163, + 164, 163, 159, + 159, 160, 164, + 165, 104, 100, + 100, 161, 165, + 166, 165, 161, + 161, 162, 166, + 167, 166, 162, + 162, 163, 167, + 168, 167, 163, + 163, 164, 168, + 169, 108, 104, + 104, 165, 169, + 170, 169, 165, + 165, 166, 170, + 171, 170, 166, + 166, 167, 171, + 172, 171, 167, + 167, 168, 172, + 173, 112, 108, + 108, 169, 173, + 174, 173, 169, + 169, 170, 174, + 175, 174, 170, + 170, 171, 175, + 176, 175, 171, + 171, 172, 176, + 177, 116, 112, + 112, 173, 177, + 178, 177, 173, + 173, 174, 178, + 179, 178, 174, + 174, 175, 179, + 180, 179, 175, + 175, 176, 180, + 181, 120, 116, + 116, 177, 181, + 182, 181, 177, + 177, 178, 182, + 183, 182, 178, + 178, 179, 183, + 184, 183, 179, + 179, 180, 184, + 185, 124, 120, + 120, 181, 185, + 186, 185, 181, + 181, 182, 186, + 187, 186, 182, + 182, 183, 187, + 188, 187, 183, + 183, 184, 188, + 189, 128, 124, + 124, 185, 189, + 190, 189, 185, + 185, 186, 190, + 191, 190, 186, + 186, 187, 191, + 192, 191, 187, + 187, 188, 192, + 193, 132, 128, + 128, 189, 193, + 194, 193, 189, + 189, 190, 194, + 195, 194, 190, + 190, 191, 195, + 196, 195, 191, + 191, 192, 196, + 197, 136, 132, + 132, 193, 197, + 198, 197, 193, + 193, 194, 198, + 199, 198, 194, + 194, 195, 199, + 200, 199, 195, + 195, 196, 200, + 201, 140, 136, + 136, 197, 201, + 202, 201, 197, + 197, 198, 202, + 203, 202, 198, + 198, 199, 203, + 204, 203, 199, + 199, 200, 204, + 205, 144, 140, + 140, 201, 205, + 206, 205, 201, + 201, 202, 206, + 207, 206, 202, + 202, 203, 207, + 208, 207, 203, + 203, 204, 208, + 145, 84, 144, + 144, 205, 145, + 146, 145, 205, + 205, 206, 146, + 147, 146, 206, + 206, 207, 147, + 148, 147, 207, + 207, 208, 148, + 213, 152, 148, + 148, 209, 213, + 214, 213, 209, + 209, 210, 214, + 215, 214, 210, + 210, 211, 215, + 212, 215, 211, + 211, 212, 212, + 216, 156, 152, + 152, 213, 216, + 217, 216, 213, + 213, 214, 217, + 218, 217, 214, + 214, 215, 218, + 212, 218, 215, + 215, 212, 212, + 219, 160, 156, + 156, 216, 219, + 220, 219, 216, + 216, 217, 220, + 221, 220, 217, + 217, 218, 221, + 212, 221, 218, + 218, 212, 212, + 222, 164, 160, + 160, 219, 222, + 223, 222, 219, + 219, 220, 223, + 224, 223, 220, + 220, 221, 224, + 212, 224, 221, + 221, 212, 212, + 225, 168, 164, + 164, 222, 225, + 226, 225, 222, + 222, 223, 226, + 227, 226, 223, + 223, 224, 227, + 212, 227, 224, + 224, 212, 212, + 228, 172, 168, + 168, 225, 228, + 229, 228, 225, + 225, 226, 229, + 230, 229, 226, + 226, 227, 230, + 212, 230, 227, + 227, 212, 212, + 231, 176, 172, + 172, 228, 231, + 232, 231, 228, + 228, 229, 232, + 233, 232, 229, + 229, 230, 233, + 212, 233, 230, + 230, 212, 212, + 234, 180, 176, + 176, 231, 234, + 235, 234, 231, + 231, 232, 235, + 236, 235, 232, + 232, 233, 236, + 212, 236, 233, + 233, 212, 212, + 237, 184, 180, + 180, 234, 237, + 238, 237, 234, + 234, 235, 238, + 239, 238, 235, + 235, 236, 239, + 212, 239, 236, + 236, 212, 212, + 240, 188, 184, + 184, 237, 240, + 241, 240, 237, + 237, 238, 241, + 242, 241, 238, + 238, 239, 242, + 212, 242, 239, + 239, 212, 212, + 243, 192, 188, + 188, 240, 243, + 244, 243, 240, + 240, 241, 244, + 245, 244, 241, + 241, 242, 245, + 212, 245, 242, + 242, 212, 212, + 246, 196, 192, + 192, 243, 246, + 247, 246, 243, + 243, 244, 247, + 248, 247, 244, + 244, 245, 248, + 212, 248, 245, + 245, 212, 212, + 249, 200, 196, + 196, 246, 249, + 250, 249, 246, + 246, 247, 250, + 251, 250, 247, + 247, 248, 251, + 212, 251, 248, + 248, 212, 212, + 252, 204, 200, + 200, 249, 252, + 253, 252, 249, + 249, 250, 253, + 254, 253, 250, + 250, 251, 254, + 212, 254, 251, + 251, 212, 212, + 255, 208, 204, + 204, 252, 255, + 256, 255, 252, + 252, 253, 256, + 257, 256, 253, + 253, 254, 257, + 212, 257, 254, + 254, 212, 212, + 209, 148, 208, + 208, 255, 209, + 210, 209, 255, + 255, 256, 210, + 211, 210, 256, + 256, 257, 211, + 212, 211, 257, + 257, 212, 212, + 264, 263, 258, + 258, 259, 264, + 265, 264, 259, + 259, 260, 265, + 266, 265, 260, + 260, 261, 266, + 267, 266, 261, + 261, 262, 267, + 269, 268, 263, + 263, 264, 269, + 270, 269, 264, + 264, 265, 270, + 271, 270, 265, + 265, 266, 271, + 272, 271, 266, + 266, 267, 272, + 274, 273, 268, + 268, 269, 274, + 275, 274, 269, + 269, 270, 275, + 276, 275, 270, + 270, 271, 276, + 277, 276, 271, + 271, 272, 277, + 279, 278, 273, + 273, 274, 279, + 280, 279, 274, + 274, 275, 280, + 281, 280, 275, + 275, 276, 281, + 282, 281, 276, + 276, 277, 282, + 284, 283, 278, + 278, 279, 284, + 285, 284, 279, + 279, 280, 285, + 286, 285, 280, + 280, 281, 286, + 287, 286, 281, + 281, 282, 287, + 289, 288, 283, + 283, 284, 289, + 290, 289, 284, + 284, 285, 290, + 291, 290, 285, + 285, 286, 291, + 292, 291, 286, + 286, 287, 292, + 294, 293, 288, + 288, 289, 294, + 295, 294, 289, + 289, 290, 295, + 296, 295, 290, + 290, 291, 296, + 297, 296, 291, + 291, 292, 297, + 259, 258, 293, + 293, 294, 259, + 260, 259, 294, + 294, 295, 260, + 261, 260, 295, + 295, 296, 261, + 262, 261, 296, + 296, 297, 262, + 302, 267, 262, + 262, 298, 302, + 303, 302, 298, + 298, 299, 303, + 304, 303, 299, + 299, 300, 304, + 305, 304, 300, + 300, 301, 305, + 306, 272, 267, + 267, 302, 306, + 307, 306, 302, + 302, 303, 307, + 308, 307, 303, + 303, 304, 308, + 309, 308, 304, + 304, 305, 309, + 310, 277, 272, + 272, 306, 310, + 311, 310, 306, + 306, 307, 311, + 312, 311, 307, + 307, 308, 312, + 313, 312, 308, + 308, 309, 313, + 314, 282, 277, + 277, 310, 314, + 315, 314, 310, + 310, 311, 315, + 316, 315, 311, + 311, 312, 316, + 317, 316, 312, + 312, 313, 317, + 318, 287, 282, + 282, 314, 318, + 319, 318, 314, + 314, 315, 319, + 320, 319, 315, + 315, 316, 320, + 321, 320, 316, + 316, 317, 321, + 322, 292, 287, + 287, 318, 322, + 323, 322, 318, + 318, 319, 323, + 324, 323, 319, + 319, 320, 324, + 325, 324, 320, + 320, 321, 325, + 326, 297, 292, + 292, 322, 326, + 327, 326, 322, + 322, 323, 327, + 328, 327, 323, + 323, 324, 328, + 329, 328, 324, + 324, 325, 329, + 298, 262, 297, + 297, 326, 298, + 299, 298, 326, + 326, 327, 299, + 300, 299, 327, + 327, 328, 300, + 301, 300, 328, + 328, 329, 301, + 336, 335, 330, + 330, 331, 336, + 337, 336, 331, + 331, 332, 337, + 338, 337, 332, + 332, 333, 338, + 339, 338, 333, + 333, 334, 339, + 341, 340, 335, + 335, 336, 341, + 342, 341, 336, + 336, 337, 342, + 343, 342, 337, + 337, 338, 343, + 344, 343, 338, + 338, 339, 344, + 346, 345, 340, + 340, 341, 346, + 347, 346, 341, + 341, 342, 347, + 348, 347, 342, + 342, 343, 348, + 349, 348, 343, + 343, 344, 349, + 351, 350, 345, + 345, 346, 351, + 352, 351, 346, + 346, 347, 352, + 353, 352, 347, + 347, 348, 353, + 354, 353, 348, + 348, 349, 354, + 356, 355, 350, + 350, 351, 356, + 357, 356, 351, + 351, 352, 357, + 358, 357, 352, + 352, 353, 358, + 359, 358, 353, + 353, 354, 359, + 361, 360, 355, + 355, 356, 361, + 362, 361, 356, + 356, 357, 362, + 363, 362, 357, + 357, 358, 363, + 364, 363, 358, + 358, 359, 364, + 366, 365, 360, + 360, 361, 366, + 367, 366, 361, + 361, 362, 367, + 368, 367, 362, + 362, 363, 368, + 369, 368, 363, + 363, 364, 369, + 331, 330, 365, + 365, 366, 331, + 332, 331, 366, + 366, 367, 332, + 333, 332, 367, + 367, 368, 333, + 334, 333, 368, + 368, 369, 334, + 374, 339, 334, + 334, 370, 374, + 375, 374, 370, + 370, 371, 375, + 376, 375, 371, + 371, 372, 376, + 377, 376, 372, + 372, 373, 377, + 378, 344, 339, + 339, 374, 378, + 379, 378, 374, + 374, 375, 379, + 380, 379, 375, + 375, 376, 380, + 381, 380, 376, + 376, 377, 381, + 382, 349, 344, + 344, 378, 382, + 383, 382, 378, + 378, 379, 383, + 384, 383, 379, + 379, 380, 384, + 385, 384, 380, + 380, 381, 385, + 386, 354, 349, + 349, 382, 386, + 387, 386, 382, + 382, 383, 387, + 388, 387, 383, + 383, 384, 388, + 389, 388, 384, + 384, 385, 389, + 390, 359, 354, + 354, 386, 390, + 391, 390, 386, + 386, 387, 391, + 392, 391, 387, + 387, 388, 392, + 393, 392, 388, + 388, 389, 393, + 394, 364, 359, + 359, 390, 394, + 395, 394, 390, + 390, 391, 395, + 396, 395, 391, + 391, 392, 396, + 397, 396, 392, + 392, 393, 397, + 398, 369, 364, + 364, 394, 398, + 399, 398, 394, + 394, 395, 399, + 400, 399, 395, + 395, 396, 400, + 401, 400, 396, + 396, 397, 401, + 370, 334, 369, + 369, 398, 370, + 371, 370, 398, + 398, 399, 371, + 372, 371, 399, + 399, 400, 372, + 373, 372, 400, + 400, 401, 373, + 407, 402, 402, + 402, 403, 407, + 408, 407, 403, + 403, 404, 408, + 409, 408, 404, + 404, 405, 409, + 410, 409, 405, + 405, 406, 410, + 411, 402, 402, + 402, 407, 411, + 412, 411, 407, + 407, 408, 412, + 413, 412, 408, + 408, 409, 413, + 414, 413, 409, + 409, 410, 414, + 415, 402, 402, + 402, 411, 415, + 416, 415, 411, + 411, 412, 416, + 417, 416, 412, + 412, 413, 417, + 418, 417, 413, + 413, 414, 418, + 419, 402, 402, + 402, 415, 419, + 420, 419, 415, + 415, 416, 420, + 421, 420, 416, + 416, 417, 421, + 422, 421, 417, + 417, 418, 422, + 423, 402, 402, + 402, 419, 423, + 424, 423, 419, + 419, 420, 424, + 425, 424, 420, + 420, 421, 425, + 426, 425, 421, + 421, 422, 426, + 427, 402, 402, + 402, 423, 427, + 428, 427, 423, + 423, 424, 428, + 429, 428, 424, + 424, 425, 429, + 430, 429, 425, + 425, 426, 430, + 431, 402, 402, + 402, 427, 431, + 432, 431, 427, + 427, 428, 432, + 433, 432, 428, + 428, 429, 433, + 434, 433, 429, + 429, 430, 434, + 435, 402, 402, + 402, 431, 435, + 436, 435, 431, + 431, 432, 436, + 437, 436, 432, + 432, 433, 437, + 438, 437, 433, + 433, 434, 438, + 439, 402, 402, + 402, 435, 439, + 440, 439, 435, + 435, 436, 440, + 441, 440, 436, + 436, 437, 441, + 442, 441, 437, + 437, 438, 442, + 443, 402, 402, + 402, 439, 443, + 444, 443, 439, + 439, 440, 444, + 445, 444, 440, + 440, 441, 445, + 446, 445, 441, + 441, 442, 446, + 447, 402, 402, + 402, 443, 447, + 448, 447, 443, + 443, 444, 448, + 449, 448, 444, + 444, 445, 449, + 450, 449, 445, + 445, 446, 450, + 451, 402, 402, + 402, 447, 451, + 452, 451, 447, + 447, 448, 452, + 453, 452, 448, + 448, 449, 453, + 454, 453, 449, + 449, 450, 454, + 455, 402, 402, + 402, 451, 455, + 456, 455, 451, + 451, 452, 456, + 457, 456, 452, + 452, 453, 457, + 458, 457, 453, + 453, 454, 458, + 459, 402, 402, + 402, 455, 459, + 460, 459, 455, + 455, 456, 460, + 461, 460, 456, + 456, 457, 461, + 462, 461, 457, + 457, 458, 462, + 463, 402, 402, + 402, 459, 463, + 464, 463, 459, + 459, 460, 464, + 465, 464, 460, + 460, 461, 465, + 466, 465, 461, + 461, 462, 466, + 403, 402, 402, + 402, 463, 403, + 404, 403, 463, + 463, 464, 404, + 405, 404, 464, + 464, 465, 405, + 406, 405, 465, + 465, 466, 406, + 471, 410, 406, + 406, 467, 471, + 472, 471, 467, + 467, 468, 472, + 473, 472, 468, + 468, 469, 473, + 474, 473, 469, + 469, 470, 474, + 475, 414, 410, + 410, 471, 475, + 476, 475, 471, + 471, 472, 476, + 477, 476, 472, + 472, 473, 477, + 478, 477, 473, + 473, 474, 478, + 479, 418, 414, + 414, 475, 479, + 480, 479, 475, + 475, 476, 480, + 481, 480, 476, + 476, 477, 481, + 482, 481, 477, + 477, 478, 482, + 483, 422, 418, + 418, 479, 483, + 484, 483, 479, + 479, 480, 484, + 485, 484, 480, + 480, 481, 485, + 486, 485, 481, + 481, 482, 486, + 487, 426, 422, + 422, 483, 487, + 488, 487, 483, + 483, 484, 488, + 489, 488, 484, + 484, 485, 489, + 490, 489, 485, + 485, 486, 490, + 491, 430, 426, + 426, 487, 491, + 492, 491, 487, + 487, 488, 492, + 493, 492, 488, + 488, 489, 493, + 494, 493, 489, + 489, 490, 494, + 495, 434, 430, + 430, 491, 495, + 496, 495, 491, + 491, 492, 496, + 497, 496, 492, + 492, 493, 497, + 498, 497, 493, + 493, 494, 498, + 499, 438, 434, + 434, 495, 499, + 500, 499, 495, + 495, 496, 500, + 501, 500, 496, + 496, 497, 501, + 502, 501, 497, + 497, 498, 502, + 503, 442, 438, + 438, 499, 503, + 504, 503, 499, + 499, 500, 504, + 505, 504, 500, + 500, 501, 505, + 506, 505, 501, + 501, 502, 506, + 507, 446, 442, + 442, 503, 507, + 508, 507, 503, + 503, 504, 508, + 509, 508, 504, + 504, 505, 509, + 510, 509, 505, + 505, 506, 510, + 511, 450, 446, + 446, 507, 511, + 512, 511, 507, + 507, 508, 512, + 513, 512, 508, + 508, 509, 513, + 514, 513, 509, + 509, 510, 514, + 515, 454, 450, + 450, 511, 515, + 516, 515, 511, + 511, 512, 516, + 517, 516, 512, + 512, 513, 517, + 518, 517, 513, + 513, 514, 518, + 519, 458, 454, + 454, 515, 519, + 520, 519, 515, + 515, 516, 520, + 521, 520, 516, + 516, 517, 521, + 522, 521, 517, + 517, 518, 522, + 523, 462, 458, + 458, 519, 523, + 524, 523, 519, + 519, 520, 524, + 525, 524, 520, + 520, 521, 525, + 526, 525, 521, + 521, 522, 526, + 527, 466, 462, + 462, 523, 527, + 528, 527, 523, + 523, 524, 528, + 529, 528, 524, + 524, 525, 529, + 530, 529, 525, + 525, 526, 530, + 467, 406, 466, + 466, 527, 467, + 468, 467, 527, + 527, 528, 468, + 469, 468, 528, + 528, 529, 469, + 470, 469, 529, + 529, 530, 470u16, +];