{"version":3,"sources":["webpack:///./node_modules/chartjs-plugin-style/dist/chartjs-plugin-style.js"],"names":["global","factory","module","exports","this","Chart","hasOwnProperty","helpers","optionsHelpers","options","optionsHelpers$1","extend","resolve","inputs","context","index","i","ilen","value","length","undefined","isArray","helpers$1","OFFSET","isColorOption","key","indexOf","styleHelpers","styleKeys","lineStyleKeys","pointStyleKeys","hoverStyleKeys","pointHoverStyleKeys","drawBackground","view","drawCallback","borderWidth","drawBorder","backgroundColor","drawShadow","chart","backmost","ctx","pixelRatio","currentDevicePixelRatio","save","shadowOffsetX","shadowOffsetY","shadowBlur","shadowColor","globalCompositeOperation","translate","restore","setPath","beginPath","clip","drawBevel","shadowOffset","offset","shadowWidthFactor","width","bevelWidth","parsedBorderWidth","opaque","borderColor","top","left","bottom","right","rect","height","fillStyle","bevelShadowColor","navigator","userAgent","match","fill","bevelHighlightColor","drawGlow","isOuter","outerGlowWidth","innerGlowWidth","lineWidth","strokeStyle","outerGlowColor","innerGlowColor","stroke","drawInnerGlow","drawOuterGlow","drawBackgroundOverlay","color","backgroundOverlayColor","backgroundOverlayMode","alpha","getHoverColor","mergeStyle","target","source","forEach","setHoverStyle","keys","hoverKeys","saveStyle","element","model","_model","previousStyle","$previousStyle","resolveStyle","controller","me","dataset","data","datasets","custom","values","dataIndex","datasetIndex","_datasetIndex","resolveLineStyle","resolvePointStyle","pointKeys","pointHoverKeys","helpers$2","mergeOpacity","colorString","opacity","rgbaString","Tooltip","StyleTooltip","initialize","prototype","apply","arguments","_options","update","pt","vm","tooltipSize","args","_chart","Rectangle","elements","StyleRectangle","draw","_view","setPathCallback","x","y","Math","min","base","abs","helpers$3","swap","orig","v1","v2","parseBorderSkipped","edge","borderSkipped","res","horizontal","parseBorderWidth","maxW","maxH","t","r","b","l","skip","Object","toString","call","BarController","controllers","bar","StyleBarController","dataElementType","updateElement","rectangle","defineProperty","configurable","get","set","_styleOptions","removeHoverStyle","helpers$4","isPointInArea","canvas","_isPointInArea","point","area","epsilon","Point","StylePoint","chartArea","helpers$5","extend$1","BubbleController","bubble","StyleBubbleController","helpers$6","Arc","StyleArc","borderAlign","defaults","helpers$7","extend$2","resolve$1","doughnut","legend","labels","generateLabels","pie","map","label","meta","getDatasetMeta","ds","arc","arcOpts","bw","text","hidden","isNaN","DoughnutController","StyleDoughnutController","StyleHorizontalBarController","_getValueScaleId","getMeta","xAxisID","_getIndexScaleId","yAxisID","getValueScaleId","getIndexScaleId","Line","StyleLine","helpers$8","extend$3","LineController","line","StyleLineController","datasetElementType","helpers$9","extend$4","resolve$2","polarArea","PolarAreaController","StylePolarAreaController","helpers$a","extend$5","RadarController","radar","StyleRadarController","defaults$1","helpers$b","layouts","layoutService","valueOrDefault","getValueOrDefault","valueAtIndexOrDefault","getValueAtIndexOrDefault","mergeIf","configMerge","extend$6","drawLegendBox","usePointStyle","styleOptions","elementOpts","isDatasetVisible","lineCap","borderCapStyle","lineDash","borderDash","lineDashOffset","borderDashOffset","lineJoin","borderJoinStyle","pointStyle","StyleLegend","Legend","globalDefaults","each","drawPoint","loopable","fn","legendItem","defaultColor","strokeRect","fillRect","createNewLegendAndAttach","legendOpts","configure","addBox","StyleLegendPlugin","id","_element","beforeInit","beforeUpdate","removeBox","afterEvent","e","handleEvent","helpers$c","layouts$1","plugins","styleControllers","horizontalBar","scatter","buildOrUpdateControllers","newControllers","type","config","destroyDatasetMeta","updateIndex","linkScales","ControllerClass","Error","push","initToolTip","tooltip","_chartInstance","_data","tooltips","descriptors","style","_style","cache","$plugins","_plugins","_cacheId","result","p","plugin","StylePlugin","register"],"mappings":"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","file":"js/Boss-Dashboard-Dashboard-vue~Boss-Dashboard-Partials-CustomSpends-vue~Boss-Dashboard-Partials-EbayAc~933e8352.673a388e.js","sourcesContent":["/*!\n * chartjs-plugin-style v0.5.0\n * https://nagix.github.io/chartjs-plugin-style\n * (c) 2019 Akihiko Kusanagi\n * Released under the MIT license\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('chart.js')) :\ntypeof define === 'function' && define.amd ? define(['chart.js'], factory) :\n(global = global || self, global.ChartStyle = factory(global.Chart));\n}(this, function (Chart) { 'use strict';\n\nChart = Chart && Chart.hasOwnProperty('default') ? Chart['default'] : Chart;\n\nvar helpers = Chart.helpers;\nvar optionsHelpers = helpers.options || {};\n\nvar optionsHelpers$1 = helpers.extend(optionsHelpers, {\n\n\t// For Chart.js 2.6.0 backward compatibility\n\tresolve: optionsHelpers.resolve || function(inputs, context, index) {\n\t\tvar i, ilen, value;\n\n\t\tfor (i = 0, ilen = inputs.length; i < ilen; ++i) {\n\t\t\tvalue = inputs[i];\n\t\t\tif (value === undefined) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (context !== undefined && typeof value === 'function') {\n\t\t\t\tvalue = value(context);\n\t\t\t}\n\t\t\tif (index !== undefined && helpers.isArray(value)) {\n\t\t\t\tvalue = value[index];\n\t\t\t}\n\t\t\tif (value !== undefined) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t}\n\t}\n});\n\nvar helpers$1 = Chart.helpers;\n\nvar resolve = optionsHelpers$1.resolve;\n\nvar OFFSET = 1000000;\n\nfunction isColorOption(key) {\n\treturn key.indexOf('Color') !== -1;\n}\n\nvar styleHelpers = {\n\n\tstyleKeys: [\n\t\t'shadowOffsetX',\n\t\t'shadowOffsetY',\n\t\t'shadowBlur',\n\t\t'shadowColor',\n\t\t'bevelWidth',\n\t\t'bevelHighlightColor',\n\t\t'bevelShadowColor',\n\t\t'innerGlowWidth',\n\t\t'innerGlowColor',\n\t\t'outerGlowWidth',\n\t\t'outerGlowColor',\n\t\t'backgroundOverlayColor',\n\t\t'backgroundOverlayMode'\n\t],\n\n\tlineStyleKeys: [\n\t\t'shadowOffsetX',\n\t\t'shadowOffsetY',\n\t\t'shadowBlur',\n\t\t'shadowColor',\n\t\t'outerGlowWidth',\n\t\t'outerGlowColor'\n\t],\n\n\tpointStyleKeys: [\n\t\t'pointShadowOffsetX',\n\t\t'pointShadowOffsetY',\n\t\t'pointShadowBlur',\n\t\t'pointShadowColor',\n\t\t'pointBevelWidth',\n\t\t'pointBevelHighlightColor',\n\t\t'pointBevelShadowColor',\n\t\t'pointInnerGlowWidth',\n\t\t'pointInnerGlowColor',\n\t\t'pointOuterGlowWidth',\n\t\t'pointOuterGlowColor',\n\t\t'pointBackgroundOverlayColor',\n\t\t'pointBackgroundOverlayMode'\n\t],\n\n\thoverStyleKeys: [\n\t\t'hoverShadowOffsetX',\n\t\t'hoverShadowOffsetY',\n\t\t'hoverShadowBlur',\n\t\t'hoverShadowColor',\n\t\t'hoverBevelWidth',\n\t\t'hoverBevelHighlightColor',\n\t\t'hoverBevelShadowColor',\n\t\t'hoverInnerGlowWidth',\n\t\t'hoverInnerGlowColor',\n\t\t'hoverOuterGlowWidth',\n\t\t'hoverOuterGlowColor',\n\t\t'hoverBackgroundOverlayColor',\n\t\t'hoverBackgroundOverlayMode'\n\t],\n\n\tpointHoverStyleKeys: [\n\t\t'pointHoverShadowOffsetX',\n\t\t'pointHoverShadowOffsetY',\n\t\t'pointHoverShadowBlur',\n\t\t'pointHoverShadowColor',\n\t\t'pointHoverBevelWidth',\n\t\t'pointHoverBevelHighlightColor',\n\t\t'pointHoverBevelShadowColor',\n\t\t'pointHoverInnerGlowWidth',\n\t\t'pointHoverInnerGlowColor',\n\t\t'pointHoverOuterGlowWidth',\n\t\t'pointHoverOuterGlowColor',\n\t\t'pointHoverBackgroundOverlayColor',\n\t\t'pointHoverBackgroundOverlayMode'\n\t],\n\n\tdrawBackground: function(view, drawCallback) {\n\t\tvar borderWidth = view.borderWidth;\n\n\t\tview.borderWidth = 0;\n\t\tdrawCallback();\n\t\tview.borderWidth = borderWidth;\n\t},\n\n\tdrawBorder: function(view, drawCallback) {\n\t\tvar backgroundColor = view.backgroundColor;\n\n\t\tif (view.borderWidth) {\n\t\t\tview.backgroundColor = 'rgba(0, 0, 0, 0)';\n\t\t\tdrawCallback();\n\t\t\tview.backgroundColor = backgroundColor;\n\t\t}\n\t},\n\n\tdrawShadow: function(chart, options, drawCallback, backmost) {\n\t\tvar ctx = chart.ctx;\n\t\tvar pixelRatio = chart.currentDevicePixelRatio;\n\n\t\tctx.save();\n\n\t\tctx.shadowOffsetX = (options.shadowOffsetX + OFFSET) * pixelRatio;\n\t\tctx.shadowOffsetY = options.shadowOffsetY * pixelRatio;\n\t\tctx.shadowBlur = options.shadowBlur * pixelRatio;\n\t\tctx.shadowColor = options.shadowColor;\n\t\tif (backmost) {\n\t\t\tctx.globalCompositeOperation = 'destination-over';\n\t\t}\n\t\tctx.translate(-OFFSET, 0);\n\n\t\tdrawCallback();\n\n\t\tctx.restore();\n\t},\n\n\tsetPath: function(ctx, drawCallback) {\n\t\tctx.save();\n\t\tctx.beginPath();\n\t\tctx.clip();\n\t\tdrawCallback();\n\t\tctx.restore();\n\t},\n\n\tdrawBevel: function(chart, options, drawCallback) {\n\t\tvar ctx = chart.ctx;\n\t\tvar pixelRatio = chart.currentDevicePixelRatio;\n\t\tvar shadowWidthFactor = pixelRatio * 5 / 6;\n\t\tvar width = options.bevelWidth * shadowWidthFactor;\n\t\tvar borderWidth = options.borderWidth;\n\t\tvar parsedBorderWidth = options.parsedBorderWidth;\n\t\tvar shadowOffset, offset;\n\n\t\tif (!width) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.opaque(options.borderColor)) {\n\t\t\tshadowOffset = {top: width, left: width, bottom: width, right: width};\n\t\t} else if (parsedBorderWidth) {\n\t\t\tshadowOffset = {\n\t\t\t\ttop: width + parsedBorderWidth.top * pixelRatio,\n\t\t\t\tleft: width + parsedBorderWidth.left * pixelRatio,\n\t\t\t\tbottom: width + parsedBorderWidth.bottom * pixelRatio,\n\t\t\t\tright: width + parsedBorderWidth.right * pixelRatio\n\t\t\t};\n\t\t} else {\n\t\t\toffset = width + (borderWidth > 0 ? borderWidth : 0) * pixelRatio / 2;\n\t\t\tshadowOffset = {top: offset, left: offset, bottom: offset, right: offset};\n\t\t}\n\n\t\tctx.save();\n\n\t\tthis.setPath(ctx, drawCallback);\n\t\tctx.clip();\n\n\t\t// Make stencil\n\t\tctx.translate(-OFFSET, 0);\n\t\tthis.setPath(ctx, drawCallback);\n\t\tctx.rect(0, 0, chart.width, chart.height);\n\n\t\t// Draw bevel shadow\n\t\tctx.fillStyle = 'black';\n\t\tctx.shadowOffsetX = OFFSET * pixelRatio - shadowOffset.right;\n\t\tctx.shadowOffsetY = -shadowOffset.bottom;\n\t\tctx.shadowBlur = width;\n\t\tctx.shadowColor = options.bevelShadowColor;\n\t\t// Workaround for the issue on Windows version of FireFox\n\t\t// https://bugzilla.mozilla.org/show_bug.cgi?id=1333090\n\t\t// If the destination has transparency, the result will be different\n\t\tif (!(navigator && navigator.userAgent.match('Windows.+Firefox'))) {\n\t\t\tctx.globalCompositeOperation = 'source-atop';\n\t\t}\n\t\tctx.fill('evenodd');\n\n\t\t// Draw Bevel highlight\n\t\tctx.shadowOffsetX = OFFSET * pixelRatio + shadowOffset.left;\n\t\tctx.shadowOffsetY = shadowOffset.top;\n\t\tctx.shadowColor = options.bevelHighlightColor;\n\t\tctx.fill('evenodd');\n\n\t\tctx.restore();\n\t},\n\n\tdrawGlow: function(chart, options, drawCallback, isOuter) {\n\t\tvar ctx = chart.ctx;\n\t\tvar width = isOuter ? options.outerGlowWidth : options.innerGlowWidth;\n\t\tvar borderWidth = options.borderWidth;\n\t\tvar pixelRatio = chart.currentDevicePixelRatio;\n\n\t\tif (!width) {\n\t\t\treturn;\n\t\t}\n\n\t\tctx.save();\n\n\t\t// Clip inner or outer area\n\t\tthis.setPath(ctx, drawCallback);\n\t\tif (isOuter) {\n\t\t\tctx.rect(0, 0, chart.width, chart.height);\n\t\t}\n\t\tctx.clip('evenodd');\n\n\t\t// Set path\n\t\tctx.translate(-OFFSET, 0);\n\t\tthis.setPath(ctx, drawCallback);\n\t\tif (!isOuter) {\n\t\t\tctx.rect(0, 0, chart.width, chart.height);\n\t\t}\n\n\t\t// Draw glow\n\t\tctx.lineWidth = borderWidth;\n\t\tctx.strokeStyle = 'black';\n\t\tctx.fillStyle = 'black';\n\t\tctx.shadowOffsetX = OFFSET * pixelRatio;\n\t\tctx.shadowBlur = width * pixelRatio;\n\t\tctx.shadowColor = isOuter ? options.outerGlowColor : options.innerGlowColor;\n\t\tctx.fill('evenodd');\n\t\tif (borderWidth) {\n\t\t\tctx.stroke();\n\t\t}\n\n\t\tctx.restore();\n\t},\n\n\tdrawInnerGlow: function(chart, options, drawCallback) {\n\t\tthis.drawGlow(chart, options, drawCallback);\n\t},\n\n\tdrawOuterGlow: function(chart, options, drawCallback) {\n\t\tthis.drawGlow(chart, options, drawCallback, true);\n\t},\n\n\tdrawBackgroundOverlay: function(chart, options, drawCallback) {\n\t\tvar ctx = chart.ctx;\n\t\tvar color = options.backgroundOverlayColor;\n\n\t\tif (!color) {\n\t\t\treturn;\n\t\t}\n\n\t\tctx.save();\n\t\tthis.setPath(ctx, drawCallback);\n\t\tctx.fillStyle = color;\n\t\tctx.globalCompositeOperation = options.backgroundOverlayMode;\n\t\tctx.fill();\n\t\tctx.restore();\n\t},\n\n\topaque: function(color) {\n\t\treturn helpers$1.color(color).alpha() > 0;\n\t},\n\n\tgetHoverColor: function(color) {\n\t\treturn color !== undefined ? helpers$1.getHoverColor(color) : color;\n\t},\n\n\tmergeStyle: function(target, source) {\n\t\tif (target === undefined || source === undefined) {\n\t\t\treturn;\n\t\t}\n\t\tthis.styleKeys.forEach(function(key) {\n\t\t\ttarget[key] = source[key];\n\t\t});\n\t\treturn target;\n\t},\n\n\tsetHoverStyle: function(target, source) {\n\t\tvar keys = this.styleKeys;\n\t\tvar hoverKeys = this.hoverStyleKeys;\n\t\tvar i, ilen;\n\n\t\tif (target === undefined || source === undefined) {\n\t\t\treturn;\n\t\t}\n\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\n\t\t\ttarget[keys[i]] = source[hoverKeys[i]];\n\t\t}\n\t\treturn target;\n\t},\n\n\tsaveStyle: function(element) {\n\t\tvar model = element._model;\n\t\tvar previousStyle = element.$previousStyle;\n\n\t\tif (previousStyle) {\n\t\t\tthis.mergeStyle(previousStyle, model);\n\t\t}\n\t},\n\n\tresolveStyle: function(controller, element, index, options) {\n\t\tvar me = this;\n\t\tvar chart = controller.chart;\n\t\tvar dataset = chart.data.datasets[controller.index];\n\t\tvar custom = element.custom || {};\n\t\tvar keys = me.styleKeys;\n\t\tvar hoverKeys = me.hoverStyleKeys;\n\t\tvar values = {};\n\t\tvar i, ilen, key, value;\n\n\t\t// Scriptable options\n\t\tvar context = {\n\t\t\tchart: chart,\n\t\t\tdataIndex: index,\n\t\t\tdataset: dataset,\n\t\t\tdatasetIndex: element._datasetIndex\n\t\t};\n\n\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\n\t\t\tkey = keys[i];\n\t\t\tvalues[key] = value = resolve([\n\t\t\t\tcustom[key],\n\t\t\t\tdataset[key],\n\t\t\t\toptions[key]\n\t\t\t], context, index);\n\n\t\t\tkey = hoverKeys[i];\n\t\t\tvalues[key] = resolve([\n\t\t\t\tcustom[key],\n\t\t\t\tdataset[key],\n\t\t\t\toptions[key],\n\t\t\t\tisColorOption(key) ? me.getHoverColor(value) : value\n\t\t\t], context, index);\n\t\t}\n\n\t\treturn values;\n\t},\n\n\tresolveLineStyle: function(controller, element, options) {\n\t\tvar chart = controller.chart;\n\t\tvar dataset = chart.data.datasets[controller.index];\n\t\tvar custom = element.custom || {};\n\t\tvar keys = this.lineStyleKeys;\n\t\tvar values = {};\n\t\tvar i, ilen, key;\n\n\t\t// Scriptable options\n\t\tvar context = {\n\t\t\tchart: chart,\n\t\t\tdataset: dataset,\n\t\t\tdatasetIndex: element._datasetIndex\n\t\t};\n\n\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\n\t\t\tkey = keys[i];\n\t\t\tvalues[key] = resolve([custom[key], dataset[key], options[key]], context);\n\t\t}\n\n\t\treturn values;\n\t},\n\n\tresolvePointStyle: function(controller, element, index, options) {\n\t\tvar me = this;\n\t\tvar chart = controller.chart;\n\t\tvar dataset = chart.data.datasets[controller.index];\n\t\tvar custom = element.custom || {};\n\t\tvar keys = me.styleKeys;\n\t\tvar hoverKeys = me.hoverStyleKeys;\n\t\tvar pointKeys = me.pointStyleKeys;\n\t\tvar pointHoverKeys = me.pointHoverStyleKeys;\n\t\tvar values = {};\n\t\tvar i, ilen, key, value;\n\n\t\t// Scriptable options\n\t\tvar context = {\n\t\t\tchart: chart,\n\t\t\tdataIndex: index,\n\t\t\tdataset: dataset,\n\t\t\tdatasetIndex: element._datasetIndex\n\t\t};\n\n\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\n\t\t\tkey = keys[i];\n\t\t\tvalues[key] = value = resolve([\n\t\t\t\tcustom[key],\n\t\t\t\tdataset[pointKeys[i]],\n\t\t\t\tdataset[key],\n\t\t\t\toptions[key]\n\t\t\t], context, index);\n\n\t\t\tkey = hoverKeys[i];\n\t\t\tvalues[key] = resolve([\n\t\t\t\tcustom[key],\n\t\t\t\tdataset[pointHoverKeys[i]],\n\t\t\t\toptions[key],\n\t\t\t\tisColorOption(key) ? me.getHoverColor(value) : value\n\t\t\t], context, index);\n\t\t}\n\n\t\treturn values;\n\t}\n};\n\nvar helpers$2 = Chart.helpers;\n\n/**\n * Ported from Chart.js 2.7.3.\n *\n * Helper method to merge the opacity into a color\n * For Chart.js 2.7.3 backward compatibility\n */\nfunction mergeOpacity(colorString, opacity) {\n\t// opacity is not used in Chart.js 2.8 or later\n\tif (opacity === undefined) {\n\t\treturn colorString;\n\t}\n\tvar color = helpers$2.color(colorString);\n\treturn color.alpha(opacity * color.alpha()).rgbaString();\n}\n\nvar Tooltip = Chart.Tooltip;\n\nvar StyleTooltip = Tooltip.extend({\n\n\tinitialize: function() {\n\t\tvar me = this;\n\n\t\tTooltip.prototype.initialize.apply(me, arguments);\n\n\t\tstyleHelpers.mergeStyle(me._model, me._options);\n\t},\n\n\tupdate: function() {\n\t\tvar me = this;\n\n\t\tTooltip.prototype.update.apply(me, arguments);\n\n\t\tstyleHelpers.mergeStyle(me._model, me._options);\n\n\t\treturn me;\n\t},\n\n\tdrawBackground: function(pt, vm, ctx, tooltipSize, opacity) {\n\t\tvar me = this;\n\t\tvar args = arguments;\n\t\tvar chart = me._chart;\n\t\tvar options = helpers$2.extend({}, vm, {\n\t\t\tbevelHighlightColor: mergeOpacity(vm.bevelHighlightColor, opacity),\n\t\t\tbevelShadowColor: mergeOpacity(vm.bevelShadowColor, opacity),\n\t\t\tinnerGlowColor: mergeOpacity(vm.innerGlowColor, opacity),\n\t\t\touterGlowColor: mergeOpacity(vm.outerGlowColor, opacity)\n\t\t});\n\n\t\tvar drawCallback = function() {\n\t\t\tTooltip.prototype.drawBackground.apply(me, args);\n\t\t};\n\n\t\tstyleHelpers.drawShadow(chart, vm, drawCallback);\n\n\t\tif (styleHelpers.opaque(vm.backgroundColor)) {\n\t\t\tstyleHelpers.drawBackground(vm, drawCallback);\n\t\t\tstyleHelpers.drawBevel(chart, options, drawCallback);\n\t\t}\n\n\t\tstyleHelpers.drawInnerGlow(chart, options, drawCallback);\n\t\tstyleHelpers.drawOuterGlow(chart, options, drawCallback);\n\n\t\tstyleHelpers.drawBorder(vm, drawCallback);\n\t}\n});\n\nvar Rectangle = Chart.elements.Rectangle;\n\nvar StyleRectangle = Rectangle.extend({\n\n\tdraw: function() {\n\t\tvar me = this;\n\t\tvar args = arguments;\n\t\tvar chart = me._chart;\n\t\tvar vm = me._view;\n\n\t\tvar drawCallback = function() {\n\t\t\tRectangle.prototype.draw.apply(me, args);\n\t\t};\n\t\tvar setPathCallback = function() {\n\t\t\tme.setPath();\n\t\t};\n\n\t\tstyleHelpers.drawShadow(chart, vm, drawCallback, true);\n\n\t\tif (styleHelpers.opaque(vm.backgroundColor)) {\n\t\t\tstyleHelpers.drawBackground(vm, drawCallback);\n\t\t\tstyleHelpers.drawBackgroundOverlay(chart, vm, setPathCallback);\n\t\t\tstyleHelpers.drawBevel(chart, vm, setPathCallback);\n\t\t}\n\n\t\tstyleHelpers.drawInnerGlow(chart, vm, setPathCallback);\n\t\tstyleHelpers.drawOuterGlow(chart, vm, setPathCallback);\n\n\t\tstyleHelpers.drawBorder(vm, drawCallback);\n\t},\n\n\tsetPath: function() {\n\t\tvar me = this;\n\t\tvar ctx = me._chart.ctx;\n\t\tvar vm = me._view;\n\t\tvar x, y, width, height;\n\n\t\tif (vm.width !== undefined) {\n\t\t\tx = vm.x - vm.width / 2;\n\t\t\twidth = vm.width;\n\t\t\ty = Math.min(vm.y, vm.base);\n\t\t\theight = Math.abs(vm.y - vm.base);\n\t\t} else {\n\t\t\tx = Math.min(vm.x, vm.base);\n\t\t\twidth = Math.abs(vm.x - vm.base);\n\t\t\ty = vm.y - vm.height / 2;\n\t\t\theight = vm.height;\n\t\t}\n\n\t\tctx.rect(x, y, width, height);\n\t}\n});\n\nvar helpers$3 = Chart.helpers;\n\nvar extend = helpers$3.extend;\n\n// Ported from Chart.js 2.8.0\nfunction swap(orig, v1, v2) {\n\treturn orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\n\n// Ported from Chart.js 2.8.0\nfunction parseBorderSkipped(vm) {\n\tvar edge = vm.borderSkipped;\n\tvar res = {};\n\n\tif (!edge) {\n\t\treturn res;\n\t}\n\n\tif (vm.horizontal) {\n\t\tif (vm.base > vm.x) {\n\t\t\tedge = swap(edge, 'left', 'right');\n\t\t}\n\t} else if (vm.base < vm.y) {\n\t\tedge = swap(edge, 'bottom', 'top');\n\t}\n\n\tres[edge] = true;\n\treturn res;\n}\n\n// Ported from Chart.js 2.8.0. Modified for style bar.\nfunction parseBorderWidth(vm) {\n\tvar value = vm.borderWidth;\n\tvar skip = parseBorderSkipped(vm);\n\tvar maxW, maxH, t, r, b, l;\n\n\tif (vm.width !== undefined) {\n\t\tmaxW = vm.width / 2;\n\t\tmaxH = Math.abs(vm.y - vm.base) / 2;\n\t} else {\n\t\tmaxW = Math.abs(vm.x - vm.base) / 2;\n\t\tmaxH = vm.height / 2;\n\t}\n\n\tif (value !== null && Object.prototype.toString.call(value) === '[object Object]') {\n\t\tt = +value.top || 0;\n\t\tr = +value.right || 0;\n\t\tb = +value.bottom || 0;\n\t\tl = +value.left || 0;\n\t} else {\n\t\tt = r = b = l = +value || 0;\n\t}\n\n\treturn {\n\t\ttop: skip.top || (t < 0) ? 0 : t > maxH ? maxH : t,\n\t\tright: skip.right || (r < 0) ? 0 : r > maxW ? maxW : r,\n\t\tbottom: skip.bottom || (b < 0) ? 0 : b > maxH ? maxH : b,\n\t\tleft: skip.left || (l < 0) ? 0 : l > maxW ? maxW : l\n\t};\n}\n\nvar BarController = Chart.controllers.bar;\n\nvar StyleBarController = BarController.extend({\n\n\tdataElementType: StyleRectangle,\n\n\tupdateElement: function(rectangle, index) {\n\t\tvar me = this;\n\t\tvar options = styleHelpers.resolveStyle(me, rectangle, index, me.chart.options.elements.rectangle);\n\t\tvar model = {};\n\n\t\tObject.defineProperty(rectangle, '_model', {\n\t\t\tconfigurable: true,\n\t\t\tget: function() {\n\t\t\t\treturn model;\n\t\t\t},\n\t\t\tset: function(value) {\n\t\t\t\textend(model, value, options);\n\t\t\t}\n\t\t});\n\n\t\tBarController.prototype.updateElement.apply(me, arguments);\n\n\t\tdelete rectangle._model;\n\t\trectangle._model = extend(model, {\n\t\t\tparsedBorderWidth: parseBorderWidth(model)\n\t\t});\n\t\trectangle._styleOptions = options;\n\t},\n\n\tsetHoverStyle: function(element) {\n\t\tvar me = this;\n\n\t\tBarController.prototype.setHoverStyle.apply(me, arguments);\n\n\t\tstyleHelpers.saveStyle(element);\n\t\tstyleHelpers.setHoverStyle(element._model, element._styleOptions);\n\t},\n\n\tremoveHoverStyle: function(element) {\n\t\tvar me = this;\n\n\t\t// For Chart.js 2.7.2 backward compatibility\n\t\tif (!element.$previousStyle) {\n\t\t\tstyleHelpers.mergeStyle(element._model, element._styleOptions);\n\t\t}\n\n\t\tBarController.prototype.removeHoverStyle.apply(me, arguments);\n\t}\n});\n\nvar helpers$4 = Chart.helpers;\n\n// For Chart.js 2.7.3 backward compatibility\nvar isPointInArea = helpers$4.canvas._isPointInArea || function(point, area) {\n\tvar epsilon = 1e-6;\n\n\treturn point.x > area.left - epsilon && point.x < area.right + epsilon &&\n\t\tpoint.y > area.top - epsilon && point.y < area.bottom + epsilon;\n};\n\nvar Point = Chart.elements.Point;\n\nvar StylePoint = Point.extend({\n\n\tdraw: function(chartArea) {\n\t\tvar me = this;\n\t\tvar args = arguments;\n\t\tvar chart = me._chart;\n\t\tvar vm = me._view;\n\n\t\tvar drawCallback = function() {\n\t\t\tPoint.prototype.draw.apply(me, args);\n\t\t};\n\n\t\tif (vm.skip || chartArea !== undefined && !isPointInArea(vm, chartArea)) {\n\t\t\treturn;\n\t\t}\n\n\t\tstyleHelpers.drawShadow(chart, vm, drawCallback, true);\n\n\t\tif (styleHelpers.opaque(vm.backgroundColor)) {\n\t\t\tstyleHelpers.drawBackground(vm, drawCallback);\n\t\t\tstyleHelpers.drawBackgroundOverlay(chart, vm, drawCallback);\n\t\t\tstyleHelpers.drawBevel(chart, vm, drawCallback);\n\t\t}\n\n\t\tstyleHelpers.drawInnerGlow(chart, vm, drawCallback);\n\t\tstyleHelpers.drawOuterGlow(chart, vm, drawCallback);\n\n\t\tstyleHelpers.drawBorder(vm, drawCallback);\n\t}\n});\n\nvar helpers$5 = Chart.helpers;\n\nvar extend$1 = helpers$5.extend;\n\nvar BubbleController = Chart.controllers.bubble;\n\nvar StyleBubbleController = BubbleController.extend({\n\n\tdataElementType: StylePoint,\n\n\tupdateElement: function(point, index) {\n\t\tvar me = this;\n\t\tvar options = styleHelpers.resolveStyle(me, point, index, me.chart.options.elements.point);\n\t\tvar model = {};\n\n\t\tObject.defineProperty(point, '_model', {\n\t\t\tconfigurable: true,\n\t\t\tget: function() {\n\t\t\t\treturn model;\n\t\t\t},\n\t\t\tset: function(value) {\n\t\t\t\textend$1(model, value, options);\n\t\t\t}\n\t\t});\n\n\t\tBubbleController.prototype.updateElement.apply(me, arguments);\n\n\t\tdelete point._model;\n\t\tpoint._model = model;\n\t\tpoint._styleOptions = options;\n\t},\n\n\t/**\n\t * @protected\n\t */\n\tsetHoverStyle: function(element) {\n\t\tvar me = this;\n\n\t\tBubbleController.prototype.setHoverStyle.apply(me, arguments);\n\n\t\tstyleHelpers.saveStyle(element);\n\t\tstyleHelpers.setHoverStyle(element._model, element._styleOptions);\n\t},\n\n\t/**\n\t * @protected\n\t */\n\tremoveHoverStyle: function(element) {\n\t\tvar me = this;\n\n\t\t// For Chart.js 2.7.2 backward compatibility\n\t\tif (!element.$previousStyle) {\n\t\t\tstyleHelpers.mergeStyle(element._model, element._styleOptions);\n\t\t}\n\n\t\tBubbleController.prototype.removeHoverStyle.apply(me, arguments);\n\t}\n});\n\nvar helpers$6 = Chart.helpers;\n\nvar Arc = Chart.elements.Arc;\n\nvar StyleArc = Arc.extend({\n\n\tdraw: function() {\n\t\tvar me = this;\n\t\tvar args = arguments;\n\t\tvar chart = me._chart;\n\t\tvar vm = me._view;\n\n\t\tvar drawCallback = function() {\n\t\t\tArc.prototype.draw.apply(me, args);\n\t\t};\n\n\t\tstyleHelpers.drawShadow(chart, vm, drawCallback, true);\n\n\t\tif (styleHelpers.opaque(vm.backgroundColor)) {\n\t\t\tstyleHelpers.drawBackground(vm, drawCallback);\n\t\t\tstyleHelpers.drawBackgroundOverlay(chart, vm, drawCallback);\n\t\t\tstyleHelpers.drawBevel(chart, vm.borderAlign === 'inner' ? helpers$6.extend({}, vm, {\n\t\t\t\tborderWidth: vm.borderWidth * 2\n\t\t\t}) : vm, drawCallback);\n\t\t}\n\n\t\tstyleHelpers.drawInnerGlow(chart, vm, drawCallback);\n\t\tstyleHelpers.drawOuterGlow(chart, vm, drawCallback);\n\n\t\tstyleHelpers.drawBorder(vm, drawCallback);\n\t}\n});\n\nvar defaults = Chart.defaults;\nvar helpers$7 = Chart.helpers;\n\nvar extend$2 = helpers$7.extend;\nvar resolve$1 = optionsHelpers$1.resolve;\n\n// Ported from Chart.js 2.8.0. Modified for style doughnut.\ndefaults.doughnut.legend.labels.generateLabels = defaults.pie.legend.labels.generateLabels = function(chart) {\n\tvar data = chart.data;\n\tif (data.labels.length && data.datasets.length) {\n\t\treturn data.labels.map(function(label, i) {\n\t\t\tvar meta = chart.getDatasetMeta(0);\n\t\t\tvar ds = data.datasets[0];\n\t\t\tvar arc = meta.data[i] || {};\n\t\t\tvar custom = arc.custom || {};\n\t\t\tvar arcOpts = chart.options.elements.arc;\n\t\t\tvar fill = resolve$1([custom.backgroundColor, ds.backgroundColor, arcOpts.backgroundColor], undefined, i);\n\t\t\tvar stroke = resolve$1([custom.borderColor, ds.borderColor, arcOpts.borderColor], undefined, i);\n\t\t\tvar bw = resolve$1([custom.borderWidth, ds.borderWidth, arcOpts.borderWidth], undefined, i);\n\n\t\t\treturn extend$2({\n\t\t\t\ttext: label,\n\t\t\t\tfillStyle: fill,\n\t\t\t\tstrokeStyle: stroke,\n\t\t\t\tlineWidth: bw,\n\t\t\t\thidden: isNaN(ds.data[i]) || meta.data[i].hidden,\n\n\t\t\t\t// Extra data used for toggling the correct item\n\t\t\t\tindex: i\n\t\t\t}, styleHelpers.resolveStyle(meta.controller, arc, i, arcOpts));\n\t\t});\n\t}\n\treturn [];\n};\n\nvar DoughnutController = Chart.controllers.doughnut;\n\nvar StyleDoughnutController = DoughnutController.extend({\n\n\tdataElementType: StyleArc,\n\n\tupdateElement: function(arc, index) {\n\t\tvar me = this;\n\t\tvar options = styleHelpers.resolveStyle(me, arc, index, me.chart.options.elements.arc);\n\t\tvar model = {};\n\n\t\tObject.defineProperty(arc, '_model', {\n\t\t\tconfigurable: true,\n\t\t\tget: function() {\n\t\t\t\treturn model;\n\t\t\t},\n\t\t\tset: function(value) {\n\t\t\t\textend$2(model, value, options);\n\t\t\t}\n\t\t});\n\n\t\tDoughnutController.prototype.updateElement.apply(me, arguments);\n\n\t\tdelete arc._model;\n\t\tarc._model = model;\n\t\tarc._styleOptions = options;\n\t},\n\n\tsetHoverStyle: function(element) {\n\t\tvar me = this;\n\n\t\tDoughnutController.prototype.setHoverStyle.apply(me, arguments);\n\n\t\tstyleHelpers.saveStyle(element);\n\t\tstyleHelpers.setHoverStyle(element._model, element._styleOptions);\n\t},\n\n\tremoveHoverStyle: function(element) {\n\t\tvar me = this;\n\n\t\t// For Chart.js 2.7.2 backward compatibility\n\t\tif (!element.$previousStyle) {\n\t\t\tstyleHelpers.mergeStyle(element._model, element._styleOptions);\n\t\t}\n\n\t\tDoughnutController.prototype.removeHoverStyle.apply(me, arguments);\n\t}\n});\n\nvar StyleHorizontalBarController = StyleBarController.extend({\n\t/**\n\t * @private\n\t */\n\t_getValueScaleId: function() {\n\t\treturn this.getMeta().xAxisID;\n\t},\n\n\t/**\n\t * @private\n\t */\n\t_getIndexScaleId: function() {\n\t\treturn this.getMeta().yAxisID;\n\t},\n\n\t/**\n\t * For Chart.js 2.7.2 backward compatibility\n\t * @private\n\t */\n\tgetValueScaleId: function() {\n\t\treturn this.getMeta().xAxisID;\n\t},\n\n\t/**\n\t * For Chart.js 2.7.2 backward compatibility\n\t * @private\n\t */\n\tgetIndexScaleId: function() {\n\t\treturn this.getMeta().yAxisID;\n\t}\n});\n\nvar Line = Chart.elements.Line;\n\nvar StyleLine = Line.extend({\n\n\tdraw: function() {\n\t\tvar me = this;\n\t\tvar args = arguments;\n\t\tvar chart = me._chart;\n\t\tvar vm = me._view;\n\n\t\tvar drawCallback = function() {\n\t\t\tLine.prototype.draw.apply(me, args);\n\t\t};\n\n\t\tstyleHelpers.drawShadow(chart, vm, drawCallback);\n\n\t\t// For outer glow\n\t\tstyleHelpers.drawShadow(chart, {\n\t\t\tshadowOffsetX: 0,\n\t\t\tshadowOffsetY: 0,\n\t\t\tshadowBlur: vm.outerGlowWidth,\n\t\t\tshadowColor: vm.outerGlowColor\n\t\t}, drawCallback);\n\n\t\tstyleHelpers.drawBorder(vm, drawCallback);\n\t}\n});\n\nvar helpers$8 = Chart.helpers;\n\nvar extend$3 = helpers$8.extend;\n\nvar LineController = Chart.controllers.line;\n\nvar StyleLineController = LineController.extend({\n\n\tdatasetElementType: StyleLine,\n\n\tdataElementType: StylePoint,\n\n\tupdate: function() {\n\t\tvar me = this;\n\t\tvar line = me.getMeta().dataset;\n\t\tvar options = styleHelpers.resolveLineStyle(me, line, me.chart.options.elements.line);\n\t\tvar model = {};\n\n\t\tObject.defineProperty(line, '_model', {\n\t\t\tconfigurable: true,\n\t\t\tget: function() {\n\t\t\t\treturn model;\n\t\t\t},\n\t\t\tset: function(value) {\n\t\t\t\textend$3(model, value, options);\n\t\t\t}\n\t\t});\n\n\t\tLineController.prototype.update.apply(me, arguments);\n\n\t\tdelete line._model;\n\t\tline._model = model;\n\t\tline._styleOptions = options;\n\t},\n\n\tupdateElement: function(point, index) {\n\t\tvar me = this;\n\t\tvar options = styleHelpers.resolvePointStyle(me, point, index, me.chart.options.elements.point);\n\n\t\tLineController.prototype.updateElement.apply(me, arguments);\n\n\t\textend$3(point._model, options);\n\t\tpoint._styleOptions = options;\n\t},\n\n\tsetHoverStyle: function(element) {\n\t\t// Point\n\t\tvar me = this;\n\n\t\tLineController.prototype.setHoverStyle.apply(me, arguments);\n\n\t\tstyleHelpers.saveStyle(element);\n\t\tstyleHelpers.setHoverStyle(element._model, element._styleOptions);\n\t},\n\n\tremoveHoverStyle: function(element) {\n\t\tvar me = this;\n\n\t\t// For Chart.js 2.7.2 backward compatibility\n\t\tif (!element.$previousStyle) {\n\t\t\tstyleHelpers.mergeStyle(element._model, element._styleOptions);\n\t\t}\n\n\t\tLineController.prototype.removeHoverStyle.apply(me, arguments);\n\t}\n});\n\nvar helpers$9 = Chart.helpers;\n\nvar extend$4 = helpers$9.extend;\nvar resolve$2 = optionsHelpers$1.resolve;\n\n// Ported from Chart.js 2.8.0. Modified for style polarArea.\nChart.defaults.polarArea.legend.labels.generateLabels = function(chart) {\n\tvar data = chart.data;\n\tif (data.labels.length && data.datasets.length) {\n\t\treturn data.labels.map(function(label, i) {\n\t\t\tvar meta = chart.getDatasetMeta(0);\n\t\t\tvar ds = data.datasets[0];\n\t\t\tvar arc = meta.data[i] || {};\n\t\t\tvar custom = arc.custom || {};\n\t\t\tvar arcOpts = chart.options.elements.arc;\n\t\t\tvar fill = resolve$2([custom.backgroundColor, ds.backgroundColor, arcOpts.backgroundColor], undefined, i);\n\t\t\tvar stroke = resolve$2([custom.borderColor, ds.borderColor, arcOpts.borderColor], undefined, i);\n\t\t\tvar bw = resolve$2([custom.borderWidth, ds.borderWidth, arcOpts.borderWidth], undefined, i);\n\n\t\t\treturn extend$4({\n\t\t\t\ttext: label,\n\t\t\t\tfillStyle: fill,\n\t\t\t\tstrokeStyle: stroke,\n\t\t\t\tlineWidth: bw,\n\t\t\t\thidden: isNaN(ds.data[i]) || meta.data[i].hidden,\n\n\t\t\t\t// Extra data used for toggling the correct item\n\t\t\t\tindex: i\n\t\t\t}, styleHelpers.resolveStyle(meta.controller, arc, i, arcOpts));\n\t\t});\n\t}\n\treturn [];\n};\n\nvar PolarAreaController = Chart.controllers.polarArea;\n\nvar StylePolarAreaController = PolarAreaController.extend({\n\n\tdataElementType: StyleArc,\n\n\tupdateElement: function(arc, index) {\n\t\tvar me = this;\n\t\tvar options = styleHelpers.resolveStyle(me, arc, index, me.chart.options.elements.arc);\n\t\tvar model = {};\n\n\t\tObject.defineProperty(arc, '_model', {\n\t\t\tconfigurable: true,\n\t\t\tget: function() {\n\t\t\t\treturn model;\n\t\t\t},\n\t\t\tset: function(value) {\n\t\t\t\textend$4(model, value, options);\n\t\t\t}\n\t\t});\n\n\t\tPolarAreaController.prototype.updateElement.apply(me, arguments);\n\n\t\tdelete arc._model;\n\t\tarc._model = model;\n\t\tarc._styleOptions = options;\n\t},\n\n\tsetHoverStyle: function(element) {\n\t\tvar me = this;\n\n\t\tPolarAreaController.prototype.setHoverStyle.apply(me, arguments);\n\n\t\tstyleHelpers.saveStyle(element);\n\t\tstyleHelpers.setHoverStyle(element._model, element._styleOptions);\n\t},\n\n\tremoveHoverStyle: function(element) {\n\t\tvar me = this;\n\n\t\t// For Chart.js 2.7.2 backward compatibility\n\t\tif (!element.$previousStyle) {\n\t\t\tstyleHelpers.mergeStyle(element._model, element._styleOptions);\n\t\t}\n\n\t\tPolarAreaController.prototype.removeHoverStyle.apply(me, arguments);\n\t}\n});\n\nvar helpers$a = Chart.helpers;\n\nvar extend$5 = helpers$a.extend;\n\nvar RadarController = Chart.controllers.radar;\n\nvar StyleRadarController = RadarController.extend({\n\n\tdatasetElementType: StyleLine,\n\n\tdataElementType: StylePoint,\n\n\tupdate: function() {\n\t\tvar me = this;\n\t\tvar line = me.getMeta().dataset;\n\t\tvar options = styleHelpers.resolveLineStyle(me, line, me.chart.options.elements.line);\n\t\tvar model = {};\n\n\t\tObject.defineProperty(line, '_model', {\n\t\t\tconfigurable: true,\n\t\t\tget: function() {\n\t\t\t\treturn model;\n\t\t\t},\n\t\t\tset: function(value) {\n\t\t\t\textend$5(model, value, options);\n\t\t\t}\n\t\t});\n\n\t\tRadarController.prototype.update.apply(me, arguments);\n\n\t\tdelete line._model;\n\t\tline._model = model;\n\t\tline._styleOptions = options;\n\t},\n\n\tupdateElement: function(point, index) {\n\t\tvar me = this;\n\t\tvar options = styleHelpers.resolvePointStyle(me, point, index, me.chart.options.elements.point);\n\n\t\tRadarController.prototype.updateElement.apply(me, arguments);\n\n\t\textend$5(point._model, options);\n\t\tpoint._styleOptions = options;\n\t},\n\n\tsetHoverStyle: function(element) {\n\t\t// Point\n\t\tvar me = this;\n\n\t\tRadarController.prototype.setHoverStyle.apply(me, arguments);\n\n\t\tstyleHelpers.saveStyle(element);\n\t\tstyleHelpers.setHoverStyle(element._model, element._styleOptions);\n\t},\n\n\tremoveHoverStyle: function(element) {\n\t\tvar me = this;\n\n\t\t// For Chart.js 2.7.2 backward compatibility\n\t\tif (!element.$previousStyle) {\n\t\t\tstyleHelpers.mergeStyle(element._model, element._styleOptions);\n\t\t}\n\n\t\tRadarController.prototype.removeHoverStyle.apply(me, arguments);\n\t}\n});\n\nvar defaults$1 = Chart.defaults;\nvar helpers$b = Chart.helpers;\n\n// For Chart.js 2.7.1 backward compatibility\nvar layouts = Chart.layouts || Chart.layoutService;\n\n// For Chart.js 2.6.0 backward compatibility\nvar valueOrDefault = helpers$b.valueOrDefault || helpers$b.getValueOrDefault;\n\n// For Chart.js 2.6.0 backward compatibility\nvar valueAtIndexOrDefault = helpers$b.valueAtIndexOrDefault || helpers$b.getValueAtIndexOrDefault;\n\n// For Chart.js 2.6.0 backward compatibility\nvar mergeIf = helpers$b.mergeIf || function(target, source) {\n\treturn helpers$b.configMerge.call(this, source, target);\n};\n\nvar extend$6 = helpers$b.extend;\n\n// Ported from Chart.js 2.8.0. Modified for style legend.\n// Generates labels shown in the legend\ndefaults$1.global.legend.labels.generateLabels = function(chart) {\n\tvar data = chart.data;\n\tvar options = chart.options.legend || {};\n\tvar usePointStyle = options.labels && options.labels.usePointStyle;\n\n\treturn helpers$b.isArray(data.datasets) ? data.datasets.map(function(dataset, i) {\n\t\tvar meta = chart.getDatasetMeta(i);\n\t\tvar controller = meta.controller;\n\t\tvar elementOpts = chart.options.elements;\n\t\tvar element, styleOptions;\n\n\t\tif (usePointStyle) {\n\t\t\telement = meta.data[0] || {};\n\t\t\tstyleOptions = styleHelpers.resolvePointStyle(controller, element, i, elementOpts.point);\n\t\t} else if (meta.dataset) {\n\t\t\telement = meta.dataset;\n\t\t\tstyleOptions = styleHelpers.resolveLineStyle(controller, element, elementOpts.line);\n\t\t} else {\n\t\t\telement = meta.data[0] || {};\n\t\t\tstyleOptions = styleHelpers.resolveStyle(controller, element, i, meta.bar ? elementOpts.rectangle : elementOpts.point);\n\t\t}\n\n\t\treturn extend$6({\n\t\t\ttext: dataset.label,\n\t\t\tfillStyle: valueAtIndexOrDefault(dataset.backgroundColor, 0),\n\t\t\thidden: !chart.isDatasetVisible(i),\n\t\t\tlineCap: dataset.borderCapStyle,\n\t\t\tlineDash: dataset.borderDash,\n\t\t\tlineDashOffset: dataset.borderDashOffset,\n\t\t\tlineJoin: dataset.borderJoinStyle,\n\t\t\tlineWidth: dataset.borderWidth,\n\t\t\tstrokeStyle: dataset.borderColor,\n\t\t\tpointStyle: dataset.pointStyle,\n\n\t\t\t// Below is extra data used for toggling the datasets\n\t\t\tdatasetIndex: i\n\t\t}, styleOptions);\n\t}, this) : [];\n};\n\nfunction drawLegendBox(chart, options, drawCallback) {\n\tvar ctx = chart.ctx;\n\n\tstyleHelpers.drawShadow(chart, options, drawCallback, true);\n\n\tif (styleHelpers.opaque(ctx.fillStyle)) {\n\t\tctx.save();\n\n\t\tctx.strokeStyle = 'rgba(0, 0, 0, 0)';\n\t\tdrawCallback();\n\n\t\tstyleHelpers.drawBackgroundOverlay(chart, options, drawCallback);\n\t\tstyleHelpers.drawBevel(chart, options, drawCallback);\n\n\t\tctx.restore();\n\t}\n\n\tstyleHelpers.drawInnerGlow(chart, options, drawCallback);\n\tstyleHelpers.drawOuterGlow(chart, options, drawCallback);\n\n\tctx.fillStyle = 'rgba(0, 0, 0, 0)';\n\tdrawCallback();\n\n\tctx.restore();\n}\n\nvar StyleLegend = Chart.Legend.extend({\n\n\tdraw: function() {\n\t\tvar me = this;\n\t\tvar chart = me.chart;\n\t\tvar globalDefaults = defaults$1.global;\n\t\tvar each = helpers$b.each;\n\t\tvar drawPoint = helpers$b.canvas.drawPoint;\n\t\tvar ctx = me.ctx;\n\t\tvar options;\n\n\t\thelpers$b.each = function(loopable, fn) {\n\t\t\teach(loopable, function(legendItem) {\n\t\t\t\tvar keys = Object.keys(legendItem);\n\t\t\t\tvar i, ilen;\n\n\t\t\t\toptions = {};\n\t\t\t\tfor (i = 0, ilen = keys.length; i < ilen; i++) {\n\t\t\t\t\toptions[keys[i]] = legendItem[keys[i]];\n\t\t\t\t}\n\t\t\t\toptions.borderColor = valueOrDefault(legendItem.strokeStyle, globalDefaults.defaultColor);\n\t\t\t\toptions.borderWidth = valueOrDefault(legendItem.lineWidth, globalDefaults.elements.line.borderWidth);\n\n\t\t\t\tfn.apply(null, arguments);\n\t\t\t});\n\t\t};\n\n\t\thelpers$b.canvas.drawPoint = function() {\n\t\t\tvar args = arguments;\n\t\t\tvar drawCallback = function() {\n\t\t\t\tdrawPoint.apply(null, args);\n\t\t\t};\n\n\t\t\tdrawLegendBox(chart, options, drawCallback);\n\t\t};\n\n\t\tctx.strokeRect = function() {\n\t\t\t// noop\n\t\t};\n\n\t\tctx.fillRect = function(x, y, width, height) {\n\t\t\tvar drawCallback = function() {\n\t\t\t\tctx.beginPath();\n\t\t\t\tctx.rect(x, y, width, height);\n\t\t\t\tctx.fill();\n\t\t\t\tif (options.borderWidth !== 0) {\n\t\t\t\t\tctx.stroke();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tdrawLegendBox(chart, options, drawCallback);\n\t\t};\n\n\t\tChart.Legend.prototype.draw.apply(me, arguments);\n\n\t\thelpers$b.each = each;\n\t\thelpers$b.canvas.drawPoint = drawPoint;\n\t\tdelete ctx.fillRect;\n\t\tdelete ctx.strokeRect;\n\t}\n});\n\n// Ported from Chart.js 2.8.0. Modified for style legend.\nfunction createNewLegendAndAttach(chart, legendOpts) {\n\tvar legend = new StyleLegend({\n\t\tctx: chart.ctx,\n\t\toptions: legendOpts,\n\t\tchart: chart\n\t});\n\n\tlayouts.configure(chart, legend, legendOpts);\n\tlayouts.addBox(chart, legend);\n\tchart.legend = legend;\n}\n\nvar StyleLegendPlugin = {\n\tid: 'legend',\n\n\t_element: StyleLegend,\n\n\t// Ported from Chart.js 2.8.0.\n\tbeforeInit: function(chart) {\n\t\tvar legendOpts = chart.options.legend;\n\n\t\tif (legendOpts) {\n\t\t\tcreateNewLegendAndAttach(chart, legendOpts);\n\t\t}\n\t},\n\n\t// Ported from Chart.js 2.8.0.\n\tbeforeUpdate: function(chart) {\n\t\tvar legendOpts = chart.options.legend;\n\t\tvar legend = chart.legend;\n\n\t\tif (legendOpts) {\n\t\t\tmergeIf(legendOpts, defaults$1.global.legend);\n\n\t\t\tif (legend) {\n\t\t\t\tlayouts.configure(chart, legend, legendOpts);\n\t\t\t\tlegend.options = legendOpts;\n\t\t\t} else {\n\t\t\t\tcreateNewLegendAndAttach(chart, legendOpts);\n\t\t\t}\n\t\t} else if (legend) {\n\t\t\tlayouts.removeBox(chart, legend);\n\t\t\tdelete chart.legend;\n\t\t}\n\t},\n\n\t// Ported from Chart.js 2.8.0.\n\tafterEvent: function(chart, e) {\n\t\tvar legend = chart.legend;\n\t\tif (legend) {\n\t\t\tlegend.handleEvent(e);\n\t\t}\n\t}\n};\n\nvar helpers$c = Chart.helpers;\n\n// For Chart.js 2.7.1 backward compatibility\nvar layouts$1 = Chart.layouts || Chart.layoutService;\n\nvar plugins = Chart.plugins;\n\nvar styleControllers = {\n\tbar: StyleBarController,\n\tbubble: StyleBubbleController,\n\tdoughnut: StyleDoughnutController,\n\thorizontalBar: StyleHorizontalBarController,\n\tline: StyleLineController,\n\tpolarArea: StylePolarAreaController,\n\tpie: StyleDoughnutController,\n\tradar: StyleRadarController,\n\tscatter: StyleLineController\n};\n\n// Ported from Chart.js 2.8.0. Modified for style controllers.\nfunction buildOrUpdateControllers() {\n\tvar me = this;\n\tvar newControllers = [];\n\n\thelpers$c.each(me.data.datasets, function(dataset, datasetIndex) {\n\t\tvar meta = me.getDatasetMeta(datasetIndex);\n\t\tvar type = dataset.type || me.config.type;\n\n\t\tif (meta.type && meta.type !== type) {\n\t\t\tme.destroyDatasetMeta(datasetIndex);\n\t\t\tmeta = me.getDatasetMeta(datasetIndex);\n\t\t}\n\t\tmeta.type = type;\n\n\t\tif (meta.controller) {\n\t\t\tmeta.controller.updateIndex(datasetIndex);\n\t\t\tmeta.controller.linkScales();\n\t\t} else {\n\t\t\tvar ControllerClass = styleControllers[meta.type];\n\t\t\tif (ControllerClass === undefined) {\n\t\t\t\tthrow new Error('\"' + meta.type + '\" is not a chart type.');\n\t\t\t}\n\n\t\t\tmeta.controller = new ControllerClass(me, datasetIndex);\n\t\t\tnewControllers.push(meta.controller);\n\t\t}\n\t}, me);\n\n\treturn newControllers;\n}\n\n// Ported from Chart.js 2.8.0. Modified for style tooltip.\nfunction initToolTip() {\n\tvar me = this;\n\tme.tooltip = new StyleTooltip({\n\t\t_chart: me,\n\t\t_chartInstance: me, // deprecated, backward compatibility\n\t\t_data: me.data,\n\t\t_options: me.options.tooltips\n\t}, me);\n}\n\nvar descriptors = plugins.descriptors;\n\nplugins.descriptors = function(chart) {\n\tvar style = chart._style;\n\n\t// Replace legend plugin with style legend plugin\n\tif (style) {\n\t\t// chart._plugins for Chart.js 2.7.1 backward compatibility\n\t\tvar cache = chart.$plugins || chart._plugins || (chart.$plugins = chart._plugins = {});\n\t\tif (cache.id === this._cacheId) {\n\t\t\treturn cache.descriptors;\n\t\t}\n\n\t\tvar p = this._plugins;\n\t\tvar result;\n\n\t\tthis._plugins = p.map(function(plugin) {\n\t\t\tif (plugin.id === 'legend') {\n\t\t\t\treturn StyleLegendPlugin;\n\t\t\t}\n\t\t\treturn plugin;\n\t\t});\n\t}\n\n\tresult = descriptors.apply(this, arguments);\n\n\tif (style) {\n\t\tthis._plugins = p;\n\t}\n\n\treturn result;\n};\n\nvar StylePlugin = {\n\tid: 'style',\n\n\tbeforeInit: function(chart) {\n\t\tchart._style = {};\n\n\t\tchart.buildOrUpdateControllers = buildOrUpdateControllers;\n\t\tchart.initToolTip = initToolTip;\n\n\t\t// Remove the existing legend if exists\n\t\tif (chart.legend) {\n\t\t\tlayouts$1.removeBox(chart, chart.legend);\n\t\t\tdelete chart.legend;\n\t\t}\n\n\t\t// Invalidate plugin cache and create new one\n\t\tdelete chart.$plugins;\n\t\t// For Chart.js 2.7.1 backward compatibility\n\t\tdelete chart._plugins;\n\t\tplugins.descriptors(chart);\n\t}\n};\n\nChart.plugins.register(StylePlugin);\n\nreturn StylePlugin;\n\n}));\n"],"sourceRoot":""}