Search

Customise the Time Bar

Customise the Time Bar
Scroll to example

The KeyLines time bar provides a powerful way to explore when events occur. This demo shows you how you can customise the time bar to suit your use case and application styling.

The demo uses a dataset of generic transactions over a period of 20 days from July 20, 2010 to August 9, 2010.

Appearance tab

This tab includes options to show or hide the control bar, switch between histogram and area time bar types, customise the background, area and histogram colours, mark specific times in a different colour, and change the font family and axis scales.

Options tab

This tab shows you how you can control:

  • Whether the user can move the sliders to control the time range
  • The animation play speed (default is 60 pixels per second)
  • The speed at which the histogram height scales
  • Whether to offer an 'Extend' button, which shows a cumulative animation of events from a given start time
  • The minimum scale and maximum range which users can zoom to.
Localisation

Date and time formats are a prime source of misunderstanding – "11/7/2010" could mean either the 11th of July or the 7th of November depending on your country. The 'Localisation' tab shows how to switch between 12- and 24-hour clock formats; DD/MM/YY and MM/DD/YY date formats, and by a simple lookup, different language translations of month names.

Key functions used:

import KeyLines from "keylines";
import { data } from "./data";

let timebar;

let defaultOptions;

let minScaleIndex;
let maxRangeIndex;

const time1 = new Date("26 Jul 2010");
const time2 = new Date("31 Jul 2010");

const colours = {
  blue: "#0B93B2",
  green: "#0A8254",
  red: "#e03038",
  lightblue: "#6cbed0",
  lightgreen: "#53a787",
};

const locales = {
  de: {
    longMonths: [
      "Januar",
      "Februar",
      "März",
      "April",
      "Mai",
      "Juni",
      "Juli",
      "August",
      "September",
      "Oktober",
      "November",
      "Dezember",
    ],
    shortMonths: [
      "Jan",
      "Feb",
      "Mär",
      "Apr",
      "Mai",
      "Jun",
      "Jul",
      "Aug",
      "Sep",
      "Okt",
      "Nov",
      "Dez",
    ],
    ampm: ["AM", "PM"],
    quarter: "Q",
    half: "H",
  },
  en: {
    longMonths: [
      "January",
      "February",
      "March",
      "April",
      "May",
      "June",
      "July",
      "August",
      "September",
      "October",
      "November",
      "December",
    ],
    shortMonths: [
      "Jan",
      "Feb",
      "Mar",
      "Apr",
      "May",
      "Jun",
      "Jul",
      "Aug",
      "Sep",
      "Oct",
      "Nov",
      "Dec",
    ],
    ampm: ["AM", "PM"],
    quarter: "Q",
    half: "H",
  },
  es: {
    longMonths: [
      "enero",
      "febrero",
      "marzo",
      "abril",
      "mayo",
      "junio",
      "julio",
      "agosto",
      "septiembre",
      "octubre",
      "noviembre",
      "diciembre",
    ],
    shortMonths: [
      "ene",
      "feb",
      "mar",
      "abr",
      "may",
      "jun",
      "jul",
      "ago",
      "sep",
      "oct",
      "nov",
      "dic",
    ],
    ampm: ["a.m.", "p.m."],
    quarter: "T", // trimestre
    half: "S", // semestre
  },
  fr: {
    longMonths: [
      "janvier",
      "février",
      "mars",
      "avril",
      "mai",
      "juin",
      "juillet",
      "août",
      "septembre",
      "octobre",
      "novembre",
      "décembre",
    ],
    shortMonths: [
      "jan",
      "fév",
      "mars",
      "avr",
      "mai",
      "juin",
      "juil",
      "août",
      "sep",
      "oct",
      "nov",
      "déc",
    ],
    ampm: ["AM", "PM", "matin", "soir"], // Demonstrates AM/PM interval labelling
    quarter: "T", // trimestre
    half: "S", // semestre
  },
  it: {
    longMonths: [
      "gennaio",
      "febbraio",
      "marzo",
      "aprile",
      "maggio",
      "giugno",
      "luglio",
      "agosto",
      "settembre",
      "ottobre",
      "novembre",
      "dicembre",
    ],
    shortMonths: [
      "gen",
      "feb",
      "mar",
      "apr",
      "mag",
      "giu",
      "lug",
      "ago",
      "set",
      "ott",
      "nov",
      "dic",
    ],
    ampm: ["AM", "PM"],
    quarter: "T", // trimestre
    half: "S", // semestre
  },
};

function getSliderColour(backColour) {
  if (backColour === "black") {
    return "rgba(0, 0, 0, 0.7)";
  }
  if (backColour === "grey") {
    return "rgba(0, 0, 0, 0.3)";
  }
  return defaultOptions.sliderColour;
}

// Turn minScale string into setting
function makeMinScale(s) {
  if (s) {
    const parts = s.split(",");
    return { units: parts[0], value: parseInt(parts[1], 10) };
  }
  // reset to default
  return { units: "sec", value: 1 };
}

// Turn maxRange string into setting
function makeMaxRange(s) {
  if (s) {
    const parts = s.split(",");
    return { units: parts[0], value: parseInt(parts[1], 10) };
  }
  // otherwise reset to default
  return "auto";
}

function isMinScaleBiggerThanMaxRange() {
  return minScaleIndex >= maxRangeIndex;
}

function handleRangeErrorMessage() {
  document.getElementById("range-scale").style.display =
    isMinScaleBiggerThanMaxRange() ? "" : "none";
}

function field(name) {
  return document.querySelector(`[name=${name}]`);
}

function resetZoom() {
  timebar.zoom("fit", { animate: false });
}

// Set options according to the controls on the Options tab
async function setOptions() {
  const backColour = field("background").value;
  const newSliderMode = field("sliders").value;
  let fontSize = field("fontsize").value;
  handleRangeErrorMessage();

  if (fontSize <= 50) {
    if (fontSize >= 5) fontSize = field("fontsize").value;
    else fontSize = 5;
  } else fontSize = 50;

  const options = {
    area: {
      colour: colours[field("areacolour").value] || defaultOptions.area.colour,
    },
    minScale: makeMinScale(field("minscale").value),
    maxRange: makeMaxRange(field("maxrange").value),
    showPlay: field("play").checked,
    showExtend: field("playextend").checked,
    showFit: field("fit").checked,
    showControlBar: field("controlbar").checked,
    scale: {
      showMinor: field("minor").checked,
      showMajor: field("major").checked,
    },
    sliders: newSliderMode,
    playSpeed: Number(document.getElementById("playSlider").value),
    backColour,
    sliderColour: getSliderColour(backColour),
    fontColour: backColour === "grey" ? "white" : defaultOptions.fontColour,
    fontFamily: field("fontfamily").value,
    fontSize,
    histogram: {
      colour: colours[field("colour").value] || defaultOptions.histogram.colour,
      highlightColour:
        colours[field("highlightcolour").value] ||
        defaultOptions.histogram.highlightColour,
      markColour:
        colours[field("markcolour").value] ||
        defaultOptions.histogram.markColour,
      markHiColour:
        colours[field("markhicolour").value] ||
        defaultOptions.histogram.markHiColour,
    },
    heightChange: {
      animate: field("heightchange").checked,
      time: Number(document.getElementById("hcSlider").value),
    },
    groups: {
      groupBy: field("group").value === "none" ? null : "type",
      categories:
        field("group").value === "one" ? ["Low"] : ["Low", "Medium", "High"],
    },
    type: field("type").value,
  };
  // we need this for later
  const oldSliderMode = timebar.options().sliders;
  await timebar.options(options);
  // if we change mode call zoom fit
  if (oldSliderMode !== newSliderMode) {
    resetZoom();
  }
}

// Set localisation options
function setLocale() {
  const options = {
    locale: {
      ...locales[document.querySelector(".locale.active").value],
      order: document.querySelector("input[name=order]:checked").value,
      h12: document.querySelector("input[name=hours]:checked").value === "h12",
    },
  };
  timebar.options(options);
}

// Call the handler when any form control inside the container fires one of the events
function onFormControls(containerId, eventTypes, handler) {
  const container = document.getElementById(containerId);
  for (const type of eventTypes) {
    container.addEventListener(type, (e) => {
      if (e.target.matches("input, select, textarea, button")) {
        handler(e);
      }
    });
  }
}

// Show the colour options matching the time bar type (histogram/area)
function showColourOptions() {
  const type = field("type").value;
  document.getElementById("options-histogram").style.display =
    type === "histogram" ? "" : "none";
  document.getElementById("options-area").style.display =
    type === "area" ? "" : "none";
}

// Switch to the tab the link points at
function selectTab(link) {
  for (const item of link.closest(".nav").querySelectorAll(".tab-links")) {
    item.classList.toggle("active", item.contains(link));
  }
  const pane = document.querySelector(link.getAttribute("href"));
  for (const sibling of pane.parentElement.querySelectorAll(".tab-pane")) {
    sibling.classList.toggle("active", sibling === pane);
  }
}

function setupSlider(sliderId, labelId, value, onChange) {
  const slider = document.getElementById(sliderId);
  const label = document.getElementById(labelId);
  slider.value = value;
  label.textContent = value;
  slider.addEventListener("input", () => {
    label.textContent = slider.value;
  });
  slider.addEventListener("change", () => {
    onChange(Number(slider.value));
  });
}

