/*
 * 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__bufz_3) {
    area : 53.625600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&!I" ;
      value : "0.0002011955" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&I" ;
      value : "0.0002011955" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&!I" ;
      value : "0.000343079" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&I" ;
      value : "0.0003426115" ;
    }

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

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

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

    pin(EN) {
      capacitance : 0.01348 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 2.8 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          values("0.4366, 0.4398, 0.4732, 0.5558, 0.6957, 0.9066, 1.22, 1.637, 2.16, \
                  2.794");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          values("0.5739, 0.5786, 0.6259, 0.7516, 0.9788, 1.322, 1.789, 2.389, 3.128, \
                  4.013");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }
    }

    pin(I) {
      capacitance : 0.01036 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 2.8 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!EN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          values("0.1179, 0.1178, 0.1177, 0.1179, 0.1178, 0.1177, 0.1177, 0.1179, \
                  0.1178, 0.1178");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          values("-0.1175, -0.1174, -0.1173, -0.1174, -0.1173, -0.1173, -0.1173, \
                  -0.1174, -0.1176, -0.1177");
        }
      }
    }

    pin(Z) {
      capacitance : 0.007418 ;
      direction : output ;
      function : "I" ;
      max_capacitance : 1.122 ;
      max_transition : 2.8 ;
      min_capacitance : 0.008418 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      three_state : "(!EN)" ;

      internal_power() {
        related_pin : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.008418, 0.0161, 0.04307, 0.09457, 0.1748, 0.2874, 0.4355, 0.6222, 0.85, 1.122");
          values("0.6438, 0.6371, 0.6288, 0.6239, 0.6211, 0.6195, 0.6182, 0.6173, 0.6167, 0.6162",\
                 "0.6486, 0.6419, 0.6336, 0.629, 0.6267, 0.6251, 0.6235, 0.6229, 0.6222, 0.6218",\
                 "0.6853, 0.6802, 0.6735, 0.6712, 0.6693, 0.6685, 0.6678, 0.6671, 0.6667, 0.6664",\
                 "0.7757, 0.7731, 0.7713, 0.7704, 0.7704, 0.7704, 0.7703, 0.7701, 0.7702, 0.7702",\
                 "0.9427, 0.9431, 0.9429, 0.943, 0.9427, 0.9431, 0.9426, 0.9425, 0.9426, 0.9426",\
                 "1.188, 1.188, 1.188, 1.187, 1.188, 1.188, 1.188, 1.188, 1.188, 1.188",\
                 "1.509, 1.508, 1.508, 1.508, 1.508, 1.508, 1.508, 1.508, 1.508, 1.508",\
                 "1.909, 1.909, 1.909, 1.909, 1.909, 1.909, 1.909, 1.909, 1.909, 1.909",\
                 "2.396, 2.396, 2.396, 2.395, 2.395, 2.396, 2.395, 2.396, 2.396, 2.396",\
                 "2.972, 2.972, 2.971, 2.971, 2.972, 2.971, 2.972, 2.971, 2.972, 2.971");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.008418, 0.0161, 0.04307, 0.09457, 0.1748, 0.2874, 0.4355, 0.6222, 0.85, 1.122");
          values("0.4323, 0.4311, 0.4307, 0.4307, 0.4324, 0.4353, 0.4366, 0.4456, 0.4552, 0.4648",\
                 "0.4347, 0.4335, 0.4331, 0.4339, 0.4345, 0.4375, 0.441, 0.4456, 0.4574, 0.4626",\
                 "0.4706, 0.4689, 0.47, 0.4693, 0.4715, 0.4738, 0.4762, 0.483, 0.4932, 0.495",\
                 "0.5776, 0.5782, 0.5814, 0.5804, 0.581, 0.5838, 0.5851, 0.5941, 0.5982, 0.6166",\
                 "0.7814, 0.7824, 0.7805, 0.786, 0.7872, 0.7851, 0.7891, 0.7965, 0.8116, 0.8157",\
                 "1.09, 1.09, 1.09, 1.089, 1.098, 1.1, 1.098, 1.104, 1.113, 1.125",\
                 "1.51, 1.511, 1.511, 1.51, 1.51, 1.521, 1.523, 1.523, 1.529, 1.539",\
                 "2.048, 2.048, 2.05, 2.051, 2.049, 2.053, 2.063, 2.073, 2.074, 2.073",\
                 "2.711, 2.712, 2.715, 2.717, 2.713, 2.715, 2.721, 2.74, 2.743, 2.749",\
                 "3.507, 3.509, 3.511, 3.514, 3.512, 3.508, 3.515, 3.524, 3.551, 3.556");
        }
      }

      internal_power() {
        related_pin : "I" ;
        when : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.008418, 0.0161, 0.04307, 0.09457, 0.1748, 0.2874, 0.4355, 0.6222, 0.85, 1.122");
          values("1.091, 1.072, 1.044, 1.029, 1.02, 1.016, 1.012, 1.01, 1.008, 1.007",\
                 "1.09, 1.07, 1.042, 1.027, 1.018, 1.013, 1.011, 1.009, 1.007, 1.006",\
                 "1.12, 1.1, 1.069, 1.053, 1.043, 1.038, 1.035, 1.033, 1.031, 1.029",\
                 "1.249, 1.223, 1.182, 1.154, 1.139, 1.129, 1.124, 1.12, 1.118, 1.116",\
                 "1.488, 1.457, 1.399, 1.354, 1.326, 1.309, 1.299, 1.292, 1.287, 1.283",\
                 "1.835, 1.798, 1.722, 1.66, 1.617, 1.589, 1.571, 1.559, 1.551, 1.545",\
                 "2.294, 2.251, 2.158, 2.076, 2.017, 1.975, 1.948, 1.929, 1.916, 1.907",\
                 "2.869, 2.821, 2.713, 2.611, 2.533, 2.475, 2.437, 2.409, 2.39, 2.376",\
                 "3.563, 3.51, 3.39, 3.266, 3.169, 3.095, 3.042, 3.005, 2.978, 2.958",\
                 "4.381, 4.326, 4.191, 4.049, 3.932, 3.839, 3.771, 3.722, 3.687, 3.659");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.008418, 0.0161, 0.04307, 0.09457, 0.1748, 0.2874, 0.4355, 0.6222, 0.85, 1.122");
          values("0.4984, 0.4922, 0.4918, 0.4994, 0.5102, 0.5174, 0.5259, 0.5316, 0.5478, 0.5557",\
                 "0.496, 0.4901, 0.4867, 0.4959, 0.5064, 0.5141, 0.5231, 0.5327, 0.5434, 0.5568",\
                 "0.515, 0.5078, 0.5016, 0.5059, 0.5146, 0.5207, 0.5297, 0.541, 0.5539, 0.5601",\
                 "0.6151, 0.6029, 0.5848, 0.5765, 0.5757, 0.5812, 0.5842, 0.5965, 0.6078, 0.6118",\
                 "0.8038, 0.7841, 0.7494, 0.7328, 0.7187, 0.7132, 0.7162, 0.7225, 0.7381, 0.7345",\
                 "1.094, 1.067, 1.023, 0.9817, 0.9656, 0.9486, 0.9411, 0.943, 0.9554, 0.9616",\
                 "1.493, 1.458, 1.397, 1.342, 1.307, 1.29, 1.271, 1.26, 1.266, 1.273",\
                 "2.002, 1.961, 1.889, 1.82, 1.764, 1.731, 1.716, 1.692, 1.681, 1.682",\
                 "2.625, 2.578, 2.489, 2.407, 2.341, 2.284, 2.251, 2.24, 2.225, 2.208",\
                 "3.365, 3.314, 3.21, 3.117, 3.028, 2.963, 2.908, 2.883, 2.871, 2.85");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : negative_unate ;
        timing_type : three_state_disable ;

        cell_fall(tmg_ntin_10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          values("0.108, 0.1127, 0.1314, 0.1711, 0.2265, 0.2934, 0.3702, 0.4574, \
                  0.555, 0.664");
        }

        cell_rise(tmg_ntin_10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          values("0.1301, 0.1347, 0.1554, 0.1931, 0.2441, 0.3054, 0.3771, 0.4604, \
                  0.554, 0.66");
        }

        fall_transition(tmg_ntin_10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }

        rise_transition(tmg_ntin_10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : positive_unate ;
        timing_type : three_state_enable ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.008418, 0.0161, 0.04307, 0.09457, 0.1748, 0.2874, 0.4355, 0.6222, 0.85, 1.122");
          values("0.07928, 0.09485, 0.1344, 0.1928, 0.2698, 0.3703, 0.4998, 0.662, 0.86, 1.096",\
                 "0.08302, 0.09855, 0.138, 0.1963, 0.2733, 0.3739, 0.5033, 0.6656, 0.8635, 1.1",\
                 "0.09693, 0.1122, 0.1515, 0.2097, 0.2866, 0.3871, 0.5165, 0.6789, 0.8769, 1.113",\
                 "0.112, 0.1288, 0.1701, 0.2283, 0.3052, 0.4057, 0.5352, 0.6975, 0.8955, 1.132",\
                 "0.1189, 0.1371, 0.1795, 0.2374, 0.314, 0.4142, 0.5436, 0.7058, 0.9039, 1.14",\
                 "0.1168, 0.1356, 0.1783, 0.236, 0.3121, 0.4121, 0.5412, 0.7033, 0.9013, 1.137",\
                 "0.1044, 0.1242, 0.1675, 0.2253, 0.3012, 0.4011, 0.5302, 0.6922, 0.89, 1.126",\
                 "0.08083, 0.1021, 0.1463, 0.2044, 0.2804, 0.3802, 0.5093, 0.6714, 0.8691, 1.105",\
                 "0.0466, 0.0687, 0.1144, 0.1728, 0.2489, 0.3488, 0.4779, 0.64, 0.8378, 1.074",\
                 "-0.0007, 0.0233, 0.0704, 0.1294, 0.2057, 0.3055, 0.4346, 0.5967, 0.7946, 1.03");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.008418, 0.0161, 0.04307, 0.09457, 0.1748, 0.2874, 0.4355, 0.6222, 0.85, 1.122");
          values("0.07426, 0.09167, 0.1378, 0.214, 0.3296, 0.4917, 0.7045, 0.9738, 1.301, 1.692",\
                 "0.07731, 0.09473, 0.1409, 0.2171, 0.3327, 0.4947, 0.7082, 0.9763, 1.304, 1.696",\
                 "0.08748, 0.1056, 0.1523, 0.2286, 0.3442, 0.5063, 0.7197, 0.988, 1.316, 1.707",\
                 "0.09555, 0.1163, 0.1659, 0.2431, 0.3588, 0.5206, 0.7341, 1.002, 1.33, 1.72",\
                 "0.09508, 0.1199, 0.1753, 0.2544, 0.3705, 0.5325, 0.7456, 1.015, 1.342, 1.734",\
                 "0.08349, 0.113, 0.1767, 0.26, 0.3776, 0.5399, 0.7529, 1.021, 1.35, 1.74",\
                 "0.05998, 0.09482, 0.1682, 0.2575, 0.3783, 0.5424, 0.7558, 1.024, 1.352, 1.743",\
                 "0.02248, 0.06383, 0.1475, 0.2452, 0.3696, 0.5371, 0.7528, 1.022, 1.349, 1.74",\
                 "-0.0292, 0.0191, 0.1139, 0.222, 0.3506, 0.5217, 0.7415, 1.013, 1.341, 1.731",\
                 "-0.0969, -0.0403, 0.0664, 0.1864, 0.3205, 0.495, 0.7191, 0.9951, 1.326, 1.717");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.008418, 0.0161, 0.04307, 0.09457, 0.1748, 0.2874, 0.4355, 0.6222, 0.85, 1.122");
          values("0.03873, 0.05322, 0.0974, 0.1683, 0.2734, 0.4255, 0.6332, 0.8982, 1.225, 1.612",\
                 "0.03816, 0.05302, 0.09726, 0.1683, 0.2733, 0.4268, 0.6341, 0.8978, 1.224, 1.614",\
                 "0.03712, 0.05212, 0.09652, 0.1677, 0.2729, 0.4258, 0.6335, 0.8985, 1.224, 1.611",\
                 "0.0413, 0.05606, 0.0987, 0.1674, 0.2729, 0.4256, 0.6326, 0.8987, 1.224, 1.611",\
                 "0.0452, 0.05992, 0.09984, 0.1671, 0.2717, 0.4253, 0.6324, 0.8993, 1.223, 1.612",\
                 "0.04904, 0.06246, 0.09986, 0.1661, 0.2704, 0.4239, 0.6312, 0.8984, 1.224, 1.612",\
                 "0.05312, 0.06554, 0.1007, 0.1663, 0.2705, 0.4236, 0.6314, 0.8962, 1.222, 1.612",\
                 "0.0586, 0.0696, 0.1022, 0.1668, 0.27, 0.4234, 0.6312, 0.8964, 1.221, 1.609",\
                 "0.0628, 0.073, 0.1042, 0.1676, 0.2708, 0.4234, 0.632, 0.8968, 1.221, 1.609",\
                 "0.0678, 0.0774, 0.1066, 0.1686, 0.2716, 0.424, 0.632, 0.8976, 1.222, 1.61");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.008418, 0.0161, 0.04307, 0.09457, 0.1748, 0.2874, 0.4355, 0.6222, 0.85, 1.122");
          values("0.04127, 0.06043, 0.1221, 0.244, 0.4415, 0.7225, 1.091, 1.558, 2.126, 2.806",\
                 "0.04114, 0.06044, 0.1221, 0.2441, 0.4417, 0.7221, 1.092, 1.556, 2.126, 2.801",\
                 "0.04318, 0.06212, 0.1227, 0.2441, 0.4415, 0.7223, 1.092, 1.557, 2.126, 2.804",\
                 "0.05012, 0.06894, 0.1265, 0.2452, 0.4424, 0.7214, 1.092, 1.556, 2.124, 2.803",\
                 "0.0619, 0.08094, 0.1346, 0.2483, 0.4428, 0.7218, 1.091, 1.557, 2.126, 2.805",\
                 "0.07576, 0.09496, 0.1488, 0.2559, 0.4466, 0.7231, 1.09, 1.554, 2.125, 2.802",\
                 "0.09246, 0.1118, 0.1669, 0.267, 0.4551, 0.7276, 1.092, 1.556, 2.123, 2.799",\
                 "0.1126, 0.1309, 0.1882, 0.2822, 0.4658, 0.7392, 1.1, 1.557, 2.125, 2.8",\
                 "0.1356, 0.1538, 0.211, 0.3018, 0.4784, 0.7536, 1.115, 1.568, 2.125, 2.796",\
                 "0.1618, 0.1794, 0.2352, 0.3264, 0.493, 0.7684, 1.133, 1.588, 2.139, 2.803");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.008418, 0.0161, 0.04307, 0.09457, 0.1748, 0.2874, 0.4355, 0.6222, 0.85, 1.122");
          values("0.1211, 0.1361, 0.1754, 0.2341, 0.3114, 0.4119, 0.5412, 0.7035, 0.9014, 1.137",\
                 "0.1249, 0.1398, 0.1792, 0.2378, 0.3151, 0.4156, 0.545, 0.7071, 0.9051, 1.141",\
                 "0.1423, 0.1572, 0.1964, 0.2549, 0.3322, 0.4327, 0.562, 0.7242, 0.9221, 1.158",\
                 "0.1786, 0.1935, 0.2325, 0.291, 0.3681, 0.4686, 0.5978, 0.7598, 0.9577, 1.194",\
                 "0.2281, 0.2439, 0.284, 0.3433, 0.4209, 0.5212, 0.6501, 0.812, 1.01, 1.245",\
                 "0.2864, 0.3037, 0.3469, 0.409, 0.4887, 0.5897, 0.7186, 0.88, 1.077, 1.313",\
                 "0.353, 0.3718, 0.4187, 0.4849, 0.5701, 0.6748, 0.8043, 0.9657, 1.163, 1.398",\
                 "0.4274, 0.4476, 0.4983, 0.5684, 0.6592, 0.771, 0.9062, 1.069, 1.266, 1.501",\
                 "0.51, 0.5318, 0.5859, 0.6603, 0.7566, 0.8755, 1.019, 1.188, 1.388, 1.623",\
                 "0.6008, 0.6246, 0.6826, 0.7613, 0.8617, 0.9874, 1.139, 1.318, 1.526, 1.765");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.008418, 0.0161, 0.04307, 0.09457, 0.1748, 0.2874, 0.4355, 0.6222, 0.85, 1.122");
          values("0.1217, 0.1384, 0.1843, 0.2613, 0.3777, 0.5404, 0.7541, 1.023, 1.351, 1.742",\
                 "0.1243, 0.1409, 0.1867, 0.2636, 0.3801, 0.5427, 0.7566, 1.025, 1.353, 1.744",\
                 "0.1355, 0.1519, 0.1974, 0.2739, 0.39, 0.5527, 0.7661, 1.035, 1.364, 1.755",\
                 "0.1551, 0.1711, 0.2158, 0.2913, 0.4068, 0.569, 0.7821, 1.052, 1.379, 1.77",\
                 "0.1739, 0.1903, 0.2351, 0.3102, 0.4247, 0.5863, 0.7993, 1.068, 1.396, 1.785",\
                 "0.187, 0.2047, 0.2515, 0.3278, 0.4419, 0.6025, 0.8146, 1.083, 1.411, 1.802",\
                 "0.1932, 0.2123, 0.2612, 0.3399, 0.4562, 0.6171, 0.8284, 1.096, 1.423, 1.814",\
                 "0.1915, 0.2123, 0.2644, 0.3449, 0.4642, 0.6281, 0.8404, 1.107, 1.433, 1.823",\
                 "0.1821, 0.2042, 0.2591, 0.3423, 0.4643, 0.6313, 0.8481, 1.116, 1.442, 1.831",\
                 "0.1635, 0.1874, 0.2459, 0.3316, 0.4553, 0.6261, 0.8477, 1.121, 1.449, 1.837");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.008418, 0.0161, 0.04307, 0.09457, 0.1748, 0.2874, 0.4355, 0.6222, 0.85, 1.122");
          values("0.04136, 0.05718, 0.1007, 0.1714, 0.2748, 0.4265, 0.6339, 0.8992, 1.224, 1.612",\
                 "0.04148, 0.05696, 0.1007, 0.1712, 0.275, 0.4261, 0.6342, 0.8987, 1.224, 1.612",\
                 "0.04156, 0.05726, 0.101, 0.1716, 0.275, 0.4265, 0.6343, 0.8982, 1.224, 1.613",\
                 "0.04466, 0.06016, 0.1034, 0.1734, 0.276, 0.4269, 0.6344, 0.8991, 1.224, 1.612",\
                 "0.05172, 0.06742, 0.1093, 0.1785, 0.2792, 0.4289, 0.6343, 0.8985, 1.224, 1.612",\
                 "0.0614, 0.07858, 0.1213, 0.1901, 0.2874, 0.4323, 0.6356, 0.8992, 1.224, 1.614",\
                 "0.07166, 0.0908, 0.1358, 0.2082, 0.308, 0.4456, 0.6408, 0.9014, 1.225, 1.613",\
                 "0.0826, 0.103, 0.1512, 0.2266, 0.3344, 0.4752, 0.662, 0.91, 1.226, 1.614",\
                 "0.0938, 0.1164, 0.1674, 0.2448, 0.3598, 0.5096, 0.7012, 0.9408, 1.242, 1.617",\
                 "0.1064, 0.13, 0.1846, 0.2642, 0.3846, 0.5448, 0.7454, 0.991, 1.284, 1.642");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.03919, 0.1065, 0.2352, 0.4356, 0.7167, 1.087, 1.553, 2.122, 2.8");
          index_2("0.008418, 0.0161, 0.04307, 0.09457, 0.1748, 0.2874, 0.4355, 0.6222, 0.85, 1.122");
          values("0.04132, 0.06032, 0.1222, 0.2439, 0.4419, 0.7227, 1.092, 1.557, 2.126, 2.805",\
                 "0.04118, 0.0604, 0.1221, 0.2437, 0.4422, 0.7217, 1.092, 1.558, 2.124, 2.8",\
                 "0.041, 0.0604, 0.1222, 0.244, 0.4415, 0.7228, 1.091, 1.557, 2.126, 2.805",\
                 "0.0426, 0.06162, 0.1233, 0.2442, 0.4419, 0.7223, 1.09, 1.558, 2.126, 2.805",\
                 "0.04726, 0.06614, 0.1269, 0.246, 0.442, 0.722, 1.091, 1.557, 2.125, 2.796",\
                 "0.05426, 0.07342, 0.1338, 0.2515, 0.4438, 0.7221, 1.091, 1.555, 2.126, 2.804",\
                 "0.06208, 0.08292, 0.1424, 0.2614, 0.4528, 0.7256, 1.091, 1.555, 2.121, 2.802",\
                 "0.0712, 0.0916, 0.1516, 0.272, 0.467, 0.7396, 1.098, 1.555, 2.123, 2.797",\
                 "0.079, 0.1014, 0.1626, 0.283, 0.4814, 0.7586, 1.117, 1.566, 2.124, 2.796",\
                 "0.0884, 0.1118, 0.1744, 0.2936, 0.495, 0.7794, 1.143, 1.591, 2.138, 2.801");
        }
      }
    }
  }

