void loadLeftTable() {
    Vector<Vector> dataLeft = new Vector<>();
    listSummaries = ResValueTools.getLiquidBalances(resident, startDay, 20);

    for (Object[] obj : listSummaries) {
      Vector line = new Vector();
      line.add(new LocalDate(((java.sql.Date) obj[0]).getTime()));
      BigDecimal liquidin = (BigDecimal) obj[1];
      line.add(liquidin);

      line.add(obj[2]);

      BigDecimal liquidresult = (BigDecimal) obj[3];
      line.add(liquidresult);

      if (highIn != null || lowIn != null) {
        String evaluation = "";
        if (lowIn != null && liquidin.compareTo(lowIn) < 0) {
          evaluation = SYSConst.html_color(Color.blue, SYSConst.html_bold("misc.msg.too.less"));
        } else if (highIn != null && liquidin.compareTo(highIn) > 0) {
          evaluation = SYSConst.html_color(Color.red, SYSConst.html_bold("misc.msg.too.much"));
        } else {
          evaluation = SYSConst.html_color(Color.green.darker(), SYSConst.html_bold("misc.msg.ok"));
        }
        line.add(evaluation);
      }

      dataLeft.add(line);
    }

    Vector<String> headerLeft = new Vector<>();
    headerLeft.add(SYSTools.xx("misc.msg.Date"));
    headerLeft.add(SYSTools.xx("misc.msg.ingestion"));
    headerLeft.add(SYSTools.xx("misc.msg.egestion"));
    headerLeft.add(SYSTools.xx("misc.msg.liquid.result"));
    if (highIn != null || lowIn != null) {
      headerLeft.add(SYSTools.xx("misc.msg.evaluation"));
    }
    DefaultTableModel tmLeft =
        new DefaultTableModel(dataLeft, headerLeft) {
          @Override
          public boolean isCellEditable(int row, int column) {
            return false;
          }
        };

    tblLeft.setModel(tmLeft);
    tblLeft
        .getSelectionModel()
        .addListSelectionListener(
            new ListSelectionListener() {
              @Override
              public void valueChanged(ListSelectionEvent e) {
                if (e.getValueIsAdjusting()) return;
                ListSelectionModel lsm = (ListSelectionModel) e.getSource();

                int minIndex = lsm.getMinSelectionIndex();
                int maxIndex = lsm.getMaxSelectionIndex();

                if (minIndex < 0 || maxIndex < 0) return;

                cleanup();

                loadRightTable(
                    (LocalDate) tblLeft.getModel().getValueAt(maxIndex, 0),
                    (LocalDate) tblLeft.getModel().getValueAt(minIndex, 0));
              }
            });
    tblLeft
        .getColumnModel()
        .getColumn(0)
        .setCellRenderer(
            new TableCellRenderer() {
              @Override
              public Component getTableCellRendererComponent(
                  JTable table,
                  Object o,
                  boolean isSelected,
                  boolean hasFocus,
                  int row,
                  int column) {
                String text;
                if (o == null) {
                  text = SYSTools.xx("misc.commands.>>noselection<<");
                } else if (o instanceof LocalDate) {
                  text = ((LocalDate) o).toString("dd.MM.yyyy");
                } else {
                  text = o.toString();
                }
                return new DefaultTableCellRenderer()
                    .getTableCellRendererComponent(table, text, isSelected, hasFocus, row, column);
              }
            });

    DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
    rightRenderer.setHorizontalAlignment(JLabel.RIGHT);
    tblLeft.getColumnModel().getColumn(1).setCellRenderer(rightRenderer);
    tblLeft.getColumnModel().getColumn(2).setCellRenderer(rightRenderer);
    tblLeft.getColumnModel().getColumn(3).setCellRenderer(rightRenderer);

    if (highIn != null || lowIn != null) {
      tblLeft.getColumnModel().getColumn(4).setCellRenderer(new RNDHTML());
    }

    scrlLeftComponentResized(null);
  }