/*
 * Copyright 2022 GlobalFoundries PDK Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
  cell(gf180mcu_fd_sc_mcu9t5v0__and2_1) {
    area : 22.579200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "0.000916812" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "0.00219456" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "0.001935828" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "0.00288648" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.00288648" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.003867 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 5.2 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.01608, 0.01605, 0.01599, 0.01596, 0.01595, 0.01595, 0.01595, \
                  0.01596, 0.01596, 0.01594");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.008955, -0.00894, -0.008937, -0.008941, -0.008964, -0.008967, \
                  -0.00899, -0.008993, -0.009013, -0.00904");
        }
      }
    }

    pin(A2) {
      capacitance : 0.003795 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 5.2 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("0.01661, 0.01542, 0.01466, 0.01436, 0.01424, 0.01417, 0.01412, \
                  0.01407, 0.01406, 0.01403");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          values("-0.01402, -0.01401, -0.01399, -0.01397, -0.01397, -0.01396, -0.014, \
                  -0.01398, -0.01399, -0.01401");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1&A2)" ;
      max_capacitance : 0.3767 ;
      max_transition : 5.2 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003593, 0.0127, 0.03008, 0.05716, 0.09516, 0.1452, 0.2082, 0.2851, 0.3767");
          values("0.1401, 0.1377, 0.1336, 0.1311, 0.1296, 0.1286, 0.128, 0.1276, 0.1274, 0.1271",\
                 "0.14, 0.1377, 0.1332, 0.1307, 0.1292, 0.1282, 0.1277, 0.1272, 0.1269, 0.1268",\
                 "0.1414, 0.139, 0.1347, 0.1321, 0.1305, 0.1296, 0.129, 0.1285, 0.1283, 0.1281",\
                 "0.1546, 0.1515, 0.1459, 0.1419, 0.1396, 0.1382, 0.1374, 0.1367, 0.1363, 0.136",\
                 "0.1823, 0.1783, 0.17, 0.1636, 0.1597, 0.1572, 0.1556, 0.1544, 0.1538, 0.1532",\
                 "0.224, 0.2188, 0.2075, 0.1979, 0.1917, 0.1874, 0.1847, 0.1829, 0.1817, 0.1807",\
                 "0.2791, 0.273, 0.2588, 0.2457, 0.2364, 0.23, 0.2257, 0.2228, 0.2207, 0.2192",\
                 "0.348, 0.3411, 0.3244, 0.3072, 0.2946, 0.2857, 0.2794, 0.2751, 0.2719, 0.2697",\
                 "0.4309, 0.4233, 0.4043, 0.3833, 0.3669, 0.3551, 0.3466, 0.3405, 0.3359, 0.3327",\
                 "0.5282, 0.52, 0.499, 0.4745, 0.4541, 0.4388, 0.4277, 0.4195, 0.4135, 0.409");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003593, 0.0127, 0.03008, 0.05716, 0.09516, 0.1452, 0.2082, 0.2851, 0.3767");
          values("0.08614, 0.08342, 0.08051, 0.0785, 0.0779, 0.07708, 0.07662, 0.07646, 0.07589, 0.07454",\
                 "0.08531, 0.0832, 0.07977, 0.07835, 0.07711, 0.07661, 0.07637, 0.07621, 0.07553, 0.07526",\
                 "0.08748, 0.08524, 0.0818, 0.07961, 0.07873, 0.07787, 0.07745, 0.07718, 0.07625, 0.07634",\
                 "0.09954, 0.0966, 0.0917, 0.08811, 0.08611, 0.085, 0.084, 0.08366, 0.08309, 0.08282",\
                 "0.122, 0.1186, 0.1123, 0.1066, 0.1028, 0.1005, 0.09891, 0.09763, 0.09713, 0.0965",\
                 "0.1567, 0.1523, 0.1439, 0.1365, 0.1306, 0.1262, 0.1236, 0.1216, 0.1198, 0.1195",\
                 "0.2036, 0.1983, 0.1876, 0.1778, 0.1704, 0.164, 0.1592, 0.1557, 0.154, 0.1523",\
                 "0.2632, 0.2568, 0.2439, 0.2318, 0.2215, 0.2137, 0.2078, 0.2023, 0.1979, 0.1959",\
                 "0.3353, 0.3279, 0.3126, 0.2978, 0.2849, 0.2752, 0.2674, 0.2614, 0.2552, 0.2513",\
                 "0.4206, 0.4128, 0.3946, 0.3775, 0.3623, 0.3499, 0.3405, 0.3324, 0.3254, 0.319");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003593, 0.0127, 0.03008, 0.05716, 0.09516, 0.1452, 0.2082, 0.2851, 0.3767");
          values("0.161, 0.1582, 0.1529, 0.1494, 0.1471, 0.1458, 0.1449, 0.1443, 0.1439, 0.1436",\
                 "0.1605, 0.1576, 0.1522, 0.1486, 0.1464, 0.1452, 0.1443, 0.1437, 0.1433, 0.143",\
                 "0.1626, 0.1598, 0.1544, 0.1506, 0.1485, 0.147, 0.1461, 0.1455, 0.1451, 0.1448",\
                 "0.1757, 0.1724, 0.1656, 0.161, 0.158, 0.1561, 0.155, 0.1543, 0.1538, 0.1534",\
                 "0.2049, 0.2006, 0.1915, 0.184, 0.1794, 0.1765, 0.1746, 0.1733, 0.1724, 0.1718",\
                 "0.2488, 0.2436, 0.2316, 0.2212, 0.214, 0.2093, 0.2061, 0.2038, 0.2024, 0.2014",\
                 "0.3077, 0.3016, 0.2869, 0.2727, 0.2625, 0.2551, 0.2502, 0.2469, 0.2445, 0.2429",\
                 "0.3812, 0.3742, 0.3571, 0.3391, 0.3253, 0.3153, 0.3082, 0.3033, 0.2997, 0.2972",\
                 "0.4698, 0.4622, 0.4428, 0.421, 0.4032, 0.3901, 0.3805, 0.3736, 0.3685, 0.3648",\
                 "0.5741, 0.566, 0.5445, 0.519, 0.4972, 0.4805, 0.468, 0.4588, 0.4519, 0.4467");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003593, 0.0127, 0.03008, 0.05716, 0.09516, 0.1452, 0.2082, 0.2851, 0.3767");
          values("0.08569, 0.08356, 0.08047, 0.07868, 0.07786, 0.07705, 0.07673, 0.07595, 0.07517, 0.07562",\
                 "0.08529, 0.08312, 0.07997, 0.07817, 0.07747, 0.07679, 0.07623, 0.07552, 0.07481, 0.07526",\
                 "0.08636, 0.08414, 0.08077, 0.07868, 0.07783, 0.07712, 0.07644, 0.07639, 0.07589, 0.07454",\
                 "0.09647, 0.0938, 0.08905, 0.08588, 0.08409, 0.08324, 0.08231, 0.082, 0.08165, 0.08102",\
                 "0.1183, 0.1149, 0.109, 0.1038, 0.1002, 0.09814, 0.09682, 0.09586, 0.09533, 0.0947",\
                 "0.1529, 0.1485, 0.1405, 0.1337, 0.1283, 0.1242, 0.122, 0.1204, 0.1191, 0.1185",\
                 "0.2002, 0.195, 0.1849, 0.1756, 0.1686, 0.1627, 0.1585, 0.1551, 0.1537, 0.1523",\
                 "0.2606, 0.2548, 0.2421, 0.2305, 0.2216, 0.214, 0.2084, 0.2029, 0.1997, 0.1977",\
                 "0.3343, 0.3275, 0.3128, 0.2988, 0.2874, 0.2776, 0.2708, 0.2648, 0.2588, 0.2545",\
                 "0.4219, 0.4146, 0.3976, 0.3811, 0.3664, 0.3551, 0.3459, 0.3384, 0.3319, 0.3255");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003593, 0.0127, 0.03008, 0.05716, 0.09516, 0.1452, 0.2082, 0.2851, 0.3767");
          values("0.2122, 0.2324, 0.289, 0.3769, 0.4978, 0.6597, 0.8701, 1.135, 1.459, 1.845",\
                 "0.2203, 0.2405, 0.297, 0.3849, 0.5059, 0.6677, 0.8782, 1.143, 1.467, 1.853",\
                 "0.2557, 0.2758, 0.3323, 0.4202, 0.5413, 0.7031, 0.9137, 1.179, 1.502, 1.888",\
                 "0.3287, 0.3487, 0.4055, 0.4933, 0.6141, 0.7758, 0.9862, 1.251, 1.575, 1.961",\
                 "0.4245, 0.446, 0.5054, 0.5959, 0.7174, 0.879, 1.089, 1.354, 1.676, 2.062",\
                 "0.5374, 0.5612, 0.6252, 0.7194, 0.845, 1.008, 1.217, 1.481, 1.804, 2.189",\
                 "0.6658, 0.692, 0.7616, 0.8613, 0.9928, 1.159, 1.37, 1.634, 1.955, 2.34",\
                 "0.8103, 0.8384, 0.9139, 1.021, 1.159, 1.332, 1.547, 1.812, 2.134, 2.518",\
                 "0.972, 1.002, 1.084, 1.198, 1.342, 1.523, 1.745, 2.016, 2.342, 2.726",\
                 "1.151, 1.184, 1.271, 1.394, 1.545, 1.731, 1.962, 2.241, 2.574, 2.963");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003593, 0.0127, 0.03008, 0.05716, 0.09516, 0.1452, 0.2082, 0.2851, 0.3767");
          values("0.2299, 0.2535, 0.3283, 0.4599, 0.6615, 0.9435, 1.314, 1.783, 2.354, 3.035",\
                 "0.2348, 0.2585, 0.3328, 0.465, 0.6658, 0.9484, 1.32, 1.788, 2.359, 3.041",\
                 "0.2567, 0.2805, 0.3547, 0.4862, 0.6873, 0.9692, 1.341, 1.809, 2.38, 3.062",\
                 "0.2932, 0.3171, 0.391, 0.5214, 0.7214, 1.003, 1.374, 1.842, 2.413, 3.095",\
                 "0.3237, 0.3483, 0.4226, 0.553, 0.7522, 1.032, 1.403, 1.87, 2.441, 3.121",\
                 "0.3438, 0.3694, 0.4454, 0.5763, 0.7747, 1.054, 1.423, 1.889, 2.46, 3.14",\
                 "0.3488, 0.3761, 0.4546, 0.5877, 0.7878, 1.067, 1.435, 1.9, 2.469, 3.15",\
                 "0.3376, 0.3664, 0.4485, 0.584, 0.7865, 1.069, 1.438, 1.903, 2.471, 3.149",\
                 "0.308, 0.339, 0.4249, 0.5631, 0.7683, 1.054, 1.428, 1.895, 2.463, 3.14",\
                 "0.2594, 0.2926, 0.3828, 0.5243, 0.7319, 1.021, 1.401, 1.873, 2.444, 3.122");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003593, 0.0127, 0.03008, 0.05716, 0.09516, 0.1452, 0.2082, 0.2851, 0.3767");
          values("0.08736, 0.1088, 0.1733, 0.2883, 0.468, 0.7316, 1.089, 1.543, 2.098, 2.761",\
                 "0.08736, 0.1084, 0.1729, 0.2884, 0.4683, 0.7318, 1.089, 1.543, 2.099, 2.761",\
                 "0.088, 0.1095, 0.1737, 0.2883, 0.4678, 0.7317, 1.089, 1.542, 2.099, 2.761",\
                 "0.09504, 0.1159, 0.178, 0.2914, 0.4698, 0.7321, 1.089, 1.544, 2.098, 2.761",\
                 "0.1124, 0.1332, 0.1948, 0.3038, 0.4764, 0.7352, 1.089, 1.544, 2.098, 2.76",\
                 "0.1364, 0.1576, 0.2188, 0.324, 0.4922, 0.7426, 1.093, 1.544, 2.099, 2.761",\
                 "0.1624, 0.1866, 0.2488, 0.3538, 0.5186, 0.7622, 1.102, 1.547, 2.098, 2.76",\
                 "0.1906, 0.2164, 0.2834, 0.388, 0.5544, 0.7954, 1.126, 1.561, 2.104, 2.762",\
                 "0.2212, 0.2494, 0.3208, 0.4268, 0.591, 0.835, 1.167, 1.595, 2.126, 2.77",\
                 "0.2522, 0.2838, 0.3614, 0.468, 0.6318, 0.877, 1.214, 1.645, 2.171, 2.802");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003593, 0.0127, 0.03008, 0.05716, 0.09516, 0.1452, 0.2082, 0.2851, 0.3767");
          values("0.1039, 0.1367, 0.2532, 0.4788, 0.8428, 1.359, 2.04, 2.898, 3.944, 5.194",\
                 "0.104, 0.1373, 0.2531, 0.4786, 0.8433, 1.36, 2.041, 2.898, 3.944, 5.193",\
                 "0.1045, 0.1376, 0.2533, 0.4783, 0.8436, 1.359, 2.04, 2.896, 3.946, 5.191",\
                 "0.1099, 0.1422, 0.2561, 0.4802, 0.8432, 1.361, 2.041, 2.896, 3.945, 5.19",\
                 "0.1185, 0.1506, 0.2634, 0.4849, 0.8454, 1.36, 2.04, 2.899, 3.945, 5.194",\
                 "0.132, 0.1638, 0.275, 0.4936, 0.8498, 1.362, 2.04, 2.898, 3.946, 5.19",\
                 "0.1482, 0.18, 0.2888, 0.5086, 0.862, 1.369, 2.044, 2.899, 3.944, 5.189",\
                 "0.1678, 0.1992, 0.3066, 0.5244, 0.881, 1.388, 2.055, 2.901, 3.946, 5.191",\
                 "0.1882, 0.2206, 0.3268, 0.5426, 0.9014, 1.411, 2.081, 2.918, 3.949, 5.191",\
                 "0.21, 0.2446, 0.3494, 0.5628, 0.9232, 1.44, 2.114, 2.951, 3.971, 5.199");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003593, 0.0127, 0.03008, 0.05716, 0.09516, 0.1452, 0.2082, 0.2851, 0.3767");
          values("0.2362, 0.2576, 0.3171, 0.4068, 0.5288, 0.6909, 0.9016, 1.167, 1.49, 1.876",\
                 "0.2442, 0.2657, 0.3251, 0.4148, 0.5368, 0.6989, 0.9095, 1.175, 1.498, 1.883",\
                 "0.2806, 0.302, 0.3613, 0.451, 0.573, 0.7352, 0.9459, 1.211, 1.534, 1.92",\
                 "0.3582, 0.3796, 0.4388, 0.5282, 0.6499, 0.8117, 1.022, 1.287, 1.61, 1.996",\
                 "0.4657, 0.4884, 0.5503, 0.6415, 0.7637, 0.9251, 1.135, 1.4, 1.723, 2.109",\
                 "0.5978, 0.6221, 0.6882, 0.7831, 0.9084, 1.071, 1.28, 1.544, 1.867, 2.252",\
                 "0.7515, 0.7786, 0.8499, 0.9506, 1.08, 1.245, 1.455, 1.719, 2.04, 2.425",\
                 "0.9294, 0.9585, 1.036, 1.144, 1.279, 1.449, 1.662, 1.926, 2.248, 2.631",\
                 "1.132, 1.163, 1.247, 1.362, 1.504, 1.68, 1.899, 2.167, 2.489, 2.873",\
                 "1.361, 1.395, 1.484, 1.607, 1.756, 1.939, 2.164, 2.439, 2.766, 3.152");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003593, 0.0127, 0.03008, 0.05716, 0.09516, 0.1452, 0.2082, 0.2851, 0.3767");
          values("0.2435, 0.2673, 0.342, 0.4738, 0.6751, 0.9569, 1.329, 1.797, 2.368, 3.05",\
                 "0.2473, 0.2712, 0.3458, 0.4776, 0.679, 0.9612, 1.332, 1.801, 2.372, 3.054",\
                 "0.2577, 0.2814, 0.3558, 0.4873, 0.6885, 0.9707, 1.342, 1.81, 2.382, 3.062",\
                 "0.2761, 0.3002, 0.3744, 0.5053, 0.7057, 0.9872, 1.359, 1.826, 2.398, 3.079",\
                 "0.2895, 0.3143, 0.3896, 0.5206, 0.7197, 1, 1.371, 1.838, 2.409, 3.09",\
                 "0.2878, 0.3139, 0.3917, 0.5248, 0.7243, 1.004, 1.373, 1.84, 2.41, 3.091",\
                 "0.2663, 0.2943, 0.375, 0.5113, 0.7141, 0.9947, 1.363, 1.828, 2.398, 3.078",\
                 "0.2228, 0.2527, 0.3371, 0.4765, 0.6832, 0.9684, 1.34, 1.805, 2.373, 3.052",\
                 "0.1554, 0.1867, 0.2752, 0.4185, 0.629, 0.9196, 1.297, 1.766, 2.334, 3.013",\
                 "0.0624, 0.0959, 0.1887, 0.3353, 0.549, 0.8443, 1.229, 1.705, 2.279, 2.957");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003593, 0.0127, 0.03008, 0.05716, 0.09516, 0.1452, 0.2082, 0.2851, 0.3767");
          values("0.09688, 0.1192, 0.1824, 0.2946, 0.4722, 0.7335, 1.09, 1.543, 2.098, 2.761",\
                 "0.09688, 0.119, 0.1827, 0.2945, 0.4715, 0.7335, 1.09, 1.544, 2.099, 2.761",\
                 "0.09698, 0.1193, 0.1827, 0.2948, 0.4723, 0.7337, 1.09, 1.543, 2.098, 2.761",\
                 "0.102, 0.1235, 0.1859, 0.2967, 0.4726, 0.7342, 1.09, 1.544, 2.099, 2.761",\
                 "0.1189, 0.1405, 0.2019, 0.3072, 0.4786, 0.7362, 1.091, 1.544, 2.099, 2.76",\
                 "0.1418, 0.1644, 0.2246, 0.3268, 0.4924, 0.7428, 1.093, 1.544, 2.098, 2.761",\
                 "0.1686, 0.1928, 0.2556, 0.355, 0.5158, 0.7586, 1.101, 1.547, 2.099, 2.76",\
                 "0.197, 0.2236, 0.2898, 0.3888, 0.5478, 0.7856, 1.118, 1.555, 2.102, 2.762",\
                 "0.227, 0.256, 0.3274, 0.4286, 0.5848, 0.8222, 1.151, 1.58, 2.116, 2.766",\
                 "0.2592, 0.2912, 0.368, 0.4708, 0.6256, 0.8638, 1.194, 1.62, 2.149, 2.787");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05575, 0.1813, 0.4209, 0.7943, 1.318, 2.008, 2.876, 3.936, 5.2");
          index_2("0.001, 0.003593, 0.0127, 0.03008, 0.05716, 0.09516, 0.1452, 0.2082, 0.2851, 0.3767");
          values("0.1046, 0.1375, 0.2532, 0.4788, 0.8428, 1.36, 2.041, 2.898, 3.946, 5.193",\
                 "0.1045, 0.1375, 0.2531, 0.4786, 0.8433, 1.361, 2.04, 2.897, 3.946, 5.194",\
                 "0.1046, 0.1375, 0.2533, 0.4788, 0.843, 1.361, 2.041, 2.897, 3.944, 5.194",\
                 "0.1093, 0.1417, 0.2555, 0.4796, 0.8424, 1.361, 2.041, 2.896, 3.945, 5.191",\
                 "0.1191, 0.1509, 0.2637, 0.4843, 0.8442, 1.36, 2.039, 2.899, 3.945, 5.194",\
                 "0.133, 0.165, 0.2774, 0.496, 0.8496, 1.362, 2.041, 2.895, 3.944, 5.193",\
                 "0.148, 0.1806, 0.2928, 0.5136, 0.8658, 1.369, 2.042, 2.898, 3.941, 5.189",\
                 "0.1656, 0.2, 0.3106, 0.5324, 0.8894, 1.394, 2.057, 2.9, 3.94, 5.186",\
                 "0.1836, 0.219, 0.3306, 0.553, 0.9142, 1.425, 2.092, 2.922, 3.95, 5.193",\
                 "0.2048, 0.241, 0.3538, 0.5742, 0.9394, 1.457, 2.13, 2.966, 3.98, 5.203");
        }
      }
    }
  }

