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 (OAI21X1) {
    area: 219456.0;
    cell_leakage_power: 0.1173;
    pin (C) {
      capacitance: 0.0049685503383930275;
      direction: input;
      fall_capacitance: 0.0057337054132807755;
      rise_capacitance: 0.004203395263505281;
    }
    pin (B) {
      capacitance: 0.004817269329420684;
      direction: input;
      fall_capacitance: 0.0046993715663027884;
      rise_capacitance: 0.004935167092538579;
    }
    pin (A) {
      capacitance: 0.006365887451121313;
      direction: input;
      fall_capacitance: 0.007796116485619777;
      rise_capacitance: 0.004935658416622851;
    }
    pin (Y) {
      direction: output;
      function: "(!(A & B & C + A & C & !B + B & C & !A))";
      timing () {
        related_pin: "C";
        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.006353, 0.006873, 0.004977, -0.002571, -0.112220", \
            "0.047648, 0.044522, 0.048480, 0.050680, -0.005504", \
            "0.091575, 0.084317, 0.083496, 0.088598, 0.067928", \
            "0.179609, 0.168970, 0.162303, 0.158976, 0.185631", \
            "0.884619, 0.871536, 0.855984, 0.828850, 0.807127"
          );
        }
        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.012322, 0.018627, 0.025819, 0.036380, 0.166985", \
            "0.097230, 0.095251, 0.097606, 0.110133, 0.295266", \
            "0.182685, 0.178288, 0.176909, 0.181932, 0.384599", \
            "0.354450, 0.348364, 0.343303, 0.339898, 0.530677", \
            "1.731053, 1.722975, 1.713352, 1.696916, 1.662491"
          );
        }
        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.011924, 0.030898, 0.053284, 0.100971, 0.670100", \
            "0.080583, 0.085685, 0.102082, 0.143609, 0.716365", \
            "0.152800, 0.152883, 0.163222, 0.193150, 0.778215", \
            "0.292893, 0.292086, 0.294393, 0.311669, 0.881950", \
            "1.424263, 1.424245, 1.424087, 1.424045, 1.683357"
          );
        }
        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.017139, 0.026739, 0.044276, 0.087758, 0.660076", \
            "0.138283, 0.139729, 0.142997, 0.162743, 0.650333", \
            "0.260560, 0.259671, 0.260078, 0.269467, 0.681289", \
            "0.503775, 0.503479, 0.503665, 0.504685, 0.808692", \
            "2.459384, 2.459439, 2.459425, 2.459497, 2.482154"
          );
        }
      }
      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.018084, 0.018785, 0.021524, 0.021254, 0.031017", \
            "0.096634, 0.090653, 0.091567, 0.101191, 0.181020", \
            "0.173780, 0.166489, 0.164402, 0.167176, 0.281781", \
            "0.328645, 0.320024, 0.314801, 0.311087, 0.444609", \
            "1.568475, 1.558747, 1.549393, 1.535231, 1.517075"
          );
        }
        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.011853, 0.020828, 0.025802, 0.032296, 0.061131", \
            "0.103764, 0.107281, 0.113180, 0.125736, 0.245046", \
            "0.197462, 0.198933, 0.202960, 0.213251, 0.366132", \
            "0.386134, 0.386285, 0.388197, 0.395136, 0.557258", \
            "1.897752, 1.896544, 1.895986, 1.896513, 1.969418"
          );
        }
        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.020867, 0.029939, 0.052329, 0.091938, 0.451438", \
            "0.133406, 0.133983, 0.137806, 0.156667, 0.613530", \
            "0.245013, 0.245383, 0.244613, 0.254696, 0.705512", \
            "0.469706, 0.469327, 0.469422, 0.469157, 0.813809", \
            "2.271618, 2.271785, 2.271663, 2.271774, 2.288526"
          );
        }
        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.015697, 0.022510, 0.033468, 0.066107, 0.425032", \
            "0.144870, 0.144572, 0.145000, 0.157604, 0.462980", \
            "0.274162, 0.274051, 0.273949, 0.276993, 0.536593", \
            "0.535317, 0.535340, 0.535460, 0.535384, 0.689730", \
            "2.627338, 2.627345, 2.627342, 2.627355, 2.627455"
          );
        }
      }
      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.018803, 0.021401, 0.023344, 0.023872, -0.022124", \
            "0.097043, 0.097462, 0.098807, 0.107122, 0.140271", \
            "0.174167, 0.173694, 0.174835, 0.179375, 0.252462", \
            "0.329045, 0.328268, 0.328060, 0.330094, 0.432085", \
            "1.568689, 1.567669, 1.566082, 1.563994, 1.593864"
          );
        }
        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.014567, 0.027648, 0.035349, 0.041047, 0.137832", \
            "0.108453, 0.112569, 0.119206, 0.133016, 0.297203", \
            "0.202396, 0.204223, 0.208700, 0.219958, 0.407822", \
            "0.391026, 0.391383, 0.393600, 0.400955, 0.585908", \
            "1.902735, 1.901651, 1.901085, 1.901740, 1.980348"
          );
        }
        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.019300, 0.027658, 0.041698, 0.074827, 0.320959", \
            "0.131626, 0.131992, 0.134734, 0.149048, 0.454028", \
            "0.244112, 0.244371, 0.245398, 0.247897, 0.550953", \
            "0.469602, 0.469661, 0.469275, 0.469732, 0.677618", \
            "2.271672, 2.271613, 2.271813, 2.271710, 2.274668"
          );
        }
        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.031706, 0.032612, 0.040602, 0.073394, 0.328383", \
            "0.155420, 0.155629, 0.156550, 0.167050, 0.465518", \
            "0.286331, 0.286147, 0.286318, 0.287490, 0.548717", \
            "0.546344, 0.546313, 0.546743, 0.546937, 0.703383", \
            "2.638909, 2.638879, 2.638882, 2.638975, 2.638890"
          );
        }
      }
    }
  }
}