Skip to content

Instantly share code, notes, and snippets.

@MattWoelk
Last active September 17, 2017 12:20
Show Gist options
  • Save MattWoelk/5196687 to your computer and use it in GitHub Desktop.
Save MattWoelk/5196687 to your computer and use it in GitHub Desktop.
Binned Line Chart
// {{{ CONSTANTS
var MAX_NUMBER_OF_BIN_LEVELS = 14; // set it as a really high number
var TIME_CONTEXT_VERTICAL_EACH = 25; // vertical size of each section of the user time context system
// CONSTANTS }}}
// {{{ HELPER FUNCTIONS
// filter an array so that we don't render much more
// than the required amount of line and area
var filterDateToRange = function (input, range) {
return _.filter(input, function (d, i) {
return d.date <= range[1] && d.date >= range[0];
});
}
var isWithinRange = function (r1, r2) {
// see if r1 is within r2
return r1[0] >= r2[0] && r1[1] <= r2[1];
};
var getTwoLargest = function (array) {
var arr = array.slice();
first = d3.max(arr);
arr.splice(arr.indexOf(first),1);
second = d3.max(arr);
return [first, second];
};
var average = function (array) {
return d3.sum(array)/array.length;
};
var getTwoSmallest = function (array) {
var arr = array.slice();
first = d3.min(arr);
arr.splice(arr.indexOf(first),1);
second = d3.min(arr);
return [first, second];
};
function getScaleValue(scal) {
// gives a result which has units pixels / samples
return (scal.range()[1] - scal.range()[0])/ (scal.domain()[1] - scal.domain()[0]);
}
function divid (one, two) {
if (one && two) {
return one.toPrecision(1) / two.toPrecision(1);
} else {
return NaN;
}
}
function getScaleValueTimesDomainZero (scal) {
return (scal.range()[1] - scal.range()[0]) /
((scal.domain()[1] / scal.domain()[0]) - 1);
}
// This is the transform which is done on the data after it has been rendered.
function transformScale(scal, oldScal, mar) {
var pixelsPerSample = getScaleValue(scal);
var xS = getScaleValue(scal);
var tx = mar.left + (xS * (oldScal.domain()[0] - scal.domain()[0])); // translate x value
var ty = mar.top; // translate y value
// See renderFunction for the inverse:
var sx = xS / getScaleValue(oldScal);
var sy = 1; // scale y value
return "translate(" + tx + "," + ty + ")scale(" + sx + "," + sy + ")";
}
// Convert milliseconds to a Date object
function dt (num) {
var newdate = new Date();
newdate.setTime(num);
return newdate;
}
// selection are the objects,
// fill and stroke are functions,
// scal is the scale
function drawElements(sel, fill, stroke, scal, toTransition, scalOld, ease, dur, d0s, bin, mar, renScale, strokeW) {
//update
if (toTransition) {
sel.attr("transform", transformScale(scalOld, renScale, mar))
.attr("d", function (d, i) { return d0s[d.type][d.which]; })
.transition().ease(ease).duration(dur)
.attr("transform", transformScale(scal, renScale, mar));
} else {
sel.attr("opacity", function (d) { return bin[d.type].opacity; })
.attr("d", function (d, i) { return d0s[d.type][d.which]; }) // TODO: remove this
.attr("transform", transformScale(scal, renScale, mar));
}
//enter
var sels = sel.enter().append("path")
.attr("class", "posPath")
.attr("fill", fill)
.style("stroke-width", strokeW)
.attr("d", function (d, i) { return d0s[d.type][d.which]; })
.style("stroke", stroke);
if (toTransition) {
sels.attr("transform", transformScale(scalOld, renScale, mar))
.attr("opacity", 0)
.transition().ease(ease).duration(dur)
.attr("transform", transformScale(scal, renScale, mar))
.attr("opacity", function (d) { return bin[d.type].opacity; });
} else {
sels.attr("transform", transformScale(scal, renScale, mar))
.attr("opacity", function (d) { return bin[d.type].opacity; });
}
//exit
var sels = toTransition ?
sel.exit().transition().ease(ease).duration(dur) :
sel.exit();
sels
.attr("transform", transformScale(scal, scalOld, mar))
.attr("opacity", 0)
.remove();
}
// TODO: Phase 2 - make this external, as in, set from outside this chart object.
// - could pass in a function or a static value.
function maxBinRenderSize () {
return document.getElementById("renderdepth").value;
}
// The following function returns something which looks like this:
// [
// {type: 'rawData', which: 0, interpolate: blabla}, <-- this one is for the raw data
// {type: 'average', which: 2, interpolate: blabla}, <-- the current level is 'which'
// {type: 'maxes', which: 2, interpolate: blabla}, <-- etc.
// ]
var makeDataObjectForKeyFanciness = function (bin, whichLines, whichLevel, interp) {
var resultArray = new Array();
if (whichLines.indexOf('rawData') > -1){
resultArray.push({
type: 'rawData',
which: 0
});
}
var j = 0;
for (var keyValue in bin['keys']){ // for each of 'average', 'max', 'min'
var key = bin.keys[keyValue];
if (whichLines.indexOf(key) > -1){
for (j = 0; j < MAX_NUMBER_OF_BIN_LEVELS; j++) {
if (whichLevel === j){
resultArray.push({
type: key,
which: j,
interpolate: interp
});
}
}
}
}
return resultArray;
};
// See makeDataObjectForKeyFanciness for explanation of output
var makeQuartileObjectForKeyFanciness = function (whichLines, whichLevel, interp) {
var resultArray = new Array();
var key = 'quartiles';
var j = 0;
if (whichLines.indexOf('quartiles') > -1)
{
for (j = 0; j < MAX_NUMBER_OF_BIN_LEVELS; j++) {
if (whichLevel === j){
resultArray.push({
type: key,
which: j,
interpolate: interp
});
}
}
}
return resultArray;
}
function goToLevel(scal, msPS) {
// msPS is milliSecondsPerSample
// pixels/bin:
var pixelsPerBin = maxBinRenderSize();
var pixelsPerMilliSecond = getScaleValue(scal);
var pixelsPerSample = pixelsPerMilliSecond * msPS;
// sam pix sam
// --- = --- * ---
// bin bin pix
var samplesPerBin = pixelsPerBin / pixelsPerSample;
//now convert to level and floor
var toLevel = Math.log( samplesPerBin ) / Math.log( 2 );
var toLevel = Math.floor(toLevel);
var toLevel = d3.max([0, toLevel]);
var toLevel = d3.min([MAX_NUMBER_OF_BIN_LEVELS - 1, toLevel]);
return toLevel;
}
// Bin the data into abstracted bins
var binTheDataWithFunction = function (bin, curLevel, key, func) {
var bDat = new Array();
var i = 0;
for(i = 0; i < bin[key].levels[curLevel].length; i = i + 2){
if (bin[key].levels[curLevel][i+1]){
var newdate = bin['q1'].levels[curLevel][i/*+1*/].date;
if (key === 'q1' || key === 'q3') {
//console.log( bin['q1'].levels[curLevel][i+1].date );
bDat.push({ val: func(
bin['q1'].levels[curLevel][i].val,
bin['q1'].levels[curLevel][i+1].val,
bin['q3'].levels[curLevel][i].val,
bin['q3'].levels[curLevel][i+1].val)
, date: newdate }); // This is messy and depends on a lot of things
}else{
bDat.push( { val: func(
bin[key].levels[curLevel][i].val,
bin[key].levels[curLevel][i+1].val)
, date: newdate });
}
}else{
var newdate = bin[key].levels[curLevel][i].date;
bDat.push( { val: bin[key].levels[curLevel][i].val
, date: newdate } );
}
}
return bDat;
};
// return a string label to be put in the user time context area
// Depends on the times variable from msToCentury.js
var getTimeContextString = function (scal, show) {
if (!show) return [];
var result = "";
var timeContextFormatSpecifier = [
{ fun: function (a,b) { return (b - a) < 2 * times.y; }, formIf: "%Y", formIfNot: ""},
{ fun: function (a,b) { return (b - a) < 2 * times.mo; }, formIf: " %b", formIfNot: ""},
{ fun: function (a,b) { return (b - a) < 2 * times.d; }, formIf: " %d", formIfNot: ""},
{ fun: function (a,b) { return (b - a) < 2 * times.h; }, formIf: " %H", formIfNot: ""},
{ fun: function (a,b) { return (b - a) < 2 * times.m; }, formIf: ":%M", formIfNot: "h"},
{ fun: function (a,b) { return (b - a) < 2 * times.s; }, formIf: ":%Ss", formIfNot: ""},
// milliseconds would be unnecessary for our purposes
];
var d0 = scal.domain()[0];
var d1 = scal.domain()[1];
var doneNow = false;
parseDate = d3.time.format(_.reduce(timeContextFormatSpecifier, function (str, dat) {
if ( doneNow ) return str;
if (dat.fun(d0, d1)) {
return str + dat.formIf;
} else {
doneNow = true;
return str + dat.formIfNot;
}
}, ""));
result = parseDate(dt(d0));
return [ result ];
}
// HELPER FUNCTIONS }}}
var binnedLineChart = function (data, dataRequester, uniqueID) {
//{{{ VARIABLES
var datReq = dataRequester;
var strokeWidth = 1;
// the frequency of the data samples
var milliSecondsPerSample = 1;
// TODO: sync this with the one in bridgecharts.js
var margin = {top: 10, right: 27, bottom: 25, left: 70};
// the height of the chart by itself (not including axes or time context)
var height = 150 - margin.top - margin.bottom;
// the width of the chart, including margins
var containerWidth = document.getElementById("chartContainer").offsetWidth;
var width = containerWidth - margin.left - margin.right;
var whichLevelToRender = 0;
var whichLinesToRender = ['average', 'average', 'maxes', 'mins'];
var interpolationMethod = ['linear'];
var showTimeContext = true;
var transitionDuration = 500;
var easingMethod = 'cubic-in-out';
var defclip; // the clipping region TODO: stop using ids, or have a unique id per chart. This will help the firefox problem. Id should be based on the type of data which is being stored by the chart (AA, CC, DD, etc.) ?
// - could have this clip path set by bridgecharts.js instead
var xAxisContainer;
var xAxis;
var yAxisContainer;
var yAxis;
var xScale;
var yScale;
var previousXScale = d3.scale.linear(); // used for rendering transitions
var previousLevelToRender; // used for rendering transitions;
var timeContextContainer;
var chart; // the svg element (?)
var paths;
var slctn; // Save the selection so that my.update() works.
// whether we used the buttons to zoom
var transitionNextTime = false;
var reRenderTheNextTime = true;
// Where all data is stored, but NOT rendered d0's
var binData = {
keys : ['average', 'maxes', 'mins', 'q1', 'q3'],
rawData : {
color: '#000',
opacity: 0.5,
levels: [], // stores all of the values for each level in an array.
// example: [[{val: 1.7, date: ms_since_epoch}, {val: 2.3, date: ms_since_epoch}], [etc.]]
},
average : {
color : '#F00',
opacity: 1,
func : function (a, b) { return (a+b)/2; },
levels: [],
},
maxes : {
color : '#000FB5',
opacity: 1,
func : function (a, b) { return d3.max([a,b]); },
levels: [],
},
mins : {
color : '#00B515',
opacity: 1,
func : function (a, b) { return d3.min([a,b]); },
levels: [],
},
q1 : {
color : '#800',
opacity: 1,
func : function (a, b, c, d) { return average(getTwoSmallest([a, b, c, d])); }, // average the two smallest values from q1 and q3
levels: [],
},
q3 : {
color : '#800',
opacity: 1,
func : function (a, b, c, d) { return average(getTwoLargest([a, b, c, d])); }, // average the two largest values from q1 and q3
levels: [],
},
quartiles : {
color : '#800',
opacity: 0.3,
//func : function (a, b, c, d) { return average(getTwoLargest([a, b, c, d])); }, // average the two largest values from q1 and q3
levels: [],
},
};
// Where all the rendered d0s are stored.
var renderedD0s = {
rawData : new Array(), // an array of levels
rawDataRanges : new Array(), // an array of the rendered range for each corresponding level
average : new Array(),
averageRanges : new Array(),
maxes : new Array(),
maxesRanges : new Array(),
mins : new Array(),
minsRanges : new Array(),
q1 : new Array(),
q1Ranges : new Array(),
q2 : new Array(),
q2Ranges : new Array(),
q3 : new Array(),
q3Ranges : new Array(),
quartiles : new Array(),
quartilesRanges : new Array(),
};
// VARIABLES }}}
//{{{ HELPER METHODS
//TODO:
// - need a function here which requests specific data from bridgecharts.js
// - need a function in bridgecharts.js which requests that data from the server
// - each bridgeChart.js will be asking for different data (from different girders) so there won't be redundancy :)
function requestForData(dat) {
// send a request to bridgecharts.js for specific data
// request: [Date, Date]
// receive: not in this function. TODO: make a new function which updates binData.
}
// This is the function used to render the data at a specific size.
var renderFunction = function (d) {
// See transformScale for the inverse.
// Store this for later use.
renderScale = xScale.copy();
return (d.date - renderScale.domain()[0]) * getScaleValue(renderScale);
};
// This stores the scale at which the d0s were
// originally rendered. It's our base-point for
// the transitions which scrolling does.
// TODO: make this what the scale SHOULD be
// for the specific level and maxBinRenderSize
// then we won't need to store state like this
var renderScale = d3.scale.linear();
// HELPER FUNCTIONS }}}
//// INITIALIZATION //// (runs once)
//{{{ POPULATE THE BINNED DATAS (binData)
// TODO: change this from sampleindex to something which actually represents the time, in ms since epoch
binData.rawData.levels[0] = _.map(data, function (num) { return {val: num.val, date: num.ms }; });
for (var keyValue in binData['keys']){ // set level 0 data for each of 'average', 'max', 'min', etc.
// TODO: change this from sampleindex to something which actually represents the time, in ms since epoch
binData[binData.keys[keyValue]].levels[0] = _.map(data, function (num) { return {val: num.val, date: num.ms}; });
var j = 0;
for (j = 1; j < MAX_NUMBER_OF_BIN_LEVELS; j++){ // add a new object for each bin level
binData[binData.keys[keyValue]].levels[j] = [];
}
}
for (j = 1; j < MAX_NUMBER_OF_BIN_LEVELS; j++){ // for each bin level
for (var keyValue in binData['keys']){ // for each of 'average', 'max', 'min', etc.
var key = binData.keys[keyValue];
// TODO: change this from sampleindex to something which actually represents the time, in ms since epoch
binData[key].levels[0] = _.map(data, function (num, py) { return {val: num.val, date: num.ms }; });
binData[key].levels[j] = binTheDataWithFunction(binData, j-1, key, binData[key]['func']);
}
}
// POPULATE THE BINNED DATAS (binData) }}}
//// MY //// (runs whenever something changes)
var my = function (selection) {
//{{{ SELECTION AND SCALES
slctn = selection; // Saving the selection so that my.update() works.
width = containerWidth - margin.left - margin.right;
if (!xScale) {
xScale = d3.scale.linear().domain([0, binData.levels[0].rawData.length - 1]);
}
xScale.range([0, width]); // So that the furthest-right point is at the right edge of the plot
if (!yScale){ yScale = d3.scale.linear(); }
yScale
.domain([d3.min(binData.rawData.levels[0], function(d) { return d.val; }), d3.max(binData.rawData.levels[0], function(d) { return d.val; })])
.range([height, 0]);
// SELECTION AND SCALES }}}
//{{{ GENERATE d0s. (generate the lines paths)
// Currently, we are abandoning non-contiguous values as if they don't exist. This may be just fine. :)
// Also, when you scroll left, then scroll back right it will have forgotten the part that was on the left. This also may be just fine. :)
//var findTimeRange = function (arr) {
//TODO: use getTime instead
// var max = _.max(arr, function (d) { return d.date; /* TODO: define structure */ }).date; /* TODO: define structure */
// var min = _.min(arr, function (d) { return d.date; /* TODO: define structure */ }).date; /* TODO: define structure */
// return [min, max];
//};
// Choose which d0s need to be generated
// based on which keys are active.
var renderThis = [];
renderThis = renderThis.concat(whichLinesToRender);
if (whichLinesToRender.indexOf("quartiles") !== -1) {
// If we're going to render the quartiles, we need to render q1 and q3.
if (whichLinesToRender.indexOf("q3") === -1) {
renderThis = ['q3'].concat(renderThis);
}
if (whichLinesToRender.indexOf("q1") === -1) {
renderThis = ['q1'].concat(renderThis);
}
}
// initialize the array if it's the first time for this level and key:
for (var keyValue in renderThis) {
var key = renderThis[keyValue];
if (!renderedD0s[key + "Ranges"][whichLevelToRender]) {
// first time for this level/key
renderedD0s[key + "Ranges"][whichLevelToRender] = [0, 0];
}
}
// for each key
// 1. find out whether we should render things
for (var keyValue in renderThis) {
var key = renderThis[keyValue];
// These two variables are here to remove the slight amount
// of un-rendered space which shows up on the sides just
// before the new data is generated. It provides a buffer zone.
var tenDiff = (renderedD0s[key + "Ranges"][whichLevelToRender][1] -
renderedD0s[key + "Ranges"][whichLevelToRender][0]) * 0.1;
var ninetyPercentRange = [ renderedD0s[key + "Ranges"][whichLevelToRender][0] + tenDiff ,
renderedD0s[key + "Ranges"][whichLevelToRender][1] - tenDiff ];
//if we are not within the range OR reRenderTheNextTime
if (!isWithinRange([xScale.domain()[0], xScale.domain()[1]], ninetyPercentRange) || reRenderTheNextTime) {
//render the new stuff
// figure out how much to render:
var xdiff = xScale.domain()[1] - xScale.domain()[0];
var newRange = [0, 0];
newRange[0] = xScale.domain()[0] - (xdiff / 2); // render twice what is necessary.
newRange[1] = xScale.domain()[1] + (xdiff / 2);
if (key === 'quartiles') {
// render AREA d0s
renderedD0s["q1"][0] = renderedD0s["rawData"][0]; // TODO: learn to do without this line
renderedD0s["q3"][0] = renderedD0s["rawData"][0]; // TODO: learn to do without this line
var q1Filter = filterDateToRange( binData["q1"].levels[whichLevelToRender], newRange );
var q3filter = filterDateToRange( binData["q3"].levels[whichLevelToRender], newRange );
renderedD0s["quartiles"][whichLevelToRender] = d3.svg.area()
.x(renderFunction)
.y0(function (d, i) { return yScale( q1Filter[i].val ); }) //.val
.y1(function (d, i) { return yScale( q3filter[i].val ); }) //.val
.interpolate( interpolationMethod )(q1Filter);
renderedD0s[key + "Ranges"][whichLevelToRender] = [newRange[0], newRange[1]];
} else {
// render LINES d0s
renderedD0s[key + "Ranges"][whichLevelToRender] = [newRange[0], newRange[1]];
// TODO: when to poll server for more data ???
// - we will ask binData (through a function) if it has the data
// - if that binData doesn't have it, we'll request information
// from the server througoh bridgecharts.js somehow.
renderedD0s[key][0] = renderedD0s['rawData'][0]; // TODO: learn to do without this line
var lineFilter = filterDateToRange(binData[key].levels[whichLevelToRender], newRange);
renderedD0s[key][whichLevelToRender] = d3.svg.line()
.x(renderFunction)
.y(function (d, i) { return yScale(d.val); })
.interpolate( interpolationMethod )(lineFilter);
} // if quartiles else lines
} // if we should render anything
} // for
reRenderTheNextTime = false;
// GENERATE ALL d0s. (generate the lines paths) }}}
//// SELECTION.EACH ////
selection.each(function () {
//{{{ CONTAINER AND CLIPPING
chart = d3.select(this); //Since we're using a .call(), "this" is the svg element.
//Set it's container's dimensions
selection
.attr("width", width);
//Set the chart's dimensions
chart
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom);
//Allow dragging and zooming.
//chart.call(d3.behavior.zoom().x(xScale).y(yScale).scaleExtent([0.125, 8]).on("zoom", my.zoom));
//Make the clipPath (for cropping the paths)
if (!defclip) { defclip = chart.insert("defs").append("clipPath").attr("id", "clip" + uniqueID).append("rect"); }
defclip
//.transition().duration(transitionDuration)
.attr("width", width)
.attr("transform", "translate(" + margin.left + ", " + margin.top + ")")
.attr("height", height);
//Apply the clipPath
paths = !paths ? chart.append("g") : paths;
paths
.attr("clip-path", "url(#clip" + uniqueID + ")")
.attr("class", "paths")
.attr("height", height);
// CONTAINER AND CLIPPING }}}
//{{{ LINES
//Make and render the Positive lines.
var dataObjectForKeyFanciness = makeDataObjectForKeyFanciness(binData, whichLinesToRender, whichLevelToRender, interpolationMethod);
var currentSelection = paths.selectAll(".posPath")
.data(dataObjectForKeyFanciness, function (d) { return d.type + d.which + d.interpolate; });
drawElements(currentSelection,
function (d) { return "rgba(0,0,0,0)"; },
function (d) { return binData[d.type].color; },
xScale,
transitionNextTime,
previousXScale,
easingMethod,
transitionDuration,
renderedD0s,
binData,
margin,
renderScale,
strokeWidth);
// LINES }}}
//{{{ AREAS
//make and render the area
var quartileObjectForKeyFanciness = makeQuartileObjectForKeyFanciness(whichLinesToRender, whichLevelToRender, interpolationMethod)
currentSelection = paths.selectAll(".posArea")
.data(quartileObjectForKeyFanciness, function (d) {return d.type + d.which + d.interpolate; });
drawElements(currentSelection,
function (d) { return binData[d.type].color; },
function (d) { return "rgba(0,0,0,0)"; },
xScale,
transitionNextTime,
previousXScale,
easingMethod,
transitionDuration,
renderedD0s,
binData,
margin,
renderScale,
strokeWidth);
// AREAS }}}
//{{{ AXES
// Draw Axes using msToCentury.js format and values
xAxis = d3.svg.axis()
.tickSize(6, 3, 3) //major, minor, end
.tickFormat(msToCenturyTickFormat)
.tickValues(msToCenturyTickValues(xScale, width))
.tickSubdivide(msToCenturyTickSubDivide(xScale, width))
.scale(xScale).orient("bottom");
if (!xAxisContainer) { xAxisContainer = chart.append("g"); }
xAxisContainer.attr("class", "x axis")
.attr("transform", "translate(" + margin.left + ", " + (margin.top + height) + ")");
//.attr("transform", "translate(" + margin.left + "," + height + ")");
if (transitionNextTime) {
xAxisContainer.transition().duration(transitionDuration).ease(easingMethod).call(xAxis);
} else {
xAxisContainer/*.transition().duration(transitionDuration)*/.call(xAxis);
}
yAxis = d3.svg.axis()
.scale(yScale)
.ticks(3)
.tickSubdivide(true)
.tickSize(width, 0, 0) // major, minor, end
.orient("left");
if (!yAxisContainer) { yAxisContainer = chart.append("g"); }
yAxisContainer.attr("class", "y axis")
.attr("transform", "translate(" + (width + margin.left) + ", " + margin.top + ")");
//.attr("transform", "translate(" + margin.left + "," + height + ")");
yAxisContainer/*.transition().duration(transitionDuration)*/.call(yAxis);
// AXES }}}
//{{{ TIME CONTEXT
if (!timeContextContainer) { timeContextContainer = chart.append("g"); }
// Draw Time Context
var timeContextSelection = timeContextContainer.selectAll("text")
.data(getTimeContextString(xScale, showTimeContext));
// enter
timeContextSelection.enter().append("text");
// update
timeContextSelection
.text(function (d) { return d; })
.attr("x", margin.left)
.attr("y", function (d, i) { return TIME_CONTEXT_VERTICAL_EACH; });
// exit
timeContextSelection.exit()
.remove();
// TIME CONTEXT }}}
//{{{ TRANSITION NEXT TIME
if (transitionNextTime) {
// So that this only happens once per button click
transitionNextTime = false;
}
// TRANSITION NEXT TIME }}}
});
};
//{{{ Getters and Setters
my.milliSecondsPerSample = function (value) {
if (!arguments.length) return milliSecondsPerSample;
milliSecondsPerSample = value;
return my;
}
my.containerWidth = function (value) {
if (!arguments.length) return containerWidth;
if (containerWidth !== value) my.reRenderTheNextTime(true);
containerWidth = value;
return my;
};
// set the size of the chart
// or return the size that the chart + everything with it takes up
my.height = function (value) {
if (!arguments.length) return (height + margin.bottom + margin.top);
if (height !== value) my.reRenderTheNextTime(true);
height = value;
return my;
};
my.whichLevelToRender = function (value) {
if (!arguments.length) return whichLevelToRender;
if (whichLevelToRender !== value) my.reRenderTheNextTime(true);
whichLevelToRender = value;
return my;
};
my.whichLinesToRender = function (value) {
if (!arguments.length) return whichLinesToRender;
if ( _.difference(value, whichLinesToRender).length !== 0
|| _.difference(whichLinesToRender, value).length !== 0 ) { // contain the different things
my.reRenderTheNextTime(true);
}
whichLinesToRender = value;
return my;
};
my.strokeWidth = function (value) {
if (!arguments.length) return strokeWidth;
strokeWidth = value;
return my;
};
my.transitionNextTime = function (value) {
if (!arguments.length) return transitionNextTime;
transitionNextTime = value;
return my;
}
my.reRenderTheNextTime = function (value) {
if (!arguments.length) return reRenderTheNextTime;
reRenderTheNextTime = value;
return my;
}
my.xScale = function (value) {
if (!arguments.length) return xScale;
// if value is the same as xScale, don't modify previousXScale
if (!xScale) {
previousXScale = d3.scale.linear(); // now it's initialized.
previousLevelToRender = whichLevelToRender;
}else if (xScale && ( xScale.domain()[0] != value.domain()[0] || xScale.domain()[1] != value.domain()[1] )) {
previousXScale = xScale.copy();
previousLevelToRender = whichLevelToRender;
} // else, don't change previousXScale
xScale = value;
//my.reRenderTheNextTime(true);
return my;
}
my.yScale = function (value) {
if (!arguments.length) return yScale;
yScale = value;
//my.reRenderTheNextTime(true);
return my;
}
my.update = function (reRender) {
my.setSelectedLines();
my(slctn);
};
my.showTimeContext = function (show) {
if (!arguments.length) return showTimeContext;
showTimeContext = show;
margin.top = margin.top + (showTimeContext ? TIME_CONTEXT_VERTICAL_EACH : 0);
return my;
};
// TODO: make this independent of the actual HTML. Do it through bridgecharts.js instead
my.setSelectedLines = function () {
var a = [].map.call (document.querySelectorAll ("#render-lines input:checked"), function (checkbox) { return checkbox.value;} );
my.whichLinesToRender(a);
my.whichLevelToRender(goToLevel(xScale, milliSecondsPerSample));
var b = document.querySelector("#render-method input:checked").value;
if (b !== interpolationMethod) {
my.reRenderTheNextTime(true);
}
interpolationMethod = b;
return my;
};
// Getters and Setters }}}
return my;
};
/* vim: set foldmethod=marker: */
date value
1988-01-01 12681
1988-01-02 13264
1988-01-03 13953
1988-01-04 13921
1988-01-05 13932
1988-01-06 13157
1988-01-07 11159
1988-01-08 11631
1988-01-09 12045
1988-01-10 13160
1988-01-11 14240
1988-01-12 14302
1988-01-13 14353
1988-01-14 14451
1988-01-15 14496
1988-01-16 13041
1988-01-17 13337
1988-01-18 12396
1988-01-19 13721
1988-01-20 13745
1988-01-21 14170
1988-01-22 14570
1988-01-23 13059
1988-01-24 13858
1988-01-25 13947
1988-01-26 14188
1988-01-27 14493
1988-01-28 14445
1988-01-29 14589
1988-01-30 13125
1988-01-31 13766
1988-02-01 14083
1988-02-02 14175
1988-02-03 13931
1988-02-04 13677
1988-02-05 14039
1988-02-06 12703
1988-02-07 13584
1988-02-08 14281
1988-02-09 14432
1988-02-10 13875
1988-02-11 13188
1988-02-12 13403
1988-02-13 12862
1988-02-14 13446
1988-02-15 14315
1988-02-16 14471
1988-02-17 14646
1988-02-18 14412
1988-02-19 14319
1988-02-20 12963
1988-02-21 13789
1988-02-22 14512
1988-02-23 14521
1988-02-24 14634
1988-02-25 14692
1988-02-26 14705
1988-02-27 13105
1988-02-28 13824
1988-02-29 14669
1988-03-01 14520
1988-03-02 14451
1988-03-03 14357
1988-03-04 14361
1988-03-05 13054
1988-03-06 13889
1988-03-07 14587
1988-03-08 14638
1988-03-09 14489
1988-03-10 14425
1988-03-11 14460
1988-03-12 13075
1988-03-13 13670
1988-03-14 14634
1988-03-15 14582
1988-03-16 14571
1988-03-17 14493
1988-03-18 14529
1988-03-19 13229
1988-03-20 13813
1988-03-21 14628
1988-03-22 14680
1988-03-23 14561
1988-03-24 14307
1988-03-25 14435
1988-03-26 13150
1988-03-27 13874
1988-03-28 14657
1988-03-29 14571
1988-03-30 14734
1988-03-31 14533
1988-04-01 14570
1988-04-02 12883
1988-04-03 13893
1988-04-04 14680
1988-04-05 14779
1988-04-06 14430
1988-04-07 14650
1988-04-08 14626
1988-04-09 13326
1988-04-10 13935
1988-04-11 14609
1988-04-12 14760
1988-04-13 14596
1988-04-14 14495
1988-04-15 14528
1988-04-16 13098
1988-04-17 13629
1988-04-18 14317
1988-04-19 14278
1988-04-20 14343
1988-04-21 14315
1988-04-22 14328
1988-04-23 12743
1988-04-24 13694
1988-04-25 14461
1988-04-26 14408
1988-04-27 14443
1988-04-28 14519
1988-04-29 14510
1988-04-30 13065
1988-05-01 13620
1988-05-02 14265
1988-05-03 14400
1988-05-04 14452
1988-05-05 14352
1988-05-06 14425
1988-05-07 13111
1988-05-08 13550
1988-05-09 14227
1988-05-10 14451
1988-05-11 14463
1988-05-12 14498
1988-05-13 14550
1988-05-14 13103
1988-05-15 13703
1988-05-16 14257
1988-05-17 14322
1988-05-18 14367
1988-05-19 14316
1988-05-20 14345
1988-05-21 13115
1988-05-22 13694
1988-05-23 14312
1988-05-24 14237
1988-05-25 14430
1988-05-26 14543
1988-05-27 14607
1988-05-28 12474
1988-05-29 12229
1988-05-30 13811
1988-05-31 13060
1988-06-01 14430
1988-06-02 14441
1988-06-03 14610
1988-06-04 13296
1988-06-05 13885
1988-06-06 14572
1988-06-07 14678
1988-06-08 14520
1988-06-09 14463
1988-06-10 14559
1988-06-11 13414
1988-06-12 13969
1988-06-13 14687
1988-06-14 14624
1988-06-15 14586
1988-06-16 14534
1988-06-17 14561
1988-06-18 13391
1988-06-19 13971
1988-06-20 14616
1988-06-21 14650
1988-06-22 14529
1988-06-23 14592
1988-06-24 14738
1988-06-25 13462
1988-06-26 13932
1988-06-27 14716
1988-06-28 14579
1988-06-29 14567
1988-06-30 14524
1988-07-01 14579
1988-07-02 12791
1988-07-03 12110
1988-07-04 13479
1988-07-05 14584
1988-07-06 14627
1988-07-07 14620
1988-07-08 14585
1988-07-09 13460
1988-07-10 13897
1988-07-11 14646
1988-07-12 14559
1988-07-13 14710
1988-07-14 14572
1988-07-15 14639
1988-07-16 13355
1988-07-17 13775
1988-07-18 14491
1988-07-19 14640
1988-07-20 14431
1988-07-21 14444
1988-07-22 14487
1988-07-23 13432
1988-07-24 13977
1988-07-25 14604
1988-07-26 14092
1988-07-27 14424
1988-07-28 14519
1988-07-29 14545
1988-07-30 13355
1988-07-31 13939
1988-08-01 14535
1988-08-02 14459
1988-08-03 14532
1988-08-04 14448
1988-08-05 14325
1988-08-06 13338
1988-08-07 13981
1988-08-08 14466
1988-08-09 14520
1988-08-10 14475
1988-08-11 14494
1988-08-12 14571
1988-08-13 13385
1988-08-14 13985
1988-08-15 14616
1988-08-16 14715
1988-08-17 14509
1988-08-18 14282
1988-08-19 14498
1988-08-20 13379
1988-08-21 14052
1988-08-22 14746
1988-08-23 14626
1988-08-24 14670
1988-08-25 14672
1988-08-26 14650
1988-08-27 13507
1988-08-28 14020
1988-08-29 14593
1988-08-30 14652
1988-08-31 14590
1988-09-01 14556
1988-09-02 14530
1988-09-03 12314
1988-09-04 11712
1988-09-05 13559
1988-09-06 14466
1988-09-07 14622
1988-09-08 14638
1988-09-09 14588
1988-09-10 13172
1988-09-11 13755
1988-09-12 14333
1988-09-13 14565
1988-09-14 14475
1988-09-15 14509
1988-09-16 14209
1988-09-17 12952
1988-09-18 13577
1988-09-19 14253
1988-09-20 14510
1988-09-21 14619
1988-09-22 14479
1988-09-23 14512
1988-09-24 13087
1988-09-25 13805
1988-09-26 14630
1988-09-27 14531
1988-09-28 14567
1988-09-29 14298
1988-09-30 14214
1988-10-01 13097
1988-10-02 13757
1988-10-03 14573
1988-10-04 14543
1988-10-05 14509
1988-10-06 14646
1988-10-07 14617
1988-10-08 13148
1988-10-09 13743
1988-10-10 14533
1988-10-11 14507
1988-10-12 14610
1988-10-13 14570
1988-10-14 14562
1988-10-15 13183
1988-10-16 13818
1988-10-17 14054
1988-10-18 14415
1988-10-19 14603
1988-10-20 14421
1988-10-21 14407
1988-10-22 13135
1988-10-23 13780
1988-10-24 14511
1988-10-25 14573
1988-10-26 14522
1988-10-27 14482
1988-10-28 14393
1988-10-29 13186
1988-10-30 13806
1988-10-31 14660
1988-11-01 14438
1988-11-02 14512
1988-11-03 14552
1988-11-04 13877
1988-11-05 12702
1988-11-06 13683
1988-11-07 14626
1988-11-08 14595
1988-11-09 14439
1988-11-10 14389
1988-11-11 14501
1988-11-12 13052
1988-11-13 13674
1988-11-14 14634
1988-11-15 14208
1988-11-16 14281
1988-11-17 14465
1988-11-18 14450
1988-11-19 12846
1988-11-20 13365
1988-11-21 14459
1988-11-22 14507
1988-11-23 14644
1988-11-24 11448
1988-11-25 11132
1988-11-26 12401
1988-11-27 13797
1988-11-28 14541
1988-11-29 14615
1988-11-30 14511
1988-12-01 14444
1988-12-02 14608
1988-12-03 13131
1988-12-04 13859
1988-12-05 14697
1988-12-06 14666
1988-12-07 14570
1988-12-08 14482
1988-12-09 14459
1988-12-10 13160
1988-12-11 13652
1988-12-12 14407
1988-12-13 14333
1988-12-14 14415
1988-12-15 14300
1988-12-16 14386
1988-12-17 12951
1988-12-18 13705
1988-12-19 14462
1988-12-20 14336
1988-12-21 14455
1988-12-22 14393
1988-12-23 14459
1988-12-24 12496
1988-12-25 12661
1988-12-26 13425
1988-12-27 13706
1988-12-28 13865
1988-12-29 14213
1988-12-30 14303
1988-12-31 12826
1989-01-01 13040
1989-01-02 14007
1989-01-03 14112
1989-01-04 14275
1989-01-05 14356
1989-01-06 13401
1989-01-07 12519
1989-01-08 13058
1989-01-09 14285
1989-01-10 14364
1989-01-11 14125
1989-01-12 14118
1989-01-13 14365
1989-01-14 12895
1989-01-15 13489
1989-01-16 14527
1989-01-17 14555
1989-01-18 14484
1989-01-19 14394
1989-01-20 14295
1989-01-21 12932
1989-01-22 13711
1989-01-23 14656
1989-01-24 14611
1989-01-25 14117
1989-01-26 14319
1989-01-27 14530
1989-01-28 12629
1989-01-29 13611
1989-01-30 14568
1989-01-31 14634
1989-02-01 14106
1989-02-02 13882
1989-02-03 13394
1989-02-04 12045
1989-02-05 12347
1989-02-06 13515
1989-02-07 14265
1989-02-08 14327
1989-02-09 14223
1989-02-10 14422
1989-02-11 12870
1989-02-12 13673
1989-02-13 14170
1989-02-14 14445
1989-02-15 14284
1989-02-16 14449
1989-02-17 14203
1989-02-18 12474
1989-02-19 13446
1989-02-20 14058
1989-02-21 14058
1989-02-22 14419
1989-02-23 14376
1989-02-24 13955
1989-02-25 13123
1989-02-26 13687
1989-02-27 14466
1989-02-28 14388
1989-03-01 14189
1989-03-02 13895
1989-03-03 13847
1989-03-04 11110
1989-03-05 11889
1989-03-06 12252
1989-03-07 13099
1989-03-08 13193
1989-03-09 13571
1989-03-10 13705
1989-03-11 12519
1989-03-12 12995
1989-03-13 13722
1989-03-14 13511
1989-03-15 13725
1989-03-16 13767
1989-03-17 13595
1989-03-18 12160
1989-03-19 13065
1989-03-20 13566
1989-03-21 13708
1989-03-22 13781
1989-03-23 13772
1989-03-24 13798
1989-03-25 12458
1989-03-26 13122
1989-03-27 13828
1989-03-28 13626
1989-03-29 13750
1989-03-30 13609
1989-03-31 13496
1989-04-01 12357
1989-04-02 12889
1989-04-03 13558
1989-04-04 13404
1989-04-05 13681
1989-04-06 13712
1989-04-07 13816
1989-04-08 12411
1989-04-09 12906
1989-04-10 13907
1989-04-11 13923
1989-04-12 13891
1989-04-13 13864
1989-04-14 13815
1989-04-15 12511
1989-04-16 13063
1989-04-17 13852
1989-04-18 13824
1989-04-19 13845
1989-04-20 13848
1989-04-21 13931
1989-04-22 12659
1989-04-23 13077
1989-04-24 13851
1989-04-25 13846
1989-04-26 13880
1989-04-27 13889
1989-04-28 13752
1989-04-29 12515
1989-04-30 13041
1989-05-01 13640
1989-05-02 13700
1989-05-03 13599
1989-05-04 13611
1989-05-05 13684
1989-05-06 12362
1989-05-07 12955
1989-05-08 13814
1989-05-09 13728
1989-05-10 13524
1989-05-11 13689
1989-05-12 13691
1989-05-13 12450
1989-05-14 13076
1989-05-15 13651
1989-05-16 13403
1989-05-17 13597
1989-05-18 13529
1989-05-19 13577
1989-05-20 12427
1989-05-21 12948
1989-05-22 13762
1989-05-23 13748
1989-05-24 13622
1989-05-25 13640
1989-05-26 13579
1989-05-27 11901
1989-05-28 11992
1989-05-29 13354
1989-05-30 13792
1989-05-31 13592
1989-06-01 13321
1989-06-02 13761
1989-06-03 12546
1989-06-04 13102
1989-06-05 13842
1989-06-06 13748
1989-06-07 13566
1989-06-08 13631
1989-06-09 13682
1989-06-10 12778
1989-06-11 13171
1989-06-12 13588
1989-06-13 13451
1989-06-14 13553
1989-06-15 13585
1989-06-16 13697
1989-06-17 12686
1989-06-18 13179
1989-06-19 13726
1989-06-20 13664
1989-06-21 13769
1989-06-22 13429
1989-06-23 13552
1989-06-24 12540
1989-06-25 13198
1989-06-26 13428
1989-06-27 13491
1989-06-28 13610
1989-06-29 13557
1989-06-30 13720
1989-07-01 12436
1989-07-02 12268
1989-07-03 12299
1989-07-04 13107
1989-07-05 13757
1989-07-06 13653
1989-07-07 13922
1989-07-08 12815
1989-07-09 13273
1989-07-10 13808
1989-07-11 13535
1989-07-12 13663
1989-07-13 13824
1989-07-14 13853
1989-07-15 12886
1989-07-16 13330
1989-07-17 13837
1989-07-18 13710
1989-07-19 13676
1989-07-20 13515
1989-07-21 13598
1989-07-22 12741
1989-07-23 13162
1989-07-24 13859
1989-07-25 13646
1989-07-26 13490
1989-07-27 13315
1989-07-28 13591
1989-07-29 12671
1989-07-30 13168
1989-07-31 13805
1989-08-01 13621
1989-08-02 13859
1989-08-03 13843
1989-08-04 13772
1989-08-05 12788
1989-08-06 13126
1989-08-07 13930
1989-08-08 13937
1989-08-09 13959
1989-08-10 13920
1989-08-11 13676
1989-08-12 12786
1989-08-13 13321
1989-08-14 13767
1989-08-15 13731
1989-08-16 13771
1989-08-17 13738
1989-08-18 13987
1989-08-19 12889
1989-08-20 13279
1989-08-21 13832
1989-08-22 13676
1989-08-23 13926
1989-08-24 13847
1989-08-25 14014
1989-08-26 12953
1989-08-27 13355
1989-08-28 13879
1989-08-29 14059
1989-08-30 14108
1989-08-31 14044
1989-09-01 13797
1989-09-02 12313
1989-09-03 11898
1989-09-04 13537
1989-09-05 14292
1989-09-06 14084
1989-09-07 14219
1989-09-08 14198
1989-09-09 12884
1989-09-10 13536
1989-09-11 14266
1989-09-12 14232
1989-09-13 14130
1989-09-14 14049
1989-09-15 14088
1989-09-16 12877
1989-09-17 13393
1989-09-18 14056
1989-09-19 14136
1989-09-20 13884
1989-09-21 13656
1989-09-22 13041
1989-09-23 12294
1989-09-24 13185
1989-09-25 14163
1989-09-26 14194
1989-09-27 14196
1989-09-28 14221
1989-09-29 14187
1989-09-30 12867
1989-10-01 13342
1989-10-02 14306
1989-10-03 14329
1989-10-04 14335
1989-10-05 14364
1989-10-06 14362
1989-10-07 12989
1989-10-08 13619
1989-10-09 14339
1989-10-10 14314
1989-10-11 14392
1989-10-12 14365
1989-10-13 14404
1989-10-14 13079
1989-10-15 13486
1989-10-16 14159
1989-10-17 13917
1989-10-18 13700
1989-10-19 13927
1989-10-20 13911
1989-10-21 12811
1989-10-22 13555
1989-10-23 14317
1989-10-24 14414
1989-10-25 14421
1989-10-26 14504
1989-10-27 14408
1989-10-28 12859
1989-10-29 13508
1989-10-30 14180
1989-10-31 14307
1989-11-01 14372
1989-11-02 14479
1989-11-03 14312
1989-11-04 13009
1989-11-05 13681
1989-11-06 14401
1989-11-07 14062
1989-11-08 14227
1989-11-09 14361
1989-11-10 14400
1989-11-11 13029
1989-11-12 13602
1989-11-13 14455
1989-11-14 14450
1989-11-15 14108
1989-11-16 13733
1989-11-17 14384
1989-11-18 12955
1989-11-19 13608
1989-11-20 14423
1989-11-21 14200
1989-11-22 14303
1989-11-23 11380
1989-11-24 10956
1989-11-25 12331
1989-11-26 13728
1989-11-27 14149
1989-11-28 14223
1989-11-29 14476
1989-11-30 14527
1989-12-01 14417
1989-12-02 12973
1989-12-03 13528
1989-12-04 14389
1989-12-05 14308
1989-12-06 14296
1989-12-07 14246
1989-12-08 13507
1989-12-09 12068
1989-12-10 13136
1989-12-11 14109
1989-12-12 14127
1989-12-13 14301
1989-12-14 14185
1989-12-15 13788
1989-12-16 12550
1989-12-17 13321
1989-12-18 14166
1989-12-19 13920
1989-12-20 14094
1989-12-21 14054
1989-12-22 13930
1989-12-23 12322
1989-12-24 11950
1989-12-25 12676
1989-12-26 14022
1989-12-27 13997
1989-12-28 14181
1989-12-29 14125
1989-12-30 11814
1989-12-31 11708
1990-01-01 13717
1990-01-02 14460
1990-01-03 14475
1990-01-04 14403
1990-01-05 14461
1990-01-06 13102
1990-01-07 13725
1990-01-08 14343
1990-01-09 14065
1990-01-10 14289
1990-01-11 14340
1990-01-12 14494
1990-01-13 13161
1990-01-14 13848
1990-01-15 14551
1990-01-16 13461
1990-01-17 14155
1990-01-18 14236
1990-01-19 14117
1990-01-20 12692
1990-01-21 13339
1990-01-22 14527
1990-01-23 14602
1990-01-24 14607
1990-01-25 13598
1990-01-26 14346
1990-01-27 13156
1990-01-28 13721
1990-01-29 14285
1990-01-30 14396
1990-01-31 14482
1990-02-01 14275
1990-02-02 13771
1990-02-03 12598
1990-02-04 13405
1990-02-05 14532
1990-02-06 14484
1990-02-07 14431
1990-02-08 14514
1990-02-09 14386
1990-02-10 12850
1990-02-11 13713
1990-02-12 14522
1990-02-13 14329
1990-02-14 13437
1990-02-15 13217
1990-02-16 13567
1990-02-17 12746
1990-02-18 13648
1990-02-19 14541
1990-02-20 14454
1990-02-21 14423
1990-02-22 14159
1990-02-23 14114
1990-02-24 12242
1990-02-25 13446
1990-02-26 14459
1990-02-27 14478
1990-02-28 14463
1990-03-01 14521
1990-03-02 14523
1990-03-03 13119
1990-03-04 13905
1990-03-05 14529
1990-03-06 13946
1990-03-07 14510
1990-03-08 14454
1990-03-09 14394
1990-03-10 12620
1990-03-11 13045
1990-03-12 14298
1990-03-13 14304
1990-03-14 14450
1990-03-15 14539
1990-03-16 14412
1990-03-17 12990
1990-03-18 13688
1990-03-19 14686
1990-03-20 14654
1990-03-21 14795
1990-03-22 14694
1990-03-23 14569
1990-03-24 12946
1990-03-25 13890
1990-03-26 14732
1990-03-27 14802
1990-03-28 14624
1990-03-29 14411
1990-03-30 14351
1990-03-31 13120
1990-04-01 13724
1990-04-02 14575
1990-04-03 14615
1990-04-04 14761
1990-04-05 14660
1990-04-06 14613
1990-04-07 13231
1990-04-08 13909
1990-04-09 14802
1990-04-10 14591
1990-04-11 14742
1990-04-12 14786
1990-04-13 14796
1990-04-14 13320
1990-04-15 14002
1990-04-16 14683
1990-04-17 14725
1990-04-18 14789
1990-04-19 14784
1990-04-20 14662
1990-04-21 13321
1990-04-22 13879
1990-04-23 14762
1990-04-24 14833
1990-04-25 14706
1990-04-26 14649
1990-04-27 14767
1990-04-28 13162
1990-04-29 13830
1990-04-30 14757
1990-05-01 14759
1990-05-02 14629
1990-05-03 14579
1990-05-04 14659
1990-05-05 13198
1990-05-06 14032
1990-05-07 14927
1990-05-08 14901
1990-05-09 14679
1990-05-10 14547
1990-05-11 14711
1990-05-12 13288
1990-05-13 13977
1990-05-14 14714
1990-05-15 14693
1990-05-16 14568
1990-05-17 14381
1990-05-18 14666
1990-05-19 13276
1990-05-20 13903
1990-05-21 14780
1990-05-22 14724
1990-05-23 14835
1990-05-24 14786
1990-05-25 14689
1990-05-26 12679
1990-05-27 12518
1990-05-28 14224
1990-05-29 14732
1990-05-30 14899
1990-05-31 14799
1990-06-01 14760
1990-06-02 13436
1990-06-03 13924
1990-06-04 14944
1990-06-05 14840
1990-06-06 14656
1990-06-07 14747
1990-06-08 14701
1990-06-09 13584
1990-06-10 14118
1990-06-11 14965
1990-06-12 14990
1990-06-13 14876
1990-06-14 14776
1990-06-15 14793
1990-06-16 13635
1990-06-17 14188
1990-06-18 14596
1990-06-19 14615
1990-06-20 14819
1990-06-21 14789
1990-06-22 14782
1990-06-23 13552
1990-06-24 14145
1990-06-25 14961
1990-06-26 14829
1990-06-27 14723
1990-06-28 14752
1990-06-29 14667
1990-06-30 13555
1990-07-01 13982
1990-07-02 14611
1990-07-03 14589
1990-07-04 13957
1990-07-05 14633
1990-07-06 14780
1990-07-07 13771
1990-07-08 14280
1990-07-09 14749
1990-07-10 14931
1990-07-11 14969
1990-07-12 14822
1990-07-13 15010
1990-07-14 13692
1990-07-15 14065
1990-07-16 15032
1990-07-17 15077
1990-07-18 14852
1990-07-19 14713
1990-07-20 14655
1990-07-21 13677
1990-07-22 14185
1990-07-23 14881
1990-07-24 15134
1990-07-25 15036
1990-07-26 14961
1990-07-27 14995
1990-07-28 13784
1990-07-29 14135
1990-07-30 14980
1990-07-31 14894
1990-08-01 14994
1990-08-02 14941
1990-08-03 15040
1990-08-04 13787
1990-08-05 14162
1990-08-06 14939
1990-08-07 14955
1990-08-08 15034
1990-08-09 14936
1990-08-10 14900
1990-08-11 13630
1990-08-12 14113
1990-08-13 14830
1990-08-14 14856
1990-08-15 14835
1990-08-16 14899
1990-08-17 14874
1990-08-18 13706
1990-08-19 14076
1990-08-20 14820
1990-08-21 14885
1990-08-22 15002
1990-08-23 14948
1990-08-24 14883
1990-08-25 13619
1990-08-26 14303
1990-08-27 14978
1990-08-28 14885
1990-08-29 14915
1990-08-30 15036
1990-08-31 15034
1990-09-01 12872
1990-09-02 12506
1990-09-03 14450
1990-09-04 15082
1990-09-05 14894
1990-09-06 14831
1990-09-07 14604
1990-09-08 13561
1990-09-09 14039
1990-09-10 14828
1990-09-11 14902
1990-09-12 14937
1990-09-13 14594
1990-09-14 14333
1990-09-15 13330
1990-09-16 13997
1990-09-17 14951
1990-09-18 14943
1990-09-19 14985
1990-09-20 14948
1990-09-21 14864
1990-09-22 13446
1990-09-23 14097
1990-09-24 15073
1990-09-25 15088
1990-09-26 15008
1990-09-27 14698
1990-09-28 14840
1990-09-29 13442
1990-09-30 14078
1990-10-01 15052
1990-10-02 15066
1990-10-03 14966
1990-10-04 14984
1990-10-05 14896
1990-10-06 13570
1990-10-07 14066
1990-10-08 14796
1990-10-09 14798
1990-10-10 14760
1990-10-11 14784
1990-10-12 14790
1990-10-13 13372
1990-10-14 13934
1990-10-15 14928
1990-10-16 15010
1990-10-17 14801
1990-10-18 14707
1990-10-19 14828
1990-10-20 13504
1990-10-21 14005
1990-10-22 14814
1990-10-23 14865
1990-10-24 14976
1990-10-25 14953
1990-10-26 14866
1990-10-27 13336
1990-10-28 13895
1990-10-29 15006
1990-10-30 14994
1990-10-31 14785
1990-11-01 14889
1990-11-02 14828
1990-11-03 13200
1990-11-04 13826
1990-11-05 14657
1990-11-06 14709
1990-11-07 14736
1990-11-08 14627
1990-11-09 14680
1990-11-10 13005
1990-11-11 13878
1990-11-12 14825
1990-11-13 14869
1990-11-14 14864
1990-11-15 14940
1990-11-16 14860
1990-11-17 13214
1990-11-18 13946
1990-11-19 14916
1990-11-20 14820
1990-11-21 14948
1990-11-22 11885
1990-11-23 10827
1990-11-24 12732
1990-11-25 14081
1990-11-26 14769
1990-11-27 14560
1990-11-28 14731
1990-11-29 14943
1990-11-30 14982
1990-12-01 13235
1990-12-02 13732
1990-12-03 13949
1990-12-04 14518
1990-12-05 14729
1990-12-06 14804
1990-12-07 14755
1990-12-08 13227
1990-12-09 13873
1990-12-10 14902
1990-12-11 14864
1990-12-12 14815
1990-12-13 14662
1990-12-14 14608
1990-12-15 12829
1990-12-16 13677
1990-12-17 14603
1990-12-18 14484
1990-12-19 14433
1990-12-20 14334
1990-12-21 13920
1990-12-22 12495
1990-12-23 12544
1990-12-24 12328
1990-12-25 12768
1990-12-26 14130
1990-12-27 13789
1990-12-28 13124
1990-12-29 11940
1990-12-30 11998
1990-12-31 12859
1991-01-01 13600
1991-01-02 13969
1991-01-03 13886
1991-01-04 13683
1991-01-05 11893
1991-01-06 12938
1991-01-07 13681
1991-01-08 13774
1991-01-09 13344
1991-01-10 13441
1991-01-11 12693
1991-01-12 11866
1991-01-13 13079
1991-01-14 14134
1991-01-15 13871
1991-01-16 13819
1991-01-17 13968
1991-01-18 13905
1991-01-19 12330
1991-01-20 13049
1991-01-21 13986
1991-01-22 14027
1991-01-23 14058
1991-01-24 13985
1991-01-25 14038
1991-01-26 12159
1991-01-27 13016
1991-01-28 13982
1991-01-29 13782
1991-01-30 13847
1991-01-31 14037
1991-02-01 14082
1991-02-02 12252
1991-02-03 13071
1991-02-04 14049
1991-02-05 13775
1991-02-06 13036
1991-02-07 13620
1991-02-08 13858
1991-02-09 12126
1991-02-10 13101
1991-02-11 14189
1991-02-12 14062
1991-02-13 14128
1991-02-14 13464
1991-02-15 13742
1991-02-16 12428
1991-02-17 13247
1991-02-18 13850
1991-02-19 13885
1991-02-20 14234
1991-02-21 14159
1991-02-22 14217
1991-02-23 12457
1991-02-24 13309
1991-02-25 14276
1991-02-26 14111
1991-02-27 14117
1991-02-28 14120
1991-03-01 13959
1991-03-02 12325
1991-03-03 13189
1991-03-04 13994
1991-03-05 14225
1991-03-06 14267
1991-03-07 14313
1991-03-08 14312
1991-03-09 12642
1991-03-10 13311
1991-03-11 14298
1991-03-12 13970
1991-03-13 13931
1991-03-14 14212
1991-03-15 14018
1991-03-16 12513
1991-03-17 13260
1991-03-18 14147
1991-03-19 14167
1991-03-20 14235
1991-03-21 13949
1991-03-22 14145
1991-03-23 12375
1991-03-24 13300
1991-03-25 14253
1991-03-26 14132
1991-03-27 13802
1991-03-28 14051
1991-03-29 14071
1991-03-30 12569
1991-03-31 13388
1991-04-01 14343
1991-04-02 14383
1991-04-03 14389
1991-04-04 14356
1991-04-05 14253
1991-04-06 12517
1991-04-07 13374
1991-04-08 14310
1991-04-09 14185
1991-04-10 14283
1991-04-11 14282
1991-04-12 14333
1991-04-13 12452
1991-04-14 13256
1991-04-15 14231
1991-04-16 14393
1991-04-17 14380
1991-04-18 14319
1991-04-19 14379
1991-04-20 12629
1991-04-21 13441
1991-04-22 14462
1991-04-23 14434
1991-04-24 14453
1991-04-25 14423
1991-04-26 14405
1991-04-27 12673
1991-04-28 13378
1991-04-29 14295
1991-04-30 14326
1991-05-01 14278
1991-05-02 14213
1991-05-03 14167
1991-05-04 12278
1991-05-05 13231
1991-05-06 14236
1991-05-07 14410
1991-05-08 14252
1991-05-09 14320
1991-05-10 14266
1991-05-11 12496
1991-05-12 13255
1991-05-13 14300
1991-05-14 14107
1991-05-15 14217
1991-05-16 14079
1991-05-17 14094
1991-05-18 12313
1991-05-19 13346
1991-05-20 14400
1991-05-21 14365
1991-05-22 14214
1991-05-23 14207
1991-05-24 14197
1991-05-25 11950
1991-05-26 12021
1991-05-27 13618
1991-05-28 14272
1991-05-29 14237
1991-05-30 14083
1991-05-31 14080
1991-06-01 12565
1991-06-02 13398
1991-06-03 14411
1991-06-04 14438
1991-06-05 14422
1991-06-06 14451
1991-06-07 14635
1991-06-08 12971
1991-06-09 13697
1991-06-10 14619
1991-06-11 14567
1991-06-12 14480
1991-06-13 14467
1991-06-14 14497
1991-06-15 12912
1991-06-16 13541
1991-06-17 14552
1991-06-18 14533
1991-06-19 14490
1991-06-20 14630
1991-06-21 14523
1991-06-22 12904
1991-06-23 13697
1991-06-24 14598
1991-06-25 14562
1991-06-26 14515
1991-06-27 14463
1991-06-28 14647
1991-06-29 13009
1991-06-30 13653
1991-07-01 14621
1991-07-02 14560
1991-07-03 14565
1991-07-04 12468
1991-07-05 12684
1991-07-06 12843
1991-07-07 13620
1991-07-08 14564
1991-07-09 14664
1991-07-10 14652
1991-07-11 14732
1991-07-12 14746
1991-07-13 13033
1991-07-14 13842
1991-07-15 14790
1991-07-16 14680
1991-07-17 14629
1991-07-18 14736
1991-07-19 14686
1991-07-20 13017
1991-07-21 13673
1991-07-22 14640
1991-07-23 14362
1991-07-24 14462
1991-07-25 14525
1991-07-26 14505
1991-07-27 12971
1991-07-28 13720
1991-07-29 14613
1991-07-30 14671
1991-07-31 14690
1991-08-01 14531
1991-08-02 14607
1991-08-03 13030
1991-08-04 13701
1991-08-05 14730
1991-08-06 14775
1991-08-07 14663
1991-08-08 14434
1991-08-09 14595
1991-08-10 13057
1991-08-11 13761
1991-08-12 14727
1991-08-13 14636
1991-08-14 14612
1991-08-15 14635
1991-08-16 14531
1991-08-17 12942
1991-08-18 13680
1991-08-19 13954
1991-08-20 14328
1991-08-21 14566
1991-08-22 14687
1991-08-23 14678
1991-08-24 13044
1991-08-25 13677
1991-08-26 14622
1991-08-27 14592
1991-08-28 14586
1991-08-29 14590
1991-08-30 14460
1991-08-31 11943
1991-09-01 11355
1991-09-02 13943
1991-09-03 14487
1991-09-04 14449
1991-09-05 14405
1991-09-06 14474
1991-09-07 12493
1991-09-08 13368
1991-09-09 14441
1991-09-10 14476
1991-09-11 14429
1991-09-12 14402
1991-09-13 14427
1991-09-14 12406
1991-09-15 13305
1991-09-16 14416
1991-09-17 13857
1991-09-18 14043
1991-09-19 14136
1991-09-20 14304
1991-09-21 12452
1991-09-22 13417
1991-09-23 14427
1991-09-24 14425
1991-09-25 14281
1991-09-26 14378
1991-09-27 14362
1991-09-28 12456
1991-09-29 13353
1991-09-30 14425
1991-10-01 14287
1991-10-02 14292
1991-10-03 14337
1991-10-04 14019
1991-10-05 12234
1991-10-06 13321
1991-10-07 14384
1991-10-08 14355
1991-10-09 14305
1991-10-10 14345
1991-10-11 14324
1991-10-12 12472
1991-10-13 13383
1991-10-14 14370
1991-10-15 14312
1991-10-16 14414
1991-10-17 14337
1991-10-18 14270
1991-10-19 12430
1991-10-20 13288
1991-10-21 14477
1991-10-22 14405
1991-10-23 14255
1991-10-24 14069
1991-10-25 14130
1991-10-26 12103
1991-10-27 12928
1991-10-28 13930
1991-10-29 14029
1991-10-30 14027
1991-10-31 14022
1991-11-01 13293
1991-11-02 11862
1991-11-03 13013
1991-11-04 14090
1991-11-05 14059
1991-11-06 13998
1991-11-07 13806
1991-11-08 13994
1991-11-09 12193
1991-11-10 13098
1991-11-11 14112
1991-11-12 14140
1991-11-13 14189
1991-11-14 14011
1991-11-15 13953
1991-11-16 12073
1991-11-17 13085
1991-11-18 14110
1991-11-19 14072
1991-11-20 14248
1991-11-21 14169
1991-11-22 13997
1991-11-23 12152
1991-11-24 13203
1991-11-25 14177
1991-11-26 14015
1991-11-27 14184
1991-11-28 10696
1991-11-29 9901
1991-11-30 11353
1991-12-01 13008
1991-12-02 13601
1991-12-03 13498
1991-12-04 13875
1991-12-05 13862
1991-12-06 13967
1991-12-07 12198
1991-12-08 13130
1991-12-09 14149
1991-12-10 13969
1991-12-11 14006
1991-12-12 13977
1991-12-13 14052
1991-12-14 12023
1991-12-15 13106
1991-12-16 14054
1991-12-17 14083
1991-12-18 14056
1991-12-19 13966
1991-12-20 13952
1991-12-21 12492
1991-12-22 13135
1991-12-23 13933
1991-12-24 12410
1991-12-25 12491
1991-12-26 13546
1991-12-27 13835
1991-12-28 12308
1991-12-29 13033
1991-12-30 13973
1991-12-31 12888
1992-01-01 13227
1992-01-02 13420
1992-01-03 13503
1992-01-04 12251
1992-01-05 13232
1992-01-06 14046
1992-01-07 13369
1992-01-08 13955
1992-01-09 14151
1992-01-10 14141
1992-01-11 12325
1992-01-12 13179
1992-01-13 13942
1992-01-14 13400
1992-01-15 13606
1992-01-16 13778
1992-01-17 13961
1992-01-18 11715
1992-01-19 12899
1992-01-20 14065
1992-01-21 14113
1992-01-22 14140
1992-01-23 13636
1992-01-24 13938
1992-01-25 12018
1992-01-26 13172
1992-01-27 14087
1992-01-28 13961
1992-01-29 13891
1992-01-30 13920
1992-01-31 14115
1992-02-01 12225
1992-02-02 13268
1992-02-03 14186
1992-02-04 14174
1992-02-05 14104
1992-02-06 14052
1992-02-07 14135
1992-02-08 12194
1992-02-09 13151
1992-02-10 14073
1992-02-11 14012
1992-02-12 13788
1992-02-13 13528
1992-02-14 13717
1992-02-15 12017
1992-02-16 12930
1992-02-17 13952
1992-02-18 13514
1992-02-19 13814
1992-02-20 14155
1992-02-21 14155
1992-02-22 12290
1992-02-23 13195
1992-02-24 14091
1992-02-25 13987
1992-02-26 14169
1992-02-27 14164
1992-02-28 14134
1992-02-29 12124
1992-03-01 13186
1992-03-02 13956
1992-03-03 13772
1992-03-04 14011
1992-03-05 14078
1992-03-06 13757
1992-03-07 12163
1992-03-08 12896
1992-03-09 13741
1992-03-10 13499
1992-03-11 13872
1992-03-12 14032
1992-03-13 14143
1992-03-14 12310
1992-03-15 13186
1992-03-16 14161
1992-03-17 14140
1992-03-18 14072
1992-03-19 13762
1992-03-20 14098
1992-03-21 11831
1992-03-22 12620
1992-03-23 13950
1992-03-24 14092
1992-03-25 14090
1992-03-26 13940
1992-03-27 14018
1992-03-28 12324
1992-03-29 13286
1992-03-30 14178
1992-03-31 14221
1992-04-01 14084
1992-04-02 14201
1992-04-03 14181
1992-04-04 12316
1992-04-05 13291
1992-04-06 14258
1992-04-07 14235
1992-04-08 14220
1992-04-09 14184
1992-04-10 14174
1992-04-11 12327
1992-04-12 13310
1992-04-13 14190
1992-04-14 14266
1992-04-15 14115
1992-04-16 14115
1992-04-17 14115
1992-04-18 12267
1992-04-19 13124
1992-04-20 14181
1992-04-21 14134
1992-04-22 14235
1992-04-23 14045
1992-04-24 14107
1992-04-25 12287
1992-04-26 13294
1992-04-27 14262
1992-04-28 14315
1992-04-29 14314
1992-04-30 13970
1992-05-01 13917
1992-05-02 12254
1992-05-03 13312
1992-05-04 14278
1992-05-05 14250
1992-05-06 14265
1992-05-07 14132
1992-05-08 14172
1992-05-09 12412
1992-05-10 13361
1992-05-11 14322
1992-05-12 14285
1992-05-13 14203
1992-05-14 14031
1992-05-15 14111
1992-05-16 12407
1992-05-17 13148
1992-05-18 14212
1992-05-19 14197
1992-05-20 14195
1992-05-21 14215
1992-05-22 14148
1992-05-23 11703
1992-05-24 11748
1992-05-25 13609
1992-05-26 14289
1992-05-27 14258
1992-05-28 14186
1992-05-29 14306
1992-05-30 12433
1992-05-31 13251
1992-06-01 14271
1992-06-02 14398
1992-06-03 14269
1992-06-04 14380
1992-06-05 14352
1992-06-06 12939
1992-06-07 13558
1992-06-08 14433
1992-06-09 14398
1992-06-10 14535
1992-06-11 14483
1992-06-12 14537
1992-06-13 13093
1992-06-14 13596
1992-06-15 14520
1992-06-16 14521
1992-06-17 14138
1992-06-18 14285
1992-06-19 14376
1992-06-20 13029
1992-06-21 13698
1992-06-22 14542
1992-06-23 14548
1992-06-24 14379
1992-06-25 14417
1992-06-26 14396
1992-06-27 13002
1992-06-28 13609
1992-06-29 14548
1992-06-30 14461
1992-07-01 14372
1992-07-02 14023
1992-07-03 13478
1992-07-04 11985
1992-07-05 13714
1992-07-06 14599
1992-07-07 14498
1992-07-08 14543
1992-07-09 14460
1992-07-10 14422
1992-07-11 13210
1992-07-12 13726
1992-07-13 14363
1992-07-14 14303
1992-07-15 14256
1992-07-16 14391
1992-07-17 14390
1992-07-18 13188
1992-07-19 13767
1992-07-20 14522
1992-07-21 14501
1992-07-22 14525
1992-07-23 14385
1992-07-24 14450
1992-07-25 13201
1992-07-26 13838
1992-07-27 14540
1992-07-28 14678
1992-07-29 14512
1992-07-30 14507
1992-07-31 14230
1992-08-01 13146
1992-08-02 13732
1992-08-03 14484
1992-08-04 14546
1992-08-05 14565
1992-08-06 14494
1992-08-07 14619
1992-08-08 13286
1992-08-09 13747
1992-08-10 14413
1992-08-11 14114
1992-08-12 14422
1992-08-13 14357
1992-08-14 14373
1992-08-15 13230
1992-08-16 13769
1992-08-17 14354
1992-08-18 14545
1992-08-19 14461
1992-08-20 14534
1992-08-21 14584
1992-08-22 13269
1992-08-23 13662
1992-08-24 13991
1992-08-25 14214
1992-08-26 14172
1992-08-27 14306
1992-08-28 14456
1992-08-29 13324
1992-08-30 13942
1992-08-31 14690
1992-09-01 14707
1992-09-02 14665
1992-09-03 14486
1992-09-04 14614
1992-09-05 12602
1992-09-06 12511
1992-09-07 14191
1992-09-08 14527
1992-09-09 14097
1992-09-10 13664
1992-09-11 14225
1992-09-12 13072
1992-09-13 13700
1992-09-14 14357
1992-09-15 14220
1992-09-16 14253
1992-09-17 14264
1992-09-18 14228
1992-09-19 12609
1992-09-20 13400
1992-09-21 14232
1992-09-22 14170
1992-09-23 14374
1992-09-24 14328
1992-09-25 14287
1992-09-26 12571
1992-09-27 13444
1992-09-28 14407
1992-09-29 14452
1992-09-30 14383
1992-10-01 14368
1992-10-02 14338
1992-10-03 12680
1992-10-04 13485
1992-10-05 13327
1992-10-06 13291
1992-10-07 13344
1992-10-08 13240
1992-10-09 13204
1992-10-10 12031
1992-10-11 12666
1992-10-12 14402
1992-10-13 14407
1992-10-14 14279
1992-10-15 14060
1992-10-16 14070
1992-10-17 12638
1992-10-18 13443
1992-10-19 14387
1992-10-20 14356
1992-10-21 14397
1992-10-22 14394
1992-10-23 14419
1992-10-24 12739
1992-10-25 13551
1992-10-26 14465
1992-10-27 14379
1992-10-28 14365
1992-10-29 14297
1992-10-30 14308
1992-10-31 12698
1992-11-01 13245
1992-11-02 14075
1992-11-03 14048
1992-11-04 14199
1992-11-05 14086
1992-11-06 14232
1992-11-07 12583
1992-11-08 13453
1992-11-09 14287
1992-11-10 14218
1992-11-11 14174
1992-11-12 13946
1992-11-13 14207
1992-11-14 12532
1992-11-15 13261
1992-11-16 14302
1992-11-17 14222
1992-11-18 14231
1992-11-19 14149
1992-11-20 13954
1992-11-21 12412
1992-11-22 12984
1992-11-23 13490
1992-11-24 13995
1992-11-25 14213
1992-11-26 10745
1992-11-27 10439
1992-11-28 12037
1992-11-29 13573
1992-11-30 14329
1992-12-01 14228
1992-12-02 14177
1992-12-03 14155
1992-12-04 14205
1992-12-05 12437
1992-12-06 13189
1992-12-07 14077
1992-12-08 14125
1992-12-09 13979
1992-12-10 13196
1992-12-11 12830
1992-12-12 11592
1992-12-13 13180
1992-12-14 14096
1992-12-15 13945
1992-12-16 14001
1992-12-17 13817
1992-12-18 14146
1992-12-19 12717
1992-12-20 13433
1992-12-21 14302
1992-12-22 14235
1992-12-23 14105
1992-12-24 13338
1992-12-25 11612
1992-12-26 12691
1992-12-27 13277
1992-12-28 13512
1992-12-29 13083
1992-12-30 13370
1992-12-31 12927
1993-01-01 12085
1993-01-02 12202
1993-01-03 13165
1993-01-04 13922
1993-01-05 13972
1993-01-06 14009
1993-01-07 13776
1993-01-08 13744
1993-01-09 12176
1993-01-10 12373
1993-01-11 13515
1993-01-12 13263
1993-01-13 13302
1993-01-14 13934
1993-01-15 13804
1993-01-16 12324
1993-01-17 13033
1993-01-18 13797
1993-01-19 13823
1993-01-20 13612
1993-01-21 13644
1993-01-22 13676
1993-01-23 12441
1993-01-24 13289
1993-01-25 14104
1993-01-26 14081
1993-01-27 14110
1993-01-28 14115
1993-01-29 13973
1993-01-30 12623
1993-01-31 13318
1993-02-01 14097
1993-02-02 14127
1993-02-03 14030
1993-02-04 13976
1993-02-05 14022
1993-02-06 12110
1993-02-07 13187
1993-02-08 14068
1993-02-09 14046
1993-02-10 13879
1993-02-11 13779
1993-02-12 13200
1993-02-13 12285
1993-02-14 13191
1993-02-15 13512
1993-02-16 13026
1993-02-17 13924
1993-02-18 13830
1993-02-19 13954
1993-02-20 12378
1993-02-21 12233
1993-02-22 13180
1993-02-23 13841
1993-02-24 13816
1993-02-25 13034
1993-02-26 13600
1993-02-27 12510
1993-02-28 13311
1993-03-01 14105
1993-03-02 13961
1993-03-03 14083
1993-03-04 13462
1993-03-05 13868
1993-03-06 12725
1993-03-07 13625
1993-03-08 14286
1993-03-09 14252
1993-03-10 13766
1993-03-11 13908
1993-03-12 14125
1993-03-13 7733
1993-03-14 9615
1993-03-15 13056
1993-03-16 13645
1993-03-17 13871
1993-03-18 13991
1993-03-19 13991
1993-03-20 12697
1993-03-21 13502
1993-03-22 14136
1993-03-23 14058
1993-03-24 13912
1993-03-25 13974
1993-03-26 13938
1993-03-27 12585
1993-03-28 13270
1993-03-29 14118
1993-03-30 14016
1993-03-31 13894
1993-04-01 13520
1993-04-02 14080
1993-04-03 12544
1993-04-04 13342
1993-04-05 14312
1993-04-06 14267
1993-04-07 14231
1993-04-08 14240
1993-04-09 14151
1993-04-10 12775
1993-04-11 13547
1993-04-12 14311
1993-04-13 14262
1993-04-14 14057
1993-04-15 14045
1993-04-16 14103
1993-04-17 12768
1993-04-18 13547
1993-04-19 14044
1993-04-20 14151
1993-04-21 14210
1993-04-22 14255
1993-04-23 14233
1993-04-24 12764
1993-04-25 13509
1993-04-26 14198
1993-04-27 14327
1993-04-28 14379
1993-04-29 14262
1993-04-30 14175
1993-05-01 12732
1993-05-02 13344
1993-05-03 14171
1993-05-04 14080
1993-05-05 14066
1993-05-06 14064
1993-05-07 14204
1993-05-08 12805
1993-05-09 13363
1993-05-10 14269
1993-05-11 14333
1993-05-12 14233
1993-05-13 14242
1993-05-14 14339
1993-05-15 12832
1993-05-16 13494
1993-05-17 14295
1993-05-18 14293
1993-05-19 14252
1993-05-20 14323
1993-05-21 14365
1993-05-22 12851
1993-05-23 13487
1993-05-24 14305
1993-05-25 14322
1993-05-26 14370
1993-05-27 14338
1993-05-28 14292
1993-05-29 12083
1993-05-30 12297
1993-05-31 13929
1993-06-01 14298
1993-06-02 14376
1993-06-03 14379
1993-06-04 14328
1993-06-05 12966
1993-06-06 13555
1993-06-07 14035
1993-06-08 13860
1993-06-09 13917
1993-06-10 14170
1993-06-11 14393
1993-06-12 13244
1993-06-13 13796
1993-06-14 14366
1993-06-15 14428
1993-06-16 14397
1993-06-17 14318
1993-06-18 14238
1993-06-19 13130
1993-06-20 13646
1993-06-21 14110
1993-06-22 14357
1993-06-23 14309
1993-06-24 14340
1993-06-25 14247
1993-06-26 13164
1993-06-27 13838
1993-06-28 14438
1993-06-29 14394
1993-06-30 14491
1993-07-01 14312
1993-07-02 14382
1993-07-03 12567
1993-07-04 11947
1993-07-05 13807
1993-07-06 14329
1993-07-07 14387
1993-07-08 14415
1993-07-09 14488
1993-07-10 13147
1993-07-11 13759
1993-07-12 14405
1993-07-13 14479
1993-07-14 14231
1993-07-15 14326
1993-07-16 14338
1993-07-17 13238
1993-07-18 13525
1993-07-19 14301
1993-07-20 14357
1993-07-21 14406
1993-07-22 14381
1993-07-23 14432
1993-07-24 13254
1993-07-25 13568
1993-07-26 14417
1993-07-27 14480
1993-07-28 14437
1993-07-29 14466
1993-07-30 14402
1993-07-31 13285
1993-08-01 13842
1993-08-02 14509
1993-08-03 14433
1993-08-04 14454
1993-08-05 14415
1993-08-06 14267
1993-08-07 13231
1993-08-08 13773
1993-08-09 14501
1993-08-10 14500
1993-08-11 14345
1993-08-12 14237
1993-08-13 14420
1993-08-14 13128
1993-08-15 13678
1993-08-16 14328
1993-08-17 14444
1993-08-18 14516
1993-08-19 14462
1993-08-20 14358
1993-08-21 13355
1993-08-22 13864
1993-08-23 14473
1993-08-24 14459
1993-08-25 14488
1993-08-26 14430
1993-08-27 14559
1993-08-28 13342
1993-08-29 13833
1993-08-30 14395
1993-08-31 14323
1993-09-01 14540
1993-09-02 14216
1993-09-03 14433
1993-09-04 12481
1993-09-05 11828
1993-09-06 13785
1993-09-07 14425
1993-09-08 14260
1993-09-09 14305
1993-09-10 14297
1993-09-11 12842
1993-09-12 13406
1993-09-13 13913
1993-09-14 14064
1993-09-15 14181
1993-09-16 14175
1993-09-17 14059
1993-09-18 12518
1993-09-19 13320
1993-09-20 14159
1993-09-21 14120
1993-09-22 14160
1993-09-23 14122
1993-09-24 14147
1993-09-25 12405
1993-09-26 13190
1993-09-27 13780
1993-09-28 14182
1993-09-29 14123
1993-09-30 14102
1993-10-01 14177
1993-10-02 12641
1993-10-03 13315
1993-10-04 14216
1993-10-05 14265
1993-10-06 14276
1993-10-07 14248
1993-10-08 14075
1993-10-09 12582
1993-10-10 13392
1993-10-11 14215
1993-10-12 14187
1993-10-13 14147
1993-10-14 14121
1993-10-15 14008
1993-10-16 12318
1993-10-17 13233
1993-10-18 14112
1993-10-19 13884
1993-10-20 13876
1993-10-21 14071
1993-10-22 14139
1993-10-23 12644
1993-10-24 13439
1993-10-25 14267
1993-10-26 14173
1993-10-27 14144
1993-10-28 14204
1993-10-29 13987
1993-10-30 12320
1993-10-31 13193
1993-11-01 14194
1993-11-02 14184
1993-11-03 14155
1993-11-04 14072
1993-11-05 13992
1993-11-06 12568
1993-11-07 13339
1993-11-08 14234
1993-11-09 14153
1993-11-10 14188
1993-11-11 14204
1993-11-12 14107
1993-11-13 12607
1993-11-14 12963
1993-11-15 14061
1993-11-16 13963
1993-11-17 13990
1993-11-18 13920
1993-11-19 13953
1993-11-20 12203
1993-11-21 12939
1993-11-22 13717
1993-11-23 13440
1993-11-24 13476
1993-11-25 10144
1993-11-26 9904
1993-11-27 12305
1993-11-28 13539
1993-11-29 14036
1993-11-30 14234
1993-12-01 14223
1993-12-02 14017
1993-12-03 13784
1993-12-04 12489
1993-12-05 13301
1993-12-06 14229
1993-12-07 14221
1993-12-08 14063
1993-12-09 14190
1993-12-10 14118
1993-12-11 12326
1993-12-12 13209
1993-12-13 14119
1993-12-14 13997
1993-12-15 14069
1993-12-16 14080
1993-12-17 14131
1993-12-18 12722
1993-12-19 13377
1993-12-20 14138
1993-12-21 13861
1993-12-22 13866
1993-12-23 14050
1993-12-24 12218
1993-12-25 11452
1993-12-26 13398
1993-12-27 13805
1993-12-28 13610
1993-12-29 13524
1993-12-30 13537
1993-12-31 12682
1994-01-01 12094
1994-01-02 13518
1994-01-03 13985
1994-01-04 11976
1994-01-05 13449
1994-01-06 13288
1994-01-07 12840
1994-01-08 11399
1994-01-09 13081
1994-01-10 13861
1994-01-11 13927
1994-01-12 13051
1994-01-13 13747
1994-01-14 13815
1994-01-15 12389
1994-01-16 12390
1994-01-17 11615
1994-01-18 12287
1994-01-19 12803
1994-01-20 13437
1994-01-21 13769
1994-01-22 12536
1994-01-23 13178
1994-01-24 13982
1994-01-25 13539
1994-01-26 13053
1994-01-27 12283
1994-01-28 13012
1994-01-29 11987
1994-01-30 12945
1994-01-31 14030
1994-02-01 13992
1994-02-02 14084
1994-02-03 14108
1994-02-04 14076
1994-02-05 12601
1994-02-06 13312
1994-02-07 13913
1994-02-08 11063
1994-02-09 11914
1994-02-10 12670
1994-02-11 10593
1994-02-12 11639
1994-02-13 12937
1994-02-14 14050
1994-02-15 14229
1994-02-16 14268
1994-02-17 14147
1994-02-18 14280
1994-02-19 12652
1994-02-20 13322
1994-02-21 13714
1994-02-22 13784
1994-02-23 12375
1994-02-24 13650
1994-02-25 12843
1994-02-26 12348
1994-02-27 13317
1994-02-28 14146
1994-03-01 13869
1994-03-02 13355
1994-03-03 13072
1994-03-04 14169
1994-03-05 12804
1994-03-06 13351
1994-03-07 13929
1994-03-08 13603
1994-03-09 13920
1994-03-10 14153
1994-03-11 14399
1994-03-12 12874
1994-03-13 13592
1994-03-14 14389
1994-03-15 14509
1994-03-16 14370
1994-03-17 14229
1994-03-18 14013
1994-03-19 12716
1994-03-20 13573
1994-03-21 14331
1994-03-22 14398
1994-03-23 14411
1994-03-24 14286
1994-03-25 14317
1994-03-26 12734
1994-03-27 13415
1994-03-28 14226
1994-03-29 14388
1994-03-30 14455
1994-03-31 14459
1994-04-01 14501
1994-04-02 12805
1994-04-03 13594
1994-04-04 14350
1994-04-05 14251
1994-04-06 14180
1994-04-07 14379
1994-04-08 14522
1994-04-09 12923
1994-04-10 13534
1994-04-11 14140
1994-04-12 14201
1994-04-13 14082
1994-04-14 14274
1994-04-15 14044
1994-04-16 12780
1994-04-17 13607
1994-04-18 14449
1994-04-19 14470
1994-04-20 14319
1994-04-21 14271
1994-04-22 14365
1994-04-23 12957
1994-04-24 13639
1994-04-25 14267
1994-04-26 14230
1994-04-27 14237
1994-04-28 14240
1994-04-29 14119
1994-04-30 12796
1994-05-01 13574
1994-05-02 14276
1994-05-03 14393
1994-05-04 14416
1994-05-05 14305
1994-05-06 14418
1994-05-07 12915
1994-05-08 13714
1994-05-09 14425
1994-05-10 14462
1994-05-11 14446
1994-05-12 14390
1994-05-13 14372
1994-05-14 12840
1994-05-15 13638
1994-05-16 14403
1994-05-17 14444
1994-05-18 14464
1994-05-19 14378
1994-05-20 14594
1994-05-21 13087
1994-05-22 13793
1994-05-23 14491
1994-05-24 14477
1994-05-25 14289
1994-05-26 14127
1994-05-27 14374
1994-05-28 12341
1994-05-29 12543
1994-05-30 13873
1994-05-31 14490
1994-06-01 14528
1994-06-02 14357
1994-06-03 14415
1994-06-04 13086
1994-06-05 13743
1994-06-06 14419
1994-06-07 14415
1994-06-08 14501
1994-06-09 14479
1994-06-10 14309
1994-06-11 13181
1994-06-12 13798
1994-06-13 14224
1994-06-14 14371
1994-06-15 14451
1994-06-16 14239
1994-06-17 14265
1994-06-18 13280
1994-06-19 13781
1994-06-20 14347
1994-06-21 14380
1994-06-22 14493
1994-06-23 14439
1994-06-24 14106
1994-06-25 13250
1994-06-26 13778
1994-06-27 14455
1994-06-28 14450
1994-06-29 14064
1994-06-30 14201
1994-07-01 14434
1994-07-02 13036
1994-07-03 12708
1994-07-04 13782
1994-07-05 14554
1994-07-06 14569
1994-07-07 14378
1994-07-08 14365
1994-07-09 13478
1994-07-10 14060
1994-07-11 14718
1994-07-12 14570
1994-07-13 14590
1994-07-14 14429
1994-07-15 14456
1994-07-16 13541
1994-07-17 14132
1994-07-18 14591
1994-07-19 14605
1994-07-20 14549
1994-07-21 14338
1994-07-22 14312
1994-07-23 13346
1994-07-24 13986
1994-07-25 14539
1994-07-26 14400
1994-07-27 14597
1994-07-28 14543
1994-07-29 14636
1994-07-30 13526
1994-07-31 14156
1994-08-01 14639
1994-08-02 14553
1994-08-03 14642
1994-08-04 14526
1994-08-05 14443
1994-08-06 13554
1994-08-07 14038
1994-08-08 14776
1994-08-09 14844
1994-08-10 14787
1994-08-11 14739
1994-08-12 14686
1994-08-13 13455
1994-08-14 13906
1994-08-15 14648
1994-08-16 14670
1994-08-17 14688
1994-08-18 14730
1994-08-19 14635
1994-08-20 13561
1994-08-21 14035
1994-08-22 14701
1994-08-23 14794
1994-08-24 14841
1994-08-25 14811
1994-08-26 14809
1994-08-27 13669
1994-08-28 14212
1994-08-29 14908
1994-08-30 14823
1994-08-31 14536
1994-09-01 14661
1994-09-02 14717
1994-09-03 12880
1994-09-04 12607
1994-09-05 14072
1994-09-06 14798
1994-09-07 14860
1994-09-08 14653
1994-09-09 14657
1994-09-10 13401
1994-09-11 13999
1994-09-12 14685
1994-09-13 14740
1994-09-14 14566
1994-09-15 14636
1994-09-16 14660
1994-09-17 13232
1994-09-18 13849
1994-09-19 14659
1994-09-20 14685
1994-09-21 14717
1994-09-22 14634
1994-09-23 14534
1994-09-24 13136
1994-09-25 13857
1994-09-26 14621
1994-09-27 14623
1994-09-28 14656
1994-09-29 14669
1994-09-30 14650
1994-10-01 13309
1994-10-02 13900
1994-10-03 14674
1994-10-04 14800
1994-10-05 14953
1994-10-06 14815
1994-10-07 14684
1994-10-08 13440
1994-10-09 14049
1994-10-10 14899
1994-10-11 14883
1994-10-12 14874
1994-10-13 14910
1994-10-14 14774
1994-10-15 13469
1994-10-16 14105
1994-10-17 14635
1994-10-18 14436
1994-10-19 14790
1994-10-20 14588
1994-10-21 14683
1994-10-22 13400
1994-10-23 14035
1994-10-24 14696
1994-10-25 14768
1994-10-26 14802
1994-10-27 14830
1994-10-28 14810
1994-10-29 13465
1994-10-30 14080
1994-10-31 14621
1994-11-01 14452
1994-11-02 14820
1994-11-03 14528
1994-11-04 14667
1994-11-05 13156
1994-11-06 14014
1994-11-07 14948
1994-11-08 14891
1994-11-09 14670
1994-11-10 14597
1994-11-11 14778
1994-11-12 13368
1994-11-13 14130
1994-11-14 14708
1994-11-15 14750
1994-11-16 14621
1994-11-17 14594
1994-11-18 14624
1994-11-19 13490
1994-11-20 14127
1994-11-21 14642
1994-11-22 14709
1994-11-23 14739
1994-11-24 11510
1994-11-25 11486
1994-11-26 13082
1994-11-27 13740
1994-11-28 14313
1994-11-29 14581
1994-11-30 14831
1994-12-01 14347
1994-12-02 14716
1994-12-03 13461
1994-12-04 14008
1994-12-05 14288
1994-12-06 13977
1994-12-07 14099
1994-12-08 14664
1994-12-09 14547
1994-12-10 13329
1994-12-11 14082
1994-12-12 14718
1994-12-13 14682
1994-12-14 14607
1994-12-15 14558
1994-12-16 14565
1994-12-17 13398
1994-12-18 14145
1994-12-19 14836
1994-12-20 14757
1994-12-21 14625
1994-12-22 14792
1994-12-23 14822
1994-12-24 12725
1994-12-25 12767
1994-12-26 14592
1994-12-27 14795
1994-12-28 14809
1994-12-29 14868
1994-12-30 14630
1994-12-31 12974
1995-01-01 14025
1995-01-02 15312
1995-01-03 15271
1995-01-04 15135
1995-01-05 15115
1995-01-06 14530
1995-01-07 13562
1995-01-08 14495
1995-01-09 14581
1995-01-10 14579
1995-01-11 13286
1995-01-12 13795
1995-01-13 14866
1995-01-14 13372
1995-01-15 14298
1995-01-16 14968
1995-01-17 15007
1995-01-18 14781
1995-01-19 14563
1995-01-20 14845
1995-01-21 13570
1995-01-22 14260
1995-01-23 14870
1995-01-24 14986
1995-01-25 14989
1995-01-26 15052
1995-01-27 14975
1995-01-28 13281
1995-01-29 14325
1995-01-30 15052
1995-01-31 14926
1995-02-01 15011
1995-02-02 15105
1995-02-03 14890
1995-02-04 11627
1995-02-05 13897
1995-02-06 14936
1995-02-07 14879
1995-02-08 15010
1995-02-09 15081
1995-02-10 15021
1995-02-11 13439
1995-02-12 14368
1995-02-13 14949
1995-02-14 14582
1995-02-15 14556
1995-02-16 15088
1995-02-17 15174
1995-02-18 13484
1995-02-19 14307
1995-02-20 15056
1995-02-21 15074
1995-02-22 15087
1995-02-23 15117
1995-02-24 15152
1995-02-25 13612
1995-02-26 14443
1995-02-27 14748
1995-02-28 14665
1995-03-01 14972
1995-03-02 14597
1995-03-03 14962
1995-03-04 13388
1995-03-05 14264
1995-03-06 14753
1995-03-07 14653
1995-03-08 14710
1995-03-09 14878
1995-03-10 15036
1995-03-11 13387
1995-03-12 14385
1995-03-13 14912
1995-03-14 14931
1995-03-15 14914
1995-03-16 14963
1995-03-17 15042
1995-03-18