netlogo3.rs
1 /* This file is part of DarkFi (https://dark.fi) 2 * 3 * Copyright (C) 2020-2025 Dyne.org foundation 4 * 5 * This program is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU Affero General Public License as 7 * published by the Free Software Foundation, either version 3 of the 8 * License, or (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Affero General Public License for more details. 14 * 15 * You should have received a copy of the GNU Affero General Public License 16 * along with this program. If not, see <https://www.gnu.org/licenses/>. 17 */ 18 19 use crate::{ 20 mesh::Color, 21 ui::{ShapeVertex, VectorShape}, 22 }; 23 pub fn create_netlogo3(color: Color) -> VectorShape { 24 VectorShape { 25 verts: vec![ 26 ShapeVertex::from_xy(-0.142341, 0.515982, color), 27 ShapeVertex::from_xy(-0.101938, 0.504233, color), 28 ShapeVertex::from_xy(-0.144884, 0.490086, color), 29 ShapeVertex::from_xy(-0.105618, 0.478168, color), 30 ShapeVertex::from_xy(-0.155439, 0.451718, color), 31 ShapeVertex::from_xy(-0.116172, 0.4398, color), 32 ShapeVertex::from_xy(-0.177259, 0.404146, color), 33 ShapeVertex::from_xy(-0.141135, 0.384678, color), 34 ShapeVertex::from_xy(-0.208986, 0.360096, color), 35 ShapeVertex::from_xy(-0.1773, 0.334021, color), 36 ShapeVertex::from_xy(-0.237192, 0.33329, color), 37 ShapeVertex::from_xy(-0.209285, 0.303205, color), 38 ShapeVertex::from_xy(-0.265118, 0.316591, color), 39 ShapeVertex::from_xy(-0.226287, 0.29038, color), 40 ShapeVertex::from_xy(-0.283232, 0.190078, color), 41 ShapeVertex::from_xy(-0.238696, 0.205942, color), 42 ShapeVertex::from_xy(-0.231742, 0.14301, color), 43 ShapeVertex::from_xy(-0.181929, 0.154453, color), 44 ShapeVertex::from_xy(-0.292931, 0.002946, color), 45 ShapeVertex::from_xy(-0.2541, -0.012425, color), 46 ShapeVertex::from_xy(-0.316607, -0.0397, color), 47 ShapeVertex::from_xy(-0.281057, -0.061062, color), 48 ShapeVertex::from_xy(-0.410458, -0.166927, color), 49 ShapeVertex::from_xy(-0.394163, -0.21496, color), 50 ShapeVertex::from_xy(-0.476211, -0.144676, color), 51 ShapeVertex::from_xy(-0.467903, -0.190143, color), 52 ShapeVertex::from_xy(-0.57591, -0.22241, color), 53 ShapeVertex::from_xy(-0.534797, -0.241918, color), 54 ShapeVertex::from_xy(-0.579048, -0.261776, color), 55 ShapeVertex::from_xy(-0.539932, -0.281284, color), 56 ShapeVertex::from_xy(-0.585323, -0.289732, color), 57 ShapeVertex::from_xy(-0.549773, -0.314374, color), 58 ShapeVertex::from_xy(-0.606005, -0.334803, color), 59 ShapeVertex::from_xy(-0.570455, -0.359445, color), 60 ShapeVertex::from_xy(-0.617701, -0.354771, color), 61 ShapeVertex::from_xy(-0.583434, -0.379413, color), 62 ShapeVertex::from_xy(-0.637769, -0.382085, color), 63 ShapeVertex::from_xy(-0.605869, -0.409722, color), 64 ShapeVertex::from_xy(-0.661018, -0.407045, color), 65 ShapeVertex::from_xy(-0.629118, -0.434682, color), 66 ShapeVertex::from_xy(-0.689374, -0.430227, color), 67 ShapeVertex::from_xy(-0.658099, -0.458569, color), 68 ShapeVertex::from_xy(-0.712908, -0.463317, color), 69 ShapeVertex::from_xy(-0.681633, -0.49166, color), 70 ShapeVertex::from_xy(-0.73958, -0.492841, color), 71 ShapeVertex::from_xy(-0.708305, -0.521184, color), 72 ShapeVertex::from_xy(-0.754271, -0.507104, color), 73 ShapeVertex::from_xy(-0.722996, -0.535447, color), 74 ShapeVertex::from_xy(-0.770816, -0.519656, color), 75 ShapeVertex::from_xy(-0.739541, -0.547999, color), 76 ShapeVertex::from_xy(-0.792639, -0.552603, color), 77 ShapeVertex::from_xy(-0.761364, -0.580946, color), 78 ShapeVertex::from_xy(-0.806759, -0.571146, color), 79 ShapeVertex::from_xy(-0.775484, -0.599488, color), 80 ShapeVertex::from_xy(-0.827298, -0.594537, color), 81 ShapeVertex::from_xy(-0.796023, -0.62288, color), 82 ShapeVertex::from_xy(-0.848122, -0.612651, color), 83 ShapeVertex::from_xy(-0.816847, -0.640994, color), 84 ShapeVertex::from_xy(-0.860531, -0.622778, color), 85 ShapeVertex::from_xy(-0.827402, -0.64998, color), 86 ShapeVertex::from_xy(-0.873938, -0.648451, color), 87 ShapeVertex::from_xy(-0.840809, -0.673371, color), 88 ShapeVertex::from_xy(-0.899327, -0.683396, color), 89 ShapeVertex::from_xy(-0.888772, -0.719339, color), 90 ShapeVertex::from_xy(-0.919865, -0.707215, color), 91 ShapeVertex::from_xy(-0.786324, -0.663957, color), 92 ShapeVertex::from_xy(-0.960943, -0.743586, color), 93 ShapeVertex::from_xy(-0.858962, -0.715916, color), 94 ShapeVertex::from_xy(-0.808043, -0.71777, color), 95 ShapeVertex::from_xy(-0.82687, -0.715488, color), 96 ShapeVertex::from_xy(-0.813852, -0.675225, color), 97 ShapeVertex::from_xy(-0.825547, -0.673799, color), 98 ShapeVertex::from_xy(-0.780515, -0.706502, color), 99 ShapeVertex::from_xy(-0.759087, -0.655938, color), 100 ShapeVertex::from_xy(-0.755264, -0.697691, color), 101 ShapeVertex::from_xy(-0.732577, -0.651144, color), 102 ShapeVertex::from_xy(-0.73271, -0.693072, color), 103 ShapeVertex::from_xy(-0.704193, -0.649147, color), 104 ShapeVertex::from_xy(-0.703756, -0.691503, color), 105 ShapeVertex::from_xy(-0.679233, -0.649147, color), 106 ShapeVertex::from_xy(-0.682361, -0.691217, color), 107 ShapeVertex::from_xy(-0.649993, -0.636881, color), 108 ShapeVertex::from_xy(-0.673518, -0.692073, color), 109 ShapeVertex::from_xy(-0.644279, -0.679807, color), 110 ShapeVertex::from_xy(-0.625517, -0.629259, color), 111 ShapeVertex::from_xy(-0.619405, -0.671454, color), 112 ShapeVertex::from_xy(-0.599415, -0.625123, color), 113 ShapeVertex::from_xy(-0.592305, -0.66746, color), 114 ShapeVertex::from_xy(-0.576737, -0.623982, color), 115 ShapeVertex::from_xy(-0.568486, -0.665891, color), 116 ShapeVertex::from_xy(-0.561904, -0.623839, color), 117 ShapeVertex::from_xy(-0.551941, -0.665606, color), 118 ShapeVertex::from_xy(-0.538512, -0.612428, color), 119 ShapeVertex::from_xy(-0.528549, -0.654196, color), 120 ShapeVertex::from_xy(-0.505399, -0.603011, color), 121 ShapeVertex::from_xy(-0.499476, -0.644215, color), 122 ShapeVertex::from_xy(-0.465581, -0.598019, color), 123 ShapeVertex::from_xy(-0.459658, -0.639223, color), 124 ShapeVertex::from_xy(-0.41257, -0.598376, color), 125 ShapeVertex::from_xy(-0.414611, -0.639817, color), 126 ShapeVertex::from_xy(-0.366096, -0.605032, color), 127 ShapeVertex::from_xy(-0.376457, -0.64576, color), 128 ShapeVertex::from_xy(-0.333172, -0.61561, color), 129 ShapeVertex::from_xy(-0.343652, -0.655745, color), 130 ShapeVertex::from_xy(-0.310114, -0.625238, color), 131 ShapeVertex::from_xy(-0.315958, -0.66977, color), 132 ShapeVertex::from_xy(-0.292879, -0.618582, color), 133 ShapeVertex::from_xy(-0.289809, -0.664659, color), 134 ShapeVertex::from_xy(-0.28135, -0.612639, color), 135 ShapeVertex::from_xy(-0.277329, -0.657171, color), 136 ShapeVertex::from_xy(-0.262332, -0.606101, color), 137 ShapeVertex::from_xy(-0.256885, -0.648494, color), 138 ShapeVertex::from_xy(-0.249971, -0.602892, color), 139 ShapeVertex::from_xy(-0.23454, -0.642195, color), 140 ShapeVertex::from_xy(-0.233925, -0.593383, color), 141 ShapeVertex::from_xy(-0.21469, -0.630665, color), 142 ShapeVertex::from_xy(-0.217523, -0.516933, color), 143 ShapeVertex::from_xy(-0.197574, -0.623653, color), 144 ShapeVertex::from_xy(-0.183454, -0.555903, color), 145 ShapeVertex::from_xy(-0.033272, -0.496651, color), 146 ShapeVertex::from_xy(-0.03121, -0.538188, color), 147 ShapeVertex::from_xy(0.022525, -0.495796, color), 148 ShapeVertex::from_xy(0.024587, -0.537333, color), 149 ShapeVertex::from_xy(0.209086, -0.516677, color), 150 ShapeVertex::from_xy(0.174349, -0.555133, color), 151 ShapeVertex::from_xy(0.224832, -0.593526, color), 152 ShapeVertex::from_xy(0.188726, -0.623082, color), 153 ShapeVertex::from_xy(0.241948, -0.602255, color), 154 ShapeVertex::from_xy(0.21149, -0.632667, color), 155 ShapeVertex::from_xy(0.245884, -0.603624, color), 156 ShapeVertex::from_xy(0.223985, -0.641225, color), 157 ShapeVertex::from_xy(0.265567, -0.609957, color), 158 ShapeVertex::from_xy(0.244523, -0.647215, color), 159 ShapeVertex::from_xy(0.283368, -0.617317, color), 160 ShapeVertex::from_xy(0.262324, -0.654575, color), 161 ShapeVertex::from_xy(0.294835, -0.623136, color), 162 ShapeVertex::from_xy(0.273791, -0.660394, color), 163 ShapeVertex::from_xy(0.298258, -0.62519, color), 164 ShapeVertex::from_xy(0.279953, -0.664331, color), 165 ShapeVertex::from_xy(0.303051, -0.625532, color), 166 ShapeVertex::from_xy(0.293816, -0.666214, color), 167 ShapeVertex::from_xy(0.324328, -0.615024, color), 168 ShapeVertex::from_xy(0.306996, -0.67015, color), 169 ShapeVertex::from_xy(0.328164, -0.658408, color), 170 ShapeVertex::from_xy(0.346646, -0.608593, color), 171 ShapeVertex::from_xy(0.350348, -0.650462, color), 172 ShapeVertex::from_xy(0.376769, -0.601918, color), 173 ShapeVertex::from_xy(0.380471, -0.643787, color), 174 ShapeVertex::from_xy(0.40768, -0.598094, color), 175 ShapeVertex::from_xy(0.4057, -0.64008, color), 176 ShapeVertex::from_xy(0.460225, -0.598436, color), 177 ShapeVertex::from_xy(0.458246, -0.640422, color), 178 ShapeVertex::from_xy(0.497033, -0.602991, color), 179 ShapeVertex::from_xy(0.488189, -0.644083, color), 180 ShapeVertex::from_xy(0.532546, -0.613971, color), 181 ShapeVertex::from_xy(0.517715, -0.6533, color), 182 ShapeVertex::from_xy(0.553256, -0.623726, color), 183 ShapeVertex::from_xy(0.544244, -0.665794, color), 184 ShapeVertex::from_xy(0.581077, -0.624775, color), 185 ShapeVertex::from_xy(0.572221, -0.666115, color), 186 ShapeVertex::from_xy(0.608119, -0.627855, color), 187 ShapeVertex::from_xy(0.599263, -0.669196, color), 188 ShapeVertex::from_xy(0.632081, -0.633504, color), 189 ShapeVertex::from_xy(0.623225, -0.674845, color), 190 ShapeVertex::from_xy(0.65553, -0.642575, color), 191 ShapeVertex::from_xy(0.646674, -0.683916, color), 192 ShapeVertex::from_xy(0.671276, -0.649079, color), 193 ShapeVertex::from_xy(0.663961, -0.691276, color), 194 ShapeVertex::from_xy(0.691131, -0.648737, color), 195 ShapeVertex::from_xy(0.683815, -0.690933, color), 196 ShapeVertex::from_xy(0.708931, -0.64925, color), 197 ShapeVertex::from_xy(0.701615, -0.691447, color), 198 ShapeVertex::from_xy(0.737172, -0.652502, color), 199 ShapeVertex::from_xy(0.729856, -0.694699, color), 200 ShapeVertex::from_xy(0.760791, -0.657466, color), 201 ShapeVertex::from_xy(0.753476, -0.699662, color), 202 ShapeVertex::from_xy(0.785267, -0.666708, color), 203 ShapeVertex::from_xy(0.777951, -0.708905, color), 204 ShapeVertex::from_xy(0.805121, -0.674924, color), 205 ShapeVertex::from_xy(0.797805, -0.71712, color), 206 ShapeVertex::from_xy(0.819669, -0.673383, color), 207 ShapeVertex::from_xy(0.812354, -0.71558, color), 208 ShapeVertex::from_xy(0.831137, -0.673041, color), 209 ShapeVertex::from_xy(0.834604, -0.715409, color), 210 ShapeVertex::from_xy(0.84881, -0.62093, color), 211 ShapeVertex::from_xy(0.859251, -0.716778, color), 212 ShapeVertex::from_xy(0.885266, -0.679979, color), 213 ShapeVertex::from_xy(0.88869, -0.72157, color), 214 ShapeVertex::from_xy(0.917786, -0.714553, color), 215 ShapeVertex::from_xy(0.920525, -0.733551, color), 216 ShapeVertex::from_xy(0.858395, -0.639586, color), 217 ShapeVertex::from_xy(0.951333, -0.743649, color), 218 ShapeVertex::from_xy(0.816931, -0.649079, color), 219 ShapeVertex::from_xy(0.874484, -0.664917, color), 220 ShapeVertex::from_xy(0.803923, -0.637782, color), 221 ShapeVertex::from_xy(0.820056, -0.597824, color), 222 ShapeVertex::from_xy(0.775169, -0.614676, color), 223 ShapeVertex::from_xy(0.816054, -0.594019, color), 224 ShapeVertex::from_xy(0.773693, -0.609923, color), 225 ShapeVertex::from_xy(0.793306, -0.56819, color), 226 ShapeVertex::from_xy(0.75194, -0.583721, color), 227 ShapeVertex::from_xy(0.775677, -0.543543, color), 228 ShapeVertex::from_xy(0.734311, -0.559074, color), 229 ShapeVertex::from_xy(0.766606, -0.529851, color), 230 ShapeVertex::from_xy(0.727122, -0.545039, color), 231 ShapeVertex::from_xy(0.760787, -0.518383, color), 232 ShapeVertex::from_xy(0.709322, -0.53186, color), 233 ShapeVertex::from_xy(0.742986, -0.505204, color), 234 ShapeVertex::from_xy(0.692891, -0.517141, color), 235 ShapeVertex::from_xy(0.726555, -0.490485, color), 236 ShapeVertex::from_xy(0.677658, -0.500538, color), 237 ShapeVertex::from_xy(0.711322, -0.473883, color), 238 ShapeVertex::from_xy(0.66465, -0.484792, color), 239 ShapeVertex::from_xy(0.698314, -0.458136, color), 240 ShapeVertex::from_xy(0.654723, -0.470415, color), 241 ShapeVertex::from_xy(0.687531, -0.44393, color), 242 ShapeVertex::from_xy(0.649075, -0.461857, color), 243 ShapeVertex::from_xy(0.681712, -0.43503, color), 244 ShapeVertex::from_xy(0.645481, -0.455182, color), 245 ShapeVertex::from_xy(0.67846, -0.428184, color), 246 ShapeVertex::from_xy(0.633329, -0.446966, color), 247 ShapeVertex::from_xy(0.666308, -0.419968, color), 248 ShapeVertex::from_xy(0.619294, -0.435328, color), 249 ShapeVertex::from_xy(0.652273, -0.40833, color), 250 ShapeVertex::from_xy(0.605088, -0.421293, color), 251 ShapeVertex::from_xy(0.638067, -0.394295, color), 252 ShapeVertex::from_xy(0.592351, -0.406009, color), 253 ShapeVertex::from_xy(0.624788, -0.379456, color), 254 ShapeVertex::from_xy(0.575236, -0.384101, color), 255 ShapeVertex::from_xy(0.607672, -0.357547, color), 256 ShapeVertex::from_xy(0.558341, -0.357, color), 257 ShapeVertex::from_xy(0.594443, -0.335697, color), 258 ShapeVertex::from_xy(0.539389, -0.317094, color), 259 ShapeVertex::from_xy(0.578308, -0.300294, color), 260 ShapeVertex::from_xy(0.526631, -0.274203, color), 261 ShapeVertex::from_xy(0.567959, -0.267192, color), 262 ShapeVertex::from_xy(0.523722, -0.252466, color), 263 ShapeVertex::from_xy(0.56505, -0.245455, color), 264 ShapeVertex::from_xy(0.522523, -0.239458, color), 265 ShapeVertex::from_xy(0.56505, -0.220808, color), 266 ShapeVertex::from_xy(0.456471, -0.188193, color), 267 ShapeVertex::from_xy(0.463999, -0.142432, color), 268 ShapeVertex::from_xy(0.382284, -0.2121, color), 269 ShapeVertex::from_xy(0.399425, -0.163628, color), 270 ShapeVertex::from_xy(0.312042, -0.117457, color), 271 ShapeVertex::from_xy(0.342738, -0.087717, color), 272 ShapeVertex::from_xy(0.259342, -0.042536, color), 273 ShapeVertex::from_xy(0.296358, -0.021167, color), 274 ShapeVertex::from_xy(0.245294, -0.018382, color), 275 ShapeVertex::from_xy(0.282309, 0.002986, color), 276 ShapeVertex::from_xy(0.168397, 0.156116, color), 277 ShapeVertex::from_xy(0.219214, 0.144704, color), 278 ShapeVertex::from_xy(0.227056, 0.208366, color), 279 ShapeVertex::from_xy(0.272204, 0.19104, color), 280 ShapeVertex::from_xy(0.215472, 0.292904, color), 281 ShapeVertex::from_xy(0.253966, 0.31723, color), 282 ShapeVertex::from_xy(0.199205, 0.303502, color), 283 ShapeVertex::from_xy(0.233263, 0.330046, color), 284 ShapeVertex::from_xy(0.174378, 0.325519, color), 285 ShapeVertex::from_xy(0.206578, 0.3519, color), 286 ShapeVertex::from_xy(0.14776, 0.357313, color), 287 ShapeVertex::from_xy(0.178974, 0.384927, color), 288 ShapeVertex::from_xy(0.119909, 0.403648, color), 289 ShapeVertex::from_xy(0.155806, 0.426333, color), 290 ShapeVertex::from_xy(0.098236, 0.461047, color), 291 ShapeVertex::from_xy(0.139524, 0.470971, color), 292 ShapeVertex::from_xy(0.09051, 0.497913, color), 293 ShapeVertex::from_xy(0.132955, 0.499172, color), 294 ShapeVertex::from_xy(0.090263, 0.508265, color), 295 ShapeVertex::from_xy(0.131476, 0.519136, color), 296 ShapeVertex::from_xy(0.080651, 0.52601, color), 297 ShapeVertex::from_xy(0.121864, 0.536881, color), 298 ShapeVertex::from_xy(0.067095, 0.558544, color), 299 ShapeVertex::from_xy(0.108308, 0.569415, color), 300 ShapeVertex::from_xy(0.05773, 0.590338, color), 301 ShapeVertex::from_xy(0.097957, 0.600469, color), 302 ShapeVertex::from_xy(0.053786, 0.610548, color), 303 ShapeVertex::from_xy(0.094999, 0.621419, color), 304 ShapeVertex::from_xy(0.052308, 0.623118, color), 305 ShapeVertex::from_xy(0.09352, 0.633989, color), 306 ShapeVertex::from_xy(0.039984, 0.645546, color), 307 ShapeVertex::from_xy(0.081197, 0.656417, color), 308 ShapeVertex::from_xy(0.029879, 0.66896, color), 309 ShapeVertex::from_xy(0.071092, 0.679831, color), 310 ShapeVertex::from_xy(0.02076, 0.693607, color), 311 ShapeVertex::from_xy(0.061973, 0.704478, color), 312 ShapeVertex::from_xy(0.01312, 0.719979, color), 313 ShapeVertex::from_xy(0.054332, 0.73085, color), 314 ShapeVertex::from_xy(0.008683, 0.748815, color), 315 ShapeVertex::from_xy(0.049896, 0.759686, color), 316 ShapeVertex::from_xy(-0.005365, 0.772476, color), 317 ShapeVertex::from_xy(0.030672, 0.792466, color), 318 ShapeVertex::from_xy(-0.00482, 0.911509, color), 319 ShapeVertex::from_xy(0.019088, 0.818345, color), 320 ShapeVertex::from_xy(-0.016177, 0.855078, color), 321 ShapeVertex::from_xy(0.007257, 0.851125, color), 322 ShapeVertex::from_xy(0.001536, 0.759167, color), 323 ShapeVertex::from_xy(-0.045989, 0.783031, color), 324 ShapeVertex::from_xy(-0.035342, 0.803971, color), 325 ShapeVertex::from_xy(-0.020627, 0.745858, color), 326 ShapeVertex::from_xy(-0.06054, 0.761027, color), 327 ShapeVertex::from_xy(-0.023466, 0.727757, color), 328 ShapeVertex::from_xy(-0.06338, 0.742927, color), 329 ShapeVertex::from_xy(-0.02737, 0.705753, color), 330 ShapeVertex::from_xy(-0.067284, 0.720922, color), 331 ShapeVertex::from_xy(-0.034113, 0.685523, color), 332 ShapeVertex::from_xy(-0.074027, 0.700692, color), 333 ShapeVertex::from_xy(-0.042631, 0.662808, color), 334 ShapeVertex::from_xy(-0.082545, 0.677978, color), 335 ShapeVertex::from_xy(-0.052569, 0.640804, color), 336 ShapeVertex::from_xy(-0.092482, 0.655973, color), 337 ShapeVertex::from_xy(-0.060377, 0.625898, color), 338 ShapeVertex::from_xy(-0.10029, 0.641067, color), 339 ShapeVertex::from_xy(-0.065345, 0.619155, color), 340 ShapeVertex::from_xy(-0.105259, 0.634324, color), 341 ShapeVertex::from_xy(-0.066765, 0.604248, color), 342 ShapeVertex::from_xy(-0.106679, 0.619418, color), 343 ShapeVertex::from_xy(-0.069249, 0.586858, color), 344 ShapeVertex::from_xy(-0.109163, 0.602027, color), 345 ShapeVertex::from_xy(-0.075993, 0.563079, color), 346 ShapeVertex::from_xy(-0.115907, 0.578248, color), 347 ShapeVertex::from_xy(-0.082381, 0.544268, color), 348 ShapeVertex::from_xy(-0.122295, 0.559438, color), 349 ShapeVertex::from_xy(-0.092673, 0.521909, color), 350 ShapeVertex::from_xy(-0.132587, 0.537078, color), 351 ], 352 indices: vec![ 353 1, 2, 0, 3, 4, 2, 4, 7, 6, 6, 9, 8, 8, 11, 10, 10, 13, 12, 12, 15, 14, 15, 16, 14, 16, 354 19, 18, 18, 21, 20, 21, 22, 20, 22, 25, 24, 25, 26, 24, 27, 28, 26, 29, 30, 28, 31, 32, 355 30, 33, 34, 32, 35, 36, 34, 36, 39, 38, 38, 41, 40, 41, 42, 40, 43, 44, 42, 44, 47, 46, 356 46, 49, 48, 49, 50, 48, 51, 52, 50, 53, 54, 52, 54, 57, 56, 56, 59, 58, 59, 60, 58, 60, 357 61, 62, 62, 61, 64, 64, 61, 66, 66, 61, 63, 63, 61, 67, 67, 61, 69, 69, 71, 68, 68, 71, 358 70, 70, 72, 68, 65, 74, 72, 73, 76, 74, 75, 78, 76, 77, 80, 78, 80, 79, 82, 79, 83, 82, 359 81, 85, 83, 85, 86, 87, 87, 88, 89, 89, 90, 91, 90, 93, 91, 92, 95, 93, 95, 96, 97, 97, 360 98, 99, 98, 101, 99, 101, 102, 103, 103, 104, 105, 104, 107, 105, 106, 109, 107, 108, 361 111, 109, 110, 113, 111, 112, 115, 113, 115, 114, 117, 114, 118, 117, 118, 119, 120, 362 120, 121, 122, 121, 124, 122, 124, 125, 126, 125, 128, 126, 127, 130, 128, 129, 132, 363 130, 131, 134, 132, 133, 136, 134, 136, 137, 138, 137, 140, 138, 140, 139, 142, 139, 364 143, 142, 141, 145, 143, 144, 147, 145, 146, 149, 147, 148, 151, 149, 150, 153, 151, 365 153, 154, 155, 155, 156, 157, 156, 159, 157, 158, 161, 159, 161, 162, 163, 163, 164, 366 165, 165, 166, 167, 166, 169, 167, 168, 171, 169, 170, 173, 171, 173, 174, 175, 175, 367 176, 177, 177, 178, 179, 178, 181, 179, 180, 183, 181, 183, 182, 185, 185, 182, 187, 368 187, 182, 189, 189, 182, 191, 191, 182, 188, 188, 182, 186, 186, 182, 193, 182, 190, 369 193, 192, 184, 190, 194, 195, 184, 196, 197, 195, 198, 199, 197, 200, 201, 199, 202, 370 203, 201, 203, 204, 205, 204, 207, 205, 206, 209, 207, 208, 211, 209, 210, 213, 211, 371 213, 214, 215, 215, 216, 217, 217, 218, 219, 218, 221, 219, 220, 223, 221, 222, 225, 372 223, 224, 227, 225, 227, 228, 229, 229, 230, 231, 231, 232, 233, 232, 235, 233, 235, 373 236, 237, 237, 238, 239, 238, 241, 239, 240, 243, 241, 243, 244, 245, 245, 246, 247, 374 246, 249, 247, 248, 251, 249, 251, 252, 253, 252, 255, 253, 254, 257, 255, 256, 259, 375 257, 259, 260, 261, 261, 262, 263, 263, 264, 265, 264, 267, 265, 267, 268, 269, 268, 376 271, 269, 270, 273, 271, 272, 275, 273, 275, 276, 277, 277, 278, 279, 278, 281, 279, 377 280, 283, 281, 282, 285, 283, 284, 287, 285, 287, 288, 289, 289, 288, 291, 291, 288, 378 293, 293, 288, 295, 295, 288, 292, 292, 288, 296, 292, 296, 290, 292, 290, 294, 294, 379 290, 298, 290, 297, 298, 297, 299, 300, 299, 302, 300, 301, 304, 302, 303, 306, 304, 380 305, 308, 306, 308, 309, 310, 310, 311, 312, 312, 313, 314, 313, 316, 314, 315, 318, 381 316, 317, 320, 318, 319, 322, 320, 322, 323, 324, 324, 1, 0, 1, 3, 2, 3, 5, 4, 4, 5, 7, 382 6, 7, 9, 8, 9, 11, 10, 11, 13, 12, 13, 15, 15, 17, 16, 16, 17, 19, 18, 19, 21, 21, 23, 383 22, 22, 23, 25, 25, 27, 26, 27, 29, 28, 29, 31, 30, 31, 33, 32, 33, 35, 34, 35, 37, 36, 384 36, 37, 39, 38, 39, 41, 41, 43, 42, 43, 45, 44, 44, 45, 47, 46, 47, 49, 49, 51, 50, 51, 385 53, 52, 53, 55, 54, 54, 55, 57, 56, 57, 59, 59, 61, 60, 69, 61, 71, 70, 65, 72, 65, 73, 386 74, 73, 75, 76, 75, 77, 78, 77, 79, 80, 79, 81, 83, 81, 84, 85, 85, 84, 86, 87, 86, 88, 387 89, 88, 90, 90, 92, 93, 92, 94, 95, 95, 94, 96, 97, 96, 98, 98, 100, 101, 101, 100, 388 102, 103, 102, 104, 104, 106, 107, 106, 108, 109, 108, 110, 111, 110, 112, 113, 112, 389 114, 115, 114, 116, 118, 118, 116, 119, 120, 119, 121, 121, 123, 124, 124, 123, 125, 390 125, 127, 128, 127, 129, 130, 129, 131, 132, 131, 133, 134, 133, 135, 136, 136, 135, 391 137, 137, 139, 140, 139, 141, 143, 141, 144, 145, 144, 146, 147, 146, 148, 149, 148, 392 150, 151, 150, 152, 153, 153, 152, 154, 155, 154, 156, 156, 158, 159, 158, 160, 161, 393 161, 160, 162, 163, 162, 164, 165, 164, 166, 166, 168, 169, 168, 170, 171, 170, 172, 394 173, 173, 172, 174, 175, 174, 176, 177, 176, 178, 178, 180, 181, 180, 182, 183, 182, 395 192, 190, 192, 194, 184, 194, 196, 195, 196, 198, 197, 198, 200, 199, 200, 202, 201, 396 202, 204, 203, 204, 206, 207, 206, 208, 209, 208, 210, 211, 210, 212, 213, 213, 212, 397 214, 215, 214, 216, 217, 216, 218, 218, 220, 221, 220, 222, 223, 222, 224, 225, 224, 398 226, 227, 227, 226, 228, 229, 228, 230, 231, 230, 232, 232, 234, 235, 235, 234, 236, 399 237, 236, 238, 238, 240, 241, 240, 242, 243, 243, 242, 244, 245, 244, 246, 246, 248, 400 249, 248, 250, 251, 251, 250, 252, 252, 254, 255, 254, 256, 257, 256, 258, 259, 259, 401 258, 260, 261, 260, 262, 263, 262, 264, 264, 266, 267, 267, 266, 268, 268, 270, 271, 402 270, 272, 273, 272, 274, 275, 275, 274, 276, 277, 276, 278, 278, 280, 281, 280, 282, 403 283, 282, 284, 285, 284, 286, 287, 287, 286, 288, 290, 299, 297, 299, 301, 302, 301, 404 303, 304, 303, 305, 306, 305, 307, 308, 308, 307, 309, 310, 309, 311, 312, 311, 313, 405 313, 315, 316, 315, 317, 318, 317, 319, 320, 319, 321, 322, 322, 321, 323, 324, 323, 1, 406 ], 407 } 408 }