function setupFormControls() {
  document
    .getElementById("rhsForm")
    .addEventListener("submit", (e) => e.preventDefault()); // prevent the form to submit
  onFormControls("style", ["change", "click"], setOptions);
  onFormControls("options", ["change"], setOptions);

  field("type").addEventListener("change", showColourOptions);
  // Start with area colour section hidden
  showColourOptions();

  onFormControls("localisation", ["change"], setLocale);
  document.querySelector(".maxrange").addEventListener("change", (e) => {
    maxRangeIndex = e.currentTarget.selectedOptions[0].getAttribute("index");
  });
  document.querySelector(".minscale").addEventListener("change", (e) => {
    minScaleIndex = e.currentTarget.selectedOptions[0].getAttribute("index");
  });

  // range slider to set speed: when it changes update the playSpeed to its current value
  setupSlider(
    "playSlider",
    "playSpeed",
    defaultOptions.playSpeed,
    (playSpeed) => {
      timebar.options({ playSpeed });
    },
  );

  setupSlider(
    "hcSlider",
    "hcTime",
    defaultOptions.heightChange.time,
    (time) => {
      timebar.options({ heightChange: { time } });
    },
  );

  // locale buttons
  const localeButtons = document.querySelectorAll(".locale");
  for (const button of localeButtons) {
    button.addEventListener("click", (e) => {
      for (const other of localeButtons) {
        other.classList.remove("active", "btn-kl");
      }
      e.currentTarget.classList.add("active", "btn-kl");
      setLocale();
    });
  }

  // changing to localisation tab should zoom in to properly demonstrate how options affect times
  // and dates
  let cachedOptions = null;
  let cachedRange = null;
  for (const link of document.querySelectorAll("#demorhscontent .nav a")) {
    link.addEventListener("click", async (e) => {
      e.preventDefault();
      selectTab(e.currentTarget);

      if (e.currentTarget.textContent === "Localisation") {
        // cache options
        cachedOptions = timebar.options();
        cachedRange = timebar.range();
        // zoom in and ensure options make sense to properly display dates
        await timebar.options({
          sliders: "fixed",
          scale: {
            showMinor: true,
            showMajor: true,
          },
        });
        await timebar.range(new Date(2010, 6, 27), new Date(2010, 6, 28));
        // Reset the localisation buttons
        for (const button of localeButtons) {
          button.classList.toggle("active", button.value === "en");
          button.classList.toggle("btn-kl", button.value === "en");
        }
        document.querySelector("input[value=h12]").checked = true;
        document.querySelector("input[value=mdy]").checked = true;
      } else if (cachedOptions) {
        // restore cached options
        await timebar.options(cachedOptions);
        cachedOptions = null;
        timebar.range(cachedRange.dt1, cachedRange.dt2);
      }
    });
  }
}

function loaded() {
  timebar.mark({ dt1: time1, dt2: time2 });
  resetZoom();
}

async function klReady(bar) {
  // save the timebar reference
  timebar = bar;

  // now load the data in the timebar: that's it!
  await timebar.load(data);
  loaded();

  // get default options so we can return to factory settings after we have changed options
  defaultOptions = timebar.options();

  setupFormControls();

  // setOptions so that time bar matches current state of the form
  await setOptions();
}

function loadKeyLines() {
  KeyLines.create({ container: "kltimebar", type: "timebar" }).then(klReady);
}

