library (ls05_stdcells) {
  capacitive_load_unit (1.0, pf);
  current_unit: "1uA";
  default_operating_conditions: typical;
  delay_model: table_lookup;
  in_place_swap_mode: match_footprint;
  input_threshold_pct_fall: 50.0;
  input_threshold_pct_rise: 50.0;
  leakage_power_unit: "1nW";
  nom_process: 1.0;
  nom_temperature: 25.0;
  nom_voltage: 5.0;
  output_threshold_pct_fall: 50.0;
  output_threshold_pct_rise: 50.0;
  pulling_resistance_unit: "1kohm";
  slew_lower_threshold_pct_fall: 20.0;
  slew_lower_threshold_pct_rise: 20.0;
  slew_upper_threshold_pct_fall: 80.0;
  slew_upper_threshold_pct_rise: 80.0;
  time_unit: "1ns";
  voltage_unit: "1V";
  operating_conditions (typical) {
    process: 1.0;
    temperature: 25.0;
    voltage: 5.0;
  }
  lu_table_template (delay_template_5x1) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    variable_1: input_net_transition;
  }
  lu_table_template (delay_template_5x5) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    variable_1: total_output_net_capacitance;
    variable_2: input_net_transition;
  }
  lu_table_template (delay_template_5x6) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: total_output_net_capacitance;
    variable_2: input_net_transition;
  }
  lu_table_template (delay_template_6x1) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: input_net_transition;
  }
  lu_table_template (delay_template_6x6) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: total_output_net_capacitance;
    variable_2: input_net_transition;
  }
  power_lut_template (energy_template_5x5) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    variable_1: total_output_net_capacitance;
    variable_2: input_transition_time;
  }
  power_lut_template (energy_template_5x6) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: total_output_net_capacitance;
    variable_2: input_transition_time;
  }
  power_lut_template (energy_template_6x6) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: total_output_net_capacitance;
    variable_2: input_transition_time;
  }
  lu_table_template (hold_template_3x5) {
    index_1 (
      "1000.0, 1001.0, 1002.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    variable_1: related_pin_transition;
    variable_2: constrained_pin_transition;
  }
  lu_table_template (hold_template_3x6) {
    index_1 (
      "1000.0, 1001.0, 1002.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: related_pin_transition;
    variable_2: constrained_pin_transition;
  }
  power_lut_template (passive_energy_template_5x1) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    variable_1: input_transition_time;
  }
  power_lut_template (passive_energy_template_6x1) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: input_transition_time;
  }
  lu_table_template (recovery_template_3x6) {
    index_1 (
      "1000.0, 1001.0, 1002.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: related_pin_transition;
    variable_2: constrained_pin_transition;
  }
  lu_table_template (recovery_template_6x6) {
    index_1 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: related_pin_transition;
    variable_2: constrained_pin_transition;
  }
  lu_table_template (removal_template_3x6) {
    index_1 (
      "1000.0, 1001.0, 1002.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: related_pin_transition;
    variable_2: constrained_pin_transition;
  }
  lu_table_template (setup_template_3x5) {
    index_1 (
      "1000.0, 1001.0, 1002.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0"
    );
    variable_1: related_pin_transition;
    variable_2: constrained_pin_transition;
  }
  lu_table_template (setup_template_3x6) {
    index_1 (
      "1000.0, 1001.0, 1002.0"
    );
    index_2 (
      "1000.0, 1001.0, 1002.0, 1003.0, 1004.0, 1005.0"
    );
    variable_1: related_pin_transition;
    variable_2: constrained_pin_transition;
  }
  cell (MUX2X1) {
    area: 1.0;
    cell_leakage_power: 0.1173;
    pin (S) {
      capacitance: 0.009256673995156848;
      direction: input;
      fall_capacitance: 0.008174605299069488;
      rise_capacitance: 0.01033874269124421;
    }
    pin (B) {
      capacitance: 0.007621740826129985;
      direction: input;
      fall_capacitance: 0.008845710726223829;
      rise_capacitance: 0.0063977709260361415;
    }
    pin (A) {
      capacitance: 0.006381443680226534;
      direction: input;
      fall_capacitance: 0.007825475707159937;
      rise_capacitance: 0.00493741165329313;
    }
    pin (Y) {
      direction: output;
      function: "(!(A & B & S + A & B & !S + A & S & !B + B & !A & !S))";
      timing () {
        related_pin: "S";
        timing_sense: non_unate;
        cell_rise (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.015477, 0.019600, 0.024190, 0.025747, 0.046287", \
            "0.090314, 0.087100, 0.090495, 0.101960, 0.176908", \
            "0.167236, 0.162506, 0.162337, 0.167647, 0.271944", \
            "0.321537, 0.315074, 0.311756, 0.311149, 0.436391", \
            "1.560714, 1.552503, 1.545002, 1.533689, 1.520599"
          );
        }
        cell_fall (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.009379, 0.017036, 0.023092, 0.027221, 0.047575", \
            "0.098648, 0.096570, 0.098493, 0.106357, 0.189094", \
            "0.192045, 0.187310, 0.185345, 0.186620, 0.293971", \
            "0.380085, 0.373558, 0.368111, 0.361746, 0.471469", \
            "1.891180, 1.882519, 1.872679, 1.854529, 1.753166"
          );
        }
        rise_transition (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.025354, 0.032783, 0.050461, 0.087201, 0.566081", \
            "0.133109, 0.134458, 0.135941, 0.157612, 0.603315", \
            "0.244639, 0.245101, 0.245522, 0.253219, 0.662135", \
            "0.469661, 0.469241, 0.469216, 0.469325, 0.758422", \
            "2.271840, 2.271929, 2.271941, 2.271927, 2.283161"
          );
        }
        fall_transition (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.022515, 0.036555, 0.054175, 0.094241, 0.572428", \
            "0.157940, 0.158368, 0.159664, 0.178650, 0.640716", \
            "0.288080, 0.288326, 0.288348, 0.292800, 0.713717", \
            "0.548431, 0.548597, 0.548599, 0.548675, 0.846377", \
            "2.640854, 2.640882, 2.640837, 2.640903, 2.646773"
          );
        }
      }
      timing () {
        related_pin: "B";
        timing_sense: negative_unate;
        cell_rise (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.012479, 0.020703, 0.023751, 0.026480, -0.020258", \
            "0.088791, 0.092407, 0.096269, 0.106017, 0.140677", \
            "0.166519, 0.167928, 0.170594, 0.176829, 0.252652", \
            "0.321088, 0.321765, 0.322714, 0.325872, 0.431855", \
            "1.560825, 1.560508, 1.559318, 1.557534, 1.590909"
          );
        }
        cell_fall (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.024075, 0.029303, 0.036113, 0.042909, 0.139365", \
            "0.116212, 0.118239, 0.123057, 0.135164, 0.298599", \
            "0.209808, 0.210879, 0.213787, 0.223211, 0.408707", \
            "0.398464, 0.398636, 0.399777, 0.405563, 0.586820", \
            "1.910071, 1.909315, 1.908318, 1.908149, 1.983973"
          );
        }
        rise_transition (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.021856, 0.029483, 0.041747, 0.075580, 0.318538", \
            "0.133491, 0.132145, 0.135514, 0.149421, 0.455212", \
            "0.245429, 0.244447, 0.244614, 0.249182, 0.551752", \
            "0.469502, 0.469644, 0.469460, 0.469734, 0.678108", \
            "2.271768, 2.271699, 2.271790, 2.271724, 2.274762"
          );
        }
        fall_transition (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.026927, 0.031637, 0.041603, 0.073132, 0.327601", \
            "0.157522, 0.158503, 0.158749, 0.168029, 0.467796", \
            "0.288182, 0.288023, 0.288247, 0.289518, 0.550457", \
            "0.548628, 0.548713, 0.548726, 0.548715, 0.704382", \
            "2.641050, 2.641120, 2.641079, 2.641124, 2.641113"
          );
        }
      }
      timing () {
        related_pin: "A";
        timing_sense: negative_unate;
        cell_rise (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.019428, 0.021891, 0.024080, 0.024293, -0.020282", \
            "0.097729, 0.098072, 0.099347, 0.107474, 0.140891", \
            "0.174738, 0.174194, 0.175185, 0.179883, 0.252844", \
            "0.329664, 0.328818, 0.328461, 0.330406, 0.432450", \
            "1.569311, 1.568266, 1.566635, 1.564341, 1.594321"
          );
        }
        cell_fall (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.015958, 0.028273, 0.035331, 0.042097, 0.139507", \
            "0.109992, 0.113793, 0.120225, 0.134598, 0.298772", \
            "0.203874, 0.205671, 0.209819, 0.221705, 0.408455", \
            "0.392495, 0.393164, 0.395366, 0.402419, 0.586497", \
            "1.904233, 1.903472, 1.903098, 1.903613, 1.981673"
          );
        }
        rise_transition (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.020684, 0.027469, 0.040684, 0.075372, 0.321139", \
            "0.131690, 0.132092, 0.134409, 0.147611, 0.454546", \
            "0.244572, 0.244857, 0.245585, 0.248273, 0.551845", \
            "0.469953, 0.470028, 0.469684, 0.470070, 0.677392", \
            "2.272005, 2.271976, 2.272124, 2.272035, 2.274938"
          );
        }
        fall_transition (delay_template_5x5) {
          index_1 (
            "0.000500, 0.050000, 0.100000, 0.200000, 1.000000"
          );
          index_2 (
            "0.010000, 0.050000, 0.100000, 0.200000, 1.500000"
          );
          values (
            "0.034906, 0.034011, 0.041604, 0.074407, 0.329883", \
            "0.157071, 0.157736, 0.156957, 0.168367, 0.468419", \
            "0.288086, 0.287766, 0.287721, 0.290181, 0.550707", \
            "0.548081, 0.548418, 0.548486, 0.548470, 0.704390", \
            "2.640667, 2.640718, 2.640731, 2.640752, 2.640649"
          );
        }
      }
    }
  }
}