admin
2025-02-25 30d8e227e8d823b6c38c3b9c90ac2df03b63befe
fanli/src/main/webapp/admin/new/js/Chart.bundle.js
@@ -8,712 +8,712 @@
 * https://github.com/chartjs/Chart.js/blob/master/LICENSE.md
 */
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Chart = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
/* MIT license */
var colorNames = require(5);
module.exports = {
   getRgba: getRgba,
   getHsla: getHsla,
   getRgb: getRgb,
   getHsl: getHsl,
   getHwb: getHwb,
   getAlpha: getAlpha,
   hexString: hexString,
   rgbString: rgbString,
   rgbaString: rgbaString,
   percentString: percentString,
   percentaString: percentaString,
   hslString: hslString,
   hslaString: hslaString,
   hwbString: hwbString,
   keyword: keyword
}
function getRgba(string) {
   if (!string) {
      return;
   }
   var abbr =  /^#([a-fA-F0-9]{3})$/,
       hex =  /^#([a-fA-F0-9]{6})$/,
       rgba = /^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/,
       per = /^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/,
       keyword = /(\w+)/;
   var rgb = [0, 0, 0],
       a = 1,
       match = string.match(abbr);
   if (match) {
      match = match[1];
      for (var i = 0; i < rgb.length; i++) {
         rgb[i] = parseInt(match[i] + match[i], 16);
      }
   }
   else if (match = string.match(hex)) {
      match = match[1];
      for (var i = 0; i < rgb.length; i++) {
         rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);
      }
   }
   else if (match = string.match(rgba)) {
      for (var i = 0; i < rgb.length; i++) {
         rgb[i] = parseInt(match[i + 1]);
      }
      a = parseFloat(match[4]);
   }
   else if (match = string.match(per)) {
      for (var i = 0; i < rgb.length; i++) {
         rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);
      }
      a = parseFloat(match[4]);
   }
   else if (match = string.match(keyword)) {
      if (match[1] == "transparent") {
         return [0, 0, 0, 0];
      }
      rgb = colorNames[match[1]];
      if (!rgb) {
         return;
      }
   }
   for (var i = 0; i < rgb.length; i++) {
      rgb[i] = scale(rgb[i], 0, 255);
   }
   if (!a && a != 0) {
      a = 1;
   }
   else {
      a = scale(a, 0, 1);
   }
   rgb[3] = a;
   return rgb;
}
function getHsla(string) {
   if (!string) {
      return;
   }
   var hsl = /^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/;
   var match = string.match(hsl);
   if (match) {
      var alpha = parseFloat(match[4]);
      var h = scale(parseInt(match[1]), 0, 360),
          s = scale(parseFloat(match[2]), 0, 100),
          l = scale(parseFloat(match[3]), 0, 100),
          a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);
      return [h, s, l, a];
   }
}
function getHwb(string) {
   if (!string) {
      return;
   }
   var hwb = /^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/;
   var match = string.match(hwb);
   if (match) {
    var alpha = parseFloat(match[4]);
      var h = scale(parseInt(match[1]), 0, 360),
          w = scale(parseFloat(match[2]), 0, 100),
          b = scale(parseFloat(match[3]), 0, 100),
          a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);
      return [h, w, b, a];
   }
}
function getRgb(string) {
   var rgba = getRgba(string);
   return rgba && rgba.slice(0, 3);
}
function getHsl(string) {
  var hsla = getHsla(string);
  return hsla && hsla.slice(0, 3);
}
function getAlpha(string) {
   var vals = getRgba(string);
   if (vals) {
      return vals[3];
   }
   else if (vals = getHsla(string)) {
      return vals[3];
   }
   else if (vals = getHwb(string)) {
      return vals[3];
   }
}
// generators
function hexString(rgb) {
   return "#" + hexDouble(rgb[0]) + hexDouble(rgb[1])
              + hexDouble(rgb[2]);
}
function rgbString(rgba, alpha) {
   if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {
      return rgbaString(rgba, alpha);
   }
   return "rgb(" + rgba[0] + ", " + rgba[1] + ", " + rgba[2] + ")";
}
function rgbaString(rgba, alpha) {
   if (alpha === undefined) {
      alpha = (rgba[3] !== undefined ? rgba[3] : 1);
   }
   return "rgba(" + rgba[0] + ", " + rgba[1] + ", " + rgba[2]
           + ", " + alpha + ")";
}
function percentString(rgba, alpha) {
   if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {
      return percentaString(rgba, alpha);
   }
   var r = Math.round(rgba[0]/255 * 100),
       g = Math.round(rgba[1]/255 * 100),
       b = Math.round(rgba[2]/255 * 100);
   return "rgb(" + r + "%, " + g + "%, " + b + "%)";
}
function percentaString(rgba, alpha) {
   var r = Math.round(rgba[0]/255 * 100),
       g = Math.round(rgba[1]/255 * 100),
       b = Math.round(rgba[2]/255 * 100);
   return "rgba(" + r + "%, " + g + "%, " + b + "%, " + (alpha || rgba[3] || 1) + ")";
}
function hslString(hsla, alpha) {
   if (alpha < 1 || (hsla[3] && hsla[3] < 1)) {
      return hslaString(hsla, alpha);
   }
   return "hsl(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%)";
}
function hslaString(hsla, alpha) {
   if (alpha === undefined) {
      alpha = (hsla[3] !== undefined ? hsla[3] : 1);
   }
   return "hsla(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%, "
           + alpha + ")";
}
// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax
// (hwb have alpha optional & 1 is default value)
function hwbString(hwb, alpha) {
   if (alpha === undefined) {
      alpha = (hwb[3] !== undefined ? hwb[3] : 1);
   }
   return "hwb(" + hwb[0] + ", " + hwb[1] + "%, " + hwb[2] + "%"
           + (alpha !== undefined && alpha !== 1 ? ", " + alpha : "") + ")";
}
function keyword(rgb) {
  return reverseNames[rgb.slice(0, 3)];
}
// helpers
function scale(num, min, max) {
   return Math.min(Math.max(min, num), max);
}
function hexDouble(num) {
  var str = num.toString(16).toUpperCase();
  return (str.length < 2) ? "0" + str : str;
}
//create a list of reverse color names
var reverseNames = {};
for (var name in colorNames) {
   reverseNames[colorNames[name]] = name;
}
/* MIT license */
var colorNames = require(5);
module.exports = {
   getRgba: getRgba,
   getHsla: getHsla,
   getRgb: getRgb,
   getHsl: getHsl,
   getHwb: getHwb,
   getAlpha: getAlpha,
   hexString: hexString,
   rgbString: rgbString,
   rgbaString: rgbaString,
   percentString: percentString,
   percentaString: percentaString,
   hslString: hslString,
   hslaString: hslaString,
   hwbString: hwbString,
   keyword: keyword
}
function getRgba(string) {
   if (!string) {
      return;
   }
   var abbr =  /^#([a-fA-F0-9]{3})$/,
       hex =  /^#([a-fA-F0-9]{6})$/,
       rgba = /^rgba?\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/,
       per = /^rgba?\(\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*,\s*([+-]?[\d\.]+)\%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)$/,
       keyword = /(\w+)/;
   var rgb = [0, 0, 0],
       a = 1,
       match = string.match(abbr);
   if (match) {
      match = match[1];
      for (var i = 0; i < rgb.length; i++) {
         rgb[i] = parseInt(match[i] + match[i], 16);
      }
   }
   else if (match = string.match(hex)) {
      match = match[1];
      for (var i = 0; i < rgb.length; i++) {
         rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);
      }
   }
   else if (match = string.match(rgba)) {
      for (var i = 0; i < rgb.length; i++) {
         rgb[i] = parseInt(match[i + 1]);
      }
      a = parseFloat(match[4]);
   }
   else if (match = string.match(per)) {
      for (var i = 0; i < rgb.length; i++) {
         rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);
      }
      a = parseFloat(match[4]);
   }
   else if (match = string.match(keyword)) {
      if (match[1] == "transparent") {
         return [0, 0, 0, 0];
      }
      rgb = colorNames[match[1]];
      if (!rgb) {
         return;
      }
   }
   for (var i = 0; i < rgb.length; i++) {
      rgb[i] = scale(rgb[i], 0, 255);
   }
   if (!a && a != 0) {
      a = 1;
   }
   else {
      a = scale(a, 0, 1);
   }
   rgb[3] = a;
   return rgb;
}
function getHsla(string) {
   if (!string) {
      return;
   }
   var hsl = /^hsla?\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/;
   var match = string.match(hsl);
   if (match) {
      var alpha = parseFloat(match[4]);
      var h = scale(parseInt(match[1]), 0, 360),
          s = scale(parseFloat(match[2]), 0, 100),
          l = scale(parseFloat(match[3]), 0, 100),
          a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);
      return [h, s, l, a];
   }
}
function getHwb(string) {
   if (!string) {
      return;
   }
   var hwb = /^hwb\(\s*([+-]?\d+)(?:deg)?\s*,\s*([+-]?[\d\.]+)%\s*,\s*([+-]?[\d\.]+)%\s*(?:,\s*([+-]?[\d\.]+)\s*)?\)/;
   var match = string.match(hwb);
   if (match) {
    var alpha = parseFloat(match[4]);
      var h = scale(parseInt(match[1]), 0, 360),
          w = scale(parseFloat(match[2]), 0, 100),
          b = scale(parseFloat(match[3]), 0, 100),
          a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);
      return [h, w, b, a];
   }
}
function getRgb(string) {
   var rgba = getRgba(string);
   return rgba && rgba.slice(0, 3);
}
function getHsl(string) {
  var hsla = getHsla(string);
  return hsla && hsla.slice(0, 3);
}
function getAlpha(string) {
   var vals = getRgba(string);
   if (vals) {
      return vals[3];
   }
   else if (vals = getHsla(string)) {
      return vals[3];
   }
   else if (vals = getHwb(string)) {
      return vals[3];
   }
}
// generators
function hexString(rgb) {
   return "#" + hexDouble(rgb[0]) + hexDouble(rgb[1])
              + hexDouble(rgb[2]);
}
function rgbString(rgba, alpha) {
   if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {
      return rgbaString(rgba, alpha);
   }
   return "rgb(" + rgba[0] + ", " + rgba[1] + ", " + rgba[2] + ")";
}
function rgbaString(rgba, alpha) {
   if (alpha === undefined) {
      alpha = (rgba[3] !== undefined ? rgba[3] : 1);
   }
   return "rgba(" + rgba[0] + ", " + rgba[1] + ", " + rgba[2]
           + ", " + alpha + ")";
}
function percentString(rgba, alpha) {
   if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {
      return percentaString(rgba, alpha);
   }
   var r = Math.round(rgba[0]/255 * 100),
       g = Math.round(rgba[1]/255 * 100),
       b = Math.round(rgba[2]/255 * 100);
   return "rgb(" + r + "%, " + g + "%, " + b + "%)";
}
function percentaString(rgba, alpha) {
   var r = Math.round(rgba[0]/255 * 100),
       g = Math.round(rgba[1]/255 * 100),
       b = Math.round(rgba[2]/255 * 100);
   return "rgba(" + r + "%, " + g + "%, " + b + "%, " + (alpha || rgba[3] || 1) + ")";
}
function hslString(hsla, alpha) {
   if (alpha < 1 || (hsla[3] && hsla[3] < 1)) {
      return hslaString(hsla, alpha);
   }
   return "hsl(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%)";
}
function hslaString(hsla, alpha) {
   if (alpha === undefined) {
      alpha = (hsla[3] !== undefined ? hsla[3] : 1);
   }
   return "hsla(" + hsla[0] + ", " + hsla[1] + "%, " + hsla[2] + "%, "
           + alpha + ")";
}
// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax
// (hwb have alpha optional & 1 is default value)
function hwbString(hwb, alpha) {
   if (alpha === undefined) {
      alpha = (hwb[3] !== undefined ? hwb[3] : 1);
   }
   return "hwb(" + hwb[0] + ", " + hwb[1] + "%, " + hwb[2] + "%"
           + (alpha !== undefined && alpha !== 1 ? ", " + alpha : "") + ")";
}
function keyword(rgb) {
  return reverseNames[rgb.slice(0, 3)];
}
// helpers
function scale(num, min, max) {
   return Math.min(Math.max(min, num), max);
}
function hexDouble(num) {
  var str = num.toString(16).toUpperCase();
  return (str.length < 2) ? "0" + str : str;
}
//create a list of reverse color names
var reverseNames = {};
for (var name in colorNames) {
   reverseNames[colorNames[name]] = name;
}
},{"5":5}],2:[function(require,module,exports){
/* MIT license */
var convert = require(4);
var string = require(1);
var Color = function (obj) {
   if (obj instanceof Color) {
      return obj;
   }
   if (!(this instanceof Color)) {
      return new Color(obj);
   }
   this.values = {
      rgb: [0, 0, 0],
      hsl: [0, 0, 0],
      hsv: [0, 0, 0],
      hwb: [0, 0, 0],
      cmyk: [0, 0, 0, 0],
      alpha: 1
   };
   // parse Color() argument
   var vals;
   if (typeof obj === 'string') {
      vals = string.getRgba(obj);
      if (vals) {
         this.setValues('rgb', vals);
      } else if (vals = string.getHsla(obj)) {
         this.setValues('hsl', vals);
      } else if (vals = string.getHwb(obj)) {
         this.setValues('hwb', vals);
      } else {
         throw new Error('Unable to parse color from string "' + obj + '"');
      }
   } else if (typeof obj === 'object') {
      vals = obj;
      if (vals.r !== undefined || vals.red !== undefined) {
         this.setValues('rgb', vals);
      } else if (vals.l !== undefined || vals.lightness !== undefined) {
         this.setValues('hsl', vals);
      } else if (vals.v !== undefined || vals.value !== undefined) {
         this.setValues('hsv', vals);
      } else if (vals.w !== undefined || vals.whiteness !== undefined) {
         this.setValues('hwb', vals);
      } else if (vals.c !== undefined || vals.cyan !== undefined) {
         this.setValues('cmyk', vals);
      } else {
         throw new Error('Unable to parse color from object ' + JSON.stringify(obj));
      }
   }
};
Color.prototype = {
   rgb: function () {
      return this.setSpace('rgb', arguments);
   },
   hsl: function () {
      return this.setSpace('hsl', arguments);
   },
   hsv: function () {
      return this.setSpace('hsv', arguments);
   },
   hwb: function () {
      return this.setSpace('hwb', arguments);
   },
   cmyk: function () {
      return this.setSpace('cmyk', arguments);
   },
   rgbArray: function () {
      return this.values.rgb;
   },
   hslArray: function () {
      return this.values.hsl;
   },
   hsvArray: function () {
      return this.values.hsv;
   },
   hwbArray: function () {
      var values = this.values;
      if (values.alpha !== 1) {
         return values.hwb.concat([values.alpha]);
      }
      return values.hwb;
   },
   cmykArray: function () {
      return this.values.cmyk;
   },
   rgbaArray: function () {
      var values = this.values;
      return values.rgb.concat([values.alpha]);
   },
   hslaArray: function () {
      var values = this.values;
      return values.hsl.concat([values.alpha]);
   },
   alpha: function (val) {
      if (val === undefined) {
         return this.values.alpha;
      }
      this.setValues('alpha', val);
      return this;
   },
   red: function (val) {
      return this.setChannel('rgb', 0, val);
   },
   green: function (val) {
      return this.setChannel('rgb', 1, val);
   },
   blue: function (val) {
      return this.setChannel('rgb', 2, val);
   },
   hue: function (val) {
      if (val) {
         val %= 360;
         val = val < 0 ? 360 + val : val;
      }
      return this.setChannel('hsl', 0, val);
   },
   saturation: function (val) {
      return this.setChannel('hsl', 1, val);
   },
   lightness: function (val) {
      return this.setChannel('hsl', 2, val);
   },
   saturationv: function (val) {
      return this.setChannel('hsv', 1, val);
   },
   whiteness: function (val) {
      return this.setChannel('hwb', 1, val);
   },
   blackness: function (val) {
      return this.setChannel('hwb', 2, val);
   },
   value: function (val) {
      return this.setChannel('hsv', 2, val);
   },
   cyan: function (val) {
      return this.setChannel('cmyk', 0, val);
   },
   magenta: function (val) {
      return this.setChannel('cmyk', 1, val);
   },
   yellow: function (val) {
      return this.setChannel('cmyk', 2, val);
   },
   black: function (val) {
      return this.setChannel('cmyk', 3, val);
   },
   hexString: function () {
      return string.hexString(this.values.rgb);
   },
   rgbString: function () {
      return string.rgbString(this.values.rgb, this.values.alpha);
   },
   rgbaString: function () {
      return string.rgbaString(this.values.rgb, this.values.alpha);
   },
   percentString: function () {
      return string.percentString(this.values.rgb, this.values.alpha);
   },
   hslString: function () {
      return string.hslString(this.values.hsl, this.values.alpha);
   },
   hslaString: function () {
      return string.hslaString(this.values.hsl, this.values.alpha);
   },
   hwbString: function () {
      return string.hwbString(this.values.hwb, this.values.alpha);
   },
   keyword: function () {
      return string.keyword(this.values.rgb, this.values.alpha);
   },
   rgbNumber: function () {
      var rgb = this.values.rgb;
      return (rgb[0] << 16) | (rgb[1] << 8) | rgb[2];
   },
   luminosity: function () {
      // http://www.w3.org/TR/WCAG20/#relativeluminancedef
      var rgb = this.values.rgb;
      var lum = [];
      for (var i = 0; i < rgb.length; i++) {
         var chan = rgb[i] / 255;
         lum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);
      }
      return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];
   },
   contrast: function (color2) {
      // http://www.w3.org/TR/WCAG20/#contrast-ratiodef
      var lum1 = this.luminosity();
      var lum2 = color2.luminosity();
      if (lum1 > lum2) {
         return (lum1 + 0.05) / (lum2 + 0.05);
      }
      return (lum2 + 0.05) / (lum1 + 0.05);
   },
   level: function (color2) {
      var contrastRatio = this.contrast(color2);
      if (contrastRatio >= 7.1) {
         return 'AAA';
      }
      return (contrastRatio >= 4.5) ? 'AA' : '';
   },
   dark: function () {
      // YIQ equation from http://24ways.org/2010/calculating-color-contrast
      var rgb = this.values.rgb;
      var yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;
      return yiq < 128;
   },
   light: function () {
      return !this.dark();
   },
   negate: function () {
      var rgb = [];
      for (var i = 0; i < 3; i++) {
         rgb[i] = 255 - this.values.rgb[i];
      }
      this.setValues('rgb', rgb);
      return this;
   },
   lighten: function (ratio) {
      var hsl = this.values.hsl;
      hsl[2] += hsl[2] * ratio;
      this.setValues('hsl', hsl);
      return this;
   },
   darken: function (ratio) {
      var hsl = this.values.hsl;
      hsl[2] -= hsl[2] * ratio;
      this.setValues('hsl', hsl);
      return this;
   },
   saturate: function (ratio) {
      var hsl = this.values.hsl;
      hsl[1] += hsl[1] * ratio;
      this.setValues('hsl', hsl);
      return this;
   },
   desaturate: function (ratio) {
      var hsl = this.values.hsl;
      hsl[1] -= hsl[1] * ratio;
      this.setValues('hsl', hsl);
      return this;
   },
   whiten: function (ratio) {
      var hwb = this.values.hwb;
      hwb[1] += hwb[1] * ratio;
      this.setValues('hwb', hwb);
      return this;
   },
   blacken: function (ratio) {
      var hwb = this.values.hwb;
      hwb[2] += hwb[2] * ratio;
      this.setValues('hwb', hwb);
      return this;
   },
   greyscale: function () {
      var rgb = this.values.rgb;
      // http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale
      var val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;
      this.setValues('rgb', [val, val, val]);
      return this;
   },
   clearer: function (ratio) {
      var alpha = this.values.alpha;
      this.setValues('alpha', alpha - (alpha * ratio));
      return this;
   },
   opaquer: function (ratio) {
      var alpha = this.values.alpha;
      this.setValues('alpha', alpha + (alpha * ratio));
      return this;
   },
   rotate: function (degrees) {
      var hsl = this.values.hsl;
      var hue = (hsl[0] + degrees) % 360;
      hsl[0] = hue < 0 ? 360 + hue : hue;
      this.setValues('hsl', hsl);
      return this;
   },
   /**
    * Ported from sass implementation in C
    * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209
    */
   mix: function (mixinColor, weight) {
      var color1 = this;
      var color2 = mixinColor;
      var p = weight === undefined ? 0.5 : weight;
      var w = 2 * p - 1;
      var a = color1.alpha() - color2.alpha();
      var w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;
      var w2 = 1 - w1;
      return this
         .rgb(
            w1 * color1.red() + w2 * color2.red(),
            w1 * color1.green() + w2 * color2.green(),
            w1 * color1.blue() + w2 * color2.blue()
         )
         .alpha(color1.alpha() * p + color2.alpha() * (1 - p));
   },
   toJSON: function () {
      return this.rgb();
   },
   clone: function () {
      // NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,
      // making the final build way to big to embed in Chart.js. So let's do it manually,
      // assuming that values to clone are 1 dimension arrays containing only numbers,
      // except 'alpha' which is a number.
      var result = new Color();
      var source = this.values;
      var target = result.values;
      var value, type;
      for (var prop in source) {
         if (source.hasOwnProperty(prop)) {
            value = source[prop];
            type = ({}).toString.call(value);
            if (type === '[object Array]') {
               target[prop] = value.slice(0);
            } else if (type === '[object Number]') {
               target[prop] = value;
            } else {
               console.error('unexpected color value:', value);
            }
         }
      }
      return result;
   }
};
Color.prototype.spaces = {
   rgb: ['red', 'green', 'blue'],
   hsl: ['hue', 'saturation', 'lightness'],
   hsv: ['hue', 'saturation', 'value'],
   hwb: ['hue', 'whiteness', 'blackness'],
   cmyk: ['cyan', 'magenta', 'yellow', 'black']
};
Color.prototype.maxes = {
   rgb: [255, 255, 255],
   hsl: [360, 100, 100],
   hsv: [360, 100, 100],
   hwb: [360, 100, 100],
   cmyk: [100, 100, 100, 100]
};
Color.prototype.getValues = function (space) {
   var values = this.values;
   var vals = {};
   for (var i = 0; i < space.length; i++) {
      vals[space.charAt(i)] = values[space][i];
   }
   if (values.alpha !== 1) {
      vals.a = values.alpha;
   }
   // {r: 255, g: 255, b: 255, a: 0.4}
   return vals;
};
Color.prototype.setValues = function (space, vals) {
   var values = this.values;
   var spaces = this.spaces;
   var maxes = this.maxes;
   var alpha = 1;
   var i;
   if (space === 'alpha') {
      alpha = vals;
   } else if (vals.length) {
      // [10, 10, 10]
      values[space] = vals.slice(0, space.length);
      alpha = vals[space.length];
   } else if (vals[space.charAt(0)] !== undefined) {
      // {r: 10, g: 10, b: 10}
      for (i = 0; i < space.length; i++) {
         values[space][i] = vals[space.charAt(i)];
      }
      alpha = vals.a;
   } else if (vals[spaces[space][0]] !== undefined) {
      // {red: 10, green: 10, blue: 10}
      var chans = spaces[space];
      for (i = 0; i < space.length; i++) {
         values[space][i] = vals[chans[i]];
      }
      alpha = vals.alpha;
   }
   values.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));
   if (space === 'alpha') {
      return false;
   }
   var capped;
   // cap values of the space prior converting all values
   for (i = 0; i < space.length; i++) {
      capped = Math.max(0, Math.min(maxes[space][i], values[space][i]));
      values[space][i] = Math.round(capped);
   }
   // convert to all the other color spaces
   for (var sname in spaces) {
      if (sname !== space) {
         values[sname] = convert[space][sname](values[space]);
      }
   }
   return true;
};
Color.prototype.setSpace = function (space, args) {
   var vals = args[0];
   if (vals === undefined) {
      // color.rgb()
      return this.getValues(space);
   }
   // color.rgb(10, 10, 10)
   if (typeof vals === 'number') {
      vals = Array.prototype.slice.call(args);
   }
   this.setValues(space, vals);
   return this;
};
Color.prototype.setChannel = function (space, index, val) {
   var svalues = this.values[space];
   if (val === undefined) {
      // color.red()
      return svalues[index];
   } else if (val === svalues[index]) {
      // color.red(color.red())
      return this;
   }
   // color.red(100)
   svalues[index] = val;
   this.setValues(space, svalues);
   return this;
};
if (typeof window !== 'undefined') {
   window.Color = Color;
}
module.exports = Color;
/* MIT license */
var convert = require(4);
var string = require(1);
var Color = function (obj) {
   if (obj instanceof Color) {
      return obj;
   }
   if (!(this instanceof Color)) {
      return new Color(obj);
   }
   this.values = {
      rgb: [0, 0, 0],
      hsl: [0, 0, 0],
      hsv: [0, 0, 0],
      hwb: [0, 0, 0],
      cmyk: [0, 0, 0, 0],
      alpha: 1
   };
   // parse Color() argument
   var vals;
   if (typeof obj === 'string') {
      vals = string.getRgba(obj);
      if (vals) {
         this.setValues('rgb', vals);
      } else if (vals = string.getHsla(obj)) {
         this.setValues('hsl', vals);
      } else if (vals = string.getHwb(obj)) {
         this.setValues('hwb', vals);
      } else {
         throw new Error('Unable to parse color from string "' + obj + '"');
      }
   } else if (typeof obj === 'object') {
      vals = obj;
      if (vals.r !== undefined || vals.red !== undefined) {
         this.setValues('rgb', vals);
      } else if (vals.l !== undefined || vals.lightness !== undefined) {
         this.setValues('hsl', vals);
      } else if (vals.v !== undefined || vals.value !== undefined) {
         this.setValues('hsv', vals);
      } else if (vals.w !== undefined || vals.whiteness !== undefined) {
         this.setValues('hwb', vals);
      } else if (vals.c !== undefined || vals.cyan !== undefined) {
         this.setValues('cmyk', vals);
      } else {
         throw new Error('Unable to parse color from object ' + JSON.stringify(obj));
      }
   }
};
Color.prototype = {
   rgb: function () {
      return this.setSpace('rgb', arguments);
   },
   hsl: function () {
      return this.setSpace('hsl', arguments);
   },
   hsv: function () {
      return this.setSpace('hsv', arguments);
   },
   hwb: function () {
      return this.setSpace('hwb', arguments);
   },
   cmyk: function () {
      return this.setSpace('cmyk', arguments);
   },
   rgbArray: function () {
      return this.values.rgb;
   },
   hslArray: function () {
      return this.values.hsl;
   },
   hsvArray: function () {
      return this.values.hsv;
   },
   hwbArray: function () {
      var values = this.values;
      if (values.alpha !== 1) {
         return values.hwb.concat([values.alpha]);
      }
      return values.hwb;
   },
   cmykArray: function () {
      return this.values.cmyk;
   },
   rgbaArray: function () {
      var values = this.values;
      return values.rgb.concat([values.alpha]);
   },
   hslaArray: function () {
      var values = this.values;
      return values.hsl.concat([values.alpha]);
   },
   alpha: function (val) {
      if (val === undefined) {
         return this.values.alpha;
      }
      this.setValues('alpha', val);
      return this;
   },
   red: function (val) {
      return this.setChannel('rgb', 0, val);
   },
   green: function (val) {
      return this.setChannel('rgb', 1, val);
   },
   blue: function (val) {
      return this.setChannel('rgb', 2, val);
   },
   hue: function (val) {
      if (val) {
         val %= 360;
         val = val < 0 ? 360 + val : val;
      }
      return this.setChannel('hsl', 0, val);
   },
   saturation: function (val) {
      return this.setChannel('hsl', 1, val);
   },
   lightness: function (val) {
      return this.setChannel('hsl', 2, val);
   },
   saturationv: function (val) {
      return this.setChannel('hsv', 1, val);
   },
   whiteness: function (val) {
      return this.setChannel('hwb', 1, val);
   },
   blackness: function (val) {
      return this.setChannel('hwb', 2, val);
   },
   value: function (val) {
      return this.setChannel('hsv', 2, val);
   },
   cyan: function (val) {
      return this.setChannel('cmyk', 0, val);
   },
   magenta: function (val) {
      return this.setChannel('cmyk', 1, val);
   },
   yellow: function (val) {
      return this.setChannel('cmyk', 2, val);
   },
   black: function (val) {
      return this.setChannel('cmyk', 3, val);
   },
   hexString: function () {
      return string.hexString(this.values.rgb);
   },
   rgbString: function () {
      return string.rgbString(this.values.rgb, this.values.alpha);
   },
   rgbaString: function () {
      return string.rgbaString(this.values.rgb, this.values.alpha);
   },
   percentString: function () {
      return string.percentString(this.values.rgb, this.values.alpha);
   },
   hslString: function () {
      return string.hslString(this.values.hsl, this.values.alpha);
   },
   hslaString: function () {
      return string.hslaString(this.values.hsl, this.values.alpha);
   },
   hwbString: function () {
      return string.hwbString(this.values.hwb, this.values.alpha);
   },
   keyword: function () {
      return string.keyword(this.values.rgb, this.values.alpha);
   },
   rgbNumber: function () {
      var rgb = this.values.rgb;
      return (rgb[0] << 16) | (rgb[1] << 8) | rgb[2];
   },
   luminosity: function () {
      // http://www.w3.org/TR/WCAG20/#relativeluminancedef
      var rgb = this.values.rgb;
      var lum = [];
      for (var i = 0; i < rgb.length; i++) {
         var chan = rgb[i] / 255;
         lum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);
      }
      return 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];
   },
   contrast: function (color2) {
      // http://www.w3.org/TR/WCAG20/#contrast-ratiodef
      var lum1 = this.luminosity();
      var lum2 = color2.luminosity();
      if (lum1 > lum2) {
         return (lum1 + 0.05) / (lum2 + 0.05);
      }
      return (lum2 + 0.05) / (lum1 + 0.05);
   },
   level: function (color2) {
      var contrastRatio = this.contrast(color2);
      if (contrastRatio >= 7.1) {
         return 'AAA';
      }
      return (contrastRatio >= 4.5) ? 'AA' : '';
   },
   dark: function () {
      // YIQ equation from http://24ways.org/2010/calculating-color-contrast
      var rgb = this.values.rgb;
      var yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;
      return yiq < 128;
   },
   light: function () {
      return !this.dark();
   },
   negate: function () {
      var rgb = [];
      for (var i = 0; i < 3; i++) {
         rgb[i] = 255 - this.values.rgb[i];
      }
      this.setValues('rgb', rgb);
      return this;
   },
   lighten: function (ratio) {
      var hsl = this.values.hsl;
      hsl[2] += hsl[2] * ratio;
      this.setValues('hsl', hsl);
      return this;
   },
   darken: function (ratio) {
      var hsl = this.values.hsl;
      hsl[2] -= hsl[2] * ratio;
      this.setValues('hsl', hsl);
      return this;
   },
   saturate: function (ratio) {
      var hsl = this.values.hsl;
      hsl[1] += hsl[1] * ratio;
      this.setValues('hsl', hsl);
      return this;
   },
   desaturate: function (ratio) {
      var hsl = this.values.hsl;
      hsl[1] -= hsl[1] * ratio;
      this.setValues('hsl', hsl);
      return this;
   },
   whiten: function (ratio) {
      var hwb = this.values.hwb;
      hwb[1] += hwb[1] * ratio;
      this.setValues('hwb', hwb);
      return this;
   },
   blacken: function (ratio) {
      var hwb = this.values.hwb;
      hwb[2] += hwb[2] * ratio;
      this.setValues('hwb', hwb);
      return this;
   },
   greyscale: function () {
      var rgb = this.values.rgb;
      // http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale
      var val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;
      this.setValues('rgb', [val, val, val]);
      return this;
   },
   clearer: function (ratio) {
      var alpha = this.values.alpha;
      this.setValues('alpha', alpha - (alpha * ratio));
      return this;
   },
   opaquer: function (ratio) {
      var alpha = this.values.alpha;
      this.setValues('alpha', alpha + (alpha * ratio));
      return this;
   },
   rotate: function (degrees) {
      var hsl = this.values.hsl;
      var hue = (hsl[0] + degrees) % 360;
      hsl[0] = hue < 0 ? 360 + hue : hue;
      this.setValues('hsl', hsl);
      return this;
   },
   /**
    * Ported from sass implementation in C
    * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209
    */
   mix: function (mixinColor, weight) {
      var color1 = this;
      var color2 = mixinColor;
      var p = weight === undefined ? 0.5 : weight;
      var w = 2 * p - 1;
      var a = color1.alpha() - color2.alpha();
      var w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;
      var w2 = 1 - w1;
      return this
         .rgb(
            w1 * color1.red() + w2 * color2.red(),
            w1 * color1.green() + w2 * color2.green(),
            w1 * color1.blue() + w2 * color2.blue()
         )
         .alpha(color1.alpha() * p + color2.alpha() * (1 - p));
   },
   toJSON: function () {
      return this.rgb();
   },
   clone: function () {
      // NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,
      // making the final build way to big to embed in Chart.js. So let's do it manually,
      // assuming that values to clone are 1 dimension arrays containing only numbers,
      // except 'alpha' which is a number.
      var result = new Color();
      var source = this.values;
      var target = result.values;
      var value, type;
      for (var prop in source) {
         if (source.hasOwnProperty(prop)) {
            value = source[prop];
            type = ({}).toString.call(value);
            if (type === '[object Array]') {
               target[prop] = value.slice(0);
            } else if (type === '[object Number]') {
               target[prop] = value;
            } else {
               console.error('unexpected color value:', value);
            }
         }
      }
      return result;
   }
};
Color.prototype.spaces = {
   rgb: ['red', 'green', 'blue'],
   hsl: ['hue', 'saturation', 'lightness'],
   hsv: ['hue', 'saturation', 'value'],
   hwb: ['hue', 'whiteness', 'blackness'],
   cmyk: ['cyan', 'magenta', 'yellow', 'black']
};
Color.prototype.maxes = {
   rgb: [255, 255, 255],
   hsl: [360, 100, 100],
   hsv: [360, 100, 100],
   hwb: [360, 100, 100],
   cmyk: [100, 100, 100, 100]
};
Color.prototype.getValues = function (space) {
   var values = this.values;
   var vals = {};
   for (var i = 0; i < space.length; i++) {
      vals[space.charAt(i)] = values[space][i];
   }
   if (values.alpha !== 1) {
      vals.a = values.alpha;
   }
   // {r: 255, g: 255, b: 255, a: 0.4}
   return vals;
};
Color.prototype.setValues = function (space, vals) {
   var values = this.values;
   var spaces = this.spaces;
   var maxes = this.maxes;
   var alpha = 1;
   var i;
   if (space === 'alpha') {
      alpha = vals;
   } else if (vals.length) {
      // [10, 10, 10]
      values[space] = vals.slice(0, space.length);
      alpha = vals[space.length];
   } else if (vals[space.charAt(0)] !== undefined) {
      // {r: 10, g: 10, b: 10}
      for (i = 0; i < space.length; i++) {
         values[space][i] = vals[space.charAt(i)];
      }
      alpha = vals.a;
   } else if (vals[spaces[space][0]] !== undefined) {
      // {red: 10, green: 10, blue: 10}
      var chans = spaces[space];
      for (i = 0; i < space.length; i++) {
         values[space][i] = vals[chans[i]];
      }
      alpha = vals.alpha;
   }
   values.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));
   if (space === 'alpha') {
      return false;
   }
   var capped;
   // cap values of the space prior converting all values
   for (i = 0; i < space.length; i++) {
      capped = Math.max(0, Math.min(maxes[space][i], values[space][i]));
      values[space][i] = Math.round(capped);
   }
   // convert to all the other color spaces
   for (var sname in spaces) {
      if (sname !== space) {
         values[sname] = convert[space][sname](values[space]);
      }
   }
   return true;
};
Color.prototype.setSpace = function (space, args) {
   var vals = args[0];
   if (vals === undefined) {
      // color.rgb()
      return this.getValues(space);
   }
   // color.rgb(10, 10, 10)
   if (typeof vals === 'number') {
      vals = Array.prototype.slice.call(args);
   }
   this.setValues(space, vals);
   return this;
};
Color.prototype.setChannel = function (space, index, val) {
   var svalues = this.values[space];
   if (val === undefined) {
      // color.red()
      return svalues[index];
   } else if (val === svalues[index]) {
      // color.red(color.red())
      return this;
   }
   // color.red(100)
   svalues[index] = val;
   this.setValues(space, svalues);
   return this;
};
if (typeof window !== 'undefined') {
   window.Color = Color;
}
module.exports = Color;
},{"1":1,"4":4}],3:[function(require,module,exports){
/* MIT license */
@@ -1509,155 +1509,155 @@
module.exports = convert;
},{"3":3}],5:[function(require,module,exports){
module.exports = {
   "aliceblue": [240, 248, 255],
   "antiquewhite": [250, 235, 215],
   "aqua": [0, 255, 255],
   "aquamarine": [127, 255, 212],
   "azure": [240, 255, 255],
   "beige": [245, 245, 220],
   "bisque": [255, 228, 196],
   "black": [0, 0, 0],
   "blanchedalmond": [255, 235, 205],
   "blue": [0, 0, 255],
   "blueviolet": [138, 43, 226],
   "brown": [165, 42, 42],
   "burlywood": [222, 184, 135],
   "cadetblue": [95, 158, 160],
   "chartreuse": [127, 255, 0],
   "chocolate": [210, 105, 30],
   "coral": [255, 127, 80],
   "cornflowerblue": [100, 149, 237],
   "cornsilk": [255, 248, 220],
   "crimson": [220, 20, 60],
   "cyan": [0, 255, 255],
   "darkblue": [0, 0, 139],
   "darkcyan": [0, 139, 139],
   "darkgoldenrod": [184, 134, 11],
   "darkgray": [169, 169, 169],
   "darkgreen": [0, 100, 0],
   "darkgrey": [169, 169, 169],
   "darkkhaki": [189, 183, 107],
   "darkmagenta": [139, 0, 139],
   "darkolivegreen": [85, 107, 47],
   "darkorange": [255, 140, 0],
   "darkorchid": [153, 50, 204],
   "darkred": [139, 0, 0],
   "darksalmon": [233, 150, 122],
   "darkseagreen": [143, 188, 143],
   "darkslateblue": [72, 61, 139],
   "darkslategray": [47, 79, 79],
   "darkslategrey": [47, 79, 79],
   "darkturquoise": [0, 206, 209],
   "darkviolet": [148, 0, 211],
   "deeppink": [255, 20, 147],
   "deepskyblue": [0, 191, 255],
   "dimgray": [105, 105, 105],
   "dimgrey": [105, 105, 105],
   "dodgerblue": [30, 144, 255],
   "firebrick": [178, 34, 34],
   "floralwhite": [255, 250, 240],
   "forestgreen": [34, 139, 34],
   "fuchsia": [255, 0, 255],
   "gainsboro": [220, 220, 220],
   "ghostwhite": [248, 248, 255],
   "gold": [255, 215, 0],
   "goldenrod": [218, 165, 32],
   "gray": [128, 128, 128],
   "green": [0, 128, 0],
   "greenyellow": [173, 255, 47],
   "grey": [128, 128, 128],
   "honeydew": [240, 255, 240],
   "hotpink": [255, 105, 180],
   "indianred": [205, 92, 92],
   "indigo": [75, 0, 130],
   "ivory": [255, 255, 240],
   "khaki": [240, 230, 140],
   "lavender": [230, 230, 250],
   "lavenderblush": [255, 240, 245],
   "lawngreen": [124, 252, 0],
   "lemonchiffon": [255, 250, 205],
   "lightblue": [173, 216, 230],
   "lightcoral": [240, 128, 128],
   "lightcyan": [224, 255, 255],
   "lightgoldenrodyellow": [250, 250, 210],
   "lightgray": [211, 211, 211],
   "lightgreen": [144, 238, 144],
   "lightgrey": [211, 211, 211],
   "lightpink": [255, 182, 193],
   "lightsalmon": [255, 160, 122],
   "lightseagreen": [32, 178, 170],
   "lightskyblue": [135, 206, 250],
   "lightslategray": [119, 136, 153],
   "lightslategrey": [119, 136, 153],
   "lightsteelblue": [176, 196, 222],
   "lightyellow": [255, 255, 224],
   "lime": [0, 255, 0],
   "limegreen": [50, 205, 50],
   "linen": [250, 240, 230],
   "magenta": [255, 0, 255],
   "maroon": [128, 0, 0],
   "mediumaquamarine": [102, 205, 170],
   "mediumblue": [0, 0, 205],
   "mediumorchid": [186, 85, 211],
   "mediumpurple": [147, 112, 219],
   "mediumseagreen": [60, 179, 113],
   "mediumslateblue": [123, 104, 238],
   "mediumspringgreen": [0, 250, 154],
   "mediumturquoise": [72, 209, 204],
   "mediumvioletred": [199, 21, 133],
   "midnightblue": [25, 25, 112],
   "mintcream": [245, 255, 250],
   "mistyrose": [255, 228, 225],
   "moccasin": [255, 228, 181],
   "navajowhite": [255, 222, 173],
   "navy": [0, 0, 128],
   "oldlace": [253, 245, 230],
   "olive": [128, 128, 0],
   "olivedrab": [107, 142, 35],
   "orange": [255, 165, 0],
   "orangered": [255, 69, 0],
   "orchid": [218, 112, 214],
   "palegoldenrod": [238, 232, 170],
   "palegreen": [152, 251, 152],
   "paleturquoise": [175, 238, 238],
   "palevioletred": [219, 112, 147],
   "papayawhip": [255, 239, 213],
   "peachpuff": [255, 218, 185],
   "peru": [205, 133, 63],
   "pink": [255, 192, 203],
   "plum": [221, 160, 221],
   "powderblue": [176, 224, 230],
   "purple": [128, 0, 128],
   "rebeccapurple": [102, 51, 153],
   "red": [255, 0, 0],
   "rosybrown": [188, 143, 143],
   "royalblue": [65, 105, 225],
   "saddlebrown": [139, 69, 19],
   "salmon": [250, 128, 114],
   "sandybrown": [244, 164, 96],
   "seagreen": [46, 139, 87],
   "seashell": [255, 245, 238],
   "sienna": [160, 82, 45],
   "silver": [192, 192, 192],
   "skyblue": [135, 206, 235],
   "slateblue": [106, 90, 205],
   "slategray": [112, 128, 144],
   "slategrey": [112, 128, 144],
   "snow": [255, 250, 250],
   "springgreen": [0, 255, 127],
   "steelblue": [70, 130, 180],
   "tan": [210, 180, 140],
   "teal": [0, 128, 128],
   "thistle": [216, 191, 216],
   "tomato": [255, 99, 71],
   "turquoise": [64, 224, 208],
   "violet": [238, 130, 238],
   "wheat": [245, 222, 179],
   "white": [255, 255, 255],
   "whitesmoke": [245, 245, 245],
   "yellow": [255, 255, 0],
   "yellowgreen": [154, 205, 50]
module.exports = {
   "aliceblue": [240, 248, 255],
   "antiquewhite": [250, 235, 215],
   "aqua": [0, 255, 255],
   "aquamarine": [127, 255, 212],
   "azure": [240, 255, 255],
   "beige": [245, 245, 220],
   "bisque": [255, 228, 196],
   "black": [0, 0, 0],
   "blanchedalmond": [255, 235, 205],
   "blue": [0, 0, 255],
   "blueviolet": [138, 43, 226],
   "brown": [165, 42, 42],
   "burlywood": [222, 184, 135],
   "cadetblue": [95, 158, 160],
   "chartreuse": [127, 255, 0],
   "chocolate": [210, 105, 30],
   "coral": [255, 127, 80],
   "cornflowerblue": [100, 149, 237],
   "cornsilk": [255, 248, 220],
   "crimson": [220, 20, 60],
   "cyan": [0, 255, 255],
   "darkblue": [0, 0, 139],
   "darkcyan": [0, 139, 139],
   "darkgoldenrod": [184, 134, 11],
   "darkgray": [169, 169, 169],
   "darkgreen": [0, 100, 0],
   "darkgrey": [169, 169, 169],
   "darkkhaki": [189, 183, 107],
   "darkmagenta": [139, 0, 139],
   "darkolivegreen": [85, 107, 47],
   "darkorange": [255, 140, 0],
   "darkorchid": [153, 50, 204],
   "darkred": [139, 0, 0],
   "darksalmon": [233, 150, 122],
   "darkseagreen": [143, 188, 143],
   "darkslateblue": [72, 61, 139],
   "darkslategray": [47, 79, 79],
   "darkslategrey": [47, 79, 79],
   "darkturquoise": [0, 206, 209],
   "darkviolet": [148, 0, 211],
   "deeppink": [255, 20, 147],
   "deepskyblue": [0, 191, 255],
   "dimgray": [105, 105, 105],
   "dimgrey": [105, 105, 105],
   "dodgerblue": [30, 144, 255],
   "firebrick": [178, 34, 34],
   "floralwhite": [255, 250, 240],
   "forestgreen": [34, 139, 34],
   "fuchsia": [255, 0, 255],
   "gainsboro": [220, 220, 220],
   "ghostwhite": [248, 248, 255],
   "gold": [255, 215, 0],
   "goldenrod": [218, 165, 32],
   "gray": [128, 128, 128],
   "green": [0, 128, 0],
   "greenyellow": [173, 255, 47],
   "grey": [128, 128, 128],
   "honeydew": [240, 255, 240],
   "hotpink": [255, 105, 180],
   "indianred": [205, 92, 92],
   "indigo": [75, 0, 130],
   "ivory": [255, 255, 240],
   "khaki": [240, 230, 140],
   "lavender": [230, 230, 250],
   "lavenderblush": [255, 240, 245],
   "lawngreen": [124, 252, 0],
   "lemonchiffon": [255, 250, 205],
   "lightblue": [173, 216, 230],
   "lightcoral": [240, 128, 128],
   "lightcyan": [224, 255, 255],
   "lightgoldenrodyellow": [250, 250, 210],
   "lightgray": [211, 211, 211],
   "lightgreen": [144, 238, 144],
   "lightgrey": [211, 211, 211],
   "lightpink": [255, 182, 193],
   "lightsalmon": [255, 160, 122],
   "lightseagreen": [32, 178, 170],
   "lightskyblue": [135, 206, 250],
   "lightslategray": [119, 136, 153],
   "lightslategrey": [119, 136, 153],
   "lightsteelblue": [176, 196, 222],
   "lightyellow": [255, 255, 224],
   "lime": [0, 255, 0],
   "limegreen": [50, 205, 50],
   "linen": [250, 240, 230],
   "magenta": [255, 0, 255],
   "maroon": [128, 0, 0],
   "mediumaquamarine": [102, 205, 170],
   "mediumblue": [0, 0, 205],
   "mediumorchid": [186, 85, 211],
   "mediumpurple": [147, 112, 219],
   "mediumseagreen": [60, 179, 113],
   "mediumslateblue": [123, 104, 238],
   "mediumspringgreen": [0, 250, 154],
   "mediumturquoise": [72, 209, 204],
   "mediumvioletred": [199, 21, 133],
   "midnightblue": [25, 25, 112],
   "mintcream": [245, 255, 250],
   "mistyrose": [255, 228, 225],
   "moccasin": [255, 228, 181],
   "navajowhite": [255, 222, 173],
   "navy": [0, 0, 128],
   "oldlace": [253, 245, 230],
   "olive": [128, 128, 0],
   "olivedrab": [107, 142, 35],
   "orange": [255, 165, 0],
   "orangered": [255, 69, 0],
   "orchid": [218, 112, 214],
   "palegoldenrod": [238, 232, 170],
   "palegreen": [152, 251, 152],
   "paleturquoise": [175, 238, 238],
   "palevioletred": [219, 112, 147],
   "papayawhip": [255, 239, 213],
   "peachpuff": [255, 218, 185],
   "peru": [205, 133, 63],
   "pink": [255, 192, 203],
   "plum": [221, 160, 221],
   "powderblue": [176, 224, 230],
   "purple": [128, 0, 128],
   "rebeccapurple": [102, 51, 153],
   "red": [255, 0, 0],
   "rosybrown": [188, 143, 143],
   "royalblue": [65, 105, 225],
   "saddlebrown": [139, 69, 19],
   "salmon": [250, 128, 114],
   "sandybrown": [244, 164, 96],
   "seagreen": [46, 139, 87],
   "seashell": [255, 245, 238],
   "sienna": [160, 82, 45],
   "silver": [192, 192, 192],
   "skyblue": [135, 206, 235],
   "slateblue": [106, 90, 205],
   "slategray": [112, 128, 144],
   "slategrey": [112, 128, 144],
   "snow": [255, 250, 250],
   "springgreen": [0, 255, 127],
   "steelblue": [70, 130, 180],
   "tan": [210, 180, 140],
   "teal": [0, 128, 128],
   "thistle": [216, 191, 216],
   "tomato": [255, 99, 71],
   "turquoise": [64, 224, 208],
   "violet": [238, 130, 238],
   "wheat": [245, 222, 179],
   "white": [255, 255, 255],
   "whitesmoke": [245, 245, 245],
   "yellow": [255, 255, 0],
   "yellowgreen": [154, 205, 50]
};
},{}],6:[function(require,module,exports){
//! moment.js