window.addEventListener("DOMContentLoaded", loadKeyLines);
export const data = {
  type: "LinkChart",
  items: [
    {
      d: { type: "High" },
      id: "11-25732",
      id1: "11",
      id2: "25732",
      dt: [1279737619000],
    },
    {
      d: { type: "Low" },
      id: "817187-23",
      id1: "817187",
      id2: "23",
      dt: [1280250589000],
    },
    {
      d: { type: "High" },
      id: "817187-663161",
      id1: "817187",
      id2: "663161",
      dt: [1280250589000],
    },
    {
      d: { type: "Low" },
      id: "165408-331680",
      id1: "165408",
      id2: "331680",
      dt: [1279624989000],
    },
    {
      d: { type: "Low" },
      id: "165408-78474",
      id1: "165408",
      id2: "78474",
      dt: [1279624989000],
    },
    {
      d: { type: "Low" },
      id: "9881-9881",
      id1: "9881",
      id2: "9881",
      dt: [
        1280366173000, 1280363401000, 1280367871000, 1280362249000,
        1280353249000, 1280365460000, 1280363401000, 1280362249000,
        1280362249000, 1280367871000, 1280365962000, 1280371526000,
        1280367871000, 1280349829000, 1280266574000, 1280369726000,
        1280367871000, 1280367871000, 1280362249000, 1280362531000,
        1280369726000, 1280353249000, 1280371526000, 1280349829000,
        1280362531000, 1280365962000, 1280371526000, 1280369726000,
        1280362249000, 1280362249000, 1280362249000, 1280365962000,
        1280362249000, 1280367871000, 1280349829000, 1280366173000,
        1280367871000, 1280362249000, 1280367871000, 1280366173000,
        1280365460000, 1280367871000, 1280353249000, 1280370792000,
        1280367871000, 1280362612000, 1280367871000, 1280362612000,
        1280363401000, 1280363401000, 1280367871000, 1280349829000,
        1280266574000, 1280349829000, 1280370792000, 1280363401000,
        1280361650000, 1280349829000, 1280371526000, 1280362249000,
        1280361650000, 1280371526000, 1280361650000, 1280365460000,
        1280353249000, 1280353249000, 1280367871000, 1280363401000,
        1280365962000, 1280361650000, 1280371526000, 1280362249000,
        1280367871000, 1280362531000, 1280362249000, 1280361650000,
        1280370359000, 1280362249000, 1280369726000, 1280365962000,
        1280363401000, 1280369726000, 1280349829000, 1280349829000,
        1280362531000, 1280365460000, 1280349829000, 1280365962000,
        1280370792000, 1280369726000, 1280369726000, 1280349829000,
        1280361650000, 1280367871000, 1280349829000, 1280366173000,
        1280370359000, 1280369726000, 1280371526000, 1280362612000,
        1280353249000, 1280367871000, 1280371526000, 1280367871000,
        1280367871000, 1280367871000, 1280367871000, 1280367871000,
        1280370792000, 1280362249000, 1280362612000, 1280363401000,
        1280369726000, 1280363401000, 1280365962000, 1280371526000,
        1280365460000, 1280367871000, 1280365962000, 1280367871000,
        1280365962000, 1280363401000, 1280371526000, 1280367871000,
        1280367871000, 1280361650000, 1280349829000, 1280371526000,
        1280353249000, 1280362249000, 1280363401000, 1280363401000,
        1280363401000, 1280361650000, 1280365460000, 1280366173000,
        1280361650000, 1280367871000, 1280363401000, 1280367871000,
        1280363401000, 1280365460000, 1280367871000, 1280363401000,
        1280371526000, 1280353249000, 1280362249000, 1280367871000,
        1280367871000, 1280369726000, 1280363401000, 1280349829000,
        1280362531000, 1280371526000, 1280367871000, 1280363401000,
        1280363401000, 1280365460000, 1280367871000, 1280361650000,
        1280362531000, 1280363401000, 1280366173000, 1280363401000,
        1280365460000, 1280369726000, 1280349829000, 1280365460000,
        1280350419000, 1280362249000, 1280366173000, 1280367871000,
        1280361650000, 1280361650000, 1280365962000, 1280371526000,
        1280365962000, 1280369726000, 1280349829000, 1280371526000,
        1280349829000, 1280363401000, 1280353249000, 1280367871000,
        1280365962000, 1280361650000, 1280367871000, 1280363401000,
        1280362249000, 1280361650000, 1280367871000, 1280363401000,
        1280349829000, 1280369726000, 1280366173000, 1280371526000,
        1280370792000, 1280370359000, 1280362249000, 1280371526000,
        1280363401000, 1280362531000, 1280363401000, 1280365962000,
        1280363401000, 1280363401000, 1280365460000, 1280362531000,
        1280362531000, 1280371526000, 1280349829000, 1280365460000,
        1280370792000, 1280366173000, 1280367871000, 1280371526000,
        1280362249000, 1280362531000, 1280362249000, 1280365962000,
        1280367871000, 1280367871000, 1280363401000, 1280366173000,
        1280363401000, 1280370792000, 1280367871000, 1280369726000,
        1280349829000, 1280349829000, 1280367871000, 1280367871000,
        1280371526000, 1280361650000, 1280362249000, 1280363401000,
        1280353249000, 1280370792000, 1280363401000, 1280371526000,
        1280349829000, 1280349829000, 1280363401000, 1280371526000,
        1280363401000, 1280362249000, 1280349829000, 1280361650000,
        1280361650000, 1280349829000, 1280362249000, 1280362249000,
        1280367871000, 1280369726000, 1280362249000, 1280367871000,
        1280365460000, 1280362249000, 1280363401000, 1280370359000,
        1280362249000, 1280363401000, 1280349829000, 1280363401000,
        1280362249000, 1280367871000, 1280361650000, 1280349829000,
        1280349829000, 1280353249000, 1280349829000, 1280365962000,
        1280367871000, 1280370359000, 1280363401000, 1280367871000,
        1280362249000, 1280367871000, 1280370792000, 1280362249000,
        1280362249000, 1280371526000, 1280349829000, 1280435394000,
        1280363401000, 1280362249000, 1280361650000, 1280353249000,
        1280371526000, 1280362249000, 1280349829000, 1280361650000,
        1280361650000, 1280367871000, 1280369726000, 1280366173000,
        1280349829000, 1280362249000, 1280365460000, 1280371526000,
        1280363401000, 1280353249000, 1280370359000, 1280367871000,
        1280370792000, 1280363401000, 1280370359000, 1280349829000,
        1280369726000, 1280367871000, 1280349829000, 1280363401000,
        1280363401000, 1280367871000, 1280371526000, 1280353249000,
        1280370792000, 1280370359000, 1280365962000, 1280362249000,
        1280349829000, 1280349829000, 1280363401000, 1280371526000,
        1280366173000, 1280365460000, 1280362249000, 1280371526000,
        1280369726000, 1280361650000, 1280367871000, 1280362249000,
        1280367871000, 1280363401000, 1280362531000, 1280363401000,
        1280362612000, 1280349829000, 1280363401000, 1280367871000,
        1280370792000, 1280349829000, 1280367871000, 1280363401000,
        1280365962000, 1280365460000, 1280349829000, 1280362249000,
        1280363401000, 1280349829000, 1280369726000, 1280361650000,
        1280371526000, 1280349829000, 1280367871000, 1280349829000,
        1280362249000, 1280349829000, 1280349829000, 1280363401000,
        1280366173000, 1280365460000, 1280367871000, 1280353249000,
        1280349829000, 1280365962000, 1280349829000, 1280362249000,
        1280353249000, 1280363401000, 1280266574000, 1280363401000,
        1280363401000, 1280363401000, 1280371526000, 1280362612000,
        1280363401000, 1280369726000, 1280363401000, 1280370359000,
        1280369726000, 1280361650000, 1280362249000, 1280365460000,
        1280362249000, 1280366173000, 1280367871000, 1280362249000,
        1280362612000, 1280370359000, 1280363401000, 1280363401000,
        1280371526000, 1280363401000, 1280367871000, 1280363401000,
        1280361650000, 1280366173000, 1280362249000, 1280361650000,
        1280362249000, 1280367871000, 1280362249000, 1280349829000,
        1280367871000, 1280365460000, 1280362249000, 1280361650000,
        1280367871000, 1280367871000, 1280367871000, 1280365962000,
        1280349829000, 1280349829000, 1280349829000, 1280367871000,
        1280371526000, 1280349829000, 1280363401000, 1280349829000,
        1280369726000, 1280361650000, 1280370792000, 1280363401000,
        1280371526000, 1280370792000, 1280371526000, 1280363401000,
        1280369726000, 1280371526000, 1280362531000, 1280353249000,
        1280370792000, 1280361650000, 1280349829000, 1280349829000,
        1280362249000, 1280365460000, 1280349829000, 1280371526000,
        1280363401000, 1280363401000, 1280367871000, 1280370359000,
        1280363401000, 1280369726000, 1280370792000, 1280371526000,
        1280361650000, 1280367871000, 1280365460000, 1280349829000,
        1280353249000, 1280363401000, 1280363401000, 1280353249000,
        1280363401000, 1280363401000, 1280365460000, 1280363401000,
        1280367871000, 1280366173000, 1280365962000, 1280369726000,
        1280366173000, 1280361650000, 1280362249000, 1280362249000,
        1280366173000, 1280266574000, 1280363401000, 1280349829000,
        1280349829000, 1280367871000, 1280367871000, 1280362249000,
        1280363401000, 1280349829000, 1280361650000, 1280349829000,
        1280365962000, 1280367871000, 1280363401000, 1280367871000,
        1280361650000, 1280353249000, 1280367871000, 1280349829000,
        1280362249000, 1280362249000, 1280363401000, 1280353249000,
        1280366173000, 1280362249000, 1280365962000, 1280362249000,
        1280370359000, 1280363401000, 1280349829000, 1280367871000,
        1280367871000, 1280367871000, 1280371526000, 1280363401000,
        1280362249000, 1280367871000, 1280369726000, 1280361650000,
        1280365460000, 1280370359000, 1280371526000, 1280362612000,
        1280367871000, 1280363401000, 1280367871000, 1280371526000,
        1280363401000, 1280361650000, 1280362249000, 1280365460000,
        1280371526000, 1280367871000, 1280371526000, 1280365962000,
        1280365460000, 1280363401000, 1280365460000, 1280367871000,
        1280353249000, 1280362249000, 1280367871000, 1280363401000,
        1280349829000, 1280366173000, 1280362249000, 1280361650000,
        1280371526000, 1280367871000, 1280363401000, 1280349829000,
        1280367871000, 1280367871000, 1280353249000, 1280349829000,
        1280363401000, 1280369726000, 1280349829000, 1280349829000,
        1280353249000, 1280371526000, 1280365962000, 1280369726000,
        1280362531000, 1280365962000, 1280367871000, 1280353249000,
        1280367871000, 1280369726000, 1280349829000, 1280363401000,
        1280367871000, 1280371526000, 1280365962000, 1280371526000,
        1280361650000, 1280367871000, 1280369726000, 1280367871000,
        1280349829000, 1280371526000, 1280367871000, 1280367871000,
        1280349829000, 1280367871000, 1280361650000, 1280362249000,
        1280362249000, 1280362249000, 1280370792000, 1280370792000,
        1280349829000, 1280371526000, 1280362531000, 1280371526000,
        1280349829000, 1280370359000, 1280365962000, 1280367871000,
        1280367871000, 1280349829000, 1280349829000, 1280353249000,
        1280353249000, 1280349829000, 1280361650000, 1280361650000,
        1280371526000, 1280362531000, 1280367871000, 1280369726000,
        1280370359000, 1280362249000, 1280363401000, 1280367871000,
        1280362249000, 1280362249000, 1280371526000, 1280371526000,
        1280367871000, 1280365962000, 1280349829000, 1280362249000,
        1280362249000, 1280362249000, 1280370792000, 1280371526000,
        1280371526000, 1280371526000, 1280371526000, 1280371526000,
        1280362249000, 1280370359000, 1280365962000, 1280371526000,
        1280362249000, 1280362249000, 1280362531000, 1280367871000,
        1280349829000, 1280363401000, 1280365460000, 1280367871000,
        1280366173000, 1280353249000, 1280349829000, 1280349829000,
        1280367871000, 1280367871000, 1280362249000, 1280366173000,
        1280367871000, 1280371526000, 1280353249000, 1280367871000,
        1280371526000, 1280369726000, 1280349829000, 1280371526000,
        1280349829000, 1280349829000, 1280371526000, 1280349829000,
        1280367871000, 1280367871000, 1280362531000, 1280367871000,
        1280361650000, 1280367871000, 1280362249000, 1280362531000,
        1280362249000, 1280367871000, 1280367871000, 1280371526000,
        1280371526000, 1280367871000, 1280363401000, 1280349829000,
        1280361650000, 1280367871000, 1280367871000, 1280362249000,
        1280367871000, 1280369726000, 1280362531000, 1280365962000,
        1280367871000, 1280367871000, 1280362531000, 1280363401000,
        1280367871000, 1280363401000, 1280363401000, 1280353249000,
        1280367871000, 1280370359000, 1280362249000, 1280371526000,
        1280365460000, 1280370792000, 1280349829000, 1280363401000,
        1280349829000, 1280367871000, 1280371526000, 1280353249000,
        1280367871000, 1280367871000, 1280363401000, 1280363401000,
        1280349829000, 1280365962000, 1280367871000, 1280362249000,
        1280362249000, 1280363401000, 1280371526000, 1280371526000,
        1280349829000, 1280362249000, 1280371526000, 1280349829000,
        1280349829000, 1280367871000, 1280362249000, 1280367871000,
        1280349829000, 1280361650000, 1280362249000, 1280370792000,
        1280365962000, 1280363401000, 1280362249000, 1280363401000,
        1280349829000, 1280365460000, 1280363401000, 1280349829000,
        1280365460000, 1280362249000, 1280363401000, 1280370359000,
        1280367871000, 1280371526000, 1280366173000, 1280370359000,
        1280361650000, 1280369726000, 1280365962000, 1280370792000,
        1280365460000, 1280370792000, 1280371526000, 1280365962000,
        1280363401000, 1280367871000, 1280365962000, 1280363401000,
        1280361650000, 1280362249000, 1280349829000, 1280365962000,
        1280365962000, 1280363401000, 1280353249000, 1280367871000,
        1280349829000, 1280367871000, 1280367871000, 1280361650000,
        1280363401000, 1280367871000, 1280361650000, 1280369726000,
        1280366173000, 1280365962000, 1280370359000, 1280367871000,
        1280365460000, 1280349829000, 1280367871000, 1280367871000,
        1280349829000, 1280363401000, 1280363401000, 1280349829000,
        1280349829000, 1280353249000, 1280366173000, 1280371526000,
        1280361650000, 1280363401000, 1280353249000, 1280349829000,
        1280371526000, 1280362531000, 1280367871000, 1280367871000,
        1280367871000, 1280363401000, 1280362249000, 1280367871000,
        1280362249000, 1280362249000, 1280367871000, 1280367871000,
        1280367871000, 1280349829000, 1280362249000, 1280370359000,
        1280363401000, 1280367871000, 1280362249000, 1280363401000,
        1280369726000, 1280371526000, 1280367871000, 1280367871000,
        1280362249000, 1280362249000, 1280371526000, 1280371526000,
        1280369726000, 1280371526000, 1280369726000, 1280365460000,
        1280349829000, 1280349829000, 1280363401000, 1280367871000,
        1280361650000, 1280361650000, 1280369726000, 1280362249000,
        1280367871000, 1280362249000, 1280367871000, 1280363401000,
        1280369726000, 1280349829000, 1280367871000, 1280362531000,
        1280367871000, 1280353249000, 1280367871000, 1280362531000,
        1280369726000, 1280367871000, 1280362612000, 1280362249000,
        1280365460000, 1280365962000, 1280363401000, 1280362249000,
        1280362249000, 1280363401000, 1280362249000, 1280363401000,
        1280365460000, 1280367871000, 1280361650000, 1280363401000,
        1280371526000, 1280367871000, 1280367871000, 1280362249000,
        1280362249000, 1280361650000, 1280367871000, 1280367871000,
        1280363401000, 1280366173000, 1280362249000, 1280349829000,
        1280363401000, 1280367871000, 1280367871000, 1280365962000,
        1280363401000, 1280367871000, 1280367871000, 1280365962000,
        1280370792000, 1280353249000, 1280367871000, 1280367871000,
        1280349829000, 1280349829000, 1280363401000, 1280353249000,
        1280367871000, 1280370792000, 1280369726000, 1280363401000,
        1280362249000, 1280365460000, 1280349829000, 1280367871000,
        1280362249000, 1280361650000, 1280367871000, 1280361650000,
        1280353249000, 1280370792000, 1280369726000, 1280350419000,
        1280367871000, 1280367871000, 1280366173000, 1280349829000,
        1280369726000, 1280361650000, 1280366173000, 1280371526000,
        1280349829000, 1280367871000, 1280369726000, 1280367871000,
        1280363401000, 1280362531000, 1280363401000, 1280353249000,
        1280349829000, 1280349829000, 1280363401000, 1280353249000,
        1280367871000, 1280371526000, 1280363401000, 1280349829000,
        1280353249000, 1280365460000, 1280366173000, 1280362249000,
        1280370792000, 1280362249000, 1280371526000, 1280367871000,
        1280365962000, 1280349829000, 1280367871000, 1280370359000,
        1280362249000, 1280367871000, 1280367871000, 1280370792000,
        1280370792000, 1280370792000, 1280367871000, 1280367871000,
        1280369726000, 1280371526000, 1280361650000, 1280367871000,
        1280369726000, 1280349829000, 1280371526000, 1280363401000,
        1280363401000, 1280349829000, 1280349829000, 1280361650000,
        1280371526000, 1280367871000, 1280362249000, 1280367871000,
        1280371526000, 1280370359000, 1280349829000, 1280367871000,
        1280367871000, 1280363401000, 1280349829000, 1280353249000,
        1280363401000, 1280349829000, 1280367871000, 1280367871000,
        1280362531000, 1280349829000, 1280362249000, 1280371526000,
        1280367871000, 1280367871000, 1280349829000, 1280362531000,
        1280365460000, 1280369726000, 1280367871000, 1280365460000,
        1280367871000, 1280349829000, 1280349829000, 1280365460000,
        1280362531000, 1280363401000, 1280367871000, 1280349829000,
        1280353249000, 1280365962000, 1280365460000, 1280349829000,
        1280349829000, 1280362612000, 1280349829000, 1280365962000,
        1280353249000, 1280349829000, 1280365460000, 1280371526000,
        1280363401000, 1280366173000, 1280365460000, 1280362531000,
        1280349829000, 1280349829000, 1280369726000, 1280369726000,
        1280367871000, 1280353249000, 1280361650000, 1280353249000,
        1280370792000, 1280371526000, 1280371526000, 1280349829000,
        1280363401000, 1280353249000, 1280361650000, 1280353249000,
        1280349829000, 1280367871000, 1280367871000, 1280367871000,
        1280362531000, 1280367871000, 1280362249000, 1280362249000,
        1280362249000, 1280361650000, 1280370792000, 1280369726000,
        1280363401000, 1280366173000, 1280363401000, 1280362249000,
        1280353249000, 1280365460000, 1280365962000, 1280349829000,
        1280370359000, 1280353249000, 1280365460000, 1280367871000,
        1280363401000, 1280370792000, 1280367871000, 1280367871000,
        1280365460000, 1280362249000, 1280349829000, 1280367871000,
        1280366173000, 1280353249000, 1280363401000, 1280370792000,
        1280362249000, 1280349829000, 1280365460000, 1280365962000,
        1280367871000, 1280363401000, 1280363401000, 1280370792000,
        1280362249000, 1280362249000, 1280371526000, 1280367871000,
        1280363401000, 1280353249000, 1280367871000, 1280371526000,
        1280349829000, 1280361650000, 1280353249000, 1280362249000,
        1280349829000, 1280362531000, 1280361650000, 1280371526000,
        1280367871000, 1280365962000, 1280362249000, 1280349829000,
        1280349829000, 1280362531000, 1280371526000, 1280367871000,
        1280365962000, 1280370359000, 1280365460000, 1280363401000,
        1280362249000, 1280367871000, 1280367871000, 1280361650000,
        1280361650000, 1280349829000, 1280349829000, 1280362531000,
        1280349829000, 1280365460000, 1280369726000, 1280371526000,
        1280367871000, 1280369726000, 1280370792000, 1280370359000,
        1280350419000, 1280361650000, 1280363401000, 1280361650000,
        1280363401000, 1280349829000, 1280362531000, 1280369726000,
        1280365962000, 1280362249000, 1280361650000, 1280362249000,
        1280371526000, 1280371526000, 1280367871000, 1280353249000,
        1280363401000, 1280353249000, 1280353249000, 1280363401000,
        1280266574000, 1280367871000, 1280362612000, 1280363401000,
        1280370792000, 1280362249000, 1280361650000, 1280366173000,
        1280371526000, 1280349829000, 1280367871000, 1280367871000,
        1280362249000, 1280367871000, 1280367871000, 1280371526000,
        1280353249000, 1280349829000, 1280362249000, 1280363401000,
        1280365962000, 1280367871000, 1280369726000, 1280367871000,
        1280365962000, 1280371526000, 1280367871000, 1280353249000,
        1280367871000, 1280371526000, 1280365460000, 1280366173000,
        1280349829000, 1280369726000, 1280361650000, 1280362531000,
        1280361650000, 1280362249000, 1280349829000, 1280349829000,
        1280369726000, 1280371526000, 1280363401000, 1280367871000,
        1280365460000, 1280369726000, 1280363401000, 1280363401000,
        1280371526000, 1280362531000, 1280349829000, 1280365460000,
        1280370792000, 1280365460000, 1280361650000, 1280362249000,
        1280367871000, 1280363401000, 1280362249000, 1280362249000,
        1280361650000, 1280367871000, 1280362249000, 1280349829000,
        1280367871000, 1280371526000, 1280363401000, 1280349829000,
        1280353249000, 1280370359000, 1280362249000, 1280349829000,
        1280361650000, 1280361650000, 1280370359000, 1280365460000,
        1280365460000, 1280362249000, 1280369726000, 1280371526000,
        1280363401000, 1280371526000, 1280365962000, 1280362249000,
        1280365460000, 1280367871000, 1280367871000, 1280366173000,
        1280361650000, 1280350419000, 1280362249000, 1280366173000,
        1280363401000, 1280362249000, 1280371526000, 1280367871000,
        1280371526000, 1280369726000, 1280369726000, 1280363401000,
        1280353249000, 1280362249000, 1280370792000, 1280371526000,
        1280362249000, 1280367871000, 1280349829000, 1280361650000,
        1280361650000, 1280362249000, 1280349829000, 1280362531000,
        1280353249000, 1280370792000, 1280369726000, 1280365460000,
        1280349829000, 1280349829000, 1280367871000, 1280365460000,
        1280367871000, 1280363401000, 1280371526000, 1280353249000,
        1280370792000, 1280349829000, 1280363401000, 1280362249000,
        1280367871000, 1280349829000, 1280362249000, 1280367871000,
        1280349829000, 1280371526000, 1280353249000, 1280362249000,
        1280349829000, 1280363401000, 1280367871000, 1280371526000,
        1280349829000, 1280349829000, 1280349829000, 1280362249000,
        1280362249000, 1280371526000, 1280367871000, 1280362249000,
        1280367871000, 1280363401000, 1280349829000, 1280362249000,
        1280366173000, 1280367871000, 1280371526000, 1280362249000,
        1280361650000, 1280367871000, 1280349829000, 1280349829000,
        1280371526000, 1280362249000, 1280349829000, 1280369726000,
        1280362249000, 1280349829000, 1280362249000, 1280361650000,
        1280363401000, 1280362249000, 1280349829000, 1280367871000,
        1280362531000, 1280363401000, 1280365460000, 1280363401000,
        1280363401000, 1280363401000, 1280367871000, 1280362531000,
        1280362249000, 1280367871000, 1280371526000, 1280349829000,
        1280370792000, 1280367871000, 1280349829000, 1280349829000,
        1280370359000, 1280362249000, 1280349829000, 1280367871000,
        1280363401000, 1280371526000, 1280363401000, 1280367871000,
        1280349829000, 1280349829000, 1280365460000, 1280370792000,
        1280367871000, 1280371526000, 1280349829000, 1280362249000,
        1280365460000, 1280361650000, 1280362249000, 1280363401000,
        1280365460000, 1280365962000, 1280369726000, 1280363401000,
        1280362249000, 1280370792000, 1280361650000, 1280363401000,
        1280367871000, 1280363401000, 1280371526000, 1280362531000,
        1280370359000, 1280367871000, 1280349829000, 1280349829000,
        1280361650000, 1280367871000, 1280349829000, 1280363401000,
        1280362249000, 1280349829000, 1280349829000, 1280353249000,
        1280363401000, 1280353249000, 1280371526000, 1280353249000,
        1280367871000, 1280366173000, 1280362249000, 1280367871000,
        1280367871000, 1280362531000, 1280367871000, 1280363401000,
        1280365962000, 1280363401000, 1280370792000, 1280371526000,
        1280367871000, 1280349829000, 1280370792000, 1280362531000,
        1280362249000, 1280349829000, 1280369726000, 1280362531000,
        1280369726000, 1280367871000, 1280370359000, 1280361650000,
        1280370359000, 1280363401000, 1280367871000, 1280349829000,
        1280361650000, 1280367871000, 1280369726000, 1280349829000,
        1280363401000, 1280369726000, 1280349829000, 1280371526000,
        1280349829000, 1280349829000, 1280362531000, 1280366173000,
        1280363401000, 1280363401000, 1280349829000, 1280367871000,
        1280369726000, 1280363401000, 1280367871000, 1280365962000,
        1280367871000, 1280362531000, 1280363401000, 1280371526000,
        1280349829000, 1280371526000, 1280365460000, 1280362249000,
        1280370792000, 1280363401000, 1280367871000, 1280362249000,
        1280362531000, 1280367871000, 1280371526000, 1280371526000,
        1280371526000, 1280367871000, 1280367871000, 1280349829000,
        1280370792000, 1280371526000, 1280365962000, 1280366173000,
        1280367871000, 1280362249000, 1280369726000, 1280369726000,
        1280363401000, 1280363401000, 1280365962000, 1280367871000,
        1280353249000, 1280367871000, 1280353249000, 1280365962000,
        1280362249000, 1280362531000, 1280370792000, 1280349829000,
        1280362249000, 1280367871000, 1280365460000, 1280349829000,
        1280365460000, 1280349829000, 1280365460000, 1280367871000,
        1280367871000, 1280369726000, 1280362531000, 1280349829000,
        1280367871000, 1280361650000, 1280367871000, 1280370792000,
        1280353249000, 1280362249000, 1280362531000, 1280363401000,
        1280362249000, 1280365962000, 1280367871000, 1280349829000,
        1280363401000, 1280361650000, 1280349829000, 1280363401000,
        1280361650000, 1280370792000, 1280349829000, 1280353249000,
        1280363401000, 1280365460000, 1280353249000, 1280370359000,
        1280349829000, 1280367871000, 1280365460000, 1280371526000,
        1280349829000, 1280371526000, 1280367871000, 1280362249000,
        1280367871000, 1280362249000, 1280365460000, 1280349829000,
        1280365460000, 1280349829000, 1280369726000, 1280353249000,
        1280367871000, 1280367871000, 1280363401000, 1280349829000,
        1280369726000, 1280371526000, 1280367871000, 1280353249000,
        1280369726000, 1280349829000, 1280349829000, 1280367871000,
        1280361650000, 1280371526000, 1280367871000, 1280367871000,
        1280349829000, 1280362249000, 1280367871000, 1280371526000,
        1280367871000, 1280361650000, 1280353249000, 1280349829000,
        1280349829000, 1280349829000, 1280370792000, 1280370359000,
        1280266574000, 1280362249000, 1280367871000, 1280367871000,
        1280349829000, 1280369726000, 1280370792000, 1280349829000,
        1280369726000, 1280362249000, 1280367871000, 1280365962000,
        1280365460000, 1280371526000, 1280363401000, 1280369726000,
        1280371526000, 1280361650000, 1280365460000, 1280371526000,
        1280365460000, 1280367871000, 1280353249000, 1280371526000,
        1280353249000, 1280367871000, 1280349829000, 1280367871000,
        1280366173000, 1280363401000, 1280349829000, 1280363401000,
        1280369726000, 1280363401000, 1280353249000, 1280349829000,
        1280366173000, 1280367871000, 1280349829000, 1280370359000,
        1280365460000, 1280367871000, 1280371526000, 1280362249000,
        1280367871000, 1280361650000, 1280363401000, 1280362531000,
        1280369726000, 1280353249000, 1280367871000, 1280353249000,
        1280369726000, 1280363401000, 1280349829000, 1280369726000,
        1280361650000, 1280371526000, 1280365460000, 1280367871000,
        1280362249000, 1280349829000, 1280365460000, 1280365962000,
        1280367871000, 1280349829000, 1280361650000, 1281042542000,
        1280367871000, 1280362612000, 1280349829000, 1280371526000,
        1280370792000, 1280353249000, 1280367871000, 1280349829000,
        1280349829000, 1280363401000, 1280367871000, 1280361650000,
        1280367871000, 1280349829000, 1280367871000, 1280367871000,
        1280353249000, 1280367871000, 1280361650000, 1280367871000,
        1280367871000, 1280362249000, 1280362249000, 1280365460000,
        1280367871000, 1280371526000, 1280363401000, 1280370792000,
        1280367871000, 1280367871000, 1280363401000, 1280367871000,
        1280361650000, 1280362249000, 1280367871000, 1280363401000,
        1280369726000, 1280362249000, 1280370792000, 1280362249000,
        1280369726000, 1280370792000, 1280370792000, 1280349829000,
        1280369726000, 1280367871000, 1280366173000, 1280367871000,
        1280367871000, 1280363401000, 1280353249000, 1280362249000,
        1280365962000, 1280365962000, 1280362531000, 1280363401000,
        1280362249000, 1280365962000, 1280349829000, 1280365460000,
        1280367871000, 1280367871000, 1280365460000, 1280353249000,
        1280353249000, 1280369726000, 1280349829000, 1280371526000,
        1280365962000, 1280371526000, 1280353249000, 1280369726000,
        1280370792000, 1280369726000, 1280362531000, 1280369726000,
        1280363401000, 1280370359000, 1280349829000, 1280371526000,
        1280363401000, 1280369726000, 1280367871000, 1280353249000,
        1280361650000, 1280365962000, 1280367871000, 1280369726000,
        1280365460000, 1280349829000, 1280365962000, 1280365962000,
        1280361650000, 1280361650000, 1280371526000, 1280367871000,
        1280371526000, 1280363401000, 1280361650000, 1280361650000,
        1280362249000, 1280362249000, 1280363401000, 1280367871000,
        1280365460000, 1280366173000, 1280362249000, 1280363401000,
        1280362249000, 1280349829000, 1280370792000, 1280369726000,
        1280363401000, 1280361650000, 1280363401000, 1280362249000,
        1280371526000, 1280363401000, 1280361650000, 1280362249000,
        1280362249000, 1280369726000, 1280363401000, 1280362249000,
        1280369726000, 1280266574000, 1280367871000, 1280371526000,
        1280353249000, 1280367871000, 1280363401000, 1280371526000,
        1280362249000, 1280363401000, 1280371526000, 1280363401000,
        1280361650000, 1280369726000, 1280349829000, 1280361650000,
        1280361650000, 1280367871000, 1280366173000, 1280371526000,
        1280361650000, 1280353249000, 1280371526000, 1280362531000,
        1280367871000, 1280362249000, 1280362612000, 1280369726000,
        1280367871000, 1280349829000, 1280353249000, 1280371526000,
        1280362531000, 1280362531000, 1280349829000, 1280367871000,
        1280365460000, 1280370792000, 1280370792000, 1280369726000,
        1280349829000, 1280362612000, 1280362249000, 1280367871000,
        1280367871000, 1280367871000, 1280367871000, 1280361650000,
        1280367871000, 1280371526000, 1280361650000, 1280365962000,
        1280369726000, 1280371526000, 1280349829000, 1280353249000,
        1280353249000, 1280349829000, 1280371526000, 1280370792000,
        1280363401000, 1280365962000, 1280363401000, 1280365460000,
        1280362249000, 1280362249000, 1280370359000, 1280362249000,
        1280349829000, 1280361650000, 1280362531000, 1280349829000,
        1280363401000, 1280370792000, 1280353249000, 1280349829000,
        1280370792000, 1280349829000, 1280362249000, 1280349829000,
        1280349829000, 1280371526000, 1280362249000, 1280365962000,
        1280361650000, 1280349829000, 1280353249000, 1280349829000,
        1280367871000, 1280371526000, 1280363401000, 1280367871000,
        1280363401000, 1280363401000, 1280367871000, 1280365460000,
        1280361650000, 1280363401000, 1280349829000, 1280369726000,
        1280349829000, 1280367871000, 1280361650000, 1280365962000,
        1280371526000, 1280353249000, 1280371526000, 1280367871000,
        1280367871000, 1280365460000, 1280367871000, 1280371526000,
        1280371526000, 1280367871000, 1280367871000, 1280363401000,
        1280369726000, 1280363401000, 1280361650000, 1280363401000,
        1280363401000, 1280367871000, 1280363401000, 1280361650000,
        1280362249000, 1280362531000, 1280370359000, 1280367871000,
        1280367871000, 1280362531000, 1280362249000, 1280369726000,
        1280365962000, 1280349829000, 1280366173000, 1280367871000,
        1280363401000, 1280370792000, 1280361650000, 1280361650000,
        1280353249000, 1280349829000, 1280367871000, 1280365460000,
        1280365962000, 1280371526000, 1280353249000, 1280349829000,
        1280367871000, 1280363401000, 1280362249000, 1280371526000,
        1280362531000, 1280365962000, 1280362249000, 1280361650000,
        1280361650000, 1280367871000, 1280349829000, 1280367871000,
        1280349829000, 1280370792000, 1280349829000, 1280370359000,
        1280362249000, 1280363401000, 1280363401000, 1280365460000,
        1280361650000, 1280370792000, 1280362249000, 1280361650000,
        1280362249000, 1280371526000, 1280353249000, 1280367871000,
        1280367871000, 1280365460000, 1280371526000, 1280362531000,
        1280362249000, 1280371526000, 1280367871000, 1280370792000,
        1280362249000, 1280371526000, 1280367871000, 1280363401000,
        1280367871000, 1280369726000, 1280367871000, 1280361650000,
        1280363401000, 1280349829000, 1280370359000, 1280362249000,
        1280367871000, 1280367871000, 1280349829000, 1280349829000,
        1280362249000, 1280370359000, 1280365962000, 1280361650000,
        1280371526000, 1280362531000, 1280367871000, 1280353249000,
        1280363401000, 1280371526000, 1280369726000, 1280371526000,
        1280361650000, 1280365460000, 1280353249000, 1280367871000,
        1280363401000, 1280365962000, 1280362249000, 1280367871000,
        1280361650000, 1280370792000, 1280367871000, 1280363401000,
        1280371526000, 1280371526000, 1280371526000, 1280349829000,
        1280371526000, 1280367871000, 1280353249000, 1280349829000,
        1280361650000, 1280370792000, 1280365460000, 1280365460000,
        1280367871000, 1280362531000, 1280367871000, 1280370359000,
        1280362249000, 1280365962000, 1280366173000, 1280370792000,
        1280367871000, 1280362249000, 1280371526000, 1280365460000,
        1280365962000, 1280353249000, 1280367871000, 1280349829000,
        1280363401000, 1280369726000, 1280371526000, 1280349829000,
        1280367871000, 1280367871000, 1280361650000, 1280361650000,
        1280371526000, 1280363401000, 1280367871000, 1280367871000,
        1280369726000, 1280369726000, 1280349829000, 1280353249000,
        1280362249000, 1280367871000, 1280367871000, 1280361650000,
        1280349829000, 1280369726000, 1280362531000, 1280371526000,
        1280367871000, 1280349829000, 1280361650000, 1280363401000,
        1280349829000, 1280361650000, 1280349829000, 1280362249000,
        1280363401000, 1280349829000, 1280371526000, 1280363401000,
        1280353249000, 1280367871000, 1280361650000, 1280366173000,
        1280353249000, 1280367871000, 1280371526000, 1280349829000,
        1280435760000, 1280362249000, 1280370792000, 1280353249000,
        1280362531000, 1280371526000, 1280366173000, 1280365962000,
        1280362612000, 1280349829000, 1280361650000, 1280365460000,
        1280362249000, 1280370792000, 1280349829000, 1280370792000,
        1280367871000, 1280367871000, 1280367871000, 1280369726000,
        1280363401000, 1280370359000, 1280370792000, 1280363401000,
        1280367871000, 1280363401000, 1280362249000, 1280367871000,
        1280371526000, 1280367871000, 1280371526000, 1280365962000,
        1280353249000, 1280367871000, 1280266574000, 1280371526000,
        1280362249000, 1280367871000, 1280362531000, 1280361650000,
        1280369726000, 1280367871000, 1280369726000, 1280365460000,
        1280363401000, 1280366173000, 1280365460000, 1280366173000,
        1280362249000, 1280363401000, 1280370792000, 1280363401000,
        1280349829000, 1280349829000, 1280363401000, 1280366173000,
        1280371526000, 1280361650000, 1280365460000, 1280363401000,
        1280362531000, 1280363401000, 1280362249000, 1280353249000,
        1280366173000, 1280365460000, 1280367871000, 1280367871000,
        1280363401000, 1280367871000, 1280349829000, 1280362249000,
        1280363401000, 1280349829000, 1280362249000, 1280350419000,
        1280369726000, 1280349829000, 1280367871000, 1280369726000,
        1280363401000, 1280369726000, 1280362249000, 1280362531000,
        1280349829000, 1280362612000, 1280361650000, 1280365460000,
        1280366173000, 1280362249000, 1280353249000, 1280362249000,
        1280371526000, 1280367871000, 1280349829000, 1280367871000,
        1280361650000, 1280361650000, 1280349829000, 1280362249000,
        1280363401000, 1280363401000, 1280361650000, 1280362531000,
        1280362249000, 1280363401000, 1280365460000, 1280367871000,
        1280367871000, 1280362249000, 1280367871000, 1280362531000,
        1280367871000, 1280367871000, 1280349829000, 1280369726000,
        1280362249000, 1280371526000, 1280363401000, 1280362249000,
        1280362531000, 1280353249000, 1280371526000, 1280363401000,
        1280369726000, 1280363401000, 1280362612000, 1280363401000,
        1280362249000, 1280365962000, 1280363401000, 1280367871000,
        1280369726000, 1280371526000, 1280367871000, 1280353249000,
        1280366173000, 1280353249000, 1280353249000, 1280363401000,
        1280367871000, 1280367871000, 1280362531000, 1280371526000,
        1280371526000, 1280371526000, 1280353249000, 1280363401000,
        1280363401000, 1280365460000, 1280361650000, 1280363401000,
        1280362531000, 1280363401000, 1280361650000, 1280367871000,
        1280371526000, 1280367871000, 1280365460000, 1280362249000,
        1280365962000, 1280367871000, 1280365460000, 1280362249000,
        1280362249000, 1280365460000, 1280367871000, 1280349829000,
        1280369726000, 1280349829000, 1280349829000, 1280362531000,
        1280349829000, 1280366173000, 1280349829000, 1280362249000,
        1280371526000, 1280365460000, 1280367871000, 1280367871000,
        1280370792000, 1280349829000, 1280353249000, 1280349829000,
        1280363401000, 1280362531000, 1280367871000, 1280362249000,
        1280367871000, 1280365460000, 1280367871000, 1280365962000,
        1280363401000, 1280349829000, 1280366173000, 1280370792000,
        1280361650000, 1280362249000, 1280371526000, 1280365962000,
        1280371526000, 1280370359000, 1280361650000, 1280353249000,
        1280362531000, 1280365460000, 1280365962000, 1280367871000,
        1280362249000, 1280362249000, 1280367871000, 1280353249000,
        1280367871000, 1280371526000, 1280363401000, 1280365962000,
        1280371526000, 1280362531000, 1280363401000, 1280367871000,
        1280362249000, 1280362249000, 1280363401000, 1280362531000,
        1280371526000, 1280363401000, 1280349829000, 1280363401000,
        1280353249000, 1280367871000, 1280361650000, 1280363401000,
        1280353249000, 1280362249000, 1280353249000, 1280349829000,
        1280363401000, 1280367871000, 1280367871000, 1280366173000,
        1280362249000, 1280363401000, 1280363401000, 1280349829000,
        1280365460000, 1280366173000, 1280370359000, 1280367871000,
        1280369726000, 1280366173000, 1280349829000, 1280369726000,
        1280349829000, 1280370359000, 1280353249000, 1280363401000,
        1280369726000, 1280361650000, 1280366173000, 1280365460000,
        1280366173000, 1280362249000, 1280367871000, 1280361650000,
        1280362531000, 1280362249000, 1280371526000, 1280369726000,
        1280362249000, 1280349829000, 1280363401000, 1280367871000,
        1280362531000, 1280371526000, 1280362249000, 1280367871000,
        1280349829000, 1280362612000, 1280370792000, 1280353249000,
        1280369726000, 1280367871000, 1280349829000, 1280362249000,
        1280353249000, 1280367871000, 1280349829000, 1280349829000,
        1280371526000, 1280361650000, 1280362612000, 1280349829000,
        1280362249000, 1280367871000, 1280363401000, 1280369726000,
        1280361650000, 1280353249000, 1280365460000, 1280349829000,
        1280349829000, 1280349829000, 1280365962000, 1280365962000,
        1280369726000, 1280365962000, 1280366173000, 1280349829000,
        1280362249000, 1280365460000, 1280349829000, 1280366173000,
        1280367871000, 1280370359000, 1280367871000, 1280362531000,
        1280363401000, 1280349829000, 1280363401000, 1280367871000,
        1280353249000, 1280363401000, 1280369726000, 1280362249000,
        1280361650000, 1280369726000, 1280362531000, 1280362612000,
        1280361650000, 1280363401000, 1280353249000, 1280350419000,
        1280370792000, 1280370792000, 1280353249000, 1280362249000,
        1280367871000, 1280361650000, 1280362249000, 1280362249000,
        1280353249000, 1280353249000, 1280353249000, 1280370792000,
        1280365460000, 1280349829000, 1280362249000, 1280349829000,
        1280367871000, 1280349829000, 1280362531000, 1280370792000,
        1280365460000, 1280370792000, 1280367871000, 1280371526000,
        1280363401000, 1280371526000, 1280369726000, 1280353249000,
        1280361650000, 1280349829000, 1280363401000, 1280363401000,
        1280362249000, 1280365962000, 1280361650000, 1280363401000,
        1280365460000, 1280370792000, 1280349829000, 1280353249000,
        1280371526000, 1280353249000, 1280367871000, 1280349829000,
        1280370792000, 1280369726000, 1280365460000, 1280365962000,
        1280349829000, 1280362249000, 1280362531000, 1280367871000,
        1280353249000, 1280369726000, 1280370792000, 1280363401000,
        1280363401000, 1280371526000, 1280365460000, 1280362249000,
        1280361650000, 1280367871000, 1280363401000, 1280369726000,
        1280363401000, 1280349829000, 1280371526000, 1280361650000,
        1280370359000, 1280367871000, 1280363401000, 1280367871000,
        1280362249000, 1280371526000, 1280369726000, 1280349829000,
        1280371526000, 1280371526000, 1280349829000, 1280367871000,
        1280367871000, 1280367871000, 1280365460000, 1280361650000,
        1280363401000, 1280362249000, 1280369726000, 1280362249000,
        1280367871000, 1280367871000, 1280367871000, 1280362249000,
        1280363401000, 1280349829000, 1280361650000, 1280362249000,
        1280362249000, 1280363401000, 1280363401000, 1280353249000,
        1280349829000, 1280362531000, 1280367871000, 1280353249000,
        1280367871000, 1280369726000, 1280361650000, 1280371526000,
        1280371526000, 1280349829000, 1280353249000, 1280371526000,
        1280362249000, 1280370792000, 1280365962000, 1280371526000,
        1280367871000, 1280361650000, 1280367871000, 1280362249000,
        1280367871000, 1280349829000, 1280349829000, 1280367871000,
        1280371526000, 1280353249000, 1280367871000, 1280370792000,
        1280353249000, 1280361650000, 1280361650000, 1280371526000,
        1280362612000, 1280362249000, 1280365962000, 1280349829000,
        1280365460000, 1280349829000, 1280367871000, 1280362249000,
        1280370792000, 1280369726000, 1280365962000, 1280363401000,
        1280363401000, 1280362531000, 1280369726000, 1280367871000,
        1280365460000, 1280371526000, 1280353249000, 1280367871000,
        1280362249000, 1280367871000, 1280367871000, 1280349829000,
        1280367871000, 1280349829000, 1280369726000, 1280367871000,
        1280349829000, 1280367871000, 1280370792000, 1280370359000,
        1280362531000, 1280371526000, 1280362249000, 1280371526000,
        1280369726000, 1280367871000, 1280362249000, 1280349829000,
        1280362249000, 1280362249000, 1280370359000, 1280365460000,
        1280371526000, 1280363401000, 1280350419000, 1280363401000,
        1280367871000, 1280363401000, 1280363401000, 1280370359000,
        1280369726000, 1280365460000, 1280371526000, 1280367871000,
        1280369726000, 1280370359000, 1280369726000, 1280366173000,
        1280367871000, 1280367871000, 1280367871000, 1280349829000,
        1280353249000, 1280362249000, 1280266574000, 1280362249000,
        1280367871000, 1280369726000, 1280361650000, 1280371526000,
        1280367871000, 1280363401000, 1280363401000, 1280367871000,
        1280369726000, 1280367871000, 1280362249000, 1280367871000,
        1280371526000, 1280367871000, 1280367871000, 1280369726000,
        1280361650000, 1280371526000, 1280350419000, 1280349829000,
        1280362612000, 1280350419000, 1280353249000, 1280362249000,
        1280369726000, 1280349829000, 1280362249000, 1280362531000,
        1280367871000, 1280361650000, 1280362531000, 1280370792000,
        1280362249000, 1280365460000, 1280362249000, 1280362249000,
        1280362249000, 1280370359000, 1280349829000, 1280367871000,
        1280369726000, 1280371526000, 1280370792000, 1280363401000,
        1280370792000, 1280362249000, 1280367871000, 1280371526000,
        1280363401000, 1280363401000, 1280362612000, 1280367871000,
        1280363401000, 1280362249000, 1280371526000, 1280363401000,
        1280367871000, 1280353249000, 1280349829000, 1280365460000,
        1280362249000, 1280365460000, 1280367871000, 1280361650000,
        1280365962000, 1280371526000, 1280363401000, 1280363401000,
        1280362249000, 1280349829000, 1280367871000, 1280362249000,
        1280367871000, 1280369726000, 1280371526000, 1280363401000,
        1280367871000, 1280369726000, 1280362531000, 1280367871000,
        1280367871000, 1280363401000, 1280353249000, 1280371526000,
        1280349829000, 1280362249000, 1280353249000, 1280349829000,
        1280367871000, 1280349829000, 1280349829000, 1280367871000,
        1280365962000, 1280362249000, 1280369726000, 1280367871000,
        1280361650000, 1280365460000, 1280371526000, 1280367871000,
        1280349829000, 1280349829000, 1280361650000, 1280363401000,
        1280366173000, 1280367871000, 1280371526000, 1280366173000,
        1280367871000, 1280367871000, 1280362249000, 1280349829000,
        1280349829000, 1280363401000, 1280370359000, 1280369726000,
        1280366173000, 1280362249000, 1280362249000, 1280363401000,
        1280370792000, 1280371526000, 1280367871000, 1280362531000,
        1280370359000, 1280349829000, 1280363401000, 1280362612000,
        1280371526000, 1280362531000, 1280362249000, 1280362531000,
        1280362249000, 1280367871000, 1280365460000, 1280353249000,
        1280349829000, 1280362249000, 1280365962000, 1280370792000,
        1280371526000, 1280369726000, 1280369726000, 1280371526000,
        1280370359000, 1280266574000, 1280349829000, 1280362249000,
        1280362249000, 1280362249000, 1280371526000, 1280349829000,
        1280361650000, 1280361650000, 1280361650000, 1280362249000,
        1280369726000, 1280371526000, 1280365962000, 1280363401000,
        1280363401000, 1280363401000, 1280367871000, 1280363401000,
        1280361650000, 1280369726000, 1280362249000, 1280367871000,
        1280371526000, 1280365962000, 1280363401000, 1280353249000,
        1280361650000, 1280367871000, 1280349829000, 1280367871000,
        1280353249000, 1280353249000, 1280362249000, 1280367871000,
        1280371526000, 1280371526000, 1280362249000, 1280349829000,
        1280349829000, 1280349829000, 1280367871000, 1280371526000,
        1280362249000, 1280369726000, 1280369726000, 1280363401000,
        1280371526000, 1280367871000, 1280370792000, 1280349829000,
        1280370792000, 1280371526000, 1280367871000, 1280353249000,
        1280367871000, 1280367871000, 1280362249000, 1280353249000,
        1280367871000, 1280353249000, 1280367871000, 1280349829000,
        1280266574000, 1280361650000, 1280371526000, 1280349829000,
        1280366173000, 1280367871000, 1280370359000, 1280370359000,
        1280361650000, 1280363401000, 1280362249000, 1280349829000,
        1280370792000, 1280367871000, 1280362249000, 1280369726000,
        1280363401000, 1280365962000, 1280362531000, 1280362249000,
        1280349829000, 1280367871000, 1280349829000, 1280363401000,
        1280349829000, 1280370792000, 1280363401000, 1280363401000,
        1280366173000, 1280365962000, 1280353249000, 1280349829000,
        1280349829000, 1280349829000, 1280366173000, 1280353249000,
        1280353249000, 1280369726000, 1280353249000, 1280363401000,
        1280363401000, 1280367871000, 1280367871000, 1280371526000,
        1280363401000, 1280349829000, 1280363401000, 1280367871000,
        1280362531000, 1280349829000, 1280353249000, 1280365460000,
        1280367871000, 1280365460000, 1280365962000, 1280367871000,
        1280362249000, 1280349829000, 1280365460000, 1280369726000,
        1280349829000, 1280361650000, 1280367871000, 1280362249000,
        1280367871000, 1280362249000, 1280365962000, 1280367871000,
        1280365460000, 1280365460000, 1280371526000, 1280369726000,
        1280362249000, 1280365460000, 1280362249000, 1280363401000,
        1280361650000, 1280367871000, 1280367871000, 1280371526000,
        1280349829000, 1280366173000, 1280349829000, 1280361650000,
        1280363401000, 1280362249000, 1280371526000, 1280367871000,
        1280363401000, 1280361650000, 1280367871000, 1280362249000,
        1280369726000, 1280369726000, 1280362249000, 1280361650000,
        1280369726000, 1280349829000, 1280371526000, 1280367871000,
        1280349829000, 1280349829000, 1280349829000, 1280371526000,
        1280362531000, 1280371526000, 1280349829000, 1280365460000,
        1280362249000, 1280369726000, 1280362249000, 1280365962000,
        1280371526000, 1280349829000, 1280362531000, 1280362249000,
        1280363401000, 1280369726000, 1280367871000, 1280371526000,
        1280365962000, 1280369726000, 1280363401000, 1280365962000,
        1280363401000, 1280369726000, 1280365460000, 1280367871000,
        1280361650000, 1280362531000, 1280371526000, 1280369726000,
        1280362612000, 1280349829000, 1280361650000, 1280362249000,
        1280363401000, 1280365460000, 1280349829000, 1280369726000,
        1280366173000, 1280369726000, 1280371526000, 1280365460000,
        1280371526000, 1280369726000, 1280369726000, 1280366173000,
        1280362249000, 1280361650000, 1280367871000, 1280362249000,
        1280367871000, 1280369726000, 1280363401000, 1280365962000,
        1280362531000, 1280353249000, 1280353249000, 1280363401000,
        1280367871000, 1280367871000, 1280369726000, 1280349829000,
        1280371526000, 1280371526000, 1280367871000, 1280371526000,
        1280371526000, 1280350419000, 1280362249000, 1280349829000,
        1280365460000, 1280367871000, 1280369726000, 1280365962000,
        1280367871000, 1280365962000, 1280365460000, 1280361650000,
        1280371526000, 1280367871000, 1280266574000, 1280366173000,
        1280363401000, 1280367871000, 1280362249000, 1280353249000,
        1280362249000, 1280353249000, 1280367871000, 1280349829000,
        1280350419000, 1280370792000, 1280349829000, 1280367871000,
        1280365460000, 1280366173000, 1280363401000, 1280362249000,
        1280363401000, 1280367871000, 1280366173000, 1280363401000,
        1280371526000, 1280353249000, 1280367871000, 1280361650000,
        1280369726000, 1280369726000, 1280370792000, 1280362531000,
        1280363401000, 1280349829000, 1280362249000, 1280367871000,
        1280362249000, 1280349829000, 1280366173000, 1280349829000,
        1280363401000, 1280371526000, 1280362249000, 1280363401000,
        1280349829000, 1280363401000, 1280362249000, 1280362249000,
        1280365460000, 1280363401000, 1280353249000, 1280371526000,
        1280349829000, 1280353249000, 1280362612000, 1280371526000,
        1280362249000, 1280363401000, 1280362531000, 1280361650000,
        1280369726000, 1280365460000, 1280349829000, 1280362249000,
        1280349829000, 1280363401000, 1280362249000, 1280349829000,
        1280365460000, 1280349829000, 1280365460000, 1280362612000,
        1280371526000, 1280363401000, 1280349829000, 1280362249000,
        1280361650000, 1280369726000, 1280362249000, 1280367871000,
        1280362249000, 1280349829000, 1280349829000, 1280365962000,
        1280349829000, 1280367871000, 1280349829000, 1280363401000,
        1280367871000, 1280362249000, 1280369726000, 1280369726000,
        1280363401000, 1280370792000, 1280365460000, 1280367871000,
        1280353249000, 1280353249000, 1280369726000, 1280361650000,
        1280369726000, 1280367871000, 1280361650000, 1280371526000,
        1280349829000, 1280367871000, 1280363401000, 1280349829000,
        1280361650000, 1280367871000, 1280349829000, 1280365460000,
        1280353249000, 1280363401000, 1280363401000, 1280362249000,
        1280353249000, 1280367871000, 1280367871000, 1280367871000,
        1280349829000, 1280353249000, 1280353249000, 1280362249000,
        1280367871000, 1280363401000, 1280362249000, 1280363401000,
        1280370792000, 1280353249000, 1280363401000, 1280367871000,
        1280367871000, 1280369726000, 1280363401000, 1280362531000,
        1280349829000, 1280369726000, 1280362531000, 1280353249000,
        1280365962000, 1280367871000, 1280363401000, 1280353249000,
        1280363401000, 1280363401000, 1280363401000, 1280349829000,
        1280367871000, 1280362249000, 1280361650000, 1280349829000,
        1280367871000, 1280367871000, 1280370792000, 1280367871000,
        1280362249000, 1280365460000, 1280362249000, 1280370359000,
        1280349829000, 1280370792000, 1280363401000, 1280349829000,
        1280350419000, 1280362249000, 1280362531000, 1280362249000,
        1280367871000, 1280369726000, 1280349829000, 1280365460000,
        1280367871000, 1280353249000, 1280371526000, 1280371526000,
        1280361650000, 1280367871000, 1280353249000, 1280361650000,
        1280369726000, 1280370792000, 1280363401000, 1280370792000,
        1280367871000, 1280349829000, 1280363401000, 1280367871000,
        1280362249000, 1280371526000, 1280371526000, 1280367871000,
        1280371526000, 1280353249000, 1280370792000, 1280369726000,
        1280369726000, 1280361650000, 1280349829000, 1280370359000,
        1280362531000, 1280363401000,
      ],
      w: null,
    },
    {
      d: { type: "Medium" },
      id: "101794-2943",
      id1: "101794",
      id2: "2943",
      dt: [1280064191000],
    },
    {
      d: { type: "Low" },
      id: "101794-756347",
      id1: "101794",
      id2: "756347",
      dt: [1280064191000],
    },
    {
      d: { type: "Low" },
      id: "237619-10595",
      id1: "237619",
      id2: "10595",
      dt: [1280279745000],
    },
    {
      d: { type: "Medium" },
      id: "506332-2943",
      id1: "506332",
      id2: "2943",
      dt: [1280064812000],
    },
    {
      d: { type: "Medium" },
      id: "580954-435806",
      id1: "580954",
      id2: "435806",
      dt: [1280062051000],
    },
    {
      d: { type: "Low" },
      id: "580954-2943",
      id1: "580954",
      id2: "2943",
      dt: [1280062051000],
    },
    {
      d: { type: "Low" },
      id: "787553-47117",
      id1: "787553",
      id2: "47117",
      dt: [1281003222000],
    },
    {
      d: { type: "Medium" },
      id: "787553-371805",
      id1: "787553",
      id2: "371805",
      dt: [1281003222000],
    },
    {
      d: { type: "Low" },
      id: "210870-246854",
      id1: "210870",
      id2: "246854",
      dt: [1280113457000],
    },
    {
      d: { type: "Low" },
      id: "210870-825421",
      id1: "210870",
      id2: "825421",
      dt: [1280113457000],
    },
    {
      d: { type: "Low" },
      id: "757298-144287",
      id1: "757298",
      id2: "144287",
      dt: [1279662373000],
    },
    {
      d: { type: "Low" },
      id: "757298-603719",
      id1: "757298",
      id2: "603719",
      dt: [1279662373000],
    },
    {
      d: { type: "Medium" },
      id: "891670-522842",
      id1: "891670",
      id2: "522842",
      dt: [1280062051000],
    },
    {
      d: { type: "Low" },
      id: "891670-2943",
      id1: "891670",
      id2: "2943",
      dt: [1280062051000],
    },
    {
      d: { type: "Low" },
      id: "884733-663814",
      id1: "884733",
      id2: "663814",
      dt: [1280203618000],
    },
    {
      d: { type: "Low" },
      id: "884733-842115",
      id1: "884733",
      id2: "842115",
      dt: [1280203618000],
    },
    {
      d: { type: "Medium" },
      id: "706882-370231",
      id1: "706882",
      id2: "370231",
      dt: [1280062051000],
    },
    {
      d: { type: "High" },
      id: "706882-2943",
      id1: "706882",
      id2: "2943",
      dt: [1280062051000],
    },
    {
      d: { type: "Medium" },
      id: "290749-47117",
      id1: "290749",
      id2: "47117",
      dt: [1281066835000],
    },
    {
      d: { type: "Low" },
      id: "290749-521329",
      id1: "290749",
      id2: "521329",
      dt: [1281066835000],
    },
    {
      d: { type: "Low" },
      id: "292984-51324",
      id1: "292984",
      id2: "51324",
      dt: [1280492030000],
    },
    {
      d: { type: "Low" },
      id: "292984-71919",
      id1: "292984",
      id2: "71919",
      dt: [1280492030000],
    },
    {
      d: { type: "Medium" },
      id: "743035-75460",
      id1: "743035",
      id2: "75460",
      dt: [1281138480000],
    },
    {
      d: { type: "Medium" },
      id: "743035-495170",
      id1: "743035",
      id2: "495170",
      dt: [1281138480000],

// ...truncated 38476 lines
<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Customise the Time Bar</title>
    <link rel="stylesheet" type="text/css" href="@ci/theme/kl/css/keylines.css">
    <link
      rel="stylesheet"
      type="text/css"
      href="@ci/theme/kl/css/minimalsdk.css"
    >
    <link
      rel="stylesheet"
      type="text/css"
      href="@ci/theme/kl/css/sdk-layout.css"
    >
    <link rel="stylesheet" type="text/css" href="@ci/theme/kl/css/demo.css">
    <link
      rel="stylesheet"
      type="text/css"
      href="@ci/theme/kl/css/examples-chrome.css"
    >
    <link rel="stylesheet" href="./style.css">
  </head>
  <body>
    <div class="chart-wrapper demo-cols">
      <div id="lhs" class="flex1">
        <div
          id="lhsVisual"
          class="toggle-content is-visible"
          style="width: 100%; height: 100%"
        >
          <div id="kltimebar" class="klchart"></div>
        </div>
      </div>
      <div class="rhs citext" id="demorhscontent">
        <div class="tab-content-panel">
          <div id="controlsTab" class="toggle-content is-visible tabcontent">
            <form id="rhsForm" autocomplete="off" onsubmit="return false;">
              <div class="cicontent">
                <ul class="nav nav-tabs">
                  <li class="tab-links active">
                    <a href="#style" data-toggle="tab">Appearance</a>
                  </li>
                  <li class="tab-links">
                    <a href="#options" data-toggle="tab">Options</a>
                  </li>
                  <li class="tab-links">
                    <a href="#localisation" data-toggle="tab">Localisation</a>
                  </li>
                </ul>
                <div id="optionsForm">
                  <div class="tab-content" style="overflow: inherit">
                    <div class="tab-pane active" id="style">
                      <label>Time bar type</label
                      ><select name="type" id="type">
                        <option value="histogram">Histogram bars</option>
                        <option value="area">Smooth area</option>
                      </select>
                      <div id="options-histogram">
                        <label>Data grouping</label
                        ><select name="group">
                          <option value="none" selected="selected">
                            None (default)
                          </option>
                          <option value="all">All in groups</option>
                          <option value="one">One group</option>
                        </select><label>Background colour</label
                        ><select name="background">
                          <option value="white" selected="selected">
                            white (default)
                          </option>
                          <option value="grey">grey</option>
                          <option value="black">black</option>
                        </select><label>Histogram colour</label
                        ><select name="colour">
                          <option value="default" selected="selected">
                            light grey (default)
                          </option>
                          <option value="blue">blue</option>
                          <option value="green">green</option>
                          <option value="red">red</option>
                        </select><label>Histogram highlight colour</label
                        ><select name="highlightcolour">
                          <option value="default" selected="selected">
                            grey (default)
                          </option>
                          <option value="blue">blue</option>
                          <option value="green">green</option>
                          <option value="red">red</option>
                        </select><label>Histogram mark colour</label
                        ><select name="markcolour">
                          <option value="lightblue">light blue</option>
                          <option value="lightgreen">light green</option>
                          <option value="default" selected="selected">
                            light red (default)
                          </option>
                        </select><label>Histogram mark highlight colour</label
                        ><select name="markhicolour">
                          <option value="blue">blue</option>
                          <option value="green">green</option>
                          <option value="default" selected="selected">
                            red (default)
                          </option>
                        </select>
                      </div>
                      <div id="options-area">
                        <label>Area colour</label
                        ><select name="areacolour">
                          <option value="green">green</option>
                          <option value="red">red</option>
                          <option value="default" selected="selected">
                            blue (default)
                          </option>
                        </select>
                      </div>
                      <label>Font family &amp; size</label>
                      <div class="form-inline">
                        <select class="inline" name="fontfamily">
                          <option value="sans-serif">Sans Serif</option>
                          <option value="wide">Wide</option>
                          <option value="tahoma">Tahoma</option>
                          <option value="georgia">Georgia</option>
                        </select><input
                          class="input-small inline"
                          type="number"
                          name="fontsize"
                          value="12"
                          min="5"
                          max="50"
                        >
                      </div>
                      <div style="margin-top: 10px">
                        <label class="checkbox inline"
                          ><input
                            type="checkbox"
                            name="controlbar"
                            checked
                          >Control Bar</label
                        ><label class="checkbox inline"
                          ><input type="checkbox" name="minor" checked>Minor
                          Scale</label
                        ><label class="checkbox inline"
                          ><input type="checkbox" name="major" checked>Major
                          Scale</label
                        >
                      </div>
                    </div>
                    <div class="tab-pane" id="options">
                      <label class="checkbox"
                        ><input type="checkbox" name="play" checked>Show Play
                        Button</label
                      ><label class="checkbox"
                        ><input type="checkbox" name="playextend">Show Extend
                        Button</label
                      ><label class="checkbox"
                        ><input type="checkbox" name="fit" checked>Show Fit
                        Button</label
                      ><label>Minimum scale</label
                      ><select class="minscale" name="minscale">
                        <option value="" selected="selected" index="0">
                          None
                        </option>
                        <option value="month,1" index="7">One month</option>
                        <option value="week,1" index="6">One week</option>
                        <option value="day,1" index="5">One day</option>
                        <option value="hour,12" index="4">12 hours</option>
                        <option value="hour,6" index="3">6 hours</option>
                        <option value="hour,1" index="2">One hour</option>
                        <option value="min,1" index="1">One minute</option>
                      </select><label style="color: red" id="range-scale"
                        >Maximum range cannot be smaller than or equal to
                        Minimum scale.</label
                      ><label>Maximum range</label
                      ><select class="maxrange" name="maxrange">
                        <option value="" selected="selected" index="10">
                          None
                        </option>
                        <option value="year,10" index="9">Ten years</option>
                        <option value="year,1" index="8">One year</option>
                        <option value="month,1" index="7">One month</option>
                        <option value="week,1" index="6">One week</option>
                        <option value="day,1" index="5">One day</option>
                        <option value="hour,12" index="4">12 hours</option>
                        <option value="hour,6" index="3">6 hours</option>
                      </select><label>Sliders</label
                      ><select name="sliders">
                        <option value="fixed">Fixed</option>
                        <option value="free">Free</option>
                        <option value="none">None</option>
                      </select><label class="pad"
                        >Play speed: &nbsp;<span
                          class="stat"
                          id="playSpeed"
                        ></span>
                        <input
                          class="slider"
                          type="range"
                          id="playSlider"
                          min="10"
                          max="150"
                        ></label
                      ><label class="pad checkbox"
                        ><input
                          type="checkbox"
                          name="heightchange"
                          checked
                        >Animate histogram height</label
                      ><label
                        >Time: &nbsp;<span class="stat" id="hcTime"></span>
                        <input
                          class="slider"
                          type="range"
                          id="hcSlider"
                          min="10"
                          max="500"
                          step="10"
                        ></label
                      >
                    </div>
                    <div class="tab-pane" id="localisation">
                      <div style="margin-left: 5px">
                        <p>Language:&nbsp;</p>
                        <div class="btn-group">
                          <input
                            class="locale size btn"
                            type="button"
                            value="de"
                          ><input
                            class="locale size btn btn-kl active"
                            type="button"
                            value="en"
                          ><input
                            class="locale size btn"
                            type="button"
                            value="es"
                          ><input
                            class="locale size btn"
                            type="button"
                            value="fr"
                          ><input
                            class="locale size btn"
                            type="button"
                            value="it"
                          >
                        </div>
                        <fieldset>
                          <p style="margin-top: 10px">Hours:</p>
                          <label class="radio"
                            ><input
                              type="radio"
                              name="hours"
                              value="h12"
                              checked="checked"
                            >12-hour clock</label
                          ><label class="radio"
                            ><input
                              type="radio"
                              name="hours"
                              value="h24"
                            >24-hour clock</label
                          >
                        </fieldset>
                        <fieldset>
                          <p style="margin-top: 10px">Date order:</p>
                          <label class="radio"
                            ><input type="radio" name="order" value="dmy">Day,
                            month, year</label
                          ><label class="radio"
                            ><input
                              type="radio"
                              name="order"
                              value="mdy"
                              checked="checked"
                            >Month, day, year</label
                          >
                        </fieldset>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </form>
          </div>
        </div>
      </div>
    </div>
    <script type="module" src="./code.js"></script>
  </body>
</html>
/* --- basic.css --- */
.slider {
  margin: 10px;
}
.stat {
  border: 1px solid #cacdcf;
  padding: 4px;
  background: #f5f5f5;
}

#playSlider,
#hcSlider {
  display: inline-block;
  width: 180px;
}

.pad {
  margin-bottom: 10px;
}

.kltimebar {
  height: 100%;
}

.input-small {
  min-height: 38px;
  width: 46px;
}
.nav-tabs {
  border-bottom: 1px solid #ccc;
  padding: 0px;
}
.tab-links {
  display: inline-block;
}
.tab-links:not(:first-child) {
  margin-left: -4px;
}

.tab-links.active {
  border: 0px 0px 3px 0px solid #00aa70;
}
.tab-pane.active {
  display: block;
  visibility: visible;
  overflow: hidden;
}

input.inline {
  margin-left: 10px;
}

Terms of use

These terms do not alter or supersede any existing agreements between you (or your employer) and us.

By accessing or using any Content you agree to be bound by these Terms of Use. Please review these terms carefully before using the website.

The contents of this website, including but not limited to any text, code samples, API references, schemas, interactive tools, and other materials (collectively, the 'Content'), are made available for informational and internal evaluation purposes only. All intellectual property rights in the Content are reserved. No licence is granted to use the Content for any commercial purpose, or to copy, distribute, modify, reverse-engineer, or incorporate any part of the Content into any product or service, without our prior written consent.

This Content is provided “as is” and “as available,” without any representations, warranties, or guarantees of any kind, whether express or implied, including but not limited to implied warranties of merchantability, fitness for a particular purpose, non-infringement, or accuracy. To the fullest extent permitted by applicable law, we expressly exclude and disclaim all implied warranties, conditions, and other terms that might otherwise be implied.

We disclaim all liability for any loss or damage, whether direct, indirect, incidental, consequential, or otherwise, arising from any reliance placed on the Content or from your use of it, to the fullest extent permitted by applicable law. By continuing to access or use the Content, you acknowledge and agree to these terms.