From 6680d1dc38762d7e1834ec9003f05f9b6432a9b0 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Fri, 15 Nov 2019 18:28:11 -0500 Subject: [PATCH 01/55] First pass at parsing optics files with diffuse data and changing interface and structures to support this. Main structure change is changing WLData to have a direct and optional diffuse component each of which have tf, tb, rf, and rb. Think this is better than adding optional tf_diffuse, optional tb_diffuse, etc... to the existing structure. In part because it is clearer and in part because the diffuse data is optional but must either all be there or all not, e.g. it is not allowed to have tf_diffuse but not have any other diffuse data. Or have 3 of the 4. So while they are optional they are optional as a group. --- src/Parser.cpp | 65 ++- src/ProductData.cpp | 33 +- src/ProductData.hpp | 31 +- test/InputDifferentEmissivities.unit.cpp | 9 +- test/InputFile1.unit.cpp | 34 +- test/InputInvertedEmissivities.unit.cpp | 9 +- test/products/diffuse_optics_file_2.txt | 465 ++++++++++++++++++++++ test/read_checker_tool_json_file.unit.cpp | 17 +- test/read_optics_file_from_disk.unit.cpp | 62 ++- 9 files changed, 672 insertions(+), 53 deletions(-) create mode 100644 test/products/diffuse_optics_file_2.txt diff --git a/src/Parser.cpp b/src/Parser.cpp index 1ca9f51..744ff41 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -54,6 +54,35 @@ void OpticsParser::Parser::parseHeaderLine(const std::string & line, parseNFRCID(line, product); } +OpticsParser::WLData parseDirectMeasurementLine(std::vector const & values) +{ + double wl = values[0]; + double tf = values[1]; + double tb = tf; + double rf = values[2]; + double rb = values[3]; + OpticsParser::MeasurementComponent directValues{tf, tb, rf, rb}; + return OpticsParser::WLData(wl, directValues); +} + +OpticsParser::WLData parseDiffuseMeasurementLine(std::vector const & values) +{ + double wl = values[0]; + double tfDirect = values[1]; + double tbDirect = values[3]; + double rfDirect = values[5]; + double rbDirect = values[7]; + double tfDiffuse = values[2]; + double tbDiffuse = values[4]; + double rfDiffuse = values[6]; + double rbDiffuse = values[8]; + + OpticsParser::MeasurementComponent directValues{tfDirect, tbDirect, rfDirect, rbDirect}; + OpticsParser::MeasurementComponent diffuseValues{tfDiffuse, tbDiffuse, rfDiffuse, rbDiffuse}; + return OpticsParser::WLData(wl, directValues, diffuseValues); +} + + void OpticsParser::Parser::parseMeasurementLine(const std::string & line, ProductData & product) { std::vector result; @@ -61,16 +90,26 @@ void OpticsParser::Parser::parseMeasurementLine(const std::string & line, Produc for(std::string s; iss >> s;) result.push_back(std::stod(s)); - if(result.size() != 4) + std::map const &)>> + measuredValueToParser; + measuredValueToParser[4] = &parseDirectMeasurementLine; + measuredValueToParser[9] = &parseDiffuseMeasurementLine; + + + auto parser = measuredValueToParser.find(result.size()); + + if(parser != measuredValueToParser.end()) { - throw std::runtime_error("Measurement contain line with incorrect number of data."); + auto parsedValues = parser->second(result); + product.measurements.push_back(parsedValues); + } + else + { + throw std::runtime_error("Unknown measured data line format."); } - - product.measurements.emplace_back(result[0], result[1], result[2], result[3]); } - void OpticsParser::Parser::parseEmissivities(const std::string & line, OpticsParser::ProductData & product) { @@ -270,11 +309,11 @@ OpticsParser::ProductData parseCheckerToolJson(nlohmann::json const & product_js nlohmann::json measured_data_json = product_json.at("measured_data"); product.thickness = measured_data_json.at("thickness").get(); - if(measured_data_json.count("bulk_properties_override")) - { - product.conductivity = get_optional_field( - measured_data_json.at("bulk_properties_override"), "thermal_conductivity"); - } + if(measured_data_json.count("bulk_properties_override")) + { + product.conductivity = get_optional_field( + measured_data_json.at("bulk_properties_override"), "thermal_conductivity"); + } product.IRTransmittance = measured_data_json.at("tir_front").get(); product.frontEmissivity = measured_data_json.at("emissivity_front").get(); @@ -302,7 +341,8 @@ OpticsParser::ProductData parseCheckerToolJson(nlohmann::json const & product_js double t = val.at("tf").get(); double rf = val.at("rf").get(); double rb = val.at("rb").get(); - product.measurements.push_back(OpticsParser::WLData(wl, t, rf, rb)); + OpticsParser::MeasurementComponent directValues{t, t, rf, rb}; + product.measurements.push_back(OpticsParser::WLData(wl, directValues)); } return product; @@ -369,7 +409,8 @@ OpticsParser::ProductData parseIGSDBJson(nlohmann::json const & product_json) double t = val.at("T").get(); double rf = val.at("Rf").get(); double rb = val.at("Rb").get(); - product.measurements.push_back(OpticsParser::WLData(wl, t, rf, rb)); + OpticsParser::MeasurementComponent directValues{t, t, rf, rb}; + product.measurements.push_back(OpticsParser::WLData(wl, directValues)); } return product; diff --git a/src/ProductData.cpp b/src/ProductData.cpp index c485a9e..ab8cbc1 100644 --- a/src/ProductData.cpp +++ b/src/ProductData.cpp @@ -2,8 +2,32 @@ #include -OpticsParser::WLData::WLData(double wavelength, double T, double frontR, double backR) : - wavelength(wavelength), T(T), frontR(frontR), backR(backR) +OpticsParser::WLData::WLData(double wavelength, + MeasurementComponent directComponent, + std::optional diffuseComponent) : + wavelength(wavelength), + directComponent(directComponent), + diffuseComponent(diffuseComponent) +{} + +OpticsParser::WLData::WLData(double wavelength, double tDirect, double rfDirect, double rbDiffuse) : + wavelength(wavelength), + directComponent(MeasurementComponent{tDirect, tDirect, rfDirect, rbDiffuse}), + diffuseComponent(std::optional()) +{} + +OpticsParser::WLData::WLData(double wavelength, + double tfDirect, + double tfDiffuse, + double tbDirect, + double tbDiffuse, + double rfDirect, + double rfDiffuse, + double rbDirect, + double rbDiffuse) : + wavelength(wavelength), + directComponent(MeasurementComponent{tfDirect, tbDirect, rfDirect, rbDirect}), + diffuseComponent(MeasurementComponent{tfDiffuse, tbDiffuse, rfDiffuse, rbDiffuse}) {} @@ -53,7 +77,10 @@ OpticsParser::ProductData::ProductData(std::string const & productName, void OpticsParser::to_json(nlohmann::json & j, OpticsParser::WLData const & wl) { - j = nlohmann::json{{"w", wl.wavelength}, {"tf", wl.T}, {"rf", wl.frontR}, {"rb", wl.backR}}; + j = nlohmann::json{{"w", wl.wavelength}, + {"tf", wl.directComponent.tf}, + {"rf", wl.directComponent.rf}, + {"rb", wl.directComponent.rb}}; } std::string convert_product_type(std::string const & optics_product_type) diff --git a/src/ProductData.hpp b/src/ProductData.hpp index aacfe1f..78a8111 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -8,15 +8,36 @@ namespace OpticsParser { + struct MeasurementComponent + { + double tf; + double tb; + double rf; + double rb; + }; + struct WLData { public: - WLData(double wavelength, double T, double frontR, double backR); + WLData(double wavelength, + MeasurementComponent directComponent, + std::optional diffuseComponent = + std::optional()); + + WLData(double wavelength, double tDirect, double rfDirect, double rbDiffuse); + WLData(double wavelength, + double tfDirect, + double tfDiffuse, + double tbDirect, + double tbDiffuse, + double rfDirect, + double rfDiffuse, + double rbDirect, + double rbDiffuse); - double wavelength; - double T; - double frontR; - double backR; + double wavelength; + MeasurementComponent directComponent; + std::optional diffuseComponent; }; struct ProductData diff --git a/test/InputDifferentEmissivities.unit.cpp b/test/InputDifferentEmissivities.unit.cpp index 791d2fa..653d546 100644 --- a/test/InputDifferentEmissivities.unit.cpp +++ b/test/InputDifferentEmissivities.unit.cpp @@ -70,8 +70,11 @@ TEST_F(TestDifferentEmissivities, Test1) for(auto i = 0u; i < correctResults.size(); ++i) { EXPECT_NEAR(correctResults[i].wavelength, product.measurements[i].wavelength, 1e-6); - EXPECT_NEAR(correctResults[i].T, product.measurements[i].T, 1e-6); - EXPECT_NEAR(correctResults[i].frontR, product.measurements[i].frontR, 1e-6); - EXPECT_NEAR(correctResults[i].backR, product.measurements[i].backR, 1e-6); + EXPECT_NEAR( + correctResults[i].directComponent.tf, product.measurements[i].directComponent.tf, 1e-6); + EXPECT_NEAR( + correctResults[i].directComponent.rf, product.measurements[i].directComponent.rf, 1e-6); + EXPECT_NEAR( + correctResults[i].directComponent.rb, product.measurements[i].directComponent.rb, 1e-6); } } diff --git a/test/InputFile1.unit.cpp b/test/InputFile1.unit.cpp index 4ac6029..4ea4272 100644 --- a/test/InputFile1.unit.cpp +++ b/test/InputFile1.unit.cpp @@ -59,6 +59,7 @@ TEST_F(TestFile1, Test1) EXPECT_EQ("Generic Clear Glass", product.productName); EXPECT_EQ("Monolithic", product.productType); + std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, {0.305, 0.0030, 0.0470, 0.0480}, {0.310, 0.0090, 0.0470, 0.0480}, @@ -70,9 +71,12 @@ TEST_F(TestFile1, Test1) for(auto i = 0u; i < correctResults.size(); ++i) { EXPECT_NEAR(correctResults[i].wavelength, product.measurements[i].wavelength, 1e-6); - EXPECT_NEAR(correctResults[i].T, product.measurements[i].T, 1e-6); - EXPECT_NEAR(correctResults[i].frontR, product.measurements[i].frontR, 1e-6); - EXPECT_NEAR(correctResults[i].backR, product.measurements[i].backR, 1e-6); + EXPECT_NEAR( + correctResults[i].directComponent.tf, product.measurements[i].directComponent.tf, 1e-6); + EXPECT_NEAR( + correctResults[i].directComponent.rf, product.measurements[i].directComponent.rf, 1e-6); + EXPECT_NEAR( + correctResults[i].directComponent.rb, product.measurements[i].directComponent.rb, 1e-6); } } @@ -81,12 +85,12 @@ TEST_F(TestFile1, TestParseFile) const std::string inputFile = R"(InputFile1.dat)"; OpticsParser::Parser parser; OpticsParser::ProductData productData = parser.parseFile(inputFile); - - EXPECT_NEAR(3.048, productData.thickness, 1e-6); - EXPECT_NEAR(1, productData.conductivity.value(), 1e-6); - EXPECT_NEAR(0, productData.IRTransmittance, 1e-6); - EXPECT_NEAR(0.84, productData.frontEmissivity, 1e-6); - EXPECT_NEAR(0.84, productData.backEmissivity, 1e-6); + + EXPECT_NEAR(3.048, productData.thickness, 1e-6); + EXPECT_NEAR(1, productData.conductivity.value(), 1e-6); + EXPECT_NEAR(0, productData.IRTransmittance, 1e-6); + EXPECT_NEAR(0.84, productData.frontEmissivity, 1e-6); + EXPECT_NEAR(0.84, productData.backEmissivity, 1e-6); EXPECT_EQ(102, productData.nfrcid); EXPECT_EQ("Generic Clear Glass", productData.productName); EXPECT_EQ("Monolithic", productData.productType); @@ -101,8 +105,14 @@ TEST_F(TestFile1, TestParseFile) for(auto i = 0u; i < correctResults.size(); ++i) { EXPECT_NEAR(correctResults[i].wavelength, productData.measurements[i].wavelength, 1e-6); - EXPECT_NEAR(correctResults[i].T, productData.measurements[i].T, 1e-6); - EXPECT_NEAR(correctResults[i].frontR, productData.measurements[i].frontR, 1e-6); - EXPECT_NEAR(correctResults[i].backR, productData.measurements[i].backR, 1e-6); + EXPECT_NEAR(correctResults[i].directComponent.tf, + productData.measurements[i].directComponent.tf, + 1e-6); + EXPECT_NEAR(correctResults[i].directComponent.rf, + productData.measurements[i].directComponent.rf, + 1e-6); + EXPECT_NEAR(correctResults[i].directComponent.rb, + productData.measurements[i].directComponent.rb, + 1e-6); } } diff --git a/test/InputInvertedEmissivities.unit.cpp b/test/InputInvertedEmissivities.unit.cpp index a0111ae..027d0a8 100644 --- a/test/InputInvertedEmissivities.unit.cpp +++ b/test/InputInvertedEmissivities.unit.cpp @@ -70,8 +70,11 @@ TEST_F(TestInvertedEmissivities, Test1) for(auto i = 0u; i < correctResults.size(); ++i) { EXPECT_NEAR(correctResults[i].wavelength, product.measurements[i].wavelength, 1e-6); - EXPECT_NEAR(correctResults[i].T, product.measurements[i].T, 1e-6); - EXPECT_NEAR(correctResults[i].frontR, product.measurements[i].frontR, 1e-6); - EXPECT_NEAR(correctResults[i].backR, product.measurements[i].backR, 1e-6); + EXPECT_NEAR( + correctResults[i].directComponent.tf, product.measurements[i].directComponent.tf, 1e-6); + EXPECT_NEAR( + correctResults[i].directComponent.rf, product.measurements[i].directComponent.rf, 1e-6); + EXPECT_NEAR( + correctResults[i].directComponent.rb, product.measurements[i].directComponent.rb, 1e-6); } } diff --git a/test/products/diffuse_optics_file_2.txt b/test/products/diffuse_optics_file_2.txt new file mode 100644 index 0000000..e4ff37e --- /dev/null +++ b/test/products/diffuse_optics_file_2.txt @@ -0,0 +1,465 @@ +{ Units, Wavelength Units } SI Microns +{ Thickness } 6 +{ Conductivity } 1 +{ IR Transmittance } TIR=0.000 +{ Emissivity, front back } Emis= 0.86 0.860 +{ } +{ Product Name: Generic frit 38mm aperture } +{ Manufacturer: LBNL demo} +{ Type: Coated } +{ Coating Name: Generic clear frit } +{ Coated Side: Back } +{ Substrate Filename: CLEAR_6.DAT } +{ Extrapolation: Glass } +{ Appearance: Hazy} +0.250 0.0010 0.0020 0.0060 0.0760 0.0110 0.0870 0.0060 0.1310 +0.255 0.0020 0.0010 0.0030 0.0510 0.0110 0.0880 0.0030 0.1090 +0.260 0.0020 0.0010 0.0020 0.0360 0.0120 0.0880 0.0040 0.0950 +0.265 0.0010 0.0010 0.0010 0.0290 0.0120 0.0880 0.0030 0.0900 +0.270 0.0020 0.0000 0.0010 0.0240 0.0120 0.0880 0.0050 0.0840 +0.275 0.0010 0.0010 0.0010 0.0190 0.0120 0.0870 0.0030 0.0800 +0.280 0.0020 0.0000 0.0030 0.0140 0.0100 0.0880 0.0040 0.0760 +0.285 0.0020 0.0000 0.0010 0.0120 0.0150 0.0840 0.0050 0.0720 +0.290 0.0020 0.0000 0.0000 0.0110 0.0130 0.0840 0.0040 0.0720 +0.295 0.0020 0.0000 0.0000 0.0120 0.0140 0.0830 0.0050 0.0710 +0.300 0.0020 0.0000 0.0000 0.0130 0.0140 0.0820 0.0040 0.0730 +0.305 0.0020 0.0010 0.0000 0.0160 0.0140 0.0820 0.0030 0.0740 +0.310 0.0030 0.0070 0.0020 0.0230 0.0120 0.0830 0.0050 0.0760 +0.315 0.0080 0.0200 0.0070 0.0380 0.0140 0.0820 0.0050 0.0780 +0.320 0.0140 0.0450 0.0150 0.0610 0.0150 0.0820 0.0060 0.0780 +0.325 0.0240 0.0780 0.0230 0.0930 0.0140 0.0840 0.0060 0.0790 +0.330 0.0330 0.1130 0.0340 0.1260 0.0130 0.0840 0.0060 0.0780 +0.335 0.0440 0.1480 0.0400 0.1600 0.0130 0.0860 0.0040 0.0780 +0.340 0.0490 0.1810 0.0510 0.1860 0.0130 0.0890 0.0050 0.0790 +0.345 0.0560 0.2020 0.0520 0.2100 0.0130 0.0910 0.0040 0.0800 +0.350 0.0560 0.2260 0.0560 0.2300 0.0090 0.0980 0.0050 0.0860 +0.355 0.0560 0.2430 0.0590 0.2450 0.0110 0.1010 0.0050 0.0900 +0.360 0.0570 0.2580 0.0580 0.2620 0.0110 0.1070 0.0060 0.0960 +0.365 0.0560 0.2740 0.0570 0.2770 0.0110 0.1140 0.0060 0.1040 +0.370 0.0560 0.2900 0.0570 0.2940 0.0110 0.1230 0.0050 0.1130 +0.375 0.0550 0.3060 0.0550 0.3110 0.0100 0.1330 0.0060 0.1210 +0.380 0.0550 0.3260 0.0540 0.3310 0.0110 0.1430 0.0050 0.1330 +0.385 0.0530 0.3520 0.0530 0.3570 0.0110 0.1580 0.0060 0.1480 +0.390 0.0520 0.3860 0.0530 0.3910 0.0100 0.1790 0.0050 0.1700 +0.395 0.0510 0.4200 0.0520 0.4270 0.0110 0.1990 0.0050 0.1910 +0.400 0.0500 0.4480 0.0510 0.4560 0.0100 0.2150 0.0060 0.2080 +0.405 0.0490 0.4630 0.0500 0.4710 0.0100 0.2230 0.0050 0.2170 +0.410 0.0500 0.4710 0.0500 0.4790 0.0100 0.2250 0.0050 0.2210 +0.415 0.0490 0.4740 0.0490 0.4830 0.0100 0.2240 0.0060 0.2210 +0.420 0.0490 0.4760 0.0480 0.4850 0.0100 0.2230 0.0050 0.2210 +0.425 0.0500 0.4770 0.0480 0.4870 0.0100 0.2210 0.0050 0.2210 +0.430 0.0490 0.4790 0.0490 0.4880 0.0110 0.2190 0.0070 0.2190 +0.435 0.0490 0.4800 0.0490 0.4890 0.0100 0.2180 0.0060 0.2190 +0.440 0.0480 0.4820 0.0490 0.4910 0.0110 0.2160 0.0060 0.2180 +0.445 0.0480 0.4830 0.0490 0.4920 0.0100 0.2150 0.0070 0.2170 +0.450 0.0500 0.4840 0.0490 0.4930 0.0110 0.2130 0.0060 0.2170 +0.455 0.0490 0.4860 0.0500 0.4940 0.0100 0.2120 0.0060 0.2170 +0.460 0.0510 0.4870 0.0500 0.4960 0.0110 0.2100 0.0060 0.2160 +0.465 0.0500 0.4890 0.0500 0.4980 0.0100 0.2090 0.0070 0.2150 +0.470 0.0500 0.4900 0.0510 0.4990 0.0110 0.2070 0.0070 0.2140 +0.475 0.0510 0.4910 0.0510 0.5010 0.0110 0.2050 0.0070 0.2140 +0.480 0.0520 0.4920 0.0520 0.5020 0.0110 0.2040 0.0070 0.2130 +0.485 0.0530 0.4930 0.0530 0.5030 0.0110 0.2030 0.0060 0.2130 +0.490 0.0530 0.4950 0.0530 0.5040 0.0100 0.2020 0.0060 0.2120 +0.495 0.0530 0.4960 0.0540 0.5050 0.0100 0.2010 0.0070 0.2110 +0.500 0.0540 0.4970 0.0540 0.5060 0.0100 0.1990 0.0070 0.2100 +0.505 0.0550 0.4980 0.0550 0.5070 0.0100 0.1980 0.0060 0.2100 +0.510 0.0550 0.4990 0.0560 0.5080 0.0110 0.1960 0.0060 0.2090 +0.515 0.0570 0.4990 0.0570 0.5090 0.0100 0.1950 0.0060 0.2080 +0.520 0.0580 0.5000 0.0580 0.5100 0.0100 0.1940 0.0060 0.2080 +0.525 0.0580 0.5010 0.0590 0.5100 0.0100 0.1930 0.0060 0.2070 +0.530 0.0600 0.5010 0.0600 0.5110 0.0100 0.1920 0.0060 0.2060 +0.535 0.0600 0.5020 0.0610 0.5110 0.0110 0.1900 0.0080 0.2040 +0.540 0.0620 0.5020 0.0610 0.5120 0.0100 0.1890 0.0060 0.2040 +0.545 0.0630 0.5030 0.0630 0.5120 0.0100 0.1880 0.0070 0.2030 +0.550 0.0630 0.5030 0.0640 0.5130 0.0100 0.1870 0.0070 0.2020 +0.555 0.0640 0.5040 0.0650 0.5130 0.0100 0.1860 0.0070 0.2010 +0.560 0.0660 0.5040 0.0660 0.5140 0.0100 0.1850 0.0070 0.2000 +0.565 0.0670 0.5040 0.0680 0.5130 0.0110 0.1830 0.0070 0.1990 +0.570 0.0680 0.5040 0.0680 0.5140 0.0100 0.1820 0.0060 0.1980 +0.575 0.0700 0.5040 0.0690 0.5150 0.0100 0.1810 0.0060 0.1970 +0.580 0.0700 0.5050 0.0700 0.5140 0.0100 0.1800 0.0060 0.1960 +0.585 0.0710 0.5050 0.0720 0.5140 0.0090 0.1790 0.0060 0.1950 +0.590 0.0730 0.5050 0.0740 0.5140 0.0100 0.1770 0.0050 0.1940 +0.595 0.0740 0.5040 0.0740 0.5140 0.0100 0.1760 0.0060 0.1930 +0.600 0.0760 0.5040 0.0750 0.5140 0.0090 0.1750 0.0060 0.1910 +0.605 0.0760 0.5040 0.0770 0.5130 0.0090 0.1740 0.0060 0.1900 +0.610 0.0780 0.5030 0.0780 0.5130 0.0090 0.1730 0.0060 0.1890 +0.615 0.0790 0.5030 0.0790 0.5130 0.0090 0.1720 0.0060 0.1880 +0.620 0.0800 0.5030 0.0800 0.5130 0.0090 0.1710 0.0060 0.1870 +0.625 0.0810 0.5030 0.0830 0.5120 0.0090 0.1700 0.0060 0.1860 +0.630 0.0830 0.5020 0.0830 0.5120 0.0090 0.1690 0.0060 0.1850 +0.635 0.0840 0.5020 0.0860 0.5110 0.0100 0.1670 0.0060 0.1830 +0.640 0.0860 0.5010 0.0860 0.5110 0.0090 0.1660 0.0060 0.1820 +0.645 0.0880 0.5000 0.0880 0.5100 0.0100 0.1650 0.0060 0.1810 +0.650 0.0890 0.5000 0.0900 0.5100 0.0090 0.1640 0.0060 0.1800 +0.655 0.0910 0.5000 0.0910 0.5090 0.0080 0.1640 0.0060 0.1790 +0.660 0.0920 0.4990 0.0920 0.5090 0.0090 0.1630 0.0060 0.1780 +0.665 0.0930 0.4990 0.0940 0.5080 0.0090 0.1620 0.0060 0.1770 +0.670 0.0950 0.4980 0.0960 0.5070 0.0090 0.1610 0.0060 0.1760 +0.675 0.0960 0.4980 0.0970 0.5080 0.0090 0.1600 0.0060 0.1750 +0.680 0.0980 0.4970 0.0990 0.5070 0.0080 0.1600 0.0060 0.1740 +0.685 0.1000 0.4960 0.1000 0.5060 0.0080 0.1590 0.0060 0.1730 +0.690 0.1000 0.4960 0.1020 0.5050 0.0080 0.1580 0.0050 0.1720 +0.695 0.1030 0.4940 0.1030 0.5040 0.0090 0.1570 0.0050 0.1710 +0.700 0.1040 0.4940 0.1040 0.5040 0.0090 0.1560 0.0060 0.1700 +0.705 0.1060 0.4930 0.1070 0.5020 0.0090 0.1550 0.0050 0.1700 +0.710 0.1070 0.4920 0.1080 0.5020 0.0080 0.1550 0.0050 0.1680 +0.715 0.1100 0.4910 0.1100 0.5010 0.0080 0.1540 0.0060 0.1670 +0.720 0.1110 0.4910 0.1120 0.5000 0.0080 0.1530 0.0050 0.1660 +0.725 0.1130 0.4890 0.1140 0.4990 0.0090 0.1520 0.0050 0.1650 +0.730 0.1140 0.4890 0.1150 0.4980 0.0070 0.1520 0.0050 0.1640 +0.735 0.1160 0.4880 0.1170 0.4970 0.0080 0.1510 0.0050 0.1630 +0.740 0.1170 0.4870 0.1190 0.4960 0.0080 0.1500 0.0060 0.1620 +0.745 0.1200 0.4850 0.1210 0.4950 0.0090 0.1490 0.0050 0.1610 +0.750 0.1230 0.4840 0.1220 0.4950 0.0080 0.1490 0.0050 0.1610 +0.755 0.1230 0.4840 0.1250 0.4930 0.0080 0.1480 0.0050 0.1590 +0.760 0.1250 0.4830 0.1250 0.4930 0.0070 0.1480 0.0040 0.1590 +0.765 0.1260 0.4810 0.1270 0.4910 0.0070 0.1470 0.0050 0.1580 +0.770 0.1280 0.4810 0.1300 0.4900 0.0070 0.1460 0.0050 0.1570 +0.775 0.1300 0.4800 0.1320 0.4890 0.0070 0.1450 0.0040 0.1560 +0.780 0.1310 0.4780 0.1310 0.4890 0.0070 0.1450 0.0040 0.1550 +0.785 0.1340 0.4780 0.1360 0.4880 0.0070 0.1440 0.0040 0.1540 +0.790 0.1350 0.4770 0.1370 0.4860 0.0080 0.1430 0.0040 0.1530 +0.795 0.1370 0.4740 0.1380 0.4850 0.0070 0.1430 0.0040 0.1520 +0.800 0.1440 0.4750 0.1450 0.4870 0.0030 0.1500 0.0050 0.1520 +0.805 0.1450 0.4720 0.1460 0.4810 0.0090 0.1440 0.0000 0.1560 +0.810 0.1460 0.4740 0.1530 0.4780 0.0090 0.1420 0.0020 0.1530 +0.815 0.1460 0.4720 0.1480 0.4810 0.0060 0.1450 0.0000 0.1540 +0.820 0.1460 0.4710 0.1490 0.4790 0.0060 0.1430 0.0050 0.1480 +0.825 0.1510 0.4680 0.1510 0.4780 0.0040 0.1420 0.0050 0.1480 +0.830 0.1510 0.4680 0.1560 0.4750 0.0060 0.1420 0.0050 0.1460 +0.835 0.1530 0.4700 0.1580 0.4750 0.0070 0.1390 0.0030 0.1480 +0.840 0.1570 0.4650 0.1590 0.4730 0.0040 0.1400 0.0010 0.1470 +0.845 0.1600 0.4630 0.1580 0.4760 0.0070 0.1380 0.0000 0.1480 +0.850 0.1600 0.4630 0.1620 0.4730 0.0050 0.1390 0.0010 0.1470 +0.855 0.1630 0.4620 0.1630 0.4730 0.0050 0.1380 0.0030 0.1460 +0.860 0.1620 0.4630 0.1660 0.4710 0.0060 0.1380 0.0040 0.1450 +0.865 0.1660 0.4610 0.1660 0.4700 0.0050 0.1370 0.0000 0.1450 +0.870 0.1680 0.4590 0.1690 0.4690 0.0060 0.1360 0.0030 0.1410 +0.875 0.1710 0.4580 0.1700 0.4690 0.0050 0.1360 0.0030 0.1420 +0.880 0.1720 0.4580 0.1740 0.4670 0.0050 0.1360 0.0020 0.1420 +0.885 0.1730 0.4570 0.1740 0.4670 0.0070 0.1350 0.0020 0.1420 +0.890 0.1760 0.4550 0.1760 0.4660 0.0050 0.1350 0.0020 0.1410 +0.895 0.1770 0.4550 0.1780 0.4640 0.0070 0.1330 0.0020 0.1400 +0.900 0.1800 0.4520 0.1810 0.4620 0.0080 0.1320 0.0020 0.1390 +0.905 0.1820 0.4510 0.1830 0.4600 0.0070 0.1320 0.0030 0.1380 +0.910 0.1830 0.4490 0.1860 0.4580 0.0070 0.1310 0.0010 0.1380 +0.915 0.1850 0.4490 0.1890 0.4570 0.0060 0.1310 0.0020 0.1370 +0.920 0.1880 0.4470 0.1900 0.4560 0.0060 0.1300 0.0010 0.1360 +0.925 0.1900 0.4460 0.1920 0.4550 0.0060 0.1300 0.0010 0.1360 +0.930 0.1920 0.4440 0.1930 0.4540 0.0060 0.1290 0.0020 0.1350 +0.935 0.1940 0.4430 0.1970 0.4520 0.0080 0.1280 0.0010 0.1350 +0.940 0.1960 0.4420 0.1990 0.4500 0.0050 0.1290 0.0010 0.1330 +0.945 0.1980 0.4410 0.2010 0.4490 0.0060 0.1270 0.0010 0.1330 +0.950 0.2000 0.4400 0.2030 0.4480 0.0070 0.1270 0.0020 0.1320 +0.955 0.2030 0.4380 0.2040 0.4470 0.0060 0.1270 0.0000 0.1320 +0.960 0.2040 0.4380 0.2060 0.4470 0.0060 0.1260 0.0020 0.1310 +0.965 0.2070 0.4360 0.2090 0.4440 0.0070 0.1250 0.0020 0.1300 +0.970 0.2100 0.4340 0.2120 0.4430 0.0070 0.1250 0.0010 0.1300 +0.975 0.2100 0.4340 0.2140 0.4420 0.0060 0.1250 0.0010 0.1300 +0.980 0.2140 0.4320 0.2150 0.4420 0.0050 0.1250 0.0000 0.1300 +0.985 0.2140 0.4320 0.2180 0.4400 0.0060 0.1240 0.0010 0.1290 +0.990 0.2170 0.4310 0.2190 0.4400 0.0050 0.1250 0.0010 0.1280 +0.995 0.2190 0.4300 0.2220 0.4380 0.0060 0.1230 0.0000 0.1290 +1.000 0.2220 0.4280 0.2240 0.4370 0.0050 0.1240 0.0010 0.1290 +1.005 0.2230 0.4270 0.2250 0.4360 0.0050 0.1240 0.0010 0.1270 +1.010 0.2250 0.4270 0.2280 0.4350 0.0070 0.1220 0.0010 0.1270 +1.015 0.2290 0.4240 0.2300 0.4340 0.0060 0.1220 0.0000 0.1270 +1.020 0.2300 0.4230 0.2330 0.4320 0.0050 0.1230 0.0010 0.1270 +1.025 0.2320 0.4220 0.2340 0.4310 0.0040 0.1220 0.0000 0.1260 +1.030 0.2330 0.4220 0.2360 0.4310 0.0040 0.1230 0.0010 0.1260 +1.035 0.2360 0.4210 0.2380 0.4300 0.0040 0.1220 0.0010 0.1250 +1.040 0.2370 0.4210 0.2390 0.4300 0.0060 0.1210 0.0000 0.1250 +1.045 0.2400 0.4190 0.2420 0.4270 0.0060 0.1200 0.0000 0.1250 +1.050 0.2400 0.4180 0.2450 0.4270 0.0040 0.1210 0.0030 0.1230 +1.055 0.2430 0.4180 0.2460 0.4260 0.0050 0.1200 0.0000 0.1240 +1.060 0.2470 0.4150 0.2480 0.4240 0.0040 0.1200 0.0010 0.1230 +1.065 0.2470 0.4150 0.2500 0.4240 0.0040 0.1200 0.0000 0.1230 +1.070 0.2500 0.4140 0.2520 0.4220 0.0050 0.1200 0.0010 0.1220 +1.075 0.2510 0.4130 0.2540 0.4210 0.0020 0.1210 0.0000 0.1230 +1.080 0.2540 0.4120 0.2560 0.4210 0.0050 0.1190 0.0000 0.1230 +1.085 0.2550 0.4120 0.2590 0.4190 0.0050 0.1180 0.0000 0.1220 +1.090 0.2580 0.4100 0.2600 0.4190 0.0050 0.1180 0.0000 0.1220 +1.095 0.2590 0.4100 0.2640 0.4170 0.0040 0.1190 0.0000 0.1220 +1.100 0.2600 0.4090 0.2640 0.4170 0.0040 0.1180 0.0000 0.1220 +1.105 0.2630 0.4080 0.2670 0.4150 0.0030 0.1190 0.0000 0.1200 +1.110 0.2660 0.4060 0.2690 0.4150 0.0040 0.1180 0.0000 0.1210 +1.115 0.2690 0.4050 0.2700 0.4150 0.0060 0.1170 0.0000 0.1220 +1.120 0.2710 0.4040 0.2720 0.4130 0.0040 0.1170 0.0000 0.1200 +1.125 0.2730 0.4030 0.2730 0.4120 0.0050 0.1170 0.0000 0.1190 +1.130 0.2730 0.4040 0.2760 0.4120 0.0050 0.1170 0.0000 0.1210 +1.135 0.2750 0.4020 0.2790 0.4100 0.0040 0.1170 0.0000 0.1190 +1.140 0.2770 0.4010 0.2800 0.4090 0.0050 0.1160 0.0000 0.1180 +1.145 0.2800 0.4000 0.2830 0.4080 0.0050 0.1160 0.0000 0.1190 +1.150 0.2800 0.4000 0.2840 0.4070 0.0030 0.1170 0.0000 0.1180 +1.155 0.2830 0.3980 0.2870 0.4060 0.0040 0.1160 0.0000 0.1180 +1.160 0.2840 0.3980 0.2880 0.4050 0.0040 0.1160 0.0000 0.1170 +1.165 0.2850 0.3970 0.2890 0.4050 0.0050 0.1150 0.0000 0.1180 +1.170 0.2890 0.3950 0.2930 0.4030 0.0040 0.1150 0.0000 0.1180 +1.175 0.2920 0.3940 0.2930 0.4030 0.0040 0.1150 0.0000 0.1170 +1.180 0.2930 0.3930 0.2940 0.4020 0.0030 0.1160 0.0000 0.1170 +1.185 0.2930 0.3930 0.2970 0.4010 0.0040 0.1150 0.0000 0.1170 +1.190 0.2970 0.3910 0.3000 0.4000 0.0030 0.1160 0.0000 0.1170 +1.195 0.2980 0.3920 0.3020 0.3990 0.0040 0.1150 0.0000 0.1170 +1.200 0.3000 0.3900 0.3050 0.3970 0.0030 0.1140 0.0010 0.1140 +1.205 0.3020 0.3880 0.3050 0.3960 0.0040 0.1130 0.0000 0.1160 +1.210 0.3050 0.3860 0.3080 0.3940 0.0030 0.1140 0.0000 0.1150 +1.215 0.3070 0.3860 0.3110 0.3940 0.0040 0.1130 0.0000 0.1150 +1.220 0.3080 0.3860 0.3100 0.3940 0.0030 0.1140 0.0000 0.1150 +1.225 0.3110 0.3850 0.3130 0.3930 0.0050 0.1130 0.0000 0.1140 +1.230 0.3120 0.3840 0.3150 0.3920 0.0030 0.1130 0.0000 0.1140 +1.235 0.3130 0.3830 0.3180 0.3900 0.0050 0.1120 0.0010 0.1140 +1.240 0.3150 0.3830 0.3180 0.3900 0.0040 0.1120 0.0000 0.1140 +1.245 0.3170 0.3820 0.3200 0.3890 0.0030 0.1130 0.0010 0.1130 +1.250 0.3190 0.3800 0.3210 0.3890 0.0030 0.1130 0.0000 0.1120 +1.255 0.3210 0.3800 0.3240 0.3880 0.0030 0.1120 0.0000 0.1130 +1.260 0.3230 0.3790 0.3260 0.3870 0.0020 0.1130 0.0000 0.1120 +1.265 0.3250 0.3780 0.3280 0.3860 0.0040 0.1120 0.0000 0.1130 +1.270 0.3260 0.3780 0.3290 0.3860 0.0020 0.1130 0.0000 0.1130 +1.275 0.3290 0.3760 0.3310 0.3850 0.0030 0.1120 0.0000 0.1120 +1.280 0.3300 0.3760 0.3320 0.3850 0.0030 0.1120 0.0000 0.1130 +1.285 0.3320 0.3750 0.3350 0.3820 0.0030 0.1110 0.0000 0.1130 +1.290 0.3330 0.3750 0.3380 0.3810 0.0020 0.1120 0.0000 0.1130 +1.295 0.3370 0.3730 0.3400 0.3810 0.0030 0.1110 0.0000 0.1130 +1.300 0.3380 0.3720 0.3400 0.3800 0.0020 0.1120 0.0000 0.1120 +1.305 0.3390 0.3720 0.3420 0.3790 0.0030 0.1110 0.0000 0.1130 +1.310 0.3410 0.3720 0.3430 0.3800 0.0030 0.1110 0.0000 0.1120 +1.315 0.3440 0.3690 0.3460 0.3780 0.0030 0.1100 0.0000 0.1120 +1.320 0.3430 0.3700 0.3470 0.3780 0.0010 0.1110 0.0000 0.1120 +1.325 0.3450 0.3700 0.3510 0.3750 0.0020 0.1120 0.0000 0.1110 +1.330 0.3480 0.3690 0.3500 0.3770 0.0040 0.1100 0.0000 0.1120 +1.335 0.3500 0.3680 0.3530 0.3750 0.0020 0.1110 0.0000 0.1110 +1.340 0.3510 0.3670 0.3540 0.3740 0.0040 0.1090 0.0000 0.1110 +1.345 0.3530 0.3660 0.3550 0.3740 0.0020 0.1100 0.0000 0.1120 +1.350 0.3550 0.3660 0.3590 0.3730 0.0020 0.1110 0.0000 0.1110 +1.355 0.3570 0.3660 0.3590 0.3740 0.0020 0.1110 0.0000 0.1110 +1.360 0.3590 0.3650 0.3620 0.3720 0.0020 0.1100 0.0000 0.1100 +1.365 0.3590 0.3650 0.3620 0.3720 0.0020 0.1100 0.0000 0.1110 +1.370 0.3620 0.3630 0.3650 0.3710 0.0020 0.1110 0.0000 0.1100 +1.375 0.3630 0.3630 0.3680 0.3700 0.0010 0.1100 0.0000 0.1110 +1.380 0.3640 0.3620 0.3680 0.3700 0.0010 0.1100 0.0000 0.1100 +1.385 0.3660 0.3610 0.3680 0.3690 0.0020 0.1100 0.0000 0.1100 +1.390 0.3690 0.3590 0.3710 0.3670 0.0010 0.1100 0.0000 0.1100 +1.395 0.3700 0.3580 0.3730 0.3660 0.0040 0.1080 0.0000 0.1100 +1.400 0.3710 0.3580 0.3730 0.3670 0.0020 0.1090 0.0000 0.1100 +1.405 0.3730 0.3560 0.3760 0.3640 0.0000 0.1090 0.0000 0.1090 +1.410 0.3730 0.3560 0.3770 0.3630 0.0030 0.1080 0.0000 0.1080 +1.415 0.3750 0.3550 0.3780 0.3620 0.0020 0.1080 0.0000 0.1080 +1.420 0.3770 0.3550 0.3800 0.3620 0.0020 0.1090 0.0000 0.1090 +1.425 0.3790 0.3540 0.3820 0.3610 0.0010 0.1090 0.0000 0.1090 +1.430 0.3810 0.3530 0.3860 0.3600 0.0030 0.1070 0.0000 0.1090 +1.435 0.3820 0.3520 0.3840 0.3590 0.0000 0.1090 0.0000 0.1090 +1.440 0.3840 0.3520 0.3870 0.3600 0.0020 0.1090 0.0000 0.1090 +1.445 0.3850 0.3520 0.3890 0.3590 0.0000 0.1090 0.0000 0.1090 +1.450 0.3860 0.3520 0.3900 0.3580 0.0030 0.1080 0.0000 0.1080 +1.455 0.3890 0.3510 0.3910 0.3590 0.0030 0.1080 0.0000 0.1080 +1.460 0.3910 0.3500 0.3940 0.3580 0.0000 0.1080 0.0000 0.1080 +1.465 0.3930 0.3490 0.3950 0.3580 0.0000 0.1090 0.0000 0.1100 +1.470 0.3940 0.3490 0.3980 0.3560 0.0000 0.1080 0.0000 0.1080 +1.475 0.3960 0.3480 0.3990 0.3560 0.0000 0.1090 0.0000 0.1080 +1.480 0.3980 0.3470 0.4010 0.3550 0.0000 0.1090 0.0000 0.1090 +1.485 0.4000 0.3460 0.4020 0.3540 0.0020 0.1070 0.0000 0.1080 +1.490 0.3990 0.3470 0.4040 0.3530 0.0010 0.1080 0.0000 0.1100 +1.495 0.4020 0.3460 0.4040 0.3540 0.0010 0.1080 0.0000 0.1090 +1.500 0.4030 0.3460 0.4070 0.3520 0.0010 0.1080 0.0000 0.1090 +1.505 0.4050 0.3450 0.4080 0.3530 0.0000 0.1080 0.0000 0.1090 +1.510 0.4070 0.3430 0.4110 0.3500 0.0010 0.1080 0.0000 0.1070 +1.515 0.4090 0.3430 0.4110 0.3510 0.0000 0.1080 0.0000 0.1080 +1.520 0.4100 0.3420 0.4120 0.3500 0.0030 0.1070 0.0000 0.1080 +1.525 0.4100 0.3430 0.4140 0.3490 0.0010 0.1080 0.0000 0.1080 +1.530 0.4140 0.3400 0.4160 0.3490 0.0010 0.1070 0.0000 0.1090 +1.535 0.4130 0.3410 0.4170 0.3480 0.0000 0.1080 0.0000 0.1080 +1.540 0.4160 0.3390 0.4180 0.3470 0.0010 0.1070 0.0000 0.1080 +1.545 0.4160 0.3390 0.4200 0.3460 0.0000 0.1080 0.0000 0.1090 +1.550 0.4170 0.3390 0.4200 0.3460 0.0020 0.1070 0.0000 0.1080 +1.555 0.4200 0.3380 0.4230 0.3450 0.0010 0.1070 0.0000 0.1070 +1.560 0.4210 0.3380 0.4230 0.3450 0.0000 0.1070 0.0000 0.1080 +1.565 0.4210 0.3370 0.4250 0.3440 0.0030 0.1060 0.0000 0.1070 +1.570 0.4240 0.3360 0.4280 0.3430 0.0010 0.1070 0.0000 0.1080 +1.575 0.4250 0.3350 0.4280 0.3420 0.0000 0.1080 0.0000 0.1070 +1.580 0.4250 0.3350 0.4290 0.3420 0.0020 0.1060 0.0000 0.1080 +1.585 0.4280 0.3340 0.4300 0.3420 0.0010 0.1070 0.0000 0.1070 +1.590 0.4300 0.3330 0.4330 0.3400 0.0000 0.1070 0.0000 0.1070 +1.595 0.4310 0.3320 0.4340 0.3400 0.0030 0.1050 0.0000 0.1080 +1.600 0.4310 0.3320 0.4350 0.3390 0.0000 0.1070 0.0000 0.1080 +1.605 0.4330 0.3310 0.4350 0.3390 0.0000 0.1070 0.0000 0.1060 +1.610 0.4360 0.3290 0.4380 0.3380 0.0000 0.1080 0.0000 0.1060 +1.615 0.4370 0.3280 0.4380 0.3370 0.0000 0.1060 0.0000 0.1070 +1.620 0.4370 0.3290 0.4390 0.3370 0.0020 0.1050 0.0000 0.1060 +1.625 0.4360 0.3290 0.4410 0.3350 0.0000 0.1060 0.0000 0.1060 +1.630 0.4390 0.3280 0.4420 0.3360 0.0000 0.1060 0.0000 0.1070 +1.635 0.4390 0.3270 0.4410 0.3350 0.0020 0.1050 0.0000 0.1060 +1.640 0.4410 0.3260 0.4450 0.3330 0.0010 0.1050 0.0000 0.1060 +1.645 0.4430 0.3250 0.4450 0.3330 0.0000 0.1060 0.0000 0.1050 +1.650 0.4440 0.3240 0.4460 0.3320 0.0010 0.1040 0.0000 0.1060 +1.655 0.4440 0.3250 0.4470 0.3320 0.0010 0.1050 0.0000 0.1060 +1.660 0.4450 0.3240 0.4500 0.3310 0.0000 0.1060 0.0000 0.1050 +1.665 0.4470 0.3230 0.4490 0.3310 0.0000 0.1060 0.0000 0.1050 +1.670 0.4480 0.3230 0.4510 0.3300 0.0000 0.1050 0.0000 0.1070 +1.675 0.4490 0.3210 0.4520 0.3300 0.0000 0.1060 0.0000 0.1050 +1.680 0.4490 0.3210 0.4530 0.3290 0.0000 0.1050 0.0000 0.1060 +1.685 0.4520 0.3200 0.4530 0.3280 0.0000 0.1060 0.0000 0.1070 +1.690 0.4520 0.3200 0.4550 0.3270 0.0000 0.1050 0.0000 0.1060 +1.695 0.4520 0.3200 0.4550 0.3270 0.0000 0.1060 0.0000 0.1060 +1.700 0.4540 0.3190 0.4580 0.3260 0.0000 0.1050 0.0000 0.1050 +1.705 0.4550 0.3190 0.4590 0.3250 0.0000 0.1050 0.0000 0.1050 +1.710 0.4560 0.3170 0.4570 0.3260 0.0000 0.1050 0.0000 0.1060 +1.715 0.4570 0.3170 0.4600 0.3250 0.0000 0.1050 0.0000 0.1050 +1.720 0.4590 0.3150 0.4610 0.3240 0.0000 0.1040 0.0000 0.1040 +1.725 0.4600 0.3150 0.4630 0.3220 0.0000 0.1050 0.0000 0.1060 +1.730 0.4600 0.3150 0.4630 0.3210 0.0000 0.1040 0.0000 0.1050 +1.735 0.4600 0.3140 0.4630 0.3210 0.0000 0.1040 0.0000 0.1040 +1.740 0.4620 0.3130 0.4640 0.3210 0.0010 0.1040 0.0000 0.1040 +1.745 0.4620 0.3120 0.4660 0.3190 0.0010 0.1030 0.0000 0.1050 +1.750 0.4640 0.3110 0.4660 0.3190 0.0000 0.1040 0.0000 0.1050 +1.755 0.4660 0.3100 0.4680 0.3170 0.0000 0.1040 0.0000 0.1050 +1.760 0.4650 0.3100 0.4690 0.3170 0.0000 0.1040 0.0000 0.1050 +1.765 0.4660 0.3080 0.4680 0.3170 0.0000 0.1040 0.0000 0.1030 +1.770 0.4670 0.3080 0.4710 0.3150 0.0000 0.1030 0.0000 0.1040 +1.775 0.4690 0.3060 0.4710 0.3140 0.0000 0.1050 0.0000 0.1040 +1.780 0.4680 0.3070 0.4710 0.3140 0.0000 0.1030 0.0000 0.1030 +1.785 0.4690 0.3050 0.4710 0.3140 0.0000 0.1030 0.0000 0.1030 +1.790 0.4700 0.3050 0.4740 0.3120 0.0000 0.1030 0.0000 0.1030 +1.795 0.4730 0.3030 0.4720 0.3130 0.0000 0.1050 0.0000 0.1030 +1.800 0.4720 0.3040 0.4750 0.3120 0.0000 0.1040 0.0000 0.1030 +1.805 0.4730 0.3030 0.4750 0.3110 0.0000 0.1040 0.0000 0.1030 +1.810 0.4740 0.3030 0.4760 0.3100 0.0000 0.1030 0.0000 0.1020 +1.815 0.4740 0.3010 0.4750 0.3110 0.0010 0.1020 0.0000 0.1010 +1.820 0.4750 0.3020 0.4780 0.3090 0.0000 0.1030 0.0000 0.1010 +1.825 0.4760 0.3020 0.4780 0.3100 0.0000 0.1040 0.0000 0.1030 +1.830 0.4770 0.3010 0.4800 0.3080 0.0000 0.1030 0.0000 0.1020 +1.835 0.4760 0.3010 0.4790 0.3090 0.0000 0.1030 0.0000 0.1020 +1.840 0.4790 0.2990 0.4810 0.3080 0.0000 0.1030 0.0000 0.1020 +1.845 0.4800 0.3000 0.4820 0.3080 0.0000 0.1040 0.0000 0.1020 +1.850 0.4790 0.2990 0.4830 0.3070 0.0000 0.1030 0.0000 0.1020 +1.855 0.4800 0.3000 0.4830 0.3070 0.0000 0.1030 0.0000 0.1030 +1.860 0.4810 0.2980 0.4830 0.3060 0.0000 0.1020 0.0000 0.1010 +1.865 0.4820 0.2980 0.4850 0.3060 0.0000 0.1030 0.0000 0.1020 +1.870 0.4830 0.2970 0.4860 0.3050 0.0000 0.1020 0.0000 0.1000 +1.875 0.4830 0.2970 0.4850 0.3060 0.0000 0.1040 0.0000 0.1030 +1.880 0.4840 0.2970 0.4870 0.3030 0.0000 0.1030 0.0000 0.1020 +1.885 0.4840 0.2950 0.4870 0.3020 0.0000 0.1020 0.0000 0.1020 +1.890 0.4860 0.2940 0.4870 0.3020 0.0000 0.1020 0.0000 0.1010 +1.895 0.4860 0.2950 0.4900 0.3020 0.0000 0.1030 0.0000 0.1000 +1.900 0.4860 0.2950 0.4890 0.3020 0.0000 0.1020 0.0000 0.1010 +1.905 0.4870 0.2940 0.4890 0.3030 0.0000 0.1020 0.0000 0.1010 +1.910 0.4860 0.2960 0.4890 0.3020 0.0000 0.1020 0.0000 0.1010 +1.915 0.4870 0.2950 0.4910 0.3020 0.0000 0.1020 0.0000 0.1010 +1.920 0.4900 0.2930 0.4910 0.3010 0.0000 0.1030 0.0000 0.1010 +1.925 0.4870 0.2940 0.4910 0.3010 0.0000 0.1020 0.0000 0.1010 +1.930 0.4900 0.2920 0.4930 0.2990 0.0000 0.1040 0.0000 0.1010 +1.935 0.4900 0.2920 0.4930 0.2990 0.0000 0.1030 0.0000 0.1010 +1.940 0.4910 0.2910 0.4950 0.2980 0.0000 0.1030 0.0000 0.1000 +1.945 0.4920 0.2900 0.4950 0.2970 0.0000 0.1020 0.0000 0.1010 +1.950 0.4940 0.2890 0.4960 0.2970 0.0000 0.1020 0.0000 0.1000 +1.955 0.4930 0.2890 0.4960 0.2970 0.0000 0.1020 0.0000 0.1000 +1.960 0.4950 0.2880 0.4970 0.2960 0.0000 0.1020 0.0000 0.1000 +1.965 0.4950 0.2880 0.4980 0.2950 0.0000 0.1040 0.0000 0.1010 +1.970 0.4950 0.2870 0.4990 0.2940 0.0000 0.1020 0.0000 0.1000 +1.975 0.4980 0.2860 0.4990 0.2940 0.0000 0.1010 0.0000 0.1000 +1.980 0.4970 0.2870 0.5000 0.2930 0.0000 0.1010 0.0000 0.1000 +1.985 0.4990 0.2850 0.5010 0.2930 0.0000 0.1020 0.0000 0.1000 +1.990 0.5000 0.2840 0.5020 0.2920 0.0000 0.1010 0.0000 0.0990 +1.995 0.5010 0.2850 0.5030 0.2920 0.0000 0.1010 0.0000 0.0990 +2.000 0.5000 0.2870 0.5010 0.2950 0.0000 0.1040 0.0000 0.1000 +2.005 0.4980 0.2870 0.5020 0.2940 0.0000 0.1030 0.0000 0.1020 +2.010 0.5010 0.2870 0.5040 0.2930 0.0000 0.1040 0.0000 0.1000 +2.015 0.5030 0.2860 0.5040 0.2930 0.0000 0.1020 0.0000 0.1010 +2.020 0.5020 0.2860 0.5060 0.2920 0.0000 0.1040 0.0000 0.1000 +2.025 0.5030 0.2860 0.5070 0.2930 0.0000 0.1030 0.0000 0.1000 +2.030 0.5050 0.2860 0.5060 0.2940 0.0000 0.1040 0.0000 0.1010 +2.035 0.5040 0.2850 0.5070 0.2930 0.0000 0.1040 0.0000 0.1010 +2.040 0.5040 0.2850 0.5080 0.2920 0.0000 0.1040 0.0000 0.1000 +2.045 0.5060 0.2860 0.5080 0.2950 0.0000 0.1040 0.0000 0.1000 +2.050 0.5060 0.2860 0.5090 0.2940 0.0000 0.1020 0.0000 0.1000 +2.055 0.5060 0.2850 0.5100 0.2920 0.0000 0.1040 0.0000 0.1020 +2.060 0.5100 0.2820 0.5100 0.2900 0.0000 0.1050 0.0000 0.1010 +2.065 0.5060 0.2870 0.5080 0.2930 0.0000 0.1040 0.0000 0.1000 +2.070 0.5040 0.2870 0.5100 0.2920 0.0000 0.1050 0.0000 0.1010 +2.075 0.5080 0.2830 0.5120 0.2900 0.0000 0.1040 0.0000 0.1000 +2.080 0.5080 0.2840 0.5140 0.2900 0.0000 0.1040 0.0000 0.1010 +2.085 0.5100 0.2830 0.5100 0.2920 0.0000 0.1040 0.0000 0.1020 +2.090 0.5120 0.2820 0.5120 0.2920 0.0000 0.1040 0.0000 0.0990 +2.095 0.5100 0.2820 0.5130 0.2900 0.0000 0.1030 0.0000 0.1020 +2.100 0.5120 0.2820 0.5160 0.2900 0.0000 0.1050 0.0000 0.1020 +2.105 0.5120 0.2830 0.5160 0.2900 0.0000 0.1060 0.0000 0.0990 +2.110 0.5140 0.2790 0.5160 0.2860 0.0000 0.1020 0.0000 0.1000 +2.115 0.5150 0.2800 0.5120 0.2910 0.0000 0.1020 0.0000 0.1000 +2.120 0.5150 0.2800 0.5180 0.2890 0.0000 0.1040 0.0000 0.1010 +2.125 0.5140 0.2800 0.5150 0.2890 0.0000 0.1070 0.0000 0.1010 +2.130 0.5120 0.2820 0.5140 0.2900 0.0000 0.1050 0.0000 0.1020 +2.135 0.5130 0.2800 0.5170 0.2870 0.0000 0.1030 0.0000 0.1000 +2.140 0.5150 0.2780 0.5150 0.2880 0.0000 0.1020 0.0000 0.1010 +2.145 0.5140 0.2780 0.5160 0.2880 0.0000 0.1030 0.0000 0.1000 +2.150 0.5120 0.2780 0.5170 0.2850 0.0000 0.1000 0.0000 0.1020 +2.155 0.5130 0.2760 0.5170 0.2830 0.0000 0.1030 0.0000 0.0990 +2.160 0.5150 0.2730 0.5150 0.2830 0.0000 0.1010 0.0000 0.1040 +2.165 0.5120 0.2740 0.5150 0.2800 0.0000 0.1000 0.0000 0.0990 +2.170 0.5120 0.2710 0.5140 0.2800 0.0000 0.1060 0.0000 0.1010 +2.175 0.5120 0.2700 0.5150 0.2780 0.0000 0.1030 0.0000 0.1010 +2.180 0.5130 0.2680 0.5160 0.2750 0.0000 0.1010 0.0000 0.1000 +2.185 0.5110 0.2650 0.5130 0.2730 0.0000 0.1020 0.0000 0.0980 +2.190 0.5080 0.2630 0.5140 0.2690 0.0000 0.0990 0.0000 0.0980 +2.195 0.5100 0.2590 0.5120 0.2670 0.0000 0.0980 0.0000 0.0950 +2.200 0.5100 0.2570 0.5120 0.2640 0.0000 0.0990 0.0000 0.0970 +2.205 0.5070 0.2580 0.5090 0.2650 0.0000 0.0980 0.0000 0.0930 +2.210 0.5050 0.2580 0.5110 0.2620 0.0000 0.1030 0.0000 0.0960 +2.215 0.5080 0.2550 0.5090 0.2620 0.0010 0.1000 0.0000 0.0990 +2.220 0.5040 0.2550 0.5080 0.2610 0.0000 0.1000 0.0000 0.0940 +2.225 0.5070 0.2550 0.5100 0.2600 0.0000 0.0990 0.0000 0.0970 +2.230 0.5070 0.2550 0.5100 0.2620 0.0010 0.0990 0.0000 0.0940 +2.235 0.5100 0.2540 0.5120 0.2620 0.0000 0.1020 0.0000 0.1010 +2.240 0.5070 0.2530 0.5110 0.2620 0.0000 0.1010 0.0000 0.0980 +2.245 0.5170 0.2500 0.5170 0.2610 0.0000 0.1060 0.0000 0.0950 +2.250 0.5110 0.2520 0.5140 0.2630 0.0000 0.1050 0.0000 0.0940 +2.255 0.5040 0.2560 0.5180 0.2600 0.0030 0.0960 0.0000 0.0950 +2.260 0.5160 0.2540 0.5140 0.2630 0.0000 0.1050 0.0000 0.0930 +2.265 0.5090 0.2630 0.5170 0.2610 0.0000 0.1030 0.0000 0.0990 +2.270 0.5150 0.2590 0.5170 0.2680 0.0000 0.1040 0.0000 0.0980 +2.275 0.5160 0.2530 0.5150 0.2630 0.0000 0.1030 0.0000 0.0970 +2.280 0.5160 0.2560 0.5200 0.2610 0.0000 0.1010 0.0000 0.0980 +2.285 0.5180 0.2550 0.5230 0.2600 0.0000 0.1000 0.0000 0.0970 +2.290 0.5220 0.2540 0.5210 0.2640 0.0000 0.1000 0.0000 0.0980 +2.295 0.5190 0.2560 0.5200 0.2620 0.0000 0.0990 0.0000 0.0960 +2.300 0.5210 0.2550 0.5230 0.2610 0.0000 0.1000 0.0000 0.0950 +2.305 0.5210 0.2550 0.5270 0.2600 0.0000 0.0990 0.0000 0.0960 +2.310 0.5230 0.2550 0.5270 0.2610 0.0000 0.0980 0.0000 0.0970 +2.315 0.5250 0.2530 0.5260 0.2610 0.0000 0.0970 0.0000 0.0960 +2.320 0.5250 0.2520 0.5270 0.2600 0.0000 0.0990 0.0000 0.0960 +2.325 0.5250 0.2540 0.5270 0.2610 0.0000 0.0990 0.0000 0.0940 +2.330 0.5240 0.2530 0.5280 0.2600 0.0000 0.0990 0.0000 0.0950 +2.335 0.5270 0.2520 0.5290 0.2610 0.0000 0.0970 0.0000 0.0940 +2.340 0.5270 0.2520 0.5300 0.2600 0.0000 0.0980 0.0000 0.0950 +2.345 0.5260 0.2530 0.5280 0.2610 0.0000 0.0970 0.0000 0.0960 +2.350 0.5280 0.2530 0.5290 0.2600 0.0000 0.0980 0.0000 0.0940 +2.355 0.5280 0.2530 0.5320 0.2580 0.0000 0.0980 0.0000 0.0950 +2.360 0.5280 0.2530 0.5300 0.2600 0.0000 0.0990 0.0000 0.0930 +2.365 0.5280 0.2510 0.5300 0.2590 0.0000 0.0980 0.0000 0.0940 +2.370 0.5300 0.2500 0.5330 0.2570 0.0000 0.0970 0.0000 0.0940 +2.375 0.5280 0.2520 0.5310 0.2570 0.0000 0.0990 0.0000 0.0940 +2.380 0.5290 0.2510 0.5310 0.2580 0.0000 0.0980 0.0000 0.0940 +2.385 0.5300 0.2490 0.5320 0.2580 0.0000 0.0980 0.0000 0.0910 +2.390 0.5310 0.2500 0.5330 0.2580 0.0000 0.0970 0.0000 0.0940 +2.395 0.5290 0.2480 0.5300 0.2560 0.0000 0.0960 0.0000 0.0930 +2.400 0.5290 0.2480 0.5330 0.2550 0.0000 0.0960 0.0000 0.0950 +2.405 0.5280 0.2480 0.5330 0.2550 0.0010 0.0950 0.0000 0.0920 +2.410 0.5310 0.2460 0.5310 0.2560 0.0000 0.0990 0.0000 0.0930 +2.415 0.5300 0.2470 0.5320 0.2540 0.0000 0.0970 0.0000 0.0950 +2.420 0.5310 0.2470 0.5300 0.2540 0.0000 0.0970 0.0000 0.0970 +2.425 0.5260 0.2470 0.5240 0.2550 0.0000 0.0990 0.0000 0.0960 +2.430 0.5300 0.2460 0.5290 0.2540 0.0000 0.0970 0.0000 0.0910 +2.435 0.5310 0.2420 0.5340 0.2470 0.0000 0.1010 0.0000 0.0920 +2.440 0.5300 0.2370 0.5240 0.2490 0.0000 0.0960 0.0000 0.0960 +2.445 0.5220 0.2450 0.5280 0.2510 0.0000 0.0990 0.0000 0.0950 +2.450 0.5290 0.2400 0.5290 0.2480 0.0000 0.0970 0.0000 0.0930 +2.455 0.5250 0.2400 0.5260 0.2490 0.0000 0.0960 0.0000 0.0920 +2.460 0.5250 0.2410 0.5320 0.2440 0.0000 0.0970 0.0000 0.0960 +2.465 0.5240 0.2400 0.5270 0.2460 0.0000 0.0940 0.0000 0.0980 +2.470 0.5230 0.2410 0.5290 0.2430 0.0000 0.0990 0.0000 0.1000 +2.475 0.5350 0.2280 0.5250 0.2440 0.0000 0.1000 0.0000 0.0950 +2.480 0.5220 0.2340 0.5210 0.2480 0.0000 0.0970 0.0000 0.0910 +2.485 0.5190 0.2420 0.5300 0.2420 0.0000 0.1020 0.0000 0.1010 +2.490 0.5260 0.2330 0.5300 0.2420 0.0000 0.0980 0.0000 0.0960 +2.495 0.5150 0.2410 0.5170 0.2490 0.0000 0.0980 0.0000 0.0940 +2.500 0.5200 0.2380 0.5280 0.2400 0.0000 0.0970 0.0000 0.0940 diff --git a/test/read_checker_tool_json_file.unit.cpp b/test/read_checker_tool_json_file.unit.cpp index 0a4a5f3..1e656d0 100644 --- a/test/read_checker_tool_json_file.unit.cpp +++ b/test/read_checker_tool_json_file.unit.cpp @@ -21,15 +21,14 @@ class TestLoadJSONFromDisk : public testing::Test TEST_F(TestLoadJSONFromDisk, TestLoadCheckerToolJSON) { SCOPED_TRACE("Begin Test: Load checker tool json format."); - std::filesystem::path product_path(test_dir); product_path /= "products"; product_path /= "checker_tool_input_example.json"; - OpticsParser::Parser parser; + OpticsParser::Parser parser; OpticsParser::ProductData product = parser.parseJSONFile(product_path.string()); -// EXPECT_EQ(product.nfrcid, 102); + // EXPECT_EQ(product.nfrcid, 102); EXPECT_EQ(product.productName, "CGD89_092661"); EXPECT_EQ(product.productType, "coated-glass"); EXPECT_EQ(product.coatingName, "CGD89_092661"); @@ -42,11 +41,11 @@ TEST_F(TestLoadJSONFromDisk, TestLoadCheckerToolJSON) EXPECT_EQ(product.backEmissivity, 0.149); EXPECT_EQ(product.measurements.size(), 462); EXPECT_EQ(product.measurements[0].wavelength, 0.3); - EXPECT_EQ(product.measurements[0].T, 0.0); - EXPECT_EQ(product.measurements[0].frontR, 0.021); - EXPECT_EQ(product.measurements[0].backR, 0.021); + EXPECT_EQ(product.measurements[0].directComponent.tf, 0.0); + EXPECT_EQ(product.measurements[0].directComponent.rf, 0.021); + EXPECT_EQ(product.measurements[0].directComponent.rb, 0.021); EXPECT_EQ(product.measurements[461].wavelength, 25.0); - EXPECT_EQ(product.measurements[461].T, 0.0); - EXPECT_EQ(product.measurements[461].frontR, 0.8894); - EXPECT_EQ(product.measurements[461].backR, 0.8894); + EXPECT_EQ(product.measurements[461].directComponent.tf, 0.0); + EXPECT_EQ(product.measurements[461].directComponent.rf, 0.8894); + EXPECT_EQ(product.measurements[461].directComponent.rb, 0.8894); } diff --git a/test/read_optics_file_from_disk.unit.cpp b/test/read_optics_file_from_disk.unit.cpp index fa0b9f4..871b8fc 100644 --- a/test/read_optics_file_from_disk.unit.cpp +++ b/test/read_optics_file_from_disk.unit.cpp @@ -39,13 +39,13 @@ TEST_F(TestLoadOpticsFileFromDisk, TestLoadClear3) EXPECT_EQ(product.backEmissivity, 0.84); EXPECT_EQ(product.measurements.size(), 111); EXPECT_EQ(product.measurements[0].wavelength, 0.3); - EXPECT_EQ(product.measurements[0].T, 0.002); - EXPECT_EQ(product.measurements[0].frontR, 0.047); - EXPECT_EQ(product.measurements[0].backR, 0.048); + EXPECT_EQ(product.measurements[0].directComponent.tf, 0.002); + EXPECT_EQ(product.measurements[0].directComponent.rf, 0.047); + EXPECT_EQ(product.measurements[0].directComponent.rb, 0.048); EXPECT_EQ(product.measurements[110].wavelength, 2.5); - EXPECT_EQ(product.measurements[110].T, 0.822); - EXPECT_EQ(product.measurements[110].frontR, 0.068); - EXPECT_EQ(product.measurements[110].backR, 0.068); + EXPECT_EQ(product.measurements[110].directComponent.tf, 0.822); + EXPECT_EQ(product.measurements[110].directComponent.rf, 0.068); + EXPECT_EQ(product.measurements[110].directComponent.rb, 0.068); EXPECT_EQ(product.frontEmissivitySource, "Material"); EXPECT_EQ(product.backEmissivitySource, "Material"); EXPECT_EQ(product.manufacturer, "Generic"); @@ -58,3 +58,53 @@ TEST_F(TestLoadOpticsFileFromDisk, TestLoadClear3) EXPECT_EQ(product.unitSystem, "SI"); EXPECT_EQ(product.wavelengthUnit, "Microns"); } + +TEST_F(TestLoadOpticsFileFromDisk, TestLoadDiffuseData) +{ + SCOPED_TRACE("Begin Test: Load a file with diffuse data from disk (diffuse_optics_file_2.txt)."); + + std::string product_path(test_dir); + product_path += "/products"; + product_path += "/diffuse_optics_file_2.txt"; + + OpticsParser::Parser parser; + OpticsParser::ProductData product = parser.parseFile(product_path); + EXPECT_EQ(product.nfrcid, std::optional()); + EXPECT_EQ(product.productName, "Generic frit 38mm aperture"); + EXPECT_EQ(product.productType, "Coated"); + EXPECT_EQ(product.thickness, 6.0); + EXPECT_EQ(product.conductivity, 1.0); + EXPECT_EQ(product.IRTransmittance, 0.0); + EXPECT_EQ(product.frontEmissivity, 0.86); + EXPECT_EQ(product.backEmissivity, 0.86); + EXPECT_EQ(product.measurements.size(), 451); + EXPECT_EQ(product.measurements[0].wavelength, 0.250); + EXPECT_EQ(product.measurements[0].directComponent.tf, 0.001); + EXPECT_EQ(product.measurements[0].directComponent.tb, 0.006); + EXPECT_EQ(product.measurements[0].directComponent.rf, 0.011); + EXPECT_EQ(product.measurements[0].directComponent.rb, 0.006); + EXPECT_EQ(product.measurements[0].diffuseComponent.value().tf, 0.002); + EXPECT_EQ(product.measurements[0].diffuseComponent.value().tb, 0.076); + EXPECT_EQ(product.measurements[0].diffuseComponent.value().rf, 0.087); + EXPECT_EQ(product.measurements[0].diffuseComponent.value().rb, 0.131); + EXPECT_EQ(product.measurements[450].wavelength, 2.5); + EXPECT_EQ(product.measurements[450].directComponent.tf, 0.520); + EXPECT_EQ(product.measurements[450].directComponent.tb, 0.528); + EXPECT_EQ(product.measurements[450].directComponent.rf, 0.000); + EXPECT_EQ(product.measurements[450].directComponent.rb, 0.000); + EXPECT_EQ(product.measurements[450].diffuseComponent.value().tf, 0.238); + EXPECT_EQ(product.measurements[450].diffuseComponent.value().tb, 0.240); + EXPECT_EQ(product.measurements[450].diffuseComponent.value().rf, 0.0970); + EXPECT_EQ(product.measurements[450].diffuseComponent.value().rb, 0.0940); + EXPECT_EQ(product.frontEmissivitySource, std::optional()); + EXPECT_EQ(product.backEmissivitySource, std::optional()); + EXPECT_EQ(product.manufacturer, "LBNL demo"); + EXPECT_EQ(product.material, std::optional()); + EXPECT_EQ(product.coatingName, "Generic clear frit"); + EXPECT_EQ(product.coatedSide, "Back"); + EXPECT_EQ(product.substrateFilename, "CLEAR_6.DAT"); + EXPECT_EQ(product.appearance, "Hazy"); + EXPECT_EQ(product.acceptance, std::optional()); + EXPECT_EQ(product.unitSystem, "SI"); + EXPECT_EQ(product.wavelengthUnit, "Microns"); +} \ No newline at end of file From 2cda3c6788a01ee6f504d2626866c87cfbe27498 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Mon, 2 Dec 2019 14:17:15 -0500 Subject: [PATCH 02/55] Adding new header fields for optics file format with diffuse data. --- src/Parser.cpp | 57 ++++++++++++++++++++++++ src/Parser.hpp | 10 +++++ src/ProductData.hpp | 4 ++ test/products/diffuse_optics_file_2.txt | 1 + test/read_optics_file_from_disk.unit.cpp | 1 + 5 files changed, 73 insertions(+) diff --git a/src/Parser.cpp b/src/Parser.cpp index 744ff41..b5588e7 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -51,7 +51,11 @@ void OpticsParser::Parser::parseHeaderLine(const std::string & line, parseStringPropertyInsideBraces(line, "Substrate Filename", product.substrateFilename); parseStringPropertyInsideBraces(line, "Appearance", product.appearance); parseStringPropertyInsideBraces(line, "Acceptance", product.acceptance); + parseStringPropertyInsideBraces(line, "Extrapolation", product.extrapolation); + parseBoolPropertyInsideBraces(line, "Specularity", product.specularity); + parseDoublePropertyInsideBraces(line, "Permeability Factor", product.permeabilityFactor); parseNFRCID(line, product); + parseAERCID(line, product); } OpticsParser::WLData parseDirectMeasurementLine(std::vector const & values) @@ -184,6 +188,59 @@ void OpticsParser::Parser::parseNFRCID(const std::string & line, } } +void OpticsParser::Parser::parseAERCID(const std::string & line, + OpticsParser::ProductData & product) +{ + if(line.find("AERC") != std::string::npos) + { + std::string str = line.substr(line.find("ID:") + 3); + auto erasePos = str.find('}'); + str.erase(erasePos, 1); + product.aercID = std::stoi(str); + } +} + +void OpticsParser::Parser::parseBoolPropertyInsideBraces(const std::string & line, + std::string search, + std::optional & property) +{ + std::string val(""); + parseStringPropertyInsideBraces(line, search, val); + if(val.length() > 1) + { + std::string upperCase = val; +#pragma warning(push) +#pragma warning(disable : 4244) + std::for_each(upperCase.begin(), upperCase.end(), [](char & c) { c = ::toupper(c); }); +#pragma warning(pop) + if(upperCase == "TRUE") + { + property = true; + } + else if(upperCase == "FALSE") + { + property = false; + } + else + { + std::stringstream msg; + msg << "Unable to convert " << val << " to a boolean when parsing field: " << search; + throw std::runtime_error(msg.str()); + } + } +} + +void OpticsParser::Parser::parseDoublePropertyInsideBraces(const std::string & line, + std::string search, + std::optional & property) +{ + std::string val(""); + parseStringPropertyInsideBraces(line, search, val); + if(val.length() > 0) + { + property = std::stod(val); + } +} template std::optional get_optional_field(nlohmann::json const & json, std::string const & field_name) diff --git a/src/Parser.hpp b/src/Parser.hpp index b65a916..70547cd 100644 --- a/src/Parser.hpp +++ b/src/Parser.hpp @@ -22,6 +22,16 @@ namespace OpticsParser void parseEmissivities(const std::string & line, ProductData & product); void parseUnits(const std::string & line, ProductData & product); void parseNFRCID(const std::string & line, ProductData & product); + void parseAERCID(const std::string & line, ProductData & product); + + void parseBoolPropertyInsideBraces(const std::string & line, + std::string search, + std::optional & property); + + void parseDoublePropertyInsideBraces(const std::string & line, + std::string search, + std::optional & property); + template void parsePropertyAtTheEnd(const std::string & searchString, diff --git a/src/ProductData.hpp b/src/ProductData.hpp index 78a8111..29fa6c0 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -86,6 +86,10 @@ namespace OpticsParser std::optional unitSystem; std::optional wavelengthUnit; std::vector measurements; + std::optional extrapolation; + std::optional aercID; + std::optional specularity; + std::optional permeabilityFactor; }; void to_json(nlohmann::json & j, WLData const & wl); diff --git a/test/products/diffuse_optics_file_2.txt b/test/products/diffuse_optics_file_2.txt index e4ff37e..a4688bb 100644 --- a/test/products/diffuse_optics_file_2.txt +++ b/test/products/diffuse_optics_file_2.txt @@ -10,6 +10,7 @@ { Coating Name: Generic clear frit } { Coated Side: Back } { Substrate Filename: CLEAR_6.DAT } +{ Permeability Factor: 0.0} { Extrapolation: Glass } { Appearance: Hazy} 0.250 0.0010 0.0020 0.0060 0.0760 0.0110 0.0870 0.0060 0.1310 diff --git a/test/read_optics_file_from_disk.unit.cpp b/test/read_optics_file_from_disk.unit.cpp index 871b8fc..db03043 100644 --- a/test/read_optics_file_from_disk.unit.cpp +++ b/test/read_optics_file_from_disk.unit.cpp @@ -107,4 +107,5 @@ TEST_F(TestLoadOpticsFileFromDisk, TestLoadDiffuseData) EXPECT_EQ(product.acceptance, std::optional()); EXPECT_EQ(product.unitSystem, "SI"); EXPECT_EQ(product.wavelengthUnit, "Microns"); + EXPECT_EQ(product.permeabilityFactor, 0.0); } \ No newline at end of file From 4ce89bcf3bf81022a2d5506065f25a7e32799ee5 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Mon, 30 Mar 2020 17:39:12 -0400 Subject: [PATCH 03/55] Refactoring parser to return shared_ptr for first try at parsing layers which can be composed of other products. --- src/Parser.cpp | 175 +++++++++++----------- src/Parser.hpp | 24 +-- src/ProductData.hpp | 35 ++++- test/InputDifferentEmissivities.unit.cpp | 28 ++-- test/InputFile1.unit.cpp | 56 +++---- test/InputInvertedEmissivities.unit.cpp | 28 ++-- test/convert_optics_to_json.unit.cpp | 8 +- test/products/igsdb_12149.json | 1 + test/read_checker_tool_json_file.unit.cpp | 42 +++--- test/read_json_file_from_disk.unit.cpp | 36 ++--- test/read_optics_file_from_disk.unit.cpp | 138 ++++++++--------- 11 files changed, 304 insertions(+), 267 deletions(-) create mode 100644 test/products/igsdb_12149.json diff --git a/src/Parser.cpp b/src/Parser.cpp index b5588e7..d751aee 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -5,11 +5,10 @@ #include #include "Parser.hpp" - -OpticsParser::ProductData OpticsParser::Parser::parseFile(const std::string & inputFile) +std::shared_ptr OpticsParser::Parser::parseFile(const std::string & inputFile) { std::string fileName = inputFile.substr(inputFile.find_last_of("/\\") + 1); - ProductData product; + std::shared_ptr product(new OpticsParser::ProductData); std::ifstream inFile(inputFile); std::string line; while(std::getline(inFile, line)) @@ -26,34 +25,34 @@ OpticsParser::ProductData OpticsParser::Parser::parseFile(const std::string & in } } } - product.fileName = fileName; - // product.token = fileName; + product->fileName = fileName; + // product->token = fileName; return product; } void OpticsParser::Parser::parseHeaderLine(const std::string & line, - OpticsParser::ProductData & product) + std::shared_ptr product) { parseUnits(line, product); - parsePropertyAtTheEnd("Thickness", "}", line, product.thickness); - parsePropertyAtTheEnd("Conductivity", "}", line, product.conductivity); - parsePropertyAtTheEnd("IR Transmittance", "TIR=", line, product.IRTransmittance); + parsePropertyAtTheEnd("Thickness", "}", line, product->thickness); + parsePropertyAtTheEnd("Conductivity", "}", line, product->conductivity); + parsePropertyAtTheEnd("IR Transmittance", "TIR=", line, product->IRTransmittance); parseEmissivities(line, product); - parseStringPropertyInsideBraces(line, "Product Name", product.productName); - parseStringPropertyInsideBraces(line, "Type", product.productType); - parseStringPropertyInsideBraces(line, "Ef_Source", product.frontEmissivitySource); - parseStringPropertyInsideBraces(line, "Eb_Source", product.backEmissivitySource); - parseStringPropertyInsideBraces(line, "Manufacturer", product.manufacturer); - parseStringPropertyInsideBraces(line, "Material", product.material); - parseStringPropertyInsideBraces(line, "Coating Name", product.coatingName); - parseStringPropertyInsideBraces(line, "Coated Side", product.coatedSide); - parseStringPropertyInsideBraces(line, "Substrate Filename", product.substrateFilename); - parseStringPropertyInsideBraces(line, "Appearance", product.appearance); - parseStringPropertyInsideBraces(line, "Acceptance", product.acceptance); - parseStringPropertyInsideBraces(line, "Extrapolation", product.extrapolation); - parseBoolPropertyInsideBraces(line, "Specularity", product.specularity); - parseDoublePropertyInsideBraces(line, "Permeability Factor", product.permeabilityFactor); + parseStringPropertyInsideBraces(line, "Product Name", product->productName); + parseStringPropertyInsideBraces(line, "Type", product->productType); + parseStringPropertyInsideBraces(line, "Ef_Source", product->frontEmissivitySource); + parseStringPropertyInsideBraces(line, "Eb_Source", product->backEmissivitySource); + parseStringPropertyInsideBraces(line, "Manufacturer", product->manufacturer); + parseStringPropertyInsideBraces(line, "Material", product->material); + parseStringPropertyInsideBraces(line, "Coating Name", product->coatingName); + parseStringPropertyInsideBraces(line, "Coated Side", product->coatedSide); + parseStringPropertyInsideBraces(line, "Substrate Filename", product->substrateFilename); + parseStringPropertyInsideBraces(line, "Appearance", product->appearance); + parseStringPropertyInsideBraces(line, "Acceptance", product->acceptance); + parseStringPropertyInsideBraces(line, "Extrapolation", product->extrapolation); + parseBoolPropertyInsideBraces(line, "Specularity", product->specularity); + parseDoublePropertyInsideBraces(line, "Permeability Factor", product->permeabilityFactor); parseNFRCID(line, product); parseAERCID(line, product); } @@ -87,7 +86,8 @@ OpticsParser::WLData parseDiffuseMeasurementLine(std::vector const & val } -void OpticsParser::Parser::parseMeasurementLine(const std::string & line, ProductData & product) +void OpticsParser::Parser::parseMeasurementLine(const std::string & line, + std::shared_ptr product) { std::vector result; std::istringstream iss(line); @@ -105,7 +105,7 @@ void OpticsParser::Parser::parseMeasurementLine(const std::string & line, Produc if(parser != measuredValueToParser.end()) { auto parsedValues = parser->second(result); - product.measurements.push_back(parsedValues); + product->measurements.push_back(parsedValues); } else { @@ -115,7 +115,7 @@ void OpticsParser::Parser::parseMeasurementLine(const std::string & line, Produc void OpticsParser::Parser::parseEmissivities(const std::string & line, - OpticsParser::ProductData & product) + std::shared_ptr product) { if(line.find("Emissivity") != std::string::npos) { @@ -148,12 +148,13 @@ void OpticsParser::Parser::parseEmissivities(const std::string & line, eb = result[0]; ef = result[1]; } - product.frontEmissivity = ef; - product.backEmissivity = eb; + product->frontEmissivity = ef; + product->backEmissivity = eb; } } -void OpticsParser::Parser::parseUnits(const std::string & line, OpticsParser::ProductData & product) +void OpticsParser::Parser::parseUnits(const std::string & line, + std::shared_ptr product) { if(line.find("Units, Wavelength Units") != std::string::npos) { @@ -171,32 +172,32 @@ void OpticsParser::Parser::parseUnits(const std::string & line, OpticsParser::Pr throw std::runtime_error("Units line has incorrect number of values."); } - product.unitSystem = result[0]; - product.wavelengthUnit = result[1]; + product->unitSystem = result[0]; + product->wavelengthUnit = result[1]; } } void OpticsParser::Parser::parseNFRCID(const std::string & line, - OpticsParser::ProductData & product) + std::shared_ptr product) { if(line.find("NFRC") != std::string::npos) { std::string str = line.substr(line.find("ID:") + 3); auto erasePos = str.find('}'); str.erase(erasePos, 1); - product.nfrcid = std::stoi(str); + product->nfrcid = std::stoi(str); } } void OpticsParser::Parser::parseAERCID(const std::string & line, - OpticsParser::ProductData & product) + std::shared_ptr product) { if(line.find("AERC") != std::string::npos) { std::string str = line.substr(line.find("ID:") + 3); auto erasePos = str.find('}'); str.erase(erasePos, 1); - product.aercID = std::stoi(str); + product->aercID = std::stoi(str); } } @@ -329,60 +330,60 @@ OpticsParser::ProductData parseCheckerToolJson_OLD(nlohmann::json const & produc } #endif -OpticsParser::ProductData parseCheckerToolJson(nlohmann::json const & product_json) +std::shared_ptr parseCheckerToolJson(nlohmann::json const & product_json) { - OpticsParser::ProductData product; - product.productName = product_json.at("product_name").get(); - product.productType = product_json.at("product_type").get(); + std::shared_ptr product(new OpticsParser::ProductData); + product->productName = product_json.at("product_name").get(); + product->productType = product_json.at("product_type").get(); - product.nfrcid = get_optional_field(product_json, "nfrc_id"); - product.manufacturer = product_json.at("manufacturer").get(); + product->nfrcid = get_optional_field(product_json, "nfrc_id"); + product->manufacturer = product_json.at("manufacturer").get(); if(product_json.count("material_bulk_properties")) { - product.material = + product->material = get_optional_field(product_json.at("material_bulk_properties"), "name"); } if(product_json.count("coating_properties")) { - product.coatingName = + product->coatingName = get_optional_field(product_json.at("coating_properties"), "coating_name"); - product.coatedSide = + product->coatedSide = get_optional_field(product_json.at("coating_properties"), "coated_side"); } if(product_json.count("interlayer_properties")) { - product.substrateFilename = get_optional_field( + product->substrateFilename = get_optional_field( product_json.at("interlayer_properties"), "interlayer_name"); } - product.appearance = get_optional_field(product_json, "appearance"); - product.acceptance = get_optional_field(product_json, "acceptance"); - product.fileName = get_optional_field(product_json, "filename"); - product.unitSystem = get_optional_field(product_json, "unit_system"); + product->appearance = get_optional_field(product_json, "appearance"); + product->acceptance = get_optional_field(product_json, "acceptance"); + product->fileName = get_optional_field(product_json, "filename"); + product->unitSystem = get_optional_field(product_json, "unit_system"); nlohmann::json measured_data_json = product_json.at("measured_data"); - product.thickness = measured_data_json.at("thickness").get(); + product->thickness = measured_data_json.at("thickness").get(); if(measured_data_json.count("bulk_properties_override")) { - product.conductivity = get_optional_field( + product->conductivity = get_optional_field( measured_data_json.at("bulk_properties_override"), "thermal_conductivity"); } - product.IRTransmittance = measured_data_json.at("tir_front").get(); - product.frontEmissivity = measured_data_json.at("emissivity_front").get(); - product.backEmissivity = measured_data_json.at("emissivity_back").get(); + product->IRTransmittance = measured_data_json.at("tir_front").get(); + product->frontEmissivity = measured_data_json.at("emissivity_front").get(); + product->backEmissivity = measured_data_json.at("emissivity_back").get(); - product.frontEmissivitySource = + product->frontEmissivitySource = get_optional_field(measured_data_json, "emissivity_front_source"); - product.backEmissivitySource = + product->backEmissivitySource = get_optional_field(measured_data_json, "emissivity_back_source"); - product.backEmissivitySource = + product->backEmissivitySource = get_optional_field(measured_data_json, "wavelength_units"); nlohmann::json spectral_data_json = measured_data_json.at("spectral_data"); @@ -399,58 +400,58 @@ OpticsParser::ProductData parseCheckerToolJson(nlohmann::json const & product_js double rf = val.at("rf").get(); double rb = val.at("rb").get(); OpticsParser::MeasurementComponent directValues{t, t, rf, rb}; - product.measurements.push_back(OpticsParser::WLData(wl, directValues)); + product->measurements.push_back(OpticsParser::WLData(wl, directValues)); } return product; } -OpticsParser::ProductData parseIGSDBJson(nlohmann::json const & product_json) +std::shared_ptr parseIGSDBJson(nlohmann::json const & product_json) { - OpticsParser::ProductData product; - product.productName = product_json.at("name").get(); - product.productType = product_json.at("type").get(); + std::shared_ptr product(new OpticsParser::ProductData); + product->productName = product_json.at("name").get(); + product->productType = product_json.at("type").get(); - product.nfrcid = get_optional_field(product_json, "nfrc_id"); - product.manufacturer = product_json.at("manufacturer_name").get(); - product.material = get_optional_field(product_json, "material_bulk_properties"); + product->nfrcid = get_optional_field(product_json, "nfrc_id"); + product->manufacturer = product_json.at("manufacturer_name").get(); + product->material = get_optional_field(product_json, "material_bulk_properties"); if(product_json.count("coating_properties")) { - product.coatingName = + product->coatingName = get_optional_field(product_json.at("coating_properties"), "coating_name"); - product.coatedSide = + product->coatedSide = get_optional_field(product_json.at("coating_properties"), "coated_side"); } if(product_json.count("interlayer_properties")) { - product.substrateFilename = get_optional_field( + product->substrateFilename = get_optional_field( product_json.at("interlayer_properties"), "interlayer_name"); } - product.appearance = get_optional_field(product_json, "appearance"); - product.acceptance = get_optional_field(product_json, "acceptance"); - product.fileName = get_optional_field(product_json, "filename"); - product.unitSystem = get_optional_field(product_json, "unit_system"); + product->appearance = get_optional_field(product_json, "appearance"); + product->acceptance = get_optional_field(product_json, "acceptance"); + product->fileName = get_optional_field(product_json, "filename"); + product->unitSystem = get_optional_field(product_json, "unit_system"); nlohmann::json measured_data_json = product_json.at("measured_data"); - product.thickness = measured_data_json.at("thickness").get(); - product.conductivity = measured_data_json.at("conductivity").get(); - product.IRTransmittance = measured_data_json.at("tir_front").get(); - product.frontEmissivity = measured_data_json.at("emissivity_front").get(); - product.backEmissivity = measured_data_json.at("emissivity_back").get(); + product->thickness = measured_data_json.at("thickness").get(); + product->conductivity = measured_data_json.at("conductivity").get(); + product->IRTransmittance = measured_data_json.at("tir_front").get(); + product->frontEmissivity = measured_data_json.at("emissivity_front").get(); + product->backEmissivity = measured_data_json.at("emissivity_back").get(); - product.frontEmissivitySource = + product->frontEmissivitySource = get_optional_field(measured_data_json, "emissivity_front_source"); - product.backEmissivitySource = + product->backEmissivitySource = get_optional_field(measured_data_json, "emissivity_back_source"); - product.backEmissivitySource = + product->backEmissivitySource = get_optional_field(measured_data_json, "wavelength_units"); @@ -467,13 +468,14 @@ OpticsParser::ProductData parseIGSDBJson(nlohmann::json const & product_json) double rf = val.at("Rf").get(); double rb = val.at("Rb").get(); OpticsParser::MeasurementComponent directValues{t, t, rf, rb}; - product.measurements.push_back(OpticsParser::WLData(wl, directValues)); + product->measurements.push_back(OpticsParser::WLData(wl, directValues)); } return product; } -OpticsParser::ProductData OpticsParser::Parser::parseJSONString(std::string const & json_str) +std::shared_ptr + OpticsParser::Parser::parseJSONString(std::string const & json_str) { nlohmann::json product_json = nlohmann::json::parse(json_str); @@ -499,26 +501,27 @@ OpticsParser::ProductData OpticsParser::Parser::parseJSONString(std::string cons } -OpticsParser::ProductData OpticsParser::Parser::parseJSONFile(std::string const & fname) +std::shared_ptr + OpticsParser::Parser::parseJSONFile(std::string const & fname) { std::ifstream fin(fname); std::string content((std::istreambuf_iterator(fin)), (std::istreambuf_iterator())); return parseJSONString(content); } -OpticsParser::ProductData OpticsParser::parseFile(const std::string & inputFile) +std::shared_ptr OpticsParser::parseFile(const std::string & inputFile) { OpticsParser::Parser parser; return parser.parseFile(inputFile); } -OpticsParser::ProductData OpticsParser::parseJSONString(std::string const & json) +std::shared_ptr OpticsParser::parseJSONString(std::string const & json) { OpticsParser::Parser parser; return parser.parseJSONString(json); } -OpticsParser::ProductData OpticsParser::parseJSONFile(std::string const & fname) +std::shared_ptr OpticsParser::parseJSONFile(std::string const & fname) { OpticsParser::Parser parser; return parser.parseJSONFile(fname); diff --git a/src/Parser.hpp b/src/Parser.hpp index 70547cd..8fdc96b 100644 --- a/src/Parser.hpp +++ b/src/Parser.hpp @@ -12,17 +12,17 @@ namespace OpticsParser class Parser { public: - ProductData parseFile(const std::string & inputFile); - ProductData parseJSONString(std::string const & json); - ProductData parseJSONFile(std::string const & fname); + std::shared_ptr parseFile(const std::string & inputFile); + std::shared_ptr parseJSONString(std::string const & json); + std::shared_ptr parseJSONFile(std::string const & fname); private: - void parseHeaderLine(const std::string & line, ProductData & product); - void parseMeasurementLine(const std::string & line, ProductData & product); - void parseEmissivities(const std::string & line, ProductData & product); - void parseUnits(const std::string & line, ProductData & product); - void parseNFRCID(const std::string & line, ProductData & product); - void parseAERCID(const std::string & line, ProductData & product); + void parseHeaderLine(const std::string & line, std::shared_ptr product); + void parseMeasurementLine(const std::string & line, std::shared_ptr product); + void parseEmissivities(const std::string & line, std::shared_ptr product); + void parseUnits(const std::string & line, std::shared_ptr product); + void parseNFRCID(const std::string & line, std::shared_ptr product); + void parseAERCID(const std::string & line, std::shared_ptr product); void parseBoolPropertyInsideBraces(const std::string & line, std::string search, @@ -69,7 +69,7 @@ namespace OpticsParser } }; - ProductData parseFile(const std::string & inputFile); - ProductData parseJSONString(std::string const & json); - ProductData parseJSONFile(std::string const & fname); + std::shared_ptr parseFile(const std::string & inputFile); + std::shared_ptr parseJSONString(std::string const & json); + std::shared_ptr parseJSONFile(std::string const & fname); } // namespace OpticsParser diff --git a/src/ProductData.hpp b/src/ProductData.hpp index 29fa6c0..e5ec72f 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -35,11 +35,38 @@ namespace OpticsParser double rbDirect, double rbDiffuse); - double wavelength; + double wavelength; MeasurementComponent directComponent; std::optional diffuseComponent; }; + struct NoGeometry + {}; + + struct VenetianGeometry + { + double slatWidth; + double slatSpacing; + double slatCurvature; + double numberSegments; + }; + + struct WovenGeometry + { + double threadDiameter; + double threadSpacing; + double shadeThickness; + }; + + struct ProductData; + + template + struct CompositionInformation + { + T geometry; + std::shared_ptr material; + }; + struct ProductData { ProductData() = default; @@ -94,4 +121,10 @@ namespace OpticsParser void to_json(nlohmann::json & j, WLData const & wl); void to_json(nlohmann::json & j, ProductData const & wl); + + template + struct ComposedProductData : ProductData + { + CompositionInformation compositionInformation; + }; } // namespace OpticsParser diff --git a/test/InputDifferentEmissivities.unit.cpp b/test/InputDifferentEmissivities.unit.cpp index 653d546..5b7efe4 100644 --- a/test/InputDifferentEmissivities.unit.cpp +++ b/test/InputDifferentEmissivities.unit.cpp @@ -48,16 +48,16 @@ TEST_F(TestDifferentEmissivities, Test1) { const std::string inputFile = R"(InputDifferentEmissivities.dat)"; OpticsParser::Parser parser; - OpticsParser::ProductData product = parser.parseFile(inputFile); + std::shared_ptr product = parser.parseFile(inputFile); - EXPECT_NEAR(3.048, product.thickness, 1e-6); - EXPECT_NEAR(1, product.conductivity.value(), 1e-6); - EXPECT_NEAR(0, product.IRTransmittance, 1e-6); - EXPECT_NEAR(0.5, product.frontEmissivity, 1e-6); - EXPECT_NEAR(0.84, product.backEmissivity, 1e-6); - EXPECT_EQ(102, product.nfrcid); - EXPECT_EQ("Generic Clear Glass", product.productName); - EXPECT_EQ("Monolithic", product.productType); + EXPECT_NEAR(3.048, product->thickness, 1e-6); + EXPECT_NEAR(1, product->conductivity.value(), 1e-6); + EXPECT_NEAR(0, product->IRTransmittance, 1e-6); + EXPECT_NEAR(0.5, product->frontEmissivity, 1e-6); + EXPECT_NEAR(0.84, product->backEmissivity, 1e-6); + EXPECT_EQ(102, product->nfrcid); + EXPECT_EQ("Generic Clear Glass", product->productName); + EXPECT_EQ("Monolithic", product->productType); std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, {0.305, 0.0030, 0.0470, 0.0480}, @@ -66,15 +66,15 @@ TEST_F(TestDifferentEmissivities, Test1) {0.320, 0.1000, 0.0470, 0.0480}, {0.325, 0.2180, 0.0490, 0.0500}}; - EXPECT_EQ(correctResults.size(), product.measurements.size()); + EXPECT_EQ(correctResults.size(), product->measurements.size()); for(auto i = 0u; i < correctResults.size(); ++i) { - EXPECT_NEAR(correctResults[i].wavelength, product.measurements[i].wavelength, 1e-6); + EXPECT_NEAR(correctResults[i].wavelength, product->measurements[i].wavelength, 1e-6); EXPECT_NEAR( - correctResults[i].directComponent.tf, product.measurements[i].directComponent.tf, 1e-6); + correctResults[i].directComponent.tf, product->measurements[i].directComponent.tf, 1e-6); EXPECT_NEAR( - correctResults[i].directComponent.rf, product.measurements[i].directComponent.rf, 1e-6); + correctResults[i].directComponent.rf, product->measurements[i].directComponent.rf, 1e-6); EXPECT_NEAR( - correctResults[i].directComponent.rb, product.measurements[i].directComponent.rb, 1e-6); + correctResults[i].directComponent.rb, product->measurements[i].directComponent.rb, 1e-6); } } diff --git a/test/InputFile1.unit.cpp b/test/InputFile1.unit.cpp index 4ea4272..cd485e7 100644 --- a/test/InputFile1.unit.cpp +++ b/test/InputFile1.unit.cpp @@ -48,16 +48,16 @@ TEST_F(TestFile1, Test1) { const std::string inputFile = R"(InputFile1.dat)"; OpticsParser::Parser parser; - OpticsParser::ProductData product = parser.parseFile(inputFile); + std::shared_ptr product = parser.parseFile(inputFile); - EXPECT_NEAR(3.048, product.thickness, 1e-6); - EXPECT_NEAR(1, product.conductivity.value(), 1e-6); - EXPECT_NEAR(0, product.IRTransmittance, 1e-6); - EXPECT_NEAR(0.84, product.frontEmissivity, 1e-6); - EXPECT_NEAR(0.84, product.backEmissivity, 1e-6); - EXPECT_EQ(102, product.nfrcid); - EXPECT_EQ("Generic Clear Glass", product.productName); - EXPECT_EQ("Monolithic", product.productType); + EXPECT_NEAR(3.048, product->thickness, 1e-6); + EXPECT_NEAR(1, product->conductivity.value(), 1e-6); + EXPECT_NEAR(0, product->IRTransmittance, 1e-6); + EXPECT_NEAR(0.84, product->frontEmissivity, 1e-6); + EXPECT_NEAR(0.84, product->backEmissivity, 1e-6); + EXPECT_EQ(102, product->nfrcid); + EXPECT_EQ("Generic Clear Glass", product->productName); + EXPECT_EQ("Monolithic", product->productType); std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, @@ -67,16 +67,16 @@ TEST_F(TestFile1, Test1) {0.320, 0.1000, 0.0470, 0.0480}, {0.325, 0.2180, 0.0490, 0.0500}}; - EXPECT_EQ(correctResults.size(), product.measurements.size()); + EXPECT_EQ(correctResults.size(), product->measurements.size()); for(auto i = 0u; i < correctResults.size(); ++i) { - EXPECT_NEAR(correctResults[i].wavelength, product.measurements[i].wavelength, 1e-6); + EXPECT_NEAR(correctResults[i].wavelength, product->measurements[i].wavelength, 1e-6); EXPECT_NEAR( - correctResults[i].directComponent.tf, product.measurements[i].directComponent.tf, 1e-6); + correctResults[i].directComponent.tf, product->measurements[i].directComponent.tf, 1e-6); EXPECT_NEAR( - correctResults[i].directComponent.rf, product.measurements[i].directComponent.rf, 1e-6); + correctResults[i].directComponent.rf, product->measurements[i].directComponent.rf, 1e-6); EXPECT_NEAR( - correctResults[i].directComponent.rb, product.measurements[i].directComponent.rb, 1e-6); + correctResults[i].directComponent.rb, product->measurements[i].directComponent.rb, 1e-6); } } @@ -84,16 +84,16 @@ TEST_F(TestFile1, TestParseFile) { const std::string inputFile = R"(InputFile1.dat)"; OpticsParser::Parser parser; - OpticsParser::ProductData productData = parser.parseFile(inputFile); + std::shared_ptr productData = parser.parseFile(inputFile); - EXPECT_NEAR(3.048, productData.thickness, 1e-6); - EXPECT_NEAR(1, productData.conductivity.value(), 1e-6); - EXPECT_NEAR(0, productData.IRTransmittance, 1e-6); - EXPECT_NEAR(0.84, productData.frontEmissivity, 1e-6); - EXPECT_NEAR(0.84, productData.backEmissivity, 1e-6); - EXPECT_EQ(102, productData.nfrcid); - EXPECT_EQ("Generic Clear Glass", productData.productName); - EXPECT_EQ("Monolithic", productData.productType); + EXPECT_NEAR(3.048, productData->thickness, 1e-6); + EXPECT_NEAR(1, productData->conductivity.value(), 1e-6); + EXPECT_NEAR(0, productData->IRTransmittance, 1e-6); + EXPECT_NEAR(0.84, productData->frontEmissivity, 1e-6); + EXPECT_NEAR(0.84, productData->backEmissivity, 1e-6); + EXPECT_EQ(102, productData->nfrcid); + EXPECT_EQ("Generic Clear Glass", productData->productName); + EXPECT_EQ("Monolithic", productData->productType); std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, {0.305, 0.0030, 0.0470, 0.0480}, {0.310, 0.0090, 0.0470, 0.0480}, @@ -101,18 +101,18 @@ TEST_F(TestFile1, TestParseFile) {0.320, 0.1000, 0.0470, 0.0480}, {0.325, 0.2180, 0.0490, 0.0500}}; - EXPECT_EQ(correctResults.size(), productData.measurements.size()); + EXPECT_EQ(correctResults.size(), productData->measurements.size()); for(auto i = 0u; i < correctResults.size(); ++i) { - EXPECT_NEAR(correctResults[i].wavelength, productData.measurements[i].wavelength, 1e-6); + EXPECT_NEAR(correctResults[i].wavelength, productData->measurements[i].wavelength, 1e-6); EXPECT_NEAR(correctResults[i].directComponent.tf, - productData.measurements[i].directComponent.tf, + productData->measurements[i].directComponent.tf, 1e-6); EXPECT_NEAR(correctResults[i].directComponent.rf, - productData.measurements[i].directComponent.rf, + productData->measurements[i].directComponent.rf, 1e-6); EXPECT_NEAR(correctResults[i].directComponent.rb, - productData.measurements[i].directComponent.rb, + productData->measurements[i].directComponent.rb, 1e-6); } } diff --git a/test/InputInvertedEmissivities.unit.cpp b/test/InputInvertedEmissivities.unit.cpp index 027d0a8..cc7f2e0 100644 --- a/test/InputInvertedEmissivities.unit.cpp +++ b/test/InputInvertedEmissivities.unit.cpp @@ -48,16 +48,16 @@ TEST_F(TestInvertedEmissivities, Test1) { const std::string inputFile = R"(InputInvertedEmissivites.dat)"; OpticsParser::Parser parser; - OpticsParser::ProductData product = parser.parseFile(inputFile); + std::shared_ptr product = parser.parseFile(inputFile); - EXPECT_NEAR(3.048, product.thickness, 1e-6); - EXPECT_NEAR(1, product.conductivity.value(), 1e-6); - EXPECT_NEAR(0, product.IRTransmittance, 1e-6); - EXPECT_NEAR(0.84, product.frontEmissivity, 1e-6); - EXPECT_NEAR(0.5, product.backEmissivity, 1e-6); - EXPECT_EQ(102, product.nfrcid); - EXPECT_EQ("", product.productName); - EXPECT_EQ("Monolithic", product.productType); + EXPECT_NEAR(3.048, product->thickness, 1e-6); + EXPECT_NEAR(1, product->conductivity.value(), 1e-6); + EXPECT_NEAR(0, product->IRTransmittance, 1e-6); + EXPECT_NEAR(0.84, product->frontEmissivity, 1e-6); + EXPECT_NEAR(0.5, product->backEmissivity, 1e-6); + EXPECT_EQ(102, product->nfrcid); + EXPECT_EQ("", product->productName); + EXPECT_EQ("Monolithic", product->productType); std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, {0.305, 0.0030, 0.0470, 0.0480}, @@ -66,15 +66,15 @@ TEST_F(TestInvertedEmissivities, Test1) {0.320, 0.1000, 0.0470, 0.0480}, {0.325, 0.2180, 0.0490, 0.0500}}; - EXPECT_EQ(correctResults.size(), product.measurements.size()); + EXPECT_EQ(correctResults.size(), product->measurements.size()); for(auto i = 0u; i < correctResults.size(); ++i) { - EXPECT_NEAR(correctResults[i].wavelength, product.measurements[i].wavelength, 1e-6); + EXPECT_NEAR(correctResults[i].wavelength, product->measurements[i].wavelength, 1e-6); EXPECT_NEAR( - correctResults[i].directComponent.tf, product.measurements[i].directComponent.tf, 1e-6); + correctResults[i].directComponent.tf, product->measurements[i].directComponent.tf, 1e-6); EXPECT_NEAR( - correctResults[i].directComponent.rf, product.measurements[i].directComponent.rf, 1e-6); + correctResults[i].directComponent.rf, product->measurements[i].directComponent.rf, 1e-6); EXPECT_NEAR( - correctResults[i].directComponent.rb, product.measurements[i].directComponent.rb, 1e-6); + correctResults[i].directComponent.rb, product->measurements[i].directComponent.rb, 1e-6); } } diff --git a/test/convert_optics_to_json.unit.cpp b/test/convert_optics_to_json.unit.cpp index 584a8ce..b952518 100644 --- a/test/convert_optics_to_json.unit.cpp +++ b/test/convert_optics_to_json.unit.cpp @@ -28,8 +28,8 @@ TEST_F(TestConvertOpticsFile, TestConvertClear3) clear_3_path += "/CLEAR_3.DAT"; OpticsParser::Parser parser; - OpticsParser::ProductData product = parser.parseFile(clear_3_path); - nlohmann::json product_json = product; + std::shared_ptr product = parser.parseFile(clear_3_path); + nlohmann::json product_json = *product; EXPECT_EQ(product_json.at("nfrc_id").get(), 102); EXPECT_EQ(product_json.at("product_name").get(), "Generic Clear Glass"); @@ -63,8 +63,8 @@ TEST_F(TestConvertOpticsFile, TestConvertClear3) EXPECT_EQ(measurements[110].at("rb").get(), 0.068); /* - EXPECT_EQ(product.frontEmissivitySource, "Material"); - EXPECT_EQ(product.backEmissivitySource, "Material"); + EXPECT_EQ(product->frontEmissivitySource, "Material"); + EXPECT_EQ(product->backEmissivitySource, "Material"); */ EXPECT_EQ(product_json.at("manufacturer").get(), "Generic"); diff --git a/test/products/igsdb_12149.json b/test/products/igsdb_12149.json new file mode 100644 index 0000000..f4d4e03 --- /dev/null +++ b/test/products/igsdb_12149.json @@ -0,0 +1 @@ +{"product_id":12149,"name":"Slim White Venetian Blind","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":3000,"cgdb_database_version":"1","acceptance":"#","appearance":null,"manufacturer_name":"Pella","data_file_name":null,"data_file_available":false,"short_description":null,"type":"shading","subtype":"venetian","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":false,"thickness":null,"tir_front":null,"tir_back":null,"emissivity_front":null,"emissivity_back":null,"conductivity":null,"permeability_factor":0.95},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":null,"tbsol":null,"rfsol":null,"rbsol":null,"tfvis":null,"tbvis":null,"rfvis":null,"rbvis":null,"tdw":null,"tuv":null,"tspf":null,"tkr":null,"tciex":null,"tciey":null,"tciez":null,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":null,"rfciey":null,"rfciez":null,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"spectral_data":null,"composition_information":{"geometry":{"slat_width":14.8,"slat_spacing":12.7,"slat_curvature":33.13057,"number_segments":5},"materials":[{"product_id":12852,"name":"White Venetian Blind Slat (white.txt)","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":null,"cgdb_database_version":"1.0","acceptance":"#","appearance":null,"manufacturer_name":"Pella","data_file_name":"White Venetian Blind Slat (white.txt)","data_file_available":false,"short_description":null,"type":"material","subtype":"other","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":true,"thickness":0.1,"tir_front":0.0,"tir_back":null,"emissivity_front":0.9,"emissivity_back":0.9,"conductivity":160.0,"permeability_factor":null},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":0.0,"tbsol":null,"rfsol":0.683041274547577,"rbsol":null,"tfvis":0.0,"tbvis":null,"rfvis":0.7459762,"rbvis":0.7459762,"tdw":0.0,"tuv":0.0,"tspf":10000.0,"tkr":null,"tciex":0.0,"tciey":0.0,"tciez":0.0,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":69.85917,"rfciey":74.37163,"rfciez":75.35683,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"spectral_data":{"spectral_data":[{"T":0.0,"Rb":0.0703,"Rf":0.0703,"wavelength":0.3},{"T":0.0,"Rb":0.07,"Rf":0.07,"wavelength":0.305},{"T":0.0,"Rb":0.0692,"Rf":0.0692,"wavelength":0.31},{"T":0.0,"Rb":0.0684,"Rf":0.0684,"wavelength":0.315},{"T":0.0,"Rb":0.0674,"Rf":0.0674,"wavelength":0.32},{"T":0.0,"Rb":0.0663,"Rf":0.0663,"wavelength":0.325},{"T":0.0,"Rb":0.0653,"Rf":0.0653,"wavelength":0.33},{"T":0.0,"Rb":0.0647,"Rf":0.0647,"wavelength":0.335},{"T":0.0,"Rb":0.0642,"Rf":0.0642,"wavelength":0.34},{"T":0.0,"Rb":0.0651,"Rf":0.0651,"wavelength":0.345},{"T":0.0,"Rb":0.067,"Rf":0.067,"wavelength":0.35},{"T":0.0,"Rb":0.0704,"Rf":0.0704,"wavelength":0.355},{"T":0.0,"Rb":0.0751,"Rf":0.0751,"wavelength":0.36},{"T":0.0,"Rb":0.0816,"Rf":0.0816,"wavelength":0.365},{"T":0.0,"Rb":0.09,"Rf":0.09,"wavelength":0.37},{"T":0.0,"Rb":0.1022,"Rf":0.1022,"wavelength":0.375},{"T":0.0,"Rb":0.1191,"Rf":0.1191,"wavelength":0.38},{"T":0.0,"Rb":0.1455,"Rf":0.1455,"wavelength":0.385},{"T":0.0,"Rb":0.1897,"Rf":0.1897,"wavelength":0.39},{"T":0.0,"Rb":0.2618,"Rf":0.2618,"wavelength":0.395},{"T":0.0,"Rb":0.3615,"Rf":0.3615,"wavelength":0.4},{"T":0.0,"Rb":0.4777,"Rf":0.4777,"wavelength":0.405},{"T":0.0,"Rb":0.5803,"Rf":0.5803,"wavelength":0.41},{"T":0.0,"Rb":0.6437,"Rf":0.6437,"wavelength":0.415},{"T":0.0,"Rb":0.6726,"Rf":0.6726,"wavelength":0.42},{"T":0.0,"Rb":0.684,"Rf":0.684,"wavelength":0.425},{"T":0.0,"Rb":0.69,"Rf":0.69,"wavelength":0.43},{"T":0.0,"Rb":0.697,"Rf":0.697,"wavelength":0.435},{"T":0.0,"Rb":0.7038,"Rf":0.7038,"wavelength":0.44},{"T":0.0,"Rb":0.7093,"Rf":0.7093,"wavelength":0.445},{"T":0.0,"Rb":0.7133,"Rf":0.7133,"wavelength":0.45},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":0.455},{"T":0.0,"Rb":0.7152,"Rf":0.7152,"wavelength":0.46},{"T":0.0,"Rb":0.716,"Rf":0.716,"wavelength":0.465},{"T":0.0,"Rb":0.716,"Rf":0.716,"wavelength":0.47},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":0.475},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":0.48},{"T":0.0,"Rb":0.7181,"Rf":0.7181,"wavelength":0.485},{"T":0.0,"Rb":0.7199,"Rf":0.7199,"wavelength":0.49},{"T":0.0,"Rb":0.7225,"Rf":0.7225,"wavelength":0.495},{"T":0.0,"Rb":0.7249,"Rf":0.7249,"wavelength":0.5},{"T":0.0,"Rb":0.7291,"Rf":0.7291,"wavelength":0.505},{"T":0.0,"Rb":0.7327,"Rf":0.7327,"wavelength":0.51},{"T":0.0,"Rb":0.7374,"Rf":0.7374,"wavelength":0.515},{"T":0.0,"Rb":0.7408,"Rf":0.7408,"wavelength":0.52},{"T":0.0,"Rb":0.7457,"Rf":0.7457,"wavelength":0.525},{"T":0.0,"Rb":0.7491,"Rf":0.7491,"wavelength":0.53},{"T":0.0,"Rb":0.7524,"Rf":0.7524,"wavelength":0.535},{"T":0.0,"Rb":0.7548,"Rf":0.7548,"wavelength":0.54},{"T":0.0,"Rb":0.7562,"Rf":0.7562,"wavelength":0.545},{"T":0.0,"Rb":0.7577,"Rf":0.7577,"wavelength":0.55},{"T":0.0,"Rb":0.7584,"Rf":0.7584,"wavelength":0.555},{"T":0.0,"Rb":0.7574,"Rf":0.7574,"wavelength":0.56},{"T":0.0,"Rb":0.7568,"Rf":0.7568,"wavelength":0.565},{"T":0.0,"Rb":0.7553,"Rf":0.7553,"wavelength":0.57},{"T":0.0,"Rb":0.7543,"Rf":0.7543,"wavelength":0.575},{"T":0.0,"Rb":0.7529,"Rf":0.7529,"wavelength":0.58},{"T":0.0,"Rb":0.7511,"Rf":0.7511,"wavelength":0.585},{"T":0.0,"Rb":0.7489,"Rf":0.7489,"wavelength":0.59},{"T":0.0,"Rb":0.7474,"Rf":0.7474,"wavelength":0.595},{"T":0.0,"Rb":0.7458,"Rf":0.7458,"wavelength":0.6},{"T":0.0,"Rb":0.7434,"Rf":0.7434,"wavelength":0.605},{"T":0.0,"Rb":0.7419,"Rf":0.7419,"wavelength":0.61},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":0.615},{"T":0.0,"Rb":0.7376,"Rf":0.7376,"wavelength":0.62},{"T":0.0,"Rb":0.7353,"Rf":0.7353,"wavelength":0.625},{"T":0.0,"Rb":0.7339,"Rf":0.7339,"wavelength":0.63},{"T":0.0,"Rb":0.7319,"Rf":0.7319,"wavelength":0.635},{"T":0.0,"Rb":0.7297,"Rf":0.7297,"wavelength":0.64},{"T":0.0,"Rb":0.7277,"Rf":0.7277,"wavelength":0.645},{"T":0.0,"Rb":0.7261,"Rf":0.7261,"wavelength":0.65},{"T":0.0,"Rb":0.724,"Rf":0.724,"wavelength":0.655},{"T":0.0,"Rb":0.7221,"Rf":0.7221,"wavelength":0.66},{"T":0.0,"Rb":0.7202,"Rf":0.7202,"wavelength":0.665},{"T":0.0,"Rb":0.7186,"Rf":0.7186,"wavelength":0.67},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":0.675},{"T":0.0,"Rb":0.7133,"Rf":0.7133,"wavelength":0.68},{"T":0.0,"Rb":0.7124,"Rf":0.7124,"wavelength":0.685},{"T":0.0,"Rb":0.7105,"Rf":0.7105,"wavelength":0.69},{"T":0.0,"Rb":0.7086,"Rf":0.7086,"wavelength":0.695},{"T":0.0,"Rb":0.706,"Rf":0.706,"wavelength":0.7},{"T":0.0,"Rb":0.7048,"Rf":0.7048,"wavelength":0.705},{"T":0.0,"Rb":0.7026,"Rf":0.7026,"wavelength":0.71},{"T":0.0,"Rb":0.7004,"Rf":0.7004,"wavelength":0.715},{"T":0.0,"Rb":0.6986,"Rf":0.6986,"wavelength":0.72},{"T":0.0,"Rb":0.6959,"Rf":0.6959,"wavelength":0.725},{"T":0.0,"Rb":0.6944,"Rf":0.6944,"wavelength":0.73},{"T":0.0,"Rb":0.6916,"Rf":0.6916,"wavelength":0.735},{"T":0.0,"Rb":0.69,"Rf":0.69,"wavelength":0.74},{"T":0.0,"Rb":0.6879,"Rf":0.6879,"wavelength":0.745},{"T":0.0,"Rb":0.6855,"Rf":0.6855,"wavelength":0.75},{"T":0.0,"Rb":0.6828,"Rf":0.6828,"wavelength":0.755},{"T":0.0,"Rb":0.6809,"Rf":0.6809,"wavelength":0.76},{"T":0.0,"Rb":0.6781,"Rf":0.6781,"wavelength":0.765},{"T":0.0,"Rb":0.6749,"Rf":0.6749,"wavelength":0.77},{"T":0.0,"Rb":0.6731,"Rf":0.6731,"wavelength":0.775},{"T":0.0,"Rb":0.671,"Rf":0.671,"wavelength":0.78},{"T":0.0,"Rb":0.6687,"Rf":0.6687,"wavelength":0.785},{"T":0.0,"Rb":0.6659,"Rf":0.6659,"wavelength":0.79},{"T":0.0,"Rb":0.6633,"Rf":0.6633,"wavelength":0.795},{"T":0.0,"Rb":0.6615,"Rf":0.6615,"wavelength":0.8},{"T":0.0,"Rb":0.6588,"Rf":0.6588,"wavelength":0.805},{"T":0.0,"Rb":0.6569,"Rf":0.6569,"wavelength":0.81},{"T":0.0,"Rb":0.6547,"Rf":0.6547,"wavelength":0.815},{"T":0.0,"Rb":0.6531,"Rf":0.6531,"wavelength":0.82},{"T":0.0,"Rb":0.6508,"Rf":0.6508,"wavelength":0.825},{"T":0.0,"Rb":0.6488,"Rf":0.6488,"wavelength":0.83},{"T":0.0,"Rb":0.6478,"Rf":0.6478,"wavelength":0.835},{"T":0.0,"Rb":0.6471,"Rf":0.6471,"wavelength":0.84},{"T":0.0,"Rb":0.645,"Rf":0.645,"wavelength":0.845},{"T":0.0,"Rb":0.6451,"Rf":0.6451,"wavelength":0.85},{"T":0.0,"Rb":0.6433,"Rf":0.6433,"wavelength":0.855},{"T":0.0,"Rb":0.6451,"Rf":0.6451,"wavelength":0.86},{"T":0.0,"Rb":0.6461,"Rf":0.6461,"wavelength":0.865},{"T":0.0,"Rb":0.6474,"Rf":0.6474,"wavelength":0.87},{"T":0.0,"Rb":0.6457,"Rf":0.6457,"wavelength":0.875},{"T":0.0,"Rb":0.6444,"Rf":0.6444,"wavelength":0.88},{"T":0.0,"Rb":0.6442,"Rf":0.6442,"wavelength":0.885},{"T":0.0,"Rb":0.6447,"Rf":0.6447,"wavelength":0.89},{"T":0.0,"Rb":0.644,"Rf":0.644,"wavelength":0.895},{"T":0.0,"Rb":0.6455,"Rf":0.6455,"wavelength":0.9},{"T":0.0,"Rb":0.6448,"Rf":0.6448,"wavelength":0.905},{"T":0.0,"Rb":0.6462,"Rf":0.6462,"wavelength":0.91},{"T":0.0,"Rb":0.6466,"Rf":0.6466,"wavelength":0.915},{"T":0.0,"Rb":0.6481,"Rf":0.6481,"wavelength":0.92},{"T":0.0,"Rb":0.6496,"Rf":0.6496,"wavelength":0.925},{"T":0.0,"Rb":0.6502,"Rf":0.6502,"wavelength":0.93},{"T":0.0,"Rb":0.6511,"Rf":0.6511,"wavelength":0.935},{"T":0.0,"Rb":0.6524,"Rf":0.6524,"wavelength":0.94},{"T":0.0,"Rb":0.6535,"Rf":0.6535,"wavelength":0.945},{"T":0.0,"Rb":0.6542,"Rf":0.6542,"wavelength":0.95},{"T":0.0,"Rb":0.6559,"Rf":0.6559,"wavelength":0.955},{"T":0.0,"Rb":0.657,"Rf":0.657,"wavelength":0.96},{"T":0.0,"Rb":0.6576,"Rf":0.6576,"wavelength":0.965},{"T":0.0,"Rb":0.6585,"Rf":0.6585,"wavelength":0.97},{"T":0.0,"Rb":0.6599,"Rf":0.6599,"wavelength":0.975},{"T":0.0,"Rb":0.6606,"Rf":0.6606,"wavelength":0.98},{"T":0.0,"Rb":0.6621,"Rf":0.6621,"wavelength":0.985},{"T":0.0,"Rb":0.6634,"Rf":0.6634,"wavelength":0.99},{"T":0.0,"Rb":0.6646,"Rf":0.6646,"wavelength":0.995},{"T":0.0,"Rb":0.6658,"Rf":0.6658,"wavelength":1.0},{"T":0.0,"Rb":0.6664,"Rf":0.6664,"wavelength":1.005},{"T":0.0,"Rb":0.667,"Rf":0.667,"wavelength":1.01},{"T":0.0,"Rb":0.6684,"Rf":0.6684,"wavelength":1.015},{"T":0.0,"Rb":0.6686,"Rf":0.6686,"wavelength":1.02},{"T":0.0,"Rb":0.6706,"Rf":0.6706,"wavelength":1.025},{"T":0.0,"Rb":0.6711,"Rf":0.6711,"wavelength":1.03},{"T":0.0,"Rb":0.6719,"Rf":0.6719,"wavelength":1.035},{"T":0.0,"Rb":0.673,"Rf":0.673,"wavelength":1.04},{"T":0.0,"Rb":0.6743,"Rf":0.6743,"wavelength":1.045},{"T":0.0,"Rb":0.6747,"Rf":0.6747,"wavelength":1.05},{"T":0.0,"Rb":0.6757,"Rf":0.6757,"wavelength":1.055},{"T":0.0,"Rb":0.6767,"Rf":0.6767,"wavelength":1.06},{"T":0.0,"Rb":0.6776,"Rf":0.6776,"wavelength":1.065},{"T":0.0,"Rb":0.678,"Rf":0.678,"wavelength":1.07},{"T":0.0,"Rb":0.679,"Rf":0.679,"wavelength":1.075},{"T":0.0,"Rb":0.6789,"Rf":0.6789,"wavelength":1.08},{"T":0.0,"Rb":0.6807,"Rf":0.6807,"wavelength":1.085},{"T":0.0,"Rb":0.6809,"Rf":0.6809,"wavelength":1.09},{"T":0.0,"Rb":0.6825,"Rf":0.6825,"wavelength":1.095},{"T":0.0,"Rb":0.6834,"Rf":0.6834,"wavelength":1.1},{"T":0.0,"Rb":0.6837,"Rf":0.6837,"wavelength":1.105},{"T":0.0,"Rb":0.6842,"Rf":0.6842,"wavelength":1.11},{"T":0.0,"Rb":0.6854,"Rf":0.6854,"wavelength":1.115},{"T":0.0,"Rb":0.6849,"Rf":0.6849,"wavelength":1.12},{"T":0.0,"Rb":0.6857,"Rf":0.6857,"wavelength":1.125},{"T":0.0,"Rb":0.6861,"Rf":0.6861,"wavelength":1.13},{"T":0.0,"Rb":0.6862,"Rf":0.6862,"wavelength":1.135},{"T":0.0,"Rb":0.6874,"Rf":0.6874,"wavelength":1.14},{"T":0.0,"Rb":0.6877,"Rf":0.6877,"wavelength":1.145},{"T":0.0,"Rb":0.688,"Rf":0.688,"wavelength":1.15},{"T":0.0,"Rb":0.6887,"Rf":0.6887,"wavelength":1.155},{"T":0.0,"Rb":0.6895,"Rf":0.6895,"wavelength":1.16},{"T":0.0,"Rb":0.6895,"Rf":0.6895,"wavelength":1.165},{"T":0.0,"Rb":0.6906,"Rf":0.6906,"wavelength":1.17},{"T":0.0,"Rb":0.6902,"Rf":0.6902,"wavelength":1.175},{"T":0.0,"Rb":0.6893,"Rf":0.6893,"wavelength":1.18},{"T":0.0,"Rb":0.6897,"Rf":0.6897,"wavelength":1.185},{"T":0.0,"Rb":0.6904,"Rf":0.6904,"wavelength":1.19},{"T":0.0,"Rb":0.6908,"Rf":0.6908,"wavelength":1.195},{"T":0.0,"Rb":0.6918,"Rf":0.6918,"wavelength":1.2},{"T":0.0,"Rb":0.6923,"Rf":0.6923,"wavelength":1.205},{"T":0.0,"Rb":0.6931,"Rf":0.6931,"wavelength":1.21},{"T":0.0,"Rb":0.6936,"Rf":0.6936,"wavelength":1.215},{"T":0.0,"Rb":0.695,"Rf":0.695,"wavelength":1.22},{"T":0.0,"Rb":0.6958,"Rf":0.6958,"wavelength":1.225},{"T":0.0,"Rb":0.6969,"Rf":0.6969,"wavelength":1.23},{"T":0.0,"Rb":0.6972,"Rf":0.6972,"wavelength":1.235},{"T":0.0,"Rb":0.6981,"Rf":0.6981,"wavelength":1.24},{"T":0.0,"Rb":0.6984,"Rf":0.6984,"wavelength":1.245},{"T":0.0,"Rb":0.6991,"Rf":0.6991,"wavelength":1.25},{"T":0.0,"Rb":0.6994,"Rf":0.6994,"wavelength":1.255},{"T":0.0,"Rb":0.6999,"Rf":0.6999,"wavelength":1.26},{"T":0.0,"Rb":0.7015,"Rf":0.7015,"wavelength":1.265},{"T":0.0,"Rb":0.7012,"Rf":0.7012,"wavelength":1.27},{"T":0.0,"Rb":0.7018,"Rf":0.7018,"wavelength":1.275},{"T":0.0,"Rb":0.7016,"Rf":0.7016,"wavelength":1.28},{"T":0.0,"Rb":0.702,"Rf":0.702,"wavelength":1.285},{"T":0.0,"Rb":0.7028,"Rf":0.7028,"wavelength":1.29},{"T":0.0,"Rb":0.7034,"Rf":0.7034,"wavelength":1.295},{"T":0.0,"Rb":0.7033,"Rf":0.7033,"wavelength":1.3},{"T":0.0,"Rb":0.7036,"Rf":0.7036,"wavelength":1.305},{"T":0.0,"Rb":0.7039,"Rf":0.7039,"wavelength":1.31},{"T":0.0,"Rb":0.7043,"Rf":0.7043,"wavelength":1.315},{"T":0.0,"Rb":0.7049,"Rf":0.7049,"wavelength":1.32},{"T":0.0,"Rb":0.7053,"Rf":0.7053,"wavelength":1.325},{"T":0.0,"Rb":0.7051,"Rf":0.7051,"wavelength":1.33},{"T":0.0,"Rb":0.7054,"Rf":0.7054,"wavelength":1.335},{"T":0.0,"Rb":0.7058,"Rf":0.7058,"wavelength":1.34},{"T":0.0,"Rb":0.7056,"Rf":0.7056,"wavelength":1.345},{"T":0.0,"Rb":0.7055,"Rf":0.7055,"wavelength":1.35},{"T":0.0,"Rb":0.7056,"Rf":0.7056,"wavelength":1.355},{"T":0.0,"Rb":0.7059,"Rf":0.7059,"wavelength":1.36},{"T":0.0,"Rb":0.7062,"Rf":0.7062,"wavelength":1.365},{"T":0.0,"Rb":0.7059,"Rf":0.7059,"wavelength":1.37},{"T":0.0,"Rb":0.7064,"Rf":0.7064,"wavelength":1.375},{"T":0.0,"Rb":0.7067,"Rf":0.7067,"wavelength":1.38},{"T":0.0,"Rb":0.707,"Rf":0.707,"wavelength":1.385},{"T":0.0,"Rb":0.7073,"Rf":0.7073,"wavelength":1.39},{"T":0.0,"Rb":0.7082,"Rf":0.7082,"wavelength":1.395},{"T":0.0,"Rb":0.708,"Rf":0.708,"wavelength":1.4},{"T":0.0,"Rb":0.7082,"Rf":0.7082,"wavelength":1.405},{"T":0.0,"Rb":0.7083,"Rf":0.7083,"wavelength":1.41},{"T":0.0,"Rb":0.7084,"Rf":0.7084,"wavelength":1.415},{"T":0.0,"Rb":0.7083,"Rf":0.7083,"wavelength":1.42},{"T":0.0,"Rb":0.7095,"Rf":0.7095,"wavelength":1.425},{"T":0.0,"Rb":0.7104,"Rf":0.7104,"wavelength":1.43},{"T":0.0,"Rb":0.7112,"Rf":0.7112,"wavelength":1.435},{"T":0.0,"Rb":0.7115,"Rf":0.7115,"wavelength":1.44},{"T":0.0,"Rb":0.7123,"Rf":0.7123,"wavelength":1.445},{"T":0.0,"Rb":0.7131,"Rf":0.7131,"wavelength":1.45},{"T":0.0,"Rb":0.7137,"Rf":0.7137,"wavelength":1.455},{"T":0.0,"Rb":0.7144,"Rf":0.7144,"wavelength":1.46},{"T":0.0,"Rb":0.7149,"Rf":0.7149,"wavelength":1.465},{"T":0.0,"Rb":0.7153,"Rf":0.7153,"wavelength":1.47},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":1.475},{"T":0.0,"Rb":0.7159,"Rf":0.7159,"wavelength":1.48},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":1.485},{"T":0.0,"Rb":0.7173,"Rf":0.7173,"wavelength":1.49},{"T":0.0,"Rb":0.718,"Rf":0.718,"wavelength":1.495},{"T":0.0,"Rb":0.7185,"Rf":0.7185,"wavelength":1.5},{"T":0.0,"Rb":0.7186,"Rf":0.7186,"wavelength":1.505},{"T":0.0,"Rb":0.7192,"Rf":0.7192,"wavelength":1.51},{"T":0.0,"Rb":0.7203,"Rf":0.7203,"wavelength":1.515},{"T":0.0,"Rb":0.7208,"Rf":0.7208,"wavelength":1.52},{"T":0.0,"Rb":0.7221,"Rf":0.7221,"wavelength":1.525},{"T":0.0,"Rb":0.7223,"Rf":0.7223,"wavelength":1.53},{"T":0.0,"Rb":0.7227,"Rf":0.7227,"wavelength":1.535},{"T":0.0,"Rb":0.7235,"Rf":0.7235,"wavelength":1.54},{"T":0.0,"Rb":0.7243,"Rf":0.7243,"wavelength":1.545},{"T":0.0,"Rb":0.725,"Rf":0.725,"wavelength":1.55},{"T":0.0,"Rb":0.7244,"Rf":0.7244,"wavelength":1.555},{"T":0.0,"Rb":0.7253,"Rf":0.7253,"wavelength":1.56},{"T":0.0,"Rb":0.7265,"Rf":0.7265,"wavelength":1.565},{"T":0.0,"Rb":0.7262,"Rf":0.7262,"wavelength":1.57},{"T":0.0,"Rb":0.7262,"Rf":0.7262,"wavelength":1.575},{"T":0.0,"Rb":0.727,"Rf":0.727,"wavelength":1.58},{"T":0.0,"Rb":0.7274,"Rf":0.7274,"wavelength":1.585},{"T":0.0,"Rb":0.7284,"Rf":0.7284,"wavelength":1.59},{"T":0.0,"Rb":0.7284,"Rf":0.7284,"wavelength":1.595},{"T":0.0,"Rb":0.7285,"Rf":0.7285,"wavelength":1.6},{"T":0.0,"Rb":0.7289,"Rf":0.7289,"wavelength":1.605},{"T":0.0,"Rb":0.7292,"Rf":0.7292,"wavelength":1.61},{"T":0.0,"Rb":0.7294,"Rf":0.7294,"wavelength":1.615},{"T":0.0,"Rb":0.7287,"Rf":0.7287,"wavelength":1.62},{"T":0.0,"Rb":0.7285,"Rf":0.7285,"wavelength":1.625},{"T":0.0,"Rb":0.7279,"Rf":0.7279,"wavelength":1.63},{"T":0.0,"Rb":0.7266,"Rf":0.7266,"wavelength":1.635},{"T":0.0,"Rb":0.7252,"Rf":0.7252,"wavelength":1.64},{"T":0.0,"Rb":0.7229,"Rf":0.7229,"wavelength":1.645},{"T":0.0,"Rb":0.7178,"Rf":0.7178,"wavelength":1.65},{"T":0.0,"Rb":0.7141,"Rf":0.7141,"wavelength":1.655},{"T":0.0,"Rb":0.7101,"Rf":0.7101,"wavelength":1.66},{"T":0.0,"Rb":0.7081,"Rf":0.7081,"wavelength":1.665},{"T":0.0,"Rb":0.7093,"Rf":0.7093,"wavelength":1.67},{"T":0.0,"Rb":0.7108,"Rf":0.7108,"wavelength":1.675},{"T":0.0,"Rb":0.7109,"Rf":0.7109,"wavelength":1.68},{"T":0.0,"Rb":0.7102,"Rf":0.7102,"wavelength":1.685},{"T":0.0,"Rb":0.7102,"Rf":0.7102,"wavelength":1.69},{"T":0.0,"Rb":0.7113,"Rf":0.7113,"wavelength":1.695},{"T":0.0,"Rb":0.7127,"Rf":0.7127,"wavelength":1.7},{"T":0.0,"Rb":0.7139,"Rf":0.7139,"wavelength":1.705},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":1.71},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":1.715},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":1.72},{"T":0.0,"Rb":0.7159,"Rf":0.7159,"wavelength":1.725},{"T":0.0,"Rb":0.7153,"Rf":0.7153,"wavelength":1.73},{"T":0.0,"Rb":0.7171,"Rf":0.7171,"wavelength":1.735},{"T":0.0,"Rb":0.7178,"Rf":0.7178,"wavelength":1.74},{"T":0.0,"Rb":0.7183,"Rf":0.7183,"wavelength":1.745},{"T":0.0,"Rb":0.7206,"Rf":0.7206,"wavelength":1.75},{"T":0.0,"Rb":0.7213,"Rf":0.7213,"wavelength":1.755},{"T":0.0,"Rb":0.7231,"Rf":0.7231,"wavelength":1.76},{"T":0.0,"Rb":0.7251,"Rf":0.7251,"wavelength":1.765},{"T":0.0,"Rb":0.7266,"Rf":0.7266,"wavelength":1.77},{"T":0.0,"Rb":0.7291,"Rf":0.7291,"wavelength":1.775},{"T":0.0,"Rb":0.7303,"Rf":0.7303,"wavelength":1.78},{"T":0.0,"Rb":0.7315,"Rf":0.7315,"wavelength":1.785},{"T":0.0,"Rb":0.7327,"Rf":0.7327,"wavelength":1.79},{"T":0.0,"Rb":0.7332,"Rf":0.7332,"wavelength":1.795},{"T":0.0,"Rb":0.7339,"Rf":0.7339,"wavelength":1.8},{"T":0.0,"Rb":0.7346,"Rf":0.7346,"wavelength":1.805},{"T":0.0,"Rb":0.7345,"Rf":0.7345,"wavelength":1.81},{"T":0.0,"Rb":0.7359,"Rf":0.7359,"wavelength":1.815},{"T":0.0,"Rb":0.735,"Rf":0.735,"wavelength":1.82},{"T":0.0,"Rb":0.736,"Rf":0.736,"wavelength":1.825},{"T":0.0,"Rb":0.7372,"Rf":0.7372,"wavelength":1.83},{"T":0.0,"Rb":0.7377,"Rf":0.7377,"wavelength":1.835},{"T":0.0,"Rb":0.7391,"Rf":0.7391,"wavelength":1.84},{"T":0.0,"Rb":0.7382,"Rf":0.7382,"wavelength":1.845},{"T":0.0,"Rb":0.7397,"Rf":0.7397,"wavelength":1.85},{"T":0.0,"Rb":0.7411,"Rf":0.7411,"wavelength":1.855},{"T":0.0,"Rb":0.742,"Rf":0.742,"wavelength":1.86},{"T":0.0,"Rb":0.7416,"Rf":0.7416,"wavelength":1.865},{"T":0.0,"Rb":0.7415,"Rf":0.7415,"wavelength":1.87},{"T":0.0,"Rb":0.7425,"Rf":0.7425,"wavelength":1.875},{"T":0.0,"Rb":0.7432,"Rf":0.7432,"wavelength":1.88},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":1.885},{"T":0.0,"Rb":0.7415,"Rf":0.7415,"wavelength":1.89},{"T":0.0,"Rb":0.7406,"Rf":0.7406,"wavelength":1.895},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":1.9},{"T":0.0,"Rb":0.7389,"Rf":0.7389,"wavelength":1.905},{"T":0.0,"Rb":0.7393,"Rf":0.7393,"wavelength":1.91},{"T":0.0,"Rb":0.7395,"Rf":0.7395,"wavelength":1.915},{"T":0.0,"Rb":0.7401,"Rf":0.7401,"wavelength":1.92},{"T":0.0,"Rb":0.7397,"Rf":0.7397,"wavelength":1.925},{"T":0.0,"Rb":0.7408,"Rf":0.7408,"wavelength":1.93},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":1.935},{"T":0.0,"Rb":0.7423,"Rf":0.7423,"wavelength":1.94},{"T":0.0,"Rb":0.7423,"Rf":0.7423,"wavelength":1.945},{"T":0.0,"Rb":0.7422,"Rf":0.7422,"wavelength":1.95},{"T":0.0,"Rb":0.7435,"Rf":0.7435,"wavelength":1.955},{"T":0.0,"Rb":0.7422,"Rf":0.7422,"wavelength":1.96},{"T":0.0,"Rb":0.7432,"Rf":0.7432,"wavelength":1.965},{"T":0.0,"Rb":0.7449,"Rf":0.7449,"wavelength":1.97},{"T":0.0,"Rb":0.7479,"Rf":0.7479,"wavelength":1.975},{"T":0.0,"Rb":0.7477,"Rf":0.7477,"wavelength":1.98},{"T":0.0,"Rb":0.7479,"Rf":0.7479,"wavelength":1.985},{"T":0.0,"Rb":0.7481,"Rf":0.7481,"wavelength":1.99},{"T":0.0,"Rb":0.7493,"Rf":0.7493,"wavelength":1.995},{"T":0.0,"Rb":0.7496,"Rf":0.7496,"wavelength":2.0},{"T":0.0,"Rb":0.7501,"Rf":0.7501,"wavelength":2.005},{"T":0.0,"Rb":0.7503,"Rf":0.7503,"wavelength":2.01},{"T":0.0,"Rb":0.7518,"Rf":0.7518,"wavelength":2.015},{"T":0.0,"Rb":0.7517,"Rf":0.7517,"wavelength":2.02},{"T":0.0,"Rb":0.7523,"Rf":0.7523,"wavelength":2.025},{"T":0.0,"Rb":0.7528,"Rf":0.7528,"wavelength":2.03},{"T":0.0,"Rb":0.7531,"Rf":0.7531,"wavelength":2.035},{"T":0.0,"Rb":0.7531,"Rf":0.7531,"wavelength":2.04},{"T":0.0,"Rb":0.7529,"Rf":0.7529,"wavelength":2.045},{"T":0.0,"Rb":0.7539,"Rf":0.7539,"wavelength":2.05},{"T":0.0,"Rb":0.7564,"Rf":0.7564,"wavelength":2.055},{"T":0.0,"Rb":0.7556,"Rf":0.7556,"wavelength":2.06},{"T":0.0,"Rb":0.7544,"Rf":0.7544,"wavelength":2.065},{"T":0.0,"Rb":0.7537,"Rf":0.7537,"wavelength":2.07},{"T":0.0,"Rb":0.7541,"Rf":0.7541,"wavelength":2.075},{"T":0.0,"Rb":0.7517,"Rf":0.7517,"wavelength":2.08},{"T":0.0,"Rb":0.7532,"Rf":0.7532,"wavelength":2.085},{"T":0.0,"Rb":0.7546,"Rf":0.7546,"wavelength":2.09},{"T":0.0,"Rb":0.7541,"Rf":0.7541,"wavelength":2.095},{"T":0.0,"Rb":0.7539,"Rf":0.7539,"wavelength":2.1},{"T":0.0,"Rb":0.7555,"Rf":0.7555,"wavelength":2.105},{"T":0.0,"Rb":0.7536,"Rf":0.7536,"wavelength":2.11},{"T":0.0,"Rb":0.7544,"Rf":0.7544,"wavelength":2.115},{"T":0.0,"Rb":0.7501,"Rf":0.7501,"wavelength":2.12},{"T":0.0,"Rb":0.7442,"Rf":0.7442,"wavelength":2.125},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":2.13},{"T":0.0,"Rb":0.7331,"Rf":0.7331,"wavelength":2.135},{"T":0.0,"Rb":0.7283,"Rf":0.7283,"wavelength":2.14},{"T":0.0,"Rb":0.7282,"Rf":0.7282,"wavelength":2.145},{"T":0.0,"Rb":0.731,"Rf":0.731,"wavelength":2.15},{"T":0.0,"Rb":0.7431,"Rf":0.7431,"wavelength":2.155},{"T":0.0,"Rb":0.7431,"Rf":0.7431,"wavelength":2.16},{"T":0.0,"Rb":0.7459,"Rf":0.7459,"wavelength":2.165},{"T":0.0,"Rb":0.7519,"Rf":0.7519,"wavelength":2.17},{"T":0.0,"Rb":0.753,"Rf":0.753,"wavelength":2.175},{"T":0.0,"Rb":0.7488,"Rf":0.7488,"wavelength":2.18},{"T":0.0,"Rb":0.7548,"Rf":0.7548,"wavelength":2.185},{"T":0.0,"Rb":0.7505,"Rf":0.7505,"wavelength":2.19},{"T":0.0,"Rb":0.7495,"Rf":0.7495,"wavelength":2.195},{"T":0.0,"Rb":0.7456,"Rf":0.7456,"wavelength":2.2},{"T":0.0,"Rb":0.7457,"Rf":0.7457,"wavelength":2.205},{"T":0.0,"Rb":0.7468,"Rf":0.7468,"wavelength":2.21},{"T":0.0,"Rb":0.744,"Rf":0.744,"wavelength":2.215},{"T":0.0,"Rb":0.7412,"Rf":0.7412,"wavelength":2.22},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":2.225},{"T":0.0,"Rb":0.7395,"Rf":0.7395,"wavelength":2.23},{"T":0.0,"Rb":0.7341,"Rf":0.7341,"wavelength":2.235},{"T":0.0,"Rb":0.7227,"Rf":0.7227,"wavelength":2.24},{"T":0.0,"Rb":0.7105,"Rf":0.7105,"wavelength":2.245},{"T":0.0,"Rb":0.6971,"Rf":0.6971,"wavelength":2.25},{"T":0.0,"Rb":0.676,"Rf":0.676,"wavelength":2.255},{"T":0.0,"Rb":0.6582,"Rf":0.6582,"wavelength":2.26},{"T":0.0,"Rb":0.646,"Rf":0.646,"wavelength":2.265},{"T":0.0,"Rb":0.6434,"Rf":0.6434,"wavelength":2.27},{"T":0.0,"Rb":0.6433,"Rf":0.6433,"wavelength":2.275},{"T":0.0,"Rb":0.6464,"Rf":0.6464,"wavelength":2.28},{"T":0.0,"Rb":0.6496,"Rf":0.6496,"wavelength":2.285},{"T":0.0,"Rb":0.6549,"Rf":0.6549,"wavelength":2.29},{"T":0.0,"Rb":0.6597,"Rf":0.6597,"wavelength":2.295},{"T":0.0,"Rb":0.6562,"Rf":0.6562,"wavelength":2.3},{"T":0.0,"Rb":0.6573,"Rf":0.6573,"wavelength":2.305},{"T":0.0,"Rb":0.6587,"Rf":0.6587,"wavelength":2.31},{"T":0.0,"Rb":0.66,"Rf":0.66,"wavelength":2.315},{"T":0.0,"Rb":0.6659,"Rf":0.6659,"wavelength":2.32},{"T":0.0,"Rb":0.6758,"Rf":0.6758,"wavelength":2.325},{"T":0.0,"Rb":0.676,"Rf":0.676,"wavelength":2.33},{"T":0.0,"Rb":0.6785,"Rf":0.6785,"wavelength":2.335},{"T":0.0,"Rb":0.68,"Rf":0.68,"wavelength":2.34},{"T":0.0,"Rb":0.681,"Rf":0.681,"wavelength":2.345},{"T":0.0,"Rb":0.6778,"Rf":0.6778,"wavelength":2.35},{"T":0.0,"Rb":0.6796,"Rf":0.6796,"wavelength":2.355},{"T":0.0,"Rb":0.683,"Rf":0.683,"wavelength":2.36},{"T":0.0,"Rb":0.6793,"Rf":0.6793,"wavelength":2.365},{"T":0.0,"Rb":0.6823,"Rf":0.6823,"wavelength":2.37},{"T":0.0,"Rb":0.6864,"Rf":0.6864,"wavelength":2.375},{"T":0.0,"Rb":0.6836,"Rf":0.6836,"wavelength":2.38},{"T":0.0,"Rb":0.6786,"Rf":0.6786,"wavelength":2.385},{"T":0.0,"Rb":0.6835,"Rf":0.6835,"wavelength":2.39},{"T":0.0,"Rb":0.6795,"Rf":0.6795,"wavelength":2.395},{"T":0.0,"Rb":0.6834,"Rf":0.6834,"wavelength":2.4},{"T":0.0,"Rb":0.689,"Rf":0.689,"wavelength":2.405},{"T":0.0,"Rb":0.686,"Rf":0.686,"wavelength":2.41},{"T":0.0,"Rb":0.6899,"Rf":0.6899,"wavelength":2.415},{"T":0.0,"Rb":0.6884,"Rf":0.6884,"wavelength":2.42},{"T":0.0,"Rb":0.6912,"Rf":0.6912,"wavelength":2.425},{"T":0.0,"Rb":0.6936,"Rf":0.6936,"wavelength":2.43},{"T":0.0,"Rb":0.6945,"Rf":0.6945,"wavelength":2.435},{"T":0.0,"Rb":0.6927,"Rf":0.6927,"wavelength":2.44},{"T":0.0,"Rb":0.6792,"Rf":0.6792,"wavelength":2.445},{"T":0.0,"Rb":0.6733,"Rf":0.6733,"wavelength":2.45},{"T":0.0,"Rb":0.6649,"Rf":0.6649,"wavelength":2.455},{"T":0.0,"Rb":0.6712,"Rf":0.6712,"wavelength":2.46},{"T":0.0,"Rb":0.6756,"Rf":0.6756,"wavelength":2.465},{"T":0.0,"Rb":0.6799,"Rf":0.6799,"wavelength":2.47},{"T":0.0,"Rb":0.6874,"Rf":0.6874,"wavelength":2.475},{"T":0.0,"Rb":0.6999,"Rf":0.6999,"wavelength":2.48},{"T":0.0,"Rb":0.6993,"Rf":0.6993,"wavelength":2.485},{"T":0.0,"Rb":0.7081,"Rf":0.7081,"wavelength":2.49},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":2.495},{"T":0.0,"Rb":0.719,"Rf":0.719,"wavelength":2.5}]}}]}} diff --git a/test/read_checker_tool_json_file.unit.cpp b/test/read_checker_tool_json_file.unit.cpp index 1e656d0..8754a27 100644 --- a/test/read_checker_tool_json_file.unit.cpp +++ b/test/read_checker_tool_json_file.unit.cpp @@ -27,25 +27,25 @@ TEST_F(TestLoadJSONFromDisk, TestLoadCheckerToolJSON) OpticsParser::Parser parser; - OpticsParser::ProductData product = parser.parseJSONFile(product_path.string()); - // EXPECT_EQ(product.nfrcid, 102); - EXPECT_EQ(product.productName, "CGD89_092661"); - EXPECT_EQ(product.productType, "coated-glass"); - EXPECT_EQ(product.coatingName, "CGD89_092661"); - EXPECT_EQ(product.coatedSide, "Both"); - EXPECT_EQ(product.manufacturer, "Cardinal Glass Industries"); - EXPECT_EQ(product.thickness, 2.2); - // TODO EXPECT_EQ(product.conductivity, 1.0); - EXPECT_EQ(product.IRTransmittance, 0.0); - EXPECT_EQ(product.frontEmissivity, 0.149); - EXPECT_EQ(product.backEmissivity, 0.149); - EXPECT_EQ(product.measurements.size(), 462); - EXPECT_EQ(product.measurements[0].wavelength, 0.3); - EXPECT_EQ(product.measurements[0].directComponent.tf, 0.0); - EXPECT_EQ(product.measurements[0].directComponent.rf, 0.021); - EXPECT_EQ(product.measurements[0].directComponent.rb, 0.021); - EXPECT_EQ(product.measurements[461].wavelength, 25.0); - EXPECT_EQ(product.measurements[461].directComponent.tf, 0.0); - EXPECT_EQ(product.measurements[461].directComponent.rf, 0.8894); - EXPECT_EQ(product.measurements[461].directComponent.rb, 0.8894); + std::shared_ptr product = parser.parseJSONFile(product_path.string()); + // EXPECT_EQ(product->nfrcid, 102); + EXPECT_EQ(product->productName, "CGD89_092661"); + EXPECT_EQ(product->productType, "coated-glass"); + EXPECT_EQ(product->coatingName, "CGD89_092661"); + EXPECT_EQ(product->coatedSide, "Both"); + EXPECT_EQ(product->manufacturer, "Cardinal Glass Industries"); + EXPECT_EQ(product->thickness, 2.2); + // TODO EXPECT_EQ(product->conductivity, 1.0); + EXPECT_EQ(product->IRTransmittance, 0.0); + EXPECT_EQ(product->frontEmissivity, 0.149); + EXPECT_EQ(product->backEmissivity, 0.149); + EXPECT_EQ(product->measurements.size(), 462); + EXPECT_EQ(product->measurements[0].wavelength, 0.3); + EXPECT_EQ(product->measurements[0].directComponent.tf, 0.0); + EXPECT_EQ(product->measurements[0].directComponent.rf, 0.021); + EXPECT_EQ(product->measurements[0].directComponent.rb, 0.021); + EXPECT_EQ(product->measurements[461].wavelength, 25.0); + EXPECT_EQ(product->measurements[461].directComponent.tf, 0.0); + EXPECT_EQ(product->measurements[461].directComponent.rf, 0.8894); + EXPECT_EQ(product->measurements[461].directComponent.rb, 0.8894); } diff --git a/test/read_json_file_from_disk.unit.cpp b/test/read_json_file_from_disk.unit.cpp index c678312..e99a467 100644 --- a/test/read_json_file_from_disk.unit.cpp +++ b/test/read_json_file_from_disk.unit.cpp @@ -29,23 +29,23 @@ TEST_F(TestLoadJSONFromDisk, TestLoadClear3JSON) clear_3_path /= "products"; clear_3_path /= "CLEAR_3.json"; - OpticsParser::ProductData product = OpticsParser::parseJSONFile(clear_3_path.string()); -// EXPECT_EQ(product.nfrcid, 102); - EXPECT_EQ(product.productName, "Generic Clear Glass"); - EXPECT_EQ(product.productType, "monolithic"); - EXPECT_EQ(product.thickness, 3.048); - EXPECT_EQ(product.conductivity, 1.0); - EXPECT_EQ(product.IRTransmittance, 0.0); - EXPECT_EQ(product.frontEmissivity, 0.84); - EXPECT_EQ(product.backEmissivity, 0.84); - EXPECT_EQ(product.measurements.size(), 111); - EXPECT_EQ(product.measurements[0].wavelength, 0.3); - EXPECT_EQ(product.measurements[0].T, 0.002); - EXPECT_EQ(product.measurements[0].frontR, 0.047); - EXPECT_EQ(product.measurements[0].backR, 0.048); - EXPECT_EQ(product.measurements[110].wavelength, 2.5); - EXPECT_EQ(product.measurements[110].T, 0.822); - EXPECT_EQ(product.measurements[110].frontR, 0.068); - EXPECT_EQ(product.measurements[110].backR, 0.068); + std::shared_ptr product = OpticsParser::parseJSONFile(clear_3_path.string()); +// EXPECT_EQ(product->nfrcid, 102); + EXPECT_EQ(product->productName, "Generic Clear Glass"); + EXPECT_EQ(product->productType, "monolithic"); + EXPECT_EQ(product->thickness, 3.048); + EXPECT_EQ(product->conductivity, 1.0); + EXPECT_EQ(product->IRTransmittance, 0.0); + EXPECT_EQ(product->frontEmissivity, 0.84); + EXPECT_EQ(product->backEmissivity, 0.84); + EXPECT_EQ(product->measurements.size(), 111); + EXPECT_EQ(product->measurements[0].wavelength, 0.3); + EXPECT_EQ(product->measurements[0].T, 0.002); + EXPECT_EQ(product->measurements[0].frontR, 0.047); + EXPECT_EQ(product->measurements[0].backR, 0.048); + EXPECT_EQ(product->measurements[110].wavelength, 2.5); + EXPECT_EQ(product->measurements[110].T, 0.822); + EXPECT_EQ(product->measurements[110].frontR, 0.068); + EXPECT_EQ(product->measurements[110].backR, 0.068); } #endif diff --git a/test/read_optics_file_from_disk.unit.cpp b/test/read_optics_file_from_disk.unit.cpp index db03043..d8b6e44 100644 --- a/test/read_optics_file_from_disk.unit.cpp +++ b/test/read_optics_file_from_disk.unit.cpp @@ -28,35 +28,35 @@ TEST_F(TestLoadOpticsFileFromDisk, TestLoadClear3) clear_3_path += "/CLEAR_3.DAT"; OpticsParser::Parser parser; - OpticsParser::ProductData product = parser.parseFile(clear_3_path); - EXPECT_EQ(product.nfrcid, 102); - EXPECT_EQ(product.productName, "Generic Clear Glass"); - EXPECT_EQ(product.productType, "Monolithic"); - EXPECT_EQ(product.thickness, 3.048); - EXPECT_EQ(product.conductivity, 1.0); - EXPECT_EQ(product.IRTransmittance, 0.0); - EXPECT_EQ(product.frontEmissivity, 0.84); - EXPECT_EQ(product.backEmissivity, 0.84); - EXPECT_EQ(product.measurements.size(), 111); - EXPECT_EQ(product.measurements[0].wavelength, 0.3); - EXPECT_EQ(product.measurements[0].directComponent.tf, 0.002); - EXPECT_EQ(product.measurements[0].directComponent.rf, 0.047); - EXPECT_EQ(product.measurements[0].directComponent.rb, 0.048); - EXPECT_EQ(product.measurements[110].wavelength, 2.5); - EXPECT_EQ(product.measurements[110].directComponent.tf, 0.822); - EXPECT_EQ(product.measurements[110].directComponent.rf, 0.068); - EXPECT_EQ(product.measurements[110].directComponent.rb, 0.068); - EXPECT_EQ(product.frontEmissivitySource, "Material"); - EXPECT_EQ(product.backEmissivitySource, "Material"); - EXPECT_EQ(product.manufacturer, "Generic"); - EXPECT_EQ(product.material, "Glass"); - EXPECT_EQ(product.coatingName, "N/A"); - EXPECT_EQ(product.coatedSide, "Neither"); - EXPECT_EQ(product.substrateFilename, "N/A"); - EXPECT_EQ(product.appearance, "Clear"); - EXPECT_EQ(product.acceptance, "#"); - EXPECT_EQ(product.unitSystem, "SI"); - EXPECT_EQ(product.wavelengthUnit, "Microns"); + std::shared_ptr product = parser.parseFile(clear_3_path); + EXPECT_EQ(product->nfrcid, 102); + EXPECT_EQ(product->productName, "Generic Clear Glass"); + EXPECT_EQ(product->productType, "Monolithic"); + EXPECT_EQ(product->thickness, 3.048); + EXPECT_EQ(product->conductivity, 1.0); + EXPECT_EQ(product->IRTransmittance, 0.0); + EXPECT_EQ(product->frontEmissivity, 0.84); + EXPECT_EQ(product->backEmissivity, 0.84); + EXPECT_EQ(product->measurements.size(), 111); + EXPECT_EQ(product->measurements[0].wavelength, 0.3); + EXPECT_EQ(product->measurements[0].directComponent.tf, 0.002); + EXPECT_EQ(product->measurements[0].directComponent.rf, 0.047); + EXPECT_EQ(product->measurements[0].directComponent.rb, 0.048); + EXPECT_EQ(product->measurements[110].wavelength, 2.5); + EXPECT_EQ(product->measurements[110].directComponent.tf, 0.822); + EXPECT_EQ(product->measurements[110].directComponent.rf, 0.068); + EXPECT_EQ(product->measurements[110].directComponent.rb, 0.068); + EXPECT_EQ(product->frontEmissivitySource, "Material"); + EXPECT_EQ(product->backEmissivitySource, "Material"); + EXPECT_EQ(product->manufacturer, "Generic"); + EXPECT_EQ(product->material, "Glass"); + EXPECT_EQ(product->coatingName, "N/A"); + EXPECT_EQ(product->coatedSide, "Neither"); + EXPECT_EQ(product->substrateFilename, "N/A"); + EXPECT_EQ(product->appearance, "Clear"); + EXPECT_EQ(product->acceptance, "#"); + EXPECT_EQ(product->unitSystem, "SI"); + EXPECT_EQ(product->wavelengthUnit, "Microns"); } TEST_F(TestLoadOpticsFileFromDisk, TestLoadDiffuseData) @@ -68,44 +68,44 @@ TEST_F(TestLoadOpticsFileFromDisk, TestLoadDiffuseData) product_path += "/diffuse_optics_file_2.txt"; OpticsParser::Parser parser; - OpticsParser::ProductData product = parser.parseFile(product_path); - EXPECT_EQ(product.nfrcid, std::optional()); - EXPECT_EQ(product.productName, "Generic frit 38mm aperture"); - EXPECT_EQ(product.productType, "Coated"); - EXPECT_EQ(product.thickness, 6.0); - EXPECT_EQ(product.conductivity, 1.0); - EXPECT_EQ(product.IRTransmittance, 0.0); - EXPECT_EQ(product.frontEmissivity, 0.86); - EXPECT_EQ(product.backEmissivity, 0.86); - EXPECT_EQ(product.measurements.size(), 451); - EXPECT_EQ(product.measurements[0].wavelength, 0.250); - EXPECT_EQ(product.measurements[0].directComponent.tf, 0.001); - EXPECT_EQ(product.measurements[0].directComponent.tb, 0.006); - EXPECT_EQ(product.measurements[0].directComponent.rf, 0.011); - EXPECT_EQ(product.measurements[0].directComponent.rb, 0.006); - EXPECT_EQ(product.measurements[0].diffuseComponent.value().tf, 0.002); - EXPECT_EQ(product.measurements[0].diffuseComponent.value().tb, 0.076); - EXPECT_EQ(product.measurements[0].diffuseComponent.value().rf, 0.087); - EXPECT_EQ(product.measurements[0].diffuseComponent.value().rb, 0.131); - EXPECT_EQ(product.measurements[450].wavelength, 2.5); - EXPECT_EQ(product.measurements[450].directComponent.tf, 0.520); - EXPECT_EQ(product.measurements[450].directComponent.tb, 0.528); - EXPECT_EQ(product.measurements[450].directComponent.rf, 0.000); - EXPECT_EQ(product.measurements[450].directComponent.rb, 0.000); - EXPECT_EQ(product.measurements[450].diffuseComponent.value().tf, 0.238); - EXPECT_EQ(product.measurements[450].diffuseComponent.value().tb, 0.240); - EXPECT_EQ(product.measurements[450].diffuseComponent.value().rf, 0.0970); - EXPECT_EQ(product.measurements[450].diffuseComponent.value().rb, 0.0940); - EXPECT_EQ(product.frontEmissivitySource, std::optional()); - EXPECT_EQ(product.backEmissivitySource, std::optional()); - EXPECT_EQ(product.manufacturer, "LBNL demo"); - EXPECT_EQ(product.material, std::optional()); - EXPECT_EQ(product.coatingName, "Generic clear frit"); - EXPECT_EQ(product.coatedSide, "Back"); - EXPECT_EQ(product.substrateFilename, "CLEAR_6.DAT"); - EXPECT_EQ(product.appearance, "Hazy"); - EXPECT_EQ(product.acceptance, std::optional()); - EXPECT_EQ(product.unitSystem, "SI"); - EXPECT_EQ(product.wavelengthUnit, "Microns"); - EXPECT_EQ(product.permeabilityFactor, 0.0); + std::shared_ptr product = parser.parseFile(product_path); + EXPECT_EQ(product->nfrcid, std::optional()); + EXPECT_EQ(product->productName, "Generic frit 38mm aperture"); + EXPECT_EQ(product->productType, "Coated"); + EXPECT_EQ(product->thickness, 6.0); + EXPECT_EQ(product->conductivity, 1.0); + EXPECT_EQ(product->IRTransmittance, 0.0); + EXPECT_EQ(product->frontEmissivity, 0.86); + EXPECT_EQ(product->backEmissivity, 0.86); + EXPECT_EQ(product->measurements.size(), 451); + EXPECT_EQ(product->measurements[0].wavelength, 0.250); + EXPECT_EQ(product->measurements[0].directComponent.tf, 0.001); + EXPECT_EQ(product->measurements[0].directComponent.tb, 0.006); + EXPECT_EQ(product->measurements[0].directComponent.rf, 0.011); + EXPECT_EQ(product->measurements[0].directComponent.rb, 0.006); + EXPECT_EQ(product->measurements[0].diffuseComponent.value().tf, 0.002); + EXPECT_EQ(product->measurements[0].diffuseComponent.value().tb, 0.076); + EXPECT_EQ(product->measurements[0].diffuseComponent.value().rf, 0.087); + EXPECT_EQ(product->measurements[0].diffuseComponent.value().rb, 0.131); + EXPECT_EQ(product->measurements[450].wavelength, 2.5); + EXPECT_EQ(product->measurements[450].directComponent.tf, 0.520); + EXPECT_EQ(product->measurements[450].directComponent.tb, 0.528); + EXPECT_EQ(product->measurements[450].directComponent.rf, 0.000); + EXPECT_EQ(product->measurements[450].directComponent.rb, 0.000); + EXPECT_EQ(product->measurements[450].diffuseComponent.value().tf, 0.238); + EXPECT_EQ(product->measurements[450].diffuseComponent.value().tb, 0.240); + EXPECT_EQ(product->measurements[450].diffuseComponent.value().rf, 0.0970); + EXPECT_EQ(product->measurements[450].diffuseComponent.value().rb, 0.0940); + EXPECT_EQ(product->frontEmissivitySource, std::optional()); + EXPECT_EQ(product->backEmissivitySource, std::optional()); + EXPECT_EQ(product->manufacturer, "LBNL demo"); + EXPECT_EQ(product->material, std::optional()); + EXPECT_EQ(product->coatingName, "Generic clear frit"); + EXPECT_EQ(product->coatedSide, "Back"); + EXPECT_EQ(product->substrateFilename, "CLEAR_6.DAT"); + EXPECT_EQ(product->appearance, "Hazy"); + EXPECT_EQ(product->acceptance, std::optional()); + EXPECT_EQ(product->unitSystem, "SI"); + EXPECT_EQ(product->wavelengthUnit, "Microns"); + EXPECT_EQ(product->permeabilityFactor, 0.0); } \ No newline at end of file From 8b8b5c22aef42f8045378afadb1ef07599ea2db2 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Tue, 31 Mar 2020 18:51:51 -0400 Subject: [PATCH 04/55] Fixes to get tests passing again. Added test for igsdb shading layer json. --- src/Parser.cpp | 176 ++++++++++++++++---- src/ProductData.cpp | 63 +++++-- src/ProductData.hpp | 40 +++-- test/CMakeLists.txt | 1 + test/InputDifferentEmissivities.unit.cpp | 28 ++-- test/InputFile1.unit.cpp | 41 ++--- test/InputInvertedEmissivities.unit.cpp | 20 +-- test/convert_optics_to_json.unit.cpp | 4 +- test/read_checker_tool_json_file.unit.cpp | 28 ++-- test/read_igsdb_shading_layer_json.unit.cpp | 68 ++++++++ test/read_json_file_from_disk.unit.cpp | 28 ++-- test/read_optics_file_from_disk.unit.cpp | 78 ++++----- 12 files changed, 395 insertions(+), 180 deletions(-) create mode 100644 test/read_igsdb_shading_layer_json.unit.cpp diff --git a/src/Parser.cpp b/src/Parser.cpp index d751aee..4f7972f 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -5,10 +5,12 @@ #include #include "Parser.hpp" -std::shared_ptr OpticsParser::Parser::parseFile(const std::string & inputFile) +std::shared_ptr + OpticsParser::Parser::parseFile(const std::string & inputFile) { std::string fileName = inputFile.substr(inputFile.find_last_of("/\\") + 1); std::shared_ptr product(new OpticsParser::ProductData); + product->measurements = std::vector(); std::ifstream inFile(inputFile); std::string line; while(std::getline(inFile, line)) @@ -102,10 +104,12 @@ void OpticsParser::Parser::parseMeasurementLine(const std::string & line, auto parser = measuredValueToParser.find(result.size()); + std::vector measurements; + if(parser != measuredValueToParser.end()) { auto parsedValues = parser->second(result); - product->measurements.push_back(parsedValues); + product->measurements.value().push_back(parsedValues); } else { @@ -249,7 +253,11 @@ std::optional get_optional_field(nlohmann::json const & json, std::string con std::optional data; if(json.count(field_name)) { - data = json.at(field_name).get(); + auto field = json.at(field_name); + if(!field.is_null()) + { + data = json.at(field_name).get(); + } } return data; } @@ -366,16 +374,17 @@ std::shared_ptr parseCheckerToolJson(nlohmann::json c nlohmann::json measured_data_json = product_json.at("measured_data"); - product->thickness = measured_data_json.at("thickness").get(); + product->thickness = get_optional_field( + measured_data_json, "thickness"); // measured_data_json.at("thickness").get(); if(measured_data_json.count("bulk_properties_override")) { product->conductivity = get_optional_field( measured_data_json.at("bulk_properties_override"), "thermal_conductivity"); } - product->IRTransmittance = measured_data_json.at("tir_front").get(); - product->frontEmissivity = measured_data_json.at("emissivity_front").get(); - product->backEmissivity = measured_data_json.at("emissivity_back").get(); + product->IRTransmittance = get_optional_field(measured_data_json, "tir_front"); + product->frontEmissivity = get_optional_field(measured_data_json, "emissivity_front"); + product->backEmissivity = get_optional_field(measured_data_json, "emissivity_back"); product->frontEmissivitySource = get_optional_field(measured_data_json, "emissivity_front_source"); @@ -386,28 +395,38 @@ std::shared_ptr parseCheckerToolJson(nlohmann::json c product->backEmissivitySource = get_optional_field(measured_data_json, "wavelength_units"); + std::vector measurements; + nlohmann::json spectral_data_json = measured_data_json.at("spectral_data"); - nlohmann::json wavelength_data_json = - spectral_data_json.at("angle_block")[0].at("wavelength_data"); + if(!spectral_data_json.is_null()) + { + nlohmann::json wavelength_data_json = + spectral_data_json.at("angle_block")[0].at("wavelength_data"); - for(nlohmann::json::iterator itr = wavelength_data_json.begin(); - itr != wavelength_data_json.end(); - ++itr) + for(nlohmann::json::iterator itr = wavelength_data_json.begin(); + itr != wavelength_data_json.end(); + ++itr) + { + auto val = itr.value(); + double wl = val.at("w").get(); + double t = val.at("tf").get(); + double rf = val.at("rf").get(); + double rb = val.at("rb").get(); + OpticsParser::MeasurementComponent directValues{t, t, rf, rb}; + measurements.push_back(OpticsParser::WLData(wl, directValues)); + } + } + if(!measurements.empty()) { - auto val = itr.value(); - double wl = val.at("w").get(); - double t = val.at("tf").get(); - double rf = val.at("rf").get(); - double rb = val.at("rb").get(); - OpticsParser::MeasurementComponent directValues{t, t, rf, rb}; - product->measurements.push_back(OpticsParser::WLData(wl, directValues)); + product->measurements = measurements; } return product; } -std::shared_ptr parseIGSDBJson(nlohmann::json const & product_json) +std::shared_ptr + parseIGSDBJsonUncomposedProduct(nlohmann::json const & product_json) { std::shared_ptr product(new OpticsParser::ProductData); product->productName = product_json.at("name").get(); @@ -439,11 +458,11 @@ std::shared_ptr parseIGSDBJson(nlohmann::json const & nlohmann::json measured_data_json = product_json.at("measured_data"); - product->thickness = measured_data_json.at("thickness").get(); - product->conductivity = measured_data_json.at("conductivity").get(); - product->IRTransmittance = measured_data_json.at("tir_front").get(); - product->frontEmissivity = measured_data_json.at("emissivity_front").get(); - product->backEmissivity = measured_data_json.at("emissivity_back").get(); + product->thickness = get_optional_field(measured_data_json, "thickness"); + product->conductivity = get_optional_field(measured_data_json, "conductivity"); + product->IRTransmittance = get_optional_field(measured_data_json, "tir_front"); + product->frontEmissivity = get_optional_field(measured_data_json, "emissivity_front"); + product->backEmissivity = get_optional_field(measured_data_json, "emissivity_back"); product->frontEmissivitySource = get_optional_field(measured_data_json, "emissivity_front_source"); @@ -456,22 +475,105 @@ std::shared_ptr parseIGSDBJson(nlohmann::json const & nlohmann::json spectral_data_json = product_json.at("spectral_data"); - nlohmann::json wavelength_data_json = spectral_data_json.at("spectral_data"); + if(!spectral_data_json.is_null()) + { + nlohmann::json wavelength_data_json = spectral_data_json.at("spectral_data"); - for(nlohmann::json::iterator itr = wavelength_data_json.begin(); - itr != wavelength_data_json.end(); - ++itr) + std::vector measurements; + + for(nlohmann::json::iterator itr = wavelength_data_json.begin(); + itr != wavelength_data_json.end(); + ++itr) + { + auto val = itr.value(); + double wl = val.at("wavelength").get(); + double t = val.at("T").get(); + double rf = val.at("Rf").get(); + double rb = val.at("Rb").get(); + OpticsParser::MeasurementComponent directValues{t, t, rf, rb}; + measurements.push_back(OpticsParser::WLData(wl, directValues)); + } + if(!measurements.empty()) + { + product->measurements = measurements; + } + } + return product; +} + +std::shared_ptr + parseVenetianGeometry(nlohmann::json const & geometry_json) +{ + auto slatWidth = geometry_json.at("slat_width").get(); + auto slatSpacing = geometry_json.at("slat_spacing").get(); + auto slatCurvature = geometry_json.at("slat_curvature").get(); + auto numberSegments = geometry_json.at("number_segments").get(); + + return std::shared_ptr( + new OpticsParser::VenetianGeometry(slatWidth, slatSpacing, slatCurvature, numberSegments)); +} + +std::shared_ptr + parseWovenGeometry(nlohmann::json const & geometry_json) +{ + auto threadDiameter = geometry_json.at("thread_diameter").get(); + auto threadSpacing = geometry_json.at("thread_spacing").get(); + auto shadeThickness = geometry_json.at("shade_thickness").get(); + + return std::shared_ptr( + new OpticsParser::WovenGeometry(threadDiameter, threadSpacing, shadeThickness)); +} + +std::shared_ptr parseGeometry(std::string const & subtype, + nlohmann::json const & geometry_json) +{ + std::map(nlohmann::json const &)>> + mapping; + + mapping["venetian"] = &parseVenetianGeometry; + mapping["woven"] = &parseWovenGeometry; + + auto itr = mapping.find(subtype); + if(itr != mapping.end()) { - auto val = itr.value(); - double wl = val.at("wavelength").get(); - double t = val.at("T").get(); - double rf = val.at("Rf").get(); - double rb = val.at("Rb").get(); - OpticsParser::MeasurementComponent directValues{t, t, rf, rb}; - product->measurements.push_back(OpticsParser::WLData(wl, directValues)); + return itr->second(geometry_json); } + else + { + std::stringstream msg; + msg << "Subtype " << subtype << " geometry not yet supported."; + throw std::runtime_error(msg.str()); + } +} - return product; +std::shared_ptr + parseIGSDBJsonComposedProduct(nlohmann::json const & product_json) +{ + auto subtype = product_json.at("subtype").get(); + auto composition_information = product_json.at("composition_information"); + auto product_material = composition_information.at("materials")[0]; + auto product_geometry = composition_information.at("geometry"); + auto material = parseIGSDBJsonUncomposedProduct(product_material); + auto geometry = parseGeometry(subtype, product_geometry); + std::shared_ptr compositionInformation( + new OpticsParser::CompositionInformation{material, geometry}); + auto product = parseIGSDBJsonUncomposedProduct(product_json); + std::shared_ptr composedProduct( + new OpticsParser::ComposedProductData(*product, compositionInformation)); + return composedProduct; +} + +std::shared_ptr parseIGSDBJson(nlohmann::json const & product_json) +{ + if(product_json.count("composition_information")) + { + return parseIGSDBJsonComposedProduct(product_json); + } + else + { + return parseIGSDBJsonUncomposedProduct(product_json); + } } std::shared_ptr diff --git a/src/ProductData.cpp b/src/ProductData.cpp index ab8cbc1..c5856f6 100644 --- a/src/ProductData.cpp +++ b/src/ProductData.cpp @@ -5,9 +5,7 @@ OpticsParser::WLData::WLData(double wavelength, MeasurementComponent directComponent, std::optional diffuseComponent) : - wavelength(wavelength), - directComponent(directComponent), - diffuseComponent(diffuseComponent) + wavelength(wavelength), directComponent(directComponent), diffuseComponent(diffuseComponent) {} OpticsParser::WLData::WLData(double wavelength, double tDirect, double rfDirect, double rbDiffuse) : @@ -118,21 +116,27 @@ void add_optional(nlohmann::json & j, void OpticsParser::to_json(nlohmann::json & j, OpticsParser::ProductData const & p) { - nlohmann::json angle_block{{"incidence_angle", 0}, - {"number_wavelengths", p.measurements.size()}, - {"wavelength_data", p.measurements}}; - nlohmann::json spectral_data{{"number_incidence_angles", 1}, - {"angle_block", std::vector{angle_block}}}; - - add_optional(spectral_data, "unit", p.wavelengthUnit); - - nlohmann::json measured_data{{"thickness", p.thickness}, - {"tir_front", p.IRTransmittance}, - {"tir_back", p.IRTransmittance}, - {"emissivity_front", p.frontEmissivity}, - {"emissivity_back", p.backEmissivity}, - {"spectral_data", spectral_data}, - {"is_specular", true}}; + nlohmann::json spectral_data; + + if(p.measurements) + { + nlohmann::json angle_block{{"incidence_angle", 0}, + {"number_wavelengths", p.measurements.value().size()}, + {"wavelength_data", p.measurements.value()}}; + spectral_data["number_incidence_angles"] = 1; + spectral_data["angle_block"] = std::vector{angle_block}; + + add_optional(spectral_data, "unit", p.wavelengthUnit); + } + nlohmann::json measured_data; + add_optional(measured_data, "thickness", p.thickness); + add_optional(measured_data, "tir_front", p.IRTransmittance); + add_optional(measured_data, "tir_back", p.IRTransmittance); + add_optional(measured_data, "emissivity_front", p.frontEmissivity); + add_optional(measured_data, "emissivity_back", p.backEmissivity); + measured_data["spectral_data"] = spectral_data; + add_optional(measured_data, "is_specular", p.specularity); + if(p.conductivity) { @@ -164,3 +168,26 @@ void OpticsParser::to_json(nlohmann::json & j, OpticsParser::ProductData const & add_optional(j, "appearance", p.appearance); add_optional(j, "acceptance", p.acceptance); } + +OpticsParser::ComposedProductData::ComposedProductData( + ProductData const & product, std::shared_ptr composition) : + ProductData(product), compositionInformation(composition) +{} + +OpticsParser::VenetianGeometry::VenetianGeometry(double slatWidth, + double slatSpacing, + double slatCurvature, + int numberSegments) : + slatWidth(slatWidth), + slatSpacing(slatSpacing), + slatCurvature(slatCurvature), + numberSegments(numberSegments) +{} + +OpticsParser::WovenGeometry::WovenGeometry(double threadDiameter, + double threadSpacing, + double shadeThickness) : + threadDiameter(threadDiameter), + threadSpacing(threadSpacing), + shadeThickness(shadeThickness) +{} diff --git a/src/ProductData.hpp b/src/ProductData.hpp index e5ec72f..1403df8 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -40,19 +40,28 @@ namespace OpticsParser std::optional diffuseComponent; }; - struct NoGeometry - {}; + struct ProductGeometry + { + ProductGeometry() = default; + virtual ~ProductGeometry() = default; + }; - struct VenetianGeometry + struct VenetianGeometry : ProductGeometry { + VenetianGeometry(double slatWidth, + double slatSpacing, + double slatCurvature, + int numberSegments); + double slatWidth; double slatSpacing; double slatCurvature; - double numberSegments; + int numberSegments; }; - struct WovenGeometry + struct WovenGeometry : ProductGeometry { + WovenGeometry(double threadDiameter, double threadSpacing, double shadeThickness); double threadDiameter; double threadSpacing; double shadeThickness; @@ -60,16 +69,17 @@ namespace OpticsParser struct ProductData; - template struct CompositionInformation { - T geometry; std::shared_ptr material; + std::shared_ptr geometry; }; struct ProductData { ProductData() = default; + ProductData(ProductData const & other) = default; + virtual ~ProductData() = default; ProductData(std::string const & productName, std::string const & productType, int nfrcid, @@ -95,11 +105,11 @@ namespace OpticsParser std::string productName; std::string productType; std::optional nfrcid; - double thickness; + std::optional thickness; std::optional conductivity; - double IRTransmittance; - double frontEmissivity; - double backEmissivity; + std::optional IRTransmittance; + std::optional frontEmissivity; + std::optional backEmissivity; std::optional frontEmissivitySource; std::optional backEmissivitySource; std::string manufacturer; @@ -112,7 +122,7 @@ namespace OpticsParser std::optional fileName; std::optional unitSystem; std::optional wavelengthUnit; - std::vector measurements; + std::optional> measurements; std::optional extrapolation; std::optional aercID; std::optional specularity; @@ -122,9 +132,11 @@ namespace OpticsParser void to_json(nlohmann::json & j, WLData const & wl); void to_json(nlohmann::json & j, ProductData const & wl); - template struct ComposedProductData : ProductData { - CompositionInformation compositionInformation; + ComposedProductData(ProductData const & product, + std::shared_ptr composition); + + std::shared_ptr compositionInformation; }; } // namespace OpticsParser diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index efacdc9..5011296 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -37,6 +37,7 @@ add_executable(${PROJECT_TEST_NAME} read_optics_file_from_disk.unit.cpp convert_optics_to_json.unit.cpp read_checker_tool_json_file.unit.cpp + read_igsdb_shading_layer_json.unit.cpp main.cpp paths.h ) diff --git a/test/InputDifferentEmissivities.unit.cpp b/test/InputDifferentEmissivities.unit.cpp index 5b7efe4..19e7ff8 100644 --- a/test/InputDifferentEmissivities.unit.cpp +++ b/test/InputDifferentEmissivities.unit.cpp @@ -50,12 +50,12 @@ TEST_F(TestDifferentEmissivities, Test1) OpticsParser::Parser parser; std::shared_ptr product = parser.parseFile(inputFile); - EXPECT_NEAR(3.048, product->thickness, 1e-6); + EXPECT_NEAR(3.048, product->thickness.value(), 1e-6); EXPECT_NEAR(1, product->conductivity.value(), 1e-6); - EXPECT_NEAR(0, product->IRTransmittance, 1e-6); - EXPECT_NEAR(0.5, product->frontEmissivity, 1e-6); - EXPECT_NEAR(0.84, product->backEmissivity, 1e-6); - EXPECT_EQ(102, product->nfrcid); + EXPECT_NEAR(0, product->IRTransmittance.value(), 1e-6); + EXPECT_NEAR(0.5, product->frontEmissivity.value(), 1e-6); + EXPECT_NEAR(0.84, product->backEmissivity.value(), 1e-6); + EXPECT_EQ(102, product->nfrcid.value()); EXPECT_EQ("Generic Clear Glass", product->productName); EXPECT_EQ("Monolithic", product->productType); @@ -66,15 +66,19 @@ TEST_F(TestDifferentEmissivities, Test1) {0.320, 0.1000, 0.0470, 0.0480}, {0.325, 0.2180, 0.0490, 0.0500}}; - EXPECT_EQ(correctResults.size(), product->measurements.size()); + EXPECT_EQ(correctResults.size(), product->measurements.value().size()); for(auto i = 0u; i < correctResults.size(); ++i) { - EXPECT_NEAR(correctResults[i].wavelength, product->measurements[i].wavelength, 1e-6); EXPECT_NEAR( - correctResults[i].directComponent.tf, product->measurements[i].directComponent.tf, 1e-6); - EXPECT_NEAR( - correctResults[i].directComponent.rf, product->measurements[i].directComponent.rf, 1e-6); - EXPECT_NEAR( - correctResults[i].directComponent.rb, product->measurements[i].directComponent.rb, 1e-6); + correctResults[i].wavelength, product->measurements.value()[i].wavelength, 1e-6); + EXPECT_NEAR(correctResults[i].directComponent.tf, + product->measurements.value()[i].directComponent.tf, + 1e-6); + EXPECT_NEAR(correctResults[i].directComponent.rf, + product->measurements.value()[i].directComponent.rf, + 1e-6); + EXPECT_NEAR(correctResults[i].directComponent.rb, + product->measurements.value()[i].directComponent.rb, + 1e-6); } } diff --git a/test/InputFile1.unit.cpp b/test/InputFile1.unit.cpp index cd485e7..cc3796f 100644 --- a/test/InputFile1.unit.cpp +++ b/test/InputFile1.unit.cpp @@ -50,12 +50,12 @@ TEST_F(TestFile1, Test1) OpticsParser::Parser parser; std::shared_ptr product = parser.parseFile(inputFile); - EXPECT_NEAR(3.048, product->thickness, 1e-6); + EXPECT_NEAR(3.048, product->thickness.value(), 1e-6); EXPECT_NEAR(1, product->conductivity.value(), 1e-6); - EXPECT_NEAR(0, product->IRTransmittance, 1e-6); - EXPECT_NEAR(0.84, product->frontEmissivity, 1e-6); - EXPECT_NEAR(0.84, product->backEmissivity, 1e-6); - EXPECT_EQ(102, product->nfrcid); + EXPECT_NEAR(0, product->IRTransmittance.value(), 1e-6); + EXPECT_NEAR(0.84, product->frontEmissivity.value(), 1e-6); + EXPECT_NEAR(0.84, product->backEmissivity.value(), 1e-6); + EXPECT_EQ(102, product->nfrcid.value()); EXPECT_EQ("Generic Clear Glass", product->productName); EXPECT_EQ("Monolithic", product->productType); @@ -67,16 +67,17 @@ TEST_F(TestFile1, Test1) {0.320, 0.1000, 0.0470, 0.0480}, {0.325, 0.2180, 0.0490, 0.0500}}; - EXPECT_EQ(correctResults.size(), product->measurements.size()); + EXPECT_EQ(correctResults.size(), product->measurements.value().size()); for(auto i = 0u; i < correctResults.size(); ++i) { - EXPECT_NEAR(correctResults[i].wavelength, product->measurements[i].wavelength, 1e-6); EXPECT_NEAR( - correctResults[i].directComponent.tf, product->measurements[i].directComponent.tf, 1e-6); + correctResults[i].wavelength, product->measurements.value()[i].wavelength, 1e-6); EXPECT_NEAR( - correctResults[i].directComponent.rf, product->measurements[i].directComponent.rf, 1e-6); + correctResults[i].directComponent.tf, product->measurements.value()[i].directComponent.tf, 1e-6); EXPECT_NEAR( - correctResults[i].directComponent.rb, product->measurements[i].directComponent.rb, 1e-6); + correctResults[i].directComponent.rf, product->measurements.value()[i].directComponent.rf, 1e-6); + EXPECT_NEAR( + correctResults[i].directComponent.rb, product->measurements.value()[i].directComponent.rb, 1e-6); } } @@ -86,12 +87,12 @@ TEST_F(TestFile1, TestParseFile) OpticsParser::Parser parser; std::shared_ptr productData = parser.parseFile(inputFile); - EXPECT_NEAR(3.048, productData->thickness, 1e-6); + EXPECT_NEAR(3.048, productData->thickness.value(), 1e-6); EXPECT_NEAR(1, productData->conductivity.value(), 1e-6); - EXPECT_NEAR(0, productData->IRTransmittance, 1e-6); - EXPECT_NEAR(0.84, productData->frontEmissivity, 1e-6); - EXPECT_NEAR(0.84, productData->backEmissivity, 1e-6); - EXPECT_EQ(102, productData->nfrcid); + EXPECT_NEAR(0, productData->IRTransmittance.value(), 1e-6); + EXPECT_NEAR(0.84, productData->frontEmissivity.value(), 1e-6); + EXPECT_NEAR(0.84, productData->backEmissivity.value(), 1e-6); + EXPECT_EQ(102, productData->nfrcid.value()); EXPECT_EQ("Generic Clear Glass", productData->productName); EXPECT_EQ("Monolithic", productData->productType); std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, @@ -101,18 +102,18 @@ TEST_F(TestFile1, TestParseFile) {0.320, 0.1000, 0.0470, 0.0480}, {0.325, 0.2180, 0.0490, 0.0500}}; - EXPECT_EQ(correctResults.size(), productData->measurements.size()); + EXPECT_EQ(correctResults.size(), productData->measurements.value().size()); for(auto i = 0u; i < correctResults.size(); ++i) { - EXPECT_NEAR(correctResults[i].wavelength, productData->measurements[i].wavelength, 1e-6); + EXPECT_NEAR(correctResults[i].wavelength, productData->measurements.value()[i].wavelength, 1e-6); EXPECT_NEAR(correctResults[i].directComponent.tf, - productData->measurements[i].directComponent.tf, + productData->measurements.value()[i].directComponent.tf, 1e-6); EXPECT_NEAR(correctResults[i].directComponent.rf, - productData->measurements[i].directComponent.rf, + productData->measurements.value()[i].directComponent.rf, 1e-6); EXPECT_NEAR(correctResults[i].directComponent.rb, - productData->measurements[i].directComponent.rb, + productData->measurements.value()[i].directComponent.rb, 1e-6); } } diff --git a/test/InputInvertedEmissivities.unit.cpp b/test/InputInvertedEmissivities.unit.cpp index cc7f2e0..19489d4 100644 --- a/test/InputInvertedEmissivities.unit.cpp +++ b/test/InputInvertedEmissivities.unit.cpp @@ -50,12 +50,12 @@ TEST_F(TestInvertedEmissivities, Test1) OpticsParser::Parser parser; std::shared_ptr product = parser.parseFile(inputFile); - EXPECT_NEAR(3.048, product->thickness, 1e-6); + EXPECT_NEAR(3.048, product->thickness.value(), 1e-6); EXPECT_NEAR(1, product->conductivity.value(), 1e-6); - EXPECT_NEAR(0, product->IRTransmittance, 1e-6); - EXPECT_NEAR(0.84, product->frontEmissivity, 1e-6); - EXPECT_NEAR(0.5, product->backEmissivity, 1e-6); - EXPECT_EQ(102, product->nfrcid); + EXPECT_NEAR(0, product->IRTransmittance.value(), 1e-6); + EXPECT_NEAR(0.84, product->frontEmissivity.value(), 1e-6); + EXPECT_NEAR(0.5, product->backEmissivity.value(), 1e-6); + EXPECT_EQ(102, product->nfrcid.value()); EXPECT_EQ("", product->productName); EXPECT_EQ("Monolithic", product->productType); @@ -66,15 +66,15 @@ TEST_F(TestInvertedEmissivities, Test1) {0.320, 0.1000, 0.0470, 0.0480}, {0.325, 0.2180, 0.0490, 0.0500}}; - EXPECT_EQ(correctResults.size(), product->measurements.size()); + EXPECT_EQ(correctResults.size(), product->measurements.value().size()); for(auto i = 0u; i < correctResults.size(); ++i) { - EXPECT_NEAR(correctResults[i].wavelength, product->measurements[i].wavelength, 1e-6); + EXPECT_NEAR(correctResults[i].wavelength, product->measurements.value()[i].wavelength, 1e-6); EXPECT_NEAR( - correctResults[i].directComponent.tf, product->measurements[i].directComponent.tf, 1e-6); + correctResults[i].directComponent.tf, product->measurements.value()[i].directComponent.tf, 1e-6); EXPECT_NEAR( - correctResults[i].directComponent.rf, product->measurements[i].directComponent.rf, 1e-6); + correctResults[i].directComponent.rf, product->measurements.value()[i].directComponent.rf, 1e-6); EXPECT_NEAR( - correctResults[i].directComponent.rb, product->measurements[i].directComponent.rb, 1e-6); + correctResults[i].directComponent.rb, product->measurements.value()[i].directComponent.rb, 1e-6); } } diff --git a/test/convert_optics_to_json.unit.cpp b/test/convert_optics_to_json.unit.cpp index b952518..6937cca 100644 --- a/test/convert_optics_to_json.unit.cpp +++ b/test/convert_optics_to_json.unit.cpp @@ -63,8 +63,8 @@ TEST_F(TestConvertOpticsFile, TestConvertClear3) EXPECT_EQ(measurements[110].at("rb").get(), 0.068); /* - EXPECT_EQ(product->frontEmissivitySource, "Material"); - EXPECT_EQ(product->backEmissivitySource, "Material"); + EXPECT_EQ(product->frontEmissivitySource.value(), "Material"); + EXPECT_EQ(product->backEmissivitySource.value(), "Material"); */ EXPECT_EQ(product_json.at("manufacturer").get(), "Generic"); diff --git a/test/read_checker_tool_json_file.unit.cpp b/test/read_checker_tool_json_file.unit.cpp index 8754a27..1cf360e 100644 --- a/test/read_checker_tool_json_file.unit.cpp +++ b/test/read_checker_tool_json_file.unit.cpp @@ -28,24 +28,24 @@ TEST_F(TestLoadJSONFromDisk, TestLoadCheckerToolJSON) OpticsParser::Parser parser; std::shared_ptr product = parser.parseJSONFile(product_path.string()); - // EXPECT_EQ(product->nfrcid, 102); + // EXPECT_EQ(product->nfrcid.value(), 102); EXPECT_EQ(product->productName, "CGD89_092661"); EXPECT_EQ(product->productType, "coated-glass"); EXPECT_EQ(product->coatingName, "CGD89_092661"); EXPECT_EQ(product->coatedSide, "Both"); EXPECT_EQ(product->manufacturer, "Cardinal Glass Industries"); - EXPECT_EQ(product->thickness, 2.2); + EXPECT_EQ(product->thickness.value(), 2.2); // TODO EXPECT_EQ(product->conductivity, 1.0); - EXPECT_EQ(product->IRTransmittance, 0.0); - EXPECT_EQ(product->frontEmissivity, 0.149); - EXPECT_EQ(product->backEmissivity, 0.149); - EXPECT_EQ(product->measurements.size(), 462); - EXPECT_EQ(product->measurements[0].wavelength, 0.3); - EXPECT_EQ(product->measurements[0].directComponent.tf, 0.0); - EXPECT_EQ(product->measurements[0].directComponent.rf, 0.021); - EXPECT_EQ(product->measurements[0].directComponent.rb, 0.021); - EXPECT_EQ(product->measurements[461].wavelength, 25.0); - EXPECT_EQ(product->measurements[461].directComponent.tf, 0.0); - EXPECT_EQ(product->measurements[461].directComponent.rf, 0.8894); - EXPECT_EQ(product->measurements[461].directComponent.rb, 0.8894); + EXPECT_EQ(product->IRTransmittance.value(), 0.0); + EXPECT_EQ(product->frontEmissivity.value(), 0.149); + EXPECT_EQ(product->backEmissivity.value(), 0.149); + EXPECT_EQ(product->measurements.value().size(), 462); + EXPECT_EQ(product->measurements.value()[0].wavelength, 0.3); + EXPECT_EQ(product->measurements.value()[0].directComponent.tf, 0.0); + EXPECT_EQ(product->measurements.value()[0].directComponent.rf, 0.021); + EXPECT_EQ(product->measurements.value()[0].directComponent.rb, 0.021); + EXPECT_EQ(product->measurements.value()[461].wavelength, 25.0); + EXPECT_EQ(product->measurements.value()[461].directComponent.tf, 0.0); + EXPECT_EQ(product->measurements.value()[461].directComponent.rf, 0.8894); + EXPECT_EQ(product->measurements.value()[461].directComponent.rb, 0.8894); } diff --git a/test/read_igsdb_shading_layer_json.unit.cpp b/test/read_igsdb_shading_layer_json.unit.cpp new file mode 100644 index 0000000..3e60e41 --- /dev/null +++ b/test/read_igsdb_shading_layer_json.unit.cpp @@ -0,0 +1,68 @@ +#include +#include +#include +#include +#include + +#include "Parser.hpp" + +#include "paths.h" + +extern std::string test_dir; + +class TestLoadIGSDBJSONFromDisk : public testing::Test +{ +protected: + virtual void SetUp() + {} +}; + + +TEST_F(TestLoadIGSDBJSONFromDisk, TestLoadIGSDBShadingLayerJSON) +{ + SCOPED_TRACE("Begin Test: Load IGSDB shading layer json format."); + std::filesystem::path product_path(test_dir); + product_path /= "products"; + product_path /= "igsdb_12149.json"; + + OpticsParser::Parser parser; + + + std::shared_ptr product = std::dynamic_pointer_cast(parser.parseJSONFile(product_path.string())); + + // EXPECT_EQ(product->nfrcid.value(), 102); + EXPECT_EQ(product->productName, "Slim White Venetian Blind"); + EXPECT_EQ(product->productType, "shading"); + EXPECT_EQ(product->manufacturer, "Pella"); + EXPECT_EQ(product->thickness, std::optional()); + // TODO EXPECT_EQ(product->conductivity, 1.0); + EXPECT_EQ(product->IRTransmittance, std::optional()); + EXPECT_EQ(product->frontEmissivity, std::optional()); + EXPECT_EQ(product->backEmissivity, std::optional()); + EXPECT_EQ(product->measurements.has_value(), false); + auto geometry = std::dynamic_pointer_cast(product->compositionInformation->geometry); + EXPECT_EQ(geometry->slatWidth, 14.8); + EXPECT_EQ(geometry->slatSpacing, 12.7); + EXPECT_EQ(geometry->slatCurvature, 33.13057); + EXPECT_EQ(geometry->numberSegments, 5); + auto material = product->compositionInformation->material; + EXPECT_EQ(material->productName, "White Venetian Blind Slat (white.txt)"); + EXPECT_EQ(material->productType, "material"); + EXPECT_EQ(material->manufacturer, "Pella"); + EXPECT_EQ(material->thickness, 0.1); + EXPECT_EQ(material->IRTransmittance, 0.0); + EXPECT_EQ(material->frontEmissivity, 0.9); + EXPECT_EQ(material->backEmissivity, 0.9); + EXPECT_EQ(material->measurements.has_value(), true); + + EXPECT_EQ(material->measurements.value().size(), 441); + EXPECT_EQ(material->measurements.value()[0].wavelength, 0.3); + EXPECT_EQ(material->measurements.value()[0].directComponent.tf, 0.0); + EXPECT_EQ(material->measurements.value()[0].directComponent.rf, 0.0703); + EXPECT_EQ(material->measurements.value()[0].directComponent.rb, 0.0703); + EXPECT_EQ(material->measurements.value()[440].wavelength, 2.50); + EXPECT_EQ(material->measurements.value()[440].directComponent.tf, 0.0); + EXPECT_EQ(material->measurements.value()[440].directComponent.rf, 0.719); + EXPECT_EQ(material->measurements.value()[440].directComponent.rb, 0.719); + +} diff --git a/test/read_json_file_from_disk.unit.cpp b/test/read_json_file_from_disk.unit.cpp index e99a467..a1fadd9 100644 --- a/test/read_json_file_from_disk.unit.cpp +++ b/test/read_json_file_from_disk.unit.cpp @@ -30,22 +30,22 @@ TEST_F(TestLoadJSONFromDisk, TestLoadClear3JSON) clear_3_path /= "CLEAR_3.json"; std::shared_ptr product = OpticsParser::parseJSONFile(clear_3_path.string()); -// EXPECT_EQ(product->nfrcid, 102); +// EXPECT_EQ(product->nfrcid.value(), 102); EXPECT_EQ(product->productName, "Generic Clear Glass"); EXPECT_EQ(product->productType, "monolithic"); - EXPECT_EQ(product->thickness, 3.048); + EXPECT_EQ(product->thickness.value(), 3.048); EXPECT_EQ(product->conductivity, 1.0); - EXPECT_EQ(product->IRTransmittance, 0.0); - EXPECT_EQ(product->frontEmissivity, 0.84); - EXPECT_EQ(product->backEmissivity, 0.84); - EXPECT_EQ(product->measurements.size(), 111); - EXPECT_EQ(product->measurements[0].wavelength, 0.3); - EXPECT_EQ(product->measurements[0].T, 0.002); - EXPECT_EQ(product->measurements[0].frontR, 0.047); - EXPECT_EQ(product->measurements[0].backR, 0.048); - EXPECT_EQ(product->measurements[110].wavelength, 2.5); - EXPECT_EQ(product->measurements[110].T, 0.822); - EXPECT_EQ(product->measurements[110].frontR, 0.068); - EXPECT_EQ(product->measurements[110].backR, 0.068); + EXPECT_EQ(product->IRTransmittance.value(), 0.0); + EXPECT_EQ(product->frontEmissivity.value(), 0.84); + EXPECT_EQ(product->backEmissivity.value(), 0.84); + EXPECT_EQ(product->measurements.value().size(), 111); + EXPECT_EQ(product->measurements.value()[0].wavelength, 0.3); + EXPECT_EQ(product->measurements.value()[0].T, 0.002); + EXPECT_EQ(product->measurements.value()[0].frontR, 0.047); + EXPECT_EQ(product->measurements.value()[0].backR, 0.048); + EXPECT_EQ(product->measurements.value()[110].wavelength, 2.5); + EXPECT_EQ(product->measurements.value()[110].T, 0.822); + EXPECT_EQ(product->measurements.value()[110].frontR, 0.068); + EXPECT_EQ(product->measurements.value()[110].backR, 0.068); } #endif diff --git a/test/read_optics_file_from_disk.unit.cpp b/test/read_optics_file_from_disk.unit.cpp index d8b6e44..2ae7439 100644 --- a/test/read_optics_file_from_disk.unit.cpp +++ b/test/read_optics_file_from_disk.unit.cpp @@ -29,25 +29,25 @@ TEST_F(TestLoadOpticsFileFromDisk, TestLoadClear3) OpticsParser::Parser parser; std::shared_ptr product = parser.parseFile(clear_3_path); - EXPECT_EQ(product->nfrcid, 102); + EXPECT_EQ(product->nfrcid.value(), 102); EXPECT_EQ(product->productName, "Generic Clear Glass"); EXPECT_EQ(product->productType, "Monolithic"); - EXPECT_EQ(product->thickness, 3.048); + EXPECT_EQ(product->thickness.value(), 3.048); EXPECT_EQ(product->conductivity, 1.0); - EXPECT_EQ(product->IRTransmittance, 0.0); - EXPECT_EQ(product->frontEmissivity, 0.84); - EXPECT_EQ(product->backEmissivity, 0.84); - EXPECT_EQ(product->measurements.size(), 111); - EXPECT_EQ(product->measurements[0].wavelength, 0.3); - EXPECT_EQ(product->measurements[0].directComponent.tf, 0.002); - EXPECT_EQ(product->measurements[0].directComponent.rf, 0.047); - EXPECT_EQ(product->measurements[0].directComponent.rb, 0.048); - EXPECT_EQ(product->measurements[110].wavelength, 2.5); - EXPECT_EQ(product->measurements[110].directComponent.tf, 0.822); - EXPECT_EQ(product->measurements[110].directComponent.rf, 0.068); - EXPECT_EQ(product->measurements[110].directComponent.rb, 0.068); - EXPECT_EQ(product->frontEmissivitySource, "Material"); - EXPECT_EQ(product->backEmissivitySource, "Material"); + EXPECT_EQ(product->IRTransmittance.value(), 0.0); + EXPECT_EQ(product->frontEmissivity.value(), 0.84); + EXPECT_EQ(product->backEmissivity.value(), 0.84); + EXPECT_EQ(product->measurements.value().size(), 111); + EXPECT_EQ(product->measurements.value()[0].wavelength, 0.3); + EXPECT_EQ(product->measurements.value()[0].directComponent.tf, 0.002); + EXPECT_EQ(product->measurements.value()[0].directComponent.rf, 0.047); + EXPECT_EQ(product->measurements.value()[0].directComponent.rb, 0.048); + EXPECT_EQ(product->measurements.value()[110].wavelength, 2.5); + EXPECT_EQ(product->measurements.value()[110].directComponent.tf, 0.822); + EXPECT_EQ(product->measurements.value()[110].directComponent.rf, 0.068); + EXPECT_EQ(product->measurements.value()[110].directComponent.rb, 0.068); + EXPECT_EQ(product->frontEmissivitySource.value(), "Material"); + EXPECT_EQ(product->backEmissivitySource.value(), "Material"); EXPECT_EQ(product->manufacturer, "Generic"); EXPECT_EQ(product->material, "Glass"); EXPECT_EQ(product->coatingName, "N/A"); @@ -72,30 +72,30 @@ TEST_F(TestLoadOpticsFileFromDisk, TestLoadDiffuseData) EXPECT_EQ(product->nfrcid, std::optional()); EXPECT_EQ(product->productName, "Generic frit 38mm aperture"); EXPECT_EQ(product->productType, "Coated"); - EXPECT_EQ(product->thickness, 6.0); + EXPECT_EQ(product->thickness.value(), 6.0); EXPECT_EQ(product->conductivity, 1.0); - EXPECT_EQ(product->IRTransmittance, 0.0); - EXPECT_EQ(product->frontEmissivity, 0.86); - EXPECT_EQ(product->backEmissivity, 0.86); - EXPECT_EQ(product->measurements.size(), 451); - EXPECT_EQ(product->measurements[0].wavelength, 0.250); - EXPECT_EQ(product->measurements[0].directComponent.tf, 0.001); - EXPECT_EQ(product->measurements[0].directComponent.tb, 0.006); - EXPECT_EQ(product->measurements[0].directComponent.rf, 0.011); - EXPECT_EQ(product->measurements[0].directComponent.rb, 0.006); - EXPECT_EQ(product->measurements[0].diffuseComponent.value().tf, 0.002); - EXPECT_EQ(product->measurements[0].diffuseComponent.value().tb, 0.076); - EXPECT_EQ(product->measurements[0].diffuseComponent.value().rf, 0.087); - EXPECT_EQ(product->measurements[0].diffuseComponent.value().rb, 0.131); - EXPECT_EQ(product->measurements[450].wavelength, 2.5); - EXPECT_EQ(product->measurements[450].directComponent.tf, 0.520); - EXPECT_EQ(product->measurements[450].directComponent.tb, 0.528); - EXPECT_EQ(product->measurements[450].directComponent.rf, 0.000); - EXPECT_EQ(product->measurements[450].directComponent.rb, 0.000); - EXPECT_EQ(product->measurements[450].diffuseComponent.value().tf, 0.238); - EXPECT_EQ(product->measurements[450].diffuseComponent.value().tb, 0.240); - EXPECT_EQ(product->measurements[450].diffuseComponent.value().rf, 0.0970); - EXPECT_EQ(product->measurements[450].diffuseComponent.value().rb, 0.0940); + EXPECT_EQ(product->IRTransmittance.value(), 0.0); + EXPECT_EQ(product->frontEmissivity.value(), 0.86); + EXPECT_EQ(product->backEmissivity.value(), 0.86); + EXPECT_EQ(product->measurements.value().size(), 451); + EXPECT_EQ(product->measurements.value()[0].wavelength, 0.250); + EXPECT_EQ(product->measurements.value()[0].directComponent.tf, 0.001); + EXPECT_EQ(product->measurements.value()[0].directComponent.tb, 0.006); + EXPECT_EQ(product->measurements.value()[0].directComponent.rf, 0.011); + EXPECT_EQ(product->measurements.value()[0].directComponent.rb, 0.006); + EXPECT_EQ(product->measurements.value()[0].diffuseComponent.value().tf, 0.002); + EXPECT_EQ(product->measurements.value()[0].diffuseComponent.value().tb, 0.076); + EXPECT_EQ(product->measurements.value()[0].diffuseComponent.value().rf, 0.087); + EXPECT_EQ(product->measurements.value()[0].diffuseComponent.value().rb, 0.131); + EXPECT_EQ(product->measurements.value()[450].wavelength, 2.5); + EXPECT_EQ(product->measurements.value()[450].directComponent.tf, 0.520); + EXPECT_EQ(product->measurements.value()[450].directComponent.tb, 0.528); + EXPECT_EQ(product->measurements.value()[450].directComponent.rf, 0.000); + EXPECT_EQ(product->measurements.value()[450].directComponent.rb, 0.000); + EXPECT_EQ(product->measurements.value()[450].diffuseComponent.value().tf, 0.238); + EXPECT_EQ(product->measurements.value()[450].diffuseComponent.value().tb, 0.240); + EXPECT_EQ(product->measurements.value()[450].diffuseComponent.value().rf, 0.0970); + EXPECT_EQ(product->measurements.value()[450].diffuseComponent.value().rb, 0.0940); EXPECT_EQ(product->frontEmissivitySource, std::optional()); EXPECT_EQ(product->backEmissivitySource, std::optional()); EXPECT_EQ(product->manufacturer, "LBNL demo"); From 243a1ab1e5c335c1635fb80e69e3fdfc452c1825 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Wed, 8 Apr 2020 01:50:28 -0400 Subject: [PATCH 05/55] Adding subtype --- src/Parser.cpp | 1 + src/ProductData.cpp | 2 ++ src/ProductData.hpp | 2 ++ 3 files changed, 5 insertions(+) diff --git a/src/Parser.cpp b/src/Parser.cpp index 4f7972f..655da50 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -431,6 +431,7 @@ std::shared_ptr std::shared_ptr product(new OpticsParser::ProductData); product->productName = product_json.at("name").get(); product->productType = product_json.at("type").get(); + product->subtype = product_json.at("subtype").get(); product->nfrcid = get_optional_field(product_json, "nfrc_id"); product->manufacturer = product_json.at("manufacturer_name").get(); diff --git a/src/ProductData.cpp b/src/ProductData.cpp index c5856f6..f591ce1 100644 --- a/src/ProductData.cpp +++ b/src/ProductData.cpp @@ -31,6 +31,7 @@ OpticsParser::WLData::WLData(double wavelength, OpticsParser::ProductData::ProductData(std::string const & productName, std::string const & productType, + std::string const & subtype, int nfrcid, double thickness, double conductivity, @@ -52,6 +53,7 @@ OpticsParser::ProductData::ProductData(std::string const & productName, std::vector const & measurements) : productName(productName), productType(productType), + subtype(subtype), nfrcid(nfrcid), thickness(thickness), conductivity(conductivity), diff --git a/src/ProductData.hpp b/src/ProductData.hpp index 1403df8..68e6008 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -82,6 +82,7 @@ namespace OpticsParser virtual ~ProductData() = default; ProductData(std::string const & productName, std::string const & productType, + std::string const & subtype; int nfrcid, double thickness, double conductivity, @@ -104,6 +105,7 @@ namespace OpticsParser std::string productName; std::string productType; + std::string subtype; std::optional nfrcid; std::optional thickness; std::optional conductivity; From 319dd7100fe7a479477c1f9e4b6e15f529ebb54a Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Wed, 8 Apr 2020 01:52:03 -0400 Subject: [PATCH 06/55] Fix typo --- src/ProductData.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ProductData.hpp b/src/ProductData.hpp index 68e6008..32df31c 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -82,7 +82,7 @@ namespace OpticsParser virtual ~ProductData() = default; ProductData(std::string const & productName, std::string const & productType, - std::string const & subtype; + std::string const & subtype, int nfrcid, double thickness, double conductivity, From 738e80b6ed34cbecc7ba27a56b716a6d04049986 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Wed, 8 Apr 2020 02:13:01 -0400 Subject: [PATCH 07/55] Changed subtype to optional. --- src/ProductData.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ProductData.hpp b/src/ProductData.hpp index 32df31c..f853cd9 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -44,7 +44,7 @@ namespace OpticsParser { ProductGeometry() = default; virtual ~ProductGeometry() = default; - }; + }; struct VenetianGeometry : ProductGeometry { @@ -105,7 +105,7 @@ namespace OpticsParser std::string productName; std::string productType; - std::string subtype; + std::optional subtype; std::optional nfrcid; std::optional thickness; std::optional conductivity; From ea01b507cc14dddfaaa97eca3e5baa81320834bb Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Wed, 8 Apr 2020 02:15:03 -0400 Subject: [PATCH 08/55] Changed subtype to optional. --- src/Parser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index 655da50..73decd7 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -431,7 +431,7 @@ std::shared_ptr std::shared_ptr product(new OpticsParser::ProductData); product->productName = product_json.at("name").get(); product->productType = product_json.at("type").get(); - product->subtype = product_json.at("subtype").get(); + product->subtype = get_optional_field(product_json, "subtype"); product->nfrcid = get_optional_field(product_json, "nfrc_id"); product->manufacturer = product_json.at("manufacturer_name").get(); From c09d78139b4565650a991c6fa5462d820b9dc133 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Mon, 20 Apr 2020 15:44:56 -0400 Subject: [PATCH 09/55] Added perforated screen parsing and test. --- src/Parser.cpp | 14 +++++ src/ProductData.cpp | 16 ++++-- src/ProductData.hpp | 13 ++++- test/products/igsdb_12149.json | 2 +- test/products/igsdb_12295.json | 1 + test/read_igsdb_shading_layer_json.unit.cpp | 57 ++++++++++++++++++++- 6 files changed, 96 insertions(+), 7 deletions(-) create mode 100644 test/products/igsdb_12295.json diff --git a/src/Parser.cpp b/src/Parser.cpp index 4f7972f..5f91dd8 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -524,6 +524,19 @@ std::shared_ptr new OpticsParser::WovenGeometry(threadDiameter, threadSpacing, shadeThickness)); } +std::shared_ptr + parsePerforatedGeometry(nlohmann::json const & geometry_json) +{ + double spacingX = geometry_json.at("spacing_x").get(); + double spacingY = geometry_json.at("spacing_y").get(); + double dimensionX = geometry_json.at("dimension_x").get(); + double dimensionY = geometry_json.at("dimension_y").get(); + std::string perforationType = geometry_json.at("perforation_type").get(); + + return std::shared_ptr(new OpticsParser::PerforatedGeometry( + spacingX, spacingY, dimensionX, dimensionY, perforationType)); +} + std::shared_ptr parseGeometry(std::string const & subtype, nlohmann::json const & geometry_json) { @@ -533,6 +546,7 @@ std::shared_ptr parseGeometry(std::string const & mapping["venetian"] = &parseVenetianGeometry; mapping["woven"] = &parseWovenGeometry; + mapping["perforated-screen"] = &parsePerforatedGeometry; auto itr = mapping.find(subtype); if(itr != mapping.end()) diff --git a/src/ProductData.cpp b/src/ProductData.cpp index c5856f6..bca6ae3 100644 --- a/src/ProductData.cpp +++ b/src/ProductData.cpp @@ -187,7 +187,17 @@ OpticsParser::VenetianGeometry::VenetianGeometry(double slatWidth, OpticsParser::WovenGeometry::WovenGeometry(double threadDiameter, double threadSpacing, double shadeThickness) : - threadDiameter(threadDiameter), - threadSpacing(threadSpacing), - shadeThickness(shadeThickness) + threadDiameter(threadDiameter), threadSpacing(threadSpacing), shadeThickness(shadeThickness) +{} + +OpticsParser::PerforatedGeometry::PerforatedGeometry(double spacingX, + double spacingY, + double dimensionX, + double dimensionY, + std::string perforationType) : + spacingX(spacingX), + spacingY(spacingY), + dimensionX(dimensionX), + dimensionY(dimensionY), + perforationType(perforationType) {} diff --git a/src/ProductData.hpp b/src/ProductData.hpp index 1403df8..04056d0 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -44,7 +44,7 @@ namespace OpticsParser { ProductGeometry() = default; virtual ~ProductGeometry() = default; - }; + }; struct VenetianGeometry : ProductGeometry { @@ -67,6 +67,17 @@ namespace OpticsParser double shadeThickness; }; + struct PerforatedGeometry : ProductGeometry + { + PerforatedGeometry(double spacingX, double spacingY, double dimensionX, double dimensionY, + std::string perforationType); + double spacingX; + double spacingY; + double dimensionX; + double dimensionY; + std::string perforationType; + }; + struct ProductData; struct CompositionInformation diff --git a/test/products/igsdb_12149.json b/test/products/igsdb_12149.json index f4d4e03..74beead 100644 --- a/test/products/igsdb_12149.json +++ b/test/products/igsdb_12149.json @@ -1 +1 @@ -{"product_id":12149,"name":"Slim White Venetian Blind","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":3000,"cgdb_database_version":"1","acceptance":"#","appearance":null,"manufacturer_name":"Pella","data_file_name":null,"data_file_available":false,"short_description":null,"type":"shading","subtype":"venetian","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":false,"thickness":null,"tir_front":null,"tir_back":null,"emissivity_front":null,"emissivity_back":null,"conductivity":null,"permeability_factor":0.95},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":null,"tbsol":null,"rfsol":null,"rbsol":null,"tfvis":null,"tbvis":null,"rfvis":null,"rbvis":null,"tdw":null,"tuv":null,"tspf":null,"tkr":null,"tciex":null,"tciey":null,"tciez":null,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":null,"rfciey":null,"rfciez":null,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"spectral_data":null,"composition_information":{"geometry":{"slat_width":14.8,"slat_spacing":12.7,"slat_curvature":33.13057,"number_segments":5},"materials":[{"product_id":12852,"name":"White Venetian Blind Slat (white.txt)","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":null,"cgdb_database_version":"1.0","acceptance":"#","appearance":null,"manufacturer_name":"Pella","data_file_name":"White Venetian Blind Slat (white.txt)","data_file_available":false,"short_description":null,"type":"material","subtype":"other","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":true,"thickness":0.1,"tir_front":0.0,"tir_back":null,"emissivity_front":0.9,"emissivity_back":0.9,"conductivity":160.0,"permeability_factor":null},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":0.0,"tbsol":null,"rfsol":0.683041274547577,"rbsol":null,"tfvis":0.0,"tbvis":null,"rfvis":0.7459762,"rbvis":0.7459762,"tdw":0.0,"tuv":0.0,"tspf":10000.0,"tkr":null,"tciex":0.0,"tciey":0.0,"tciez":0.0,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":69.85917,"rfciey":74.37163,"rfciez":75.35683,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"spectral_data":{"spectral_data":[{"T":0.0,"Rb":0.0703,"Rf":0.0703,"wavelength":0.3},{"T":0.0,"Rb":0.07,"Rf":0.07,"wavelength":0.305},{"T":0.0,"Rb":0.0692,"Rf":0.0692,"wavelength":0.31},{"T":0.0,"Rb":0.0684,"Rf":0.0684,"wavelength":0.315},{"T":0.0,"Rb":0.0674,"Rf":0.0674,"wavelength":0.32},{"T":0.0,"Rb":0.0663,"Rf":0.0663,"wavelength":0.325},{"T":0.0,"Rb":0.0653,"Rf":0.0653,"wavelength":0.33},{"T":0.0,"Rb":0.0647,"Rf":0.0647,"wavelength":0.335},{"T":0.0,"Rb":0.0642,"Rf":0.0642,"wavelength":0.34},{"T":0.0,"Rb":0.0651,"Rf":0.0651,"wavelength":0.345},{"T":0.0,"Rb":0.067,"Rf":0.067,"wavelength":0.35},{"T":0.0,"Rb":0.0704,"Rf":0.0704,"wavelength":0.355},{"T":0.0,"Rb":0.0751,"Rf":0.0751,"wavelength":0.36},{"T":0.0,"Rb":0.0816,"Rf":0.0816,"wavelength":0.365},{"T":0.0,"Rb":0.09,"Rf":0.09,"wavelength":0.37},{"T":0.0,"Rb":0.1022,"Rf":0.1022,"wavelength":0.375},{"T":0.0,"Rb":0.1191,"Rf":0.1191,"wavelength":0.38},{"T":0.0,"Rb":0.1455,"Rf":0.1455,"wavelength":0.385},{"T":0.0,"Rb":0.1897,"Rf":0.1897,"wavelength":0.39},{"T":0.0,"Rb":0.2618,"Rf":0.2618,"wavelength":0.395},{"T":0.0,"Rb":0.3615,"Rf":0.3615,"wavelength":0.4},{"T":0.0,"Rb":0.4777,"Rf":0.4777,"wavelength":0.405},{"T":0.0,"Rb":0.5803,"Rf":0.5803,"wavelength":0.41},{"T":0.0,"Rb":0.6437,"Rf":0.6437,"wavelength":0.415},{"T":0.0,"Rb":0.6726,"Rf":0.6726,"wavelength":0.42},{"T":0.0,"Rb":0.684,"Rf":0.684,"wavelength":0.425},{"T":0.0,"Rb":0.69,"Rf":0.69,"wavelength":0.43},{"T":0.0,"Rb":0.697,"Rf":0.697,"wavelength":0.435},{"T":0.0,"Rb":0.7038,"Rf":0.7038,"wavelength":0.44},{"T":0.0,"Rb":0.7093,"Rf":0.7093,"wavelength":0.445},{"T":0.0,"Rb":0.7133,"Rf":0.7133,"wavelength":0.45},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":0.455},{"T":0.0,"Rb":0.7152,"Rf":0.7152,"wavelength":0.46},{"T":0.0,"Rb":0.716,"Rf":0.716,"wavelength":0.465},{"T":0.0,"Rb":0.716,"Rf":0.716,"wavelength":0.47},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":0.475},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":0.48},{"T":0.0,"Rb":0.7181,"Rf":0.7181,"wavelength":0.485},{"T":0.0,"Rb":0.7199,"Rf":0.7199,"wavelength":0.49},{"T":0.0,"Rb":0.7225,"Rf":0.7225,"wavelength":0.495},{"T":0.0,"Rb":0.7249,"Rf":0.7249,"wavelength":0.5},{"T":0.0,"Rb":0.7291,"Rf":0.7291,"wavelength":0.505},{"T":0.0,"Rb":0.7327,"Rf":0.7327,"wavelength":0.51},{"T":0.0,"Rb":0.7374,"Rf":0.7374,"wavelength":0.515},{"T":0.0,"Rb":0.7408,"Rf":0.7408,"wavelength":0.52},{"T":0.0,"Rb":0.7457,"Rf":0.7457,"wavelength":0.525},{"T":0.0,"Rb":0.7491,"Rf":0.7491,"wavelength":0.53},{"T":0.0,"Rb":0.7524,"Rf":0.7524,"wavelength":0.535},{"T":0.0,"Rb":0.7548,"Rf":0.7548,"wavelength":0.54},{"T":0.0,"Rb":0.7562,"Rf":0.7562,"wavelength":0.545},{"T":0.0,"Rb":0.7577,"Rf":0.7577,"wavelength":0.55},{"T":0.0,"Rb":0.7584,"Rf":0.7584,"wavelength":0.555},{"T":0.0,"Rb":0.7574,"Rf":0.7574,"wavelength":0.56},{"T":0.0,"Rb":0.7568,"Rf":0.7568,"wavelength":0.565},{"T":0.0,"Rb":0.7553,"Rf":0.7553,"wavelength":0.57},{"T":0.0,"Rb":0.7543,"Rf":0.7543,"wavelength":0.575},{"T":0.0,"Rb":0.7529,"Rf":0.7529,"wavelength":0.58},{"T":0.0,"Rb":0.7511,"Rf":0.7511,"wavelength":0.585},{"T":0.0,"Rb":0.7489,"Rf":0.7489,"wavelength":0.59},{"T":0.0,"Rb":0.7474,"Rf":0.7474,"wavelength":0.595},{"T":0.0,"Rb":0.7458,"Rf":0.7458,"wavelength":0.6},{"T":0.0,"Rb":0.7434,"Rf":0.7434,"wavelength":0.605},{"T":0.0,"Rb":0.7419,"Rf":0.7419,"wavelength":0.61},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":0.615},{"T":0.0,"Rb":0.7376,"Rf":0.7376,"wavelength":0.62},{"T":0.0,"Rb":0.7353,"Rf":0.7353,"wavelength":0.625},{"T":0.0,"Rb":0.7339,"Rf":0.7339,"wavelength":0.63},{"T":0.0,"Rb":0.7319,"Rf":0.7319,"wavelength":0.635},{"T":0.0,"Rb":0.7297,"Rf":0.7297,"wavelength":0.64},{"T":0.0,"Rb":0.7277,"Rf":0.7277,"wavelength":0.645},{"T":0.0,"Rb":0.7261,"Rf":0.7261,"wavelength":0.65},{"T":0.0,"Rb":0.724,"Rf":0.724,"wavelength":0.655},{"T":0.0,"Rb":0.7221,"Rf":0.7221,"wavelength":0.66},{"T":0.0,"Rb":0.7202,"Rf":0.7202,"wavelength":0.665},{"T":0.0,"Rb":0.7186,"Rf":0.7186,"wavelength":0.67},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":0.675},{"T":0.0,"Rb":0.7133,"Rf":0.7133,"wavelength":0.68},{"T":0.0,"Rb":0.7124,"Rf":0.7124,"wavelength":0.685},{"T":0.0,"Rb":0.7105,"Rf":0.7105,"wavelength":0.69},{"T":0.0,"Rb":0.7086,"Rf":0.7086,"wavelength":0.695},{"T":0.0,"Rb":0.706,"Rf":0.706,"wavelength":0.7},{"T":0.0,"Rb":0.7048,"Rf":0.7048,"wavelength":0.705},{"T":0.0,"Rb":0.7026,"Rf":0.7026,"wavelength":0.71},{"T":0.0,"Rb":0.7004,"Rf":0.7004,"wavelength":0.715},{"T":0.0,"Rb":0.6986,"Rf":0.6986,"wavelength":0.72},{"T":0.0,"Rb":0.6959,"Rf":0.6959,"wavelength":0.725},{"T":0.0,"Rb":0.6944,"Rf":0.6944,"wavelength":0.73},{"T":0.0,"Rb":0.6916,"Rf":0.6916,"wavelength":0.735},{"T":0.0,"Rb":0.69,"Rf":0.69,"wavelength":0.74},{"T":0.0,"Rb":0.6879,"Rf":0.6879,"wavelength":0.745},{"T":0.0,"Rb":0.6855,"Rf":0.6855,"wavelength":0.75},{"T":0.0,"Rb":0.6828,"Rf":0.6828,"wavelength":0.755},{"T":0.0,"Rb":0.6809,"Rf":0.6809,"wavelength":0.76},{"T":0.0,"Rb":0.6781,"Rf":0.6781,"wavelength":0.765},{"T":0.0,"Rb":0.6749,"Rf":0.6749,"wavelength":0.77},{"T":0.0,"Rb":0.6731,"Rf":0.6731,"wavelength":0.775},{"T":0.0,"Rb":0.671,"Rf":0.671,"wavelength":0.78},{"T":0.0,"Rb":0.6687,"Rf":0.6687,"wavelength":0.785},{"T":0.0,"Rb":0.6659,"Rf":0.6659,"wavelength":0.79},{"T":0.0,"Rb":0.6633,"Rf":0.6633,"wavelength":0.795},{"T":0.0,"Rb":0.6615,"Rf":0.6615,"wavelength":0.8},{"T":0.0,"Rb":0.6588,"Rf":0.6588,"wavelength":0.805},{"T":0.0,"Rb":0.6569,"Rf":0.6569,"wavelength":0.81},{"T":0.0,"Rb":0.6547,"Rf":0.6547,"wavelength":0.815},{"T":0.0,"Rb":0.6531,"Rf":0.6531,"wavelength":0.82},{"T":0.0,"Rb":0.6508,"Rf":0.6508,"wavelength":0.825},{"T":0.0,"Rb":0.6488,"Rf":0.6488,"wavelength":0.83},{"T":0.0,"Rb":0.6478,"Rf":0.6478,"wavelength":0.835},{"T":0.0,"Rb":0.6471,"Rf":0.6471,"wavelength":0.84},{"T":0.0,"Rb":0.645,"Rf":0.645,"wavelength":0.845},{"T":0.0,"Rb":0.6451,"Rf":0.6451,"wavelength":0.85},{"T":0.0,"Rb":0.6433,"Rf":0.6433,"wavelength":0.855},{"T":0.0,"Rb":0.6451,"Rf":0.6451,"wavelength":0.86},{"T":0.0,"Rb":0.6461,"Rf":0.6461,"wavelength":0.865},{"T":0.0,"Rb":0.6474,"Rf":0.6474,"wavelength":0.87},{"T":0.0,"Rb":0.6457,"Rf":0.6457,"wavelength":0.875},{"T":0.0,"Rb":0.6444,"Rf":0.6444,"wavelength":0.88},{"T":0.0,"Rb":0.6442,"Rf":0.6442,"wavelength":0.885},{"T":0.0,"Rb":0.6447,"Rf":0.6447,"wavelength":0.89},{"T":0.0,"Rb":0.644,"Rf":0.644,"wavelength":0.895},{"T":0.0,"Rb":0.6455,"Rf":0.6455,"wavelength":0.9},{"T":0.0,"Rb":0.6448,"Rf":0.6448,"wavelength":0.905},{"T":0.0,"Rb":0.6462,"Rf":0.6462,"wavelength":0.91},{"T":0.0,"Rb":0.6466,"Rf":0.6466,"wavelength":0.915},{"T":0.0,"Rb":0.6481,"Rf":0.6481,"wavelength":0.92},{"T":0.0,"Rb":0.6496,"Rf":0.6496,"wavelength":0.925},{"T":0.0,"Rb":0.6502,"Rf":0.6502,"wavelength":0.93},{"T":0.0,"Rb":0.6511,"Rf":0.6511,"wavelength":0.935},{"T":0.0,"Rb":0.6524,"Rf":0.6524,"wavelength":0.94},{"T":0.0,"Rb":0.6535,"Rf":0.6535,"wavelength":0.945},{"T":0.0,"Rb":0.6542,"Rf":0.6542,"wavelength":0.95},{"T":0.0,"Rb":0.6559,"Rf":0.6559,"wavelength":0.955},{"T":0.0,"Rb":0.657,"Rf":0.657,"wavelength":0.96},{"T":0.0,"Rb":0.6576,"Rf":0.6576,"wavelength":0.965},{"T":0.0,"Rb":0.6585,"Rf":0.6585,"wavelength":0.97},{"T":0.0,"Rb":0.6599,"Rf":0.6599,"wavelength":0.975},{"T":0.0,"Rb":0.6606,"Rf":0.6606,"wavelength":0.98},{"T":0.0,"Rb":0.6621,"Rf":0.6621,"wavelength":0.985},{"T":0.0,"Rb":0.6634,"Rf":0.6634,"wavelength":0.99},{"T":0.0,"Rb":0.6646,"Rf":0.6646,"wavelength":0.995},{"T":0.0,"Rb":0.6658,"Rf":0.6658,"wavelength":1.0},{"T":0.0,"Rb":0.6664,"Rf":0.6664,"wavelength":1.005},{"T":0.0,"Rb":0.667,"Rf":0.667,"wavelength":1.01},{"T":0.0,"Rb":0.6684,"Rf":0.6684,"wavelength":1.015},{"T":0.0,"Rb":0.6686,"Rf":0.6686,"wavelength":1.02},{"T":0.0,"Rb":0.6706,"Rf":0.6706,"wavelength":1.025},{"T":0.0,"Rb":0.6711,"Rf":0.6711,"wavelength":1.03},{"T":0.0,"Rb":0.6719,"Rf":0.6719,"wavelength":1.035},{"T":0.0,"Rb":0.673,"Rf":0.673,"wavelength":1.04},{"T":0.0,"Rb":0.6743,"Rf":0.6743,"wavelength":1.045},{"T":0.0,"Rb":0.6747,"Rf":0.6747,"wavelength":1.05},{"T":0.0,"Rb":0.6757,"Rf":0.6757,"wavelength":1.055},{"T":0.0,"Rb":0.6767,"Rf":0.6767,"wavelength":1.06},{"T":0.0,"Rb":0.6776,"Rf":0.6776,"wavelength":1.065},{"T":0.0,"Rb":0.678,"Rf":0.678,"wavelength":1.07},{"T":0.0,"Rb":0.679,"Rf":0.679,"wavelength":1.075},{"T":0.0,"Rb":0.6789,"Rf":0.6789,"wavelength":1.08},{"T":0.0,"Rb":0.6807,"Rf":0.6807,"wavelength":1.085},{"T":0.0,"Rb":0.6809,"Rf":0.6809,"wavelength":1.09},{"T":0.0,"Rb":0.6825,"Rf":0.6825,"wavelength":1.095},{"T":0.0,"Rb":0.6834,"Rf":0.6834,"wavelength":1.1},{"T":0.0,"Rb":0.6837,"Rf":0.6837,"wavelength":1.105},{"T":0.0,"Rb":0.6842,"Rf":0.6842,"wavelength":1.11},{"T":0.0,"Rb":0.6854,"Rf":0.6854,"wavelength":1.115},{"T":0.0,"Rb":0.6849,"Rf":0.6849,"wavelength":1.12},{"T":0.0,"Rb":0.6857,"Rf":0.6857,"wavelength":1.125},{"T":0.0,"Rb":0.6861,"Rf":0.6861,"wavelength":1.13},{"T":0.0,"Rb":0.6862,"Rf":0.6862,"wavelength":1.135},{"T":0.0,"Rb":0.6874,"Rf":0.6874,"wavelength":1.14},{"T":0.0,"Rb":0.6877,"Rf":0.6877,"wavelength":1.145},{"T":0.0,"Rb":0.688,"Rf":0.688,"wavelength":1.15},{"T":0.0,"Rb":0.6887,"Rf":0.6887,"wavelength":1.155},{"T":0.0,"Rb":0.6895,"Rf":0.6895,"wavelength":1.16},{"T":0.0,"Rb":0.6895,"Rf":0.6895,"wavelength":1.165},{"T":0.0,"Rb":0.6906,"Rf":0.6906,"wavelength":1.17},{"T":0.0,"Rb":0.6902,"Rf":0.6902,"wavelength":1.175},{"T":0.0,"Rb":0.6893,"Rf":0.6893,"wavelength":1.18},{"T":0.0,"Rb":0.6897,"Rf":0.6897,"wavelength":1.185},{"T":0.0,"Rb":0.6904,"Rf":0.6904,"wavelength":1.19},{"T":0.0,"Rb":0.6908,"Rf":0.6908,"wavelength":1.195},{"T":0.0,"Rb":0.6918,"Rf":0.6918,"wavelength":1.2},{"T":0.0,"Rb":0.6923,"Rf":0.6923,"wavelength":1.205},{"T":0.0,"Rb":0.6931,"Rf":0.6931,"wavelength":1.21},{"T":0.0,"Rb":0.6936,"Rf":0.6936,"wavelength":1.215},{"T":0.0,"Rb":0.695,"Rf":0.695,"wavelength":1.22},{"T":0.0,"Rb":0.6958,"Rf":0.6958,"wavelength":1.225},{"T":0.0,"Rb":0.6969,"Rf":0.6969,"wavelength":1.23},{"T":0.0,"Rb":0.6972,"Rf":0.6972,"wavelength":1.235},{"T":0.0,"Rb":0.6981,"Rf":0.6981,"wavelength":1.24},{"T":0.0,"Rb":0.6984,"Rf":0.6984,"wavelength":1.245},{"T":0.0,"Rb":0.6991,"Rf":0.6991,"wavelength":1.25},{"T":0.0,"Rb":0.6994,"Rf":0.6994,"wavelength":1.255},{"T":0.0,"Rb":0.6999,"Rf":0.6999,"wavelength":1.26},{"T":0.0,"Rb":0.7015,"Rf":0.7015,"wavelength":1.265},{"T":0.0,"Rb":0.7012,"Rf":0.7012,"wavelength":1.27},{"T":0.0,"Rb":0.7018,"Rf":0.7018,"wavelength":1.275},{"T":0.0,"Rb":0.7016,"Rf":0.7016,"wavelength":1.28},{"T":0.0,"Rb":0.702,"Rf":0.702,"wavelength":1.285},{"T":0.0,"Rb":0.7028,"Rf":0.7028,"wavelength":1.29},{"T":0.0,"Rb":0.7034,"Rf":0.7034,"wavelength":1.295},{"T":0.0,"Rb":0.7033,"Rf":0.7033,"wavelength":1.3},{"T":0.0,"Rb":0.7036,"Rf":0.7036,"wavelength":1.305},{"T":0.0,"Rb":0.7039,"Rf":0.7039,"wavelength":1.31},{"T":0.0,"Rb":0.7043,"Rf":0.7043,"wavelength":1.315},{"T":0.0,"Rb":0.7049,"Rf":0.7049,"wavelength":1.32},{"T":0.0,"Rb":0.7053,"Rf":0.7053,"wavelength":1.325},{"T":0.0,"Rb":0.7051,"Rf":0.7051,"wavelength":1.33},{"T":0.0,"Rb":0.7054,"Rf":0.7054,"wavelength":1.335},{"T":0.0,"Rb":0.7058,"Rf":0.7058,"wavelength":1.34},{"T":0.0,"Rb":0.7056,"Rf":0.7056,"wavelength":1.345},{"T":0.0,"Rb":0.7055,"Rf":0.7055,"wavelength":1.35},{"T":0.0,"Rb":0.7056,"Rf":0.7056,"wavelength":1.355},{"T":0.0,"Rb":0.7059,"Rf":0.7059,"wavelength":1.36},{"T":0.0,"Rb":0.7062,"Rf":0.7062,"wavelength":1.365},{"T":0.0,"Rb":0.7059,"Rf":0.7059,"wavelength":1.37},{"T":0.0,"Rb":0.7064,"Rf":0.7064,"wavelength":1.375},{"T":0.0,"Rb":0.7067,"Rf":0.7067,"wavelength":1.38},{"T":0.0,"Rb":0.707,"Rf":0.707,"wavelength":1.385},{"T":0.0,"Rb":0.7073,"Rf":0.7073,"wavelength":1.39},{"T":0.0,"Rb":0.7082,"Rf":0.7082,"wavelength":1.395},{"T":0.0,"Rb":0.708,"Rf":0.708,"wavelength":1.4},{"T":0.0,"Rb":0.7082,"Rf":0.7082,"wavelength":1.405},{"T":0.0,"Rb":0.7083,"Rf":0.7083,"wavelength":1.41},{"T":0.0,"Rb":0.7084,"Rf":0.7084,"wavelength":1.415},{"T":0.0,"Rb":0.7083,"Rf":0.7083,"wavelength":1.42},{"T":0.0,"Rb":0.7095,"Rf":0.7095,"wavelength":1.425},{"T":0.0,"Rb":0.7104,"Rf":0.7104,"wavelength":1.43},{"T":0.0,"Rb":0.7112,"Rf":0.7112,"wavelength":1.435},{"T":0.0,"Rb":0.7115,"Rf":0.7115,"wavelength":1.44},{"T":0.0,"Rb":0.7123,"Rf":0.7123,"wavelength":1.445},{"T":0.0,"Rb":0.7131,"Rf":0.7131,"wavelength":1.45},{"T":0.0,"Rb":0.7137,"Rf":0.7137,"wavelength":1.455},{"T":0.0,"Rb":0.7144,"Rf":0.7144,"wavelength":1.46},{"T":0.0,"Rb":0.7149,"Rf":0.7149,"wavelength":1.465},{"T":0.0,"Rb":0.7153,"Rf":0.7153,"wavelength":1.47},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":1.475},{"T":0.0,"Rb":0.7159,"Rf":0.7159,"wavelength":1.48},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":1.485},{"T":0.0,"Rb":0.7173,"Rf":0.7173,"wavelength":1.49},{"T":0.0,"Rb":0.718,"Rf":0.718,"wavelength":1.495},{"T":0.0,"Rb":0.7185,"Rf":0.7185,"wavelength":1.5},{"T":0.0,"Rb":0.7186,"Rf":0.7186,"wavelength":1.505},{"T":0.0,"Rb":0.7192,"Rf":0.7192,"wavelength":1.51},{"T":0.0,"Rb":0.7203,"Rf":0.7203,"wavelength":1.515},{"T":0.0,"Rb":0.7208,"Rf":0.7208,"wavelength":1.52},{"T":0.0,"Rb":0.7221,"Rf":0.7221,"wavelength":1.525},{"T":0.0,"Rb":0.7223,"Rf":0.7223,"wavelength":1.53},{"T":0.0,"Rb":0.7227,"Rf":0.7227,"wavelength":1.535},{"T":0.0,"Rb":0.7235,"Rf":0.7235,"wavelength":1.54},{"T":0.0,"Rb":0.7243,"Rf":0.7243,"wavelength":1.545},{"T":0.0,"Rb":0.725,"Rf":0.725,"wavelength":1.55},{"T":0.0,"Rb":0.7244,"Rf":0.7244,"wavelength":1.555},{"T":0.0,"Rb":0.7253,"Rf":0.7253,"wavelength":1.56},{"T":0.0,"Rb":0.7265,"Rf":0.7265,"wavelength":1.565},{"T":0.0,"Rb":0.7262,"Rf":0.7262,"wavelength":1.57},{"T":0.0,"Rb":0.7262,"Rf":0.7262,"wavelength":1.575},{"T":0.0,"Rb":0.727,"Rf":0.727,"wavelength":1.58},{"T":0.0,"Rb":0.7274,"Rf":0.7274,"wavelength":1.585},{"T":0.0,"Rb":0.7284,"Rf":0.7284,"wavelength":1.59},{"T":0.0,"Rb":0.7284,"Rf":0.7284,"wavelength":1.595},{"T":0.0,"Rb":0.7285,"Rf":0.7285,"wavelength":1.6},{"T":0.0,"Rb":0.7289,"Rf":0.7289,"wavelength":1.605},{"T":0.0,"Rb":0.7292,"Rf":0.7292,"wavelength":1.61},{"T":0.0,"Rb":0.7294,"Rf":0.7294,"wavelength":1.615},{"T":0.0,"Rb":0.7287,"Rf":0.7287,"wavelength":1.62},{"T":0.0,"Rb":0.7285,"Rf":0.7285,"wavelength":1.625},{"T":0.0,"Rb":0.7279,"Rf":0.7279,"wavelength":1.63},{"T":0.0,"Rb":0.7266,"Rf":0.7266,"wavelength":1.635},{"T":0.0,"Rb":0.7252,"Rf":0.7252,"wavelength":1.64},{"T":0.0,"Rb":0.7229,"Rf":0.7229,"wavelength":1.645},{"T":0.0,"Rb":0.7178,"Rf":0.7178,"wavelength":1.65},{"T":0.0,"Rb":0.7141,"Rf":0.7141,"wavelength":1.655},{"T":0.0,"Rb":0.7101,"Rf":0.7101,"wavelength":1.66},{"T":0.0,"Rb":0.7081,"Rf":0.7081,"wavelength":1.665},{"T":0.0,"Rb":0.7093,"Rf":0.7093,"wavelength":1.67},{"T":0.0,"Rb":0.7108,"Rf":0.7108,"wavelength":1.675},{"T":0.0,"Rb":0.7109,"Rf":0.7109,"wavelength":1.68},{"T":0.0,"Rb":0.7102,"Rf":0.7102,"wavelength":1.685},{"T":0.0,"Rb":0.7102,"Rf":0.7102,"wavelength":1.69},{"T":0.0,"Rb":0.7113,"Rf":0.7113,"wavelength":1.695},{"T":0.0,"Rb":0.7127,"Rf":0.7127,"wavelength":1.7},{"T":0.0,"Rb":0.7139,"Rf":0.7139,"wavelength":1.705},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":1.71},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":1.715},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":1.72},{"T":0.0,"Rb":0.7159,"Rf":0.7159,"wavelength":1.725},{"T":0.0,"Rb":0.7153,"Rf":0.7153,"wavelength":1.73},{"T":0.0,"Rb":0.7171,"Rf":0.7171,"wavelength":1.735},{"T":0.0,"Rb":0.7178,"Rf":0.7178,"wavelength":1.74},{"T":0.0,"Rb":0.7183,"Rf":0.7183,"wavelength":1.745},{"T":0.0,"Rb":0.7206,"Rf":0.7206,"wavelength":1.75},{"T":0.0,"Rb":0.7213,"Rf":0.7213,"wavelength":1.755},{"T":0.0,"Rb":0.7231,"Rf":0.7231,"wavelength":1.76},{"T":0.0,"Rb":0.7251,"Rf":0.7251,"wavelength":1.765},{"T":0.0,"Rb":0.7266,"Rf":0.7266,"wavelength":1.77},{"T":0.0,"Rb":0.7291,"Rf":0.7291,"wavelength":1.775},{"T":0.0,"Rb":0.7303,"Rf":0.7303,"wavelength":1.78},{"T":0.0,"Rb":0.7315,"Rf":0.7315,"wavelength":1.785},{"T":0.0,"Rb":0.7327,"Rf":0.7327,"wavelength":1.79},{"T":0.0,"Rb":0.7332,"Rf":0.7332,"wavelength":1.795},{"T":0.0,"Rb":0.7339,"Rf":0.7339,"wavelength":1.8},{"T":0.0,"Rb":0.7346,"Rf":0.7346,"wavelength":1.805},{"T":0.0,"Rb":0.7345,"Rf":0.7345,"wavelength":1.81},{"T":0.0,"Rb":0.7359,"Rf":0.7359,"wavelength":1.815},{"T":0.0,"Rb":0.735,"Rf":0.735,"wavelength":1.82},{"T":0.0,"Rb":0.736,"Rf":0.736,"wavelength":1.825},{"T":0.0,"Rb":0.7372,"Rf":0.7372,"wavelength":1.83},{"T":0.0,"Rb":0.7377,"Rf":0.7377,"wavelength":1.835},{"T":0.0,"Rb":0.7391,"Rf":0.7391,"wavelength":1.84},{"T":0.0,"Rb":0.7382,"Rf":0.7382,"wavelength":1.845},{"T":0.0,"Rb":0.7397,"Rf":0.7397,"wavelength":1.85},{"T":0.0,"Rb":0.7411,"Rf":0.7411,"wavelength":1.855},{"T":0.0,"Rb":0.742,"Rf":0.742,"wavelength":1.86},{"T":0.0,"Rb":0.7416,"Rf":0.7416,"wavelength":1.865},{"T":0.0,"Rb":0.7415,"Rf":0.7415,"wavelength":1.87},{"T":0.0,"Rb":0.7425,"Rf":0.7425,"wavelength":1.875},{"T":0.0,"Rb":0.7432,"Rf":0.7432,"wavelength":1.88},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":1.885},{"T":0.0,"Rb":0.7415,"Rf":0.7415,"wavelength":1.89},{"T":0.0,"Rb":0.7406,"Rf":0.7406,"wavelength":1.895},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":1.9},{"T":0.0,"Rb":0.7389,"Rf":0.7389,"wavelength":1.905},{"T":0.0,"Rb":0.7393,"Rf":0.7393,"wavelength":1.91},{"T":0.0,"Rb":0.7395,"Rf":0.7395,"wavelength":1.915},{"T":0.0,"Rb":0.7401,"Rf":0.7401,"wavelength":1.92},{"T":0.0,"Rb":0.7397,"Rf":0.7397,"wavelength":1.925},{"T":0.0,"Rb":0.7408,"Rf":0.7408,"wavelength":1.93},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":1.935},{"T":0.0,"Rb":0.7423,"Rf":0.7423,"wavelength":1.94},{"T":0.0,"Rb":0.7423,"Rf":0.7423,"wavelength":1.945},{"T":0.0,"Rb":0.7422,"Rf":0.7422,"wavelength":1.95},{"T":0.0,"Rb":0.7435,"Rf":0.7435,"wavelength":1.955},{"T":0.0,"Rb":0.7422,"Rf":0.7422,"wavelength":1.96},{"T":0.0,"Rb":0.7432,"Rf":0.7432,"wavelength":1.965},{"T":0.0,"Rb":0.7449,"Rf":0.7449,"wavelength":1.97},{"T":0.0,"Rb":0.7479,"Rf":0.7479,"wavelength":1.975},{"T":0.0,"Rb":0.7477,"Rf":0.7477,"wavelength":1.98},{"T":0.0,"Rb":0.7479,"Rf":0.7479,"wavelength":1.985},{"T":0.0,"Rb":0.7481,"Rf":0.7481,"wavelength":1.99},{"T":0.0,"Rb":0.7493,"Rf":0.7493,"wavelength":1.995},{"T":0.0,"Rb":0.7496,"Rf":0.7496,"wavelength":2.0},{"T":0.0,"Rb":0.7501,"Rf":0.7501,"wavelength":2.005},{"T":0.0,"Rb":0.7503,"Rf":0.7503,"wavelength":2.01},{"T":0.0,"Rb":0.7518,"Rf":0.7518,"wavelength":2.015},{"T":0.0,"Rb":0.7517,"Rf":0.7517,"wavelength":2.02},{"T":0.0,"Rb":0.7523,"Rf":0.7523,"wavelength":2.025},{"T":0.0,"Rb":0.7528,"Rf":0.7528,"wavelength":2.03},{"T":0.0,"Rb":0.7531,"Rf":0.7531,"wavelength":2.035},{"T":0.0,"Rb":0.7531,"Rf":0.7531,"wavelength":2.04},{"T":0.0,"Rb":0.7529,"Rf":0.7529,"wavelength":2.045},{"T":0.0,"Rb":0.7539,"Rf":0.7539,"wavelength":2.05},{"T":0.0,"Rb":0.7564,"Rf":0.7564,"wavelength":2.055},{"T":0.0,"Rb":0.7556,"Rf":0.7556,"wavelength":2.06},{"T":0.0,"Rb":0.7544,"Rf":0.7544,"wavelength":2.065},{"T":0.0,"Rb":0.7537,"Rf":0.7537,"wavelength":2.07},{"T":0.0,"Rb":0.7541,"Rf":0.7541,"wavelength":2.075},{"T":0.0,"Rb":0.7517,"Rf":0.7517,"wavelength":2.08},{"T":0.0,"Rb":0.7532,"Rf":0.7532,"wavelength":2.085},{"T":0.0,"Rb":0.7546,"Rf":0.7546,"wavelength":2.09},{"T":0.0,"Rb":0.7541,"Rf":0.7541,"wavelength":2.095},{"T":0.0,"Rb":0.7539,"Rf":0.7539,"wavelength":2.1},{"T":0.0,"Rb":0.7555,"Rf":0.7555,"wavelength":2.105},{"T":0.0,"Rb":0.7536,"Rf":0.7536,"wavelength":2.11},{"T":0.0,"Rb":0.7544,"Rf":0.7544,"wavelength":2.115},{"T":0.0,"Rb":0.7501,"Rf":0.7501,"wavelength":2.12},{"T":0.0,"Rb":0.7442,"Rf":0.7442,"wavelength":2.125},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":2.13},{"T":0.0,"Rb":0.7331,"Rf":0.7331,"wavelength":2.135},{"T":0.0,"Rb":0.7283,"Rf":0.7283,"wavelength":2.14},{"T":0.0,"Rb":0.7282,"Rf":0.7282,"wavelength":2.145},{"T":0.0,"Rb":0.731,"Rf":0.731,"wavelength":2.15},{"T":0.0,"Rb":0.7431,"Rf":0.7431,"wavelength":2.155},{"T":0.0,"Rb":0.7431,"Rf":0.7431,"wavelength":2.16},{"T":0.0,"Rb":0.7459,"Rf":0.7459,"wavelength":2.165},{"T":0.0,"Rb":0.7519,"Rf":0.7519,"wavelength":2.17},{"T":0.0,"Rb":0.753,"Rf":0.753,"wavelength":2.175},{"T":0.0,"Rb":0.7488,"Rf":0.7488,"wavelength":2.18},{"T":0.0,"Rb":0.7548,"Rf":0.7548,"wavelength":2.185},{"T":0.0,"Rb":0.7505,"Rf":0.7505,"wavelength":2.19},{"T":0.0,"Rb":0.7495,"Rf":0.7495,"wavelength":2.195},{"T":0.0,"Rb":0.7456,"Rf":0.7456,"wavelength":2.2},{"T":0.0,"Rb":0.7457,"Rf":0.7457,"wavelength":2.205},{"T":0.0,"Rb":0.7468,"Rf":0.7468,"wavelength":2.21},{"T":0.0,"Rb":0.744,"Rf":0.744,"wavelength":2.215},{"T":0.0,"Rb":0.7412,"Rf":0.7412,"wavelength":2.22},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":2.225},{"T":0.0,"Rb":0.7395,"Rf":0.7395,"wavelength":2.23},{"T":0.0,"Rb":0.7341,"Rf":0.7341,"wavelength":2.235},{"T":0.0,"Rb":0.7227,"Rf":0.7227,"wavelength":2.24},{"T":0.0,"Rb":0.7105,"Rf":0.7105,"wavelength":2.245},{"T":0.0,"Rb":0.6971,"Rf":0.6971,"wavelength":2.25},{"T":0.0,"Rb":0.676,"Rf":0.676,"wavelength":2.255},{"T":0.0,"Rb":0.6582,"Rf":0.6582,"wavelength":2.26},{"T":0.0,"Rb":0.646,"Rf":0.646,"wavelength":2.265},{"T":0.0,"Rb":0.6434,"Rf":0.6434,"wavelength":2.27},{"T":0.0,"Rb":0.6433,"Rf":0.6433,"wavelength":2.275},{"T":0.0,"Rb":0.6464,"Rf":0.6464,"wavelength":2.28},{"T":0.0,"Rb":0.6496,"Rf":0.6496,"wavelength":2.285},{"T":0.0,"Rb":0.6549,"Rf":0.6549,"wavelength":2.29},{"T":0.0,"Rb":0.6597,"Rf":0.6597,"wavelength":2.295},{"T":0.0,"Rb":0.6562,"Rf":0.6562,"wavelength":2.3},{"T":0.0,"Rb":0.6573,"Rf":0.6573,"wavelength":2.305},{"T":0.0,"Rb":0.6587,"Rf":0.6587,"wavelength":2.31},{"T":0.0,"Rb":0.66,"Rf":0.66,"wavelength":2.315},{"T":0.0,"Rb":0.6659,"Rf":0.6659,"wavelength":2.32},{"T":0.0,"Rb":0.6758,"Rf":0.6758,"wavelength":2.325},{"T":0.0,"Rb":0.676,"Rf":0.676,"wavelength":2.33},{"T":0.0,"Rb":0.6785,"Rf":0.6785,"wavelength":2.335},{"T":0.0,"Rb":0.68,"Rf":0.68,"wavelength":2.34},{"T":0.0,"Rb":0.681,"Rf":0.681,"wavelength":2.345},{"T":0.0,"Rb":0.6778,"Rf":0.6778,"wavelength":2.35},{"T":0.0,"Rb":0.6796,"Rf":0.6796,"wavelength":2.355},{"T":0.0,"Rb":0.683,"Rf":0.683,"wavelength":2.36},{"T":0.0,"Rb":0.6793,"Rf":0.6793,"wavelength":2.365},{"T":0.0,"Rb":0.6823,"Rf":0.6823,"wavelength":2.37},{"T":0.0,"Rb":0.6864,"Rf":0.6864,"wavelength":2.375},{"T":0.0,"Rb":0.6836,"Rf":0.6836,"wavelength":2.38},{"T":0.0,"Rb":0.6786,"Rf":0.6786,"wavelength":2.385},{"T":0.0,"Rb":0.6835,"Rf":0.6835,"wavelength":2.39},{"T":0.0,"Rb":0.6795,"Rf":0.6795,"wavelength":2.395},{"T":0.0,"Rb":0.6834,"Rf":0.6834,"wavelength":2.4},{"T":0.0,"Rb":0.689,"Rf":0.689,"wavelength":2.405},{"T":0.0,"Rb":0.686,"Rf":0.686,"wavelength":2.41},{"T":0.0,"Rb":0.6899,"Rf":0.6899,"wavelength":2.415},{"T":0.0,"Rb":0.6884,"Rf":0.6884,"wavelength":2.42},{"T":0.0,"Rb":0.6912,"Rf":0.6912,"wavelength":2.425},{"T":0.0,"Rb":0.6936,"Rf":0.6936,"wavelength":2.43},{"T":0.0,"Rb":0.6945,"Rf":0.6945,"wavelength":2.435},{"T":0.0,"Rb":0.6927,"Rf":0.6927,"wavelength":2.44},{"T":0.0,"Rb":0.6792,"Rf":0.6792,"wavelength":2.445},{"T":0.0,"Rb":0.6733,"Rf":0.6733,"wavelength":2.45},{"T":0.0,"Rb":0.6649,"Rf":0.6649,"wavelength":2.455},{"T":0.0,"Rb":0.6712,"Rf":0.6712,"wavelength":2.46},{"T":0.0,"Rb":0.6756,"Rf":0.6756,"wavelength":2.465},{"T":0.0,"Rb":0.6799,"Rf":0.6799,"wavelength":2.47},{"T":0.0,"Rb":0.6874,"Rf":0.6874,"wavelength":2.475},{"T":0.0,"Rb":0.6999,"Rf":0.6999,"wavelength":2.48},{"T":0.0,"Rb":0.6993,"Rf":0.6993,"wavelength":2.485},{"T":0.0,"Rb":0.7081,"Rf":0.7081,"wavelength":2.49},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":2.495},{"T":0.0,"Rb":0.719,"Rf":0.719,"wavelength":2.5}]}}]}} +{"product_id":12149,"name":"Slim White Venetian Blind","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":3000,"cgdb_database_version":"1","acceptance":"#","appearance":null,"manufacturer_name":"Pella","data_file_name":null,"data_file_available":false,"short_description":null,"type":"shading","subtype":"venetian","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":false,"thickness":null,"tir_front":null,"tir_back":null,"emissivity_front":null,"emissivity_back":null,"conductivity":null,"permeability_factor":0.95},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":null,"tbsol":null,"rfsol":null,"rbsol":null,"tfvis":null,"tbvis":null,"rfvis":null,"rbvis":null,"tdw":null,"tuv":null,"tspf":null,"tkr":null,"tciex":null,"tciey":null,"tciez":null,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":null,"rfciey":null,"rfciez":null,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"spectral_data":null,"composition_information":{"geometry":{"slat_width":14.8,"slat_spacing":12.7,"slat_curvature":33.13057,"number_segments":5},"materials":[{"product_id":12852,"name":"White Venetian Blind Slat (white.txt)","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":null,"cgdb_database_version":"1.0","acceptance":"#","appearance":null,"manufacturer_name":"Pella","data_file_name":"White Venetian Blind Slat (white.txt)","data_file_available":false,"short_description":null,"type":"material","subtype":"other","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":true,"thickness":0.1,"tir_front":0.0,"tir_back":null,"emissivity_front":0.9,"emissivity_back":0.9,"conductivity":160.0,"permeability_factor":null},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":0.0,"tbsol":null,"rfsol":0.683041274547577,"rbsol":null,"tfvis":0.0,"tbvis":null,"rfvis":0.7459762,"rbvis":0.7459762,"tdw":0.0,"tuv":0.0,"tspf":10000.0,"tkr":null,"tciex":0.0,"tciey":0.0,"tciez":0.0,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":69.85917,"rfciey":74.37163,"rfciez":75.35683,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"spectral_data":{"spectral_data":[{"T":0.0,"Rb":0.0703,"Rf":0.0703,"wavelength":0.3},{"T":0.0,"Rb":0.07,"Rf":0.07,"wavelength":0.305},{"T":0.0,"Rb":0.0692,"Rf":0.0692,"wavelength":0.31},{"T":0.0,"Rb":0.0684,"Rf":0.0684,"wavelength":0.315},{"T":0.0,"Rb":0.0674,"Rf":0.0674,"wavelength":0.32},{"T":0.0,"Rb":0.0663,"Rf":0.0663,"wavelength":0.325},{"T":0.0,"Rb":0.0653,"Rf":0.0653,"wavelength":0.33},{"T":0.0,"Rb":0.0647,"Rf":0.0647,"wavelength":0.335},{"T":0.0,"Rb":0.0642,"Rf":0.0642,"wavelength":0.34},{"T":0.0,"Rb":0.0651,"Rf":0.0651,"wavelength":0.345},{"T":0.0,"Rb":0.067,"Rf":0.067,"wavelength":0.35},{"T":0.0,"Rb":0.0704,"Rf":0.0704,"wavelength":0.355},{"T":0.0,"Rb":0.0751,"Rf":0.0751,"wavelength":0.36},{"T":0.0,"Rb":0.0816,"Rf":0.0816,"wavelength":0.365},{"T":0.0,"Rb":0.09,"Rf":0.09,"wavelength":0.37},{"T":0.0,"Rb":0.1022,"Rf":0.1022,"wavelength":0.375},{"T":0.0,"Rb":0.1191,"Rf":0.1191,"wavelength":0.38},{"T":0.0,"Rb":0.1455,"Rf":0.1455,"wavelength":0.385},{"T":0.0,"Rb":0.1897,"Rf":0.1897,"wavelength":0.39},{"T":0.0,"Rb":0.2618,"Rf":0.2618,"wavelength":0.395},{"T":0.0,"Rb":0.3615,"Rf":0.3615,"wavelength":0.4},{"T":0.0,"Rb":0.4777,"Rf":0.4777,"wavelength":0.405},{"T":0.0,"Rb":0.5803,"Rf":0.5803,"wavelength":0.41},{"T":0.0,"Rb":0.6437,"Rf":0.6437,"wavelength":0.415},{"T":0.0,"Rb":0.6726,"Rf":0.6726,"wavelength":0.42},{"T":0.0,"Rb":0.684,"Rf":0.684,"wavelength":0.425},{"T":0.0,"Rb":0.69,"Rf":0.69,"wavelength":0.43},{"T":0.0,"Rb":0.697,"Rf":0.697,"wavelength":0.435},{"T":0.0,"Rb":0.7038,"Rf":0.7038,"wavelength":0.44},{"T":0.0,"Rb":0.7093,"Rf":0.7093,"wavelength":0.445},{"T":0.0,"Rb":0.7133,"Rf":0.7133,"wavelength":0.45},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":0.455},{"T":0.0,"Rb":0.7152,"Rf":0.7152,"wavelength":0.46},{"T":0.0,"Rb":0.716,"Rf":0.716,"wavelength":0.465},{"T":0.0,"Rb":0.716,"Rf":0.716,"wavelength":0.47},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":0.475},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":0.48},{"T":0.0,"Rb":0.7181,"Rf":0.7181,"wavelength":0.485},{"T":0.0,"Rb":0.7199,"Rf":0.7199,"wavelength":0.49},{"T":0.0,"Rb":0.7225,"Rf":0.7225,"wavelength":0.495},{"T":0.0,"Rb":0.7249,"Rf":0.7249,"wavelength":0.5},{"T":0.0,"Rb":0.7291,"Rf":0.7291,"wavelength":0.505},{"T":0.0,"Rb":0.7327,"Rf":0.7327,"wavelength":0.51},{"T":0.0,"Rb":0.7374,"Rf":0.7374,"wavelength":0.515},{"T":0.0,"Rb":0.7408,"Rf":0.7408,"wavelength":0.52},{"T":0.0,"Rb":0.7457,"Rf":0.7457,"wavelength":0.525},{"T":0.0,"Rb":0.7491,"Rf":0.7491,"wavelength":0.53},{"T":0.0,"Rb":0.7524,"Rf":0.7524,"wavelength":0.535},{"T":0.0,"Rb":0.7548,"Rf":0.7548,"wavelength":0.54},{"T":0.0,"Rb":0.7562,"Rf":0.7562,"wavelength":0.545},{"T":0.0,"Rb":0.7577,"Rf":0.7577,"wavelength":0.55},{"T":0.0,"Rb":0.7584,"Rf":0.7584,"wavelength":0.555},{"T":0.0,"Rb":0.7574,"Rf":0.7574,"wavelength":0.56},{"T":0.0,"Rb":0.7568,"Rf":0.7568,"wavelength":0.565},{"T":0.0,"Rb":0.7553,"Rf":0.7553,"wavelength":0.57},{"T":0.0,"Rb":0.7543,"Rf":0.7543,"wavelength":0.575},{"T":0.0,"Rb":0.7529,"Rf":0.7529,"wavelength":0.58},{"T":0.0,"Rb":0.7511,"Rf":0.7511,"wavelength":0.585},{"T":0.0,"Rb":0.7489,"Rf":0.7489,"wavelength":0.59},{"T":0.0,"Rb":0.7474,"Rf":0.7474,"wavelength":0.595},{"T":0.0,"Rb":0.7458,"Rf":0.7458,"wavelength":0.6},{"T":0.0,"Rb":0.7434,"Rf":0.7434,"wavelength":0.605},{"T":0.0,"Rb":0.7419,"Rf":0.7419,"wavelength":0.61},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":0.615},{"T":0.0,"Rb":0.7376,"Rf":0.7376,"wavelength":0.62},{"T":0.0,"Rb":0.7353,"Rf":0.7353,"wavelength":0.625},{"T":0.0,"Rb":0.7339,"Rf":0.7339,"wavelength":0.63},{"T":0.0,"Rb":0.7319,"Rf":0.7319,"wavelength":0.635},{"T":0.0,"Rb":0.7297,"Rf":0.7297,"wavelength":0.64},{"T":0.0,"Rb":0.7277,"Rf":0.7277,"wavelength":0.645},{"T":0.0,"Rb":0.7261,"Rf":0.7261,"wavelength":0.65},{"T":0.0,"Rb":0.724,"Rf":0.724,"wavelength":0.655},{"T":0.0,"Rb":0.7221,"Rf":0.7221,"wavelength":0.66},{"T":0.0,"Rb":0.7202,"Rf":0.7202,"wavelength":0.665},{"T":0.0,"Rb":0.7186,"Rf":0.7186,"wavelength":0.67},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":0.675},{"T":0.0,"Rb":0.7133,"Rf":0.7133,"wavelength":0.68},{"T":0.0,"Rb":0.7124,"Rf":0.7124,"wavelength":0.685},{"T":0.0,"Rb":0.7105,"Rf":0.7105,"wavelength":0.69},{"T":0.0,"Rb":0.7086,"Rf":0.7086,"wavelength":0.695},{"T":0.0,"Rb":0.706,"Rf":0.706,"wavelength":0.7},{"T":0.0,"Rb":0.7048,"Rf":0.7048,"wavelength":0.705},{"T":0.0,"Rb":0.7026,"Rf":0.7026,"wavelength":0.71},{"T":0.0,"Rb":0.7004,"Rf":0.7004,"wavelength":0.715},{"T":0.0,"Rb":0.6986,"Rf":0.6986,"wavelength":0.72},{"T":0.0,"Rb":0.6959,"Rf":0.6959,"wavelength":0.725},{"T":0.0,"Rb":0.6944,"Rf":0.6944,"wavelength":0.73},{"T":0.0,"Rb":0.6916,"Rf":0.6916,"wavelength":0.735},{"T":0.0,"Rb":0.69,"Rf":0.69,"wavelength":0.74},{"T":0.0,"Rb":0.6879,"Rf":0.6879,"wavelength":0.745},{"T":0.0,"Rb":0.6855,"Rf":0.6855,"wavelength":0.75},{"T":0.0,"Rb":0.6828,"Rf":0.6828,"wavelength":0.755},{"T":0.0,"Rb":0.6809,"Rf":0.6809,"wavelength":0.76},{"T":0.0,"Rb":0.6781,"Rf":0.6781,"wavelength":0.765},{"T":0.0,"Rb":0.6749,"Rf":0.6749,"wavelength":0.77},{"T":0.0,"Rb":0.6731,"Rf":0.6731,"wavelength":0.775},{"T":0.0,"Rb":0.671,"Rf":0.671,"wavelength":0.78},{"T":0.0,"Rb":0.6687,"Rf":0.6687,"wavelength":0.785},{"T":0.0,"Rb":0.6659,"Rf":0.6659,"wavelength":0.79},{"T":0.0,"Rb":0.6633,"Rf":0.6633,"wavelength":0.795},{"T":0.0,"Rb":0.6615,"Rf":0.6615,"wavelength":0.8},{"T":0.0,"Rb":0.6588,"Rf":0.6588,"wavelength":0.805},{"T":0.0,"Rb":0.6569,"Rf":0.6569,"wavelength":0.81},{"T":0.0,"Rb":0.6547,"Rf":0.6547,"wavelength":0.815},{"T":0.0,"Rb":0.6531,"Rf":0.6531,"wavelength":0.82},{"T":0.0,"Rb":0.6508,"Rf":0.6508,"wavelength":0.825},{"T":0.0,"Rb":0.6488,"Rf":0.6488,"wavelength":0.83},{"T":0.0,"Rb":0.6478,"Rf":0.6478,"wavelength":0.835},{"T":0.0,"Rb":0.6471,"Rf":0.6471,"wavelength":0.84},{"T":0.0,"Rb":0.645,"Rf":0.645,"wavelength":0.845},{"T":0.0,"Rb":0.6451,"Rf":0.6451,"wavelength":0.85},{"T":0.0,"Rb":0.6433,"Rf":0.6433,"wavelength":0.855},{"T":0.0,"Rb":0.6451,"Rf":0.6451,"wavelength":0.86},{"T":0.0,"Rb":0.6461,"Rf":0.6461,"wavelength":0.865},{"T":0.0,"Rb":0.6474,"Rf":0.6474,"wavelength":0.87},{"T":0.0,"Rb":0.6457,"Rf":0.6457,"wavelength":0.875},{"T":0.0,"Rb":0.6444,"Rf":0.6444,"wavelength":0.88},{"T":0.0,"Rb":0.6442,"Rf":0.6442,"wavelength":0.885},{"T":0.0,"Rb":0.6447,"Rf":0.6447,"wavelength":0.89},{"T":0.0,"Rb":0.644,"Rf":0.644,"wavelength":0.895},{"T":0.0,"Rb":0.6455,"Rf":0.6455,"wavelength":0.9},{"T":0.0,"Rb":0.6448,"Rf":0.6448,"wavelength":0.905},{"T":0.0,"Rb":0.6462,"Rf":0.6462,"wavelength":0.91},{"T":0.0,"Rb":0.6466,"Rf":0.6466,"wavelength":0.915},{"T":0.0,"Rb":0.6481,"Rf":0.6481,"wavelength":0.92},{"T":0.0,"Rb":0.6496,"Rf":0.6496,"wavelength":0.925},{"T":0.0,"Rb":0.6502,"Rf":0.6502,"wavelength":0.93},{"T":0.0,"Rb":0.6511,"Rf":0.6511,"wavelength":0.935},{"T":0.0,"Rb":0.6524,"Rf":0.6524,"wavelength":0.94},{"T":0.0,"Rb":0.6535,"Rf":0.6535,"wavelength":0.945},{"T":0.0,"Rb":0.6542,"Rf":0.6542,"wavelength":0.95},{"T":0.0,"Rb":0.6559,"Rf":0.6559,"wavelength":0.955},{"T":0.0,"Rb":0.657,"Rf":0.657,"wavelength":0.96},{"T":0.0,"Rb":0.6576,"Rf":0.6576,"wavelength":0.965},{"T":0.0,"Rb":0.6585,"Rf":0.6585,"wavelength":0.97},{"T":0.0,"Rb":0.6599,"Rf":0.6599,"wavelength":0.975},{"T":0.0,"Rb":0.6606,"Rf":0.6606,"wavelength":0.98},{"T":0.0,"Rb":0.6621,"Rf":0.6621,"wavelength":0.985},{"T":0.0,"Rb":0.6634,"Rf":0.6634,"wavelength":0.99},{"T":0.0,"Rb":0.6646,"Rf":0.6646,"wavelength":0.995},{"T":0.0,"Rb":0.6658,"Rf":0.6658,"wavelength":1.0},{"T":0.0,"Rb":0.6664,"Rf":0.6664,"wavelength":1.005},{"T":0.0,"Rb":0.667,"Rf":0.667,"wavelength":1.01},{"T":0.0,"Rb":0.6684,"Rf":0.6684,"wavelength":1.015},{"T":0.0,"Rb":0.6686,"Rf":0.6686,"wavelength":1.02},{"T":0.0,"Rb":0.6706,"Rf":0.6706,"wavelength":1.025},{"T":0.0,"Rb":0.6711,"Rf":0.6711,"wavelength":1.03},{"T":0.0,"Rb":0.6719,"Rf":0.6719,"wavelength":1.035},{"T":0.0,"Rb":0.673,"Rf":0.673,"wavelength":1.04},{"T":0.0,"Rb":0.6743,"Rf":0.6743,"wavelength":1.045},{"T":0.0,"Rb":0.6747,"Rf":0.6747,"wavelength":1.05},{"T":0.0,"Rb":0.6757,"Rf":0.6757,"wavelength":1.055},{"T":0.0,"Rb":0.6767,"Rf":0.6767,"wavelength":1.06},{"T":0.0,"Rb":0.6776,"Rf":0.6776,"wavelength":1.065},{"T":0.0,"Rb":0.678,"Rf":0.678,"wavelength":1.07},{"T":0.0,"Rb":0.679,"Rf":0.679,"wavelength":1.075},{"T":0.0,"Rb":0.6789,"Rf":0.6789,"wavelength":1.08},{"T":0.0,"Rb":0.6807,"Rf":0.6807,"wavelength":1.085},{"T":0.0,"Rb":0.6809,"Rf":0.6809,"wavelength":1.09},{"T":0.0,"Rb":0.6825,"Rf":0.6825,"wavelength":1.095},{"T":0.0,"Rb":0.6834,"Rf":0.6834,"wavelength":1.1},{"T":0.0,"Rb":0.6837,"Rf":0.6837,"wavelength":1.105},{"T":0.0,"Rb":0.6842,"Rf":0.6842,"wavelength":1.11},{"T":0.0,"Rb":0.6854,"Rf":0.6854,"wavelength":1.115},{"T":0.0,"Rb":0.6849,"Rf":0.6849,"wavelength":1.12},{"T":0.0,"Rb":0.6857,"Rf":0.6857,"wavelength":1.125},{"T":0.0,"Rb":0.6861,"Rf":0.6861,"wavelength":1.13},{"T":0.0,"Rb":0.6862,"Rf":0.6862,"wavelength":1.135},{"T":0.0,"Rb":0.6874,"Rf":0.6874,"wavelength":1.14},{"T":0.0,"Rb":0.6877,"Rf":0.6877,"wavelength":1.145},{"T":0.0,"Rb":0.688,"Rf":0.688,"wavelength":1.15},{"T":0.0,"Rb":0.6887,"Rf":0.6887,"wavelength":1.155},{"T":0.0,"Rb":0.6895,"Rf":0.6895,"wavelength":1.16},{"T":0.0,"Rb":0.6895,"Rf":0.6895,"wavelength":1.165},{"T":0.0,"Rb":0.6906,"Rf":0.6906,"wavelength":1.17},{"T":0.0,"Rb":0.6902,"Rf":0.6902,"wavelength":1.175},{"T":0.0,"Rb":0.6893,"Rf":0.6893,"wavelength":1.18},{"T":0.0,"Rb":0.6897,"Rf":0.6897,"wavelength":1.185},{"T":0.0,"Rb":0.6904,"Rf":0.6904,"wavelength":1.19},{"T":0.0,"Rb":0.6908,"Rf":0.6908,"wavelength":1.195},{"T":0.0,"Rb":0.6918,"Rf":0.6918,"wavelength":1.2},{"T":0.0,"Rb":0.6923,"Rf":0.6923,"wavelength":1.205},{"T":0.0,"Rb":0.6931,"Rf":0.6931,"wavelength":1.21},{"T":0.0,"Rb":0.6936,"Rf":0.6936,"wavelength":1.215},{"T":0.0,"Rb":0.695,"Rf":0.695,"wavelength":1.22},{"T":0.0,"Rb":0.6958,"Rf":0.6958,"wavelength":1.225},{"T":0.0,"Rb":0.6969,"Rf":0.6969,"wavelength":1.23},{"T":0.0,"Rb":0.6972,"Rf":0.6972,"wavelength":1.235},{"T":0.0,"Rb":0.6981,"Rf":0.6981,"wavelength":1.24},{"T":0.0,"Rb":0.6984,"Rf":0.6984,"wavelength":1.245},{"T":0.0,"Rb":0.6991,"Rf":0.6991,"wavelength":1.25},{"T":0.0,"Rb":0.6994,"Rf":0.6994,"wavelength":1.255},{"T":0.0,"Rb":0.6999,"Rf":0.6999,"wavelength":1.26},{"T":0.0,"Rb":0.7015,"Rf":0.7015,"wavelength":1.265},{"T":0.0,"Rb":0.7012,"Rf":0.7012,"wavelength":1.27},{"T":0.0,"Rb":0.7018,"Rf":0.7018,"wavelength":1.275},{"T":0.0,"Rb":0.7016,"Rf":0.7016,"wavelength":1.28},{"T":0.0,"Rb":0.702,"Rf":0.702,"wavelength":1.285},{"T":0.0,"Rb":0.7028,"Rf":0.7028,"wavelength":1.29},{"T":0.0,"Rb":0.7034,"Rf":0.7034,"wavelength":1.295},{"T":0.0,"Rb":0.7033,"Rf":0.7033,"wavelength":1.3},{"T":0.0,"Rb":0.7036,"Rf":0.7036,"wavelength":1.305},{"T":0.0,"Rb":0.7039,"Rf":0.7039,"wavelength":1.31},{"T":0.0,"Rb":0.7043,"Rf":0.7043,"wavelength":1.315},{"T":0.0,"Rb":0.7049,"Rf":0.7049,"wavelength":1.32},{"T":0.0,"Rb":0.7053,"Rf":0.7053,"wavelength":1.325},{"T":0.0,"Rb":0.7051,"Rf":0.7051,"wavelength":1.33},{"T":0.0,"Rb":0.7054,"Rf":0.7054,"wavelength":1.335},{"T":0.0,"Rb":0.7058,"Rf":0.7058,"wavelength":1.34},{"T":0.0,"Rb":0.7056,"Rf":0.7056,"wavelength":1.345},{"T":0.0,"Rb":0.7055,"Rf":0.7055,"wavelength":1.35},{"T":0.0,"Rb":0.7056,"Rf":0.7056,"wavelength":1.355},{"T":0.0,"Rb":0.7059,"Rf":0.7059,"wavelength":1.36},{"T":0.0,"Rb":0.7062,"Rf":0.7062,"wavelength":1.365},{"T":0.0,"Rb":0.7059,"Rf":0.7059,"wavelength":1.37},{"T":0.0,"Rb":0.7064,"Rf":0.7064,"wavelength":1.375},{"T":0.0,"Rb":0.7067,"Rf":0.7067,"wavelength":1.38},{"T":0.0,"Rb":0.707,"Rf":0.707,"wavelength":1.385},{"T":0.0,"Rb":0.7073,"Rf":0.7073,"wavelength":1.39},{"T":0.0,"Rb":0.7082,"Rf":0.7082,"wavelength":1.395},{"T":0.0,"Rb":0.708,"Rf":0.708,"wavelength":1.4},{"T":0.0,"Rb":0.7082,"Rf":0.7082,"wavelength":1.405},{"T":0.0,"Rb":0.7083,"Rf":0.7083,"wavelength":1.41},{"T":0.0,"Rb":0.7084,"Rf":0.7084,"wavelength":1.415},{"T":0.0,"Rb":0.7083,"Rf":0.7083,"wavelength":1.42},{"T":0.0,"Rb":0.7095,"Rf":0.7095,"wavelength":1.425},{"T":0.0,"Rb":0.7104,"Rf":0.7104,"wavelength":1.43},{"T":0.0,"Rb":0.7112,"Rf":0.7112,"wavelength":1.435},{"T":0.0,"Rb":0.7115,"Rf":0.7115,"wavelength":1.44},{"T":0.0,"Rb":0.7123,"Rf":0.7123,"wavelength":1.445},{"T":0.0,"Rb":0.7131,"Rf":0.7131,"wavelength":1.45},{"T":0.0,"Rb":0.7137,"Rf":0.7137,"wavelength":1.455},{"T":0.0,"Rb":0.7144,"Rf":0.7144,"wavelength":1.46},{"T":0.0,"Rb":0.7149,"Rf":0.7149,"wavelength":1.465},{"T":0.0,"Rb":0.7153,"Rf":0.7153,"wavelength":1.47},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":1.475},{"T":0.0,"Rb":0.7159,"Rf":0.7159,"wavelength":1.48},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":1.485},{"T":0.0,"Rb":0.7173,"Rf":0.7173,"wavelength":1.49},{"T":0.0,"Rb":0.718,"Rf":0.718,"wavelength":1.495},{"T":0.0,"Rb":0.7185,"Rf":0.7185,"wavelength":1.5},{"T":0.0,"Rb":0.7186,"Rf":0.7186,"wavelength":1.505},{"T":0.0,"Rb":0.7192,"Rf":0.7192,"wavelength":1.51},{"T":0.0,"Rb":0.7203,"Rf":0.7203,"wavelength":1.515},{"T":0.0,"Rb":0.7208,"Rf":0.7208,"wavelength":1.52},{"T":0.0,"Rb":0.7221,"Rf":0.7221,"wavelength":1.525},{"T":0.0,"Rb":0.7223,"Rf":0.7223,"wavelength":1.53},{"T":0.0,"Rb":0.7227,"Rf":0.7227,"wavelength":1.535},{"T":0.0,"Rb":0.7235,"Rf":0.7235,"wavelength":1.54},{"T":0.0,"Rb":0.7243,"Rf":0.7243,"wavelength":1.545},{"T":0.0,"Rb":0.725,"Rf":0.725,"wavelength":1.55},{"T":0.0,"Rb":0.7244,"Rf":0.7244,"wavelength":1.555},{"T":0.0,"Rb":0.7253,"Rf":0.7253,"wavelength":1.56},{"T":0.0,"Rb":0.7265,"Rf":0.7265,"wavelength":1.565},{"T":0.0,"Rb":0.7262,"Rf":0.7262,"wavelength":1.57},{"T":0.0,"Rb":0.7262,"Rf":0.7262,"wavelength":1.575},{"T":0.0,"Rb":0.727,"Rf":0.727,"wavelength":1.58},{"T":0.0,"Rb":0.7274,"Rf":0.7274,"wavelength":1.585},{"T":0.0,"Rb":0.7284,"Rf":0.7284,"wavelength":1.59},{"T":0.0,"Rb":0.7284,"Rf":0.7284,"wavelength":1.595},{"T":0.0,"Rb":0.7285,"Rf":0.7285,"wavelength":1.6},{"T":0.0,"Rb":0.7289,"Rf":0.7289,"wavelength":1.605},{"T":0.0,"Rb":0.7292,"Rf":0.7292,"wavelength":1.61},{"T":0.0,"Rb":0.7294,"Rf":0.7294,"wavelength":1.615},{"T":0.0,"Rb":0.7287,"Rf":0.7287,"wavelength":1.62},{"T":0.0,"Rb":0.7285,"Rf":0.7285,"wavelength":1.625},{"T":0.0,"Rb":0.7279,"Rf":0.7279,"wavelength":1.63},{"T":0.0,"Rb":0.7266,"Rf":0.7266,"wavelength":1.635},{"T":0.0,"Rb":0.7252,"Rf":0.7252,"wavelength":1.64},{"T":0.0,"Rb":0.7229,"Rf":0.7229,"wavelength":1.645},{"T":0.0,"Rb":0.7178,"Rf":0.7178,"wavelength":1.65},{"T":0.0,"Rb":0.7141,"Rf":0.7141,"wavelength":1.655},{"T":0.0,"Rb":0.7101,"Rf":0.7101,"wavelength":1.66},{"T":0.0,"Rb":0.7081,"Rf":0.7081,"wavelength":1.665},{"T":0.0,"Rb":0.7093,"Rf":0.7093,"wavelength":1.67},{"T":0.0,"Rb":0.7108,"Rf":0.7108,"wavelength":1.675},{"T":0.0,"Rb":0.7109,"Rf":0.7109,"wavelength":1.68},{"T":0.0,"Rb":0.7102,"Rf":0.7102,"wavelength":1.685},{"T":0.0,"Rb":0.7102,"Rf":0.7102,"wavelength":1.69},{"T":0.0,"Rb":0.7113,"Rf":0.7113,"wavelength":1.695},{"T":0.0,"Rb":0.7127,"Rf":0.7127,"wavelength":1.7},{"T":0.0,"Rb":0.7139,"Rf":0.7139,"wavelength":1.705},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":1.71},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":1.715},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":1.72},{"T":0.0,"Rb":0.7159,"Rf":0.7159,"wavelength":1.725},{"T":0.0,"Rb":0.7153,"Rf":0.7153,"wavelength":1.73},{"T":0.0,"Rb":0.7171,"Rf":0.7171,"wavelength":1.735},{"T":0.0,"Rb":0.7178,"Rf":0.7178,"wavelength":1.74},{"T":0.0,"Rb":0.7183,"Rf":0.7183,"wavelength":1.745},{"T":0.0,"Rb":0.7206,"Rf":0.7206,"wavelength":1.75},{"T":0.0,"Rb":0.7213,"Rf":0.7213,"wavelength":1.755},{"T":0.0,"Rb":0.7231,"Rf":0.7231,"wavelength":1.76},{"T":0.0,"Rb":0.7251,"Rf":0.7251,"wavelength":1.765},{"T":0.0,"Rb":0.7266,"Rf":0.7266,"wavelength":1.77},{"T":0.0,"Rb":0.7291,"Rf":0.7291,"wavelength":1.775},{"T":0.0,"Rb":0.7303,"Rf":0.7303,"wavelength":1.78},{"T":0.0,"Rb":0.7315,"Rf":0.7315,"wavelength":1.785},{"T":0.0,"Rb":0.7327,"Rf":0.7327,"wavelength":1.79},{"T":0.0,"Rb":0.7332,"Rf":0.7332,"wavelength":1.795},{"T":0.0,"Rb":0.7339,"Rf":0.7339,"wavelength":1.8},{"T":0.0,"Rb":0.7346,"Rf":0.7346,"wavelength":1.805},{"T":0.0,"Rb":0.7345,"Rf":0.7345,"wavelength":1.81},{"T":0.0,"Rb":0.7359,"Rf":0.7359,"wavelength":1.815},{"T":0.0,"Rb":0.735,"Rf":0.735,"wavelength":1.82},{"T":0.0,"Rb":0.736,"Rf":0.736,"wavelength":1.825},{"T":0.0,"Rb":0.7372,"Rf":0.7372,"wavelength":1.83},{"T":0.0,"Rb":0.7377,"Rf":0.7377,"wavelength":1.835},{"T":0.0,"Rb":0.7391,"Rf":0.7391,"wavelength":1.84},{"T":0.0,"Rb":0.7382,"Rf":0.7382,"wavelength":1.845},{"T":0.0,"Rb":0.7397,"Rf":0.7397,"wavelength":1.85},{"T":0.0,"Rb":0.7411,"Rf":0.7411,"wavelength":1.855},{"T":0.0,"Rb":0.742,"Rf":0.742,"wavelength":1.86},{"T":0.0,"Rb":0.7416,"Rf":0.7416,"wavelength":1.865},{"T":0.0,"Rb":0.7415,"Rf":0.7415,"wavelength":1.87},{"T":0.0,"Rb":0.7425,"Rf":0.7425,"wavelength":1.875},{"T":0.0,"Rb":0.7432,"Rf":0.7432,"wavelength":1.88},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":1.885},{"T":0.0,"Rb":0.7415,"Rf":0.7415,"wavelength":1.89},{"T":0.0,"Rb":0.7406,"Rf":0.7406,"wavelength":1.895},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":1.9},{"T":0.0,"Rb":0.7389,"Rf":0.7389,"wavelength":1.905},{"T":0.0,"Rb":0.7393,"Rf":0.7393,"wavelength":1.91},{"T":0.0,"Rb":0.7395,"Rf":0.7395,"wavelength":1.915},{"T":0.0,"Rb":0.7401,"Rf":0.7401,"wavelength":1.92},{"T":0.0,"Rb":0.7397,"Rf":0.7397,"wavelength":1.925},{"T":0.0,"Rb":0.7408,"Rf":0.7408,"wavelength":1.93},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":1.935},{"T":0.0,"Rb":0.7423,"Rf":0.7423,"wavelength":1.94},{"T":0.0,"Rb":0.7423,"Rf":0.7423,"wavelength":1.945},{"T":0.0,"Rb":0.7422,"Rf":0.7422,"wavelength":1.95},{"T":0.0,"Rb":0.7435,"Rf":0.7435,"wavelength":1.955},{"T":0.0,"Rb":0.7422,"Rf":0.7422,"wavelength":1.96},{"T":0.0,"Rb":0.7432,"Rf":0.7432,"wavelength":1.965},{"T":0.0,"Rb":0.7449,"Rf":0.7449,"wavelength":1.97},{"T":0.0,"Rb":0.7479,"Rf":0.7479,"wavelength":1.975},{"T":0.0,"Rb":0.7477,"Rf":0.7477,"wavelength":1.98},{"T":0.0,"Rb":0.7479,"Rf":0.7479,"wavelength":1.985},{"T":0.0,"Rb":0.7481,"Rf":0.7481,"wavelength":1.99},{"T":0.0,"Rb":0.7493,"Rf":0.7493,"wavelength":1.995},{"T":0.0,"Rb":0.7496,"Rf":0.7496,"wavelength":2.0},{"T":0.0,"Rb":0.7501,"Rf":0.7501,"wavelength":2.005},{"T":0.0,"Rb":0.7503,"Rf":0.7503,"wavelength":2.01},{"T":0.0,"Rb":0.7518,"Rf":0.7518,"wavelength":2.015},{"T":0.0,"Rb":0.7517,"Rf":0.7517,"wavelength":2.02},{"T":0.0,"Rb":0.7523,"Rf":0.7523,"wavelength":2.025},{"T":0.0,"Rb":0.7528,"Rf":0.7528,"wavelength":2.03},{"T":0.0,"Rb":0.7531,"Rf":0.7531,"wavelength":2.035},{"T":0.0,"Rb":0.7531,"Rf":0.7531,"wavelength":2.04},{"T":0.0,"Rb":0.7529,"Rf":0.7529,"wavelength":2.045},{"T":0.0,"Rb":0.7539,"Rf":0.7539,"wavelength":2.05},{"T":0.0,"Rb":0.7564,"Rf":0.7564,"wavelength":2.055},{"T":0.0,"Rb":0.7556,"Rf":0.7556,"wavelength":2.06},{"T":0.0,"Rb":0.7544,"Rf":0.7544,"wavelength":2.065},{"T":0.0,"Rb":0.7537,"Rf":0.7537,"wavelength":2.07},{"T":0.0,"Rb":0.7541,"Rf":0.7541,"wavelength":2.075},{"T":0.0,"Rb":0.7517,"Rf":0.7517,"wavelength":2.08},{"T":0.0,"Rb":0.7532,"Rf":0.7532,"wavelength":2.085},{"T":0.0,"Rb":0.7546,"Rf":0.7546,"wavelength":2.09},{"T":0.0,"Rb":0.7541,"Rf":0.7541,"wavelength":2.095},{"T":0.0,"Rb":0.7539,"Rf":0.7539,"wavelength":2.1},{"T":0.0,"Rb":0.7555,"Rf":0.7555,"wavelength":2.105},{"T":0.0,"Rb":0.7536,"Rf":0.7536,"wavelength":2.11},{"T":0.0,"Rb":0.7544,"Rf":0.7544,"wavelength":2.115},{"T":0.0,"Rb":0.7501,"Rf":0.7501,"wavelength":2.12},{"T":0.0,"Rb":0.7442,"Rf":0.7442,"wavelength":2.125},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":2.13},{"T":0.0,"Rb":0.7331,"Rf":0.7331,"wavelength":2.135},{"T":0.0,"Rb":0.7283,"Rf":0.7283,"wavelength":2.14},{"T":0.0,"Rb":0.7282,"Rf":0.7282,"wavelength":2.145},{"T":0.0,"Rb":0.731,"Rf":0.731,"wavelength":2.15},{"T":0.0,"Rb":0.7431,"Rf":0.7431,"wavelength":2.155},{"T":0.0,"Rb":0.7431,"Rf":0.7431,"wavelength":2.16},{"T":0.0,"Rb":0.7459,"Rf":0.7459,"wavelength":2.165},{"T":0.0,"Rb":0.7519,"Rf":0.7519,"wavelength":2.17},{"T":0.0,"Rb":0.753,"Rf":0.753,"wavelength":2.175},{"T":0.0,"Rb":0.7488,"Rf":0.7488,"wavelength":2.18},{"T":0.0,"Rb":0.7548,"Rf":0.7548,"wavelength":2.185},{"T":0.0,"Rb":0.7505,"Rf":0.7505,"wavelength":2.19},{"T":0.0,"Rb":0.7495,"Rf":0.7495,"wavelength":2.195},{"T":0.0,"Rb":0.7456,"Rf":0.7456,"wavelength":2.2},{"T":0.0,"Rb":0.7457,"Rf":0.7457,"wavelength":2.205},{"T":0.0,"Rb":0.7468,"Rf":0.7468,"wavelength":2.21},{"T":0.0,"Rb":0.744,"Rf":0.744,"wavelength":2.215},{"T":0.0,"Rb":0.7412,"Rf":0.7412,"wavelength":2.22},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":2.225},{"T":0.0,"Rb":0.7395,"Rf":0.7395,"wavelength":2.23},{"T":0.0,"Rb":0.7341,"Rf":0.7341,"wavelength":2.235},{"T":0.0,"Rb":0.7227,"Rf":0.7227,"wavelength":2.24},{"T":0.0,"Rb":0.7105,"Rf":0.7105,"wavelength":2.245},{"T":0.0,"Rb":0.6971,"Rf":0.6971,"wavelength":2.25},{"T":0.0,"Rb":0.676,"Rf":0.676,"wavelength":2.255},{"T":0.0,"Rb":0.6582,"Rf":0.6582,"wavelength":2.26},{"T":0.0,"Rb":0.646,"Rf":0.646,"wavelength":2.265},{"T":0.0,"Rb":0.6434,"Rf":0.6434,"wavelength":2.27},{"T":0.0,"Rb":0.6433,"Rf":0.6433,"wavelength":2.275},{"T":0.0,"Rb":0.6464,"Rf":0.6464,"wavelength":2.28},{"T":0.0,"Rb":0.6496,"Rf":0.6496,"wavelength":2.285},{"T":0.0,"Rb":0.6549,"Rf":0.6549,"wavelength":2.29},{"T":0.0,"Rb":0.6597,"Rf":0.6597,"wavelength":2.295},{"T":0.0,"Rb":0.6562,"Rf":0.6562,"wavelength":2.3},{"T":0.0,"Rb":0.6573,"Rf":0.6573,"wavelength":2.305},{"T":0.0,"Rb":0.6587,"Rf":0.6587,"wavelength":2.31},{"T":0.0,"Rb":0.66,"Rf":0.66,"wavelength":2.315},{"T":0.0,"Rb":0.6659,"Rf":0.6659,"wavelength":2.32},{"T":0.0,"Rb":0.6758,"Rf":0.6758,"wavelength":2.325},{"T":0.0,"Rb":0.676,"Rf":0.676,"wavelength":2.33},{"T":0.0,"Rb":0.6785,"Rf":0.6785,"wavelength":2.335},{"T":0.0,"Rb":0.68,"Rf":0.68,"wavelength":2.34},{"T":0.0,"Rb":0.681,"Rf":0.681,"wavelength":2.345},{"T":0.0,"Rb":0.6778,"Rf":0.6778,"wavelength":2.35},{"T":0.0,"Rb":0.6796,"Rf":0.6796,"wavelength":2.355},{"T":0.0,"Rb":0.683,"Rf":0.683,"wavelength":2.36},{"T":0.0,"Rb":0.6793,"Rf":0.6793,"wavelength":2.365},{"T":0.0,"Rb":0.6823,"Rf":0.6823,"wavelength":2.37},{"T":0.0,"Rb":0.6864,"Rf":0.6864,"wavelength":2.375},{"T":0.0,"Rb":0.6836,"Rf":0.6836,"wavelength":2.38},{"T":0.0,"Rb":0.6786,"Rf":0.6786,"wavelength":2.385},{"T":0.0,"Rb":0.6835,"Rf":0.6835,"wavelength":2.39},{"T":0.0,"Rb":0.6795,"Rf":0.6795,"wavelength":2.395},{"T":0.0,"Rb":0.6834,"Rf":0.6834,"wavelength":2.4},{"T":0.0,"Rb":0.689,"Rf":0.689,"wavelength":2.405},{"T":0.0,"Rb":0.686,"Rf":0.686,"wavelength":2.41},{"T":0.0,"Rb":0.6899,"Rf":0.6899,"wavelength":2.415},{"T":0.0,"Rb":0.6884,"Rf":0.6884,"wavelength":2.42},{"T":0.0,"Rb":0.6912,"Rf":0.6912,"wavelength":2.425},{"T":0.0,"Rb":0.6936,"Rf":0.6936,"wavelength":2.43},{"T":0.0,"Rb":0.6945,"Rf":0.6945,"wavelength":2.435},{"T":0.0,"Rb":0.6927,"Rf":0.6927,"wavelength":2.44},{"T":0.0,"Rb":0.6792,"Rf":0.6792,"wavelength":2.445},{"T":0.0,"Rb":0.6733,"Rf":0.6733,"wavelength":2.45},{"T":0.0,"Rb":0.6649,"Rf":0.6649,"wavelength":2.455},{"T":0.0,"Rb":0.6712,"Rf":0.6712,"wavelength":2.46},{"T":0.0,"Rb":0.6756,"Rf":0.6756,"wavelength":2.465},{"T":0.0,"Rb":0.6799,"Rf":0.6799,"wavelength":2.47},{"T":0.0,"Rb":0.6874,"Rf":0.6874,"wavelength":2.475},{"T":0.0,"Rb":0.6999,"Rf":0.6999,"wavelength":2.48},{"T":0.0,"Rb":0.6993,"Rf":0.6993,"wavelength":2.485},{"T":0.0,"Rb":0.7081,"Rf":0.7081,"wavelength":2.49},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":2.495},{"T":0.0,"Rb":0.719,"Rf":0.719,"wavelength":2.5}],"dual_band_values":{"Rb_sol_diffuse":0.6767141,"Rb_vis_diffuse":0.7434482,"Rf_sol_diffuse":0.6767141,"Rf_vis_diffuse":0.7434482,"Tb_sol_diffuse":0.0,"Tb_vis_diffuse":0.0,"Tf_sol_diffuse":0.0,"Tf_vis_diffuse":0.0,"Rb_sol_specular":0.0,"Rb_vis_specular":null,"Rf_sol_specular":0.0,"Rf_vis_specular":0.0,"Tb_sol_specular":0.0,"Tb_vis_specular":0.0,"Tf_sol_specular":0.0,"Tf_vis_specular":0.0}}}]}} diff --git a/test/products/igsdb_12295.json b/test/products/igsdb_12295.json new file mode 100644 index 0000000..fc5d03f --- /dev/null +++ b/test/products/igsdb_12295.json @@ -0,0 +1 @@ +{"product_id":12295,"name":"Solar Comfort Radiant Barrier","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":18000,"cgdb_database_version":"4","acceptance":"@","appearance":null,"manufacturer_name":"Solar Comfort","data_file_name":null,"data_file_available":false,"short_description":null,"type":"shading","subtype":"perforated-screen","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":false,"thickness":null,"tir_front":null,"tir_back":null,"emissivity_front":null,"emissivity_back":null,"conductivity":null,"permeability_factor":0.37},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":null,"tbsol":null,"rfsol":null,"rbsol":null,"tfvis":null,"tbvis":null,"rfvis":null,"rbvis":null,"tdw":null,"tuv":null,"tspf":null,"tkr":null,"tciex":null,"tciey":null,"tciez":null,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":null,"rfciey":null,"rfciez":null,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"spectral_data":null,"composition_information":{"geometry":{"spacing_x":1.69,"spacing_y":1.69,"dimension_x":0.58,"dimension_y":6.35,"perforation_type":"Circular"},"materials":[{"product_id":12854,"name":"SCRadiantBarrier.txt","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":null,"cgdb_database_version":"4.0","acceptance":"@","appearance":null,"manufacturer_name":"Solar Comfort","data_file_name":"SCRadiantBarrier.txt","data_file_available":false,"short_description":null,"type":"material","subtype":"other","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":true,"thickness":0.23,"tir_front":0.0,"tir_back":null,"emissivity_front":0.863,"emissivity_back":0.84,"conductivity":0.12,"permeability_factor":null},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":0.0,"tbsol":null,"rfsol":0.845964729785919,"rbsol":null,"tfvis":0.0,"tbvis":null,"rfvis":0.8699533,"rbvis":0.4754288,"tdw":0.0,"tuv":0.0,"tspf":10000.0,"tkr":null,"tciex":0.0,"tciey":0.0,"tciez":0.0,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":81.94081,"rfciey":86.88152,"rfciez":90.12293,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"spectral_data":{"spectral_data":[{"T":0.0,"Rb":0.0674,"Rf":0.0794,"wavelength":0.3},{"T":0.0,"Rb":0.0669,"Rf":0.0953,"wavelength":0.305},{"T":0.0,"Rb":0.0663,"Rf":0.1577,"wavelength":0.31},{"T":0.0,"Rb":0.0651,"Rf":0.262,"wavelength":0.315},{"T":0.0,"Rb":0.0638,"Rf":0.3688,"wavelength":0.32},{"T":0.0,"Rb":0.0625,"Rf":0.445,"wavelength":0.325},{"T":0.0,"Rb":0.0614,"Rf":0.5006,"wavelength":0.33},{"T":0.0,"Rb":0.0605,"Rf":0.5515,"wavelength":0.335},{"T":0.0,"Rb":0.0603,"Rf":0.6044,"wavelength":0.34},{"T":0.0,"Rb":0.0612,"Rf":0.6534,"wavelength":0.345},{"T":0.0,"Rb":0.0635,"Rf":0.6938,"wavelength":0.35},{"T":0.0,"Rb":0.0674,"Rf":0.7303,"wavelength":0.355},{"T":0.0,"Rb":0.0728,"Rf":0.7649,"wavelength":0.36},{"T":0.0,"Rb":0.0801,"Rf":0.7881,"wavelength":0.365},{"T":0.0,"Rb":0.0896,"Rf":0.8012,"wavelength":0.37},{"T":0.0,"Rb":0.1026,"Rf":0.8125,"wavelength":0.375},{"T":0.0,"Rb":0.1206,"Rf":0.825,"wavelength":0.38},{"T":0.0,"Rb":0.1485,"Rf":0.8299,"wavelength":0.385},{"T":0.0,"Rb":0.1934,"Rf":0.8232,"wavelength":0.39},{"T":0.0,"Rb":0.2594,"Rf":0.8162,"wavelength":0.395},{"T":0.0,"Rb":0.3358,"Rf":0.813,"wavelength":0.4},{"T":0.0,"Rb":0.4036,"Rf":0.8089,"wavelength":0.405},{"T":0.0,"Rb":0.4459,"Rf":0.8041,"wavelength":0.41},{"T":0.0,"Rb":0.4644,"Rf":0.802,"wavelength":0.415},{"T":0.0,"Rb":0.4695,"Rf":0.8044,"wavelength":0.42},{"T":0.0,"Rb":0.4697,"Rf":0.8113,"wavelength":0.425},{"T":0.0,"Rb":0.4689,"Rf":0.8192,"wavelength":0.43},{"T":0.0,"Rb":0.468,"Rf":0.8266,"wavelength":0.435},{"T":0.0,"Rb":0.4672,"Rf":0.8329,"wavelength":0.44},{"T":0.0,"Rb":0.4665,"Rf":0.8382,"wavelength":0.445},{"T":0.0,"Rb":0.4661,"Rf":0.843,"wavelength":0.45},{"T":0.0,"Rb":0.4652,"Rf":0.8466,"wavelength":0.455},{"T":0.0,"Rb":0.4648,"Rf":0.8498,"wavelength":0.46},{"T":0.0,"Rb":0.464,"Rf":0.852,"wavelength":0.465},{"T":0.0,"Rb":0.4632,"Rf":0.8545,"wavelength":0.47},{"T":0.0,"Rb":0.4622,"Rf":0.8563,"wavelength":0.475},{"T":0.0,"Rb":0.4617,"Rf":0.8583,"wavelength":0.48},{"T":0.0,"Rb":0.4607,"Rf":0.8597,"wavelength":0.485},{"T":0.0,"Rb":0.4599,"Rf":0.8608,"wavelength":0.49},{"T":0.0,"Rb":0.4599,"Rf":0.8628,"wavelength":0.495},{"T":0.0,"Rb":0.461,"Rf":0.8644,"wavelength":0.5},{"T":0.0,"Rb":0.4642,"Rf":0.8658,"wavelength":0.505},{"T":0.0,"Rb":0.4694,"Rf":0.8668,"wavelength":0.51},{"T":0.0,"Rb":0.475,"Rf":0.8677,"wavelength":0.515},{"T":0.0,"Rb":0.4789,"Rf":0.8685,"wavelength":0.52},{"T":0.0,"Rb":0.481,"Rf":0.8695,"wavelength":0.525},{"T":0.0,"Rb":0.4823,"Rf":0.8703,"wavelength":0.53},{"T":0.0,"Rb":0.4825,"Rf":0.8713,"wavelength":0.535},{"T":0.0,"Rb":0.4821,"Rf":0.872,"wavelength":0.54},{"T":0.0,"Rb":0.4814,"Rf":0.8718,"wavelength":0.545},{"T":0.0,"Rb":0.4808,"Rf":0.8725,"wavelength":0.55},{"T":0.0,"Rb":0.4801,"Rf":0.8728,"wavelength":0.555},{"T":0.0,"Rb":0.4791,"Rf":0.8728,"wavelength":0.56},{"T":0.0,"Rb":0.4779,"Rf":0.8731,"wavelength":0.565},{"T":0.0,"Rb":0.4769,"Rf":0.8733,"wavelength":0.57},{"T":0.0,"Rb":0.4758,"Rf":0.8726,"wavelength":0.575},{"T":0.0,"Rb":0.4756,"Rf":0.8737,"wavelength":0.58},{"T":0.0,"Rb":0.4749,"Rf":0.8733,"wavelength":0.585},{"T":0.0,"Rb":0.4743,"Rf":0.8731,"wavelength":0.59},{"T":0.0,"Rb":0.4733,"Rf":0.8721,"wavelength":0.595},{"T":0.0,"Rb":0.4722,"Rf":0.8716,"wavelength":0.6},{"T":0.0,"Rb":0.4715,"Rf":0.8715,"wavelength":0.605},{"T":0.0,"Rb":0.4712,"Rf":0.8711,"wavelength":0.61},{"T":0.0,"Rb":0.4707,"Rf":0.87,"wavelength":0.615},{"T":0.0,"Rb":0.4706,"Rf":0.8696,"wavelength":0.62},{"T":0.0,"Rb":0.4705,"Rf":0.8689,"wavelength":0.625},{"T":0.0,"Rb":0.4708,"Rf":0.8684,"wavelength":0.63},{"T":0.0,"Rb":0.4708,"Rf":0.8676,"wavelength":0.635},{"T":0.0,"Rb":0.4708,"Rf":0.8669,"wavelength":0.64},{"T":0.0,"Rb":0.4704,"Rf":0.8656,"wavelength":0.645},{"T":0.0,"Rb":0.4705,"Rf":0.8648,"wavelength":0.65},{"T":0.0,"Rb":0.4704,"Rf":0.8643,"wavelength":0.655},{"T":0.0,"Rb":0.4697,"Rf":0.8633,"wavelength":0.66},{"T":0.0,"Rb":0.4688,"Rf":0.8626,"wavelength":0.665},{"T":0.0,"Rb":0.4675,"Rf":0.8618,"wavelength":0.67},{"T":0.0,"Rb":0.466,"Rf":0.8607,"wavelength":0.675},{"T":0.0,"Rb":0.4651,"Rf":0.8597,"wavelength":0.68},{"T":0.0,"Rb":0.4646,"Rf":0.8591,"wavelength":0.685},{"T":0.0,"Rb":0.4641,"Rf":0.8581,"wavelength":0.69},{"T":0.0,"Rb":0.4636,"Rf":0.8568,"wavelength":0.695},{"T":0.0,"Rb":0.4632,"Rf":0.8558,"wavelength":0.7},{"T":0.0,"Rb":0.4633,"Rf":0.8552,"wavelength":0.705},{"T":0.0,"Rb":0.4638,"Rf":0.8543,"wavelength":0.71},{"T":0.0,"Rb":0.4643,"Rf":0.8528,"wavelength":0.715},{"T":0.0,"Rb":0.4652,"Rf":0.8522,"wavelength":0.72},{"T":0.0,"Rb":0.4654,"Rf":0.8506,"wavelength":0.725},{"T":0.0,"Rb":0.4657,"Rf":0.8496,"wavelength":0.73},{"T":0.0,"Rb":0.4659,"Rf":0.8485,"wavelength":0.735},{"T":0.0,"Rb":0.4662,"Rf":0.8471,"wavelength":0.74},{"T":0.0,"Rb":0.4662,"Rf":0.8456,"wavelength":0.745},{"T":0.0,"Rb":0.4663,"Rf":0.8449,"wavelength":0.75},{"T":0.0,"Rb":0.4658,"Rf":0.8431,"wavelength":0.755},{"T":0.0,"Rb":0.4655,"Rf":0.8422,"wavelength":0.76},{"T":0.0,"Rb":0.4653,"Rf":0.8408,"wavelength":0.765},{"T":0.0,"Rb":0.4648,"Rf":0.8397,"wavelength":0.77},{"T":0.0,"Rb":0.4642,"Rf":0.8382,"wavelength":0.775},{"T":0.0,"Rb":0.4632,"Rf":0.8366,"wavelength":0.78},{"T":0.0,"Rb":0.4628,"Rf":0.8354,"wavelength":0.785},{"T":0.0,"Rb":0.4619,"Rf":0.8341,"wavelength":0.79},{"T":0.0,"Rb":0.461,"Rf":0.8319,"wavelength":0.795},{"T":0.0,"Rb":0.4603,"Rf":0.8311,"wavelength":0.8},{"T":0.0,"Rb":0.4602,"Rf":0.8293,"wavelength":0.805},{"T":0.0,"Rb":0.4596,"Rf":0.8287,"wavelength":0.81},{"T":0.0,"Rb":0.4591,"Rf":0.828,"wavelength":0.815},{"T":0.0,"Rb":0.4591,"Rf":0.8271,"wavelength":0.82},{"T":0.0,"Rb":0.4589,"Rf":0.8261,"wavelength":0.825},{"T":0.0,"Rb":0.4593,"Rf":0.8259,"wavelength":0.83},{"T":0.0,"Rb":0.4593,"Rf":0.8245,"wavelength":0.835},{"T":0.0,"Rb":0.4594,"Rf":0.8244,"wavelength":0.84},{"T":0.0,"Rb":0.4617,"Rf":0.8264,"wavelength":0.845},{"T":0.0,"Rb":0.4611,"Rf":0.8255,"wavelength":0.85},{"T":0.0,"Rb":0.4612,"Rf":0.8247,"wavelength":0.855},{"T":0.0,"Rb":0.4592,"Rf":0.8227,"wavelength":0.86},{"T":0.0,"Rb":0.4651,"Rf":0.828,"wavelength":0.865},{"T":0.0,"Rb":0.4674,"Rf":0.8261,"wavelength":0.87},{"T":0.0,"Rb":0.4661,"Rf":0.8273,"wavelength":0.875},{"T":0.0,"Rb":0.469,"Rf":0.8287,"wavelength":0.88},{"T":0.0,"Rb":0.4682,"Rf":0.8295,"wavelength":0.885},{"T":0.0,"Rb":0.4723,"Rf":0.832,"wavelength":0.89},{"T":0.0,"Rb":0.4711,"Rf":0.8291,"wavelength":0.895},{"T":0.0,"Rb":0.4727,"Rf":0.8326,"wavelength":0.9},{"T":0.0,"Rb":0.4743,"Rf":0.8323,"wavelength":0.905},{"T":0.0,"Rb":0.4756,"Rf":0.8338,"wavelength":0.91},{"T":0.0,"Rb":0.4791,"Rf":0.8356,"wavelength":0.915},{"T":0.0,"Rb":0.4816,"Rf":0.8391,"wavelength":0.92},{"T":0.0,"Rb":0.4806,"Rf":0.8391,"wavelength":0.925},{"T":0.0,"Rb":0.4841,"Rf":0.8414,"wavelength":0.93},{"T":0.0,"Rb":0.4858,"Rf":0.8423,"wavelength":0.935},{"T":0.0,"Rb":0.4877,"Rf":0.8435,"wavelength":0.94},{"T":0.0,"Rb":0.4882,"Rf":0.8442,"wavelength":0.945},{"T":0.0,"Rb":0.4908,"Rf":0.8456,"wavelength":0.95},{"T":0.0,"Rb":0.4923,"Rf":0.8478,"wavelength":0.955},{"T":0.0,"Rb":0.4948,"Rf":0.8483,"wavelength":0.96},{"T":0.0,"Rb":0.4967,"Rf":0.8499,"wavelength":0.965},{"T":0.0,"Rb":0.4993,"Rf":0.8505,"wavelength":0.97},{"T":0.0,"Rb":0.5,"Rf":0.8534,"wavelength":0.975},{"T":0.0,"Rb":0.5004,"Rf":0.8528,"wavelength":0.98},{"T":0.0,"Rb":0.5008,"Rf":0.8542,"wavelength":0.985},{"T":0.0,"Rb":0.5038,"Rf":0.8557,"wavelength":0.99},{"T":0.0,"Rb":0.5051,"Rf":0.8546,"wavelength":0.995},{"T":0.0,"Rb":0.5056,"Rf":0.8569,"wavelength":1.0},{"T":0.0,"Rb":0.5078,"Rf":0.8574,"wavelength":1.005},{"T":0.0,"Rb":0.5083,"Rf":0.8586,"wavelength":1.01},{"T":0.0,"Rb":0.5101,"Rf":0.8601,"wavelength":1.015},{"T":0.0,"Rb":0.5117,"Rf":0.8609,"wavelength":1.02},{"T":0.0,"Rb":0.5125,"Rf":0.8614,"wavelength":1.025},{"T":0.0,"Rb":0.5129,"Rf":0.8614,"wavelength":1.03},{"T":0.0,"Rb":0.516,"Rf":0.8637,"wavelength":1.035},{"T":0.0,"Rb":0.5171,"Rf":0.864,"wavelength":1.04},{"T":0.0,"Rb":0.5177,"Rf":0.8646,"wavelength":1.045},{"T":0.0,"Rb":0.5203,"Rf":0.8659,"wavelength":1.05},{"T":0.0,"Rb":0.5206,"Rf":0.8668,"wavelength":1.055},{"T":0.0,"Rb":0.5211,"Rf":0.867,"wavelength":1.06},{"T":0.0,"Rb":0.5233,"Rf":0.8678,"wavelength":1.065},{"T":0.0,"Rb":0.524,"Rf":0.8686,"wavelength":1.07},{"T":0.0,"Rb":0.5254,"Rf":0.8696,"wavelength":1.075},{"T":0.0,"Rb":0.5253,"Rf":0.8699,"wavelength":1.08},{"T":0.0,"Rb":0.5273,"Rf":0.8703,"wavelength":1.085},{"T":0.0,"Rb":0.5281,"Rf":0.8707,"wavelength":1.09},{"T":0.0,"Rb":0.5287,"Rf":0.8711,"wavelength":1.095},{"T":0.0,"Rb":0.5299,"Rf":0.8724,"wavelength":1.1},{"T":0.0,"Rb":0.5314,"Rf":0.8716,"wavelength":1.105},{"T":0.0,"Rb":0.5316,"Rf":0.8713,"wavelength":1.11},{"T":0.0,"Rb":0.5308,"Rf":0.8697,"wavelength":1.115},{"T":0.0,"Rb":0.5307,"Rf":0.8669,"wavelength":1.12},{"T":0.0,"Rb":0.5297,"Rf":0.8637,"wavelength":1.125},{"T":0.0,"Rb":0.5297,"Rf":0.8627,"wavelength":1.13},{"T":0.0,"Rb":0.5298,"Rf":0.8625,"wavelength":1.135},{"T":0.0,"Rb":0.5319,"Rf":0.8655,"wavelength":1.14},{"T":0.0,"Rb":0.5332,"Rf":0.8677,"wavelength":1.145},{"T":0.0,"Rb":0.5344,"Rf":0.8695,"wavelength":1.15},{"T":0.0,"Rb":0.5342,"Rf":0.8695,"wavelength":1.155},{"T":0.0,"Rb":0.5337,"Rf":0.8697,"wavelength":1.16},{"T":0.0,"Rb":0.5327,"Rf":0.869,"wavelength":1.165},{"T":0.0,"Rb":0.5316,"Rf":0.8682,"wavelength":1.17},{"T":0.0,"Rb":0.5317,"Rf":0.8689,"wavelength":1.175},{"T":0.0,"Rb":0.5322,"Rf":0.8682,"wavelength":1.18},{"T":0.0,"Rb":0.534,"Rf":0.8702,"wavelength":1.185},{"T":0.0,"Rb":0.5354,"Rf":0.8722,"wavelength":1.19},{"T":0.0,"Rb":0.5357,"Rf":0.8737,"wavelength":1.195},{"T":0.0,"Rb":0.5377,"Rf":0.8755,"wavelength":1.2},{"T":0.0,"Rb":0.5404,"Rf":0.877,"wavelength":1.205},{"T":0.0,"Rb":0.5429,"Rf":0.8777,"wavelength":1.21},{"T":0.0,"Rb":0.5454,"Rf":0.8788,"wavelength":1.215},{"T":0.0,"Rb":0.5481,"Rf":0.8794,"wavelength":1.22},{"T":0.0,"Rb":0.55,"Rf":0.8797,"wavelength":1.225},{"T":0.0,"Rb":0.5523,"Rf":0.8803,"wavelength":1.23},{"T":0.0,"Rb":0.5547,"Rf":0.8812,"wavelength":1.235},{"T":0.0,"Rb":0.5555,"Rf":0.8813,"wavelength":1.24},{"T":0.0,"Rb":0.5568,"Rf":0.882,"wavelength":1.245},{"T":0.0,"Rb":0.5581,"Rf":0.8831,"wavelength":1.25},{"T":0.0,"Rb":0.559,"Rf":0.8836,"wavelength":1.255},{"T":0.0,"Rb":0.5596,"Rf":0.8832,"wavelength":1.26},{"T":0.0,"Rb":0.5616,"Rf":0.884,"wavelength":1.265},{"T":0.0,"Rb":0.5626,"Rf":0.8839,"wavelength":1.27},{"T":0.0,"Rb":0.5635,"Rf":0.8845,"wavelength":1.275},{"T":0.0,"Rb":0.5641,"Rf":0.8845,"wavelength":1.28},{"T":0.0,"Rb":0.5653,"Rf":0.884,"wavelength":1.285},{"T":0.0,"Rb":0.5655,"Rf":0.8842,"wavelength":1.29},{"T":0.0,"Rb":0.5666,"Rf":0.8844,"wavelength":1.295},{"T":0.0,"Rb":0.5678,"Rf":0.8846,"wavelength":1.3},{"T":0.0,"Rb":0.568,"Rf":0.8842,"wavelength":1.305},{"T":0.0,"Rb":0.5689,"Rf":0.8842,"wavelength":1.31},{"T":0.0,"Rb":0.5696,"Rf":0.8844,"wavelength":1.315},{"T":0.0,"Rb":0.57,"Rf":0.8842,"wavelength":1.32},{"T":0.0,"Rb":0.5706,"Rf":0.8835,"wavelength":1.325},{"T":0.0,"Rb":0.5716,"Rf":0.8823,"wavelength":1.33},{"T":0.0,"Rb":0.5715,"Rf":0.8825,"wavelength":1.335},{"T":0.0,"Rb":0.5716,"Rf":0.882,"wavelength":1.34},{"T":0.0,"Rb":0.5712,"Rf":0.8804,"wavelength":1.345},{"T":0.0,"Rb":0.5715,"Rf":0.878,"wavelength":1.35},{"T":0.0,"Rb":0.5705,"Rf":0.8762,"wavelength":1.355},{"T":0.0,"Rb":0.5704,"Rf":0.8745,"wavelength":1.36},{"T":0.0,"Rb":0.57,"Rf":0.873,"wavelength":1.365},{"T":0.0,"Rb":0.5693,"Rf":0.8722,"wavelength":1.37},{"T":0.0,"Rb":0.5686,"Rf":0.8712,"wavelength":1.375},{"T":0.0,"Rb":0.567,"Rf":0.8695,"wavelength":1.38},{"T":0.0,"Rb":0.5671,"Rf":0.8682,"wavelength":1.385},{"T":0.0,"Rb":0.5661,"Rf":0.8663,"wavelength":1.39},{"T":0.0,"Rb":0.5656,"Rf":0.8635,"wavelength":1.395},{"T":0.0,"Rb":0.5642,"Rf":0.8608,"wavelength":1.4},{"T":0.0,"Rb":0.5647,"Rf":0.8604,"wavelength":1.405},{"T":0.0,"Rb":0.5639,"Rf":0.8587,"wavelength":1.41},{"T":0.0,"Rb":0.5632,"Rf":0.8575,"wavelength":1.415},{"T":0.0,"Rb":0.5643,"Rf":0.8605,"wavelength":1.42},{"T":0.0,"Rb":0.5655,"Rf":0.8632,"wavelength":1.425},{"T":0.0,"Rb":0.5673,"Rf":0.8666,"wavelength":1.43},{"T":0.0,"Rb":0.5706,"Rf":0.8695,"wavelength":1.435},{"T":0.0,"Rb":0.5736,"Rf":0.871,"wavelength":1.44},{"T":0.0,"Rb":0.5767,"Rf":0.8733,"wavelength":1.445},{"T":0.0,"Rb":0.5796,"Rf":0.8749,"wavelength":1.45},{"T":0.0,"Rb":0.581,"Rf":0.876,"wavelength":1.455},{"T":0.0,"Rb":0.5836,"Rf":0.8771,"wavelength":1.46},{"T":0.0,"Rb":0.5852,"Rf":0.8779,"wavelength":1.465},{"T":0.0,"Rb":0.5865,"Rf":0.8792,"wavelength":1.47},{"T":0.0,"Rb":0.5875,"Rf":0.8796,"wavelength":1.475},{"T":0.0,"Rb":0.5897,"Rf":0.8807,"wavelength":1.48},{"T":0.0,"Rb":0.5915,"Rf":0.8821,"wavelength":1.485},{"T":0.0,"Rb":0.5929,"Rf":0.8831,"wavelength":1.49},{"T":0.0,"Rb":0.5943,"Rf":0.8835,"wavelength":1.495},{"T":0.0,"Rb":0.5952,"Rf":0.8838,"wavelength":1.5},{"T":0.0,"Rb":0.5958,"Rf":0.8836,"wavelength":1.505},{"T":0.0,"Rb":0.5976,"Rf":0.8848,"wavelength":1.51},{"T":0.0,"Rb":0.599,"Rf":0.8862,"wavelength":1.515},{"T":0.0,"Rb":0.6001,"Rf":0.8871,"wavelength":1.52},{"T":0.0,"Rb":0.6003,"Rf":0.8866,"wavelength":1.525},{"T":0.0,"Rb":0.6019,"Rf":0.887,"wavelength":1.53},{"T":0.0,"Rb":0.603,"Rf":0.8872,"wavelength":1.535},{"T":0.0,"Rb":0.6034,"Rf":0.8865,"wavelength":1.54},{"T":0.0,"Rb":0.6046,"Rf":0.8869,"wavelength":1.545},{"T":0.0,"Rb":0.6055,"Rf":0.8872,"wavelength":1.55},{"T":0.0,"Rb":0.6067,"Rf":0.8877,"wavelength":1.555},{"T":0.0,"Rb":0.6076,"Rf":0.8887,"wavelength":1.56},{"T":0.0,"Rb":0.6076,"Rf":0.8888,"wavelength":1.565},{"T":0.0,"Rb":0.6093,"Rf":0.8889,"wavelength":1.57},{"T":0.0,"Rb":0.6109,"Rf":0.8889,"wavelength":1.575},{"T":0.0,"Rb":0.6112,"Rf":0.8884,"wavelength":1.58},{"T":0.0,"Rb":0.6117,"Rf":0.8873,"wavelength":1.585},{"T":0.0,"Rb":0.6116,"Rf":0.888,"wavelength":1.59},{"T":0.0,"Rb":0.6116,"Rf":0.8872,"wavelength":1.595},{"T":0.0,"Rb":0.6108,"Rf":0.8856,"wavelength":1.6},{"T":0.0,"Rb":0.6105,"Rf":0.8842,"wavelength":1.605},{"T":0.0,"Rb":0.6097,"Rf":0.8813,"wavelength":1.61},{"T":0.0,"Rb":0.6081,"Rf":0.8776,"wavelength":1.615},{"T":0.0,"Rb":0.6059,"Rf":0.8739,"wavelength":1.62},{"T":0.0,"Rb":0.6045,"Rf":0.8703,"wavelength":1.625},{"T":0.0,"Rb":0.6017,"Rf":0.8647,"wavelength":1.63},{"T":0.0,"Rb":0.5946,"Rf":0.8534,"wavelength":1.635},{"T":0.0,"Rb":0.5827,"Rf":0.834,"wavelength":1.64},{"T":0.0,"Rb":0.5656,"Rf":0.8061,"wavelength":1.645},{"T":0.0,"Rb":0.545,"Rf":0.7724,"wavelength":1.65},{"T":0.0,"Rb":0.5253,"Rf":0.7401,"wavelength":1.655},{"T":0.0,"Rb":0.5112,"Rf":0.7178,"wavelength":1.66},{"T":0.0,"Rb":0.5074,"Rf":0.7155,"wavelength":1.665},{"T":0.0,"Rb":0.5152,"Rf":0.73,"wavelength":1.67},{"T":0.0,"Rb":0.5258,"Rf":0.7506,"wavelength":1.675},{"T":0.0,"Rb":0.5361,"Rf":0.7697,"wavelength":1.68},{"T":0.0,"Rb":0.5414,"Rf":0.7853,"wavelength":1.685},{"T":0.0,"Rb":0.5431,"Rf":0.7992,"wavelength":1.69},{"T":0.0,"Rb":0.5403,"Rf":0.8083,"wavelength":1.695},{"T":0.0,"Rb":0.5277,"Rf":0.81,"wavelength":1.7},{"T":0.0,"Rb":0.5091,"Rf":0.8094,"wavelength":1.705},{"T":0.0,"Rb":0.4933,"Rf":0.8092,"wavelength":1.71},{"T":0.0,"Rb":0.4835,"Rf":0.8097,"wavelength":1.715},{"T":0.0,"Rb":0.4831,"Rf":0.81,"wavelength":1.72},{"T":0.0,"Rb":0.4936,"Rf":0.8114,"wavelength":1.725},{"T":0.0,"Rb":0.5065,"Rf":0.8144,"wavelength":1.73},{"T":0.0,"Rb":0.5199,"Rf":0.8201,"wavelength":1.735},{"T":0.0,"Rb":0.5294,"Rf":0.8286,"wavelength":1.74},{"T":0.0,"Rb":0.5313,"Rf":0.8344,"wavelength":1.745},{"T":0.0,"Rb":0.5354,"Rf":0.839,"wavelength":1.75},{"T":0.0,"Rb":0.5404,"Rf":0.8423,"wavelength":1.755},{"T":0.0,"Rb":0.5451,"Rf":0.8427,"wavelength":1.76},{"T":0.0,"Rb":0.5515,"Rf":0.8443,"wavelength":1.765},{"T":0.0,"Rb":0.5576,"Rf":0.8471,"wavelength":1.77},{"T":0.0,"Rb":0.5626,"Rf":0.8493,"wavelength":1.775},{"T":0.0,"Rb":0.5672,"Rf":0.8519,"wavelength":1.78},{"T":0.0,"Rb":0.5716,"Rf":0.8537,"wavelength":1.785},{"T":0.0,"Rb":0.5746,"Rf":0.853,"wavelength":1.79},{"T":0.0,"Rb":0.5779,"Rf":0.8518,"wavelength":1.795},{"T":0.0,"Rb":0.5813,"Rf":0.8511,"wavelength":1.8},{"T":0.0,"Rb":0.5838,"Rf":0.8507,"wavelength":1.805},{"T":0.0,"Rb":0.5861,"Rf":0.8516,"wavelength":1.81},{"T":0.0,"Rb":0.589,"Rf":0.8528,"wavelength":1.815},{"T":0.0,"Rb":0.5898,"Rf":0.8541,"wavelength":1.82},{"T":0.0,"Rb":0.5901,"Rf":0.8543,"wavelength":1.825},{"T":0.0,"Rb":0.5909,"Rf":0.8555,"wavelength":1.83},{"T":0.0,"Rb":0.5936,"Rf":0.8582,"wavelength":1.835},{"T":0.0,"Rb":0.5994,"Rf":0.8624,"wavelength":1.84},{"T":0.0,"Rb":0.6022,"Rf":0.865,"wavelength":1.845},{"T":0.0,"Rb":0.603,"Rf":0.8663,"wavelength":1.85},{"T":0.0,"Rb":0.606,"Rf":0.8672,"wavelength":1.855},{"T":0.0,"Rb":0.608,"Rf":0.8669,"wavelength":1.86},{"T":0.0,"Rb":0.6083,"Rf":0.8646,"wavelength":1.865},{"T":0.0,"Rb":0.6102,"Rf":0.864,"wavelength":1.87},{"T":0.0,"Rb":0.6142,"Rf":0.8655,"wavelength":1.875},{"T":0.0,"Rb":0.6141,"Rf":0.8644,"wavelength":1.88},{"T":0.0,"Rb":0.614,"Rf":0.8585,"wavelength":1.885},{"T":0.0,"Rb":0.6111,"Rf":0.8522,"wavelength":1.89},{"T":0.0,"Rb":0.6054,"Rf":0.8435,"wavelength":1.895},{"T":0.0,"Rb":0.5963,"Rf":0.829,"wavelength":1.9},{"T":0.0,"Rb":0.5899,"Rf":0.816,"wavelength":1.905},{"T":0.0,"Rb":0.5888,"Rf":0.8125,"wavelength":1.91},{"T":0.0,"Rb":0.5923,"Rf":0.8151,"wavelength":1.915},{"T":0.0,"Rb":0.6005,"Rf":0.8224,"wavelength":1.92},{"T":0.0,"Rb":0.6071,"Rf":0.8297,"wavelength":1.925},{"T":0.0,"Rb":0.6096,"Rf":0.8348,"wavelength":1.93},{"T":0.0,"Rb":0.6116,"Rf":0.8385,"wavelength":1.935},{"T":0.0,"Rb":0.6117,"Rf":0.8368,"wavelength":1.94},{"T":0.0,"Rb":0.6104,"Rf":0.8339,"wavelength":1.945},{"T":0.0,"Rb":0.6104,"Rf":0.8318,"wavelength":1.95},{"T":0.0,"Rb":0.6117,"Rf":0.8337,"wavelength":1.955},{"T":0.0,"Rb":0.6156,"Rf":0.8378,"wavelength":1.96},{"T":0.0,"Rb":0.6204,"Rf":0.8449,"wavelength":1.965},{"T":0.0,"Rb":0.6244,"Rf":0.8521,"wavelength":1.97},{"T":0.0,"Rb":0.6303,"Rf":0.8578,"wavelength":1.975},{"T":0.0,"Rb":0.6344,"Rf":0.8626,"wavelength":1.98},{"T":0.0,"Rb":0.6364,"Rf":0.8658,"wavelength":1.985},{"T":0.0,"Rb":0.6382,"Rf":0.8678,"wavelength":1.99},{"T":0.0,"Rb":0.641,"Rf":0.8685,"wavelength":1.995},{"T":0.0,"Rb":0.6428,"Rf":0.8711,"wavelength":2.0},{"T":0.0,"Rb":0.6449,"Rf":0.8756,"wavelength":2.005},{"T":0.0,"Rb":0.6476,"Rf":0.8776,"wavelength":2.01},{"T":0.0,"Rb":0.6488,"Rf":0.8782,"wavelength":2.015},{"T":0.0,"Rb":0.6512,"Rf":0.8804,"wavelength":2.02},{"T":0.0,"Rb":0.6515,"Rf":0.8803,"wavelength":2.025},{"T":0.0,"Rb":0.6516,"Rf":0.8791,"wavelength":2.03},{"T":0.0,"Rb":0.6544,"Rf":0.8803,"wavelength":2.035},{"T":0.0,"Rb":0.6561,"Rf":0.8797,"wavelength":2.04},{"T":0.0,"Rb":0.657,"Rf":0.8795,"wavelength":2.045},{"T":0.0,"Rb":0.6583,"Rf":0.8809,"wavelength":2.05},{"T":0.0,"Rb":0.6587,"Rf":0.8818,"wavelength":2.055},{"T":0.0,"Rb":0.6578,"Rf":0.8806,"wavelength":2.06},{"T":0.0,"Rb":0.6592,"Rf":0.8777,"wavelength":2.065},{"T":0.0,"Rb":0.6553,"Rf":0.8681,"wavelength":2.07},{"T":0.0,"Rb":0.6476,"Rf":0.8616,"wavelength":2.075},{"T":0.0,"Rb":0.6435,"Rf":0.8556,"wavelength":2.08},{"T":0.0,"Rb":0.646,"Rf":0.8503,"wavelength":2.085},{"T":0.0,"Rb":0.6464,"Rf":0.8474,"wavelength":2.09},{"T":0.0,"Rb":0.6485,"Rf":0.851,"wavelength":2.095},{"T":0.0,"Rb":0.6444,"Rf":0.8471,"wavelength":2.1},{"T":0.0,"Rb":0.6371,"Rf":0.8367,"wavelength":2.105},{"T":0.0,"Rb":0.6242,"Rf":0.8184,"wavelength":2.11},{"T":0.0,"Rb":0.6108,"Rf":0.7964,"wavelength":2.115},{"T":0.0,"Rb":0.596,"Rf":0.7694,"wavelength":2.12},{"T":0.0,"Rb":0.572,"Rf":0.7409,"wavelength":2.125},{"T":0.0,"Rb":0.5579,"Rf":0.7156,"wavelength":2.13},{"T":0.0,"Rb":0.5534,"Rf":0.7054,"wavelength":2.135},{"T":0.0,"Rb":0.5668,"Rf":0.7276,"wavelength":2.14},{"T":0.0,"Rb":0.5783,"Rf":0.7438,"wavelength":2.145},{"T":0.0,"Rb":0.5758,"Rf":0.751,"wavelength":2.15},{"T":0.0,"Rb":0.5845,"Rf":0.745,"wavelength":2.155},{"T":0.0,"Rb":0.5841,"Rf":0.7412,"wavelength":2.16},{"T":0.0,"Rb":0.5928,"Rf":0.7529,"wavelength":2.165},{"T":0.0,"Rb":0.6003,"Rf":0.7705,"wavelength":2.17},{"T":0.0,"Rb":0.5999,"Rf":0.7749,"wavelength":2.175},{"T":0.0,"Rb":0.5989,"Rf":0.7671,"wavelength":2.18},{"T":0.0,"Rb":0.5951,"Rf":0.7612,"wavelength":2.185},{"T":0.0,"Rb":0.6027,"Rf":0.7661,"wavelength":2.19},{"T":0.0,"Rb":0.6117,"Rf":0.7782,"wavelength":2.195},{"T":0.0,"Rb":0.6156,"Rf":0.7861,"wavelength":2.2},{"T":0.0,"Rb":0.6168,"Rf":0.7872,"wavelength":2.205},{"T":0.0,"Rb":0.6127,"Rf":0.7804,"wavelength":2.21},{"T":0.0,"Rb":0.5993,"Rf":0.7654,"wavelength":2.215},{"T":0.0,"Rb":0.5777,"Rf":0.742,"wavelength":2.22},{"T":0.0,"Rb":0.554,"Rf":0.7072,"wavelength":2.225},{"T":0.0,"Rb":0.5291,"Rf":0.6783,"wavelength":2.23},{"T":0.0,"Rb":0.5009,"Rf":0.6453,"wavelength":2.235},{"T":0.0,"Rb":0.4756,"Rf":0.6083,"wavelength":2.24},{"T":0.0,"Rb":0.4527,"Rf":0.5777,"wavelength":2.245},{"T":0.0,"Rb":0.4348,"Rf":0.5574,"wavelength":2.25},{"T":0.0,"Rb":0.4219,"Rf":0.5448,"wavelength":2.255},{"T":0.0,"Rb":0.4137,"Rf":0.5386,"wavelength":2.26},{"T":0.0,"Rb":0.4192,"Rf":0.554,"wavelength":2.265},{"T":0.0,"Rb":0.415,"Rf":0.5583,"wavelength":2.27},{"T":0.0,"Rb":0.4229,"Rf":0.5736,"wavelength":2.275},{"T":0.0,"Rb":0.4156,"Rf":0.5922,"wavelength":2.28},{"T":0.0,"Rb":0.4011,"Rf":0.5948,"wavelength":2.285},{"T":0.0,"Rb":0.3768,"Rf":0.5951,"wavelength":2.29},{"T":0.0,"Rb":0.3619,"Rf":0.595,"wavelength":2.295},{"T":0.0,"Rb":0.343,"Rf":0.5922,"wavelength":2.3},{"T":0.0,"Rb":0.3256,"Rf":0.5831,"wavelength":2.305},{"T":0.0,"Rb":0.3252,"Rf":0.5791,"wavelength":2.31},{"T":0.0,"Rb":0.3253,"Rf":0.5816,"wavelength":2.315},{"T":0.0,"Rb":0.3314,"Rf":0.5773,"wavelength":2.32},{"T":0.0,"Rb":0.34,"Rf":0.5645,"wavelength":2.325},{"T":0.0,"Rb":0.3379,"Rf":0.5516,"wavelength":2.33},{"T":0.0,"Rb":0.33,"Rf":0.5437,"wavelength":2.335},{"T":0.0,"Rb":0.3443,"Rf":0.5544,"wavelength":2.34},{"T":0.0,"Rb":0.354,"Rf":0.5608,"wavelength":2.345},{"T":0.0,"Rb":0.3631,"Rf":0.5702,"wavelength":2.35},{"T":0.0,"Rb":0.3532,"Rf":0.5737,"wavelength":2.355},{"T":0.0,"Rb":0.3593,"Rf":0.5822,"wavelength":2.36},{"T":0.0,"Rb":0.3483,"Rf":0.5715,"wavelength":2.365},{"T":0.0,"Rb":0.3617,"Rf":0.5866,"wavelength":2.37},{"T":0.0,"Rb":0.3495,"Rf":0.593,"wavelength":2.375},{"T":0.0,"Rb":0.3652,"Rf":0.595,"wavelength":2.38},{"T":0.0,"Rb":0.3664,"Rf":0.5984,"wavelength":2.385},{"T":0.0,"Rb":0.3649,"Rf":0.588,"wavelength":2.39},{"T":0.0,"Rb":0.3742,"Rf":0.591,"wavelength":2.395},{"T":0.0,"Rb":0.3775,"Rf":0.5903,"wavelength":2.4},{"T":0.0,"Rb":0.3805,"Rf":0.6053,"wavelength":2.405},{"T":0.0,"Rb":0.3892,"Rf":0.6094,"wavelength":2.41},{"T":0.0,"Rb":0.3893,"Rf":0.5974,"wavelength":2.415},{"T":0.0,"Rb":0.4049,"Rf":0.5962,"wavelength":2.42},{"T":0.0,"Rb":0.3955,"Rf":0.5776,"wavelength":2.425},{"T":0.0,"Rb":0.3996,"Rf":0.5771,"wavelength":2.43},{"T":0.0,"Rb":0.3828,"Rf":0.5455,"wavelength":2.435},{"T":0.0,"Rb":0.3389,"Rf":0.5008,"wavelength":2.44},{"T":0.0,"Rb":0.3346,"Rf":0.48,"wavelength":2.445},{"T":0.0,"Rb":0.3431,"Rf":0.4861,"wavelength":2.45},{"T":0.0,"Rb":0.3627,"Rf":0.5135,"wavelength":2.455},{"T":0.0,"Rb":0.3991,"Rf":0.5599,"wavelength":2.46},{"T":0.0,"Rb":0.4012,"Rf":0.5829,"wavelength":2.465},{"T":0.0,"Rb":0.429,"Rf":0.5987,"wavelength":2.47},{"T":0.0,"Rb":0.4274,"Rf":0.6275,"wavelength":2.475},{"T":0.0,"Rb":0.4492,"Rf":0.6452,"wavelength":2.48},{"T":0.0,"Rb":0.4508,"Rf":0.6492,"wavelength":2.485},{"T":0.0,"Rb":0.4533,"Rf":0.6502,"wavelength":2.49},{"T":0.0,"Rb":0.461,"Rf":0.6618,"wavelength":2.495},{"T":0.0,"Rb":0.48,"Rf":0.6568,"wavelength":2.5}],"dual_band_values":{"Rb_sol_diffuse":0.4896773,"Rb_vis_diffuse":0.4877937,"Rf_sol_diffuse":0.8663192,"Rf_vis_diffuse":0.890273,"Tb_sol_diffuse":0.0,"Tb_vis_diffuse":0.0,"Tf_sol_diffuse":0.0,"Tf_vis_diffuse":0.0,"Rb_sol_specular":0.0,"Rb_vis_specular":null,"Rf_sol_specular":0.0,"Rf_vis_specular":0.0,"Tb_sol_specular":0.0,"Tb_vis_specular":0.0,"Tf_sol_specular":0.0,"Tf_vis_specular":0.0}}}]}} diff --git a/test/read_igsdb_shading_layer_json.unit.cpp b/test/read_igsdb_shading_layer_json.unit.cpp index 3e60e41..6a094b9 100644 --- a/test/read_igsdb_shading_layer_json.unit.cpp +++ b/test/read_igsdb_shading_layer_json.unit.cpp @@ -18,9 +18,9 @@ class TestLoadIGSDBJSONFromDisk : public testing::Test }; -TEST_F(TestLoadIGSDBJSONFromDisk, TestLoadIGSDBShadingLayerJSON) +TEST_F(TestLoadIGSDBJSONFromDisk, TestLoadIGSDBVenetianShadingLayerJSON) { - SCOPED_TRACE("Begin Test: Load IGSDB shading layer json format."); + SCOPED_TRACE("Begin Test: Load IGSDB venetian shading layer json format."); std::filesystem::path product_path(test_dir); product_path /= "products"; product_path /= "igsdb_12149.json"; @@ -66,3 +66,56 @@ TEST_F(TestLoadIGSDBJSONFromDisk, TestLoadIGSDBShadingLayerJSON) EXPECT_EQ(material->measurements.value()[440].directComponent.rb, 0.719); } + +TEST_F(TestLoadIGSDBJSONFromDisk, TestLoadIGSDBPerforatedScreenShadingLayerJSON) +{ + SCOPED_TRACE("Begin Test: Load IGSDB perforated shading layer json format."); + std::filesystem::path product_path(test_dir); + product_path /= "products"; + product_path /= "igsdb_12295.json"; + + OpticsParser::Parser parser; + + + std::shared_ptr product = + std::dynamic_pointer_cast( + parser.parseJSONFile(product_path.string())); + + // EXPECT_EQ(product->nfrcid.value(), 102); + EXPECT_EQ(product->productName, "Solar Comfort Radiant Barrier"); + EXPECT_EQ(product->productType, "shading"); + EXPECT_EQ(product->manufacturer, "Solar Comfort"); + EXPECT_EQ(product->thickness, std::optional()); + // TODO EXPECT_EQ(product->conductivity, 1.0); + EXPECT_EQ(product->IRTransmittance, std::optional()); + EXPECT_EQ(product->frontEmissivity, std::optional()); + EXPECT_EQ(product->backEmissivity, std::optional()); + EXPECT_EQ(product->measurements.has_value(), false); + auto geometry = std::dynamic_pointer_cast( + product->compositionInformation->geometry); + EXPECT_EQ(geometry->spacingX, 1.69); + EXPECT_EQ(geometry->spacingY, 1.69); + EXPECT_EQ(geometry->dimensionX, 0.58); + EXPECT_EQ(geometry->dimensionY, 6.35); + EXPECT_EQ(geometry->perforationType, "Circular"); + auto material = product->compositionInformation->material; + EXPECT_EQ(material->productName, "SCRadiantBarrier.txt"); + EXPECT_EQ(material->productType, "material"); + EXPECT_EQ(material->manufacturer, "Solar Comfort"); + EXPECT_EQ(material->thickness, 0.23); + EXPECT_EQ(material->IRTransmittance, 0.0); + EXPECT_EQ(material->frontEmissivity, 0.863); + EXPECT_EQ(material->backEmissivity, 0.84); + EXPECT_EQ(material->conductivity, 0.12); + EXPECT_EQ(material->measurements.has_value(), true); + + EXPECT_EQ(material->measurements.value().size(), 441); + EXPECT_EQ(material->measurements.value()[0].wavelength, 0.3); + EXPECT_EQ(material->measurements.value()[0].directComponent.tf, 0.0); + EXPECT_EQ(material->measurements.value()[0].directComponent.rf, 0.0794); + EXPECT_EQ(material->measurements.value()[0].directComponent.rb, 0.0674); + EXPECT_EQ(material->measurements.value()[440].wavelength, 2.50); + EXPECT_EQ(material->measurements.value()[440].directComponent.tf, 0.0); + EXPECT_EQ(material->measurements.value()[440].directComponent.rf, 0.6568); + EXPECT_EQ(material->measurements.value()[440].directComponent.rb, 0.48); +} From c9e57644f1dd5101311bfadf84f54e9a368ed605 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Sun, 26 Apr 2020 13:58:45 -0400 Subject: [PATCH 10/55] Added constructor for ProductData that only takes the three fields that are required so far: product name, product type, and manufacturer. --- src/ProductData.cpp | 8 ++++++++ src/ProductData.hpp | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/ProductData.cpp b/src/ProductData.cpp index 6759b1e..729e884 100644 --- a/src/ProductData.cpp +++ b/src/ProductData.cpp @@ -29,6 +29,14 @@ OpticsParser::WLData::WLData(double wavelength, {} +OpticsParser::ProductData::ProductData(std::string const & productName, + std::string const & productType, + std::string const & manufacturer) : + productName(productName), + productType(productType), + manufacturer(manufacturer) +{} + OpticsParser::ProductData::ProductData(std::string const & productName, std::string const & productType, std::string const & subtype, diff --git a/src/ProductData.hpp b/src/ProductData.hpp index c528b74..8e0bb46 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -91,6 +91,9 @@ namespace OpticsParser ProductData() = default; ProductData(ProductData const & other) = default; virtual ~ProductData() = default; + ProductData(std::string const & productName, + std::string const & productType, + std::string const & manufacturer); ProductData(std::string const & productName, std::string const & productType, std::string const & subtype, @@ -116,6 +119,7 @@ namespace OpticsParser std::string productName; std::string productType; + std::string manufacturer; std::optional subtype; std::optional nfrcid; std::optional thickness; @@ -125,7 +129,6 @@ namespace OpticsParser std::optional backEmissivity; std::optional frontEmissivitySource; std::optional backEmissivitySource; - std::string manufacturer; std::optional material; std::optional coatingName; std::optional coatedSide; From 71abb20b6e59984c8ac50c072def3736f7501362 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Sun, 26 Apr 2020 14:04:13 -0400 Subject: [PATCH 11/55] Added constructor for ProductData that takes name, type, subtype, and manufacturer. --- src/ProductData.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/ProductData.cpp b/src/ProductData.cpp index 729e884..97dda4b 100644 --- a/src/ProductData.cpp +++ b/src/ProductData.cpp @@ -32,9 +32,14 @@ OpticsParser::WLData::WLData(double wavelength, OpticsParser::ProductData::ProductData(std::string const & productName, std::string const & productType, std::string const & manufacturer) : - productName(productName), - productType(productType), - manufacturer(manufacturer) + productName(productName), productType(productType), manufacturer(manufacturer) +{} + +OpticsParser::ProductData::ProductData(std::string const & productName, + std::string const & productType, + std::string const & subType, + std::string const & manufacturer) : + productName(productName), productType(productType), subType(subType), manufacturer(manufacturer) {} OpticsParser::ProductData::ProductData(std::string const & productName, From 4a8f809d3c048671f9e6e93ee3d57dcd1cb1c244 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Sun, 26 Apr 2020 14:05:19 -0400 Subject: [PATCH 12/55] Added constructor for ProductData that takes name, type, subtype, and manufacturer. --- src/ProductData.hpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ProductData.hpp b/src/ProductData.hpp index 8e0bb46..cfe560e 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -94,6 +94,10 @@ namespace OpticsParser ProductData(std::string const & productName, std::string const & productType, std::string const & manufacturer); + ProductData(std::string const & productName, + std::string const & productType, + std::string const & subType, + std::string const & manufacturer); ProductData(std::string const & productName, std::string const & productType, std::string const & subtype, From 6193db2feb117c1e2499eb512bc92b7f0a6c22c6 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Sun, 26 Apr 2020 14:22:03 -0400 Subject: [PATCH 13/55] Fix typo --- src/ProductData.cpp | 4 ++-- src/ProductData.hpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ProductData.cpp b/src/ProductData.cpp index 97dda4b..c46c282 100644 --- a/src/ProductData.cpp +++ b/src/ProductData.cpp @@ -37,9 +37,9 @@ OpticsParser::ProductData::ProductData(std::string const & productName, OpticsParser::ProductData::ProductData(std::string const & productName, std::string const & productType, - std::string const & subType, + std::string const & subtype, std::string const & manufacturer) : - productName(productName), productType(productType), subType(subType), manufacturer(manufacturer) + productName(productName), productType(productType), subtype(subtype), manufacturer(manufacturer) {} OpticsParser::ProductData::ProductData(std::string const & productName, diff --git a/src/ProductData.hpp b/src/ProductData.hpp index cfe560e..1ffd998 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -96,7 +96,7 @@ namespace OpticsParser std::string const & manufacturer); ProductData(std::string const & productName, std::string const & productType, - std::string const & subType, + std::string const & subtype, std::string const & manufacturer); ProductData(std::string const & productName, std::string const & productType, From 96271ee0e7328d638988341c93178461e5adc309 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Mon, 27 Apr 2020 12:10:02 -0400 Subject: [PATCH 14/55] Adding slat tilt to venetian geometry. Defaults to 0 if not in data being parsed. --- src/Parser.cpp | 4 ++-- src/ProductData.cpp | 7 +++---- src/ProductData.hpp | 9 +++++++-- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index 37329cf..736fcd8 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -509,9 +509,9 @@ std::shared_ptr auto slatSpacing = geometry_json.at("slat_spacing").get(); auto slatCurvature = geometry_json.at("slat_curvature").get(); auto numberSegments = geometry_json.at("number_segments").get(); - + double slatTilt = geometry_json.value("slat_tilt", 0.0); return std::shared_ptr( - new OpticsParser::VenetianGeometry(slatWidth, slatSpacing, slatCurvature, numberSegments)); + new OpticsParser::VenetianGeometry(slatWidth, slatSpacing, slatCurvature, slatTilt, numberSegments)); } std::shared_ptr diff --git a/src/ProductData.cpp b/src/ProductData.cpp index c46c282..4e14760 100644 --- a/src/ProductData.cpp +++ b/src/ProductData.cpp @@ -189,13 +189,12 @@ OpticsParser::ComposedProductData::ComposedProductData( ProductData(product), compositionInformation(composition) {} -OpticsParser::VenetianGeometry::VenetianGeometry(double slatWidth, - double slatSpacing, - double slatCurvature, - int numberSegments) : +OpticsParser::VenetianGeometry::VenetianGeometry( + double slatWidth, double slatSpacing, double slatCurvature, double slatTilt, int numberSegments) : slatWidth(slatWidth), slatSpacing(slatSpacing), slatCurvature(slatCurvature), + slatTilt(slatTilt), numberSegments(numberSegments) {} diff --git a/src/ProductData.hpp b/src/ProductData.hpp index 1ffd998..84b4d2b 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -51,11 +51,13 @@ namespace OpticsParser VenetianGeometry(double slatWidth, double slatSpacing, double slatCurvature, - int numberSegments); + double slatTilt = 0, + int numberSegments = 5); double slatWidth; double slatSpacing; double slatCurvature; + double slatTilt; int numberSegments; }; @@ -69,7 +71,10 @@ namespace OpticsParser struct PerforatedGeometry : ProductGeometry { - PerforatedGeometry(double spacingX, double spacingY, double dimensionX, double dimensionY, + PerforatedGeometry(double spacingX, + double spacingY, + double dimensionX, + double dimensionY, std::string perforationType); double spacingX; double spacingY; From b3bfac2627b63181d3275769f92426e9415d609b Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Mon, 27 Apr 2020 12:13:07 -0400 Subject: [PATCH 15/55] Scaling venetian geometry length values to meters. --- src/Parser.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/Parser.cpp b/src/Parser.cpp index 736fcd8..850c257 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -510,6 +510,14 @@ std::shared_ptr auto slatCurvature = geometry_json.at("slat_curvature").get(); auto numberSegments = geometry_json.at("number_segments").get(); double slatTilt = geometry_json.value("slat_tilt", 0.0); + + // These values are stored as mm in the sources being parsed. + // Convert to meters here for consistancy with other non-wavelength + // length units. + slatWidth /= 1000.0; + slatSpacing /= 1000.0; + slatCurvature /= 1000.0; + return std::shared_ptr( new OpticsParser::VenetianGeometry(slatWidth, slatSpacing, slatCurvature, slatTilt, numberSegments)); } From 93dc394a482fca566b87ca3c9e0a87629c89ab64 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Tue, 28 Apr 2020 13:04:00 -0400 Subject: [PATCH 16/55] Added function to ProductData to return the product it is composed of. For glass this will return itself but for model-based shades (e.g. venetian) it will return the ProductData for the shade's material. --- src/ProductData.cpp | 10 ++++++++++ src/ProductData.hpp | 9 +++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/ProductData.cpp b/src/ProductData.cpp index 4e14760..fed58dc 100644 --- a/src/ProductData.cpp +++ b/src/ProductData.cpp @@ -88,6 +88,16 @@ OpticsParser::ProductData::ProductData(std::string const & productName, measurements(measurements) {} +std::shared_ptr OpticsParser::ProductData::composedProduct() +{ + return shared_from_this(); +} + +std::shared_ptr OpticsParser::ComposedProductData::composedProduct() +{ + return compositionInformation->material; +} + void OpticsParser::to_json(nlohmann::json & j, OpticsParser::WLData const & wl) { j = nlohmann::json{{"w", wl.wavelength}, diff --git a/src/ProductData.hpp b/src/ProductData.hpp index 84b4d2b..c3616a8 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -91,7 +91,7 @@ namespace OpticsParser std::shared_ptr geometry; }; - struct ProductData + struct ProductData : std::enable_shared_from_this { ProductData() = default; ProductData(ProductData const & other) = default; @@ -126,6 +126,8 @@ namespace OpticsParser std::string wavelengthUnit, std::vector const & measurements); + virtual std::shared_ptr composedProduct(); + std::string productName; std::string productType; std::string manufacturer; @@ -162,6 +164,9 @@ namespace OpticsParser ComposedProductData(ProductData const & product, std::shared_ptr composition); - std::shared_ptr compositionInformation; + std::shared_ptr composedProduct() override; + + std::shared_ptr compositionInformation; + }; } // namespace OpticsParser From a9060d721ab1c1bc7d724fcd561dc40516eb330d Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Mon, 4 May 2020 15:42:05 -0400 Subject: [PATCH 17/55] Fixed a pragma warning supression so that it only applies to MSVC builds. --- src/Parser.cpp | 20 ++++++++++++-------- src/ProductData.hpp | 14 ++++++-------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index 850c257..d40f0e2 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -214,10 +214,14 @@ void OpticsParser::Parser::parseBoolPropertyInsideBraces(const std::string & lin if(val.length() > 1) { std::string upperCase = val; -#pragma warning(push) -#pragma warning(disable : 4244) +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable : 4244) +# endif std::for_each(upperCase.begin(), upperCase.end(), [](char & c) { c = ::toupper(c); }); -#pragma warning(pop) +#ifdef _MSC_VER +# pragma warning(pop) +#endif if(upperCase == "TRUE") { property = true; @@ -262,7 +266,7 @@ std::optional get_optional_field(nlohmann::json const & json, std::string con return data; } -#if 0 +# if 0 OpticsParser::ProductData parseCheckerToolJson_OLD(nlohmann::json const & product_json) { std::string product_name = product_json.at("product_name").get(); @@ -336,7 +340,7 @@ OpticsParser::ProductData parseCheckerToolJson_OLD(nlohmann::json const & produc return productData; } -#endif +# endif std::shared_ptr parseCheckerToolJson(nlohmann::json const & product_json) { @@ -511,15 +515,15 @@ std::shared_ptr auto numberSegments = geometry_json.at("number_segments").get(); double slatTilt = geometry_json.value("slat_tilt", 0.0); - // These values are stored as mm in the sources being parsed. + // These values are stored as mm in the sources being parsed. // Convert to meters here for consistancy with other non-wavelength // length units. slatWidth /= 1000.0; slatSpacing /= 1000.0; slatCurvature /= 1000.0; - return std::shared_ptr( - new OpticsParser::VenetianGeometry(slatWidth, slatSpacing, slatCurvature, slatTilt, numberSegments)); + return std::shared_ptr(new OpticsParser::VenetianGeometry( + slatWidth, slatSpacing, slatCurvature, slatTilt, numberSegments)); } std::shared_ptr diff --git a/src/ProductData.hpp b/src/ProductData.hpp index c3616a8..f9d466d 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -83,14 +83,6 @@ namespace OpticsParser std::string perforationType; }; - struct ProductData; - - struct CompositionInformation - { - std::shared_ptr material; - std::shared_ptr geometry; - }; - struct ProductData : std::enable_shared_from_this { ProductData() = default; @@ -159,6 +151,12 @@ namespace OpticsParser void to_json(nlohmann::json & j, WLData const & wl); void to_json(nlohmann::json & j, ProductData const & wl); + struct CompositionInformation + { + std::shared_ptr material; + std::shared_ptr geometry; + }; + struct ComposedProductData : ProductData { ComposedProductData(ProductData const & product, From e1c168a6f38b1bf484c2a55d28e3828c78e1a8a0 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Mon, 4 May 2020 15:54:56 -0400 Subject: [PATCH 18/55] Fix for initializaion order warning. --- src/ProductData.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ProductData.cpp b/src/ProductData.cpp index fed58dc..1db59b7 100644 --- a/src/ProductData.cpp +++ b/src/ProductData.cpp @@ -39,7 +39,7 @@ OpticsParser::ProductData::ProductData(std::string const & productName, std::string const & productType, std::string const & subtype, std::string const & manufacturer) : - productName(productName), productType(productType), subtype(subtype), manufacturer(manufacturer) + productName(productName), productType(productType), manufacturer(manufacturer), subtype(subtype) {} OpticsParser::ProductData::ProductData(std::string const & productName, @@ -66,6 +66,7 @@ OpticsParser::ProductData::ProductData(std::string const & productName, std::vector const & measurements) : productName(productName), productType(productType), + manufacturer(manufacturer), subtype(subtype), nfrcid(nfrcid), thickness(thickness), @@ -75,7 +76,6 @@ OpticsParser::ProductData::ProductData(std::string const & productName, backEmissivity(backEmissivity), frontEmissivitySource(frontEmissivitySource), backEmissivitySource(backEmissivitySource), - manufacturer(manufacturer), material(material), coatingName(coatingName), coatedSide(coatedSide), From d7f0bc64384642c9738799fd385cf1aed4416d36 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Sat, 9 May 2020 00:20:36 -0400 Subject: [PATCH 19/55] Added constructor for composed product that only takes composition information. For custom products that may not have any more information attached than a material and geometry. --- src/ProductData.cpp | 5 +++++ src/ProductData.hpp | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ProductData.cpp b/src/ProductData.cpp index fed58dc..70864ed 100644 --- a/src/ProductData.cpp +++ b/src/ProductData.cpp @@ -199,6 +199,11 @@ OpticsParser::ComposedProductData::ComposedProductData( ProductData(product), compositionInformation(composition) {} +OpticsParser::ComposedProductData::ComposedProductData( + std::shared_ptr composition) : + ProductData(), compositionInformation(composition) +{} + OpticsParser::VenetianGeometry::VenetianGeometry( double slatWidth, double slatSpacing, double slatCurvature, double slatTilt, int numberSegments) : slatWidth(slatWidth), diff --git a/src/ProductData.hpp b/src/ProductData.hpp index c3616a8..b83d633 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -126,7 +126,7 @@ namespace OpticsParser std::string wavelengthUnit, std::vector const & measurements); - virtual std::shared_ptr composedProduct(); + virtual std::shared_ptr composedProduct(); std::string productName; std::string productType; @@ -163,10 +163,9 @@ namespace OpticsParser { ComposedProductData(ProductData const & product, std::shared_ptr composition); + ComposedProductData(std::shared_ptr composition); std::shared_ptr composedProduct() override; - - std::shared_ptr compositionInformation; - + std::shared_ptr compositionInformation; }; } // namespace OpticsParser From 7f5efaa91dbb54b308fb14190fcdffa26a6398c4 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Wed, 27 May 2020 14:39:18 -0400 Subject: [PATCH 20/55] Updated parser to reflect changes to composition information returned by the IGSDB. Related to commit 4e7d542 in github.com/LBNL-ETA/igsdb-webapp. --- src/Parser.cpp | 8 ++++---- test/products/igsdb_12149.json | 2 +- test/products/igsdb_12295.json | 2 +- test/read_igsdb_shading_layer_json.unit.cpp | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index d40f0e2..73b4f77 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -578,9 +578,9 @@ std::shared_ptr parseIGSDBJsonComposedProduct(nlohmann::json const & product_json) { auto subtype = product_json.at("subtype").get(); - auto composition_information = product_json.at("composition_information"); - auto product_material = composition_information.at("materials")[0]; - auto product_geometry = composition_information.at("geometry"); + auto composition_information = product_json.at("composition"); + auto product_material = composition_information[0].at("child_product"); + auto product_geometry = composition_information[0].at("extra_data").at("geometry"); auto material = parseIGSDBJsonUncomposedProduct(product_material); auto geometry = parseGeometry(subtype, product_geometry); std::shared_ptr compositionInformation( @@ -593,7 +593,7 @@ std::shared_ptr std::shared_ptr parseIGSDBJson(nlohmann::json const & product_json) { - if(product_json.count("composition_information")) + if(product_json.count("composition") && !product_json.at("composition").empty()) { return parseIGSDBJsonComposedProduct(product_json); } diff --git a/test/products/igsdb_12149.json b/test/products/igsdb_12149.json index 74beead..0996187 100644 --- a/test/products/igsdb_12149.json +++ b/test/products/igsdb_12149.json @@ -1 +1 @@ -{"product_id":12149,"name":"Slim White Venetian Blind","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":3000,"cgdb_database_version":"1","acceptance":"#","appearance":null,"manufacturer_name":"Pella","data_file_name":null,"data_file_available":false,"short_description":null,"type":"shading","subtype":"venetian","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":false,"thickness":null,"tir_front":null,"tir_back":null,"emissivity_front":null,"emissivity_back":null,"conductivity":null,"permeability_factor":0.95},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":null,"tbsol":null,"rfsol":null,"rbsol":null,"tfvis":null,"tbvis":null,"rfvis":null,"rbvis":null,"tdw":null,"tuv":null,"tspf":null,"tkr":null,"tciex":null,"tciey":null,"tciez":null,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":null,"rfciey":null,"rfciez":null,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"spectral_data":null,"composition_information":{"geometry":{"slat_width":14.8,"slat_spacing":12.7,"slat_curvature":33.13057,"number_segments":5},"materials":[{"product_id":12852,"name":"White Venetian Blind Slat (white.txt)","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":null,"cgdb_database_version":"1.0","acceptance":"#","appearance":null,"manufacturer_name":"Pella","data_file_name":"White Venetian Blind Slat (white.txt)","data_file_available":false,"short_description":null,"type":"material","subtype":"other","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":true,"thickness":0.1,"tir_front":0.0,"tir_back":null,"emissivity_front":0.9,"emissivity_back":0.9,"conductivity":160.0,"permeability_factor":null},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":0.0,"tbsol":null,"rfsol":0.683041274547577,"rbsol":null,"tfvis":0.0,"tbvis":null,"rfvis":0.7459762,"rbvis":0.7459762,"tdw":0.0,"tuv":0.0,"tspf":10000.0,"tkr":null,"tciex":0.0,"tciey":0.0,"tciez":0.0,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":69.85917,"rfciey":74.37163,"rfciez":75.35683,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"spectral_data":{"spectral_data":[{"T":0.0,"Rb":0.0703,"Rf":0.0703,"wavelength":0.3},{"T":0.0,"Rb":0.07,"Rf":0.07,"wavelength":0.305},{"T":0.0,"Rb":0.0692,"Rf":0.0692,"wavelength":0.31},{"T":0.0,"Rb":0.0684,"Rf":0.0684,"wavelength":0.315},{"T":0.0,"Rb":0.0674,"Rf":0.0674,"wavelength":0.32},{"T":0.0,"Rb":0.0663,"Rf":0.0663,"wavelength":0.325},{"T":0.0,"Rb":0.0653,"Rf":0.0653,"wavelength":0.33},{"T":0.0,"Rb":0.0647,"Rf":0.0647,"wavelength":0.335},{"T":0.0,"Rb":0.0642,"Rf":0.0642,"wavelength":0.34},{"T":0.0,"Rb":0.0651,"Rf":0.0651,"wavelength":0.345},{"T":0.0,"Rb":0.067,"Rf":0.067,"wavelength":0.35},{"T":0.0,"Rb":0.0704,"Rf":0.0704,"wavelength":0.355},{"T":0.0,"Rb":0.0751,"Rf":0.0751,"wavelength":0.36},{"T":0.0,"Rb":0.0816,"Rf":0.0816,"wavelength":0.365},{"T":0.0,"Rb":0.09,"Rf":0.09,"wavelength":0.37},{"T":0.0,"Rb":0.1022,"Rf":0.1022,"wavelength":0.375},{"T":0.0,"Rb":0.1191,"Rf":0.1191,"wavelength":0.38},{"T":0.0,"Rb":0.1455,"Rf":0.1455,"wavelength":0.385},{"T":0.0,"Rb":0.1897,"Rf":0.1897,"wavelength":0.39},{"T":0.0,"Rb":0.2618,"Rf":0.2618,"wavelength":0.395},{"T":0.0,"Rb":0.3615,"Rf":0.3615,"wavelength":0.4},{"T":0.0,"Rb":0.4777,"Rf":0.4777,"wavelength":0.405},{"T":0.0,"Rb":0.5803,"Rf":0.5803,"wavelength":0.41},{"T":0.0,"Rb":0.6437,"Rf":0.6437,"wavelength":0.415},{"T":0.0,"Rb":0.6726,"Rf":0.6726,"wavelength":0.42},{"T":0.0,"Rb":0.684,"Rf":0.684,"wavelength":0.425},{"T":0.0,"Rb":0.69,"Rf":0.69,"wavelength":0.43},{"T":0.0,"Rb":0.697,"Rf":0.697,"wavelength":0.435},{"T":0.0,"Rb":0.7038,"Rf":0.7038,"wavelength":0.44},{"T":0.0,"Rb":0.7093,"Rf":0.7093,"wavelength":0.445},{"T":0.0,"Rb":0.7133,"Rf":0.7133,"wavelength":0.45},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":0.455},{"T":0.0,"Rb":0.7152,"Rf":0.7152,"wavelength":0.46},{"T":0.0,"Rb":0.716,"Rf":0.716,"wavelength":0.465},{"T":0.0,"Rb":0.716,"Rf":0.716,"wavelength":0.47},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":0.475},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":0.48},{"T":0.0,"Rb":0.7181,"Rf":0.7181,"wavelength":0.485},{"T":0.0,"Rb":0.7199,"Rf":0.7199,"wavelength":0.49},{"T":0.0,"Rb":0.7225,"Rf":0.7225,"wavelength":0.495},{"T":0.0,"Rb":0.7249,"Rf":0.7249,"wavelength":0.5},{"T":0.0,"Rb":0.7291,"Rf":0.7291,"wavelength":0.505},{"T":0.0,"Rb":0.7327,"Rf":0.7327,"wavelength":0.51},{"T":0.0,"Rb":0.7374,"Rf":0.7374,"wavelength":0.515},{"T":0.0,"Rb":0.7408,"Rf":0.7408,"wavelength":0.52},{"T":0.0,"Rb":0.7457,"Rf":0.7457,"wavelength":0.525},{"T":0.0,"Rb":0.7491,"Rf":0.7491,"wavelength":0.53},{"T":0.0,"Rb":0.7524,"Rf":0.7524,"wavelength":0.535},{"T":0.0,"Rb":0.7548,"Rf":0.7548,"wavelength":0.54},{"T":0.0,"Rb":0.7562,"Rf":0.7562,"wavelength":0.545},{"T":0.0,"Rb":0.7577,"Rf":0.7577,"wavelength":0.55},{"T":0.0,"Rb":0.7584,"Rf":0.7584,"wavelength":0.555},{"T":0.0,"Rb":0.7574,"Rf":0.7574,"wavelength":0.56},{"T":0.0,"Rb":0.7568,"Rf":0.7568,"wavelength":0.565},{"T":0.0,"Rb":0.7553,"Rf":0.7553,"wavelength":0.57},{"T":0.0,"Rb":0.7543,"Rf":0.7543,"wavelength":0.575},{"T":0.0,"Rb":0.7529,"Rf":0.7529,"wavelength":0.58},{"T":0.0,"Rb":0.7511,"Rf":0.7511,"wavelength":0.585},{"T":0.0,"Rb":0.7489,"Rf":0.7489,"wavelength":0.59},{"T":0.0,"Rb":0.7474,"Rf":0.7474,"wavelength":0.595},{"T":0.0,"Rb":0.7458,"Rf":0.7458,"wavelength":0.6},{"T":0.0,"Rb":0.7434,"Rf":0.7434,"wavelength":0.605},{"T":0.0,"Rb":0.7419,"Rf":0.7419,"wavelength":0.61},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":0.615},{"T":0.0,"Rb":0.7376,"Rf":0.7376,"wavelength":0.62},{"T":0.0,"Rb":0.7353,"Rf":0.7353,"wavelength":0.625},{"T":0.0,"Rb":0.7339,"Rf":0.7339,"wavelength":0.63},{"T":0.0,"Rb":0.7319,"Rf":0.7319,"wavelength":0.635},{"T":0.0,"Rb":0.7297,"Rf":0.7297,"wavelength":0.64},{"T":0.0,"Rb":0.7277,"Rf":0.7277,"wavelength":0.645},{"T":0.0,"Rb":0.7261,"Rf":0.7261,"wavelength":0.65},{"T":0.0,"Rb":0.724,"Rf":0.724,"wavelength":0.655},{"T":0.0,"Rb":0.7221,"Rf":0.7221,"wavelength":0.66},{"T":0.0,"Rb":0.7202,"Rf":0.7202,"wavelength":0.665},{"T":0.0,"Rb":0.7186,"Rf":0.7186,"wavelength":0.67},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":0.675},{"T":0.0,"Rb":0.7133,"Rf":0.7133,"wavelength":0.68},{"T":0.0,"Rb":0.7124,"Rf":0.7124,"wavelength":0.685},{"T":0.0,"Rb":0.7105,"Rf":0.7105,"wavelength":0.69},{"T":0.0,"Rb":0.7086,"Rf":0.7086,"wavelength":0.695},{"T":0.0,"Rb":0.706,"Rf":0.706,"wavelength":0.7},{"T":0.0,"Rb":0.7048,"Rf":0.7048,"wavelength":0.705},{"T":0.0,"Rb":0.7026,"Rf":0.7026,"wavelength":0.71},{"T":0.0,"Rb":0.7004,"Rf":0.7004,"wavelength":0.715},{"T":0.0,"Rb":0.6986,"Rf":0.6986,"wavelength":0.72},{"T":0.0,"Rb":0.6959,"Rf":0.6959,"wavelength":0.725},{"T":0.0,"Rb":0.6944,"Rf":0.6944,"wavelength":0.73},{"T":0.0,"Rb":0.6916,"Rf":0.6916,"wavelength":0.735},{"T":0.0,"Rb":0.69,"Rf":0.69,"wavelength":0.74},{"T":0.0,"Rb":0.6879,"Rf":0.6879,"wavelength":0.745},{"T":0.0,"Rb":0.6855,"Rf":0.6855,"wavelength":0.75},{"T":0.0,"Rb":0.6828,"Rf":0.6828,"wavelength":0.755},{"T":0.0,"Rb":0.6809,"Rf":0.6809,"wavelength":0.76},{"T":0.0,"Rb":0.6781,"Rf":0.6781,"wavelength":0.765},{"T":0.0,"Rb":0.6749,"Rf":0.6749,"wavelength":0.77},{"T":0.0,"Rb":0.6731,"Rf":0.6731,"wavelength":0.775},{"T":0.0,"Rb":0.671,"Rf":0.671,"wavelength":0.78},{"T":0.0,"Rb":0.6687,"Rf":0.6687,"wavelength":0.785},{"T":0.0,"Rb":0.6659,"Rf":0.6659,"wavelength":0.79},{"T":0.0,"Rb":0.6633,"Rf":0.6633,"wavelength":0.795},{"T":0.0,"Rb":0.6615,"Rf":0.6615,"wavelength":0.8},{"T":0.0,"Rb":0.6588,"Rf":0.6588,"wavelength":0.805},{"T":0.0,"Rb":0.6569,"Rf":0.6569,"wavelength":0.81},{"T":0.0,"Rb":0.6547,"Rf":0.6547,"wavelength":0.815},{"T":0.0,"Rb":0.6531,"Rf":0.6531,"wavelength":0.82},{"T":0.0,"Rb":0.6508,"Rf":0.6508,"wavelength":0.825},{"T":0.0,"Rb":0.6488,"Rf":0.6488,"wavelength":0.83},{"T":0.0,"Rb":0.6478,"Rf":0.6478,"wavelength":0.835},{"T":0.0,"Rb":0.6471,"Rf":0.6471,"wavelength":0.84},{"T":0.0,"Rb":0.645,"Rf":0.645,"wavelength":0.845},{"T":0.0,"Rb":0.6451,"Rf":0.6451,"wavelength":0.85},{"T":0.0,"Rb":0.6433,"Rf":0.6433,"wavelength":0.855},{"T":0.0,"Rb":0.6451,"Rf":0.6451,"wavelength":0.86},{"T":0.0,"Rb":0.6461,"Rf":0.6461,"wavelength":0.865},{"T":0.0,"Rb":0.6474,"Rf":0.6474,"wavelength":0.87},{"T":0.0,"Rb":0.6457,"Rf":0.6457,"wavelength":0.875},{"T":0.0,"Rb":0.6444,"Rf":0.6444,"wavelength":0.88},{"T":0.0,"Rb":0.6442,"Rf":0.6442,"wavelength":0.885},{"T":0.0,"Rb":0.6447,"Rf":0.6447,"wavelength":0.89},{"T":0.0,"Rb":0.644,"Rf":0.644,"wavelength":0.895},{"T":0.0,"Rb":0.6455,"Rf":0.6455,"wavelength":0.9},{"T":0.0,"Rb":0.6448,"Rf":0.6448,"wavelength":0.905},{"T":0.0,"Rb":0.6462,"Rf":0.6462,"wavelength":0.91},{"T":0.0,"Rb":0.6466,"Rf":0.6466,"wavelength":0.915},{"T":0.0,"Rb":0.6481,"Rf":0.6481,"wavelength":0.92},{"T":0.0,"Rb":0.6496,"Rf":0.6496,"wavelength":0.925},{"T":0.0,"Rb":0.6502,"Rf":0.6502,"wavelength":0.93},{"T":0.0,"Rb":0.6511,"Rf":0.6511,"wavelength":0.935},{"T":0.0,"Rb":0.6524,"Rf":0.6524,"wavelength":0.94},{"T":0.0,"Rb":0.6535,"Rf":0.6535,"wavelength":0.945},{"T":0.0,"Rb":0.6542,"Rf":0.6542,"wavelength":0.95},{"T":0.0,"Rb":0.6559,"Rf":0.6559,"wavelength":0.955},{"T":0.0,"Rb":0.657,"Rf":0.657,"wavelength":0.96},{"T":0.0,"Rb":0.6576,"Rf":0.6576,"wavelength":0.965},{"T":0.0,"Rb":0.6585,"Rf":0.6585,"wavelength":0.97},{"T":0.0,"Rb":0.6599,"Rf":0.6599,"wavelength":0.975},{"T":0.0,"Rb":0.6606,"Rf":0.6606,"wavelength":0.98},{"T":0.0,"Rb":0.6621,"Rf":0.6621,"wavelength":0.985},{"T":0.0,"Rb":0.6634,"Rf":0.6634,"wavelength":0.99},{"T":0.0,"Rb":0.6646,"Rf":0.6646,"wavelength":0.995},{"T":0.0,"Rb":0.6658,"Rf":0.6658,"wavelength":1.0},{"T":0.0,"Rb":0.6664,"Rf":0.6664,"wavelength":1.005},{"T":0.0,"Rb":0.667,"Rf":0.667,"wavelength":1.01},{"T":0.0,"Rb":0.6684,"Rf":0.6684,"wavelength":1.015},{"T":0.0,"Rb":0.6686,"Rf":0.6686,"wavelength":1.02},{"T":0.0,"Rb":0.6706,"Rf":0.6706,"wavelength":1.025},{"T":0.0,"Rb":0.6711,"Rf":0.6711,"wavelength":1.03},{"T":0.0,"Rb":0.6719,"Rf":0.6719,"wavelength":1.035},{"T":0.0,"Rb":0.673,"Rf":0.673,"wavelength":1.04},{"T":0.0,"Rb":0.6743,"Rf":0.6743,"wavelength":1.045},{"T":0.0,"Rb":0.6747,"Rf":0.6747,"wavelength":1.05},{"T":0.0,"Rb":0.6757,"Rf":0.6757,"wavelength":1.055},{"T":0.0,"Rb":0.6767,"Rf":0.6767,"wavelength":1.06},{"T":0.0,"Rb":0.6776,"Rf":0.6776,"wavelength":1.065},{"T":0.0,"Rb":0.678,"Rf":0.678,"wavelength":1.07},{"T":0.0,"Rb":0.679,"Rf":0.679,"wavelength":1.075},{"T":0.0,"Rb":0.6789,"Rf":0.6789,"wavelength":1.08},{"T":0.0,"Rb":0.6807,"Rf":0.6807,"wavelength":1.085},{"T":0.0,"Rb":0.6809,"Rf":0.6809,"wavelength":1.09},{"T":0.0,"Rb":0.6825,"Rf":0.6825,"wavelength":1.095},{"T":0.0,"Rb":0.6834,"Rf":0.6834,"wavelength":1.1},{"T":0.0,"Rb":0.6837,"Rf":0.6837,"wavelength":1.105},{"T":0.0,"Rb":0.6842,"Rf":0.6842,"wavelength":1.11},{"T":0.0,"Rb":0.6854,"Rf":0.6854,"wavelength":1.115},{"T":0.0,"Rb":0.6849,"Rf":0.6849,"wavelength":1.12},{"T":0.0,"Rb":0.6857,"Rf":0.6857,"wavelength":1.125},{"T":0.0,"Rb":0.6861,"Rf":0.6861,"wavelength":1.13},{"T":0.0,"Rb":0.6862,"Rf":0.6862,"wavelength":1.135},{"T":0.0,"Rb":0.6874,"Rf":0.6874,"wavelength":1.14},{"T":0.0,"Rb":0.6877,"Rf":0.6877,"wavelength":1.145},{"T":0.0,"Rb":0.688,"Rf":0.688,"wavelength":1.15},{"T":0.0,"Rb":0.6887,"Rf":0.6887,"wavelength":1.155},{"T":0.0,"Rb":0.6895,"Rf":0.6895,"wavelength":1.16},{"T":0.0,"Rb":0.6895,"Rf":0.6895,"wavelength":1.165},{"T":0.0,"Rb":0.6906,"Rf":0.6906,"wavelength":1.17},{"T":0.0,"Rb":0.6902,"Rf":0.6902,"wavelength":1.175},{"T":0.0,"Rb":0.6893,"Rf":0.6893,"wavelength":1.18},{"T":0.0,"Rb":0.6897,"Rf":0.6897,"wavelength":1.185},{"T":0.0,"Rb":0.6904,"Rf":0.6904,"wavelength":1.19},{"T":0.0,"Rb":0.6908,"Rf":0.6908,"wavelength":1.195},{"T":0.0,"Rb":0.6918,"Rf":0.6918,"wavelength":1.2},{"T":0.0,"Rb":0.6923,"Rf":0.6923,"wavelength":1.205},{"T":0.0,"Rb":0.6931,"Rf":0.6931,"wavelength":1.21},{"T":0.0,"Rb":0.6936,"Rf":0.6936,"wavelength":1.215},{"T":0.0,"Rb":0.695,"Rf":0.695,"wavelength":1.22},{"T":0.0,"Rb":0.6958,"Rf":0.6958,"wavelength":1.225},{"T":0.0,"Rb":0.6969,"Rf":0.6969,"wavelength":1.23},{"T":0.0,"Rb":0.6972,"Rf":0.6972,"wavelength":1.235},{"T":0.0,"Rb":0.6981,"Rf":0.6981,"wavelength":1.24},{"T":0.0,"Rb":0.6984,"Rf":0.6984,"wavelength":1.245},{"T":0.0,"Rb":0.6991,"Rf":0.6991,"wavelength":1.25},{"T":0.0,"Rb":0.6994,"Rf":0.6994,"wavelength":1.255},{"T":0.0,"Rb":0.6999,"Rf":0.6999,"wavelength":1.26},{"T":0.0,"Rb":0.7015,"Rf":0.7015,"wavelength":1.265},{"T":0.0,"Rb":0.7012,"Rf":0.7012,"wavelength":1.27},{"T":0.0,"Rb":0.7018,"Rf":0.7018,"wavelength":1.275},{"T":0.0,"Rb":0.7016,"Rf":0.7016,"wavelength":1.28},{"T":0.0,"Rb":0.702,"Rf":0.702,"wavelength":1.285},{"T":0.0,"Rb":0.7028,"Rf":0.7028,"wavelength":1.29},{"T":0.0,"Rb":0.7034,"Rf":0.7034,"wavelength":1.295},{"T":0.0,"Rb":0.7033,"Rf":0.7033,"wavelength":1.3},{"T":0.0,"Rb":0.7036,"Rf":0.7036,"wavelength":1.305},{"T":0.0,"Rb":0.7039,"Rf":0.7039,"wavelength":1.31},{"T":0.0,"Rb":0.7043,"Rf":0.7043,"wavelength":1.315},{"T":0.0,"Rb":0.7049,"Rf":0.7049,"wavelength":1.32},{"T":0.0,"Rb":0.7053,"Rf":0.7053,"wavelength":1.325},{"T":0.0,"Rb":0.7051,"Rf":0.7051,"wavelength":1.33},{"T":0.0,"Rb":0.7054,"Rf":0.7054,"wavelength":1.335},{"T":0.0,"Rb":0.7058,"Rf":0.7058,"wavelength":1.34},{"T":0.0,"Rb":0.7056,"Rf":0.7056,"wavelength":1.345},{"T":0.0,"Rb":0.7055,"Rf":0.7055,"wavelength":1.35},{"T":0.0,"Rb":0.7056,"Rf":0.7056,"wavelength":1.355},{"T":0.0,"Rb":0.7059,"Rf":0.7059,"wavelength":1.36},{"T":0.0,"Rb":0.7062,"Rf":0.7062,"wavelength":1.365},{"T":0.0,"Rb":0.7059,"Rf":0.7059,"wavelength":1.37},{"T":0.0,"Rb":0.7064,"Rf":0.7064,"wavelength":1.375},{"T":0.0,"Rb":0.7067,"Rf":0.7067,"wavelength":1.38},{"T":0.0,"Rb":0.707,"Rf":0.707,"wavelength":1.385},{"T":0.0,"Rb":0.7073,"Rf":0.7073,"wavelength":1.39},{"T":0.0,"Rb":0.7082,"Rf":0.7082,"wavelength":1.395},{"T":0.0,"Rb":0.708,"Rf":0.708,"wavelength":1.4},{"T":0.0,"Rb":0.7082,"Rf":0.7082,"wavelength":1.405},{"T":0.0,"Rb":0.7083,"Rf":0.7083,"wavelength":1.41},{"T":0.0,"Rb":0.7084,"Rf":0.7084,"wavelength":1.415},{"T":0.0,"Rb":0.7083,"Rf":0.7083,"wavelength":1.42},{"T":0.0,"Rb":0.7095,"Rf":0.7095,"wavelength":1.425},{"T":0.0,"Rb":0.7104,"Rf":0.7104,"wavelength":1.43},{"T":0.0,"Rb":0.7112,"Rf":0.7112,"wavelength":1.435},{"T":0.0,"Rb":0.7115,"Rf":0.7115,"wavelength":1.44},{"T":0.0,"Rb":0.7123,"Rf":0.7123,"wavelength":1.445},{"T":0.0,"Rb":0.7131,"Rf":0.7131,"wavelength":1.45},{"T":0.0,"Rb":0.7137,"Rf":0.7137,"wavelength":1.455},{"T":0.0,"Rb":0.7144,"Rf":0.7144,"wavelength":1.46},{"T":0.0,"Rb":0.7149,"Rf":0.7149,"wavelength":1.465},{"T":0.0,"Rb":0.7153,"Rf":0.7153,"wavelength":1.47},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":1.475},{"T":0.0,"Rb":0.7159,"Rf":0.7159,"wavelength":1.48},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":1.485},{"T":0.0,"Rb":0.7173,"Rf":0.7173,"wavelength":1.49},{"T":0.0,"Rb":0.718,"Rf":0.718,"wavelength":1.495},{"T":0.0,"Rb":0.7185,"Rf":0.7185,"wavelength":1.5},{"T":0.0,"Rb":0.7186,"Rf":0.7186,"wavelength":1.505},{"T":0.0,"Rb":0.7192,"Rf":0.7192,"wavelength":1.51},{"T":0.0,"Rb":0.7203,"Rf":0.7203,"wavelength":1.515},{"T":0.0,"Rb":0.7208,"Rf":0.7208,"wavelength":1.52},{"T":0.0,"Rb":0.7221,"Rf":0.7221,"wavelength":1.525},{"T":0.0,"Rb":0.7223,"Rf":0.7223,"wavelength":1.53},{"T":0.0,"Rb":0.7227,"Rf":0.7227,"wavelength":1.535},{"T":0.0,"Rb":0.7235,"Rf":0.7235,"wavelength":1.54},{"T":0.0,"Rb":0.7243,"Rf":0.7243,"wavelength":1.545},{"T":0.0,"Rb":0.725,"Rf":0.725,"wavelength":1.55},{"T":0.0,"Rb":0.7244,"Rf":0.7244,"wavelength":1.555},{"T":0.0,"Rb":0.7253,"Rf":0.7253,"wavelength":1.56},{"T":0.0,"Rb":0.7265,"Rf":0.7265,"wavelength":1.565},{"T":0.0,"Rb":0.7262,"Rf":0.7262,"wavelength":1.57},{"T":0.0,"Rb":0.7262,"Rf":0.7262,"wavelength":1.575},{"T":0.0,"Rb":0.727,"Rf":0.727,"wavelength":1.58},{"T":0.0,"Rb":0.7274,"Rf":0.7274,"wavelength":1.585},{"T":0.0,"Rb":0.7284,"Rf":0.7284,"wavelength":1.59},{"T":0.0,"Rb":0.7284,"Rf":0.7284,"wavelength":1.595},{"T":0.0,"Rb":0.7285,"Rf":0.7285,"wavelength":1.6},{"T":0.0,"Rb":0.7289,"Rf":0.7289,"wavelength":1.605},{"T":0.0,"Rb":0.7292,"Rf":0.7292,"wavelength":1.61},{"T":0.0,"Rb":0.7294,"Rf":0.7294,"wavelength":1.615},{"T":0.0,"Rb":0.7287,"Rf":0.7287,"wavelength":1.62},{"T":0.0,"Rb":0.7285,"Rf":0.7285,"wavelength":1.625},{"T":0.0,"Rb":0.7279,"Rf":0.7279,"wavelength":1.63},{"T":0.0,"Rb":0.7266,"Rf":0.7266,"wavelength":1.635},{"T":0.0,"Rb":0.7252,"Rf":0.7252,"wavelength":1.64},{"T":0.0,"Rb":0.7229,"Rf":0.7229,"wavelength":1.645},{"T":0.0,"Rb":0.7178,"Rf":0.7178,"wavelength":1.65},{"T":0.0,"Rb":0.7141,"Rf":0.7141,"wavelength":1.655},{"T":0.0,"Rb":0.7101,"Rf":0.7101,"wavelength":1.66},{"T":0.0,"Rb":0.7081,"Rf":0.7081,"wavelength":1.665},{"T":0.0,"Rb":0.7093,"Rf":0.7093,"wavelength":1.67},{"T":0.0,"Rb":0.7108,"Rf":0.7108,"wavelength":1.675},{"T":0.0,"Rb":0.7109,"Rf":0.7109,"wavelength":1.68},{"T":0.0,"Rb":0.7102,"Rf":0.7102,"wavelength":1.685},{"T":0.0,"Rb":0.7102,"Rf":0.7102,"wavelength":1.69},{"T":0.0,"Rb":0.7113,"Rf":0.7113,"wavelength":1.695},{"T":0.0,"Rb":0.7127,"Rf":0.7127,"wavelength":1.7},{"T":0.0,"Rb":0.7139,"Rf":0.7139,"wavelength":1.705},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":1.71},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":1.715},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":1.72},{"T":0.0,"Rb":0.7159,"Rf":0.7159,"wavelength":1.725},{"T":0.0,"Rb":0.7153,"Rf":0.7153,"wavelength":1.73},{"T":0.0,"Rb":0.7171,"Rf":0.7171,"wavelength":1.735},{"T":0.0,"Rb":0.7178,"Rf":0.7178,"wavelength":1.74},{"T":0.0,"Rb":0.7183,"Rf":0.7183,"wavelength":1.745},{"T":0.0,"Rb":0.7206,"Rf":0.7206,"wavelength":1.75},{"T":0.0,"Rb":0.7213,"Rf":0.7213,"wavelength":1.755},{"T":0.0,"Rb":0.7231,"Rf":0.7231,"wavelength":1.76},{"T":0.0,"Rb":0.7251,"Rf":0.7251,"wavelength":1.765},{"T":0.0,"Rb":0.7266,"Rf":0.7266,"wavelength":1.77},{"T":0.0,"Rb":0.7291,"Rf":0.7291,"wavelength":1.775},{"T":0.0,"Rb":0.7303,"Rf":0.7303,"wavelength":1.78},{"T":0.0,"Rb":0.7315,"Rf":0.7315,"wavelength":1.785},{"T":0.0,"Rb":0.7327,"Rf":0.7327,"wavelength":1.79},{"T":0.0,"Rb":0.7332,"Rf":0.7332,"wavelength":1.795},{"T":0.0,"Rb":0.7339,"Rf":0.7339,"wavelength":1.8},{"T":0.0,"Rb":0.7346,"Rf":0.7346,"wavelength":1.805},{"T":0.0,"Rb":0.7345,"Rf":0.7345,"wavelength":1.81},{"T":0.0,"Rb":0.7359,"Rf":0.7359,"wavelength":1.815},{"T":0.0,"Rb":0.735,"Rf":0.735,"wavelength":1.82},{"T":0.0,"Rb":0.736,"Rf":0.736,"wavelength":1.825},{"T":0.0,"Rb":0.7372,"Rf":0.7372,"wavelength":1.83},{"T":0.0,"Rb":0.7377,"Rf":0.7377,"wavelength":1.835},{"T":0.0,"Rb":0.7391,"Rf":0.7391,"wavelength":1.84},{"T":0.0,"Rb":0.7382,"Rf":0.7382,"wavelength":1.845},{"T":0.0,"Rb":0.7397,"Rf":0.7397,"wavelength":1.85},{"T":0.0,"Rb":0.7411,"Rf":0.7411,"wavelength":1.855},{"T":0.0,"Rb":0.742,"Rf":0.742,"wavelength":1.86},{"T":0.0,"Rb":0.7416,"Rf":0.7416,"wavelength":1.865},{"T":0.0,"Rb":0.7415,"Rf":0.7415,"wavelength":1.87},{"T":0.0,"Rb":0.7425,"Rf":0.7425,"wavelength":1.875},{"T":0.0,"Rb":0.7432,"Rf":0.7432,"wavelength":1.88},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":1.885},{"T":0.0,"Rb":0.7415,"Rf":0.7415,"wavelength":1.89},{"T":0.0,"Rb":0.7406,"Rf":0.7406,"wavelength":1.895},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":1.9},{"T":0.0,"Rb":0.7389,"Rf":0.7389,"wavelength":1.905},{"T":0.0,"Rb":0.7393,"Rf":0.7393,"wavelength":1.91},{"T":0.0,"Rb":0.7395,"Rf":0.7395,"wavelength":1.915},{"T":0.0,"Rb":0.7401,"Rf":0.7401,"wavelength":1.92},{"T":0.0,"Rb":0.7397,"Rf":0.7397,"wavelength":1.925},{"T":0.0,"Rb":0.7408,"Rf":0.7408,"wavelength":1.93},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":1.935},{"T":0.0,"Rb":0.7423,"Rf":0.7423,"wavelength":1.94},{"T":0.0,"Rb":0.7423,"Rf":0.7423,"wavelength":1.945},{"T":0.0,"Rb":0.7422,"Rf":0.7422,"wavelength":1.95},{"T":0.0,"Rb":0.7435,"Rf":0.7435,"wavelength":1.955},{"T":0.0,"Rb":0.7422,"Rf":0.7422,"wavelength":1.96},{"T":0.0,"Rb":0.7432,"Rf":0.7432,"wavelength":1.965},{"T":0.0,"Rb":0.7449,"Rf":0.7449,"wavelength":1.97},{"T":0.0,"Rb":0.7479,"Rf":0.7479,"wavelength":1.975},{"T":0.0,"Rb":0.7477,"Rf":0.7477,"wavelength":1.98},{"T":0.0,"Rb":0.7479,"Rf":0.7479,"wavelength":1.985},{"T":0.0,"Rb":0.7481,"Rf":0.7481,"wavelength":1.99},{"T":0.0,"Rb":0.7493,"Rf":0.7493,"wavelength":1.995},{"T":0.0,"Rb":0.7496,"Rf":0.7496,"wavelength":2.0},{"T":0.0,"Rb":0.7501,"Rf":0.7501,"wavelength":2.005},{"T":0.0,"Rb":0.7503,"Rf":0.7503,"wavelength":2.01},{"T":0.0,"Rb":0.7518,"Rf":0.7518,"wavelength":2.015},{"T":0.0,"Rb":0.7517,"Rf":0.7517,"wavelength":2.02},{"T":0.0,"Rb":0.7523,"Rf":0.7523,"wavelength":2.025},{"T":0.0,"Rb":0.7528,"Rf":0.7528,"wavelength":2.03},{"T":0.0,"Rb":0.7531,"Rf":0.7531,"wavelength":2.035},{"T":0.0,"Rb":0.7531,"Rf":0.7531,"wavelength":2.04},{"T":0.0,"Rb":0.7529,"Rf":0.7529,"wavelength":2.045},{"T":0.0,"Rb":0.7539,"Rf":0.7539,"wavelength":2.05},{"T":0.0,"Rb":0.7564,"Rf":0.7564,"wavelength":2.055},{"T":0.0,"Rb":0.7556,"Rf":0.7556,"wavelength":2.06},{"T":0.0,"Rb":0.7544,"Rf":0.7544,"wavelength":2.065},{"T":0.0,"Rb":0.7537,"Rf":0.7537,"wavelength":2.07},{"T":0.0,"Rb":0.7541,"Rf":0.7541,"wavelength":2.075},{"T":0.0,"Rb":0.7517,"Rf":0.7517,"wavelength":2.08},{"T":0.0,"Rb":0.7532,"Rf":0.7532,"wavelength":2.085},{"T":0.0,"Rb":0.7546,"Rf":0.7546,"wavelength":2.09},{"T":0.0,"Rb":0.7541,"Rf":0.7541,"wavelength":2.095},{"T":0.0,"Rb":0.7539,"Rf":0.7539,"wavelength":2.1},{"T":0.0,"Rb":0.7555,"Rf":0.7555,"wavelength":2.105},{"T":0.0,"Rb":0.7536,"Rf":0.7536,"wavelength":2.11},{"T":0.0,"Rb":0.7544,"Rf":0.7544,"wavelength":2.115},{"T":0.0,"Rb":0.7501,"Rf":0.7501,"wavelength":2.12},{"T":0.0,"Rb":0.7442,"Rf":0.7442,"wavelength":2.125},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":2.13},{"T":0.0,"Rb":0.7331,"Rf":0.7331,"wavelength":2.135},{"T":0.0,"Rb":0.7283,"Rf":0.7283,"wavelength":2.14},{"T":0.0,"Rb":0.7282,"Rf":0.7282,"wavelength":2.145},{"T":0.0,"Rb":0.731,"Rf":0.731,"wavelength":2.15},{"T":0.0,"Rb":0.7431,"Rf":0.7431,"wavelength":2.155},{"T":0.0,"Rb":0.7431,"Rf":0.7431,"wavelength":2.16},{"T":0.0,"Rb":0.7459,"Rf":0.7459,"wavelength":2.165},{"T":0.0,"Rb":0.7519,"Rf":0.7519,"wavelength":2.17},{"T":0.0,"Rb":0.753,"Rf":0.753,"wavelength":2.175},{"T":0.0,"Rb":0.7488,"Rf":0.7488,"wavelength":2.18},{"T":0.0,"Rb":0.7548,"Rf":0.7548,"wavelength":2.185},{"T":0.0,"Rb":0.7505,"Rf":0.7505,"wavelength":2.19},{"T":0.0,"Rb":0.7495,"Rf":0.7495,"wavelength":2.195},{"T":0.0,"Rb":0.7456,"Rf":0.7456,"wavelength":2.2},{"T":0.0,"Rb":0.7457,"Rf":0.7457,"wavelength":2.205},{"T":0.0,"Rb":0.7468,"Rf":0.7468,"wavelength":2.21},{"T":0.0,"Rb":0.744,"Rf":0.744,"wavelength":2.215},{"T":0.0,"Rb":0.7412,"Rf":0.7412,"wavelength":2.22},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":2.225},{"T":0.0,"Rb":0.7395,"Rf":0.7395,"wavelength":2.23},{"T":0.0,"Rb":0.7341,"Rf":0.7341,"wavelength":2.235},{"T":0.0,"Rb":0.7227,"Rf":0.7227,"wavelength":2.24},{"T":0.0,"Rb":0.7105,"Rf":0.7105,"wavelength":2.245},{"T":0.0,"Rb":0.6971,"Rf":0.6971,"wavelength":2.25},{"T":0.0,"Rb":0.676,"Rf":0.676,"wavelength":2.255},{"T":0.0,"Rb":0.6582,"Rf":0.6582,"wavelength":2.26},{"T":0.0,"Rb":0.646,"Rf":0.646,"wavelength":2.265},{"T":0.0,"Rb":0.6434,"Rf":0.6434,"wavelength":2.27},{"T":0.0,"Rb":0.6433,"Rf":0.6433,"wavelength":2.275},{"T":0.0,"Rb":0.6464,"Rf":0.6464,"wavelength":2.28},{"T":0.0,"Rb":0.6496,"Rf":0.6496,"wavelength":2.285},{"T":0.0,"Rb":0.6549,"Rf":0.6549,"wavelength":2.29},{"T":0.0,"Rb":0.6597,"Rf":0.6597,"wavelength":2.295},{"T":0.0,"Rb":0.6562,"Rf":0.6562,"wavelength":2.3},{"T":0.0,"Rb":0.6573,"Rf":0.6573,"wavelength":2.305},{"T":0.0,"Rb":0.6587,"Rf":0.6587,"wavelength":2.31},{"T":0.0,"Rb":0.66,"Rf":0.66,"wavelength":2.315},{"T":0.0,"Rb":0.6659,"Rf":0.6659,"wavelength":2.32},{"T":0.0,"Rb":0.6758,"Rf":0.6758,"wavelength":2.325},{"T":0.0,"Rb":0.676,"Rf":0.676,"wavelength":2.33},{"T":0.0,"Rb":0.6785,"Rf":0.6785,"wavelength":2.335},{"T":0.0,"Rb":0.68,"Rf":0.68,"wavelength":2.34},{"T":0.0,"Rb":0.681,"Rf":0.681,"wavelength":2.345},{"T":0.0,"Rb":0.6778,"Rf":0.6778,"wavelength":2.35},{"T":0.0,"Rb":0.6796,"Rf":0.6796,"wavelength":2.355},{"T":0.0,"Rb":0.683,"Rf":0.683,"wavelength":2.36},{"T":0.0,"Rb":0.6793,"Rf":0.6793,"wavelength":2.365},{"T":0.0,"Rb":0.6823,"Rf":0.6823,"wavelength":2.37},{"T":0.0,"Rb":0.6864,"Rf":0.6864,"wavelength":2.375},{"T":0.0,"Rb":0.6836,"Rf":0.6836,"wavelength":2.38},{"T":0.0,"Rb":0.6786,"Rf":0.6786,"wavelength":2.385},{"T":0.0,"Rb":0.6835,"Rf":0.6835,"wavelength":2.39},{"T":0.0,"Rb":0.6795,"Rf":0.6795,"wavelength":2.395},{"T":0.0,"Rb":0.6834,"Rf":0.6834,"wavelength":2.4},{"T":0.0,"Rb":0.689,"Rf":0.689,"wavelength":2.405},{"T":0.0,"Rb":0.686,"Rf":0.686,"wavelength":2.41},{"T":0.0,"Rb":0.6899,"Rf":0.6899,"wavelength":2.415},{"T":0.0,"Rb":0.6884,"Rf":0.6884,"wavelength":2.42},{"T":0.0,"Rb":0.6912,"Rf":0.6912,"wavelength":2.425},{"T":0.0,"Rb":0.6936,"Rf":0.6936,"wavelength":2.43},{"T":0.0,"Rb":0.6945,"Rf":0.6945,"wavelength":2.435},{"T":0.0,"Rb":0.6927,"Rf":0.6927,"wavelength":2.44},{"T":0.0,"Rb":0.6792,"Rf":0.6792,"wavelength":2.445},{"T":0.0,"Rb":0.6733,"Rf":0.6733,"wavelength":2.45},{"T":0.0,"Rb":0.6649,"Rf":0.6649,"wavelength":2.455},{"T":0.0,"Rb":0.6712,"Rf":0.6712,"wavelength":2.46},{"T":0.0,"Rb":0.6756,"Rf":0.6756,"wavelength":2.465},{"T":0.0,"Rb":0.6799,"Rf":0.6799,"wavelength":2.47},{"T":0.0,"Rb":0.6874,"Rf":0.6874,"wavelength":2.475},{"T":0.0,"Rb":0.6999,"Rf":0.6999,"wavelength":2.48},{"T":0.0,"Rb":0.6993,"Rf":0.6993,"wavelength":2.485},{"T":0.0,"Rb":0.7081,"Rf":0.7081,"wavelength":2.49},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":2.495},{"T":0.0,"Rb":0.719,"Rf":0.719,"wavelength":2.5}],"dual_band_values":{"Rb_sol_diffuse":0.6767141,"Rb_vis_diffuse":0.7434482,"Rf_sol_diffuse":0.6767141,"Rf_vis_diffuse":0.7434482,"Tb_sol_diffuse":0.0,"Tb_vis_diffuse":0.0,"Tf_sol_diffuse":0.0,"Tf_vis_diffuse":0.0,"Rb_sol_specular":0.0,"Rb_vis_specular":null,"Rf_sol_specular":0.0,"Rf_vis_specular":0.0,"Tb_sol_specular":0.0,"Tb_vis_specular":0.0,"Tf_sol_specular":0.0,"Tf_vis_specular":0.0}}}]}} +{"product_id":12149,"name":"Slim White Venetian Blind","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":3000,"cgdb_database_version":"1","acceptance":"#","appearance":null,"manufacturer_name":"Pella","data_file_name":null,"data_file_available":false,"short_description":null,"type":"shading","subtype":"venetian","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":false,"thickness":null,"tir_front":null,"tir_back":null,"emissivity_front":null,"emissivity_back":null,"conductivity":null,"permeability_factor":0.95},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":null,"tbsol":null,"rfsol":null,"rbsol":null,"tfvis":null,"tbvis":null,"rfvis":null,"rbvis":null,"tdw":null,"tuv":null,"tspf":null,"tkr":null,"tciex":null,"tciey":null,"tciez":null,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":null,"rfciey":null,"rfciez":null,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"composition":[{"child_product":{"product_id":12852,"name":"White Venetian Blind Slat (white.txt)","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":null,"cgdb_database_version":"1.0","acceptance":"#","appearance":null,"manufacturer_name":"Pella","data_file_name":"White Venetian Blind Slat (white.txt)","data_file_available":false,"short_description":null,"type":"material","subtype":"other","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":true,"thickness":0.1,"tir_front":0.0,"tir_back":null,"emissivity_front":0.9,"emissivity_back":0.9,"conductivity":160.0,"permeability_factor":null},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":0.0,"tbsol":null,"rfsol":0.683041274547577,"rbsol":null,"tfvis":0.0,"tbvis":null,"rfvis":0.7459762,"rbvis":0.7459762,"tdw":0.0,"tuv":0.0,"tspf":10000.0,"tkr":null,"tciex":0.0,"tciey":0.0,"tciez":0.0,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":69.85917,"rfciey":74.37163,"rfciez":75.35683,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"composition":[],"spectral_data":{"spectral_data":[{"T":0.0,"Rb":0.0703,"Rf":0.0703,"wavelength":0.3},{"T":0.0,"Rb":0.07,"Rf":0.07,"wavelength":0.305},{"T":0.0,"Rb":0.0692,"Rf":0.0692,"wavelength":0.31},{"T":0.0,"Rb":0.0684,"Rf":0.0684,"wavelength":0.315},{"T":0.0,"Rb":0.0674,"Rf":0.0674,"wavelength":0.32},{"T":0.0,"Rb":0.0663,"Rf":0.0663,"wavelength":0.325},{"T":0.0,"Rb":0.0653,"Rf":0.0653,"wavelength":0.33},{"T":0.0,"Rb":0.0647,"Rf":0.0647,"wavelength":0.335},{"T":0.0,"Rb":0.0642,"Rf":0.0642,"wavelength":0.34},{"T":0.0,"Rb":0.0651,"Rf":0.0651,"wavelength":0.345},{"T":0.0,"Rb":0.067,"Rf":0.067,"wavelength":0.35},{"T":0.0,"Rb":0.0704,"Rf":0.0704,"wavelength":0.355},{"T":0.0,"Rb":0.0751,"Rf":0.0751,"wavelength":0.36},{"T":0.0,"Rb":0.0816,"Rf":0.0816,"wavelength":0.365},{"T":0.0,"Rb":0.09,"Rf":0.09,"wavelength":0.37},{"T":0.0,"Rb":0.1022,"Rf":0.1022,"wavelength":0.375},{"T":0.0,"Rb":0.1191,"Rf":0.1191,"wavelength":0.38},{"T":0.0,"Rb":0.1455,"Rf":0.1455,"wavelength":0.385},{"T":0.0,"Rb":0.1897,"Rf":0.1897,"wavelength":0.39},{"T":0.0,"Rb":0.2618,"Rf":0.2618,"wavelength":0.395},{"T":0.0,"Rb":0.3615,"Rf":0.3615,"wavelength":0.4},{"T":0.0,"Rb":0.4777,"Rf":0.4777,"wavelength":0.405},{"T":0.0,"Rb":0.5803,"Rf":0.5803,"wavelength":0.41},{"T":0.0,"Rb":0.6437,"Rf":0.6437,"wavelength":0.415},{"T":0.0,"Rb":0.6726,"Rf":0.6726,"wavelength":0.42},{"T":0.0,"Rb":0.684,"Rf":0.684,"wavelength":0.425},{"T":0.0,"Rb":0.69,"Rf":0.69,"wavelength":0.43},{"T":0.0,"Rb":0.697,"Rf":0.697,"wavelength":0.435},{"T":0.0,"Rb":0.7038,"Rf":0.7038,"wavelength":0.44},{"T":0.0,"Rb":0.7093,"Rf":0.7093,"wavelength":0.445},{"T":0.0,"Rb":0.7133,"Rf":0.7133,"wavelength":0.45},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":0.455},{"T":0.0,"Rb":0.7152,"Rf":0.7152,"wavelength":0.46},{"T":0.0,"Rb":0.716,"Rf":0.716,"wavelength":0.465},{"T":0.0,"Rb":0.716,"Rf":0.716,"wavelength":0.47},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":0.475},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":0.48},{"T":0.0,"Rb":0.7181,"Rf":0.7181,"wavelength":0.485},{"T":0.0,"Rb":0.7199,"Rf":0.7199,"wavelength":0.49},{"T":0.0,"Rb":0.7225,"Rf":0.7225,"wavelength":0.495},{"T":0.0,"Rb":0.7249,"Rf":0.7249,"wavelength":0.5},{"T":0.0,"Rb":0.7291,"Rf":0.7291,"wavelength":0.505},{"T":0.0,"Rb":0.7327,"Rf":0.7327,"wavelength":0.51},{"T":0.0,"Rb":0.7374,"Rf":0.7374,"wavelength":0.515},{"T":0.0,"Rb":0.7408,"Rf":0.7408,"wavelength":0.52},{"T":0.0,"Rb":0.7457,"Rf":0.7457,"wavelength":0.525},{"T":0.0,"Rb":0.7491,"Rf":0.7491,"wavelength":0.53},{"T":0.0,"Rb":0.7524,"Rf":0.7524,"wavelength":0.535},{"T":0.0,"Rb":0.7548,"Rf":0.7548,"wavelength":0.54},{"T":0.0,"Rb":0.7562,"Rf":0.7562,"wavelength":0.545},{"T":0.0,"Rb":0.7577,"Rf":0.7577,"wavelength":0.55},{"T":0.0,"Rb":0.7584,"Rf":0.7584,"wavelength":0.555},{"T":0.0,"Rb":0.7574,"Rf":0.7574,"wavelength":0.56},{"T":0.0,"Rb":0.7568,"Rf":0.7568,"wavelength":0.565},{"T":0.0,"Rb":0.7553,"Rf":0.7553,"wavelength":0.57},{"T":0.0,"Rb":0.7543,"Rf":0.7543,"wavelength":0.575},{"T":0.0,"Rb":0.7529,"Rf":0.7529,"wavelength":0.58},{"T":0.0,"Rb":0.7511,"Rf":0.7511,"wavelength":0.585},{"T":0.0,"Rb":0.7489,"Rf":0.7489,"wavelength":0.59},{"T":0.0,"Rb":0.7474,"Rf":0.7474,"wavelength":0.595},{"T":0.0,"Rb":0.7458,"Rf":0.7458,"wavelength":0.6},{"T":0.0,"Rb":0.7434,"Rf":0.7434,"wavelength":0.605},{"T":0.0,"Rb":0.7419,"Rf":0.7419,"wavelength":0.61},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":0.615},{"T":0.0,"Rb":0.7376,"Rf":0.7376,"wavelength":0.62},{"T":0.0,"Rb":0.7353,"Rf":0.7353,"wavelength":0.625},{"T":0.0,"Rb":0.7339,"Rf":0.7339,"wavelength":0.63},{"T":0.0,"Rb":0.7319,"Rf":0.7319,"wavelength":0.635},{"T":0.0,"Rb":0.7297,"Rf":0.7297,"wavelength":0.64},{"T":0.0,"Rb":0.7277,"Rf":0.7277,"wavelength":0.645},{"T":0.0,"Rb":0.7261,"Rf":0.7261,"wavelength":0.65},{"T":0.0,"Rb":0.724,"Rf":0.724,"wavelength":0.655},{"T":0.0,"Rb":0.7221,"Rf":0.7221,"wavelength":0.66},{"T":0.0,"Rb":0.7202,"Rf":0.7202,"wavelength":0.665},{"T":0.0,"Rb":0.7186,"Rf":0.7186,"wavelength":0.67},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":0.675},{"T":0.0,"Rb":0.7133,"Rf":0.7133,"wavelength":0.68},{"T":0.0,"Rb":0.7124,"Rf":0.7124,"wavelength":0.685},{"T":0.0,"Rb":0.7105,"Rf":0.7105,"wavelength":0.69},{"T":0.0,"Rb":0.7086,"Rf":0.7086,"wavelength":0.695},{"T":0.0,"Rb":0.706,"Rf":0.706,"wavelength":0.7},{"T":0.0,"Rb":0.7048,"Rf":0.7048,"wavelength":0.705},{"T":0.0,"Rb":0.7026,"Rf":0.7026,"wavelength":0.71},{"T":0.0,"Rb":0.7004,"Rf":0.7004,"wavelength":0.715},{"T":0.0,"Rb":0.6986,"Rf":0.6986,"wavelength":0.72},{"T":0.0,"Rb":0.6959,"Rf":0.6959,"wavelength":0.725},{"T":0.0,"Rb":0.6944,"Rf":0.6944,"wavelength":0.73},{"T":0.0,"Rb":0.6916,"Rf":0.6916,"wavelength":0.735},{"T":0.0,"Rb":0.69,"Rf":0.69,"wavelength":0.74},{"T":0.0,"Rb":0.6879,"Rf":0.6879,"wavelength":0.745},{"T":0.0,"Rb":0.6855,"Rf":0.6855,"wavelength":0.75},{"T":0.0,"Rb":0.6828,"Rf":0.6828,"wavelength":0.755},{"T":0.0,"Rb":0.6809,"Rf":0.6809,"wavelength":0.76},{"T":0.0,"Rb":0.6781,"Rf":0.6781,"wavelength":0.765},{"T":0.0,"Rb":0.6749,"Rf":0.6749,"wavelength":0.77},{"T":0.0,"Rb":0.6731,"Rf":0.6731,"wavelength":0.775},{"T":0.0,"Rb":0.671,"Rf":0.671,"wavelength":0.78},{"T":0.0,"Rb":0.6687,"Rf":0.6687,"wavelength":0.785},{"T":0.0,"Rb":0.6659,"Rf":0.6659,"wavelength":0.79},{"T":0.0,"Rb":0.6633,"Rf":0.6633,"wavelength":0.795},{"T":0.0,"Rb":0.6615,"Rf":0.6615,"wavelength":0.8},{"T":0.0,"Rb":0.6588,"Rf":0.6588,"wavelength":0.805},{"T":0.0,"Rb":0.6569,"Rf":0.6569,"wavelength":0.81},{"T":0.0,"Rb":0.6547,"Rf":0.6547,"wavelength":0.815},{"T":0.0,"Rb":0.6531,"Rf":0.6531,"wavelength":0.82},{"T":0.0,"Rb":0.6508,"Rf":0.6508,"wavelength":0.825},{"T":0.0,"Rb":0.6488,"Rf":0.6488,"wavelength":0.83},{"T":0.0,"Rb":0.6478,"Rf":0.6478,"wavelength":0.835},{"T":0.0,"Rb":0.6471,"Rf":0.6471,"wavelength":0.84},{"T":0.0,"Rb":0.645,"Rf":0.645,"wavelength":0.845},{"T":0.0,"Rb":0.6451,"Rf":0.6451,"wavelength":0.85},{"T":0.0,"Rb":0.6433,"Rf":0.6433,"wavelength":0.855},{"T":0.0,"Rb":0.6451,"Rf":0.6451,"wavelength":0.86},{"T":0.0,"Rb":0.6461,"Rf":0.6461,"wavelength":0.865},{"T":0.0,"Rb":0.6474,"Rf":0.6474,"wavelength":0.87},{"T":0.0,"Rb":0.6457,"Rf":0.6457,"wavelength":0.875},{"T":0.0,"Rb":0.6444,"Rf":0.6444,"wavelength":0.88},{"T":0.0,"Rb":0.6442,"Rf":0.6442,"wavelength":0.885},{"T":0.0,"Rb":0.6447,"Rf":0.6447,"wavelength":0.89},{"T":0.0,"Rb":0.644,"Rf":0.644,"wavelength":0.895},{"T":0.0,"Rb":0.6455,"Rf":0.6455,"wavelength":0.9},{"T":0.0,"Rb":0.6448,"Rf":0.6448,"wavelength":0.905},{"T":0.0,"Rb":0.6462,"Rf":0.6462,"wavelength":0.91},{"T":0.0,"Rb":0.6466,"Rf":0.6466,"wavelength":0.915},{"T":0.0,"Rb":0.6481,"Rf":0.6481,"wavelength":0.92},{"T":0.0,"Rb":0.6496,"Rf":0.6496,"wavelength":0.925},{"T":0.0,"Rb":0.6502,"Rf":0.6502,"wavelength":0.93},{"T":0.0,"Rb":0.6511,"Rf":0.6511,"wavelength":0.935},{"T":0.0,"Rb":0.6524,"Rf":0.6524,"wavelength":0.94},{"T":0.0,"Rb":0.6535,"Rf":0.6535,"wavelength":0.945},{"T":0.0,"Rb":0.6542,"Rf":0.6542,"wavelength":0.95},{"T":0.0,"Rb":0.6559,"Rf":0.6559,"wavelength":0.955},{"T":0.0,"Rb":0.657,"Rf":0.657,"wavelength":0.96},{"T":0.0,"Rb":0.6576,"Rf":0.6576,"wavelength":0.965},{"T":0.0,"Rb":0.6585,"Rf":0.6585,"wavelength":0.97},{"T":0.0,"Rb":0.6599,"Rf":0.6599,"wavelength":0.975},{"T":0.0,"Rb":0.6606,"Rf":0.6606,"wavelength":0.98},{"T":0.0,"Rb":0.6621,"Rf":0.6621,"wavelength":0.985},{"T":0.0,"Rb":0.6634,"Rf":0.6634,"wavelength":0.99},{"T":0.0,"Rb":0.6646,"Rf":0.6646,"wavelength":0.995},{"T":0.0,"Rb":0.6658,"Rf":0.6658,"wavelength":1.0},{"T":0.0,"Rb":0.6664,"Rf":0.6664,"wavelength":1.005},{"T":0.0,"Rb":0.667,"Rf":0.667,"wavelength":1.01},{"T":0.0,"Rb":0.6684,"Rf":0.6684,"wavelength":1.015},{"T":0.0,"Rb":0.6686,"Rf":0.6686,"wavelength":1.02},{"T":0.0,"Rb":0.6706,"Rf":0.6706,"wavelength":1.025},{"T":0.0,"Rb":0.6711,"Rf":0.6711,"wavelength":1.03},{"T":0.0,"Rb":0.6719,"Rf":0.6719,"wavelength":1.035},{"T":0.0,"Rb":0.673,"Rf":0.673,"wavelength":1.04},{"T":0.0,"Rb":0.6743,"Rf":0.6743,"wavelength":1.045},{"T":0.0,"Rb":0.6747,"Rf":0.6747,"wavelength":1.05},{"T":0.0,"Rb":0.6757,"Rf":0.6757,"wavelength":1.055},{"T":0.0,"Rb":0.6767,"Rf":0.6767,"wavelength":1.06},{"T":0.0,"Rb":0.6776,"Rf":0.6776,"wavelength":1.065},{"T":0.0,"Rb":0.678,"Rf":0.678,"wavelength":1.07},{"T":0.0,"Rb":0.679,"Rf":0.679,"wavelength":1.075},{"T":0.0,"Rb":0.6789,"Rf":0.6789,"wavelength":1.08},{"T":0.0,"Rb":0.6807,"Rf":0.6807,"wavelength":1.085},{"T":0.0,"Rb":0.6809,"Rf":0.6809,"wavelength":1.09},{"T":0.0,"Rb":0.6825,"Rf":0.6825,"wavelength":1.095},{"T":0.0,"Rb":0.6834,"Rf":0.6834,"wavelength":1.1},{"T":0.0,"Rb":0.6837,"Rf":0.6837,"wavelength":1.105},{"T":0.0,"Rb":0.6842,"Rf":0.6842,"wavelength":1.11},{"T":0.0,"Rb":0.6854,"Rf":0.6854,"wavelength":1.115},{"T":0.0,"Rb":0.6849,"Rf":0.6849,"wavelength":1.12},{"T":0.0,"Rb":0.6857,"Rf":0.6857,"wavelength":1.125},{"T":0.0,"Rb":0.6861,"Rf":0.6861,"wavelength":1.13},{"T":0.0,"Rb":0.6862,"Rf":0.6862,"wavelength":1.135},{"T":0.0,"Rb":0.6874,"Rf":0.6874,"wavelength":1.14},{"T":0.0,"Rb":0.6877,"Rf":0.6877,"wavelength":1.145},{"T":0.0,"Rb":0.688,"Rf":0.688,"wavelength":1.15},{"T":0.0,"Rb":0.6887,"Rf":0.6887,"wavelength":1.155},{"T":0.0,"Rb":0.6895,"Rf":0.6895,"wavelength":1.16},{"T":0.0,"Rb":0.6895,"Rf":0.6895,"wavelength":1.165},{"T":0.0,"Rb":0.6906,"Rf":0.6906,"wavelength":1.17},{"T":0.0,"Rb":0.6902,"Rf":0.6902,"wavelength":1.175},{"T":0.0,"Rb":0.6893,"Rf":0.6893,"wavelength":1.18},{"T":0.0,"Rb":0.6897,"Rf":0.6897,"wavelength":1.185},{"T":0.0,"Rb":0.6904,"Rf":0.6904,"wavelength":1.19},{"T":0.0,"Rb":0.6908,"Rf":0.6908,"wavelength":1.195},{"T":0.0,"Rb":0.6918,"Rf":0.6918,"wavelength":1.2},{"T":0.0,"Rb":0.6923,"Rf":0.6923,"wavelength":1.205},{"T":0.0,"Rb":0.6931,"Rf":0.6931,"wavelength":1.21},{"T":0.0,"Rb":0.6936,"Rf":0.6936,"wavelength":1.215},{"T":0.0,"Rb":0.695,"Rf":0.695,"wavelength":1.22},{"T":0.0,"Rb":0.6958,"Rf":0.6958,"wavelength":1.225},{"T":0.0,"Rb":0.6969,"Rf":0.6969,"wavelength":1.23},{"T":0.0,"Rb":0.6972,"Rf":0.6972,"wavelength":1.235},{"T":0.0,"Rb":0.6981,"Rf":0.6981,"wavelength":1.24},{"T":0.0,"Rb":0.6984,"Rf":0.6984,"wavelength":1.245},{"T":0.0,"Rb":0.6991,"Rf":0.6991,"wavelength":1.25},{"T":0.0,"Rb":0.6994,"Rf":0.6994,"wavelength":1.255},{"T":0.0,"Rb":0.6999,"Rf":0.6999,"wavelength":1.26},{"T":0.0,"Rb":0.7015,"Rf":0.7015,"wavelength":1.265},{"T":0.0,"Rb":0.7012,"Rf":0.7012,"wavelength":1.27},{"T":0.0,"Rb":0.7018,"Rf":0.7018,"wavelength":1.275},{"T":0.0,"Rb":0.7016,"Rf":0.7016,"wavelength":1.28},{"T":0.0,"Rb":0.702,"Rf":0.702,"wavelength":1.285},{"T":0.0,"Rb":0.7028,"Rf":0.7028,"wavelength":1.29},{"T":0.0,"Rb":0.7034,"Rf":0.7034,"wavelength":1.295},{"T":0.0,"Rb":0.7033,"Rf":0.7033,"wavelength":1.3},{"T":0.0,"Rb":0.7036,"Rf":0.7036,"wavelength":1.305},{"T":0.0,"Rb":0.7039,"Rf":0.7039,"wavelength":1.31},{"T":0.0,"Rb":0.7043,"Rf":0.7043,"wavelength":1.315},{"T":0.0,"Rb":0.7049,"Rf":0.7049,"wavelength":1.32},{"T":0.0,"Rb":0.7053,"Rf":0.7053,"wavelength":1.325},{"T":0.0,"Rb":0.7051,"Rf":0.7051,"wavelength":1.33},{"T":0.0,"Rb":0.7054,"Rf":0.7054,"wavelength":1.335},{"T":0.0,"Rb":0.7058,"Rf":0.7058,"wavelength":1.34},{"T":0.0,"Rb":0.7056,"Rf":0.7056,"wavelength":1.345},{"T":0.0,"Rb":0.7055,"Rf":0.7055,"wavelength":1.35},{"T":0.0,"Rb":0.7056,"Rf":0.7056,"wavelength":1.355},{"T":0.0,"Rb":0.7059,"Rf":0.7059,"wavelength":1.36},{"T":0.0,"Rb":0.7062,"Rf":0.7062,"wavelength":1.365},{"T":0.0,"Rb":0.7059,"Rf":0.7059,"wavelength":1.37},{"T":0.0,"Rb":0.7064,"Rf":0.7064,"wavelength":1.375},{"T":0.0,"Rb":0.7067,"Rf":0.7067,"wavelength":1.38},{"T":0.0,"Rb":0.707,"Rf":0.707,"wavelength":1.385},{"T":0.0,"Rb":0.7073,"Rf":0.7073,"wavelength":1.39},{"T":0.0,"Rb":0.7082,"Rf":0.7082,"wavelength":1.395},{"T":0.0,"Rb":0.708,"Rf":0.708,"wavelength":1.4},{"T":0.0,"Rb":0.7082,"Rf":0.7082,"wavelength":1.405},{"T":0.0,"Rb":0.7083,"Rf":0.7083,"wavelength":1.41},{"T":0.0,"Rb":0.7084,"Rf":0.7084,"wavelength":1.415},{"T":0.0,"Rb":0.7083,"Rf":0.7083,"wavelength":1.42},{"T":0.0,"Rb":0.7095,"Rf":0.7095,"wavelength":1.425},{"T":0.0,"Rb":0.7104,"Rf":0.7104,"wavelength":1.43},{"T":0.0,"Rb":0.7112,"Rf":0.7112,"wavelength":1.435},{"T":0.0,"Rb":0.7115,"Rf":0.7115,"wavelength":1.44},{"T":0.0,"Rb":0.7123,"Rf":0.7123,"wavelength":1.445},{"T":0.0,"Rb":0.7131,"Rf":0.7131,"wavelength":1.45},{"T":0.0,"Rb":0.7137,"Rf":0.7137,"wavelength":1.455},{"T":0.0,"Rb":0.7144,"Rf":0.7144,"wavelength":1.46},{"T":0.0,"Rb":0.7149,"Rf":0.7149,"wavelength":1.465},{"T":0.0,"Rb":0.7153,"Rf":0.7153,"wavelength":1.47},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":1.475},{"T":0.0,"Rb":0.7159,"Rf":0.7159,"wavelength":1.48},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":1.485},{"T":0.0,"Rb":0.7173,"Rf":0.7173,"wavelength":1.49},{"T":0.0,"Rb":0.718,"Rf":0.718,"wavelength":1.495},{"T":0.0,"Rb":0.7185,"Rf":0.7185,"wavelength":1.5},{"T":0.0,"Rb":0.7186,"Rf":0.7186,"wavelength":1.505},{"T":0.0,"Rb":0.7192,"Rf":0.7192,"wavelength":1.51},{"T":0.0,"Rb":0.7203,"Rf":0.7203,"wavelength":1.515},{"T":0.0,"Rb":0.7208,"Rf":0.7208,"wavelength":1.52},{"T":0.0,"Rb":0.7221,"Rf":0.7221,"wavelength":1.525},{"T":0.0,"Rb":0.7223,"Rf":0.7223,"wavelength":1.53},{"T":0.0,"Rb":0.7227,"Rf":0.7227,"wavelength":1.535},{"T":0.0,"Rb":0.7235,"Rf":0.7235,"wavelength":1.54},{"T":0.0,"Rb":0.7243,"Rf":0.7243,"wavelength":1.545},{"T":0.0,"Rb":0.725,"Rf":0.725,"wavelength":1.55},{"T":0.0,"Rb":0.7244,"Rf":0.7244,"wavelength":1.555},{"T":0.0,"Rb":0.7253,"Rf":0.7253,"wavelength":1.56},{"T":0.0,"Rb":0.7265,"Rf":0.7265,"wavelength":1.565},{"T":0.0,"Rb":0.7262,"Rf":0.7262,"wavelength":1.57},{"T":0.0,"Rb":0.7262,"Rf":0.7262,"wavelength":1.575},{"T":0.0,"Rb":0.727,"Rf":0.727,"wavelength":1.58},{"T":0.0,"Rb":0.7274,"Rf":0.7274,"wavelength":1.585},{"T":0.0,"Rb":0.7284,"Rf":0.7284,"wavelength":1.59},{"T":0.0,"Rb":0.7284,"Rf":0.7284,"wavelength":1.595},{"T":0.0,"Rb":0.7285,"Rf":0.7285,"wavelength":1.6},{"T":0.0,"Rb":0.7289,"Rf":0.7289,"wavelength":1.605},{"T":0.0,"Rb":0.7292,"Rf":0.7292,"wavelength":1.61},{"T":0.0,"Rb":0.7294,"Rf":0.7294,"wavelength":1.615},{"T":0.0,"Rb":0.7287,"Rf":0.7287,"wavelength":1.62},{"T":0.0,"Rb":0.7285,"Rf":0.7285,"wavelength":1.625},{"T":0.0,"Rb":0.7279,"Rf":0.7279,"wavelength":1.63},{"T":0.0,"Rb":0.7266,"Rf":0.7266,"wavelength":1.635},{"T":0.0,"Rb":0.7252,"Rf":0.7252,"wavelength":1.64},{"T":0.0,"Rb":0.7229,"Rf":0.7229,"wavelength":1.645},{"T":0.0,"Rb":0.7178,"Rf":0.7178,"wavelength":1.65},{"T":0.0,"Rb":0.7141,"Rf":0.7141,"wavelength":1.655},{"T":0.0,"Rb":0.7101,"Rf":0.7101,"wavelength":1.66},{"T":0.0,"Rb":0.7081,"Rf":0.7081,"wavelength":1.665},{"T":0.0,"Rb":0.7093,"Rf":0.7093,"wavelength":1.67},{"T":0.0,"Rb":0.7108,"Rf":0.7108,"wavelength":1.675},{"T":0.0,"Rb":0.7109,"Rf":0.7109,"wavelength":1.68},{"T":0.0,"Rb":0.7102,"Rf":0.7102,"wavelength":1.685},{"T":0.0,"Rb":0.7102,"Rf":0.7102,"wavelength":1.69},{"T":0.0,"Rb":0.7113,"Rf":0.7113,"wavelength":1.695},{"T":0.0,"Rb":0.7127,"Rf":0.7127,"wavelength":1.7},{"T":0.0,"Rb":0.7139,"Rf":0.7139,"wavelength":1.705},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":1.71},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":1.715},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":1.72},{"T":0.0,"Rb":0.7159,"Rf":0.7159,"wavelength":1.725},{"T":0.0,"Rb":0.7153,"Rf":0.7153,"wavelength":1.73},{"T":0.0,"Rb":0.7171,"Rf":0.7171,"wavelength":1.735},{"T":0.0,"Rb":0.7178,"Rf":0.7178,"wavelength":1.74},{"T":0.0,"Rb":0.7183,"Rf":0.7183,"wavelength":1.745},{"T":0.0,"Rb":0.7206,"Rf":0.7206,"wavelength":1.75},{"T":0.0,"Rb":0.7213,"Rf":0.7213,"wavelength":1.755},{"T":0.0,"Rb":0.7231,"Rf":0.7231,"wavelength":1.76},{"T":0.0,"Rb":0.7251,"Rf":0.7251,"wavelength":1.765},{"T":0.0,"Rb":0.7266,"Rf":0.7266,"wavelength":1.77},{"T":0.0,"Rb":0.7291,"Rf":0.7291,"wavelength":1.775},{"T":0.0,"Rb":0.7303,"Rf":0.7303,"wavelength":1.78},{"T":0.0,"Rb":0.7315,"Rf":0.7315,"wavelength":1.785},{"T":0.0,"Rb":0.7327,"Rf":0.7327,"wavelength":1.79},{"T":0.0,"Rb":0.7332,"Rf":0.7332,"wavelength":1.795},{"T":0.0,"Rb":0.7339,"Rf":0.7339,"wavelength":1.8},{"T":0.0,"Rb":0.7346,"Rf":0.7346,"wavelength":1.805},{"T":0.0,"Rb":0.7345,"Rf":0.7345,"wavelength":1.81},{"T":0.0,"Rb":0.7359,"Rf":0.7359,"wavelength":1.815},{"T":0.0,"Rb":0.735,"Rf":0.735,"wavelength":1.82},{"T":0.0,"Rb":0.736,"Rf":0.736,"wavelength":1.825},{"T":0.0,"Rb":0.7372,"Rf":0.7372,"wavelength":1.83},{"T":0.0,"Rb":0.7377,"Rf":0.7377,"wavelength":1.835},{"T":0.0,"Rb":0.7391,"Rf":0.7391,"wavelength":1.84},{"T":0.0,"Rb":0.7382,"Rf":0.7382,"wavelength":1.845},{"T":0.0,"Rb":0.7397,"Rf":0.7397,"wavelength":1.85},{"T":0.0,"Rb":0.7411,"Rf":0.7411,"wavelength":1.855},{"T":0.0,"Rb":0.742,"Rf":0.742,"wavelength":1.86},{"T":0.0,"Rb":0.7416,"Rf":0.7416,"wavelength":1.865},{"T":0.0,"Rb":0.7415,"Rf":0.7415,"wavelength":1.87},{"T":0.0,"Rb":0.7425,"Rf":0.7425,"wavelength":1.875},{"T":0.0,"Rb":0.7432,"Rf":0.7432,"wavelength":1.88},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":1.885},{"T":0.0,"Rb":0.7415,"Rf":0.7415,"wavelength":1.89},{"T":0.0,"Rb":0.7406,"Rf":0.7406,"wavelength":1.895},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":1.9},{"T":0.0,"Rb":0.7389,"Rf":0.7389,"wavelength":1.905},{"T":0.0,"Rb":0.7393,"Rf":0.7393,"wavelength":1.91},{"T":0.0,"Rb":0.7395,"Rf":0.7395,"wavelength":1.915},{"T":0.0,"Rb":0.7401,"Rf":0.7401,"wavelength":1.92},{"T":0.0,"Rb":0.7397,"Rf":0.7397,"wavelength":1.925},{"T":0.0,"Rb":0.7408,"Rf":0.7408,"wavelength":1.93},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":1.935},{"T":0.0,"Rb":0.7423,"Rf":0.7423,"wavelength":1.94},{"T":0.0,"Rb":0.7423,"Rf":0.7423,"wavelength":1.945},{"T":0.0,"Rb":0.7422,"Rf":0.7422,"wavelength":1.95},{"T":0.0,"Rb":0.7435,"Rf":0.7435,"wavelength":1.955},{"T":0.0,"Rb":0.7422,"Rf":0.7422,"wavelength":1.96},{"T":0.0,"Rb":0.7432,"Rf":0.7432,"wavelength":1.965},{"T":0.0,"Rb":0.7449,"Rf":0.7449,"wavelength":1.97},{"T":0.0,"Rb":0.7479,"Rf":0.7479,"wavelength":1.975},{"T":0.0,"Rb":0.7477,"Rf":0.7477,"wavelength":1.98},{"T":0.0,"Rb":0.7479,"Rf":0.7479,"wavelength":1.985},{"T":0.0,"Rb":0.7481,"Rf":0.7481,"wavelength":1.99},{"T":0.0,"Rb":0.7493,"Rf":0.7493,"wavelength":1.995},{"T":0.0,"Rb":0.7496,"Rf":0.7496,"wavelength":2.0},{"T":0.0,"Rb":0.7501,"Rf":0.7501,"wavelength":2.005},{"T":0.0,"Rb":0.7503,"Rf":0.7503,"wavelength":2.01},{"T":0.0,"Rb":0.7518,"Rf":0.7518,"wavelength":2.015},{"T":0.0,"Rb":0.7517,"Rf":0.7517,"wavelength":2.02},{"T":0.0,"Rb":0.7523,"Rf":0.7523,"wavelength":2.025},{"T":0.0,"Rb":0.7528,"Rf":0.7528,"wavelength":2.03},{"T":0.0,"Rb":0.7531,"Rf":0.7531,"wavelength":2.035},{"T":0.0,"Rb":0.7531,"Rf":0.7531,"wavelength":2.04},{"T":0.0,"Rb":0.7529,"Rf":0.7529,"wavelength":2.045},{"T":0.0,"Rb":0.7539,"Rf":0.7539,"wavelength":2.05},{"T":0.0,"Rb":0.7564,"Rf":0.7564,"wavelength":2.055},{"T":0.0,"Rb":0.7556,"Rf":0.7556,"wavelength":2.06},{"T":0.0,"Rb":0.7544,"Rf":0.7544,"wavelength":2.065},{"T":0.0,"Rb":0.7537,"Rf":0.7537,"wavelength":2.07},{"T":0.0,"Rb":0.7541,"Rf":0.7541,"wavelength":2.075},{"T":0.0,"Rb":0.7517,"Rf":0.7517,"wavelength":2.08},{"T":0.0,"Rb":0.7532,"Rf":0.7532,"wavelength":2.085},{"T":0.0,"Rb":0.7546,"Rf":0.7546,"wavelength":2.09},{"T":0.0,"Rb":0.7541,"Rf":0.7541,"wavelength":2.095},{"T":0.0,"Rb":0.7539,"Rf":0.7539,"wavelength":2.1},{"T":0.0,"Rb":0.7555,"Rf":0.7555,"wavelength":2.105},{"T":0.0,"Rb":0.7536,"Rf":0.7536,"wavelength":2.11},{"T":0.0,"Rb":0.7544,"Rf":0.7544,"wavelength":2.115},{"T":0.0,"Rb":0.7501,"Rf":0.7501,"wavelength":2.12},{"T":0.0,"Rb":0.7442,"Rf":0.7442,"wavelength":2.125},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":2.13},{"T":0.0,"Rb":0.7331,"Rf":0.7331,"wavelength":2.135},{"T":0.0,"Rb":0.7283,"Rf":0.7283,"wavelength":2.14},{"T":0.0,"Rb":0.7282,"Rf":0.7282,"wavelength":2.145},{"T":0.0,"Rb":0.731,"Rf":0.731,"wavelength":2.15},{"T":0.0,"Rb":0.7431,"Rf":0.7431,"wavelength":2.155},{"T":0.0,"Rb":0.7431,"Rf":0.7431,"wavelength":2.16},{"T":0.0,"Rb":0.7459,"Rf":0.7459,"wavelength":2.165},{"T":0.0,"Rb":0.7519,"Rf":0.7519,"wavelength":2.17},{"T":0.0,"Rb":0.753,"Rf":0.753,"wavelength":2.175},{"T":0.0,"Rb":0.7488,"Rf":0.7488,"wavelength":2.18},{"T":0.0,"Rb":0.7548,"Rf":0.7548,"wavelength":2.185},{"T":0.0,"Rb":0.7505,"Rf":0.7505,"wavelength":2.19},{"T":0.0,"Rb":0.7495,"Rf":0.7495,"wavelength":2.195},{"T":0.0,"Rb":0.7456,"Rf":0.7456,"wavelength":2.2},{"T":0.0,"Rb":0.7457,"Rf":0.7457,"wavelength":2.205},{"T":0.0,"Rb":0.7468,"Rf":0.7468,"wavelength":2.21},{"T":0.0,"Rb":0.744,"Rf":0.744,"wavelength":2.215},{"T":0.0,"Rb":0.7412,"Rf":0.7412,"wavelength":2.22},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":2.225},{"T":0.0,"Rb":0.7395,"Rf":0.7395,"wavelength":2.23},{"T":0.0,"Rb":0.7341,"Rf":0.7341,"wavelength":2.235},{"T":0.0,"Rb":0.7227,"Rf":0.7227,"wavelength":2.24},{"T":0.0,"Rb":0.7105,"Rf":0.7105,"wavelength":2.245},{"T":0.0,"Rb":0.6971,"Rf":0.6971,"wavelength":2.25},{"T":0.0,"Rb":0.676,"Rf":0.676,"wavelength":2.255},{"T":0.0,"Rb":0.6582,"Rf":0.6582,"wavelength":2.26},{"T":0.0,"Rb":0.646,"Rf":0.646,"wavelength":2.265},{"T":0.0,"Rb":0.6434,"Rf":0.6434,"wavelength":2.27},{"T":0.0,"Rb":0.6433,"Rf":0.6433,"wavelength":2.275},{"T":0.0,"Rb":0.6464,"Rf":0.6464,"wavelength":2.28},{"T":0.0,"Rb":0.6496,"Rf":0.6496,"wavelength":2.285},{"T":0.0,"Rb":0.6549,"Rf":0.6549,"wavelength":2.29},{"T":0.0,"Rb":0.6597,"Rf":0.6597,"wavelength":2.295},{"T":0.0,"Rb":0.6562,"Rf":0.6562,"wavelength":2.3},{"T":0.0,"Rb":0.6573,"Rf":0.6573,"wavelength":2.305},{"T":0.0,"Rb":0.6587,"Rf":0.6587,"wavelength":2.31},{"T":0.0,"Rb":0.66,"Rf":0.66,"wavelength":2.315},{"T":0.0,"Rb":0.6659,"Rf":0.6659,"wavelength":2.32},{"T":0.0,"Rb":0.6758,"Rf":0.6758,"wavelength":2.325},{"T":0.0,"Rb":0.676,"Rf":0.676,"wavelength":2.33},{"T":0.0,"Rb":0.6785,"Rf":0.6785,"wavelength":2.335},{"T":0.0,"Rb":0.68,"Rf":0.68,"wavelength":2.34},{"T":0.0,"Rb":0.681,"Rf":0.681,"wavelength":2.345},{"T":0.0,"Rb":0.6778,"Rf":0.6778,"wavelength":2.35},{"T":0.0,"Rb":0.6796,"Rf":0.6796,"wavelength":2.355},{"T":0.0,"Rb":0.683,"Rf":0.683,"wavelength":2.36},{"T":0.0,"Rb":0.6793,"Rf":0.6793,"wavelength":2.365},{"T":0.0,"Rb":0.6823,"Rf":0.6823,"wavelength":2.37},{"T":0.0,"Rb":0.6864,"Rf":0.6864,"wavelength":2.375},{"T":0.0,"Rb":0.6836,"Rf":0.6836,"wavelength":2.38},{"T":0.0,"Rb":0.6786,"Rf":0.6786,"wavelength":2.385},{"T":0.0,"Rb":0.6835,"Rf":0.6835,"wavelength":2.39},{"T":0.0,"Rb":0.6795,"Rf":0.6795,"wavelength":2.395},{"T":0.0,"Rb":0.6834,"Rf":0.6834,"wavelength":2.4},{"T":0.0,"Rb":0.689,"Rf":0.689,"wavelength":2.405},{"T":0.0,"Rb":0.686,"Rf":0.686,"wavelength":2.41},{"T":0.0,"Rb":0.6899,"Rf":0.6899,"wavelength":2.415},{"T":0.0,"Rb":0.6884,"Rf":0.6884,"wavelength":2.42},{"T":0.0,"Rb":0.6912,"Rf":0.6912,"wavelength":2.425},{"T":0.0,"Rb":0.6936,"Rf":0.6936,"wavelength":2.43},{"T":0.0,"Rb":0.6945,"Rf":0.6945,"wavelength":2.435},{"T":0.0,"Rb":0.6927,"Rf":0.6927,"wavelength":2.44},{"T":0.0,"Rb":0.6792,"Rf":0.6792,"wavelength":2.445},{"T":0.0,"Rb":0.6733,"Rf":0.6733,"wavelength":2.45},{"T":0.0,"Rb":0.6649,"Rf":0.6649,"wavelength":2.455},{"T":0.0,"Rb":0.6712,"Rf":0.6712,"wavelength":2.46},{"T":0.0,"Rb":0.6756,"Rf":0.6756,"wavelength":2.465},{"T":0.0,"Rb":0.6799,"Rf":0.6799,"wavelength":2.47},{"T":0.0,"Rb":0.6874,"Rf":0.6874,"wavelength":2.475},{"T":0.0,"Rb":0.6999,"Rf":0.6999,"wavelength":2.48},{"T":0.0,"Rb":0.6993,"Rf":0.6993,"wavelength":2.485},{"T":0.0,"Rb":0.7081,"Rf":0.7081,"wavelength":2.49},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":2.495},{"T":0.0,"Rb":0.719,"Rf":0.719,"wavelength":2.5}],"dual_band_values":{"Rb_sol_diffuse":0.6767141,"Rb_vis_diffuse":0.7434482,"Rf_sol_diffuse":0.6767141,"Rf_vis_diffuse":0.7434482,"Tb_sol_diffuse":0.0,"Tb_vis_diffuse":0.0,"Tf_sol_diffuse":0.0,"Tf_vis_diffuse":0.0,"Rb_sol_specular":0.0,"Rb_vis_specular":null,"Rf_sol_specular":0.0,"Rf_vis_specular":0.0,"Tb_sol_specular":0.0,"Tb_vis_specular":0.0,"Tf_sol_specular":0.0,"Tf_vis_specular":0.0}}},"index":null,"name":null,"extra_data":{"geometry":{"slat_width":14.8,"slat_spacing":12.7,"slat_curvature":33.13057,"number_segments":5}}}],"spectral_data":null} \ No newline at end of file diff --git a/test/products/igsdb_12295.json b/test/products/igsdb_12295.json index fc5d03f..bc78125 100644 --- a/test/products/igsdb_12295.json +++ b/test/products/igsdb_12295.json @@ -1 +1 @@ -{"product_id":12295,"name":"Solar Comfort Radiant Barrier","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":18000,"cgdb_database_version":"4","acceptance":"@","appearance":null,"manufacturer_name":"Solar Comfort","data_file_name":null,"data_file_available":false,"short_description":null,"type":"shading","subtype":"perforated-screen","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":false,"thickness":null,"tir_front":null,"tir_back":null,"emissivity_front":null,"emissivity_back":null,"conductivity":null,"permeability_factor":0.37},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":null,"tbsol":null,"rfsol":null,"rbsol":null,"tfvis":null,"tbvis":null,"rfvis":null,"rbvis":null,"tdw":null,"tuv":null,"tspf":null,"tkr":null,"tciex":null,"tciey":null,"tciez":null,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":null,"rfciey":null,"rfciez":null,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"spectral_data":null,"composition_information":{"geometry":{"spacing_x":1.69,"spacing_y":1.69,"dimension_x":0.58,"dimension_y":6.35,"perforation_type":"Circular"},"materials":[{"product_id":12854,"name":"SCRadiantBarrier.txt","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":null,"cgdb_database_version":"4.0","acceptance":"@","appearance":null,"manufacturer_name":"Solar Comfort","data_file_name":"SCRadiantBarrier.txt","data_file_available":false,"short_description":null,"type":"material","subtype":"other","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":true,"thickness":0.23,"tir_front":0.0,"tir_back":null,"emissivity_front":0.863,"emissivity_back":0.84,"conductivity":0.12,"permeability_factor":null},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":0.0,"tbsol":null,"rfsol":0.845964729785919,"rbsol":null,"tfvis":0.0,"tbvis":null,"rfvis":0.8699533,"rbvis":0.4754288,"tdw":0.0,"tuv":0.0,"tspf":10000.0,"tkr":null,"tciex":0.0,"tciey":0.0,"tciez":0.0,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":81.94081,"rfciey":86.88152,"rfciez":90.12293,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"spectral_data":{"spectral_data":[{"T":0.0,"Rb":0.0674,"Rf":0.0794,"wavelength":0.3},{"T":0.0,"Rb":0.0669,"Rf":0.0953,"wavelength":0.305},{"T":0.0,"Rb":0.0663,"Rf":0.1577,"wavelength":0.31},{"T":0.0,"Rb":0.0651,"Rf":0.262,"wavelength":0.315},{"T":0.0,"Rb":0.0638,"Rf":0.3688,"wavelength":0.32},{"T":0.0,"Rb":0.0625,"Rf":0.445,"wavelength":0.325},{"T":0.0,"Rb":0.0614,"Rf":0.5006,"wavelength":0.33},{"T":0.0,"Rb":0.0605,"Rf":0.5515,"wavelength":0.335},{"T":0.0,"Rb":0.0603,"Rf":0.6044,"wavelength":0.34},{"T":0.0,"Rb":0.0612,"Rf":0.6534,"wavelength":0.345},{"T":0.0,"Rb":0.0635,"Rf":0.6938,"wavelength":0.35},{"T":0.0,"Rb":0.0674,"Rf":0.7303,"wavelength":0.355},{"T":0.0,"Rb":0.0728,"Rf":0.7649,"wavelength":0.36},{"T":0.0,"Rb":0.0801,"Rf":0.7881,"wavelength":0.365},{"T":0.0,"Rb":0.0896,"Rf":0.8012,"wavelength":0.37},{"T":0.0,"Rb":0.1026,"Rf":0.8125,"wavelength":0.375},{"T":0.0,"Rb":0.1206,"Rf":0.825,"wavelength":0.38},{"T":0.0,"Rb":0.1485,"Rf":0.8299,"wavelength":0.385},{"T":0.0,"Rb":0.1934,"Rf":0.8232,"wavelength":0.39},{"T":0.0,"Rb":0.2594,"Rf":0.8162,"wavelength":0.395},{"T":0.0,"Rb":0.3358,"Rf":0.813,"wavelength":0.4},{"T":0.0,"Rb":0.4036,"Rf":0.8089,"wavelength":0.405},{"T":0.0,"Rb":0.4459,"Rf":0.8041,"wavelength":0.41},{"T":0.0,"Rb":0.4644,"Rf":0.802,"wavelength":0.415},{"T":0.0,"Rb":0.4695,"Rf":0.8044,"wavelength":0.42},{"T":0.0,"Rb":0.4697,"Rf":0.8113,"wavelength":0.425},{"T":0.0,"Rb":0.4689,"Rf":0.8192,"wavelength":0.43},{"T":0.0,"Rb":0.468,"Rf":0.8266,"wavelength":0.435},{"T":0.0,"Rb":0.4672,"Rf":0.8329,"wavelength":0.44},{"T":0.0,"Rb":0.4665,"Rf":0.8382,"wavelength":0.445},{"T":0.0,"Rb":0.4661,"Rf":0.843,"wavelength":0.45},{"T":0.0,"Rb":0.4652,"Rf":0.8466,"wavelength":0.455},{"T":0.0,"Rb":0.4648,"Rf":0.8498,"wavelength":0.46},{"T":0.0,"Rb":0.464,"Rf":0.852,"wavelength":0.465},{"T":0.0,"Rb":0.4632,"Rf":0.8545,"wavelength":0.47},{"T":0.0,"Rb":0.4622,"Rf":0.8563,"wavelength":0.475},{"T":0.0,"Rb":0.4617,"Rf":0.8583,"wavelength":0.48},{"T":0.0,"Rb":0.4607,"Rf":0.8597,"wavelength":0.485},{"T":0.0,"Rb":0.4599,"Rf":0.8608,"wavelength":0.49},{"T":0.0,"Rb":0.4599,"Rf":0.8628,"wavelength":0.495},{"T":0.0,"Rb":0.461,"Rf":0.8644,"wavelength":0.5},{"T":0.0,"Rb":0.4642,"Rf":0.8658,"wavelength":0.505},{"T":0.0,"Rb":0.4694,"Rf":0.8668,"wavelength":0.51},{"T":0.0,"Rb":0.475,"Rf":0.8677,"wavelength":0.515},{"T":0.0,"Rb":0.4789,"Rf":0.8685,"wavelength":0.52},{"T":0.0,"Rb":0.481,"Rf":0.8695,"wavelength":0.525},{"T":0.0,"Rb":0.4823,"Rf":0.8703,"wavelength":0.53},{"T":0.0,"Rb":0.4825,"Rf":0.8713,"wavelength":0.535},{"T":0.0,"Rb":0.4821,"Rf":0.872,"wavelength":0.54},{"T":0.0,"Rb":0.4814,"Rf":0.8718,"wavelength":0.545},{"T":0.0,"Rb":0.4808,"Rf":0.8725,"wavelength":0.55},{"T":0.0,"Rb":0.4801,"Rf":0.8728,"wavelength":0.555},{"T":0.0,"Rb":0.4791,"Rf":0.8728,"wavelength":0.56},{"T":0.0,"Rb":0.4779,"Rf":0.8731,"wavelength":0.565},{"T":0.0,"Rb":0.4769,"Rf":0.8733,"wavelength":0.57},{"T":0.0,"Rb":0.4758,"Rf":0.8726,"wavelength":0.575},{"T":0.0,"Rb":0.4756,"Rf":0.8737,"wavelength":0.58},{"T":0.0,"Rb":0.4749,"Rf":0.8733,"wavelength":0.585},{"T":0.0,"Rb":0.4743,"Rf":0.8731,"wavelength":0.59},{"T":0.0,"Rb":0.4733,"Rf":0.8721,"wavelength":0.595},{"T":0.0,"Rb":0.4722,"Rf":0.8716,"wavelength":0.6},{"T":0.0,"Rb":0.4715,"Rf":0.8715,"wavelength":0.605},{"T":0.0,"Rb":0.4712,"Rf":0.8711,"wavelength":0.61},{"T":0.0,"Rb":0.4707,"Rf":0.87,"wavelength":0.615},{"T":0.0,"Rb":0.4706,"Rf":0.8696,"wavelength":0.62},{"T":0.0,"Rb":0.4705,"Rf":0.8689,"wavelength":0.625},{"T":0.0,"Rb":0.4708,"Rf":0.8684,"wavelength":0.63},{"T":0.0,"Rb":0.4708,"Rf":0.8676,"wavelength":0.635},{"T":0.0,"Rb":0.4708,"Rf":0.8669,"wavelength":0.64},{"T":0.0,"Rb":0.4704,"Rf":0.8656,"wavelength":0.645},{"T":0.0,"Rb":0.4705,"Rf":0.8648,"wavelength":0.65},{"T":0.0,"Rb":0.4704,"Rf":0.8643,"wavelength":0.655},{"T":0.0,"Rb":0.4697,"Rf":0.8633,"wavelength":0.66},{"T":0.0,"Rb":0.4688,"Rf":0.8626,"wavelength":0.665},{"T":0.0,"Rb":0.4675,"Rf":0.8618,"wavelength":0.67},{"T":0.0,"Rb":0.466,"Rf":0.8607,"wavelength":0.675},{"T":0.0,"Rb":0.4651,"Rf":0.8597,"wavelength":0.68},{"T":0.0,"Rb":0.4646,"Rf":0.8591,"wavelength":0.685},{"T":0.0,"Rb":0.4641,"Rf":0.8581,"wavelength":0.69},{"T":0.0,"Rb":0.4636,"Rf":0.8568,"wavelength":0.695},{"T":0.0,"Rb":0.4632,"Rf":0.8558,"wavelength":0.7},{"T":0.0,"Rb":0.4633,"Rf":0.8552,"wavelength":0.705},{"T":0.0,"Rb":0.4638,"Rf":0.8543,"wavelength":0.71},{"T":0.0,"Rb":0.4643,"Rf":0.8528,"wavelength":0.715},{"T":0.0,"Rb":0.4652,"Rf":0.8522,"wavelength":0.72},{"T":0.0,"Rb":0.4654,"Rf":0.8506,"wavelength":0.725},{"T":0.0,"Rb":0.4657,"Rf":0.8496,"wavelength":0.73},{"T":0.0,"Rb":0.4659,"Rf":0.8485,"wavelength":0.735},{"T":0.0,"Rb":0.4662,"Rf":0.8471,"wavelength":0.74},{"T":0.0,"Rb":0.4662,"Rf":0.8456,"wavelength":0.745},{"T":0.0,"Rb":0.4663,"Rf":0.8449,"wavelength":0.75},{"T":0.0,"Rb":0.4658,"Rf":0.8431,"wavelength":0.755},{"T":0.0,"Rb":0.4655,"Rf":0.8422,"wavelength":0.76},{"T":0.0,"Rb":0.4653,"Rf":0.8408,"wavelength":0.765},{"T":0.0,"Rb":0.4648,"Rf":0.8397,"wavelength":0.77},{"T":0.0,"Rb":0.4642,"Rf":0.8382,"wavelength":0.775},{"T":0.0,"Rb":0.4632,"Rf":0.8366,"wavelength":0.78},{"T":0.0,"Rb":0.4628,"Rf":0.8354,"wavelength":0.785},{"T":0.0,"Rb":0.4619,"Rf":0.8341,"wavelength":0.79},{"T":0.0,"Rb":0.461,"Rf":0.8319,"wavelength":0.795},{"T":0.0,"Rb":0.4603,"Rf":0.8311,"wavelength":0.8},{"T":0.0,"Rb":0.4602,"Rf":0.8293,"wavelength":0.805},{"T":0.0,"Rb":0.4596,"Rf":0.8287,"wavelength":0.81},{"T":0.0,"Rb":0.4591,"Rf":0.828,"wavelength":0.815},{"T":0.0,"Rb":0.4591,"Rf":0.8271,"wavelength":0.82},{"T":0.0,"Rb":0.4589,"Rf":0.8261,"wavelength":0.825},{"T":0.0,"Rb":0.4593,"Rf":0.8259,"wavelength":0.83},{"T":0.0,"Rb":0.4593,"Rf":0.8245,"wavelength":0.835},{"T":0.0,"Rb":0.4594,"Rf":0.8244,"wavelength":0.84},{"T":0.0,"Rb":0.4617,"Rf":0.8264,"wavelength":0.845},{"T":0.0,"Rb":0.4611,"Rf":0.8255,"wavelength":0.85},{"T":0.0,"Rb":0.4612,"Rf":0.8247,"wavelength":0.855},{"T":0.0,"Rb":0.4592,"Rf":0.8227,"wavelength":0.86},{"T":0.0,"Rb":0.4651,"Rf":0.828,"wavelength":0.865},{"T":0.0,"Rb":0.4674,"Rf":0.8261,"wavelength":0.87},{"T":0.0,"Rb":0.4661,"Rf":0.8273,"wavelength":0.875},{"T":0.0,"Rb":0.469,"Rf":0.8287,"wavelength":0.88},{"T":0.0,"Rb":0.4682,"Rf":0.8295,"wavelength":0.885},{"T":0.0,"Rb":0.4723,"Rf":0.832,"wavelength":0.89},{"T":0.0,"Rb":0.4711,"Rf":0.8291,"wavelength":0.895},{"T":0.0,"Rb":0.4727,"Rf":0.8326,"wavelength":0.9},{"T":0.0,"Rb":0.4743,"Rf":0.8323,"wavelength":0.905},{"T":0.0,"Rb":0.4756,"Rf":0.8338,"wavelength":0.91},{"T":0.0,"Rb":0.4791,"Rf":0.8356,"wavelength":0.915},{"T":0.0,"Rb":0.4816,"Rf":0.8391,"wavelength":0.92},{"T":0.0,"Rb":0.4806,"Rf":0.8391,"wavelength":0.925},{"T":0.0,"Rb":0.4841,"Rf":0.8414,"wavelength":0.93},{"T":0.0,"Rb":0.4858,"Rf":0.8423,"wavelength":0.935},{"T":0.0,"Rb":0.4877,"Rf":0.8435,"wavelength":0.94},{"T":0.0,"Rb":0.4882,"Rf":0.8442,"wavelength":0.945},{"T":0.0,"Rb":0.4908,"Rf":0.8456,"wavelength":0.95},{"T":0.0,"Rb":0.4923,"Rf":0.8478,"wavelength":0.955},{"T":0.0,"Rb":0.4948,"Rf":0.8483,"wavelength":0.96},{"T":0.0,"Rb":0.4967,"Rf":0.8499,"wavelength":0.965},{"T":0.0,"Rb":0.4993,"Rf":0.8505,"wavelength":0.97},{"T":0.0,"Rb":0.5,"Rf":0.8534,"wavelength":0.975},{"T":0.0,"Rb":0.5004,"Rf":0.8528,"wavelength":0.98},{"T":0.0,"Rb":0.5008,"Rf":0.8542,"wavelength":0.985},{"T":0.0,"Rb":0.5038,"Rf":0.8557,"wavelength":0.99},{"T":0.0,"Rb":0.5051,"Rf":0.8546,"wavelength":0.995},{"T":0.0,"Rb":0.5056,"Rf":0.8569,"wavelength":1.0},{"T":0.0,"Rb":0.5078,"Rf":0.8574,"wavelength":1.005},{"T":0.0,"Rb":0.5083,"Rf":0.8586,"wavelength":1.01},{"T":0.0,"Rb":0.5101,"Rf":0.8601,"wavelength":1.015},{"T":0.0,"Rb":0.5117,"Rf":0.8609,"wavelength":1.02},{"T":0.0,"Rb":0.5125,"Rf":0.8614,"wavelength":1.025},{"T":0.0,"Rb":0.5129,"Rf":0.8614,"wavelength":1.03},{"T":0.0,"Rb":0.516,"Rf":0.8637,"wavelength":1.035},{"T":0.0,"Rb":0.5171,"Rf":0.864,"wavelength":1.04},{"T":0.0,"Rb":0.5177,"Rf":0.8646,"wavelength":1.045},{"T":0.0,"Rb":0.5203,"Rf":0.8659,"wavelength":1.05},{"T":0.0,"Rb":0.5206,"Rf":0.8668,"wavelength":1.055},{"T":0.0,"Rb":0.5211,"Rf":0.867,"wavelength":1.06},{"T":0.0,"Rb":0.5233,"Rf":0.8678,"wavelength":1.065},{"T":0.0,"Rb":0.524,"Rf":0.8686,"wavelength":1.07},{"T":0.0,"Rb":0.5254,"Rf":0.8696,"wavelength":1.075},{"T":0.0,"Rb":0.5253,"Rf":0.8699,"wavelength":1.08},{"T":0.0,"Rb":0.5273,"Rf":0.8703,"wavelength":1.085},{"T":0.0,"Rb":0.5281,"Rf":0.8707,"wavelength":1.09},{"T":0.0,"Rb":0.5287,"Rf":0.8711,"wavelength":1.095},{"T":0.0,"Rb":0.5299,"Rf":0.8724,"wavelength":1.1},{"T":0.0,"Rb":0.5314,"Rf":0.8716,"wavelength":1.105},{"T":0.0,"Rb":0.5316,"Rf":0.8713,"wavelength":1.11},{"T":0.0,"Rb":0.5308,"Rf":0.8697,"wavelength":1.115},{"T":0.0,"Rb":0.5307,"Rf":0.8669,"wavelength":1.12},{"T":0.0,"Rb":0.5297,"Rf":0.8637,"wavelength":1.125},{"T":0.0,"Rb":0.5297,"Rf":0.8627,"wavelength":1.13},{"T":0.0,"Rb":0.5298,"Rf":0.8625,"wavelength":1.135},{"T":0.0,"Rb":0.5319,"Rf":0.8655,"wavelength":1.14},{"T":0.0,"Rb":0.5332,"Rf":0.8677,"wavelength":1.145},{"T":0.0,"Rb":0.5344,"Rf":0.8695,"wavelength":1.15},{"T":0.0,"Rb":0.5342,"Rf":0.8695,"wavelength":1.155},{"T":0.0,"Rb":0.5337,"Rf":0.8697,"wavelength":1.16},{"T":0.0,"Rb":0.5327,"Rf":0.869,"wavelength":1.165},{"T":0.0,"Rb":0.5316,"Rf":0.8682,"wavelength":1.17},{"T":0.0,"Rb":0.5317,"Rf":0.8689,"wavelength":1.175},{"T":0.0,"Rb":0.5322,"Rf":0.8682,"wavelength":1.18},{"T":0.0,"Rb":0.534,"Rf":0.8702,"wavelength":1.185},{"T":0.0,"Rb":0.5354,"Rf":0.8722,"wavelength":1.19},{"T":0.0,"Rb":0.5357,"Rf":0.8737,"wavelength":1.195},{"T":0.0,"Rb":0.5377,"Rf":0.8755,"wavelength":1.2},{"T":0.0,"Rb":0.5404,"Rf":0.877,"wavelength":1.205},{"T":0.0,"Rb":0.5429,"Rf":0.8777,"wavelength":1.21},{"T":0.0,"Rb":0.5454,"Rf":0.8788,"wavelength":1.215},{"T":0.0,"Rb":0.5481,"Rf":0.8794,"wavelength":1.22},{"T":0.0,"Rb":0.55,"Rf":0.8797,"wavelength":1.225},{"T":0.0,"Rb":0.5523,"Rf":0.8803,"wavelength":1.23},{"T":0.0,"Rb":0.5547,"Rf":0.8812,"wavelength":1.235},{"T":0.0,"Rb":0.5555,"Rf":0.8813,"wavelength":1.24},{"T":0.0,"Rb":0.5568,"Rf":0.882,"wavelength":1.245},{"T":0.0,"Rb":0.5581,"Rf":0.8831,"wavelength":1.25},{"T":0.0,"Rb":0.559,"Rf":0.8836,"wavelength":1.255},{"T":0.0,"Rb":0.5596,"Rf":0.8832,"wavelength":1.26},{"T":0.0,"Rb":0.5616,"Rf":0.884,"wavelength":1.265},{"T":0.0,"Rb":0.5626,"Rf":0.8839,"wavelength":1.27},{"T":0.0,"Rb":0.5635,"Rf":0.8845,"wavelength":1.275},{"T":0.0,"Rb":0.5641,"Rf":0.8845,"wavelength":1.28},{"T":0.0,"Rb":0.5653,"Rf":0.884,"wavelength":1.285},{"T":0.0,"Rb":0.5655,"Rf":0.8842,"wavelength":1.29},{"T":0.0,"Rb":0.5666,"Rf":0.8844,"wavelength":1.295},{"T":0.0,"Rb":0.5678,"Rf":0.8846,"wavelength":1.3},{"T":0.0,"Rb":0.568,"Rf":0.8842,"wavelength":1.305},{"T":0.0,"Rb":0.5689,"Rf":0.8842,"wavelength":1.31},{"T":0.0,"Rb":0.5696,"Rf":0.8844,"wavelength":1.315},{"T":0.0,"Rb":0.57,"Rf":0.8842,"wavelength":1.32},{"T":0.0,"Rb":0.5706,"Rf":0.8835,"wavelength":1.325},{"T":0.0,"Rb":0.5716,"Rf":0.8823,"wavelength":1.33},{"T":0.0,"Rb":0.5715,"Rf":0.8825,"wavelength":1.335},{"T":0.0,"Rb":0.5716,"Rf":0.882,"wavelength":1.34},{"T":0.0,"Rb":0.5712,"Rf":0.8804,"wavelength":1.345},{"T":0.0,"Rb":0.5715,"Rf":0.878,"wavelength":1.35},{"T":0.0,"Rb":0.5705,"Rf":0.8762,"wavelength":1.355},{"T":0.0,"Rb":0.5704,"Rf":0.8745,"wavelength":1.36},{"T":0.0,"Rb":0.57,"Rf":0.873,"wavelength":1.365},{"T":0.0,"Rb":0.5693,"Rf":0.8722,"wavelength":1.37},{"T":0.0,"Rb":0.5686,"Rf":0.8712,"wavelength":1.375},{"T":0.0,"Rb":0.567,"Rf":0.8695,"wavelength":1.38},{"T":0.0,"Rb":0.5671,"Rf":0.8682,"wavelength":1.385},{"T":0.0,"Rb":0.5661,"Rf":0.8663,"wavelength":1.39},{"T":0.0,"Rb":0.5656,"Rf":0.8635,"wavelength":1.395},{"T":0.0,"Rb":0.5642,"Rf":0.8608,"wavelength":1.4},{"T":0.0,"Rb":0.5647,"Rf":0.8604,"wavelength":1.405},{"T":0.0,"Rb":0.5639,"Rf":0.8587,"wavelength":1.41},{"T":0.0,"Rb":0.5632,"Rf":0.8575,"wavelength":1.415},{"T":0.0,"Rb":0.5643,"Rf":0.8605,"wavelength":1.42},{"T":0.0,"Rb":0.5655,"Rf":0.8632,"wavelength":1.425},{"T":0.0,"Rb":0.5673,"Rf":0.8666,"wavelength":1.43},{"T":0.0,"Rb":0.5706,"Rf":0.8695,"wavelength":1.435},{"T":0.0,"Rb":0.5736,"Rf":0.871,"wavelength":1.44},{"T":0.0,"Rb":0.5767,"Rf":0.8733,"wavelength":1.445},{"T":0.0,"Rb":0.5796,"Rf":0.8749,"wavelength":1.45},{"T":0.0,"Rb":0.581,"Rf":0.876,"wavelength":1.455},{"T":0.0,"Rb":0.5836,"Rf":0.8771,"wavelength":1.46},{"T":0.0,"Rb":0.5852,"Rf":0.8779,"wavelength":1.465},{"T":0.0,"Rb":0.5865,"Rf":0.8792,"wavelength":1.47},{"T":0.0,"Rb":0.5875,"Rf":0.8796,"wavelength":1.475},{"T":0.0,"Rb":0.5897,"Rf":0.8807,"wavelength":1.48},{"T":0.0,"Rb":0.5915,"Rf":0.8821,"wavelength":1.485},{"T":0.0,"Rb":0.5929,"Rf":0.8831,"wavelength":1.49},{"T":0.0,"Rb":0.5943,"Rf":0.8835,"wavelength":1.495},{"T":0.0,"Rb":0.5952,"Rf":0.8838,"wavelength":1.5},{"T":0.0,"Rb":0.5958,"Rf":0.8836,"wavelength":1.505},{"T":0.0,"Rb":0.5976,"Rf":0.8848,"wavelength":1.51},{"T":0.0,"Rb":0.599,"Rf":0.8862,"wavelength":1.515},{"T":0.0,"Rb":0.6001,"Rf":0.8871,"wavelength":1.52},{"T":0.0,"Rb":0.6003,"Rf":0.8866,"wavelength":1.525},{"T":0.0,"Rb":0.6019,"Rf":0.887,"wavelength":1.53},{"T":0.0,"Rb":0.603,"Rf":0.8872,"wavelength":1.535},{"T":0.0,"Rb":0.6034,"Rf":0.8865,"wavelength":1.54},{"T":0.0,"Rb":0.6046,"Rf":0.8869,"wavelength":1.545},{"T":0.0,"Rb":0.6055,"Rf":0.8872,"wavelength":1.55},{"T":0.0,"Rb":0.6067,"Rf":0.8877,"wavelength":1.555},{"T":0.0,"Rb":0.6076,"Rf":0.8887,"wavelength":1.56},{"T":0.0,"Rb":0.6076,"Rf":0.8888,"wavelength":1.565},{"T":0.0,"Rb":0.6093,"Rf":0.8889,"wavelength":1.57},{"T":0.0,"Rb":0.6109,"Rf":0.8889,"wavelength":1.575},{"T":0.0,"Rb":0.6112,"Rf":0.8884,"wavelength":1.58},{"T":0.0,"Rb":0.6117,"Rf":0.8873,"wavelength":1.585},{"T":0.0,"Rb":0.6116,"Rf":0.888,"wavelength":1.59},{"T":0.0,"Rb":0.6116,"Rf":0.8872,"wavelength":1.595},{"T":0.0,"Rb":0.6108,"Rf":0.8856,"wavelength":1.6},{"T":0.0,"Rb":0.6105,"Rf":0.8842,"wavelength":1.605},{"T":0.0,"Rb":0.6097,"Rf":0.8813,"wavelength":1.61},{"T":0.0,"Rb":0.6081,"Rf":0.8776,"wavelength":1.615},{"T":0.0,"Rb":0.6059,"Rf":0.8739,"wavelength":1.62},{"T":0.0,"Rb":0.6045,"Rf":0.8703,"wavelength":1.625},{"T":0.0,"Rb":0.6017,"Rf":0.8647,"wavelength":1.63},{"T":0.0,"Rb":0.5946,"Rf":0.8534,"wavelength":1.635},{"T":0.0,"Rb":0.5827,"Rf":0.834,"wavelength":1.64},{"T":0.0,"Rb":0.5656,"Rf":0.8061,"wavelength":1.645},{"T":0.0,"Rb":0.545,"Rf":0.7724,"wavelength":1.65},{"T":0.0,"Rb":0.5253,"Rf":0.7401,"wavelength":1.655},{"T":0.0,"Rb":0.5112,"Rf":0.7178,"wavelength":1.66},{"T":0.0,"Rb":0.5074,"Rf":0.7155,"wavelength":1.665},{"T":0.0,"Rb":0.5152,"Rf":0.73,"wavelength":1.67},{"T":0.0,"Rb":0.5258,"Rf":0.7506,"wavelength":1.675},{"T":0.0,"Rb":0.5361,"Rf":0.7697,"wavelength":1.68},{"T":0.0,"Rb":0.5414,"Rf":0.7853,"wavelength":1.685},{"T":0.0,"Rb":0.5431,"Rf":0.7992,"wavelength":1.69},{"T":0.0,"Rb":0.5403,"Rf":0.8083,"wavelength":1.695},{"T":0.0,"Rb":0.5277,"Rf":0.81,"wavelength":1.7},{"T":0.0,"Rb":0.5091,"Rf":0.8094,"wavelength":1.705},{"T":0.0,"Rb":0.4933,"Rf":0.8092,"wavelength":1.71},{"T":0.0,"Rb":0.4835,"Rf":0.8097,"wavelength":1.715},{"T":0.0,"Rb":0.4831,"Rf":0.81,"wavelength":1.72},{"T":0.0,"Rb":0.4936,"Rf":0.8114,"wavelength":1.725},{"T":0.0,"Rb":0.5065,"Rf":0.8144,"wavelength":1.73},{"T":0.0,"Rb":0.5199,"Rf":0.8201,"wavelength":1.735},{"T":0.0,"Rb":0.5294,"Rf":0.8286,"wavelength":1.74},{"T":0.0,"Rb":0.5313,"Rf":0.8344,"wavelength":1.745},{"T":0.0,"Rb":0.5354,"Rf":0.839,"wavelength":1.75},{"T":0.0,"Rb":0.5404,"Rf":0.8423,"wavelength":1.755},{"T":0.0,"Rb":0.5451,"Rf":0.8427,"wavelength":1.76},{"T":0.0,"Rb":0.5515,"Rf":0.8443,"wavelength":1.765},{"T":0.0,"Rb":0.5576,"Rf":0.8471,"wavelength":1.77},{"T":0.0,"Rb":0.5626,"Rf":0.8493,"wavelength":1.775},{"T":0.0,"Rb":0.5672,"Rf":0.8519,"wavelength":1.78},{"T":0.0,"Rb":0.5716,"Rf":0.8537,"wavelength":1.785},{"T":0.0,"Rb":0.5746,"Rf":0.853,"wavelength":1.79},{"T":0.0,"Rb":0.5779,"Rf":0.8518,"wavelength":1.795},{"T":0.0,"Rb":0.5813,"Rf":0.8511,"wavelength":1.8},{"T":0.0,"Rb":0.5838,"Rf":0.8507,"wavelength":1.805},{"T":0.0,"Rb":0.5861,"Rf":0.8516,"wavelength":1.81},{"T":0.0,"Rb":0.589,"Rf":0.8528,"wavelength":1.815},{"T":0.0,"Rb":0.5898,"Rf":0.8541,"wavelength":1.82},{"T":0.0,"Rb":0.5901,"Rf":0.8543,"wavelength":1.825},{"T":0.0,"Rb":0.5909,"Rf":0.8555,"wavelength":1.83},{"T":0.0,"Rb":0.5936,"Rf":0.8582,"wavelength":1.835},{"T":0.0,"Rb":0.5994,"Rf":0.8624,"wavelength":1.84},{"T":0.0,"Rb":0.6022,"Rf":0.865,"wavelength":1.845},{"T":0.0,"Rb":0.603,"Rf":0.8663,"wavelength":1.85},{"T":0.0,"Rb":0.606,"Rf":0.8672,"wavelength":1.855},{"T":0.0,"Rb":0.608,"Rf":0.8669,"wavelength":1.86},{"T":0.0,"Rb":0.6083,"Rf":0.8646,"wavelength":1.865},{"T":0.0,"Rb":0.6102,"Rf":0.864,"wavelength":1.87},{"T":0.0,"Rb":0.6142,"Rf":0.8655,"wavelength":1.875},{"T":0.0,"Rb":0.6141,"Rf":0.8644,"wavelength":1.88},{"T":0.0,"Rb":0.614,"Rf":0.8585,"wavelength":1.885},{"T":0.0,"Rb":0.6111,"Rf":0.8522,"wavelength":1.89},{"T":0.0,"Rb":0.6054,"Rf":0.8435,"wavelength":1.895},{"T":0.0,"Rb":0.5963,"Rf":0.829,"wavelength":1.9},{"T":0.0,"Rb":0.5899,"Rf":0.816,"wavelength":1.905},{"T":0.0,"Rb":0.5888,"Rf":0.8125,"wavelength":1.91},{"T":0.0,"Rb":0.5923,"Rf":0.8151,"wavelength":1.915},{"T":0.0,"Rb":0.6005,"Rf":0.8224,"wavelength":1.92},{"T":0.0,"Rb":0.6071,"Rf":0.8297,"wavelength":1.925},{"T":0.0,"Rb":0.6096,"Rf":0.8348,"wavelength":1.93},{"T":0.0,"Rb":0.6116,"Rf":0.8385,"wavelength":1.935},{"T":0.0,"Rb":0.6117,"Rf":0.8368,"wavelength":1.94},{"T":0.0,"Rb":0.6104,"Rf":0.8339,"wavelength":1.945},{"T":0.0,"Rb":0.6104,"Rf":0.8318,"wavelength":1.95},{"T":0.0,"Rb":0.6117,"Rf":0.8337,"wavelength":1.955},{"T":0.0,"Rb":0.6156,"Rf":0.8378,"wavelength":1.96},{"T":0.0,"Rb":0.6204,"Rf":0.8449,"wavelength":1.965},{"T":0.0,"Rb":0.6244,"Rf":0.8521,"wavelength":1.97},{"T":0.0,"Rb":0.6303,"Rf":0.8578,"wavelength":1.975},{"T":0.0,"Rb":0.6344,"Rf":0.8626,"wavelength":1.98},{"T":0.0,"Rb":0.6364,"Rf":0.8658,"wavelength":1.985},{"T":0.0,"Rb":0.6382,"Rf":0.8678,"wavelength":1.99},{"T":0.0,"Rb":0.641,"Rf":0.8685,"wavelength":1.995},{"T":0.0,"Rb":0.6428,"Rf":0.8711,"wavelength":2.0},{"T":0.0,"Rb":0.6449,"Rf":0.8756,"wavelength":2.005},{"T":0.0,"Rb":0.6476,"Rf":0.8776,"wavelength":2.01},{"T":0.0,"Rb":0.6488,"Rf":0.8782,"wavelength":2.015},{"T":0.0,"Rb":0.6512,"Rf":0.8804,"wavelength":2.02},{"T":0.0,"Rb":0.6515,"Rf":0.8803,"wavelength":2.025},{"T":0.0,"Rb":0.6516,"Rf":0.8791,"wavelength":2.03},{"T":0.0,"Rb":0.6544,"Rf":0.8803,"wavelength":2.035},{"T":0.0,"Rb":0.6561,"Rf":0.8797,"wavelength":2.04},{"T":0.0,"Rb":0.657,"Rf":0.8795,"wavelength":2.045},{"T":0.0,"Rb":0.6583,"Rf":0.8809,"wavelength":2.05},{"T":0.0,"Rb":0.6587,"Rf":0.8818,"wavelength":2.055},{"T":0.0,"Rb":0.6578,"Rf":0.8806,"wavelength":2.06},{"T":0.0,"Rb":0.6592,"Rf":0.8777,"wavelength":2.065},{"T":0.0,"Rb":0.6553,"Rf":0.8681,"wavelength":2.07},{"T":0.0,"Rb":0.6476,"Rf":0.8616,"wavelength":2.075},{"T":0.0,"Rb":0.6435,"Rf":0.8556,"wavelength":2.08},{"T":0.0,"Rb":0.646,"Rf":0.8503,"wavelength":2.085},{"T":0.0,"Rb":0.6464,"Rf":0.8474,"wavelength":2.09},{"T":0.0,"Rb":0.6485,"Rf":0.851,"wavelength":2.095},{"T":0.0,"Rb":0.6444,"Rf":0.8471,"wavelength":2.1},{"T":0.0,"Rb":0.6371,"Rf":0.8367,"wavelength":2.105},{"T":0.0,"Rb":0.6242,"Rf":0.8184,"wavelength":2.11},{"T":0.0,"Rb":0.6108,"Rf":0.7964,"wavelength":2.115},{"T":0.0,"Rb":0.596,"Rf":0.7694,"wavelength":2.12},{"T":0.0,"Rb":0.572,"Rf":0.7409,"wavelength":2.125},{"T":0.0,"Rb":0.5579,"Rf":0.7156,"wavelength":2.13},{"T":0.0,"Rb":0.5534,"Rf":0.7054,"wavelength":2.135},{"T":0.0,"Rb":0.5668,"Rf":0.7276,"wavelength":2.14},{"T":0.0,"Rb":0.5783,"Rf":0.7438,"wavelength":2.145},{"T":0.0,"Rb":0.5758,"Rf":0.751,"wavelength":2.15},{"T":0.0,"Rb":0.5845,"Rf":0.745,"wavelength":2.155},{"T":0.0,"Rb":0.5841,"Rf":0.7412,"wavelength":2.16},{"T":0.0,"Rb":0.5928,"Rf":0.7529,"wavelength":2.165},{"T":0.0,"Rb":0.6003,"Rf":0.7705,"wavelength":2.17},{"T":0.0,"Rb":0.5999,"Rf":0.7749,"wavelength":2.175},{"T":0.0,"Rb":0.5989,"Rf":0.7671,"wavelength":2.18},{"T":0.0,"Rb":0.5951,"Rf":0.7612,"wavelength":2.185},{"T":0.0,"Rb":0.6027,"Rf":0.7661,"wavelength":2.19},{"T":0.0,"Rb":0.6117,"Rf":0.7782,"wavelength":2.195},{"T":0.0,"Rb":0.6156,"Rf":0.7861,"wavelength":2.2},{"T":0.0,"Rb":0.6168,"Rf":0.7872,"wavelength":2.205},{"T":0.0,"Rb":0.6127,"Rf":0.7804,"wavelength":2.21},{"T":0.0,"Rb":0.5993,"Rf":0.7654,"wavelength":2.215},{"T":0.0,"Rb":0.5777,"Rf":0.742,"wavelength":2.22},{"T":0.0,"Rb":0.554,"Rf":0.7072,"wavelength":2.225},{"T":0.0,"Rb":0.5291,"Rf":0.6783,"wavelength":2.23},{"T":0.0,"Rb":0.5009,"Rf":0.6453,"wavelength":2.235},{"T":0.0,"Rb":0.4756,"Rf":0.6083,"wavelength":2.24},{"T":0.0,"Rb":0.4527,"Rf":0.5777,"wavelength":2.245},{"T":0.0,"Rb":0.4348,"Rf":0.5574,"wavelength":2.25},{"T":0.0,"Rb":0.4219,"Rf":0.5448,"wavelength":2.255},{"T":0.0,"Rb":0.4137,"Rf":0.5386,"wavelength":2.26},{"T":0.0,"Rb":0.4192,"Rf":0.554,"wavelength":2.265},{"T":0.0,"Rb":0.415,"Rf":0.5583,"wavelength":2.27},{"T":0.0,"Rb":0.4229,"Rf":0.5736,"wavelength":2.275},{"T":0.0,"Rb":0.4156,"Rf":0.5922,"wavelength":2.28},{"T":0.0,"Rb":0.4011,"Rf":0.5948,"wavelength":2.285},{"T":0.0,"Rb":0.3768,"Rf":0.5951,"wavelength":2.29},{"T":0.0,"Rb":0.3619,"Rf":0.595,"wavelength":2.295},{"T":0.0,"Rb":0.343,"Rf":0.5922,"wavelength":2.3},{"T":0.0,"Rb":0.3256,"Rf":0.5831,"wavelength":2.305},{"T":0.0,"Rb":0.3252,"Rf":0.5791,"wavelength":2.31},{"T":0.0,"Rb":0.3253,"Rf":0.5816,"wavelength":2.315},{"T":0.0,"Rb":0.3314,"Rf":0.5773,"wavelength":2.32},{"T":0.0,"Rb":0.34,"Rf":0.5645,"wavelength":2.325},{"T":0.0,"Rb":0.3379,"Rf":0.5516,"wavelength":2.33},{"T":0.0,"Rb":0.33,"Rf":0.5437,"wavelength":2.335},{"T":0.0,"Rb":0.3443,"Rf":0.5544,"wavelength":2.34},{"T":0.0,"Rb":0.354,"Rf":0.5608,"wavelength":2.345},{"T":0.0,"Rb":0.3631,"Rf":0.5702,"wavelength":2.35},{"T":0.0,"Rb":0.3532,"Rf":0.5737,"wavelength":2.355},{"T":0.0,"Rb":0.3593,"Rf":0.5822,"wavelength":2.36},{"T":0.0,"Rb":0.3483,"Rf":0.5715,"wavelength":2.365},{"T":0.0,"Rb":0.3617,"Rf":0.5866,"wavelength":2.37},{"T":0.0,"Rb":0.3495,"Rf":0.593,"wavelength":2.375},{"T":0.0,"Rb":0.3652,"Rf":0.595,"wavelength":2.38},{"T":0.0,"Rb":0.3664,"Rf":0.5984,"wavelength":2.385},{"T":0.0,"Rb":0.3649,"Rf":0.588,"wavelength":2.39},{"T":0.0,"Rb":0.3742,"Rf":0.591,"wavelength":2.395},{"T":0.0,"Rb":0.3775,"Rf":0.5903,"wavelength":2.4},{"T":0.0,"Rb":0.3805,"Rf":0.6053,"wavelength":2.405},{"T":0.0,"Rb":0.3892,"Rf":0.6094,"wavelength":2.41},{"T":0.0,"Rb":0.3893,"Rf":0.5974,"wavelength":2.415},{"T":0.0,"Rb":0.4049,"Rf":0.5962,"wavelength":2.42},{"T":0.0,"Rb":0.3955,"Rf":0.5776,"wavelength":2.425},{"T":0.0,"Rb":0.3996,"Rf":0.5771,"wavelength":2.43},{"T":0.0,"Rb":0.3828,"Rf":0.5455,"wavelength":2.435},{"T":0.0,"Rb":0.3389,"Rf":0.5008,"wavelength":2.44},{"T":0.0,"Rb":0.3346,"Rf":0.48,"wavelength":2.445},{"T":0.0,"Rb":0.3431,"Rf":0.4861,"wavelength":2.45},{"T":0.0,"Rb":0.3627,"Rf":0.5135,"wavelength":2.455},{"T":0.0,"Rb":0.3991,"Rf":0.5599,"wavelength":2.46},{"T":0.0,"Rb":0.4012,"Rf":0.5829,"wavelength":2.465},{"T":0.0,"Rb":0.429,"Rf":0.5987,"wavelength":2.47},{"T":0.0,"Rb":0.4274,"Rf":0.6275,"wavelength":2.475},{"T":0.0,"Rb":0.4492,"Rf":0.6452,"wavelength":2.48},{"T":0.0,"Rb":0.4508,"Rf":0.6492,"wavelength":2.485},{"T":0.0,"Rb":0.4533,"Rf":0.6502,"wavelength":2.49},{"T":0.0,"Rb":0.461,"Rf":0.6618,"wavelength":2.495},{"T":0.0,"Rb":0.48,"Rf":0.6568,"wavelength":2.5}],"dual_band_values":{"Rb_sol_diffuse":0.4896773,"Rb_vis_diffuse":0.4877937,"Rf_sol_diffuse":0.8663192,"Rf_vis_diffuse":0.890273,"Tb_sol_diffuse":0.0,"Tb_vis_diffuse":0.0,"Tf_sol_diffuse":0.0,"Tf_vis_diffuse":0.0,"Rb_sol_specular":0.0,"Rb_vis_specular":null,"Rf_sol_specular":0.0,"Rf_vis_specular":0.0,"Tb_sol_specular":0.0,"Tb_vis_specular":0.0,"Tf_sol_specular":0.0,"Tf_vis_specular":0.0}}}]}} +{"product_id":12295,"name":"Solar Comfort Radiant Barrier","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":18000,"cgdb_database_version":"4","acceptance":"@","appearance":null,"manufacturer_name":"Solar Comfort","data_file_name":null,"data_file_available":false,"short_description":null,"type":"shading","subtype":"perforated-screen","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":false,"thickness":null,"tir_front":null,"tir_back":null,"emissivity_front":null,"emissivity_back":null,"conductivity":null,"permeability_factor":0.37},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":null,"tbsol":null,"rfsol":null,"rbsol":null,"tfvis":null,"tbvis":null,"rfvis":null,"rbvis":null,"tdw":null,"tuv":null,"tspf":null,"tkr":null,"tciex":null,"tciey":null,"tciez":null,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":null,"rfciey":null,"rfciez":null,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"composition":[{"child_product":{"product_id":12854,"name":"SCRadiantBarrier.txt","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":null,"cgdb_database_version":"4.0","acceptance":"@","appearance":null,"manufacturer_name":"Solar Comfort","data_file_name":"SCRadiantBarrier.txt","data_file_available":false,"short_description":null,"type":"material","subtype":"other","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":true,"thickness":0.23,"tir_front":0.0,"tir_back":null,"emissivity_front":0.863,"emissivity_back":0.84,"conductivity":0.12,"permeability_factor":null},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":0.0,"tbsol":null,"rfsol":0.845964729785919,"rbsol":null,"tfvis":0.0,"tbvis":null,"rfvis":0.8699533,"rbvis":0.4754288,"tdw":0.0,"tuv":0.0,"tspf":10000.0,"tkr":null,"tciex":0.0,"tciey":0.0,"tciez":0.0,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":81.94081,"rfciey":86.88152,"rfciez":90.12293,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"composition":[],"spectral_data":{"spectral_data":[{"T":0.0,"Rb":0.0674,"Rf":0.0794,"wavelength":0.3},{"T":0.0,"Rb":0.0669,"Rf":0.0953,"wavelength":0.305},{"T":0.0,"Rb":0.0663,"Rf":0.1577,"wavelength":0.31},{"T":0.0,"Rb":0.0651,"Rf":0.262,"wavelength":0.315},{"T":0.0,"Rb":0.0638,"Rf":0.3688,"wavelength":0.32},{"T":0.0,"Rb":0.0625,"Rf":0.445,"wavelength":0.325},{"T":0.0,"Rb":0.0614,"Rf":0.5006,"wavelength":0.33},{"T":0.0,"Rb":0.0605,"Rf":0.5515,"wavelength":0.335},{"T":0.0,"Rb":0.0603,"Rf":0.6044,"wavelength":0.34},{"T":0.0,"Rb":0.0612,"Rf":0.6534,"wavelength":0.345},{"T":0.0,"Rb":0.0635,"Rf":0.6938,"wavelength":0.35},{"T":0.0,"Rb":0.0674,"Rf":0.7303,"wavelength":0.355},{"T":0.0,"Rb":0.0728,"Rf":0.7649,"wavelength":0.36},{"T":0.0,"Rb":0.0801,"Rf":0.7881,"wavelength":0.365},{"T":0.0,"Rb":0.0896,"Rf":0.8012,"wavelength":0.37},{"T":0.0,"Rb":0.1026,"Rf":0.8125,"wavelength":0.375},{"T":0.0,"Rb":0.1206,"Rf":0.825,"wavelength":0.38},{"T":0.0,"Rb":0.1485,"Rf":0.8299,"wavelength":0.385},{"T":0.0,"Rb":0.1934,"Rf":0.8232,"wavelength":0.39},{"T":0.0,"Rb":0.2594,"Rf":0.8162,"wavelength":0.395},{"T":0.0,"Rb":0.3358,"Rf":0.813,"wavelength":0.4},{"T":0.0,"Rb":0.4036,"Rf":0.8089,"wavelength":0.405},{"T":0.0,"Rb":0.4459,"Rf":0.8041,"wavelength":0.41},{"T":0.0,"Rb":0.4644,"Rf":0.802,"wavelength":0.415},{"T":0.0,"Rb":0.4695,"Rf":0.8044,"wavelength":0.42},{"T":0.0,"Rb":0.4697,"Rf":0.8113,"wavelength":0.425},{"T":0.0,"Rb":0.4689,"Rf":0.8192,"wavelength":0.43},{"T":0.0,"Rb":0.468,"Rf":0.8266,"wavelength":0.435},{"T":0.0,"Rb":0.4672,"Rf":0.8329,"wavelength":0.44},{"T":0.0,"Rb":0.4665,"Rf":0.8382,"wavelength":0.445},{"T":0.0,"Rb":0.4661,"Rf":0.843,"wavelength":0.45},{"T":0.0,"Rb":0.4652,"Rf":0.8466,"wavelength":0.455},{"T":0.0,"Rb":0.4648,"Rf":0.8498,"wavelength":0.46},{"T":0.0,"Rb":0.464,"Rf":0.852,"wavelength":0.465},{"T":0.0,"Rb":0.4632,"Rf":0.8545,"wavelength":0.47},{"T":0.0,"Rb":0.4622,"Rf":0.8563,"wavelength":0.475},{"T":0.0,"Rb":0.4617,"Rf":0.8583,"wavelength":0.48},{"T":0.0,"Rb":0.4607,"Rf":0.8597,"wavelength":0.485},{"T":0.0,"Rb":0.4599,"Rf":0.8608,"wavelength":0.49},{"T":0.0,"Rb":0.4599,"Rf":0.8628,"wavelength":0.495},{"T":0.0,"Rb":0.461,"Rf":0.8644,"wavelength":0.5},{"T":0.0,"Rb":0.4642,"Rf":0.8658,"wavelength":0.505},{"T":0.0,"Rb":0.4694,"Rf":0.8668,"wavelength":0.51},{"T":0.0,"Rb":0.475,"Rf":0.8677,"wavelength":0.515},{"T":0.0,"Rb":0.4789,"Rf":0.8685,"wavelength":0.52},{"T":0.0,"Rb":0.481,"Rf":0.8695,"wavelength":0.525},{"T":0.0,"Rb":0.4823,"Rf":0.8703,"wavelength":0.53},{"T":0.0,"Rb":0.4825,"Rf":0.8713,"wavelength":0.535},{"T":0.0,"Rb":0.4821,"Rf":0.872,"wavelength":0.54},{"T":0.0,"Rb":0.4814,"Rf":0.8718,"wavelength":0.545},{"T":0.0,"Rb":0.4808,"Rf":0.8725,"wavelength":0.55},{"T":0.0,"Rb":0.4801,"Rf":0.8728,"wavelength":0.555},{"T":0.0,"Rb":0.4791,"Rf":0.8728,"wavelength":0.56},{"T":0.0,"Rb":0.4779,"Rf":0.8731,"wavelength":0.565},{"T":0.0,"Rb":0.4769,"Rf":0.8733,"wavelength":0.57},{"T":0.0,"Rb":0.4758,"Rf":0.8726,"wavelength":0.575},{"T":0.0,"Rb":0.4756,"Rf":0.8737,"wavelength":0.58},{"T":0.0,"Rb":0.4749,"Rf":0.8733,"wavelength":0.585},{"T":0.0,"Rb":0.4743,"Rf":0.8731,"wavelength":0.59},{"T":0.0,"Rb":0.4733,"Rf":0.8721,"wavelength":0.595},{"T":0.0,"Rb":0.4722,"Rf":0.8716,"wavelength":0.6},{"T":0.0,"Rb":0.4715,"Rf":0.8715,"wavelength":0.605},{"T":0.0,"Rb":0.4712,"Rf":0.8711,"wavelength":0.61},{"T":0.0,"Rb":0.4707,"Rf":0.87,"wavelength":0.615},{"T":0.0,"Rb":0.4706,"Rf":0.8696,"wavelength":0.62},{"T":0.0,"Rb":0.4705,"Rf":0.8689,"wavelength":0.625},{"T":0.0,"Rb":0.4708,"Rf":0.8684,"wavelength":0.63},{"T":0.0,"Rb":0.4708,"Rf":0.8676,"wavelength":0.635},{"T":0.0,"Rb":0.4708,"Rf":0.8669,"wavelength":0.64},{"T":0.0,"Rb":0.4704,"Rf":0.8656,"wavelength":0.645},{"T":0.0,"Rb":0.4705,"Rf":0.8648,"wavelength":0.65},{"T":0.0,"Rb":0.4704,"Rf":0.8643,"wavelength":0.655},{"T":0.0,"Rb":0.4697,"Rf":0.8633,"wavelength":0.66},{"T":0.0,"Rb":0.4688,"Rf":0.8626,"wavelength":0.665},{"T":0.0,"Rb":0.4675,"Rf":0.8618,"wavelength":0.67},{"T":0.0,"Rb":0.466,"Rf":0.8607,"wavelength":0.675},{"T":0.0,"Rb":0.4651,"Rf":0.8597,"wavelength":0.68},{"T":0.0,"Rb":0.4646,"Rf":0.8591,"wavelength":0.685},{"T":0.0,"Rb":0.4641,"Rf":0.8581,"wavelength":0.69},{"T":0.0,"Rb":0.4636,"Rf":0.8568,"wavelength":0.695},{"T":0.0,"Rb":0.4632,"Rf":0.8558,"wavelength":0.7},{"T":0.0,"Rb":0.4633,"Rf":0.8552,"wavelength":0.705},{"T":0.0,"Rb":0.4638,"Rf":0.8543,"wavelength":0.71},{"T":0.0,"Rb":0.4643,"Rf":0.8528,"wavelength":0.715},{"T":0.0,"Rb":0.4652,"Rf":0.8522,"wavelength":0.72},{"T":0.0,"Rb":0.4654,"Rf":0.8506,"wavelength":0.725},{"T":0.0,"Rb":0.4657,"Rf":0.8496,"wavelength":0.73},{"T":0.0,"Rb":0.4659,"Rf":0.8485,"wavelength":0.735},{"T":0.0,"Rb":0.4662,"Rf":0.8471,"wavelength":0.74},{"T":0.0,"Rb":0.4662,"Rf":0.8456,"wavelength":0.745},{"T":0.0,"Rb":0.4663,"Rf":0.8449,"wavelength":0.75},{"T":0.0,"Rb":0.4658,"Rf":0.8431,"wavelength":0.755},{"T":0.0,"Rb":0.4655,"Rf":0.8422,"wavelength":0.76},{"T":0.0,"Rb":0.4653,"Rf":0.8408,"wavelength":0.765},{"T":0.0,"Rb":0.4648,"Rf":0.8397,"wavelength":0.77},{"T":0.0,"Rb":0.4642,"Rf":0.8382,"wavelength":0.775},{"T":0.0,"Rb":0.4632,"Rf":0.8366,"wavelength":0.78},{"T":0.0,"Rb":0.4628,"Rf":0.8354,"wavelength":0.785},{"T":0.0,"Rb":0.4619,"Rf":0.8341,"wavelength":0.79},{"T":0.0,"Rb":0.461,"Rf":0.8319,"wavelength":0.795},{"T":0.0,"Rb":0.4603,"Rf":0.8311,"wavelength":0.8},{"T":0.0,"Rb":0.4602,"Rf":0.8293,"wavelength":0.805},{"T":0.0,"Rb":0.4596,"Rf":0.8287,"wavelength":0.81},{"T":0.0,"Rb":0.4591,"Rf":0.828,"wavelength":0.815},{"T":0.0,"Rb":0.4591,"Rf":0.8271,"wavelength":0.82},{"T":0.0,"Rb":0.4589,"Rf":0.8261,"wavelength":0.825},{"T":0.0,"Rb":0.4593,"Rf":0.8259,"wavelength":0.83},{"T":0.0,"Rb":0.4593,"Rf":0.8245,"wavelength":0.835},{"T":0.0,"Rb":0.4594,"Rf":0.8244,"wavelength":0.84},{"T":0.0,"Rb":0.4617,"Rf":0.8264,"wavelength":0.845},{"T":0.0,"Rb":0.4611,"Rf":0.8255,"wavelength":0.85},{"T":0.0,"Rb":0.4612,"Rf":0.8247,"wavelength":0.855},{"T":0.0,"Rb":0.4592,"Rf":0.8227,"wavelength":0.86},{"T":0.0,"Rb":0.4651,"Rf":0.828,"wavelength":0.865},{"T":0.0,"Rb":0.4674,"Rf":0.8261,"wavelength":0.87},{"T":0.0,"Rb":0.4661,"Rf":0.8273,"wavelength":0.875},{"T":0.0,"Rb":0.469,"Rf":0.8287,"wavelength":0.88},{"T":0.0,"Rb":0.4682,"Rf":0.8295,"wavelength":0.885},{"T":0.0,"Rb":0.4723,"Rf":0.832,"wavelength":0.89},{"T":0.0,"Rb":0.4711,"Rf":0.8291,"wavelength":0.895},{"T":0.0,"Rb":0.4727,"Rf":0.8326,"wavelength":0.9},{"T":0.0,"Rb":0.4743,"Rf":0.8323,"wavelength":0.905},{"T":0.0,"Rb":0.4756,"Rf":0.8338,"wavelength":0.91},{"T":0.0,"Rb":0.4791,"Rf":0.8356,"wavelength":0.915},{"T":0.0,"Rb":0.4816,"Rf":0.8391,"wavelength":0.92},{"T":0.0,"Rb":0.4806,"Rf":0.8391,"wavelength":0.925},{"T":0.0,"Rb":0.4841,"Rf":0.8414,"wavelength":0.93},{"T":0.0,"Rb":0.4858,"Rf":0.8423,"wavelength":0.935},{"T":0.0,"Rb":0.4877,"Rf":0.8435,"wavelength":0.94},{"T":0.0,"Rb":0.4882,"Rf":0.8442,"wavelength":0.945},{"T":0.0,"Rb":0.4908,"Rf":0.8456,"wavelength":0.95},{"T":0.0,"Rb":0.4923,"Rf":0.8478,"wavelength":0.955},{"T":0.0,"Rb":0.4948,"Rf":0.8483,"wavelength":0.96},{"T":0.0,"Rb":0.4967,"Rf":0.8499,"wavelength":0.965},{"T":0.0,"Rb":0.4993,"Rf":0.8505,"wavelength":0.97},{"T":0.0,"Rb":0.5,"Rf":0.8534,"wavelength":0.975},{"T":0.0,"Rb":0.5004,"Rf":0.8528,"wavelength":0.98},{"T":0.0,"Rb":0.5008,"Rf":0.8542,"wavelength":0.985},{"T":0.0,"Rb":0.5038,"Rf":0.8557,"wavelength":0.99},{"T":0.0,"Rb":0.5051,"Rf":0.8546,"wavelength":0.995},{"T":0.0,"Rb":0.5056,"Rf":0.8569,"wavelength":1.0},{"T":0.0,"Rb":0.5078,"Rf":0.8574,"wavelength":1.005},{"T":0.0,"Rb":0.5083,"Rf":0.8586,"wavelength":1.01},{"T":0.0,"Rb":0.5101,"Rf":0.8601,"wavelength":1.015},{"T":0.0,"Rb":0.5117,"Rf":0.8609,"wavelength":1.02},{"T":0.0,"Rb":0.5125,"Rf":0.8614,"wavelength":1.025},{"T":0.0,"Rb":0.5129,"Rf":0.8614,"wavelength":1.03},{"T":0.0,"Rb":0.516,"Rf":0.8637,"wavelength":1.035},{"T":0.0,"Rb":0.5171,"Rf":0.864,"wavelength":1.04},{"T":0.0,"Rb":0.5177,"Rf":0.8646,"wavelength":1.045},{"T":0.0,"Rb":0.5203,"Rf":0.8659,"wavelength":1.05},{"T":0.0,"Rb":0.5206,"Rf":0.8668,"wavelength":1.055},{"T":0.0,"Rb":0.5211,"Rf":0.867,"wavelength":1.06},{"T":0.0,"Rb":0.5233,"Rf":0.8678,"wavelength":1.065},{"T":0.0,"Rb":0.524,"Rf":0.8686,"wavelength":1.07},{"T":0.0,"Rb":0.5254,"Rf":0.8696,"wavelength":1.075},{"T":0.0,"Rb":0.5253,"Rf":0.8699,"wavelength":1.08},{"T":0.0,"Rb":0.5273,"Rf":0.8703,"wavelength":1.085},{"T":0.0,"Rb":0.5281,"Rf":0.8707,"wavelength":1.09},{"T":0.0,"Rb":0.5287,"Rf":0.8711,"wavelength":1.095},{"T":0.0,"Rb":0.5299,"Rf":0.8724,"wavelength":1.1},{"T":0.0,"Rb":0.5314,"Rf":0.8716,"wavelength":1.105},{"T":0.0,"Rb":0.5316,"Rf":0.8713,"wavelength":1.11},{"T":0.0,"Rb":0.5308,"Rf":0.8697,"wavelength":1.115},{"T":0.0,"Rb":0.5307,"Rf":0.8669,"wavelength":1.12},{"T":0.0,"Rb":0.5297,"Rf":0.8637,"wavelength":1.125},{"T":0.0,"Rb":0.5297,"Rf":0.8627,"wavelength":1.13},{"T":0.0,"Rb":0.5298,"Rf":0.8625,"wavelength":1.135},{"T":0.0,"Rb":0.5319,"Rf":0.8655,"wavelength":1.14},{"T":0.0,"Rb":0.5332,"Rf":0.8677,"wavelength":1.145},{"T":0.0,"Rb":0.5344,"Rf":0.8695,"wavelength":1.15},{"T":0.0,"Rb":0.5342,"Rf":0.8695,"wavelength":1.155},{"T":0.0,"Rb":0.5337,"Rf":0.8697,"wavelength":1.16},{"T":0.0,"Rb":0.5327,"Rf":0.869,"wavelength":1.165},{"T":0.0,"Rb":0.5316,"Rf":0.8682,"wavelength":1.17},{"T":0.0,"Rb":0.5317,"Rf":0.8689,"wavelength":1.175},{"T":0.0,"Rb":0.5322,"Rf":0.8682,"wavelength":1.18},{"T":0.0,"Rb":0.534,"Rf":0.8702,"wavelength":1.185},{"T":0.0,"Rb":0.5354,"Rf":0.8722,"wavelength":1.19},{"T":0.0,"Rb":0.5357,"Rf":0.8737,"wavelength":1.195},{"T":0.0,"Rb":0.5377,"Rf":0.8755,"wavelength":1.2},{"T":0.0,"Rb":0.5404,"Rf":0.877,"wavelength":1.205},{"T":0.0,"Rb":0.5429,"Rf":0.8777,"wavelength":1.21},{"T":0.0,"Rb":0.5454,"Rf":0.8788,"wavelength":1.215},{"T":0.0,"Rb":0.5481,"Rf":0.8794,"wavelength":1.22},{"T":0.0,"Rb":0.55,"Rf":0.8797,"wavelength":1.225},{"T":0.0,"Rb":0.5523,"Rf":0.8803,"wavelength":1.23},{"T":0.0,"Rb":0.5547,"Rf":0.8812,"wavelength":1.235},{"T":0.0,"Rb":0.5555,"Rf":0.8813,"wavelength":1.24},{"T":0.0,"Rb":0.5568,"Rf":0.882,"wavelength":1.245},{"T":0.0,"Rb":0.5581,"Rf":0.8831,"wavelength":1.25},{"T":0.0,"Rb":0.559,"Rf":0.8836,"wavelength":1.255},{"T":0.0,"Rb":0.5596,"Rf":0.8832,"wavelength":1.26},{"T":0.0,"Rb":0.5616,"Rf":0.884,"wavelength":1.265},{"T":0.0,"Rb":0.5626,"Rf":0.8839,"wavelength":1.27},{"T":0.0,"Rb":0.5635,"Rf":0.8845,"wavelength":1.275},{"T":0.0,"Rb":0.5641,"Rf":0.8845,"wavelength":1.28},{"T":0.0,"Rb":0.5653,"Rf":0.884,"wavelength":1.285},{"T":0.0,"Rb":0.5655,"Rf":0.8842,"wavelength":1.29},{"T":0.0,"Rb":0.5666,"Rf":0.8844,"wavelength":1.295},{"T":0.0,"Rb":0.5678,"Rf":0.8846,"wavelength":1.3},{"T":0.0,"Rb":0.568,"Rf":0.8842,"wavelength":1.305},{"T":0.0,"Rb":0.5689,"Rf":0.8842,"wavelength":1.31},{"T":0.0,"Rb":0.5696,"Rf":0.8844,"wavelength":1.315},{"T":0.0,"Rb":0.57,"Rf":0.8842,"wavelength":1.32},{"T":0.0,"Rb":0.5706,"Rf":0.8835,"wavelength":1.325},{"T":0.0,"Rb":0.5716,"Rf":0.8823,"wavelength":1.33},{"T":0.0,"Rb":0.5715,"Rf":0.8825,"wavelength":1.335},{"T":0.0,"Rb":0.5716,"Rf":0.882,"wavelength":1.34},{"T":0.0,"Rb":0.5712,"Rf":0.8804,"wavelength":1.345},{"T":0.0,"Rb":0.5715,"Rf":0.878,"wavelength":1.35},{"T":0.0,"Rb":0.5705,"Rf":0.8762,"wavelength":1.355},{"T":0.0,"Rb":0.5704,"Rf":0.8745,"wavelength":1.36},{"T":0.0,"Rb":0.57,"Rf":0.873,"wavelength":1.365},{"T":0.0,"Rb":0.5693,"Rf":0.8722,"wavelength":1.37},{"T":0.0,"Rb":0.5686,"Rf":0.8712,"wavelength":1.375},{"T":0.0,"Rb":0.567,"Rf":0.8695,"wavelength":1.38},{"T":0.0,"Rb":0.5671,"Rf":0.8682,"wavelength":1.385},{"T":0.0,"Rb":0.5661,"Rf":0.8663,"wavelength":1.39},{"T":0.0,"Rb":0.5656,"Rf":0.8635,"wavelength":1.395},{"T":0.0,"Rb":0.5642,"Rf":0.8608,"wavelength":1.4},{"T":0.0,"Rb":0.5647,"Rf":0.8604,"wavelength":1.405},{"T":0.0,"Rb":0.5639,"Rf":0.8587,"wavelength":1.41},{"T":0.0,"Rb":0.5632,"Rf":0.8575,"wavelength":1.415},{"T":0.0,"Rb":0.5643,"Rf":0.8605,"wavelength":1.42},{"T":0.0,"Rb":0.5655,"Rf":0.8632,"wavelength":1.425},{"T":0.0,"Rb":0.5673,"Rf":0.8666,"wavelength":1.43},{"T":0.0,"Rb":0.5706,"Rf":0.8695,"wavelength":1.435},{"T":0.0,"Rb":0.5736,"Rf":0.871,"wavelength":1.44},{"T":0.0,"Rb":0.5767,"Rf":0.8733,"wavelength":1.445},{"T":0.0,"Rb":0.5796,"Rf":0.8749,"wavelength":1.45},{"T":0.0,"Rb":0.581,"Rf":0.876,"wavelength":1.455},{"T":0.0,"Rb":0.5836,"Rf":0.8771,"wavelength":1.46},{"T":0.0,"Rb":0.5852,"Rf":0.8779,"wavelength":1.465},{"T":0.0,"Rb":0.5865,"Rf":0.8792,"wavelength":1.47},{"T":0.0,"Rb":0.5875,"Rf":0.8796,"wavelength":1.475},{"T":0.0,"Rb":0.5897,"Rf":0.8807,"wavelength":1.48},{"T":0.0,"Rb":0.5915,"Rf":0.8821,"wavelength":1.485},{"T":0.0,"Rb":0.5929,"Rf":0.8831,"wavelength":1.49},{"T":0.0,"Rb":0.5943,"Rf":0.8835,"wavelength":1.495},{"T":0.0,"Rb":0.5952,"Rf":0.8838,"wavelength":1.5},{"T":0.0,"Rb":0.5958,"Rf":0.8836,"wavelength":1.505},{"T":0.0,"Rb":0.5976,"Rf":0.8848,"wavelength":1.51},{"T":0.0,"Rb":0.599,"Rf":0.8862,"wavelength":1.515},{"T":0.0,"Rb":0.6001,"Rf":0.8871,"wavelength":1.52},{"T":0.0,"Rb":0.6003,"Rf":0.8866,"wavelength":1.525},{"T":0.0,"Rb":0.6019,"Rf":0.887,"wavelength":1.53},{"T":0.0,"Rb":0.603,"Rf":0.8872,"wavelength":1.535},{"T":0.0,"Rb":0.6034,"Rf":0.8865,"wavelength":1.54},{"T":0.0,"Rb":0.6046,"Rf":0.8869,"wavelength":1.545},{"T":0.0,"Rb":0.6055,"Rf":0.8872,"wavelength":1.55},{"T":0.0,"Rb":0.6067,"Rf":0.8877,"wavelength":1.555},{"T":0.0,"Rb":0.6076,"Rf":0.8887,"wavelength":1.56},{"T":0.0,"Rb":0.6076,"Rf":0.8888,"wavelength":1.565},{"T":0.0,"Rb":0.6093,"Rf":0.8889,"wavelength":1.57},{"T":0.0,"Rb":0.6109,"Rf":0.8889,"wavelength":1.575},{"T":0.0,"Rb":0.6112,"Rf":0.8884,"wavelength":1.58},{"T":0.0,"Rb":0.6117,"Rf":0.8873,"wavelength":1.585},{"T":0.0,"Rb":0.6116,"Rf":0.888,"wavelength":1.59},{"T":0.0,"Rb":0.6116,"Rf":0.8872,"wavelength":1.595},{"T":0.0,"Rb":0.6108,"Rf":0.8856,"wavelength":1.6},{"T":0.0,"Rb":0.6105,"Rf":0.8842,"wavelength":1.605},{"T":0.0,"Rb":0.6097,"Rf":0.8813,"wavelength":1.61},{"T":0.0,"Rb":0.6081,"Rf":0.8776,"wavelength":1.615},{"T":0.0,"Rb":0.6059,"Rf":0.8739,"wavelength":1.62},{"T":0.0,"Rb":0.6045,"Rf":0.8703,"wavelength":1.625},{"T":0.0,"Rb":0.6017,"Rf":0.8647,"wavelength":1.63},{"T":0.0,"Rb":0.5946,"Rf":0.8534,"wavelength":1.635},{"T":0.0,"Rb":0.5827,"Rf":0.834,"wavelength":1.64},{"T":0.0,"Rb":0.5656,"Rf":0.8061,"wavelength":1.645},{"T":0.0,"Rb":0.545,"Rf":0.7724,"wavelength":1.65},{"T":0.0,"Rb":0.5253,"Rf":0.7401,"wavelength":1.655},{"T":0.0,"Rb":0.5112,"Rf":0.7178,"wavelength":1.66},{"T":0.0,"Rb":0.5074,"Rf":0.7155,"wavelength":1.665},{"T":0.0,"Rb":0.5152,"Rf":0.73,"wavelength":1.67},{"T":0.0,"Rb":0.5258,"Rf":0.7506,"wavelength":1.675},{"T":0.0,"Rb":0.5361,"Rf":0.7697,"wavelength":1.68},{"T":0.0,"Rb":0.5414,"Rf":0.7853,"wavelength":1.685},{"T":0.0,"Rb":0.5431,"Rf":0.7992,"wavelength":1.69},{"T":0.0,"Rb":0.5403,"Rf":0.8083,"wavelength":1.695},{"T":0.0,"Rb":0.5277,"Rf":0.81,"wavelength":1.7},{"T":0.0,"Rb":0.5091,"Rf":0.8094,"wavelength":1.705},{"T":0.0,"Rb":0.4933,"Rf":0.8092,"wavelength":1.71},{"T":0.0,"Rb":0.4835,"Rf":0.8097,"wavelength":1.715},{"T":0.0,"Rb":0.4831,"Rf":0.81,"wavelength":1.72},{"T":0.0,"Rb":0.4936,"Rf":0.8114,"wavelength":1.725},{"T":0.0,"Rb":0.5065,"Rf":0.8144,"wavelength":1.73},{"T":0.0,"Rb":0.5199,"Rf":0.8201,"wavelength":1.735},{"T":0.0,"Rb":0.5294,"Rf":0.8286,"wavelength":1.74},{"T":0.0,"Rb":0.5313,"Rf":0.8344,"wavelength":1.745},{"T":0.0,"Rb":0.5354,"Rf":0.839,"wavelength":1.75},{"T":0.0,"Rb":0.5404,"Rf":0.8423,"wavelength":1.755},{"T":0.0,"Rb":0.5451,"Rf":0.8427,"wavelength":1.76},{"T":0.0,"Rb":0.5515,"Rf":0.8443,"wavelength":1.765},{"T":0.0,"Rb":0.5576,"Rf":0.8471,"wavelength":1.77},{"T":0.0,"Rb":0.5626,"Rf":0.8493,"wavelength":1.775},{"T":0.0,"Rb":0.5672,"Rf":0.8519,"wavelength":1.78},{"T":0.0,"Rb":0.5716,"Rf":0.8537,"wavelength":1.785},{"T":0.0,"Rb":0.5746,"Rf":0.853,"wavelength":1.79},{"T":0.0,"Rb":0.5779,"Rf":0.8518,"wavelength":1.795},{"T":0.0,"Rb":0.5813,"Rf":0.8511,"wavelength":1.8},{"T":0.0,"Rb":0.5838,"Rf":0.8507,"wavelength":1.805},{"T":0.0,"Rb":0.5861,"Rf":0.8516,"wavelength":1.81},{"T":0.0,"Rb":0.589,"Rf":0.8528,"wavelength":1.815},{"T":0.0,"Rb":0.5898,"Rf":0.8541,"wavelength":1.82},{"T":0.0,"Rb":0.5901,"Rf":0.8543,"wavelength":1.825},{"T":0.0,"Rb":0.5909,"Rf":0.8555,"wavelength":1.83},{"T":0.0,"Rb":0.5936,"Rf":0.8582,"wavelength":1.835},{"T":0.0,"Rb":0.5994,"Rf":0.8624,"wavelength":1.84},{"T":0.0,"Rb":0.6022,"Rf":0.865,"wavelength":1.845},{"T":0.0,"Rb":0.603,"Rf":0.8663,"wavelength":1.85},{"T":0.0,"Rb":0.606,"Rf":0.8672,"wavelength":1.855},{"T":0.0,"Rb":0.608,"Rf":0.8669,"wavelength":1.86},{"T":0.0,"Rb":0.6083,"Rf":0.8646,"wavelength":1.865},{"T":0.0,"Rb":0.6102,"Rf":0.864,"wavelength":1.87},{"T":0.0,"Rb":0.6142,"Rf":0.8655,"wavelength":1.875},{"T":0.0,"Rb":0.6141,"Rf":0.8644,"wavelength":1.88},{"T":0.0,"Rb":0.614,"Rf":0.8585,"wavelength":1.885},{"T":0.0,"Rb":0.6111,"Rf":0.8522,"wavelength":1.89},{"T":0.0,"Rb":0.6054,"Rf":0.8435,"wavelength":1.895},{"T":0.0,"Rb":0.5963,"Rf":0.829,"wavelength":1.9},{"T":0.0,"Rb":0.5899,"Rf":0.816,"wavelength":1.905},{"T":0.0,"Rb":0.5888,"Rf":0.8125,"wavelength":1.91},{"T":0.0,"Rb":0.5923,"Rf":0.8151,"wavelength":1.915},{"T":0.0,"Rb":0.6005,"Rf":0.8224,"wavelength":1.92},{"T":0.0,"Rb":0.6071,"Rf":0.8297,"wavelength":1.925},{"T":0.0,"Rb":0.6096,"Rf":0.8348,"wavelength":1.93},{"T":0.0,"Rb":0.6116,"Rf":0.8385,"wavelength":1.935},{"T":0.0,"Rb":0.6117,"Rf":0.8368,"wavelength":1.94},{"T":0.0,"Rb":0.6104,"Rf":0.8339,"wavelength":1.945},{"T":0.0,"Rb":0.6104,"Rf":0.8318,"wavelength":1.95},{"T":0.0,"Rb":0.6117,"Rf":0.8337,"wavelength":1.955},{"T":0.0,"Rb":0.6156,"Rf":0.8378,"wavelength":1.96},{"T":0.0,"Rb":0.6204,"Rf":0.8449,"wavelength":1.965},{"T":0.0,"Rb":0.6244,"Rf":0.8521,"wavelength":1.97},{"T":0.0,"Rb":0.6303,"Rf":0.8578,"wavelength":1.975},{"T":0.0,"Rb":0.6344,"Rf":0.8626,"wavelength":1.98},{"T":0.0,"Rb":0.6364,"Rf":0.8658,"wavelength":1.985},{"T":0.0,"Rb":0.6382,"Rf":0.8678,"wavelength":1.99},{"T":0.0,"Rb":0.641,"Rf":0.8685,"wavelength":1.995},{"T":0.0,"Rb":0.6428,"Rf":0.8711,"wavelength":2.0},{"T":0.0,"Rb":0.6449,"Rf":0.8756,"wavelength":2.005},{"T":0.0,"Rb":0.6476,"Rf":0.8776,"wavelength":2.01},{"T":0.0,"Rb":0.6488,"Rf":0.8782,"wavelength":2.015},{"T":0.0,"Rb":0.6512,"Rf":0.8804,"wavelength":2.02},{"T":0.0,"Rb":0.6515,"Rf":0.8803,"wavelength":2.025},{"T":0.0,"Rb":0.6516,"Rf":0.8791,"wavelength":2.03},{"T":0.0,"Rb":0.6544,"Rf":0.8803,"wavelength":2.035},{"T":0.0,"Rb":0.6561,"Rf":0.8797,"wavelength":2.04},{"T":0.0,"Rb":0.657,"Rf":0.8795,"wavelength":2.045},{"T":0.0,"Rb":0.6583,"Rf":0.8809,"wavelength":2.05},{"T":0.0,"Rb":0.6587,"Rf":0.8818,"wavelength":2.055},{"T":0.0,"Rb":0.6578,"Rf":0.8806,"wavelength":2.06},{"T":0.0,"Rb":0.6592,"Rf":0.8777,"wavelength":2.065},{"T":0.0,"Rb":0.6553,"Rf":0.8681,"wavelength":2.07},{"T":0.0,"Rb":0.6476,"Rf":0.8616,"wavelength":2.075},{"T":0.0,"Rb":0.6435,"Rf":0.8556,"wavelength":2.08},{"T":0.0,"Rb":0.646,"Rf":0.8503,"wavelength":2.085},{"T":0.0,"Rb":0.6464,"Rf":0.8474,"wavelength":2.09},{"T":0.0,"Rb":0.6485,"Rf":0.851,"wavelength":2.095},{"T":0.0,"Rb":0.6444,"Rf":0.8471,"wavelength":2.1},{"T":0.0,"Rb":0.6371,"Rf":0.8367,"wavelength":2.105},{"T":0.0,"Rb":0.6242,"Rf":0.8184,"wavelength":2.11},{"T":0.0,"Rb":0.6108,"Rf":0.7964,"wavelength":2.115},{"T":0.0,"Rb":0.596,"Rf":0.7694,"wavelength":2.12},{"T":0.0,"Rb":0.572,"Rf":0.7409,"wavelength":2.125},{"T":0.0,"Rb":0.5579,"Rf":0.7156,"wavelength":2.13},{"T":0.0,"Rb":0.5534,"Rf":0.7054,"wavelength":2.135},{"T":0.0,"Rb":0.5668,"Rf":0.7276,"wavelength":2.14},{"T":0.0,"Rb":0.5783,"Rf":0.7438,"wavelength":2.145},{"T":0.0,"Rb":0.5758,"Rf":0.751,"wavelength":2.15},{"T":0.0,"Rb":0.5845,"Rf":0.745,"wavelength":2.155},{"T":0.0,"Rb":0.5841,"Rf":0.7412,"wavelength":2.16},{"T":0.0,"Rb":0.5928,"Rf":0.7529,"wavelength":2.165},{"T":0.0,"Rb":0.6003,"Rf":0.7705,"wavelength":2.17},{"T":0.0,"Rb":0.5999,"Rf":0.7749,"wavelength":2.175},{"T":0.0,"Rb":0.5989,"Rf":0.7671,"wavelength":2.18},{"T":0.0,"Rb":0.5951,"Rf":0.7612,"wavelength":2.185},{"T":0.0,"Rb":0.6027,"Rf":0.7661,"wavelength":2.19},{"T":0.0,"Rb":0.6117,"Rf":0.7782,"wavelength":2.195},{"T":0.0,"Rb":0.6156,"Rf":0.7861,"wavelength":2.2},{"T":0.0,"Rb":0.6168,"Rf":0.7872,"wavelength":2.205},{"T":0.0,"Rb":0.6127,"Rf":0.7804,"wavelength":2.21},{"T":0.0,"Rb":0.5993,"Rf":0.7654,"wavelength":2.215},{"T":0.0,"Rb":0.5777,"Rf":0.742,"wavelength":2.22},{"T":0.0,"Rb":0.554,"Rf":0.7072,"wavelength":2.225},{"T":0.0,"Rb":0.5291,"Rf":0.6783,"wavelength":2.23},{"T":0.0,"Rb":0.5009,"Rf":0.6453,"wavelength":2.235},{"T":0.0,"Rb":0.4756,"Rf":0.6083,"wavelength":2.24},{"T":0.0,"Rb":0.4527,"Rf":0.5777,"wavelength":2.245},{"T":0.0,"Rb":0.4348,"Rf":0.5574,"wavelength":2.25},{"T":0.0,"Rb":0.4219,"Rf":0.5448,"wavelength":2.255},{"T":0.0,"Rb":0.4137,"Rf":0.5386,"wavelength":2.26},{"T":0.0,"Rb":0.4192,"Rf":0.554,"wavelength":2.265},{"T":0.0,"Rb":0.415,"Rf":0.5583,"wavelength":2.27},{"T":0.0,"Rb":0.4229,"Rf":0.5736,"wavelength":2.275},{"T":0.0,"Rb":0.4156,"Rf":0.5922,"wavelength":2.28},{"T":0.0,"Rb":0.4011,"Rf":0.5948,"wavelength":2.285},{"T":0.0,"Rb":0.3768,"Rf":0.5951,"wavelength":2.29},{"T":0.0,"Rb":0.3619,"Rf":0.595,"wavelength":2.295},{"T":0.0,"Rb":0.343,"Rf":0.5922,"wavelength":2.3},{"T":0.0,"Rb":0.3256,"Rf":0.5831,"wavelength":2.305},{"T":0.0,"Rb":0.3252,"Rf":0.5791,"wavelength":2.31},{"T":0.0,"Rb":0.3253,"Rf":0.5816,"wavelength":2.315},{"T":0.0,"Rb":0.3314,"Rf":0.5773,"wavelength":2.32},{"T":0.0,"Rb":0.34,"Rf":0.5645,"wavelength":2.325},{"T":0.0,"Rb":0.3379,"Rf":0.5516,"wavelength":2.33},{"T":0.0,"Rb":0.33,"Rf":0.5437,"wavelength":2.335},{"T":0.0,"Rb":0.3443,"Rf":0.5544,"wavelength":2.34},{"T":0.0,"Rb":0.354,"Rf":0.5608,"wavelength":2.345},{"T":0.0,"Rb":0.3631,"Rf":0.5702,"wavelength":2.35},{"T":0.0,"Rb":0.3532,"Rf":0.5737,"wavelength":2.355},{"T":0.0,"Rb":0.3593,"Rf":0.5822,"wavelength":2.36},{"T":0.0,"Rb":0.3483,"Rf":0.5715,"wavelength":2.365},{"T":0.0,"Rb":0.3617,"Rf":0.5866,"wavelength":2.37},{"T":0.0,"Rb":0.3495,"Rf":0.593,"wavelength":2.375},{"T":0.0,"Rb":0.3652,"Rf":0.595,"wavelength":2.38},{"T":0.0,"Rb":0.3664,"Rf":0.5984,"wavelength":2.385},{"T":0.0,"Rb":0.3649,"Rf":0.588,"wavelength":2.39},{"T":0.0,"Rb":0.3742,"Rf":0.591,"wavelength":2.395},{"T":0.0,"Rb":0.3775,"Rf":0.5903,"wavelength":2.4},{"T":0.0,"Rb":0.3805,"Rf":0.6053,"wavelength":2.405},{"T":0.0,"Rb":0.3892,"Rf":0.6094,"wavelength":2.41},{"T":0.0,"Rb":0.3893,"Rf":0.5974,"wavelength":2.415},{"T":0.0,"Rb":0.4049,"Rf":0.5962,"wavelength":2.42},{"T":0.0,"Rb":0.3955,"Rf":0.5776,"wavelength":2.425},{"T":0.0,"Rb":0.3996,"Rf":0.5771,"wavelength":2.43},{"T":0.0,"Rb":0.3828,"Rf":0.5455,"wavelength":2.435},{"T":0.0,"Rb":0.3389,"Rf":0.5008,"wavelength":2.44},{"T":0.0,"Rb":0.3346,"Rf":0.48,"wavelength":2.445},{"T":0.0,"Rb":0.3431,"Rf":0.4861,"wavelength":2.45},{"T":0.0,"Rb":0.3627,"Rf":0.5135,"wavelength":2.455},{"T":0.0,"Rb":0.3991,"Rf":0.5599,"wavelength":2.46},{"T":0.0,"Rb":0.4012,"Rf":0.5829,"wavelength":2.465},{"T":0.0,"Rb":0.429,"Rf":0.5987,"wavelength":2.47},{"T":0.0,"Rb":0.4274,"Rf":0.6275,"wavelength":2.475},{"T":0.0,"Rb":0.4492,"Rf":0.6452,"wavelength":2.48},{"T":0.0,"Rb":0.4508,"Rf":0.6492,"wavelength":2.485},{"T":0.0,"Rb":0.4533,"Rf":0.6502,"wavelength":2.49},{"T":0.0,"Rb":0.461,"Rf":0.6618,"wavelength":2.495},{"T":0.0,"Rb":0.48,"Rf":0.6568,"wavelength":2.5}],"dual_band_values":{"Rb_sol_diffuse":0.4896773,"Rb_vis_diffuse":0.4877937,"Rf_sol_diffuse":0.8663192,"Rf_vis_diffuse":0.890273,"Tb_sol_diffuse":0.0,"Tb_vis_diffuse":0.0,"Tf_sol_diffuse":0.0,"Tf_vis_diffuse":0.0,"Rb_sol_specular":0.0,"Rb_vis_specular":null,"Rf_sol_specular":0.0,"Rf_vis_specular":0.0,"Tb_sol_specular":0.0,"Tb_vis_specular":0.0,"Tf_sol_specular":0.0,"Tf_vis_specular":0.0}}},"index":null,"name":null,"extra_data":{"geometry":{"spacing_x":1.69,"spacing_y":1.69,"dimension_x":0.58,"dimension_y":6.35,"perforation_type":"Circular"}}}],"spectral_data":null} \ No newline at end of file diff --git a/test/read_igsdb_shading_layer_json.unit.cpp b/test/read_igsdb_shading_layer_json.unit.cpp index 6a094b9..2817340 100644 --- a/test/read_igsdb_shading_layer_json.unit.cpp +++ b/test/read_igsdb_shading_layer_json.unit.cpp @@ -41,9 +41,9 @@ TEST_F(TestLoadIGSDBJSONFromDisk, TestLoadIGSDBVenetianShadingLayerJSON) EXPECT_EQ(product->backEmissivity, std::optional()); EXPECT_EQ(product->measurements.has_value(), false); auto geometry = std::dynamic_pointer_cast(product->compositionInformation->geometry); - EXPECT_EQ(geometry->slatWidth, 14.8); - EXPECT_EQ(geometry->slatSpacing, 12.7); - EXPECT_EQ(geometry->slatCurvature, 33.13057); + EXPECT_EQ(geometry->slatWidth, 0.0148); + EXPECT_EQ(geometry->slatSpacing, 0.0127); + EXPECT_EQ(geometry->slatCurvature, 0.03313057); EXPECT_EQ(geometry->numberSegments, 5); auto material = product->compositionInformation->material; EXPECT_EQ(material->productName, "White Venetian Blind Slat (white.txt)"); From 607b536705caeb3d52cae5ac7ebb22d7d4c22fda Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Fri, 18 Sep 2020 11:11:27 -0400 Subject: [PATCH 21/55] Adding product subtype, IGDB checksum, and IGDB database version for https://github.com/LBNL-ETA/Windows-Tools/issues/914 --- src/Parser.cpp | 28 +++++++++++++--------------- src/ProductData.hpp | 3 +++ 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index 1ca9f51..0ced256 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -70,7 +70,6 @@ void OpticsParser::Parser::parseMeasurementLine(const std::string & line, Produc } - void OpticsParser::Parser::parseEmissivities(const std::string & line, OpticsParser::ProductData & product) { @@ -270,11 +269,11 @@ OpticsParser::ProductData parseCheckerToolJson(nlohmann::json const & product_js nlohmann::json measured_data_json = product_json.at("measured_data"); product.thickness = measured_data_json.at("thickness").get(); - if(measured_data_json.count("bulk_properties_override")) - { - product.conductivity = get_optional_field( - measured_data_json.at("bulk_properties_override"), "thermal_conductivity"); - } + if(measured_data_json.count("bulk_properties_override")) + { + product.conductivity = get_optional_field( + measured_data_json.at("bulk_properties_override"), "thermal_conductivity"); + } product.IRTransmittance = measured_data_json.at("tir_front").get(); product.frontEmissivity = measured_data_json.at("emissivity_front").get(); @@ -314,18 +313,17 @@ OpticsParser::ProductData parseIGSDBJson(nlohmann::json const & product_json) OpticsParser::ProductData product; product.productName = product_json.at("name").get(); product.productType = product_json.at("type").get(); - + product.productSubtype = product_json.at("subtype").get(); product.nfrcid = get_optional_field(product_json, "nfrc_id"); + product.igdbChecksum = get_optional_field(product_json, "igdb_checksum"); + product.igdbDatabaseVersion = + get_optional_field(product_json, "igdb_database_version"); product.manufacturer = product_json.at("manufacturer_name").get(); product.material = get_optional_field(product_json, "material_bulk_properties"); - if(product_json.count("coating_properties")) - { - product.coatingName = - get_optional_field(product_json.at("coating_properties"), "coating_name"); - product.coatedSide = - get_optional_field(product_json.at("coating_properties"), "coated_side"); - } + + product.coatingName = get_optional_field(product_json, "coating_name"); + product.coatedSide = get_optional_field(product_json, "coated_side"); if(product_json.count("interlayer_properties")) { @@ -336,7 +334,7 @@ OpticsParser::ProductData parseIGSDBJson(nlohmann::json const & product_json) product.appearance = get_optional_field(product_json, "appearance"); product.acceptance = get_optional_field(product_json, "acceptance"); - product.fileName = get_optional_field(product_json, "filename"); + product.fileName = get_optional_field(product_json, "data_file_name"); product.unitSystem = get_optional_field(product_json, "unit_system"); nlohmann::json measured_data_json = product_json.at("measured_data"); diff --git a/src/ProductData.hpp b/src/ProductData.hpp index aacfe1f..e518213 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -46,6 +46,7 @@ namespace OpticsParser std::string productName; std::string productType; + std::string productSubtype; std::optional nfrcid; double thickness; std::optional conductivity; @@ -65,6 +66,8 @@ namespace OpticsParser std::optional unitSystem; std::optional wavelengthUnit; std::vector measurements; + std::optional igdbChecksum; + std::optional igdbDatabaseVersion; }; void to_json(nlohmann::json & j, WLData const & wl); From 93b310f3e01b59620cbc338f37ec786a6681a12c Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Wed, 14 Oct 2020 19:11:29 -0400 Subject: [PATCH 22/55] Initial branch parsing WINDOW bsdf xml using the xml parser in WINDOW. On hold for now while attempting to use CodeSyntasis xsde instead. --- src/CMakeLists.txt | 4 +- src/xmlParser.cpp | 2974 ++++++++++++++++++++++++++++++++++++++++++++ src/xmlParser.h | 732 +++++++++++ 3 files changed, 3709 insertions(+), 1 deletion(-) create mode 100644 src/xmlParser.cpp create mode 100644 src/xmlParser.h diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 841ae45..626b02f 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,7 +4,9 @@ add_library( ${LIB_NAME} Parser.hpp Parser.cpp ProductData.hpp - ProductData.cpp) + ProductData.cpp + xmlParser.h + xmlParser.cpp) target_link_libraries(${LIB_NAME} PUBLIC nlohmann_json::nlohmann_json) diff --git a/src/xmlParser.cpp b/src/xmlParser.cpp new file mode 100644 index 0000000..e0f7f33 --- /dev/null +++ b/src/xmlParser.cpp @@ -0,0 +1,2974 @@ +/** + **************************************************************************** + *

XML.c - implementation file for basic XML parser written in ANSI C++ + * for portability. It works by using recursion and a node tree for breaking + * down the elements of an XML document.

+ * + * @version V2.44 + * @author Frank Vanden Berghen + * + * NOTE: + * + * If you add "#define STRICT_PARSING", on the first line of this file + * the parser will see the following XML-stream: + * some textother text + * as an error. Otherwise, this tring will be equivalent to: + * some textother text + * + * NOTE: + * + * If you add "#define APPROXIMATE_PARSING" on the first line of this file + * the parser will see the following XML-stream: + * + * + * + * as equivalent to the following XML-stream: + * + * + * + * This can be useful for badly-formed XML-streams but prevent the use + * of the following XML-stream (problem is: tags at contiguous levels + * have the same names): + * + * + * + * + * + * + * NOTE: + * + * If you add "#define _XMLPARSER_NO_MESSAGEBOX_" on the first line of this file + * the "openFileHelper" function will always display error messages inside the + * console instead of inside a message-box-window. Message-box-windows are + * available on windows 9x/NT/2000/XP/Vista only. + * + * Copyright (c) 2002, Frank Vanden Berghen - All rights reserved. + * Commercialized by Business-Insight + * See the file "AFPL-license.txt about the licensing terms + * + **************************************************************************** + */ +#ifndef _CRT_SECURE_NO_DEPRECATE +#define _CRT_SECURE_NO_DEPRECATE +#endif +#include "xmlParser.h" +#ifdef _XMLWINDOWS +//#ifdef _DEBUG +//#define _CRTDBG_MAP_ALLOC +//#include +//#endif +#define WIN32_LEAN_AND_MEAN +#include // to have IsTextUnicode, MultiByteToWideChar, WideCharToMultiByte to handle unicode files + // to have "MessageBoxA" to display error messages for openFilHelper +#endif + +#include +#include +#include +#include +#include + +XMLCSTR XMLNode::getVersion() { return _CXML("v2.44"); } +void freeXMLString(XMLSTR t){if(t)free(t);} + +static XMLNode::XMLCharEncoding characterEncoding=XMLNode::char_encoding_UTF8; +static char guessWideCharChars=1, dropWhiteSpace=1, removeCommentsInMiddleOfText=1; + +inline int mmin( const int t1, const int t2 ) { return t1 < t2 ? t1 : t2; } + +// You can modify the initialization of the variable "XMLClearTags" below +// to change the clearTags that are currently recognized by the library. +// The number on the second columns is the length of the string inside the +// first column. +// The "") }, + { _CXML("") }, + { _CXML("") }, + { _CXML("
")    ,5,  _CXML("
") }, +// { _CXML("")}, + { NULL ,0, NULL } +}; + +// You can modify the initialization of the variable "XMLEntities" below +// to change the character entities that are currently recognized by the library. +// The number on the second columns is the length of the string inside the +// first column. Additionally, the syntaxes " " and " " are recognized. +typedef struct { XMLCSTR s; int l; XMLCHAR c;} XMLCharacterEntity; +static XMLCharacterEntity XMLEntities[] = +{ + { _CXML("&" ), 5, _CXML('&' )}, + { _CXML("<" ), 4, _CXML('<' )}, + { _CXML(">" ), 4, _CXML('>' )}, + { _CXML("""), 6, _CXML('\"')}, + { _CXML("'"), 6, _CXML('\'')}, + { NULL , 0, '\0' } +}; + +// When rendering the XMLNode to a string (using the "createXMLString" function), +// you can ask for a beautiful formatting. This formatting is using the +// following indentation character: +#define INDENTCHAR _CXML('\t') + +// The following function parses the XML errors into a user friendly string. +// You can edit this to change the output language of the library to something else. +XMLCSTR XMLNode::getError(XMLError xerror) +{ + switch (xerror) + { + case eXMLErrorNone: return _CXML("No error"); + case eXMLErrorMissingEndTag: return _CXML("Warning: Unmatched end tag"); + case eXMLErrorNoXMLTagFound: return _CXML("Warning: No XML tag found"); + case eXMLErrorEmpty: return _CXML("Error: No XML data"); + case eXMLErrorMissingTagName: return _CXML("Error: Missing start tag name"); + case eXMLErrorMissingEndTagName: return _CXML("Error: Missing end tag name"); + case eXMLErrorUnmatchedEndTag: return _CXML("Error: Unmatched end tag"); + case eXMLErrorUnmatchedEndClearTag: return _CXML("Error: Unmatched clear tag end"); + case eXMLErrorUnexpectedToken: return _CXML("Error: Unexpected token found"); + case eXMLErrorNoElements: return _CXML("Error: No elements found"); + case eXMLErrorFileNotFound: return _CXML("Error: File not found"); + case eXMLErrorFirstTagNotFound: return _CXML("Error: First Tag not found"); + case eXMLErrorUnknownCharacterEntity:return _CXML("Error: Unknown character entity"); + case eXMLErrorCharacterCodeAbove255: return _CXML("Error: Character code above 255 is forbidden in MultiByte char mode."); + case eXMLErrorCharConversionError: return _CXML("Error: unable to convert between WideChar and MultiByte chars"); + case eXMLErrorCannotOpenWriteFile: return _CXML("Error: unable to open file for writing"); + case eXMLErrorCannotWriteFile: return _CXML("Error: cannot write into file"); + + case eXMLErrorBase64DataSizeIsNotMultipleOf4: return _CXML("Warning: Base64-string length is not a multiple of 4"); + case eXMLErrorBase64DecodeTruncatedData: return _CXML("Warning: Base64-string is truncated"); + case eXMLErrorBase64DecodeIllegalCharacter: return _CXML("Error: Base64-string contains an illegal character"); + case eXMLErrorBase64DecodeBufferTooSmall: return _CXML("Error: Base64 decode output buffer is too small"); + }; + return _CXML("Unknown"); +} + +///////////////////////////////////////////////////////////////////////// +// Here start the abstraction layer to be OS-independent // +///////////////////////////////////////////////////////////////////////// + +// Here is an abstraction layer to access some common string manipulation functions. +// The abstraction layer is currently working for gcc, Microsoft Visual Studio 6.0, +// Microsoft Visual Studio .NET, CC (sun compiler) and Borland C++. +// If you plan to "port" the library to a new system/compiler, all you have to do is +// to edit the following lines. +#ifdef XML_NO_WIDE_CHAR +char myIsTextWideChar(const void *b, int len) { return FALSE; } +#else + #if defined (UNDER_CE) || !defined(_XMLWINDOWS) + char myIsTextWideChar(const void *b, int len) // inspired by the Wine API: RtlIsTextUnicode + { +#ifdef sun + // for SPARC processors: wchar_t* buffers must always be alligned, otherwise it's a char* buffer. + if ((((unsigned long)b)%sizeof(wchar_t))!=0) return FALSE; +#endif + const wchar_t *s=(const wchar_t*)b; + + // buffer too small: + if (len<(int)sizeof(wchar_t)) return FALSE; + + // odd length test + if (len&1) return FALSE; + + /* only checks the first 256 characters */ + len=mmin(256,len/sizeof(wchar_t)); + + // Check for the special byte order: + if (*((unsigned short*)s) == 0xFFFE) return TRUE; // IS_TEXT_UNICODE_REVERSE_SIGNATURE; + if (*((unsigned short*)s) == 0xFEFF) return TRUE; // IS_TEXT_UNICODE_SIGNATURE + + // checks for ASCII characters in the UNICODE stream + int i,stats=0; + for (i=0; ilen/2) return TRUE; + + // Check for UNICODE NULL chars + for (i=0; i + static inline int xstrnicmp(XMLCSTR c1, XMLCSTR c2, int l) { return wsncasecmp(c1,c2,l);} + static inline int xstrncmp(XMLCSTR c1, XMLCSTR c2, int l) { return wsncmp(c1,c2,l);} + static inline int xstricmp(XMLCSTR c1, XMLCSTR c2) { return wscasecmp(c1,c2); } + #else + static inline int xstrncmp(XMLCSTR c1, XMLCSTR c2, int l) { return wcsncmp(c1,c2,l);} + #ifdef __linux__ + // for gcc/linux + static inline int xstrnicmp(XMLCSTR c1, XMLCSTR c2, int l) { return wcsncasecmp(c1,c2,l);} + static inline int xstricmp(XMLCSTR c1, XMLCSTR c2) { return wcscasecmp(c1,c2); } + #else + #include + // for gcc/non-linux (MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw) + static inline int xstricmp(XMLCSTR c1, XMLCSTR c2) + { + wchar_t left,right; + do + { + left=towlower(*c1++); right=towlower(*c2++); + } while (left&&(left==right)); + return (int)left-(int)right; + } + static inline int xstrnicmp(XMLCSTR c1, XMLCSTR c2, int l) + { + wchar_t left,right; + while(l--) + { + left=towlower(*c1++); right=towlower(*c2++); + if ((!left)||(left!=right)) return (int)left-(int)right; + } + return 0; + } + #endif + #endif + static inline XMLSTR xstrstr(XMLCSTR c1, XMLCSTR c2) { return (XMLSTR)wcsstr(c1,c2); } + static inline XMLSTR xstrcpy(XMLSTR c1, XMLCSTR c2) { return (XMLSTR)wcscpy(c1,c2); } + static inline FILE *xfopen(XMLCSTR filename,XMLCSTR mode) + { + char *filenameAscii=myWideCharToMultiByte(filename); + FILE *f; + if (mode[0]==_CXML('r')) f=fopen(filenameAscii,"rb"); + else f=fopen(filenameAscii,"wb"); + free(filenameAscii); + return f; + } + #else + static inline FILE *xfopen(XMLCSTR filename,XMLCSTR mode) { return fopen(filename,mode); } + static inline int xstrlen(XMLCSTR c) { return strlen(c); } + static inline int xstrnicmp(XMLCSTR c1, XMLCSTR c2, int l) { return strncasecmp(c1,c2,l);} + static inline int xstrncmp(XMLCSTR c1, XMLCSTR c2, int l) { return strncmp(c1,c2,l);} + static inline int xstricmp(XMLCSTR c1, XMLCSTR c2) { return strcasecmp(c1,c2); } + static inline XMLSTR xstrstr(XMLCSTR c1, XMLCSTR c2) { return (XMLSTR)strstr(c1,c2); } + static inline XMLSTR xstrcpy(XMLSTR c1, XMLCSTR c2) { return (XMLSTR)strcpy(c1,c2); } + #endif + static inline int _strnicmp(const char *c1,const char *c2, int l) { return strncasecmp(c1,c2,l);} +#endif + + +/////////////////////////////////////////////////////////////////////////////// +// the "xmltoc,xmltob,xmltoi,xmltol,xmltof,xmltoa" functions // +/////////////////////////////////////////////////////////////////////////////// +// These 6 functions are not used inside the XMLparser. +// There are only here as "convenience" functions for the user. +// If you don't need them, you can delete them without any trouble. +#ifdef _XMLWIDECHAR + #ifdef _XMLWINDOWS + // for Microsoft Visual Studio 6.0 and Microsoft Visual Studio .NET and Borland C++ Builder 6.0 + char xmltob(XMLCSTR t,char v){ if (t&&(*t)) return (char)_wtoi(t); return v; } + int xmltoi(XMLCSTR t,int v){ if (t&&(*t)) return _wtoi(t); return v; } + long long xmltol(XMLCSTR t,long long v){ if (t&&(*t)) return _wtoi64(t); return v; } + double xmltof(XMLCSTR t,double v){ if (t&&(*t)) swscanf(t, L"%lf", &v); /*v=_wtof(t);*/ return v; } + #else + #ifdef sun + // for CC + #include + char xmltob(XMLCSTR t,char v){ if (t) return (char)wstol(t,NULL,10); return v; } + int xmltoi(XMLCSTR t,int v){ if (t) return (int)wstol(t,NULL,10); return v; } + long long xmltol(XMLCSTR t,long long v){ if (t) return wstol(t,NULL,10); return v; } + #else + // for gcc + char xmltob(XMLCSTR t,char v){ if (t) return (char)wcstol(t,NULL,10); return v; } + int xmltoi(XMLCSTR t,int v){ if (t) return (int)wcstol(t,NULL,10); return v; } + long long xmltol(XMLCSTR t,long long v){ if (t) return wcstol(t,NULL,10); return v; } + #endif + double xmltof(XMLCSTR t,double v){ if (t&&(*t)) swscanf(t, L"%lf", &v); /*v=_wtof(t);*/ return v; } + #endif +#else + #ifdef _XMLWINDOWS + long long xmltol(XMLCSTR t,long long v){ if (t&&(*t)) return _atoi64(t); return v; } + #else + long long xmltol(XMLCSTR t,long long v){ if (t&&(*t)) return atoll(t); return v; } + #endif + char xmltob(XMLCSTR t,char v){ if (t&&(*t)) return (char)atoi(t); return v; } + int xmltoi(XMLCSTR t,int v){ if (t&&(*t)) return atoi(t); return v; } + double xmltof(XMLCSTR t,double v){ if (t&&(*t)) return atof(t); return v; } +#endif +XMLCSTR xmltoa(XMLCSTR t, XMLCSTR v){ if (t) return t; return v; } +XMLCHAR xmltoc(XMLCSTR t,const XMLCHAR v){ if (t&&(*t)) return *t; return v; } + +///////////////////////////////////////////////////////////////////////// +// the "openFileHelper" function // +///////////////////////////////////////////////////////////////////////// + +// Since each application has its own way to report and deal with errors, you should modify & rewrite +// the following "openFileHelper" function to get an "error reporting mechanism" tailored to your needs. +XMLNode XMLNode::openFileHelper(XMLCSTR filename, XMLCSTR tag) +{ + // guess the value of the global parameter "characterEncoding" + // (the guess is based on the first 200 bytes of the file). + FILE *f=xfopen(filename,_CXML("rb")); + if (f) + { + char bb[205]; + int l=(int)fread(bb,1,200,f); + setGlobalOptions(guessCharEncoding(bb,l),guessWideCharChars,dropWhiteSpace,removeCommentsInMiddleOfText); + fclose(f); + } + + // parse the file + XMLResults pResults; + XMLNode xnode=XMLNode::parseFile(filename,tag,&pResults); + + // display error message (if any) + if (pResults.error != eXMLErrorNone) + { + // create message + char message[2000],*s1=(char*)"",*s3=(char*)""; XMLCSTR s2=_CXML(""); + if (pResults.error==eXMLErrorFirstTagNotFound) { s1=(char*)"First Tag should be '"; s2=tag; s3=(char*)"'.\n"; } +#ifdef _XMLWINDOWS + _snprintf(message,2000, +#else + snprintf(message,2000, +#endif +#ifdef _XMLWIDECHAR + "XML Parsing error inside file '%S'.\n%S\nAt line %i, column %i.\n%s%S%s" +#else + "XML Parsing error inside file '%s'.\n%s\nAt line %i, column %i.\n%s%s%s" +#endif + ,filename,XMLNode::getError(pResults.error),pResults.nLine,pResults.nColumn,s1,s2,s3); + + // display message +#if defined(_XMLWINDOWS) && !defined(UNDER_CE) && !defined(_XMLPARSER_NO_MESSAGEBOX_) + MessageBoxA(NULL,message,"XML Parsing error",MB_OK|MB_ICONERROR|MB_TOPMOST); +#else + printf("%s",message); +#endif + exit(255); + } + return xnode; +} + +///////////////////////////////////////////////////////////////////////// +// Here start the core implementation of the XMLParser library // +///////////////////////////////////////////////////////////////////////// + +// You should normally not change anything below this point. + +#ifndef _XMLWIDECHAR +// If "characterEncoding=ascii" then we assume that all characters have the same length of 1 byte. +// If "characterEncoding=UTF8" then the characters have different lengths (from 1 byte to 4 bytes). +// If "characterEncoding=ShiftJIS" then the characters have different lengths (from 1 byte to 2 bytes). +// This table is used as lookup-table to know the length of a character (in byte) based on the +// content of the first byte of the character. +// (note: if you modify this, you must always have XML_utf8ByteTable[0]=0 ). +static const char XML_utf8ByteTable[256] = +{ + // 0 1 2 3 4 5 6 7 8 9 a b c d e f + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x00 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x10 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x20 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x30 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x40 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x50 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x60 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x70 End of ASCII range + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x80 0x80 to 0xc1 invalid + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x90 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0xa0 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0xb0 + 1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xc0 0xc2 to 0xdf 2 byte + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xd0 + 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,// 0xe0 0xe0 to 0xef 3 byte + 4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1 // 0xf0 0xf0 to 0xf4 4 byte, 0xf5 and higher invalid +}; +static const char XML_legacyByteTable[256] = +{ + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 +}; +static const char XML_sjisByteTable[256] = +{ + // 0 1 2 3 4 5 6 7 8 9 a b c d e f + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x00 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x10 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x20 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x30 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x40 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x50 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x60 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x70 + 1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0x80 0x81 to 0x9F 2 bytes + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0x90 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0xa0 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0xb0 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0xc0 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0xd0 + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xe0 0xe0 to 0xef 2 bytes + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 // 0xf0 +}; +static const char XML_gb2312ByteTable[256] = +{ +// 0 1 2 3 4 5 6 7 8 9 a b c d e f + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x00 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x10 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x20 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x30 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x40 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x50 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x60 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x70 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x80 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x90 + 1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xa0 0xa1 to 0xf7 2 bytes + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xb0 + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xc0 + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xd0 + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xe0 + 2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1 // 0xf0 +}; +static const char XML_gbk_big5_ByteTable[256] = +{ + // 0 1 2 3 4 5 6 7 8 9 a b c d e f + 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x00 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x10 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x20 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x30 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x40 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x50 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x60 + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x70 + 1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0x80 0x81 to 0xfe 2 bytes + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0x90 + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xa0 + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xb0 + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xc0 + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xd0 + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xe0 + 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1 // 0xf0 +}; +static const char *XML_ByteTable=(const char *)XML_utf8ByteTable; // the default is "characterEncoding=XMLNode::encoding_UTF8" +#endif + + +XMLNode XMLNode::emptyXMLNode; +XMLClear XMLNode::emptyXMLClear={ NULL, NULL, NULL}; +XMLAttribute XMLNode::emptyXMLAttribute={ NULL, NULL}; + +// Enumeration used to decipher what type a token is +typedef enum XMLTokenTypeTag +{ + eTokenText = 0, + eTokenQuotedText, + eTokenTagStart, /* "<" */ + eTokenTagEnd, /* "" */ + eTokenEquals, /* "=" */ + eTokenDeclaration, /* "" */ + eTokenClear, + eTokenError +} XMLTokenType; + +// Main structure used for parsing XML +typedef struct XML +{ + XMLCSTR lpXML; + XMLCSTR lpszText; + int nIndex,nIndexMissigEndTag; + enum XMLError error; + XMLCSTR lpEndTag; + int cbEndTag; + XMLCSTR lpNewElement; + int cbNewElement; + int nFirst; +} XML; + +typedef struct +{ + ALLXMLClearTag *pClr; + XMLCSTR pStr; +} NextToken; + +// Enumeration used when parsing attributes +typedef enum Attrib +{ + eAttribName = 0, + eAttribEquals, + eAttribValue +} Attrib; + +// Enumeration used when parsing elements to dictate whether we are currently +// inside a tag +typedef enum XMLStatus +{ + eInsideTag = 0, + eOutsideTag +} XMLStatus; + +XMLError XMLNode::writeToFile(XMLCSTR filename, const char *encoding, char nFormat) const +{ + if (!d) return eXMLErrorNone; + FILE *f=xfopen(filename,_CXML("wb")); + if (!f) return eXMLErrorCannotOpenWriteFile; +#ifdef _XMLWIDECHAR + unsigned char h[2]={ 0xFF, 0xFE }; + if (!fwrite(h,2,1,f)) + { + fclose(f); + return eXMLErrorCannotWriteFile; + } + if ((!isDeclaration())&&((d->lpszName)||(!getChildNode().isDeclaration()))) + { + if (!fwrite(L"\n",sizeof(wchar_t)*40,1,f)) + { + fclose(f); + return eXMLErrorCannotWriteFile; + } + } +#else + if ((!isDeclaration())&&((d->lpszName)||(!getChildNode().isDeclaration()))) + { + if (characterEncoding==char_encoding_UTF8) + { + // header so that windows recognize the file as UTF-8: + unsigned char h[3]={0xEF,0xBB,0xBF}; + if (!fwrite(h,3,1,f)) + { + fclose(f); + return eXMLErrorCannotWriteFile; + } + encoding="utf-8"; + } else if (characterEncoding==char_encoding_ShiftJIS) encoding="SHIFT-JIS"; + + if (!encoding) encoding="ISO-8859-1"; + if (fprintf(f,"\n",encoding)<0) + { + fclose(f); + return eXMLErrorCannotWriteFile; + } + } else + { + if (characterEncoding==char_encoding_UTF8) + { + unsigned char h[3]={0xEF,0xBB,0xBF}; + if (!fwrite(h,3,1,f)) + { + fclose(f); + return eXMLErrorCannotWriteFile; + } + } + } +#endif + int i; + XMLSTR t=createXMLString(nFormat,&i); + if (!fwrite(t,sizeof(XMLCHAR)*i,1,f)) + { + free(t); + fclose(f); + return eXMLErrorCannotWriteFile; + } + if (fclose(f)!=0) + { + free(t); + return eXMLErrorCannotWriteFile; + } + free(t); + return eXMLErrorNone; +} + +// Duplicate a given string. +XMLSTR stringDup(XMLCSTR lpszData, int cbData) +{ + if (lpszData==NULL) return NULL; + + XMLSTR lpszNew; + if (cbData==-1) cbData=(int)xstrlen(lpszData); + lpszNew = (XMLSTR)malloc((cbData+1) * sizeof(XMLCHAR)); + if (lpszNew) + { + memcpy(lpszNew, lpszData, (cbData) * sizeof(XMLCHAR)); + lpszNew[cbData] = (XMLCHAR)NULL; + } + return lpszNew; +} + +XMLSTR ToXMLStringTool::toXMLUnSafe(XMLSTR dest,XMLCSTR source) +{ + XMLSTR dd=dest; + XMLCHAR ch; + XMLCharacterEntity *entity; + while ((ch=*source)) + { + entity=XMLEntities; + do + { + if (ch==entity->c) {xstrcpy(dest,entity->s); dest+=entity->l; source++; goto out_of_loop1; } + entity++; + } while(entity->s); +#ifdef _XMLWIDECHAR + *(dest++)=*(source++); +#else + switch(XML_ByteTable[(unsigned char)ch]) + { + case 4: + if ((!(source[1]))||(!(source[2]))||(!(source[3]))) { *(dest++)='_'; source++; } + else + { + *dest=*source; + dest[1]=source[1]; + dest[2]=source[2]; + dest[3]=source[3]; + dest+=4; source+=4; + } + break; + case 3: + if ((!(source[1]))||(!(source[2]))) { *(dest++)='_'; source++; } + else + { + *dest=*source; + dest[1]=source[1]; + dest[2]=source[2]; + dest+=3; source+=3; + } + break; + case 2: + if (!(source[1])) { *(dest++)='_'; source++; } + else + { + *dest=*source; + dest[1]=source[1]; + dest+=2; source+=2; + } + break; + case 1: *(dest++)=*(source++); + } +#endif +out_of_loop1: + ; + } + *dest=0; + return dd; +} + +// private (used while rendering): +int ToXMLStringTool::lengthXMLString(XMLCSTR source) +{ + int r=0; + XMLCharacterEntity *entity; + XMLCHAR ch; + while ((ch=*source)) + { + entity=XMLEntities; + do + { + if (ch==entity->c) { r+=entity->l; source++; goto out_of_loop1; } + entity++; + } while(entity->s); +#ifdef _XMLWIDECHAR + r++; source++; +#else + ch=XML_ByteTable[(unsigned char)ch]; r+=ch; source+=ch; +#endif +out_of_loop1: + ; + } + return r; +} + +ToXMLStringTool::~ToXMLStringTool(){ freeBuffer(); } +void ToXMLStringTool::freeBuffer(){ if (buf) free(buf); buf=NULL; buflen=0; } +XMLSTR ToXMLStringTool::toXML(XMLCSTR source) +{ + if (!source) + { + if (buflen<1) { buflen=1; buf=(XMLSTR)malloc(sizeof(XMLCHAR)); } + *buf=0; + return buf; + } + int l=lengthXMLString(source)+1; + if (l>buflen) { freeBuffer(); buflen=l; buf=(XMLSTR)malloc(l*sizeof(XMLCHAR)); } + return toXMLUnSafe(buf,source); +} + +// private: +XMLSTR fromXMLString(XMLCSTR s, int lo, XML *pXML) +{ + // This function is the opposite of the function "toXMLString". It decodes the escape + // sequences &, ", ', <, > and replace them by the characters + // &,",',<,>. This function is used internally by the XML Parser. All the calls to + // the XML library will always gives you back "decoded" strings. + // + // in: string (s) and length (lo) of string + // out: new allocated string converted from xml + if (!s) return NULL; + + int ll=0,j; + XMLSTR d; + XMLCSTR ss=s; + XMLCharacterEntity *entity; + while ((lo>0)&&(*s)) + { + if (*s==_CXML('&')) + { + if ((lo>2)&&(s[1]==_CXML('#'))) + { + s+=2; lo-=2; + if ((*s==_CXML('X'))||(*s==_CXML('x'))) { s++; lo--; } + while ((*s)&&(*s!=_CXML(';'))&&((lo--)>0)) s++; + if (*s!=_CXML(';')) + { + pXML->error=eXMLErrorUnknownCharacterEntity; + return NULL; + } + s++; lo--; + } else + { + entity=XMLEntities; + do + { + if ((lo>=entity->l)&&(xstrnicmp(s,entity->s,entity->l)==0)) { s+=entity->l; lo-=entity->l; break; } + entity++; + } while(entity->s); + if (!entity->s) + { + pXML->error=eXMLErrorUnknownCharacterEntity; + return NULL; + } + } + } else + { +#ifdef _XMLWIDECHAR + s++; lo--; +#else + j=XML_ByteTable[(unsigned char)*s]; s+=j; lo-=j; ll+=j-1; +#endif + } + ll++; + } + + d=(XMLSTR)malloc((ll+1)*sizeof(XMLCHAR)); + s=d; + while (ll-->0) + { + if (*ss==_CXML('&')) + { + if (ss[1]==_CXML('#')) + { + ss+=2; j=0; + if ((*ss==_CXML('X'))||(*ss==_CXML('x'))) + { + ss++; + while (*ss!=_CXML(';')) + { + if ((*ss>=_CXML('0'))&&(*ss<=_CXML('9'))) j=(j<<4)+*ss-_CXML('0'); + else if ((*ss>=_CXML('A'))&&(*ss<=_CXML('F'))) j=(j<<4)+*ss-_CXML('A')+10; + else if ((*ss>=_CXML('a'))&&(*ss<=_CXML('f'))) j=(j<<4)+*ss-_CXML('a')+10; + else { free((void*)s); pXML->error=eXMLErrorUnknownCharacterEntity;return NULL;} + ss++; + } + } else + { + while (*ss!=_CXML(';')) + { + if ((*ss>=_CXML('0'))&&(*ss<=_CXML('9'))) j=(j*10)+*ss-_CXML('0'); + else { free((void*)s); pXML->error=eXMLErrorUnknownCharacterEntity;return NULL;} + ss++; + } + } +#ifndef _XMLWIDECHAR + if (j>255) { free((void*)s); pXML->error=eXMLErrorCharacterCodeAbove255;return NULL;} +#endif + (*d++)=(XMLCHAR)j; ss++; + } else + { + entity=XMLEntities; + do + { + if (xstrnicmp(ss,entity->s,entity->l)==0) { *(d++)=entity->c; ss+=entity->l; break; } + entity++; + } while(entity->s); + } + } else + { +#ifdef _XMLWIDECHAR + *(d++)=*(ss++); +#else + switch(XML_ByteTable[(unsigned char)*ss]) + { + case 4: *(d++)=*(ss++); ll--; + case 3: *(d++)=*(ss++); ll--; + case 2: *(d++)=*(ss++); ll--; + case 1: *(d++)=*(ss++); + } +#endif + } + } + *d=0; + return (XMLSTR)s; +} + +#define XML_isSPACECHAR(ch) ((ch==_CXML('\n'))||(ch==_CXML(' '))||(ch== _CXML('\t'))||(ch==_CXML('\r'))) + +// private: +char myTagCompare(XMLCSTR cclose, XMLCSTR copen) +// !!!! WARNING strange convention&: +// return 0 if equals +// return 1 if different +{ + if (!cclose) return 1; + int l=(int)xstrlen(cclose); + if (xstrnicmp(cclose, copen, l)!=0) return 1; + const XMLCHAR c=copen[l]; + if (XML_isSPACECHAR(c)|| + (c==_CXML('/' ))|| + (c==_CXML('<' ))|| + (c==_CXML('>' ))|| + (c==_CXML('=' ))) return 0; + return 1; +} + +// Obtain the next character from the string. +static inline XMLCHAR getNextChar(XML *pXML) +{ + XMLCHAR ch = pXML->lpXML[pXML->nIndex]; +#ifdef _XMLWIDECHAR + if (ch!=0) pXML->nIndex++; +#else + pXML->nIndex+=XML_ByteTable[(unsigned char)ch]; +#endif + return ch; +} + +// Find the next token in a string. +// pcbToken contains the number of characters that have been read. +static NextToken GetNextToken(XML *pXML, int *pcbToken, enum XMLTokenTypeTag *pType) +{ + NextToken result; + XMLCHAR ch; + XMLCHAR chTemp; + int indexStart,nFoundMatch,nIsText=FALSE; + result.pClr=NULL; // prevent warning + + // Find next non-white space character + do { indexStart=pXML->nIndex; ch=getNextChar(pXML); } while XML_isSPACECHAR(ch); + + if (ch) + { + // Cache the current string pointer + result.pStr = &pXML->lpXML[indexStart]; + + // check for standard tokens + switch(ch) + { + // Check for quotes + case _CXML('\''): + case _CXML('\"'): + // Type of token + *pType = eTokenQuotedText; + chTemp = ch; + + // Set the size + nFoundMatch = FALSE; + + // Search through the string to find a matching quote + while((ch = getNextChar(pXML))) + { + if (ch==chTemp) { nFoundMatch = TRUE; break; } + if (ch==_CXML('<')) break; + } + + // If we failed to find a matching quote + if (nFoundMatch == FALSE) + { + pXML->nIndex=indexStart+1; + nIsText=TRUE; + break; + } + +// 4.02.2002 +// if (FindNonWhiteSpace(pXML)) pXML->nIndex--; + + break; + + // Equals (used with attribute values) + case _CXML('='): + *pType = eTokenEquals; + break; + + // Close tag + case _CXML('>'): + *pType = eTokenCloseTag; + break; + + // Check for tag start and tag end + case _CXML('<'): + + { + // First check whether the token is in the clear tag list (meaning it + // does not need formatting). + ALLXMLClearTag *ctag=XMLClearTags; + do + { + if (!xstrncmp(ctag->lpszOpen, result.pStr, ctag->openTagLen)) + { + result.pClr=ctag; + pXML->nIndex+=ctag->openTagLen-1; + *pType=eTokenClear; + return result; + } + ctag++; + } while(ctag->lpszOpen); + + // Peek at the next character to see if we have an end tag 'lpXML[pXML->nIndex]; + + // If we have a tag end... + if (chTemp == _CXML('/')) + { + // Set the type and ensure we point at the next character + getNextChar(pXML); + *pType = eTokenTagEnd; + } + + // If we have an XML declaration tag + else if (chTemp == _CXML('?')) + { + + // Set the type and ensure we point at the next character + getNextChar(pXML); + *pType = eTokenDeclaration; + } + + // Otherwise we must have a start tag + else + { + *pType = eTokenTagStart; + } + break; + } + + // Check to see if we have a short hand type end tag ('/>'). + case _CXML('/'): + + // Peek at the next character to see if we have a short end tag '/>' + chTemp = pXML->lpXML[pXML->nIndex]; + + // If we have a short hand end tag... + if (chTemp == _CXML('>')) + { + // Set the type and ensure we point at the next character + getNextChar(pXML); + *pType = eTokenShortHandClose; + break; + } + + // If we haven't found a short hand closing tag then drop into the + // text process + + // Other characters + default: + nIsText = TRUE; + } + + // If this is a TEXT node + if (nIsText) + { + // Indicate we are dealing with text + *pType = eTokenText; + while((ch = getNextChar(pXML))) + { + if XML_isSPACECHAR(ch) + { + indexStart++; break; + + } else if (ch==_CXML('/')) + { + // If we find a slash then this maybe text or a short hand end tag + // Peek at the next character to see it we have short hand end tag + ch=pXML->lpXML[pXML->nIndex]; + // If we found a short hand end tag then we need to exit the loop + if (ch==_CXML('>')) { pXML->nIndex--; break; } + + } else if ((ch==_CXML('<'))||(ch==_CXML('>'))||(ch==_CXML('='))) + { + pXML->nIndex--; break; + } + } + } + *pcbToken = pXML->nIndex-indexStart; + } else + { + // If we failed to obtain a valid character + *pcbToken = 0; + *pType = eTokenError; + result.pStr=NULL; + } + + return result; +} + +XMLCSTR XMLNode::updateName_WOSD(XMLSTR lpszName) +{ + if (!d) { free(lpszName); return NULL; } + if (d->lpszName&&(lpszName!=d->lpszName)) free((void*)d->lpszName); + d->lpszName=lpszName; + return lpszName; +} + +// private: +XMLNode::XMLNode(struct XMLNodeDataTag *p){ d=p; (p->ref_count)++; } +XMLNode::XMLNode(XMLNodeData *pParent, XMLSTR lpszName, char isDeclaration) +{ + d=(XMLNodeData*)malloc(sizeof(XMLNodeData)); + d->ref_count=1; + + d->lpszName=NULL; + d->nChild= 0; + d->nText = 0; + d->nClear = 0; + d->nAttribute = 0; + + d->isDeclaration = isDeclaration; + + d->pParent = pParent; + d->pChild= NULL; + d->pText= NULL; + d->pClear= NULL; + d->pAttribute= NULL; + d->pOrder= NULL; + + updateName_WOSD(lpszName); +} + +XMLNode XMLNode::createXMLTopNode_WOSD(XMLSTR lpszName, char isDeclaration) { return XMLNode(NULL,lpszName,isDeclaration); } +XMLNode XMLNode::createXMLTopNode(XMLCSTR lpszName, char isDeclaration) { return XMLNode(NULL,stringDup(lpszName),isDeclaration); } + +#define MEMORYINCREASE 50 + +static inline void myFree(void *p) { if (p) free(p); } +static inline void *myRealloc(void *p, int newsize, int memInc, int sizeofElem) +{ + if (p==NULL) { if (memInc) return malloc(memInc*sizeofElem); return malloc(sizeofElem); } + if ((memInc==0)||((newsize%memInc)==0)) p=realloc(p,(newsize+memInc)*sizeofElem); +// if (!p) +// { +// printf("XMLParser Error: Not enough memory! Aborting...\n"); exit(220); +// } + return p; +} + +// private: +XMLElementPosition XMLNode::findPosition(XMLNodeData *d, int index, XMLElementType xxtype) +{ + if (index<0) return -1; + int i=0,j=(int)((index<<2)+xxtype),*o=d->pOrder; while (o[i]!=j) i++; return i; +} + +// private: +// update "order" information when deleting a content of a XMLNode +int XMLNode::removeOrderElement(XMLNodeData *d, XMLElementType t, int index) +{ + int n=d->nChild+d->nText+d->nClear, *o=d->pOrder,i=findPosition(d,index,t); + memmove(o+i, o+i+1, (n-i)*sizeof(int)); + for (;ipOrder=(int)realloc(d->pOrder,n*sizeof(int)); + // but we skip reallocation because it's too time consuming. + // Anyway, at the end, it will be free'd completely at once. + return i; +} + +void *XMLNode::addToOrder(int memoryIncrease,int *_pos, int nc, void *p, int size, XMLElementType xtype) +{ + // in: *_pos is the position inside d->pOrder ("-1" means "EndOf") + // out: *_pos is the index inside p + p=myRealloc(p,(nc+1),memoryIncrease,size); + int n=d->nChild+d->nText+d->nClear; + d->pOrder=(int*)myRealloc(d->pOrder,n+1,memoryIncrease*3,sizeof(int)); + int pos=*_pos,*o=d->pOrder; + + if ((pos<0)||(pos>=n)) { *_pos=nc; o[n]=(int)((nc<<2)+xtype); return p; } + + int i=pos; + memmove(o+i+1, o+i, (n-i)*sizeof(int)); + + while ((pos>2; + memmove(((char*)p)+(pos+1)*size,((char*)p)+pos*size,(nc-pos)*size); + + return p; +} + +// Add a child node to the given element. +XMLNode XMLNode::addChild_priv(int memoryIncrease, XMLSTR lpszName, char isDeclaration, int pos) +{ + if (!lpszName) return emptyXMLNode; + d->pChild=(XMLNode*)addToOrder(memoryIncrease,&pos,d->nChild,d->pChild,sizeof(XMLNode),eNodeChild); + d->pChild[pos].d=NULL; + d->pChild[pos]=XMLNode(d,lpszName,isDeclaration); + d->nChild++; + return d->pChild[pos]; +} + +// Add an attribute to an element. +XMLAttribute *XMLNode::addAttribute_priv(int memoryIncrease,XMLSTR lpszName, XMLSTR lpszValuev) +{ + if (!lpszName) return &emptyXMLAttribute; + if (!d) { myFree(lpszName); myFree(lpszValuev); return &emptyXMLAttribute; } + int nc=d->nAttribute; + d->pAttribute=(XMLAttribute*)myRealloc(d->pAttribute,(nc+1),memoryIncrease,sizeof(XMLAttribute)); + XMLAttribute *pAttr=d->pAttribute+nc; + pAttr->lpszName = lpszName; + pAttr->lpszValue = lpszValuev; + d->nAttribute++; + return pAttr; +} + +// Add text to the element. +XMLCSTR XMLNode::addText_priv(int memoryIncrease, XMLSTR lpszValue, int pos) +{ + if (!lpszValue) return NULL; + if (!d) { myFree(lpszValue); return NULL; } + d->pText=(XMLCSTR*)addToOrder(memoryIncrease,&pos,d->nText,d->pText,sizeof(XMLSTR),eNodeText); + d->pText[pos]=lpszValue; + d->nText++; + return lpszValue; +} + +// Add clear (unformatted) text to the element. +XMLClear *XMLNode::addClear_priv(int memoryIncrease, XMLSTR lpszValue, XMLCSTR lpszOpen, XMLCSTR lpszClose, int pos) +{ + if (!lpszValue) return &emptyXMLClear; + if (!d) { myFree(lpszValue); return &emptyXMLClear; } + d->pClear=(XMLClear *)addToOrder(memoryIncrease,&pos,d->nClear,d->pClear,sizeof(XMLClear),eNodeClear); + XMLClear *pNewClear=d->pClear+pos; + pNewClear->lpszValue = lpszValue; + if (!lpszOpen) lpszOpen=XMLClearTags->lpszOpen; + if (!lpszClose) lpszClose=XMLClearTags->lpszClose; + pNewClear->lpszOpenTag = lpszOpen; + pNewClear->lpszCloseTag = lpszClose; + d->nClear++; + return pNewClear; +} + +// private: +// Parse a clear (unformatted) type node. +char XMLNode::parseClearTag(void *px, void *_pClear) +{ + XML *pXML=(XML *)px; + ALLXMLClearTag pClear=*((ALLXMLClearTag*)_pClear); + int cbTemp=0; + XMLCSTR lpszTemp=NULL; + XMLCSTR lpXML=&pXML->lpXML[pXML->nIndex]; + static XMLCSTR docTypeEnd=_CXML("]>"); + + // Find the closing tag + // Seems the ')) { lpszTemp=pCh; break; } +#ifdef _XMLWIDECHAR + pCh++; +#else + pCh+=XML_ByteTable[(unsigned char)(*pCh)]; +#endif + } + } else lpszTemp=xstrstr(lpXML, pClear.lpszClose); + + if (lpszTemp) + { + // Cache the size and increment the index + cbTemp = (int)(lpszTemp - lpXML); + + pXML->nIndex += cbTemp+(int)xstrlen(pClear.lpszClose); + + // Add the clear node to the current element + addClear_priv(MEMORYINCREASE,cbTemp?stringDup(lpXML,cbTemp):NULL, pClear.lpszOpen, pClear.lpszClose,-1); + return 0; + } + + // If we failed to find the end tag + pXML->error = eXMLErrorUnmatchedEndClearTag; + return 1; +} + +void XMLNode::exactMemory(XMLNodeData *d) +{ + if (d->pOrder) d->pOrder=(int*)realloc(d->pOrder,(d->nChild+d->nText+d->nClear)*sizeof(int)); + if (d->pChild) d->pChild=(XMLNode*)realloc(d->pChild,d->nChild*sizeof(XMLNode)); + if (d->pAttribute) d->pAttribute=(XMLAttribute*)realloc(d->pAttribute,d->nAttribute*sizeof(XMLAttribute)); + if (d->pText) d->pText=(XMLCSTR*)realloc(d->pText,d->nText*sizeof(XMLSTR)); + if (d->pClear) d->pClear=(XMLClear *)realloc(d->pClear,d->nClear*sizeof(XMLClear)); +} + +char XMLNode::maybeAddTxT(void *pa, XMLCSTR tokenPStr) +{ + XML *pXML=(XML *)pa; + XMLCSTR lpszText=pXML->lpszText; + if (!lpszText) return 0; + if (dropWhiteSpace) while (XML_isSPACECHAR(*lpszText)&&(lpszText!=tokenPStr)) lpszText++; + int cbText = (int)(tokenPStr - lpszText); + if (!cbText) { pXML->lpszText=NULL; return 0; } + if (dropWhiteSpace) { cbText--; while ((cbText)&&XML_isSPACECHAR(lpszText[cbText])) cbText--; cbText++; } + if (!cbText) { pXML->lpszText=NULL; return 0; } + XMLSTR lpt=fromXMLString(lpszText,cbText,pXML); + if (!lpt) return 1; + pXML->lpszText=NULL; + if (removeCommentsInMiddleOfText && d->nText && d->nClear) + { + // if the previous insertion was a comment () AND + // if the previous previous insertion was a text then, delete the comment and append the text + int n=d->nChild+d->nText+d->nClear-1,*o=d->pOrder; + if (((o[n]&3)==eNodeClear)&&((o[n-1]&3)==eNodeText)) + { + int i=o[n]>>2; + if (d->pClear[i].lpszOpenTag==XMLClearTags[2].lpszOpen) + { + deleteClear(i); + i=o[n-1]>>2; + n=xstrlen(d->pText[i]); + int n2=xstrlen(lpt)+1; + d->pText[i]=(XMLSTR)realloc((void*)d->pText[i],(n+n2)*sizeof(XMLCHAR)); + if (!d->pText[i]) return 1; + memcpy((void*)(d->pText[i]+n),lpt,n2*sizeof(XMLCHAR)); + free(lpt); + return 0; + } + } + } + addText_priv(MEMORYINCREASE,lpt,-1); + return 0; +} +// private: +// Recursively parse an XML element. +int XMLNode::ParseXMLElement(void *pa) +{ + XML *pXML=(XML *)pa; + int cbToken; + enum XMLTokenTypeTag xtype; + NextToken token; + XMLCSTR lpszTemp=NULL; + int cbTemp=0; + char nDeclaration; + XMLNode pNew; + enum XMLStatus status; // inside or outside a tag + enum Attrib attrib = eAttribName; + + assert(pXML); + + // If this is the first call to the function + if (pXML->nFirst) + { + // Assume we are outside of a tag definition + pXML->nFirst = FALSE; + status = eOutsideTag; + } else + { + // If this is not the first call then we should only be called when inside a tag. + status = eInsideTag; + } + + // Iterate through the tokens in the document + for(;;) + { + // Obtain the next token + token = GetNextToken(pXML, &cbToken, &xtype); + + if (xtype != eTokenError) + { + // Check the current status + switch(status) + { + + // If we are outside of a tag definition + case eOutsideTag: + + // Check what type of token we obtained + switch(xtype) + { + // If we have found text or quoted text + case eTokenText: + case eTokenCloseTag: /* '>' */ + case eTokenShortHandClose: /* '/>' */ + case eTokenQuotedText: + case eTokenEquals: + break; + + // If we found a start tag '<' and declarations 'error = eXMLErrorMissingTagName; + return FALSE; + } + + // If we found a new element which is the same as this + // element then we need to pass this back to the caller.. + +#ifdef APPROXIMATE_PARSING + if (d->lpszName && + myTagCompare(d->lpszName, token.pStr) == 0) + { + // Indicate to the caller that it needs to create a + // new element. + pXML->lpNewElement = token.pStr; + pXML->cbNewElement = cbToken; + return TRUE; + } else +#endif + { + // If the name of the new element differs from the name of + // the current element we need to add the new element to + // the current one and recurse + pNew = addChild_priv(MEMORYINCREASE,stringDup(token.pStr,cbToken), nDeclaration,-1); + + while (!pNew.isEmpty()) + { + // Callself to process the new node. If we return + // FALSE this means we dont have any more + // processing to do... + + if (!pNew.ParseXMLElement(pXML)) return FALSE; + else + { + // If the call to recurse this function + // evented in a end tag specified in XML then + // we need to unwind the calls to this + // function until we find the appropriate node + // (the element name and end tag name must + // match) + if (pXML->cbEndTag) + { + // If we are back at the root node then we + // have an unmatched end tag + if (!d->lpszName) + { + pXML->error=eXMLErrorUnmatchedEndTag; + return FALSE; + } + + // If the end tag matches the name of this + // element then we only need to unwind + // once more... + + if (myTagCompare(d->lpszName, pXML->lpEndTag)==0) + { + pXML->cbEndTag = 0; + } + + return TRUE; + } else + if (pXML->cbNewElement) + { + // If the call indicated a new element is to + // be created on THIS element. + + // If the name of this element matches the + // name of the element we need to create + // then we need to return to the caller + // and let it process the element. + + if (myTagCompare(d->lpszName, pXML->lpNewElement)==0) + { + return TRUE; + } + + // Add the new element and recurse + pNew = addChild_priv(MEMORYINCREASE,stringDup(pXML->lpNewElement,pXML->cbNewElement),0,-1); + pXML->cbNewElement = 0; + } + else + { + // If we didn't have a new element to create + pNew = emptyXMLNode; + + } + } + } + } + break; + + // If we found an end tag + case eTokenTagEnd: + + // If we have node text then add this to the element + if (maybeAddTxT(pXML,token.pStr)) return FALSE; + + // Find the name of the end tag + token = GetNextToken(pXML, &cbTemp, &xtype); + + // The end tag should be text + if (xtype != eTokenText) + { + pXML->error = eXMLErrorMissingEndTagName; + return FALSE; + } + lpszTemp = token.pStr; + + // After the end tag we should find a closing tag + token = GetNextToken(pXML, &cbToken, &xtype); + if (xtype != eTokenCloseTag) + { + pXML->error = eXMLErrorMissingEndTagName; + return FALSE; + } + pXML->lpszText=pXML->lpXML+pXML->nIndex; + + // We need to return to the previous caller. If the name + // of the tag cannot be found we need to keep returning to + // caller until we find a match + if (myTagCompare(d->lpszName, lpszTemp) != 0) +#ifdef STRICT_PARSING + { + pXML->error=eXMLErrorUnmatchedEndTag; + pXML->nIndexMissigEndTag=pXML->nIndex; + return FALSE; + } +#else + { + pXML->error=eXMLErrorMissingEndTag; + pXML->nIndexMissigEndTag=pXML->nIndex; + pXML->lpEndTag = lpszTemp; + pXML->cbEndTag = cbTemp; + } +#endif + + // Return to the caller + exactMemory(d); + return TRUE; + + // If we found a clear (unformatted) token + case eTokenClear: + // If we have node text then add this to the element + if (maybeAddTxT(pXML,token.pStr)) return FALSE; + if (parseClearTag(pXML, token.pClr)) return FALSE; + pXML->lpszText=pXML->lpXML+pXML->nIndex; + break; + + default: + break; + } + break; + + // If we are inside a tag definition we need to search for attributes + case eInsideTag: + + // Check what part of the attribute (name, equals, value) we + // are looking for. + switch(attrib) + { + // If we are looking for a new attribute + case eAttribName: + + // Check what the current token type is + switch(xtype) + { + // If the current type is text... + // Eg. 'attribute' + case eTokenText: + // Cache the token then indicate that we are next to + // look for the equals + lpszTemp = token.pStr; + cbTemp = cbToken; + attrib = eAttribEquals; + break; + + // If we found a closing tag... + // Eg. '>' + case eTokenCloseTag: + // We are now outside the tag + status = eOutsideTag; + pXML->lpszText=pXML->lpXML+pXML->nIndex; + break; + + // If we found a short hand '/>' closing tag then we can + // return to the caller + case eTokenShortHandClose: + exactMemory(d); + pXML->lpszText=pXML->lpXML+pXML->nIndex; + return TRUE; + + // Errors... + case eTokenQuotedText: /* '"SomeText"' */ + case eTokenTagStart: /* '<' */ + case eTokenTagEnd: /* 'error = eXMLErrorUnexpectedToken; + return FALSE; + default: break; + } + break; + + // If we are looking for an equals + case eAttribEquals: + // Check what the current token type is + switch(xtype) + { + // If the current type is text... + // Eg. 'Attribute AnotherAttribute' + case eTokenText: + // Add the unvalued attribute to the list + addAttribute_priv(MEMORYINCREASE,stringDup(lpszTemp,cbTemp), NULL); + // Cache the token then indicate. We are next to + // look for the equals attribute + lpszTemp = token.pStr; + cbTemp = cbToken; + break; + + // If we found a closing tag 'Attribute >' or a short hand + // closing tag 'Attribute />' + case eTokenShortHandClose: + case eTokenCloseTag: + // If we are a declaration element 'lpszText=pXML->lpXML+pXML->nIndex; + + if (d->isDeclaration && + (lpszTemp[cbTemp-1]) == _CXML('?')) + { + cbTemp--; + if (d->pParent && d->pParent->pParent) xtype = eTokenShortHandClose; + } + + if (cbTemp) + { + // Add the unvalued attribute to the list + addAttribute_priv(MEMORYINCREASE,stringDup(lpszTemp,cbTemp), NULL); + } + + // If this is the end of the tag then return to the caller + if (xtype == eTokenShortHandClose) + { + exactMemory(d); + return TRUE; + } + + // We are now outside the tag + status = eOutsideTag; + break; + + // If we found the equals token... + // Eg. 'Attribute =' + case eTokenEquals: + // Indicate that we next need to search for the value + // for the attribute + attrib = eAttribValue; + break; + + // Errors... + case eTokenQuotedText: /* 'Attribute "InvalidAttr"'*/ + case eTokenTagStart: /* 'Attribute <' */ + case eTokenTagEnd: /* 'Attribute error = eXMLErrorUnexpectedToken; + return FALSE; + default: break; + } + break; + + // If we are looking for an attribute value + case eAttribValue: + // Check what the current token type is + switch(xtype) + { + // If the current type is text or quoted text... + // Eg. 'Attribute = "Value"' or 'Attribute = Value' or + // 'Attribute = 'Value''. + case eTokenText: + case eTokenQuotedText: + // If we are a declaration element 'isDeclaration && + (token.pStr[cbToken-1]) == _CXML('?')) + { + cbToken--; + } + + if (cbTemp) + { + // Add the valued attribute to the list + if (xtype==eTokenQuotedText) { token.pStr++; cbToken-=2; } + XMLSTR attrVal=(XMLSTR)token.pStr; + if (attrVal) + { + attrVal=fromXMLString(attrVal,cbToken,pXML); + if (!attrVal) return FALSE; + } + addAttribute_priv(MEMORYINCREASE,stringDup(lpszTemp,cbTemp),attrVal); + } + + // Indicate we are searching for a new attribute + attrib = eAttribName; + break; + + // Errors... + case eTokenTagStart: /* 'Attr = <' */ + case eTokenTagEnd: /* 'Attr = ' */ + case eTokenShortHandClose: /* "Attr = />" */ + case eTokenEquals: /* 'Attr = =' */ + case eTokenDeclaration: /* 'Attr = error = eXMLErrorUnexpectedToken; + return FALSE; + break; + default: break; + } + } + } + } + // If we failed to obtain the next token + else + { + if ((!d->isDeclaration)&&(d->pParent)) + { +#ifdef STRICT_PARSING + pXML->error=eXMLErrorUnmatchedEndTag; +#else + pXML->error=eXMLErrorMissingEndTag; +#endif + pXML->nIndexMissigEndTag=pXML->nIndex; + } + maybeAddTxT(pXML,pXML->lpXML+pXML->nIndex); + return FALSE; + } + } +} + +// Count the number of lines and columns in an XML string. +static void CountLinesAndColumns(XMLCSTR lpXML, int nUpto, XMLResults *pResults) +{ + XMLCHAR ch; + assert(lpXML); + assert(pResults); + + struct XML xml={ lpXML,lpXML, 0, 0, eXMLErrorNone, NULL, 0, NULL, 0, TRUE }; + + pResults->nLine = 1; + pResults->nColumn = 1; + while (xml.nIndexnColumn++; + else + { + pResults->nLine++; + pResults->nColumn=1; + } + } +} + +// Parse XML and return the root element. +XMLNode XMLNode::parseString(XMLCSTR lpszXML, XMLCSTR tag, XMLResults *pResults) +{ + if (!lpszXML) + { + if (pResults) + { + pResults->error=eXMLErrorNoElements; + pResults->nLine=0; + pResults->nColumn=0; + } + return emptyXMLNode; + } + + XMLNode xnode(NULL,NULL,FALSE); + struct XML xml={ lpszXML, lpszXML, 0, 0, eXMLErrorNone, NULL, 0, NULL, 0, TRUE }; + + // Create header element + xnode.ParseXMLElement(&xml); + enum XMLError error = xml.error; + if (!xnode.nChildNode()) error=eXMLErrorNoXMLTagFound; + if ((xnode.nChildNode()==1)&&(xnode.nElement()==1)) xnode=xnode.getChildNode(); // skip the empty node + + // If no error occurred + if ((error==eXMLErrorNone)||(error==eXMLErrorMissingEndTag)||(error==eXMLErrorNoXMLTagFound)) + { + XMLCSTR name=xnode.getName(); + if (tag&&(*tag)&&((!name)||(xstricmp(name,tag)))) + { + xnode=xnode.getChildNode(tag); + if (xnode.isEmpty()) + { + if (pResults) + { + pResults->error=eXMLErrorFirstTagNotFound; + pResults->nLine=0; + pResults->nColumn=0; + } + return emptyXMLNode; + } + } + } else + { + // Cleanup: this will destroy all the nodes + xnode = emptyXMLNode; + } + + + // If we have been given somewhere to place results + if (pResults) + { + pResults->error = error; + + // If we have an error + if (error!=eXMLErrorNone) + { + if (error==eXMLErrorMissingEndTag) xml.nIndex=xml.nIndexMissigEndTag; + // Find which line and column it starts on. + CountLinesAndColumns(xml.lpXML, xml.nIndex, pResults); + } + } + return xnode; +} + +XMLNode XMLNode::parseFile(XMLCSTR filename, XMLCSTR tag, XMLResults *pResults) +{ + if (pResults) { pResults->nLine=0; pResults->nColumn=0; } + FILE *f=xfopen(filename,_CXML("rb")); + if (f==NULL) { if (pResults) pResults->error=eXMLErrorFileNotFound; return emptyXMLNode; } + fseek(f,0,SEEK_END); + int l=(int)ftell(f),headerSz=0; + if (!l) { if (pResults) pResults->error=eXMLErrorEmpty; fclose(f); return emptyXMLNode; } + fseek(f,0,SEEK_SET); + unsigned char *buf=(unsigned char*)malloc(l+4); + l=(int)fread(buf,1,l,f); + fclose(f); + buf[l]=0;buf[l+1]=0;buf[l+2]=0;buf[l+3]=0; +#ifdef _XMLWIDECHAR + if (guessWideCharChars) + { + if (!myIsTextWideChar(buf,l)) + { + XMLNode::XMLCharEncoding ce=XMLNode::char_encoding_legacy; + if ((buf[0]==0xef)&&(buf[1]==0xbb)&&(buf[2]==0xbf)) { headerSz=3; ce=XMLNode::char_encoding_UTF8; } + XMLSTR b2=myMultiByteToWideChar((const char*)(buf+headerSz),ce); + if (!b2) + { + // todo: unable to convert + } + free(buf); buf=(unsigned char*)b2; headerSz=0; + } else + { + if ((buf[0]==0xef)&&(buf[1]==0xff)) headerSz=2; + if ((buf[0]==0xff)&&(buf[1]==0xfe)) headerSz=2; + } + } else + { + if ((buf[0]==0xef)&&(buf[1]==0xff)) headerSz=2; + if ((buf[0]==0xff)&&(buf[1]==0xfe)) headerSz=2; + if ((buf[0]==0xef)&&(buf[1]==0xbb)&&(buf[2]==0xbf)) headerSz=3; + } +#else + if (guessWideCharChars) + { + if (myIsTextWideChar(buf,l)) + { + if ((buf[0]==0xef)&&(buf[1]==0xff)) headerSz=2; + if ((buf[0]==0xff)&&(buf[1]==0xfe)) headerSz=2; + char *b2=myWideCharToMultiByte((const wchar_t*)(buf+headerSz)); + free(buf); buf=(unsigned char*)b2; headerSz=0; + } else + { + if ((buf[0]==0xef)&&(buf[1]==0xbb)&&(buf[2]==0xbf)) headerSz=3; + } + } else + { + if ((buf[0]==0xef)&&(buf[1]==0xff)) headerSz=2; + if ((buf[0]==0xff)&&(buf[1]==0xfe)) headerSz=2; + if ((buf[0]==0xef)&&(buf[1]==0xbb)&&(buf[2]==0xbf)) headerSz=3; + } +#endif + + if (!buf) { if (pResults) pResults->error=eXMLErrorCharConversionError; return emptyXMLNode; } + XMLNode x=parseString((XMLSTR)(buf+headerSz),tag,pResults); + free(buf); + return x; +} + +static inline void charmemset(XMLSTR dest,XMLCHAR c,int l) { while (l--) *(dest++)=c; } +// private: +// Creates an user friendly XML string from a given element with +// appropriate white space and carriage returns. +// +// This recurses through all subnodes then adds contents of the nodes to the +// string. +int XMLNode::CreateXMLStringR(XMLNodeData *pEntry, XMLSTR lpszMarker, int nFormat) +{ + int nResult = 0; + int cb=nFormat<0?0:nFormat; + int cbElement; + int nChildFormat=-1; + int nElementI=pEntry->nChild+pEntry->nText+pEntry->nClear; + int i,j; + if ((nFormat>=0)&&(nElementI==1)&&(pEntry->nText==1)&&(!pEntry->isDeclaration)) nFormat=-2; + + assert(pEntry); + +#define LENSTR(lpsz) (lpsz ? xstrlen(lpsz) : 0) + + // If the element has no name then assume this is the head node. + cbElement = (int)LENSTR(pEntry->lpszName); + + if (cbElement) + { + // "isDeclaration) lpszMarker[nResult++]=_CXML('?'); + xstrcpy(&lpszMarker[nResult], pEntry->lpszName); + nResult+=cbElement; + lpszMarker[nResult++]=_CXML(' '); + + } else + { + nResult+=cbElement+2+cb; + if (pEntry->isDeclaration) nResult++; + } + + // Enumerate attributes and add them to the string + XMLAttribute *pAttr=pEntry->pAttribute; + for (i=0; inAttribute; i++) + { + // "Attrib + cb = (int)LENSTR(pAttr->lpszName); + if (cb) + { + if (lpszMarker) xstrcpy(&lpszMarker[nResult], pAttr->lpszName); + nResult += cb; + // "Attrib=Value " + if (pAttr->lpszValue) + { + cb=(int)ToXMLStringTool::lengthXMLString(pAttr->lpszValue); + if (lpszMarker) + { + lpszMarker[nResult]=_CXML('='); + lpszMarker[nResult+1]=_CXML('"'); + if (cb) ToXMLStringTool::toXMLUnSafe(&lpszMarker[nResult+2],pAttr->lpszValue); + lpszMarker[nResult+cb+2]=_CXML('"'); + } + nResult+=cb+3; + } + if (lpszMarker) lpszMarker[nResult] = _CXML(' '); + nResult++; + } + pAttr++; + } + + if (pEntry->isDeclaration) + { + if (lpszMarker) + { + lpszMarker[nResult-1]=_CXML('?'); + lpszMarker[nResult]=_CXML('>'); + } + nResult++; + if (nFormat!=-1) + { + if (lpszMarker) lpszMarker[nResult]=_CXML('\n'); + nResult++; + } + } else + // If there are child nodes we need to terminate the start tag + if (nElementI) + { + if (lpszMarker) lpszMarker[nResult-1]=_CXML('>'); + if (nFormat>=0) + { + if (lpszMarker) lpszMarker[nResult]=_CXML('\n'); + nResult++; + } + } else nResult--; + } + + // Calculate the child format for when we recurse. This is used to + // determine the number of spaces used for prefixes. + if (nFormat!=-1) + { + if (cbElement&&(!pEntry->isDeclaration)) nChildFormat=nFormat+1; + else nChildFormat=nFormat; + } + + // Enumerate through remaining children + for (i=0; ipOrder[i]; + switch((XMLElementType)(j&3)) + { + // Text nodes + case eNodeText: + { + // "Text" + XMLCSTR pChild=pEntry->pText[j>>2]; + cb = (int)ToXMLStringTool::lengthXMLString(pChild); + if (cb) + { + if (nFormat>=0) + { + if (lpszMarker) + { + charmemset(&lpszMarker[nResult],INDENTCHAR,nFormat+1); + ToXMLStringTool::toXMLUnSafe(&lpszMarker[nResult+nFormat+1],pChild); + lpszMarker[nResult+nFormat+1+cb]=_CXML('\n'); + } + nResult+=cb+nFormat+2; + } else + { + if (lpszMarker) ToXMLStringTool::toXMLUnSafe(&lpszMarker[nResult], pChild); + nResult += cb; + } + } + break; + } + + // Clear type nodes + case eNodeClear: + { + XMLClear *pChild=pEntry->pClear+(j>>2); + // "OpenTag" + cb = (int)LENSTR(pChild->lpszOpenTag); + if (cb) + { + if (nFormat!=-1) + { + if (lpszMarker) + { + charmemset(&lpszMarker[nResult], INDENTCHAR, nFormat+1); + xstrcpy(&lpszMarker[nResult+nFormat+1], pChild->lpszOpenTag); + } + nResult+=cb+nFormat+1; + } + else + { + if (lpszMarker)xstrcpy(&lpszMarker[nResult], pChild->lpszOpenTag); + nResult += cb; + } + } + + // "OpenTag Value" + cb = (int)LENSTR(pChild->lpszValue); + if (cb) + { + if (lpszMarker) xstrcpy(&lpszMarker[nResult], pChild->lpszValue); + nResult += cb; + } + + // "OpenTag Value CloseTag" + cb = (int)LENSTR(pChild->lpszCloseTag); + if (cb) + { + if (lpszMarker) xstrcpy(&lpszMarker[nResult], pChild->lpszCloseTag); + nResult += cb; + } + + if (nFormat!=-1) + { + if (lpszMarker) lpszMarker[nResult] = _CXML('\n'); + nResult++; + } + break; + } + + // Element nodes + case eNodeChild: + { + // Recursively add child nodes + nResult += CreateXMLStringR(pEntry->pChild[j>>2].d, lpszMarker ? lpszMarker + nResult : 0, nChildFormat); + break; + } + default: break; + } + } + + if ((cbElement)&&(!pEntry->isDeclaration)) + { + // If we have child entries we need to use long XML notation for + // closing the element - "blah blah blah" + if (nElementI) + { + // "\0" + if (lpszMarker) + { + if (nFormat >=0) + { + charmemset(&lpszMarker[nResult], INDENTCHAR,nFormat); + nResult+=nFormat; + } + + lpszMarker[nResult]=_CXML('<'); lpszMarker[nResult+1]=_CXML('/'); + nResult += 2; + xstrcpy(&lpszMarker[nResult], pEntry->lpszName); + nResult += cbElement; + + lpszMarker[nResult]=_CXML('>'); + if (nFormat == -1) nResult++; + else + { + lpszMarker[nResult+1]=_CXML('\n'); + nResult+=2; + } + } else + { + if (nFormat>=0) nResult+=cbElement+4+nFormat; + else if (nFormat==-1) nResult+=cbElement+3; + else nResult+=cbElement+4; + } + } else + { + // If there are no children we can use shorthand XML notation - + // "" + // "/>\0" + if (lpszMarker) + { + lpszMarker[nResult]=_CXML('/'); lpszMarker[nResult+1]=_CXML('>'); + if (nFormat != -1) lpszMarker[nResult+2]=_CXML('\n'); + } + nResult += nFormat == -1 ? 2 : 3; + } + } + + return nResult; +} + +#undef LENSTR + +// Create an XML string +// @param int nFormat - 0 if no formatting is required +// otherwise nonzero for formatted text +// with carriage returns and indentation. +// @param int *pnSize - [out] pointer to the size of the +// returned string not including the +// NULL terminator. +// @return XMLSTR - Allocated XML string, you must free +// this with free(). +XMLSTR XMLNode::createXMLString(int nFormat, int *pnSize) const +{ + if (!d) { if (pnSize) *pnSize=0; return NULL; } + + XMLSTR lpszResult = NULL; + int cbStr; + + // Recursively Calculate the size of the XML string + if (!dropWhiteSpace) nFormat=0; + nFormat = nFormat ? 0 : -1; + cbStr = CreateXMLStringR(d, 0, nFormat); + // Alllocate memory for the XML string + the NULL terminator and + // create the recursively XML string. + lpszResult=(XMLSTR)malloc((cbStr+1)*sizeof(XMLCHAR)); + CreateXMLStringR(d, lpszResult, nFormat); + lpszResult[cbStr]=_CXML('\0'); + if (pnSize) *pnSize = cbStr; + return lpszResult; +} + +int XMLNode::detachFromParent(XMLNodeData *d) +{ + XMLNode *pa=d->pParent->pChild; + int i=0; + while (((void*)(pa[i].d))!=((void*)d)) i++; + d->pParent->nChild--; + if (d->pParent->nChild) memmove(pa+i,pa+i+1,(d->pParent->nChild-i)*sizeof(XMLNode)); + else { free(pa); d->pParent->pChild=NULL; } + return removeOrderElement(d->pParent,eNodeChild,i); +} + +XMLNode::~XMLNode() +{ + if (!d) return; + d->ref_count--; + emptyTheNode(0); +} +void XMLNode::deleteNodeContent() +{ + if (!d) return; + if (d->pParent) { detachFromParent(d); d->pParent=NULL; d->ref_count--; } + emptyTheNode(1); +} +void XMLNode::emptyTheNode(char force) +{ + XMLNodeData *dd=d; // warning: must stay this way! + if ((dd->ref_count==0)||force) + { + if (d->pParent) detachFromParent(d); + int i; + XMLNode *pc; + for(i=0; inChild; i++) + { + pc=dd->pChild+i; + pc->d->pParent=NULL; + pc->d->ref_count--; + pc->emptyTheNode(force); + } + myFree(dd->pChild); + for(i=0; inText; i++) free((void*)dd->pText[i]); + myFree(dd->pText); + for(i=0; inClear; i++) free((void*)dd->pClear[i].lpszValue); + myFree(dd->pClear); + for(i=0; inAttribute; i++) + { + free((void*)dd->pAttribute[i].lpszName); + if (dd->pAttribute[i].lpszValue) free((void*)dd->pAttribute[i].lpszValue); + } + myFree(dd->pAttribute); + myFree(dd->pOrder); + myFree((void*)dd->lpszName); + dd->nChild=0; dd->nText=0; dd->nClear=0; dd->nAttribute=0; + dd->pChild=NULL; dd->pText=NULL; dd->pClear=NULL; dd->pAttribute=NULL; + dd->pOrder=NULL; dd->lpszName=NULL; dd->pParent=NULL; + } + if (dd->ref_count==0) + { + free(dd); + d=NULL; + } +} + +XMLNode& XMLNode::operator=( const XMLNode& A ) +{ + // shallow copy + if (this != &A) + { + if (d) { d->ref_count--; emptyTheNode(0); } + d=A.d; + if (d) (d->ref_count) ++ ; + } + return *this; +} + +XMLNode::XMLNode(const XMLNode &A) +{ + // shallow copy + d=A.d; + if (d) (d->ref_count)++ ; +} + +XMLNode XMLNode::deepCopy() const +{ + if (!d) return XMLNode::emptyXMLNode; + XMLNode x(NULL,stringDup(d->lpszName),d->isDeclaration); + XMLNodeData *p=x.d; + int n=d->nAttribute; + if (n) + { + p->nAttribute=n; p->pAttribute=(XMLAttribute*)malloc(n*sizeof(XMLAttribute)); + while (n--) + { + p->pAttribute[n].lpszName=stringDup(d->pAttribute[n].lpszName); + p->pAttribute[n].lpszValue=stringDup(d->pAttribute[n].lpszValue); + } + } + if (d->pOrder) + { + n=(d->nChild+d->nText+d->nClear)*sizeof(int); p->pOrder=(int*)malloc(n); memcpy(p->pOrder,d->pOrder,n); + } + n=d->nText; + if (n) + { + p->nText=n; p->pText=(XMLCSTR*)malloc(n*sizeof(XMLCSTR)); + while(n--) p->pText[n]=stringDup(d->pText[n]); + } + n=d->nClear; + if (n) + { + p->nClear=n; p->pClear=(XMLClear*)malloc(n*sizeof(XMLClear)); + while (n--) + { + p->pClear[n].lpszCloseTag=d->pClear[n].lpszCloseTag; + p->pClear[n].lpszOpenTag=d->pClear[n].lpszOpenTag; + p->pClear[n].lpszValue=stringDup(d->pClear[n].lpszValue); + } + } + n=d->nChild; + if (n) + { + p->nChild=n; p->pChild=(XMLNode*)malloc(n*sizeof(XMLNode)); + while (n--) + { + p->pChild[n].d=NULL; + p->pChild[n]=d->pChild[n].deepCopy(); + p->pChild[n].d->pParent=p; + } + } + return x; +} + +XMLNode XMLNode::addChild(XMLNode childNode, int pos) +{ + XMLNodeData *dc=childNode.d; + if ((!dc)||(!d)) return childNode; + if (!dc->lpszName) + { + // this is a root node: todo: correct fix + int j=pos; + while (dc->nChild) + { + addChild(dc->pChild[0],j); + if (pos>=0) j++; + } + return childNode; + } + if (dc->pParent) { if ((detachFromParent(dc)<=pos)&&(dc->pParent==d)) pos--; } else dc->ref_count++; + dc->pParent=d; +// int nc=d->nChild; +// d->pChild=(XMLNode*)myRealloc(d->pChild,(nc+1),memoryIncrease,sizeof(XMLNode)); + d->pChild=(XMLNode*)addToOrder(0,&pos,d->nChild,d->pChild,sizeof(XMLNode),eNodeChild); + d->pChild[pos].d=dc; + d->nChild++; + return childNode; +} + +void XMLNode::deleteAttribute(int i) +{ + if ((!d)||(i<0)||(i>=d->nAttribute)) return; + d->nAttribute--; + XMLAttribute *p=d->pAttribute+i; + free((void*)p->lpszName); + if (p->lpszValue) free((void*)p->lpszValue); + if (d->nAttribute) memmove(p,p+1,(d->nAttribute-i)*sizeof(XMLAttribute)); else { free(p); d->pAttribute=NULL; } +} + +void XMLNode::deleteAttribute(XMLAttribute *a){ if (a) deleteAttribute(a->lpszName); } +void XMLNode::deleteAttribute(XMLCSTR lpszName) +{ + int j=0; + getAttribute(lpszName,&j); + if (j) deleteAttribute(j-1); +} + +XMLAttribute *XMLNode::updateAttribute_WOSD(XMLSTR lpszNewValue, XMLSTR lpszNewName,int i) +{ + if (!d) { if (lpszNewValue) free(lpszNewValue); if (lpszNewName) free(lpszNewName); return NULL; } + if (i>=d->nAttribute) + { + if (lpszNewName) return addAttribute_WOSD(lpszNewName,lpszNewValue); + return NULL; + } + XMLAttribute *p=d->pAttribute+i; + if (p->lpszValue&&p->lpszValue!=lpszNewValue) free((void*)p->lpszValue); + p->lpszValue=lpszNewValue; + if (lpszNewName&&p->lpszName!=lpszNewName) { free((void*)p->lpszName); p->lpszName=lpszNewName; }; + return p; +} + +XMLAttribute *XMLNode::updateAttribute_WOSD(XMLAttribute *newAttribute, XMLAttribute *oldAttribute) +{ + if (oldAttribute) return updateAttribute_WOSD((XMLSTR)newAttribute->lpszValue,(XMLSTR)newAttribute->lpszName,oldAttribute->lpszName); + return addAttribute_WOSD((XMLSTR)newAttribute->lpszName,(XMLSTR)newAttribute->lpszValue); +} + +XMLAttribute *XMLNode::updateAttribute_WOSD(XMLSTR lpszNewValue, XMLSTR lpszNewName,XMLCSTR lpszOldName) +{ + int j=0; + getAttribute(lpszOldName,&j); + if (j) return updateAttribute_WOSD(lpszNewValue,lpszNewName,j-1); + else + { + if (lpszNewName) return addAttribute_WOSD(lpszNewName,lpszNewValue); + else return addAttribute_WOSD(stringDup(lpszOldName),lpszNewValue); + } +} + +int XMLNode::indexText(XMLCSTR lpszValue) const +{ + if (!d) return -1; + int i,l=d->nText; + if (!lpszValue) { if (l) return 0; return -1; } + XMLCSTR *p=d->pText; + for (i=0; i=d->nText)) return; + d->nText--; + XMLCSTR *p=d->pText+i; + free((void*)*p); + if (d->nText) memmove(p,p+1,(d->nText-i)*sizeof(XMLCSTR)); else { free(p); d->pText=NULL; } + removeOrderElement(d,eNodeText,i); +} + +void XMLNode::deleteText(XMLCSTR lpszValue) { deleteText(indexText(lpszValue)); } + +XMLCSTR XMLNode::updateText_WOSD(XMLSTR lpszNewValue, int i) +{ + if (!d) { if (lpszNewValue) free(lpszNewValue); return NULL; } + if (i>=d->nText) return addText_WOSD(lpszNewValue); + XMLCSTR *p=d->pText+i; + if (*p!=lpszNewValue) { free((void*)*p); *p=lpszNewValue; } + return lpszNewValue; +} + +XMLCSTR XMLNode::updateText_WOSD(XMLSTR lpszNewValue, XMLCSTR lpszOldValue) +{ + if (!d) { if (lpszNewValue) free(lpszNewValue); return NULL; } + int i=indexText(lpszOldValue); + if (i>=0) return updateText_WOSD(lpszNewValue,i); + return addText_WOSD(lpszNewValue); +} + +void XMLNode::deleteClear(int i) +{ + if ((!d)||(i<0)||(i>=d->nClear)) return; + d->nClear--; + XMLClear *p=d->pClear+i; + free((void*)p->lpszValue); + if (d->nClear) memmove(p,p+1,(d->nClear-i)*sizeof(XMLClear)); else { free(p); d->pClear=NULL; } + removeOrderElement(d,eNodeClear,i); +} + +int XMLNode::indexClear(XMLCSTR lpszValue) const +{ + if (!d) return -1; + int i,l=d->nClear; + if (!lpszValue) { if (l) return 0; return -1; } + XMLClear *p=d->pClear; + for (i=0; ilpszValue); } + +XMLClear *XMLNode::updateClear_WOSD(XMLSTR lpszNewContent, int i) +{ + if (!d) { if (lpszNewContent) free(lpszNewContent); return NULL; } + if (i>=d->nClear) return addClear_WOSD(lpszNewContent); + XMLClear *p=d->pClear+i; + if (lpszNewContent!=p->lpszValue) { free((void*)p->lpszValue); p->lpszValue=lpszNewContent; } + return p; +} + +XMLClear *XMLNode::updateClear_WOSD(XMLSTR lpszNewContent, XMLCSTR lpszOldValue) +{ + if (!d) { if (lpszNewContent) free(lpszNewContent); return NULL; } + int i=indexClear(lpszOldValue); + if (i>=0) return updateClear_WOSD(lpszNewContent,i); + return addClear_WOSD(lpszNewContent); +} + +XMLClear *XMLNode::updateClear_WOSD(XMLClear *newP,XMLClear *oldP) +{ + if (oldP) return updateClear_WOSD((XMLSTR)newP->lpszValue,(XMLSTR)oldP->lpszValue); + return NULL; +} + +int XMLNode::nChildNode(XMLCSTR name) const +{ + if (!d) return 0; + int i,j=0,n=d->nChild; + XMLNode *pc=d->pChild; + for (i=0; id->lpszName, name)==0) j++; + pc++; + } + return j; +} + +XMLNode XMLNode::getChildNode(XMLCSTR name, int *j) const +{ + if (!d) return emptyXMLNode; + int i=0,n=d->nChild; + if (j) i=*j; + XMLNode *pc=d->pChild+i; + for (; id->lpszName, name)) + { + if (j) *j=i+1; + return *pc; + } + pc++; + } + return emptyXMLNode; +} + +XMLNode XMLNode::getChildNode(XMLCSTR name, int j) const +{ + if (!d) return emptyXMLNode; + if (j>=0) + { + int i=0; + while (j-->0) getChildNode(name,&i); + return getChildNode(name,&i); + } + int i=d->nChild; + while (i--) if (!xstricmp(name,d->pChild[i].d->lpszName)) break; + if (i<0) return emptyXMLNode; + return getChildNode(i); +} + +XMLNode XMLNode::getChildNodeByPath(XMLCSTR _path, char createMissing, XMLCHAR sep) +{ + XMLSTR path=stringDup(_path); + XMLNode x=getChildNodeByPathNonConst(path,createMissing,sep); + if (path) free(path); + return x; +} + +XMLNode XMLNode::getChildNodeByPathNonConst(XMLSTR path, char createIfMissing, XMLCHAR sep) +{ + if ((!path)||(!(*path))) return *this; + XMLNode xn,xbase=*this; + XMLCHAR *tend1,sepString[2]; sepString[0]=sep; sepString[1]=0; + tend1=xstrstr(path,sepString); + while(tend1) + { + *tend1=0; + xn=xbase.getChildNode(path); + if (xn.isEmpty()) + { + if (createIfMissing) xn=xbase.addChild(path); + else { *tend1=sep; return XMLNode::emptyXMLNode; } + } + *tend1=sep; + xbase=xn; + path=tend1+1; + tend1=xstrstr(path,sepString); + } + xn=xbase.getChildNode(path); + if (xn.isEmpty()&&createIfMissing) xn=xbase.addChild(path); + return xn; +} + +XMLElementPosition XMLNode::positionOfText (int i) const { if (i>=d->nText ) i=d->nText-1; return findPosition(d,i,eNodeText ); } +XMLElementPosition XMLNode::positionOfClear (int i) const { if (i>=d->nClear) i=d->nClear-1; return findPosition(d,i,eNodeClear); } +XMLElementPosition XMLNode::positionOfChildNode(int i) const { if (i>=d->nChild) i=d->nChild-1; return findPosition(d,i,eNodeChild); } +XMLElementPosition XMLNode::positionOfText (XMLCSTR lpszValue) const { return positionOfText (indexText (lpszValue)); } +XMLElementPosition XMLNode::positionOfClear(XMLCSTR lpszValue) const { return positionOfClear(indexClear(lpszValue)); } +XMLElementPosition XMLNode::positionOfClear(XMLClear *a) const { if (a) return positionOfClear(a->lpszValue); return positionOfClear(); } +XMLElementPosition XMLNode::positionOfChildNode(XMLNode x) const +{ + if ((!d)||(!x.d)) return -1; + XMLNodeData *dd=x.d; + XMLNode *pc=d->pChild; + int i=d->nChild; + while (i--) if (pc[i].d==dd) return findPosition(d,i,eNodeChild); + return -1; +} +XMLElementPosition XMLNode::positionOfChildNode(XMLCSTR name, int count) const +{ + if (!name) return positionOfChildNode(count); + int j=0; + do { getChildNode(name,&j); if (j<0) return -1; } while (count--); + return findPosition(d,j-1,eNodeChild); +} + +XMLNode XMLNode::getChildNodeWithAttribute(XMLCSTR name,XMLCSTR attributeName,XMLCSTR attributeValue, int *k) const +{ + int i=0,j; + if (k) i=*k; + XMLNode x; + XMLCSTR t; + do + { + x=getChildNode(name,&i); + if (!x.isEmpty()) + { + if (attributeValue) + { + j=0; + do + { + t=x.getAttribute(attributeName,&j); + if (t&&(xstricmp(attributeValue,t)==0)) { if (k) *k=i; return x; } + } while (t); + } else + { + if (x.isAttributeSet(attributeName)) { if (k) *k=i; return x; } + } + } + } while (!x.isEmpty()); + return emptyXMLNode; +} + +// Find an attribute on an node. +XMLCSTR XMLNode::getAttribute(XMLCSTR lpszAttrib, int *j) const +{ + if (!d) return NULL; + int i=0,n=d->nAttribute; + if (j) i=*j; + XMLAttribute *pAttr=d->pAttribute+i; + for (; ilpszName, lpszAttrib)==0) + { + if (j) *j=i+1; + return pAttr->lpszValue; + } + pAttr++; + } + return NULL; +} + +char XMLNode::isAttributeSet(XMLCSTR lpszAttrib) const +{ + if (!d) return FALSE; + int i,n=d->nAttribute; + XMLAttribute *pAttr=d->pAttribute; + for (i=0; ilpszName, lpszAttrib)==0) + { + return TRUE; + } + pAttr++; + } + return FALSE; +} + +XMLCSTR XMLNode::getAttribute(XMLCSTR name, int j) const +{ + if (!d) return NULL; + int i=0; + while (j-->0) getAttribute(name,&i); + return getAttribute(name,&i); +} + +XMLNodeContents XMLNode::enumContents(int i) const +{ + XMLNodeContents c; + if (!d) { c.etype=eNodeNULL; return c; } + if (inAttribute) + { + c.etype=eNodeAttribute; + c.attrib=d->pAttribute[i]; + return c; + } + i-=d->nAttribute; + c.etype=(XMLElementType)(d->pOrder[i]&3); + i=(d->pOrder[i])>>2; + switch (c.etype) + { + case eNodeChild: c.child = d->pChild[i]; break; + case eNodeText: c.text = d->pText[i]; break; + case eNodeClear: c.clear = d->pClear[i]; break; + default: break; + } + return c; +} + +XMLCSTR XMLNode::getName() const { if (!d) return NULL; return d->lpszName; } +int XMLNode::nText() const { if (!d) return 0; return d->nText; } +int XMLNode::nChildNode() const { if (!d) return 0; return d->nChild; } +int XMLNode::nAttribute() const { if (!d) return 0; return d->nAttribute; } +int XMLNode::nClear() const { if (!d) return 0; return d->nClear; } +int XMLNode::nElement() const { if (!d) return 0; return d->nAttribute+d->nChild+d->nText+d->nClear; } +XMLClear XMLNode::getClear (int i) const { if ((!d)||(i>=d->nClear )) return emptyXMLClear; return d->pClear[i]; } +XMLAttribute XMLNode::getAttribute (int i) const { if ((!d)||(i>=d->nAttribute)) return emptyXMLAttribute; return d->pAttribute[i]; } +XMLCSTR XMLNode::getAttributeName (int i) const { if ((!d)||(i>=d->nAttribute)) return NULL; return d->pAttribute[i].lpszName; } +XMLCSTR XMLNode::getAttributeValue(int i) const { if ((!d)||(i>=d->nAttribute)) return NULL; return d->pAttribute[i].lpszValue; } +XMLCSTR XMLNode::getText (int i) const { if ((!d)||(i>=d->nText )) return NULL; return d->pText[i]; } +XMLNode XMLNode::getChildNode (int i) const { if ((!d)||(i>=d->nChild )) return emptyXMLNode; return d->pChild[i]; } +XMLNode XMLNode::getParentNode ( ) const { if ((!d)||(!d->pParent )) return emptyXMLNode; return XMLNode(d->pParent); } +char XMLNode::isDeclaration ( ) const { if (!d) return 0; return d->isDeclaration; } +char XMLNode::isEmpty ( ) const { return (d==NULL); } +XMLNode XMLNode::emptyNode ( ) { return XMLNode::emptyXMLNode; } + +XMLNode XMLNode::addChild(XMLCSTR lpszName, char isDeclaration, XMLElementPosition pos) + { return addChild_priv(0,stringDup(lpszName),isDeclaration,pos); } +XMLNode XMLNode::addChild_WOSD(XMLSTR lpszName, char isDeclaration, XMLElementPosition pos) + { return addChild_priv(0,lpszName,isDeclaration,pos); } +XMLAttribute *XMLNode::addAttribute(XMLCSTR lpszName, XMLCSTR lpszValue) + { return addAttribute_priv(0,stringDup(lpszName),stringDup(lpszValue)); } +XMLAttribute *XMLNode::addAttribute_WOSD(XMLSTR lpszName, XMLSTR lpszValuev) + { return addAttribute_priv(0,lpszName,lpszValuev); } +XMLCSTR XMLNode::addText(XMLCSTR lpszValue, XMLElementPosition pos) + { return addText_priv(0,stringDup(lpszValue),pos); } +XMLCSTR XMLNode::addText_WOSD(XMLSTR lpszValue, XMLElementPosition pos) + { return addText_priv(0,lpszValue,pos); } +XMLClear *XMLNode::addClear(XMLCSTR lpszValue, XMLCSTR lpszOpen, XMLCSTR lpszClose, XMLElementPosition pos) + { return addClear_priv(0,stringDup(lpszValue),lpszOpen,lpszClose,pos); } +XMLClear *XMLNode::addClear_WOSD(XMLSTR lpszValue, XMLCSTR lpszOpen, XMLCSTR lpszClose, XMLElementPosition pos) + { return addClear_priv(0,lpszValue,lpszOpen,lpszClose,pos); } +XMLCSTR XMLNode::updateName(XMLCSTR lpszName) + { return updateName_WOSD(stringDup(lpszName)); } +XMLAttribute *XMLNode::updateAttribute(XMLAttribute *newAttribute, XMLAttribute *oldAttribute) + { return updateAttribute_WOSD(stringDup(newAttribute->lpszValue),stringDup(newAttribute->lpszName),oldAttribute->lpszName); } +XMLAttribute *XMLNode::updateAttribute(XMLCSTR lpszNewValue, XMLCSTR lpszNewName,int i) + { return updateAttribute_WOSD(stringDup(lpszNewValue),stringDup(lpszNewName),i); } +XMLAttribute *XMLNode::updateAttribute(XMLCSTR lpszNewValue, XMLCSTR lpszNewName,XMLCSTR lpszOldName) + { return updateAttribute_WOSD(stringDup(lpszNewValue),stringDup(lpszNewName),lpszOldName); } +XMLCSTR XMLNode::updateText(XMLCSTR lpszNewValue, int i) + { return updateText_WOSD(stringDup(lpszNewValue),i); } +XMLCSTR XMLNode::updateText(XMLCSTR lpszNewValue, XMLCSTR lpszOldValue) + { return updateText_WOSD(stringDup(lpszNewValue),lpszOldValue); } +XMLClear *XMLNode::updateClear(XMLCSTR lpszNewContent, int i) + { return updateClear_WOSD(stringDup(lpszNewContent),i); } +XMLClear *XMLNode::updateClear(XMLCSTR lpszNewValue, XMLCSTR lpszOldValue) + { return updateClear_WOSD(stringDup(lpszNewValue),lpszOldValue); } +XMLClear *XMLNode::updateClear(XMLClear *newP,XMLClear *oldP) + { return updateClear_WOSD(stringDup(newP->lpszValue),oldP->lpszValue); } + +char XMLNode::setGlobalOptions(XMLCharEncoding _characterEncoding, char _guessWideCharChars, + char _dropWhiteSpace, char _removeCommentsInMiddleOfText) +{ + guessWideCharChars=_guessWideCharChars; dropWhiteSpace=_dropWhiteSpace; removeCommentsInMiddleOfText=_removeCommentsInMiddleOfText; +#ifdef _XMLWIDECHAR + if (_characterEncoding) characterEncoding=_characterEncoding; +#else + switch(_characterEncoding) + { + case char_encoding_UTF8: characterEncoding=_characterEncoding; XML_ByteTable=XML_utf8ByteTable; break; + case char_encoding_legacy: characterEncoding=_characterEncoding; XML_ByteTable=XML_legacyByteTable; break; + case char_encoding_ShiftJIS: characterEncoding=_characterEncoding; XML_ByteTable=XML_sjisByteTable; break; + case char_encoding_GB2312: characterEncoding=_characterEncoding; XML_ByteTable=XML_gb2312ByteTable; break; + case char_encoding_Big5: + case char_encoding_GBK: characterEncoding=_characterEncoding; XML_ByteTable=XML_gbk_big5_ByteTable; break; + default: return 1; + } +#endif + return 0; +} + +XMLNode::XMLCharEncoding XMLNode::guessCharEncoding(void *buf,int l, char useXMLEncodingAttribute) +{ +#ifdef _XMLWIDECHAR + return (XMLCharEncoding)0; +#else + if (l<25) return (XMLCharEncoding)0; + if (guessWideCharChars&&(myIsTextWideChar(buf,l))) return (XMLCharEncoding)0; + unsigned char *b=(unsigned char*)buf; + if ((b[0]==0xef)&&(b[1]==0xbb)&&(b[2]==0xbf)) return char_encoding_UTF8; + + // Match utf-8 model ? + XMLCharEncoding bestGuess=char_encoding_UTF8; + int i=0; + while (i>2 ]; + *(curr++)=base64EncodeTable[(inbuf[0]<<4)&0x3F]; + *(curr++)=base64Fillchar; + *(curr++)=base64Fillchar; + } else if (eLen==2) + { + j=(inbuf[0]<<8)|inbuf[1]; + *(curr++)=base64EncodeTable[ j>>10 ]; + *(curr++)=base64EncodeTable[(j>> 4)&0x3f]; + *(curr++)=base64EncodeTable[(j<< 2)&0x3f]; + *(curr++)=base64Fillchar; + } + *(curr++)=0; + return (XMLSTR)buf; +} + +unsigned int XMLParserBase64Tool::decodeSize(XMLCSTR data,XMLError *xe) +{ + if (!data) return 0; + if (xe) *xe=eXMLErrorNone; + int size=0; + unsigned char c; + //skip any extra characters (e.g. newlines or spaces) + while (*data) + { +#ifdef _XMLWIDECHAR + if (*data>255) { if (xe) *xe=eXMLErrorBase64DecodeIllegalCharacter; return 0; } +#endif + c=base64DecodeTable[(unsigned char)(*data)]; + if (c<97) size++; + else if (c==98) { if (xe) *xe=eXMLErrorBase64DecodeIllegalCharacter; return 0; } + data++; + } + if (xe&&(size%4!=0)) *xe=eXMLErrorBase64DataSizeIsNotMultipleOf4; + if (size==0) return 0; + do { data--; size--; } while(*data==base64Fillchar); size++; + return (unsigned int)((size*3)/4); +} + +unsigned char XMLParserBase64Tool::decode(XMLCSTR data, unsigned char *buf, int len, XMLError *xe) +{ + if (!data) return 0; + if (xe) *xe=eXMLErrorNone; + int i=0,p=0; + unsigned char d,c; + for(;;) + { + +#ifdef _XMLWIDECHAR +#define BASE64DECODE_READ_NEXT_CHAR(c) \ + do { \ + if (data[i]>255){ c=98; break; } \ + c=base64DecodeTable[(unsigned char)data[i++]]; \ + }while (c==97); \ + if(c==98){ if(xe)*xe=eXMLErrorBase64DecodeIllegalCharacter; return 0; } +#else +#define BASE64DECODE_READ_NEXT_CHAR(c) \ + do { c=base64DecodeTable[(unsigned char)data[i++]]; }while (c==97); \ + if(c==98){ if(xe)*xe=eXMLErrorBase64DecodeIllegalCharacter; return 0; } +#endif + + BASE64DECODE_READ_NEXT_CHAR(c) + if (c==99) { return 2; } + if (c==96) + { + if (p==(int)len) return 2; + if (xe) *xe=eXMLErrorBase64DecodeTruncatedData; + return 1; + } + + BASE64DECODE_READ_NEXT_CHAR(d) + if ((d==99)||(d==96)) { if (xe) *xe=eXMLErrorBase64DecodeTruncatedData; return 1; } + if (p==(int)len) { if (xe) *xe=eXMLErrorBase64DecodeBufferTooSmall; return 0; } + buf[p++]=(unsigned char)((c<<2)|((d>>4)&0x3)); + + BASE64DECODE_READ_NEXT_CHAR(c) + if (c==99) { if (xe) *xe=eXMLErrorBase64DecodeTruncatedData; return 1; } + if (p==(int)len) + { + if (c==96) return 2; + if (xe) *xe=eXMLErrorBase64DecodeBufferTooSmall; + return 0; + } + if (c==96) { if (xe) *xe=eXMLErrorBase64DecodeTruncatedData; return 1; } + buf[p++]=(unsigned char)(((d<<4)&0xf0)|((c>>2)&0xf)); + + BASE64DECODE_READ_NEXT_CHAR(d) + if (d==99 ) { if (xe) *xe=eXMLErrorBase64DecodeTruncatedData; return 1; } + if (p==(int)len) + { + if (d==96) return 2; + if (xe) *xe=eXMLErrorBase64DecodeBufferTooSmall; + return 0; + } + if (d==96) { if (xe) *xe=eXMLErrorBase64DecodeTruncatedData; return 1; } + buf[p++]=(unsigned char)(((c<<6)&0xc0)|d); + } +} +#undef BASE64DECODE_READ_NEXT_CHAR + +void XMLParserBase64Tool::alloc(int newsize) +{ + if ((!buf)&&(newsize)) { buf=malloc(newsize); buflen=newsize; return; } + if (newsize>buflen) { buf=realloc(buf,newsize); buflen=newsize; } +} + +unsigned char *XMLParserBase64Tool::decode(XMLCSTR data, int *outlen, XMLError *xe) +{ + if (xe) *xe=eXMLErrorNone; + if (!data) { *outlen=0; return (unsigned char*)""; } + unsigned int len=decodeSize(data,xe); + if (outlen) *outlen=len; + if (!len) return NULL; + alloc(len+1); + if(!decode(data,(unsigned char*)buf,len,xe)){ return NULL; } + return (unsigned char*)buf; +} + diff --git a/src/xmlParser.h b/src/xmlParser.h new file mode 100644 index 0000000..1187165 --- /dev/null +++ b/src/xmlParser.h @@ -0,0 +1,732 @@ +/****************************************************************************/ +/*! \mainpage XMLParser library + * \section intro_sec Introduction + * + * This is a basic XML parser written in ANSI C++ for portability. + * It works by using recursion and a node tree for breaking + * down the elements of an XML document. + * + * @version V2.44 + * @author Frank Vanden Berghen + * + * Copyright (c) 2002, Frank Vanden Berghen - All rights reserved.
+ * Commercialized by Business-Insight
+ * See the file AFPL-license.txt about the licensing terms + * + * \section tutorial First Tutorial + * You can follow a simple Tutorial to know the basics... + * + * \section usage General usage: How to include the XMLParser library inside your project. + * + * The library is composed of two files: xmlParser.cpp and + * xmlParser.h. These are the ONLY 2 files that you need when + * using the library inside your own projects. + * + * All the functions of the library are documented inside the comments of the file + * xmlParser.h. These comments can be transformed in + * full-fledged HTML documentation using the DOXYGEN software: simply type: "doxygen doxy.cfg" + * + * By default, the XMLParser library uses (char*) for string representation.To use the (wchar_t*) + * version of the library, you need to define the "_UNICODE" preprocessor definition variable + * (this is usually done inside your project definition file) (This is done automatically for you + * when using Visual Studio). + * + * \section example Advanced Tutorial and Many Examples of usage. + * + * Some very small introductory examples are described inside the Tutorial file + * xmlParser.html + * + * Some additional small examples are also inside the file xmlTest.cpp + * (for the "char*" version of the library) and inside the file + * xmlTestUnicode.cpp (for the "wchar_t*" + * version of the library). If you have a question, please review these additionnal examples + * before sending an e-mail to the author. + * + * To build the examples: + * - linux/unix: type "make" + * - solaris: type "make -f makefile.solaris" + * - windows: Visual Studio: double-click on xmlParser.dsw + * (under Visual Studio .NET, the .dsp and .dsw files will be automatically converted to .vcproj and .sln files) + * + * In order to build the examples you need some additional files: + * - linux/unix: makefile + * - solaris: makefile.solaris + * - windows: Visual Studio: *.dsp, xmlParser.dsw and also xmlParser.lib and xmlParser.dll + * + * \section debugging Debugging with the XMLParser library + * + * \subsection debugwin Debugging under WINDOWS + * + * Inside Visual C++, the "debug versions" of the memory allocation functions are + * very slow: Do not forget to compile in "release mode" to get maximum speed. + * When I had to debug a software that was using the XMLParser Library, it was usually + * a nightmare because the library was sooOOOoooo slow in debug mode (because of the + * slow memory allocations in Debug mode). To solve this + * problem, during all the debugging session, I am now using a very fast DLL version of the + * XMLParser Library (the DLL is compiled in release mode). Using the DLL version of + * the XMLParser Library allows me to have lightening XML parsing speed even in debug! + * Other than that, the DLL version is useless: In the release version of my tool, + * I always use the normal, ".cpp"-based, XMLParser Library (I simply include the + * xmlParser.cpp and + * xmlParser.h files into the project). + * + * The file XMLNodeAutoexp.txt contains some + * "tweaks" that improve substancially the display of the content of the XMLNode objects + * inside the Visual Studio Debugger. Believe me, once you have seen inside the debugger + * the "smooth" display of the XMLNode objects, you cannot live without it anymore! + * + * \subsection debuglinux Debugging under LINUX/UNIX + * + * The speed of the debug version of the XMLParser library is tolerable so no extra + * work.has been done. + * + ****************************************************************************/ + +#ifndef __INCLUDE_XML_NODE__ +#define __INCLUDE_XML_NODE__ + +#include + +#if defined(UNICODE) || defined(_UNICODE) +// If you comment the next "define" line then the library will never "switch to" _UNICODE (wchar_t*) mode (16/32 bits per characters). +// This is useful when you get error messages like: +// 'XMLNode::openFileHelper' : cannot convert parameter 2 from 'const char [5]' to 'const wchar_t *' +// The _XMLWIDECHAR preprocessor variable force the XMLParser library into either utf16/32-mode (the proprocessor variable +// must be defined) or utf8-mode(the pre-processor variable must be undefined). +#define _XMLWIDECHAR +#endif + +#if defined(WIN32) || defined(UNDER_CE) || defined(_WIN32) || defined(WIN64) || defined(__BORLANDC__) +// comment the next line if you are under windows and the compiler is not Microsoft Visual Studio (6.0 or .NET) or Borland +#define _XMLWINDOWS +#endif + +#ifdef XMLDLLENTRY +#undef XMLDLLENTRY +#endif +#ifdef _USE_XMLPARSER_DLL +#ifdef _DLL_EXPORTS_ +#define XMLDLLENTRY __declspec(dllexport) +#else +#define XMLDLLENTRY __declspec(dllimport) +#endif +#else +#define XMLDLLENTRY +#endif + +// uncomment the next line if you want no support for wchar_t* (no need for the or libraries anymore to compile) +//#define XML_NO_WIDE_CHAR + +#ifdef XML_NO_WIDE_CHAR +#undef _XMLWINDOWS +#undef _XMLWIDECHAR +#endif + +#ifdef _XMLWINDOWS +#include +#else +#define XMLDLLENTRY +#ifndef XML_NO_WIDE_CHAR +#include // to have 'wcsrtombs' for ANSI version + // to have 'mbsrtowcs' for WIDECHAR version +#endif +#endif + +// Some common types for char set portable code +#ifdef _XMLWIDECHAR + #define _CXML(c) L ## c + #define XMLCSTR const wchar_t * + #define XMLSTR wchar_t * + #define XMLCHAR wchar_t +#else + #define _CXML(c) c + #define XMLCSTR const char * + #define XMLSTR char * + #define XMLCHAR char +#endif +#ifndef FALSE + #define FALSE 0 +#endif /* FALSE */ +#ifndef TRUE + #define TRUE 1 +#endif /* TRUE */ + + +/// Enumeration for XML parse errors. +typedef enum XMLError +{ + eXMLErrorNone = 0, + eXMLErrorMissingEndTag, + eXMLErrorNoXMLTagFound, + eXMLErrorEmpty, + eXMLErrorMissingTagName, + eXMLErrorMissingEndTagName, + eXMLErrorUnmatchedEndTag, + eXMLErrorUnmatchedEndClearTag, + eXMLErrorUnexpectedToken, + eXMLErrorNoElements, + eXMLErrorFileNotFound, + eXMLErrorFirstTagNotFound, + eXMLErrorUnknownCharacterEntity, + eXMLErrorCharacterCodeAbove255, + eXMLErrorCharConversionError, + eXMLErrorCannotOpenWriteFile, + eXMLErrorCannotWriteFile, + + eXMLErrorBase64DataSizeIsNotMultipleOf4, + eXMLErrorBase64DecodeIllegalCharacter, + eXMLErrorBase64DecodeTruncatedData, + eXMLErrorBase64DecodeBufferTooSmall +} XMLError; + + +/// Enumeration used to manage type of data. Use in conjunction with structure XMLNodeContents +typedef enum XMLElementType +{ + eNodeChild=0, + eNodeAttribute=1, + eNodeText=2, + eNodeClear=3, + eNodeNULL=4 +} XMLElementType; + +/// Structure used to obtain error details if the parse fails. +typedef struct XMLResults +{ + enum XMLError error; + int nLine,nColumn; +} XMLResults; + +/// Structure for XML clear (unformatted) node (usually comments) +typedef struct XMLClear { + XMLCSTR lpszValue; XMLCSTR lpszOpenTag; XMLCSTR lpszCloseTag; +} XMLClear; + +/// Structure for XML attribute. +typedef struct XMLAttribute { + XMLCSTR lpszName; XMLCSTR lpszValue; +} XMLAttribute; + +/// XMLElementPosition are not interchangeable with simple indexes +typedef int XMLElementPosition; + +struct XMLNodeContents; + +/** @defgroup XMLParserGeneral The XML parser */ + +/// Main Class representing a XML node +/** + * All operations are performed using this class. + * \note The constructors of the XMLNode class are protected, so use instead one of these four methods to get your first instance of XMLNode: + *
    + *
  • XMLNode::parseString
  • + *
  • XMLNode::parseFile
  • + *
  • XMLNode::openFileHelper
  • + *
  • XMLNode::createXMLTopNode (or XMLNode::createXMLTopNode_WOSD)
  • + *
*/ +typedef struct XMLDLLENTRY XMLNode +{ + private: + + struct XMLNodeDataTag; + + /// Constructors are protected, so use instead one of: XMLNode::parseString, XMLNode::parseFile, XMLNode::openFileHelper, XMLNode::createXMLTopNode + XMLNode(struct XMLNodeDataTag *pParent, XMLSTR lpszName, char isDeclaration); + /// Constructors are protected, so use instead one of: XMLNode::parseString, XMLNode::parseFile, XMLNode::openFileHelper, XMLNode::createXMLTopNode + XMLNode(struct XMLNodeDataTag *p); + + public: + static XMLCSTR getVersion();///< Return the XMLParser library version number + + /** @defgroup conversions Parsing XML files/strings to an XMLNode structure and Rendering XMLNode's to files/string. + * @ingroup XMLParserGeneral + * @{ */ + + /// Parse an XML string and return the root of a XMLNode tree representing the string. + static XMLNode parseString (XMLCSTR lpXMLString, XMLCSTR tag=NULL, XMLResults *pResults=NULL); + /**< The "parseString" function parse an XML string and return the root of a XMLNode tree. The "opposite" of this function is + * the function "createXMLString" that re-creates an XML string from an XMLNode tree. If the XML document is corrupted, the + * "parseString" method will initialize the "pResults" variable with some information that can be used to trace the error. + * If you still want to parse the file, you can use the APPROXIMATE_PARSING option as explained inside the note at the + * beginning of the "xmlParser.cpp" file. + * + * @param lpXMLString the XML string to parse + * @param tag the name of the first tag inside the XML file. If the tag parameter is omitted, this function returns a node that represents the head of the xml document including the declaration term (). + * @param pResults a pointer to a XMLResults variable that will contain some information that can be used to trace the XML parsing error. You can have a user-friendly explanation of the parsing error with the "getError" function. + */ + + /// Parse an XML file and return the root of a XMLNode tree representing the file. + static XMLNode parseFile (XMLCSTR filename, XMLCSTR tag=NULL, XMLResults *pResults=NULL); + /**< The "parseFile" function parse an XML file and return the root of a XMLNode tree. The "opposite" of this function is + * the function "writeToFile" that re-creates an XML file from an XMLNode tree. If the XML document is corrupted, the + * "parseFile" method will initialize the "pResults" variable with some information that can be used to trace the error. + * If you still want to parse the file, you can use the APPROXIMATE_PARSING option as explained inside the note at the + * beginning of the "xmlParser.cpp" file. + * + * @param filename the path to the XML file to parse + * @param tag the name of the first tag inside the XML file. If the tag parameter is omitted, this function returns a node that represents the head of the xml document including the declaration term (). + * @param pResults a pointer to a XMLResults variable that will contain some information that can be used to trace the XML parsing error. You can have a user-friendly explanation of the parsing error with the "getError" function. + */ + + /// Parse an XML file and return the root of a XMLNode tree representing the file. A very crude error checking is made. An attempt to guess the Char Encoding used in the file is made. + static XMLNode openFileHelper(XMLCSTR filename, XMLCSTR tag=NULL); + /**< The "openFileHelper" function reports to the screen all the warnings and errors that occurred during parsing of the XML file. + * This function also tries to guess char Encoding (UTF-8, ASCII or SHIT-JIS) based on the first 200 bytes of the file. Since each + * application has its own way to report and deal with errors, you should rather use the "parseFile" function to parse XML files + * and program yourself thereafter an "error reporting" tailored for your needs (instead of using the very crude "error reporting" + * mechanism included inside the "openFileHelper" function). + * + * If the XML document is corrupted, the "openFileHelper" method will: + * - display an error message on the console (or inside a messageBox for windows). + * - stop execution (exit). + * + * I strongly suggest that you write your own "openFileHelper" method tailored to your needs. If you still want to parse + * the file, you can use the APPROXIMATE_PARSING option as explained inside the note at the beginning of the "xmlParser.cpp" file. + * + * @param filename the path of the XML file to parse. + * @param tag the name of the first tag inside the XML file. If the tag parameter is omitted, this function returns a node that represents the head of the xml document including the declaration term (). + */ + + static XMLCSTR getError(XMLError error); ///< this gives you a user-friendly explanation of the parsing error + + /// Create an XML string starting from the current XMLNode. + XMLSTR createXMLString(int nFormat=1, int *pnSize=NULL) const; + /**< The returned string should be free'd using the "freeXMLString" function. + * + * If nFormat==0, no formatting is required otherwise this returns an user friendly XML string from a given element + * with appropriate white spaces and carriage returns. if pnSize is given it returns the size in character of the string. */ + + /// Save the content of an xmlNode inside a file + XMLError writeToFile(XMLCSTR filename, + const char *encoding=NULL, + char nFormat=1) const; + /**< If nFormat==0, no formatting is required otherwise this returns an user friendly XML string from a given element with appropriate white spaces and carriage returns. + * If the global parameter "characterEncoding==encoding_UTF8", then the "encoding" parameter is ignored and always set to "utf-8". + * If the global parameter "characterEncoding==encoding_ShiftJIS", then the "encoding" parameter is ignored and always set to "SHIFT-JIS". + * If "_XMLWIDECHAR=1", then the "encoding" parameter is ignored and always set to "utf-16". + * If no "encoding" parameter is given the "ISO-8859-1" encoding is used. */ + /** @} */ + + /** @defgroup navigate Navigate the XMLNode structure + * @ingroup XMLParserGeneral + * @{ */ + XMLCSTR getName() const; ///< name of the node + XMLCSTR getText(int i=0) const; ///< return ith text field + int nText() const; ///< nbr of text field + XMLNode getParentNode() const; ///< return the parent node + XMLNode getChildNode(int i=0) const; ///< return ith child node + XMLNode getChildNode(XMLCSTR name, int i) const; ///< return ith child node with specific name (return an empty node if failing). If i==-1, this returns the last XMLNode with the given name. + XMLNode getChildNode(XMLCSTR name, int *i=NULL) const; ///< return next child node with specific name (return an empty node if failing) + XMLNode getChildNodeWithAttribute(XMLCSTR tagName, + XMLCSTR attributeName, + XMLCSTR attributeValue=NULL, + int *i=NULL) const; ///< return child node with specific name/attribute (return an empty node if failing) + XMLNode getChildNodeByPath(XMLCSTR path, char createNodeIfMissing=0, XMLCHAR sep='/'); + ///< return the first child node with specific path + XMLNode getChildNodeByPathNonConst(XMLSTR path, char createNodeIfMissing=0, XMLCHAR sep='/'); + ///< return the first child node with specific path. + + int nChildNode(XMLCSTR name) const; ///< return the number of child node with specific name + int nChildNode() const; ///< nbr of child node + XMLAttribute getAttribute(int i=0) const; ///< return ith attribute + XMLCSTR getAttributeName(int i=0) const; ///< return ith attribute name + XMLCSTR getAttributeValue(int i=0) const; ///< return ith attribute value + char isAttributeSet(XMLCSTR name) const; ///< test if an attribute with a specific name is given + XMLCSTR getAttribute(XMLCSTR name, int i) const; ///< return ith attribute content with specific name (return a NULL if failing) + XMLCSTR getAttribute(XMLCSTR name, int *i=NULL) const; ///< return next attribute content with specific name (return a NULL if failing) + int nAttribute() const; ///< nbr of attribute + XMLClear getClear(int i=0) const; ///< return ith clear field (comments) + int nClear() const; ///< nbr of clear field + XMLNodeContents enumContents(XMLElementPosition i) const; ///< enumerate all the different contents (attribute,child,text, clear) of the current XMLNode. The order is reflecting the order of the original file/string. NOTE: 0 <= i < nElement(); + int nElement() const; ///< nbr of different contents for current node + char isEmpty() const; ///< is this node Empty? + char isDeclaration() const; ///< is this node a declaration + XMLNode deepCopy() const; ///< deep copy (duplicate/clone) a XMLNode + static XMLNode emptyNode(); ///< return XMLNode::emptyXMLNode; + /** @} */ + + ~XMLNode(); + XMLNode(const XMLNode &A); ///< to allow shallow/fast copy: + XMLNode& operator=( const XMLNode& A ); ///< to allow shallow/fast copy: + + XMLNode(): d(NULL){}; + static XMLNode emptyXMLNode; + static XMLClear emptyXMLClear; + static XMLAttribute emptyXMLAttribute; + + /** @defgroup xmlModify Create or Update the XMLNode structure + * @ingroup XMLParserGeneral + * The functions in this group allows you to create from scratch (or update) a XMLNode structure. Start by creating your top + * node with the "createXMLTopNode" function and then add new nodes with the "addChild" function. The parameter 'pos' gives + * the position where the childNode, the text or the XMLClearTag will be inserted. The default value (pos=-1) inserts at the + * end. The value (pos=0) insert at the beginning (Insertion at the beginning is slower than at the end).
+ * + * REMARK: 0 <= pos < nChild()+nText()+nClear()
+ */ + + /** @defgroup creation Creating from scratch a XMLNode structure + * @ingroup xmlModify + * @{ */ + static XMLNode createXMLTopNode(XMLCSTR lpszName, char isDeclaration=FALSE); ///< Create the top node of an XMLNode structure + XMLNode addChild(XMLCSTR lpszName, char isDeclaration=FALSE, XMLElementPosition pos=-1); ///< Add a new child node + XMLNode addChild(XMLNode nodeToAdd, XMLElementPosition pos=-1); ///< If the "nodeToAdd" has some parents, it will be detached from it's parents before being attached to the current XMLNode + XMLAttribute *addAttribute(XMLCSTR lpszName, XMLCSTR lpszValuev); ///< Add a new attribute + XMLCSTR addText(XMLCSTR lpszValue, XMLElementPosition pos=-1); ///< Add a new text content + XMLClear *addClear(XMLCSTR lpszValue, XMLCSTR lpszOpen=NULL, XMLCSTR lpszClose=NULL, XMLElementPosition pos=-1); + /**< Add a new clear tag + * @param lpszOpen default value "" + */ + /** @} */ + + /** @defgroup xmlUpdate Updating Nodes + * @ingroup xmlModify + * Some update functions: + * @{ + */ + XMLCSTR updateName(XMLCSTR lpszName); ///< change node's name + XMLAttribute *updateAttribute(XMLAttribute *newAttribute, XMLAttribute *oldAttribute); ///< if the attribute to update is missing, a new one will be added + XMLAttribute *updateAttribute(XMLCSTR lpszNewValue, XMLCSTR lpszNewName=NULL,int i=0); ///< if the attribute to update is missing, a new one will be added + XMLAttribute *updateAttribute(XMLCSTR lpszNewValue, XMLCSTR lpszNewName,XMLCSTR lpszOldName);///< set lpszNewName=NULL if you don't want to change the name of the attribute if the attribute to update is missing, a new one will be added + XMLCSTR updateText(XMLCSTR lpszNewValue, int i=0); ///< if the text to update is missing, a new one will be added + XMLCSTR updateText(XMLCSTR lpszNewValue, XMLCSTR lpszOldValue); ///< if the text to update is missing, a new one will be added + XMLClear *updateClear(XMLCSTR lpszNewContent, int i=0); ///< if the clearTag to update is missing, a new one will be added + XMLClear *updateClear(XMLClear *newP,XMLClear *oldP); ///< if the clearTag to update is missing, a new one will be added + XMLClear *updateClear(XMLCSTR lpszNewValue, XMLCSTR lpszOldValue); ///< if the clearTag to update is missing, a new one will be added + /** @} */ + + /** @defgroup xmlDelete Deleting Nodes or Attributes + * @ingroup xmlModify + * Some deletion functions: + * @{ + */ + /// The "deleteNodeContent" function forces the deletion of the content of this XMLNode and the subtree. + void deleteNodeContent(); + /**< \note The XMLNode instances that are referring to the part of the subtree that has been deleted CANNOT be used anymore!!. Unexpected results will occur if you continue using them. */ + void deleteAttribute(int i=0); ///< Delete the ith attribute of the current XMLNode + void deleteAttribute(XMLCSTR lpszName); ///< Delete the attribute with the given name (the "strcmp" function is used to find the right attribute) + void deleteAttribute(XMLAttribute *anAttribute); ///< Delete the attribute with the name "anAttribute->lpszName" (the "strcmp" function is used to find the right attribute) + void deleteText(int i=0); ///< Delete the Ith text content of the current XMLNode + void deleteText(XMLCSTR lpszValue); ///< Delete the text content "lpszValue" inside the current XMLNode (direct "pointer-to-pointer" comparison is used to find the right text) + void deleteClear(int i=0); ///< Delete the Ith clear tag inside the current XMLNode + void deleteClear(XMLCSTR lpszValue); ///< Delete the clear tag "lpszValue" inside the current XMLNode (direct "pointer-to-pointer" comparison is used to find the clear tag) + void deleteClear(XMLClear *p); ///< Delete the clear tag "p" inside the current XMLNode (direct "pointer-to-pointer" comparison on the lpszName of the clear tag is used to find the clear tag) + /** @} */ + + /** @defgroup xmlWOSD ???_WOSD functions. + * @ingroup xmlModify + * The strings given as parameters for the "add" and "update" methods that have a name with + * the postfix "_WOSD" (that means "WithOut String Duplication")(for example "addText_WOSD") + * will be free'd by the XMLNode class. For example, it means that this is incorrect: + * \code + * xNode.addText_WOSD("foo"); + * xNode.updateAttribute_WOSD("#newcolor" ,NULL,"color"); + * \endcode + * In opposition, this is correct: + * \code + * xNode.addText("foo"); + * xNode.addText_WOSD(stringDup("foo")); + * xNode.updateAttribute("#newcolor" ,NULL,"color"); + * xNode.updateAttribute_WOSD(stringDup("#newcolor"),NULL,"color"); + * \endcode + * Typically, you will never do: + * \code + * char *b=(char*)malloc(...); + * xNode.addText(b); + * free(b); + * \endcode + * ... but rather: + * \code + * char *b=(char*)malloc(...); + * xNode.addText_WOSD(b); + * \endcode + * ('free(b)' is performed by the XMLNode class) + * @{ */ + static XMLNode createXMLTopNode_WOSD(XMLSTR lpszName, char isDeclaration=FALSE); ///< Create the top node of an XMLNode structure + XMLNode addChild_WOSD(XMLSTR lpszName, char isDeclaration=FALSE, XMLElementPosition pos=-1); ///< Add a new child node + XMLAttribute *addAttribute_WOSD(XMLSTR lpszName, XMLSTR lpszValue); ///< Add a new attribute + XMLCSTR addText_WOSD(XMLSTR lpszValue, XMLElementPosition pos=-1); ///< Add a new text content + XMLClear *addClear_WOSD(XMLSTR lpszValue, XMLCSTR lpszOpen=NULL, XMLCSTR lpszClose=NULL, XMLElementPosition pos=-1); ///< Add a new clear Tag + + XMLCSTR updateName_WOSD(XMLSTR lpszName); ///< change node's name + XMLAttribute *updateAttribute_WOSD(XMLAttribute *newAttribute, XMLAttribute *oldAttribute); ///< if the attribute to update is missing, a new one will be added + XMLAttribute *updateAttribute_WOSD(XMLSTR lpszNewValue, XMLSTR lpszNewName=NULL,int i=0); ///< if the attribute to update is missing, a new one will be added + XMLAttribute *updateAttribute_WOSD(XMLSTR lpszNewValue, XMLSTR lpszNewName,XMLCSTR lpszOldName); ///< set lpszNewName=NULL if you don't want to change the name of the attribute if the attribute to update is missing, a new one will be added + XMLCSTR updateText_WOSD(XMLSTR lpszNewValue, int i=0); ///< if the text to update is missing, a new one will be added + XMLCSTR updateText_WOSD(XMLSTR lpszNewValue, XMLCSTR lpszOldValue); ///< if the text to update is missing, a new one will be added + XMLClear *updateClear_WOSD(XMLSTR lpszNewContent, int i=0); ///< if the clearTag to update is missing, a new one will be added + XMLClear *updateClear_WOSD(XMLClear *newP,XMLClear *oldP); ///< if the clearTag to update is missing, a new one will be added + XMLClear *updateClear_WOSD(XMLSTR lpszNewValue, XMLCSTR lpszOldValue); ///< if the clearTag to update is missing, a new one will be added + /** @} */ + + /** @defgroup xmlPosition Position helper functions (use in conjunction with the update&add functions + * @ingroup xmlModify + * These are some useful functions when you want to insert a childNode, a text or a XMLClearTag in the + * middle (at a specified position) of a XMLNode tree already constructed. The value returned by these + * methods is to be used as last parameter (parameter 'pos') of addChild, addText or addClear. + * @{ */ + XMLElementPosition positionOfText(int i=0) const; + XMLElementPosition positionOfText(XMLCSTR lpszValue) const; + XMLElementPosition positionOfClear(int i=0) const; + XMLElementPosition positionOfClear(XMLCSTR lpszValue) const; + XMLElementPosition positionOfClear(XMLClear *a) const; + XMLElementPosition positionOfChildNode(int i=0) const; + XMLElementPosition positionOfChildNode(XMLNode x) const; + XMLElementPosition positionOfChildNode(XMLCSTR name, int i=0) const; ///< return the position of the ith childNode with the specified name if (name==NULL) return the position of the ith childNode + /** @} */ + + /// Enumeration for XML character encoding. + typedef enum XMLCharEncoding + { + char_encoding_error=0, + char_encoding_UTF8=1, + char_encoding_legacy=2, + char_encoding_ShiftJIS=3, + char_encoding_GB2312=4, + char_encoding_Big5=5, + char_encoding_GBK=6 // this is actually the same as Big5 + } XMLCharEncoding; + + /** \addtogroup conversions + * @{ */ + + /// Sets the global options for the conversions + static char setGlobalOptions(XMLCharEncoding characterEncoding=XMLNode::char_encoding_UTF8, char guessWideCharChars=1, + char dropWhiteSpace=1, char removeCommentsInMiddleOfText=1); + /**< The "setGlobalOptions" function allows you to change four global parameters that affect string & file + * parsing. First of all, you most-probably will never have to change these 3 global parameters. + * + * @param guessWideCharChars If "guessWideCharChars"=1 and if this library is compiled in WideChar mode, then the + * XMLNode::parseFile and XMLNode::openFileHelper functions will test if the file contains ASCII + * characters. If this is the case, then the file will be loaded and converted in memory to + * WideChar before being parsed. If 0, no conversion will be performed. + * + * @param guessWideCharChars If "guessWideCharChars"=1 and if this library is compiled in ASCII/UTF8/char* mode, then the + * XMLNode::parseFile and XMLNode::openFileHelper functions will test if the file contains WideChar + * characters. If this is the case, then the file will be loaded and converted in memory to + * ASCII/UTF8/char* before being parsed. If 0, no conversion will be performed. + * + * @param characterEncoding This parameter is only meaningful when compiling in char* mode (multibyte character mode). + * In wchar_t* (wide char mode), this parameter is ignored. This parameter should be one of the + * three currently recognized encodings: XMLNode::encoding_UTF8, XMLNode::encoding_ascii, + * XMLNode::encoding_ShiftJIS. + * + * @param dropWhiteSpace In most situations, text fields containing only white spaces (and carriage returns) + * are useless. Even more, these "empty" text fields are annoying because they increase the + * complexity of the user's code for parsing. So, 99% of the time, it's better to drop + * the "empty" text fields. However The XML specification indicates that no white spaces + * should be lost when parsing the file. So to be perfectly XML-compliant, you should set + * dropWhiteSpace=0. A note of caution: if you set "dropWhiteSpace=0", the parser will be + * slower and your code will be more complex. + * + * @param removeCommentsInMiddleOfText To explain this parameter, let's consider this code: + * \code + * XMLNode x=XMLNode::parseString("foobarchu","a"); + * \endcode + * If removeCommentsInMiddleOfText=0, then we will have: + * \code + * x.getText(0) -> "foo" + * x.getText(1) -> "bar" + * x.getText(2) -> "chu" + * x.getClear(0) --> "" + * x.getClear(1) --> "" + * \endcode + * If removeCommentsInMiddleOfText=1, then we will have: + * \code + * x.getText(0) -> "foobar" + * x.getText(1) -> "chu" + * x.getClear(0) --> "" + * \endcode + * + * \return "0" when there are no errors. If you try to set an unrecognized encoding then the return value will be "1" to signal an error. + * + * \note Sometime, it's useful to set "guessWideCharChars=0" to disable any conversion + * because the test to detect the file-type (ASCII/UTF8/char* or WideChar) may fail (rarely). */ + + /// Guess the character encoding of the string (ascii, utf8 or shift-JIS) + static XMLCharEncoding guessCharEncoding(void *buffer, int bufLen, char useXMLEncodingAttribute=1); + /**< The "guessCharEncoding" function try to guess the character encoding. You most-probably will never + * have to use this function. It then returns the appropriate value of the global parameter + * "characterEncoding" described in the XMLNode::setGlobalOptions. The guess is based on the content of a buffer of length + * "bufLen" bytes that contains the first bytes (minimum 25 bytes; 200 bytes is a good value) of the + * file to be parsed. The XMLNode::openFileHelper function is using this function to automatically compute + * the value of the "characterEncoding" global parameter. There are several heuristics used to do the + * guess. One of the heuristic is based on the "encoding" attribute. The original XML specifications + * forbids to use this attribute to do the guess but you can still use it if you set + * "useXMLEncodingAttribute" to 1 (this is the default behavior and the behavior of most parsers). + * If an inconsistency in the encoding is detected, then the return value is "0". */ + /** @} */ + + private: + // these are functions and structures used internally by the XMLNode class (don't bother about them): + + typedef struct XMLNodeDataTag // to allow shallow copy and "intelligent/smart" pointers (automatic delete): + { + XMLCSTR lpszName; // Element name (=NULL if root) + int nChild, // Number of child nodes + nText, // Number of text fields + nClear, // Number of Clear fields (comments) + nAttribute; // Number of attributes + char isDeclaration; // Whether node is an XML declaration - '' + struct XMLNodeDataTag *pParent; // Pointer to parent element (=NULL if root) + XMLNode *pChild; // Array of child nodes + XMLCSTR *pText; // Array of text fields + XMLClear *pClear; // Array of clear fields + XMLAttribute *pAttribute; // Array of attributes + int *pOrder; // order of the child_nodes,text_fields,clear_fields + int ref_count; // for garbage collection (smart pointers) + } XMLNodeData; + XMLNodeData *d; + + char parseClearTag(void *px, void *pa); + char maybeAddTxT(void *pa, XMLCSTR tokenPStr); + int ParseXMLElement(void *pXML); + void *addToOrder(int memInc, int *_pos, int nc, void *p, int size, XMLElementType xtype); + int indexText(XMLCSTR lpszValue) const; + int indexClear(XMLCSTR lpszValue) const; + XMLNode addChild_priv(int,XMLSTR,char,int); + XMLAttribute *addAttribute_priv(int,XMLSTR,XMLSTR); + XMLCSTR addText_priv(int,XMLSTR,int); + XMLClear *addClear_priv(int,XMLSTR,XMLCSTR,XMLCSTR,int); + void emptyTheNode(char force); + static inline XMLElementPosition findPosition(XMLNodeData *d, int index, XMLElementType xtype); + static int CreateXMLStringR(XMLNodeData *pEntry, XMLSTR lpszMarker, int nFormat); + static int removeOrderElement(XMLNodeData *d, XMLElementType t, int index); + static void exactMemory(XMLNodeData *d); + static int detachFromParent(XMLNodeData *d); +} XMLNode; + +/// This structure is given by the function XMLNode::enumContents. +typedef struct XMLNodeContents +{ + /// This dictates what's the content of the XMLNodeContent + enum XMLElementType etype; + /**< should be an union to access the appropriate data. Compiler does not allow union of object with constructor... too bad. */ + XMLNode child; + XMLAttribute attrib; + XMLCSTR text; + XMLClear clear; + +} XMLNodeContents; + +/** @defgroup StringAlloc String Allocation/Free functions + * @ingroup xmlModify + * @{ */ +/// Duplicate (copy in a new allocated buffer) the source string. +XMLDLLENTRY XMLSTR stringDup(XMLCSTR source, int cbData=-1); +/**< This is + * a very handy function when used with all the "XMLNode::*_WOSD" functions (\link xmlWOSD \endlink). + * @param cbData If !=0 then cbData is the number of chars to duplicate. New strings allocated with + * this function should be free'd using the "freeXMLString" function. */ + +/// to free the string allocated inside the "stringDup" function or the "createXMLString" function. +XMLDLLENTRY void freeXMLString(XMLSTR t); // {free(t);} +/** @} */ + +/** @defgroup atoX ato? like functions + * @ingroup XMLParserGeneral + * The "xmlto?" functions are equivalents to the atoi, atol, atof functions. + * The only difference is: If the variable "xmlString" is NULL, than the return value + * is "defautValue". These 6 functions are only here as "convenience" functions for the + * user (they are not used inside the XMLparser). If you don't need them, you can + * delete them without any trouble. + * + * @{ */ +XMLDLLENTRY char xmltob(XMLCSTR xmlString,char defautValue=0); +XMLDLLENTRY int xmltoi(XMLCSTR xmlString,int defautValue=0); +XMLDLLENTRY long long xmltol(XMLCSTR xmlString,long long defautValue=0); +XMLDLLENTRY double xmltof(XMLCSTR xmlString,double defautValue=.0); +XMLDLLENTRY XMLCSTR xmltoa(XMLCSTR xmlString,XMLCSTR defautValue=_CXML("")); +XMLDLLENTRY XMLCHAR xmltoc(XMLCSTR xmlString,const XMLCHAR defautValue=_CXML('\0')); +/** @} */ + +/** @defgroup ToXMLStringTool Helper class to create XML files using "printf", "fprintf", "cout",... functions. + * @ingroup XMLParserGeneral + * @{ */ +/// Helper class to create XML files using "printf", "fprintf", "cout",... functions. +/** The ToXMLStringTool class helps you creating XML files using "printf", "fprintf", "cout",... functions. + * The "ToXMLStringTool" class is processing strings so that all the characters + * &,",',<,> are replaced by their XML equivalent: + * \verbatim &, ", ', <, > \endverbatim + * Using the "ToXMLStringTool class" and the "fprintf function" is THE most efficient + * way to produce VERY large XML documents VERY fast. + * \note If you are creating from scratch an XML file using the provided XMLNode class + * you must not use the "ToXMLStringTool" class (because the "XMLNode" class does the + * processing job for you during rendering).*/ +typedef struct XMLDLLENTRY ToXMLStringTool +{ +public: + ToXMLStringTool(): buf(NULL),buflen(0){} + ~ToXMLStringTool(); + void freeBuffer();/// Date: Fri, 23 Oct 2020 09:50:56 -0400 Subject: [PATCH 23/55] Parsing WINDOW BSDF XML files using XMLParser. XMLParser library is 3rd party and has been given a BSD license for our use. --- src/CMakeLists.txt | 3 +- src/Parser.cpp | 1153 +++++++++------- src/Parser.hpp | 111 +- src/ProductData.cpp | 308 ++--- src/ProductData.hpp | 300 ++-- src/xmlParser.cpp | 32 +- src/xmlParser.h | 31 +- test/CMakeLists.txt | 1 + test/InputDifferentEmissivities.unit.cpp | 129 +- test/InputFile1.unit.cpp | 194 +-- test/InputInvertedEmissivities.unit.cpp | 128 +- test/products/2011-SA1.XML | 1371 +++++++++++++++++++ test/read_bsdf_xml_file.unit.cpp | 76 + test/read_checker_tool_json_file.unit.cpp | 63 +- test/read_igsdb_shading_layer_json.unit.cpp | 180 +-- test/read_json_file_from_disk.unit.cpp | 58 +- test/read_optics_file_from_disk.unit.cpp | 166 +-- 17 files changed, 2923 insertions(+), 1381 deletions(-) create mode 100644 test/products/2011-SA1.XML create mode 100644 test/read_bsdf_xml_file.unit.cpp diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 626b02f..306d1c9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -26,7 +26,8 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") target_compile_options(${LIB_NAME} PRIVATE -Wall -Wextra -pedantic -Werror) endif() if (MSVC) - target_compile_options(${LIB_NAME} PRIVATE /W4 /WX) + target_compile_options(${LIB_NAME} PRIVATE /W4 /WX /wd4706) #4706 is "assignment within conditional expression". Occurs in several places in xmlParser.cpp + endif() diff --git a/src/Parser.cpp b/src/Parser.cpp index 73b4f77..6a3ba56 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -1,657 +1,766 @@ #include #include #include +#include #include #include "Parser.hpp" -std::shared_ptr - OpticsParser::Parser::parseFile(const std::string & inputFile) +#include "xmlParser.h" + +namespace OpticsParser { - std::string fileName = inputFile.substr(inputFile.find_last_of("/\\") + 1); - std::shared_ptr product(new OpticsParser::ProductData); - product->measurements = std::vector(); - std::ifstream inFile(inputFile); - std::string line; - while(std::getline(inFile, line)) + std::string toLower(std::string s) { - if(line.find('{') != std::string::npos) - { - parseHeaderLine(line, product); - } - else +#pragma warning(push) +#pragma warning(disable : 4244) + std::for_each(s.begin(), s.end(), [](char & c) { c = std::tolower(c); }); +#pragma warning(pop) + return s; + } + + std::shared_ptr Parser::parseFile(const std::string & inputFile) + { + std::string fileName = inputFile.substr(inputFile.find_last_of("/\\") + 1); + std::shared_ptr product(new ProductData); + product->measurements = std::vector(); + std::ifstream inFile(inputFile); + std::string line; + while(std::getline(inFile, line)) { - if(!line.empty()) + if(line.find('{') != std::string::npos) { - parseMeasurementLine(line, product); + parseHeaderLine(line, product); + } + else + { + if(!line.empty()) + { + parseMeasurementLine(line, product); + } } } - } - product->fileName = fileName; - // product->token = fileName; + product->fileName = fileName; + // product->token = fileName; - return product; -} - -void OpticsParser::Parser::parseHeaderLine(const std::string & line, - std::shared_ptr product) -{ - parseUnits(line, product); - parsePropertyAtTheEnd("Thickness", "}", line, product->thickness); - parsePropertyAtTheEnd("Conductivity", "}", line, product->conductivity); - parsePropertyAtTheEnd("IR Transmittance", "TIR=", line, product->IRTransmittance); - parseEmissivities(line, product); - parseStringPropertyInsideBraces(line, "Product Name", product->productName); - parseStringPropertyInsideBraces(line, "Type", product->productType); - parseStringPropertyInsideBraces(line, "Ef_Source", product->frontEmissivitySource); - parseStringPropertyInsideBraces(line, "Eb_Source", product->backEmissivitySource); - parseStringPropertyInsideBraces(line, "Manufacturer", product->manufacturer); - parseStringPropertyInsideBraces(line, "Material", product->material); - parseStringPropertyInsideBraces(line, "Coating Name", product->coatingName); - parseStringPropertyInsideBraces(line, "Coated Side", product->coatedSide); - parseStringPropertyInsideBraces(line, "Substrate Filename", product->substrateFilename); - parseStringPropertyInsideBraces(line, "Appearance", product->appearance); - parseStringPropertyInsideBraces(line, "Acceptance", product->acceptance); - parseStringPropertyInsideBraces(line, "Extrapolation", product->extrapolation); - parseBoolPropertyInsideBraces(line, "Specularity", product->specularity); - parseDoublePropertyInsideBraces(line, "Permeability Factor", product->permeabilityFactor); - parseNFRCID(line, product); - parseAERCID(line, product); -} - -OpticsParser::WLData parseDirectMeasurementLine(std::vector const & values) -{ - double wl = values[0]; - double tf = values[1]; - double tb = tf; - double rf = values[2]; - double rb = values[3]; - OpticsParser::MeasurementComponent directValues{tf, tb, rf, rb}; - return OpticsParser::WLData(wl, directValues); -} - -OpticsParser::WLData parseDiffuseMeasurementLine(std::vector const & values) -{ - double wl = values[0]; - double tfDirect = values[1]; - double tbDirect = values[3]; - double rfDirect = values[5]; - double rbDirect = values[7]; - double tfDiffuse = values[2]; - double tbDiffuse = values[4]; - double rfDiffuse = values[6]; - double rbDiffuse = values[8]; - - OpticsParser::MeasurementComponent directValues{tfDirect, tbDirect, rfDirect, rbDirect}; - OpticsParser::MeasurementComponent diffuseValues{tfDiffuse, tbDiffuse, rfDiffuse, rbDiffuse}; - return OpticsParser::WLData(wl, directValues, diffuseValues); -} - - -void OpticsParser::Parser::parseMeasurementLine(const std::string & line, - std::shared_ptr product) -{ - std::vector result; - std::istringstream iss(line); - for(std::string s; iss >> s;) - result.push_back(std::stod(s)); - - std::map const &)>> - measuredValueToParser; - measuredValueToParser[4] = &parseDirectMeasurementLine; - measuredValueToParser[9] = &parseDiffuseMeasurementLine; - - - auto parser = measuredValueToParser.find(result.size()); + return product; + } - std::vector measurements; + void Parser::parseHeaderLine(const std::string & line, std::shared_ptr product) + { + parseUnits(line, product); + parsePropertyAtTheEnd("Thickness", "}", line, product->thickness); + parsePropertyAtTheEnd("Conductivity", "}", line, product->conductivity); + parsePropertyAtTheEnd("IR Transmittance", "TIR=", line, product->IRTransmittance); + parseEmissivities(line, product); + parseStringPropertyInsideBraces(line, "Product Name", product->productName); + parseStringPropertyInsideBraces(line, "Type", product->productType); + parseStringPropertyInsideBraces(line, "Ef_Source", product->frontEmissivitySource); + parseStringPropertyInsideBraces(line, "Eb_Source", product->backEmissivitySource); + parseStringPropertyInsideBraces(line, "Manufacturer", product->manufacturer); + parseStringPropertyInsideBraces(line, "Material", product->material); + parseStringPropertyInsideBraces(line, "Coating Name", product->coatingName); + parseStringPropertyInsideBraces(line, "Coated Side", product->coatedSide); + parseStringPropertyInsideBraces(line, "Substrate Filename", product->substrateFilename); + parseStringPropertyInsideBraces(line, "Appearance", product->appearance); + parseStringPropertyInsideBraces(line, "Acceptance", product->acceptance); + parseStringPropertyInsideBraces(line, "Extrapolation", product->extrapolation); + parseBoolPropertyInsideBraces(line, "Specularity", product->specularity); + parseDoublePropertyInsideBraces(line, "Permeability Factor", product->permeabilityFactor); + parseNFRCID(line, product); + parseAERCID(line, product); + } - if(parser != measuredValueToParser.end()) + WLData parseDirectMeasurementLine(std::vector const & values) { - auto parsedValues = parser->second(result); - product->measurements.value().push_back(parsedValues); + double wl = values[0]; + double tf = values[1]; + double tb = tf; + double rf = values[2]; + double rb = values[3]; + MeasurementComponent directValues{tf, tb, rf, rb}; + return WLData(wl, directValues); } - else + + WLData parseDiffuseMeasurementLine(std::vector const & values) { - throw std::runtime_error("Unknown measured data line format."); + double wl = values[0]; + double tfDirect = values[1]; + double tbDirect = values[3]; + double rfDirect = values[5]; + double rbDirect = values[7]; + double tfDiffuse = values[2]; + double tbDiffuse = values[4]; + double rfDiffuse = values[6]; + double rbDiffuse = values[8]; + + MeasurementComponent directValues{tfDirect, tbDirect, rfDirect, rbDirect}; + MeasurementComponent diffuseValues{tfDiffuse, tbDiffuse, rfDiffuse, rbDiffuse}; + return WLData(wl, directValues, diffuseValues); } -} -void OpticsParser::Parser::parseEmissivities(const std::string & line, - std::shared_ptr product) -{ - if(line.find("Emissivity") != std::string::npos) + void Parser::parseMeasurementLine(const std::string & line, + std::shared_ptr product) { - size_t emis_values_idx = line.find("Emis="); - if(emis_values_idx == std::string::npos) - { - // If there is a Emissivity header field but no values that is OK, just return - return; - } - std::string str = line.substr(emis_values_idx + 5); std::vector result; - std::istringstream iss(str); + std::istringstream iss(line); for(std::string s; iss >> s;) result.push_back(std::stod(s)); - if(result.size() != 2) - { - throw std::runtime_error("Emissivities line have incorrect number of data."); - } - auto front = line.find("front"); - auto back = line.find("back"); - double ef = -1; - double eb = -1; - if(front < back) + + std::map const &)>> measuredValueToParser; + measuredValueToParser[4] = &parseDirectMeasurementLine; + measuredValueToParser[9] = &parseDiffuseMeasurementLine; + + + auto parser = measuredValueToParser.find(result.size()); + + + if(parser != measuredValueToParser.end()) { - ef = result[0]; - eb = result[1]; + std::vector & measurements = + std::get>(product->measurements.value()); + auto parsedValues = parser->second(result); + measurements.push_back(parsedValues); } else { - eb = result[0]; - ef = result[1]; + throw std::runtime_error("Unknown measured data line format."); } - product->frontEmissivity = ef; - product->backEmissivity = eb; } -} -void OpticsParser::Parser::parseUnits(const std::string & line, - std::shared_ptr product) -{ - if(line.find("Units, Wavelength Units") != std::string::npos) + + void Parser::parseEmissivities(const std::string & line, std::shared_ptr product) { - std::string str = line.substr(line.find("}") + 1); - std::vector result; - std::istringstream iss(str); - for(std::string s; iss >> s;) + if(line.find("Emissivity") != std::string::npos) { - result.push_back(s); + size_t emis_values_idx = line.find("Emis="); + if(emis_values_idx == std::string::npos) + { + // If there is a Emissivity header field but no values that is OK, just return + return; + } + std::string str = line.substr(emis_values_idx + 5); + std::vector result; + std::istringstream iss(str); + for(std::string s; iss >> s;) + result.push_back(std::stod(s)); + if(result.size() != 2) + { + throw std::runtime_error("Emissivities line have incorrect number of data."); + } + auto front = line.find("front"); + auto back = line.find("back"); + double ef = -1; + double eb = -1; + if(front < back) + { + ef = result[0]; + eb = result[1]; + } + else + { + eb = result[0]; + ef = result[1]; + } + product->frontEmissivity = ef; + product->backEmissivity = eb; } + } - - if(result.size() != 2) + void Parser::parseUnits(const std::string & line, std::shared_ptr product) + { + if(line.find("Units, Wavelength Units") != std::string::npos) { - throw std::runtime_error("Units line has incorrect number of values."); - } + std::string str = line.substr(line.find("}") + 1); + std::vector result; + std::istringstream iss(str); + for(std::string s; iss >> s;) + { + result.push_back(s); + } + + + if(result.size() != 2) + { + throw std::runtime_error("Units line has incorrect number of values."); + } - product->unitSystem = result[0]; - product->wavelengthUnit = result[1]; + product->unitSystem = result[0]; + product->wavelengthUnit = result[1]; + } } -} -void OpticsParser::Parser::parseNFRCID(const std::string & line, - std::shared_ptr product) -{ - if(line.find("NFRC") != std::string::npos) + void Parser::parseNFRCID(const std::string & line, std::shared_ptr product) { - std::string str = line.substr(line.find("ID:") + 3); - auto erasePos = str.find('}'); - str.erase(erasePos, 1); - product->nfrcid = std::stoi(str); + if(line.find("NFRC") != std::string::npos) + { + std::string str = line.substr(line.find("ID:") + 3); + auto erasePos = str.find('}'); + str.erase(erasePos, 1); + product->nfrcid = std::stoi(str); + } } -} -void OpticsParser::Parser::parseAERCID(const std::string & line, - std::shared_ptr product) -{ - if(line.find("AERC") != std::string::npos) + void Parser::parseAERCID(const std::string & line, std::shared_ptr product) { - std::string str = line.substr(line.find("ID:") + 3); - auto erasePos = str.find('}'); - str.erase(erasePos, 1); - product->aercID = std::stoi(str); + if(line.find("AERC") != std::string::npos) + { + std::string str = line.substr(line.find("ID:") + 3); + auto erasePos = str.find('}'); + str.erase(erasePos, 1); + product->aercID = std::stoi(str); + } } -} -void OpticsParser::Parser::parseBoolPropertyInsideBraces(const std::string & line, - std::string search, - std::optional & property) -{ - std::string val(""); - parseStringPropertyInsideBraces(line, search, val); - if(val.length() > 1) + void Parser::parseBoolPropertyInsideBraces(const std::string & line, + std::string search, + std::optional & property) { - std::string upperCase = val; + std::string val(""); + parseStringPropertyInsideBraces(line, search, val); + if(val.length() > 1) + { + std::string upperCase = val; #ifdef _MSC_VER # pragma warning(push) # pragma warning(disable : 4244) -# endif - std::for_each(upperCase.begin(), upperCase.end(), [](char & c) { c = ::toupper(c); }); +#endif + std::for_each(upperCase.begin(), upperCase.end(), [](char & c) { c = ::toupper(c); }); #ifdef _MSC_VER # pragma warning(pop) #endif - if(upperCase == "TRUE") - { - property = true; - } - else if(upperCase == "FALSE") - { - property = false; - } - else - { - std::stringstream msg; - msg << "Unable to convert " << val << " to a boolean when parsing field: " << search; - throw std::runtime_error(msg.str()); + if(upperCase == "TRUE") + { + property = true; + } + else if(upperCase == "FALSE") + { + property = false; + } + else + { + std::stringstream msg; + msg << "Unable to convert " << val + << " to a boolean when parsing field: " << search; + throw std::runtime_error(msg.str()); + } } } -} -void OpticsParser::Parser::parseDoublePropertyInsideBraces(const std::string & line, - std::string search, - std::optional & property) -{ - std::string val(""); - parseStringPropertyInsideBraces(line, search, val); - if(val.length() > 0) + void Parser::parseDoublePropertyInsideBraces(const std::string & line, + std::string search, + std::optional & property) { - property = std::stod(val); + std::string val(""); + parseStringPropertyInsideBraces(line, search, val); + if(val.length() > 0) + { + property = std::stod(val); + } } -} -template -std::optional get_optional_field(nlohmann::json const & json, std::string const & field_name) -{ - std::optional data; - if(json.count(field_name)) + template + std::optional get_optional_field(nlohmann::json const & json, std::string const & field_name) { - auto field = json.at(field_name); - if(!field.is_null()) + std::optional data; + if(json.count(field_name)) { - data = json.at(field_name).get(); + auto field = json.at(field_name); + if(!field.is_null()) + { + data = json.at(field_name).get(); + } } + return data; } - return data; -} -# if 0 -OpticsParser::ProductData parseCheckerToolJson_OLD(nlohmann::json const & product_json) -{ - std::string product_name = product_json.at("product_name").get(); - std::string product_type = product_json.at("product_type").get(); - int nfrc_id = product_json.value("nfrc_id", -1); - std::string manufacturer = product_json.at("manufacturer").get(); - std::string material_name = ""; // TODO - std::string coating_name = - product_json.at("coating_properties").at("coating_name").get(); - std::string coated_side = - product_json.at("coating_properties").at("coated_side").get(); - std::string substrate_filename = ""; // TODO - std::string appearance = product_json.at("appearance").get(); - std::string acceptance = product_json.at("acceptance").get(); - - - nlohmann::json measured_data_json = product_json.at("measured_data"); - - double thickness = measured_data_json.at("thickness").get(); - double conductivity = -1; // TODO - double tir_front = measured_data_json.at("tir_front").get(); - double emissivity_front = measured_data_json.at("emissivity_front").get(); - double emissivity_back = measured_data_json.at("emissivity_back").get(); - std::string emissivity_front_source = ""; // TODO - std::string emissivity_back_source = ""; // TODO - std::string filename = ""; // TODO - std::string unit_system = ""; // TODO - std::string wavelength_units = ""; // TODO - - - nlohmann::json spectral_data_json = measured_data_json.at("spectral_data"); - nlohmann::json wavelength_data_json = - spectral_data_json.at("angle_block")[0].at("wavelength_data"); - - std::vector measurements; - - for(nlohmann::json::iterator itr = wavelength_data_json.begin(); - itr != wavelength_data_json.end(); - ++itr) + + std::shared_ptr parseCheckerToolJson(nlohmann::json const & product_json) { - auto val = itr.value(); - double wl = val.at("w").get(); - double t = val.at("tf").get(); - double rf = val.at("rf").get(); - double rb = val.at("rb").get(); - measurements.push_back(OpticsParser::WLData(wl, t, rf, rb)); - } + std::shared_ptr product(new ProductData); + product->productName = product_json.at("product_name").get(); + product->productType = product_json.at("product_type").get(); + product->nfrcid = get_optional_field(product_json, "nfrc_id"); + product->manufacturer = product_json.at("manufacturer").get(); + if(product_json.count("material_bulk_properties")) + { + product->material = + get_optional_field(product_json.at("material_bulk_properties"), "name"); + } - OpticsParser::ProductData productData(product_name, - product_type, - nfrc_id, - thickness, - conductivity, - tir_front, - emissivity_front, - emissivity_back, - emissivity_front_source, - emissivity_back_source, - manufacturer, - material_name, - coating_name, - coated_side, - substrate_filename, - appearance, - acceptance, - filename, - unit_system, - wavelength_units, - measurements); - - return productData; -} -# endif - -std::shared_ptr parseCheckerToolJson(nlohmann::json const & product_json) -{ - std::shared_ptr product(new OpticsParser::ProductData); - product->productName = product_json.at("product_name").get(); - product->productType = product_json.at("product_type").get(); + if(product_json.count("coating_properties")) + { + product->coatingName = get_optional_field( + product_json.at("coating_properties"), "coating_name"); + product->coatedSide = + get_optional_field(product_json.at("coating_properties"), "coated_side"); + } - product->nfrcid = get_optional_field(product_json, "nfrc_id"); - product->manufacturer = product_json.at("manufacturer").get(); - if(product_json.count("material_bulk_properties")) - { - product->material = - get_optional_field(product_json.at("material_bulk_properties"), "name"); - } + if(product_json.count("interlayer_properties")) + { + product->substrateFilename = get_optional_field( + product_json.at("interlayer_properties"), "interlayer_name"); + } - if(product_json.count("coating_properties")) - { - product->coatingName = - get_optional_field(product_json.at("coating_properties"), "coating_name"); - product->coatedSide = - get_optional_field(product_json.at("coating_properties"), "coated_side"); - } - if(product_json.count("interlayer_properties")) - { - product->substrateFilename = get_optional_field( - product_json.at("interlayer_properties"), "interlayer_name"); - } + product->appearance = get_optional_field(product_json, "appearance"); + product->acceptance = get_optional_field(product_json, "acceptance"); + product->fileName = get_optional_field(product_json, "filename"); + product->unitSystem = get_optional_field(product_json, "unit_system"); + + nlohmann::json measured_data_json = product_json.at("measured_data"); + product->thickness = get_optional_field( + measured_data_json, "thickness"); // measured_data_json.at("thickness").get(); + if(measured_data_json.count("bulk_properties_override")) + { + product->conductivity = get_optional_field( + measured_data_json.at("bulk_properties_override"), "thermal_conductivity"); + } - product->appearance = get_optional_field(product_json, "appearance"); - product->acceptance = get_optional_field(product_json, "acceptance"); - product->fileName = get_optional_field(product_json, "filename"); - product->unitSystem = get_optional_field(product_json, "unit_system"); + product->IRTransmittance = get_optional_field(measured_data_json, "tir_front"); + product->frontEmissivity = + get_optional_field(measured_data_json, "emissivity_front"); + product->backEmissivity = get_optional_field(measured_data_json, "emissivity_back"); - nlohmann::json measured_data_json = product_json.at("measured_data"); + product->frontEmissivitySource = + get_optional_field(measured_data_json, "emissivity_front_source"); - product->thickness = get_optional_field( - measured_data_json, "thickness"); // measured_data_json.at("thickness").get(); - if(measured_data_json.count("bulk_properties_override")) - { - product->conductivity = get_optional_field( - measured_data_json.at("bulk_properties_override"), "thermal_conductivity"); - } + product->backEmissivitySource = + get_optional_field(measured_data_json, "emissivity_back_source"); - product->IRTransmittance = get_optional_field(measured_data_json, "tir_front"); - product->frontEmissivity = get_optional_field(measured_data_json, "emissivity_front"); - product->backEmissivity = get_optional_field(measured_data_json, "emissivity_back"); + product->backEmissivitySource = + get_optional_field(measured_data_json, "wavelength_units"); - product->frontEmissivitySource = - get_optional_field(measured_data_json, "emissivity_front_source"); + std::vector measurements; - product->backEmissivitySource = - get_optional_field(measured_data_json, "emissivity_back_source"); + nlohmann::json spectral_data_json = measured_data_json.at("spectral_data"); + if(!spectral_data_json.is_null()) + { + nlohmann::json wavelength_data_json = + spectral_data_json.at("angle_block")[0].at("wavelength_data"); + + for(nlohmann::json::iterator itr = wavelength_data_json.begin(); + itr != wavelength_data_json.end(); + ++itr) + { + auto val = itr.value(); + double wl = val.at("w").get(); + double t = val.at("tf").get(); + double rf = val.at("rf").get(); + double rb = val.at("rb").get(); + MeasurementComponent directValues{t, t, rf, rb}; + measurements.push_back(WLData(wl, directValues)); + } + } + if(!measurements.empty()) + { + product->measurements = measurements; + } - product->backEmissivitySource = - get_optional_field(measured_data_json, "wavelength_units"); + return product; + } - std::vector measurements; - nlohmann::json spectral_data_json = measured_data_json.at("spectral_data"); - if(!spectral_data_json.is_null()) + std::shared_ptr + parseIGSDBJsonUncomposedProduct(nlohmann::json const & product_json) { - nlohmann::json wavelength_data_json = - spectral_data_json.at("angle_block")[0].at("wavelength_data"); + std::shared_ptr product(new ProductData); + product->productName = product_json.at("name").get(); + product->productType = product_json.at("type").get(); + product->subtype = get_optional_field(product_json, "subtype"); - for(nlohmann::json::iterator itr = wavelength_data_json.begin(); - itr != wavelength_data_json.end(); - ++itr) + product->nfrcid = get_optional_field(product_json, "nfrc_id"); + product->manufacturer = product_json.at("manufacturer_name").get(); + product->material = + get_optional_field(product_json, "material_bulk_properties"); + + if(product_json.count("coating_properties")) { - auto val = itr.value(); - double wl = val.at("w").get(); - double t = val.at("tf").get(); - double rf = val.at("rf").get(); - double rb = val.at("rb").get(); - OpticsParser::MeasurementComponent directValues{t, t, rf, rb}; - measurements.push_back(OpticsParser::WLData(wl, directValues)); + product->coatingName = get_optional_field( + product_json.at("coating_properties"), "coating_name"); + product->coatedSide = + get_optional_field(product_json.at("coating_properties"), "coated_side"); } - } - if(!measurements.empty()) - { - product->measurements = measurements; - } - return product; -} + if(product_json.count("interlayer_properties")) + { + product->substrateFilename = get_optional_field( + product_json.at("interlayer_properties"), "interlayer_name"); + } -std::shared_ptr - parseIGSDBJsonUncomposedProduct(nlohmann::json const & product_json) -{ - std::shared_ptr product(new OpticsParser::ProductData); - product->productName = product_json.at("name").get(); - product->productType = product_json.at("type").get(); - product->subtype = get_optional_field(product_json, "subtype"); + product->appearance = get_optional_field(product_json, "appearance"); + product->acceptance = get_optional_field(product_json, "acceptance"); + product->fileName = get_optional_field(product_json, "filename"); + product->unitSystem = get_optional_field(product_json, "unit_system"); - product->nfrcid = get_optional_field(product_json, "nfrc_id"); - product->manufacturer = product_json.at("manufacturer_name").get(); - product->material = get_optional_field(product_json, "material_bulk_properties"); + nlohmann::json measured_data_json = product_json.at("measured_data"); - if(product_json.count("coating_properties")) - { - product->coatingName = - get_optional_field(product_json.at("coating_properties"), "coating_name"); - product->coatedSide = - get_optional_field(product_json.at("coating_properties"), "coated_side"); - } + product->thickness = get_optional_field(measured_data_json, "thickness"); + product->conductivity = get_optional_field(measured_data_json, "conductivity"); + product->IRTransmittance = get_optional_field(measured_data_json, "tir_front"); + product->frontEmissivity = + get_optional_field(measured_data_json, "emissivity_front"); + product->backEmissivity = get_optional_field(measured_data_json, "emissivity_back"); - if(product_json.count("interlayer_properties")) - { - product->substrateFilename = get_optional_field( - product_json.at("interlayer_properties"), "interlayer_name"); - } + product->frontEmissivitySource = + get_optional_field(measured_data_json, "emissivity_front_source"); + product->backEmissivitySource = + get_optional_field(measured_data_json, "emissivity_back_source"); - product->appearance = get_optional_field(product_json, "appearance"); - product->acceptance = get_optional_field(product_json, "acceptance"); - product->fileName = get_optional_field(product_json, "filename"); - product->unitSystem = get_optional_field(product_json, "unit_system"); + product->backEmissivitySource = + get_optional_field(measured_data_json, "wavelength_units"); - nlohmann::json measured_data_json = product_json.at("measured_data"); - product->thickness = get_optional_field(measured_data_json, "thickness"); - product->conductivity = get_optional_field(measured_data_json, "conductivity"); - product->IRTransmittance = get_optional_field(measured_data_json, "tir_front"); - product->frontEmissivity = get_optional_field(measured_data_json, "emissivity_front"); - product->backEmissivity = get_optional_field(measured_data_json, "emissivity_back"); + nlohmann::json spectral_data_json = product_json.at("spectral_data"); + if(!spectral_data_json.is_null()) + { + nlohmann::json wavelength_data_json = spectral_data_json.at("spectral_data"); - product->frontEmissivitySource = - get_optional_field(measured_data_json, "emissivity_front_source"); + std::vector measurements; - product->backEmissivitySource = - get_optional_field(measured_data_json, "emissivity_back_source"); + for(nlohmann::json::iterator itr = wavelength_data_json.begin(); + itr != wavelength_data_json.end(); + ++itr) + { + auto val = itr.value(); + double wl = val.at("wavelength").get(); + double t = val.at("T").get(); + double rf = val.at("Rf").get(); + double rb = val.at("Rb").get(); + MeasurementComponent directValues{t, t, rf, rb}; + measurements.push_back(WLData(wl, directValues)); + } + if(!measurements.empty()) + { + product->measurements = measurements; + } + } + return product; + } + + std::shared_ptr parseVenetianGeometry(nlohmann::json const & geometry_json) + { + auto slatWidth = geometry_json.at("slat_width").get(); + auto slatSpacing = geometry_json.at("slat_spacing").get(); + auto slatCurvature = geometry_json.at("slat_curvature").get(); + auto numberSegments = geometry_json.at("number_segments").get(); + double slatTilt = geometry_json.value("slat_tilt", 0.0); + + // These values are stored as mm in the sources being parsed. + // Convert to meters here for consistancy with other non-wavelength + // length units. + slatWidth /= 1000.0; + slatSpacing /= 1000.0; + slatCurvature /= 1000.0; + + return std::shared_ptr( + new VenetianGeometry(slatWidth, slatSpacing, slatCurvature, slatTilt, numberSegments)); + } - product->backEmissivitySource = - get_optional_field(measured_data_json, "wavelength_units"); + std::shared_ptr parseWovenGeometry(nlohmann::json const & geometry_json) + { + auto threadDiameter = geometry_json.at("thread_diameter").get(); + auto threadSpacing = geometry_json.at("thread_spacing").get(); + auto shadeThickness = geometry_json.at("shade_thickness").get(); + return std::shared_ptr( + new WovenGeometry(threadDiameter, threadSpacing, shadeThickness)); + } - nlohmann::json spectral_data_json = product_json.at("spectral_data"); - if(!spectral_data_json.is_null()) + std::shared_ptr parsePerforatedGeometry(nlohmann::json const & geometry_json) { - nlohmann::json wavelength_data_json = spectral_data_json.at("spectral_data"); + double spacingX = geometry_json.at("spacing_x").get(); + double spacingY = geometry_json.at("spacing_y").get(); + double dimensionX = geometry_json.at("dimension_x").get(); + double dimensionY = geometry_json.at("dimension_y").get(); + std::string perforationType = geometry_json.at("perforation_type").get(); + + return std::shared_ptr( + new PerforatedGeometry(spacingX, spacingY, dimensionX, dimensionY, perforationType)); + } - std::vector measurements; + std::shared_ptr parseGeometry(std::string const & subtype, + nlohmann::json const & geometry_json) + { + std::map(nlohmann::json const &)>> + mapping; - for(nlohmann::json::iterator itr = wavelength_data_json.begin(); - itr != wavelength_data_json.end(); - ++itr) + mapping["venetian"] = &parseVenetianGeometry; + mapping["woven"] = &parseWovenGeometry; + mapping["perforated-screen"] = &parsePerforatedGeometry; + + auto itr = mapping.find(subtype); + if(itr != mapping.end()) { - auto val = itr.value(); - double wl = val.at("wavelength").get(); - double t = val.at("T").get(); - double rf = val.at("Rf").get(); - double rb = val.at("Rb").get(); - OpticsParser::MeasurementComponent directValues{t, t, rf, rb}; - measurements.push_back(OpticsParser::WLData(wl, directValues)); + return itr->second(geometry_json); } - if(!measurements.empty()) + else { - product->measurements = measurements; + std::stringstream msg; + msg << "Subtype " << subtype << " geometry not yet supported."; + throw std::runtime_error(msg.str()); } } - return product; -} -std::shared_ptr - parseVenetianGeometry(nlohmann::json const & geometry_json) -{ - auto slatWidth = geometry_json.at("slat_width").get(); - auto slatSpacing = geometry_json.at("slat_spacing").get(); - auto slatCurvature = geometry_json.at("slat_curvature").get(); - auto numberSegments = geometry_json.at("number_segments").get(); - double slatTilt = geometry_json.value("slat_tilt", 0.0); - - // These values are stored as mm in the sources being parsed. - // Convert to meters here for consistancy with other non-wavelength - // length units. - slatWidth /= 1000.0; - slatSpacing /= 1000.0; - slatCurvature /= 1000.0; - - return std::shared_ptr(new OpticsParser::VenetianGeometry( - slatWidth, slatSpacing, slatCurvature, slatTilt, numberSegments)); -} - -std::shared_ptr - parseWovenGeometry(nlohmann::json const & geometry_json) -{ - auto threadDiameter = geometry_json.at("thread_diameter").get(); - auto threadSpacing = geometry_json.at("thread_spacing").get(); - auto shadeThickness = geometry_json.at("shade_thickness").get(); + std::shared_ptr parseIGSDBJsonComposedProduct(nlohmann::json const & product_json) + { + auto subtype = product_json.at("subtype").get(); + auto composition_information = product_json.at("composition"); + auto product_material = composition_information[0].at("child_product"); + auto product_geometry = composition_information[0].at("extra_data").at("geometry"); + auto material = parseIGSDBJsonUncomposedProduct(product_material); + auto geometry = parseGeometry(subtype, product_geometry); + std::shared_ptr compositionInformation( + new CompositionInformation{material, geometry}); + auto product = parseIGSDBJsonUncomposedProduct(product_json); + std::shared_ptr composedProduct( + new ComposedProductData(*product, compositionInformation)); + return composedProduct; + } - return std::shared_ptr( - new OpticsParser::WovenGeometry(threadDiameter, threadSpacing, shadeThickness)); -} + std::shared_ptr parseIGSDBJson(nlohmann::json const & product_json) + { + if(product_json.count("composition") && !product_json.at("composition").empty()) + { + return parseIGSDBJsonComposedProduct(product_json); + } + else + { + return parseIGSDBJsonUncomposedProduct(product_json); + } + } -std::shared_ptr - parsePerforatedGeometry(nlohmann::json const & geometry_json) -{ - double spacingX = geometry_json.at("spacing_x").get(); - double spacingY = geometry_json.at("spacing_y").get(); - double dimensionX = geometry_json.at("dimension_x").get(); - double dimensionY = geometry_json.at("dimension_y").get(); - std::string perforationType = geometry_json.at("perforation_type").get(); - - return std::shared_ptr(new OpticsParser::PerforatedGeometry( - spacingX, spacingY, dimensionX, dimensionY, perforationType)); -} - -std::shared_ptr parseGeometry(std::string const & subtype, - nlohmann::json const & geometry_json) -{ - std::map(nlohmann::json const &)>> - mapping; + std::shared_ptr Parser::parseJSONString(std::string const & json_str) + { + nlohmann::json product_json = nlohmann::json::parse(json_str); + + // There are now two different json formats, one output from the IGSDB and one + // that is input to the checker tool app. They are similar but different enough that + // they are getting two different parsing paths with the common aspects abstracted out + if(product_json.find("name") != product_json.end()) + { + // The IGSDB json format has a "name" field + return parseIGSDBJson(product_json); + } + else + { + // The checker tool JSON format has a "product_name" field instead of a "name" field + if(product_json.find("product_name") == product_json.end()) + { + throw std::runtime_error("Unable to parse json. It does not appear to be " + "either of the two recognized formats. Currently " + "only IGSDB and checker tool formats are supported."); + } + return parseCheckerToolJson(product_json); + } + } - mapping["venetian"] = &parseVenetianGeometry; - mapping["woven"] = &parseWovenGeometry; - mapping["perforated-screen"] = &parsePerforatedGeometry; - auto itr = mapping.find(subtype); - if(itr != mapping.end()) + std::shared_ptr Parser::parseJSONFile(std::string const & fname) { - return itr->second(geometry_json); + std::ifstream fin(fname); + std::string content((std::istreambuf_iterator(fin)), + (std::istreambuf_iterator())); + return parseJSONString(content); } - else + + std::shared_ptr parseFile(const std::string & inputFile) { - std::stringstream msg; - msg << "Subtype " << subtype << " geometry not yet supported."; - throw std::runtime_error(msg.str()); + Parser parser; + return parser.parseFile(inputFile); } -} -std::shared_ptr - parseIGSDBJsonComposedProduct(nlohmann::json const & product_json) -{ - auto subtype = product_json.at("subtype").get(); - auto composition_information = product_json.at("composition"); - auto product_material = composition_information[0].at("child_product"); - auto product_geometry = composition_information[0].at("extra_data").at("geometry"); - auto material = parseIGSDBJsonUncomposedProduct(product_material); - auto geometry = parseGeometry(subtype, product_geometry); - std::shared_ptr compositionInformation( - new OpticsParser::CompositionInformation{material, geometry}); - auto product = parseIGSDBJsonUncomposedProduct(product_json); - std::shared_ptr composedProduct( - new OpticsParser::ComposedProductData(*product, compositionInformation)); - return composedProduct; -} - -std::shared_ptr parseIGSDBJson(nlohmann::json const & product_json) -{ - if(product_json.count("composition") && !product_json.at("composition").empty()) + std::shared_ptr parseJSONString(std::string const & json) { - return parseIGSDBJsonComposedProduct(product_json); + Parser parser; + return parser.parseJSONString(json); } - else + + std::shared_ptr parseJSONFile(std::string const & fname) { - return parseIGSDBJsonUncomposedProduct(product_json); + Parser parser; + return parser.parseJSONFile(fname); } -} -std::shared_ptr - OpticsParser::Parser::parseJSONString(std::string const & json_str) -{ - nlohmann::json product_json = nlohmann::json::parse(json_str); + template + void assignOptionalValue(T & field, bool exists, U const & value) + { + if(exists) + { + field = value; + } + } - // There are now two different json formats, one output from the IGSDB and one - // that is input to the checker tool app. They are similar but different enough that - // they are getting two different parsing paths with the common aspects abstracted out - if(product_json.find("name") != product_json.end()) + std::vector> splitString(const std::basic_string & str, + const TCHAR token) { - // The IGSDB json format has a "name" field - return parseIGSDBJson(product_json); + std::vector> strings; + std::basic_istringstream test{str}; + std::basic_string line; + while(getline(test, line, token)) + { + strings.push_back(line); + } + + return strings; } - else + std::vector> convertToSquareMatrix(std::vector const & v) { - // The checker tool JSON format has a "product_name" field instead of a "name" field - if(product_json.find("product_name") == product_json.end()) + double intPart; + if(std::modf(std::sqrt(v.size()), &intPart) != 0) { - throw std::runtime_error("Unable to parse json. It does not appear to be " - "either of the two recognized formats. Currently " - "only IGSDB and checker tool formats are supported."); + throw std::runtime_error("Non-square matrix"); } - return parseCheckerToolJson(product_json); + size_t size = static_cast(intPart); + std::vector inner; + inner.resize(size); + std::vector> m(size, inner); + for(size_t row = 0; row < size; ++row) + { + for(size_t col = 0; col < size; ++col) + { + m[row][col] = v[row * size + col]; + } + } + return m; } -} -std::shared_ptr - OpticsParser::Parser::parseJSONFile(std::string const & fname) -{ - std::ifstream fin(fname); - std::string content((std::istreambuf_iterator(fin)), (std::istreambuf_iterator())); - return parseJSONString(content); -} + std::shared_ptr parseBSDFXMLFile(std::string const & fname) + { + std::shared_ptr product(new ProductData()); + XMLNode xWindowElementNode = XMLNode::openFileHelper(fname.c_str(), _T("WindowElement")); + if(xWindowElementNode.isEmpty()) + { + throw std::runtime_error("XML error : WindowElement not found"); + } + XMLNode xLayerNode = + xWindowElementNode.getChildNode(_T("Optical")).getChildNode(_T("Layer")); + + XMLNode matNode = xLayerNode.getChildNode(_T("Material")); + product->productName = matNode.getChildNode(_T("Name")).getText(); + product->manufacturer = matNode.getChildNode(_T("Manufacturer")).getText(); + auto thicknessStr = matNode.getChildNode(_T("Thickness")).getText(); + auto thicknessUnitStr = matNode.getChildNode(_T("Thickness")).getAttribute(_T("unit")); + + double thickness = std::stod(thicknessStr); + if(toLower(thicknessUnitStr) == "millimeter") + {} + else if(toLower(thicknessUnitStr) == "meter") + { + thickness *= 1000.0; + } + else + { + throw std::runtime_error("XML error: Unsupported thickness unit"); + } + product->thickness = thickness; + product->frontEmissivity = std::stod(matNode.getChildNode(_T("EmissivityFront")).getText()); + product->backEmissivity = std::stod(matNode.getChildNode(_T("EmissivityBack")).getText()); + product->IRTransmittance = std::stod(matNode.getChildNode(_T("TIR")).getText()); + product->conductivity = std::stod(matNode.getChildNode(_T("ThermalConductivity")).getText()); + auto opennessNode = matNode.getChildNode(_T("PermeabilityFactor")); + + auto xEffectiveOpenness = matNode.getChildNode(_T("EffectiveOpennessFraction")); + if(!xEffectiveOpenness.isEmpty() && opennessNode.isEmpty()) + { + opennessNode = xEffectiveOpenness; + } + product->permeabilityFactor = std::stod(opennessNode.getText()); + + int wavelengthDataNodeCt = xLayerNode.nChildNode("WavelengthData"); + + MultiBandBSDF multiBandBSDF; + WavelengthBSDFs solarBSDFs; + WavelengthBSDFs visibleBSDFs; + + for(int i = 0; i < wavelengthDataNodeCt; ++i) + { + XMLNode wavelengthDataNode = + xLayerNode.getChildNode(_T("WavelengthData"), i); + if(wavelengthDataNode.isEmpty()) + throw std::runtime_error("XML error: Empty WavelengthData section found"); + XMLNode wavelengthDataBlockNode = + wavelengthDataNode.getChildNode(_T("WavelengthDataBlock"), 0); + std::string wavelengthDirection = + wavelengthDataBlockNode.getChildNode(_T("WavelengthDataDirection")).getText(); + XMLNode wavelengthNode = wavelengthDataNode.getChildNode(_T("Wavelength")); + std::string wavelengthRange = + wavelengthDataNode.getChildNode(_T("Wavelength")).getText(); + std::string wavelengthUnit = + wavelengthDataNode.getChildNode(_T("Wavelength")).getAttribute(_T("unit")); + + if(wavelengthRange.empty()) + { + throw std::runtime_error("XML error: Wavelength section not found"); + } + if(wavelengthUnit.empty()) + { + throw std::runtime_error("XML error: Wavelength unit not found"); + } + if(toLower(wavelengthUnit) != "integral") + { + throw std::runtime_error( + "XML error: Only interal wavelength unit is currently supported"); + } -std::shared_ptr OpticsParser::parseFile(const std::string & inputFile) -{ - OpticsParser::Parser parser; - return parser.parseFile(inputFile); -} + WavelengthBSDFs * currentBandBSDFs; + if(toLower(wavelengthRange) == "solar") + { + currentBandBSDFs = &solarBSDFs; + } + else if(toLower(wavelengthRange) == "visible") + { + currentBandBSDFs = &visibleBSDFs; + } + else + { + throw std::runtime_error("XML error: Unsupported wavelength range"); + } -std::shared_ptr OpticsParser::parseJSONString(std::string const & json) -{ - OpticsParser::Parser parser; - return parser.parseJSONString(json); -} + if(wavelengthDataBlockNode.isEmpty()) + { + throw std::runtime_error("XML error: WavelengthDataBlock not found"); + } -std::shared_ptr OpticsParser::parseJSONFile(std::string const & fname) -{ - OpticsParser::Parser parser; - return parser.parseJSONFile(fname); -} + std::string dataString = + wavelengthDataBlockNode.getChildNode(_T("ScatteringData")).getText(); + std::vector splitDataString = splitString(dataString, ','); + std::vector splitData; + for(auto const & s : splitDataString) + { + splitData.push_back(std::stod(s)); + } + std::vector> bsdf = convertToSquareMatrix(splitData); + + if(toLower(wavelengthDirection) == "transmission front") + { + currentBandBSDFs->tf = bsdf; + } + else if(toLower(wavelengthDirection) == "transmission back") + { + currentBandBSDFs->tb = bsdf; + } + else if(toLower(wavelengthDirection) == "reflection front") + { + currentBandBSDFs->rf = bsdf; + } + else if(toLower(wavelengthDirection) == "reflection back") + { + currentBandBSDFs->rb = bsdf; + } + } + + multiBandBSDF["solar"] = solarBSDFs; + multiBandBSDF["visible"] = visibleBSDFs; + product->measurements = multiBandBSDF; + + return product; + } +} // namespace OpticsParser diff --git a/src/Parser.hpp b/src/Parser.hpp index 8fdc96b..df00386 100644 --- a/src/Parser.hpp +++ b/src/Parser.hpp @@ -9,67 +9,68 @@ namespace OpticsParser { - class Parser - { - public: - std::shared_ptr parseFile(const std::string & inputFile); - std::shared_ptr parseJSONString(std::string const & json); - std::shared_ptr parseJSONFile(std::string const & fname); + class Parser + { + public: + std::shared_ptr parseFile(const std::string & inputFile); + std::shared_ptr parseJSONString(std::string const & json); + std::shared_ptr parseJSONFile(std::string const & fname); - private: - void parseHeaderLine(const std::string & line, std::shared_ptr product); - void parseMeasurementLine(const std::string & line, std::shared_ptr product); - void parseEmissivities(const std::string & line, std::shared_ptr product); - void parseUnits(const std::string & line, std::shared_ptr product); - void parseNFRCID(const std::string & line, std::shared_ptr product); - void parseAERCID(const std::string & line, std::shared_ptr product); + private: + void parseHeaderLine(const std::string & line, std::shared_ptr product); + void parseMeasurementLine(const std::string & line, std::shared_ptr product); + void parseEmissivities(const std::string & line, std::shared_ptr product); + void parseUnits(const std::string & line, std::shared_ptr product); + void parseNFRCID(const std::string & line, std::shared_ptr product); + void parseAERCID(const std::string & line, std::shared_ptr product); void parseBoolPropertyInsideBraces(const std::string & line, - std::string search, - std::optional & property); + std::string search, + std::optional & property); void parseDoublePropertyInsideBraces(const std::string & line, - std::string search, - std::optional & property); + std::string search, + std::optional & property); - template - void parsePropertyAtTheEnd(const std::string & searchString, - const std::string & behind, - const std::string & line, - T & property) - { - if(line.find(searchString) != std::string::npos) - { - std::string str = line.substr(line.find(behind) + behind.size()); - property = std::stod(str); - } - } + template + void parsePropertyAtTheEnd(const std::string & searchString, + const std::string & behind, + const std::string & line, + T & property) + { + if(line.find(searchString) != std::string::npos) + { + std::string str = line.substr(line.find(behind) + behind.size()); + property = std::stod(str); + } + } - template - void parseStringPropertyInsideBraces(const std::string & line, - std::string search, - T & property) - { - search += ":"; - auto itr = line.find(search); - if(itr != std::string::npos) - { - std::string str = line.substr(itr + search.size() + 1); - auto erasePos = str.find('}'); - str.erase(erasePos, 1); - // Removes all spaces from the beginning of the string - while(str.size() && isspace(str.front())) - str.erase(str.begin()); - // Remove all spaces from the end of the string. - while(str.size() && isspace(str.back())) - str.pop_back(); - property = str; - } - } - }; + template + void parseStringPropertyInsideBraces(const std::string & line, + std::string search, + T & property) + { + search += ":"; + auto itr = line.find(search); + if(itr != std::string::npos) + { + std::string str = line.substr(itr + search.size() + 1); + auto erasePos = str.find('}'); + str.erase(erasePos, 1); + // Removes all spaces from the beginning of the string + while(str.size() && isspace(str.front())) + str.erase(str.begin()); + // Remove all spaces from the end of the string. + while(str.size() && isspace(str.back())) + str.pop_back(); + property = str; + } + } + }; - std::shared_ptr parseFile(const std::string & inputFile); - std::shared_ptr parseJSONString(std::string const & json); - std::shared_ptr parseJSONFile(std::string const & fname); -} // namespace OpticsParser + std::shared_ptr parseFile(const std::string & inputFile); + std::shared_ptr parseJSONString(std::string const & json); + std::shared_ptr parseJSONFile(std::string const & fname); + std::shared_ptr parseBSDFXMLFile(std::string const & fname); +} // namespace OpticsParser \ No newline at end of file diff --git a/src/ProductData.cpp b/src/ProductData.cpp index 5333083..85b0de8 100644 --- a/src/ProductData.cpp +++ b/src/ProductData.cpp @@ -3,230 +3,176 @@ #include OpticsParser::WLData::WLData(double wavelength, - MeasurementComponent directComponent, - std::optional diffuseComponent) : - wavelength(wavelength), directComponent(directComponent), diffuseComponent(diffuseComponent) + MeasurementComponent directComponent, + std::optional diffuseComponent) : + wavelength(wavelength), directComponent(directComponent), diffuseComponent(diffuseComponent) {} OpticsParser::WLData::WLData(double wavelength, double tDirect, double rfDirect, double rbDiffuse) : - wavelength(wavelength), - directComponent(MeasurementComponent{tDirect, tDirect, rfDirect, rbDiffuse}), - diffuseComponent(std::optional()) + wavelength(wavelength), + directComponent(MeasurementComponent{tDirect, tDirect, rfDirect, rbDiffuse}), + diffuseComponent(std::optional()) {} OpticsParser::WLData::WLData(double wavelength, - double tfDirect, - double tfDiffuse, - double tbDirect, - double tbDiffuse, - double rfDirect, - double rfDiffuse, - double rbDirect, - double rbDiffuse) : - wavelength(wavelength), - directComponent(MeasurementComponent{tfDirect, tbDirect, rfDirect, rbDirect}), - diffuseComponent(MeasurementComponent{tfDiffuse, tbDiffuse, rfDiffuse, rbDiffuse}) -{} - - -OpticsParser::ProductData::ProductData(std::string const & productName, - std::string const & productType, - std::string const & manufacturer) : - productName(productName), productType(productType), manufacturer(manufacturer) -{} - -OpticsParser::ProductData::ProductData(std::string const & productName, - std::string const & productType, - std::string const & subtype, - std::string const & manufacturer) : - productName(productName), productType(productType), manufacturer(manufacturer), subtype(subtype) -{} - -OpticsParser::ProductData::ProductData(std::string const & productName, - std::string const & productType, - std::string const & subtype, - int nfrcid, - double thickness, - double conductivity, - double IRTransmittance, - double frontEmissivity, - double backEmissivity, - std::string frontEmissivitySource, - std::string backEmissivitySource, - std::string manufacturer, - std::string material, - std::string coatingName, - std::string coatedSide, - std::string substrateFilename, - std::string appearance, - std::string acceptance, - std::string fileName, - std::string unitSystem, - std::string wavelengthUnit, - std::vector const & measurements) : - productName(productName), - productType(productType), - manufacturer(manufacturer), - subtype(subtype), - nfrcid(nfrcid), - thickness(thickness), - conductivity(conductivity), - IRTransmittance(IRTransmittance), - frontEmissivity(frontEmissivity), - backEmissivity(backEmissivity), - frontEmissivitySource(frontEmissivitySource), - backEmissivitySource(backEmissivitySource), - material(material), - coatingName(coatingName), - coatedSide(coatedSide), - substrateFilename(substrateFilename), - appearance(appearance), - acceptance(acceptance), - fileName(fileName), - unitSystem(unitSystem), - wavelengthUnit(wavelengthUnit), - measurements(measurements) + double tfDirect, + double tfDiffuse, + double tbDirect, + double tbDiffuse, + double rfDirect, + double rfDiffuse, + double rbDirect, + double rbDiffuse) : + wavelength(wavelength), + directComponent(MeasurementComponent{tfDirect, tbDirect, rfDirect, rbDirect}), + diffuseComponent(MeasurementComponent{tfDiffuse, tbDiffuse, rfDiffuse, rbDiffuse}) {} std::shared_ptr OpticsParser::ProductData::composedProduct() { - return shared_from_this(); + return shared_from_this(); } std::shared_ptr OpticsParser::ComposedProductData::composedProduct() { - return compositionInformation->material; + return compositionInformation->material; } void OpticsParser::to_json(nlohmann::json & j, OpticsParser::WLData const & wl) { - j = nlohmann::json{{"w", wl.wavelength}, - {"tf", wl.directComponent.tf}, - {"rf", wl.directComponent.rf}, - {"rb", wl.directComponent.rb}}; + j = nlohmann::json{{"w", wl.wavelength}, + {"tf", wl.directComponent.tf}, + {"rf", wl.directComponent.rf}, + {"rb", wl.directComponent.rb}}; } std::string convert_product_type(std::string const & optics_product_type) { - std::map optics_types_to_new_types; - optics_types_to_new_types["Monolithic"] = "monolithic"; - optics_types_to_new_types["Coated"] = "coated-glass"; - optics_types_to_new_types["Laminate"] = "laminate"; - - std::map::iterator itr = - optics_types_to_new_types.find(optics_product_type); - - if(itr != optics_types_to_new_types.end()) - { - return itr->second; - } - else - { - std::stringstream err_msg; - err_msg << "Unknown type in optics file: " << optics_product_type; - throw std::runtime_error(err_msg.str()); - } + std::map optics_types_to_new_types; + optics_types_to_new_types["Monolithic"] = "monolithic"; + optics_types_to_new_types["Coated"] = "coated-glass"; + optics_types_to_new_types["Laminate"] = "laminate"; + + std::map::iterator itr = + optics_types_to_new_types.find(optics_product_type); + + if(itr != optics_types_to_new_types.end()) + { + return itr->second; + } + else + { + std::stringstream err_msg; + err_msg << "Unknown type in optics file: " << optics_product_type; + throw std::runtime_error(err_msg.str()); + } } template void add_optional(nlohmann::json & j, - std::string const & field_name, - std::optional const & value) + std::string const & field_name, + std::optional const & value) { - if(value) - { - j[field_name] = value.value(); - } + if(value) + { + j[field_name] = value.value(); + } } void OpticsParser::to_json(nlohmann::json & j, OpticsParser::ProductData const & p) { - nlohmann::json spectral_data; - - if(p.measurements) - { - nlohmann::json angle_block{{"incidence_angle", 0}, - {"number_wavelengths", p.measurements.value().size()}, - {"wavelength_data", p.measurements.value()}}; - spectral_data["number_incidence_angles"] = 1; - spectral_data["angle_block"] = std::vector{angle_block}; - - add_optional(spectral_data, "unit", p.wavelengthUnit); - } - nlohmann::json measured_data; - add_optional(measured_data, "thickness", p.thickness); - add_optional(measured_data, "tir_front", p.IRTransmittance); - add_optional(measured_data, "tir_back", p.IRTransmittance); - add_optional(measured_data, "emissivity_front", p.frontEmissivity); - add_optional(measured_data, "emissivity_back", p.backEmissivity); - measured_data["spectral_data"] = spectral_data; - add_optional(measured_data, "is_specular", p.specularity); - - - if(p.conductivity) - { - nlohmann::json bulk_properties{{"thermal_conductivity", p.conductivity.value()}}; - measured_data["bulk_properties_override"] = bulk_properties; - } - - nlohmann::json coating_properties{{"coating_name", p.coatingName.value_or("None")}, - {"coated_side", p.coatedSide.value_or("None")}}; - - std::string product_type = convert_product_type(p.productType); - - j = nlohmann::json{{"product_name", p.productName}, - {"version", 1}, - {"owner", p.manufacturer}, - {"manufacturer", p.manufacturer}, - {"type", "Glazing"}, - {"specularity", "Specular"}, - {"product_type", product_type}, - {"coating_properties", coating_properties}, - {"measured_data", measured_data}, - {"active", true}}; - - - add_optional(j, "nfrc_id", p.nfrcid); - add_optional(j, "filename", p.fileName); - add_optional(j, "token", p.fileName); - add_optional(j, "unit_system", p.unitSystem); - add_optional(j, "appearance", p.appearance); - add_optional(j, "acceptance", p.acceptance); + nlohmann::json spectral_data; + + if(p.measurements) + { + auto & measurements = p.measurements.value(); + if(std::holds_alternative(measurements)) + { + throw std::runtime_error("Writing BSDF data to json is not supported."); + } + auto & specularMeasurements = std::get>(measurements); + nlohmann::json angle_block{{"incidence_angle", 0}, + {"number_wavelengths", specularMeasurements.size()}, + {"wavelength_data", specularMeasurements}}; + spectral_data["number_incidence_angles"] = 1; + spectral_data["angle_block"] = std::vector{angle_block}; + + add_optional(spectral_data, "unit", p.wavelengthUnit); + } + nlohmann::json measured_data; + add_optional(measured_data, "thickness", p.thickness); + add_optional(measured_data, "tir_front", p.IRTransmittance); + add_optional(measured_data, "tir_back", p.IRTransmittance); + add_optional(measured_data, "emissivity_front", p.frontEmissivity); + add_optional(measured_data, "emissivity_back", p.backEmissivity); + measured_data["spectral_data"] = spectral_data; + add_optional(measured_data, "is_specular", p.specularity); + + + if(p.conductivity) + { + nlohmann::json bulk_properties{{"thermal_conductivity", p.conductivity.value()}}; + measured_data["bulk_properties_override"] = bulk_properties; + } + + nlohmann::json coating_properties{{"coating_name", p.coatingName.value_or("None")}, + {"coated_side", p.coatedSide.value_or("None")}}; + + std::string product_type = convert_product_type(p.productType); + + j = nlohmann::json{{"product_name", p.productName}, + {"version", 1}, + {"owner", p.manufacturer}, + {"manufacturer", p.manufacturer}, + {"type", "Glazing"}, + {"specularity", "Specular"}, + {"product_type", product_type}, + {"coating_properties", coating_properties}, + {"measured_data", measured_data}, + {"active", true}}; + + + add_optional(j, "nfrc_id", p.nfrcid); + add_optional(j, "filename", p.fileName); + add_optional(j, "token", p.fileName); + add_optional(j, "unit_system", p.unitSystem); + add_optional(j, "appearance", p.appearance); + add_optional(j, "acceptance", p.acceptance); } OpticsParser::ComposedProductData::ComposedProductData( - ProductData const & product, std::shared_ptr composition) : - ProductData(product), compositionInformation(composition) + ProductData const & product, std::shared_ptr composition) : + ProductData(product), compositionInformation(composition) {} OpticsParser::ComposedProductData::ComposedProductData( - std::shared_ptr composition) : - ProductData(), compositionInformation(composition) + std::shared_ptr composition) : + ProductData(), compositionInformation(composition) {} OpticsParser::VenetianGeometry::VenetianGeometry( - double slatWidth, double slatSpacing, double slatCurvature, double slatTilt, int numberSegments) : - slatWidth(slatWidth), - slatSpacing(slatSpacing), - slatCurvature(slatCurvature), - slatTilt(slatTilt), - numberSegments(numberSegments) + double slatWidth, double slatSpacing, double slatCurvature, double slatTilt, int numberSegments) : + slatWidth(slatWidth), + slatSpacing(slatSpacing), + slatCurvature(slatCurvature), + slatTilt(slatTilt), + numberSegments(numberSegments) {} OpticsParser::WovenGeometry::WovenGeometry(double threadDiameter, - double threadSpacing, - double shadeThickness) : - threadDiameter(threadDiameter), threadSpacing(threadSpacing), shadeThickness(shadeThickness) + double threadSpacing, + double shadeThickness) : + threadDiameter(threadDiameter), threadSpacing(threadSpacing), shadeThickness(shadeThickness) {} OpticsParser::PerforatedGeometry::PerforatedGeometry(double spacingX, - double spacingY, - double dimensionX, - double dimensionY, - std::string perforationType) : - spacingX(spacingX), - spacingY(spacingY), - dimensionX(dimensionX), - dimensionY(dimensionY), - perforationType(perforationType) -{} + double spacingY, + double dimensionX, + double dimensionY, + std::string perforationType) : + spacingX(spacingX), + spacingY(spacingY), + dimensionX(dimensionX), + dimensionY(dimensionY), + perforationType(perforationType) +{} \ No newline at end of file diff --git a/src/ProductData.hpp b/src/ProductData.hpp index 0cee902..f038595 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -3,167 +3,151 @@ #include #include #include - +#include +#include #include namespace OpticsParser { - struct MeasurementComponent - { - double tf; - double tb; - double rf; - double rb; - }; - - struct WLData - { - public: - WLData(double wavelength, - MeasurementComponent directComponent, - std::optional diffuseComponent = - std::optional()); - - WLData(double wavelength, double tDirect, double rfDirect, double rbDiffuse); - WLData(double wavelength, - double tfDirect, - double tfDiffuse, - double tbDirect, - double tbDiffuse, - double rfDirect, - double rfDiffuse, - double rbDirect, - double rbDiffuse); - - double wavelength; - MeasurementComponent directComponent; - std::optional diffuseComponent; - }; - - struct ProductGeometry - { - ProductGeometry() = default; - virtual ~ProductGeometry() = default; - }; - - struct VenetianGeometry : ProductGeometry - { - VenetianGeometry(double slatWidth, - double slatSpacing, - double slatCurvature, - double slatTilt = 0, - int numberSegments = 5); - - double slatWidth; - double slatSpacing; - double slatCurvature; - double slatTilt; - int numberSegments; - }; - - struct WovenGeometry : ProductGeometry - { - WovenGeometry(double threadDiameter, double threadSpacing, double shadeThickness); - double threadDiameter; - double threadSpacing; - double shadeThickness; - }; - - struct PerforatedGeometry : ProductGeometry - { - PerforatedGeometry(double spacingX, - double spacingY, - double dimensionX, - double dimensionY, - std::string perforationType); - double spacingX; - double spacingY; - double dimensionX; - double dimensionY; - std::string perforationType; - }; - - struct ProductData : std::enable_shared_from_this - { - ProductData() = default; - ProductData(ProductData const & other) = default; - virtual ~ProductData() = default; - ProductData(std::string const & productName, - std::string const & productType, - std::string const & manufacturer); - ProductData(std::string const & productName, - std::string const & productType, - std::string const & subtype, - std::string const & manufacturer); - ProductData(std::string const & productName, - std::string const & productType, - std::string const & subtype, - int nfrcid, - double thickness, - double conductivity, - double IRTransmittance, - double frontEmissivity, - double backEmissivity, - std::string frontEmissivitySource, - std::string backEmissivitySource, - std::string manufacturer, - std::string material, - std::string coatingName, - std::string coatedSide, - std::string substrateFilename, - std::string appearance, - std::string acceptance, - std::string fileName, - std::string unitSystem, - std::string wavelengthUnit, - std::vector const & measurements); - - virtual std::shared_ptr composedProduct(); - - std::string productName; - std::string productType; - std::string manufacturer; - std::optional subtype; - std::optional nfrcid; - std::optional thickness; - std::optional conductivity; - std::optional IRTransmittance; - std::optional frontEmissivity; - std::optional backEmissivity; - std::optional frontEmissivitySource; - std::optional backEmissivitySource; - std::optional material; - std::optional coatingName; - std::optional coatedSide; - std::optional substrateFilename; - std::optional appearance; - std::optional acceptance; - std::optional fileName; - std::optional unitSystem; - std::optional wavelengthUnit; - std::optional> measurements; - std::optional extrapolation; - std::optional aercID; - std::optional specularity; - std::optional permeabilityFactor; - }; - - void to_json(nlohmann::json & j, WLData const & wl); - void to_json(nlohmann::json & j, ProductData const & wl); + struct MeasurementComponent + { + double tf; + double tb; + double rf; + double rb; + }; + + struct WLData + { + public: + WLData(double wavelength, + MeasurementComponent directComponent, + std::optional diffuseComponent = + std::optional()); + + WLData(double wavelength, double tDirect, double rfDirect, double rbDiffuse); + WLData(double wavelength, + double tfDirect, + double tfDiffuse, + double tbDirect, + double tbDiffuse, + double rfDirect, + double rfDiffuse, + double rbDirect, + double rbDiffuse); + + double wavelength; + MeasurementComponent directComponent; + std::optional diffuseComponent; + }; + + typedef std::vector> BSDF; + + struct WavelengthBSDFs + { + BSDF tf; + BSDF tb; + BSDF rf; + BSDF rb; + }; + + typedef std::map MultiBandBSDF; + + struct ProductGeometry + { + ProductGeometry() = default; + virtual ~ProductGeometry() = default; + }; + + struct VenetianGeometry : ProductGeometry + { + VenetianGeometry(double slatWidth, + double slatSpacing, + double slatCurvature, + double slatTilt = 0, + int numberSegments = 5); + + double slatWidth; + double slatSpacing; + double slatCurvature; + double slatTilt; + int numberSegments; + }; + + struct WovenGeometry : ProductGeometry + { + WovenGeometry(double threadDiameter, double threadSpacing, double shadeThickness); + double threadDiameter; + double threadSpacing; + double shadeThickness; + }; + + struct PerforatedGeometry : ProductGeometry + { + PerforatedGeometry(double spacingX, + double spacingY, + double dimensionX, + double dimensionY, + std::string perforationType); + double spacingX; + double spacingY; + double dimensionX; + double dimensionY; + std::string perforationType; + }; + + struct ProductData : std::enable_shared_from_this + { + ProductData() = default; + ProductData(ProductData const & other) = default; + virtual ~ProductData() = default; + + virtual std::shared_ptr composedProduct(); + + std::string productName; + std::string productType; + std::string manufacturer; + std::optional subtype; + std::optional nfrcid; + std::optional thickness; + std::optional conductivity; + std::optional IRTransmittance; + std::optional frontEmissivity; + std::optional backEmissivity; + std::optional frontEmissivitySource; + std::optional backEmissivitySource; + std::optional material; + std::optional coatingName; + std::optional coatedSide; + std::optional substrateFilename; + std::optional appearance; + std::optional acceptance; + std::optional fileName; + std::optional unitSystem; + std::optional wavelengthUnit; + std::optional, MultiBandBSDF>> measurements; + std::optional extrapolation; + std::optional aercID; + std::optional specularity; + std::optional permeabilityFactor; + }; + + void to_json(nlohmann::json & j, WLData const & wl); + void to_json(nlohmann::json & j, ProductData const & wl); struct CompositionInformation - { - std::shared_ptr material; - std::shared_ptr geometry; - }; - - struct ComposedProductData : ProductData - { - ComposedProductData(ProductData const & product, - std::shared_ptr composition); - ComposedProductData(std::shared_ptr composition); - - std::shared_ptr composedProduct() override; - std::shared_ptr compositionInformation; - }; -} // namespace OpticsParser + { + std::shared_ptr material; + std::shared_ptr geometry; + }; + + struct ComposedProductData : ProductData + { + ComposedProductData(ProductData const & product, + std::shared_ptr composition); + ComposedProductData(std::shared_ptr composition); + + std::shared_ptr composedProduct() override; + std::shared_ptr compositionInformation; + }; +} // namespace OpticsParser \ No newline at end of file diff --git a/src/xmlParser.cpp b/src/xmlParser.cpp index e0f7f33..332280e 100644 --- a/src/xmlParser.cpp +++ b/src/xmlParser.cpp @@ -40,11 +40,35 @@ * If you add "#define _XMLPARSER_NO_MESSAGEBOX_" on the first line of this file * the "openFileHelper" function will always display error messages inside the * console instead of inside a message-box-window. Message-box-windows are - * available on windows 9x/NT/2000/XP/Vista only. + * available on windows 9x/NT/2000/XP/Vista/Win7/Win8 only. * - * Copyright (c) 2002, Frank Vanden Berghen - All rights reserved. - * Commercialized by Business-Insight - * See the file "AFPL-license.txt about the licensing terms + * The following license terms applies to projects developped by "Windows and Daylighting group at the Lawrence Berkeley National Laboratory" only: + * (all other projects are under the Aladdin Free Public License (AFPL) - + * see the file "AFPL-license.txt" for more informations about this license) + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Frank Vanden Berghen nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY Frank Vanden Berghen ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Frank Vanden Berghen BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Copyright (c) 2013, Frank Vanden Berghen - All rights reserved.
* **************************************************************************** */ diff --git a/src/xmlParser.h b/src/xmlParser.h index 1187165..42176ed 100644 --- a/src/xmlParser.h +++ b/src/xmlParser.h @@ -5,13 +5,34 @@ * This is a basic XML parser written in ANSI C++ for portability. * It works by using recursion and a node tree for breaking * down the elements of an XML document. + * The following license terms applies to projects developped by "Windows and Daylighting group at the Lawrence Berkeley National Laboratory" only: + * (all other projects are under the Aladdin Free Public License (AFPL) - + * see the file "AFPL-license.txt" for more informations about this license) * - * @version V2.44 - * @author Frank Vanden Berghen + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Frank Vanden Berghen nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY Frank Vanden Berghen ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Frank Vanden Berghen BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * Copyright (c) 2013, Frank Vanden Berghen - All rights reserved.
* - * Copyright (c) 2002, Frank Vanden Berghen - All rights reserved.
- * Commercialized by Business-Insight
- * See the file AFPL-license.txt about the licensing terms * * \section tutorial First Tutorial * You can follow a simple Tutorial to know the basics... diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 5011296..7e820b7 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -38,6 +38,7 @@ add_executable(${PROJECT_TEST_NAME} convert_optics_to_json.unit.cpp read_checker_tool_json_file.unit.cpp read_igsdb_shading_layer_json.unit.cpp + read_bsdf_xml_file.unit.cpp main.cpp paths.h ) diff --git a/test/InputDifferentEmissivities.unit.cpp b/test/InputDifferentEmissivities.unit.cpp index 19e7ff8..0e55d78 100644 --- a/test/InputDifferentEmissivities.unit.cpp +++ b/test/InputDifferentEmissivities.unit.cpp @@ -7,78 +7,73 @@ class TestDifferentEmissivities : public testing::Test { protected: - void SetUp() override - { - std::string inputContent = "{ Units, Wavelength Units } SI Microns\n" - "{ Thickness } 3.048 \n" - "{ Conductivity } 1\n" - "{ IR Transmittance } TIR=0\n" - "{ Emissivity, front back } Emis= 0.5 0.84\n" - "{ }\n" - "{ Ef_Source: Material }\n" - "{ Eb_Source: Material }\n" - "{ IGDB_Checksum: -1717699038 }\n" - "{ Product Name: Generic Clear Glass }\n" - "{ Manufacturer: Generic }\n" - "{ NFRC ID: 102 }\n" - "{ Type: Monolithic }\n" - "{ Material: Glass }\n" - "{ Coating Name: N/A }\n" - "{ Coated Side: Neither }\n" - "{ Substrate Filename: N/A }\n" - "{ Appearance: Clear }\n" - "{ Acceptance: # }\n" - "{ Uses: }\n" - "{ Availability: }\n" - "{ Structure: }\n" - "0.300 0.0020 0.0470 0.0480\n" - "0.305 0.0030 0.0470 0.0480\n" - "0.310 0.0090 0.0470 0.0480\n" - "0.315 0.0350 0.0470 0.0480\n" - "0.320 0.1000 0.0470 0.0480\n" - "0.325 0.2180 0.0490 0.0500"; + void SetUp() override + { + std::string inputContent = "{ Units, Wavelength Units } SI Microns\n" + "{ Thickness } 3.048 \n" + "{ Conductivity } 1\n" + "{ IR Transmittance } TIR=0\n" + "{ Emissivity, front back } Emis= 0.5 0.84\n" + "{ }\n" + "{ Ef_Source: Material }\n" + "{ Eb_Source: Material }\n" + "{ IGDB_Checksum: -1717699038 }\n" + "{ Product Name: Generic Clear Glass }\n" + "{ Manufacturer: Generic }\n" + "{ NFRC ID: 102 }\n" + "{ Type: Monolithic }\n" + "{ Material: Glass }\n" + "{ Coating Name: N/A }\n" + "{ Coated Side: Neither }\n" + "{ Substrate Filename: N/A }\n" + "{ Appearance: Clear }\n" + "{ Acceptance: # }\n" + "{ Uses: }\n" + "{ Availability: }\n" + "{ Structure: }\n" + "0.300 0.0020 0.0470 0.0480\n" + "0.305 0.0030 0.0470 0.0480\n" + "0.310 0.0090 0.0470 0.0480\n" + "0.315 0.0350 0.0470 0.0480\n" + "0.320 0.1000 0.0470 0.0480\n" + "0.325 0.2180 0.0490 0.0500"; - std::ofstream out("InputDifferentEmissivities.dat"); - out << inputContent; - out.close(); - } + std::ofstream out("InputDifferentEmissivities.dat"); + out << inputContent; + out.close(); + } }; TEST_F(TestDifferentEmissivities, Test1) { - const std::string inputFile = R"(InputDifferentEmissivities.dat)"; - OpticsParser::Parser parser; - std::shared_ptr product = parser.parseFile(inputFile); + const std::string inputFile = R"(InputDifferentEmissivities.dat)"; + OpticsParser::Parser parser; + std::shared_ptr product = parser.parseFile(inputFile); - EXPECT_NEAR(3.048, product->thickness.value(), 1e-6); - EXPECT_NEAR(1, product->conductivity.value(), 1e-6); - EXPECT_NEAR(0, product->IRTransmittance.value(), 1e-6); - EXPECT_NEAR(0.5, product->frontEmissivity.value(), 1e-6); - EXPECT_NEAR(0.84, product->backEmissivity.value(), 1e-6); - EXPECT_EQ(102, product->nfrcid.value()); - EXPECT_EQ("Generic Clear Glass", product->productName); - EXPECT_EQ("Monolithic", product->productType); + EXPECT_NEAR(3.048, product->thickness.value(), 1e-6); + EXPECT_NEAR(1, product->conductivity.value(), 1e-6); + EXPECT_NEAR(0, product->IRTransmittance.value(), 1e-6); + EXPECT_NEAR(0.5, product->frontEmissivity.value(), 1e-6); + EXPECT_NEAR(0.84, product->backEmissivity.value(), 1e-6); + EXPECT_EQ(102, product->nfrcid.value()); + EXPECT_EQ("Generic Clear Glass", product->productName); + EXPECT_EQ("Monolithic", product->productType); - std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, - {0.305, 0.0030, 0.0470, 0.0480}, - {0.310, 0.0090, 0.0470, 0.0480}, - {0.315, 0.0350, 0.0470, 0.0480}, - {0.320, 0.1000, 0.0470, 0.0480}, - {0.325, 0.2180, 0.0490, 0.0500}}; + std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, + {0.305, 0.0030, 0.0470, 0.0480}, + {0.310, 0.0090, 0.0470, 0.0480}, + {0.315, 0.0350, 0.0470, 0.0480}, + {0.320, 0.1000, 0.0470, 0.0480}, + {0.325, 0.2180, 0.0490, 0.0500}}; - EXPECT_EQ(correctResults.size(), product->measurements.value().size()); - for(auto i = 0u; i < correctResults.size(); ++i) - { - EXPECT_NEAR( - correctResults[i].wavelength, product->measurements.value()[i].wavelength, 1e-6); - EXPECT_NEAR(correctResults[i].directComponent.tf, - product->measurements.value()[i].directComponent.tf, - 1e-6); - EXPECT_NEAR(correctResults[i].directComponent.rf, - product->measurements.value()[i].directComponent.rf, - 1e-6); - EXPECT_NEAR(correctResults[i].directComponent.rb, - product->measurements.value()[i].directComponent.rb, - 1e-6); - } -} + auto & givenResults = + std::get>(product->measurements.value()); + EXPECT_EQ(correctResults.size(), givenResults.size()); + for(auto i = 0u; i < correctResults.size(); ++i) + { + EXPECT_NEAR(correctResults[i].wavelength, givenResults[i].wavelength, 1e-6); + EXPECT_NEAR(correctResults[i].directComponent.tf, givenResults[i].directComponent.tf, 1e-6); + EXPECT_NEAR(correctResults[i].directComponent.rf, givenResults[i].directComponent.rf, 1e-6); + EXPECT_NEAR(correctResults[i].directComponent.rb, givenResults[i].directComponent.rb, 1e-6); + } +} \ No newline at end of file diff --git a/test/InputFile1.unit.cpp b/test/InputFile1.unit.cpp index cc3796f..b942d4d 100644 --- a/test/InputFile1.unit.cpp +++ b/test/InputFile1.unit.cpp @@ -7,113 +7,117 @@ class TestFile1 : public testing::Test { protected: - void SetUp() override - { - std::string inputContent = "{ Units, Wavelength Units } SI Microns\n" - "{ Thickness } 3.048 \n" - "{ Conductivity } 1\n" - "{ IR Transmittance } TIR=0\n" - "{ Emissivity, front back } Emis= 0.84 0.84\n" - "{ }\n" - "{ Ef_Source: Material }\n" - "{ Eb_Source: Material }\n" - "{ IGDB_Checksum: -1717699038 }\n" - "{ Product Name: Generic Clear Glass }\n" - "{ Manufacturer: Generic }\n" - "{ NFRC ID: 102 }\n" - "{ Type: Monolithic }\n" - "{ Material: Glass }\n" - "{ Coating Name: N/A }\n" - "{ Coated Side: Neither }\n" - "{ Substrate Filename: N/A }\n" - "{ Appearance: Clear }\n" - "{ Acceptance: # }\n" - "{ Uses: }\n" - "{ Availability: }\n" - "{ Structure: }\n" - "0.300 0.0020 0.0470 0.0480\n" - "0.305 0.0030 0.0470 0.0480\n" - "0.310 0.0090 0.0470 0.0480\n" - "0.315 0.0350 0.0470 0.0480\n" - "0.320 0.1000 0.0470 0.0480\n" - "0.325 0.2180 0.0490 0.0500"; + void SetUp() override + { + std::string inputContent = "{ Units, Wavelength Units } SI Microns\n" + "{ Thickness } 3.048 \n" + "{ Conductivity } 1\n" + "{ IR Transmittance } TIR=0\n" + "{ Emissivity, front back } Emis= 0.84 0.84\n" + "{ }\n" + "{ Ef_Source: Material }\n" + "{ Eb_Source: Material }\n" + "{ IGDB_Checksum: -1717699038 }\n" + "{ Product Name: Generic Clear Glass }\n" + "{ Manufacturer: Generic }\n" + "{ NFRC ID: 102 }\n" + "{ Type: Monolithic }\n" + "{ Material: Glass }\n" + "{ Coating Name: N/A }\n" + "{ Coated Side: Neither }\n" + "{ Substrate Filename: N/A }\n" + "{ Appearance: Clear }\n" + "{ Acceptance: # }\n" + "{ Uses: }\n" + "{ Availability: }\n" + "{ Structure: }\n" + "0.300 0.0020 0.0470 0.0480\n" + "0.305 0.0030 0.0470 0.0480\n" + "0.310 0.0090 0.0470 0.0480\n" + "0.315 0.0350 0.0470 0.0480\n" + "0.320 0.1000 0.0470 0.0480\n" + "0.325 0.2180 0.0490 0.0500"; - std::ofstream out("InputFile1.dat"); - out << inputContent; - out.close(); - } + std::ofstream out("InputFile1.dat"); + out << inputContent; + out.close(); + } }; TEST_F(TestFile1, Test1) { - const std::string inputFile = R"(InputFile1.dat)"; - OpticsParser::Parser parser; - std::shared_ptr product = parser.parseFile(inputFile); + const std::string inputFile = R"(InputFile1.dat)"; + OpticsParser::Parser parser; + std::shared_ptr product = parser.parseFile(inputFile); - EXPECT_NEAR(3.048, product->thickness.value(), 1e-6); - EXPECT_NEAR(1, product->conductivity.value(), 1e-6); - EXPECT_NEAR(0, product->IRTransmittance.value(), 1e-6); - EXPECT_NEAR(0.84, product->frontEmissivity.value(), 1e-6); - EXPECT_NEAR(0.84, product->backEmissivity.value(), 1e-6); - EXPECT_EQ(102, product->nfrcid.value()); - EXPECT_EQ("Generic Clear Glass", product->productName); - EXPECT_EQ("Monolithic", product->productType); + EXPECT_NEAR(3.048, product->thickness.value(), 1e-6); + EXPECT_NEAR(1, product->conductivity.value(), 1e-6); + EXPECT_NEAR(0, product->IRTransmittance.value(), 1e-6); + EXPECT_NEAR(0.84, product->frontEmissivity.value(), 1e-6); + EXPECT_NEAR(0.84, product->backEmissivity.value(), 1e-6); + EXPECT_EQ(102, product->nfrcid.value()); + EXPECT_EQ("Generic Clear Glass", product->productName); + EXPECT_EQ("Monolithic", product->productType); - std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, - {0.305, 0.0030, 0.0470, 0.0480}, - {0.310, 0.0090, 0.0470, 0.0480}, - {0.315, 0.0350, 0.0470, 0.0480}, - {0.320, 0.1000, 0.0470, 0.0480}, - {0.325, 0.2180, 0.0490, 0.0500}}; + std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, + {0.305, 0.0030, 0.0470, 0.0480}, + {0.310, 0.0090, 0.0470, 0.0480}, + {0.315, 0.0350, 0.0470, 0.0480}, + {0.320, 0.1000, 0.0470, 0.0480}, + {0.325, 0.2180, 0.0490, 0.0500}}; - EXPECT_EQ(correctResults.size(), product->measurements.value().size()); - for(auto i = 0u; i < correctResults.size(); ++i) - { - EXPECT_NEAR( - correctResults[i].wavelength, product->measurements.value()[i].wavelength, 1e-6); - EXPECT_NEAR( - correctResults[i].directComponent.tf, product->measurements.value()[i].directComponent.tf, 1e-6); - EXPECT_NEAR( - correctResults[i].directComponent.rf, product->measurements.value()[i].directComponent.rf, 1e-6); - EXPECT_NEAR( - correctResults[i].directComponent.rb, product->measurements.value()[i].directComponent.rb, 1e-6); - } + auto & givenResults = + std::get>(product->measurements.value()); + EXPECT_EQ(correctResults.size(), givenResults.size()); + for(auto i = 0u; i < correctResults.size(); ++i) + { + EXPECT_NEAR( + correctResults[i].wavelength, givenResults[i].wavelength, 1e-6); + EXPECT_NEAR( + correctResults[i].directComponent.tf, givenResults[i].directComponent.tf, 1e-6); + EXPECT_NEAR( + correctResults[i].directComponent.rf, givenResults[i].directComponent.rf, 1e-6); + EXPECT_NEAR( + correctResults[i].directComponent.rb, givenResults[i].directComponent.rb, 1e-6); + } } TEST_F(TestFile1, TestParseFile) { - const std::string inputFile = R"(InputFile1.dat)"; - OpticsParser::Parser parser; - std::shared_ptr productData = parser.parseFile(inputFile); + const std::string inputFile = R"(InputFile1.dat)"; + OpticsParser::Parser parser; + std::shared_ptr productData = parser.parseFile(inputFile); - EXPECT_NEAR(3.048, productData->thickness.value(), 1e-6); - EXPECT_NEAR(1, productData->conductivity.value(), 1e-6); - EXPECT_NEAR(0, productData->IRTransmittance.value(), 1e-6); - EXPECT_NEAR(0.84, productData->frontEmissivity.value(), 1e-6); - EXPECT_NEAR(0.84, productData->backEmissivity.value(), 1e-6); - EXPECT_EQ(102, productData->nfrcid.value()); - EXPECT_EQ("Generic Clear Glass", productData->productName); - EXPECT_EQ("Monolithic", productData->productType); - std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, - {0.305, 0.0030, 0.0470, 0.0480}, - {0.310, 0.0090, 0.0470, 0.0480}, - {0.315, 0.0350, 0.0470, 0.0480}, - {0.320, 0.1000, 0.0470, 0.0480}, - {0.325, 0.2180, 0.0490, 0.0500}}; + EXPECT_NEAR(3.048, productData->thickness.value(), 1e-6); + EXPECT_NEAR(1, productData->conductivity.value(), 1e-6); + EXPECT_NEAR(0, productData->IRTransmittance.value(), 1e-6); + EXPECT_NEAR(0.84, productData->frontEmissivity.value(), 1e-6); + EXPECT_NEAR(0.84, productData->backEmissivity.value(), 1e-6); + EXPECT_EQ(102, productData->nfrcid.value()); + EXPECT_EQ("Generic Clear Glass", productData->productName); + EXPECT_EQ("Monolithic", productData->productType); + std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, + {0.305, 0.0030, 0.0470, 0.0480}, + {0.310, 0.0090, 0.0470, 0.0480}, + {0.315, 0.0350, 0.0470, 0.0480}, + {0.320, 0.1000, 0.0470, 0.0480}, + {0.325, 0.2180, 0.0490, 0.0500}}; - EXPECT_EQ(correctResults.size(), productData->measurements.value().size()); - for(auto i = 0u; i < correctResults.size(); ++i) - { - EXPECT_NEAR(correctResults[i].wavelength, productData->measurements.value()[i].wavelength, 1e-6); - EXPECT_NEAR(correctResults[i].directComponent.tf, - productData->measurements.value()[i].directComponent.tf, - 1e-6); - EXPECT_NEAR(correctResults[i].directComponent.rf, - productData->measurements.value()[i].directComponent.rf, - 1e-6); - EXPECT_NEAR(correctResults[i].directComponent.rb, - productData->measurements.value()[i].directComponent.rb, - 1e-6); - } -} + auto & givenResults = + std::get>(productData->measurements.value()); + EXPECT_EQ(correctResults.size(), givenResults.size()); + for(auto i = 0u; i < correctResults.size(); ++i) + { + EXPECT_NEAR(correctResults[i].wavelength, givenResults[i].wavelength, 1e-6); + EXPECT_NEAR(correctResults[i].directComponent.tf, + givenResults[i].directComponent.tf, + 1e-6); + EXPECT_NEAR(correctResults[i].directComponent.rf, + givenResults[i].directComponent.rf, + 1e-6); + EXPECT_NEAR(correctResults[i].directComponent.rb, + givenResults[i].directComponent.rb, + 1e-6); + } +} \ No newline at end of file diff --git a/test/InputInvertedEmissivities.unit.cpp b/test/InputInvertedEmissivities.unit.cpp index 19489d4..ae586ab 100644 --- a/test/InputInvertedEmissivities.unit.cpp +++ b/test/InputInvertedEmissivities.unit.cpp @@ -7,74 +7,76 @@ class TestInvertedEmissivities : public testing::Test { protected: - void SetUp() override - { - std::string inputContent = "{ Units, Wavelength Units } SI Microns\n" - "{ Thickness } 3.048 \n" - "{ Conductivity } 1\n" - "{ IR Transmittance } TIR=0\n" - "{ Emissivity, back front } Emis= 0.5 0.84\n" - "{ }\n" - "{ Ef_Source: Material }\n" - "{ Eb_Source: Material }\n" - "{ IGDB_Checksum: -1717699038 }\n" - "{ Product Name: }\n" - "{ Manufacturer: Generic }\n" - "{ NFRC ID: 102 }\n" - "{ Type: Monolithic }\n" - "{ Material: Glass }\n" - "{ Coating Name: N/A }\n" - "{ Coated Side: Neither }\n" - "{ Substrate Filename: N/A }\n" - "{ Appearance: Clear }\n" - "{ Acceptance: # }\n" - "{ Uses: }\n" - "{ Availability: }\n" - "{ Structure: }\n" - "0.300 0.0020 0.0470 0.0480\n" - "0.305 0.0030 0.0470 0.0480\n" - "0.310 0.0090 0.0470 0.0480\n" - "0.315 0.0350 0.0470 0.0480\n" - "0.320 0.1000 0.0470 0.0480\n" - "0.325 0.2180 0.0490 0.0500"; + void SetUp() override + { + std::string inputContent = "{ Units, Wavelength Units } SI Microns\n" + "{ Thickness } 3.048 \n" + "{ Conductivity } 1\n" + "{ IR Transmittance } TIR=0\n" + "{ Emissivity, back front } Emis= 0.5 0.84\n" + "{ }\n" + "{ Ef_Source: Material }\n" + "{ Eb_Source: Material }\n" + "{ IGDB_Checksum: -1717699038 }\n" + "{ Product Name: }\n" + "{ Manufacturer: Generic }\n" + "{ NFRC ID: 102 }\n" + "{ Type: Monolithic }\n" + "{ Material: Glass }\n" + "{ Coating Name: N/A }\n" + "{ Coated Side: Neither }\n" + "{ Substrate Filename: N/A }\n" + "{ Appearance: Clear }\n" + "{ Acceptance: # }\n" + "{ Uses: }\n" + "{ Availability: }\n" + "{ Structure: }\n" + "0.300 0.0020 0.0470 0.0480\n" + "0.305 0.0030 0.0470 0.0480\n" + "0.310 0.0090 0.0470 0.0480\n" + "0.315 0.0350 0.0470 0.0480\n" + "0.320 0.1000 0.0470 0.0480\n" + "0.325 0.2180 0.0490 0.0500"; - std::ofstream out("InputInvertedEmissivites.dat"); - out << inputContent; - out.close(); - } + std::ofstream out("InputInvertedEmissivites.dat"); + out << inputContent; + out.close(); + } }; TEST_F(TestInvertedEmissivities, Test1) { - const std::string inputFile = R"(InputInvertedEmissivites.dat)"; - OpticsParser::Parser parser; - std::shared_ptr product = parser.parseFile(inputFile); + const std::string inputFile = R"(InputInvertedEmissivites.dat)"; + OpticsParser::Parser parser; + std::shared_ptr product = parser.parseFile(inputFile); - EXPECT_NEAR(3.048, product->thickness.value(), 1e-6); - EXPECT_NEAR(1, product->conductivity.value(), 1e-6); - EXPECT_NEAR(0, product->IRTransmittance.value(), 1e-6); - EXPECT_NEAR(0.84, product->frontEmissivity.value(), 1e-6); - EXPECT_NEAR(0.5, product->backEmissivity.value(), 1e-6); - EXPECT_EQ(102, product->nfrcid.value()); - EXPECT_EQ("", product->productName); - EXPECT_EQ("Monolithic", product->productType); + EXPECT_NEAR(3.048, product->thickness.value(), 1e-6); + EXPECT_NEAR(1, product->conductivity.value(), 1e-6); + EXPECT_NEAR(0, product->IRTransmittance.value(), 1e-6); + EXPECT_NEAR(0.84, product->frontEmissivity.value(), 1e-6); + EXPECT_NEAR(0.5, product->backEmissivity.value(), 1e-6); + EXPECT_EQ(102, product->nfrcid.value()); + EXPECT_EQ("", product->productName); + EXPECT_EQ("Monolithic", product->productType); - std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, - {0.305, 0.0030, 0.0470, 0.0480}, - {0.310, 0.0090, 0.0470, 0.0480}, - {0.315, 0.0350, 0.0470, 0.0480}, - {0.320, 0.1000, 0.0470, 0.0480}, - {0.325, 0.2180, 0.0490, 0.0500}}; + std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, + {0.305, 0.0030, 0.0470, 0.0480}, + {0.310, 0.0090, 0.0470, 0.0480}, + {0.315, 0.0350, 0.0470, 0.0480}, + {0.320, 0.1000, 0.0470, 0.0480}, + {0.325, 0.2180, 0.0490, 0.0500}}; - EXPECT_EQ(correctResults.size(), product->measurements.value().size()); - for(auto i = 0u; i < correctResults.size(); ++i) - { - EXPECT_NEAR(correctResults[i].wavelength, product->measurements.value()[i].wavelength, 1e-6); - EXPECT_NEAR( - correctResults[i].directComponent.tf, product->measurements.value()[i].directComponent.tf, 1e-6); - EXPECT_NEAR( - correctResults[i].directComponent.rf, product->measurements.value()[i].directComponent.rf, 1e-6); - EXPECT_NEAR( - correctResults[i].directComponent.rb, product->measurements.value()[i].directComponent.rb, 1e-6); - } -} + auto & givenResults = + std::get>(product->measurements.value()); + EXPECT_EQ(correctResults.size(), givenResults.size()); + for(auto i = 0u; i < correctResults.size(); ++i) + { + EXPECT_NEAR(correctResults[i].wavelength, givenResults[i].wavelength, 1e-6); + EXPECT_NEAR( + correctResults[i].directComponent.tf, givenResults[i].directComponent.tf, 1e-6); + EXPECT_NEAR( + correctResults[i].directComponent.rf, givenResults[i].directComponent.rf, 1e-6); + EXPECT_NEAR( + correctResults[i].directComponent.rb, givenResults[i].directComponent.rb, 1e-6); + } +} \ No newline at end of file diff --git a/test/products/2011-SA1.XML b/test/products/2011-SA1.XML new file mode 100644 index 0000000..934235f --- /dev/null +++ b/test/products/2011-SA1.XML @@ -0,0 +1,1371 @@ + + + System + + + + Satine 5500 5%, White Pearl + Nysan + 1 + Other + 0.15 + 0.79626 + 0.79626 + 0.10916 + 0.049855 + @ + + + Columns + + LBNL/Klems Full + + 0 + + 0 + 5 + + 1 + + + 10 + + 5 + 15 + + 8 + + + 20 + + 15 + 25 + + 16 + + + 30 + + 25 + 35 + + 20 + + + 40 + + 35 + 45 + + 24 + + + 50 + + 45 + 55 + + 24 + + + 60 + + 55 + 65 + + 24 + + + 70 + + 65 + 75 + + 16 + + + 82.5 + + 75 + 90 + + 12 + + + + + System + Visible + CIE Illuminant D65 1nm.ssp + ASTM E308 1931 Y.dsp + + Transmission Front + LBNL/Klems Full + LBNL/Klems Full + BTDF + + 2.063833, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 2.027935, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 2.027935, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 2.027935, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 2.027935, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 2.027935, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 2.027935, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 2.027935, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 2.027935, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 2.047657, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 2.047657, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 2.047657, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 2.047657, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 2.047657, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 2.047657, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 2.047657, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 2.047657, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 2.047657, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 2.047657, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 2.047657, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 2.047657, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 2.047657, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 2.047657, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 2.047657, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 2.047657, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 1.746329, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 1.746329, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 1.746329, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 1.746329, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 1.746329, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 1.746329, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 1.746329, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 1.746329, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 1.746329, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 1.746329, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 1.746329, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 1.746329, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 1.746329, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 1.746329, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 1.746329, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 1.746329, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 1.746329, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 1.746329, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 1.746329, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 1.746329, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.608228, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.620896, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 1.526892, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.801676, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.801676, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.801676, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.801676, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.801676, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.801676, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.801676, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.801676, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.801676, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.801676, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.801676, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.801676, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.801676, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.801676, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.801676, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.801676, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.335522, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.335522, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.335522, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.335522, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.335522, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.335522, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.335522, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.335522, 0.016900, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.335522, 0.016900, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.335522, 0.016900, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.335522, 0.016900, + 0.014954, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014938, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.014928, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.015363, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.016716, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017184, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.017510, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.018179, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.016900, 0.335522, + + + + + System + Visible + CIE Illuminant D65 1nm.ssp + ASTM E308 1931 Y.dsp + + Transmission Back + LBNL/Klems Full + LBNL/Klems Full + BTDF + + 2.063833, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 2.027935, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 2.027935, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 2.027935, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 2.027935, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 2.027935, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 2.027935, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 2.027935, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 2.027935, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 2.047657, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 2.047657, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 2.047657, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 2.047657, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 2.047657, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 2.047657, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 2.047657, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 2.047657, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 2.047657, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 2.047657, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 2.047657, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 2.047657, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 2.047657, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 2.047657, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 2.047657, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 2.047657, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 1.746329, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 1.746329, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 1.746329, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 1.746329, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 1.746329, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 1.746329, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 1.746329, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 1.746329, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 1.746329, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 1.746329, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 1.746329, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 1.746329, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 1.746329, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 1.746329, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 1.746329, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 1.746329, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 1.746329, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 1.746329, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 1.746329, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 1.746329, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.608228, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.620896, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 1.526892, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.801676, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.801676, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.801676, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.801676, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.801676, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.801676, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.801676, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.801676, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.801676, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.801676, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.801676, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.801676, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.801676, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.801676, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.801676, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.801676, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.335522, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.335522, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.335522, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.335522, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.335522, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.335522, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.335522, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.335522, 0.002043, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.335522, 0.002043, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.335522, 0.002043, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.335522, 0.002043, + 0.014456, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.014274, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.013728, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.012828, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.011542, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.009882, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.007838, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.005451, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.002043, 0.335522, + + + + + System + Visible + CIE Illuminant D65 1nm.ssp + ASTM E308 1931 Y.dsp + + Reflection Front + LBNL/Klems Full + LBNL/Klems Full + BTDF + + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + 0.153571, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.154227, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.156199, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.159502, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.164170, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.170277, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.177975, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.187616, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, 0.204156, + + + + + System + Visible + CIE Illuminant D65 1nm.ssp + ASTM E308 1931 Y.dsp + + Reflection Back + LBNL/Klems Full + LBNL/Klems Full + BTDF + + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + 0.178254, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.178873, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.180737, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.183858, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.188270, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.194041, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.201316, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.210428, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, 0.226058, + + + + + System + Solar + ISO8859-1 + None + + Transmission Front + LBNL/Klems Full + LBNL/Klems Full + BTDF + + 2.033760, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 2.009060, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 2.009060, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 2.009060, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 2.009060, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 2.009060, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 2.009060, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 2.009060, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 2.009060, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 2.028739, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 2.028739, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 2.028739, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 2.028739, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 2.028739, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 2.028739, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 2.028739, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 2.028739, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 2.028739, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 2.028739, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 2.028739, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 2.028739, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 2.028739, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 2.028739, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 2.028739, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 2.028739, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 1.734550, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 1.734550, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 1.734550, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 1.734550, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 1.734550, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 1.734550, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 1.734550, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 1.734550, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 1.734550, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 1.734550, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 1.734550, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 1.734550, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 1.734550, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 1.734550, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 1.734550, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 1.734550, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 1.734550, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 1.734550, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 1.734550, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 1.734550, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.591887, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.610392, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 1.516913, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.797010, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.797010, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.797010, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.797010, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.797010, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.797010, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.797010, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.797010, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.797010, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.797010, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.797010, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.797010, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.797010, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.797010, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.797010, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.797010, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.338213, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.338213, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.338213, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.338213, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.338213, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.338213, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.338213, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.338213, 0.022243, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.338213, 0.022243, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.338213, 0.022243, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.338213, 0.022243, + 0.022252, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022174, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022223, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.022461, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023551, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023628, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023737, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.023844, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.022243, 0.338213, + + + + + System + Solar + ISO8859-1 + None + + Transmission Back + LBNL/Klems Full + LBNL/Klems Full + BTDF + + 2.033760, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 2.009060, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 2.009060, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 2.009060, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 2.009060, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 2.009060, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 2.009060, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 2.009060, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 2.009060, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 2.028739, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 2.028739, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 2.028739, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 2.028739, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 2.028739, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 2.028739, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 2.028739, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 2.028739, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 2.028739, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 2.028739, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 2.028739, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 2.028739, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 2.028739, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 2.028739, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 2.028739, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 2.028739, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 1.734550, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 1.734550, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 1.734550, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 1.734550, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 1.734550, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 1.734550, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 1.734550, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 1.734550, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 1.734550, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 1.734550, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 1.734550, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 1.734550, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 1.734550, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 1.734550, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 1.734550, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 1.734550, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 1.734550, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 1.734550, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 1.734550, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 1.734550, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.591887, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.610392, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 1.516913, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.797010, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.797010, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.797010, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.797010, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.797010, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.797010, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.797010, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.797010, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.797010, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.797010, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.797010, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.797010, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.797010, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.797010, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.797010, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.797010, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.338213, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.338213, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.338213, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.338213, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.338213, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.338213, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.338213, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.338213, 0.003868, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.338213, 0.003868, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.338213, 0.003868, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.338213, 0.003868, + 0.021750, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.021508, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.020777, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.019569, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.017820, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.015528, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.012645, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.009169, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.003868, 0.338213, + + + + + System + Solar + ISO8859-1 + None + + Reflection Front + LBNL/Klems Full + LBNL/Klems Full + BTDF + + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + 0.148154, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.148805, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.150762, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.154041, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.158675, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.164737, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.172379, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.181949, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, 0.198368, + + + + + System + Solar + ISO8859-1 + None + + Reflection Back + LBNL/Klems Full + LBNL/Klems Full + BTDF + + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + 0.167364, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.167990, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.169873, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.173027, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.177485, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.183315, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.190665, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.199871, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, 0.215664, + + + + + + diff --git a/test/read_bsdf_xml_file.unit.cpp b/test/read_bsdf_xml_file.unit.cpp new file mode 100644 index 0000000..d9cd176 --- /dev/null +++ b/test/read_bsdf_xml_file.unit.cpp @@ -0,0 +1,76 @@ +#include +#include +#include +#include +#include + +#include "Parser.hpp" + +#include "paths.h" + +extern std::string test_dir; + +class TestLoadBSDFXMLFromDisk : public testing::Test +{ +protected: + virtual void SetUp() + {} +}; + + +TEST_F(TestLoadBSDFXMLFromDisk, TestLoad2011SA1) +{ + SCOPED_TRACE("Begin Test: Load 2011-SA1.XML"); + std::filesystem::path product_path(test_dir); + product_path /= "products"; + product_path /= "2011-SA1.XML"; + + std::shared_ptr product = + OpticsParser::parseBSDFXMLFile(product_path.string()); + + // EXPECT_EQ(product->nfrcid.value(), 102); + EXPECT_EQ(product->productName, "Satine 5500 5%, White Pearl"); + EXPECT_EQ(product->productType, ""); + EXPECT_EQ(product->manufacturer, "Nysan"); + EXPECT_EQ(product->thickness, 1); + EXPECT_EQ(product->conductivity, .15); + EXPECT_EQ(product->IRTransmittance, 0.10916); + EXPECT_EQ(product->frontEmissivity, 0.79626); + EXPECT_EQ(product->backEmissivity, 0.79626); + EXPECT_TRUE(product->measurements.has_value()); + EXPECT_TRUE(std::holds_alternative(product->measurements.value())); + auto & measurements = std::get(product->measurements.value()); + auto & solar = measurements.at("solar"); + auto & visible = measurements.at("visible"); + EXPECT_EQ(solar.tf.size(), 145); + EXPECT_EQ(solar.tb.size(), 145); + EXPECT_EQ(solar.rf.size(), 145); + EXPECT_EQ(solar.rb.size(), 145); + EXPECT_EQ(visible.tf.size(), 145); + EXPECT_EQ(visible.tb.size(), 145); + EXPECT_EQ(visible.rf.size(), 145); + EXPECT_EQ(visible.rb.size(), 145); + for(size_t i = 0; i < solar.tf.size(); ++i) + { + EXPECT_EQ(solar.tf[i].size(), 145); + EXPECT_EQ(solar.tb[i].size(), 145); + EXPECT_EQ(solar.rf[i].size(), 145); + EXPECT_EQ(solar.rb[i].size(), 145); + EXPECT_EQ(visible.tf[i].size(), 145); + EXPECT_EQ(visible.tb[i].size(), 145); + EXPECT_EQ(visible.rf[i].size(), 145); + EXPECT_EQ(visible.rb[i].size(), 145); + } + + EXPECT_EQ(solar.tf[1][1], 2.009060); + EXPECT_EQ(solar.tb[0][1], 0.021508); + EXPECT_EQ(solar.rf[1][0], 0.148154); + EXPECT_EQ(solar.rb[0][0], 0.167364); + EXPECT_EQ(visible.tf[1][1], 2.027935); + EXPECT_EQ(visible.tb[0][1], 0.014274); + EXPECT_EQ(visible.rf[1][0], 0.153571); + EXPECT_EQ(visible.rb[0][0], 0.178254); + + + +} \ No newline at end of file diff --git a/test/read_checker_tool_json_file.unit.cpp b/test/read_checker_tool_json_file.unit.cpp index 1cf360e..17d7e7c 100644 --- a/test/read_checker_tool_json_file.unit.cpp +++ b/test/read_checker_tool_json_file.unit.cpp @@ -13,39 +13,40 @@ extern std::string test_dir; class TestLoadJSONFromDisk : public testing::Test { protected: - virtual void SetUp() - {} + virtual void SetUp() + {} }; - +#if 0 // Checkertool json has changed since this test was written. Disabling until it can be brought in line with current format. TEST_F(TestLoadJSONFromDisk, TestLoadCheckerToolJSON) { - SCOPED_TRACE("Begin Test: Load checker tool json format."); - std::filesystem::path product_path(test_dir); - product_path /= "products"; - product_path /= "checker_tool_input_example.json"; - - OpticsParser::Parser parser; - - std::shared_ptr product = parser.parseJSONFile(product_path.string()); - // EXPECT_EQ(product->nfrcid.value(), 102); - EXPECT_EQ(product->productName, "CGD89_092661"); - EXPECT_EQ(product->productType, "coated-glass"); - EXPECT_EQ(product->coatingName, "CGD89_092661"); - EXPECT_EQ(product->coatedSide, "Both"); - EXPECT_EQ(product->manufacturer, "Cardinal Glass Industries"); - EXPECT_EQ(product->thickness.value(), 2.2); - // TODO EXPECT_EQ(product->conductivity, 1.0); - EXPECT_EQ(product->IRTransmittance.value(), 0.0); - EXPECT_EQ(product->frontEmissivity.value(), 0.149); - EXPECT_EQ(product->backEmissivity.value(), 0.149); - EXPECT_EQ(product->measurements.value().size(), 462); - EXPECT_EQ(product->measurements.value()[0].wavelength, 0.3); - EXPECT_EQ(product->measurements.value()[0].directComponent.tf, 0.0); - EXPECT_EQ(product->measurements.value()[0].directComponent.rf, 0.021); - EXPECT_EQ(product->measurements.value()[0].directComponent.rb, 0.021); - EXPECT_EQ(product->measurements.value()[461].wavelength, 25.0); - EXPECT_EQ(product->measurements.value()[461].directComponent.tf, 0.0); - EXPECT_EQ(product->measurements.value()[461].directComponent.rf, 0.8894); - EXPECT_EQ(product->measurements.value()[461].directComponent.rb, 0.8894); + SCOPED_TRACE("Begin Test: Load checker tool json format."); + std::filesystem::path product_path(test_dir); + product_path /= "products"; + product_path /= "checker_tool_input_example.json"; + + OpticsParser::Parser parser; + + std::shared_ptr product = parser.parseJSONFile(product_path.string()); + // EXPECT_EQ(product->nfrcid.value(), 102); + EXPECT_EQ(product->productName, "CGD89_092661"); + EXPECT_EQ(product->productType, "coated-glass"); + EXPECT_EQ(product->coatingName, "CGD89_092661"); + EXPECT_EQ(product->coatedSide, "Both"); + EXPECT_EQ(product->manufacturer, "Cardinal Glass Industries"); + EXPECT_EQ(product->thickness.value(), 2.2); + // TODO EXPECT_EQ(product->conductivity, 1.0); + EXPECT_EQ(product->IRTransmittance.value(), 0.0); + EXPECT_EQ(product->frontEmissivity.value(), 0.149); + EXPECT_EQ(product->backEmissivity.value(), 0.149); + EXPECT_EQ(product->measurements.value().size(), 462); + EXPECT_EQ(product->measurements.value()[0].wavelength, 0.3); + EXPECT_EQ(product->measurements.value()[0].directComponent.tf, 0.0); + EXPECT_EQ(product->measurements.value()[0].directComponent.rf, 0.021); + EXPECT_EQ(product->measurements.value()[0].directComponent.rb, 0.021); + EXPECT_EQ(product->measurements.value()[461].wavelength, 25.0); + EXPECT_EQ(product->measurements.value()[461].directComponent.tf, 0.0); + EXPECT_EQ(product->measurements.value()[461].directComponent.rf, 0.8894); + EXPECT_EQ(product->measurements.value()[461].directComponent.rb, 0.8894); } +#endif \ No newline at end of file diff --git a/test/read_igsdb_shading_layer_json.unit.cpp b/test/read_igsdb_shading_layer_json.unit.cpp index 2817340..0e4a40f 100644 --- a/test/read_igsdb_shading_layer_json.unit.cpp +++ b/test/read_igsdb_shading_layer_json.unit.cpp @@ -13,33 +13,33 @@ extern std::string test_dir; class TestLoadIGSDBJSONFromDisk : public testing::Test { protected: - virtual void SetUp() - {} + virtual void SetUp() + {} }; TEST_F(TestLoadIGSDBJSONFromDisk, TestLoadIGSDBVenetianShadingLayerJSON) { - SCOPED_TRACE("Begin Test: Load IGSDB venetian shading layer json format."); - std::filesystem::path product_path(test_dir); - product_path /= "products"; - product_path /= "igsdb_12149.json"; - - OpticsParser::Parser parser; - - - std::shared_ptr product = std::dynamic_pointer_cast(parser.parseJSONFile(product_path.string())); - - // EXPECT_EQ(product->nfrcid.value(), 102); - EXPECT_EQ(product->productName, "Slim White Venetian Blind"); - EXPECT_EQ(product->productType, "shading"); - EXPECT_EQ(product->manufacturer, "Pella"); - EXPECT_EQ(product->thickness, std::optional()); - // TODO EXPECT_EQ(product->conductivity, 1.0); - EXPECT_EQ(product->IRTransmittance, std::optional()); - EXPECT_EQ(product->frontEmissivity, std::optional()); - EXPECT_EQ(product->backEmissivity, std::optional()); - EXPECT_EQ(product->measurements.has_value(), false); + SCOPED_TRACE("Begin Test: Load IGSDB venetian shading layer json format."); + std::filesystem::path product_path(test_dir); + product_path /= "products"; + product_path /= "igsdb_12149.json"; + + OpticsParser::Parser parser; + + + std::shared_ptr product = std::dynamic_pointer_cast(parser.parseJSONFile(product_path.string())); + + // EXPECT_EQ(product->nfrcid.value(), 102); + EXPECT_EQ(product->productName, "Slim White Venetian Blind"); + EXPECT_EQ(product->productType, "shading"); + EXPECT_EQ(product->manufacturer, "Pella"); + EXPECT_EQ(product->thickness, std::optional()); + // TODO EXPECT_EQ(product->conductivity, 1.0); + EXPECT_EQ(product->IRTransmittance, std::optional()); + EXPECT_EQ(product->frontEmissivity, std::optional()); + EXPECT_EQ(product->backEmissivity, std::optional()); + EXPECT_EQ(product->measurements.has_value(), false); auto geometry = std::dynamic_pointer_cast(product->compositionInformation->geometry); EXPECT_EQ(geometry->slatWidth, 0.0148); EXPECT_EQ(geometry->slatSpacing, 0.0127); @@ -47,75 +47,77 @@ TEST_F(TestLoadIGSDBJSONFromDisk, TestLoadIGSDBVenetianShadingLayerJSON) EXPECT_EQ(geometry->numberSegments, 5); auto material = product->compositionInformation->material; EXPECT_EQ(material->productName, "White Venetian Blind Slat (white.txt)"); - EXPECT_EQ(material->productType, "material"); - EXPECT_EQ(material->manufacturer, "Pella"); - EXPECT_EQ(material->thickness, 0.1); - EXPECT_EQ(material->IRTransmittance, 0.0); - EXPECT_EQ(material->frontEmissivity, 0.9); - EXPECT_EQ(material->backEmissivity, 0.9); - EXPECT_EQ(material->measurements.has_value(), true); - - EXPECT_EQ(material->measurements.value().size(), 441); - EXPECT_EQ(material->measurements.value()[0].wavelength, 0.3); - EXPECT_EQ(material->measurements.value()[0].directComponent.tf, 0.0); - EXPECT_EQ(material->measurements.value()[0].directComponent.rf, 0.0703); - EXPECT_EQ(material->measurements.value()[0].directComponent.rb, 0.0703); - EXPECT_EQ(material->measurements.value()[440].wavelength, 2.50); - EXPECT_EQ(material->measurements.value()[440].directComponent.tf, 0.0); - EXPECT_EQ(material->measurements.value()[440].directComponent.rf, 0.719); - EXPECT_EQ(material->measurements.value()[440].directComponent.rb, 0.719); + EXPECT_EQ(material->productType, "material"); + EXPECT_EQ(material->manufacturer, "Pella"); + EXPECT_EQ(material->thickness, 0.1); + EXPECT_EQ(material->IRTransmittance, 0.0); + EXPECT_EQ(material->frontEmissivity, 0.9); + EXPECT_EQ(material->backEmissivity, 0.9); + EXPECT_EQ(material->measurements.has_value(), true); + auto & materialMeasurements = + std::get>(material->measurements.value()); + EXPECT_EQ(materialMeasurements.size(), 441); + EXPECT_EQ(materialMeasurements[0].wavelength, 0.3); + EXPECT_EQ(materialMeasurements[0].directComponent.tf, 0.0); + EXPECT_EQ(materialMeasurements[0].directComponent.rf, 0.0703); + EXPECT_EQ(materialMeasurements[0].directComponent.rb, 0.0703); + EXPECT_EQ(materialMeasurements[440].wavelength, 2.50); + EXPECT_EQ(materialMeasurements[440].directComponent.tf, 0.0); + EXPECT_EQ(materialMeasurements[440].directComponent.rf, 0.719); + EXPECT_EQ(materialMeasurements[440].directComponent.rb, 0.719); } TEST_F(TestLoadIGSDBJSONFromDisk, TestLoadIGSDBPerforatedScreenShadingLayerJSON) { - SCOPED_TRACE("Begin Test: Load IGSDB perforated shading layer json format."); - std::filesystem::path product_path(test_dir); - product_path /= "products"; - product_path /= "igsdb_12295.json"; - - OpticsParser::Parser parser; - - - std::shared_ptr product = - std::dynamic_pointer_cast( - parser.parseJSONFile(product_path.string())); - - // EXPECT_EQ(product->nfrcid.value(), 102); - EXPECT_EQ(product->productName, "Solar Comfort Radiant Barrier"); - EXPECT_EQ(product->productType, "shading"); - EXPECT_EQ(product->manufacturer, "Solar Comfort"); - EXPECT_EQ(product->thickness, std::optional()); - // TODO EXPECT_EQ(product->conductivity, 1.0); - EXPECT_EQ(product->IRTransmittance, std::optional()); - EXPECT_EQ(product->frontEmissivity, std::optional()); - EXPECT_EQ(product->backEmissivity, std::optional()); - EXPECT_EQ(product->measurements.has_value(), false); - auto geometry = std::dynamic_pointer_cast( - product->compositionInformation->geometry); - EXPECT_EQ(geometry->spacingX, 1.69); - EXPECT_EQ(geometry->spacingY, 1.69); - EXPECT_EQ(geometry->dimensionX, 0.58); - EXPECT_EQ(geometry->dimensionY, 6.35); - EXPECT_EQ(geometry->perforationType, "Circular"); - auto material = product->compositionInformation->material; - EXPECT_EQ(material->productName, "SCRadiantBarrier.txt"); - EXPECT_EQ(material->productType, "material"); - EXPECT_EQ(material->manufacturer, "Solar Comfort"); - EXPECT_EQ(material->thickness, 0.23); - EXPECT_EQ(material->IRTransmittance, 0.0); - EXPECT_EQ(material->frontEmissivity, 0.863); - EXPECT_EQ(material->backEmissivity, 0.84); - EXPECT_EQ(material->conductivity, 0.12); - EXPECT_EQ(material->measurements.has_value(), true); - - EXPECT_EQ(material->measurements.value().size(), 441); - EXPECT_EQ(material->measurements.value()[0].wavelength, 0.3); - EXPECT_EQ(material->measurements.value()[0].directComponent.tf, 0.0); - EXPECT_EQ(material->measurements.value()[0].directComponent.rf, 0.0794); - EXPECT_EQ(material->measurements.value()[0].directComponent.rb, 0.0674); - EXPECT_EQ(material->measurements.value()[440].wavelength, 2.50); - EXPECT_EQ(material->measurements.value()[440].directComponent.tf, 0.0); - EXPECT_EQ(material->measurements.value()[440].directComponent.rf, 0.6568); - EXPECT_EQ(material->measurements.value()[440].directComponent.rb, 0.48); -} + SCOPED_TRACE("Begin Test: Load IGSDB perforated shading layer json format."); + std::filesystem::path product_path(test_dir); + product_path /= "products"; + product_path /= "igsdb_12295.json"; + + OpticsParser::Parser parser; + + + std::shared_ptr product = + std::dynamic_pointer_cast( + parser.parseJSONFile(product_path.string())); + + // EXPECT_EQ(product->nfrcid.value(), 102); + EXPECT_EQ(product->productName, "Solar Comfort Radiant Barrier"); + EXPECT_EQ(product->productType, "shading"); + EXPECT_EQ(product->manufacturer, "Solar Comfort"); + EXPECT_EQ(product->thickness, std::optional()); + // TODO EXPECT_EQ(product->conductivity, 1.0); + EXPECT_EQ(product->IRTransmittance, std::optional()); + EXPECT_EQ(product->frontEmissivity, std::optional()); + EXPECT_EQ(product->backEmissivity, std::optional()); + EXPECT_EQ(product->measurements.has_value(), false); + auto geometry = std::dynamic_pointer_cast( + product->compositionInformation->geometry); + EXPECT_EQ(geometry->spacingX, 1.69); + EXPECT_EQ(geometry->spacingY, 1.69); + EXPECT_EQ(geometry->dimensionX, 0.58); + EXPECT_EQ(geometry->dimensionY, 6.35); + EXPECT_EQ(geometry->perforationType, "Circular"); + auto material = product->compositionInformation->material; + EXPECT_EQ(material->productName, "SCRadiantBarrier.txt"); + EXPECT_EQ(material->productType, "material"); + EXPECT_EQ(material->manufacturer, "Solar Comfort"); + EXPECT_EQ(material->thickness, 0.23); + EXPECT_EQ(material->IRTransmittance, 0.0); + EXPECT_EQ(material->frontEmissivity, 0.863); + EXPECT_EQ(material->backEmissivity, 0.84); + EXPECT_EQ(material->conductivity, 0.12); + EXPECT_EQ(material->measurements.has_value(), true); + auto & materialMeasurements = + std::get>(material->measurements.value()); + EXPECT_EQ(materialMeasurements.size(), 441); + EXPECT_EQ(materialMeasurements[0].wavelength, 0.3); + EXPECT_EQ(materialMeasurements[0].directComponent.tf, 0.0); + EXPECT_EQ(materialMeasurements[0].directComponent.rf, 0.0794); + EXPECT_EQ(materialMeasurements[0].directComponent.rb, 0.0674); + EXPECT_EQ(materialMeasurements[440].wavelength, 2.50); + EXPECT_EQ(materialMeasurements[440].directComponent.tf, 0.0); + EXPECT_EQ(materialMeasurements[440].directComponent.rf, 0.6568); + EXPECT_EQ(materialMeasurements[440].directComponent.rb, 0.48); +} \ No newline at end of file diff --git a/test/read_json_file_from_disk.unit.cpp b/test/read_json_file_from_disk.unit.cpp index a1fadd9..d005a61 100644 --- a/test/read_json_file_from_disk.unit.cpp +++ b/test/read_json_file_from_disk.unit.cpp @@ -14,38 +14,38 @@ extern std::string test_dir; class TestLoadJSONFromDisk : public testing::Test { protected: - virtual void SetUp() - {} + virtual void SetUp() + {} }; TEST_F(TestLoadJSONFromDisk, TestLoadClear3JSON) { - SCOPED_TRACE("Begin Test: Load NFRC 2003 from disk."); - - SCOPED_TRACE("Begin Test: Load CLEAR_3.DAT from disk."); - - std::filesystem::path clear_3_path(test_dir); - clear_3_path /= "products"; - clear_3_path /= "CLEAR_3.json"; - - std::shared_ptr product = OpticsParser::parseJSONFile(clear_3_path.string()); -// EXPECT_EQ(product->nfrcid.value(), 102); - EXPECT_EQ(product->productName, "Generic Clear Glass"); - EXPECT_EQ(product->productType, "monolithic"); - EXPECT_EQ(product->thickness.value(), 3.048); - EXPECT_EQ(product->conductivity, 1.0); - EXPECT_EQ(product->IRTransmittance.value(), 0.0); - EXPECT_EQ(product->frontEmissivity.value(), 0.84); - EXPECT_EQ(product->backEmissivity.value(), 0.84); - EXPECT_EQ(product->measurements.value().size(), 111); - EXPECT_EQ(product->measurements.value()[0].wavelength, 0.3); - EXPECT_EQ(product->measurements.value()[0].T, 0.002); - EXPECT_EQ(product->measurements.value()[0].frontR, 0.047); - EXPECT_EQ(product->measurements.value()[0].backR, 0.048); - EXPECT_EQ(product->measurements.value()[110].wavelength, 2.5); - EXPECT_EQ(product->measurements.value()[110].T, 0.822); - EXPECT_EQ(product->measurements.value()[110].frontR, 0.068); - EXPECT_EQ(product->measurements.value()[110].backR, 0.068); + SCOPED_TRACE("Begin Test: Load NFRC 2003 from disk."); + + SCOPED_TRACE("Begin Test: Load CLEAR_3.DAT from disk."); + + std::filesystem::path clear_3_path(test_dir); + clear_3_path /= "products"; + clear_3_path /= "CLEAR_3.json"; + + std::shared_ptr product = OpticsParser::parseJSONFile(clear_3_path.string()); + // EXPECT_EQ(product->nfrcid.value(), 102); + EXPECT_EQ(product->productName, "Generic Clear Glass"); + EXPECT_EQ(product->productType, "monolithic"); + EXPECT_EQ(product->thickness.value(), 3.048); + EXPECT_EQ(product->conductivity, 1.0); + EXPECT_EQ(product->IRTransmittance.value(), 0.0); + EXPECT_EQ(product->frontEmissivity.value(), 0.84); + EXPECT_EQ(product->backEmissivity.value(), 0.84); + EXPECT_EQ(product->measurements.value().size(), 111); + EXPECT_EQ(product->measurements.value()[0].wavelength, 0.3); + EXPECT_EQ(product->measurements.value()[0].T, 0.002); + EXPECT_EQ(product->measurements.value()[0].frontR, 0.047); + EXPECT_EQ(product->measurements.value()[0].backR, 0.048); + EXPECT_EQ(product->measurements.value()[110].wavelength, 2.5); + EXPECT_EQ(product->measurements.value()[110].T, 0.822); + EXPECT_EQ(product->measurements.value()[110].frontR, 0.068); + EXPECT_EQ(product->measurements.value()[110].backR, 0.068); } -#endif +#endif \ No newline at end of file diff --git a/test/read_optics_file_from_disk.unit.cpp b/test/read_optics_file_from_disk.unit.cpp index 2ae7439..c909fb6 100644 --- a/test/read_optics_file_from_disk.unit.cpp +++ b/test/read_optics_file_from_disk.unit.cpp @@ -14,98 +14,102 @@ extern std::string test_dir; class TestLoadOpticsFileFromDisk : public testing::Test { protected: - virtual void SetUp() - {} + virtual void SetUp() + {} }; TEST_F(TestLoadOpticsFileFromDisk, TestLoadClear3) { - SCOPED_TRACE("Begin Test: Load CLEAR_3.DAT from disk."); + SCOPED_TRACE("Begin Test: Load CLEAR_3.DAT from disk."); - std::string clear_3_path(test_dir); - clear_3_path += "/products"; - clear_3_path += "/CLEAR_3.DAT"; + std::string clear_3_path(test_dir); + clear_3_path += "/products"; + clear_3_path += "/CLEAR_3.DAT"; - OpticsParser::Parser parser; - std::shared_ptr product = parser.parseFile(clear_3_path); - EXPECT_EQ(product->nfrcid.value(), 102); - EXPECT_EQ(product->productName, "Generic Clear Glass"); - EXPECT_EQ(product->productType, "Monolithic"); - EXPECT_EQ(product->thickness.value(), 3.048); - EXPECT_EQ(product->conductivity, 1.0); - EXPECT_EQ(product->IRTransmittance.value(), 0.0); - EXPECT_EQ(product->frontEmissivity.value(), 0.84); - EXPECT_EQ(product->backEmissivity.value(), 0.84); - EXPECT_EQ(product->measurements.value().size(), 111); - EXPECT_EQ(product->measurements.value()[0].wavelength, 0.3); - EXPECT_EQ(product->measurements.value()[0].directComponent.tf, 0.002); - EXPECT_EQ(product->measurements.value()[0].directComponent.rf, 0.047); - EXPECT_EQ(product->measurements.value()[0].directComponent.rb, 0.048); - EXPECT_EQ(product->measurements.value()[110].wavelength, 2.5); - EXPECT_EQ(product->measurements.value()[110].directComponent.tf, 0.822); - EXPECT_EQ(product->measurements.value()[110].directComponent.rf, 0.068); - EXPECT_EQ(product->measurements.value()[110].directComponent.rb, 0.068); - EXPECT_EQ(product->frontEmissivitySource.value(), "Material"); - EXPECT_EQ(product->backEmissivitySource.value(), "Material"); - EXPECT_EQ(product->manufacturer, "Generic"); - EXPECT_EQ(product->material, "Glass"); - EXPECT_EQ(product->coatingName, "N/A"); - EXPECT_EQ(product->coatedSide, "Neither"); - EXPECT_EQ(product->substrateFilename, "N/A"); - EXPECT_EQ(product->appearance, "Clear"); - EXPECT_EQ(product->acceptance, "#"); - EXPECT_EQ(product->unitSystem, "SI"); - EXPECT_EQ(product->wavelengthUnit, "Microns"); + OpticsParser::Parser parser; + std::shared_ptr product = parser.parseFile(clear_3_path); + EXPECT_EQ(product->nfrcid.value(), 102); + EXPECT_EQ(product->productName, "Generic Clear Glass"); + EXPECT_EQ(product->productType, "Monolithic"); + EXPECT_EQ(product->thickness.value(), 3.048); + EXPECT_EQ(product->conductivity, 1.0); + EXPECT_EQ(product->IRTransmittance.value(), 0.0); + EXPECT_EQ(product->frontEmissivity.value(), 0.84); + EXPECT_EQ(product->backEmissivity.value(), 0.84); + auto & givenResults = + std::get>(product->measurements.value()); + EXPECT_EQ(givenResults.size(), 111); + EXPECT_EQ(givenResults[0].wavelength, 0.3); + EXPECT_EQ(givenResults[0].directComponent.tf, 0.002); + EXPECT_EQ(givenResults[0].directComponent.rf, 0.047); + EXPECT_EQ(givenResults[0].directComponent.rb, 0.048); + EXPECT_EQ(givenResults[110].wavelength, 2.5); + EXPECT_EQ(givenResults[110].directComponent.tf, 0.822); + EXPECT_EQ(givenResults[110].directComponent.rf, 0.068); + EXPECT_EQ(givenResults[110].directComponent.rb, 0.068); + EXPECT_EQ(product->frontEmissivitySource.value(), "Material"); + EXPECT_EQ(product->backEmissivitySource.value(), "Material"); + EXPECT_EQ(product->manufacturer, "Generic"); + EXPECT_EQ(product->material, "Glass"); + EXPECT_EQ(product->coatingName, "N/A"); + EXPECT_EQ(product->coatedSide, "Neither"); + EXPECT_EQ(product->substrateFilename, "N/A"); + EXPECT_EQ(product->appearance, "Clear"); + EXPECT_EQ(product->acceptance, "#"); + EXPECT_EQ(product->unitSystem, "SI"); + EXPECT_EQ(product->wavelengthUnit, "Microns"); } TEST_F(TestLoadOpticsFileFromDisk, TestLoadDiffuseData) { - SCOPED_TRACE("Begin Test: Load a file with diffuse data from disk (diffuse_optics_file_2.txt)."); + SCOPED_TRACE("Begin Test: Load a file with diffuse data from disk (diffuse_optics_file_2.txt)."); - std::string product_path(test_dir); - product_path += "/products"; - product_path += "/diffuse_optics_file_2.txt"; + std::string product_path(test_dir); + product_path += "/products"; + product_path += "/diffuse_optics_file_2.txt"; - OpticsParser::Parser parser; - std::shared_ptr product = parser.parseFile(product_path); - EXPECT_EQ(product->nfrcid, std::optional()); - EXPECT_EQ(product->productName, "Generic frit 38mm aperture"); - EXPECT_EQ(product->productType, "Coated"); - EXPECT_EQ(product->thickness.value(), 6.0); - EXPECT_EQ(product->conductivity, 1.0); - EXPECT_EQ(product->IRTransmittance.value(), 0.0); - EXPECT_EQ(product->frontEmissivity.value(), 0.86); - EXPECT_EQ(product->backEmissivity.value(), 0.86); - EXPECT_EQ(product->measurements.value().size(), 451); - EXPECT_EQ(product->measurements.value()[0].wavelength, 0.250); - EXPECT_EQ(product->measurements.value()[0].directComponent.tf, 0.001); - EXPECT_EQ(product->measurements.value()[0].directComponent.tb, 0.006); - EXPECT_EQ(product->measurements.value()[0].directComponent.rf, 0.011); - EXPECT_EQ(product->measurements.value()[0].directComponent.rb, 0.006); - EXPECT_EQ(product->measurements.value()[0].diffuseComponent.value().tf, 0.002); - EXPECT_EQ(product->measurements.value()[0].diffuseComponent.value().tb, 0.076); - EXPECT_EQ(product->measurements.value()[0].diffuseComponent.value().rf, 0.087); - EXPECT_EQ(product->measurements.value()[0].diffuseComponent.value().rb, 0.131); - EXPECT_EQ(product->measurements.value()[450].wavelength, 2.5); - EXPECT_EQ(product->measurements.value()[450].directComponent.tf, 0.520); - EXPECT_EQ(product->measurements.value()[450].directComponent.tb, 0.528); - EXPECT_EQ(product->measurements.value()[450].directComponent.rf, 0.000); - EXPECT_EQ(product->measurements.value()[450].directComponent.rb, 0.000); - EXPECT_EQ(product->measurements.value()[450].diffuseComponent.value().tf, 0.238); - EXPECT_EQ(product->measurements.value()[450].diffuseComponent.value().tb, 0.240); - EXPECT_EQ(product->measurements.value()[450].diffuseComponent.value().rf, 0.0970); - EXPECT_EQ(product->measurements.value()[450].diffuseComponent.value().rb, 0.0940); - EXPECT_EQ(product->frontEmissivitySource, std::optional()); - EXPECT_EQ(product->backEmissivitySource, std::optional()); - EXPECT_EQ(product->manufacturer, "LBNL demo"); - EXPECT_EQ(product->material, std::optional()); - EXPECT_EQ(product->coatingName, "Generic clear frit"); - EXPECT_EQ(product->coatedSide, "Back"); - EXPECT_EQ(product->substrateFilename, "CLEAR_6.DAT"); - EXPECT_EQ(product->appearance, "Hazy"); - EXPECT_EQ(product->acceptance, std::optional()); - EXPECT_EQ(product->unitSystem, "SI"); - EXPECT_EQ(product->wavelengthUnit, "Microns"); - EXPECT_EQ(product->permeabilityFactor, 0.0); + OpticsParser::Parser parser; + std::shared_ptr product = parser.parseFile(product_path); + EXPECT_EQ(product->nfrcid, std::optional()); + EXPECT_EQ(product->productName, "Generic frit 38mm aperture"); + EXPECT_EQ(product->productType, "Coated"); + EXPECT_EQ(product->thickness.value(), 6.0); + EXPECT_EQ(product->conductivity, 1.0); + EXPECT_EQ(product->IRTransmittance.value(), 0.0); + EXPECT_EQ(product->frontEmissivity.value(), 0.86); + EXPECT_EQ(product->backEmissivity.value(), 0.86); + auto & givenMeasurements = + std::get>(product->measurements.value()); + EXPECT_EQ(givenMeasurements.size(), 451); + EXPECT_EQ(givenMeasurements[0].wavelength, 0.250); + EXPECT_EQ(givenMeasurements[0].directComponent.tf, 0.001); + EXPECT_EQ(givenMeasurements[0].directComponent.tb, 0.006); + EXPECT_EQ(givenMeasurements[0].directComponent.rf, 0.011); + EXPECT_EQ(givenMeasurements[0].directComponent.rb, 0.006); + EXPECT_EQ(givenMeasurements[0].diffuseComponent.value().tf, 0.002); + EXPECT_EQ(givenMeasurements[0].diffuseComponent.value().tb, 0.076); + EXPECT_EQ(givenMeasurements[0].diffuseComponent.value().rf, 0.087); + EXPECT_EQ(givenMeasurements[0].diffuseComponent.value().rb, 0.131); + EXPECT_EQ(givenMeasurements[450].wavelength, 2.5); + EXPECT_EQ(givenMeasurements[450].directComponent.tf, 0.520); + EXPECT_EQ(givenMeasurements[450].directComponent.tb, 0.528); + EXPECT_EQ(givenMeasurements[450].directComponent.rf, 0.000); + EXPECT_EQ(givenMeasurements[450].directComponent.rb, 0.000); + EXPECT_EQ(givenMeasurements[450].diffuseComponent.value().tf, 0.238); + EXPECT_EQ(givenMeasurements[450].diffuseComponent.value().tb, 0.240); + EXPECT_EQ(givenMeasurements[450].diffuseComponent.value().rf, 0.0970); + EXPECT_EQ(givenMeasurements[450].diffuseComponent.value().rb, 0.0940); + EXPECT_EQ(product->frontEmissivitySource, std::optional()); + EXPECT_EQ(product->backEmissivitySource, std::optional()); + EXPECT_EQ(product->manufacturer, "LBNL demo"); + EXPECT_EQ(product->material, std::optional()); + EXPECT_EQ(product->coatingName, "Generic clear frit"); + EXPECT_EQ(product->coatedSide, "Back"); + EXPECT_EQ(product->substrateFilename, "CLEAR_6.DAT"); + EXPECT_EQ(product->appearance, "Hazy"); + EXPECT_EQ(product->acceptance, std::optional()); + EXPECT_EQ(product->unitSystem, "SI"); + EXPECT_EQ(product->wavelengthUnit, "Microns"); + EXPECT_EQ(product->permeabilityFactor, 0.0); } \ No newline at end of file From 06c7eb6ab46a5bad525a81be775c5728eae1da1e Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Fri, 23 Oct 2020 14:55:54 -0400 Subject: [PATCH 24/55] Added fields for angle basis for each bsdf. --- src/Parser.cpp | 13 ++++-- src/ProductData.hpp | 7 +++- test/read_bsdf_xml_file.unit.cpp | 68 +++++++++++++++++++------------- 3 files changed, 56 insertions(+), 32 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index 6a3ba56..d579c10 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -739,21 +739,26 @@ namespace OpticsParser } std::vector> bsdf = convertToSquareMatrix(splitData); + std::string columnAngleBasisName = + wavelengthDataBlockNode.getChildNode(_T("ColumnAngleBasis")).getText(); + std::string rowAngleBasisName = + wavelengthDataBlockNode.getChildNode(_T("RowAngleBasis")).getText(); + if(toLower(wavelengthDirection) == "transmission front") { - currentBandBSDFs->tf = bsdf; + currentBandBSDFs->tf = BSDF{bsdf, rowAngleBasisName, columnAngleBasisName}; } else if(toLower(wavelengthDirection) == "transmission back") { - currentBandBSDFs->tb = bsdf; + currentBandBSDFs->tb = BSDF{bsdf, rowAngleBasisName, columnAngleBasisName}; } else if(toLower(wavelengthDirection) == "reflection front") { - currentBandBSDFs->rf = bsdf; + currentBandBSDFs->rf = BSDF{bsdf, rowAngleBasisName, columnAngleBasisName}; } else if(toLower(wavelengthDirection) == "reflection back") { - currentBandBSDFs->rb = bsdf; + currentBandBSDFs->rb = BSDF{bsdf, rowAngleBasisName, columnAngleBasisName}; } } diff --git a/src/ProductData.hpp b/src/ProductData.hpp index f038595..de8c5dd 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -41,7 +41,12 @@ namespace OpticsParser std::optional diffuseComponent; }; - typedef std::vector> BSDF; + struct BSDF + { + std::vector> data; + std::string rowAngleBasisName; + std::string columnAngleBasisName; + }; struct WavelengthBSDFs { diff --git a/test/read_bsdf_xml_file.unit.cpp b/test/read_bsdf_xml_file.unit.cpp index d9cd176..77a7b7d 100644 --- a/test/read_bsdf_xml_file.unit.cpp +++ b/test/read_bsdf_xml_file.unit.cpp @@ -42,35 +42,49 @@ TEST_F(TestLoadBSDFXMLFromDisk, TestLoad2011SA1) auto & measurements = std::get(product->measurements.value()); auto & solar = measurements.at("solar"); auto & visible = measurements.at("visible"); - EXPECT_EQ(solar.tf.size(), 145); - EXPECT_EQ(solar.tb.size(), 145); - EXPECT_EQ(solar.rf.size(), 145); - EXPECT_EQ(solar.rb.size(), 145); - EXPECT_EQ(visible.tf.size(), 145); - EXPECT_EQ(visible.tb.size(), 145); - EXPECT_EQ(visible.rf.size(), 145); - EXPECT_EQ(visible.rb.size(), 145); - for(size_t i = 0; i < solar.tf.size(); ++i) + EXPECT_EQ(solar.tf.rowAngleBasisName, "LBNL/Klems Full"); + EXPECT_EQ(solar.tf.columnAngleBasisName, "LBNL/Klems Full"); + EXPECT_EQ(solar.tb.rowAngleBasisName, "LBNL/Klems Full"); + EXPECT_EQ(solar.tb.columnAngleBasisName, "LBNL/Klems Full"); + EXPECT_EQ(solar.rf.rowAngleBasisName, "LBNL/Klems Full"); + EXPECT_EQ(solar.rf.columnAngleBasisName, "LBNL/Klems Full"); + EXPECT_EQ(solar.rb.rowAngleBasisName, "LBNL/Klems Full"); + EXPECT_EQ(solar.rb.columnAngleBasisName, "LBNL/Klems Full"); + EXPECT_EQ(visible.tf.rowAngleBasisName, "LBNL/Klems Full"); + EXPECT_EQ(visible.tf.columnAngleBasisName, "LBNL/Klems Full"); + EXPECT_EQ(visible.tb.rowAngleBasisName, "LBNL/Klems Full"); + EXPECT_EQ(visible.tb.columnAngleBasisName, "LBNL/Klems Full"); + EXPECT_EQ(visible.rf.rowAngleBasisName, "LBNL/Klems Full"); + EXPECT_EQ(visible.rf.columnAngleBasisName, "LBNL/Klems Full"); + EXPECT_EQ(visible.rb.rowAngleBasisName, "LBNL/Klems Full"); + EXPECT_EQ(visible.rb.columnAngleBasisName, "LBNL/Klems Full"); + EXPECT_EQ(solar.tf.data.size(), 145); + EXPECT_EQ(solar.tb.data.size(), 145); + EXPECT_EQ(solar.rf.data.size(), 145); + EXPECT_EQ(solar.rb.data.size(), 145); + EXPECT_EQ(visible.tf.data.size(), 145); + EXPECT_EQ(visible.tb.data.size(), 145); + EXPECT_EQ(visible.rf.data.size(), 145); + EXPECT_EQ(visible.rb.data.size(), 145); + for(size_t i = 0; i < solar.tf.data.size(); ++i) { - EXPECT_EQ(solar.tf[i].size(), 145); - EXPECT_EQ(solar.tb[i].size(), 145); - EXPECT_EQ(solar.rf[i].size(), 145); - EXPECT_EQ(solar.rb[i].size(), 145); - EXPECT_EQ(visible.tf[i].size(), 145); - EXPECT_EQ(visible.tb[i].size(), 145); - EXPECT_EQ(visible.rf[i].size(), 145); - EXPECT_EQ(visible.rb[i].size(), 145); + EXPECT_EQ(solar.tf.data[i].size(), 145); + EXPECT_EQ(solar.tb.data[i].size(), 145); + EXPECT_EQ(solar.rf.data[i].size(), 145); + EXPECT_EQ(solar.rb.data[i].size(), 145); + EXPECT_EQ(visible.tf.data[i].size(), 145); + EXPECT_EQ(visible.tb.data[i].size(), 145); + EXPECT_EQ(visible.rf.data[i].size(), 145); + EXPECT_EQ(visible.rb.data[i].size(), 145); } - EXPECT_EQ(solar.tf[1][1], 2.009060); - EXPECT_EQ(solar.tb[0][1], 0.021508); - EXPECT_EQ(solar.rf[1][0], 0.148154); - EXPECT_EQ(solar.rb[0][0], 0.167364); - EXPECT_EQ(visible.tf[1][1], 2.027935); - EXPECT_EQ(visible.tb[0][1], 0.014274); - EXPECT_EQ(visible.rf[1][0], 0.153571); - EXPECT_EQ(visible.rb[0][0], 0.178254); - - + EXPECT_EQ(solar.tf.data[1][1], 2.009060); + EXPECT_EQ(solar.tb.data[0][1], 0.021508); + EXPECT_EQ(solar.rf.data[1][0], 0.148154); + EXPECT_EQ(solar.rb.data[0][0], 0.167364); + EXPECT_EQ(visible.tf.data[1][1], 2.027935); + EXPECT_EQ(visible.tb.data[0][1], 0.014274); + EXPECT_EQ(visible.rf.data[1][0], 0.153571); + EXPECT_EQ(visible.rb.data[0][0], 0.178254); } \ No newline at end of file From e0f10ce0c74093edae62341804e2a09e589d8988 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Fri, 23 Oct 2020 15:47:30 -0400 Subject: [PATCH 25/55] Replacing basic constructors for ProducData. --- src/ProductData.cpp | 14 +++ src/ProductData.hpp | 301 ++++++++++++++++++++++---------------------- 2 files changed, 168 insertions(+), 147 deletions(-) diff --git a/src/ProductData.cpp b/src/ProductData.cpp index 85b0de8..4d9a8d6 100644 --- a/src/ProductData.cpp +++ b/src/ProductData.cpp @@ -28,6 +28,20 @@ OpticsParser::WLData::WLData(double wavelength, diffuseComponent(MeasurementComponent{tfDiffuse, tbDiffuse, rfDiffuse, rbDiffuse}) {} +OpticsParser::ProductData::ProductData(std::string const & productName, + std::string const & productType, + std::string const & manufacturer) : + productName(productName), productType(productType), manufacturer(manufacturer) +{} + +OpticsParser::ProductData::ProductData(std::string const & productName, + std::string const & productType, + std::string const & subtype, + std::string const & manufacturer) : + productName(productName), productType(productType), manufacturer(manufacturer), subtype(subtype) +{} + + std::shared_ptr OpticsParser::ProductData::composedProduct() { return shared_from_this(); diff --git a/src/ProductData.hpp b/src/ProductData.hpp index de8c5dd..9288b41 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -9,150 +9,157 @@ namespace OpticsParser { - struct MeasurementComponent - { - double tf; - double tb; - double rf; - double rb; - }; - - struct WLData - { - public: - WLData(double wavelength, - MeasurementComponent directComponent, - std::optional diffuseComponent = - std::optional()); - - WLData(double wavelength, double tDirect, double rfDirect, double rbDiffuse); - WLData(double wavelength, - double tfDirect, - double tfDiffuse, - double tbDirect, - double tbDiffuse, - double rfDirect, - double rfDiffuse, - double rbDirect, - double rbDiffuse); - - double wavelength; - MeasurementComponent directComponent; - std::optional diffuseComponent; - }; - - struct BSDF - { - std::vector> data; - std::string rowAngleBasisName; - std::string columnAngleBasisName; - }; - - struct WavelengthBSDFs - { - BSDF tf; - BSDF tb; - BSDF rf; - BSDF rb; - }; - - typedef std::map MultiBandBSDF; - - struct ProductGeometry - { - ProductGeometry() = default; - virtual ~ProductGeometry() = default; - }; - - struct VenetianGeometry : ProductGeometry - { - VenetianGeometry(double slatWidth, - double slatSpacing, - double slatCurvature, - double slatTilt = 0, - int numberSegments = 5); - - double slatWidth; - double slatSpacing; - double slatCurvature; - double slatTilt; - int numberSegments; - }; - - struct WovenGeometry : ProductGeometry - { - WovenGeometry(double threadDiameter, double threadSpacing, double shadeThickness); - double threadDiameter; - double threadSpacing; - double shadeThickness; - }; - - struct PerforatedGeometry : ProductGeometry - { - PerforatedGeometry(double spacingX, - double spacingY, - double dimensionX, - double dimensionY, - std::string perforationType); - double spacingX; - double spacingY; - double dimensionX; - double dimensionY; - std::string perforationType; - }; - - struct ProductData : std::enable_shared_from_this - { - ProductData() = default; - ProductData(ProductData const & other) = default; - virtual ~ProductData() = default; - - virtual std::shared_ptr composedProduct(); - - std::string productName; - std::string productType; - std::string manufacturer; - std::optional subtype; - std::optional nfrcid; - std::optional thickness; - std::optional conductivity; - std::optional IRTransmittance; - std::optional frontEmissivity; - std::optional backEmissivity; - std::optional frontEmissivitySource; - std::optional backEmissivitySource; - std::optional material; - std::optional coatingName; - std::optional coatedSide; - std::optional substrateFilename; - std::optional appearance; - std::optional acceptance; - std::optional fileName; - std::optional unitSystem; - std::optional wavelengthUnit; - std::optional, MultiBandBSDF>> measurements; - std::optional extrapolation; - std::optional aercID; - std::optional specularity; - std::optional permeabilityFactor; - }; - - void to_json(nlohmann::json & j, WLData const & wl); - void to_json(nlohmann::json & j, ProductData const & wl); - - struct CompositionInformation - { - std::shared_ptr material; - std::shared_ptr geometry; - }; - - struct ComposedProductData : ProductData - { - ComposedProductData(ProductData const & product, - std::shared_ptr composition); - ComposedProductData(std::shared_ptr composition); - - std::shared_ptr composedProduct() override; - std::shared_ptr compositionInformation; - }; -} // namespace OpticsParser \ No newline at end of file + struct MeasurementComponent + { + double tf; + double tb; + double rf; + double rb; + }; + + struct WLData + { + public: + WLData(double wavelength, + MeasurementComponent directComponent, + std::optional diffuseComponent = + std::optional()); + + WLData(double wavelength, double tDirect, double rfDirect, double rbDiffuse); + WLData(double wavelength, + double tfDirect, + double tfDiffuse, + double tbDirect, + double tbDiffuse, + double rfDirect, + double rfDiffuse, + double rbDirect, + double rbDiffuse); + + double wavelength; + MeasurementComponent directComponent; + std::optional diffuseComponent; + }; + + struct BSDF + { + std::vector> data; + std::string rowAngleBasisName; + std::string columnAngleBasisName; + }; + + struct WavelengthBSDFs + { + BSDF tf; + BSDF tb; + BSDF rf; + BSDF rb; + }; + + typedef std::map MultiBandBSDF; + + struct ProductGeometry + { + ProductGeometry() = default; + virtual ~ProductGeometry() = default; + }; + + struct VenetianGeometry : ProductGeometry + { + VenetianGeometry(double slatWidth, + double slatSpacing, + double slatCurvature, + double slatTilt = 0, + int numberSegments = 5); + + double slatWidth; + double slatSpacing; + double slatCurvature; + double slatTilt; + int numberSegments; + }; + + struct WovenGeometry : ProductGeometry + { + WovenGeometry(double threadDiameter, double threadSpacing, double shadeThickness); + double threadDiameter; + double threadSpacing; + double shadeThickness; + }; + + struct PerforatedGeometry : ProductGeometry + { + PerforatedGeometry(double spacingX, + double spacingY, + double dimensionX, + double dimensionY, + std::string perforationType); + double spacingX; + double spacingY; + double dimensionX; + double dimensionY; + std::string perforationType; + }; + + struct ProductData : std::enable_shared_from_this + { + ProductData() = default; + ProductData(ProductData const & other) = default; + virtual ~ProductData() = default; + ProductData(std::string const & productName, + std::string const & productType, + std::string const & manufacturer); + ProductData(std::string const & productName, + std::string const & productType, + std::string const & subtype, + std::string const & manufacturer); + + virtual std::shared_ptr composedProduct(); + + std::string productName; + std::string productType; + std::string manufacturer; + std::optional subtype; + std::optional nfrcid; + std::optional thickness; + std::optional conductivity; + std::optional IRTransmittance; + std::optional frontEmissivity; + std::optional backEmissivity; + std::optional frontEmissivitySource; + std::optional backEmissivitySource; + std::optional material; + std::optional coatingName; + std::optional coatedSide; + std::optional substrateFilename; + std::optional appearance; + std::optional acceptance; + std::optional fileName; + std::optional unitSystem; + std::optional wavelengthUnit; + std::optional, MultiBandBSDF>> measurements; + std::optional extrapolation; + std::optional aercID; + std::optional specularity; + std::optional permeabilityFactor; + }; + + void to_json(nlohmann::json & j, WLData const & wl); + void to_json(nlohmann::json & j, ProductData const & wl); + + struct CompositionInformation + { + std::shared_ptr material; + std::shared_ptr geometry; + }; + + struct ComposedProductData : ProductData + { + ComposedProductData(ProductData const & product, + std::shared_ptr composition); + ComposedProductData(std::shared_ptr composition); + + std::shared_ptr composedProduct() override; + std::shared_ptr compositionInformation; + }; +} // namespace OpticsParser From 2e59f046a535ba52730f105630e8047af1824a1f Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Fri, 23 Oct 2020 16:20:02 -0400 Subject: [PATCH 26/55] Fixed and enabled test for loading json. --- test/read_json_file_from_disk.unit.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/test/read_json_file_from_disk.unit.cpp b/test/read_json_file_from_disk.unit.cpp index d005a61..52853ba 100644 --- a/test/read_json_file_from_disk.unit.cpp +++ b/test/read_json_file_from_disk.unit.cpp @@ -10,7 +10,7 @@ extern std::string test_dir; -#if 0 +#if 1 class TestLoadJSONFromDisk : public testing::Test { protected: @@ -38,14 +38,15 @@ TEST_F(TestLoadJSONFromDisk, TestLoadClear3JSON) EXPECT_EQ(product->IRTransmittance.value(), 0.0); EXPECT_EQ(product->frontEmissivity.value(), 0.84); EXPECT_EQ(product->backEmissivity.value(), 0.84); - EXPECT_EQ(product->measurements.value().size(), 111); - EXPECT_EQ(product->measurements.value()[0].wavelength, 0.3); - EXPECT_EQ(product->measurements.value()[0].T, 0.002); - EXPECT_EQ(product->measurements.value()[0].frontR, 0.047); - EXPECT_EQ(product->measurements.value()[0].backR, 0.048); - EXPECT_EQ(product->measurements.value()[110].wavelength, 2.5); - EXPECT_EQ(product->measurements.value()[110].T, 0.822); - EXPECT_EQ(product->measurements.value()[110].frontR, 0.068); - EXPECT_EQ(product->measurements.value()[110].backR, 0.068); + auto & measurements = std::get>(product->measurements.value()); + EXPECT_EQ(measurements.size(), 111); + EXPECT_EQ(measurements[0].wavelength, 0.3); + EXPECT_EQ(measurements[0].directComponent.tf, 0.002); + EXPECT_EQ(measurements[0].directComponent.rf, 0.047); + EXPECT_EQ(measurements[0].directComponent.rb, 0.048); + EXPECT_EQ(measurements[110].wavelength, 2.5); + EXPECT_EQ(measurements[110].directComponent.tf, 0.822); + EXPECT_EQ(measurements[110].directComponent.rf, 0.068); + EXPECT_EQ(measurements[110].directComponent.rb, 0.068); } #endif \ No newline at end of file From c7e245fac10900c115611dce72b60e0768d296d7 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Fri, 23 Oct 2020 16:42:30 -0400 Subject: [PATCH 27/55] Updated CLEAR_3.json to latest from igsdb.lbl.gov and updated test that references it. --- test/products/CLEAR_3.json | 2 +- test/read_json_file_from_disk.unit.cpp | 25 +++++++++++++------------ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/test/products/CLEAR_3.json b/test/products/CLEAR_3.json index 11e40ac..4923f34 100644 --- a/test/products/CLEAR_3.json +++ b/test/products/CLEAR_3.json @@ -1 +1 @@ -{"id":363,"name":"Generic Clear Glass","manufacturer_name":"Generic","short_description":null,"type":"monolithic","deconstructable":false,"coating_name":"N/A","coated_side":"Neither","measured_data":{"is_specular":true,"thickness":3.048,"tir_front":0.0,"tir_back":null,"emissivity_front":0.84,"emissivity_back":0.84,"conductivity":1.0},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":0.8338478,"rfsol":0.07476376,"rbsol":0.07485449,"tfvis":0.89926,"rfvis":0.08256317,"rbvis":0.08256352,"tdw":0.8416837,"tuv":0.7145357,"tspf":10.8546,"tkr":null,"tciex":84.75503,"tciey":89.94103,"tciez":96.27183,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":7.777915,"rfciey":8.269908,"rfciez":9.109017,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"spectral_data":{"spectral_data":[{"T":0.002,"Rb":0.048,"Rf":0.047,"wavelength":0.3},{"T":0.003,"Rb":0.048,"Rf":0.047,"wavelength":0.305},{"T":0.009,"Rb":0.048,"Rf":0.047,"wavelength":0.31},{"T":0.035,"Rb":0.048,"Rf":0.047,"wavelength":0.315},{"T":0.1,"Rb":0.048,"Rf":0.047,"wavelength":0.32},{"T":0.218,"Rb":0.05,"Rf":0.049,"wavelength":0.325},{"T":0.356,"Rb":0.054,"Rf":0.053,"wavelength":0.33},{"T":0.498,"Rb":0.061,"Rf":0.06,"wavelength":0.335},{"T":0.616,"Rb":0.067,"Rf":0.067,"wavelength":0.34},{"T":0.709,"Rb":0.074,"Rf":0.073,"wavelength":0.345},{"T":0.774,"Rb":0.079,"Rf":0.078,"wavelength":0.35},{"T":0.818,"Rb":0.082,"Rf":0.082,"wavelength":0.355},{"T":0.847,"Rb":0.084,"Rf":0.084,"wavelength":0.36},{"T":0.863,"Rb":0.085,"Rf":0.085,"wavelength":0.365},{"T":0.869,"Rb":0.086,"Rf":0.085,"wavelength":0.37},{"T":0.861,"Rb":0.085,"Rf":0.085,"wavelength":0.375},{"T":0.856,"Rb":0.084,"Rf":0.084,"wavelength":0.38},{"T":0.866,"Rb":0.085,"Rf":0.085,"wavelength":0.385},{"T":0.881,"Rb":0.086,"Rf":0.086,"wavelength":0.39},{"T":0.889,"Rb":0.086,"Rf":0.086,"wavelength":0.395},{"T":0.893,"Rb":0.086,"Rf":0.086,"wavelength":0.4},{"T":0.893,"Rb":0.086,"Rf":0.086,"wavelength":0.41},{"T":0.892,"Rb":0.086,"Rf":0.086,"wavelength":0.42},{"T":0.892,"Rb":0.085,"Rf":0.085,"wavelength":0.43},{"T":0.892,"Rb":0.085,"Rf":0.085,"wavelength":0.44},{"T":0.896,"Rb":0.085,"Rf":0.085,"wavelength":0.45},{"T":0.9,"Rb":0.085,"Rf":0.085,"wavelength":0.46},{"T":0.902,"Rb":0.084,"Rf":0.084,"wavelength":0.47},{"T":0.903,"Rb":0.084,"Rf":0.084,"wavelength":0.48},{"T":0.904,"Rb":0.085,"Rf":0.085,"wavelength":0.49},{"T":0.905,"Rb":0.084,"Rf":0.084,"wavelength":0.5},{"T":0.905,"Rb":0.084,"Rf":0.084,"wavelength":0.51},{"T":0.905,"Rb":0.084,"Rf":0.084,"wavelength":0.52},{"T":0.904,"Rb":0.084,"Rf":0.084,"wavelength":0.53},{"T":0.904,"Rb":0.083,"Rf":0.083,"wavelength":0.54},{"T":0.903,"Rb":0.083,"Rf":0.083,"wavelength":0.55},{"T":0.902,"Rb":0.083,"Rf":0.083,"wavelength":0.56},{"T":0.9,"Rb":0.082,"Rf":0.082,"wavelength":0.57},{"T":0.898,"Rb":0.082,"Rf":0.082,"wavelength":0.58},{"T":0.896,"Rb":0.081,"Rf":0.081,"wavelength":0.59},{"T":0.893,"Rb":0.081,"Rf":0.081,"wavelength":0.6},{"T":0.89,"Rb":0.081,"Rf":0.081,"wavelength":0.61},{"T":0.886,"Rb":0.08,"Rf":0.08,"wavelength":0.62},{"T":0.883,"Rb":0.08,"Rf":0.08,"wavelength":0.63},{"T":0.879,"Rb":0.079,"Rf":0.079,"wavelength":0.64},{"T":0.875,"Rb":0.079,"Rf":0.079,"wavelength":0.65},{"T":0.872,"Rb":0.079,"Rf":0.079,"wavelength":0.66},{"T":0.868,"Rb":0.078,"Rf":0.078,"wavelength":0.67},{"T":0.863,"Rb":0.078,"Rf":0.078,"wavelength":0.68},{"T":0.859,"Rb":0.077,"Rf":0.077,"wavelength":0.69},{"T":0.854,"Rb":0.077,"Rf":0.076,"wavelength":0.7},{"T":0.85,"Rb":0.076,"Rf":0.076,"wavelength":0.71},{"T":0.845,"Rb":0.076,"Rf":0.075,"wavelength":0.72},{"T":0.84,"Rb":0.075,"Rf":0.075,"wavelength":0.73},{"T":0.835,"Rb":0.075,"Rf":0.075,"wavelength":0.74},{"T":0.831,"Rb":0.074,"Rf":0.074,"wavelength":0.75},{"T":0.826,"Rb":0.074,"Rf":0.074,"wavelength":0.76},{"T":0.821,"Rb":0.074,"Rf":0.074,"wavelength":0.77},{"T":0.816,"Rb":0.073,"Rf":0.073,"wavelength":0.78},{"T":0.812,"Rb":0.073,"Rf":0.073,"wavelength":0.79},{"T":0.808,"Rb":0.072,"Rf":0.072,"wavelength":0.8},{"T":0.803,"Rb":0.072,"Rf":0.072,"wavelength":0.81},{"T":0.8,"Rb":0.072,"Rf":0.072,"wavelength":0.82},{"T":0.796,"Rb":0.071,"Rf":0.071,"wavelength":0.83},{"T":0.793,"Rb":0.071,"Rf":0.07,"wavelength":0.84},{"T":0.788,"Rb":0.071,"Rf":0.07,"wavelength":0.85},{"T":0.786,"Rb":0.07,"Rf":0.07,"wavelength":0.86},{"T":0.782,"Rb":0.074,"Rf":0.074,"wavelength":0.87},{"T":0.78,"Rb":0.072,"Rf":0.072,"wavelength":0.88},{"T":0.777,"Rb":0.074,"Rf":0.073,"wavelength":0.89},{"T":0.776,"Rb":0.072,"Rf":0.072,"wavelength":0.9},{"T":0.773,"Rb":0.072,"Rf":0.072,"wavelength":0.91},{"T":0.771,"Rb":0.071,"Rf":0.071,"wavelength":0.92},{"T":0.77,"Rb":0.07,"Rf":0.07,"wavelength":0.93},{"T":0.768,"Rb":0.069,"Rf":0.069,"wavelength":0.94},{"T":0.766,"Rb":0.068,"Rf":0.068,"wavelength":0.95},{"T":0.766,"Rb":0.068,"Rf":0.067,"wavelength":0.96},{"T":0.764,"Rb":0.068,"Rf":0.068,"wavelength":0.97},{"T":0.763,"Rb":0.068,"Rf":0.068,"wavelength":0.98},{"T":0.762,"Rb":0.067,"Rf":0.067,"wavelength":0.99},{"T":0.762,"Rb":0.067,"Rf":0.066,"wavelength":1.0},{"T":0.76,"Rb":0.066,"Rf":0.066,"wavelength":1.05},{"T":0.759,"Rb":0.066,"Rf":0.066,"wavelength":1.1},{"T":0.761,"Rb":0.066,"Rf":0.066,"wavelength":1.15},{"T":0.765,"Rb":0.066,"Rf":0.066,"wavelength":1.2},{"T":0.77,"Rb":0.065,"Rf":0.065,"wavelength":1.25},{"T":0.777,"Rb":0.067,"Rf":0.067,"wavelength":1.3},{"T":0.786,"Rb":0.067,"Rf":0.066,"wavelength":1.35},{"T":0.795,"Rb":0.068,"Rf":0.067,"wavelength":1.4},{"T":0.808,"Rb":0.067,"Rf":0.067,"wavelength":1.45},{"T":0.819,"Rb":0.069,"Rf":0.069,"wavelength":1.5},{"T":0.829,"Rb":0.069,"Rf":0.069,"wavelength":1.55},{"T":0.836,"Rb":0.07,"Rf":0.07,"wavelength":1.6},{"T":0.84,"Rb":0.07,"Rf":0.07,"wavelength":1.65},{"T":0.842,"Rb":0.07,"Rf":0.069,"wavelength":1.7},{"T":0.842,"Rb":0.07,"Rf":0.069,"wavelength":1.75},{"T":0.841,"Rb":0.07,"Rf":0.07,"wavelength":1.8},{"T":0.84,"Rb":0.069,"Rf":0.069,"wavelength":1.85},{"T":0.839,"Rb":0.068,"Rf":0.068,"wavelength":1.9},{"T":0.839,"Rb":0.071,"Rf":0.071,"wavelength":1.95},{"T":0.839,"Rb":0.069,"Rf":0.069,"wavelength":2.0},{"T":0.84,"Rb":0.068,"Rf":0.068,"wavelength":2.05},{"T":0.841,"Rb":0.068,"Rf":0.068,"wavelength":2.1},{"T":0.839,"Rb":0.069,"Rf":0.069,"wavelength":2.15},{"T":0.83,"Rb":0.07,"Rf":0.07,"wavelength":2.2},{"T":0.83,"Rb":0.07,"Rf":0.07,"wavelength":2.25},{"T":0.832,"Rb":0.069,"Rf":0.069,"wavelength":2.3},{"T":0.832,"Rb":0.07,"Rf":0.069,"wavelength":2.35},{"T":0.832,"Rb":0.07,"Rf":0.07,"wavelength":2.4},{"T":0.826,"Rb":0.069,"Rf":0.069,"wavelength":2.45},{"T":0.822,"Rb":0.068,"Rf":0.068,"wavelength":2.5}]}} \ No newline at end of file +{"product_id":363,"name":"Generic Clear Glass","nfrc_id":102,"igdb_database_version":"11.4","cgdb_id":null,"cgdb_database_version":null,"acceptance":"#","appearance":"Clear","manufacturer_name":"Generic","data_file_name":"CLEAR_3.DAT","data_file_available":false,"short_description":null,"type":"glazing","subtype":"monolithic","deconstructable":false,"coating_name":"N/A","coated_side":"Neither","measured_data":{"is_specular":true,"thickness":3.04800009727478,"tir_front":0.0,"tir_back":null,"emissivity_front":0.839999973773956,"emissivity_back":0.839999973773956,"conductivity":1.0,"permeability_factor":null},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":0.8338478,"tbsol":null,"rfsol":0.07476376,"rbsol":0.07485449,"tfvis":0.89926,"tbvis":null,"rfvis":0.08256317,"rbvis":0.08256352,"tdw":0.8416837,"tuv":0.7145357,"tspf":10.8546,"tkr":null,"tciex":84.75503,"tciey":89.94103,"tciez":96.27183,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":7.777915,"rfciey":8.269908,"rfciez":9.109017,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"spectral_data":{"spectral_data":[{"T":0.0020000000949949,"Rb":0.0480000004172325,"Rf":0.0469999983906746,"wavelength":0.3},{"T":0.00300000002607703,"Rb":0.0480000004172325,"Rf":0.0469999983906746,"wavelength":0.305},{"T":0.00899999961256981,"Rb":0.0480000004172325,"Rf":0.0469999983906746,"wavelength":0.31},{"T":0.0350000001490116,"Rb":0.0480000004172325,"Rf":0.0469999983906746,"wavelength":0.315},{"T":0.100000001490116,"Rb":0.0480000004172325,"Rf":0.0469999983906746,"wavelength":0.32},{"T":0.217999994754791,"Rb":0.0500000007450581,"Rf":0.0489999987185001,"wavelength":0.325},{"T":0.356000006198883,"Rb":0.0540000014007092,"Rf":0.0529999993741512,"wavelength":0.33},{"T":0.497999995946884,"Rb":0.0610000006854534,"Rf":0.0599999986588955,"wavelength":0.335},{"T":0.61599999666214,"Rb":0.0670000016689301,"Rf":0.0670000016689301,"wavelength":0.34},{"T":0.708999991416931,"Rb":0.0740000009536743,"Rf":0.0729999989271164,"wavelength":0.345},{"T":0.773999989032745,"Rb":0.0790000036358833,"Rf":0.0780000016093254,"wavelength":0.35},{"T":0.818000018596649,"Rb":0.0820000022649765,"Rf":0.0820000022649765,"wavelength":0.355},{"T":0.847000002861023,"Rb":0.0839999988675117,"Rf":0.0839999988675117,"wavelength":0.36},{"T":0.862999975681305,"Rb":0.0850000008940697,"Rf":0.0850000008940697,"wavelength":0.365},{"T":0.869000017642975,"Rb":0.0860000029206276,"Rf":0.0850000008940697,"wavelength":0.37},{"T":0.861000001430511,"Rb":0.0850000008940697,"Rf":0.0850000008940697,"wavelength":0.375},{"T":0.856000006198883,"Rb":0.0839999988675117,"Rf":0.0839999988675117,"wavelength":0.38},{"T":0.86599999666214,"Rb":0.0850000008940697,"Rf":0.0850000008940697,"wavelength":0.385},{"T":0.880999982357025,"Rb":0.0860000029206276,"Rf":0.0860000029206276,"wavelength":0.39},{"T":0.888999998569489,"Rb":0.0860000029206276,"Rf":0.0860000029206276,"wavelength":0.395},{"T":0.89300000667572,"Rb":0.0860000029206276,"Rf":0.0860000029206276,"wavelength":0.4},{"T":0.89300000667572,"Rb":0.0860000029206276,"Rf":0.0860000029206276,"wavelength":0.41},{"T":0.892000019550323,"Rb":0.0860000029206276,"Rf":0.0860000029206276,"wavelength":0.42},{"T":0.892000019550323,"Rb":0.0850000008940697,"Rf":0.0850000008940697,"wavelength":0.43},{"T":0.892000019550323,"Rb":0.0850000008940697,"Rf":0.0850000008940697,"wavelength":0.44},{"T":0.896000027656555,"Rb":0.0850000008940697,"Rf":0.0850000008940697,"wavelength":0.45},{"T":0.899999976158142,"Rb":0.0850000008940697,"Rf":0.0850000008940697,"wavelength":0.46},{"T":0.90200001001358,"Rb":0.0839999988675117,"Rf":0.0839999988675117,"wavelength":0.47},{"T":0.902999997138977,"Rb":0.0839999988675117,"Rf":0.0839999988675117,"wavelength":0.48},{"T":0.903999984264374,"Rb":0.0850000008940697,"Rf":0.0850000008940697,"wavelength":0.49},{"T":0.904999971389771,"Rb":0.0839999988675117,"Rf":0.0839999988675117,"wavelength":0.5},{"T":0.904999971389771,"Rb":0.0839999988675117,"Rf":0.0839999988675117,"wavelength":0.51},{"T":0.904999971389771,"Rb":0.0839999988675117,"Rf":0.0839999988675117,"wavelength":0.52},{"T":0.903999984264374,"Rb":0.0839999988675117,"Rf":0.0839999988675117,"wavelength":0.53},{"T":0.903999984264374,"Rb":0.0829999968409538,"Rf":0.0829999968409538,"wavelength":0.54},{"T":0.902999997138977,"Rb":0.0829999968409538,"Rf":0.0829999968409538,"wavelength":0.55},{"T":0.90200001001358,"Rb":0.0829999968409538,"Rf":0.0829999968409538,"wavelength":0.56},{"T":0.899999976158142,"Rb":0.0820000022649765,"Rf":0.0820000022649765,"wavelength":0.57},{"T":0.898000001907349,"Rb":0.0820000022649765,"Rf":0.0820000022649765,"wavelength":0.58},{"T":0.896000027656555,"Rb":0.0810000002384186,"Rf":0.0810000002384186,"wavelength":0.59},{"T":0.89300000667572,"Rb":0.0810000002384186,"Rf":0.0810000002384186,"wavelength":0.6},{"T":0.889999985694885,"Rb":0.0810000002384186,"Rf":0.0810000002384186,"wavelength":0.61},{"T":0.885999977588654,"Rb":0.0799999982118607,"Rf":0.0799999982118607,"wavelength":0.62},{"T":0.883000016212463,"Rb":0.0799999982118607,"Rf":0.0799999982118607,"wavelength":0.63},{"T":0.879000008106232,"Rb":0.0790000036358833,"Rf":0.0790000036358833,"wavelength":0.64},{"T":0.875,"Rb":0.0790000036358833,"Rf":0.0790000036358833,"wavelength":0.65},{"T":0.871999979019165,"Rb":0.0790000036358833,"Rf":0.0790000036358833,"wavelength":0.66},{"T":0.867999970912933,"Rb":0.0780000016093254,"Rf":0.0780000016093254,"wavelength":0.67},{"T":0.862999975681305,"Rb":0.0780000016093254,"Rf":0.0780000016093254,"wavelength":0.68},{"T":0.859000027179718,"Rb":0.0769999995827675,"Rf":0.0769999995827675,"wavelength":0.69},{"T":0.853999972343445,"Rb":0.0769999995827675,"Rf":0.0759999975562096,"wavelength":0.7},{"T":0.850000023841858,"Rb":0.0759999975562096,"Rf":0.0759999975562096,"wavelength":0.71},{"T":0.845000028610229,"Rb":0.0759999975562096,"Rf":0.0750000029802322,"wavelength":0.72},{"T":0.839999973773956,"Rb":0.0750000029802322,"Rf":0.0750000029802322,"wavelength":0.73},{"T":0.834999978542328,"Rb":0.0750000029802322,"Rf":0.0750000029802322,"wavelength":0.74},{"T":0.830999970436096,"Rb":0.0740000009536743,"Rf":0.0740000009536743,"wavelength":0.75},{"T":0.825999975204468,"Rb":0.0740000009536743,"Rf":0.0740000009536743,"wavelength":0.76},{"T":0.820999979972839,"Rb":0.0740000009536743,"Rf":0.0740000009536743,"wavelength":0.77},{"T":0.815999984741211,"Rb":0.0729999989271164,"Rf":0.0729999989271164,"wavelength":0.78},{"T":0.811999976634979,"Rb":0.0729999989271164,"Rf":0.0729999989271164,"wavelength":0.79},{"T":0.808000028133392,"Rb":0.0719999969005585,"Rf":0.0719999969005585,"wavelength":0.8},{"T":0.802999973297119,"Rb":0.0719999969005585,"Rf":0.0719999969005585,"wavelength":0.81},{"T":0.800000011920929,"Rb":0.0719999969005585,"Rf":0.0719999969005585,"wavelength":0.82},{"T":0.796000003814697,"Rb":0.0710000023245811,"Rf":0.0710000023245811,"wavelength":0.83},{"T":0.792999982833862,"Rb":0.0710000023245811,"Rf":0.0700000002980232,"wavelength":0.84},{"T":0.787999987602234,"Rb":0.0710000023245811,"Rf":0.0700000002980232,"wavelength":0.85},{"T":0.78600001335144,"Rb":0.0700000002980232,"Rf":0.0700000002980232,"wavelength":0.86},{"T":0.782000005245209,"Rb":0.0740000009536743,"Rf":0.0740000009536743,"wavelength":0.87},{"T":0.779999971389771,"Rb":0.0719999969005585,"Rf":0.0719999969005585,"wavelength":0.88},{"T":0.77700001001358,"Rb":0.0740000009536743,"Rf":0.0729999989271164,"wavelength":0.89},{"T":0.776000022888184,"Rb":0.0719999969005585,"Rf":0.0719999969005585,"wavelength":0.9},{"T":0.773000001907349,"Rb":0.0719999969005585,"Rf":0.0719999969005585,"wavelength":0.91},{"T":0.771000027656555,"Rb":0.0710000023245811,"Rf":0.0710000023245811,"wavelength":0.92},{"T":0.769999980926514,"Rb":0.0700000002980232,"Rf":0.0700000002980232,"wavelength":0.93},{"T":0.76800000667572,"Rb":0.0689999982714653,"Rf":0.0689999982714653,"wavelength":0.94},{"T":0.765999972820282,"Rb":0.068000003695488,"Rf":0.068000003695488,"wavelength":0.95},{"T":0.765999972820282,"Rb":0.068000003695488,"Rf":0.0670000016689301,"wavelength":0.96},{"T":0.763999998569489,"Rb":0.068000003695488,"Rf":0.068000003695488,"wavelength":0.97},{"T":0.763000011444092,"Rb":0.068000003695488,"Rf":0.068000003695488,"wavelength":0.98},{"T":0.762000024318695,"Rb":0.0670000016689301,"Rf":0.0670000016689301,"wavelength":0.99},{"T":0.762000024318695,"Rb":0.0670000016689301,"Rf":0.0659999996423721,"wavelength":1.0},{"T":0.759999990463257,"Rb":0.0659999996423721,"Rf":0.0659999996423721,"wavelength":1.05},{"T":0.75900000333786,"Rb":0.0659999996423721,"Rf":0.0659999996423721,"wavelength":1.1},{"T":0.760999977588654,"Rb":0.0659999996423721,"Rf":0.0659999996423721,"wavelength":1.15},{"T":0.764999985694885,"Rb":0.0659999996423721,"Rf":0.0659999996423721,"wavelength":1.2},{"T":0.769999980926514,"Rb":0.0649999976158142,"Rf":0.0649999976158142,"wavelength":1.25},{"T":0.77700001001358,"Rb":0.0670000016689301,"Rf":0.0670000016689301,"wavelength":1.3},{"T":0.78600001335144,"Rb":0.0670000016689301,"Rf":0.0659999996423721,"wavelength":1.35},{"T":0.795000016689301,"Rb":0.068000003695488,"Rf":0.0670000016689301,"wavelength":1.4},{"T":0.808000028133392,"Rb":0.0670000016689301,"Rf":0.0670000016689301,"wavelength":1.45},{"T":0.819000005722046,"Rb":0.0689999982714653,"Rf":0.0689999982714653,"wavelength":1.5},{"T":0.828999996185303,"Rb":0.0689999982714653,"Rf":0.0689999982714653,"wavelength":1.55},{"T":0.836000025272369,"Rb":0.0700000002980232,"Rf":0.0700000002980232,"wavelength":1.6},{"T":0.839999973773956,"Rb":0.0700000002980232,"Rf":0.0700000002980232,"wavelength":1.65},{"T":0.842000007629395,"Rb":0.0700000002980232,"Rf":0.0689999982714653,"wavelength":1.7},{"T":0.842000007629395,"Rb":0.0700000002980232,"Rf":0.0689999982714653,"wavelength":1.75},{"T":0.841000020503998,"Rb":0.0700000002980232,"Rf":0.0700000002980232,"wavelength":1.8},{"T":0.839999973773956,"Rb":0.0689999982714653,"Rf":0.0689999982714653,"wavelength":1.85},{"T":0.83899998664856,"Rb":0.068000003695488,"Rf":0.068000003695488,"wavelength":1.9},{"T":0.83899998664856,"Rb":0.0710000023245811,"Rf":0.0710000023245811,"wavelength":1.95},{"T":0.83899998664856,"Rb":0.0689999982714653,"Rf":0.0689999982714653,"wavelength":2.0},{"T":0.839999973773956,"Rb":0.068000003695488,"Rf":0.068000003695488,"wavelength":2.05},{"T":0.841000020503998,"Rb":0.068000003695488,"Rf":0.068000003695488,"wavelength":2.1},{"T":0.83899998664856,"Rb":0.0689999982714653,"Rf":0.0689999982714653,"wavelength":2.15},{"T":0.829999983310699,"Rb":0.0700000002980232,"Rf":0.0700000002980232,"wavelength":2.2},{"T":0.829999983310699,"Rb":0.0700000002980232,"Rf":0.0700000002980232,"wavelength":2.25},{"T":0.832000017166138,"Rb":0.0689999982714653,"Rf":0.0689999982714653,"wavelength":2.3},{"T":0.832000017166138,"Rb":0.0700000002980232,"Rf":0.0689999982714653,"wavelength":2.35},{"T":0.832000017166138,"Rb":0.0700000002980232,"Rf":0.0700000002980232,"wavelength":2.4},{"T":0.825999975204468,"Rb":0.0689999982714653,"Rf":0.0689999982714653,"wavelength":2.45},{"T":0.822000026702881,"Rb":0.068000003695488,"Rf":0.068000003695488,"wavelength":2.5}]}} \ No newline at end of file diff --git a/test/read_json_file_from_disk.unit.cpp b/test/read_json_file_from_disk.unit.cpp index 52853ba..061f6fa 100644 --- a/test/read_json_file_from_disk.unit.cpp +++ b/test/read_json_file_from_disk.unit.cpp @@ -32,21 +32,22 @@ TEST_F(TestLoadJSONFromDisk, TestLoadClear3JSON) std::shared_ptr product = OpticsParser::parseJSONFile(clear_3_path.string()); // EXPECT_EQ(product->nfrcid.value(), 102); EXPECT_EQ(product->productName, "Generic Clear Glass"); - EXPECT_EQ(product->productType, "monolithic"); - EXPECT_EQ(product->thickness.value(), 3.048); + EXPECT_EQ(product->productType, "glazing"); + EXPECT_EQ(product->subtype, "monolithic"); + EXPECT_NEAR(product->thickness.value(), 3.048, 1e-6); EXPECT_EQ(product->conductivity, 1.0); EXPECT_EQ(product->IRTransmittance.value(), 0.0); - EXPECT_EQ(product->frontEmissivity.value(), 0.84); - EXPECT_EQ(product->backEmissivity.value(), 0.84); + EXPECT_NEAR(product->frontEmissivity.value(), 0.84, 1e-6); + EXPECT_NEAR(product->backEmissivity.value(), 0.84, 1e-6); auto & measurements = std::get>(product->measurements.value()); EXPECT_EQ(measurements.size(), 111); - EXPECT_EQ(measurements[0].wavelength, 0.3); - EXPECT_EQ(measurements[0].directComponent.tf, 0.002); - EXPECT_EQ(measurements[0].directComponent.rf, 0.047); - EXPECT_EQ(measurements[0].directComponent.rb, 0.048); - EXPECT_EQ(measurements[110].wavelength, 2.5); - EXPECT_EQ(measurements[110].directComponent.tf, 0.822); - EXPECT_EQ(measurements[110].directComponent.rf, 0.068); - EXPECT_EQ(measurements[110].directComponent.rb, 0.068); + EXPECT_NEAR(measurements[0].wavelength, 0.3, 1e-6); + EXPECT_NEAR(measurements[0].directComponent.tf, 0.002, 1e-6); + EXPECT_NEAR(measurements[0].directComponent.rf, 0.047, 1e-6); + EXPECT_NEAR(measurements[0].directComponent.rb, 0.048, 1e-6); + EXPECT_NEAR(measurements[110].wavelength, 2.5, 1e-6); + EXPECT_NEAR(measurements[110].directComponent.tf, 0.822, 1e-6); + EXPECT_NEAR(measurements[110].directComponent.rf, 0.068, 1e-6); + EXPECT_NEAR(measurements[110].directComponent.rb, 0.068, 1e-6); } #endif \ No newline at end of file From 1004a7a465ad337d2d76a2e6e48d72e6bbda1aef Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Thu, 29 Oct 2020 20:35:39 -0400 Subject: [PATCH 28/55] Refactoring BSDF data into explicitly dual band structure to try to resolve issue with use in python. --- src/Parser.cpp | 5 +---- src/ProductData.cpp | 2 +- src/ProductData.hpp | 8 ++++++-- test/read_bsdf_xml_file.unit.cpp | 8 ++++---- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index d579c10..0403e07 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -676,7 +676,6 @@ namespace OpticsParser int wavelengthDataNodeCt = xLayerNode.nChildNode("WavelengthData"); - MultiBandBSDF multiBandBSDF; WavelengthBSDFs solarBSDFs; WavelengthBSDFs visibleBSDFs; @@ -762,9 +761,7 @@ namespace OpticsParser } } - multiBandBSDF["solar"] = solarBSDFs; - multiBandBSDF["visible"] = visibleBSDFs; - product->measurements = multiBandBSDF; + product->measurements = DualBandBSDF{solarBSDFs, visibleBSDFs}; return product; } diff --git a/src/ProductData.cpp b/src/ProductData.cpp index 4d9a8d6..776517f 100644 --- a/src/ProductData.cpp +++ b/src/ProductData.cpp @@ -100,7 +100,7 @@ void OpticsParser::to_json(nlohmann::json & j, OpticsParser::ProductData const & if(p.measurements) { auto & measurements = p.measurements.value(); - if(std::holds_alternative(measurements)) + if(std::holds_alternative(measurements)) { throw std::runtime_error("Writing BSDF data to json is not supported."); } diff --git a/src/ProductData.hpp b/src/ProductData.hpp index 9288b41..a14a893 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -56,7 +56,11 @@ namespace OpticsParser BSDF rb; }; - typedef std::map MultiBandBSDF; + struct DualBandBSDF + { + WavelengthBSDFs solar; + WavelengthBSDFs visible; + }; struct ProductGeometry { @@ -137,7 +141,7 @@ namespace OpticsParser std::optional fileName; std::optional unitSystem; std::optional wavelengthUnit; - std::optional, MultiBandBSDF>> measurements; + std::optional, DualBandBSDF>> measurements; std::optional extrapolation; std::optional aercID; std::optional specularity; diff --git a/test/read_bsdf_xml_file.unit.cpp b/test/read_bsdf_xml_file.unit.cpp index 77a7b7d..4143d3c 100644 --- a/test/read_bsdf_xml_file.unit.cpp +++ b/test/read_bsdf_xml_file.unit.cpp @@ -38,10 +38,10 @@ TEST_F(TestLoadBSDFXMLFromDisk, TestLoad2011SA1) EXPECT_EQ(product->frontEmissivity, 0.79626); EXPECT_EQ(product->backEmissivity, 0.79626); EXPECT_TRUE(product->measurements.has_value()); - EXPECT_TRUE(std::holds_alternative(product->measurements.value())); - auto & measurements = std::get(product->measurements.value()); - auto & solar = measurements.at("solar"); - auto & visible = measurements.at("visible"); + EXPECT_TRUE(std::holds_alternative(product->measurements.value())); + auto & measurements = std::get(product->measurements.value()); + auto & solar = measurements.solar; + auto & visible = measurements.visible; EXPECT_EQ(solar.tf.rowAngleBasisName, "LBNL/Klems Full"); EXPECT_EQ(solar.tf.columnAngleBasisName, "LBNL/Klems Full"); EXPECT_EQ(solar.tb.rowAngleBasisName, "LBNL/Klems Full"); From 5af88c0fafa9c1abc0cc5bf796ef3c1d0062e344 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Fri, 30 Oct 2020 00:40:56 -0400 Subject: [PATCH 29/55] Fix for parsing optics files and disabling converting to json until there is time to update it to be current. --- src/Parser.cpp | 5 +++-- src/Parser.hpp | 2 +- src/ProductData.cpp | 8 ++++++++ src/ProductData.hpp | 6 ++++-- test/InputDifferentEmissivities.unit.cpp | 3 ++- test/InputFile1.unit.cpp | 6 ++++-- test/InputInvertedEmissivities.unit.cpp | 3 ++- test/convert_optics_to_json.unit.cpp | 4 ++++ test/read_checker_tool_json_file.unit.cpp | 3 ++- test/read_optics_file_from_disk.unit.cpp | 6 ++++-- 10 files changed, 34 insertions(+), 12 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index 0403e07..2d9dac2 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -54,7 +54,8 @@ namespace OpticsParser parsePropertyAtTheEnd("IR Transmittance", "TIR=", line, product->IRTransmittance); parseEmissivities(line, product); parseStringPropertyInsideBraces(line, "Product Name", product->productName); - parseStringPropertyInsideBraces(line, "Type", product->productType); + product->productType = "glazing"; // There are only glazing optics files. + parseStringPropertyInsideBraces(line, "Type", product->subtype); parseStringPropertyInsideBraces(line, "Ef_Source", product->frontEmissivitySource); parseStringPropertyInsideBraces(line, "Eb_Source", product->backEmissivitySource); parseStringPropertyInsideBraces(line, "Manufacturer", product->manufacturer); @@ -570,7 +571,7 @@ namespace OpticsParser return parseJSONString(content); } - std::shared_ptr parseFile(const std::string & inputFile) + std::shared_ptr parseOpticsFile(const std::string & inputFile) { Parser parser; return parser.parseFile(inputFile); diff --git a/src/Parser.hpp b/src/Parser.hpp index df00386..6a80cc8 100644 --- a/src/Parser.hpp +++ b/src/Parser.hpp @@ -69,7 +69,7 @@ namespace OpticsParser } }; - std::shared_ptr parseFile(const std::string & inputFile); + std::shared_ptr parseOpticsFile(std::string const& fname); std::shared_ptr parseJSONString(std::string const & json); std::shared_ptr parseJSONFile(std::string const & fname); std::shared_ptr parseBSDFXMLFile(std::string const & fname); diff --git a/src/ProductData.cpp b/src/ProductData.cpp index 776517f..cd613d8 100644 --- a/src/ProductData.cpp +++ b/src/ProductData.cpp @@ -52,6 +52,9 @@ std::shared_ptr OpticsParser::ComposedProductData::co return compositionInformation->material; } +// Converting to json requires updating and is not currently being +// used so disabling for now. +#if 0 void OpticsParser::to_json(nlohmann::json & j, OpticsParser::WLData const & wl) { j = nlohmann::json{{"w", wl.wavelength}, @@ -59,6 +62,7 @@ void OpticsParser::to_json(nlohmann::json & j, OpticsParser::WLData const & wl) {"rf", wl.directComponent.rf}, {"rb", wl.directComponent.rb}}; } +#endif std::string convert_product_type(std::string const & optics_product_type) { @@ -93,6 +97,9 @@ void add_optional(nlohmann::json & j, } } +// Converting to json requires updating and is not currently being +// used so disabling for now. +#if 0 void OpticsParser::to_json(nlohmann::json & j, OpticsParser::ProductData const & p) { nlohmann::json spectral_data; @@ -153,6 +160,7 @@ void OpticsParser::to_json(nlohmann::json & j, OpticsParser::ProductData const & add_optional(j, "appearance", p.appearance); add_optional(j, "acceptance", p.acceptance); } +#endif OpticsParser::ComposedProductData::ComposedProductData( ProductData const & product, std::shared_ptr composition) : diff --git a/src/ProductData.hpp b/src/ProductData.hpp index a14a893..ce916e7 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -148,8 +148,10 @@ namespace OpticsParser std::optional permeabilityFactor; }; - void to_json(nlohmann::json & j, WLData const & wl); - void to_json(nlohmann::json & j, ProductData const & wl); + // Converting to json requires updating and is not currently being + // used so disabling for now. + //void to_json(nlohmann::json & j, WLData const & wl); + //void to_json(nlohmann::json & j, ProductData const & wl); struct CompositionInformation { diff --git a/test/InputDifferentEmissivities.unit.cpp b/test/InputDifferentEmissivities.unit.cpp index 0e55d78..2c0a94f 100644 --- a/test/InputDifferentEmissivities.unit.cpp +++ b/test/InputDifferentEmissivities.unit.cpp @@ -57,7 +57,8 @@ TEST_F(TestDifferentEmissivities, Test1) EXPECT_NEAR(0.84, product->backEmissivity.value(), 1e-6); EXPECT_EQ(102, product->nfrcid.value()); EXPECT_EQ("Generic Clear Glass", product->productName); - EXPECT_EQ("Monolithic", product->productType); + EXPECT_EQ("glazing", product->productType); + EXPECT_EQ("Monolithic", product->subtype); std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, {0.305, 0.0030, 0.0470, 0.0480}, diff --git a/test/InputFile1.unit.cpp b/test/InputFile1.unit.cpp index b942d4d..436743b 100644 --- a/test/InputFile1.unit.cpp +++ b/test/InputFile1.unit.cpp @@ -57,7 +57,8 @@ TEST_F(TestFile1, Test1) EXPECT_NEAR(0.84, product->backEmissivity.value(), 1e-6); EXPECT_EQ(102, product->nfrcid.value()); EXPECT_EQ("Generic Clear Glass", product->productName); - EXPECT_EQ("Monolithic", product->productType); + EXPECT_EQ("glazing", product->productType); + EXPECT_EQ("Monolithic", product->subtype); std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, @@ -96,7 +97,8 @@ TEST_F(TestFile1, TestParseFile) EXPECT_NEAR(0.84, productData->backEmissivity.value(), 1e-6); EXPECT_EQ(102, productData->nfrcid.value()); EXPECT_EQ("Generic Clear Glass", productData->productName); - EXPECT_EQ("Monolithic", productData->productType); + EXPECT_EQ("glazing", productData->productType); + EXPECT_EQ("Monolithic", productData->subtype); std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, {0.305, 0.0030, 0.0470, 0.0480}, {0.310, 0.0090, 0.0470, 0.0480}, diff --git a/test/InputInvertedEmissivities.unit.cpp b/test/InputInvertedEmissivities.unit.cpp index ae586ab..38f8630 100644 --- a/test/InputInvertedEmissivities.unit.cpp +++ b/test/InputInvertedEmissivities.unit.cpp @@ -57,7 +57,8 @@ TEST_F(TestInvertedEmissivities, Test1) EXPECT_NEAR(0.5, product->backEmissivity.value(), 1e-6); EXPECT_EQ(102, product->nfrcid.value()); EXPECT_EQ("", product->productName); - EXPECT_EQ("Monolithic", product->productType); + EXPECT_EQ("glazing", product->productType); + EXPECT_EQ("Monolithic", product->subtype); std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, {0.305, 0.0030, 0.0470, 0.0480}, diff --git a/test/convert_optics_to_json.unit.cpp b/test/convert_optics_to_json.unit.cpp index 6937cca..59c30d3 100644 --- a/test/convert_optics_to_json.unit.cpp +++ b/test/convert_optics_to_json.unit.cpp @@ -10,7 +10,10 @@ extern std::string test_dir; +// Converting to json requires updating and is not currently being +// used so disabling for now. +#if 0 class TestConvertOpticsFile : public testing::Test { protected: @@ -77,3 +80,4 @@ TEST_F(TestConvertOpticsFile, TestConvertClear3) EXPECT_EQ(product_json.at("acceptance").get(), "#"); } +#endif \ No newline at end of file diff --git a/test/read_checker_tool_json_file.unit.cpp b/test/read_checker_tool_json_file.unit.cpp index 17d7e7c..db14866 100644 --- a/test/read_checker_tool_json_file.unit.cpp +++ b/test/read_checker_tool_json_file.unit.cpp @@ -30,7 +30,8 @@ TEST_F(TestLoadJSONFromDisk, TestLoadCheckerToolJSON) std::shared_ptr product = parser.parseJSONFile(product_path.string()); // EXPECT_EQ(product->nfrcid.value(), 102); EXPECT_EQ(product->productName, "CGD89_092661"); - EXPECT_EQ(product->productType, "coated-glass"); + EXPECT_EQ("glazing", product->productType); + EXPECT_EQ("Monolithic", product->subtype); EXPECT_EQ(product->coatingName, "CGD89_092661"); EXPECT_EQ(product->coatedSide, "Both"); EXPECT_EQ(product->manufacturer, "Cardinal Glass Industries"); diff --git a/test/read_optics_file_from_disk.unit.cpp b/test/read_optics_file_from_disk.unit.cpp index c909fb6..3fcff17 100644 --- a/test/read_optics_file_from_disk.unit.cpp +++ b/test/read_optics_file_from_disk.unit.cpp @@ -31,7 +31,8 @@ TEST_F(TestLoadOpticsFileFromDisk, TestLoadClear3) std::shared_ptr product = parser.parseFile(clear_3_path); EXPECT_EQ(product->nfrcid.value(), 102); EXPECT_EQ(product->productName, "Generic Clear Glass"); - EXPECT_EQ(product->productType, "Monolithic"); + EXPECT_EQ("glazing", product->productType); + EXPECT_EQ("Monolithic", product->subtype); EXPECT_EQ(product->thickness.value(), 3.048); EXPECT_EQ(product->conductivity, 1.0); EXPECT_EQ(product->IRTransmittance.value(), 0.0); @@ -73,7 +74,8 @@ TEST_F(TestLoadOpticsFileFromDisk, TestLoadDiffuseData) std::shared_ptr product = parser.parseFile(product_path); EXPECT_EQ(product->nfrcid, std::optional()); EXPECT_EQ(product->productName, "Generic frit 38mm aperture"); - EXPECT_EQ(product->productType, "Coated"); + EXPECT_EQ("glazing", product->productType); + EXPECT_EQ("Coated", product->subtype); EXPECT_EQ(product->thickness.value(), 6.0); EXPECT_EQ(product->conductivity, 1.0); EXPECT_EQ(product->IRTransmittance.value(), 0.0); From c4d52f338dd76d3f852a0aacd9adee694d06a320 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Fri, 30 Oct 2020 15:37:07 -0400 Subject: [PATCH 30/55] Added ability to parse BSDF XML from string as well as from file. --- src/Parser.cpp | 21 ++++++++++++++++++--- src/Parser.hpp | 1 + 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index 2d9dac2..124803f 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -632,11 +632,11 @@ namespace OpticsParser return m; } + - std::shared_ptr parseBSDFXMLFile(std::string const & fname) + std::shared_ptr parseBSDFXML(XMLNode const & xWindowElementNode) { - std::shared_ptr product(new ProductData()); - XMLNode xWindowElementNode = XMLNode::openFileHelper(fname.c_str(), _T("WindowElement")); + std::shared_ptr product(new ProductData()); if(xWindowElementNode.isEmpty()) { throw std::runtime_error("XML error : WindowElement not found"); @@ -766,4 +766,19 @@ namespace OpticsParser return product; } + + std::shared_ptr parseBSDFXMLString(std::string const & contents) + { + XMLNode xWindowElementNode = XMLNode::parseString(contents.c_str(), _T("WindowElement")); + return parseBSDFXML(xWindowElementNode); + } + + std::shared_ptr parseBSDFXMLFile(std::string const & fname) + { + XMLNode xWindowElementNode = XMLNode::openFileHelper(fname.c_str(), _T("WindowElement")); + return parseBSDFXML(xWindowElementNode); + } + + + } // namespace OpticsParser diff --git a/src/Parser.hpp b/src/Parser.hpp index 6a80cc8..a5214d3 100644 --- a/src/Parser.hpp +++ b/src/Parser.hpp @@ -73,4 +73,5 @@ namespace OpticsParser std::shared_ptr parseJSONString(std::string const & json); std::shared_ptr parseJSONFile(std::string const & fname); std::shared_ptr parseBSDFXMLFile(std::string const & fname); + std::shared_ptr parseBSDFXMLString(std::string const & contents); } // namespace OpticsParser \ No newline at end of file From 803e40efdfb65cc836b385e9c73a5969ef3e963c Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Mon, 2 Nov 2020 14:28:53 -0500 Subject: [PATCH 31/55] Updating sample venetian. --- test/products/igsdb_12149.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/products/igsdb_12149.json b/test/products/igsdb_12149.json index 0996187..1e18a48 100644 --- a/test/products/igsdb_12149.json +++ b/test/products/igsdb_12149.json @@ -1 +1 @@ -{"product_id":12149,"name":"Slim White Venetian Blind","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":3000,"cgdb_database_version":"1","acceptance":"#","appearance":null,"manufacturer_name":"Pella","data_file_name":null,"data_file_available":false,"short_description":null,"type":"shading","subtype":"venetian","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":false,"thickness":null,"tir_front":null,"tir_back":null,"emissivity_front":null,"emissivity_back":null,"conductivity":null,"permeability_factor":0.95},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":null,"tbsol":null,"rfsol":null,"rbsol":null,"tfvis":null,"tbvis":null,"rfvis":null,"rbvis":null,"tdw":null,"tuv":null,"tspf":null,"tkr":null,"tciex":null,"tciey":null,"tciez":null,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":null,"rfciey":null,"rfciez":null,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"composition":[{"child_product":{"product_id":12852,"name":"White Venetian Blind Slat (white.txt)","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":null,"cgdb_database_version":"1.0","acceptance":"#","appearance":null,"manufacturer_name":"Pella","data_file_name":"White Venetian Blind Slat (white.txt)","data_file_available":false,"short_description":null,"type":"material","subtype":"other","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":true,"thickness":0.1,"tir_front":0.0,"tir_back":null,"emissivity_front":0.9,"emissivity_back":0.9,"conductivity":160.0,"permeability_factor":null},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":0.0,"tbsol":null,"rfsol":0.683041274547577,"rbsol":null,"tfvis":0.0,"tbvis":null,"rfvis":0.7459762,"rbvis":0.7459762,"tdw":0.0,"tuv":0.0,"tspf":10000.0,"tkr":null,"tciex":0.0,"tciey":0.0,"tciez":0.0,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":69.85917,"rfciey":74.37163,"rfciez":75.35683,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"composition":[],"spectral_data":{"spectral_data":[{"T":0.0,"Rb":0.0703,"Rf":0.0703,"wavelength":0.3},{"T":0.0,"Rb":0.07,"Rf":0.07,"wavelength":0.305},{"T":0.0,"Rb":0.0692,"Rf":0.0692,"wavelength":0.31},{"T":0.0,"Rb":0.0684,"Rf":0.0684,"wavelength":0.315},{"T":0.0,"Rb":0.0674,"Rf":0.0674,"wavelength":0.32},{"T":0.0,"Rb":0.0663,"Rf":0.0663,"wavelength":0.325},{"T":0.0,"Rb":0.0653,"Rf":0.0653,"wavelength":0.33},{"T":0.0,"Rb":0.0647,"Rf":0.0647,"wavelength":0.335},{"T":0.0,"Rb":0.0642,"Rf":0.0642,"wavelength":0.34},{"T":0.0,"Rb":0.0651,"Rf":0.0651,"wavelength":0.345},{"T":0.0,"Rb":0.067,"Rf":0.067,"wavelength":0.35},{"T":0.0,"Rb":0.0704,"Rf":0.0704,"wavelength":0.355},{"T":0.0,"Rb":0.0751,"Rf":0.0751,"wavelength":0.36},{"T":0.0,"Rb":0.0816,"Rf":0.0816,"wavelength":0.365},{"T":0.0,"Rb":0.09,"Rf":0.09,"wavelength":0.37},{"T":0.0,"Rb":0.1022,"Rf":0.1022,"wavelength":0.375},{"T":0.0,"Rb":0.1191,"Rf":0.1191,"wavelength":0.38},{"T":0.0,"Rb":0.1455,"Rf":0.1455,"wavelength":0.385},{"T":0.0,"Rb":0.1897,"Rf":0.1897,"wavelength":0.39},{"T":0.0,"Rb":0.2618,"Rf":0.2618,"wavelength":0.395},{"T":0.0,"Rb":0.3615,"Rf":0.3615,"wavelength":0.4},{"T":0.0,"Rb":0.4777,"Rf":0.4777,"wavelength":0.405},{"T":0.0,"Rb":0.5803,"Rf":0.5803,"wavelength":0.41},{"T":0.0,"Rb":0.6437,"Rf":0.6437,"wavelength":0.415},{"T":0.0,"Rb":0.6726,"Rf":0.6726,"wavelength":0.42},{"T":0.0,"Rb":0.684,"Rf":0.684,"wavelength":0.425},{"T":0.0,"Rb":0.69,"Rf":0.69,"wavelength":0.43},{"T":0.0,"Rb":0.697,"Rf":0.697,"wavelength":0.435},{"T":0.0,"Rb":0.7038,"Rf":0.7038,"wavelength":0.44},{"T":0.0,"Rb":0.7093,"Rf":0.7093,"wavelength":0.445},{"T":0.0,"Rb":0.7133,"Rf":0.7133,"wavelength":0.45},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":0.455},{"T":0.0,"Rb":0.7152,"Rf":0.7152,"wavelength":0.46},{"T":0.0,"Rb":0.716,"Rf":0.716,"wavelength":0.465},{"T":0.0,"Rb":0.716,"Rf":0.716,"wavelength":0.47},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":0.475},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":0.48},{"T":0.0,"Rb":0.7181,"Rf":0.7181,"wavelength":0.485},{"T":0.0,"Rb":0.7199,"Rf":0.7199,"wavelength":0.49},{"T":0.0,"Rb":0.7225,"Rf":0.7225,"wavelength":0.495},{"T":0.0,"Rb":0.7249,"Rf":0.7249,"wavelength":0.5},{"T":0.0,"Rb":0.7291,"Rf":0.7291,"wavelength":0.505},{"T":0.0,"Rb":0.7327,"Rf":0.7327,"wavelength":0.51},{"T":0.0,"Rb":0.7374,"Rf":0.7374,"wavelength":0.515},{"T":0.0,"Rb":0.7408,"Rf":0.7408,"wavelength":0.52},{"T":0.0,"Rb":0.7457,"Rf":0.7457,"wavelength":0.525},{"T":0.0,"Rb":0.7491,"Rf":0.7491,"wavelength":0.53},{"T":0.0,"Rb":0.7524,"Rf":0.7524,"wavelength":0.535},{"T":0.0,"Rb":0.7548,"Rf":0.7548,"wavelength":0.54},{"T":0.0,"Rb":0.7562,"Rf":0.7562,"wavelength":0.545},{"T":0.0,"Rb":0.7577,"Rf":0.7577,"wavelength":0.55},{"T":0.0,"Rb":0.7584,"Rf":0.7584,"wavelength":0.555},{"T":0.0,"Rb":0.7574,"Rf":0.7574,"wavelength":0.56},{"T":0.0,"Rb":0.7568,"Rf":0.7568,"wavelength":0.565},{"T":0.0,"Rb":0.7553,"Rf":0.7553,"wavelength":0.57},{"T":0.0,"Rb":0.7543,"Rf":0.7543,"wavelength":0.575},{"T":0.0,"Rb":0.7529,"Rf":0.7529,"wavelength":0.58},{"T":0.0,"Rb":0.7511,"Rf":0.7511,"wavelength":0.585},{"T":0.0,"Rb":0.7489,"Rf":0.7489,"wavelength":0.59},{"T":0.0,"Rb":0.7474,"Rf":0.7474,"wavelength":0.595},{"T":0.0,"Rb":0.7458,"Rf":0.7458,"wavelength":0.6},{"T":0.0,"Rb":0.7434,"Rf":0.7434,"wavelength":0.605},{"T":0.0,"Rb":0.7419,"Rf":0.7419,"wavelength":0.61},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":0.615},{"T":0.0,"Rb":0.7376,"Rf":0.7376,"wavelength":0.62},{"T":0.0,"Rb":0.7353,"Rf":0.7353,"wavelength":0.625},{"T":0.0,"Rb":0.7339,"Rf":0.7339,"wavelength":0.63},{"T":0.0,"Rb":0.7319,"Rf":0.7319,"wavelength":0.635},{"T":0.0,"Rb":0.7297,"Rf":0.7297,"wavelength":0.64},{"T":0.0,"Rb":0.7277,"Rf":0.7277,"wavelength":0.645},{"T":0.0,"Rb":0.7261,"Rf":0.7261,"wavelength":0.65},{"T":0.0,"Rb":0.724,"Rf":0.724,"wavelength":0.655},{"T":0.0,"Rb":0.7221,"Rf":0.7221,"wavelength":0.66},{"T":0.0,"Rb":0.7202,"Rf":0.7202,"wavelength":0.665},{"T":0.0,"Rb":0.7186,"Rf":0.7186,"wavelength":0.67},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":0.675},{"T":0.0,"Rb":0.7133,"Rf":0.7133,"wavelength":0.68},{"T":0.0,"Rb":0.7124,"Rf":0.7124,"wavelength":0.685},{"T":0.0,"Rb":0.7105,"Rf":0.7105,"wavelength":0.69},{"T":0.0,"Rb":0.7086,"Rf":0.7086,"wavelength":0.695},{"T":0.0,"Rb":0.706,"Rf":0.706,"wavelength":0.7},{"T":0.0,"Rb":0.7048,"Rf":0.7048,"wavelength":0.705},{"T":0.0,"Rb":0.7026,"Rf":0.7026,"wavelength":0.71},{"T":0.0,"Rb":0.7004,"Rf":0.7004,"wavelength":0.715},{"T":0.0,"Rb":0.6986,"Rf":0.6986,"wavelength":0.72},{"T":0.0,"Rb":0.6959,"Rf":0.6959,"wavelength":0.725},{"T":0.0,"Rb":0.6944,"Rf":0.6944,"wavelength":0.73},{"T":0.0,"Rb":0.6916,"Rf":0.6916,"wavelength":0.735},{"T":0.0,"Rb":0.69,"Rf":0.69,"wavelength":0.74},{"T":0.0,"Rb":0.6879,"Rf":0.6879,"wavelength":0.745},{"T":0.0,"Rb":0.6855,"Rf":0.6855,"wavelength":0.75},{"T":0.0,"Rb":0.6828,"Rf":0.6828,"wavelength":0.755},{"T":0.0,"Rb":0.6809,"Rf":0.6809,"wavelength":0.76},{"T":0.0,"Rb":0.6781,"Rf":0.6781,"wavelength":0.765},{"T":0.0,"Rb":0.6749,"Rf":0.6749,"wavelength":0.77},{"T":0.0,"Rb":0.6731,"Rf":0.6731,"wavelength":0.775},{"T":0.0,"Rb":0.671,"Rf":0.671,"wavelength":0.78},{"T":0.0,"Rb":0.6687,"Rf":0.6687,"wavelength":0.785},{"T":0.0,"Rb":0.6659,"Rf":0.6659,"wavelength":0.79},{"T":0.0,"Rb":0.6633,"Rf":0.6633,"wavelength":0.795},{"T":0.0,"Rb":0.6615,"Rf":0.6615,"wavelength":0.8},{"T":0.0,"Rb":0.6588,"Rf":0.6588,"wavelength":0.805},{"T":0.0,"Rb":0.6569,"Rf":0.6569,"wavelength":0.81},{"T":0.0,"Rb":0.6547,"Rf":0.6547,"wavelength":0.815},{"T":0.0,"Rb":0.6531,"Rf":0.6531,"wavelength":0.82},{"T":0.0,"Rb":0.6508,"Rf":0.6508,"wavelength":0.825},{"T":0.0,"Rb":0.6488,"Rf":0.6488,"wavelength":0.83},{"T":0.0,"Rb":0.6478,"Rf":0.6478,"wavelength":0.835},{"T":0.0,"Rb":0.6471,"Rf":0.6471,"wavelength":0.84},{"T":0.0,"Rb":0.645,"Rf":0.645,"wavelength":0.845},{"T":0.0,"Rb":0.6451,"Rf":0.6451,"wavelength":0.85},{"T":0.0,"Rb":0.6433,"Rf":0.6433,"wavelength":0.855},{"T":0.0,"Rb":0.6451,"Rf":0.6451,"wavelength":0.86},{"T":0.0,"Rb":0.6461,"Rf":0.6461,"wavelength":0.865},{"T":0.0,"Rb":0.6474,"Rf":0.6474,"wavelength":0.87},{"T":0.0,"Rb":0.6457,"Rf":0.6457,"wavelength":0.875},{"T":0.0,"Rb":0.6444,"Rf":0.6444,"wavelength":0.88},{"T":0.0,"Rb":0.6442,"Rf":0.6442,"wavelength":0.885},{"T":0.0,"Rb":0.6447,"Rf":0.6447,"wavelength":0.89},{"T":0.0,"Rb":0.644,"Rf":0.644,"wavelength":0.895},{"T":0.0,"Rb":0.6455,"Rf":0.6455,"wavelength":0.9},{"T":0.0,"Rb":0.6448,"Rf":0.6448,"wavelength":0.905},{"T":0.0,"Rb":0.6462,"Rf":0.6462,"wavelength":0.91},{"T":0.0,"Rb":0.6466,"Rf":0.6466,"wavelength":0.915},{"T":0.0,"Rb":0.6481,"Rf":0.6481,"wavelength":0.92},{"T":0.0,"Rb":0.6496,"Rf":0.6496,"wavelength":0.925},{"T":0.0,"Rb":0.6502,"Rf":0.6502,"wavelength":0.93},{"T":0.0,"Rb":0.6511,"Rf":0.6511,"wavelength":0.935},{"T":0.0,"Rb":0.6524,"Rf":0.6524,"wavelength":0.94},{"T":0.0,"Rb":0.6535,"Rf":0.6535,"wavelength":0.945},{"T":0.0,"Rb":0.6542,"Rf":0.6542,"wavelength":0.95},{"T":0.0,"Rb":0.6559,"Rf":0.6559,"wavelength":0.955},{"T":0.0,"Rb":0.657,"Rf":0.657,"wavelength":0.96},{"T":0.0,"Rb":0.6576,"Rf":0.6576,"wavelength":0.965},{"T":0.0,"Rb":0.6585,"Rf":0.6585,"wavelength":0.97},{"T":0.0,"Rb":0.6599,"Rf":0.6599,"wavelength":0.975},{"T":0.0,"Rb":0.6606,"Rf":0.6606,"wavelength":0.98},{"T":0.0,"Rb":0.6621,"Rf":0.6621,"wavelength":0.985},{"T":0.0,"Rb":0.6634,"Rf":0.6634,"wavelength":0.99},{"T":0.0,"Rb":0.6646,"Rf":0.6646,"wavelength":0.995},{"T":0.0,"Rb":0.6658,"Rf":0.6658,"wavelength":1.0},{"T":0.0,"Rb":0.6664,"Rf":0.6664,"wavelength":1.005},{"T":0.0,"Rb":0.667,"Rf":0.667,"wavelength":1.01},{"T":0.0,"Rb":0.6684,"Rf":0.6684,"wavelength":1.015},{"T":0.0,"Rb":0.6686,"Rf":0.6686,"wavelength":1.02},{"T":0.0,"Rb":0.6706,"Rf":0.6706,"wavelength":1.025},{"T":0.0,"Rb":0.6711,"Rf":0.6711,"wavelength":1.03},{"T":0.0,"Rb":0.6719,"Rf":0.6719,"wavelength":1.035},{"T":0.0,"Rb":0.673,"Rf":0.673,"wavelength":1.04},{"T":0.0,"Rb":0.6743,"Rf":0.6743,"wavelength":1.045},{"T":0.0,"Rb":0.6747,"Rf":0.6747,"wavelength":1.05},{"T":0.0,"Rb":0.6757,"Rf":0.6757,"wavelength":1.055},{"T":0.0,"Rb":0.6767,"Rf":0.6767,"wavelength":1.06},{"T":0.0,"Rb":0.6776,"Rf":0.6776,"wavelength":1.065},{"T":0.0,"Rb":0.678,"Rf":0.678,"wavelength":1.07},{"T":0.0,"Rb":0.679,"Rf":0.679,"wavelength":1.075},{"T":0.0,"Rb":0.6789,"Rf":0.6789,"wavelength":1.08},{"T":0.0,"Rb":0.6807,"Rf":0.6807,"wavelength":1.085},{"T":0.0,"Rb":0.6809,"Rf":0.6809,"wavelength":1.09},{"T":0.0,"Rb":0.6825,"Rf":0.6825,"wavelength":1.095},{"T":0.0,"Rb":0.6834,"Rf":0.6834,"wavelength":1.1},{"T":0.0,"Rb":0.6837,"Rf":0.6837,"wavelength":1.105},{"T":0.0,"Rb":0.6842,"Rf":0.6842,"wavelength":1.11},{"T":0.0,"Rb":0.6854,"Rf":0.6854,"wavelength":1.115},{"T":0.0,"Rb":0.6849,"Rf":0.6849,"wavelength":1.12},{"T":0.0,"Rb":0.6857,"Rf":0.6857,"wavelength":1.125},{"T":0.0,"Rb":0.6861,"Rf":0.6861,"wavelength":1.13},{"T":0.0,"Rb":0.6862,"Rf":0.6862,"wavelength":1.135},{"T":0.0,"Rb":0.6874,"Rf":0.6874,"wavelength":1.14},{"T":0.0,"Rb":0.6877,"Rf":0.6877,"wavelength":1.145},{"T":0.0,"Rb":0.688,"Rf":0.688,"wavelength":1.15},{"T":0.0,"Rb":0.6887,"Rf":0.6887,"wavelength":1.155},{"T":0.0,"Rb":0.6895,"Rf":0.6895,"wavelength":1.16},{"T":0.0,"Rb":0.6895,"Rf":0.6895,"wavelength":1.165},{"T":0.0,"Rb":0.6906,"Rf":0.6906,"wavelength":1.17},{"T":0.0,"Rb":0.6902,"Rf":0.6902,"wavelength":1.175},{"T":0.0,"Rb":0.6893,"Rf":0.6893,"wavelength":1.18},{"T":0.0,"Rb":0.6897,"Rf":0.6897,"wavelength":1.185},{"T":0.0,"Rb":0.6904,"Rf":0.6904,"wavelength":1.19},{"T":0.0,"Rb":0.6908,"Rf":0.6908,"wavelength":1.195},{"T":0.0,"Rb":0.6918,"Rf":0.6918,"wavelength":1.2},{"T":0.0,"Rb":0.6923,"Rf":0.6923,"wavelength":1.205},{"T":0.0,"Rb":0.6931,"Rf":0.6931,"wavelength":1.21},{"T":0.0,"Rb":0.6936,"Rf":0.6936,"wavelength":1.215},{"T":0.0,"Rb":0.695,"Rf":0.695,"wavelength":1.22},{"T":0.0,"Rb":0.6958,"Rf":0.6958,"wavelength":1.225},{"T":0.0,"Rb":0.6969,"Rf":0.6969,"wavelength":1.23},{"T":0.0,"Rb":0.6972,"Rf":0.6972,"wavelength":1.235},{"T":0.0,"Rb":0.6981,"Rf":0.6981,"wavelength":1.24},{"T":0.0,"Rb":0.6984,"Rf":0.6984,"wavelength":1.245},{"T":0.0,"Rb":0.6991,"Rf":0.6991,"wavelength":1.25},{"T":0.0,"Rb":0.6994,"Rf":0.6994,"wavelength":1.255},{"T":0.0,"Rb":0.6999,"Rf":0.6999,"wavelength":1.26},{"T":0.0,"Rb":0.7015,"Rf":0.7015,"wavelength":1.265},{"T":0.0,"Rb":0.7012,"Rf":0.7012,"wavelength":1.27},{"T":0.0,"Rb":0.7018,"Rf":0.7018,"wavelength":1.275},{"T":0.0,"Rb":0.7016,"Rf":0.7016,"wavelength":1.28},{"T":0.0,"Rb":0.702,"Rf":0.702,"wavelength":1.285},{"T":0.0,"Rb":0.7028,"Rf":0.7028,"wavelength":1.29},{"T":0.0,"Rb":0.7034,"Rf":0.7034,"wavelength":1.295},{"T":0.0,"Rb":0.7033,"Rf":0.7033,"wavelength":1.3},{"T":0.0,"Rb":0.7036,"Rf":0.7036,"wavelength":1.305},{"T":0.0,"Rb":0.7039,"Rf":0.7039,"wavelength":1.31},{"T":0.0,"Rb":0.7043,"Rf":0.7043,"wavelength":1.315},{"T":0.0,"Rb":0.7049,"Rf":0.7049,"wavelength":1.32},{"T":0.0,"Rb":0.7053,"Rf":0.7053,"wavelength":1.325},{"T":0.0,"Rb":0.7051,"Rf":0.7051,"wavelength":1.33},{"T":0.0,"Rb":0.7054,"Rf":0.7054,"wavelength":1.335},{"T":0.0,"Rb":0.7058,"Rf":0.7058,"wavelength":1.34},{"T":0.0,"Rb":0.7056,"Rf":0.7056,"wavelength":1.345},{"T":0.0,"Rb":0.7055,"Rf":0.7055,"wavelength":1.35},{"T":0.0,"Rb":0.7056,"Rf":0.7056,"wavelength":1.355},{"T":0.0,"Rb":0.7059,"Rf":0.7059,"wavelength":1.36},{"T":0.0,"Rb":0.7062,"Rf":0.7062,"wavelength":1.365},{"T":0.0,"Rb":0.7059,"Rf":0.7059,"wavelength":1.37},{"T":0.0,"Rb":0.7064,"Rf":0.7064,"wavelength":1.375},{"T":0.0,"Rb":0.7067,"Rf":0.7067,"wavelength":1.38},{"T":0.0,"Rb":0.707,"Rf":0.707,"wavelength":1.385},{"T":0.0,"Rb":0.7073,"Rf":0.7073,"wavelength":1.39},{"T":0.0,"Rb":0.7082,"Rf":0.7082,"wavelength":1.395},{"T":0.0,"Rb":0.708,"Rf":0.708,"wavelength":1.4},{"T":0.0,"Rb":0.7082,"Rf":0.7082,"wavelength":1.405},{"T":0.0,"Rb":0.7083,"Rf":0.7083,"wavelength":1.41},{"T":0.0,"Rb":0.7084,"Rf":0.7084,"wavelength":1.415},{"T":0.0,"Rb":0.7083,"Rf":0.7083,"wavelength":1.42},{"T":0.0,"Rb":0.7095,"Rf":0.7095,"wavelength":1.425},{"T":0.0,"Rb":0.7104,"Rf":0.7104,"wavelength":1.43},{"T":0.0,"Rb":0.7112,"Rf":0.7112,"wavelength":1.435},{"T":0.0,"Rb":0.7115,"Rf":0.7115,"wavelength":1.44},{"T":0.0,"Rb":0.7123,"Rf":0.7123,"wavelength":1.445},{"T":0.0,"Rb":0.7131,"Rf":0.7131,"wavelength":1.45},{"T":0.0,"Rb":0.7137,"Rf":0.7137,"wavelength":1.455},{"T":0.0,"Rb":0.7144,"Rf":0.7144,"wavelength":1.46},{"T":0.0,"Rb":0.7149,"Rf":0.7149,"wavelength":1.465},{"T":0.0,"Rb":0.7153,"Rf":0.7153,"wavelength":1.47},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":1.475},{"T":0.0,"Rb":0.7159,"Rf":0.7159,"wavelength":1.48},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":1.485},{"T":0.0,"Rb":0.7173,"Rf":0.7173,"wavelength":1.49},{"T":0.0,"Rb":0.718,"Rf":0.718,"wavelength":1.495},{"T":0.0,"Rb":0.7185,"Rf":0.7185,"wavelength":1.5},{"T":0.0,"Rb":0.7186,"Rf":0.7186,"wavelength":1.505},{"T":0.0,"Rb":0.7192,"Rf":0.7192,"wavelength":1.51},{"T":0.0,"Rb":0.7203,"Rf":0.7203,"wavelength":1.515},{"T":0.0,"Rb":0.7208,"Rf":0.7208,"wavelength":1.52},{"T":0.0,"Rb":0.7221,"Rf":0.7221,"wavelength":1.525},{"T":0.0,"Rb":0.7223,"Rf":0.7223,"wavelength":1.53},{"T":0.0,"Rb":0.7227,"Rf":0.7227,"wavelength":1.535},{"T":0.0,"Rb":0.7235,"Rf":0.7235,"wavelength":1.54},{"T":0.0,"Rb":0.7243,"Rf":0.7243,"wavelength":1.545},{"T":0.0,"Rb":0.725,"Rf":0.725,"wavelength":1.55},{"T":0.0,"Rb":0.7244,"Rf":0.7244,"wavelength":1.555},{"T":0.0,"Rb":0.7253,"Rf":0.7253,"wavelength":1.56},{"T":0.0,"Rb":0.7265,"Rf":0.7265,"wavelength":1.565},{"T":0.0,"Rb":0.7262,"Rf":0.7262,"wavelength":1.57},{"T":0.0,"Rb":0.7262,"Rf":0.7262,"wavelength":1.575},{"T":0.0,"Rb":0.727,"Rf":0.727,"wavelength":1.58},{"T":0.0,"Rb":0.7274,"Rf":0.7274,"wavelength":1.585},{"T":0.0,"Rb":0.7284,"Rf":0.7284,"wavelength":1.59},{"T":0.0,"Rb":0.7284,"Rf":0.7284,"wavelength":1.595},{"T":0.0,"Rb":0.7285,"Rf":0.7285,"wavelength":1.6},{"T":0.0,"Rb":0.7289,"Rf":0.7289,"wavelength":1.605},{"T":0.0,"Rb":0.7292,"Rf":0.7292,"wavelength":1.61},{"T":0.0,"Rb":0.7294,"Rf":0.7294,"wavelength":1.615},{"T":0.0,"Rb":0.7287,"Rf":0.7287,"wavelength":1.62},{"T":0.0,"Rb":0.7285,"Rf":0.7285,"wavelength":1.625},{"T":0.0,"Rb":0.7279,"Rf":0.7279,"wavelength":1.63},{"T":0.0,"Rb":0.7266,"Rf":0.7266,"wavelength":1.635},{"T":0.0,"Rb":0.7252,"Rf":0.7252,"wavelength":1.64},{"T":0.0,"Rb":0.7229,"Rf":0.7229,"wavelength":1.645},{"T":0.0,"Rb":0.7178,"Rf":0.7178,"wavelength":1.65},{"T":0.0,"Rb":0.7141,"Rf":0.7141,"wavelength":1.655},{"T":0.0,"Rb":0.7101,"Rf":0.7101,"wavelength":1.66},{"T":0.0,"Rb":0.7081,"Rf":0.7081,"wavelength":1.665},{"T":0.0,"Rb":0.7093,"Rf":0.7093,"wavelength":1.67},{"T":0.0,"Rb":0.7108,"Rf":0.7108,"wavelength":1.675},{"T":0.0,"Rb":0.7109,"Rf":0.7109,"wavelength":1.68},{"T":0.0,"Rb":0.7102,"Rf":0.7102,"wavelength":1.685},{"T":0.0,"Rb":0.7102,"Rf":0.7102,"wavelength":1.69},{"T":0.0,"Rb":0.7113,"Rf":0.7113,"wavelength":1.695},{"T":0.0,"Rb":0.7127,"Rf":0.7127,"wavelength":1.7},{"T":0.0,"Rb":0.7139,"Rf":0.7139,"wavelength":1.705},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":1.71},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":1.715},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":1.72},{"T":0.0,"Rb":0.7159,"Rf":0.7159,"wavelength":1.725},{"T":0.0,"Rb":0.7153,"Rf":0.7153,"wavelength":1.73},{"T":0.0,"Rb":0.7171,"Rf":0.7171,"wavelength":1.735},{"T":0.0,"Rb":0.7178,"Rf":0.7178,"wavelength":1.74},{"T":0.0,"Rb":0.7183,"Rf":0.7183,"wavelength":1.745},{"T":0.0,"Rb":0.7206,"Rf":0.7206,"wavelength":1.75},{"T":0.0,"Rb":0.7213,"Rf":0.7213,"wavelength":1.755},{"T":0.0,"Rb":0.7231,"Rf":0.7231,"wavelength":1.76},{"T":0.0,"Rb":0.7251,"Rf":0.7251,"wavelength":1.765},{"T":0.0,"Rb":0.7266,"Rf":0.7266,"wavelength":1.77},{"T":0.0,"Rb":0.7291,"Rf":0.7291,"wavelength":1.775},{"T":0.0,"Rb":0.7303,"Rf":0.7303,"wavelength":1.78},{"T":0.0,"Rb":0.7315,"Rf":0.7315,"wavelength":1.785},{"T":0.0,"Rb":0.7327,"Rf":0.7327,"wavelength":1.79},{"T":0.0,"Rb":0.7332,"Rf":0.7332,"wavelength":1.795},{"T":0.0,"Rb":0.7339,"Rf":0.7339,"wavelength":1.8},{"T":0.0,"Rb":0.7346,"Rf":0.7346,"wavelength":1.805},{"T":0.0,"Rb":0.7345,"Rf":0.7345,"wavelength":1.81},{"T":0.0,"Rb":0.7359,"Rf":0.7359,"wavelength":1.815},{"T":0.0,"Rb":0.735,"Rf":0.735,"wavelength":1.82},{"T":0.0,"Rb":0.736,"Rf":0.736,"wavelength":1.825},{"T":0.0,"Rb":0.7372,"Rf":0.7372,"wavelength":1.83},{"T":0.0,"Rb":0.7377,"Rf":0.7377,"wavelength":1.835},{"T":0.0,"Rb":0.7391,"Rf":0.7391,"wavelength":1.84},{"T":0.0,"Rb":0.7382,"Rf":0.7382,"wavelength":1.845},{"T":0.0,"Rb":0.7397,"Rf":0.7397,"wavelength":1.85},{"T":0.0,"Rb":0.7411,"Rf":0.7411,"wavelength":1.855},{"T":0.0,"Rb":0.742,"Rf":0.742,"wavelength":1.86},{"T":0.0,"Rb":0.7416,"Rf":0.7416,"wavelength":1.865},{"T":0.0,"Rb":0.7415,"Rf":0.7415,"wavelength":1.87},{"T":0.0,"Rb":0.7425,"Rf":0.7425,"wavelength":1.875},{"T":0.0,"Rb":0.7432,"Rf":0.7432,"wavelength":1.88},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":1.885},{"T":0.0,"Rb":0.7415,"Rf":0.7415,"wavelength":1.89},{"T":0.0,"Rb":0.7406,"Rf":0.7406,"wavelength":1.895},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":1.9},{"T":0.0,"Rb":0.7389,"Rf":0.7389,"wavelength":1.905},{"T":0.0,"Rb":0.7393,"Rf":0.7393,"wavelength":1.91},{"T":0.0,"Rb":0.7395,"Rf":0.7395,"wavelength":1.915},{"T":0.0,"Rb":0.7401,"Rf":0.7401,"wavelength":1.92},{"T":0.0,"Rb":0.7397,"Rf":0.7397,"wavelength":1.925},{"T":0.0,"Rb":0.7408,"Rf":0.7408,"wavelength":1.93},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":1.935},{"T":0.0,"Rb":0.7423,"Rf":0.7423,"wavelength":1.94},{"T":0.0,"Rb":0.7423,"Rf":0.7423,"wavelength":1.945},{"T":0.0,"Rb":0.7422,"Rf":0.7422,"wavelength":1.95},{"T":0.0,"Rb":0.7435,"Rf":0.7435,"wavelength":1.955},{"T":0.0,"Rb":0.7422,"Rf":0.7422,"wavelength":1.96},{"T":0.0,"Rb":0.7432,"Rf":0.7432,"wavelength":1.965},{"T":0.0,"Rb":0.7449,"Rf":0.7449,"wavelength":1.97},{"T":0.0,"Rb":0.7479,"Rf":0.7479,"wavelength":1.975},{"T":0.0,"Rb":0.7477,"Rf":0.7477,"wavelength":1.98},{"T":0.0,"Rb":0.7479,"Rf":0.7479,"wavelength":1.985},{"T":0.0,"Rb":0.7481,"Rf":0.7481,"wavelength":1.99},{"T":0.0,"Rb":0.7493,"Rf":0.7493,"wavelength":1.995},{"T":0.0,"Rb":0.7496,"Rf":0.7496,"wavelength":2.0},{"T":0.0,"Rb":0.7501,"Rf":0.7501,"wavelength":2.005},{"T":0.0,"Rb":0.7503,"Rf":0.7503,"wavelength":2.01},{"T":0.0,"Rb":0.7518,"Rf":0.7518,"wavelength":2.015},{"T":0.0,"Rb":0.7517,"Rf":0.7517,"wavelength":2.02},{"T":0.0,"Rb":0.7523,"Rf":0.7523,"wavelength":2.025},{"T":0.0,"Rb":0.7528,"Rf":0.7528,"wavelength":2.03},{"T":0.0,"Rb":0.7531,"Rf":0.7531,"wavelength":2.035},{"T":0.0,"Rb":0.7531,"Rf":0.7531,"wavelength":2.04},{"T":0.0,"Rb":0.7529,"Rf":0.7529,"wavelength":2.045},{"T":0.0,"Rb":0.7539,"Rf":0.7539,"wavelength":2.05},{"T":0.0,"Rb":0.7564,"Rf":0.7564,"wavelength":2.055},{"T":0.0,"Rb":0.7556,"Rf":0.7556,"wavelength":2.06},{"T":0.0,"Rb":0.7544,"Rf":0.7544,"wavelength":2.065},{"T":0.0,"Rb":0.7537,"Rf":0.7537,"wavelength":2.07},{"T":0.0,"Rb":0.7541,"Rf":0.7541,"wavelength":2.075},{"T":0.0,"Rb":0.7517,"Rf":0.7517,"wavelength":2.08},{"T":0.0,"Rb":0.7532,"Rf":0.7532,"wavelength":2.085},{"T":0.0,"Rb":0.7546,"Rf":0.7546,"wavelength":2.09},{"T":0.0,"Rb":0.7541,"Rf":0.7541,"wavelength":2.095},{"T":0.0,"Rb":0.7539,"Rf":0.7539,"wavelength":2.1},{"T":0.0,"Rb":0.7555,"Rf":0.7555,"wavelength":2.105},{"T":0.0,"Rb":0.7536,"Rf":0.7536,"wavelength":2.11},{"T":0.0,"Rb":0.7544,"Rf":0.7544,"wavelength":2.115},{"T":0.0,"Rb":0.7501,"Rf":0.7501,"wavelength":2.12},{"T":0.0,"Rb":0.7442,"Rf":0.7442,"wavelength":2.125},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":2.13},{"T":0.0,"Rb":0.7331,"Rf":0.7331,"wavelength":2.135},{"T":0.0,"Rb":0.7283,"Rf":0.7283,"wavelength":2.14},{"T":0.0,"Rb":0.7282,"Rf":0.7282,"wavelength":2.145},{"T":0.0,"Rb":0.731,"Rf":0.731,"wavelength":2.15},{"T":0.0,"Rb":0.7431,"Rf":0.7431,"wavelength":2.155},{"T":0.0,"Rb":0.7431,"Rf":0.7431,"wavelength":2.16},{"T":0.0,"Rb":0.7459,"Rf":0.7459,"wavelength":2.165},{"T":0.0,"Rb":0.7519,"Rf":0.7519,"wavelength":2.17},{"T":0.0,"Rb":0.753,"Rf":0.753,"wavelength":2.175},{"T":0.0,"Rb":0.7488,"Rf":0.7488,"wavelength":2.18},{"T":0.0,"Rb":0.7548,"Rf":0.7548,"wavelength":2.185},{"T":0.0,"Rb":0.7505,"Rf":0.7505,"wavelength":2.19},{"T":0.0,"Rb":0.7495,"Rf":0.7495,"wavelength":2.195},{"T":0.0,"Rb":0.7456,"Rf":0.7456,"wavelength":2.2},{"T":0.0,"Rb":0.7457,"Rf":0.7457,"wavelength":2.205},{"T":0.0,"Rb":0.7468,"Rf":0.7468,"wavelength":2.21},{"T":0.0,"Rb":0.744,"Rf":0.744,"wavelength":2.215},{"T":0.0,"Rb":0.7412,"Rf":0.7412,"wavelength":2.22},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":2.225},{"T":0.0,"Rb":0.7395,"Rf":0.7395,"wavelength":2.23},{"T":0.0,"Rb":0.7341,"Rf":0.7341,"wavelength":2.235},{"T":0.0,"Rb":0.7227,"Rf":0.7227,"wavelength":2.24},{"T":0.0,"Rb":0.7105,"Rf":0.7105,"wavelength":2.245},{"T":0.0,"Rb":0.6971,"Rf":0.6971,"wavelength":2.25},{"T":0.0,"Rb":0.676,"Rf":0.676,"wavelength":2.255},{"T":0.0,"Rb":0.6582,"Rf":0.6582,"wavelength":2.26},{"T":0.0,"Rb":0.646,"Rf":0.646,"wavelength":2.265},{"T":0.0,"Rb":0.6434,"Rf":0.6434,"wavelength":2.27},{"T":0.0,"Rb":0.6433,"Rf":0.6433,"wavelength":2.275},{"T":0.0,"Rb":0.6464,"Rf":0.6464,"wavelength":2.28},{"T":0.0,"Rb":0.6496,"Rf":0.6496,"wavelength":2.285},{"T":0.0,"Rb":0.6549,"Rf":0.6549,"wavelength":2.29},{"T":0.0,"Rb":0.6597,"Rf":0.6597,"wavelength":2.295},{"T":0.0,"Rb":0.6562,"Rf":0.6562,"wavelength":2.3},{"T":0.0,"Rb":0.6573,"Rf":0.6573,"wavelength":2.305},{"T":0.0,"Rb":0.6587,"Rf":0.6587,"wavelength":2.31},{"T":0.0,"Rb":0.66,"Rf":0.66,"wavelength":2.315},{"T":0.0,"Rb":0.6659,"Rf":0.6659,"wavelength":2.32},{"T":0.0,"Rb":0.6758,"Rf":0.6758,"wavelength":2.325},{"T":0.0,"Rb":0.676,"Rf":0.676,"wavelength":2.33},{"T":0.0,"Rb":0.6785,"Rf":0.6785,"wavelength":2.335},{"T":0.0,"Rb":0.68,"Rf":0.68,"wavelength":2.34},{"T":0.0,"Rb":0.681,"Rf":0.681,"wavelength":2.345},{"T":0.0,"Rb":0.6778,"Rf":0.6778,"wavelength":2.35},{"T":0.0,"Rb":0.6796,"Rf":0.6796,"wavelength":2.355},{"T":0.0,"Rb":0.683,"Rf":0.683,"wavelength":2.36},{"T":0.0,"Rb":0.6793,"Rf":0.6793,"wavelength":2.365},{"T":0.0,"Rb":0.6823,"Rf":0.6823,"wavelength":2.37},{"T":0.0,"Rb":0.6864,"Rf":0.6864,"wavelength":2.375},{"T":0.0,"Rb":0.6836,"Rf":0.6836,"wavelength":2.38},{"T":0.0,"Rb":0.6786,"Rf":0.6786,"wavelength":2.385},{"T":0.0,"Rb":0.6835,"Rf":0.6835,"wavelength":2.39},{"T":0.0,"Rb":0.6795,"Rf":0.6795,"wavelength":2.395},{"T":0.0,"Rb":0.6834,"Rf":0.6834,"wavelength":2.4},{"T":0.0,"Rb":0.689,"Rf":0.689,"wavelength":2.405},{"T":0.0,"Rb":0.686,"Rf":0.686,"wavelength":2.41},{"T":0.0,"Rb":0.6899,"Rf":0.6899,"wavelength":2.415},{"T":0.0,"Rb":0.6884,"Rf":0.6884,"wavelength":2.42},{"T":0.0,"Rb":0.6912,"Rf":0.6912,"wavelength":2.425},{"T":0.0,"Rb":0.6936,"Rf":0.6936,"wavelength":2.43},{"T":0.0,"Rb":0.6945,"Rf":0.6945,"wavelength":2.435},{"T":0.0,"Rb":0.6927,"Rf":0.6927,"wavelength":2.44},{"T":0.0,"Rb":0.6792,"Rf":0.6792,"wavelength":2.445},{"T":0.0,"Rb":0.6733,"Rf":0.6733,"wavelength":2.45},{"T":0.0,"Rb":0.6649,"Rf":0.6649,"wavelength":2.455},{"T":0.0,"Rb":0.6712,"Rf":0.6712,"wavelength":2.46},{"T":0.0,"Rb":0.6756,"Rf":0.6756,"wavelength":2.465},{"T":0.0,"Rb":0.6799,"Rf":0.6799,"wavelength":2.47},{"T":0.0,"Rb":0.6874,"Rf":0.6874,"wavelength":2.475},{"T":0.0,"Rb":0.6999,"Rf":0.6999,"wavelength":2.48},{"T":0.0,"Rb":0.6993,"Rf":0.6993,"wavelength":2.485},{"T":0.0,"Rb":0.7081,"Rf":0.7081,"wavelength":2.49},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":2.495},{"T":0.0,"Rb":0.719,"Rf":0.719,"wavelength":2.5}],"dual_band_values":{"Rb_sol_diffuse":0.6767141,"Rb_vis_diffuse":0.7434482,"Rf_sol_diffuse":0.6767141,"Rf_vis_diffuse":0.7434482,"Tb_sol_diffuse":0.0,"Tb_vis_diffuse":0.0,"Tf_sol_diffuse":0.0,"Tf_vis_diffuse":0.0,"Rb_sol_specular":0.0,"Rb_vis_specular":null,"Rf_sol_specular":0.0,"Rf_vis_specular":0.0,"Tb_sol_specular":0.0,"Tb_vis_specular":0.0,"Tf_sol_specular":0.0,"Tf_vis_specular":0.0}}},"index":null,"name":null,"extra_data":{"geometry":{"slat_width":14.8,"slat_spacing":12.7,"slat_curvature":33.13057,"number_segments":5}}}],"spectral_data":null} \ No newline at end of file +{"product_id":12149,"name":"Slim White Venetian Blind","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":3000,"cgdb_database_version":"1","acceptance":"#","appearance":null,"manufacturer_name":"Pella","data_file_name":null,"data_file_available":false,"short_description":null,"type":"shading","subtype":"venetian","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":false,"thickness":null,"tir_front":null,"tir_back":null,"emissivity_front":null,"emissivity_back":null,"conductivity":null,"permeability_factor":0.95},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":null,"tbsol":null,"rfsol":null,"rbsol":null,"tfvis":null,"tbvis":null,"rfvis":null,"rbvis":null,"tdw":null,"tuv":null,"tspf":null,"tkr":null,"tciex":null,"tciey":null,"tciez":null,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":null,"rfciey":null,"rfciez":null,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"spectral_data":null,"igdb_checksum":null,"composition":[{"child_product":{"product_id":13205,"name":"White Venetian Blind Slat (white.txt)","nfrc_id":null,"igdb_database_version":null,"cgdb_shading_layer_id":null,"cgdb_database_version":"1.0","acceptance":"#","appearance":null,"manufacturer_name":"Pella","data_file_name":"White Venetian Blind Slat (white.txt)","data_file_available":false,"short_description":null,"type":"material","subtype":"other","deconstructable":false,"coating_name":null,"coated_side":null,"measured_data":{"is_specular":true,"thickness":0.1,"tir_front":0.0,"tir_back":null,"emissivity_front":0.9,"emissivity_back":0.9,"conductivity":160.0,"permeability_factor":null},"integrated_results_summary":[{"calculation_standard_name":"NFRC","tfsol":0.0,"tbsol":null,"rfsol":0.683041274547577,"rbsol":null,"tfvis":0.0,"tbvis":null,"rfvis":0.7459762,"rbvis":0.7459762,"tdw":0.0,"tuv":0.0,"tspf":10000.0,"tkr":null,"tciex":0.0,"tciey":0.0,"tciez":0.0,"tf_r":null,"tf_g":null,"tf_b":null,"rfciex":69.85917,"rfciey":74.37163,"rfciez":75.35683,"rf_r":null,"rf_g":null,"rf_b":null,"rbciex":null,"rbciey":null,"rbciez":null,"rb_r":null,"rb_g":null,"rb_b":null}],"spectral_data":{"spectral_data":[{"T":0.0,"Rb":0.0703,"Rf":0.0703,"wavelength":0.3},{"T":0.0,"Rb":0.07,"Rf":0.07,"wavelength":0.305},{"T":0.0,"Rb":0.0692,"Rf":0.0692,"wavelength":0.31},{"T":0.0,"Rb":0.0684,"Rf":0.0684,"wavelength":0.315},{"T":0.0,"Rb":0.0674,"Rf":0.0674,"wavelength":0.32},{"T":0.0,"Rb":0.0663,"Rf":0.0663,"wavelength":0.325},{"T":0.0,"Rb":0.0653,"Rf":0.0653,"wavelength":0.33},{"T":0.0,"Rb":0.0647,"Rf":0.0647,"wavelength":0.335},{"T":0.0,"Rb":0.0642,"Rf":0.0642,"wavelength":0.34},{"T":0.0,"Rb":0.0651,"Rf":0.0651,"wavelength":0.345},{"T":0.0,"Rb":0.067,"Rf":0.067,"wavelength":0.35},{"T":0.0,"Rb":0.0704,"Rf":0.0704,"wavelength":0.355},{"T":0.0,"Rb":0.0751,"Rf":0.0751,"wavelength":0.36},{"T":0.0,"Rb":0.0816,"Rf":0.0816,"wavelength":0.365},{"T":0.0,"Rb":0.09,"Rf":0.09,"wavelength":0.37},{"T":0.0,"Rb":0.1022,"Rf":0.1022,"wavelength":0.375},{"T":0.0,"Rb":0.1191,"Rf":0.1191,"wavelength":0.38},{"T":0.0,"Rb":0.1455,"Rf":0.1455,"wavelength":0.385},{"T":0.0,"Rb":0.1897,"Rf":0.1897,"wavelength":0.39},{"T":0.0,"Rb":0.2618,"Rf":0.2618,"wavelength":0.395},{"T":0.0,"Rb":0.3615,"Rf":0.3615,"wavelength":0.4},{"T":0.0,"Rb":0.4777,"Rf":0.4777,"wavelength":0.405},{"T":0.0,"Rb":0.5803,"Rf":0.5803,"wavelength":0.41},{"T":0.0,"Rb":0.6437,"Rf":0.6437,"wavelength":0.415},{"T":0.0,"Rb":0.6726,"Rf":0.6726,"wavelength":0.42},{"T":0.0,"Rb":0.684,"Rf":0.684,"wavelength":0.425},{"T":0.0,"Rb":0.69,"Rf":0.69,"wavelength":0.43},{"T":0.0,"Rb":0.697,"Rf":0.697,"wavelength":0.435},{"T":0.0,"Rb":0.7038,"Rf":0.7038,"wavelength":0.44},{"T":0.0,"Rb":0.7093,"Rf":0.7093,"wavelength":0.445},{"T":0.0,"Rb":0.7133,"Rf":0.7133,"wavelength":0.45},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":0.455},{"T":0.0,"Rb":0.7152,"Rf":0.7152,"wavelength":0.46},{"T":0.0,"Rb":0.716,"Rf":0.716,"wavelength":0.465},{"T":0.0,"Rb":0.716,"Rf":0.716,"wavelength":0.47},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":0.475},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":0.48},{"T":0.0,"Rb":0.7181,"Rf":0.7181,"wavelength":0.485},{"T":0.0,"Rb":0.7199,"Rf":0.7199,"wavelength":0.49},{"T":0.0,"Rb":0.7225,"Rf":0.7225,"wavelength":0.495},{"T":0.0,"Rb":0.7249,"Rf":0.7249,"wavelength":0.5},{"T":0.0,"Rb":0.7291,"Rf":0.7291,"wavelength":0.505},{"T":0.0,"Rb":0.7327,"Rf":0.7327,"wavelength":0.51},{"T":0.0,"Rb":0.7374,"Rf":0.7374,"wavelength":0.515},{"T":0.0,"Rb":0.7408,"Rf":0.7408,"wavelength":0.52},{"T":0.0,"Rb":0.7457,"Rf":0.7457,"wavelength":0.525},{"T":0.0,"Rb":0.7491,"Rf":0.7491,"wavelength":0.53},{"T":0.0,"Rb":0.7524,"Rf":0.7524,"wavelength":0.535},{"T":0.0,"Rb":0.7548,"Rf":0.7548,"wavelength":0.54},{"T":0.0,"Rb":0.7562,"Rf":0.7562,"wavelength":0.545},{"T":0.0,"Rb":0.7577,"Rf":0.7577,"wavelength":0.55},{"T":0.0,"Rb":0.7584,"Rf":0.7584,"wavelength":0.555},{"T":0.0,"Rb":0.7574,"Rf":0.7574,"wavelength":0.56},{"T":0.0,"Rb":0.7568,"Rf":0.7568,"wavelength":0.565},{"T":0.0,"Rb":0.7553,"Rf":0.7553,"wavelength":0.57},{"T":0.0,"Rb":0.7543,"Rf":0.7543,"wavelength":0.575},{"T":0.0,"Rb":0.7529,"Rf":0.7529,"wavelength":0.58},{"T":0.0,"Rb":0.7511,"Rf":0.7511,"wavelength":0.585},{"T":0.0,"Rb":0.7489,"Rf":0.7489,"wavelength":0.59},{"T":0.0,"Rb":0.7474,"Rf":0.7474,"wavelength":0.595},{"T":0.0,"Rb":0.7458,"Rf":0.7458,"wavelength":0.6},{"T":0.0,"Rb":0.7434,"Rf":0.7434,"wavelength":0.605},{"T":0.0,"Rb":0.7419,"Rf":0.7419,"wavelength":0.61},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":0.615},{"T":0.0,"Rb":0.7376,"Rf":0.7376,"wavelength":0.62},{"T":0.0,"Rb":0.7353,"Rf":0.7353,"wavelength":0.625},{"T":0.0,"Rb":0.7339,"Rf":0.7339,"wavelength":0.63},{"T":0.0,"Rb":0.7319,"Rf":0.7319,"wavelength":0.635},{"T":0.0,"Rb":0.7297,"Rf":0.7297,"wavelength":0.64},{"T":0.0,"Rb":0.7277,"Rf":0.7277,"wavelength":0.645},{"T":0.0,"Rb":0.7261,"Rf":0.7261,"wavelength":0.65},{"T":0.0,"Rb":0.724,"Rf":0.724,"wavelength":0.655},{"T":0.0,"Rb":0.7221,"Rf":0.7221,"wavelength":0.66},{"T":0.0,"Rb":0.7202,"Rf":0.7202,"wavelength":0.665},{"T":0.0,"Rb":0.7186,"Rf":0.7186,"wavelength":0.67},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":0.675},{"T":0.0,"Rb":0.7133,"Rf":0.7133,"wavelength":0.68},{"T":0.0,"Rb":0.7124,"Rf":0.7124,"wavelength":0.685},{"T":0.0,"Rb":0.7105,"Rf":0.7105,"wavelength":0.69},{"T":0.0,"Rb":0.7086,"Rf":0.7086,"wavelength":0.695},{"T":0.0,"Rb":0.706,"Rf":0.706,"wavelength":0.7},{"T":0.0,"Rb":0.7048,"Rf":0.7048,"wavelength":0.705},{"T":0.0,"Rb":0.7026,"Rf":0.7026,"wavelength":0.71},{"T":0.0,"Rb":0.7004,"Rf":0.7004,"wavelength":0.715},{"T":0.0,"Rb":0.6986,"Rf":0.6986,"wavelength":0.72},{"T":0.0,"Rb":0.6959,"Rf":0.6959,"wavelength":0.725},{"T":0.0,"Rb":0.6944,"Rf":0.6944,"wavelength":0.73},{"T":0.0,"Rb":0.6916,"Rf":0.6916,"wavelength":0.735},{"T":0.0,"Rb":0.69,"Rf":0.69,"wavelength":0.74},{"T":0.0,"Rb":0.6879,"Rf":0.6879,"wavelength":0.745},{"T":0.0,"Rb":0.6855,"Rf":0.6855,"wavelength":0.75},{"T":0.0,"Rb":0.6828,"Rf":0.6828,"wavelength":0.755},{"T":0.0,"Rb":0.6809,"Rf":0.6809,"wavelength":0.76},{"T":0.0,"Rb":0.6781,"Rf":0.6781,"wavelength":0.765},{"T":0.0,"Rb":0.6749,"Rf":0.6749,"wavelength":0.77},{"T":0.0,"Rb":0.6731,"Rf":0.6731,"wavelength":0.775},{"T":0.0,"Rb":0.671,"Rf":0.671,"wavelength":0.78},{"T":0.0,"Rb":0.6687,"Rf":0.6687,"wavelength":0.785},{"T":0.0,"Rb":0.6659,"Rf":0.6659,"wavelength":0.79},{"T":0.0,"Rb":0.6633,"Rf":0.6633,"wavelength":0.795},{"T":0.0,"Rb":0.6615,"Rf":0.6615,"wavelength":0.8},{"T":0.0,"Rb":0.6588,"Rf":0.6588,"wavelength":0.805},{"T":0.0,"Rb":0.6569,"Rf":0.6569,"wavelength":0.81},{"T":0.0,"Rb":0.6547,"Rf":0.6547,"wavelength":0.815},{"T":0.0,"Rb":0.6531,"Rf":0.6531,"wavelength":0.82},{"T":0.0,"Rb":0.6508,"Rf":0.6508,"wavelength":0.825},{"T":0.0,"Rb":0.6488,"Rf":0.6488,"wavelength":0.83},{"T":0.0,"Rb":0.6478,"Rf":0.6478,"wavelength":0.835},{"T":0.0,"Rb":0.6471,"Rf":0.6471,"wavelength":0.84},{"T":0.0,"Rb":0.645,"Rf":0.645,"wavelength":0.845},{"T":0.0,"Rb":0.6451,"Rf":0.6451,"wavelength":0.85},{"T":0.0,"Rb":0.6433,"Rf":0.6433,"wavelength":0.855},{"T":0.0,"Rb":0.6451,"Rf":0.6451,"wavelength":0.86},{"T":0.0,"Rb":0.6461,"Rf":0.6461,"wavelength":0.865},{"T":0.0,"Rb":0.6474,"Rf":0.6474,"wavelength":0.87},{"T":0.0,"Rb":0.6457,"Rf":0.6457,"wavelength":0.875},{"T":0.0,"Rb":0.6444,"Rf":0.6444,"wavelength":0.88},{"T":0.0,"Rb":0.6442,"Rf":0.6442,"wavelength":0.885},{"T":0.0,"Rb":0.6447,"Rf":0.6447,"wavelength":0.89},{"T":0.0,"Rb":0.644,"Rf":0.644,"wavelength":0.895},{"T":0.0,"Rb":0.6455,"Rf":0.6455,"wavelength":0.9},{"T":0.0,"Rb":0.6448,"Rf":0.6448,"wavelength":0.905},{"T":0.0,"Rb":0.6462,"Rf":0.6462,"wavelength":0.91},{"T":0.0,"Rb":0.6466,"Rf":0.6466,"wavelength":0.915},{"T":0.0,"Rb":0.6481,"Rf":0.6481,"wavelength":0.92},{"T":0.0,"Rb":0.6496,"Rf":0.6496,"wavelength":0.925},{"T":0.0,"Rb":0.6502,"Rf":0.6502,"wavelength":0.93},{"T":0.0,"Rb":0.6511,"Rf":0.6511,"wavelength":0.935},{"T":0.0,"Rb":0.6524,"Rf":0.6524,"wavelength":0.94},{"T":0.0,"Rb":0.6535,"Rf":0.6535,"wavelength":0.945},{"T":0.0,"Rb":0.6542,"Rf":0.6542,"wavelength":0.95},{"T":0.0,"Rb":0.6559,"Rf":0.6559,"wavelength":0.955},{"T":0.0,"Rb":0.657,"Rf":0.657,"wavelength":0.96},{"T":0.0,"Rb":0.6576,"Rf":0.6576,"wavelength":0.965},{"T":0.0,"Rb":0.6585,"Rf":0.6585,"wavelength":0.97},{"T":0.0,"Rb":0.6599,"Rf":0.6599,"wavelength":0.975},{"T":0.0,"Rb":0.6606,"Rf":0.6606,"wavelength":0.98},{"T":0.0,"Rb":0.6621,"Rf":0.6621,"wavelength":0.985},{"T":0.0,"Rb":0.6634,"Rf":0.6634,"wavelength":0.99},{"T":0.0,"Rb":0.6646,"Rf":0.6646,"wavelength":0.995},{"T":0.0,"Rb":0.6658,"Rf":0.6658,"wavelength":1.0},{"T":0.0,"Rb":0.6664,"Rf":0.6664,"wavelength":1.005},{"T":0.0,"Rb":0.667,"Rf":0.667,"wavelength":1.01},{"T":0.0,"Rb":0.6684,"Rf":0.6684,"wavelength":1.015},{"T":0.0,"Rb":0.6686,"Rf":0.6686,"wavelength":1.02},{"T":0.0,"Rb":0.6706,"Rf":0.6706,"wavelength":1.025},{"T":0.0,"Rb":0.6711,"Rf":0.6711,"wavelength":1.03},{"T":0.0,"Rb":0.6719,"Rf":0.6719,"wavelength":1.035},{"T":0.0,"Rb":0.673,"Rf":0.673,"wavelength":1.04},{"T":0.0,"Rb":0.6743,"Rf":0.6743,"wavelength":1.045},{"T":0.0,"Rb":0.6747,"Rf":0.6747,"wavelength":1.05},{"T":0.0,"Rb":0.6757,"Rf":0.6757,"wavelength":1.055},{"T":0.0,"Rb":0.6767,"Rf":0.6767,"wavelength":1.06},{"T":0.0,"Rb":0.6776,"Rf":0.6776,"wavelength":1.065},{"T":0.0,"Rb":0.678,"Rf":0.678,"wavelength":1.07},{"T":0.0,"Rb":0.679,"Rf":0.679,"wavelength":1.075},{"T":0.0,"Rb":0.6789,"Rf":0.6789,"wavelength":1.08},{"T":0.0,"Rb":0.6807,"Rf":0.6807,"wavelength":1.085},{"T":0.0,"Rb":0.6809,"Rf":0.6809,"wavelength":1.09},{"T":0.0,"Rb":0.6825,"Rf":0.6825,"wavelength":1.095},{"T":0.0,"Rb":0.6834,"Rf":0.6834,"wavelength":1.1},{"T":0.0,"Rb":0.6837,"Rf":0.6837,"wavelength":1.105},{"T":0.0,"Rb":0.6842,"Rf":0.6842,"wavelength":1.11},{"T":0.0,"Rb":0.6854,"Rf":0.6854,"wavelength":1.115},{"T":0.0,"Rb":0.6849,"Rf":0.6849,"wavelength":1.12},{"T":0.0,"Rb":0.6857,"Rf":0.6857,"wavelength":1.125},{"T":0.0,"Rb":0.6861,"Rf":0.6861,"wavelength":1.13},{"T":0.0,"Rb":0.6862,"Rf":0.6862,"wavelength":1.135},{"T":0.0,"Rb":0.6874,"Rf":0.6874,"wavelength":1.14},{"T":0.0,"Rb":0.6877,"Rf":0.6877,"wavelength":1.145},{"T":0.0,"Rb":0.688,"Rf":0.688,"wavelength":1.15},{"T":0.0,"Rb":0.6887,"Rf":0.6887,"wavelength":1.155},{"T":0.0,"Rb":0.6895,"Rf":0.6895,"wavelength":1.16},{"T":0.0,"Rb":0.6895,"Rf":0.6895,"wavelength":1.165},{"T":0.0,"Rb":0.6906,"Rf":0.6906,"wavelength":1.17},{"T":0.0,"Rb":0.6902,"Rf":0.6902,"wavelength":1.175},{"T":0.0,"Rb":0.6893,"Rf":0.6893,"wavelength":1.18},{"T":0.0,"Rb":0.6897,"Rf":0.6897,"wavelength":1.185},{"T":0.0,"Rb":0.6904,"Rf":0.6904,"wavelength":1.19},{"T":0.0,"Rb":0.6908,"Rf":0.6908,"wavelength":1.195},{"T":0.0,"Rb":0.6918,"Rf":0.6918,"wavelength":1.2},{"T":0.0,"Rb":0.6923,"Rf":0.6923,"wavelength":1.205},{"T":0.0,"Rb":0.6931,"Rf":0.6931,"wavelength":1.21},{"T":0.0,"Rb":0.6936,"Rf":0.6936,"wavelength":1.215},{"T":0.0,"Rb":0.695,"Rf":0.695,"wavelength":1.22},{"T":0.0,"Rb":0.6958,"Rf":0.6958,"wavelength":1.225},{"T":0.0,"Rb":0.6969,"Rf":0.6969,"wavelength":1.23},{"T":0.0,"Rb":0.6972,"Rf":0.6972,"wavelength":1.235},{"T":0.0,"Rb":0.6981,"Rf":0.6981,"wavelength":1.24},{"T":0.0,"Rb":0.6984,"Rf":0.6984,"wavelength":1.245},{"T":0.0,"Rb":0.6991,"Rf":0.6991,"wavelength":1.25},{"T":0.0,"Rb":0.6994,"Rf":0.6994,"wavelength":1.255},{"T":0.0,"Rb":0.6999,"Rf":0.6999,"wavelength":1.26},{"T":0.0,"Rb":0.7015,"Rf":0.7015,"wavelength":1.265},{"T":0.0,"Rb":0.7012,"Rf":0.7012,"wavelength":1.27},{"T":0.0,"Rb":0.7018,"Rf":0.7018,"wavelength":1.275},{"T":0.0,"Rb":0.7016,"Rf":0.7016,"wavelength":1.28},{"T":0.0,"Rb":0.702,"Rf":0.702,"wavelength":1.285},{"T":0.0,"Rb":0.7028,"Rf":0.7028,"wavelength":1.29},{"T":0.0,"Rb":0.7034,"Rf":0.7034,"wavelength":1.295},{"T":0.0,"Rb":0.7033,"Rf":0.7033,"wavelength":1.3},{"T":0.0,"Rb":0.7036,"Rf":0.7036,"wavelength":1.305},{"T":0.0,"Rb":0.7039,"Rf":0.7039,"wavelength":1.31},{"T":0.0,"Rb":0.7043,"Rf":0.7043,"wavelength":1.315},{"T":0.0,"Rb":0.7049,"Rf":0.7049,"wavelength":1.32},{"T":0.0,"Rb":0.7053,"Rf":0.7053,"wavelength":1.325},{"T":0.0,"Rb":0.7051,"Rf":0.7051,"wavelength":1.33},{"T":0.0,"Rb":0.7054,"Rf":0.7054,"wavelength":1.335},{"T":0.0,"Rb":0.7058,"Rf":0.7058,"wavelength":1.34},{"T":0.0,"Rb":0.7056,"Rf":0.7056,"wavelength":1.345},{"T":0.0,"Rb":0.7055,"Rf":0.7055,"wavelength":1.35},{"T":0.0,"Rb":0.7056,"Rf":0.7056,"wavelength":1.355},{"T":0.0,"Rb":0.7059,"Rf":0.7059,"wavelength":1.36},{"T":0.0,"Rb":0.7062,"Rf":0.7062,"wavelength":1.365},{"T":0.0,"Rb":0.7059,"Rf":0.7059,"wavelength":1.37},{"T":0.0,"Rb":0.7064,"Rf":0.7064,"wavelength":1.375},{"T":0.0,"Rb":0.7067,"Rf":0.7067,"wavelength":1.38},{"T":0.0,"Rb":0.707,"Rf":0.707,"wavelength":1.385},{"T":0.0,"Rb":0.7073,"Rf":0.7073,"wavelength":1.39},{"T":0.0,"Rb":0.7082,"Rf":0.7082,"wavelength":1.395},{"T":0.0,"Rb":0.708,"Rf":0.708,"wavelength":1.4},{"T":0.0,"Rb":0.7082,"Rf":0.7082,"wavelength":1.405},{"T":0.0,"Rb":0.7083,"Rf":0.7083,"wavelength":1.41},{"T":0.0,"Rb":0.7084,"Rf":0.7084,"wavelength":1.415},{"T":0.0,"Rb":0.7083,"Rf":0.7083,"wavelength":1.42},{"T":0.0,"Rb":0.7095,"Rf":0.7095,"wavelength":1.425},{"T":0.0,"Rb":0.7104,"Rf":0.7104,"wavelength":1.43},{"T":0.0,"Rb":0.7112,"Rf":0.7112,"wavelength":1.435},{"T":0.0,"Rb":0.7115,"Rf":0.7115,"wavelength":1.44},{"T":0.0,"Rb":0.7123,"Rf":0.7123,"wavelength":1.445},{"T":0.0,"Rb":0.7131,"Rf":0.7131,"wavelength":1.45},{"T":0.0,"Rb":0.7137,"Rf":0.7137,"wavelength":1.455},{"T":0.0,"Rb":0.7144,"Rf":0.7144,"wavelength":1.46},{"T":0.0,"Rb":0.7149,"Rf":0.7149,"wavelength":1.465},{"T":0.0,"Rb":0.7153,"Rf":0.7153,"wavelength":1.47},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":1.475},{"T":0.0,"Rb":0.7159,"Rf":0.7159,"wavelength":1.48},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":1.485},{"T":0.0,"Rb":0.7173,"Rf":0.7173,"wavelength":1.49},{"T":0.0,"Rb":0.718,"Rf":0.718,"wavelength":1.495},{"T":0.0,"Rb":0.7185,"Rf":0.7185,"wavelength":1.5},{"T":0.0,"Rb":0.7186,"Rf":0.7186,"wavelength":1.505},{"T":0.0,"Rb":0.7192,"Rf":0.7192,"wavelength":1.51},{"T":0.0,"Rb":0.7203,"Rf":0.7203,"wavelength":1.515},{"T":0.0,"Rb":0.7208,"Rf":0.7208,"wavelength":1.52},{"T":0.0,"Rb":0.7221,"Rf":0.7221,"wavelength":1.525},{"T":0.0,"Rb":0.7223,"Rf":0.7223,"wavelength":1.53},{"T":0.0,"Rb":0.7227,"Rf":0.7227,"wavelength":1.535},{"T":0.0,"Rb":0.7235,"Rf":0.7235,"wavelength":1.54},{"T":0.0,"Rb":0.7243,"Rf":0.7243,"wavelength":1.545},{"T":0.0,"Rb":0.725,"Rf":0.725,"wavelength":1.55},{"T":0.0,"Rb":0.7244,"Rf":0.7244,"wavelength":1.555},{"T":0.0,"Rb":0.7253,"Rf":0.7253,"wavelength":1.56},{"T":0.0,"Rb":0.7265,"Rf":0.7265,"wavelength":1.565},{"T":0.0,"Rb":0.7262,"Rf":0.7262,"wavelength":1.57},{"T":0.0,"Rb":0.7262,"Rf":0.7262,"wavelength":1.575},{"T":0.0,"Rb":0.727,"Rf":0.727,"wavelength":1.58},{"T":0.0,"Rb":0.7274,"Rf":0.7274,"wavelength":1.585},{"T":0.0,"Rb":0.7284,"Rf":0.7284,"wavelength":1.59},{"T":0.0,"Rb":0.7284,"Rf":0.7284,"wavelength":1.595},{"T":0.0,"Rb":0.7285,"Rf":0.7285,"wavelength":1.6},{"T":0.0,"Rb":0.7289,"Rf":0.7289,"wavelength":1.605},{"T":0.0,"Rb":0.7292,"Rf":0.7292,"wavelength":1.61},{"T":0.0,"Rb":0.7294,"Rf":0.7294,"wavelength":1.615},{"T":0.0,"Rb":0.7287,"Rf":0.7287,"wavelength":1.62},{"T":0.0,"Rb":0.7285,"Rf":0.7285,"wavelength":1.625},{"T":0.0,"Rb":0.7279,"Rf":0.7279,"wavelength":1.63},{"T":0.0,"Rb":0.7266,"Rf":0.7266,"wavelength":1.635},{"T":0.0,"Rb":0.7252,"Rf":0.7252,"wavelength":1.64},{"T":0.0,"Rb":0.7229,"Rf":0.7229,"wavelength":1.645},{"T":0.0,"Rb":0.7178,"Rf":0.7178,"wavelength":1.65},{"T":0.0,"Rb":0.7141,"Rf":0.7141,"wavelength":1.655},{"T":0.0,"Rb":0.7101,"Rf":0.7101,"wavelength":1.66},{"T":0.0,"Rb":0.7081,"Rf":0.7081,"wavelength":1.665},{"T":0.0,"Rb":0.7093,"Rf":0.7093,"wavelength":1.67},{"T":0.0,"Rb":0.7108,"Rf":0.7108,"wavelength":1.675},{"T":0.0,"Rb":0.7109,"Rf":0.7109,"wavelength":1.68},{"T":0.0,"Rb":0.7102,"Rf":0.7102,"wavelength":1.685},{"T":0.0,"Rb":0.7102,"Rf":0.7102,"wavelength":1.69},{"T":0.0,"Rb":0.7113,"Rf":0.7113,"wavelength":1.695},{"T":0.0,"Rb":0.7127,"Rf":0.7127,"wavelength":1.7},{"T":0.0,"Rb":0.7139,"Rf":0.7139,"wavelength":1.705},{"T":0.0,"Rb":0.7154,"Rf":0.7154,"wavelength":1.71},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":1.715},{"T":0.0,"Rb":0.7166,"Rf":0.7166,"wavelength":1.72},{"T":0.0,"Rb":0.7159,"Rf":0.7159,"wavelength":1.725},{"T":0.0,"Rb":0.7153,"Rf":0.7153,"wavelength":1.73},{"T":0.0,"Rb":0.7171,"Rf":0.7171,"wavelength":1.735},{"T":0.0,"Rb":0.7178,"Rf":0.7178,"wavelength":1.74},{"T":0.0,"Rb":0.7183,"Rf":0.7183,"wavelength":1.745},{"T":0.0,"Rb":0.7206,"Rf":0.7206,"wavelength":1.75},{"T":0.0,"Rb":0.7213,"Rf":0.7213,"wavelength":1.755},{"T":0.0,"Rb":0.7231,"Rf":0.7231,"wavelength":1.76},{"T":0.0,"Rb":0.7251,"Rf":0.7251,"wavelength":1.765},{"T":0.0,"Rb":0.7266,"Rf":0.7266,"wavelength":1.77},{"T":0.0,"Rb":0.7291,"Rf":0.7291,"wavelength":1.775},{"T":0.0,"Rb":0.7303,"Rf":0.7303,"wavelength":1.78},{"T":0.0,"Rb":0.7315,"Rf":0.7315,"wavelength":1.785},{"T":0.0,"Rb":0.7327,"Rf":0.7327,"wavelength":1.79},{"T":0.0,"Rb":0.7332,"Rf":0.7332,"wavelength":1.795},{"T":0.0,"Rb":0.7339,"Rf":0.7339,"wavelength":1.8},{"T":0.0,"Rb":0.7346,"Rf":0.7346,"wavelength":1.805},{"T":0.0,"Rb":0.7345,"Rf":0.7345,"wavelength":1.81},{"T":0.0,"Rb":0.7359,"Rf":0.7359,"wavelength":1.815},{"T":0.0,"Rb":0.735,"Rf":0.735,"wavelength":1.82},{"T":0.0,"Rb":0.736,"Rf":0.736,"wavelength":1.825},{"T":0.0,"Rb":0.7372,"Rf":0.7372,"wavelength":1.83},{"T":0.0,"Rb":0.7377,"Rf":0.7377,"wavelength":1.835},{"T":0.0,"Rb":0.7391,"Rf":0.7391,"wavelength":1.84},{"T":0.0,"Rb":0.7382,"Rf":0.7382,"wavelength":1.845},{"T":0.0,"Rb":0.7397,"Rf":0.7397,"wavelength":1.85},{"T":0.0,"Rb":0.7411,"Rf":0.7411,"wavelength":1.855},{"T":0.0,"Rb":0.742,"Rf":0.742,"wavelength":1.86},{"T":0.0,"Rb":0.7416,"Rf":0.7416,"wavelength":1.865},{"T":0.0,"Rb":0.7415,"Rf":0.7415,"wavelength":1.87},{"T":0.0,"Rb":0.7425,"Rf":0.7425,"wavelength":1.875},{"T":0.0,"Rb":0.7432,"Rf":0.7432,"wavelength":1.88},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":1.885},{"T":0.0,"Rb":0.7415,"Rf":0.7415,"wavelength":1.89},{"T":0.0,"Rb":0.7406,"Rf":0.7406,"wavelength":1.895},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":1.9},{"T":0.0,"Rb":0.7389,"Rf":0.7389,"wavelength":1.905},{"T":0.0,"Rb":0.7393,"Rf":0.7393,"wavelength":1.91},{"T":0.0,"Rb":0.7395,"Rf":0.7395,"wavelength":1.915},{"T":0.0,"Rb":0.7401,"Rf":0.7401,"wavelength":1.92},{"T":0.0,"Rb":0.7397,"Rf":0.7397,"wavelength":1.925},{"T":0.0,"Rb":0.7408,"Rf":0.7408,"wavelength":1.93},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":1.935},{"T":0.0,"Rb":0.7423,"Rf":0.7423,"wavelength":1.94},{"T":0.0,"Rb":0.7423,"Rf":0.7423,"wavelength":1.945},{"T":0.0,"Rb":0.7422,"Rf":0.7422,"wavelength":1.95},{"T":0.0,"Rb":0.7435,"Rf":0.7435,"wavelength":1.955},{"T":0.0,"Rb":0.7422,"Rf":0.7422,"wavelength":1.96},{"T":0.0,"Rb":0.7432,"Rf":0.7432,"wavelength":1.965},{"T":0.0,"Rb":0.7449,"Rf":0.7449,"wavelength":1.97},{"T":0.0,"Rb":0.7479,"Rf":0.7479,"wavelength":1.975},{"T":0.0,"Rb":0.7477,"Rf":0.7477,"wavelength":1.98},{"T":0.0,"Rb":0.7479,"Rf":0.7479,"wavelength":1.985},{"T":0.0,"Rb":0.7481,"Rf":0.7481,"wavelength":1.99},{"T":0.0,"Rb":0.7493,"Rf":0.7493,"wavelength":1.995},{"T":0.0,"Rb":0.7496,"Rf":0.7496,"wavelength":2.0},{"T":0.0,"Rb":0.7501,"Rf":0.7501,"wavelength":2.005},{"T":0.0,"Rb":0.7503,"Rf":0.7503,"wavelength":2.01},{"T":0.0,"Rb":0.7518,"Rf":0.7518,"wavelength":2.015},{"T":0.0,"Rb":0.7517,"Rf":0.7517,"wavelength":2.02},{"T":0.0,"Rb":0.7523,"Rf":0.7523,"wavelength":2.025},{"T":0.0,"Rb":0.7528,"Rf":0.7528,"wavelength":2.03},{"T":0.0,"Rb":0.7531,"Rf":0.7531,"wavelength":2.035},{"T":0.0,"Rb":0.7531,"Rf":0.7531,"wavelength":2.04},{"T":0.0,"Rb":0.7529,"Rf":0.7529,"wavelength":2.045},{"T":0.0,"Rb":0.7539,"Rf":0.7539,"wavelength":2.05},{"T":0.0,"Rb":0.7564,"Rf":0.7564,"wavelength":2.055},{"T":0.0,"Rb":0.7556,"Rf":0.7556,"wavelength":2.06},{"T":0.0,"Rb":0.7544,"Rf":0.7544,"wavelength":2.065},{"T":0.0,"Rb":0.7537,"Rf":0.7537,"wavelength":2.07},{"T":0.0,"Rb":0.7541,"Rf":0.7541,"wavelength":2.075},{"T":0.0,"Rb":0.7517,"Rf":0.7517,"wavelength":2.08},{"T":0.0,"Rb":0.7532,"Rf":0.7532,"wavelength":2.085},{"T":0.0,"Rb":0.7546,"Rf":0.7546,"wavelength":2.09},{"T":0.0,"Rb":0.7541,"Rf":0.7541,"wavelength":2.095},{"T":0.0,"Rb":0.7539,"Rf":0.7539,"wavelength":2.1},{"T":0.0,"Rb":0.7555,"Rf":0.7555,"wavelength":2.105},{"T":0.0,"Rb":0.7536,"Rf":0.7536,"wavelength":2.11},{"T":0.0,"Rb":0.7544,"Rf":0.7544,"wavelength":2.115},{"T":0.0,"Rb":0.7501,"Rf":0.7501,"wavelength":2.12},{"T":0.0,"Rb":0.7442,"Rf":0.7442,"wavelength":2.125},{"T":0.0,"Rb":0.7399,"Rf":0.7399,"wavelength":2.13},{"T":0.0,"Rb":0.7331,"Rf":0.7331,"wavelength":2.135},{"T":0.0,"Rb":0.7283,"Rf":0.7283,"wavelength":2.14},{"T":0.0,"Rb":0.7282,"Rf":0.7282,"wavelength":2.145},{"T":0.0,"Rb":0.731,"Rf":0.731,"wavelength":2.15},{"T":0.0,"Rb":0.7431,"Rf":0.7431,"wavelength":2.155},{"T":0.0,"Rb":0.7431,"Rf":0.7431,"wavelength":2.16},{"T":0.0,"Rb":0.7459,"Rf":0.7459,"wavelength":2.165},{"T":0.0,"Rb":0.7519,"Rf":0.7519,"wavelength":2.17},{"T":0.0,"Rb":0.753,"Rf":0.753,"wavelength":2.175},{"T":0.0,"Rb":0.7488,"Rf":0.7488,"wavelength":2.18},{"T":0.0,"Rb":0.7548,"Rf":0.7548,"wavelength":2.185},{"T":0.0,"Rb":0.7505,"Rf":0.7505,"wavelength":2.19},{"T":0.0,"Rb":0.7495,"Rf":0.7495,"wavelength":2.195},{"T":0.0,"Rb":0.7456,"Rf":0.7456,"wavelength":2.2},{"T":0.0,"Rb":0.7457,"Rf":0.7457,"wavelength":2.205},{"T":0.0,"Rb":0.7468,"Rf":0.7468,"wavelength":2.21},{"T":0.0,"Rb":0.744,"Rf":0.744,"wavelength":2.215},{"T":0.0,"Rb":0.7412,"Rf":0.7412,"wavelength":2.22},{"T":0.0,"Rb":0.7417,"Rf":0.7417,"wavelength":2.225},{"T":0.0,"Rb":0.7395,"Rf":0.7395,"wavelength":2.23},{"T":0.0,"Rb":0.7341,"Rf":0.7341,"wavelength":2.235},{"T":0.0,"Rb":0.7227,"Rf":0.7227,"wavelength":2.24},{"T":0.0,"Rb":0.7105,"Rf":0.7105,"wavelength":2.245},{"T":0.0,"Rb":0.6971,"Rf":0.6971,"wavelength":2.25},{"T":0.0,"Rb":0.676,"Rf":0.676,"wavelength":2.255},{"T":0.0,"Rb":0.6582,"Rf":0.6582,"wavelength":2.26},{"T":0.0,"Rb":0.646,"Rf":0.646,"wavelength":2.265},{"T":0.0,"Rb":0.6434,"Rf":0.6434,"wavelength":2.27},{"T":0.0,"Rb":0.6433,"Rf":0.6433,"wavelength":2.275},{"T":0.0,"Rb":0.6464,"Rf":0.6464,"wavelength":2.28},{"T":0.0,"Rb":0.6496,"Rf":0.6496,"wavelength":2.285},{"T":0.0,"Rb":0.6549,"Rf":0.6549,"wavelength":2.29},{"T":0.0,"Rb":0.6597,"Rf":0.6597,"wavelength":2.295},{"T":0.0,"Rb":0.6562,"Rf":0.6562,"wavelength":2.3},{"T":0.0,"Rb":0.6573,"Rf":0.6573,"wavelength":2.305},{"T":0.0,"Rb":0.6587,"Rf":0.6587,"wavelength":2.31},{"T":0.0,"Rb":0.66,"Rf":0.66,"wavelength":2.315},{"T":0.0,"Rb":0.6659,"Rf":0.6659,"wavelength":2.32},{"T":0.0,"Rb":0.6758,"Rf":0.6758,"wavelength":2.325},{"T":0.0,"Rb":0.676,"Rf":0.676,"wavelength":2.33},{"T":0.0,"Rb":0.6785,"Rf":0.6785,"wavelength":2.335},{"T":0.0,"Rb":0.68,"Rf":0.68,"wavelength":2.34},{"T":0.0,"Rb":0.681,"Rf":0.681,"wavelength":2.345},{"T":0.0,"Rb":0.6778,"Rf":0.6778,"wavelength":2.35},{"T":0.0,"Rb":0.6796,"Rf":0.6796,"wavelength":2.355},{"T":0.0,"Rb":0.683,"Rf":0.683,"wavelength":2.36},{"T":0.0,"Rb":0.6793,"Rf":0.6793,"wavelength":2.365},{"T":0.0,"Rb":0.6823,"Rf":0.6823,"wavelength":2.37},{"T":0.0,"Rb":0.6864,"Rf":0.6864,"wavelength":2.375},{"T":0.0,"Rb":0.6836,"Rf":0.6836,"wavelength":2.38},{"T":0.0,"Rb":0.6786,"Rf":0.6786,"wavelength":2.385},{"T":0.0,"Rb":0.6835,"Rf":0.6835,"wavelength":2.39},{"T":0.0,"Rb":0.6795,"Rf":0.6795,"wavelength":2.395},{"T":0.0,"Rb":0.6834,"Rf":0.6834,"wavelength":2.4},{"T":0.0,"Rb":0.689,"Rf":0.689,"wavelength":2.405},{"T":0.0,"Rb":0.686,"Rf":0.686,"wavelength":2.41},{"T":0.0,"Rb":0.6899,"Rf":0.6899,"wavelength":2.415},{"T":0.0,"Rb":0.6884,"Rf":0.6884,"wavelength":2.42},{"T":0.0,"Rb":0.6912,"Rf":0.6912,"wavelength":2.425},{"T":0.0,"Rb":0.6936,"Rf":0.6936,"wavelength":2.43},{"T":0.0,"Rb":0.6945,"Rf":0.6945,"wavelength":2.435},{"T":0.0,"Rb":0.6927,"Rf":0.6927,"wavelength":2.44},{"T":0.0,"Rb":0.6792,"Rf":0.6792,"wavelength":2.445},{"T":0.0,"Rb":0.6733,"Rf":0.6733,"wavelength":2.45},{"T":0.0,"Rb":0.6649,"Rf":0.6649,"wavelength":2.455},{"T":0.0,"Rb":0.6712,"Rf":0.6712,"wavelength":2.46},{"T":0.0,"Rb":0.6756,"Rf":0.6756,"wavelength":2.465},{"T":0.0,"Rb":0.6799,"Rf":0.6799,"wavelength":2.47},{"T":0.0,"Rb":0.6874,"Rf":0.6874,"wavelength":2.475},{"T":0.0,"Rb":0.6999,"Rf":0.6999,"wavelength":2.48},{"T":0.0,"Rb":0.6993,"Rf":0.6993,"wavelength":2.485},{"T":0.0,"Rb":0.7081,"Rf":0.7081,"wavelength":2.49},{"T":0.0,"Rb":0.7157,"Rf":0.7157,"wavelength":2.495},{"T":0.0,"Rb":0.719,"Rf":0.719,"wavelength":2.5}],"dual_band_values":{"Rb_sol_diffuse":0.6767141,"Rb_vis_diffuse":0.7434482,"Rf_sol_diffuse":0.6767141,"Rf_vis_diffuse":0.7434482,"Tb_sol_diffuse":0.0,"Tb_vis_diffuse":0.0,"Tf_sol_diffuse":0.0,"Tf_vis_diffuse":0.0,"Rb_sol_specular":0.0,"Rb_vis_specular":null,"Rf_sol_specular":0.0,"Rf_vis_specular":0.0,"Tb_sol_specular":0.0,"Tb_vis_specular":0.0,"Tf_sol_specular":0.0,"Tf_vis_specular":0.0}},"igdb_checksum":null,"composition":[]},"index":null,"name":null,"extra_data":{"geometry":{"slat_width":14.8,"slat_spacing":12.7,"slat_curvature":33.13057,"number_segments":5}}}]} From ce028325aed5cefcfbe7b9435f1e002c8919e61e Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Wed, 4 Nov 2020 12:20:50 -0500 Subject: [PATCH 32/55] Changing pragma warning(disable) to only be built in MSVC --- src/Parser.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index 2d9dac2..1778748 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -12,10 +12,14 @@ namespace OpticsParser { std::string toLower(std::string s) { -#pragma warning(push) -#pragma warning(disable : 4244) - std::for_each(s.begin(), s.end(), [](char & c) { c = std::tolower(c); }); -#pragma warning(pop) +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable : 4244) +#endif + std::transform(s.begin(), s.end(), s.begin(), std::tolower); +#ifdef _MSC_VER +# pragma warning(pop) +#endif return s; } From 4f0aedc9f362045ea5490d701bb2844aaf7ec011 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Wed, 4 Nov 2020 12:29:11 -0500 Subject: [PATCH 33/55] Removing _T() for cross-platform compliance. --- src/Parser.cpp | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index 53e0bf7..38c4083 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -646,13 +646,13 @@ namespace OpticsParser throw std::runtime_error("XML error : WindowElement not found"); } XMLNode xLayerNode = - xWindowElementNode.getChildNode(_T("Optical")).getChildNode(_T("Layer")); + xWindowElementNode.getChildNode("Optical").getChildNode("Layer"); - XMLNode matNode = xLayerNode.getChildNode(_T("Material")); - product->productName = matNode.getChildNode(_T("Name")).getText(); - product->manufacturer = matNode.getChildNode(_T("Manufacturer")).getText(); - auto thicknessStr = matNode.getChildNode(_T("Thickness")).getText(); - auto thicknessUnitStr = matNode.getChildNode(_T("Thickness")).getAttribute(_T("unit")); + XMLNode matNode = xLayerNode.getChildNode("Material"); + product->productName = matNode.getChildNode("Name").getText(); + product->manufacturer = matNode.getChildNode("Manufacturer").getText(); + auto thicknessStr = matNode.getChildNode("Thickness").getText(); + auto thicknessUnitStr = matNode.getChildNode("Thickness").getAttribute("unit"); double thickness = std::stod(thicknessStr); if(toLower(thicknessUnitStr) == "millimeter") @@ -666,13 +666,13 @@ namespace OpticsParser throw std::runtime_error("XML error: Unsupported thickness unit"); } product->thickness = thickness; - product->frontEmissivity = std::stod(matNode.getChildNode(_T("EmissivityFront")).getText()); - product->backEmissivity = std::stod(matNode.getChildNode(_T("EmissivityBack")).getText()); - product->IRTransmittance = std::stod(matNode.getChildNode(_T("TIR")).getText()); - product->conductivity = std::stod(matNode.getChildNode(_T("ThermalConductivity")).getText()); - auto opennessNode = matNode.getChildNode(_T("PermeabilityFactor")); + product->frontEmissivity = std::stod(matNode.getChildNode("EmissivityFront").getText()); + product->backEmissivity = std::stod(matNode.getChildNode("EmissivityBack").getText()); + product->IRTransmittance = std::stod(matNode.getChildNode("TIR").getText()); + product->conductivity = std::stod(matNode.getChildNode("ThermalConductivity").getText()); + auto opennessNode = matNode.getChildNode("PermeabilityFactor"); - auto xEffectiveOpenness = matNode.getChildNode(_T("EffectiveOpennessFraction")); + auto xEffectiveOpenness = matNode.getChildNode("EffectiveOpennessFraction"); if(!xEffectiveOpenness.isEmpty() && opennessNode.isEmpty()) { opennessNode = xEffectiveOpenness; @@ -687,18 +687,18 @@ namespace OpticsParser for(int i = 0; i < wavelengthDataNodeCt; ++i) { XMLNode wavelengthDataNode = - xLayerNode.getChildNode(_T("WavelengthData"), i); + xLayerNode.getChildNode("WavelengthData", i); if(wavelengthDataNode.isEmpty()) throw std::runtime_error("XML error: Empty WavelengthData section found"); XMLNode wavelengthDataBlockNode = - wavelengthDataNode.getChildNode(_T("WavelengthDataBlock"), 0); + wavelengthDataNode.getChildNode("WavelengthDataBlock", 0); std::string wavelengthDirection = - wavelengthDataBlockNode.getChildNode(_T("WavelengthDataDirection")).getText(); - XMLNode wavelengthNode = wavelengthDataNode.getChildNode(_T("Wavelength")); + wavelengthDataBlockNode.getChildNode("WavelengthDataDirection").getText(); + XMLNode wavelengthNode = wavelengthDataNode.getChildNode("Wavelength"); std::string wavelengthRange = - wavelengthDataNode.getChildNode(_T("Wavelength")).getText(); + wavelengthDataNode.getChildNode("Wavelength").getText(); std::string wavelengthUnit = - wavelengthDataNode.getChildNode(_T("Wavelength")).getAttribute(_T("unit")); + wavelengthDataNode.getChildNode("Wavelength").getAttribute("unit"); if(wavelengthRange.empty()) { @@ -734,7 +734,7 @@ namespace OpticsParser } std::string dataString = - wavelengthDataBlockNode.getChildNode(_T("ScatteringData")).getText(); + wavelengthDataBlockNode.getChildNode("ScatteringData").getText(); std::vector splitDataString = splitString(dataString, ','); std::vector splitData; for(auto const & s : splitDataString) @@ -744,9 +744,9 @@ namespace OpticsParser std::vector> bsdf = convertToSquareMatrix(splitData); std::string columnAngleBasisName = - wavelengthDataBlockNode.getChildNode(_T("ColumnAngleBasis")).getText(); + wavelengthDataBlockNode.getChildNode("ColumnAngleBasis").getText(); std::string rowAngleBasisName = - wavelengthDataBlockNode.getChildNode(_T("RowAngleBasis")).getText(); + wavelengthDataBlockNode.getChildNode("RowAngleBasis").getText(); if(toLower(wavelengthDirection) == "transmission front") { @@ -773,13 +773,13 @@ namespace OpticsParser std::shared_ptr parseBSDFXMLString(std::string const & contents) { - XMLNode xWindowElementNode = XMLNode::parseString(contents.c_str(), _T("WindowElement")); + XMLNode xWindowElementNode = XMLNode::parseString(contents.c_str(), "WindowElement"); return parseBSDFXML(xWindowElementNode); } std::shared_ptr parseBSDFXMLFile(std::string const & fname) { - XMLNode xWindowElementNode = XMLNode::openFileHelper(fname.c_str(), _T("WindowElement")); + XMLNode xWindowElementNode = XMLNode::openFileHelper(fname.c_str(), "WindowElement"); return parseBSDFXML(xWindowElementNode); } From 036ecd04851d6b2c6f6ff19d1f9a79350f2b971d Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Wed, 4 Nov 2020 12:31:49 -0500 Subject: [PATCH 34/55] Removing TCHAR for cross-platform compliance. --- src/Parser.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index 38c4083..0df6f29 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -602,12 +602,12 @@ namespace OpticsParser } } - std::vector> splitString(const std::basic_string & str, + std::vector splitString(const std::string & str, const TCHAR token) { - std::vector> strings; - std::basic_istringstream test{str}; - std::basic_string line; + std::vector strings; + std::istringstream test{str}; + std::string line; while(getline(test, line, token)) { strings.push_back(line); From 1cb5c380c5b37e364244326c9486ac8c0eafa91e Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Wed, 4 Nov 2020 12:33:05 -0500 Subject: [PATCH 35/55] Removing TCHAR for cross-platform compliance. --- src/Parser.cpp | 68 +++++++++++++++++++++++--------------------------- 1 file changed, 31 insertions(+), 37 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index 0df6f29..6b102c8 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -16,7 +16,7 @@ namespace OpticsParser # pragma warning(push) # pragma warning(disable : 4244) #endif - std::transform(s.begin(), s.end(), s.begin(), std::tolower); + std::transform(s.begin(), s.end(), s.begin(), std::tolower); #ifdef _MSC_VER # pragma warning(pop) #endif @@ -58,7 +58,7 @@ namespace OpticsParser parsePropertyAtTheEnd("IR Transmittance", "TIR=", line, product->IRTransmittance); parseEmissivities(line, product); parseStringPropertyInsideBraces(line, "Product Name", product->productName); - product->productType = "glazing"; // There are only glazing optics files. + product->productType = "glazing"; // There are only glazing optics files. parseStringPropertyInsideBraces(line, "Type", product->subtype); parseStringPropertyInsideBraces(line, "Ef_Source", product->frontEmissivitySource); parseStringPropertyInsideBraces(line, "Eb_Source", product->backEmissivitySource); @@ -602,8 +602,7 @@ namespace OpticsParser } } - std::vector splitString(const std::string & str, - const TCHAR token) + std::vector splitString(const std::string & str, const char token) { std::vector strings; std::istringstream test{str}; @@ -636,24 +635,22 @@ namespace OpticsParser return m; } - std::shared_ptr parseBSDFXML(XMLNode const & xWindowElementNode) { - std::shared_ptr product(new ProductData()); + std::shared_ptr product(new ProductData()); if(xWindowElementNode.isEmpty()) { throw std::runtime_error("XML error : WindowElement not found"); } - XMLNode xLayerNode = - xWindowElementNode.getChildNode("Optical").getChildNode("Layer"); + XMLNode xLayerNode = xWindowElementNode.getChildNode("Optical").getChildNode("Layer"); XMLNode matNode = xLayerNode.getChildNode("Material"); product->productName = matNode.getChildNode("Name").getText(); product->manufacturer = matNode.getChildNode("Manufacturer").getText(); auto thicknessStr = matNode.getChildNode("Thickness").getText(); auto thicknessUnitStr = matNode.getChildNode("Thickness").getAttribute("unit"); - + double thickness = std::stod(thicknessStr); if(toLower(thicknessUnitStr) == "millimeter") {} @@ -669,7 +666,7 @@ namespace OpticsParser product->frontEmissivity = std::stod(matNode.getChildNode("EmissivityFront").getText()); product->backEmissivity = std::stod(matNode.getChildNode("EmissivityBack").getText()); product->IRTransmittance = std::stod(matNode.getChildNode("TIR").getText()); - product->conductivity = std::stod(matNode.getChildNode("ThermalConductivity").getText()); + product->conductivity = std::stod(matNode.getChildNode("ThermalConductivity").getText()); auto opennessNode = matNode.getChildNode("PermeabilityFactor"); auto xEffectiveOpenness = matNode.getChildNode("EffectiveOpennessFraction"); @@ -678,25 +675,23 @@ namespace OpticsParser opennessNode = xEffectiveOpenness; } product->permeabilityFactor = std::stod(opennessNode.getText()); - - int wavelengthDataNodeCt = xLayerNode.nChildNode("WavelengthData"); - + + int wavelengthDataNodeCt = xLayerNode.nChildNode("WavelengthData"); + WavelengthBSDFs solarBSDFs; WavelengthBSDFs visibleBSDFs; - for(int i = 0; i < wavelengthDataNodeCt; ++i) + for(int i = 0; i < wavelengthDataNodeCt; ++i) { - XMLNode wavelengthDataNode = - xLayerNode.getChildNode("WavelengthData", i); - if(wavelengthDataNode.isEmpty()) - throw std::runtime_error("XML error: Empty WavelengthData section found"); + XMLNode wavelengthDataNode = xLayerNode.getChildNode("WavelengthData", i); + if(wavelengthDataNode.isEmpty()) + throw std::runtime_error("XML error: Empty WavelengthData section found"); XMLNode wavelengthDataBlockNode = wavelengthDataNode.getChildNode("WavelengthDataBlock", 0); std::string wavelengthDirection = wavelengthDataBlockNode.getChildNode("WavelengthDataDirection").getText(); XMLNode wavelengthNode = wavelengthDataNode.getChildNode("Wavelength"); - std::string wavelengthRange = - wavelengthDataNode.getChildNode("Wavelength").getText(); + std::string wavelengthRange = wavelengthDataNode.getChildNode("Wavelength").getText(); std::string wavelengthUnit = wavelengthDataNode.getChildNode("Wavelength").getAttribute("unit"); @@ -743,14 +738,14 @@ namespace OpticsParser } std::vector> bsdf = convertToSquareMatrix(splitData); - std::string columnAngleBasisName = - wavelengthDataBlockNode.getChildNode("ColumnAngleBasis").getText(); - std::string rowAngleBasisName = - wavelengthDataBlockNode.getChildNode("RowAngleBasis").getText(); + std::string columnAngleBasisName = + wavelengthDataBlockNode.getChildNode("ColumnAngleBasis").getText(); + std::string rowAngleBasisName = + wavelengthDataBlockNode.getChildNode("RowAngleBasis").getText(); if(toLower(wavelengthDirection) == "transmission front") { - currentBandBSDFs->tf = BSDF{bsdf, rowAngleBasisName, columnAngleBasisName}; + currentBandBSDFs->tf = BSDF{bsdf, rowAngleBasisName, columnAngleBasisName}; } else if(toLower(wavelengthDirection) == "transmission back") { @@ -766,23 +761,22 @@ namespace OpticsParser } } - product->measurements = DualBandBSDF{solarBSDFs, visibleBSDFs}; + product->measurements = DualBandBSDF{solarBSDFs, visibleBSDFs}; return product; } - std::shared_ptr parseBSDFXMLString(std::string const & contents) - { - XMLNode xWindowElementNode = XMLNode::parseString(contents.c_str(), "WindowElement"); - return parseBSDFXML(xWindowElementNode); - } - - std::shared_ptr parseBSDFXMLFile(std::string const & fname) - { - XMLNode xWindowElementNode = XMLNode::openFileHelper(fname.c_str(), "WindowElement"); - return parseBSDFXML(xWindowElementNode); - } + std::shared_ptr parseBSDFXMLString(std::string const & contents) + { + XMLNode xWindowElementNode = XMLNode::parseString(contents.c_str(), "WindowElement"); + return parseBSDFXML(xWindowElementNode); + } + std::shared_ptr parseBSDFXMLFile(std::string const & fname) + { + XMLNode xWindowElementNode = XMLNode::openFileHelper(fname.c_str(), "WindowElement"); + return parseBSDFXML(xWindowElementNode); + } } // namespace OpticsParser From b37359192efef7abdc8e223beb847cb96e74c4fc Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Wed, 4 Nov 2020 13:02:52 -0500 Subject: [PATCH 36/55] Fix for cross-platform compliance. --- src/Parser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index 6b102c8..ed9e4e7 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -16,7 +16,7 @@ namespace OpticsParser # pragma warning(push) # pragma warning(disable : 4244) #endif - std::transform(s.begin(), s.end(), s.begin(), std::tolower); + std::transform(s.begin(), s.end(), s.begin(), ::tolower); #ifdef _MSC_VER # pragma warning(pop) #endif From 8bed61c561dd920783bc4a7230d2369280529269 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Wed, 4 Nov 2020 13:46:34 -0500 Subject: [PATCH 37/55] Disabling fallthrough warning generated by XMLParser for GCC/Clang --- src/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 306d1c9..8793f39 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -20,10 +20,10 @@ endif() if (CMAKE_COMPILER_IS_GNUCC) - target_compile_options(${LIB_NAME} PRIVATE -Wall -Wextra -pedantic -Werror) + target_compile_options(${LIB_NAME} PRIVATE -Wall -Wextra -pedantic -Werror -Wno-implicit-fallthrough) # XMLParser generates implicite-fallthrough warnings endif() if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_compile_options(${LIB_NAME} PRIVATE -Wall -Wextra -pedantic -Werror) + target_compile_options(${LIB_NAME} PRIVATE -Wall -Wextra -pedantic -Werror -Wno-implicit-fallthrough) # XMLParser generates implicite-fallthrough warnings endif() if (MSVC) target_compile_options(${LIB_NAME} PRIVATE /W4 /WX /wd4706) #4706 is "assignment within conditional expression". Occurs in several places in xmlParser.cpp From b89776aca63ce7851c48db04b37d02e8f4437bb7 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Mon, 30 Nov 2020 16:35:22 -0500 Subject: [PATCH 38/55] No longer treating warnings as errors in XMLParser.cpp --- src/CMakeLists.txt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8793f39..6f5fe9b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -20,13 +20,16 @@ endif() if (CMAKE_COMPILER_IS_GNUCC) - target_compile_options(${LIB_NAME} PRIVATE -Wall -Wextra -pedantic -Werror -Wno-implicit-fallthrough) # XMLParser generates implicite-fallthrough warnings + target_compile_options(${LIB_NAME} PRIVATE -Wall -Wextra -pedantic -Werror) + set_source_files_properties(xmlParser.cpp PROPERTIES COMPILE_FLAGS -Wno-error)# Disable treating warnings as errors for XMLParser. It is 3rd party library code endif() if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - target_compile_options(${LIB_NAME} PRIVATE -Wall -Wextra -pedantic -Werror -Wno-implicit-fallthrough) # XMLParser generates implicite-fallthrough warnings + target_compile_options(${LIB_NAME} PRIVATE -Wall -Wextra -pedantic -Werror ) + set_source_files_properties(xmlParser.cpp PROPERTIES COMPILE_FLAGS -Wno-error) # Disable treating warnings as errors for XMLParser. It is 3rd party library code endif() if (MSVC) - target_compile_options(${LIB_NAME} PRIVATE /W4 /WX /wd4706) #4706 is "assignment within conditional expression". Occurs in several places in xmlParser.cpp + target_compile_options(${LIB_NAME} PRIVATE /W4 /WX) + set_source_files_properties(xmlParser.cpp PROPERTIES COMPILE_FLAGS /WX-) # Disable treating warnings as errors for XMLParser. It is 3rd party library code endif() From ffe446f2eb53f36517868db748f2777bcb642dfb Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Wed, 6 Jan 2021 16:11:03 -0500 Subject: [PATCH 39/55] Changes for merging WINDOW_8_update_glass_from_IGSDB branch --- src/Parser.cpp | 10 +++++----- src/ProductData.cpp | 4 ++-- src/ProductData.hpp | 3 +-- test/InputDifferentEmissivities.unit.cpp | 2 +- test/InputFile1.unit.cpp | 4 ++-- test/InputInvertedEmissivities.unit.cpp | 2 +- test/read_checker_tool_json_file.unit.cpp | 2 +- test/read_json_file_from_disk.unit.cpp | 2 +- test/read_optics_file_from_disk.unit.cpp | 4 ++-- 9 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index abbfcf7..e443834 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -59,7 +59,7 @@ namespace OpticsParser parseEmissivities(line, product); parseStringPropertyInsideBraces(line, "Product Name", product->productName); product->productType = "glazing"; // There are only glazing optics files. - parseStringPropertyInsideBraces(line, "Type", product->subtype); + parseStringPropertyInsideBraces(line, "Type", product->productSubtype); parseStringPropertyInsideBraces(line, "Ef_Source", product->frontEmissivitySource); parseStringPropertyInsideBraces(line, "Eb_Source", product->backEmissivitySource); parseStringPropertyInsideBraces(line, "Manufacturer", product->manufacturer); @@ -373,7 +373,7 @@ namespace OpticsParser std::shared_ptr product(new ProductData); product->productName = product_json.at("name").get(); product->productType = product_json.at("type").get(); - product->subtype = get_optional_field(product_json, "subtype"); + product->productSubtype = get_optional_field(product_json, "subtype"); product->nfrcid = get_optional_field(product_json, "nfrc_id"); product->manufacturer = product_json.at("manufacturer_name").get(); @@ -487,7 +487,7 @@ namespace OpticsParser new PerforatedGeometry(spacingX, spacingY, dimensionX, dimensionY, perforationType)); } - std::shared_ptr parseGeometry(std::string const & subtype, + std::shared_ptr parseGeometry(std::string const & productSubtype, nlohmann::json const & geometry_json) { std::mapsecond(geometry_json); @@ -506,7 +506,7 @@ namespace OpticsParser else { std::stringstream msg; - msg << "Subtype " << subtype << " geometry not yet supported."; + msg << "Subtype " << productSubtype << " geometry not yet supported."; throw std::runtime_error(msg.str()); } } diff --git a/src/ProductData.cpp b/src/ProductData.cpp index cd613d8..e64f2bd 100644 --- a/src/ProductData.cpp +++ b/src/ProductData.cpp @@ -36,9 +36,9 @@ OpticsParser::ProductData::ProductData(std::string const & productName, OpticsParser::ProductData::ProductData(std::string const & productName, std::string const & productType, - std::string const & subtype, + std::string const & productSubtype, std::string const & manufacturer) : - productName(productName), productType(productType), manufacturer(manufacturer), subtype(subtype) + productName(productName), productType(productType), manufacturer(manufacturer), productSubtype(productSubtype) {} diff --git a/src/ProductData.hpp b/src/ProductData.hpp index 6fc3916..d2e4d60 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -115,7 +115,7 @@ namespace OpticsParser std::string const & manufacturer); ProductData(std::string const & productName, std::string const & productType, - std::string const & subtype, + std::string const & productSubtype, std::string const & manufacturer); virtual std::shared_ptr composedProduct(); @@ -146,7 +146,6 @@ namespace OpticsParser std::optional aercID; std::optional specularity; std::optional permeabilityFactor; - std::vector measurements; std::optional igdbChecksum; std::optional igdbDatabaseVersion; }; diff --git a/test/InputDifferentEmissivities.unit.cpp b/test/InputDifferentEmissivities.unit.cpp index 2c0a94f..7f9f0fb 100644 --- a/test/InputDifferentEmissivities.unit.cpp +++ b/test/InputDifferentEmissivities.unit.cpp @@ -58,7 +58,7 @@ TEST_F(TestDifferentEmissivities, Test1) EXPECT_EQ(102, product->nfrcid.value()); EXPECT_EQ("Generic Clear Glass", product->productName); EXPECT_EQ("glazing", product->productType); - EXPECT_EQ("Monolithic", product->subtype); + EXPECT_EQ("Monolithic", product->productSubtype); std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, {0.305, 0.0030, 0.0470, 0.0480}, diff --git a/test/InputFile1.unit.cpp b/test/InputFile1.unit.cpp index 436743b..866b27d 100644 --- a/test/InputFile1.unit.cpp +++ b/test/InputFile1.unit.cpp @@ -58,7 +58,7 @@ TEST_F(TestFile1, Test1) EXPECT_EQ(102, product->nfrcid.value()); EXPECT_EQ("Generic Clear Glass", product->productName); EXPECT_EQ("glazing", product->productType); - EXPECT_EQ("Monolithic", product->subtype); + EXPECT_EQ("Monolithic", product->productSubtype); std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, @@ -98,7 +98,7 @@ TEST_F(TestFile1, TestParseFile) EXPECT_EQ(102, productData->nfrcid.value()); EXPECT_EQ("Generic Clear Glass", productData->productName); EXPECT_EQ("glazing", productData->productType); - EXPECT_EQ("Monolithic", productData->subtype); + EXPECT_EQ("Monolithic", productData->productSubtype); std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, {0.305, 0.0030, 0.0470, 0.0480}, {0.310, 0.0090, 0.0470, 0.0480}, diff --git a/test/InputInvertedEmissivities.unit.cpp b/test/InputInvertedEmissivities.unit.cpp index 38f8630..145d861 100644 --- a/test/InputInvertedEmissivities.unit.cpp +++ b/test/InputInvertedEmissivities.unit.cpp @@ -58,7 +58,7 @@ TEST_F(TestInvertedEmissivities, Test1) EXPECT_EQ(102, product->nfrcid.value()); EXPECT_EQ("", product->productName); EXPECT_EQ("glazing", product->productType); - EXPECT_EQ("Monolithic", product->subtype); + EXPECT_EQ("Monolithic", product->productSubtype); std::vector correctResults{{0.300, 0.0020, 0.0470, 0.0480}, {0.305, 0.0030, 0.0470, 0.0480}, diff --git a/test/read_checker_tool_json_file.unit.cpp b/test/read_checker_tool_json_file.unit.cpp index db14866..1883a62 100644 --- a/test/read_checker_tool_json_file.unit.cpp +++ b/test/read_checker_tool_json_file.unit.cpp @@ -31,7 +31,7 @@ TEST_F(TestLoadJSONFromDisk, TestLoadCheckerToolJSON) // EXPECT_EQ(product->nfrcid.value(), 102); EXPECT_EQ(product->productName, "CGD89_092661"); EXPECT_EQ("glazing", product->productType); - EXPECT_EQ("Monolithic", product->subtype); + EXPECT_EQ("Monolithic", product->productSubtype); EXPECT_EQ(product->coatingName, "CGD89_092661"); EXPECT_EQ(product->coatedSide, "Both"); EXPECT_EQ(product->manufacturer, "Cardinal Glass Industries"); diff --git a/test/read_json_file_from_disk.unit.cpp b/test/read_json_file_from_disk.unit.cpp index 061f6fa..e4286f7 100644 --- a/test/read_json_file_from_disk.unit.cpp +++ b/test/read_json_file_from_disk.unit.cpp @@ -33,7 +33,7 @@ TEST_F(TestLoadJSONFromDisk, TestLoadClear3JSON) // EXPECT_EQ(product->nfrcid.value(), 102); EXPECT_EQ(product->productName, "Generic Clear Glass"); EXPECT_EQ(product->productType, "glazing"); - EXPECT_EQ(product->subtype, "monolithic"); + EXPECT_EQ(product->productSubtype, "monolithic"); EXPECT_NEAR(product->thickness.value(), 3.048, 1e-6); EXPECT_EQ(product->conductivity, 1.0); EXPECT_EQ(product->IRTransmittance.value(), 0.0); diff --git a/test/read_optics_file_from_disk.unit.cpp b/test/read_optics_file_from_disk.unit.cpp index 3fcff17..86e4de4 100644 --- a/test/read_optics_file_from_disk.unit.cpp +++ b/test/read_optics_file_from_disk.unit.cpp @@ -32,7 +32,7 @@ TEST_F(TestLoadOpticsFileFromDisk, TestLoadClear3) EXPECT_EQ(product->nfrcid.value(), 102); EXPECT_EQ(product->productName, "Generic Clear Glass"); EXPECT_EQ("glazing", product->productType); - EXPECT_EQ("Monolithic", product->subtype); + EXPECT_EQ("Monolithic", product->productSubtype); EXPECT_EQ(product->thickness.value(), 3.048); EXPECT_EQ(product->conductivity, 1.0); EXPECT_EQ(product->IRTransmittance.value(), 0.0); @@ -75,7 +75,7 @@ TEST_F(TestLoadOpticsFileFromDisk, TestLoadDiffuseData) EXPECT_EQ(product->nfrcid, std::optional()); EXPECT_EQ(product->productName, "Generic frit 38mm aperture"); EXPECT_EQ("glazing", product->productType); - EXPECT_EQ("Coated", product->subtype); + EXPECT_EQ("Coated", product->productSubtype); EXPECT_EQ(product->thickness.value(), 6.0); EXPECT_EQ(product->conductivity, 1.0); EXPECT_EQ(product->IRTransmittance.value(), 0.0); From 6bd85c39ee74e98b730a81768d36b8adf7e78cce Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Thu, 11 Mar 2021 14:44:42 -0500 Subject: [PATCH 40/55] Changed routine to split BSDF matricies into tokens to split on space and semicolon as well as comma. --- src/Parser.cpp | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index ed9e4e7..96ccb52 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -2,7 +2,8 @@ #include #include #include - +#include +#include #include #include "Parser.hpp" @@ -602,18 +603,19 @@ namespace OpticsParser } } - std::vector splitString(const std::string & str, const char token) + std::vector splitString(const std::string & str, std::string const& delimiters) { - std::vector strings; - std::istringstream test{str}; - std::string line; - while(getline(test, line, token)) - { - strings.push_back(line); - } - - return strings; + std::stringstream delimiterRe; + delimiterRe << "[" << delimiters << "]"; + std::regex re(delimiterRe.str()); + std::sregex_token_iterator first{str.begin(), str.end(), re, -1}, last; + std::vector tokens{first, last}; + tokens.erase(std::remove(tokens.begin(), tokens.end(), ""), tokens.end()); + tokens.erase(std::remove(tokens.begin(), tokens.end(), "\r\n"), tokens.end()); + tokens.erase(std::remove(tokens.begin(), tokens.end(), "\n"), tokens.end()); + return tokens; } + std::vector> convertToSquareMatrix(std::vector const & v) { double intPart; @@ -730,7 +732,7 @@ namespace OpticsParser std::string dataString = wavelengthDataBlockNode.getChildNode("ScatteringData").getText(); - std::vector splitDataString = splitString(dataString, ','); + std::vector splitDataString = splitString(dataString, " ,;"); // Split on space, comma, or semicolon std::vector splitData; for(auto const & s : splitDataString) { From 994cfdd95762df6e69aebc12de4cb382270db556 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Thu, 11 Mar 2021 16:20:43 -0500 Subject: [PATCH 41/55] Changed code to use XML parser from github repo rather than including the files. Changed mechanism for splittle BSDF matrices to the version in WINDOW because regex was an order of magnitude slower. --- CMakeLists-xmlParser.txt | 18 + CMakeLists-xmlParser.txt.in | 19 + CMakeLists.txt | 1 + src/CMakeLists.txt | 9 +- src/Parser.cpp | 57 +- src/xmlParser.cpp | 2998 ----------------------------------- src/xmlParser.h | 753 --------- 7 files changed, 76 insertions(+), 3779 deletions(-) create mode 100644 CMakeLists-xmlParser.txt create mode 100644 CMakeLists-xmlParser.txt.in delete mode 100644 src/xmlParser.cpp delete mode 100644 src/xmlParser.h diff --git a/CMakeLists-xmlParser.txt b/CMakeLists-xmlParser.txt new file mode 100644 index 0000000..7f09c93 --- /dev/null +++ b/CMakeLists-xmlParser.txt @@ -0,0 +1,18 @@ +cmake_minimum_required( VERSION 2.8.7 ) + +# Create include directories that will connect to library itself. This must be created before downloading +# xmlParser library or otherwise connections will not be created + +set(xmlParser_INCLUDE_DIRS "${CMAKE_BINARY_DIR}/xmlParser-src/include") + +include_directories(${xmlParser_INCLUDE_DIRS}) + +# Download and create Windows Calculation Engine library +configure_file(CMakeLists-xmlParser.txt.in ${CMAKE_BINARY_DIR}/xmlParser-download/CMakeLists.txt) +execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/xmlParser-download) +execute_process(COMMAND ${CMAKE_COMMAND} --build . + WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/xmlParser-download) + +add_subdirectory(${CMAKE_BINARY_DIR}/xmlParser-src "${CMAKE_CURRENT_BINARY_DIR}/xmlParser-src") +set(xmlParser_LIB "${CMAKE_SHARED_LIBRARY_PREFIX}xmlParser${CMAKE_SHARED_LIBRARY_SUFFIX}") diff --git a/CMakeLists-xmlParser.txt.in b/CMakeLists-xmlParser.txt.in new file mode 100644 index 0000000..85018a4 --- /dev/null +++ b/CMakeLists-xmlParser.txt.in @@ -0,0 +1,19 @@ +cmake_minimum_required( VERSION 2.8.7 ) + +include(ExternalProject) + +ExternalProject_Add(xmlParser + GIT_REPOSITORY https://github.com/LBNL-ETA/XMLParser.git + GIT_TAG "master" + + UPDATE_COMMAND "" + PATCH_COMMAND "" + + SOURCE_DIR "${CMAKE_BINARY_DIR}/xmlParser-src" + BINARY_DIR "${CMAKE_BINARY_DIR}/xmlParser-build" + + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + TEST_COMMAND "" + INSTALL_COMMAND "" +) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5a3bf9f..12aacc2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,6 +36,7 @@ endif() set( JSON_BuildTests OFF CACHE BOOL "") include(CMakeLists-nlohmann_json.txt) +include(CMakeLists-xmlParser.txt) add_subdirectory( src ) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 6f5fe9b..5def918 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,11 +4,10 @@ add_library( ${LIB_NAME} Parser.hpp Parser.cpp ProductData.hpp - ProductData.cpp - xmlParser.h - xmlParser.cpp) + ProductData.cpp) target_link_libraries(${LIB_NAME} PUBLIC nlohmann_json::nlohmann_json) +target_link_libraries(${LIB_NAME} PUBLIC xmlParser) if(NOT "${fPIC}") set(fPIC ON) @@ -21,16 +20,12 @@ endif() if (CMAKE_COMPILER_IS_GNUCC) target_compile_options(${LIB_NAME} PRIVATE -Wall -Wextra -pedantic -Werror) - set_source_files_properties(xmlParser.cpp PROPERTIES COMPILE_FLAGS -Wno-error)# Disable treating warnings as errors for XMLParser. It is 3rd party library code endif() if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") target_compile_options(${LIB_NAME} PRIVATE -Wall -Wextra -pedantic -Werror ) - set_source_files_properties(xmlParser.cpp PROPERTIES COMPILE_FLAGS -Wno-error) # Disable treating warnings as errors for XMLParser. It is 3rd party library code endif() if (MSVC) target_compile_options(${LIB_NAME} PRIVATE /W4 /WX) - set_source_files_properties(xmlParser.cpp PROPERTIES COMPILE_FLAGS /WX-) # Disable treating warnings as errors for XMLParser. It is 3rd party library code - endif() diff --git a/src/Parser.cpp b/src/Parser.cpp index 96ccb52..6e7dde6 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -5,9 +5,8 @@ #include #include #include - +#include #include "Parser.hpp" -#include "xmlParser.h" namespace OpticsParser { @@ -603,16 +602,32 @@ namespace OpticsParser } } - std::vector splitString(const std::string & str, std::string const& delimiters) - { - std::stringstream delimiterRe; - delimiterRe << "[" << delimiters << "]"; - std::regex re(delimiterRe.str()); - std::sregex_token_iterator first{str.begin(), str.end(), re, -1}, last; - std::vector tokens{first, last}; - tokens.erase(std::remove(tokens.begin(), tokens.end(), ""), tokens.end()); - tokens.erase(std::remove(tokens.begin(), tokens.end(), "\r\n"), tokens.end()); - tokens.erase(std::remove(tokens.begin(), tokens.end(), "\n"), tokens.end()); + char getSplitToken(std::string const& str) + { + char token = ','; // Default to comma delmiter? + std::vector possibleTokens{',', ';', ' '}; + for(auto & tok : possibleTokens) + { + if(str.find(tok) != std::basic_string::npos) + { + token = tok; + break; + } + } + return token; + } + + std::vector splitString(const std::string & str) + { + std::vector tokens; + std::basic_istringstream test{str}; + char token = getSplitToken(str); + std::string line; + while(std::getline(test, line, token)) + { + tokens.push_back(line); + } + return tokens; } @@ -638,16 +653,16 @@ namespace OpticsParser } - std::shared_ptr parseBSDFXML(XMLNode const & xWindowElementNode) + std::shared_ptr parseBSDFXML(XMLParser::XMLNode const & xWindowElementNode) { std::shared_ptr product(new ProductData()); if(xWindowElementNode.isEmpty()) { throw std::runtime_error("XML error : WindowElement not found"); } - XMLNode xLayerNode = xWindowElementNode.getChildNode("Optical").getChildNode("Layer"); + XMLParser::XMLNode xLayerNode = xWindowElementNode.getChildNode("Optical").getChildNode("Layer"); - XMLNode matNode = xLayerNode.getChildNode("Material"); + XMLParser::XMLNode matNode = xLayerNode.getChildNode("Material"); product->productName = matNode.getChildNode("Name").getText(); product->manufacturer = matNode.getChildNode("Manufacturer").getText(); auto thicknessStr = matNode.getChildNode("Thickness").getText(); @@ -685,14 +700,14 @@ namespace OpticsParser for(int i = 0; i < wavelengthDataNodeCt; ++i) { - XMLNode wavelengthDataNode = xLayerNode.getChildNode("WavelengthData", i); + XMLParser::XMLNode wavelengthDataNode = xLayerNode.getChildNode("WavelengthData", i); if(wavelengthDataNode.isEmpty()) throw std::runtime_error("XML error: Empty WavelengthData section found"); - XMLNode wavelengthDataBlockNode = + XMLParser::XMLNode wavelengthDataBlockNode = wavelengthDataNode.getChildNode("WavelengthDataBlock", 0); std::string wavelengthDirection = wavelengthDataBlockNode.getChildNode("WavelengthDataDirection").getText(); - XMLNode wavelengthNode = wavelengthDataNode.getChildNode("Wavelength"); + XMLParser::XMLNode wavelengthNode = wavelengthDataNode.getChildNode("Wavelength"); std::string wavelengthRange = wavelengthDataNode.getChildNode("Wavelength").getText(); std::string wavelengthUnit = wavelengthDataNode.getChildNode("Wavelength").getAttribute("unit"); @@ -732,7 +747,7 @@ namespace OpticsParser std::string dataString = wavelengthDataBlockNode.getChildNode("ScatteringData").getText(); - std::vector splitDataString = splitString(dataString, " ,;"); // Split on space, comma, or semicolon + std::vector splitDataString = splitString(dataString); std::vector splitData; for(auto const & s : splitDataString) { @@ -770,13 +785,13 @@ namespace OpticsParser std::shared_ptr parseBSDFXMLString(std::string const & contents) { - XMLNode xWindowElementNode = XMLNode::parseString(contents.c_str(), "WindowElement"); + XMLParser::XMLNode xWindowElementNode = XMLParser::XMLNode::parseString(contents.c_str(), "WindowElement"); return parseBSDFXML(xWindowElementNode); } std::shared_ptr parseBSDFXMLFile(std::string const & fname) { - XMLNode xWindowElementNode = XMLNode::openFileHelper(fname.c_str(), "WindowElement"); + XMLParser::XMLNode xWindowElementNode = XMLParser::XMLNode::openFileHelper(fname.c_str(), "WindowElement"); return parseBSDFXML(xWindowElementNode); } diff --git a/src/xmlParser.cpp b/src/xmlParser.cpp deleted file mode 100644 index 332280e..0000000 --- a/src/xmlParser.cpp +++ /dev/null @@ -1,2998 +0,0 @@ -/** - **************************************************************************** - *

XML.c - implementation file for basic XML parser written in ANSI C++ - * for portability. It works by using recursion and a node tree for breaking - * down the elements of an XML document.

- * - * @version V2.44 - * @author Frank Vanden Berghen - * - * NOTE: - * - * If you add "#define STRICT_PARSING", on the first line of this file - * the parser will see the following XML-stream: - * some textother text - * as an error. Otherwise, this tring will be equivalent to: - * some textother text - * - * NOTE: - * - * If you add "#define APPROXIMATE_PARSING" on the first line of this file - * the parser will see the following XML-stream: - * - * - * - * as equivalent to the following XML-stream: - * - * - * - * This can be useful for badly-formed XML-streams but prevent the use - * of the following XML-stream (problem is: tags at contiguous levels - * have the same names): - * - * - * - * - * - * - * NOTE: - * - * If you add "#define _XMLPARSER_NO_MESSAGEBOX_" on the first line of this file - * the "openFileHelper" function will always display error messages inside the - * console instead of inside a message-box-window. Message-box-windows are - * available on windows 9x/NT/2000/XP/Vista/Win7/Win8 only. - * - * The following license terms applies to projects developped by "Windows and Daylighting group at the Lawrence Berkeley National Laboratory" only: - * (all other projects are under the Aladdin Free Public License (AFPL) - - * see the file "AFPL-license.txt" for more informations about this license) - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Frank Vanden Berghen nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY Frank Vanden Berghen ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL Frank Vanden Berghen BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Copyright (c) 2013, Frank Vanden Berghen - All rights reserved.
- * - **************************************************************************** - */ -#ifndef _CRT_SECURE_NO_DEPRECATE -#define _CRT_SECURE_NO_DEPRECATE -#endif -#include "xmlParser.h" -#ifdef _XMLWINDOWS -//#ifdef _DEBUG -//#define _CRTDBG_MAP_ALLOC -//#include -//#endif -#define WIN32_LEAN_AND_MEAN -#include // to have IsTextUnicode, MultiByteToWideChar, WideCharToMultiByte to handle unicode files - // to have "MessageBoxA" to display error messages for openFilHelper -#endif - -#include -#include -#include -#include -#include - -XMLCSTR XMLNode::getVersion() { return _CXML("v2.44"); } -void freeXMLString(XMLSTR t){if(t)free(t);} - -static XMLNode::XMLCharEncoding characterEncoding=XMLNode::char_encoding_UTF8; -static char guessWideCharChars=1, dropWhiteSpace=1, removeCommentsInMiddleOfText=1; - -inline int mmin( const int t1, const int t2 ) { return t1 < t2 ? t1 : t2; } - -// You can modify the initialization of the variable "XMLClearTags" below -// to change the clearTags that are currently recognized by the library. -// The number on the second columns is the length of the string inside the -// first column. -// The "") }, - { _CXML("") }, - { _CXML("") }, - { _CXML("
")    ,5,  _CXML("
") }, -// { _CXML("")}, - { NULL ,0, NULL } -}; - -// You can modify the initialization of the variable "XMLEntities" below -// to change the character entities that are currently recognized by the library. -// The number on the second columns is the length of the string inside the -// first column. Additionally, the syntaxes " " and " " are recognized. -typedef struct { XMLCSTR s; int l; XMLCHAR c;} XMLCharacterEntity; -static XMLCharacterEntity XMLEntities[] = -{ - { _CXML("&" ), 5, _CXML('&' )}, - { _CXML("<" ), 4, _CXML('<' )}, - { _CXML(">" ), 4, _CXML('>' )}, - { _CXML("""), 6, _CXML('\"')}, - { _CXML("'"), 6, _CXML('\'')}, - { NULL , 0, '\0' } -}; - -// When rendering the XMLNode to a string (using the "createXMLString" function), -// you can ask for a beautiful formatting. This formatting is using the -// following indentation character: -#define INDENTCHAR _CXML('\t') - -// The following function parses the XML errors into a user friendly string. -// You can edit this to change the output language of the library to something else. -XMLCSTR XMLNode::getError(XMLError xerror) -{ - switch (xerror) - { - case eXMLErrorNone: return _CXML("No error"); - case eXMLErrorMissingEndTag: return _CXML("Warning: Unmatched end tag"); - case eXMLErrorNoXMLTagFound: return _CXML("Warning: No XML tag found"); - case eXMLErrorEmpty: return _CXML("Error: No XML data"); - case eXMLErrorMissingTagName: return _CXML("Error: Missing start tag name"); - case eXMLErrorMissingEndTagName: return _CXML("Error: Missing end tag name"); - case eXMLErrorUnmatchedEndTag: return _CXML("Error: Unmatched end tag"); - case eXMLErrorUnmatchedEndClearTag: return _CXML("Error: Unmatched clear tag end"); - case eXMLErrorUnexpectedToken: return _CXML("Error: Unexpected token found"); - case eXMLErrorNoElements: return _CXML("Error: No elements found"); - case eXMLErrorFileNotFound: return _CXML("Error: File not found"); - case eXMLErrorFirstTagNotFound: return _CXML("Error: First Tag not found"); - case eXMLErrorUnknownCharacterEntity:return _CXML("Error: Unknown character entity"); - case eXMLErrorCharacterCodeAbove255: return _CXML("Error: Character code above 255 is forbidden in MultiByte char mode."); - case eXMLErrorCharConversionError: return _CXML("Error: unable to convert between WideChar and MultiByte chars"); - case eXMLErrorCannotOpenWriteFile: return _CXML("Error: unable to open file for writing"); - case eXMLErrorCannotWriteFile: return _CXML("Error: cannot write into file"); - - case eXMLErrorBase64DataSizeIsNotMultipleOf4: return _CXML("Warning: Base64-string length is not a multiple of 4"); - case eXMLErrorBase64DecodeTruncatedData: return _CXML("Warning: Base64-string is truncated"); - case eXMLErrorBase64DecodeIllegalCharacter: return _CXML("Error: Base64-string contains an illegal character"); - case eXMLErrorBase64DecodeBufferTooSmall: return _CXML("Error: Base64 decode output buffer is too small"); - }; - return _CXML("Unknown"); -} - -///////////////////////////////////////////////////////////////////////// -// Here start the abstraction layer to be OS-independent // -///////////////////////////////////////////////////////////////////////// - -// Here is an abstraction layer to access some common string manipulation functions. -// The abstraction layer is currently working for gcc, Microsoft Visual Studio 6.0, -// Microsoft Visual Studio .NET, CC (sun compiler) and Borland C++. -// If you plan to "port" the library to a new system/compiler, all you have to do is -// to edit the following lines. -#ifdef XML_NO_WIDE_CHAR -char myIsTextWideChar(const void *b, int len) { return FALSE; } -#else - #if defined (UNDER_CE) || !defined(_XMLWINDOWS) - char myIsTextWideChar(const void *b, int len) // inspired by the Wine API: RtlIsTextUnicode - { -#ifdef sun - // for SPARC processors: wchar_t* buffers must always be alligned, otherwise it's a char* buffer. - if ((((unsigned long)b)%sizeof(wchar_t))!=0) return FALSE; -#endif - const wchar_t *s=(const wchar_t*)b; - - // buffer too small: - if (len<(int)sizeof(wchar_t)) return FALSE; - - // odd length test - if (len&1) return FALSE; - - /* only checks the first 256 characters */ - len=mmin(256,len/sizeof(wchar_t)); - - // Check for the special byte order: - if (*((unsigned short*)s) == 0xFFFE) return TRUE; // IS_TEXT_UNICODE_REVERSE_SIGNATURE; - if (*((unsigned short*)s) == 0xFEFF) return TRUE; // IS_TEXT_UNICODE_SIGNATURE - - // checks for ASCII characters in the UNICODE stream - int i,stats=0; - for (i=0; ilen/2) return TRUE; - - // Check for UNICODE NULL chars - for (i=0; i - static inline int xstrnicmp(XMLCSTR c1, XMLCSTR c2, int l) { return wsncasecmp(c1,c2,l);} - static inline int xstrncmp(XMLCSTR c1, XMLCSTR c2, int l) { return wsncmp(c1,c2,l);} - static inline int xstricmp(XMLCSTR c1, XMLCSTR c2) { return wscasecmp(c1,c2); } - #else - static inline int xstrncmp(XMLCSTR c1, XMLCSTR c2, int l) { return wcsncmp(c1,c2,l);} - #ifdef __linux__ - // for gcc/linux - static inline int xstrnicmp(XMLCSTR c1, XMLCSTR c2, int l) { return wcsncasecmp(c1,c2,l);} - static inline int xstricmp(XMLCSTR c1, XMLCSTR c2) { return wcscasecmp(c1,c2); } - #else - #include - // for gcc/non-linux (MacOS X 10.3, FreeBSD 6.0, NetBSD 3.0, OpenBSD 3.8, AIX 4.3.2, HP-UX 11, IRIX 6.5, OSF/1 5.1, Cygwin, mingw) - static inline int xstricmp(XMLCSTR c1, XMLCSTR c2) - { - wchar_t left,right; - do - { - left=towlower(*c1++); right=towlower(*c2++); - } while (left&&(left==right)); - return (int)left-(int)right; - } - static inline int xstrnicmp(XMLCSTR c1, XMLCSTR c2, int l) - { - wchar_t left,right; - while(l--) - { - left=towlower(*c1++); right=towlower(*c2++); - if ((!left)||(left!=right)) return (int)left-(int)right; - } - return 0; - } - #endif - #endif - static inline XMLSTR xstrstr(XMLCSTR c1, XMLCSTR c2) { return (XMLSTR)wcsstr(c1,c2); } - static inline XMLSTR xstrcpy(XMLSTR c1, XMLCSTR c2) { return (XMLSTR)wcscpy(c1,c2); } - static inline FILE *xfopen(XMLCSTR filename,XMLCSTR mode) - { - char *filenameAscii=myWideCharToMultiByte(filename); - FILE *f; - if (mode[0]==_CXML('r')) f=fopen(filenameAscii,"rb"); - else f=fopen(filenameAscii,"wb"); - free(filenameAscii); - return f; - } - #else - static inline FILE *xfopen(XMLCSTR filename,XMLCSTR mode) { return fopen(filename,mode); } - static inline int xstrlen(XMLCSTR c) { return strlen(c); } - static inline int xstrnicmp(XMLCSTR c1, XMLCSTR c2, int l) { return strncasecmp(c1,c2,l);} - static inline int xstrncmp(XMLCSTR c1, XMLCSTR c2, int l) { return strncmp(c1,c2,l);} - static inline int xstricmp(XMLCSTR c1, XMLCSTR c2) { return strcasecmp(c1,c2); } - static inline XMLSTR xstrstr(XMLCSTR c1, XMLCSTR c2) { return (XMLSTR)strstr(c1,c2); } - static inline XMLSTR xstrcpy(XMLSTR c1, XMLCSTR c2) { return (XMLSTR)strcpy(c1,c2); } - #endif - static inline int _strnicmp(const char *c1,const char *c2, int l) { return strncasecmp(c1,c2,l);} -#endif - - -/////////////////////////////////////////////////////////////////////////////// -// the "xmltoc,xmltob,xmltoi,xmltol,xmltof,xmltoa" functions // -/////////////////////////////////////////////////////////////////////////////// -// These 6 functions are not used inside the XMLparser. -// There are only here as "convenience" functions for the user. -// If you don't need them, you can delete them without any trouble. -#ifdef _XMLWIDECHAR - #ifdef _XMLWINDOWS - // for Microsoft Visual Studio 6.0 and Microsoft Visual Studio .NET and Borland C++ Builder 6.0 - char xmltob(XMLCSTR t,char v){ if (t&&(*t)) return (char)_wtoi(t); return v; } - int xmltoi(XMLCSTR t,int v){ if (t&&(*t)) return _wtoi(t); return v; } - long long xmltol(XMLCSTR t,long long v){ if (t&&(*t)) return _wtoi64(t); return v; } - double xmltof(XMLCSTR t,double v){ if (t&&(*t)) swscanf(t, L"%lf", &v); /*v=_wtof(t);*/ return v; } - #else - #ifdef sun - // for CC - #include - char xmltob(XMLCSTR t,char v){ if (t) return (char)wstol(t,NULL,10); return v; } - int xmltoi(XMLCSTR t,int v){ if (t) return (int)wstol(t,NULL,10); return v; } - long long xmltol(XMLCSTR t,long long v){ if (t) return wstol(t,NULL,10); return v; } - #else - // for gcc - char xmltob(XMLCSTR t,char v){ if (t) return (char)wcstol(t,NULL,10); return v; } - int xmltoi(XMLCSTR t,int v){ if (t) return (int)wcstol(t,NULL,10); return v; } - long long xmltol(XMLCSTR t,long long v){ if (t) return wcstol(t,NULL,10); return v; } - #endif - double xmltof(XMLCSTR t,double v){ if (t&&(*t)) swscanf(t, L"%lf", &v); /*v=_wtof(t);*/ return v; } - #endif -#else - #ifdef _XMLWINDOWS - long long xmltol(XMLCSTR t,long long v){ if (t&&(*t)) return _atoi64(t); return v; } - #else - long long xmltol(XMLCSTR t,long long v){ if (t&&(*t)) return atoll(t); return v; } - #endif - char xmltob(XMLCSTR t,char v){ if (t&&(*t)) return (char)atoi(t); return v; } - int xmltoi(XMLCSTR t,int v){ if (t&&(*t)) return atoi(t); return v; } - double xmltof(XMLCSTR t,double v){ if (t&&(*t)) return atof(t); return v; } -#endif -XMLCSTR xmltoa(XMLCSTR t, XMLCSTR v){ if (t) return t; return v; } -XMLCHAR xmltoc(XMLCSTR t,const XMLCHAR v){ if (t&&(*t)) return *t; return v; } - -///////////////////////////////////////////////////////////////////////// -// the "openFileHelper" function // -///////////////////////////////////////////////////////////////////////// - -// Since each application has its own way to report and deal with errors, you should modify & rewrite -// the following "openFileHelper" function to get an "error reporting mechanism" tailored to your needs. -XMLNode XMLNode::openFileHelper(XMLCSTR filename, XMLCSTR tag) -{ - // guess the value of the global parameter "characterEncoding" - // (the guess is based on the first 200 bytes of the file). - FILE *f=xfopen(filename,_CXML("rb")); - if (f) - { - char bb[205]; - int l=(int)fread(bb,1,200,f); - setGlobalOptions(guessCharEncoding(bb,l),guessWideCharChars,dropWhiteSpace,removeCommentsInMiddleOfText); - fclose(f); - } - - // parse the file - XMLResults pResults; - XMLNode xnode=XMLNode::parseFile(filename,tag,&pResults); - - // display error message (if any) - if (pResults.error != eXMLErrorNone) - { - // create message - char message[2000],*s1=(char*)"",*s3=(char*)""; XMLCSTR s2=_CXML(""); - if (pResults.error==eXMLErrorFirstTagNotFound) { s1=(char*)"First Tag should be '"; s2=tag; s3=(char*)"'.\n"; } -#ifdef _XMLWINDOWS - _snprintf(message,2000, -#else - snprintf(message,2000, -#endif -#ifdef _XMLWIDECHAR - "XML Parsing error inside file '%S'.\n%S\nAt line %i, column %i.\n%s%S%s" -#else - "XML Parsing error inside file '%s'.\n%s\nAt line %i, column %i.\n%s%s%s" -#endif - ,filename,XMLNode::getError(pResults.error),pResults.nLine,pResults.nColumn,s1,s2,s3); - - // display message -#if defined(_XMLWINDOWS) && !defined(UNDER_CE) && !defined(_XMLPARSER_NO_MESSAGEBOX_) - MessageBoxA(NULL,message,"XML Parsing error",MB_OK|MB_ICONERROR|MB_TOPMOST); -#else - printf("%s",message); -#endif - exit(255); - } - return xnode; -} - -///////////////////////////////////////////////////////////////////////// -// Here start the core implementation of the XMLParser library // -///////////////////////////////////////////////////////////////////////// - -// You should normally not change anything below this point. - -#ifndef _XMLWIDECHAR -// If "characterEncoding=ascii" then we assume that all characters have the same length of 1 byte. -// If "characterEncoding=UTF8" then the characters have different lengths (from 1 byte to 4 bytes). -// If "characterEncoding=ShiftJIS" then the characters have different lengths (from 1 byte to 2 bytes). -// This table is used as lookup-table to know the length of a character (in byte) based on the -// content of the first byte of the character. -// (note: if you modify this, you must always have XML_utf8ByteTable[0]=0 ). -static const char XML_utf8ByteTable[256] = -{ - // 0 1 2 3 4 5 6 7 8 9 a b c d e f - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x00 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x10 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x20 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x30 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x40 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x50 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x60 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x70 End of ASCII range - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x80 0x80 to 0xc1 invalid - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x90 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0xa0 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0xb0 - 1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xc0 0xc2 to 0xdf 2 byte - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xd0 - 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,// 0xe0 0xe0 to 0xef 3 byte - 4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1 // 0xf0 0xf0 to 0xf4 4 byte, 0xf5 and higher invalid -}; -static const char XML_legacyByteTable[256] = -{ - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 -}; -static const char XML_sjisByteTable[256] = -{ - // 0 1 2 3 4 5 6 7 8 9 a b c d e f - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x00 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x10 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x20 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x30 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x40 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x50 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x60 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x70 - 1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0x80 0x81 to 0x9F 2 bytes - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0x90 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0xa0 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0xb0 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0xc0 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0xd0 - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xe0 0xe0 to 0xef 2 bytes - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 // 0xf0 -}; -static const char XML_gb2312ByteTable[256] = -{ -// 0 1 2 3 4 5 6 7 8 9 a b c d e f - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x00 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x10 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x20 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x30 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x40 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x50 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x60 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x70 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x80 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x90 - 1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xa0 0xa1 to 0xf7 2 bytes - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xb0 - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xc0 - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xd0 - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xe0 - 2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1 // 0xf0 -}; -static const char XML_gbk_big5_ByteTable[256] = -{ - // 0 1 2 3 4 5 6 7 8 9 a b c d e f - 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x00 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x10 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x20 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x30 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x40 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x50 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x60 - 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,// 0x70 - 1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0x80 0x81 to 0xfe 2 bytes - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0x90 - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xa0 - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xb0 - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xc0 - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xd0 - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,// 0xe0 - 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1 // 0xf0 -}; -static const char *XML_ByteTable=(const char *)XML_utf8ByteTable; // the default is "characterEncoding=XMLNode::encoding_UTF8" -#endif - - -XMLNode XMLNode::emptyXMLNode; -XMLClear XMLNode::emptyXMLClear={ NULL, NULL, NULL}; -XMLAttribute XMLNode::emptyXMLAttribute={ NULL, NULL}; - -// Enumeration used to decipher what type a token is -typedef enum XMLTokenTypeTag -{ - eTokenText = 0, - eTokenQuotedText, - eTokenTagStart, /* "<" */ - eTokenTagEnd, /* "" */ - eTokenEquals, /* "=" */ - eTokenDeclaration, /* "" */ - eTokenClear, - eTokenError -} XMLTokenType; - -// Main structure used for parsing XML -typedef struct XML -{ - XMLCSTR lpXML; - XMLCSTR lpszText; - int nIndex,nIndexMissigEndTag; - enum XMLError error; - XMLCSTR lpEndTag; - int cbEndTag; - XMLCSTR lpNewElement; - int cbNewElement; - int nFirst; -} XML; - -typedef struct -{ - ALLXMLClearTag *pClr; - XMLCSTR pStr; -} NextToken; - -// Enumeration used when parsing attributes -typedef enum Attrib -{ - eAttribName = 0, - eAttribEquals, - eAttribValue -} Attrib; - -// Enumeration used when parsing elements to dictate whether we are currently -// inside a tag -typedef enum XMLStatus -{ - eInsideTag = 0, - eOutsideTag -} XMLStatus; - -XMLError XMLNode::writeToFile(XMLCSTR filename, const char *encoding, char nFormat) const -{ - if (!d) return eXMLErrorNone; - FILE *f=xfopen(filename,_CXML("wb")); - if (!f) return eXMLErrorCannotOpenWriteFile; -#ifdef _XMLWIDECHAR - unsigned char h[2]={ 0xFF, 0xFE }; - if (!fwrite(h,2,1,f)) - { - fclose(f); - return eXMLErrorCannotWriteFile; - } - if ((!isDeclaration())&&((d->lpszName)||(!getChildNode().isDeclaration()))) - { - if (!fwrite(L"\n",sizeof(wchar_t)*40,1,f)) - { - fclose(f); - return eXMLErrorCannotWriteFile; - } - } -#else - if ((!isDeclaration())&&((d->lpszName)||(!getChildNode().isDeclaration()))) - { - if (characterEncoding==char_encoding_UTF8) - { - // header so that windows recognize the file as UTF-8: - unsigned char h[3]={0xEF,0xBB,0xBF}; - if (!fwrite(h,3,1,f)) - { - fclose(f); - return eXMLErrorCannotWriteFile; - } - encoding="utf-8"; - } else if (characterEncoding==char_encoding_ShiftJIS) encoding="SHIFT-JIS"; - - if (!encoding) encoding="ISO-8859-1"; - if (fprintf(f,"\n",encoding)<0) - { - fclose(f); - return eXMLErrorCannotWriteFile; - } - } else - { - if (characterEncoding==char_encoding_UTF8) - { - unsigned char h[3]={0xEF,0xBB,0xBF}; - if (!fwrite(h,3,1,f)) - { - fclose(f); - return eXMLErrorCannotWriteFile; - } - } - } -#endif - int i; - XMLSTR t=createXMLString(nFormat,&i); - if (!fwrite(t,sizeof(XMLCHAR)*i,1,f)) - { - free(t); - fclose(f); - return eXMLErrorCannotWriteFile; - } - if (fclose(f)!=0) - { - free(t); - return eXMLErrorCannotWriteFile; - } - free(t); - return eXMLErrorNone; -} - -// Duplicate a given string. -XMLSTR stringDup(XMLCSTR lpszData, int cbData) -{ - if (lpszData==NULL) return NULL; - - XMLSTR lpszNew; - if (cbData==-1) cbData=(int)xstrlen(lpszData); - lpszNew = (XMLSTR)malloc((cbData+1) * sizeof(XMLCHAR)); - if (lpszNew) - { - memcpy(lpszNew, lpszData, (cbData) * sizeof(XMLCHAR)); - lpszNew[cbData] = (XMLCHAR)NULL; - } - return lpszNew; -} - -XMLSTR ToXMLStringTool::toXMLUnSafe(XMLSTR dest,XMLCSTR source) -{ - XMLSTR dd=dest; - XMLCHAR ch; - XMLCharacterEntity *entity; - while ((ch=*source)) - { - entity=XMLEntities; - do - { - if (ch==entity->c) {xstrcpy(dest,entity->s); dest+=entity->l; source++; goto out_of_loop1; } - entity++; - } while(entity->s); -#ifdef _XMLWIDECHAR - *(dest++)=*(source++); -#else - switch(XML_ByteTable[(unsigned char)ch]) - { - case 4: - if ((!(source[1]))||(!(source[2]))||(!(source[3]))) { *(dest++)='_'; source++; } - else - { - *dest=*source; - dest[1]=source[1]; - dest[2]=source[2]; - dest[3]=source[3]; - dest+=4; source+=4; - } - break; - case 3: - if ((!(source[1]))||(!(source[2]))) { *(dest++)='_'; source++; } - else - { - *dest=*source; - dest[1]=source[1]; - dest[2]=source[2]; - dest+=3; source+=3; - } - break; - case 2: - if (!(source[1])) { *(dest++)='_'; source++; } - else - { - *dest=*source; - dest[1]=source[1]; - dest+=2; source+=2; - } - break; - case 1: *(dest++)=*(source++); - } -#endif -out_of_loop1: - ; - } - *dest=0; - return dd; -} - -// private (used while rendering): -int ToXMLStringTool::lengthXMLString(XMLCSTR source) -{ - int r=0; - XMLCharacterEntity *entity; - XMLCHAR ch; - while ((ch=*source)) - { - entity=XMLEntities; - do - { - if (ch==entity->c) { r+=entity->l; source++; goto out_of_loop1; } - entity++; - } while(entity->s); -#ifdef _XMLWIDECHAR - r++; source++; -#else - ch=XML_ByteTable[(unsigned char)ch]; r+=ch; source+=ch; -#endif -out_of_loop1: - ; - } - return r; -} - -ToXMLStringTool::~ToXMLStringTool(){ freeBuffer(); } -void ToXMLStringTool::freeBuffer(){ if (buf) free(buf); buf=NULL; buflen=0; } -XMLSTR ToXMLStringTool::toXML(XMLCSTR source) -{ - if (!source) - { - if (buflen<1) { buflen=1; buf=(XMLSTR)malloc(sizeof(XMLCHAR)); } - *buf=0; - return buf; - } - int l=lengthXMLString(source)+1; - if (l>buflen) { freeBuffer(); buflen=l; buf=(XMLSTR)malloc(l*sizeof(XMLCHAR)); } - return toXMLUnSafe(buf,source); -} - -// private: -XMLSTR fromXMLString(XMLCSTR s, int lo, XML *pXML) -{ - // This function is the opposite of the function "toXMLString". It decodes the escape - // sequences &, ", ', <, > and replace them by the characters - // &,",',<,>. This function is used internally by the XML Parser. All the calls to - // the XML library will always gives you back "decoded" strings. - // - // in: string (s) and length (lo) of string - // out: new allocated string converted from xml - if (!s) return NULL; - - int ll=0,j; - XMLSTR d; - XMLCSTR ss=s; - XMLCharacterEntity *entity; - while ((lo>0)&&(*s)) - { - if (*s==_CXML('&')) - { - if ((lo>2)&&(s[1]==_CXML('#'))) - { - s+=2; lo-=2; - if ((*s==_CXML('X'))||(*s==_CXML('x'))) { s++; lo--; } - while ((*s)&&(*s!=_CXML(';'))&&((lo--)>0)) s++; - if (*s!=_CXML(';')) - { - pXML->error=eXMLErrorUnknownCharacterEntity; - return NULL; - } - s++; lo--; - } else - { - entity=XMLEntities; - do - { - if ((lo>=entity->l)&&(xstrnicmp(s,entity->s,entity->l)==0)) { s+=entity->l; lo-=entity->l; break; } - entity++; - } while(entity->s); - if (!entity->s) - { - pXML->error=eXMLErrorUnknownCharacterEntity; - return NULL; - } - } - } else - { -#ifdef _XMLWIDECHAR - s++; lo--; -#else - j=XML_ByteTable[(unsigned char)*s]; s+=j; lo-=j; ll+=j-1; -#endif - } - ll++; - } - - d=(XMLSTR)malloc((ll+1)*sizeof(XMLCHAR)); - s=d; - while (ll-->0) - { - if (*ss==_CXML('&')) - { - if (ss[1]==_CXML('#')) - { - ss+=2; j=0; - if ((*ss==_CXML('X'))||(*ss==_CXML('x'))) - { - ss++; - while (*ss!=_CXML(';')) - { - if ((*ss>=_CXML('0'))&&(*ss<=_CXML('9'))) j=(j<<4)+*ss-_CXML('0'); - else if ((*ss>=_CXML('A'))&&(*ss<=_CXML('F'))) j=(j<<4)+*ss-_CXML('A')+10; - else if ((*ss>=_CXML('a'))&&(*ss<=_CXML('f'))) j=(j<<4)+*ss-_CXML('a')+10; - else { free((void*)s); pXML->error=eXMLErrorUnknownCharacterEntity;return NULL;} - ss++; - } - } else - { - while (*ss!=_CXML(';')) - { - if ((*ss>=_CXML('0'))&&(*ss<=_CXML('9'))) j=(j*10)+*ss-_CXML('0'); - else { free((void*)s); pXML->error=eXMLErrorUnknownCharacterEntity;return NULL;} - ss++; - } - } -#ifndef _XMLWIDECHAR - if (j>255) { free((void*)s); pXML->error=eXMLErrorCharacterCodeAbove255;return NULL;} -#endif - (*d++)=(XMLCHAR)j; ss++; - } else - { - entity=XMLEntities; - do - { - if (xstrnicmp(ss,entity->s,entity->l)==0) { *(d++)=entity->c; ss+=entity->l; break; } - entity++; - } while(entity->s); - } - } else - { -#ifdef _XMLWIDECHAR - *(d++)=*(ss++); -#else - switch(XML_ByteTable[(unsigned char)*ss]) - { - case 4: *(d++)=*(ss++); ll--; - case 3: *(d++)=*(ss++); ll--; - case 2: *(d++)=*(ss++); ll--; - case 1: *(d++)=*(ss++); - } -#endif - } - } - *d=0; - return (XMLSTR)s; -} - -#define XML_isSPACECHAR(ch) ((ch==_CXML('\n'))||(ch==_CXML(' '))||(ch== _CXML('\t'))||(ch==_CXML('\r'))) - -// private: -char myTagCompare(XMLCSTR cclose, XMLCSTR copen) -// !!!! WARNING strange convention&: -// return 0 if equals -// return 1 if different -{ - if (!cclose) return 1; - int l=(int)xstrlen(cclose); - if (xstrnicmp(cclose, copen, l)!=0) return 1; - const XMLCHAR c=copen[l]; - if (XML_isSPACECHAR(c)|| - (c==_CXML('/' ))|| - (c==_CXML('<' ))|| - (c==_CXML('>' ))|| - (c==_CXML('=' ))) return 0; - return 1; -} - -// Obtain the next character from the string. -static inline XMLCHAR getNextChar(XML *pXML) -{ - XMLCHAR ch = pXML->lpXML[pXML->nIndex]; -#ifdef _XMLWIDECHAR - if (ch!=0) pXML->nIndex++; -#else - pXML->nIndex+=XML_ByteTable[(unsigned char)ch]; -#endif - return ch; -} - -// Find the next token in a string. -// pcbToken contains the number of characters that have been read. -static NextToken GetNextToken(XML *pXML, int *pcbToken, enum XMLTokenTypeTag *pType) -{ - NextToken result; - XMLCHAR ch; - XMLCHAR chTemp; - int indexStart,nFoundMatch,nIsText=FALSE; - result.pClr=NULL; // prevent warning - - // Find next non-white space character - do { indexStart=pXML->nIndex; ch=getNextChar(pXML); } while XML_isSPACECHAR(ch); - - if (ch) - { - // Cache the current string pointer - result.pStr = &pXML->lpXML[indexStart]; - - // check for standard tokens - switch(ch) - { - // Check for quotes - case _CXML('\''): - case _CXML('\"'): - // Type of token - *pType = eTokenQuotedText; - chTemp = ch; - - // Set the size - nFoundMatch = FALSE; - - // Search through the string to find a matching quote - while((ch = getNextChar(pXML))) - { - if (ch==chTemp) { nFoundMatch = TRUE; break; } - if (ch==_CXML('<')) break; - } - - // If we failed to find a matching quote - if (nFoundMatch == FALSE) - { - pXML->nIndex=indexStart+1; - nIsText=TRUE; - break; - } - -// 4.02.2002 -// if (FindNonWhiteSpace(pXML)) pXML->nIndex--; - - break; - - // Equals (used with attribute values) - case _CXML('='): - *pType = eTokenEquals; - break; - - // Close tag - case _CXML('>'): - *pType = eTokenCloseTag; - break; - - // Check for tag start and tag end - case _CXML('<'): - - { - // First check whether the token is in the clear tag list (meaning it - // does not need formatting). - ALLXMLClearTag *ctag=XMLClearTags; - do - { - if (!xstrncmp(ctag->lpszOpen, result.pStr, ctag->openTagLen)) - { - result.pClr=ctag; - pXML->nIndex+=ctag->openTagLen-1; - *pType=eTokenClear; - return result; - } - ctag++; - } while(ctag->lpszOpen); - - // Peek at the next character to see if we have an end tag 'lpXML[pXML->nIndex]; - - // If we have a tag end... - if (chTemp == _CXML('/')) - { - // Set the type and ensure we point at the next character - getNextChar(pXML); - *pType = eTokenTagEnd; - } - - // If we have an XML declaration tag - else if (chTemp == _CXML('?')) - { - - // Set the type and ensure we point at the next character - getNextChar(pXML); - *pType = eTokenDeclaration; - } - - // Otherwise we must have a start tag - else - { - *pType = eTokenTagStart; - } - break; - } - - // Check to see if we have a short hand type end tag ('/>'). - case _CXML('/'): - - // Peek at the next character to see if we have a short end tag '/>' - chTemp = pXML->lpXML[pXML->nIndex]; - - // If we have a short hand end tag... - if (chTemp == _CXML('>')) - { - // Set the type and ensure we point at the next character - getNextChar(pXML); - *pType = eTokenShortHandClose; - break; - } - - // If we haven't found a short hand closing tag then drop into the - // text process - - // Other characters - default: - nIsText = TRUE; - } - - // If this is a TEXT node - if (nIsText) - { - // Indicate we are dealing with text - *pType = eTokenText; - while((ch = getNextChar(pXML))) - { - if XML_isSPACECHAR(ch) - { - indexStart++; break; - - } else if (ch==_CXML('/')) - { - // If we find a slash then this maybe text or a short hand end tag - // Peek at the next character to see it we have short hand end tag - ch=pXML->lpXML[pXML->nIndex]; - // If we found a short hand end tag then we need to exit the loop - if (ch==_CXML('>')) { pXML->nIndex--; break; } - - } else if ((ch==_CXML('<'))||(ch==_CXML('>'))||(ch==_CXML('='))) - { - pXML->nIndex--; break; - } - } - } - *pcbToken = pXML->nIndex-indexStart; - } else - { - // If we failed to obtain a valid character - *pcbToken = 0; - *pType = eTokenError; - result.pStr=NULL; - } - - return result; -} - -XMLCSTR XMLNode::updateName_WOSD(XMLSTR lpszName) -{ - if (!d) { free(lpszName); return NULL; } - if (d->lpszName&&(lpszName!=d->lpszName)) free((void*)d->lpszName); - d->lpszName=lpszName; - return lpszName; -} - -// private: -XMLNode::XMLNode(struct XMLNodeDataTag *p){ d=p; (p->ref_count)++; } -XMLNode::XMLNode(XMLNodeData *pParent, XMLSTR lpszName, char isDeclaration) -{ - d=(XMLNodeData*)malloc(sizeof(XMLNodeData)); - d->ref_count=1; - - d->lpszName=NULL; - d->nChild= 0; - d->nText = 0; - d->nClear = 0; - d->nAttribute = 0; - - d->isDeclaration = isDeclaration; - - d->pParent = pParent; - d->pChild= NULL; - d->pText= NULL; - d->pClear= NULL; - d->pAttribute= NULL; - d->pOrder= NULL; - - updateName_WOSD(lpszName); -} - -XMLNode XMLNode::createXMLTopNode_WOSD(XMLSTR lpszName, char isDeclaration) { return XMLNode(NULL,lpszName,isDeclaration); } -XMLNode XMLNode::createXMLTopNode(XMLCSTR lpszName, char isDeclaration) { return XMLNode(NULL,stringDup(lpszName),isDeclaration); } - -#define MEMORYINCREASE 50 - -static inline void myFree(void *p) { if (p) free(p); } -static inline void *myRealloc(void *p, int newsize, int memInc, int sizeofElem) -{ - if (p==NULL) { if (memInc) return malloc(memInc*sizeofElem); return malloc(sizeofElem); } - if ((memInc==0)||((newsize%memInc)==0)) p=realloc(p,(newsize+memInc)*sizeofElem); -// if (!p) -// { -// printf("XMLParser Error: Not enough memory! Aborting...\n"); exit(220); -// } - return p; -} - -// private: -XMLElementPosition XMLNode::findPosition(XMLNodeData *d, int index, XMLElementType xxtype) -{ - if (index<0) return -1; - int i=0,j=(int)((index<<2)+xxtype),*o=d->pOrder; while (o[i]!=j) i++; return i; -} - -// private: -// update "order" information when deleting a content of a XMLNode -int XMLNode::removeOrderElement(XMLNodeData *d, XMLElementType t, int index) -{ - int n=d->nChild+d->nText+d->nClear, *o=d->pOrder,i=findPosition(d,index,t); - memmove(o+i, o+i+1, (n-i)*sizeof(int)); - for (;ipOrder=(int)realloc(d->pOrder,n*sizeof(int)); - // but we skip reallocation because it's too time consuming. - // Anyway, at the end, it will be free'd completely at once. - return i; -} - -void *XMLNode::addToOrder(int memoryIncrease,int *_pos, int nc, void *p, int size, XMLElementType xtype) -{ - // in: *_pos is the position inside d->pOrder ("-1" means "EndOf") - // out: *_pos is the index inside p - p=myRealloc(p,(nc+1),memoryIncrease,size); - int n=d->nChild+d->nText+d->nClear; - d->pOrder=(int*)myRealloc(d->pOrder,n+1,memoryIncrease*3,sizeof(int)); - int pos=*_pos,*o=d->pOrder; - - if ((pos<0)||(pos>=n)) { *_pos=nc; o[n]=(int)((nc<<2)+xtype); return p; } - - int i=pos; - memmove(o+i+1, o+i, (n-i)*sizeof(int)); - - while ((pos>2; - memmove(((char*)p)+(pos+1)*size,((char*)p)+pos*size,(nc-pos)*size); - - return p; -} - -// Add a child node to the given element. -XMLNode XMLNode::addChild_priv(int memoryIncrease, XMLSTR lpszName, char isDeclaration, int pos) -{ - if (!lpszName) return emptyXMLNode; - d->pChild=(XMLNode*)addToOrder(memoryIncrease,&pos,d->nChild,d->pChild,sizeof(XMLNode),eNodeChild); - d->pChild[pos].d=NULL; - d->pChild[pos]=XMLNode(d,lpszName,isDeclaration); - d->nChild++; - return d->pChild[pos]; -} - -// Add an attribute to an element. -XMLAttribute *XMLNode::addAttribute_priv(int memoryIncrease,XMLSTR lpszName, XMLSTR lpszValuev) -{ - if (!lpszName) return &emptyXMLAttribute; - if (!d) { myFree(lpszName); myFree(lpszValuev); return &emptyXMLAttribute; } - int nc=d->nAttribute; - d->pAttribute=(XMLAttribute*)myRealloc(d->pAttribute,(nc+1),memoryIncrease,sizeof(XMLAttribute)); - XMLAttribute *pAttr=d->pAttribute+nc; - pAttr->lpszName = lpszName; - pAttr->lpszValue = lpszValuev; - d->nAttribute++; - return pAttr; -} - -// Add text to the element. -XMLCSTR XMLNode::addText_priv(int memoryIncrease, XMLSTR lpszValue, int pos) -{ - if (!lpszValue) return NULL; - if (!d) { myFree(lpszValue); return NULL; } - d->pText=(XMLCSTR*)addToOrder(memoryIncrease,&pos,d->nText,d->pText,sizeof(XMLSTR),eNodeText); - d->pText[pos]=lpszValue; - d->nText++; - return lpszValue; -} - -// Add clear (unformatted) text to the element. -XMLClear *XMLNode::addClear_priv(int memoryIncrease, XMLSTR lpszValue, XMLCSTR lpszOpen, XMLCSTR lpszClose, int pos) -{ - if (!lpszValue) return &emptyXMLClear; - if (!d) { myFree(lpszValue); return &emptyXMLClear; } - d->pClear=(XMLClear *)addToOrder(memoryIncrease,&pos,d->nClear,d->pClear,sizeof(XMLClear),eNodeClear); - XMLClear *pNewClear=d->pClear+pos; - pNewClear->lpszValue = lpszValue; - if (!lpszOpen) lpszOpen=XMLClearTags->lpszOpen; - if (!lpszClose) lpszClose=XMLClearTags->lpszClose; - pNewClear->lpszOpenTag = lpszOpen; - pNewClear->lpszCloseTag = lpszClose; - d->nClear++; - return pNewClear; -} - -// private: -// Parse a clear (unformatted) type node. -char XMLNode::parseClearTag(void *px, void *_pClear) -{ - XML *pXML=(XML *)px; - ALLXMLClearTag pClear=*((ALLXMLClearTag*)_pClear); - int cbTemp=0; - XMLCSTR lpszTemp=NULL; - XMLCSTR lpXML=&pXML->lpXML[pXML->nIndex]; - static XMLCSTR docTypeEnd=_CXML("]>"); - - // Find the closing tag - // Seems the ')) { lpszTemp=pCh; break; } -#ifdef _XMLWIDECHAR - pCh++; -#else - pCh+=XML_ByteTable[(unsigned char)(*pCh)]; -#endif - } - } else lpszTemp=xstrstr(lpXML, pClear.lpszClose); - - if (lpszTemp) - { - // Cache the size and increment the index - cbTemp = (int)(lpszTemp - lpXML); - - pXML->nIndex += cbTemp+(int)xstrlen(pClear.lpszClose); - - // Add the clear node to the current element - addClear_priv(MEMORYINCREASE,cbTemp?stringDup(lpXML,cbTemp):NULL, pClear.lpszOpen, pClear.lpszClose,-1); - return 0; - } - - // If we failed to find the end tag - pXML->error = eXMLErrorUnmatchedEndClearTag; - return 1; -} - -void XMLNode::exactMemory(XMLNodeData *d) -{ - if (d->pOrder) d->pOrder=(int*)realloc(d->pOrder,(d->nChild+d->nText+d->nClear)*sizeof(int)); - if (d->pChild) d->pChild=(XMLNode*)realloc(d->pChild,d->nChild*sizeof(XMLNode)); - if (d->pAttribute) d->pAttribute=(XMLAttribute*)realloc(d->pAttribute,d->nAttribute*sizeof(XMLAttribute)); - if (d->pText) d->pText=(XMLCSTR*)realloc(d->pText,d->nText*sizeof(XMLSTR)); - if (d->pClear) d->pClear=(XMLClear *)realloc(d->pClear,d->nClear*sizeof(XMLClear)); -} - -char XMLNode::maybeAddTxT(void *pa, XMLCSTR tokenPStr) -{ - XML *pXML=(XML *)pa; - XMLCSTR lpszText=pXML->lpszText; - if (!lpszText) return 0; - if (dropWhiteSpace) while (XML_isSPACECHAR(*lpszText)&&(lpszText!=tokenPStr)) lpszText++; - int cbText = (int)(tokenPStr - lpszText); - if (!cbText) { pXML->lpszText=NULL; return 0; } - if (dropWhiteSpace) { cbText--; while ((cbText)&&XML_isSPACECHAR(lpszText[cbText])) cbText--; cbText++; } - if (!cbText) { pXML->lpszText=NULL; return 0; } - XMLSTR lpt=fromXMLString(lpszText,cbText,pXML); - if (!lpt) return 1; - pXML->lpszText=NULL; - if (removeCommentsInMiddleOfText && d->nText && d->nClear) - { - // if the previous insertion was a comment () AND - // if the previous previous insertion was a text then, delete the comment and append the text - int n=d->nChild+d->nText+d->nClear-1,*o=d->pOrder; - if (((o[n]&3)==eNodeClear)&&((o[n-1]&3)==eNodeText)) - { - int i=o[n]>>2; - if (d->pClear[i].lpszOpenTag==XMLClearTags[2].lpszOpen) - { - deleteClear(i); - i=o[n-1]>>2; - n=xstrlen(d->pText[i]); - int n2=xstrlen(lpt)+1; - d->pText[i]=(XMLSTR)realloc((void*)d->pText[i],(n+n2)*sizeof(XMLCHAR)); - if (!d->pText[i]) return 1; - memcpy((void*)(d->pText[i]+n),lpt,n2*sizeof(XMLCHAR)); - free(lpt); - return 0; - } - } - } - addText_priv(MEMORYINCREASE,lpt,-1); - return 0; -} -// private: -// Recursively parse an XML element. -int XMLNode::ParseXMLElement(void *pa) -{ - XML *pXML=(XML *)pa; - int cbToken; - enum XMLTokenTypeTag xtype; - NextToken token; - XMLCSTR lpszTemp=NULL; - int cbTemp=0; - char nDeclaration; - XMLNode pNew; - enum XMLStatus status; // inside or outside a tag - enum Attrib attrib = eAttribName; - - assert(pXML); - - // If this is the first call to the function - if (pXML->nFirst) - { - // Assume we are outside of a tag definition - pXML->nFirst = FALSE; - status = eOutsideTag; - } else - { - // If this is not the first call then we should only be called when inside a tag. - status = eInsideTag; - } - - // Iterate through the tokens in the document - for(;;) - { - // Obtain the next token - token = GetNextToken(pXML, &cbToken, &xtype); - - if (xtype != eTokenError) - { - // Check the current status - switch(status) - { - - // If we are outside of a tag definition - case eOutsideTag: - - // Check what type of token we obtained - switch(xtype) - { - // If we have found text or quoted text - case eTokenText: - case eTokenCloseTag: /* '>' */ - case eTokenShortHandClose: /* '/>' */ - case eTokenQuotedText: - case eTokenEquals: - break; - - // If we found a start tag '<' and declarations 'error = eXMLErrorMissingTagName; - return FALSE; - } - - // If we found a new element which is the same as this - // element then we need to pass this back to the caller.. - -#ifdef APPROXIMATE_PARSING - if (d->lpszName && - myTagCompare(d->lpszName, token.pStr) == 0) - { - // Indicate to the caller that it needs to create a - // new element. - pXML->lpNewElement = token.pStr; - pXML->cbNewElement = cbToken; - return TRUE; - } else -#endif - { - // If the name of the new element differs from the name of - // the current element we need to add the new element to - // the current one and recurse - pNew = addChild_priv(MEMORYINCREASE,stringDup(token.pStr,cbToken), nDeclaration,-1); - - while (!pNew.isEmpty()) - { - // Callself to process the new node. If we return - // FALSE this means we dont have any more - // processing to do... - - if (!pNew.ParseXMLElement(pXML)) return FALSE; - else - { - // If the call to recurse this function - // evented in a end tag specified in XML then - // we need to unwind the calls to this - // function until we find the appropriate node - // (the element name and end tag name must - // match) - if (pXML->cbEndTag) - { - // If we are back at the root node then we - // have an unmatched end tag - if (!d->lpszName) - { - pXML->error=eXMLErrorUnmatchedEndTag; - return FALSE; - } - - // If the end tag matches the name of this - // element then we only need to unwind - // once more... - - if (myTagCompare(d->lpszName, pXML->lpEndTag)==0) - { - pXML->cbEndTag = 0; - } - - return TRUE; - } else - if (pXML->cbNewElement) - { - // If the call indicated a new element is to - // be created on THIS element. - - // If the name of this element matches the - // name of the element we need to create - // then we need to return to the caller - // and let it process the element. - - if (myTagCompare(d->lpszName, pXML->lpNewElement)==0) - { - return TRUE; - } - - // Add the new element and recurse - pNew = addChild_priv(MEMORYINCREASE,stringDup(pXML->lpNewElement,pXML->cbNewElement),0,-1); - pXML->cbNewElement = 0; - } - else - { - // If we didn't have a new element to create - pNew = emptyXMLNode; - - } - } - } - } - break; - - // If we found an end tag - case eTokenTagEnd: - - // If we have node text then add this to the element - if (maybeAddTxT(pXML,token.pStr)) return FALSE; - - // Find the name of the end tag - token = GetNextToken(pXML, &cbTemp, &xtype); - - // The end tag should be text - if (xtype != eTokenText) - { - pXML->error = eXMLErrorMissingEndTagName; - return FALSE; - } - lpszTemp = token.pStr; - - // After the end tag we should find a closing tag - token = GetNextToken(pXML, &cbToken, &xtype); - if (xtype != eTokenCloseTag) - { - pXML->error = eXMLErrorMissingEndTagName; - return FALSE; - } - pXML->lpszText=pXML->lpXML+pXML->nIndex; - - // We need to return to the previous caller. If the name - // of the tag cannot be found we need to keep returning to - // caller until we find a match - if (myTagCompare(d->lpszName, lpszTemp) != 0) -#ifdef STRICT_PARSING - { - pXML->error=eXMLErrorUnmatchedEndTag; - pXML->nIndexMissigEndTag=pXML->nIndex; - return FALSE; - } -#else - { - pXML->error=eXMLErrorMissingEndTag; - pXML->nIndexMissigEndTag=pXML->nIndex; - pXML->lpEndTag = lpszTemp; - pXML->cbEndTag = cbTemp; - } -#endif - - // Return to the caller - exactMemory(d); - return TRUE; - - // If we found a clear (unformatted) token - case eTokenClear: - // If we have node text then add this to the element - if (maybeAddTxT(pXML,token.pStr)) return FALSE; - if (parseClearTag(pXML, token.pClr)) return FALSE; - pXML->lpszText=pXML->lpXML+pXML->nIndex; - break; - - default: - break; - } - break; - - // If we are inside a tag definition we need to search for attributes - case eInsideTag: - - // Check what part of the attribute (name, equals, value) we - // are looking for. - switch(attrib) - { - // If we are looking for a new attribute - case eAttribName: - - // Check what the current token type is - switch(xtype) - { - // If the current type is text... - // Eg. 'attribute' - case eTokenText: - // Cache the token then indicate that we are next to - // look for the equals - lpszTemp = token.pStr; - cbTemp = cbToken; - attrib = eAttribEquals; - break; - - // If we found a closing tag... - // Eg. '>' - case eTokenCloseTag: - // We are now outside the tag - status = eOutsideTag; - pXML->lpszText=pXML->lpXML+pXML->nIndex; - break; - - // If we found a short hand '/>' closing tag then we can - // return to the caller - case eTokenShortHandClose: - exactMemory(d); - pXML->lpszText=pXML->lpXML+pXML->nIndex; - return TRUE; - - // Errors... - case eTokenQuotedText: /* '"SomeText"' */ - case eTokenTagStart: /* '<' */ - case eTokenTagEnd: /* 'error = eXMLErrorUnexpectedToken; - return FALSE; - default: break; - } - break; - - // If we are looking for an equals - case eAttribEquals: - // Check what the current token type is - switch(xtype) - { - // If the current type is text... - // Eg. 'Attribute AnotherAttribute' - case eTokenText: - // Add the unvalued attribute to the list - addAttribute_priv(MEMORYINCREASE,stringDup(lpszTemp,cbTemp), NULL); - // Cache the token then indicate. We are next to - // look for the equals attribute - lpszTemp = token.pStr; - cbTemp = cbToken; - break; - - // If we found a closing tag 'Attribute >' or a short hand - // closing tag 'Attribute />' - case eTokenShortHandClose: - case eTokenCloseTag: - // If we are a declaration element 'lpszText=pXML->lpXML+pXML->nIndex; - - if (d->isDeclaration && - (lpszTemp[cbTemp-1]) == _CXML('?')) - { - cbTemp--; - if (d->pParent && d->pParent->pParent) xtype = eTokenShortHandClose; - } - - if (cbTemp) - { - // Add the unvalued attribute to the list - addAttribute_priv(MEMORYINCREASE,stringDup(lpszTemp,cbTemp), NULL); - } - - // If this is the end of the tag then return to the caller - if (xtype == eTokenShortHandClose) - { - exactMemory(d); - return TRUE; - } - - // We are now outside the tag - status = eOutsideTag; - break; - - // If we found the equals token... - // Eg. 'Attribute =' - case eTokenEquals: - // Indicate that we next need to search for the value - // for the attribute - attrib = eAttribValue; - break; - - // Errors... - case eTokenQuotedText: /* 'Attribute "InvalidAttr"'*/ - case eTokenTagStart: /* 'Attribute <' */ - case eTokenTagEnd: /* 'Attribute error = eXMLErrorUnexpectedToken; - return FALSE; - default: break; - } - break; - - // If we are looking for an attribute value - case eAttribValue: - // Check what the current token type is - switch(xtype) - { - // If the current type is text or quoted text... - // Eg. 'Attribute = "Value"' or 'Attribute = Value' or - // 'Attribute = 'Value''. - case eTokenText: - case eTokenQuotedText: - // If we are a declaration element 'isDeclaration && - (token.pStr[cbToken-1]) == _CXML('?')) - { - cbToken--; - } - - if (cbTemp) - { - // Add the valued attribute to the list - if (xtype==eTokenQuotedText) { token.pStr++; cbToken-=2; } - XMLSTR attrVal=(XMLSTR)token.pStr; - if (attrVal) - { - attrVal=fromXMLString(attrVal,cbToken,pXML); - if (!attrVal) return FALSE; - } - addAttribute_priv(MEMORYINCREASE,stringDup(lpszTemp,cbTemp),attrVal); - } - - // Indicate we are searching for a new attribute - attrib = eAttribName; - break; - - // Errors... - case eTokenTagStart: /* 'Attr = <' */ - case eTokenTagEnd: /* 'Attr = ' */ - case eTokenShortHandClose: /* "Attr = />" */ - case eTokenEquals: /* 'Attr = =' */ - case eTokenDeclaration: /* 'Attr = error = eXMLErrorUnexpectedToken; - return FALSE; - break; - default: break; - } - } - } - } - // If we failed to obtain the next token - else - { - if ((!d->isDeclaration)&&(d->pParent)) - { -#ifdef STRICT_PARSING - pXML->error=eXMLErrorUnmatchedEndTag; -#else - pXML->error=eXMLErrorMissingEndTag; -#endif - pXML->nIndexMissigEndTag=pXML->nIndex; - } - maybeAddTxT(pXML,pXML->lpXML+pXML->nIndex); - return FALSE; - } - } -} - -// Count the number of lines and columns in an XML string. -static void CountLinesAndColumns(XMLCSTR lpXML, int nUpto, XMLResults *pResults) -{ - XMLCHAR ch; - assert(lpXML); - assert(pResults); - - struct XML xml={ lpXML,lpXML, 0, 0, eXMLErrorNone, NULL, 0, NULL, 0, TRUE }; - - pResults->nLine = 1; - pResults->nColumn = 1; - while (xml.nIndexnColumn++; - else - { - pResults->nLine++; - pResults->nColumn=1; - } - } -} - -// Parse XML and return the root element. -XMLNode XMLNode::parseString(XMLCSTR lpszXML, XMLCSTR tag, XMLResults *pResults) -{ - if (!lpszXML) - { - if (pResults) - { - pResults->error=eXMLErrorNoElements; - pResults->nLine=0; - pResults->nColumn=0; - } - return emptyXMLNode; - } - - XMLNode xnode(NULL,NULL,FALSE); - struct XML xml={ lpszXML, lpszXML, 0, 0, eXMLErrorNone, NULL, 0, NULL, 0, TRUE }; - - // Create header element - xnode.ParseXMLElement(&xml); - enum XMLError error = xml.error; - if (!xnode.nChildNode()) error=eXMLErrorNoXMLTagFound; - if ((xnode.nChildNode()==1)&&(xnode.nElement()==1)) xnode=xnode.getChildNode(); // skip the empty node - - // If no error occurred - if ((error==eXMLErrorNone)||(error==eXMLErrorMissingEndTag)||(error==eXMLErrorNoXMLTagFound)) - { - XMLCSTR name=xnode.getName(); - if (tag&&(*tag)&&((!name)||(xstricmp(name,tag)))) - { - xnode=xnode.getChildNode(tag); - if (xnode.isEmpty()) - { - if (pResults) - { - pResults->error=eXMLErrorFirstTagNotFound; - pResults->nLine=0; - pResults->nColumn=0; - } - return emptyXMLNode; - } - } - } else - { - // Cleanup: this will destroy all the nodes - xnode = emptyXMLNode; - } - - - // If we have been given somewhere to place results - if (pResults) - { - pResults->error = error; - - // If we have an error - if (error!=eXMLErrorNone) - { - if (error==eXMLErrorMissingEndTag) xml.nIndex=xml.nIndexMissigEndTag; - // Find which line and column it starts on. - CountLinesAndColumns(xml.lpXML, xml.nIndex, pResults); - } - } - return xnode; -} - -XMLNode XMLNode::parseFile(XMLCSTR filename, XMLCSTR tag, XMLResults *pResults) -{ - if (pResults) { pResults->nLine=0; pResults->nColumn=0; } - FILE *f=xfopen(filename,_CXML("rb")); - if (f==NULL) { if (pResults) pResults->error=eXMLErrorFileNotFound; return emptyXMLNode; } - fseek(f,0,SEEK_END); - int l=(int)ftell(f),headerSz=0; - if (!l) { if (pResults) pResults->error=eXMLErrorEmpty; fclose(f); return emptyXMLNode; } - fseek(f,0,SEEK_SET); - unsigned char *buf=(unsigned char*)malloc(l+4); - l=(int)fread(buf,1,l,f); - fclose(f); - buf[l]=0;buf[l+1]=0;buf[l+2]=0;buf[l+3]=0; -#ifdef _XMLWIDECHAR - if (guessWideCharChars) - { - if (!myIsTextWideChar(buf,l)) - { - XMLNode::XMLCharEncoding ce=XMLNode::char_encoding_legacy; - if ((buf[0]==0xef)&&(buf[1]==0xbb)&&(buf[2]==0xbf)) { headerSz=3; ce=XMLNode::char_encoding_UTF8; } - XMLSTR b2=myMultiByteToWideChar((const char*)(buf+headerSz),ce); - if (!b2) - { - // todo: unable to convert - } - free(buf); buf=(unsigned char*)b2; headerSz=0; - } else - { - if ((buf[0]==0xef)&&(buf[1]==0xff)) headerSz=2; - if ((buf[0]==0xff)&&(buf[1]==0xfe)) headerSz=2; - } - } else - { - if ((buf[0]==0xef)&&(buf[1]==0xff)) headerSz=2; - if ((buf[0]==0xff)&&(buf[1]==0xfe)) headerSz=2; - if ((buf[0]==0xef)&&(buf[1]==0xbb)&&(buf[2]==0xbf)) headerSz=3; - } -#else - if (guessWideCharChars) - { - if (myIsTextWideChar(buf,l)) - { - if ((buf[0]==0xef)&&(buf[1]==0xff)) headerSz=2; - if ((buf[0]==0xff)&&(buf[1]==0xfe)) headerSz=2; - char *b2=myWideCharToMultiByte((const wchar_t*)(buf+headerSz)); - free(buf); buf=(unsigned char*)b2; headerSz=0; - } else - { - if ((buf[0]==0xef)&&(buf[1]==0xbb)&&(buf[2]==0xbf)) headerSz=3; - } - } else - { - if ((buf[0]==0xef)&&(buf[1]==0xff)) headerSz=2; - if ((buf[0]==0xff)&&(buf[1]==0xfe)) headerSz=2; - if ((buf[0]==0xef)&&(buf[1]==0xbb)&&(buf[2]==0xbf)) headerSz=3; - } -#endif - - if (!buf) { if (pResults) pResults->error=eXMLErrorCharConversionError; return emptyXMLNode; } - XMLNode x=parseString((XMLSTR)(buf+headerSz),tag,pResults); - free(buf); - return x; -} - -static inline void charmemset(XMLSTR dest,XMLCHAR c,int l) { while (l--) *(dest++)=c; } -// private: -// Creates an user friendly XML string from a given element with -// appropriate white space and carriage returns. -// -// This recurses through all subnodes then adds contents of the nodes to the -// string. -int XMLNode::CreateXMLStringR(XMLNodeData *pEntry, XMLSTR lpszMarker, int nFormat) -{ - int nResult = 0; - int cb=nFormat<0?0:nFormat; - int cbElement; - int nChildFormat=-1; - int nElementI=pEntry->nChild+pEntry->nText+pEntry->nClear; - int i,j; - if ((nFormat>=0)&&(nElementI==1)&&(pEntry->nText==1)&&(!pEntry->isDeclaration)) nFormat=-2; - - assert(pEntry); - -#define LENSTR(lpsz) (lpsz ? xstrlen(lpsz) : 0) - - // If the element has no name then assume this is the head node. - cbElement = (int)LENSTR(pEntry->lpszName); - - if (cbElement) - { - // "isDeclaration) lpszMarker[nResult++]=_CXML('?'); - xstrcpy(&lpszMarker[nResult], pEntry->lpszName); - nResult+=cbElement; - lpszMarker[nResult++]=_CXML(' '); - - } else - { - nResult+=cbElement+2+cb; - if (pEntry->isDeclaration) nResult++; - } - - // Enumerate attributes and add them to the string - XMLAttribute *pAttr=pEntry->pAttribute; - for (i=0; inAttribute; i++) - { - // "Attrib - cb = (int)LENSTR(pAttr->lpszName); - if (cb) - { - if (lpszMarker) xstrcpy(&lpszMarker[nResult], pAttr->lpszName); - nResult += cb; - // "Attrib=Value " - if (pAttr->lpszValue) - { - cb=(int)ToXMLStringTool::lengthXMLString(pAttr->lpszValue); - if (lpszMarker) - { - lpszMarker[nResult]=_CXML('='); - lpszMarker[nResult+1]=_CXML('"'); - if (cb) ToXMLStringTool::toXMLUnSafe(&lpszMarker[nResult+2],pAttr->lpszValue); - lpszMarker[nResult+cb+2]=_CXML('"'); - } - nResult+=cb+3; - } - if (lpszMarker) lpszMarker[nResult] = _CXML(' '); - nResult++; - } - pAttr++; - } - - if (pEntry->isDeclaration) - { - if (lpszMarker) - { - lpszMarker[nResult-1]=_CXML('?'); - lpszMarker[nResult]=_CXML('>'); - } - nResult++; - if (nFormat!=-1) - { - if (lpszMarker) lpszMarker[nResult]=_CXML('\n'); - nResult++; - } - } else - // If there are child nodes we need to terminate the start tag - if (nElementI) - { - if (lpszMarker) lpszMarker[nResult-1]=_CXML('>'); - if (nFormat>=0) - { - if (lpszMarker) lpszMarker[nResult]=_CXML('\n'); - nResult++; - } - } else nResult--; - } - - // Calculate the child format for when we recurse. This is used to - // determine the number of spaces used for prefixes. - if (nFormat!=-1) - { - if (cbElement&&(!pEntry->isDeclaration)) nChildFormat=nFormat+1; - else nChildFormat=nFormat; - } - - // Enumerate through remaining children - for (i=0; ipOrder[i]; - switch((XMLElementType)(j&3)) - { - // Text nodes - case eNodeText: - { - // "Text" - XMLCSTR pChild=pEntry->pText[j>>2]; - cb = (int)ToXMLStringTool::lengthXMLString(pChild); - if (cb) - { - if (nFormat>=0) - { - if (lpszMarker) - { - charmemset(&lpszMarker[nResult],INDENTCHAR,nFormat+1); - ToXMLStringTool::toXMLUnSafe(&lpszMarker[nResult+nFormat+1],pChild); - lpszMarker[nResult+nFormat+1+cb]=_CXML('\n'); - } - nResult+=cb+nFormat+2; - } else - { - if (lpszMarker) ToXMLStringTool::toXMLUnSafe(&lpszMarker[nResult], pChild); - nResult += cb; - } - } - break; - } - - // Clear type nodes - case eNodeClear: - { - XMLClear *pChild=pEntry->pClear+(j>>2); - // "OpenTag" - cb = (int)LENSTR(pChild->lpszOpenTag); - if (cb) - { - if (nFormat!=-1) - { - if (lpszMarker) - { - charmemset(&lpszMarker[nResult], INDENTCHAR, nFormat+1); - xstrcpy(&lpszMarker[nResult+nFormat+1], pChild->lpszOpenTag); - } - nResult+=cb+nFormat+1; - } - else - { - if (lpszMarker)xstrcpy(&lpszMarker[nResult], pChild->lpszOpenTag); - nResult += cb; - } - } - - // "OpenTag Value" - cb = (int)LENSTR(pChild->lpszValue); - if (cb) - { - if (lpszMarker) xstrcpy(&lpszMarker[nResult], pChild->lpszValue); - nResult += cb; - } - - // "OpenTag Value CloseTag" - cb = (int)LENSTR(pChild->lpszCloseTag); - if (cb) - { - if (lpszMarker) xstrcpy(&lpszMarker[nResult], pChild->lpszCloseTag); - nResult += cb; - } - - if (nFormat!=-1) - { - if (lpszMarker) lpszMarker[nResult] = _CXML('\n'); - nResult++; - } - break; - } - - // Element nodes - case eNodeChild: - { - // Recursively add child nodes - nResult += CreateXMLStringR(pEntry->pChild[j>>2].d, lpszMarker ? lpszMarker + nResult : 0, nChildFormat); - break; - } - default: break; - } - } - - if ((cbElement)&&(!pEntry->isDeclaration)) - { - // If we have child entries we need to use long XML notation for - // closing the element - "blah blah blah" - if (nElementI) - { - // "\0" - if (lpszMarker) - { - if (nFormat >=0) - { - charmemset(&lpszMarker[nResult], INDENTCHAR,nFormat); - nResult+=nFormat; - } - - lpszMarker[nResult]=_CXML('<'); lpszMarker[nResult+1]=_CXML('/'); - nResult += 2; - xstrcpy(&lpszMarker[nResult], pEntry->lpszName); - nResult += cbElement; - - lpszMarker[nResult]=_CXML('>'); - if (nFormat == -1) nResult++; - else - { - lpszMarker[nResult+1]=_CXML('\n'); - nResult+=2; - } - } else - { - if (nFormat>=0) nResult+=cbElement+4+nFormat; - else if (nFormat==-1) nResult+=cbElement+3; - else nResult+=cbElement+4; - } - } else - { - // If there are no children we can use shorthand XML notation - - // "" - // "/>\0" - if (lpszMarker) - { - lpszMarker[nResult]=_CXML('/'); lpszMarker[nResult+1]=_CXML('>'); - if (nFormat != -1) lpszMarker[nResult+2]=_CXML('\n'); - } - nResult += nFormat == -1 ? 2 : 3; - } - } - - return nResult; -} - -#undef LENSTR - -// Create an XML string -// @param int nFormat - 0 if no formatting is required -// otherwise nonzero for formatted text -// with carriage returns and indentation. -// @param int *pnSize - [out] pointer to the size of the -// returned string not including the -// NULL terminator. -// @return XMLSTR - Allocated XML string, you must free -// this with free(). -XMLSTR XMLNode::createXMLString(int nFormat, int *pnSize) const -{ - if (!d) { if (pnSize) *pnSize=0; return NULL; } - - XMLSTR lpszResult = NULL; - int cbStr; - - // Recursively Calculate the size of the XML string - if (!dropWhiteSpace) nFormat=0; - nFormat = nFormat ? 0 : -1; - cbStr = CreateXMLStringR(d, 0, nFormat); - // Alllocate memory for the XML string + the NULL terminator and - // create the recursively XML string. - lpszResult=(XMLSTR)malloc((cbStr+1)*sizeof(XMLCHAR)); - CreateXMLStringR(d, lpszResult, nFormat); - lpszResult[cbStr]=_CXML('\0'); - if (pnSize) *pnSize = cbStr; - return lpszResult; -} - -int XMLNode::detachFromParent(XMLNodeData *d) -{ - XMLNode *pa=d->pParent->pChild; - int i=0; - while (((void*)(pa[i].d))!=((void*)d)) i++; - d->pParent->nChild--; - if (d->pParent->nChild) memmove(pa+i,pa+i+1,(d->pParent->nChild-i)*sizeof(XMLNode)); - else { free(pa); d->pParent->pChild=NULL; } - return removeOrderElement(d->pParent,eNodeChild,i); -} - -XMLNode::~XMLNode() -{ - if (!d) return; - d->ref_count--; - emptyTheNode(0); -} -void XMLNode::deleteNodeContent() -{ - if (!d) return; - if (d->pParent) { detachFromParent(d); d->pParent=NULL; d->ref_count--; } - emptyTheNode(1); -} -void XMLNode::emptyTheNode(char force) -{ - XMLNodeData *dd=d; // warning: must stay this way! - if ((dd->ref_count==0)||force) - { - if (d->pParent) detachFromParent(d); - int i; - XMLNode *pc; - for(i=0; inChild; i++) - { - pc=dd->pChild+i; - pc->d->pParent=NULL; - pc->d->ref_count--; - pc->emptyTheNode(force); - } - myFree(dd->pChild); - for(i=0; inText; i++) free((void*)dd->pText[i]); - myFree(dd->pText); - for(i=0; inClear; i++) free((void*)dd->pClear[i].lpszValue); - myFree(dd->pClear); - for(i=0; inAttribute; i++) - { - free((void*)dd->pAttribute[i].lpszName); - if (dd->pAttribute[i].lpszValue) free((void*)dd->pAttribute[i].lpszValue); - } - myFree(dd->pAttribute); - myFree(dd->pOrder); - myFree((void*)dd->lpszName); - dd->nChild=0; dd->nText=0; dd->nClear=0; dd->nAttribute=0; - dd->pChild=NULL; dd->pText=NULL; dd->pClear=NULL; dd->pAttribute=NULL; - dd->pOrder=NULL; dd->lpszName=NULL; dd->pParent=NULL; - } - if (dd->ref_count==0) - { - free(dd); - d=NULL; - } -} - -XMLNode& XMLNode::operator=( const XMLNode& A ) -{ - // shallow copy - if (this != &A) - { - if (d) { d->ref_count--; emptyTheNode(0); } - d=A.d; - if (d) (d->ref_count) ++ ; - } - return *this; -} - -XMLNode::XMLNode(const XMLNode &A) -{ - // shallow copy - d=A.d; - if (d) (d->ref_count)++ ; -} - -XMLNode XMLNode::deepCopy() const -{ - if (!d) return XMLNode::emptyXMLNode; - XMLNode x(NULL,stringDup(d->lpszName),d->isDeclaration); - XMLNodeData *p=x.d; - int n=d->nAttribute; - if (n) - { - p->nAttribute=n; p->pAttribute=(XMLAttribute*)malloc(n*sizeof(XMLAttribute)); - while (n--) - { - p->pAttribute[n].lpszName=stringDup(d->pAttribute[n].lpszName); - p->pAttribute[n].lpszValue=stringDup(d->pAttribute[n].lpszValue); - } - } - if (d->pOrder) - { - n=(d->nChild+d->nText+d->nClear)*sizeof(int); p->pOrder=(int*)malloc(n); memcpy(p->pOrder,d->pOrder,n); - } - n=d->nText; - if (n) - { - p->nText=n; p->pText=(XMLCSTR*)malloc(n*sizeof(XMLCSTR)); - while(n--) p->pText[n]=stringDup(d->pText[n]); - } - n=d->nClear; - if (n) - { - p->nClear=n; p->pClear=(XMLClear*)malloc(n*sizeof(XMLClear)); - while (n--) - { - p->pClear[n].lpszCloseTag=d->pClear[n].lpszCloseTag; - p->pClear[n].lpszOpenTag=d->pClear[n].lpszOpenTag; - p->pClear[n].lpszValue=stringDup(d->pClear[n].lpszValue); - } - } - n=d->nChild; - if (n) - { - p->nChild=n; p->pChild=(XMLNode*)malloc(n*sizeof(XMLNode)); - while (n--) - { - p->pChild[n].d=NULL; - p->pChild[n]=d->pChild[n].deepCopy(); - p->pChild[n].d->pParent=p; - } - } - return x; -} - -XMLNode XMLNode::addChild(XMLNode childNode, int pos) -{ - XMLNodeData *dc=childNode.d; - if ((!dc)||(!d)) return childNode; - if (!dc->lpszName) - { - // this is a root node: todo: correct fix - int j=pos; - while (dc->nChild) - { - addChild(dc->pChild[0],j); - if (pos>=0) j++; - } - return childNode; - } - if (dc->pParent) { if ((detachFromParent(dc)<=pos)&&(dc->pParent==d)) pos--; } else dc->ref_count++; - dc->pParent=d; -// int nc=d->nChild; -// d->pChild=(XMLNode*)myRealloc(d->pChild,(nc+1),memoryIncrease,sizeof(XMLNode)); - d->pChild=(XMLNode*)addToOrder(0,&pos,d->nChild,d->pChild,sizeof(XMLNode),eNodeChild); - d->pChild[pos].d=dc; - d->nChild++; - return childNode; -} - -void XMLNode::deleteAttribute(int i) -{ - if ((!d)||(i<0)||(i>=d->nAttribute)) return; - d->nAttribute--; - XMLAttribute *p=d->pAttribute+i; - free((void*)p->lpszName); - if (p->lpszValue) free((void*)p->lpszValue); - if (d->nAttribute) memmove(p,p+1,(d->nAttribute-i)*sizeof(XMLAttribute)); else { free(p); d->pAttribute=NULL; } -} - -void XMLNode::deleteAttribute(XMLAttribute *a){ if (a) deleteAttribute(a->lpszName); } -void XMLNode::deleteAttribute(XMLCSTR lpszName) -{ - int j=0; - getAttribute(lpszName,&j); - if (j) deleteAttribute(j-1); -} - -XMLAttribute *XMLNode::updateAttribute_WOSD(XMLSTR lpszNewValue, XMLSTR lpszNewName,int i) -{ - if (!d) { if (lpszNewValue) free(lpszNewValue); if (lpszNewName) free(lpszNewName); return NULL; } - if (i>=d->nAttribute) - { - if (lpszNewName) return addAttribute_WOSD(lpszNewName,lpszNewValue); - return NULL; - } - XMLAttribute *p=d->pAttribute+i; - if (p->lpszValue&&p->lpszValue!=lpszNewValue) free((void*)p->lpszValue); - p->lpszValue=lpszNewValue; - if (lpszNewName&&p->lpszName!=lpszNewName) { free((void*)p->lpszName); p->lpszName=lpszNewName; }; - return p; -} - -XMLAttribute *XMLNode::updateAttribute_WOSD(XMLAttribute *newAttribute, XMLAttribute *oldAttribute) -{ - if (oldAttribute) return updateAttribute_WOSD((XMLSTR)newAttribute->lpszValue,(XMLSTR)newAttribute->lpszName,oldAttribute->lpszName); - return addAttribute_WOSD((XMLSTR)newAttribute->lpszName,(XMLSTR)newAttribute->lpszValue); -} - -XMLAttribute *XMLNode::updateAttribute_WOSD(XMLSTR lpszNewValue, XMLSTR lpszNewName,XMLCSTR lpszOldName) -{ - int j=0; - getAttribute(lpszOldName,&j); - if (j) return updateAttribute_WOSD(lpszNewValue,lpszNewName,j-1); - else - { - if (lpszNewName) return addAttribute_WOSD(lpszNewName,lpszNewValue); - else return addAttribute_WOSD(stringDup(lpszOldName),lpszNewValue); - } -} - -int XMLNode::indexText(XMLCSTR lpszValue) const -{ - if (!d) return -1; - int i,l=d->nText; - if (!lpszValue) { if (l) return 0; return -1; } - XMLCSTR *p=d->pText; - for (i=0; i=d->nText)) return; - d->nText--; - XMLCSTR *p=d->pText+i; - free((void*)*p); - if (d->nText) memmove(p,p+1,(d->nText-i)*sizeof(XMLCSTR)); else { free(p); d->pText=NULL; } - removeOrderElement(d,eNodeText,i); -} - -void XMLNode::deleteText(XMLCSTR lpszValue) { deleteText(indexText(lpszValue)); } - -XMLCSTR XMLNode::updateText_WOSD(XMLSTR lpszNewValue, int i) -{ - if (!d) { if (lpszNewValue) free(lpszNewValue); return NULL; } - if (i>=d->nText) return addText_WOSD(lpszNewValue); - XMLCSTR *p=d->pText+i; - if (*p!=lpszNewValue) { free((void*)*p); *p=lpszNewValue; } - return lpszNewValue; -} - -XMLCSTR XMLNode::updateText_WOSD(XMLSTR lpszNewValue, XMLCSTR lpszOldValue) -{ - if (!d) { if (lpszNewValue) free(lpszNewValue); return NULL; } - int i=indexText(lpszOldValue); - if (i>=0) return updateText_WOSD(lpszNewValue,i); - return addText_WOSD(lpszNewValue); -} - -void XMLNode::deleteClear(int i) -{ - if ((!d)||(i<0)||(i>=d->nClear)) return; - d->nClear--; - XMLClear *p=d->pClear+i; - free((void*)p->lpszValue); - if (d->nClear) memmove(p,p+1,(d->nClear-i)*sizeof(XMLClear)); else { free(p); d->pClear=NULL; } - removeOrderElement(d,eNodeClear,i); -} - -int XMLNode::indexClear(XMLCSTR lpszValue) const -{ - if (!d) return -1; - int i,l=d->nClear; - if (!lpszValue) { if (l) return 0; return -1; } - XMLClear *p=d->pClear; - for (i=0; ilpszValue); } - -XMLClear *XMLNode::updateClear_WOSD(XMLSTR lpszNewContent, int i) -{ - if (!d) { if (lpszNewContent) free(lpszNewContent); return NULL; } - if (i>=d->nClear) return addClear_WOSD(lpszNewContent); - XMLClear *p=d->pClear+i; - if (lpszNewContent!=p->lpszValue) { free((void*)p->lpszValue); p->lpszValue=lpszNewContent; } - return p; -} - -XMLClear *XMLNode::updateClear_WOSD(XMLSTR lpszNewContent, XMLCSTR lpszOldValue) -{ - if (!d) { if (lpszNewContent) free(lpszNewContent); return NULL; } - int i=indexClear(lpszOldValue); - if (i>=0) return updateClear_WOSD(lpszNewContent,i); - return addClear_WOSD(lpszNewContent); -} - -XMLClear *XMLNode::updateClear_WOSD(XMLClear *newP,XMLClear *oldP) -{ - if (oldP) return updateClear_WOSD((XMLSTR)newP->lpszValue,(XMLSTR)oldP->lpszValue); - return NULL; -} - -int XMLNode::nChildNode(XMLCSTR name) const -{ - if (!d) return 0; - int i,j=0,n=d->nChild; - XMLNode *pc=d->pChild; - for (i=0; id->lpszName, name)==0) j++; - pc++; - } - return j; -} - -XMLNode XMLNode::getChildNode(XMLCSTR name, int *j) const -{ - if (!d) return emptyXMLNode; - int i=0,n=d->nChild; - if (j) i=*j; - XMLNode *pc=d->pChild+i; - for (; id->lpszName, name)) - { - if (j) *j=i+1; - return *pc; - } - pc++; - } - return emptyXMLNode; -} - -XMLNode XMLNode::getChildNode(XMLCSTR name, int j) const -{ - if (!d) return emptyXMLNode; - if (j>=0) - { - int i=0; - while (j-->0) getChildNode(name,&i); - return getChildNode(name,&i); - } - int i=d->nChild; - while (i--) if (!xstricmp(name,d->pChild[i].d->lpszName)) break; - if (i<0) return emptyXMLNode; - return getChildNode(i); -} - -XMLNode XMLNode::getChildNodeByPath(XMLCSTR _path, char createMissing, XMLCHAR sep) -{ - XMLSTR path=stringDup(_path); - XMLNode x=getChildNodeByPathNonConst(path,createMissing,sep); - if (path) free(path); - return x; -} - -XMLNode XMLNode::getChildNodeByPathNonConst(XMLSTR path, char createIfMissing, XMLCHAR sep) -{ - if ((!path)||(!(*path))) return *this; - XMLNode xn,xbase=*this; - XMLCHAR *tend1,sepString[2]; sepString[0]=sep; sepString[1]=0; - tend1=xstrstr(path,sepString); - while(tend1) - { - *tend1=0; - xn=xbase.getChildNode(path); - if (xn.isEmpty()) - { - if (createIfMissing) xn=xbase.addChild(path); - else { *tend1=sep; return XMLNode::emptyXMLNode; } - } - *tend1=sep; - xbase=xn; - path=tend1+1; - tend1=xstrstr(path,sepString); - } - xn=xbase.getChildNode(path); - if (xn.isEmpty()&&createIfMissing) xn=xbase.addChild(path); - return xn; -} - -XMLElementPosition XMLNode::positionOfText (int i) const { if (i>=d->nText ) i=d->nText-1; return findPosition(d,i,eNodeText ); } -XMLElementPosition XMLNode::positionOfClear (int i) const { if (i>=d->nClear) i=d->nClear-1; return findPosition(d,i,eNodeClear); } -XMLElementPosition XMLNode::positionOfChildNode(int i) const { if (i>=d->nChild) i=d->nChild-1; return findPosition(d,i,eNodeChild); } -XMLElementPosition XMLNode::positionOfText (XMLCSTR lpszValue) const { return positionOfText (indexText (lpszValue)); } -XMLElementPosition XMLNode::positionOfClear(XMLCSTR lpszValue) const { return positionOfClear(indexClear(lpszValue)); } -XMLElementPosition XMLNode::positionOfClear(XMLClear *a) const { if (a) return positionOfClear(a->lpszValue); return positionOfClear(); } -XMLElementPosition XMLNode::positionOfChildNode(XMLNode x) const -{ - if ((!d)||(!x.d)) return -1; - XMLNodeData *dd=x.d; - XMLNode *pc=d->pChild; - int i=d->nChild; - while (i--) if (pc[i].d==dd) return findPosition(d,i,eNodeChild); - return -1; -} -XMLElementPosition XMLNode::positionOfChildNode(XMLCSTR name, int count) const -{ - if (!name) return positionOfChildNode(count); - int j=0; - do { getChildNode(name,&j); if (j<0) return -1; } while (count--); - return findPosition(d,j-1,eNodeChild); -} - -XMLNode XMLNode::getChildNodeWithAttribute(XMLCSTR name,XMLCSTR attributeName,XMLCSTR attributeValue, int *k) const -{ - int i=0,j; - if (k) i=*k; - XMLNode x; - XMLCSTR t; - do - { - x=getChildNode(name,&i); - if (!x.isEmpty()) - { - if (attributeValue) - { - j=0; - do - { - t=x.getAttribute(attributeName,&j); - if (t&&(xstricmp(attributeValue,t)==0)) { if (k) *k=i; return x; } - } while (t); - } else - { - if (x.isAttributeSet(attributeName)) { if (k) *k=i; return x; } - } - } - } while (!x.isEmpty()); - return emptyXMLNode; -} - -// Find an attribute on an node. -XMLCSTR XMLNode::getAttribute(XMLCSTR lpszAttrib, int *j) const -{ - if (!d) return NULL; - int i=0,n=d->nAttribute; - if (j) i=*j; - XMLAttribute *pAttr=d->pAttribute+i; - for (; ilpszName, lpszAttrib)==0) - { - if (j) *j=i+1; - return pAttr->lpszValue; - } - pAttr++; - } - return NULL; -} - -char XMLNode::isAttributeSet(XMLCSTR lpszAttrib) const -{ - if (!d) return FALSE; - int i,n=d->nAttribute; - XMLAttribute *pAttr=d->pAttribute; - for (i=0; ilpszName, lpszAttrib)==0) - { - return TRUE; - } - pAttr++; - } - return FALSE; -} - -XMLCSTR XMLNode::getAttribute(XMLCSTR name, int j) const -{ - if (!d) return NULL; - int i=0; - while (j-->0) getAttribute(name,&i); - return getAttribute(name,&i); -} - -XMLNodeContents XMLNode::enumContents(int i) const -{ - XMLNodeContents c; - if (!d) { c.etype=eNodeNULL; return c; } - if (inAttribute) - { - c.etype=eNodeAttribute; - c.attrib=d->pAttribute[i]; - return c; - } - i-=d->nAttribute; - c.etype=(XMLElementType)(d->pOrder[i]&3); - i=(d->pOrder[i])>>2; - switch (c.etype) - { - case eNodeChild: c.child = d->pChild[i]; break; - case eNodeText: c.text = d->pText[i]; break; - case eNodeClear: c.clear = d->pClear[i]; break; - default: break; - } - return c; -} - -XMLCSTR XMLNode::getName() const { if (!d) return NULL; return d->lpszName; } -int XMLNode::nText() const { if (!d) return 0; return d->nText; } -int XMLNode::nChildNode() const { if (!d) return 0; return d->nChild; } -int XMLNode::nAttribute() const { if (!d) return 0; return d->nAttribute; } -int XMLNode::nClear() const { if (!d) return 0; return d->nClear; } -int XMLNode::nElement() const { if (!d) return 0; return d->nAttribute+d->nChild+d->nText+d->nClear; } -XMLClear XMLNode::getClear (int i) const { if ((!d)||(i>=d->nClear )) return emptyXMLClear; return d->pClear[i]; } -XMLAttribute XMLNode::getAttribute (int i) const { if ((!d)||(i>=d->nAttribute)) return emptyXMLAttribute; return d->pAttribute[i]; } -XMLCSTR XMLNode::getAttributeName (int i) const { if ((!d)||(i>=d->nAttribute)) return NULL; return d->pAttribute[i].lpszName; } -XMLCSTR XMLNode::getAttributeValue(int i) const { if ((!d)||(i>=d->nAttribute)) return NULL; return d->pAttribute[i].lpszValue; } -XMLCSTR XMLNode::getText (int i) const { if ((!d)||(i>=d->nText )) return NULL; return d->pText[i]; } -XMLNode XMLNode::getChildNode (int i) const { if ((!d)||(i>=d->nChild )) return emptyXMLNode; return d->pChild[i]; } -XMLNode XMLNode::getParentNode ( ) const { if ((!d)||(!d->pParent )) return emptyXMLNode; return XMLNode(d->pParent); } -char XMLNode::isDeclaration ( ) const { if (!d) return 0; return d->isDeclaration; } -char XMLNode::isEmpty ( ) const { return (d==NULL); } -XMLNode XMLNode::emptyNode ( ) { return XMLNode::emptyXMLNode; } - -XMLNode XMLNode::addChild(XMLCSTR lpszName, char isDeclaration, XMLElementPosition pos) - { return addChild_priv(0,stringDup(lpszName),isDeclaration,pos); } -XMLNode XMLNode::addChild_WOSD(XMLSTR lpszName, char isDeclaration, XMLElementPosition pos) - { return addChild_priv(0,lpszName,isDeclaration,pos); } -XMLAttribute *XMLNode::addAttribute(XMLCSTR lpszName, XMLCSTR lpszValue) - { return addAttribute_priv(0,stringDup(lpszName),stringDup(lpszValue)); } -XMLAttribute *XMLNode::addAttribute_WOSD(XMLSTR lpszName, XMLSTR lpszValuev) - { return addAttribute_priv(0,lpszName,lpszValuev); } -XMLCSTR XMLNode::addText(XMLCSTR lpszValue, XMLElementPosition pos) - { return addText_priv(0,stringDup(lpszValue),pos); } -XMLCSTR XMLNode::addText_WOSD(XMLSTR lpszValue, XMLElementPosition pos) - { return addText_priv(0,lpszValue,pos); } -XMLClear *XMLNode::addClear(XMLCSTR lpszValue, XMLCSTR lpszOpen, XMLCSTR lpszClose, XMLElementPosition pos) - { return addClear_priv(0,stringDup(lpszValue),lpszOpen,lpszClose,pos); } -XMLClear *XMLNode::addClear_WOSD(XMLSTR lpszValue, XMLCSTR lpszOpen, XMLCSTR lpszClose, XMLElementPosition pos) - { return addClear_priv(0,lpszValue,lpszOpen,lpszClose,pos); } -XMLCSTR XMLNode::updateName(XMLCSTR lpszName) - { return updateName_WOSD(stringDup(lpszName)); } -XMLAttribute *XMLNode::updateAttribute(XMLAttribute *newAttribute, XMLAttribute *oldAttribute) - { return updateAttribute_WOSD(stringDup(newAttribute->lpszValue),stringDup(newAttribute->lpszName),oldAttribute->lpszName); } -XMLAttribute *XMLNode::updateAttribute(XMLCSTR lpszNewValue, XMLCSTR lpszNewName,int i) - { return updateAttribute_WOSD(stringDup(lpszNewValue),stringDup(lpszNewName),i); } -XMLAttribute *XMLNode::updateAttribute(XMLCSTR lpszNewValue, XMLCSTR lpszNewName,XMLCSTR lpszOldName) - { return updateAttribute_WOSD(stringDup(lpszNewValue),stringDup(lpszNewName),lpszOldName); } -XMLCSTR XMLNode::updateText(XMLCSTR lpszNewValue, int i) - { return updateText_WOSD(stringDup(lpszNewValue),i); } -XMLCSTR XMLNode::updateText(XMLCSTR lpszNewValue, XMLCSTR lpszOldValue) - { return updateText_WOSD(stringDup(lpszNewValue),lpszOldValue); } -XMLClear *XMLNode::updateClear(XMLCSTR lpszNewContent, int i) - { return updateClear_WOSD(stringDup(lpszNewContent),i); } -XMLClear *XMLNode::updateClear(XMLCSTR lpszNewValue, XMLCSTR lpszOldValue) - { return updateClear_WOSD(stringDup(lpszNewValue),lpszOldValue); } -XMLClear *XMLNode::updateClear(XMLClear *newP,XMLClear *oldP) - { return updateClear_WOSD(stringDup(newP->lpszValue),oldP->lpszValue); } - -char XMLNode::setGlobalOptions(XMLCharEncoding _characterEncoding, char _guessWideCharChars, - char _dropWhiteSpace, char _removeCommentsInMiddleOfText) -{ - guessWideCharChars=_guessWideCharChars; dropWhiteSpace=_dropWhiteSpace; removeCommentsInMiddleOfText=_removeCommentsInMiddleOfText; -#ifdef _XMLWIDECHAR - if (_characterEncoding) characterEncoding=_characterEncoding; -#else - switch(_characterEncoding) - { - case char_encoding_UTF8: characterEncoding=_characterEncoding; XML_ByteTable=XML_utf8ByteTable; break; - case char_encoding_legacy: characterEncoding=_characterEncoding; XML_ByteTable=XML_legacyByteTable; break; - case char_encoding_ShiftJIS: characterEncoding=_characterEncoding; XML_ByteTable=XML_sjisByteTable; break; - case char_encoding_GB2312: characterEncoding=_characterEncoding; XML_ByteTable=XML_gb2312ByteTable; break; - case char_encoding_Big5: - case char_encoding_GBK: characterEncoding=_characterEncoding; XML_ByteTable=XML_gbk_big5_ByteTable; break; - default: return 1; - } -#endif - return 0; -} - -XMLNode::XMLCharEncoding XMLNode::guessCharEncoding(void *buf,int l, char useXMLEncodingAttribute) -{ -#ifdef _XMLWIDECHAR - return (XMLCharEncoding)0; -#else - if (l<25) return (XMLCharEncoding)0; - if (guessWideCharChars&&(myIsTextWideChar(buf,l))) return (XMLCharEncoding)0; - unsigned char *b=(unsigned char*)buf; - if ((b[0]==0xef)&&(b[1]==0xbb)&&(b[2]==0xbf)) return char_encoding_UTF8; - - // Match utf-8 model ? - XMLCharEncoding bestGuess=char_encoding_UTF8; - int i=0; - while (i>2 ]; - *(curr++)=base64EncodeTable[(inbuf[0]<<4)&0x3F]; - *(curr++)=base64Fillchar; - *(curr++)=base64Fillchar; - } else if (eLen==2) - { - j=(inbuf[0]<<8)|inbuf[1]; - *(curr++)=base64EncodeTable[ j>>10 ]; - *(curr++)=base64EncodeTable[(j>> 4)&0x3f]; - *(curr++)=base64EncodeTable[(j<< 2)&0x3f]; - *(curr++)=base64Fillchar; - } - *(curr++)=0; - return (XMLSTR)buf; -} - -unsigned int XMLParserBase64Tool::decodeSize(XMLCSTR data,XMLError *xe) -{ - if (!data) return 0; - if (xe) *xe=eXMLErrorNone; - int size=0; - unsigned char c; - //skip any extra characters (e.g. newlines or spaces) - while (*data) - { -#ifdef _XMLWIDECHAR - if (*data>255) { if (xe) *xe=eXMLErrorBase64DecodeIllegalCharacter; return 0; } -#endif - c=base64DecodeTable[(unsigned char)(*data)]; - if (c<97) size++; - else if (c==98) { if (xe) *xe=eXMLErrorBase64DecodeIllegalCharacter; return 0; } - data++; - } - if (xe&&(size%4!=0)) *xe=eXMLErrorBase64DataSizeIsNotMultipleOf4; - if (size==0) return 0; - do { data--; size--; } while(*data==base64Fillchar); size++; - return (unsigned int)((size*3)/4); -} - -unsigned char XMLParserBase64Tool::decode(XMLCSTR data, unsigned char *buf, int len, XMLError *xe) -{ - if (!data) return 0; - if (xe) *xe=eXMLErrorNone; - int i=0,p=0; - unsigned char d,c; - for(;;) - { - -#ifdef _XMLWIDECHAR -#define BASE64DECODE_READ_NEXT_CHAR(c) \ - do { \ - if (data[i]>255){ c=98; break; } \ - c=base64DecodeTable[(unsigned char)data[i++]]; \ - }while (c==97); \ - if(c==98){ if(xe)*xe=eXMLErrorBase64DecodeIllegalCharacter; return 0; } -#else -#define BASE64DECODE_READ_NEXT_CHAR(c) \ - do { c=base64DecodeTable[(unsigned char)data[i++]]; }while (c==97); \ - if(c==98){ if(xe)*xe=eXMLErrorBase64DecodeIllegalCharacter; return 0; } -#endif - - BASE64DECODE_READ_NEXT_CHAR(c) - if (c==99) { return 2; } - if (c==96) - { - if (p==(int)len) return 2; - if (xe) *xe=eXMLErrorBase64DecodeTruncatedData; - return 1; - } - - BASE64DECODE_READ_NEXT_CHAR(d) - if ((d==99)||(d==96)) { if (xe) *xe=eXMLErrorBase64DecodeTruncatedData; return 1; } - if (p==(int)len) { if (xe) *xe=eXMLErrorBase64DecodeBufferTooSmall; return 0; } - buf[p++]=(unsigned char)((c<<2)|((d>>4)&0x3)); - - BASE64DECODE_READ_NEXT_CHAR(c) - if (c==99) { if (xe) *xe=eXMLErrorBase64DecodeTruncatedData; return 1; } - if (p==(int)len) - { - if (c==96) return 2; - if (xe) *xe=eXMLErrorBase64DecodeBufferTooSmall; - return 0; - } - if (c==96) { if (xe) *xe=eXMLErrorBase64DecodeTruncatedData; return 1; } - buf[p++]=(unsigned char)(((d<<4)&0xf0)|((c>>2)&0xf)); - - BASE64DECODE_READ_NEXT_CHAR(d) - if (d==99 ) { if (xe) *xe=eXMLErrorBase64DecodeTruncatedData; return 1; } - if (p==(int)len) - { - if (d==96) return 2; - if (xe) *xe=eXMLErrorBase64DecodeBufferTooSmall; - return 0; - } - if (d==96) { if (xe) *xe=eXMLErrorBase64DecodeTruncatedData; return 1; } - buf[p++]=(unsigned char)(((c<<6)&0xc0)|d); - } -} -#undef BASE64DECODE_READ_NEXT_CHAR - -void XMLParserBase64Tool::alloc(int newsize) -{ - if ((!buf)&&(newsize)) { buf=malloc(newsize); buflen=newsize; return; } - if (newsize>buflen) { buf=realloc(buf,newsize); buflen=newsize; } -} - -unsigned char *XMLParserBase64Tool::decode(XMLCSTR data, int *outlen, XMLError *xe) -{ - if (xe) *xe=eXMLErrorNone; - if (!data) { *outlen=0; return (unsigned char*)""; } - unsigned int len=decodeSize(data,xe); - if (outlen) *outlen=len; - if (!len) return NULL; - alloc(len+1); - if(!decode(data,(unsigned char*)buf,len,xe)){ return NULL; } - return (unsigned char*)buf; -} - diff --git a/src/xmlParser.h b/src/xmlParser.h deleted file mode 100644 index 42176ed..0000000 --- a/src/xmlParser.h +++ /dev/null @@ -1,753 +0,0 @@ -/****************************************************************************/ -/*! \mainpage XMLParser library - * \section intro_sec Introduction - * - * This is a basic XML parser written in ANSI C++ for portability. - * It works by using recursion and a node tree for breaking - * down the elements of an XML document. - * The following license terms applies to projects developped by "Windows and Daylighting group at the Lawrence Berkeley National Laboratory" only: - * (all other projects are under the Aladdin Free Public License (AFPL) - - * see the file "AFPL-license.txt" for more informations about this license) - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Frank Vanden Berghen nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY Frank Vanden Berghen ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL Frank Vanden Berghen BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Copyright (c) 2013, Frank Vanden Berghen - All rights reserved.
- * - * - * \section tutorial First Tutorial - * You can follow a simple Tutorial to know the basics... - * - * \section usage General usage: How to include the XMLParser library inside your project. - * - * The library is composed of two files: xmlParser.cpp and - * xmlParser.h. These are the ONLY 2 files that you need when - * using the library inside your own projects. - * - * All the functions of the library are documented inside the comments of the file - * xmlParser.h. These comments can be transformed in - * full-fledged HTML documentation using the DOXYGEN software: simply type: "doxygen doxy.cfg" - * - * By default, the XMLParser library uses (char*) for string representation.To use the (wchar_t*) - * version of the library, you need to define the "_UNICODE" preprocessor definition variable - * (this is usually done inside your project definition file) (This is done automatically for you - * when using Visual Studio). - * - * \section example Advanced Tutorial and Many Examples of usage. - * - * Some very small introductory examples are described inside the Tutorial file - * xmlParser.html - * - * Some additional small examples are also inside the file xmlTest.cpp - * (for the "char*" version of the library) and inside the file - * xmlTestUnicode.cpp (for the "wchar_t*" - * version of the library). If you have a question, please review these additionnal examples - * before sending an e-mail to the author. - * - * To build the examples: - * - linux/unix: type "make" - * - solaris: type "make -f makefile.solaris" - * - windows: Visual Studio: double-click on xmlParser.dsw - * (under Visual Studio .NET, the .dsp and .dsw files will be automatically converted to .vcproj and .sln files) - * - * In order to build the examples you need some additional files: - * - linux/unix: makefile - * - solaris: makefile.solaris - * - windows: Visual Studio: *.dsp, xmlParser.dsw and also xmlParser.lib and xmlParser.dll - * - * \section debugging Debugging with the XMLParser library - * - * \subsection debugwin Debugging under WINDOWS - * - * Inside Visual C++, the "debug versions" of the memory allocation functions are - * very slow: Do not forget to compile in "release mode" to get maximum speed. - * When I had to debug a software that was using the XMLParser Library, it was usually - * a nightmare because the library was sooOOOoooo slow in debug mode (because of the - * slow memory allocations in Debug mode). To solve this - * problem, during all the debugging session, I am now using a very fast DLL version of the - * XMLParser Library (the DLL is compiled in release mode). Using the DLL version of - * the XMLParser Library allows me to have lightening XML parsing speed even in debug! - * Other than that, the DLL version is useless: In the release version of my tool, - * I always use the normal, ".cpp"-based, XMLParser Library (I simply include the - * xmlParser.cpp and - * xmlParser.h files into the project). - * - * The file XMLNodeAutoexp.txt contains some - * "tweaks" that improve substancially the display of the content of the XMLNode objects - * inside the Visual Studio Debugger. Believe me, once you have seen inside the debugger - * the "smooth" display of the XMLNode objects, you cannot live without it anymore! - * - * \subsection debuglinux Debugging under LINUX/UNIX - * - * The speed of the debug version of the XMLParser library is tolerable so no extra - * work.has been done. - * - ****************************************************************************/ - -#ifndef __INCLUDE_XML_NODE__ -#define __INCLUDE_XML_NODE__ - -#include - -#if defined(UNICODE) || defined(_UNICODE) -// If you comment the next "define" line then the library will never "switch to" _UNICODE (wchar_t*) mode (16/32 bits per characters). -// This is useful when you get error messages like: -// 'XMLNode::openFileHelper' : cannot convert parameter 2 from 'const char [5]' to 'const wchar_t *' -// The _XMLWIDECHAR preprocessor variable force the XMLParser library into either utf16/32-mode (the proprocessor variable -// must be defined) or utf8-mode(the pre-processor variable must be undefined). -#define _XMLWIDECHAR -#endif - -#if defined(WIN32) || defined(UNDER_CE) || defined(_WIN32) || defined(WIN64) || defined(__BORLANDC__) -// comment the next line if you are under windows and the compiler is not Microsoft Visual Studio (6.0 or .NET) or Borland -#define _XMLWINDOWS -#endif - -#ifdef XMLDLLENTRY -#undef XMLDLLENTRY -#endif -#ifdef _USE_XMLPARSER_DLL -#ifdef _DLL_EXPORTS_ -#define XMLDLLENTRY __declspec(dllexport) -#else -#define XMLDLLENTRY __declspec(dllimport) -#endif -#else -#define XMLDLLENTRY -#endif - -// uncomment the next line if you want no support for wchar_t* (no need for the or libraries anymore to compile) -//#define XML_NO_WIDE_CHAR - -#ifdef XML_NO_WIDE_CHAR -#undef _XMLWINDOWS -#undef _XMLWIDECHAR -#endif - -#ifdef _XMLWINDOWS -#include -#else -#define XMLDLLENTRY -#ifndef XML_NO_WIDE_CHAR -#include // to have 'wcsrtombs' for ANSI version - // to have 'mbsrtowcs' for WIDECHAR version -#endif -#endif - -// Some common types for char set portable code -#ifdef _XMLWIDECHAR - #define _CXML(c) L ## c - #define XMLCSTR const wchar_t * - #define XMLSTR wchar_t * - #define XMLCHAR wchar_t -#else - #define _CXML(c) c - #define XMLCSTR const char * - #define XMLSTR char * - #define XMLCHAR char -#endif -#ifndef FALSE - #define FALSE 0 -#endif /* FALSE */ -#ifndef TRUE - #define TRUE 1 -#endif /* TRUE */ - - -/// Enumeration for XML parse errors. -typedef enum XMLError -{ - eXMLErrorNone = 0, - eXMLErrorMissingEndTag, - eXMLErrorNoXMLTagFound, - eXMLErrorEmpty, - eXMLErrorMissingTagName, - eXMLErrorMissingEndTagName, - eXMLErrorUnmatchedEndTag, - eXMLErrorUnmatchedEndClearTag, - eXMLErrorUnexpectedToken, - eXMLErrorNoElements, - eXMLErrorFileNotFound, - eXMLErrorFirstTagNotFound, - eXMLErrorUnknownCharacterEntity, - eXMLErrorCharacterCodeAbove255, - eXMLErrorCharConversionError, - eXMLErrorCannotOpenWriteFile, - eXMLErrorCannotWriteFile, - - eXMLErrorBase64DataSizeIsNotMultipleOf4, - eXMLErrorBase64DecodeIllegalCharacter, - eXMLErrorBase64DecodeTruncatedData, - eXMLErrorBase64DecodeBufferTooSmall -} XMLError; - - -/// Enumeration used to manage type of data. Use in conjunction with structure XMLNodeContents -typedef enum XMLElementType -{ - eNodeChild=0, - eNodeAttribute=1, - eNodeText=2, - eNodeClear=3, - eNodeNULL=4 -} XMLElementType; - -/// Structure used to obtain error details if the parse fails. -typedef struct XMLResults -{ - enum XMLError error; - int nLine,nColumn; -} XMLResults; - -/// Structure for XML clear (unformatted) node (usually comments) -typedef struct XMLClear { - XMLCSTR lpszValue; XMLCSTR lpszOpenTag; XMLCSTR lpszCloseTag; -} XMLClear; - -/// Structure for XML attribute. -typedef struct XMLAttribute { - XMLCSTR lpszName; XMLCSTR lpszValue; -} XMLAttribute; - -/// XMLElementPosition are not interchangeable with simple indexes -typedef int XMLElementPosition; - -struct XMLNodeContents; - -/** @defgroup XMLParserGeneral The XML parser */ - -/// Main Class representing a XML node -/** - * All operations are performed using this class. - * \note The constructors of the XMLNode class are protected, so use instead one of these four methods to get your first instance of XMLNode: - *
    - *
  • XMLNode::parseString
  • - *
  • XMLNode::parseFile
  • - *
  • XMLNode::openFileHelper
  • - *
  • XMLNode::createXMLTopNode (or XMLNode::createXMLTopNode_WOSD)
  • - *
*/ -typedef struct XMLDLLENTRY XMLNode -{ - private: - - struct XMLNodeDataTag; - - /// Constructors are protected, so use instead one of: XMLNode::parseString, XMLNode::parseFile, XMLNode::openFileHelper, XMLNode::createXMLTopNode - XMLNode(struct XMLNodeDataTag *pParent, XMLSTR lpszName, char isDeclaration); - /// Constructors are protected, so use instead one of: XMLNode::parseString, XMLNode::parseFile, XMLNode::openFileHelper, XMLNode::createXMLTopNode - XMLNode(struct XMLNodeDataTag *p); - - public: - static XMLCSTR getVersion();///< Return the XMLParser library version number - - /** @defgroup conversions Parsing XML files/strings to an XMLNode structure and Rendering XMLNode's to files/string. - * @ingroup XMLParserGeneral - * @{ */ - - /// Parse an XML string and return the root of a XMLNode tree representing the string. - static XMLNode parseString (XMLCSTR lpXMLString, XMLCSTR tag=NULL, XMLResults *pResults=NULL); - /**< The "parseString" function parse an XML string and return the root of a XMLNode tree. The "opposite" of this function is - * the function "createXMLString" that re-creates an XML string from an XMLNode tree. If the XML document is corrupted, the - * "parseString" method will initialize the "pResults" variable with some information that can be used to trace the error. - * If you still want to parse the file, you can use the APPROXIMATE_PARSING option as explained inside the note at the - * beginning of the "xmlParser.cpp" file. - * - * @param lpXMLString the XML string to parse - * @param tag the name of the first tag inside the XML file. If the tag parameter is omitted, this function returns a node that represents the head of the xml document including the declaration term (). - * @param pResults a pointer to a XMLResults variable that will contain some information that can be used to trace the XML parsing error. You can have a user-friendly explanation of the parsing error with the "getError" function. - */ - - /// Parse an XML file and return the root of a XMLNode tree representing the file. - static XMLNode parseFile (XMLCSTR filename, XMLCSTR tag=NULL, XMLResults *pResults=NULL); - /**< The "parseFile" function parse an XML file and return the root of a XMLNode tree. The "opposite" of this function is - * the function "writeToFile" that re-creates an XML file from an XMLNode tree. If the XML document is corrupted, the - * "parseFile" method will initialize the "pResults" variable with some information that can be used to trace the error. - * If you still want to parse the file, you can use the APPROXIMATE_PARSING option as explained inside the note at the - * beginning of the "xmlParser.cpp" file. - * - * @param filename the path to the XML file to parse - * @param tag the name of the first tag inside the XML file. If the tag parameter is omitted, this function returns a node that represents the head of the xml document including the declaration term (). - * @param pResults a pointer to a XMLResults variable that will contain some information that can be used to trace the XML parsing error. You can have a user-friendly explanation of the parsing error with the "getError" function. - */ - - /// Parse an XML file and return the root of a XMLNode tree representing the file. A very crude error checking is made. An attempt to guess the Char Encoding used in the file is made. - static XMLNode openFileHelper(XMLCSTR filename, XMLCSTR tag=NULL); - /**< The "openFileHelper" function reports to the screen all the warnings and errors that occurred during parsing of the XML file. - * This function also tries to guess char Encoding (UTF-8, ASCII or SHIT-JIS) based on the first 200 bytes of the file. Since each - * application has its own way to report and deal with errors, you should rather use the "parseFile" function to parse XML files - * and program yourself thereafter an "error reporting" tailored for your needs (instead of using the very crude "error reporting" - * mechanism included inside the "openFileHelper" function). - * - * If the XML document is corrupted, the "openFileHelper" method will: - * - display an error message on the console (or inside a messageBox for windows). - * - stop execution (exit). - * - * I strongly suggest that you write your own "openFileHelper" method tailored to your needs. If you still want to parse - * the file, you can use the APPROXIMATE_PARSING option as explained inside the note at the beginning of the "xmlParser.cpp" file. - * - * @param filename the path of the XML file to parse. - * @param tag the name of the first tag inside the XML file. If the tag parameter is omitted, this function returns a node that represents the head of the xml document including the declaration term (). - */ - - static XMLCSTR getError(XMLError error); ///< this gives you a user-friendly explanation of the parsing error - - /// Create an XML string starting from the current XMLNode. - XMLSTR createXMLString(int nFormat=1, int *pnSize=NULL) const; - /**< The returned string should be free'd using the "freeXMLString" function. - * - * If nFormat==0, no formatting is required otherwise this returns an user friendly XML string from a given element - * with appropriate white spaces and carriage returns. if pnSize is given it returns the size in character of the string. */ - - /// Save the content of an xmlNode inside a file - XMLError writeToFile(XMLCSTR filename, - const char *encoding=NULL, - char nFormat=1) const; - /**< If nFormat==0, no formatting is required otherwise this returns an user friendly XML string from a given element with appropriate white spaces and carriage returns. - * If the global parameter "characterEncoding==encoding_UTF8", then the "encoding" parameter is ignored and always set to "utf-8". - * If the global parameter "characterEncoding==encoding_ShiftJIS", then the "encoding" parameter is ignored and always set to "SHIFT-JIS". - * If "_XMLWIDECHAR=1", then the "encoding" parameter is ignored and always set to "utf-16". - * If no "encoding" parameter is given the "ISO-8859-1" encoding is used. */ - /** @} */ - - /** @defgroup navigate Navigate the XMLNode structure - * @ingroup XMLParserGeneral - * @{ */ - XMLCSTR getName() const; ///< name of the node - XMLCSTR getText(int i=0) const; ///< return ith text field - int nText() const; ///< nbr of text field - XMLNode getParentNode() const; ///< return the parent node - XMLNode getChildNode(int i=0) const; ///< return ith child node - XMLNode getChildNode(XMLCSTR name, int i) const; ///< return ith child node with specific name (return an empty node if failing). If i==-1, this returns the last XMLNode with the given name. - XMLNode getChildNode(XMLCSTR name, int *i=NULL) const; ///< return next child node with specific name (return an empty node if failing) - XMLNode getChildNodeWithAttribute(XMLCSTR tagName, - XMLCSTR attributeName, - XMLCSTR attributeValue=NULL, - int *i=NULL) const; ///< return child node with specific name/attribute (return an empty node if failing) - XMLNode getChildNodeByPath(XMLCSTR path, char createNodeIfMissing=0, XMLCHAR sep='/'); - ///< return the first child node with specific path - XMLNode getChildNodeByPathNonConst(XMLSTR path, char createNodeIfMissing=0, XMLCHAR sep='/'); - ///< return the first child node with specific path. - - int nChildNode(XMLCSTR name) const; ///< return the number of child node with specific name - int nChildNode() const; ///< nbr of child node - XMLAttribute getAttribute(int i=0) const; ///< return ith attribute - XMLCSTR getAttributeName(int i=0) const; ///< return ith attribute name - XMLCSTR getAttributeValue(int i=0) const; ///< return ith attribute value - char isAttributeSet(XMLCSTR name) const; ///< test if an attribute with a specific name is given - XMLCSTR getAttribute(XMLCSTR name, int i) const; ///< return ith attribute content with specific name (return a NULL if failing) - XMLCSTR getAttribute(XMLCSTR name, int *i=NULL) const; ///< return next attribute content with specific name (return a NULL if failing) - int nAttribute() const; ///< nbr of attribute - XMLClear getClear(int i=0) const; ///< return ith clear field (comments) - int nClear() const; ///< nbr of clear field - XMLNodeContents enumContents(XMLElementPosition i) const; ///< enumerate all the different contents (attribute,child,text, clear) of the current XMLNode. The order is reflecting the order of the original file/string. NOTE: 0 <= i < nElement(); - int nElement() const; ///< nbr of different contents for current node - char isEmpty() const; ///< is this node Empty? - char isDeclaration() const; ///< is this node a declaration - XMLNode deepCopy() const; ///< deep copy (duplicate/clone) a XMLNode - static XMLNode emptyNode(); ///< return XMLNode::emptyXMLNode; - /** @} */ - - ~XMLNode(); - XMLNode(const XMLNode &A); ///< to allow shallow/fast copy: - XMLNode& operator=( const XMLNode& A ); ///< to allow shallow/fast copy: - - XMLNode(): d(NULL){}; - static XMLNode emptyXMLNode; - static XMLClear emptyXMLClear; - static XMLAttribute emptyXMLAttribute; - - /** @defgroup xmlModify Create or Update the XMLNode structure - * @ingroup XMLParserGeneral - * The functions in this group allows you to create from scratch (or update) a XMLNode structure. Start by creating your top - * node with the "createXMLTopNode" function and then add new nodes with the "addChild" function. The parameter 'pos' gives - * the position where the childNode, the text or the XMLClearTag will be inserted. The default value (pos=-1) inserts at the - * end. The value (pos=0) insert at the beginning (Insertion at the beginning is slower than at the end).
- * - * REMARK: 0 <= pos < nChild()+nText()+nClear()
- */ - - /** @defgroup creation Creating from scratch a XMLNode structure - * @ingroup xmlModify - * @{ */ - static XMLNode createXMLTopNode(XMLCSTR lpszName, char isDeclaration=FALSE); ///< Create the top node of an XMLNode structure - XMLNode addChild(XMLCSTR lpszName, char isDeclaration=FALSE, XMLElementPosition pos=-1); ///< Add a new child node - XMLNode addChild(XMLNode nodeToAdd, XMLElementPosition pos=-1); ///< If the "nodeToAdd" has some parents, it will be detached from it's parents before being attached to the current XMLNode - XMLAttribute *addAttribute(XMLCSTR lpszName, XMLCSTR lpszValuev); ///< Add a new attribute - XMLCSTR addText(XMLCSTR lpszValue, XMLElementPosition pos=-1); ///< Add a new text content - XMLClear *addClear(XMLCSTR lpszValue, XMLCSTR lpszOpen=NULL, XMLCSTR lpszClose=NULL, XMLElementPosition pos=-1); - /**< Add a new clear tag - * @param lpszOpen default value "" - */ - /** @} */ - - /** @defgroup xmlUpdate Updating Nodes - * @ingroup xmlModify - * Some update functions: - * @{ - */ - XMLCSTR updateName(XMLCSTR lpszName); ///< change node's name - XMLAttribute *updateAttribute(XMLAttribute *newAttribute, XMLAttribute *oldAttribute); ///< if the attribute to update is missing, a new one will be added - XMLAttribute *updateAttribute(XMLCSTR lpszNewValue, XMLCSTR lpszNewName=NULL,int i=0); ///< if the attribute to update is missing, a new one will be added - XMLAttribute *updateAttribute(XMLCSTR lpszNewValue, XMLCSTR lpszNewName,XMLCSTR lpszOldName);///< set lpszNewName=NULL if you don't want to change the name of the attribute if the attribute to update is missing, a new one will be added - XMLCSTR updateText(XMLCSTR lpszNewValue, int i=0); ///< if the text to update is missing, a new one will be added - XMLCSTR updateText(XMLCSTR lpszNewValue, XMLCSTR lpszOldValue); ///< if the text to update is missing, a new one will be added - XMLClear *updateClear(XMLCSTR lpszNewContent, int i=0); ///< if the clearTag to update is missing, a new one will be added - XMLClear *updateClear(XMLClear *newP,XMLClear *oldP); ///< if the clearTag to update is missing, a new one will be added - XMLClear *updateClear(XMLCSTR lpszNewValue, XMLCSTR lpszOldValue); ///< if the clearTag to update is missing, a new one will be added - /** @} */ - - /** @defgroup xmlDelete Deleting Nodes or Attributes - * @ingroup xmlModify - * Some deletion functions: - * @{ - */ - /// The "deleteNodeContent" function forces the deletion of the content of this XMLNode and the subtree. - void deleteNodeContent(); - /**< \note The XMLNode instances that are referring to the part of the subtree that has been deleted CANNOT be used anymore!!. Unexpected results will occur if you continue using them. */ - void deleteAttribute(int i=0); ///< Delete the ith attribute of the current XMLNode - void deleteAttribute(XMLCSTR lpszName); ///< Delete the attribute with the given name (the "strcmp" function is used to find the right attribute) - void deleteAttribute(XMLAttribute *anAttribute); ///< Delete the attribute with the name "anAttribute->lpszName" (the "strcmp" function is used to find the right attribute) - void deleteText(int i=0); ///< Delete the Ith text content of the current XMLNode - void deleteText(XMLCSTR lpszValue); ///< Delete the text content "lpszValue" inside the current XMLNode (direct "pointer-to-pointer" comparison is used to find the right text) - void deleteClear(int i=0); ///< Delete the Ith clear tag inside the current XMLNode - void deleteClear(XMLCSTR lpszValue); ///< Delete the clear tag "lpszValue" inside the current XMLNode (direct "pointer-to-pointer" comparison is used to find the clear tag) - void deleteClear(XMLClear *p); ///< Delete the clear tag "p" inside the current XMLNode (direct "pointer-to-pointer" comparison on the lpszName of the clear tag is used to find the clear tag) - /** @} */ - - /** @defgroup xmlWOSD ???_WOSD functions. - * @ingroup xmlModify - * The strings given as parameters for the "add" and "update" methods that have a name with - * the postfix "_WOSD" (that means "WithOut String Duplication")(for example "addText_WOSD") - * will be free'd by the XMLNode class. For example, it means that this is incorrect: - * \code - * xNode.addText_WOSD("foo"); - * xNode.updateAttribute_WOSD("#newcolor" ,NULL,"color"); - * \endcode - * In opposition, this is correct: - * \code - * xNode.addText("foo"); - * xNode.addText_WOSD(stringDup("foo")); - * xNode.updateAttribute("#newcolor" ,NULL,"color"); - * xNode.updateAttribute_WOSD(stringDup("#newcolor"),NULL,"color"); - * \endcode - * Typically, you will never do: - * \code - * char *b=(char*)malloc(...); - * xNode.addText(b); - * free(b); - * \endcode - * ... but rather: - * \code - * char *b=(char*)malloc(...); - * xNode.addText_WOSD(b); - * \endcode - * ('free(b)' is performed by the XMLNode class) - * @{ */ - static XMLNode createXMLTopNode_WOSD(XMLSTR lpszName, char isDeclaration=FALSE); ///< Create the top node of an XMLNode structure - XMLNode addChild_WOSD(XMLSTR lpszName, char isDeclaration=FALSE, XMLElementPosition pos=-1); ///< Add a new child node - XMLAttribute *addAttribute_WOSD(XMLSTR lpszName, XMLSTR lpszValue); ///< Add a new attribute - XMLCSTR addText_WOSD(XMLSTR lpszValue, XMLElementPosition pos=-1); ///< Add a new text content - XMLClear *addClear_WOSD(XMLSTR lpszValue, XMLCSTR lpszOpen=NULL, XMLCSTR lpszClose=NULL, XMLElementPosition pos=-1); ///< Add a new clear Tag - - XMLCSTR updateName_WOSD(XMLSTR lpszName); ///< change node's name - XMLAttribute *updateAttribute_WOSD(XMLAttribute *newAttribute, XMLAttribute *oldAttribute); ///< if the attribute to update is missing, a new one will be added - XMLAttribute *updateAttribute_WOSD(XMLSTR lpszNewValue, XMLSTR lpszNewName=NULL,int i=0); ///< if the attribute to update is missing, a new one will be added - XMLAttribute *updateAttribute_WOSD(XMLSTR lpszNewValue, XMLSTR lpszNewName,XMLCSTR lpszOldName); ///< set lpszNewName=NULL if you don't want to change the name of the attribute if the attribute to update is missing, a new one will be added - XMLCSTR updateText_WOSD(XMLSTR lpszNewValue, int i=0); ///< if the text to update is missing, a new one will be added - XMLCSTR updateText_WOSD(XMLSTR lpszNewValue, XMLCSTR lpszOldValue); ///< if the text to update is missing, a new one will be added - XMLClear *updateClear_WOSD(XMLSTR lpszNewContent, int i=0); ///< if the clearTag to update is missing, a new one will be added - XMLClear *updateClear_WOSD(XMLClear *newP,XMLClear *oldP); ///< if the clearTag to update is missing, a new one will be added - XMLClear *updateClear_WOSD(XMLSTR lpszNewValue, XMLCSTR lpszOldValue); ///< if the clearTag to update is missing, a new one will be added - /** @} */ - - /** @defgroup xmlPosition Position helper functions (use in conjunction with the update&add functions - * @ingroup xmlModify - * These are some useful functions when you want to insert a childNode, a text or a XMLClearTag in the - * middle (at a specified position) of a XMLNode tree already constructed. The value returned by these - * methods is to be used as last parameter (parameter 'pos') of addChild, addText or addClear. - * @{ */ - XMLElementPosition positionOfText(int i=0) const; - XMLElementPosition positionOfText(XMLCSTR lpszValue) const; - XMLElementPosition positionOfClear(int i=0) const; - XMLElementPosition positionOfClear(XMLCSTR lpszValue) const; - XMLElementPosition positionOfClear(XMLClear *a) const; - XMLElementPosition positionOfChildNode(int i=0) const; - XMLElementPosition positionOfChildNode(XMLNode x) const; - XMLElementPosition positionOfChildNode(XMLCSTR name, int i=0) const; ///< return the position of the ith childNode with the specified name if (name==NULL) return the position of the ith childNode - /** @} */ - - /// Enumeration for XML character encoding. - typedef enum XMLCharEncoding - { - char_encoding_error=0, - char_encoding_UTF8=1, - char_encoding_legacy=2, - char_encoding_ShiftJIS=3, - char_encoding_GB2312=4, - char_encoding_Big5=5, - char_encoding_GBK=6 // this is actually the same as Big5 - } XMLCharEncoding; - - /** \addtogroup conversions - * @{ */ - - /// Sets the global options for the conversions - static char setGlobalOptions(XMLCharEncoding characterEncoding=XMLNode::char_encoding_UTF8, char guessWideCharChars=1, - char dropWhiteSpace=1, char removeCommentsInMiddleOfText=1); - /**< The "setGlobalOptions" function allows you to change four global parameters that affect string & file - * parsing. First of all, you most-probably will never have to change these 3 global parameters. - * - * @param guessWideCharChars If "guessWideCharChars"=1 and if this library is compiled in WideChar mode, then the - * XMLNode::parseFile and XMLNode::openFileHelper functions will test if the file contains ASCII - * characters. If this is the case, then the file will be loaded and converted in memory to - * WideChar before being parsed. If 0, no conversion will be performed. - * - * @param guessWideCharChars If "guessWideCharChars"=1 and if this library is compiled in ASCII/UTF8/char* mode, then the - * XMLNode::parseFile and XMLNode::openFileHelper functions will test if the file contains WideChar - * characters. If this is the case, then the file will be loaded and converted in memory to - * ASCII/UTF8/char* before being parsed. If 0, no conversion will be performed. - * - * @param characterEncoding This parameter is only meaningful when compiling in char* mode (multibyte character mode). - * In wchar_t* (wide char mode), this parameter is ignored. This parameter should be one of the - * three currently recognized encodings: XMLNode::encoding_UTF8, XMLNode::encoding_ascii, - * XMLNode::encoding_ShiftJIS. - * - * @param dropWhiteSpace In most situations, text fields containing only white spaces (and carriage returns) - * are useless. Even more, these "empty" text fields are annoying because they increase the - * complexity of the user's code for parsing. So, 99% of the time, it's better to drop - * the "empty" text fields. However The XML specification indicates that no white spaces - * should be lost when parsing the file. So to be perfectly XML-compliant, you should set - * dropWhiteSpace=0. A note of caution: if you set "dropWhiteSpace=0", the parser will be - * slower and your code will be more complex. - * - * @param removeCommentsInMiddleOfText To explain this parameter, let's consider this code: - * \code - * XMLNode x=XMLNode::parseString("foobarchu","a"); - * \endcode - * If removeCommentsInMiddleOfText=0, then we will have: - * \code - * x.getText(0) -> "foo" - * x.getText(1) -> "bar" - * x.getText(2) -> "chu" - * x.getClear(0) --> "" - * x.getClear(1) --> "" - * \endcode - * If removeCommentsInMiddleOfText=1, then we will have: - * \code - * x.getText(0) -> "foobar" - * x.getText(1) -> "chu" - * x.getClear(0) --> "" - * \endcode - * - * \return "0" when there are no errors. If you try to set an unrecognized encoding then the return value will be "1" to signal an error. - * - * \note Sometime, it's useful to set "guessWideCharChars=0" to disable any conversion - * because the test to detect the file-type (ASCII/UTF8/char* or WideChar) may fail (rarely). */ - - /// Guess the character encoding of the string (ascii, utf8 or shift-JIS) - static XMLCharEncoding guessCharEncoding(void *buffer, int bufLen, char useXMLEncodingAttribute=1); - /**< The "guessCharEncoding" function try to guess the character encoding. You most-probably will never - * have to use this function. It then returns the appropriate value of the global parameter - * "characterEncoding" described in the XMLNode::setGlobalOptions. The guess is based on the content of a buffer of length - * "bufLen" bytes that contains the first bytes (minimum 25 bytes; 200 bytes is a good value) of the - * file to be parsed. The XMLNode::openFileHelper function is using this function to automatically compute - * the value of the "characterEncoding" global parameter. There are several heuristics used to do the - * guess. One of the heuristic is based on the "encoding" attribute. The original XML specifications - * forbids to use this attribute to do the guess but you can still use it if you set - * "useXMLEncodingAttribute" to 1 (this is the default behavior and the behavior of most parsers). - * If an inconsistency in the encoding is detected, then the return value is "0". */ - /** @} */ - - private: - // these are functions and structures used internally by the XMLNode class (don't bother about them): - - typedef struct XMLNodeDataTag // to allow shallow copy and "intelligent/smart" pointers (automatic delete): - { - XMLCSTR lpszName; // Element name (=NULL if root) - int nChild, // Number of child nodes - nText, // Number of text fields - nClear, // Number of Clear fields (comments) - nAttribute; // Number of attributes - char isDeclaration; // Whether node is an XML declaration - '' - struct XMLNodeDataTag *pParent; // Pointer to parent element (=NULL if root) - XMLNode *pChild; // Array of child nodes - XMLCSTR *pText; // Array of text fields - XMLClear *pClear; // Array of clear fields - XMLAttribute *pAttribute; // Array of attributes - int *pOrder; // order of the child_nodes,text_fields,clear_fields - int ref_count; // for garbage collection (smart pointers) - } XMLNodeData; - XMLNodeData *d; - - char parseClearTag(void *px, void *pa); - char maybeAddTxT(void *pa, XMLCSTR tokenPStr); - int ParseXMLElement(void *pXML); - void *addToOrder(int memInc, int *_pos, int nc, void *p, int size, XMLElementType xtype); - int indexText(XMLCSTR lpszValue) const; - int indexClear(XMLCSTR lpszValue) const; - XMLNode addChild_priv(int,XMLSTR,char,int); - XMLAttribute *addAttribute_priv(int,XMLSTR,XMLSTR); - XMLCSTR addText_priv(int,XMLSTR,int); - XMLClear *addClear_priv(int,XMLSTR,XMLCSTR,XMLCSTR,int); - void emptyTheNode(char force); - static inline XMLElementPosition findPosition(XMLNodeData *d, int index, XMLElementType xtype); - static int CreateXMLStringR(XMLNodeData *pEntry, XMLSTR lpszMarker, int nFormat); - static int removeOrderElement(XMLNodeData *d, XMLElementType t, int index); - static void exactMemory(XMLNodeData *d); - static int detachFromParent(XMLNodeData *d); -} XMLNode; - -/// This structure is given by the function XMLNode::enumContents. -typedef struct XMLNodeContents -{ - /// This dictates what's the content of the XMLNodeContent - enum XMLElementType etype; - /**< should be an union to access the appropriate data. Compiler does not allow union of object with constructor... too bad. */ - XMLNode child; - XMLAttribute attrib; - XMLCSTR text; - XMLClear clear; - -} XMLNodeContents; - -/** @defgroup StringAlloc String Allocation/Free functions - * @ingroup xmlModify - * @{ */ -/// Duplicate (copy in a new allocated buffer) the source string. -XMLDLLENTRY XMLSTR stringDup(XMLCSTR source, int cbData=-1); -/**< This is - * a very handy function when used with all the "XMLNode::*_WOSD" functions (\link xmlWOSD \endlink). - * @param cbData If !=0 then cbData is the number of chars to duplicate. New strings allocated with - * this function should be free'd using the "freeXMLString" function. */ - -/// to free the string allocated inside the "stringDup" function or the "createXMLString" function. -XMLDLLENTRY void freeXMLString(XMLSTR t); // {free(t);} -/** @} */ - -/** @defgroup atoX ato? like functions - * @ingroup XMLParserGeneral - * The "xmlto?" functions are equivalents to the atoi, atol, atof functions. - * The only difference is: If the variable "xmlString" is NULL, than the return value - * is "defautValue". These 6 functions are only here as "convenience" functions for the - * user (they are not used inside the XMLparser). If you don't need them, you can - * delete them without any trouble. - * - * @{ */ -XMLDLLENTRY char xmltob(XMLCSTR xmlString,char defautValue=0); -XMLDLLENTRY int xmltoi(XMLCSTR xmlString,int defautValue=0); -XMLDLLENTRY long long xmltol(XMLCSTR xmlString,long long defautValue=0); -XMLDLLENTRY double xmltof(XMLCSTR xmlString,double defautValue=.0); -XMLDLLENTRY XMLCSTR xmltoa(XMLCSTR xmlString,XMLCSTR defautValue=_CXML("")); -XMLDLLENTRY XMLCHAR xmltoc(XMLCSTR xmlString,const XMLCHAR defautValue=_CXML('\0')); -/** @} */ - -/** @defgroup ToXMLStringTool Helper class to create XML files using "printf", "fprintf", "cout",... functions. - * @ingroup XMLParserGeneral - * @{ */ -/// Helper class to create XML files using "printf", "fprintf", "cout",... functions. -/** The ToXMLStringTool class helps you creating XML files using "printf", "fprintf", "cout",... functions. - * The "ToXMLStringTool" class is processing strings so that all the characters - * &,",',<,> are replaced by their XML equivalent: - * \verbatim &, ", ', <, > \endverbatim - * Using the "ToXMLStringTool class" and the "fprintf function" is THE most efficient - * way to produce VERY large XML documents VERY fast. - * \note If you are creating from scratch an XML file using the provided XMLNode class - * you must not use the "ToXMLStringTool" class (because the "XMLNode" class does the - * processing job for you during rendering).*/ -typedef struct XMLDLLENTRY ToXMLStringTool -{ -public: - ToXMLStringTool(): buf(NULL),buflen(0){} - ~ToXMLStringTool(); - void freeBuffer();/// Date: Thu, 11 Mar 2021 19:19:45 -0500 Subject: [PATCH 42/55] Changed to use main branch of xmlParser. --- CMakeLists-xmlParser.txt.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists-xmlParser.txt.in b/CMakeLists-xmlParser.txt.in index 85018a4..80e4ab9 100644 --- a/CMakeLists-xmlParser.txt.in +++ b/CMakeLists-xmlParser.txt.in @@ -4,7 +4,7 @@ include(ExternalProject) ExternalProject_Add(xmlParser GIT_REPOSITORY https://github.com/LBNL-ETA/XMLParser.git - GIT_TAG "master" + GIT_TAG "main" UPDATE_COMMAND "" PATCH_COMMAND "" From 420824ce4e8951aa2a588b562b3583623cbabb4b Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Mon, 22 Mar 2021 18:11:50 -0400 Subject: [PATCH 43/55] Fix for handling optional values when parsing bsdf xml files. --- src/Parser.cpp | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index 6e7dde6..7388a09 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -50,6 +50,17 @@ namespace OpticsParser return product; } + std::optional parseOptionalDoubleNode(XMLParser::XMLNode const & node) + { + std::optional result; + auto txt = node.getText(); + if(txt) + { + result = std::stod(txt); + } + return result; + } + void Parser::parseHeaderLine(const std::string & line, std::shared_ptr product) { parseUnits(line, product); @@ -665,25 +676,23 @@ namespace OpticsParser XMLParser::XMLNode matNode = xLayerNode.getChildNode("Material"); product->productName = matNode.getChildNode("Name").getText(); product->manufacturer = matNode.getChildNode("Manufacturer").getText(); - auto thicknessStr = matNode.getChildNode("Thickness").getText(); + auto thickness = parseOptionalDoubleNode(matNode.getChildNode("Thickness")); auto thicknessUnitStr = matNode.getChildNode("Thickness").getAttribute("unit"); - - double thickness = std::stod(thicknessStr); if(toLower(thicknessUnitStr) == "millimeter") {} - else if(toLower(thicknessUnitStr) == "meter") + else if(thickness.has_value() && toLower(thicknessUnitStr) == "meter") { - thickness *= 1000.0; + *thickness *= 1000.0; } else { throw std::runtime_error("XML error: Unsupported thickness unit"); } product->thickness = thickness; - product->frontEmissivity = std::stod(matNode.getChildNode("EmissivityFront").getText()); - product->backEmissivity = std::stod(matNode.getChildNode("EmissivityBack").getText()); - product->IRTransmittance = std::stod(matNode.getChildNode("TIR").getText()); - product->conductivity = std::stod(matNode.getChildNode("ThermalConductivity").getText()); + product->frontEmissivity = parseOptionalDoubleNode(matNode.getChildNode("EmissivityFront")); + product->backEmissivity = parseOptionalDoubleNode(matNode.getChildNode("EmissivityBack")); + product->IRTransmittance = parseOptionalDoubleNode(matNode.getChildNode("TIR")); + product->conductivity = parseOptionalDoubleNode(matNode.getChildNode("ThermalConductivity")); auto opennessNode = matNode.getChildNode("PermeabilityFactor"); auto xEffectiveOpenness = matNode.getChildNode("EffectiveOpennessFraction"); @@ -691,7 +700,7 @@ namespace OpticsParser { opennessNode = xEffectiveOpenness; } - product->permeabilityFactor = std::stod(opennessNode.getText()); + product->permeabilityFactor = parseOptionalDoubleNode(opennessNode); int wavelengthDataNodeCt = xLayerNode.nChildNode("WavelengthData"); From a27656091ec748a906bd910ec9ca00249abebeb1 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Wed, 31 Mar 2021 14:16:46 -0400 Subject: [PATCH 44/55] Removing instances of TCHAR for cross-platform use. --- src/Parser.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index 7388a09..2c799ef 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -619,7 +619,7 @@ namespace OpticsParser std::vector possibleTokens{',', ';', ' '}; for(auto & tok : possibleTokens) { - if(str.find(tok) != std::basic_string::npos) + if(str.find(tok) != std::string::npos) { token = tok; break; @@ -631,7 +631,7 @@ namespace OpticsParser std::vector splitString(const std::string & str) { std::vector tokens; - std::basic_istringstream test{str}; + std::istringstream test{str}; char token = getSplitToken(str); std::string line; while(std::getline(test, line, token)) From 532c22883e9c6cdc357d7ea9a65594bf202a2496 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Mon, 28 Jun 2021 14:34:58 -0400 Subject: [PATCH 45/55] Added optional density and Youngs Modulus fields to parsed data. --- src/ProductData.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ProductData.hpp b/src/ProductData.hpp index f7d0d70..122235a 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -148,6 +148,8 @@ namespace OpticsParser std::optional permeabilityFactor; std::optional igdbChecksum; std::optional igdbDatabaseVersion; + std::optional density; + std::optional youngs_modulus; }; // Converting to json requires updating and is not currently being From 0eeb36d96b0729558a067936b3095de01f04a141 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Tue, 29 Jun 2021 09:41:47 -0400 Subject: [PATCH 46/55] Changing variable name from youngs_modulus to youngsModulus for consistancy with the project's naming conventions. --- src/ProductData.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ProductData.hpp b/src/ProductData.hpp index 122235a..fd84ff5 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -149,7 +149,7 @@ namespace OpticsParser std::optional igdbChecksum; std::optional igdbDatabaseVersion; std::optional density; - std::optional youngs_modulus; + std::optional youngsModulus; }; // Converting to json requires updating and is not currently being From 377ceda575e31187a8f5cffe5105fbca6223d019 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Thu, 15 Jul 2021 14:36:19 -0400 Subject: [PATCH 47/55] Fixing parser to deal with coating properties in IGSDB json. --- src/Parser.cpp | 98 ++++++++++++++++++++++++-------------------------- 1 file changed, 47 insertions(+), 51 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index 2c799ef..00c2f1a 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -50,16 +50,16 @@ namespace OpticsParser return product; } - std::optional parseOptionalDoubleNode(XMLParser::XMLNode const & node) - { - std::optional result; - auto txt = node.getText(); - if(txt) - { - result = std::stod(txt); - } - return result; - } + std::optional parseOptionalDoubleNode(XMLParser::XMLNode const & node) + { + std::optional result; + auto txt = node.getText(); + if(txt) + { + result = std::stod(txt); + } + return result; + } void Parser::parseHeaderLine(const std::string & line, std::shared_ptr product) { @@ -393,19 +393,11 @@ namespace OpticsParser product->material = get_optional_field(product_json, "material_bulk_properties"); - if(product_json.count("coating_properties")) - { - product->coatingName = get_optional_field( - product_json.at("coating_properties"), "coating_name"); - product->coatedSide = - get_optional_field(product_json.at("coating_properties"), "coated_side"); - } + product->coatingName = get_optional_field(product_json, "coating_name"); + product->coatedSide = get_optional_field(product_json, "coated_side"); - if(product_json.count("interlayer_properties")) - { - product->substrateFilename = get_optional_field( - product_json.at("interlayer_properties"), "interlayer_name"); - } + product->substrateFilename = + get_optional_field(product_json, "interlayer_name"); product->appearance = get_optional_field(product_json, "appearance"); @@ -613,33 +605,33 @@ namespace OpticsParser } } - char getSplitToken(std::string const& str) - { - char token = ','; // Default to comma delmiter? - std::vector possibleTokens{',', ';', ' '}; - for(auto & tok : possibleTokens) - { - if(str.find(tok) != std::string::npos) - { - token = tok; - break; - } - } - return token; - } + char getSplitToken(std::string const & str) + { + char token = ','; // Default to comma delmiter? + std::vector possibleTokens{',', ';', ' '}; + for(auto & tok : possibleTokens) + { + if(str.find(tok) != std::string::npos) + { + token = tok; + break; + } + } + return token; + } std::vector splitString(const std::string & str) { - std::vector tokens; - std::istringstream test{str}; - char token = getSplitToken(str); - std::string line; - while(std::getline(test, line, token)) - { - tokens.push_back(line); - } - - return tokens; + std::vector tokens; + std::istringstream test{str}; + char token = getSplitToken(str); + std::string line; + while(std::getline(test, line, token)) + { + tokens.push_back(line); + } + + return tokens; } std::vector> convertToSquareMatrix(std::vector const & v) @@ -671,12 +663,13 @@ namespace OpticsParser { throw std::runtime_error("XML error : WindowElement not found"); } - XMLParser::XMLNode xLayerNode = xWindowElementNode.getChildNode("Optical").getChildNode("Layer"); + XMLParser::XMLNode xLayerNode = + xWindowElementNode.getChildNode("Optical").getChildNode("Layer"); XMLParser::XMLNode matNode = xLayerNode.getChildNode("Material"); product->productName = matNode.getChildNode("Name").getText(); product->manufacturer = matNode.getChildNode("Manufacturer").getText(); - auto thickness = parseOptionalDoubleNode(matNode.getChildNode("Thickness")); + auto thickness = parseOptionalDoubleNode(matNode.getChildNode("Thickness")); auto thicknessUnitStr = matNode.getChildNode("Thickness").getAttribute("unit"); if(toLower(thicknessUnitStr) == "millimeter") {} @@ -692,7 +685,8 @@ namespace OpticsParser product->frontEmissivity = parseOptionalDoubleNode(matNode.getChildNode("EmissivityFront")); product->backEmissivity = parseOptionalDoubleNode(matNode.getChildNode("EmissivityBack")); product->IRTransmittance = parseOptionalDoubleNode(matNode.getChildNode("TIR")); - product->conductivity = parseOptionalDoubleNode(matNode.getChildNode("ThermalConductivity")); + product->conductivity = + parseOptionalDoubleNode(matNode.getChildNode("ThermalConductivity")); auto opennessNode = matNode.getChildNode("PermeabilityFactor"); auto xEffectiveOpenness = matNode.getChildNode("EffectiveOpennessFraction"); @@ -794,13 +788,15 @@ namespace OpticsParser std::shared_ptr parseBSDFXMLString(std::string const & contents) { - XMLParser::XMLNode xWindowElementNode = XMLParser::XMLNode::parseString(contents.c_str(), "WindowElement"); + XMLParser::XMLNode xWindowElementNode = + XMLParser::XMLNode::parseString(contents.c_str(), "WindowElement"); return parseBSDFXML(xWindowElementNode); } std::shared_ptr parseBSDFXMLFile(std::string const & fname) { - XMLParser::XMLNode xWindowElementNode = XMLParser::XMLNode::openFileHelper(fname.c_str(), "WindowElement"); + XMLParser::XMLNode xWindowElementNode = + XMLParser::XMLNode::openFileHelper(fname.c_str(), "WindowElement"); return parseBSDFXML(xWindowElementNode); } From 8f935e2182fb81597a8aedd238012a666b7d50b6 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Tue, 10 Aug 2021 19:36:56 -0400 Subject: [PATCH 48/55] Fix typo --- src/ProductData.cpp | 4 ++-- src/ProductData.hpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ProductData.cpp b/src/ProductData.cpp index 103e868..81acda7 100644 --- a/src/ProductData.cpp +++ b/src/ProductData.cpp @@ -8,9 +8,9 @@ OpticsParser::WLData::WLData(double wavelength, wavelength(wavelength), directComponent(directComponent), diffuseComponent(diffuseComponent) {} -OpticsParser::WLData::WLData(double wavelength, double tDirect, double rfDirect, double rbDiffuse) : +OpticsParser::WLData::WLData(double wavelength, double tDirect, double rfDirect, double rbDirect) : wavelength(wavelength), - directComponent(MeasurementComponent{tDirect, tDirect, rfDirect, rbDiffuse}), + directComponent(MeasurementComponent{tDirect, tDirect, rfDirect, rbDirect}), diffuseComponent(std::optional()) {} diff --git a/src/ProductData.hpp b/src/ProductData.hpp index fd84ff5..828f631 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -25,7 +25,7 @@ namespace OpticsParser std::optional diffuseComponent = std::optional()); - WLData(double wavelength, double tDirect, double rfDirect, double rbDiffuse); + WLData(double wavelength, double tDirect, double rfDirect, double rbDirect); WLData(double wavelength, double tfDirect, double tfDiffuse, From 22fcffd1ce9a788dbd84b828604e320a28234521 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Wed, 20 Oct 2021 14:30:45 -0400 Subject: [PATCH 49/55] Adding CDGB checksum. --- src/ProductData.hpp | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/ProductData.hpp b/src/ProductData.hpp index 828f631..e61ff6d 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -56,11 +56,11 @@ namespace OpticsParser BSDF rb; }; - struct DualBandBSDF - { - WavelengthBSDFs solar; - WavelengthBSDFs visible; - }; + struct DualBandBSDF + { + WavelengthBSDFs solar; + WavelengthBSDFs visible; + }; struct ProductGeometry { @@ -146,16 +146,18 @@ namespace OpticsParser std::optional aercID; std::optional specularity; std::optional permeabilityFactor; - std::optional igdbChecksum; + std::optional igdbChecksum; std::optional igdbDatabaseVersion; - std::optional density; - std::optional youngsModulus; + std::optional cgdbChecksum; + std::optional cgdbDatabaseVersion; + std::optional density; + std::optional youngsModulus; }; - // Converting to json requires updating and is not currently being - // used so disabling for now. - //void to_json(nlohmann::json & j, WLData const & wl); - //void to_json(nlohmann::json & j, ProductData const & wl); + // Converting to json requires updating and is not currently being + // used so disabling for now. + // void to_json(nlohmann::json & j, WLData const & wl); + // void to_json(nlohmann::json & j, ProductData const & wl); struct CompositionInformation { From 1f8a8e65ed536dce4a61529a21228b02d5215f3a Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Fri, 22 Oct 2021 14:47:57 -0400 Subject: [PATCH 50/55] Parser now has both 'name' and 'productName' --- src/Parser.cpp | 14 +++++++++++++- src/ProductData.hpp | 4 ++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index 0a103ab..ec36486 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -298,6 +298,10 @@ namespace OpticsParser product->productType = product_json.at("product_type").get(); product->nfrcid = get_optional_field(product_json, "nfrc_id"); + product->cgdbShadingLayerId = get_optional_field(product_json, "cgdb_shading_layer_id"); + product->cgdbShadeMaterialId = get_optional_field(product_json, "cgdb_shade_material_id"); + product->igdbDatabaseVersion = get_optional_field(product_json, "igdb_database_version"); + product->cgdbDatabaseVersion = get_optional_field(product_json, "cgdb_database_version"); product->manufacturer = product_json.at("manufacturer").get(); if(product_json.count("material_bulk_properties")) { @@ -382,11 +386,18 @@ namespace OpticsParser parseIGSDBJsonUncomposedProduct(nlohmann::json const & product_json) { std::shared_ptr product(new ProductData); - product->productName = product_json.at("name").get(); + product->name = product_json.at("name").get(); + product->productName = product_json.at("product_name").get(); product->productType = product_json.at("type").get(); product->productSubtype = get_optional_field(product_json, "subtype"); product->nfrcid = get_optional_field(product_json, "nfrc_id"); + product->cgdbShadingLayerId = get_optional_field(product_json, "cgdb_shading_layer_id"); + product->cgdbShadeMaterialId = get_optional_field(product_json, "cgdb_shade_material_id"); + product->igdbDatabaseVersion = get_optional_field(product_json, "igdb_database_version"); + product->cgdbDatabaseVersion = get_optional_field(product_json, "cgdb_database_version"); + product->igdbChecksum = get_optional_field(product_json, "igdb_checksum"); + product->cgdbChecksum = get_optional_field(product_json, "cgdb_checksum"); product->manufacturer = product_json.at("manufacturer_name").get(); product->material = get_optional_field(product_json, "material_bulk_properties"); @@ -401,6 +412,7 @@ namespace OpticsParser product->appearance = get_optional_field(product_json, "appearance"); product->acceptance = get_optional_field(product_json, "acceptance"); product->fileName = get_optional_field(product_json, "filename"); + product->dataFileName = get_optional_field(product_json, "data_file_name"); product->unitSystem = get_optional_field(product_json, "unit_system"); nlohmann::json measured_data_json = product_json.at("measured_data"); diff --git a/src/ProductData.hpp b/src/ProductData.hpp index e61ff6d..4baefea 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -120,11 +120,14 @@ namespace OpticsParser virtual std::shared_ptr composedProduct(); + std::string name; std::string productName; std::string productType; std::string manufacturer; std::optional productSubtype; std::optional nfrcid; + std::optional cgdbShadingLayerId; + std::optional cgdbShadeMaterialId; std::optional thickness; std::optional conductivity; std::optional IRTransmittance; @@ -152,6 +155,7 @@ namespace OpticsParser std::optional cgdbDatabaseVersion; std::optional density; std::optional youngsModulus; + std::optional dataFileName; }; // Converting to json requires updating and is not currently being From 69839a743818e4c099416bf041076bf83e4f07a5 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Thu, 18 Nov 2021 14:43:24 -0500 Subject: [PATCH 51/55] Added fields needed for updating shading layers and shade materials in WINDOW. --- src/Parser.cpp | 48 +++++++++++++++++++++++++++++---------------- src/ProductData.cpp | 3 ++- src/ProductData.hpp | 17 +++++++++------- 3 files changed, 43 insertions(+), 25 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index ec36486..7b18cf8 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -298,10 +298,14 @@ namespace OpticsParser product->productType = product_json.at("product_type").get(); product->nfrcid = get_optional_field(product_json, "nfrc_id"); - product->cgdbShadingLayerId = get_optional_field(product_json, "cgdb_shading_layer_id"); - product->cgdbShadeMaterialId = get_optional_field(product_json, "cgdb_shade_material_id"); - product->igdbDatabaseVersion = get_optional_field(product_json, "igdb_database_version"); - product->cgdbDatabaseVersion = get_optional_field(product_json, "cgdb_database_version"); + product->cgdbShadingLayerId = + get_optional_field(product_json, "cgdb_shading_layer_id"); + product->cgdbShadeMaterialId = + get_optional_field(product_json, "cgdb_shade_material_id"); + product->igdbDatabaseVersion = + get_optional_field(product_json, "igdb_database_version"); + product->cgdbDatabaseVersion = + get_optional_field(product_json, "cgdb_database_version"); product->manufacturer = product_json.at("manufacturer").get(); if(product_json.count("material_bulk_properties")) { @@ -386,18 +390,22 @@ namespace OpticsParser parseIGSDBJsonUncomposedProduct(nlohmann::json const & product_json) { std::shared_ptr product(new ProductData); - product->name = product_json.at("name").get(); - product->productName = product_json.at("product_name").get(); + product->name = product_json.at("name").get(); + product->productName = get_optional_field(product_json, "product_name"); product->productType = product_json.at("type").get(); product->productSubtype = get_optional_field(product_json, "subtype"); product->nfrcid = get_optional_field(product_json, "nfrc_id"); - product->cgdbShadingLayerId = get_optional_field(product_json, "cgdb_shading_layer_id"); - product->cgdbShadeMaterialId = get_optional_field(product_json, "cgdb_shade_material_id"); - product->igdbDatabaseVersion = get_optional_field(product_json, "igdb_database_version"); - product->cgdbDatabaseVersion = get_optional_field(product_json, "cgdb_database_version"); - product->igdbChecksum = get_optional_field(product_json, "igdb_checksum"); - product->cgdbChecksum = get_optional_field(product_json, "cgdb_checksum"); + product->cgdbShadingLayerId = + get_optional_field(product_json, "cgdb_shading_layer_id"); + product->cgdbShadeMaterialId = + get_optional_field(product_json, "cgdb_shade_material_id"); + product->igdbDatabaseVersion = + get_optional_field(product_json, "igdb_database_version"); + product->cgdbDatabaseVersion = + get_optional_field(product_json, "cgdb_database_version"); + product->igdbChecksum = get_optional_field(product_json, "igdb_checksum"); + product->cgdbChecksum = get_optional_field(product_json, "cgdb_checksum"); product->manufacturer = product_json.at("manufacturer_name").get(); product->material = get_optional_field(product_json, "material_bulk_properties"); @@ -412,8 +420,9 @@ namespace OpticsParser product->appearance = get_optional_field(product_json, "appearance"); product->acceptance = get_optional_field(product_json, "acceptance"); product->fileName = get_optional_field(product_json, "filename"); - product->dataFileName = get_optional_field(product_json, "data_file_name"); + product->dataFileName = get_optional_field(product_json, "data_file_name"); product->unitSystem = get_optional_field(product_json, "unit_system"); + product->opticalOpenness = get_optional_field(product_json, "optical_openness"); nlohmann::json measured_data_json = product_json.at("measured_data"); @@ -430,6 +439,9 @@ namespace OpticsParser product->backEmissivitySource = get_optional_field(measured_data_json, "emissivity_back_source"); + product->permeabilityFactor = + get_optional_field(measured_data_json, "permeability_factor"); + product->backEmissivitySource = get_optional_field(measured_data_json, "wavelength_units"); @@ -468,6 +480,7 @@ namespace OpticsParser auto slatCurvature = geometry_json.at("slat_curvature").get(); auto numberSegments = geometry_json.at("number_segments").get(); double slatTilt = geometry_json.value("slat_tilt", 0.0); + std::string tiltChoice = geometry_json.at("tilt_choice").get(); // These values are stored as mm in the sources being parsed. // Convert to meters here for consistancy with other non-wavelength @@ -477,9 +490,9 @@ namespace OpticsParser slatCurvature /= 1000.0; return std::shared_ptr( - new VenetianGeometry(slatWidth, slatSpacing, slatCurvature, slatTilt, numberSegments)); + new VenetianGeometry(slatWidth, slatSpacing, slatCurvature, slatTilt, tiltChoice, numberSegments)); } - + #if 0 ======= @@ -500,9 +513,10 @@ OpticsParser::ProductData parseIGSDBJson(nlohmann::json const & product_json) product.coatingName = get_optional_field(product_json, "coating_name"); product.coatedSide = get_optional_field(product_json, "coated_side"); >>>>>>> origin/WINDOW_8_update_glass_from_IGSDB -#endif +# endif - std::shared_ptr parseWovenGeometry(nlohmann::json const & geometry_json) + std::shared_ptr + < ProductGeometry> parseWovenGeometry(nlohmann::json const & geometry_json) { auto threadDiameter = geometry_json.at("thread_diameter").get(); auto threadSpacing = geometry_json.at("thread_spacing").get(); diff --git a/src/ProductData.cpp b/src/ProductData.cpp index 81acda7..3ce72fe 100644 --- a/src/ProductData.cpp +++ b/src/ProductData.cpp @@ -176,11 +176,12 @@ OpticsParser::ComposedProductData::ComposedProductData( {} OpticsParser::VenetianGeometry::VenetianGeometry( - double slatWidth, double slatSpacing, double slatCurvature, double slatTilt, int numberSegments) : + double slatWidth, double slatSpacing, double slatCurvature, double slatTilt, std::string const& tiltChoice, int numberSegments) : slatWidth(slatWidth), slatSpacing(slatSpacing), slatCurvature(slatCurvature), slatTilt(slatTilt), + tiltChoice(tiltChoice), numberSegments(numberSegments) {} diff --git a/src/ProductData.hpp b/src/ProductData.hpp index 4baefea..a33d869 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -74,12 +74,14 @@ namespace OpticsParser double slatSpacing, double slatCurvature, double slatTilt = 0, + std::string const& tiltChoice = "0", int numberSegments = 5); double slatWidth; double slatSpacing; double slatCurvature; double slatTilt; + std::string tiltChoice; int numberSegments; }; @@ -120,14 +122,14 @@ namespace OpticsParser virtual std::shared_ptr composedProduct(); - std::string name; - std::string productName; + std::string name; + std::optional productName; std::string productType; std::string manufacturer; std::optional productSubtype; std::optional nfrcid; - std::optional cgdbShadingLayerId; - std::optional cgdbShadeMaterialId; + std::optional cgdbShadingLayerId; + std::optional cgdbShadeMaterialId; std::optional thickness; std::optional conductivity; std::optional IRTransmittance; @@ -151,11 +153,12 @@ namespace OpticsParser std::optional permeabilityFactor; std::optional igdbChecksum; std::optional igdbDatabaseVersion; - std::optional cgdbChecksum; - std::optional cgdbDatabaseVersion; + std::optional cgdbChecksum; + std::optional cgdbDatabaseVersion; std::optional density; std::optional youngsModulus; - std::optional dataFileName; + std::optional dataFileName; + std::optional opticalOpenness; }; // Converting to json requires updating and is not currently being From ae70dbd562036bddcbe47ce4761fed850e59c242 Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Thu, 20 Jan 2022 16:47:59 -0500 Subject: [PATCH 52/55] Added parsing dual band values and integrated results for updating shades from IGSDB in WINDOW. --- src/Parser.cpp | 81 +++++++++++++++++++++++++++++++++++++++++++-- src/ProductData.hpp | 45 ++++++++++++++++++++++--- 2 files changed, 119 insertions(+), 7 deletions(-) diff --git a/src/Parser.cpp b/src/Parser.cpp index 7b18cf8..ff58139 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -385,6 +385,78 @@ namespace OpticsParser return product; } + void parseDualBandValues(std::shared_ptr product, + nlohmann::json const & spectral_data_json) + { + if(spectral_data_json.count("dual_band_values") == 0 + || spectral_data_json.at("dual_band_values").empty()) + { + return; + } + auto dual_band = spectral_data_json.at("dual_band_values"); + DualBandValues specular; + DualBandValues diffuse; + + specular.solarTransmittanceFront = get_optional_field(dual_band, "Tf_sol_specular"); + specular.solarReflectanceFront = get_optional_field(dual_band, "Rf_sol_specular"); + specular.solarReflectanceBack = get_optional_field(dual_band, "Rb_sol_specular"); + specular.solarTransmittanceBack = get_optional_field(dual_band, "Tb_sol_specular"); + + specular.visibleTransmittanceFront = + get_optional_field(dual_band, "Tf_vis_specular"); + specular.visibleTransmittanceBack = + get_optional_field(dual_band, "Tb_vis_specular"); + specular.visibleReflectanceFront = get_optional_field(dual_band, "Rf_vis_specular"); + specular.visibleReflectanceBack = get_optional_field(dual_band, "Rb_vis_specular"); + + diffuse.solarTransmittanceFront = get_optional_field(dual_band, "Tf_sol_diffuse"); + diffuse.solarReflectanceFront = get_optional_field(dual_band, "Rf_sol_diffuse"); + diffuse.solarReflectanceBack = get_optional_field(dual_band, "Rb_sol_diffuse"); + diffuse.solarTransmittanceBack = get_optional_field(dual_band, "Tb_sol_diffuse"); + + diffuse.visibleTransmittanceFront = get_optional_field(dual_band, "Tf_vis_diffuse"); + diffuse.visibleTransmittanceBack = get_optional_field(dual_band, "Tb_vis_diffuse"); + diffuse.visibleReflectanceFront = get_optional_field(dual_band, "Rf_vis_diffuse"); + diffuse.visibleReflectanceBack = get_optional_field(dual_band, "Rb_vis_diffuse"); + + product->dualBandSpecular = specular; + product->dualBandDiffuse = diffuse; + } + + void parseIntegratedResults(std::shared_ptr product, + nlohmann::json const & product_json) + { + if(product_json.count("integrated_results_summary") == 0 + || product_json.at("integrated_results_summary").empty()) + { + return; + } + auto integrated_results = product_json.at("integrated_results_summary")[0]; + PrecalculatedResults result; + + result.solarTransmittanceFront = get_optional_field(integrated_results, "tfsol"); + result.solarReflectanceFront = get_optional_field(integrated_results, "rfsol"); + result.visibleTransmittanceFront = get_optional_field(integrated_results, "tfvis"); + result.visibleReflectanceFront = get_optional_field(integrated_results, "rfvis"); + result.visibleReflectanceBack = get_optional_field(integrated_results, "rbvis"); + result.dwTransmittance = get_optional_field(integrated_results, "tdw"); + result.uvTransmittance = get_optional_field(integrated_results, "tuv"); + result.spfTransmittance = get_optional_field(integrated_results, "tspf"); + auto tcie_x = get_optional_field(integrated_results, "tciex"); + auto tcie_y = get_optional_field(integrated_results, "tciey"); + auto tcie_z = get_optional_field(integrated_results, "tciez"); + if(tcie_x.has_value() && tcie_y.has_value() && tcie_z.has_value()) + { + result.cieTransmittance = CIEValue{*tcie_x, *tcie_y, *tcie_z}; + } + auto rfcie_x = get_optional_field(integrated_results, "rfciex"); + auto rfcie_y = get_optional_field(integrated_results, "rfciey"); + auto rfcie_z = get_optional_field(integrated_results, "rfciez"); + if(rfcie_x.has_value() && rfcie_y.has_value() && rfcie_z.has_value()) + { + result.cieReflectanceFront = CIEValue{*rfcie_x, *rfcie_y, *rfcie_z}; + } + } std::shared_ptr parseIGSDBJsonUncomposedProduct(nlohmann::json const & product_json) @@ -422,7 +494,7 @@ namespace OpticsParser product->fileName = get_optional_field(product_json, "filename"); product->dataFileName = get_optional_field(product_json, "data_file_name"); product->unitSystem = get_optional_field(product_json, "unit_system"); - product->opticalOpenness = get_optional_field(product_json, "optical_openness"); + product->opticalOpenness = get_optional_field(product_json, "optical_openness"); nlohmann::json measured_data_json = product_json.at("measured_data"); @@ -469,7 +541,10 @@ namespace OpticsParser { product->measurements = measurements; } + parseDualBandValues(product, spectral_data_json); } + parseIntegratedResults(product, product_json); + return product; } @@ -489,8 +564,8 @@ namespace OpticsParser slatSpacing /= 1000.0; slatCurvature /= 1000.0; - return std::shared_ptr( - new VenetianGeometry(slatWidth, slatSpacing, slatCurvature, slatTilt, tiltChoice, numberSegments)); + return std::shared_ptr(new VenetianGeometry( + slatWidth, slatSpacing, slatCurvature, slatTilt, tiltChoice, numberSegments)); } #if 0 diff --git a/src/ProductData.hpp b/src/ProductData.hpp index a33d869..0465fa9 100644 --- a/src/ProductData.hpp +++ b/src/ProductData.hpp @@ -74,14 +74,14 @@ namespace OpticsParser double slatSpacing, double slatCurvature, double slatTilt = 0, - std::string const& tiltChoice = "0", + std::string const & tiltChoice = "0", int numberSegments = 5); double slatWidth; double slatSpacing; double slatCurvature; double slatTilt; - std::string tiltChoice; + std::string tiltChoice; int numberSegments; }; @@ -107,6 +107,40 @@ namespace OpticsParser std::string perforationType; }; + struct DualBandValues + { + std::optional solarTransmittanceFront; + std::optional solarTransmittanceBack; + std::optional solarReflectanceFront; + std::optional solarReflectanceBack; + std::optional visibleTransmittanceFront; + std::optional visibleTransmittanceBack; + std::optional visibleReflectanceFront; + std::optional visibleReflectanceBack; + }; + + struct CIEValue + { + double x; + double y; + double z; + }; + + struct PrecalculatedResults + { + std::optional solarTransmittanceFront; + std::optional solarReflectanceFront; + std::optional solarReflectanceBack; + std::optional visibleTransmittanceFront; + std::optional visibleReflectanceFront; + std::optional visibleReflectanceBack; + std::optional dwTransmittance; + std::optional spfTransmittance; + std::optional uvTransmittance; + std::optional cieTransmittance; + std::optional cieReflectanceFront; + }; + struct ProductData : std::enable_shared_from_this { ProductData() = default; @@ -123,7 +157,7 @@ namespace OpticsParser virtual std::shared_ptr composedProduct(); std::string name; - std::optional productName; + std::optional productName; std::string productType; std::string manufacturer; std::optional productSubtype; @@ -158,7 +192,10 @@ namespace OpticsParser std::optional density; std::optional youngsModulus; std::optional dataFileName; - std::optional opticalOpenness; + std::optional opticalOpenness; + std::optional dualBandSpecular; + std::optional dualBandDiffuse; + std::optional precalculatedResults; }; // Converting to json requires updating and is not currently being From 3c1d40ff021c3213d7b4b88d904d78fe6efcbaaa Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Fri, 4 Feb 2022 16:22:31 -0500 Subject: [PATCH 53/55] Fixing bug with not setting parsed integrated results. --- src/Parser.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Parser.cpp b/src/Parser.cpp index ff58139..7e8dbdf 100644 --- a/src/Parser.cpp +++ b/src/Parser.cpp @@ -456,6 +456,7 @@ namespace OpticsParser { result.cieReflectanceFront = CIEValue{*rfcie_x, *rfcie_y, *rfcie_z}; } + product->precalculatedResults = result; } std::shared_ptr From fb542d7c5166f2573cd55198d6d6d045435dc95d Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Mon, 7 Feb 2022 16:17:52 -0500 Subject: [PATCH 54/55] Updating version to 1.2.0 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 12aacc2..653c796 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.8) -project( OpticalMeasurementParser VERSION 1.0.1 LANGUAGES CXX ) +project( OpticalMeasurementParser VERSION 1.2.0 LANGUAGES CXX ) set(LIB_NAME ${PROJECT_NAME}) if(NOT "${CMAKE_CXX_STANDARD}") From a8a7d22f71d5c33065e63108f1abd113748a3f9a Mon Sep 17 00:00:00 2001 From: StephenCzarnecki Date: Wed, 16 Feb 2022 13:21:12 -0500 Subject: [PATCH 55/55] Updating the targeted version of gtest. --- test/CMakeLists.txt.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/CMakeLists.txt.in b/test/CMakeLists.txt.in index bf16f80..9f856d9 100644 --- a/test/CMakeLists.txt.in +++ b/test/CMakeLists.txt.in @@ -6,7 +6,7 @@ include(ExternalProject) ExternalProject_Add(googletest GIT_REPOSITORY https://github.com/google/googletest.git - GIT_TAG master + GIT_TAG release-1.11.0 UPDATE_COMMAND "" PATCH_COMMAND ""