{"version":3,"sources":["webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/oc-lnc.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/ku.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./src/views/dashboard/agent/dashboard/home.vue?5d7f","webpack:///./node_modules/vue-chartjs/es/mixins/index.js","webpack:///./node_modules/vue-chartjs/es/BaseCharts.js","webpack:///./src/components/agent/Backoffice/Charts/BarChart.js","webpack:///./src/components/agent/Backoffice/Charts/LineChart.js","webpack:///src/views/dashboard/agent/dashboard/home.vue","webpack:///./src/views/dashboard/agent/dashboard/home.vue?bf72","webpack:///./src/views/dashboard/agent/dashboard/home.vue","webpack:///./node_modules/chart.js/dist/Chart.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/zh-mo.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/ga.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/tk.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/it-ch.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/mn.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/bn-bd.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/gom-deva.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/es-mx.js","webpack:///./node_modules/moment/locale/en-sg.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/moment.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/fil.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/en-in.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/se.js"],"names":["global","factory","this","moment","uzLatn","defineLocale","months","split","monthsShort","weekdays","weekdaysShort","weekdaysMin","longDateFormat","LT","LTS","L","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","s","ss","m","mm","h","hh","d","dd","M","MM","y","yy","week","dow","doy","ml","monthsParseExact","meridiemParse","meridiemHour","hour","meridiem","minute","isLower","cv","output","affix","exec","dayOfMonthOrdinalParse","ordinal","plural","n","translate","number","withoutSuffix","key","isFuture","result","is","fo","ja","eras","since","offset","name","narrow","abbr","until","Infinity","eraYearOrdinalRegex","eraYearOrdinalParse","input","match","parseInt","l","ll","lll","llll","isPM","now","period","monthsShortDot","monthsParse","monthsRegex","esDo","format","test","month","monthsShortRegex","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","weekdaysParseExact","hours","w","ww","arMa","processRelativeTime","gomLatn","standalone","isFormat","frCh","enAu","b","suffixes","1","5","8","70","80","2","7","20","50","3","4","100","6","9","10","30","60","90","tr","minutes","a","c","da","tlPh","eu","th","translator","words","correctGrammaticalCase","wordKey","length","srCyrl","day","lastWeekDays","ocLnc","mt","symbolMap","0","pluralForm","plurals","pluralize","u","string","f","str","replace","arLy","preparse","postformat","word","num","forms","relativeTimeWithPlural","be","ka","$0","$1","$2","ko","token","isUpper","numberMap","ku","bs","units","translateSeconds","translateSingular","special","lt","vi","me","af","uz","render","_vm","_h","$createElement","_c","_self","staticClass","$operatorRetail","attrs","_v","_s","$t","balance","_f","limit_retention","remaining_balance","_e","affiliateLevel","dataLineChart","data","labels","maxLineChart","dataBarChart","maxBarChart","staticRenderFns","generateChart","chartId","chartType","createElement","style","styles","class","cssClasses","id","width","height","ref","props","default","type","String","Number","Object","plugins","Array","_chart","_plugins","methods","addPlugin","plugin","$data","push","generateLegend","renderChart","options","destroy","$refs","canvas","Error","getContext","beforeDestroy","Bar","Line","language","localStorage","getItem","store","state","extends","chartdata","datasets","label","messages","labelCurrency","backgroundColor","pointBackgroundColor","borderWidth","pointBorderColor","responsive","maintainAspectRatio","scales","yAxes","ticks","min","max","stepSize","gradient","watch","val","map","item","set","mounted","createLinearGradient","addColorStop","forEach","vm","components","BarChart","LineChart","computed","$store","logged","is_afilliate","weekName","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday","getDataCharts","$axios","post","then","dados","topBetsPunter","filters","maskValue","component","VCard","VCardText","VCardTitle","VDivider","VIcon","VToolbar","VToolbarTitle","module","exports","e","createCommonjsModule","fn","getCjsExportFromNamespace","hasOwnProperty","colorName","conversions","reverseKeywords","convert","rgb","channels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","ansi16","ansi256","hcg","apple","gray","model","defineProperty","value","comparativeDistance","x","Math","pow","r","g","delta","rdif","gdif","bdif","v","diff","diffc","k","reversed","currentClosestKeyword","currentClosestDistance","distance","z","t1","t2","t3","i","sv","smin","lmin","hi","floor","p","q","t","sl","vmin","wh","bl","ratio","y2","x2","z2","hr","atan2","PI","sqrt","cos","sin","args","arguments","round","ansi","color","mult","rem","integer","toString","toUpperCase","substring","colorString","char","join","grayscale","hue","chroma","pure","mg","buildGraph","graph","models","keys","len","parent","deriveBFS","fromModel","queue","current","pop","adjacents","adjacent","node","unshift","link","from","to","wrapConversion","toModel","path","cur","conversion","route","wrapRaw","wrappedFn","undefined","prototype","slice","call","wrapRounded","routes","routeModels","raw","colorConvert","colorName$1","getRgba","getHsla","getRgb","getHsl","getHwb","getAlpha","hexString","rgbString","rgbaString","percentString","percentaString","hslString","hslaString","hwbString","rgba","per","hexAlpha","parseFloat","scale","alpha","isNaN","hsla","vals","hexDouble","reverseNames","Color","obj","valid","values","setValues","red","lightness","whiteness","cyan","isValid","setSpace","rgbArray","hslArray","hsvArray","hwbArray","concat","cmykArray","rgbaArray","hslaArray","setChannel","green","blue","saturation","saturationv","blackness","magenta","yellow","black","rgbNumber","luminosity","lum","chan","contrast","color2","lum1","lum2","level","contrastRatio","dark","yiq","light","negate","lighten","darken","saturate","desaturate","whiten","blacken","greyscale","clearer","opaquer","rotate","degrees","mix","mixinColor","weight","color1","w1","w2","toJSON","clone","source","target","prop","console","error","spaces","maxes","getValues","space","charAt","capped","chans","sname","index","svalues","window","chartjsColor","isValidKey","indexOf","helpers","noop","uid","isNullOrUndef","isArray","substr","isObject","isFinite","valueOrDefault","defaultValue","valueAtIndexOrDefault","callback","thisArg","apply","each","loopable","reverse","arrayEquals","a0","a1","ilen","v0","v1","create","klen","_merger","tval","sval","merge","_mergerIf","mergeIf","sources","merger","extend","assign","dst","src","inherits","extensions","ChartElement","constructor","Surrogate","__super__","_deprecated","scope","previous","warn","helpers_core","callCallback","array","fromIndex","getValueOrDefault","getValueAtIndexOrDefault","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","asin","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","easeInOutBounce","helpers_easing","easingEffects","RAD_PER_DEG","DOUBLE_PI","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","exports$1","clear","chart","ctx","clearRect","roundedRect","radius","left","top","right","bottom","moveTo","arc","closePath","rect","drawPoint","rotation","xOffset","yOffset","size","cornerRadius","rad","save","drawImage","restore","beginPath","lineTo","SQRT1_2","fill","stroke","_isPointInArea","point","area","epsilon","clipArea","clip","unclipArea","flip","stepped","steppedLine","midpoint","tension","bezierCurveTo","controlPointPreviousX","controlPointNextX","controlPointPreviousY","controlPointNextY","helpers_canvas","drawRoundedRectangle","defaults","_set","defaultColor","defaultFontColor","defaultFontFamily","defaultFontSize","defaultFontStyle","defaultLineHeight","showLines","core_defaults","toFontString","font","family","helpers_options","toLineHeight","matches","toPadding","_parseFont","globalDefaults","fontSize","fontFamily","lineHeight","fontStyle","resolve","inputs","context","info","cacheable","exports$2","_factorize","sort","log10","exponent","log","LOG10E","powerOf10","isPowerOf10","helpers_math","getRtlAdapter","rectX","setWidth","textAlign","align","xPlus","leftForLtr","itemWidth","getLtrAdapter","_itemWidth","getAdapter","rtl","overrideTextDirection","direction","original","getPropertyValue","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","helpers_rtl","helpers$1","easing","math","interpolate","start","view","ease","actual","origin","c0","c1","Element","configuration","initialize","_type","hidden","pivot","_view","_model","_start","transition","tooltipPosition","hasValue","isNumber","core_element","exports$3","currentStep","numSteps","onAnimationProgress","onAnimationComplete","core_animation","get","animation","duration","onProgress","onComplete","core_animations","animations","request","addAnimation","lazy","startTime","Date","animating","requestAnimationFrame","cancelAnimation","findIndex","splice","requestAnimFrame","startDigest","advance","nextStep","arrayEvents","listenArrayEvents","listener","_chartjs","listeners","configurable","enumerable","method","base","res","object","unlistenArrayEvents","stub","DatasetController","datasetIndex","datasetElementType","dataElementType","_datasetElementOptions","_dataElementOptions","linkScales","addElements","getMeta","updateIndex","meta","dataset","getDataset","scalesOpts","xAxisID","xAxes","yAxisID","getDatasetMeta","getScaleForId","scaleID","_getValueScaleId","_getIndexScaleId","_getValueScale","_getIndexScale","reset","_update","_data","createMetaDataset","_datasetIndex","createMetaData","_index","metaData","addElementAndReset","element","updateElement","buildOrUpdateElements","isExtensible","resyncElements","_configure","_config","_cachedDataOpts","update","easingValue","elements","draw","getStyle","_resolveDatasetElementOptions","_resolveDataElementOptions","borderColor","hover","readKey","datasetOpts","custom","elementOptions","cached","dataIndex","freeze","removeHoverStyle","$previousStyle","setHoverStyle","getHoverColor","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","_removeDatasetHoverStyle","_setDatasetHoverStyle","hoverOptions","prev","numMeta","numData","insertElements","count","onDataPush","onDataPop","onDataShift","shift","onDataSplice","onDataUnshift","core_datasetController","TAU","clipArc","startAngle","endAngle","pixelMargin","angleMargin","outerRadius","innerRadius","drawFullCircleBorders","inner","fullCircles","drawBorder","borderAlign","lineWidth","lineJoin","element_arc","inLabelRange","mouseX","hoverRadius","inRange","chartX","chartY","pointRelativePosition","getAngleFromPoint","angle","betweenAngles","withinRadius","getCenterPoint","halfAngle","halfRadius","getArea","centreAngle","rangeFromCentre","circumference","fillStyle","strokeStyle","valueOrDefault$1","line","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","capBezierPoints","element_line","currentVM","spanGaps","points","_children","globalOptionLineElements","lastDrawnIndex","_loop","previousItem","skip","lineCap","setLineDash","lineDashOffset","valueOrDefault$2","defaultColor$1","xRange","abs","hitRadius","yRange","mouseY","pointStyle","element_point","inXRange","inYRange","padding","chartArea","defaultColor$2","isVertical","getBarBounds","x1","y1","half","swap","orig","v2","parseBorderSkipped","edge","borderSkipped","horizontal","parseBorderWidth","maxW","maxH","boundingRects","bounds","border","outer","skipX","skipY","rectangle","element_rectangle","rects","fillRect","Arc","Point","Rectangle","deprecated","valueOrDefault$3","computeMinSampleSize","pixels","curr","_length","getTicks","getPixelForTick","computeFitCategoryTraits","ruler","thickness","barThickness","stackCount","categoryPercentage","barPercentage","chunk","computeFlexCategoryTraits","next","percent","end","mode","gridLines","offsetGridLines","bar","controller_bar","scaleOpts","stack","minBarLength","maxBarThickness","_ruler","getRuler","_xScale","_yScale","datasetLabel","_updateElementGeometry","vscale","getBasePixel","isHorizontal","vpixels","calculateBarValuePixels","ipixels","calculateBarIndexPixels","head","center","_getStacks","last","metasets","_getMatchingVisibleMetas","stacked","stacks","getStackCount","getStackIndex","getPixelForValue","_startPixel","_endPixel","imeta","ivalue","stackLength","_parseValue","range","stackIndex","indexOpts","valueOpts","valueOrDefault$4","resolve$1","position","tooltips","callbacks","title","dataPoint","xLabel","yLabel","controller_bubble","xScale","yScale","dsIndex","getPixelForDecimal","NaN","_options","valueOrDefault$5","PI$1","DOUBLE_PI$1","HALF_PI$1","animateRotate","animateScale","legendCallback","listItem","listItemSpan","list","document","setAttribute","appendChild","createTextNode","outerHTML","legend","generateLabels","controller","text","onClick","legendItem","cutoutPercentage","tooltipItem","dataLabel","controller_doughnut","getRingIndex","ringIndex","j","isDatasetVisible","maxWidth","maxHeight","opts","ratioX","ratioY","offsetX","offsetY","arcs","cutout","chartWeight","_getRingWeight","startX","startY","endX","endY","contains0","contains90","contains180","contains270","minX","minY","maxX","maxY","getMaxBorderWidth","radiusLength","_getVisibleDatasetWeightTotal","total","calculateTotal","_getRingWeightOffset","animationOpts","centerX","centerY","calculateCircumference","hoverWidth","ringWeightOffset","dataSetIndex","axis","horizontalBar","controller_horizontalBar","valueOrDefault$6","resolve$2","isPointInArea","scaleClip","halfBorderWidth","tickOpts","defaultClip","toClip","controller_line","config","showLine","_showLine","lineTension","_scale","updateBezierControlPoints","lineModel","calculatePointY","lineOptions","ds","dsMeta","stackedRightValue","rightValue","sumPos","sumNeg","getRightValue","_getSortedVisibleDatasetMetas","controlPoints","capControlPoint","pt","filter","cubicInterpolationMode","splineCurveMonotone","splineCurve","nextItem","resolve$3","angleLines","display","circular","pointLabels","beginAtZero","controller_polarArea","starts","_starts","angles","_angles","_updateRadius","countVisibleElements","_computeAngle","minSize","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getDistanceFromCenterForValue","resetRadius","doughnut","controller_pie","valueOrDefault$7","controller_radar","pointPosition","getPointPositionForValue","scatter","controller_scatter","controllers","bubble","polarArea","pie","radar","getRelativePosition","native","parseVisibleItems","handler","metadata","jlen","getIntersectItems","getNearestItems","intersect","distanceMetric","minDistance","POSITIVE_INFINITY","nearestItems","getDistanceMetricForAxis","useX","useY","pt1","pt2","deltaX","deltaY","indexMode","items","core_interaction","modes","single","nearest","intersectsItem","filterByPosition","where","pos","sortByWeight","wrapBoxes","boxes","box","layoutBoxes","setLayoutDims","layouts","params","layout","fullWidth","availableWidth","vBoxMaxWidth","hBoxMaxHeight","buildLayoutBoxes","leftAndTop","rightAndBottom","vertical","getCombinedMax","maxPadding","updateDims","newWidth","newHeight","getPadding","boxPadding","outerWidth","outerHeight","sizes","handleMaxPadding","updatePos","change","getMargins","marginForPositions","positions","margin","fitBoxes","refit","changed","refitBoxes","placeBoxes","userPadding","core_layouts","addBox","_layers","removeBox","layoutItem","configure","layoutOptions","availableHeight","verticalBoxes","horizontalBoxes","platform_basic","acquireContext","platform_dom","platform_dom$1","__proto__","stylesheet","EXPANDO_KEY","CSS_PREFIX","CSS_SIZE_MONITOR","CSS_RENDER_MONITOR","CSS_RENDER_ANIMATION","ANIMATION_START_EVENTS","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","readUsedSize","property","initCanvas","renderHeight","getAttribute","renderWidth","initial","displayWidth","aspectRatio","displayHeight","supportsEventListenerOptions","supports","addEventListener","eventListenerOptions","passive","addListener","removeListener","removeEventListener","createEvent","nativeEvent","fromNativeEvent","event","throttled","ticking","createDiv","cls","el","className","createResizer","maxSize","resizer","expand","shrink","_reset","scrollLeft","scrollTop","onScroll","bind","watchForRender","expando","proxy","renderProxy","animationName","reflow","offsetParent","classList","add","unwatchForRender","remove","addResizeListener","container","parentNode","clientWidth","insertBefore","firstChild","removeResizeListener","removeChild","injectCSS","rootNode","css","containsStyles","platform_dom$2","disableCSSInjection","_enabled","_ensureLoaded","root","getRootNode","targetNode","host","getElementById","releaseContext","removeAttribute","proxies","addEvent","removeEvent","implementation","platform","core_plugins","_cacheId","register","unregister","idx","getAll","notify","hook","descriptor","descriptors","cache","$plugins","_invalidate","core_scaleService","constructors","registerScaleType","scaleConstructor","scaleDefaults","getScaleConstructor","getScaleDefaults","updateScaleDefaults","additions","addScalesToLayout","valueOrDefault$8","getRtlHelper","enabled","titleFontStyle","titleSpacing","titleMarginBottom","titleFontColor","titleAlign","bodySpacing","bodyFontColor","bodyAlign","footerFontStyle","footerSpacing","footerMarginTop","footerFontColor","footerAlign","yPadding","xPadding","caretPadding","caretSize","multiKeyBackground","displayColors","beforeTitle","tooltipItems","labelCount","afterTitle","beforeBody","beforeLabel","labelColor","activeElement","labelTextColor","afterLabel","afterBody","beforeFooter","footer","afterFooter","positioners","average","eventPosition","nearestElement","distanceBetweenPoints","tp","pushOrConcat","toPush","splitNewlines","createTooltipItem","indexScale","valueScale","getLabelForIndex","getBaseModel","tooltipOpts","xAlign","yAlign","textDirection","_bodyFontFamily","bodyFontFamily","_bodyFontStyle","bodyFontStyle","_bodyAlign","bodyFontSize","_titleFontFamily","titleFontFamily","_titleFontStyle","titleFontSize","_titleAlign","_footerFontFamily","footerFontFamily","_footerFontStyle","footerFontSize","_footerAlign","opacity","legendColorBackground","getTooltipSize","tooltip","body","combinedBodyLength","reduce","bodyItem","before","lines","after","titleLineCount","footerLineCount","widthPadding","maxLineWidth","measureText","fontString","determineAlignment","lf","rf","olf","orf","yf","midX","midY","getBackgroundPoint","alignment","paddingAndSize","radiusAndPadding","getAlignedX","getBeforeAfterBodyLines","exports$4","_lastActive","getTitle","getBeforeBody","getBody","bodyItems","getAfterBody","getFooter","existingModel","active","_active","backgroundPoint","tooltipSize","caretX","caretY","labelColors","labelTextColors","_eventPosition","itemSort","dataPoints","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","tmp","drawTitle","rtlHelper","textBaseline","fillText","drawBody","textColor","drawColorBoxes","xLinePadding","colorX","fillLineOfText","bodyAlignForCalculation","rtlColorX","strokeRect","drawFooter","drawBackground","quadraticCurveTo","hasTooltipContent","globalAlpha","handleEvent","getElementsAtEventForMode","positioners_1","core_tooltip","valueOrDefault$9","mergeScaleConfig","slen","mergeConfig","initConfig","updateConfig","newOptions","ensureScalesHaveIDs","buildOrUpdateScales","nextAvailableScaleId","axesOpts","prefix","hasId","positionIsHorizontal","compare2Level","l1","l2","events","onHover","animationDuration","responsiveAnimationDuration","Chart","construct","_bufferedRender","instances","retinaScale","devicePixelRatio","bindEvents","resize","initToolTip","stop","silent","getMaximumWidth","getMaximumHeight","newSize","onResize","scalesOptions","scaleOptions","xAxisOptions","yAxisOptions","updated","dtype","dposition","isDefault","scaleType","scaleClass","mergeTicksOptions","hasUpdated","buildOrUpdateControllers","newControllers","destroyDatasetMeta","order","ControllerClass","resetElements","updateLayout","updateDatasets","lastActive","_bufferedRequest","_idx","updateDataset","animationOptions","animationObject","easingFunction","stepDecimal","layers","drawDatasets","_drawTooltip","_getSortedDatasetMetas","filterVisible","drawDataset","getElementAtEvent","getElementsAtEvent","getElementsAtXAxis","getDatasetAtEvent","_meta","unbindEvents","toBase64Image","toDataURL","_chartInstance","_listeners","eventHandler","updateHoverStyle","bufferedRequest","core_controller","Controller","types","configMerge","scaleMerge","core_helpers","parseMaxStyle","styleValue","parentProperty","valueInPixels","isConstrainedValue","getConstraintDimension","domNode","maxStyle","percentageProperty","defaultView","_getParentNode","constrainedNode","getComputedStyle","constrainedContainer","hasCNode","hasCContainer","infinity","collection","filterCallback","filtered","findNextWhere","arrayToSearch","startIndex","currentItem","findPreviousWhere","almostEquals","almostWhole","rounded","NEGATIVE_INFINITY","sign","toRadians","toDegrees","radians","_decimalPlaces","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","aliasPixel","pixelWidth","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","firstPoint","middlePoint","afterPoint","d01","d12","s01","s12","fa","fb","EPSILON","pointBefore","pointCurrent","pointAfter","alphaK","betaK","tauK","squaredMagnitude","pointsWithTangents","deltaK","mK","pointsLen","slopeDeltaX","loop","niceNum","niceFraction","fraction","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","setTimeout","evt","originalEvent","srcElement","boundingRect","getBoundingClientRect","touches","clientX","clientY","paddingLeft","paddingTop","paddingRight","paddingBottom","getConstraintWidth","getConstraintHeight","_calculatePadding","parentDimension","cw","clientHeight","ch","currentStyle","forceRatio","pixelRatio","pixelSize","longestText","arrayOfThings","gc","garbageCollect","thing","nestedThing","longest","gcLen","textWidth","numberOfLabelLines","numberOfLines","CanvasGradient","colorValue","CanvasPattern","abstract","DateAdapter","formats","parse","startOf","endOf","_create","override","members","_date","core_adapters","core_ticks","formatters","tickValue","logDelta","tickString","maxTick","logTick","numExponential","toExponential","numDecimal","toFixed","logarithmic","remain","valueOrDefault$a","sample","arr","numItems","increment","getPixelForGridLine","validIndex","lineValue","caches","computeLabelSizes","tickFonts","tickFont","nestedLabel","widest","highest","widths","heights","offsets","widestLabelSize","highestLabelSize","major","minor","valueAt","first","getTickMarkLength","drawTicks","tickMarkLength","getScaleLabelHeight","parseFontOptions","nestedOpts","fontColor","parseTickFontOptions","nonSkipped","ticksToFilter","getEvenSpacing","calculateSpacing","majorIndices","axisLength","ticksLimit","factors","factor","evenMajorSpacing","spacing","getMajorIndices","skipMajors","tick","ceil","majorStart","majorEnd","drawOnChartArea","zeroLineWidth","zeroLineColor","zeroLineBorderDash","zeroLineBorderDashOffset","scaleLabel","labelString","minRotation","maxRotation","mirror","autoSkip","autoSkipPadding","labelOffset","Scale","zeroLineIndex","_ticks","_getLabels","xLabels","yLabels","beforeUpdate","margins","samplingEnabled","sampleSize","_labelSizes","_maxLabelLines","longestLabelWidth","longestTextCache","_gridLineItems","_labelItems","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","beforeBuildTicks","buildTicks","afterBuildTicks","_convertTicksToLabels","beforeCalculateTickRotation","calculateTickRotation","afterCalculateTickRotation","beforeFit","fit","afterFit","_ticksToDraw","_autoSkip","afterUpdate","startPixel","endPixel","reversePixels","_reversePixels","beforeTickToLabelConversion","convertTicksToLabels","userCallback","afterTickToLabelConversion","labelSizes","maxLabelWidth","maxLabelHeight","tickWidth","maxLabelDiagonal","numTicks","labelRotation","_isVisible","_getLabelSizes","scaleLabelOpts","gridLineOpts","isBottom","firstLabelSize","lastLabelSize","lineSpace","tickPadding","isRotated","angleRadians","cosRotation","sinRotation","labelHeight","offsetLeft","offsetRight","labelWidth","handleMargins","isFullWidth","rawValue","_getScaleLabel","getValueForPixel","decimal","getDecimalForPixel","getBaseValue","avgMajorSpacing","maxTicksLimit","_tickSize","numMajorIndices","optionTicks","rot","_computeGridLineItems","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","lineColor","ticksLength","tl","axisWidth","axisHalfWidth","alignPixel","alignBorderValue","_computeLabelItems","lineCount","textOffset","isMirrored","fonts","_drawGrid","firstLineWidth","lastLineWidth","_drawLabels","_drawTitle","scaleLabelX","scaleLabelY","scaleLabelFontColor","scaleLabelFont","scaleLabelPadding","halfLineHeight","isLeft","tz","gz","_draw","core_scale","isNullOrUndef$1","defaultConfig","scale_category","ticksOpts","minIndex","maxIndex","_startValue","_valueRange","valueCategory","_defaults","isNullOrUndef$2","generateTicks","generationOptions","dataRange","niceMin","niceMax","numSpaces","MIN_SPACING","unit","maxNumSpaces","maxTicks","precision","rmin","rmax","scale_linearbase","handleTickRangeOptions","minSign","maxSign","setMin","suggestedMin","setMax","suggestedMax","getTickLimit","_computeTickLimit","handleDirectionalChanges","numericGeneratorOptions","fixedStepSize","ticksAsNumbers","_endValue","defaultConfig$1","DEFAULT_MIN","DEFAULT_MAX","getOrCreateStack","neg","stackData","relativePoints","updateMinMax","scale_linear","hasStacks","stackValues","_defaults$1","valueOrDefault$b","generateTicks$1","exp","significand","tickVal","endExp","endSignificand","minNotZero","lastTick","defaultConfig$2","nonNegativeOrDefault","scale_logarithmic","IDMatches","valuesPerStack","valuesForType","minVal","maxVal","tickValues","_getFirstTickValue","_valueOffset","_defaults$2","valueOrDefault$c","valueAtIndexOrDefault$1","resolve$4","defaultConfig$3","animate","showLabelBackdrop","backdropColor","backdropPaddingY","backdropPaddingX","getTickBackdropHeight","measureLabelSize","determineLimits","fitWithPointLabels","textSize","plFont","furthestLimits","furthestAngles","_pointLabelSizes","valueCount","getPointPosition","drawingArea","getIndexAngle","hLimits","vLimits","setReductions","getTextAlignForAngle","adjustPointPositionForLabelHeight","drawPointLabels","pointLabelOpts","tickBackdropHeight","outerDistance","extra","pointLabelPosition","pointLabelFontColor","drawRadiusLine","numberOrZero","param","scale_radialLinear","setCenterPoint","largestPossibleRadius","radiusReductionLeft","radiusReductionRight","radiusReductionTop","radiusReductionBottom","leftMovement","rightMovement","topMovement","bottomMovement","maxRight","maxLeft","maxTop","maxBottom","angleMultiplier","scalingFactor","distanceFromCenter","thisAngle","getBasePosition","angleLineOpts","tickFontColor","_defaults$3","deprecated$1","resolve$5","valueOrDefault$d","MIN_INTEGER","MIN_SAFE_INTEGER","MAX_INTEGER","MAX_SAFE_INTEGER","INTERVALS","millisecond","common","steps","second","quarter","year","UNITS","sorter","arrayUnique","hash","out","getMin","time","getMax","buildLookupTable","timestamps","distribution","table","lookup","mid","i0","i1","lo","interpolate$1","skey","tkey","span","toTimestamp","adapter","_adapter","parser","determineUnitForAutoTicks","minUnit","capacity","interval","determineUnitForFormatting","determineMajorUnit","generate","timeOpts","unitStepSize","weekday","isoWeekday","computeOffsets","setMajorTicks","majorUnit","ticksFromTimestamps","defaultConfig$4","adapters","displayFormat","displayFormats","scale_time","date","timestamp","labelsAdded","dataLabels","_table","_timestamps","getLabelCapacity","_unit","_majorUnit","_offsets","tooltipFormat","datetime","tickFormatFunction","minorFormat","majorFormat","nestedTickOpts","formatter","getPixelForOffset","_getLabelSize","tickLabelWidth","tickFontSize","getLabelWidth","exampleTime","exampleLabel","_defaults$4","category","radialLinear","FORMATS","_id","valueOf","amount","filler","propagate","mappers","visible","boundary","decodeFill","computeLinearBoundary","scaleBottom","scaleTop","scaleZero","computeCircularBoundary","cx","cy","computeBoundary","resolveTarget","visited","createMapper","isDrawable","drawArea","curve0","curve1","len0","len1","doFill","mapper","p0","p1","d0","d1","loopOffset","plugin_filler","afterDatasetsUpdate","$filler","beforeDatasetsDraw","getRtlHelper$1","noop$1","valueOrDefault$e","getBoxWidth","labelOpts","usePointStyle","boxWidth","ci","onLeave","lineDash","Legend","legendHitBoxes","_hoveredItem","doughnutMode","beforeBuildLabels","buildLabels","afterBuildLabels","legendItems","labelFont","hitboxes","lineWidths","totalHeight","vPadding","columnWidths","columnHeights","totalWidth","currentColWidth","currentColHeight","lineDefault","legendHeight","legendWidth","cursor","drawLegendBox","SQRT2","halfFontSize","xLeft","yMiddle","alignmentOffset","dimension","blockSize","itemHeight","realX","_getLegendItemAt","hitBox","lh","hoveredItem","createNewLegendAndAttach","legendOpts","plugin_legend","_element","beforeInit","afterEvent","noop$2","Title","titleX","titleY","fontOpts","createNewTitleBlockAndAttach","titleOpts","titleBlock","plugin_title","_adapters","Animation","animationService","Interaction","scaleService","Ticks","Tooltip","pluginService","PluginBase","canvasHelpers","layoutService","LinearScaleBase","klass","cfg","toLowerCase","enCa","enGb","relativeTimeMr","mr","ne","zhMo","hm","12","13","40","tg","cs","ta","kn","arKw","processFutureTime","eifelerRegelAppliesToNumber","processPastTime","lastDigit","firstDigit","lb","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","az","zhHk","ga","days","ur","esUs","tet","dv","tk","weekEndings","hu","zhCn","te","ugCn","webpackPolyfill","deprecate","paths","children","msMy","eo","sd","relativeTimeWithMutation","mutation","specialMutationForYears","lastNumber","softMutation","mutationTable","fullWeekdaysParse","shortWeekdaysParse","minWeekdaysParse","br","weekdaysParse","mi","mk","last2Digits","nb","kk","arTn","it","itCh","enNz","monthsShortWithDots","monthsShortWithoutDots","fy","enIl","sw","sk","yo","numbersPast","numbersFuture","verbalNumber","fi","arSa","bg","my","gl","es","invalidDate","isFunction","Function","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","mom","_calendarEl","monthsNominative","monthsSubjective","pl","ar","bn","zhTw","ru","mn","ky","bnBd","separator","ro","fr","arDz","bm","gomDeva","weekdaysCaseReplace","nounCase","nominative","accusative","genitive","processHoursFunction","uk","deAt","de","tzmLatn","jv","esMx","enSg","nn","relativeTimeWithSingular","relativeSeconds","lv","deCh","tzm","hookCallback","some","hooks","setHookCallback","hasOwnProp","isObjectEmpty","getOwnPropertyNames","isUndefined","isDate","createUTC","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","rfc2822","weekdayMismatch","getParsingFlags","_pf","_isValid","flags","parsedParts","isNowValid","_d","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","fun","momentProperties","updateInProgress","copyConfig","_isAMomentObject","_i","_l","_tzm","_isUTC","_offset","_locale","Moment","updateOffset","isMoment","msg","suppressDeprecationWarnings","firstTime","deprecationHandler","arg","deprecations","deprecateSimple","_dayOfMonthOrdinalParseLenient","RegExp","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","_calendar","zeroFill","targetLength","forceSign","absNumber","zerosToFill","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","func","localeData","removeFormattingTokens","makeFormatFunction","formatMoment","expandFormat","replaceLongDateFormatTokens","lastIndex","defaultLongDateFormat","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","_relativeTime","pastFuture","aliases","addUnitAlias","shorthand","lowerCase","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","getPrioritizedUnits","unitsObj","isLeapYear","absFloor","toInt","argumentForCoercion","coercedNumber","makeGetSet","keepTime","set$1","daysInMonth","stringGet","stringSet","prioritized","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p2","p3","p4","tokens","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","mod","modMonth","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","daysInYear","parseTwoDigitYear","getSetYear","getIsLeapYear","createDate","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","resYear","resDayOfYear","localWeekday","weekOffset","dayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","parseIsoWeekday","shiftWeekdays","ws","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","seconds","kInput","_isPm","_meridiem","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","globalLocale","baseConfig","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","_abbr","require","getSetGlobalLocale","getLocale","parentLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","weekdayProvided","weekdayActual","calculateOffset","obsOffset","militaryOffset","numOffset","configFromRFC2822","parsedArray","setUTCMinutes","getUTCMinutes","configFromString","createFromInputFallback","currentDateArray","nowValue","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekYear","temp","weekdayOverflow","curWeek","GG","W","E","createLocal","gg","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","erasConvertYear","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","score","configFromObject","dayOrDate","createFromConfig","prepareConfig","configFromInput","isUTC","prototypeMin","other","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","isValid$1","createInvalid$1","createDuration","Duration","years","quarters","weeks","isoWeek","milliseconds","_milliseconds","_days","_bubble","isDuration","absRound","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","utcOffset","offsetFromString","chunkOffset","matcher","parts","cloneWithOffset","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","toArray","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","ret","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","isAfter","isBefore","createAdder","dur","isAdding","invalid","isString","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","properties","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","sod","calendarFormat","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","monthDiff","anchor2","adjust","wholeMonthDiff","anchor","toISOString","keepOffset","toDate","inspect","suffix","zone","inputString","defaultFormatUtc","defaultFormat","humanize","fromNow","toNow","newLocaleData","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","unix","toObject","isValid$2","parsingFlags","invalidAt","creationData","localeEras","_eras","localeErasParse","eraName","localeErasConvertYear","dir","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","isoWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","proto","createUnix","createInZone","parseZone","preParsePostFormat","Symbol","for","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","get$1","field","setter","listMonthsImpl","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","argWithSuffix","argThresholds","withSuffix","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","proto$2","toIsoString","version","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","he","sq","sr","tzl","numbersNouns","translateFuture","translatePast","numberNoun","numberAsNoun","hundred","ten","one","tlh","bo","ptBr","fil","hyAm","ca","frCa","nlBe","gu","enIe","km","et","enIn","si","paIn","gd","nl","xPseudo","se"],"mappings":"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","file":"js/chunk-610b076c.15262bc3.js","sourcesContent":["//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n '_'\n ),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ml = moment.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n '_'\n ),\n monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n '_'\n ),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം',\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n },\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cv = moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n '_'\n ),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n '_'\n ),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (output) {\n var affix = /сехет$/i.exec(output)\n ? 'рен'\n : /ҫул$/i.exec(output)\n ? 'тан'\n : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nokkrar sekúndur'\n : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n );\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return (\n result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n );\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture\n ? 'klukkustundir'\n : 'klukkustundum')\n );\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: 'klukkustund',\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fo = moment.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ja = moment.defineLocale('ja', {\n eras: [\n {\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R',\n },\n {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H',\n },\n {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S',\n },\n {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T',\n },\n {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M',\n },\n {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function (input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm',\n },\n meridiemParse: /午前|午後/i,\n isPM: function (input) {\n return input === '午後';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function (number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年',\n },\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arMa = moment.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months: {\n standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n '_'\n ),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n },\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCh = moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enAu = moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\",\n };\n\n var tr = moment.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n '_'\n ),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n '_'\n ),\n weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function (input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var da = moment.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tlPh = moment.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eu = moment.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n '_'\n ),\n monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n '_'\n ),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var th = moment.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n '_'\n ),\n monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี',\n },\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković : https://github.com/milan-j\n//! author : Stefan Crnjaković : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n '_'\n ),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'дан',\n dd: translator.translate,\n M: 'месец',\n MM: translator.translate,\n y: 'годину',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ocLnc = moment.defineLocale('oc-lnc', {\n months: {\n standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n '_'\n ),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4,\n },\n });\n\n return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mt = moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n '_'\n ),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Lybia) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '1',\n 2: '2',\n 3: '3',\n 4: '4',\n 5: '5',\n 6: '6',\n 7: '7',\n 8: '8',\n 9: '9',\n 0: '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n '_'\n ),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n '_'\n ),\n },\n monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split(\n '_'\n ),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n '_'\n ),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n '_'\n ),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) &&\n number % 100 !== 12 &&\n number % 100 !== 13\n ? number + '-і'\n : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ka = moment.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n '_'\n ),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n '_'\n ),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n '_'\n ),\n isFormat: /(წინა|შემდეგ)/,\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function (\n $0,\n $1,\n $2\n ) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n });\n },\n past: function (s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი',\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if (\n number < 20 ||\n (number <= 100 && number % 20 === 0) ||\n number % 100 === 0\n ) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7,\n },\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee \n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ko = moment.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n '_'\n ),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm',\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n },\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n months = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'حوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم',\n ];\n\n var ku = moment.defineLocale('ku', {\n months: months,\n monthsShort: months,\n weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function (input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar: {\n sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n nextDay: '[به‌یانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'له‌ %s',\n past: '%s',\n s: 'چه‌ند چركه‌یه‌ك',\n ss: 'چركه‌ %d',\n m: 'یه‌ك خوله‌ك',\n mm: '%d خوله‌ك',\n h: 'یه‌ك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یه‌ك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یه‌ك مانگ',\n MM: '%d مانگ',\n y: 'یه‌ك ساڵ',\n yy: '%d ساڵ',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus',\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix\n ? forms(key)[0]\n : isFuture\n ? forms(key)[1]\n : forms(key)[2];\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return (\n result + translateSingular(number, withoutSuffix, key[0], isFuture)\n );\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n '_'\n ),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n '_'\n ),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n '_'\n ),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n '_'\n ),\n isFormat: /dddd HH:mm/,\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate,\n m: translateSingular,\n mm: translate,\n h: translateSingular,\n hh: translate,\n d: translateSingular,\n dd: translate,\n M: translateSingular,\n MM: translate,\n y: translateSingular,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function (number) {\n return number + '-oji';\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var vi = moment.defineLocale('vi', {\n months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n '_'\n ),\n monthsShort: 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n '_'\n ),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač : https://github.com/miodragnikac\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var af = moment.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n '_'\n ),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function (input) {\n return /^nm$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\n y: \"'n jaar\",\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n ); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1, // Maandag is die eerste dag van die week.\n doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n },\n });\n\n return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uz = moment.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return uz;\n\n})));\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"row\"},[(_vm.$operatorRetail() == 2)?[_c('div',{staticClass:\"col-lg-4\"},[_c('v-card',{attrs:{\"elevation\":\"2\"}},[_c('v-card-title',[_c('div',[_vm._v(_vm._s(_vm.$t(\"currentBalance\")))])]),_c('v-card-text',[_c('div',[_c('v-icon',[_vm._v(\"mdi-currency-usd\")]),_vm._v(\"\\n \"+_vm._s(_vm.balance)+\"\\n \")],1)])],1)],1),_c('div',{staticClass:\"col-lg-4\"},[_c('v-card',{attrs:{\"elevation\":\"2\"}},[_c('v-card-title',[_c('div',[_vm._v(_vm._s(_vm.$t(\"limitSales\")))])]),_c('v-card-text',[_c('div',[_c('v-icon',[_vm._v(\"mdi-currency-usd\")]),_vm._v(\"\\n \"+_vm._s(_vm._f(\"maskValue\")(_vm.limit_retention))+\"\\n \")],1)])],1)],1),_c('div',{staticClass:\"col-lg-4\"},[_c('v-card',{attrs:{\"elevation\":\"2\"}},[_c('v-card-title',[_c('div',[_vm._v(_vm._s(_vm.$t(\"remainingBalance\")))])]),_c('v-card-text',[_c('div',[_c('v-icon',[_vm._v(\"mdi-currency-usd\")]),_vm._v(\"\\n \"+_vm._s(_vm._f(\"maskValue\")(_vm.remaining_balance))+\"\\n \")],1)])],1)],1)]:_vm._e(),(_vm.affiliateLevel != 1)?_c('div',{staticClass:\"col-lg-6\"},[_c('v-card',{attrs:{\"color\":\"grey darken-4\"}},[_c('v-toolbar',{attrs:{\"dense\":\"\",\"elevation\":\"0\"}},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t(\"weeekSales\")))])],1),_c('v-divider'),_c('LineChart',{attrs:{\"data\":_vm.dataLineChart.data,\"labels\":_vm.dataLineChart.labels,\"max\":_vm.maxLineChart}})],1)],1):_vm._e(),(_vm.affiliateLevel != 1)?_c('div',{staticClass:\"col-lg-6\"},[_c('v-card',{attrs:{\"color\":\"grey darken-4\"}},[_c('v-toolbar',{attrs:{\"dense\":\"\",\"elevation\":\"0\"}},[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t(\"topClients\")))])],1),_c('v-divider'),_c('BarChart',{attrs:{\"data\":_vm.dataBarChart.data,\"labels\":_vm.dataBarChart.labels,\"max\":_vm.maxBarChart}})],1)],1):_vm._e()],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","function dataHandler(newData, oldData) {\n if (oldData) {\n var chart = this.$data._chart;\n var newDatasetLabels = newData.datasets.map(function (dataset) {\n return dataset.label;\n });\n var oldDatasetLabels = oldData.datasets.map(function (dataset) {\n return dataset.label;\n });\n var oldLabels = JSON.stringify(oldDatasetLabels);\n var newLabels = JSON.stringify(newDatasetLabels);\n\n if (newLabels === oldLabels && oldData.datasets.length === newData.datasets.length) {\n newData.datasets.forEach(function (dataset, i) {\n var oldDatasetKeys = Object.keys(oldData.datasets[i]);\n var newDatasetKeys = Object.keys(dataset);\n var deletionKeys = oldDatasetKeys.filter(function (key) {\n return key !== '_meta' && newDatasetKeys.indexOf(key) === -1;\n });\n deletionKeys.forEach(function (deletionKey) {\n delete chart.data.datasets[i][deletionKey];\n });\n\n for (var attribute in dataset) {\n if (dataset.hasOwnProperty(attribute)) {\n chart.data.datasets[i][attribute] = dataset[attribute];\n }\n }\n });\n\n if (newData.hasOwnProperty('labels')) {\n chart.data.labels = newData.labels;\n this.$emit('labels:update');\n }\n\n if (newData.hasOwnProperty('xLabels')) {\n chart.data.xLabels = newData.xLabels;\n this.$emit('xlabels:update');\n }\n\n if (newData.hasOwnProperty('yLabels')) {\n chart.data.yLabels = newData.yLabels;\n this.$emit('ylabels:update');\n }\n\n chart.update();\n this.$emit('chart:update');\n } else {\n if (chart) {\n chart.destroy();\n this.$emit('chart:destroy');\n }\n\n this.renderChart(this.chartData, this.options);\n this.$emit('chart:render');\n }\n } else {\n if (this.$data._chart) {\n this.$data._chart.destroy();\n\n this.$emit('chart:destroy');\n }\n\n this.renderChart(this.chartData, this.options);\n this.$emit('chart:render');\n }\n}\n\nexport var reactiveData = {\n data: function data() {\n return {\n chartData: null\n };\n },\n watch: {\n 'chartData': dataHandler\n }\n};\nexport var reactiveProp = {\n props: {\n chartData: {\n type: Object,\n required: true,\n default: function _default() {}\n }\n },\n watch: {\n 'chartData': dataHandler\n }\n};\nexport default {\n reactiveData: reactiveData,\n reactiveProp: reactiveProp\n};","import Chart from 'chart.js';\nexport function generateChart(chartId, chartType) {\n return {\n render: function render(createElement) {\n return createElement('div', {\n style: this.styles,\n class: this.cssClasses\n }, [createElement('canvas', {\n attrs: {\n id: this.chartId,\n width: this.width,\n height: this.height\n },\n ref: 'canvas'\n })]);\n },\n props: {\n chartId: {\n default: chartId,\n type: String\n },\n width: {\n default: 400,\n type: Number\n },\n height: {\n default: 400,\n type: Number\n },\n cssClasses: {\n type: String,\n default: ''\n },\n styles: {\n type: Object\n },\n plugins: {\n type: Array,\n default: function _default() {\n return [];\n }\n }\n },\n data: function data() {\n return {\n _chart: null,\n _plugins: this.plugins\n };\n },\n methods: {\n addPlugin: function addPlugin(plugin) {\n this.$data._plugins.push(plugin);\n },\n generateLegend: function generateLegend() {\n if (this.$data._chart) {\n return this.$data._chart.generateLegend();\n }\n },\n renderChart: function renderChart(data, options) {\n if (this.$data._chart) this.$data._chart.destroy();\n if (!this.$refs.canvas) throw new Error('Please remove the tags from your chart component. See https://vue-chartjs.org/guide/#vue-single-file-components');\n this.$data._chart = new Chart(this.$refs.canvas.getContext('2d'), {\n type: chartType,\n data: data,\n options: options,\n plugins: this.$data._plugins\n });\n }\n },\n beforeDestroy: function beforeDestroy() {\n if (this.$data._chart) {\n this.$data._chart.destroy();\n }\n }\n };\n}\nexport var Bar = generateChart('bar-chart', 'bar');\nexport var HorizontalBar = generateChart('horizontalbar-chart', 'horizontalBar');\nexport var Doughnut = generateChart('doughnut-chart', 'doughnut');\nexport var Line = generateChart('line-chart', 'line');\nexport var Pie = generateChart('pie-chart', 'pie');\nexport var PolarArea = generateChart('polar-chart', 'polarArea');\nexport var Radar = generateChart('radar-chart', 'radar');\nexport var Bubble = generateChart('bubble-chart', 'bubble');\nexport var Scatter = generateChart('scatter-chart', 'scatter');\nexport default {\n Bar: Bar,\n HorizontalBar: HorizontalBar,\n Doughnut: Doughnut,\n Line: Line,\n Pie: Pie,\n PolarArea: PolarArea,\n Radar: Radar,\n Bubble: Bubble,\n Scatter: Scatter\n};","import {\n Bar\n} from \"vue-chartjs\";\nimport messages from \"@/languages/index\"\nlet language = localStorage.getItem('language') || store.state.language || \"pt\"\n\nexport default {\n name: \"Home\",\n extends: Bar,\n props: [\n \"data\",\n \"labels\",\n \"max\"\n ],\n data: () => ({\n chartdata: {\n labels: [],\n datasets: [{\n label: messages[language].labelCurrency,\n backgroundColor: 'rgba(72,72,176,1)',\n data: [],\n // borderColor: \"black\",\n pointBackgroundColor: \"white\",\n borderWidth: 1,\n pointBorderColor: \"white\",\n },],\n },\n options: {\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n // xAxes: [{\n // ticks: {\n // maxRotation: 90,\n // minRotation: 80\n // }\n // }],\n yAxes: [{\n ticks: {\n min: 0,\n max: 1000,\n stepSize: 20,\n }\n }]\n }\n },\n\n gradient: ''\n }),\n\n watch: {\n data(val) {\n val.map(item => {\n this.chartdata.datasets.map(set => {\n set.data.push(Number(item));\n });\n })\n this.renderChart(this.chartdata, this.options);\n },\n\n labels(val) {\n val.map(item => {\n this.chartdata.labels.push(item)\n });\n\n this.renderChart(this.chartdata, this.options);\n },\n\n max(val) {\n this.options.scales.yAxes[0].ticks.max = parseInt(val, 10);\n this.renderChart(this.chartdata, this.options);\n }\n\n },\n\n async mounted() {\n this.gradient = this.$refs.canvas.getContext(\"2d\").createLinearGradient(0, 0, 0, 450)\n\n this.gradient.addColorStop(0, '#00e676')\n // this.gradient.addColorStop(0.5, 'rgba(0, 0, 0, 0.50)');\n this.gradient.addColorStop(1, '#00e676');\n\n\n this.chartdata.datasets.forEach(set => {\n set.backgroundColor = this.gradient;\n });\n },\n};","import {\n Line\n} from \"vue-chartjs\";\nimport messages from \"@/languages/index\"\nlet language = localStorage.getItem('language') || store.state.language || \"pt\"\n\nexport default {\n name: \"Home\",\n extends: Line,\n props: [\n \"data\",\n \"labels\",\n \"max\"\n ],\n data: (vm) => ({\n chartdata: {\n labels: [],\n datasets: [{\n label: messages[language].labelCurrency,\n backgroundColor: 'rgba(72,72,176,1)',\n data: [],\n // borderColor: \"black\",\n pointBackgroundColor: \"white\",\n borderWidth: 1,\n pointBorderColor: \"white\",\n },],\n },\n options: {\n responsive: true,\n maintainAspectRatio: false,\n scales: {\n // xAxes: [{\n // ticks: {\n // maxRotation: 90,\n // minRotation: 80\n // }\n // }],\n yAxes: [{\n ticks: {\n min: 0,\n max: 0,\n stepSize: 20,\n }\n }]\n }\n },\n\n gradient: ''\n }),\n\n watch: {\n data(val) {\n val.map(item => {\n this.chartdata.datasets.map(set => {\n set.data.push(Number(item));\n });\n })\n this.renderChart(this.chartdata, this.options);\n },\n\n labels(val) {\n val.map(item => {\n this.chartdata.labels.push(item)\n });\n\n this.renderChart(this.chartdata, this.options);\n },\n\n max(val) {\n this.options.scales.yAxes[0].ticks.max = parseInt(val, 10);\n this.renderChart(this.chartdata, this.options);\n }\n },\n\n mounted() {\n this.gradient = this.$refs.canvas.getContext(\"2d\").createLinearGradient(0, 0, 0, 450)\n\n this.gradient.addColorStop(0, '#00e676')\n // this.gradient.addColorStop(0.5, 'rgba(0, 0, 0, 0.50)');\n this.gradient.addColorStop(1, '#00e676');\n\n\n this.chartdata.datasets.forEach(set => {\n set.backgroundColor = this.gradient;\n });\n },\n};","\n\n\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./home.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./home.vue?vue&type=template&id=5cb85c1a&\"\nimport script from \"./home.vue?vue&type=script&lang=js&\"\nexport * from \"./home.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VCard,VCardText,VCardTitle,VDivider,VIcon,VToolbar,VToolbarTitle})\n","/*!\n * Chart.js v2.9.4\n * https://www.chartjs.org\n * (c) 2020 Chart.js Contributors\n * Released under the MIT License\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(function() { try { return require('moment'); } catch(e) { } }()) :\ntypeof define === 'function' && define.amd ? define(['require'], function(require) { return factory(function() { try { return require('moment'); } catch(e) { } }()); }) :\n(global = global || self, global.Chart = factory(global.moment));\n}(this, (function (moment) { 'use strict';\n\nmoment = moment && moment.hasOwnProperty('default') ? moment['default'] : moment;\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nfunction getCjsExportFromNamespace (n) {\n\treturn n && n['default'] || n;\n}\n\nvar colorName = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\nvar conversions = createCommonjsModule(function (module) {\n/* MIT license */\n\n\n// NOTE: conversions should only return primitive values (i.e. arrays, or\n// values that give correct `typeof` results).\n// do not use box values types (i.e. Number(), String(), etc.)\n\nvar reverseKeywords = {};\nfor (var key in colorName) {\n\tif (colorName.hasOwnProperty(key)) {\n\t\treverseKeywords[colorName[key]] = key;\n\t}\n}\n\nvar convert = module.exports = {\n\trgb: {channels: 3, labels: 'rgb'},\n\thsl: {channels: 3, labels: 'hsl'},\n\thsv: {channels: 3, labels: 'hsv'},\n\thwb: {channels: 3, labels: 'hwb'},\n\tcmyk: {channels: 4, labels: 'cmyk'},\n\txyz: {channels: 3, labels: 'xyz'},\n\tlab: {channels: 3, labels: 'lab'},\n\tlch: {channels: 3, labels: 'lch'},\n\thex: {channels: 1, labels: ['hex']},\n\tkeyword: {channels: 1, labels: ['keyword']},\n\tansi16: {channels: 1, labels: ['ansi16']},\n\tansi256: {channels: 1, labels: ['ansi256']},\n\thcg: {channels: 3, labels: ['h', 'c', 'g']},\n\tapple: {channels: 3, labels: ['r16', 'g16', 'b16']},\n\tgray: {channels: 1, labels: ['gray']}\n};\n\n// hide .channels and .labels properties\nfor (var model in convert) {\n\tif (convert.hasOwnProperty(model)) {\n\t\tif (!('channels' in convert[model])) {\n\t\t\tthrow new Error('missing channels property: ' + model);\n\t\t}\n\n\t\tif (!('labels' in convert[model])) {\n\t\t\tthrow new Error('missing channel labels property: ' + model);\n\t\t}\n\n\t\tif (convert[model].labels.length !== convert[model].channels) {\n\t\t\tthrow new Error('channel and label counts mismatch: ' + model);\n\t\t}\n\n\t\tvar channels = convert[model].channels;\n\t\tvar labels = convert[model].labels;\n\t\tdelete convert[model].channels;\n\t\tdelete convert[model].labels;\n\t\tObject.defineProperty(convert[model], 'channels', {value: channels});\n\t\tObject.defineProperty(convert[model], 'labels', {value: labels});\n\t}\n}\n\nconvert.rgb.hsl = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar min = Math.min(r, g, b);\n\tvar max = Math.max(r, g, b);\n\tvar delta = max - min;\n\tvar h;\n\tvar s;\n\tvar l;\n\n\tif (max === min) {\n\t\th = 0;\n\t} else if (r === max) {\n\t\th = (g - b) / delta;\n\t} else if (g === max) {\n\t\th = 2 + (b - r) / delta;\n\t} else if (b === max) {\n\t\th = 4 + (r - g) / delta;\n\t}\n\n\th = Math.min(h * 60, 360);\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tl = (min + max) / 2;\n\n\tif (max === min) {\n\t\ts = 0;\n\t} else if (l <= 0.5) {\n\t\ts = delta / (max + min);\n\t} else {\n\t\ts = delta / (2 - max - min);\n\t}\n\n\treturn [h, s * 100, l * 100];\n};\n\nconvert.rgb.hsv = function (rgb) {\n\tvar rdif;\n\tvar gdif;\n\tvar bdif;\n\tvar h;\n\tvar s;\n\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar v = Math.max(r, g, b);\n\tvar diff = v - Math.min(r, g, b);\n\tvar diffc = function (c) {\n\t\treturn (v - c) / 6 / diff + 1 / 2;\n\t};\n\n\tif (diff === 0) {\n\t\th = s = 0;\n\t} else {\n\t\ts = diff / v;\n\t\trdif = diffc(r);\n\t\tgdif = diffc(g);\n\t\tbdif = diffc(b);\n\n\t\tif (r === v) {\n\t\t\th = bdif - gdif;\n\t\t} else if (g === v) {\n\t\t\th = (1 / 3) + rdif - bdif;\n\t\t} else if (b === v) {\n\t\t\th = (2 / 3) + gdif - rdif;\n\t\t}\n\t\tif (h < 0) {\n\t\t\th += 1;\n\t\t} else if (h > 1) {\n\t\t\th -= 1;\n\t\t}\n\t}\n\n\treturn [\n\t\th * 360,\n\t\ts * 100,\n\t\tv * 100\n\t];\n};\n\nconvert.rgb.hwb = function (rgb) {\n\tvar r = rgb[0];\n\tvar g = rgb[1];\n\tvar b = rgb[2];\n\tvar h = convert.rgb.hsl(rgb)[0];\n\tvar w = 1 / 255 * Math.min(r, Math.min(g, b));\n\n\tb = 1 - 1 / 255 * Math.max(r, Math.max(g, b));\n\n\treturn [h, w * 100, b * 100];\n};\n\nconvert.rgb.cmyk = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar c;\n\tvar m;\n\tvar y;\n\tvar k;\n\n\tk = Math.min(1 - r, 1 - g, 1 - b);\n\tc = (1 - r - k) / (1 - k) || 0;\n\tm = (1 - g - k) / (1 - k) || 0;\n\ty = (1 - b - k) / (1 - k) || 0;\n\n\treturn [c * 100, m * 100, y * 100, k * 100];\n};\n\n/**\n * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance\n * */\nfunction comparativeDistance(x, y) {\n\treturn (\n\t\tMath.pow(x[0] - y[0], 2) +\n\t\tMath.pow(x[1] - y[1], 2) +\n\t\tMath.pow(x[2] - y[2], 2)\n\t);\n}\n\nconvert.rgb.keyword = function (rgb) {\n\tvar reversed = reverseKeywords[rgb];\n\tif (reversed) {\n\t\treturn reversed;\n\t}\n\n\tvar currentClosestDistance = Infinity;\n\tvar currentClosestKeyword;\n\n\tfor (var keyword in colorName) {\n\t\tif (colorName.hasOwnProperty(keyword)) {\n\t\t\tvar value = colorName[keyword];\n\n\t\t\t// Compute comparative distance\n\t\t\tvar distance = comparativeDistance(rgb, value);\n\n\t\t\t// Check if its less, if so set as closest\n\t\t\tif (distance < currentClosestDistance) {\n\t\t\t\tcurrentClosestDistance = distance;\n\t\t\t\tcurrentClosestKeyword = keyword;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn currentClosestKeyword;\n};\n\nconvert.keyword.rgb = function (keyword) {\n\treturn colorName[keyword];\n};\n\nconvert.rgb.xyz = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\n\t// assume sRGB\n\tr = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92);\n\tg = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92);\n\tb = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92);\n\n\tvar x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805);\n\tvar y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722);\n\tvar z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505);\n\n\treturn [x * 100, y * 100, z * 100];\n};\n\nconvert.rgb.lab = function (rgb) {\n\tvar xyz = convert.rgb.xyz(rgb);\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.hsl.rgb = function (hsl) {\n\tvar h = hsl[0] / 360;\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar t1;\n\tvar t2;\n\tvar t3;\n\tvar rgb;\n\tvar val;\n\n\tif (s === 0) {\n\t\tval = l * 255;\n\t\treturn [val, val, val];\n\t}\n\n\tif (l < 0.5) {\n\t\tt2 = l * (1 + s);\n\t} else {\n\t\tt2 = l + s - l * s;\n\t}\n\n\tt1 = 2 * l - t2;\n\n\trgb = [0, 0, 0];\n\tfor (var i = 0; i < 3; i++) {\n\t\tt3 = h + 1 / 3 * -(i - 1);\n\t\tif (t3 < 0) {\n\t\t\tt3++;\n\t\t}\n\t\tif (t3 > 1) {\n\t\t\tt3--;\n\t\t}\n\n\t\tif (6 * t3 < 1) {\n\t\t\tval = t1 + (t2 - t1) * 6 * t3;\n\t\t} else if (2 * t3 < 1) {\n\t\t\tval = t2;\n\t\t} else if (3 * t3 < 2) {\n\t\t\tval = t1 + (t2 - t1) * (2 / 3 - t3) * 6;\n\t\t} else {\n\t\t\tval = t1;\n\t\t}\n\n\t\trgb[i] = val * 255;\n\t}\n\n\treturn rgb;\n};\n\nconvert.hsl.hsv = function (hsl) {\n\tvar h = hsl[0];\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar smin = s;\n\tvar lmin = Math.max(l, 0.01);\n\tvar sv;\n\tvar v;\n\n\tl *= 2;\n\ts *= (l <= 1) ? l : 2 - l;\n\tsmin *= lmin <= 1 ? lmin : 2 - lmin;\n\tv = (l + s) / 2;\n\tsv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s);\n\n\treturn [h, sv * 100, v * 100];\n};\n\nconvert.hsv.rgb = function (hsv) {\n\tvar h = hsv[0] / 60;\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar hi = Math.floor(h) % 6;\n\n\tvar f = h - Math.floor(h);\n\tvar p = 255 * v * (1 - s);\n\tvar q = 255 * v * (1 - (s * f));\n\tvar t = 255 * v * (1 - (s * (1 - f)));\n\tv *= 255;\n\n\tswitch (hi) {\n\t\tcase 0:\n\t\t\treturn [v, t, p];\n\t\tcase 1:\n\t\t\treturn [q, v, p];\n\t\tcase 2:\n\t\t\treturn [p, v, t];\n\t\tcase 3:\n\t\t\treturn [p, q, v];\n\t\tcase 4:\n\t\t\treturn [t, p, v];\n\t\tcase 5:\n\t\t\treturn [v, p, q];\n\t}\n};\n\nconvert.hsv.hsl = function (hsv) {\n\tvar h = hsv[0];\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\tvar vmin = Math.max(v, 0.01);\n\tvar lmin;\n\tvar sl;\n\tvar l;\n\n\tl = (2 - s) * v;\n\tlmin = (2 - s) * vmin;\n\tsl = s * vmin;\n\tsl /= (lmin <= 1) ? lmin : 2 - lmin;\n\tsl = sl || 0;\n\tl /= 2;\n\n\treturn [h, sl * 100, l * 100];\n};\n\n// http://dev.w3.org/csswg/css-color/#hwb-to-rgb\nconvert.hwb.rgb = function (hwb) {\n\tvar h = hwb[0] / 360;\n\tvar wh = hwb[1] / 100;\n\tvar bl = hwb[2] / 100;\n\tvar ratio = wh + bl;\n\tvar i;\n\tvar v;\n\tvar f;\n\tvar n;\n\n\t// wh + bl cant be > 1\n\tif (ratio > 1) {\n\t\twh /= ratio;\n\t\tbl /= ratio;\n\t}\n\n\ti = Math.floor(6 * h);\n\tv = 1 - bl;\n\tf = 6 * h - i;\n\n\tif ((i & 0x01) !== 0) {\n\t\tf = 1 - f;\n\t}\n\n\tn = wh + f * (v - wh); // linear interpolation\n\n\tvar r;\n\tvar g;\n\tvar b;\n\tswitch (i) {\n\t\tdefault:\n\t\tcase 6:\n\t\tcase 0: r = v; g = n; b = wh; break;\n\t\tcase 1: r = n; g = v; b = wh; break;\n\t\tcase 2: r = wh; g = v; b = n; break;\n\t\tcase 3: r = wh; g = n; b = v; break;\n\t\tcase 4: r = n; g = wh; b = v; break;\n\t\tcase 5: r = v; g = wh; b = n; break;\n\t}\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.cmyk.rgb = function (cmyk) {\n\tvar c = cmyk[0] / 100;\n\tvar m = cmyk[1] / 100;\n\tvar y = cmyk[2] / 100;\n\tvar k = cmyk[3] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = 1 - Math.min(1, c * (1 - k) + k);\n\tg = 1 - Math.min(1, m * (1 - k) + k);\n\tb = 1 - Math.min(1, y * (1 - k) + k);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.rgb = function (xyz) {\n\tvar x = xyz[0] / 100;\n\tvar y = xyz[1] / 100;\n\tvar z = xyz[2] / 100;\n\tvar r;\n\tvar g;\n\tvar b;\n\n\tr = (x * 3.2406) + (y * -1.5372) + (z * -0.4986);\n\tg = (x * -0.9689) + (y * 1.8758) + (z * 0.0415);\n\tb = (x * 0.0557) + (y * -0.2040) + (z * 1.0570);\n\n\t// assume sRGB\n\tr = r > 0.0031308\n\t\t? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055)\n\t\t: r * 12.92;\n\n\tg = g > 0.0031308\n\t\t? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055)\n\t\t: g * 12.92;\n\n\tb = b > 0.0031308\n\t\t? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055)\n\t\t: b * 12.92;\n\n\tr = Math.min(Math.max(0, r), 1);\n\tg = Math.min(Math.max(0, g), 1);\n\tb = Math.min(Math.max(0, b), 1);\n\n\treturn [r * 255, g * 255, b * 255];\n};\n\nconvert.xyz.lab = function (xyz) {\n\tvar x = xyz[0];\n\tvar y = xyz[1];\n\tvar z = xyz[2];\n\tvar l;\n\tvar a;\n\tvar b;\n\n\tx /= 95.047;\n\ty /= 100;\n\tz /= 108.883;\n\n\tx = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116);\n\ty = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116);\n\tz = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116);\n\n\tl = (116 * y) - 16;\n\ta = 500 * (x - y);\n\tb = 200 * (y - z);\n\n\treturn [l, a, b];\n};\n\nconvert.lab.xyz = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar x;\n\tvar y;\n\tvar z;\n\n\ty = (l + 16) / 116;\n\tx = a / 500 + y;\n\tz = y - b / 200;\n\n\tvar y2 = Math.pow(y, 3);\n\tvar x2 = Math.pow(x, 3);\n\tvar z2 = Math.pow(z, 3);\n\ty = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;\n\tx = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;\n\tz = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;\n\n\tx *= 95.047;\n\ty *= 100;\n\tz *= 108.883;\n\n\treturn [x, y, z];\n};\n\nconvert.lab.lch = function (lab) {\n\tvar l = lab[0];\n\tvar a = lab[1];\n\tvar b = lab[2];\n\tvar hr;\n\tvar h;\n\tvar c;\n\n\thr = Math.atan2(b, a);\n\th = hr * 360 / 2 / Math.PI;\n\n\tif (h < 0) {\n\t\th += 360;\n\t}\n\n\tc = Math.sqrt(a * a + b * b);\n\n\treturn [l, c, h];\n};\n\nconvert.lch.lab = function (lch) {\n\tvar l = lch[0];\n\tvar c = lch[1];\n\tvar h = lch[2];\n\tvar a;\n\tvar b;\n\tvar hr;\n\n\thr = h / 360 * 2 * Math.PI;\n\ta = c * Math.cos(hr);\n\tb = c * Math.sin(hr);\n\n\treturn [l, a, b];\n};\n\nconvert.rgb.ansi16 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\tvar value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization\n\n\tvalue = Math.round(value / 50);\n\n\tif (value === 0) {\n\t\treturn 30;\n\t}\n\n\tvar ansi = 30\n\t\t+ ((Math.round(b / 255) << 2)\n\t\t| (Math.round(g / 255) << 1)\n\t\t| Math.round(r / 255));\n\n\tif (value === 2) {\n\t\tansi += 60;\n\t}\n\n\treturn ansi;\n};\n\nconvert.hsv.ansi16 = function (args) {\n\t// optimization here; we already know the value and don't need to get\n\t// it converted for us.\n\treturn convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);\n};\n\nconvert.rgb.ansi256 = function (args) {\n\tvar r = args[0];\n\tvar g = args[1];\n\tvar b = args[2];\n\n\t// we use the extended greyscale palette here, with the exception of\n\t// black and white. normal palette only has 4 greyscale shades.\n\tif (r === g && g === b) {\n\t\tif (r < 8) {\n\t\t\treturn 16;\n\t\t}\n\n\t\tif (r > 248) {\n\t\t\treturn 231;\n\t\t}\n\n\t\treturn Math.round(((r - 8) / 247) * 24) + 232;\n\t}\n\n\tvar ansi = 16\n\t\t+ (36 * Math.round(r / 255 * 5))\n\t\t+ (6 * Math.round(g / 255 * 5))\n\t\t+ Math.round(b / 255 * 5);\n\n\treturn ansi;\n};\n\nconvert.ansi16.rgb = function (args) {\n\tvar color = args % 10;\n\n\t// handle greyscale\n\tif (color === 0 || color === 7) {\n\t\tif (args > 50) {\n\t\t\tcolor += 3.5;\n\t\t}\n\n\t\tcolor = color / 10.5 * 255;\n\n\t\treturn [color, color, color];\n\t}\n\n\tvar mult = (~~(args > 50) + 1) * 0.5;\n\tvar r = ((color & 1) * mult) * 255;\n\tvar g = (((color >> 1) & 1) * mult) * 255;\n\tvar b = (((color >> 2) & 1) * mult) * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.ansi256.rgb = function (args) {\n\t// handle greyscale\n\tif (args >= 232) {\n\t\tvar c = (args - 232) * 10 + 8;\n\t\treturn [c, c, c];\n\t}\n\n\targs -= 16;\n\n\tvar rem;\n\tvar r = Math.floor(args / 36) / 5 * 255;\n\tvar g = Math.floor((rem = args % 36) / 6) / 5 * 255;\n\tvar b = (rem % 6) / 5 * 255;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hex = function (args) {\n\tvar integer = ((Math.round(args[0]) & 0xFF) << 16)\n\t\t+ ((Math.round(args[1]) & 0xFF) << 8)\n\t\t+ (Math.round(args[2]) & 0xFF);\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.hex.rgb = function (args) {\n\tvar match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);\n\tif (!match) {\n\t\treturn [0, 0, 0];\n\t}\n\n\tvar colorString = match[0];\n\n\tif (match[0].length === 3) {\n\t\tcolorString = colorString.split('').map(function (char) {\n\t\t\treturn char + char;\n\t\t}).join('');\n\t}\n\n\tvar integer = parseInt(colorString, 16);\n\tvar r = (integer >> 16) & 0xFF;\n\tvar g = (integer >> 8) & 0xFF;\n\tvar b = integer & 0xFF;\n\n\treturn [r, g, b];\n};\n\nconvert.rgb.hcg = function (rgb) {\n\tvar r = rgb[0] / 255;\n\tvar g = rgb[1] / 255;\n\tvar b = rgb[2] / 255;\n\tvar max = Math.max(Math.max(r, g), b);\n\tvar min = Math.min(Math.min(r, g), b);\n\tvar chroma = (max - min);\n\tvar grayscale;\n\tvar hue;\n\n\tif (chroma < 1) {\n\t\tgrayscale = min / (1 - chroma);\n\t} else {\n\t\tgrayscale = 0;\n\t}\n\n\tif (chroma <= 0) {\n\t\thue = 0;\n\t} else\n\tif (max === r) {\n\t\thue = ((g - b) / chroma) % 6;\n\t} else\n\tif (max === g) {\n\t\thue = 2 + (b - r) / chroma;\n\t} else {\n\t\thue = 4 + (r - g) / chroma + 4;\n\t}\n\n\thue /= 6;\n\thue %= 1;\n\n\treturn [hue * 360, chroma * 100, grayscale * 100];\n};\n\nconvert.hsl.hcg = function (hsl) {\n\tvar s = hsl[1] / 100;\n\tvar l = hsl[2] / 100;\n\tvar c = 1;\n\tvar f = 0;\n\n\tif (l < 0.5) {\n\t\tc = 2.0 * s * l;\n\t} else {\n\t\tc = 2.0 * s * (1.0 - l);\n\t}\n\n\tif (c < 1.0) {\n\t\tf = (l - 0.5 * c) / (1.0 - c);\n\t}\n\n\treturn [hsl[0], c * 100, f * 100];\n};\n\nconvert.hsv.hcg = function (hsv) {\n\tvar s = hsv[1] / 100;\n\tvar v = hsv[2] / 100;\n\n\tvar c = s * v;\n\tvar f = 0;\n\n\tif (c < 1.0) {\n\t\tf = (v - c) / (1 - c);\n\t}\n\n\treturn [hsv[0], c * 100, f * 100];\n};\n\nconvert.hcg.rgb = function (hcg) {\n\tvar h = hcg[0] / 360;\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tif (c === 0.0) {\n\t\treturn [g * 255, g * 255, g * 255];\n\t}\n\n\tvar pure = [0, 0, 0];\n\tvar hi = (h % 1) * 6;\n\tvar v = hi % 1;\n\tvar w = 1 - v;\n\tvar mg = 0;\n\n\tswitch (Math.floor(hi)) {\n\t\tcase 0:\n\t\t\tpure[0] = 1; pure[1] = v; pure[2] = 0; break;\n\t\tcase 1:\n\t\t\tpure[0] = w; pure[1] = 1; pure[2] = 0; break;\n\t\tcase 2:\n\t\t\tpure[0] = 0; pure[1] = 1; pure[2] = v; break;\n\t\tcase 3:\n\t\t\tpure[0] = 0; pure[1] = w; pure[2] = 1; break;\n\t\tcase 4:\n\t\t\tpure[0] = v; pure[1] = 0; pure[2] = 1; break;\n\t\tdefault:\n\t\t\tpure[0] = 1; pure[1] = 0; pure[2] = w;\n\t}\n\n\tmg = (1.0 - c) * g;\n\n\treturn [\n\t\t(c * pure[0] + mg) * 255,\n\t\t(c * pure[1] + mg) * 255,\n\t\t(c * pure[2] + mg) * 255\n\t];\n};\n\nconvert.hcg.hsv = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar v = c + g * (1.0 - c);\n\tvar f = 0;\n\n\tif (v > 0.0) {\n\t\tf = c / v;\n\t}\n\n\treturn [hcg[0], f * 100, v * 100];\n};\n\nconvert.hcg.hsl = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\n\tvar l = g * (1.0 - c) + 0.5 * c;\n\tvar s = 0;\n\n\tif (l > 0.0 && l < 0.5) {\n\t\ts = c / (2 * l);\n\t} else\n\tif (l >= 0.5 && l < 1.0) {\n\t\ts = c / (2 * (1 - l));\n\t}\n\n\treturn [hcg[0], s * 100, l * 100];\n};\n\nconvert.hcg.hwb = function (hcg) {\n\tvar c = hcg[1] / 100;\n\tvar g = hcg[2] / 100;\n\tvar v = c + g * (1.0 - c);\n\treturn [hcg[0], (v - c) * 100, (1 - v) * 100];\n};\n\nconvert.hwb.hcg = function (hwb) {\n\tvar w = hwb[1] / 100;\n\tvar b = hwb[2] / 100;\n\tvar v = 1 - b;\n\tvar c = v - w;\n\tvar g = 0;\n\n\tif (c < 1) {\n\t\tg = (v - c) / (1 - c);\n\t}\n\n\treturn [hwb[0], c * 100, g * 100];\n};\n\nconvert.apple.rgb = function (apple) {\n\treturn [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255];\n};\n\nconvert.rgb.apple = function (rgb) {\n\treturn [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535];\n};\n\nconvert.gray.rgb = function (args) {\n\treturn [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];\n};\n\nconvert.gray.hsl = convert.gray.hsv = function (args) {\n\treturn [0, 0, args[0]];\n};\n\nconvert.gray.hwb = function (gray) {\n\treturn [0, 100, gray[0]];\n};\n\nconvert.gray.cmyk = function (gray) {\n\treturn [0, 0, 0, gray[0]];\n};\n\nconvert.gray.lab = function (gray) {\n\treturn [gray[0], 0, 0];\n};\n\nconvert.gray.hex = function (gray) {\n\tvar val = Math.round(gray[0] / 100 * 255) & 0xFF;\n\tvar integer = (val << 16) + (val << 8) + val;\n\n\tvar string = integer.toString(16).toUpperCase();\n\treturn '000000'.substring(string.length) + string;\n};\n\nconvert.rgb.gray = function (rgb) {\n\tvar val = (rgb[0] + rgb[1] + rgb[2]) / 3;\n\treturn [val / 255 * 100];\n};\n});\nvar conversions_1 = conversions.rgb;\nvar conversions_2 = conversions.hsl;\nvar conversions_3 = conversions.hsv;\nvar conversions_4 = conversions.hwb;\nvar conversions_5 = conversions.cmyk;\nvar conversions_6 = conversions.xyz;\nvar conversions_7 = conversions.lab;\nvar conversions_8 = conversions.lch;\nvar conversions_9 = conversions.hex;\nvar conversions_10 = conversions.keyword;\nvar conversions_11 = conversions.ansi16;\nvar conversions_12 = conversions.ansi256;\nvar conversions_13 = conversions.hcg;\nvar conversions_14 = conversions.apple;\nvar conversions_15 = conversions.gray;\n\n/*\n\tthis function routes a model to all other models.\n\n\tall functions that are routed have a property `.conversion` attached\n\tto the returned synthetic function. This property is an array\n\tof strings, each with the steps in between the 'from' and 'to'\n\tcolor models (inclusive).\n\n\tconversions that are not possible simply are not included.\n*/\n\nfunction buildGraph() {\n\tvar graph = {};\n\t// https://jsperf.com/object-keys-vs-for-in-with-closure/3\n\tvar models = Object.keys(conversions);\n\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tgraph[models[i]] = {\n\t\t\t// http://jsperf.com/1-vs-infinity\n\t\t\t// micro-opt, but this is simple.\n\t\t\tdistance: -1,\n\t\t\tparent: null\n\t\t};\n\t}\n\n\treturn graph;\n}\n\n// https://en.wikipedia.org/wiki/Breadth-first_search\nfunction deriveBFS(fromModel) {\n\tvar graph = buildGraph();\n\tvar queue = [fromModel]; // unshift -> queue -> pop\n\n\tgraph[fromModel].distance = 0;\n\n\twhile (queue.length) {\n\t\tvar current = queue.pop();\n\t\tvar adjacents = Object.keys(conversions[current]);\n\n\t\tfor (var len = adjacents.length, i = 0; i < len; i++) {\n\t\t\tvar adjacent = adjacents[i];\n\t\t\tvar node = graph[adjacent];\n\n\t\t\tif (node.distance === -1) {\n\t\t\t\tnode.distance = graph[current].distance + 1;\n\t\t\t\tnode.parent = current;\n\t\t\t\tqueue.unshift(adjacent);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn graph;\n}\n\nfunction link(from, to) {\n\treturn function (args) {\n\t\treturn to(from(args));\n\t};\n}\n\nfunction wrapConversion(toModel, graph) {\n\tvar path = [graph[toModel].parent, toModel];\n\tvar fn = conversions[graph[toModel].parent][toModel];\n\n\tvar cur = graph[toModel].parent;\n\twhile (graph[cur].parent) {\n\t\tpath.unshift(graph[cur].parent);\n\t\tfn = link(conversions[graph[cur].parent][cur], fn);\n\t\tcur = graph[cur].parent;\n\t}\n\n\tfn.conversion = path;\n\treturn fn;\n}\n\nvar route = function (fromModel) {\n\tvar graph = deriveBFS(fromModel);\n\tvar conversion = {};\n\n\tvar models = Object.keys(graph);\n\tfor (var len = models.length, i = 0; i < len; i++) {\n\t\tvar toModel = models[i];\n\t\tvar node = graph[toModel];\n\n\t\tif (node.parent === null) {\n\t\t\t// no possible conversion, or this node is the source model.\n\t\t\tcontinue;\n\t\t}\n\n\t\tconversion[toModel] = wrapConversion(toModel, graph);\n\t}\n\n\treturn conversion;\n};\n\nvar convert = {};\n\nvar models = Object.keys(conversions);\n\nfunction wrapRaw(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\treturn fn(args);\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nfunction wrapRounded(fn) {\n\tvar wrappedFn = function (args) {\n\t\tif (args === undefined || args === null) {\n\t\t\treturn args;\n\t\t}\n\n\t\tif (arguments.length > 1) {\n\t\t\targs = Array.prototype.slice.call(arguments);\n\t\t}\n\n\t\tvar result = fn(args);\n\n\t\t// we're assuming the result is an array here.\n\t\t// see notice in conversions.js; don't use box types\n\t\t// in conversion functions.\n\t\tif (typeof result === 'object') {\n\t\t\tfor (var len = result.length, i = 0; i < len; i++) {\n\t\t\t\tresult[i] = Math.round(result[i]);\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// preserve .conversion property if there is one\n\tif ('conversion' in fn) {\n\t\twrappedFn.conversion = fn.conversion;\n\t}\n\n\treturn wrappedFn;\n}\n\nmodels.forEach(function (fromModel) {\n\tconvert[fromModel] = {};\n\n\tObject.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels});\n\tObject.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels});\n\n\tvar routes = route(fromModel);\n\tvar routeModels = Object.keys(routes);\n\n\trouteModels.forEach(function (toModel) {\n\t\tvar fn = routes[toModel];\n\n\t\tconvert[fromModel][toModel] = wrapRounded(fn);\n\t\tconvert[fromModel][toModel].raw = wrapRaw(fn);\n\t});\n});\n\nvar colorConvert = convert;\n\nvar colorName$1 = {\r\n\t\"aliceblue\": [240, 248, 255],\r\n\t\"antiquewhite\": [250, 235, 215],\r\n\t\"aqua\": [0, 255, 255],\r\n\t\"aquamarine\": [127, 255, 212],\r\n\t\"azure\": [240, 255, 255],\r\n\t\"beige\": [245, 245, 220],\r\n\t\"bisque\": [255, 228, 196],\r\n\t\"black\": [0, 0, 0],\r\n\t\"blanchedalmond\": [255, 235, 205],\r\n\t\"blue\": [0, 0, 255],\r\n\t\"blueviolet\": [138, 43, 226],\r\n\t\"brown\": [165, 42, 42],\r\n\t\"burlywood\": [222, 184, 135],\r\n\t\"cadetblue\": [95, 158, 160],\r\n\t\"chartreuse\": [127, 255, 0],\r\n\t\"chocolate\": [210, 105, 30],\r\n\t\"coral\": [255, 127, 80],\r\n\t\"cornflowerblue\": [100, 149, 237],\r\n\t\"cornsilk\": [255, 248, 220],\r\n\t\"crimson\": [220, 20, 60],\r\n\t\"cyan\": [0, 255, 255],\r\n\t\"darkblue\": [0, 0, 139],\r\n\t\"darkcyan\": [0, 139, 139],\r\n\t\"darkgoldenrod\": [184, 134, 11],\r\n\t\"darkgray\": [169, 169, 169],\r\n\t\"darkgreen\": [0, 100, 0],\r\n\t\"darkgrey\": [169, 169, 169],\r\n\t\"darkkhaki\": [189, 183, 107],\r\n\t\"darkmagenta\": [139, 0, 139],\r\n\t\"darkolivegreen\": [85, 107, 47],\r\n\t\"darkorange\": [255, 140, 0],\r\n\t\"darkorchid\": [153, 50, 204],\r\n\t\"darkred\": [139, 0, 0],\r\n\t\"darksalmon\": [233, 150, 122],\r\n\t\"darkseagreen\": [143, 188, 143],\r\n\t\"darkslateblue\": [72, 61, 139],\r\n\t\"darkslategray\": [47, 79, 79],\r\n\t\"darkslategrey\": [47, 79, 79],\r\n\t\"darkturquoise\": [0, 206, 209],\r\n\t\"darkviolet\": [148, 0, 211],\r\n\t\"deeppink\": [255, 20, 147],\r\n\t\"deepskyblue\": [0, 191, 255],\r\n\t\"dimgray\": [105, 105, 105],\r\n\t\"dimgrey\": [105, 105, 105],\r\n\t\"dodgerblue\": [30, 144, 255],\r\n\t\"firebrick\": [178, 34, 34],\r\n\t\"floralwhite\": [255, 250, 240],\r\n\t\"forestgreen\": [34, 139, 34],\r\n\t\"fuchsia\": [255, 0, 255],\r\n\t\"gainsboro\": [220, 220, 220],\r\n\t\"ghostwhite\": [248, 248, 255],\r\n\t\"gold\": [255, 215, 0],\r\n\t\"goldenrod\": [218, 165, 32],\r\n\t\"gray\": [128, 128, 128],\r\n\t\"green\": [0, 128, 0],\r\n\t\"greenyellow\": [173, 255, 47],\r\n\t\"grey\": [128, 128, 128],\r\n\t\"honeydew\": [240, 255, 240],\r\n\t\"hotpink\": [255, 105, 180],\r\n\t\"indianred\": [205, 92, 92],\r\n\t\"indigo\": [75, 0, 130],\r\n\t\"ivory\": [255, 255, 240],\r\n\t\"khaki\": [240, 230, 140],\r\n\t\"lavender\": [230, 230, 250],\r\n\t\"lavenderblush\": [255, 240, 245],\r\n\t\"lawngreen\": [124, 252, 0],\r\n\t\"lemonchiffon\": [255, 250, 205],\r\n\t\"lightblue\": [173, 216, 230],\r\n\t\"lightcoral\": [240, 128, 128],\r\n\t\"lightcyan\": [224, 255, 255],\r\n\t\"lightgoldenrodyellow\": [250, 250, 210],\r\n\t\"lightgray\": [211, 211, 211],\r\n\t\"lightgreen\": [144, 238, 144],\r\n\t\"lightgrey\": [211, 211, 211],\r\n\t\"lightpink\": [255, 182, 193],\r\n\t\"lightsalmon\": [255, 160, 122],\r\n\t\"lightseagreen\": [32, 178, 170],\r\n\t\"lightskyblue\": [135, 206, 250],\r\n\t\"lightslategray\": [119, 136, 153],\r\n\t\"lightslategrey\": [119, 136, 153],\r\n\t\"lightsteelblue\": [176, 196, 222],\r\n\t\"lightyellow\": [255, 255, 224],\r\n\t\"lime\": [0, 255, 0],\r\n\t\"limegreen\": [50, 205, 50],\r\n\t\"linen\": [250, 240, 230],\r\n\t\"magenta\": [255, 0, 255],\r\n\t\"maroon\": [128, 0, 0],\r\n\t\"mediumaquamarine\": [102, 205, 170],\r\n\t\"mediumblue\": [0, 0, 205],\r\n\t\"mediumorchid\": [186, 85, 211],\r\n\t\"mediumpurple\": [147, 112, 219],\r\n\t\"mediumseagreen\": [60, 179, 113],\r\n\t\"mediumslateblue\": [123, 104, 238],\r\n\t\"mediumspringgreen\": [0, 250, 154],\r\n\t\"mediumturquoise\": [72, 209, 204],\r\n\t\"mediumvioletred\": [199, 21, 133],\r\n\t\"midnightblue\": [25, 25, 112],\r\n\t\"mintcream\": [245, 255, 250],\r\n\t\"mistyrose\": [255, 228, 225],\r\n\t\"moccasin\": [255, 228, 181],\r\n\t\"navajowhite\": [255, 222, 173],\r\n\t\"navy\": [0, 0, 128],\r\n\t\"oldlace\": [253, 245, 230],\r\n\t\"olive\": [128, 128, 0],\r\n\t\"olivedrab\": [107, 142, 35],\r\n\t\"orange\": [255, 165, 0],\r\n\t\"orangered\": [255, 69, 0],\r\n\t\"orchid\": [218, 112, 214],\r\n\t\"palegoldenrod\": [238, 232, 170],\r\n\t\"palegreen\": [152, 251, 152],\r\n\t\"paleturquoise\": [175, 238, 238],\r\n\t\"palevioletred\": [219, 112, 147],\r\n\t\"papayawhip\": [255, 239, 213],\r\n\t\"peachpuff\": [255, 218, 185],\r\n\t\"peru\": [205, 133, 63],\r\n\t\"pink\": [255, 192, 203],\r\n\t\"plum\": [221, 160, 221],\r\n\t\"powderblue\": [176, 224, 230],\r\n\t\"purple\": [128, 0, 128],\r\n\t\"rebeccapurple\": [102, 51, 153],\r\n\t\"red\": [255, 0, 0],\r\n\t\"rosybrown\": [188, 143, 143],\r\n\t\"royalblue\": [65, 105, 225],\r\n\t\"saddlebrown\": [139, 69, 19],\r\n\t\"salmon\": [250, 128, 114],\r\n\t\"sandybrown\": [244, 164, 96],\r\n\t\"seagreen\": [46, 139, 87],\r\n\t\"seashell\": [255, 245, 238],\r\n\t\"sienna\": [160, 82, 45],\r\n\t\"silver\": [192, 192, 192],\r\n\t\"skyblue\": [135, 206, 235],\r\n\t\"slateblue\": [106, 90, 205],\r\n\t\"slategray\": [112, 128, 144],\r\n\t\"slategrey\": [112, 128, 144],\r\n\t\"snow\": [255, 250, 250],\r\n\t\"springgreen\": [0, 255, 127],\r\n\t\"steelblue\": [70, 130, 180],\r\n\t\"tan\": [210, 180, 140],\r\n\t\"teal\": [0, 128, 128],\r\n\t\"thistle\": [216, 191, 216],\r\n\t\"tomato\": [255, 99, 71],\r\n\t\"turquoise\": [64, 224, 208],\r\n\t\"violet\": [238, 130, 238],\r\n\t\"wheat\": [245, 222, 179],\r\n\t\"white\": [255, 255, 255],\r\n\t\"whitesmoke\": [245, 245, 245],\r\n\t\"yellow\": [255, 255, 0],\r\n\t\"yellowgreen\": [154, 205, 50]\r\n};\n\n/* MIT license */\n\n\nvar colorString = {\n getRgba: getRgba,\n getHsla: getHsla,\n getRgb: getRgb,\n getHsl: getHsl,\n getHwb: getHwb,\n getAlpha: getAlpha,\n\n hexString: hexString,\n rgbString: rgbString,\n rgbaString: rgbaString,\n percentString: percentString,\n percentaString: percentaString,\n hslString: hslString,\n hslaString: hslaString,\n hwbString: hwbString,\n keyword: keyword\n};\n\nfunction getRgba(string) {\n if (!string) {\n return;\n }\n var abbr = /^#([a-fA-F0-9]{3,4})$/i,\n hex = /^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i,\n rgba = /^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n per = /^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i,\n keyword = /(\\w+)/;\n\n var rgb = [0, 0, 0],\n a = 1,\n match = string.match(abbr),\n hexAlpha = \"\";\n if (match) {\n match = match[1];\n hexAlpha = match[3];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i] + match[i], 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha + hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(hex)) {\n hexAlpha = match[2];\n match = match[1];\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match.slice(i * 2, i * 2 + 2), 16);\n }\n if (hexAlpha) {\n a = Math.round((parseInt(hexAlpha, 16) / 255) * 100) / 100;\n }\n }\n else if (match = string.match(rgba)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = parseInt(match[i + 1]);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(per)) {\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = Math.round(parseFloat(match[i + 1]) * 2.55);\n }\n a = parseFloat(match[4]);\n }\n else if (match = string.match(keyword)) {\n if (match[1] == \"transparent\") {\n return [0, 0, 0, 0];\n }\n rgb = colorName$1[match[1]];\n if (!rgb) {\n return;\n }\n }\n\n for (var i = 0; i < rgb.length; i++) {\n rgb[i] = scale(rgb[i], 0, 255);\n }\n if (!a && a != 0) {\n a = 1;\n }\n else {\n a = scale(a, 0, 1);\n }\n rgb[3] = a;\n return rgb;\n}\n\nfunction getHsla(string) {\n if (!string) {\n return;\n }\n var hsl = /^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hsl);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n s = scale(parseFloat(match[2]), 0, 100),\n l = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, s, l, a];\n }\n}\n\nfunction getHwb(string) {\n if (!string) {\n return;\n }\n var hwb = /^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/;\n var match = string.match(hwb);\n if (match) {\n var alpha = parseFloat(match[4]);\n var h = scale(parseInt(match[1]), 0, 360),\n w = scale(parseFloat(match[2]), 0, 100),\n b = scale(parseFloat(match[3]), 0, 100),\n a = scale(isNaN(alpha) ? 1 : alpha, 0, 1);\n return [h, w, b, a];\n }\n}\n\nfunction getRgb(string) {\n var rgba = getRgba(string);\n return rgba && rgba.slice(0, 3);\n}\n\nfunction getHsl(string) {\n var hsla = getHsla(string);\n return hsla && hsla.slice(0, 3);\n}\n\nfunction getAlpha(string) {\n var vals = getRgba(string);\n if (vals) {\n return vals[3];\n }\n else if (vals = getHsla(string)) {\n return vals[3];\n }\n else if (vals = getHwb(string)) {\n return vals[3];\n }\n}\n\n// generators\nfunction hexString(rgba, a) {\n var a = (a !== undefined && rgba.length === 3) ? a : rgba[3];\n return \"#\" + hexDouble(rgba[0]) \n + hexDouble(rgba[1])\n + hexDouble(rgba[2])\n + (\n (a >= 0 && a < 1)\n ? hexDouble(Math.round(a * 255))\n : \"\"\n );\n}\n\nfunction rgbString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return rgbaString(rgba, alpha);\n }\n return \"rgb(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2] + \")\";\n}\n\nfunction rgbaString(rgba, alpha) {\n if (alpha === undefined) {\n alpha = (rgba[3] !== undefined ? rgba[3] : 1);\n }\n return \"rgba(\" + rgba[0] + \", \" + rgba[1] + \", \" + rgba[2]\n + \", \" + alpha + \")\";\n}\n\nfunction percentString(rgba, alpha) {\n if (alpha < 1 || (rgba[3] && rgba[3] < 1)) {\n return percentaString(rgba, alpha);\n }\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n\n return \"rgb(\" + r + \"%, \" + g + \"%, \" + b + \"%)\";\n}\n\nfunction percentaString(rgba, alpha) {\n var r = Math.round(rgba[0]/255 * 100),\n g = Math.round(rgba[1]/255 * 100),\n b = Math.round(rgba[2]/255 * 100);\n return \"rgba(\" + r + \"%, \" + g + \"%, \" + b + \"%, \" + (alpha || rgba[3] || 1) + \")\";\n}\n\nfunction hslString(hsla, alpha) {\n if (alpha < 1 || (hsla[3] && hsla[3] < 1)) {\n return hslaString(hsla, alpha);\n }\n return \"hsl(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%)\";\n}\n\nfunction hslaString(hsla, alpha) {\n if (alpha === undefined) {\n alpha = (hsla[3] !== undefined ? hsla[3] : 1);\n }\n return \"hsla(\" + hsla[0] + \", \" + hsla[1] + \"%, \" + hsla[2] + \"%, \"\n + alpha + \")\";\n}\n\n// hwb is a bit different than rgb(a) & hsl(a) since there is no alpha specific syntax\n// (hwb have alpha optional & 1 is default value)\nfunction hwbString(hwb, alpha) {\n if (alpha === undefined) {\n alpha = (hwb[3] !== undefined ? hwb[3] : 1);\n }\n return \"hwb(\" + hwb[0] + \", \" + hwb[1] + \"%, \" + hwb[2] + \"%\"\n + (alpha !== undefined && alpha !== 1 ? \", \" + alpha : \"\") + \")\";\n}\n\nfunction keyword(rgb) {\n return reverseNames[rgb.slice(0, 3)];\n}\n\n// helpers\nfunction scale(num, min, max) {\n return Math.min(Math.max(min, num), max);\n}\n\nfunction hexDouble(num) {\n var str = num.toString(16).toUpperCase();\n return (str.length < 2) ? \"0\" + str : str;\n}\n\n\n//create a list of reverse color names\nvar reverseNames = {};\nfor (var name in colorName$1) {\n reverseNames[colorName$1[name]] = name;\n}\n\n/* MIT license */\n\n\n\nvar Color = function (obj) {\n\tif (obj instanceof Color) {\n\t\treturn obj;\n\t}\n\tif (!(this instanceof Color)) {\n\t\treturn new Color(obj);\n\t}\n\n\tthis.valid = false;\n\tthis.values = {\n\t\trgb: [0, 0, 0],\n\t\thsl: [0, 0, 0],\n\t\thsv: [0, 0, 0],\n\t\thwb: [0, 0, 0],\n\t\tcmyk: [0, 0, 0, 0],\n\t\talpha: 1\n\t};\n\n\t// parse Color() argument\n\tvar vals;\n\tif (typeof obj === 'string') {\n\t\tvals = colorString.getRgba(obj);\n\t\tif (vals) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals = colorString.getHsla(obj)) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals = colorString.getHwb(obj)) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t}\n\t} else if (typeof obj === 'object') {\n\t\tvals = obj;\n\t\tif (vals.r !== undefined || vals.red !== undefined) {\n\t\t\tthis.setValues('rgb', vals);\n\t\t} else if (vals.l !== undefined || vals.lightness !== undefined) {\n\t\t\tthis.setValues('hsl', vals);\n\t\t} else if (vals.v !== undefined || vals.value !== undefined) {\n\t\t\tthis.setValues('hsv', vals);\n\t\t} else if (vals.w !== undefined || vals.whiteness !== undefined) {\n\t\t\tthis.setValues('hwb', vals);\n\t\t} else if (vals.c !== undefined || vals.cyan !== undefined) {\n\t\t\tthis.setValues('cmyk', vals);\n\t\t}\n\t}\n};\n\nColor.prototype = {\n\tisValid: function () {\n\t\treturn this.valid;\n\t},\n\trgb: function () {\n\t\treturn this.setSpace('rgb', arguments);\n\t},\n\thsl: function () {\n\t\treturn this.setSpace('hsl', arguments);\n\t},\n\thsv: function () {\n\t\treturn this.setSpace('hsv', arguments);\n\t},\n\thwb: function () {\n\t\treturn this.setSpace('hwb', arguments);\n\t},\n\tcmyk: function () {\n\t\treturn this.setSpace('cmyk', arguments);\n\t},\n\n\trgbArray: function () {\n\t\treturn this.values.rgb;\n\t},\n\thslArray: function () {\n\t\treturn this.values.hsl;\n\t},\n\thsvArray: function () {\n\t\treturn this.values.hsv;\n\t},\n\thwbArray: function () {\n\t\tvar values = this.values;\n\t\tif (values.alpha !== 1) {\n\t\t\treturn values.hwb.concat([values.alpha]);\n\t\t}\n\t\treturn values.hwb;\n\t},\n\tcmykArray: function () {\n\t\treturn this.values.cmyk;\n\t},\n\trgbaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.rgb.concat([values.alpha]);\n\t},\n\thslaArray: function () {\n\t\tvar values = this.values;\n\t\treturn values.hsl.concat([values.alpha]);\n\t},\n\talpha: function (val) {\n\t\tif (val === undefined) {\n\t\t\treturn this.values.alpha;\n\t\t}\n\t\tthis.setValues('alpha', val);\n\t\treturn this;\n\t},\n\n\tred: function (val) {\n\t\treturn this.setChannel('rgb', 0, val);\n\t},\n\tgreen: function (val) {\n\t\treturn this.setChannel('rgb', 1, val);\n\t},\n\tblue: function (val) {\n\t\treturn this.setChannel('rgb', 2, val);\n\t},\n\thue: function (val) {\n\t\tif (val) {\n\t\t\tval %= 360;\n\t\t\tval = val < 0 ? 360 + val : val;\n\t\t}\n\t\treturn this.setChannel('hsl', 0, val);\n\t},\n\tsaturation: function (val) {\n\t\treturn this.setChannel('hsl', 1, val);\n\t},\n\tlightness: function (val) {\n\t\treturn this.setChannel('hsl', 2, val);\n\t},\n\tsaturationv: function (val) {\n\t\treturn this.setChannel('hsv', 1, val);\n\t},\n\twhiteness: function (val) {\n\t\treturn this.setChannel('hwb', 1, val);\n\t},\n\tblackness: function (val) {\n\t\treturn this.setChannel('hwb', 2, val);\n\t},\n\tvalue: function (val) {\n\t\treturn this.setChannel('hsv', 2, val);\n\t},\n\tcyan: function (val) {\n\t\treturn this.setChannel('cmyk', 0, val);\n\t},\n\tmagenta: function (val) {\n\t\treturn this.setChannel('cmyk', 1, val);\n\t},\n\tyellow: function (val) {\n\t\treturn this.setChannel('cmyk', 2, val);\n\t},\n\tblack: function (val) {\n\t\treturn this.setChannel('cmyk', 3, val);\n\t},\n\n\thexString: function () {\n\t\treturn colorString.hexString(this.values.rgb);\n\t},\n\trgbString: function () {\n\t\treturn colorString.rgbString(this.values.rgb, this.values.alpha);\n\t},\n\trgbaString: function () {\n\t\treturn colorString.rgbaString(this.values.rgb, this.values.alpha);\n\t},\n\tpercentString: function () {\n\t\treturn colorString.percentString(this.values.rgb, this.values.alpha);\n\t},\n\thslString: function () {\n\t\treturn colorString.hslString(this.values.hsl, this.values.alpha);\n\t},\n\thslaString: function () {\n\t\treturn colorString.hslaString(this.values.hsl, this.values.alpha);\n\t},\n\thwbString: function () {\n\t\treturn colorString.hwbString(this.values.hwb, this.values.alpha);\n\t},\n\tkeyword: function () {\n\t\treturn colorString.keyword(this.values.rgb, this.values.alpha);\n\t},\n\n\trgbNumber: function () {\n\t\tvar rgb = this.values.rgb;\n\t\treturn (rgb[0] << 16) | (rgb[1] << 8) | rgb[2];\n\t},\n\n\tluminosity: function () {\n\t\t// http://www.w3.org/TR/WCAG20/#relativeluminancedef\n\t\tvar rgb = this.values.rgb;\n\t\tvar lum = [];\n\t\tfor (var i = 0; i < rgb.length; i++) {\n\t\t\tvar chan = rgb[i] / 255;\n\t\t\tlum[i] = (chan <= 0.03928) ? chan / 12.92 : Math.pow(((chan + 0.055) / 1.055), 2.4);\n\t\t}\n\t\treturn 0.2126 * lum[0] + 0.7152 * lum[1] + 0.0722 * lum[2];\n\t},\n\n\tcontrast: function (color2) {\n\t\t// http://www.w3.org/TR/WCAG20/#contrast-ratiodef\n\t\tvar lum1 = this.luminosity();\n\t\tvar lum2 = color2.luminosity();\n\t\tif (lum1 > lum2) {\n\t\t\treturn (lum1 + 0.05) / (lum2 + 0.05);\n\t\t}\n\t\treturn (lum2 + 0.05) / (lum1 + 0.05);\n\t},\n\n\tlevel: function (color2) {\n\t\tvar contrastRatio = this.contrast(color2);\n\t\tif (contrastRatio >= 7.1) {\n\t\t\treturn 'AAA';\n\t\t}\n\n\t\treturn (contrastRatio >= 4.5) ? 'AA' : '';\n\t},\n\n\tdark: function () {\n\t\t// YIQ equation from http://24ways.org/2010/calculating-color-contrast\n\t\tvar rgb = this.values.rgb;\n\t\tvar yiq = (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000;\n\t\treturn yiq < 128;\n\t},\n\n\tlight: function () {\n\t\treturn !this.dark();\n\t},\n\n\tnegate: function () {\n\t\tvar rgb = [];\n\t\tfor (var i = 0; i < 3; i++) {\n\t\t\trgb[i] = 255 - this.values.rgb[i];\n\t\t}\n\t\tthis.setValues('rgb', rgb);\n\t\treturn this;\n\t},\n\n\tlighten: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] += hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdarken: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[2] -= hsl[2] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tsaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] += hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\tdesaturate: function (ratio) {\n\t\tvar hsl = this.values.hsl;\n\t\thsl[1] -= hsl[1] * ratio;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\twhiten: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[1] += hwb[1] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tblacken: function (ratio) {\n\t\tvar hwb = this.values.hwb;\n\t\thwb[2] += hwb[2] * ratio;\n\t\tthis.setValues('hwb', hwb);\n\t\treturn this;\n\t},\n\n\tgreyscale: function () {\n\t\tvar rgb = this.values.rgb;\n\t\t// http://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale\n\t\tvar val = rgb[0] * 0.3 + rgb[1] * 0.59 + rgb[2] * 0.11;\n\t\tthis.setValues('rgb', [val, val, val]);\n\t\treturn this;\n\t},\n\n\tclearer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha - (alpha * ratio));\n\t\treturn this;\n\t},\n\n\topaquer: function (ratio) {\n\t\tvar alpha = this.values.alpha;\n\t\tthis.setValues('alpha', alpha + (alpha * ratio));\n\t\treturn this;\n\t},\n\n\trotate: function (degrees) {\n\t\tvar hsl = this.values.hsl;\n\t\tvar hue = (hsl[0] + degrees) % 360;\n\t\thsl[0] = hue < 0 ? 360 + hue : hue;\n\t\tthis.setValues('hsl', hsl);\n\t\treturn this;\n\t},\n\n\t/**\n\t * Ported from sass implementation in C\n\t * https://github.com/sass/libsass/blob/0e6b4a2850092356aa3ece07c6b249f0221caced/functions.cpp#L209\n\t */\n\tmix: function (mixinColor, weight) {\n\t\tvar color1 = this;\n\t\tvar color2 = mixinColor;\n\t\tvar p = weight === undefined ? 0.5 : weight;\n\n\t\tvar w = 2 * p - 1;\n\t\tvar a = color1.alpha() - color2.alpha();\n\n\t\tvar w1 = (((w * a === -1) ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n\t\tvar w2 = 1 - w1;\n\n\t\treturn this\n\t\t\t.rgb(\n\t\t\t\tw1 * color1.red() + w2 * color2.red(),\n\t\t\t\tw1 * color1.green() + w2 * color2.green(),\n\t\t\t\tw1 * color1.blue() + w2 * color2.blue()\n\t\t\t)\n\t\t\t.alpha(color1.alpha() * p + color2.alpha() * (1 - p));\n\t},\n\n\ttoJSON: function () {\n\t\treturn this.rgb();\n\t},\n\n\tclone: function () {\n\t\t// NOTE(SB): using node-clone creates a dependency to Buffer when using browserify,\n\t\t// making the final build way to big to embed in Chart.js. So let's do it manually,\n\t\t// assuming that values to clone are 1 dimension arrays containing only numbers,\n\t\t// except 'alpha' which is a number.\n\t\tvar result = new Color();\n\t\tvar source = this.values;\n\t\tvar target = result.values;\n\t\tvar value, type;\n\n\t\tfor (var prop in source) {\n\t\t\tif (source.hasOwnProperty(prop)) {\n\t\t\t\tvalue = source[prop];\n\t\t\t\ttype = ({}).toString.call(value);\n\t\t\t\tif (type === '[object Array]') {\n\t\t\t\t\ttarget[prop] = value.slice(0);\n\t\t\t\t} else if (type === '[object Number]') {\n\t\t\t\t\ttarget[prop] = value;\n\t\t\t\t} else {\n\t\t\t\t\tconsole.error('unexpected color value:', value);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn result;\n\t}\n};\n\nColor.prototype.spaces = {\n\trgb: ['red', 'green', 'blue'],\n\thsl: ['hue', 'saturation', 'lightness'],\n\thsv: ['hue', 'saturation', 'value'],\n\thwb: ['hue', 'whiteness', 'blackness'],\n\tcmyk: ['cyan', 'magenta', 'yellow', 'black']\n};\n\nColor.prototype.maxes = {\n\trgb: [255, 255, 255],\n\thsl: [360, 100, 100],\n\thsv: [360, 100, 100],\n\thwb: [360, 100, 100],\n\tcmyk: [100, 100, 100, 100]\n};\n\nColor.prototype.getValues = function (space) {\n\tvar values = this.values;\n\tvar vals = {};\n\n\tfor (var i = 0; i < space.length; i++) {\n\t\tvals[space.charAt(i)] = values[space][i];\n\t}\n\n\tif (values.alpha !== 1) {\n\t\tvals.a = values.alpha;\n\t}\n\n\t// {r: 255, g: 255, b: 255, a: 0.4}\n\treturn vals;\n};\n\nColor.prototype.setValues = function (space, vals) {\n\tvar values = this.values;\n\tvar spaces = this.spaces;\n\tvar maxes = this.maxes;\n\tvar alpha = 1;\n\tvar i;\n\n\tthis.valid = true;\n\n\tif (space === 'alpha') {\n\t\talpha = vals;\n\t} else if (vals.length) {\n\t\t// [10, 10, 10]\n\t\tvalues[space] = vals.slice(0, space.length);\n\t\talpha = vals[space.length];\n\t} else if (vals[space.charAt(0)] !== undefined) {\n\t\t// {r: 10, g: 10, b: 10}\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[space.charAt(i)];\n\t\t}\n\n\t\talpha = vals.a;\n\t} else if (vals[spaces[space][0]] !== undefined) {\n\t\t// {red: 10, green: 10, blue: 10}\n\t\tvar chans = spaces[space];\n\n\t\tfor (i = 0; i < space.length; i++) {\n\t\t\tvalues[space][i] = vals[chans[i]];\n\t\t}\n\n\t\talpha = vals.alpha;\n\t}\n\n\tvalues.alpha = Math.max(0, Math.min(1, (alpha === undefined ? values.alpha : alpha)));\n\n\tif (space === 'alpha') {\n\t\treturn false;\n\t}\n\n\tvar capped;\n\n\t// cap values of the space prior converting all values\n\tfor (i = 0; i < space.length; i++) {\n\t\tcapped = Math.max(0, Math.min(maxes[space][i], values[space][i]));\n\t\tvalues[space][i] = Math.round(capped);\n\t}\n\n\t// convert to all the other color spaces\n\tfor (var sname in spaces) {\n\t\tif (sname !== space) {\n\t\t\tvalues[sname] = colorConvert[space][sname](values[space]);\n\t\t}\n\t}\n\n\treturn true;\n};\n\nColor.prototype.setSpace = function (space, args) {\n\tvar vals = args[0];\n\n\tif (vals === undefined) {\n\t\t// color.rgb()\n\t\treturn this.getValues(space);\n\t}\n\n\t// color.rgb(10, 10, 10)\n\tif (typeof vals === 'number') {\n\t\tvals = Array.prototype.slice.call(args);\n\t}\n\n\tthis.setValues(space, vals);\n\treturn this;\n};\n\nColor.prototype.setChannel = function (space, index, val) {\n\tvar svalues = this.values[space];\n\tif (val === undefined) {\n\t\t// color.red()\n\t\treturn svalues[index];\n\t} else if (val === svalues[index]) {\n\t\t// color.red(color.red())\n\t\treturn this;\n\t}\n\n\t// color.red(100)\n\tsvalues[index] = val;\n\tthis.setValues(space, svalues);\n\n\treturn this;\n};\n\nif (typeof window !== 'undefined') {\n\twindow.Color = Color;\n}\n\nvar chartjsColor = Color;\n\nfunction isValidKey(key) {\r\n\treturn ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\r\n}\r\n\r\n/**\r\n * @namespace Chart.helpers\r\n */\r\nvar helpers = {\r\n\t/**\r\n\t * An empty function that can be used, for example, for optional callback.\r\n\t */\r\n\tnoop: function() {},\r\n\r\n\t/**\r\n\t * Returns a unique id, sequentially generated from a global variable.\r\n\t * @returns {number}\r\n\t * @function\r\n\t */\r\n\tuid: (function() {\r\n\t\tvar id = 0;\r\n\t\treturn function() {\r\n\t\t\treturn id++;\r\n\t\t};\r\n\t}()),\r\n\r\n\t/**\r\n\t * Returns true if `value` is neither null nor undefined, else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisNullOrUndef: function(value) {\r\n\t\treturn value === null || typeof value === 'undefined';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an array (including typed arrays), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @function\r\n\t */\r\n\tisArray: function(value) {\r\n\t\tif (Array.isArray && Array.isArray(value)) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tvar type = Object.prototype.toString.call(value);\r\n\t\tif (type.substr(0, 7) === '[object' && type.substr(-6) === 'Array]') {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is an object (excluding null), else returns false.\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t * @since 2.7.0\r\n\t */\r\n\tisObject: function(value) {\r\n\t\treturn value !== null && Object.prototype.toString.call(value) === '[object Object]';\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if `value` is a finite number, else returns false\r\n\t * @param {*} value - The value to test.\r\n\t * @returns {boolean}\r\n\t */\r\n\tisFinite: function(value) {\r\n\t\treturn (typeof value === 'number' || value instanceof Number) && isFinite(value);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns `value` if defined, else returns `defaultValue`.\r\n\t * @param {*} value - The value to return if defined.\r\n\t * @param {*} defaultValue - The value to return if `value` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueOrDefault: function(value, defaultValue) {\r\n\t\treturn typeof value === 'undefined' ? defaultValue : value;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns value at the given `index` in array if defined, else returns `defaultValue`.\r\n\t * @param {Array} value - The array to lookup for value at `index`.\r\n\t * @param {number} index - The index in `value` to lookup for value.\r\n\t * @param {*} defaultValue - The value to return if `value[index]` is undefined.\r\n\t * @returns {*}\r\n\t */\r\n\tvalueAtIndexOrDefault: function(value, index, defaultValue) {\r\n\t\treturn helpers.valueOrDefault(helpers.isArray(value) ? value[index] : value, defaultValue);\r\n\t},\r\n\r\n\t/**\r\n\t * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\r\n\t * value returned by `fn`. If `fn` is not a function, this method returns undefined.\r\n\t * @param {function} fn - The function to call.\r\n\t * @param {Array|undefined|null} args - The arguments with which `fn` should be called.\r\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @returns {*}\r\n\t */\r\n\tcallback: function(fn, args, thisArg) {\r\n\t\tif (fn && typeof fn.call === 'function') {\r\n\t\t\treturn fn.apply(thisArg, args);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Note(SB) for performance sake, this method should only be used when loopable type\r\n\t * is unknown or in none intensive code (not called often and small loopable). Else\r\n\t * it's preferable to use a regular for() loop and save extra function calls.\r\n\t * @param {object|Array} loopable - The object or array to be iterated.\r\n\t * @param {function} fn - The function to call for each item.\r\n\t * @param {object} [thisArg] - The value of `this` provided for the call to `fn`.\r\n\t * @param {boolean} [reverse] - If true, iterates backward on the loopable.\r\n\t */\r\n\teach: function(loopable, fn, thisArg, reverse) {\r\n\t\tvar i, len, keys;\r\n\t\tif (helpers.isArray(loopable)) {\r\n\t\t\tlen = loopable.length;\r\n\t\t\tif (reverse) {\r\n\t\t\t\tfor (i = len - 1; i >= 0; i--) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\t\tfn.call(thisArg, loopable[i], i);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (helpers.isObject(loopable)) {\r\n\t\t\tkeys = Object.keys(loopable);\r\n\t\t\tlen = keys.length;\r\n\t\t\tfor (i = 0; i < len; i++) {\r\n\t\t\t\tfn.call(thisArg, loopable[keys[i]], keys[i]);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\r\n\t * @see https://stackoverflow.com/a/14853974\r\n\t * @param {Array} a0 - The array to compare\r\n\t * @param {Array} a1 - The array to compare\r\n\t * @returns {boolean}\r\n\t */\r\n\tarrayEquals: function(a0, a1) {\r\n\t\tvar i, ilen, v0, v1;\r\n\r\n\t\tif (!a0 || !a1 || a0.length !== a1.length) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = a0.length; i < ilen; ++i) {\r\n\t\t\tv0 = a0[i];\r\n\t\t\tv1 = a1[i];\r\n\r\n\t\t\tif (v0 instanceof Array && v1 instanceof Array) {\r\n\t\t\t\tif (!helpers.arrayEquals(v0, v1)) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t} else if (v0 !== v1) {\r\n\t\t\t\t// NOTE: two different object instances will never be equal: {x:20} != {x:20}\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a deep copy of `source` without keeping references on objects and arrays.\r\n\t * @param {*} source - The value to clone.\r\n\t * @returns {*}\r\n\t */\r\n\tclone: function(source) {\r\n\t\tif (helpers.isArray(source)) {\r\n\t\t\treturn source.map(helpers.clone);\r\n\t\t}\r\n\r\n\t\tif (helpers.isObject(source)) {\r\n\t\t\tvar target = Object.create(source);\r\n\t\t\tvar keys = Object.keys(source);\r\n\t\t\tvar klen = keys.length;\r\n\t\t\tvar k = 0;\r\n\r\n\t\t\tfor (; k < klen; ++k) {\r\n\t\t\t\ttarget[keys[k]] = helpers.clone(source[keys[k]]);\r\n\t\t\t}\r\n\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\treturn source;\r\n\t},\r\n\r\n\t/**\r\n\t * The default merger when Chart.helpers.merge is called without merger option.\r\n\t * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\r\n\t * @private\r\n\t */\r\n\t_merger: function(key, target, source, options) {\r\n\t\tif (!isValidKey(key)) {\r\n\t\t\t// We want to ensure we do not copy prototypes over\r\n\t\t\t// as this can pollute global namespaces\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.merge(tval, sval, options);\r\n\t\t} else {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Merges source[key] in target[key] only if target[key] is undefined.\r\n\t * @private\r\n\t */\r\n\t_mergerIf: function(key, target, source) {\r\n\t\tif (!isValidKey(key)) {\r\n\t\t\t// We want to ensure we do not copy prototypes over\r\n\t\t\t// as this can pollute global namespaces\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar tval = target[key];\r\n\t\tvar sval = source[key];\r\n\r\n\t\tif (helpers.isObject(tval) && helpers.isObject(sval)) {\r\n\t\t\thelpers.mergeIf(tval, sval);\r\n\t\t} else if (!target.hasOwnProperty(key)) {\r\n\t\t\ttarget[key] = helpers.clone(sval);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` with the given `options`.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {object} target - The target object in which all sources are merged into.\r\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\r\n\t * @param {object} [options] - Merging options:\r\n\t * @param {function} [options.merger] - The merge method (key, target, source, options)\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\tmerge: function(target, source, options) {\r\n\t\tvar sources = helpers.isArray(source) ? source : [source];\r\n\t\tvar ilen = sources.length;\r\n\t\tvar merge, i, keys, klen, k;\r\n\r\n\t\tif (!helpers.isObject(target)) {\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\toptions = options || {};\r\n\t\tmerge = options.merger || helpers._merger;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tsource = sources[i];\r\n\t\t\tif (!helpers.isObject(source)) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tkeys = Object.keys(source);\r\n\t\t\tfor (k = 0, klen = keys.length; k < klen; ++k) {\r\n\t\t\t\tmerge(keys[k], target, source, options);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn target;\r\n\t},\r\n\r\n\t/**\r\n\t * Recursively deep copies `source` properties into `target` *only* if not defined in target.\r\n\t * IMPORTANT: `target` is not cloned and will be updated with `source` properties.\r\n\t * @param {object} target - The target object in which all sources are merged into.\r\n\t * @param {object|object[]} source - Object(s) to merge into `target`.\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\tmergeIf: function(target, source) {\r\n\t\treturn helpers.merge(target, source, {merger: helpers._mergerIf});\r\n\t},\r\n\r\n\t/**\r\n\t * Applies the contents of two or more objects together into the first object.\r\n\t * @param {object} target - The target object in which all objects are merged into.\r\n\t * @param {object} arg1 - Object containing additional properties to merge in target.\r\n\t * @param {object} argN - Additional objects containing properties to merge in target.\r\n\t * @returns {object} The `target` object.\r\n\t */\r\n\textend: Object.assign || function(target) {\r\n\t\treturn helpers.merge(target, [].slice.call(arguments, 1), {\r\n\t\t\tmerger: function(key, dst, src) {\r\n\t\t\t\tdst[key] = src[key];\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * Basic javascript inheritance based on the model created in Backbone.js\r\n\t */\r\n\tinherits: function(extensions) {\r\n\t\tvar me = this;\r\n\t\tvar ChartElement = (extensions && extensions.hasOwnProperty('constructor')) ? extensions.constructor : function() {\r\n\t\t\treturn me.apply(this, arguments);\r\n\t\t};\r\n\r\n\t\tvar Surrogate = function() {\r\n\t\t\tthis.constructor = ChartElement;\r\n\t\t};\r\n\r\n\t\tSurrogate.prototype = me.prototype;\r\n\t\tChartElement.prototype = new Surrogate();\r\n\t\tChartElement.extend = helpers.inherits;\r\n\r\n\t\tif (extensions) {\r\n\t\t\thelpers.extend(ChartElement.prototype, extensions);\r\n\t\t}\r\n\r\n\t\tChartElement.__super__ = me.prototype;\r\n\t\treturn ChartElement;\r\n\t},\r\n\r\n\t_deprecated: function(scope, value, previous, current) {\r\n\t\tif (value !== undefined) {\r\n\t\t\tconsole.warn(scope + ': \"' + previous +\r\n\t\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\r\n\t\t}\r\n\t}\r\n};\r\n\r\nvar helpers_core = helpers;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.callback instead.\r\n * @function Chart.helpers.callCallback\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.callCallback = helpers.callback;\r\n\r\n/**\r\n * Provided for backward compatibility, use Array.prototype.indexOf instead.\r\n * Array.prototype.indexOf compatibility: Chrome, Opera, Safari, FF1.5+, IE9+\r\n * @function Chart.helpers.indexOf\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.indexOf = function(array, item, fromIndex) {\r\n\treturn Array.prototype.indexOf.call(array, item, fromIndex);\r\n};\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueOrDefault instead.\r\n * @function Chart.helpers.getValueOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueOrDefault = helpers.valueOrDefault;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.valueAtIndexOrDefault instead.\r\n * @function Chart.helpers.getValueAtIndexOrDefault\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers.getValueAtIndexOrDefault = helpers.valueAtIndexOrDefault;\n\n/**\r\n * Easing functions adapted from Robert Penner's easing equations.\r\n * @namespace Chart.helpers.easingEffects\r\n * @see http://www.robertpenner.com/easing/\r\n */\r\nvar effects = {\r\n\tlinear: function(t) {\r\n\t\treturn t;\r\n\t},\r\n\r\n\teaseInQuad: function(t) {\r\n\t\treturn t * t;\r\n\t},\r\n\r\n\teaseOutQuad: function(t) {\r\n\t\treturn -t * (t - 2);\r\n\t},\r\n\r\n\teaseInOutQuad: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((--t) * (t - 2) - 1);\r\n\t},\r\n\r\n\teaseInCubic: function(t) {\r\n\t\treturn t * t * t;\r\n\t},\r\n\r\n\teaseOutCubic: function(t) {\r\n\t\treturn (t = t - 1) * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutCubic: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t + 2);\r\n\t},\r\n\r\n\teaseInQuart: function(t) {\r\n\t\treturn t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuart: function(t) {\r\n\t\treturn -((t = t - 1) * t * t * t - 1);\r\n\t},\r\n\r\n\teaseInOutQuart: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t;\r\n\t\t}\r\n\t\treturn -0.5 * ((t -= 2) * t * t * t - 2);\r\n\t},\r\n\r\n\teaseInQuint: function(t) {\r\n\t\treturn t * t * t * t * t;\r\n\t},\r\n\r\n\teaseOutQuint: function(t) {\r\n\t\treturn (t = t - 1) * t * t * t * t + 1;\r\n\t},\r\n\r\n\teaseInOutQuint: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * t * t * t * t * t;\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * t * t * t + 2);\r\n\t},\r\n\r\n\teaseInSine: function(t) {\r\n\t\treturn -Math.cos(t * (Math.PI / 2)) + 1;\r\n\t},\r\n\r\n\teaseOutSine: function(t) {\r\n\t\treturn Math.sin(t * (Math.PI / 2));\r\n\t},\r\n\r\n\teaseInOutSine: function(t) {\r\n\t\treturn -0.5 * (Math.cos(Math.PI * t) - 1);\r\n\t},\r\n\r\n\teaseInExpo: function(t) {\r\n\t\treturn (t === 0) ? 0 : Math.pow(2, 10 * (t - 1));\r\n\t},\r\n\r\n\teaseOutExpo: function(t) {\r\n\t\treturn (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1;\r\n\t},\r\n\r\n\teaseInOutExpo: function(t) {\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * Math.pow(2, 10 * (t - 1));\r\n\t\t}\r\n\t\treturn 0.5 * (-Math.pow(2, -10 * --t) + 2);\r\n\t},\r\n\r\n\teaseInCirc: function(t) {\r\n\t\tif (t >= 1) {\r\n\t\t\treturn t;\r\n\t\t}\r\n\t\treturn -(Math.sqrt(1 - t * t) - 1);\r\n\t},\r\n\r\n\teaseOutCirc: function(t) {\r\n\t\treturn Math.sqrt(1 - (t = t - 1) * t);\r\n\t},\r\n\r\n\teaseInOutCirc: function(t) {\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn -0.5 * (Math.sqrt(1 - t * t) - 1);\r\n\t\t}\r\n\t\treturn 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1);\r\n\t},\r\n\r\n\teaseInElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn -(a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t},\r\n\r\n\teaseOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (t === 1) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.3;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * t) * Math.sin((t - s) * (2 * Math.PI) / p) + 1;\r\n\t},\r\n\r\n\teaseInOutElastic: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tvar p = 0;\r\n\t\tvar a = 1;\r\n\t\tif (t === 0) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif ((t /= 0.5) === 2) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\t\tif (!p) {\r\n\t\t\tp = 0.45;\r\n\t\t}\r\n\t\tif (a < 1) {\r\n\t\t\ta = 1;\r\n\t\t\ts = p / 4;\r\n\t\t} else {\r\n\t\t\ts = p / (2 * Math.PI) * Math.asin(1 / a);\r\n\t\t}\r\n\t\tif (t < 1) {\r\n\t\t\treturn -0.5 * (a * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p));\r\n\t\t}\r\n\t\treturn a * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - s) * (2 * Math.PI) / p) * 0.5 + 1;\r\n\t},\r\n\teaseInBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn t * t * ((s + 1) * t - s);\r\n\t},\r\n\r\n\teaseOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\treturn (t = t - 1) * t * ((s + 1) * t + s) + 1;\r\n\t},\r\n\r\n\teaseInOutBack: function(t) {\r\n\t\tvar s = 1.70158;\r\n\t\tif ((t /= 0.5) < 1) {\r\n\t\t\treturn 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\r\n\t\t}\r\n\t\treturn 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\r\n\t},\r\n\r\n\teaseInBounce: function(t) {\r\n\t\treturn 1 - effects.easeOutBounce(1 - t);\r\n\t},\r\n\r\n\teaseOutBounce: function(t) {\r\n\t\tif (t < (1 / 2.75)) {\r\n\t\t\treturn 7.5625 * t * t;\r\n\t\t}\r\n\t\tif (t < (2 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (1.5 / 2.75)) * t + 0.75;\r\n\t\t}\r\n\t\tif (t < (2.5 / 2.75)) {\r\n\t\t\treturn 7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375;\r\n\t\t}\r\n\t\treturn 7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375;\r\n\t},\r\n\r\n\teaseInOutBounce: function(t) {\r\n\t\tif (t < 0.5) {\r\n\t\t\treturn effects.easeInBounce(t * 2) * 0.5;\r\n\t\t}\r\n\t\treturn effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5;\r\n\t}\r\n};\r\n\r\nvar helpers_easing = {\r\n\teffects: effects\r\n};\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.easing.effects instead.\r\n * @function Chart.helpers.easingEffects\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.easingEffects = effects;\n\nvar PI = Math.PI;\r\nvar RAD_PER_DEG = PI / 180;\r\nvar DOUBLE_PI = PI * 2;\r\nvar HALF_PI = PI / 2;\r\nvar QUARTER_PI = PI / 4;\r\nvar TWO_THIRDS_PI = PI * 2 / 3;\r\n\r\n/**\r\n * @namespace Chart.helpers.canvas\r\n */\r\nvar exports$1 = {\r\n\t/**\r\n\t * Clears the entire canvas associated to the given `chart`.\r\n\t * @param {Chart} chart - The chart for which to clear the canvas.\r\n\t */\r\n\tclear: function(chart) {\r\n\t\tchart.ctx.clearRect(0, 0, chart.width, chart.height);\r\n\t},\r\n\r\n\t/**\r\n\t * Creates a \"path\" for a rectangle with rounded corners at position (x, y) with a\r\n\t * given size (width, height) and the same `radius` for all corners.\r\n\t * @param {CanvasRenderingContext2D} ctx - The canvas 2D Context.\r\n\t * @param {number} x - The x axis of the coordinate for the rectangle starting point.\r\n\t * @param {number} y - The y axis of the coordinate for the rectangle starting point.\r\n\t * @param {number} width - The rectangle's width.\r\n\t * @param {number} height - The rectangle's height.\r\n\t * @param {number} radius - The rounded amount (in pixels) for the four corners.\r\n\t * @todo handle `radius` as top-left, top-right, bottom-right, bottom-left array/object?\r\n\t */\r\n\troundedRect: function(ctx, x, y, width, height, radius) {\r\n\t\tif (radius) {\r\n\t\t\tvar r = Math.min(radius, height / 2, width / 2);\r\n\t\t\tvar left = x + r;\r\n\t\t\tvar top = y + r;\r\n\t\t\tvar right = x + width - r;\r\n\t\t\tvar bottom = y + height - r;\r\n\r\n\t\t\tctx.moveTo(x, top);\r\n\t\t\tif (left < right && top < bottom) {\r\n\t\t\t\tctx.arc(left, top, r, -PI, -HALF_PI);\r\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, 0);\r\n\t\t\t\tctx.arc(right, bottom, r, 0, HALF_PI);\r\n\t\t\t\tctx.arc(left, bottom, r, HALF_PI, PI);\r\n\t\t\t} else if (left < right) {\r\n\t\t\t\tctx.moveTo(left, y);\r\n\t\t\t\tctx.arc(right, top, r, -HALF_PI, HALF_PI);\r\n\t\t\t\tctx.arc(left, top, r, HALF_PI, PI + HALF_PI);\r\n\t\t\t} else if (top < bottom) {\r\n\t\t\t\tctx.arc(left, top, r, -PI, 0);\r\n\t\t\t\tctx.arc(left, bottom, r, 0, PI);\r\n\t\t\t} else {\r\n\t\t\t\tctx.arc(left, top, r, -PI, PI);\r\n\t\t\t}\r\n\t\t\tctx.closePath();\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t} else {\r\n\t\t\tctx.rect(x, y, width, height);\r\n\t\t}\r\n\t},\r\n\r\n\tdrawPoint: function(ctx, style, radius, x, y, rotation) {\r\n\t\tvar type, xOffset, yOffset, size, cornerRadius;\r\n\t\tvar rad = (rotation || 0) * RAD_PER_DEG;\r\n\r\n\t\tif (style && typeof style === 'object') {\r\n\t\t\ttype = style.toString();\r\n\t\t\tif (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\r\n\t\t\t\tctx.save();\r\n\t\t\t\tctx.translate(x, y);\r\n\t\t\t\tctx.rotate(rad);\r\n\t\t\t\tctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\r\n\t\t\t\tctx.restore();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (isNaN(radius) || radius <= 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\r\n\t\tswitch (style) {\r\n\t\t// Default includes circle\r\n\t\tdefault:\r\n\t\t\tctx.arc(x, y, radius, 0, DOUBLE_PI);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'triangle':\r\n\t\t\tctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\trad += TWO_THIRDS_PI;\r\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\trad += TWO_THIRDS_PI;\r\n\t\t\tctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'rectRounded':\r\n\t\t\t// NOTE: the rounded rect implementation changed to use `arc` instead of\r\n\t\t\t// `quadraticCurveTo` since it generates better results when rect is\r\n\t\t\t// almost a circle. 0.516 (instead of 0.5) produces results with visually\r\n\t\t\t// closer proportion to the previous impl and it is inscribed in the\r\n\t\t\t// circle with `radius`. For more details, see the following PRs:\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5597\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/5858\r\n\t\t\tcornerRadius = radius * 0.516;\r\n\t\t\tsize = radius - cornerRadius;\r\n\t\t\txOffset = Math.cos(rad + QUARTER_PI) * size;\r\n\t\t\tyOffset = Math.sin(rad + QUARTER_PI) * size;\r\n\t\t\tctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\r\n\t\t\tctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\r\n\t\t\tctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\r\n\t\t\tctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'rect':\r\n\t\t\tif (!rotation) {\r\n\t\t\t\tsize = Math.SQRT1_2 * radius;\r\n\t\t\t\tctx.rect(x - size, y - size, 2 * size, 2 * size);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\t/* falls through */\r\n\t\tcase 'rectRot':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tctx.closePath();\r\n\t\t\tbreak;\r\n\t\tcase 'crossRot':\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\t/* falls through */\r\n\t\tcase 'cross':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'star':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\trad += QUARTER_PI;\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tctx.moveTo(x + yOffset, y - xOffset);\r\n\t\t\tctx.lineTo(x - yOffset, y + xOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'line':\r\n\t\t\txOffset = Math.cos(rad) * radius;\r\n\t\t\tyOffset = Math.sin(rad) * radius;\r\n\t\t\tctx.moveTo(x - xOffset, y - yOffset);\r\n\t\t\tctx.lineTo(x + xOffset, y + yOffset);\r\n\t\t\tbreak;\r\n\t\tcase 'dash':\r\n\t\t\tctx.moveTo(x, y);\r\n\t\t\tctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tctx.fill();\r\n\t\tctx.stroke();\r\n\t},\r\n\r\n\t/**\r\n\t * Returns true if the point is inside the rectangle\r\n\t * @param {object} point - The point to test\r\n\t * @param {object} area - The rectangle\r\n\t * @returns {boolean}\r\n\t * @private\r\n\t */\r\n\t_isPointInArea: function(point, area) {\r\n\t\tvar epsilon = 1e-6; // 1e-6 is margin in pixels for accumulated error.\r\n\r\n\t\treturn point.x > area.left - epsilon && point.x < area.right + epsilon &&\r\n\t\t\tpoint.y > area.top - epsilon && point.y < area.bottom + epsilon;\r\n\t},\r\n\r\n\tclipArea: function(ctx, area) {\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\r\n\t\tctx.clip();\r\n\t},\r\n\r\n\tunclipArea: function(ctx) {\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\tlineTo: function(ctx, previous, target, flip) {\r\n\t\tvar stepped = target.steppedLine;\r\n\t\tif (stepped) {\r\n\t\t\tif (stepped === 'middle') {\r\n\t\t\t\tvar midpoint = (previous.x + target.x) / 2.0;\r\n\t\t\t\tctx.lineTo(midpoint, flip ? target.y : previous.y);\r\n\t\t\t\tctx.lineTo(midpoint, flip ? previous.y : target.y);\r\n\t\t\t} else if ((stepped === 'after' && !flip) || (stepped !== 'after' && flip)) {\r\n\t\t\t\tctx.lineTo(previous.x, target.y);\r\n\t\t\t} else {\r\n\t\t\t\tctx.lineTo(target.x, previous.y);\r\n\t\t\t}\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (!target.tension) {\r\n\t\t\tctx.lineTo(target.x, target.y);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.bezierCurveTo(\r\n\t\t\tflip ? previous.controlPointPreviousX : previous.controlPointNextX,\r\n\t\t\tflip ? previous.controlPointPreviousY : previous.controlPointNextY,\r\n\t\t\tflip ? target.controlPointNextX : target.controlPointPreviousX,\r\n\t\t\tflip ? target.controlPointNextY : target.controlPointPreviousY,\r\n\t\t\ttarget.x,\r\n\t\t\ttarget.y);\r\n\t}\r\n};\r\n\r\nvar helpers_canvas = exports$1;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.clear instead.\r\n * @namespace Chart.helpers.clear\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.clear = exports$1.clear;\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.canvas.roundedRect instead.\r\n * @namespace Chart.helpers.drawRoundedRectangle\r\n * @deprecated since version 2.7.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.drawRoundedRectangle = function(ctx) {\r\n\tctx.beginPath();\r\n\texports$1.roundedRect.apply(exports$1, arguments);\r\n};\n\nvar defaults = {\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_set: function(scope, values) {\r\n\t\treturn helpers_core.merge(this[scope] || (this[scope] = {}), values);\r\n\t}\r\n};\r\n\r\n// TODO(v3): remove 'global' from namespace. all default are global and\r\n// there's inconsistency around which options are under 'global'\r\ndefaults._set('global', {\r\n\tdefaultColor: 'rgba(0,0,0,0.1)',\r\n\tdefaultFontColor: '#666',\r\n\tdefaultFontFamily: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\r\n\tdefaultFontSize: 12,\r\n\tdefaultFontStyle: 'normal',\r\n\tdefaultLineHeight: 1.2,\r\n\tshowLines: true\r\n});\r\n\r\nvar core_defaults = defaults;\n\nvar valueOrDefault = helpers_core.valueOrDefault;\r\n\r\n/**\r\n * Converts the given font object into a CSS font string.\r\n * @param {object} font - A font object.\r\n * @return {string} The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\r\n * @private\r\n */\r\nfunction toFontString(font) {\r\n\tif (!font || helpers_core.isNullOrUndef(font.size) || helpers_core.isNullOrUndef(font.family)) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (font.style ? font.style + ' ' : '')\r\n\t\t+ (font.weight ? font.weight + ' ' : '')\r\n\t\t+ font.size + 'px '\r\n\t\t+ font.family;\r\n}\r\n\r\n/**\r\n * @alias Chart.helpers.options\r\n * @namespace\r\n */\r\nvar helpers_options = {\r\n\t/**\r\n\t * Converts the given line height `value` in pixels for a specific font `size`.\r\n\t * @param {number|string} value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\r\n\t * @param {number} size - The font size (in pixels) used to resolve relative `value`.\r\n\t * @returns {number} The effective line height in pixels (size * 1.2 if value is invalid).\r\n\t * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoLineHeight: function(value, size) {\r\n\t\tvar matches = ('' + value).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\r\n\t\tif (!matches || matches[1] === 'normal') {\r\n\t\t\treturn size * 1.2;\r\n\t\t}\r\n\r\n\t\tvalue = +matches[2];\r\n\r\n\t\tswitch (matches[3]) {\r\n\t\tcase 'px':\r\n\t\t\treturn value;\r\n\t\tcase '%':\r\n\t\t\tvalue /= 100;\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\treturn size * value;\r\n\t},\r\n\r\n\t/**\r\n\t * Converts the given value into a padding object with pre-computed width/height.\r\n\t * @param {number|object} value - If a number, set the value to all TRBL component,\r\n\t * else, if and object, use defined properties and sets undefined ones to 0.\r\n\t * @returns {object} The padding values (top, right, bottom, left, width, height)\r\n\t * @since 2.7.0\r\n\t */\r\n\ttoPadding: function(value) {\r\n\t\tvar t, r, b, l;\r\n\r\n\t\tif (helpers_core.isObject(value)) {\r\n\t\t\tt = +value.top || 0;\r\n\t\t\tr = +value.right || 0;\r\n\t\t\tb = +value.bottom || 0;\r\n\t\t\tl = +value.left || 0;\r\n\t\t} else {\r\n\t\t\tt = r = b = l = +value || 0;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\ttop: t,\r\n\t\t\tright: r,\r\n\t\t\tbottom: b,\r\n\t\t\tleft: l,\r\n\t\t\theight: t + b,\r\n\t\t\twidth: l + r\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Parses font options and returns the font object.\r\n\t * @param {object} options - A object that contains font options to be parsed.\r\n\t * @return {object} The font object.\r\n\t * @todo Support font.* options and renamed to toFont().\r\n\t * @private\r\n\t */\r\n\t_parseFont: function(options) {\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar size = valueOrDefault(options.fontSize, globalDefaults.defaultFontSize);\r\n\t\tvar font = {\r\n\t\t\tfamily: valueOrDefault(options.fontFamily, globalDefaults.defaultFontFamily),\r\n\t\t\tlineHeight: helpers_core.options.toLineHeight(valueOrDefault(options.lineHeight, globalDefaults.defaultLineHeight), size),\r\n\t\t\tsize: size,\r\n\t\t\tstyle: valueOrDefault(options.fontStyle, globalDefaults.defaultFontStyle),\r\n\t\t\tweight: null,\r\n\t\t\tstring: ''\r\n\t\t};\r\n\r\n\t\tfont.string = toFontString(font);\r\n\t\treturn font;\r\n\t},\r\n\r\n\t/**\r\n\t * Evaluates the given `inputs` sequentially and returns the first defined value.\r\n\t * @param {Array} inputs - An array of values, falling back to the last value.\r\n\t * @param {object} [context] - If defined and the current value is a function, the value\r\n\t * is called with `context` as first argument and the result becomes the new input.\r\n\t * @param {number} [index] - If defined and the current value is an array, the value\r\n\t * at `index` become the new input.\r\n\t * @param {object} [info] - object to return information about resolution in\r\n\t * @param {boolean} [info.cacheable] - Will be set to `false` if option is not cacheable.\r\n\t * @since 2.7.0\r\n\t */\r\n\tresolve: function(inputs, context, index, info) {\r\n\t\tvar cacheable = true;\r\n\t\tvar i, ilen, value;\r\n\r\n\t\tfor (i = 0, ilen = inputs.length; i < ilen; ++i) {\r\n\t\t\tvalue = inputs[i];\r\n\t\t\tif (value === undefined) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tif (context !== undefined && typeof value === 'function') {\r\n\t\t\t\tvalue = value(context);\r\n\t\t\t\tcacheable = false;\r\n\t\t\t}\r\n\t\t\tif (index !== undefined && helpers_core.isArray(value)) {\r\n\t\t\t\tvalue = value[index];\r\n\t\t\t\tcacheable = false;\r\n\t\t\t}\r\n\t\t\tif (value !== undefined) {\r\n\t\t\t\tif (info && !cacheable) {\r\n\t\t\t\t\tinfo.cacheable = false;\r\n\t\t\t\t}\r\n\t\t\t\treturn value;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\n/**\r\n * @alias Chart.helpers.math\r\n * @namespace\r\n */\r\nvar exports$2 = {\r\n\t/**\r\n\t * Returns an array of factors sorted from 1 to sqrt(value)\r\n\t * @private\r\n\t */\r\n\t_factorize: function(value) {\r\n\t\tvar result = [];\r\n\t\tvar sqrt = Math.sqrt(value);\r\n\t\tvar i;\r\n\r\n\t\tfor (i = 1; i < sqrt; i++) {\r\n\t\t\tif (value % i === 0) {\r\n\t\t\t\tresult.push(i);\r\n\t\t\t\tresult.push(value / i);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (sqrt === (sqrt | 0)) { // if value is a square number\r\n\t\t\tresult.push(sqrt);\r\n\t\t}\r\n\r\n\t\tresult.sort(function(a, b) {\r\n\t\t\treturn a - b;\r\n\t\t}).pop();\r\n\t\treturn result;\r\n\t},\r\n\r\n\tlog10: Math.log10 || function(x) {\r\n\t\tvar exponent = Math.log(x) * Math.LOG10E; // Math.LOG10E = 1 / Math.LN10.\r\n\t\t// Check for whole powers of 10,\r\n\t\t// which due to floating point rounding error should be corrected.\r\n\t\tvar powerOf10 = Math.round(exponent);\r\n\t\tvar isPowerOf10 = x === Math.pow(10, powerOf10);\r\n\r\n\t\treturn isPowerOf10 ? powerOf10 : exponent;\r\n\t}\r\n};\r\n\r\nvar helpers_math = exports$2;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.helpers.math.log10 instead.\r\n * @namespace Chart.helpers.log10\r\n * @deprecated since version 2.9.0\r\n * @todo remove at version 3\r\n * @private\r\n */\r\nhelpers_core.log10 = exports$2.log10;\n\nvar getRtlAdapter = function(rectX, width) {\r\n\treturn {\r\n\t\tx: function(x) {\r\n\t\t\treturn rectX + rectX + width - x;\r\n\t\t},\r\n\t\tsetWidth: function(w) {\r\n\t\t\twidth = w;\r\n\t\t},\r\n\t\ttextAlign: function(align) {\r\n\t\t\tif (align === 'center') {\r\n\t\t\t\treturn align;\r\n\t\t\t}\r\n\t\t\treturn align === 'right' ? 'left' : 'right';\r\n\t\t},\r\n\t\txPlus: function(x, value) {\r\n\t\t\treturn x - value;\r\n\t\t},\r\n\t\tleftForLtr: function(x, itemWidth) {\r\n\t\t\treturn x - itemWidth;\r\n\t\t},\r\n\t};\r\n};\r\n\r\nvar getLtrAdapter = function() {\r\n\treturn {\r\n\t\tx: function(x) {\r\n\t\t\treturn x;\r\n\t\t},\r\n\t\tsetWidth: function(w) { // eslint-disable-line no-unused-vars\r\n\t\t},\r\n\t\ttextAlign: function(align) {\r\n\t\t\treturn align;\r\n\t\t},\r\n\t\txPlus: function(x, value) {\r\n\t\t\treturn x + value;\r\n\t\t},\r\n\t\tleftForLtr: function(x, _itemWidth) { // eslint-disable-line no-unused-vars\r\n\t\t\treturn x;\r\n\t\t},\r\n\t};\r\n};\r\n\r\nvar getAdapter = function(rtl, rectX, width) {\r\n\treturn rtl ? getRtlAdapter(rectX, width) : getLtrAdapter();\r\n};\r\n\r\nvar overrideTextDirection = function(ctx, direction) {\r\n\tvar style, original;\r\n\tif (direction === 'ltr' || direction === 'rtl') {\r\n\t\tstyle = ctx.canvas.style;\r\n\t\toriginal = [\r\n\t\t\tstyle.getPropertyValue('direction'),\r\n\t\t\tstyle.getPropertyPriority('direction'),\r\n\t\t];\r\n\r\n\t\tstyle.setProperty('direction', direction, 'important');\r\n\t\tctx.prevTextDirection = original;\r\n\t}\r\n};\r\n\r\nvar restoreTextDirection = function(ctx) {\r\n\tvar original = ctx.prevTextDirection;\r\n\tif (original !== undefined) {\r\n\t\tdelete ctx.prevTextDirection;\r\n\t\tctx.canvas.style.setProperty('direction', original[0], original[1]);\r\n\t}\r\n};\r\n\r\nvar helpers_rtl = {\r\n\tgetRtlAdapter: getAdapter,\r\n\toverrideTextDirection: overrideTextDirection,\r\n\trestoreTextDirection: restoreTextDirection,\r\n};\n\nvar helpers$1 = helpers_core;\r\nvar easing = helpers_easing;\r\nvar canvas = helpers_canvas;\r\nvar options = helpers_options;\r\nvar math = helpers_math;\r\nvar rtl = helpers_rtl;\nhelpers$1.easing = easing;\nhelpers$1.canvas = canvas;\nhelpers$1.options = options;\nhelpers$1.math = math;\nhelpers$1.rtl = rtl;\n\nfunction interpolate(start, view, model, ease) {\r\n\tvar keys = Object.keys(model);\r\n\tvar i, ilen, key, actual, origin, target, type, c0, c1;\r\n\r\n\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\tkey = keys[i];\r\n\r\n\t\ttarget = model[key];\r\n\r\n\t\t// if a value is added to the model after pivot() has been called, the view\r\n\t\t// doesn't contain it, so let's initialize the view to the target value.\r\n\t\tif (!view.hasOwnProperty(key)) {\r\n\t\t\tview[key] = target;\r\n\t\t}\r\n\r\n\t\tactual = view[key];\r\n\r\n\t\tif (actual === target || key[0] === '_') {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (!start.hasOwnProperty(key)) {\r\n\t\t\tstart[key] = actual;\r\n\t\t}\r\n\r\n\t\torigin = start[key];\r\n\r\n\t\ttype = typeof target;\r\n\r\n\t\tif (type === typeof origin) {\r\n\t\t\tif (type === 'string') {\r\n\t\t\t\tc0 = chartjsColor(origin);\r\n\t\t\t\tif (c0.valid) {\r\n\t\t\t\t\tc1 = chartjsColor(target);\r\n\t\t\t\t\tif (c1.valid) {\r\n\t\t\t\t\t\tview[key] = c1.mix(c0, ease).rgbString();\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else if (helpers$1.isFinite(origin) && helpers$1.isFinite(target)) {\r\n\t\t\t\tview[key] = origin + (target - origin) * ease;\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tview[key] = target;\r\n\t}\r\n}\r\n\r\nvar Element = function(configuration) {\r\n\thelpers$1.extend(this, configuration);\r\n\tthis.initialize.apply(this, arguments);\r\n};\r\n\r\nhelpers$1.extend(Element.prototype, {\r\n\t_type: undefined,\r\n\r\n\tinitialize: function() {\r\n\t\tthis.hidden = false;\r\n\t},\r\n\r\n\tpivot: function() {\r\n\t\tvar me = this;\r\n\t\tif (!me._view) {\r\n\t\t\tme._view = helpers$1.extend({}, me._model);\r\n\t\t}\r\n\t\tme._start = {};\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttransition: function(ease) {\r\n\t\tvar me = this;\r\n\t\tvar model = me._model;\r\n\t\tvar start = me._start;\r\n\t\tvar view = me._view;\r\n\r\n\t\t// No animation -> No Transition\r\n\t\tif (!model || ease === 1) {\r\n\t\t\tme._view = helpers$1.extend({}, model);\r\n\t\t\tme._start = null;\r\n\t\t\treturn me;\r\n\t\t}\r\n\r\n\t\tif (!view) {\r\n\t\t\tview = me._view = {};\r\n\t\t}\r\n\r\n\t\tif (!start) {\r\n\t\t\tstart = me._start = {};\r\n\t\t}\r\n\r\n\t\tinterpolate(start, view, model, ease);\r\n\r\n\t\treturn me;\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\treturn {\r\n\t\t\tx: this._model.x,\r\n\t\t\ty: this._model.y\r\n\t\t};\r\n\t},\r\n\r\n\thasValue: function() {\r\n\t\treturn helpers$1.isNumber(this._model.x) && helpers$1.isNumber(this._model.y);\r\n\t}\r\n});\r\n\r\nElement.extend = helpers$1.inherits;\r\n\r\nvar core_element = Element;\n\nvar exports$3 = core_element.extend({\r\n\tchart: null, // the animation associated chart instance\r\n\tcurrentStep: 0, // the current animation step\r\n\tnumSteps: 60, // default number of steps\r\n\teasing: '', // the easing to use for this animation\r\n\trender: null, // render function used by the animation service\r\n\r\n\tonAnimationProgress: null, // user specified callback to fire on each step of the animation\r\n\tonAnimationComplete: null, // user specified callback to fire when the animation finishes\r\n});\r\n\r\nvar core_animation = exports$3;\r\n\r\n// DEPRECATIONS\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.Animation instead\r\n * @prop Chart.Animation#animationObject\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\r\nObject.defineProperty(exports$3.prototype, 'animationObject', {\r\n\tget: function() {\r\n\t\treturn this;\r\n\t}\r\n});\r\n\r\n/**\r\n * Provided for backward compatibility, use Chart.Animation#chart instead\r\n * @prop Chart.Animation#chartInstance\r\n * @deprecated since version 2.6.0\r\n * @todo remove at version 3\r\n */\r\nObject.defineProperty(exports$3.prototype, 'chartInstance', {\r\n\tget: function() {\r\n\t\treturn this.chart;\r\n\t},\r\n\tset: function(value) {\r\n\t\tthis.chart = value;\r\n\t}\r\n});\n\ncore_defaults._set('global', {\r\n\tanimation: {\r\n\t\tduration: 1000,\r\n\t\teasing: 'easeOutQuart',\r\n\t\tonProgress: helpers$1.noop,\r\n\t\tonComplete: helpers$1.noop\r\n\t}\r\n});\r\n\r\nvar core_animations = {\r\n\tanimations: [],\r\n\trequest: null,\r\n\r\n\t/**\r\n\t * @param {Chart} chart - The chart to animate.\r\n\t * @param {Chart.Animation} animation - The animation that we will animate.\r\n\t * @param {number} duration - The animation duration in ms.\r\n\t * @param {boolean} lazy - if true, the chart is not marked as animating to enable more responsive interactions\r\n\t */\r\n\taddAnimation: function(chart, animation, duration, lazy) {\r\n\t\tvar animations = this.animations;\r\n\t\tvar i, ilen;\r\n\r\n\t\tanimation.chart = chart;\r\n\t\tanimation.startTime = Date.now();\r\n\t\tanimation.duration = duration;\r\n\r\n\t\tif (!lazy) {\r\n\t\t\tchart.animating = true;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = animations.length; i < ilen; ++i) {\r\n\t\t\tif (animations[i].chart === chart) {\r\n\t\t\t\tanimations[i] = animation;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tanimations.push(animation);\r\n\r\n\t\t// If there are no animations queued, manually kickstart a digest, for lack of a better word\r\n\t\tif (animations.length === 1) {\r\n\t\t\tthis.requestAnimationFrame();\r\n\t\t}\r\n\t},\r\n\r\n\tcancelAnimation: function(chart) {\r\n\t\tvar index = helpers$1.findIndex(this.animations, function(animation) {\r\n\t\t\treturn animation.chart === chart;\r\n\t\t});\r\n\r\n\t\tif (index !== -1) {\r\n\t\t\tthis.animations.splice(index, 1);\r\n\t\t\tchart.animating = false;\r\n\t\t}\r\n\t},\r\n\r\n\trequestAnimationFrame: function() {\r\n\t\tvar me = this;\r\n\t\tif (me.request === null) {\r\n\t\t\t// Skip animation frame requests until the active one is executed.\r\n\t\t\t// This can happen when processing mouse events, e.g. 'mousemove'\r\n\t\t\t// and 'mouseout' events will trigger multiple renders.\r\n\t\t\tme.request = helpers$1.requestAnimFrame.call(window, function() {\r\n\t\t\t\tme.request = null;\r\n\t\t\t\tme.startDigest();\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tstartDigest: function() {\r\n\t\tvar me = this;\r\n\r\n\t\tme.advance();\r\n\r\n\t\t// Do we have more stuff to animate?\r\n\t\tif (me.animations.length > 0) {\r\n\t\t\tme.requestAnimationFrame();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tadvance: function() {\r\n\t\tvar animations = this.animations;\r\n\t\tvar animation, chart, numSteps, nextStep;\r\n\t\tvar i = 0;\r\n\r\n\t\t// 1 animation per chart, so we are looping charts here\r\n\t\twhile (i < animations.length) {\r\n\t\t\tanimation = animations[i];\r\n\t\t\tchart = animation.chart;\r\n\t\t\tnumSteps = animation.numSteps;\r\n\r\n\t\t\t// Make sure that currentStep starts at 1\r\n\t\t\t// https://github.com/chartjs/Chart.js/issues/6104\r\n\t\t\tnextStep = Math.floor((Date.now() - animation.startTime) / animation.duration * numSteps) + 1;\r\n\t\t\tanimation.currentStep = Math.min(nextStep, numSteps);\r\n\r\n\t\t\thelpers$1.callback(animation.render, [chart, animation], chart);\r\n\t\t\thelpers$1.callback(animation.onAnimationProgress, [animation], chart);\r\n\r\n\t\t\tif (animation.currentStep >= numSteps) {\r\n\t\t\t\thelpers$1.callback(animation.onAnimationComplete, [animation], chart);\r\n\t\t\t\tchart.animating = false;\r\n\t\t\t\tanimations.splice(i, 1);\r\n\t\t\t} else {\r\n\t\t\t\t++i;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\n\nvar resolve = helpers$1.options.resolve;\r\n\r\nvar arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\r\n\r\n/**\r\n * Hooks the array methods that add or remove values ('push', pop', 'shift', 'splice',\r\n * 'unshift') and notify the listener AFTER the array has been altered. Listeners are\r\n * called on the 'onData*' callbacks (e.g. onDataPush, etc.) with same arguments.\r\n */\r\nfunction listenArrayEvents(array, listener) {\r\n\tif (array._chartjs) {\r\n\t\tarray._chartjs.listeners.push(listener);\r\n\t\treturn;\r\n\t}\r\n\r\n\tObject.defineProperty(array, '_chartjs', {\r\n\t\tconfigurable: true,\r\n\t\tenumerable: false,\r\n\t\tvalue: {\r\n\t\t\tlisteners: [listener]\r\n\t\t}\r\n\t});\r\n\r\n\tarrayEvents.forEach(function(key) {\r\n\t\tvar method = 'onData' + key.charAt(0).toUpperCase() + key.slice(1);\r\n\t\tvar base = array[key];\r\n\r\n\t\tObject.defineProperty(array, key, {\r\n\t\t\tconfigurable: true,\r\n\t\t\tenumerable: false,\r\n\t\t\tvalue: function() {\r\n\t\t\t\tvar args = Array.prototype.slice.call(arguments);\r\n\t\t\t\tvar res = base.apply(this, args);\r\n\r\n\t\t\t\thelpers$1.each(array._chartjs.listeners, function(object) {\r\n\t\t\t\t\tif (typeof object[method] === 'function') {\r\n\t\t\t\t\t\tobject[method].apply(object, args);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\treturn res;\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\n\r\n/**\r\n * Removes the given array event listener and cleanup extra attached properties (such as\r\n * the _chartjs stub and overridden methods) if array doesn't have any more listeners.\r\n */\r\nfunction unlistenArrayEvents(array, listener) {\r\n\tvar stub = array._chartjs;\r\n\tif (!stub) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar listeners = stub.listeners;\r\n\tvar index = listeners.indexOf(listener);\r\n\tif (index !== -1) {\r\n\t\tlisteners.splice(index, 1);\r\n\t}\r\n\r\n\tif (listeners.length > 0) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tarrayEvents.forEach(function(key) {\r\n\t\tdelete array[key];\r\n\t});\r\n\r\n\tdelete array._chartjs;\r\n}\r\n\r\n// Base class for all dataset controllers (line, bar, etc)\r\nvar DatasetController = function(chart, datasetIndex) {\r\n\tthis.initialize(chart, datasetIndex);\r\n};\r\n\r\nhelpers$1.extend(DatasetController.prototype, {\r\n\r\n\t/**\r\n\t * Element type used to generate a meta dataset (e.g. Chart.element.Line).\r\n\t * @type {Chart.core.element}\r\n\t */\r\n\tdatasetElementType: null,\r\n\r\n\t/**\r\n\t * Element type used to generate a meta data (e.g. Chart.element.Point).\r\n\t * @type {Chart.core.element}\r\n\t */\r\n\tdataElementType: null,\r\n\r\n\t/**\r\n\t * Dataset element option keys to be resolved in _resolveDatasetElementOptions.\r\n\t * A derived controller may override this to resolve controller-specific options.\r\n\t * The keys defined here are for backward compatibility for legend styles.\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderColor',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'borderWidth'\r\n\t],\r\n\r\n\t/**\r\n\t * Data element option keys to be resolved in _resolveDataElementOptions.\r\n\t * A derived controller may override this to resolve controller-specific options.\r\n\t * The keys defined here are for backward compatibility for legend styles.\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'pointStyle'\r\n\t],\r\n\r\n\tinitialize: function(chart, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tme.chart = chart;\r\n\t\tme.index = datasetIndex;\r\n\t\tme.linkScales();\r\n\t\tme.addElements();\r\n\t\tme._type = me.getMeta().type;\r\n\t},\r\n\r\n\tupdateIndex: function(datasetIndex) {\r\n\t\tthis.index = datasetIndex;\r\n\t},\r\n\r\n\tlinkScales: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar chart = me.chart;\r\n\t\tvar scales = chart.scales;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar scalesOpts = chart.options.scales;\r\n\r\n\t\tif (meta.xAxisID === null || !(meta.xAxisID in scales) || dataset.xAxisID) {\r\n\t\t\tmeta.xAxisID = dataset.xAxisID || scalesOpts.xAxes[0].id;\r\n\t\t}\r\n\t\tif (meta.yAxisID === null || !(meta.yAxisID in scales) || dataset.yAxisID) {\r\n\t\t\tmeta.yAxisID = dataset.yAxisID || scalesOpts.yAxes[0].id;\r\n\t\t}\r\n\t},\r\n\r\n\tgetDataset: function() {\r\n\t\treturn this.chart.data.datasets[this.index];\r\n\t},\r\n\r\n\tgetMeta: function() {\r\n\t\treturn this.chart.getDatasetMeta(this.index);\r\n\t},\r\n\r\n\tgetScaleForId: function(scaleID) {\r\n\t\treturn this.chart.scales[scaleID];\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.getMeta().yAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.getMeta().xAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScale: function() {\r\n\t\treturn this.getScaleForId(this._getValueScaleId());\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScale: function() {\r\n\t\treturn this.getScaleForId(this._getIndexScaleId());\r\n\t},\r\n\r\n\treset: function() {\r\n\t\tthis._update(true);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tdestroy: function() {\r\n\t\tif (this._data) {\r\n\t\t\tunlistenArrayEvents(this._data, this);\r\n\t\t}\r\n\t},\r\n\r\n\tcreateMetaDataset: function() {\r\n\t\tvar me = this;\r\n\t\tvar type = me.datasetElementType;\r\n\t\treturn type && new type({\r\n\t\t\t_chart: me.chart,\r\n\t\t\t_datasetIndex: me.index\r\n\t\t});\r\n\t},\r\n\r\n\tcreateMetaData: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar type = me.dataElementType;\r\n\t\treturn type && new type({\r\n\t\t\t_chart: me.chart,\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index\r\n\t\t});\r\n\t},\r\n\r\n\taddElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar data = me.getDataset().data || [];\r\n\t\tvar metaData = meta.data;\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = data.length; i < ilen; ++i) {\r\n\t\t\tmetaData[i] = metaData[i] || me.createMetaData(i);\r\n\t\t}\r\n\r\n\t\tmeta.dataset = meta.dataset || me.createMetaDataset();\r\n\t},\r\n\r\n\taddElementAndReset: function(index) {\r\n\t\tvar element = this.createMetaData(index);\r\n\t\tthis.getMeta().data.splice(index, 0, element);\r\n\t\tthis.updateElement(element, index, true);\r\n\t},\r\n\r\n\tbuildOrUpdateElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar data = dataset.data || (dataset.data = []);\r\n\r\n\t\t// In order to correctly handle data addition/deletion animation (an thus simulate\r\n\t\t// real-time charts), we need to monitor these data modifications and synchronize\r\n\t\t// the internal meta data accordingly.\r\n\t\tif (me._data !== data) {\r\n\t\t\tif (me._data) {\r\n\t\t\t\t// This case happens when the user replaced the data array instance.\r\n\t\t\t\tunlistenArrayEvents(me._data, me);\r\n\t\t\t}\r\n\r\n\t\t\tif (data && Object.isExtensible(data)) {\r\n\t\t\t\tlistenArrayEvents(data, me);\r\n\t\t\t}\r\n\t\t\tme._data = data;\r\n\t\t}\r\n\r\n\t\t// Re-sync meta data in case the user replaced the data array or if we missed\r\n\t\t// any updates and so make sure that we handle number of datapoints changing.\r\n\t\tme.resyncElements();\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the merged user-supplied and default dataset-level options\r\n\t * @private\r\n\t */\r\n\t_configure: function() {\r\n\t\tvar me = this;\r\n\t\tme._config = helpers$1.merge(Object.create(null), [\r\n\t\t\tme.chart.options.datasets[me._type],\r\n\t\t\tme.getDataset(),\r\n\t\t], {\r\n\t\t\tmerger: function(key, target, source) {\r\n\t\t\t\tif (key !== '_meta' && key !== 'data') {\r\n\t\t\t\t\thelpers$1._merger(key, target, source);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\t_update: function(reset) {\r\n\t\tvar me = this;\r\n\t\tme._configure();\r\n\t\tme._cachedDataOpts = null;\r\n\t\tme.update(reset);\r\n\t},\r\n\r\n\tupdate: helpers$1.noop,\r\n\r\n\ttransition: function(easingValue) {\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar elements = meta.data || [];\r\n\t\tvar ilen = elements.length;\r\n\t\tvar i = 0;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\telements[i].transition(easingValue);\r\n\t\t}\r\n\r\n\t\tif (meta.dataset) {\r\n\t\t\tmeta.dataset.transition(easingValue);\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar elements = meta.data || [];\r\n\t\tvar ilen = elements.length;\r\n\t\tvar i = 0;\r\n\r\n\t\tif (meta.dataset) {\r\n\t\t\tmeta.dataset.draw();\r\n\t\t}\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\telements[i].draw();\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Returns a set of predefined style properties that should be used to represent the dataset\r\n\t * or the data if the index is specified\r\n\t * @param {number} index - data index\r\n\t * @return {IStyleInterface} style object\r\n\t */\r\n\tgetStyle: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar dataset = meta.dataset;\r\n\t\tvar style;\r\n\r\n\t\tme._configure();\r\n\t\tif (dataset && index === undefined) {\r\n\t\t\tstyle = me._resolveDatasetElementOptions(dataset || {});\r\n\t\t} else {\r\n\t\t\tindex = index || 0;\r\n\t\t\tstyle = me._resolveDataElementOptions(meta.data[index] || {}, index);\r\n\t\t}\r\n\r\n\t\tif (style.fill === false || style.fill === null) {\r\n\t\t\tstyle.backgroundColor = style.borderColor;\r\n\t\t}\r\n\r\n\t\treturn style;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function(element, hover) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasetOpts = me._config;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar options = chart.options.elements[me.datasetElementType.prototype._type] || {};\r\n\t\tvar elementOptions = me._datasetElementOptions;\r\n\t\tvar values = {};\r\n\t\tvar i, ilen, key, readKey;\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataset: me.getDataset(),\r\n\t\t\tdatasetIndex: me.index,\r\n\t\t\thover: hover\r\n\t\t};\r\n\r\n\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\r\n\t\t\tkey = elementOptions[i];\r\n\t\t\treadKey = hover ? 'hover' + key.charAt(0).toUpperCase() + key.slice(1) : key;\r\n\t\t\tvalues[key] = resolve([\r\n\t\t\t\tcustom[readKey],\r\n\t\t\t\tdatasetOpts[readKey],\r\n\t\t\t\toptions[readKey]\r\n\t\t\t], context);\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function(element, index) {\r\n\t\tvar me = this;\r\n\t\tvar custom = element && element.custom;\r\n\t\tvar cached = me._cachedDataOpts;\r\n\t\tif (cached && !custom) {\r\n\t\t\treturn cached;\r\n\t\t}\r\n\t\tvar chart = me.chart;\r\n\t\tvar datasetOpts = me._config;\r\n\t\tvar options = chart.options.elements[me.dataElementType.prototype._type] || {};\r\n\t\tvar elementOptions = me._dataElementOptions;\r\n\t\tvar values = {};\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: me.getDataset(),\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\t// `resolve` sets cacheable to `false` if any option is indexed or scripted\r\n\t\tvar info = {cacheable: !custom};\r\n\r\n\t\tvar keys, i, ilen, key;\r\n\r\n\t\tcustom = custom || {};\r\n\r\n\t\tif (helpers$1.isArray(elementOptions)) {\r\n\t\t\tfor (i = 0, ilen = elementOptions.length; i < ilen; ++i) {\r\n\t\t\t\tkey = elementOptions[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdatasetOpts[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index, info);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tkeys = Object.keys(elementOptions);\r\n\t\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\t\tkey = keys[i];\r\n\t\t\t\tvalues[key] = resolve([\r\n\t\t\t\t\tcustom[key],\r\n\t\t\t\t\tdatasetOpts[elementOptions[key]],\r\n\t\t\t\t\tdatasetOpts[key],\r\n\t\t\t\t\toptions[key]\r\n\t\t\t\t], context, index, info);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (info.cacheable) {\r\n\t\t\tme._cachedDataOpts = Object.freeze(values);\r\n\t\t}\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tremoveHoverStyle: function(element) {\r\n\t\thelpers$1.merge(element._model, element.$previousStyle || {});\r\n\t\tdelete element.$previousStyle;\r\n\t},\r\n\r\n\tsetHoverStyle: function(element) {\r\n\t\tvar dataset = this.chart.data.datasets[element._datasetIndex];\r\n\t\tvar index = element._index;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar model = element._model;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\telement.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = resolve([custom.hoverBackgroundColor, dataset.hoverBackgroundColor, getHoverColor(model.backgroundColor)], undefined, index);\r\n\t\tmodel.borderColor = resolve([custom.hoverBorderColor, dataset.hoverBorderColor, getHoverColor(model.borderColor)], undefined, index);\r\n\t\tmodel.borderWidth = resolve([custom.hoverBorderWidth, dataset.hoverBorderWidth, model.borderWidth], undefined, index);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_removeDatasetHoverStyle: function() {\r\n\t\tvar element = this.getMeta().dataset;\r\n\r\n\t\tif (element) {\r\n\t\t\tthis.removeHoverStyle(element);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_setDatasetHoverStyle: function() {\r\n\t\tvar element = this.getMeta().dataset;\r\n\t\tvar prev = {};\r\n\t\tvar i, ilen, key, keys, hoverOptions, model;\r\n\r\n\t\tif (!element) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tmodel = element._model;\r\n\t\thoverOptions = this._resolveDatasetElementOptions(element, true);\r\n\r\n\t\tkeys = Object.keys(hoverOptions);\r\n\t\tfor (i = 0, ilen = keys.length; i < ilen; ++i) {\r\n\t\t\tkey = keys[i];\r\n\t\t\tprev[key] = model[key];\r\n\t\t\tmodel[key] = hoverOptions[key];\r\n\t\t}\r\n\r\n\t\telement.$previousStyle = prev;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tresyncElements: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar data = me.getDataset().data;\r\n\t\tvar numMeta = meta.data.length;\r\n\t\tvar numData = data.length;\r\n\r\n\t\tif (numData < numMeta) {\r\n\t\t\tmeta.data.splice(numData, numMeta - numData);\r\n\t\t} else if (numData > numMeta) {\r\n\t\t\tme.insertElements(numMeta, numData - numMeta);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tinsertElements: function(start, count) {\r\n\t\tfor (var i = 0; i < count; ++i) {\r\n\t\t\tthis.addElementAndReset(start + i);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataPush: function() {\r\n\t\tvar count = arguments.length;\r\n\t\tthis.insertElements(this.getDataset().data.length - count, count);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataPop: function() {\r\n\t\tthis.getMeta().data.pop();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataShift: function() {\r\n\t\tthis.getMeta().data.shift();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataSplice: function(start, count) {\r\n\t\tthis.getMeta().data.splice(start, count);\r\n\t\tthis.insertElements(start, arguments.length - 2);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tonDataUnshift: function() {\r\n\t\tthis.insertElements(0, arguments.length);\r\n\t}\r\n});\r\n\r\nDatasetController.extend = helpers$1.inherits;\r\n\r\nvar core_datasetController = DatasetController;\n\nvar TAU = Math.PI * 2;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tarc: {\r\n\t\t\tbackgroundColor: core_defaults.global.defaultColor,\r\n\t\t\tborderColor: '#fff',\r\n\t\t\tborderWidth: 2,\r\n\t\t\tborderAlign: 'center'\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction clipArc(ctx, arc) {\r\n\tvar startAngle = arc.startAngle;\r\n\tvar endAngle = arc.endAngle;\r\n\tvar pixelMargin = arc.pixelMargin;\r\n\tvar angleMargin = pixelMargin / arc.outerRadius;\r\n\tvar x = arc.x;\r\n\tvar y = arc.y;\r\n\r\n\t// Draw an inner border by cliping the arc and drawing a double-width border\r\n\t// Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\r\n\tctx.beginPath();\r\n\tctx.arc(x, y, arc.outerRadius, startAngle - angleMargin, endAngle + angleMargin);\r\n\tif (arc.innerRadius > pixelMargin) {\r\n\t\tangleMargin = pixelMargin / arc.innerRadius;\r\n\t\tctx.arc(x, y, arc.innerRadius - pixelMargin, endAngle + angleMargin, startAngle - angleMargin, true);\r\n\t} else {\r\n\t\tctx.arc(x, y, pixelMargin, endAngle + Math.PI / 2, startAngle - Math.PI / 2);\r\n\t}\r\n\tctx.closePath();\r\n\tctx.clip();\r\n}\r\n\r\nfunction drawFullCircleBorders(ctx, vm, arc, inner) {\r\n\tvar endAngle = arc.endAngle;\r\n\tvar i;\r\n\r\n\tif (inner) {\r\n\t\tarc.endAngle = arc.startAngle + TAU;\r\n\t\tclipArc(ctx, arc);\r\n\t\tarc.endAngle = endAngle;\r\n\t\tif (arc.endAngle === arc.startAngle && arc.fullCircles) {\r\n\t\t\tarc.endAngle += TAU;\r\n\t\t\tarc.fullCircles--;\r\n\t\t}\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.startAngle + TAU, arc.startAngle, true);\r\n\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\tctx.stroke();\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.startAngle + TAU);\r\n\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\tctx.stroke();\r\n\t}\r\n}\r\n\r\nfunction drawBorder(ctx, vm, arc) {\r\n\tvar inner = vm.borderAlign === 'inner';\r\n\r\n\tif (inner) {\r\n\t\tctx.lineWidth = vm.borderWidth * 2;\r\n\t\tctx.lineJoin = 'round';\r\n\t} else {\r\n\t\tctx.lineWidth = vm.borderWidth;\r\n\t\tctx.lineJoin = 'bevel';\r\n\t}\r\n\r\n\tif (arc.fullCircles) {\r\n\t\tdrawFullCircleBorders(ctx, vm, arc, inner);\r\n\t}\r\n\r\n\tif (inner) {\r\n\t\tclipArc(ctx, arc);\r\n\t}\r\n\r\n\tctx.beginPath();\r\n\tctx.arc(arc.x, arc.y, vm.outerRadius, arc.startAngle, arc.endAngle);\r\n\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\tctx.closePath();\r\n\tctx.stroke();\r\n}\r\n\r\nvar element_arc = core_element.extend({\r\n\t_type: 'arc',\r\n\r\n\tinLabelRange: function(mouseX) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\treturn (Math.pow(mouseX - vm.x, 2) < Math.pow(vm.radius + vm.hoverRadius, 2));\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tinRange: function(chartX, chartY) {\r\n\t\tvar vm = this._view;\r\n\r\n\t\tif (vm) {\r\n\t\t\tvar pointRelativePosition = helpers$1.getAngleFromPoint(vm, {x: chartX, y: chartY});\r\n\t\t\tvar angle = pointRelativePosition.angle;\r\n\t\t\tvar distance = pointRelativePosition.distance;\r\n\r\n\t\t\t// Sanitise angle range\r\n\t\t\tvar startAngle = vm.startAngle;\r\n\t\t\tvar endAngle = vm.endAngle;\r\n\t\t\twhile (endAngle < startAngle) {\r\n\t\t\t\tendAngle += TAU;\r\n\t\t\t}\r\n\t\t\twhile (angle > endAngle) {\r\n\t\t\t\tangle -= TAU;\r\n\t\t\t}\r\n\t\t\twhile (angle < startAngle) {\r\n\t\t\t\tangle += TAU;\r\n\t\t\t}\r\n\r\n\t\t\t// Check if within the range of the open/close angle\r\n\t\t\tvar betweenAngles = (angle >= startAngle && angle <= endAngle);\r\n\t\t\tvar withinRadius = (distance >= vm.innerRadius && distance <= vm.outerRadius);\r\n\r\n\t\t\treturn (betweenAngles && withinRadius);\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar halfAngle = (vm.startAngle + vm.endAngle) / 2;\r\n\t\tvar halfRadius = (vm.innerRadius + vm.outerRadius) / 2;\r\n\t\treturn {\r\n\t\t\tx: vm.x + Math.cos(halfAngle) * halfRadius,\r\n\t\t\ty: vm.y + Math.sin(halfAngle) * halfRadius\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn Math.PI * ((vm.endAngle - vm.startAngle) / (2 * Math.PI)) * (Math.pow(vm.outerRadius, 2) - Math.pow(vm.innerRadius, 2));\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar centreAngle = vm.startAngle + ((vm.endAngle - vm.startAngle) / 2);\r\n\t\tvar rangeFromCentre = (vm.outerRadius - vm.innerRadius) / 2 + vm.innerRadius;\r\n\r\n\t\treturn {\r\n\t\t\tx: vm.x + (Math.cos(centreAngle) * rangeFromCentre),\r\n\t\t\ty: vm.y + (Math.sin(centreAngle) * rangeFromCentre)\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar pixelMargin = (vm.borderAlign === 'inner') ? 0.33 : 0;\r\n\t\tvar arc = {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tinnerRadius: vm.innerRadius,\r\n\t\t\touterRadius: Math.max(vm.outerRadius - pixelMargin, 0),\r\n\t\t\tpixelMargin: pixelMargin,\r\n\t\t\tstartAngle: vm.startAngle,\r\n\t\t\tendAngle: vm.endAngle,\r\n\t\t\tfullCircles: Math.floor(vm.circumference / TAU)\r\n\t\t};\r\n\t\tvar i;\r\n\r\n\t\tctx.save();\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.strokeStyle = vm.borderColor;\r\n\r\n\t\tif (arc.fullCircles) {\r\n\t\t\tarc.endAngle = arc.startAngle + TAU;\r\n\t\t\tctx.beginPath();\r\n\t\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\r\n\t\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\t\t\tctx.closePath();\r\n\t\t\tfor (i = 0; i < arc.fullCircles; ++i) {\r\n\t\t\t\tctx.fill();\r\n\t\t\t}\r\n\t\t\tarc.endAngle = arc.startAngle + vm.circumference % TAU;\r\n\t\t}\r\n\r\n\t\tctx.beginPath();\r\n\t\tctx.arc(arc.x, arc.y, arc.outerRadius, arc.startAngle, arc.endAngle);\r\n\t\tctx.arc(arc.x, arc.y, arc.innerRadius, arc.endAngle, arc.startAngle, true);\r\n\t\tctx.closePath();\r\n\t\tctx.fill();\r\n\r\n\t\tif (vm.borderWidth) {\r\n\t\t\tdrawBorder(ctx, vm, arc);\r\n\t\t}\r\n\r\n\t\tctx.restore();\r\n\t}\r\n});\n\nvar valueOrDefault$1 = helpers$1.valueOrDefault;\r\n\r\nvar defaultColor = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tline: {\r\n\t\t\ttension: 0.4,\r\n\t\t\tbackgroundColor: defaultColor,\r\n\t\t\tborderWidth: 3,\r\n\t\t\tborderColor: defaultColor,\r\n\t\t\tborderCapStyle: 'butt',\r\n\t\t\tborderDash: [],\r\n\t\t\tborderDashOffset: 0.0,\r\n\t\t\tborderJoinStyle: 'miter',\r\n\t\t\tcapBezierPoints: true,\r\n\t\t\tfill: true, // do we fill in the area between the line and its base axis\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar element_line = core_element.extend({\r\n\t_type: 'line',\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar vm = me._view;\r\n\t\tvar ctx = me._chart.ctx;\r\n\t\tvar spanGaps = vm.spanGaps;\r\n\t\tvar points = me._children.slice(); // clone array\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar globalOptionLineElements = globalDefaults.elements.line;\r\n\t\tvar lastDrawnIndex = -1;\r\n\t\tvar closePath = me._loop;\r\n\t\tvar index, previous, currentVM;\r\n\r\n\t\tif (!points.length) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (me._loop) {\r\n\t\t\tfor (index = 0; index < points.length; ++index) {\r\n\t\t\t\tprevious = helpers$1.previousItem(points, index);\r\n\t\t\t\t// If the line has an open path, shift the point array\r\n\t\t\t\tif (!points[index]._view.skip && previous._view.skip) {\r\n\t\t\t\t\tpoints = points.slice(index).concat(points.slice(0, index));\r\n\t\t\t\t\tclosePath = spanGaps;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// If the line has a close path, add the first point again\r\n\t\t\tif (closePath) {\r\n\t\t\t\tpoints.push(points[0]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\r\n\t\t// Stroke Line Options\r\n\t\tctx.lineCap = vm.borderCapStyle || globalOptionLineElements.borderCapStyle;\r\n\r\n\t\t// IE 9 and 10 do not support line dash\r\n\t\tif (ctx.setLineDash) {\r\n\t\t\tctx.setLineDash(vm.borderDash || globalOptionLineElements.borderDash);\r\n\t\t}\r\n\r\n\t\tctx.lineDashOffset = valueOrDefault$1(vm.borderDashOffset, globalOptionLineElements.borderDashOffset);\r\n\t\tctx.lineJoin = vm.borderJoinStyle || globalOptionLineElements.borderJoinStyle;\r\n\t\tctx.lineWidth = valueOrDefault$1(vm.borderWidth, globalOptionLineElements.borderWidth);\r\n\t\tctx.strokeStyle = vm.borderColor || globalDefaults.defaultColor;\r\n\r\n\t\t// Stroke Line\r\n\t\tctx.beginPath();\r\n\r\n\t\t// First point moves to it's starting position no matter what\r\n\t\tcurrentVM = points[0]._view;\r\n\t\tif (!currentVM.skip) {\r\n\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\tlastDrawnIndex = 0;\r\n\t\t}\r\n\r\n\t\tfor (index = 1; index < points.length; ++index) {\r\n\t\t\tcurrentVM = points[index]._view;\r\n\t\t\tprevious = lastDrawnIndex === -1 ? helpers$1.previousItem(points, index) : points[lastDrawnIndex];\r\n\r\n\t\t\tif (!currentVM.skip) {\r\n\t\t\t\tif ((lastDrawnIndex !== (index - 1) && !spanGaps) || lastDrawnIndex === -1) {\r\n\t\t\t\t\t// There was a gap and this is the first point after the gap\r\n\t\t\t\t\tctx.moveTo(currentVM.x, currentVM.y);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Line to next point\r\n\t\t\t\t\thelpers$1.canvas.lineTo(ctx, previous._view, currentVM);\r\n\t\t\t\t}\r\n\t\t\t\tlastDrawnIndex = index;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (closePath) {\r\n\t\t\tctx.closePath();\r\n\t\t}\r\n\r\n\t\tctx.stroke();\r\n\t\tctx.restore();\r\n\t}\r\n});\n\nvar valueOrDefault$2 = helpers$1.valueOrDefault;\r\n\r\nvar defaultColor$1 = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\tpoint: {\r\n\t\t\tradius: 3,\r\n\t\t\tpointStyle: 'circle',\r\n\t\t\tbackgroundColor: defaultColor$1,\r\n\t\t\tborderColor: defaultColor$1,\r\n\t\t\tborderWidth: 1,\r\n\t\t\t// Hover\r\n\t\t\thitRadius: 1,\r\n\t\t\thoverRadius: 4,\r\n\t\t\thoverBorderWidth: 1\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction xRange(mouseX) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseX - vm.x) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nfunction yRange(mouseY) {\r\n\tvar vm = this._view;\r\n\treturn vm ? (Math.abs(mouseY - vm.y) < vm.radius + vm.hitRadius) : false;\r\n}\r\n\r\nvar element_point = core_element.extend({\r\n\t_type: 'point',\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm ? ((Math.pow(mouseX - vm.x, 2) + Math.pow(mouseY - vm.y, 2)) < Math.pow(vm.hitRadius + vm.radius, 2)) : false;\r\n\t},\r\n\r\n\tinLabelRange: xRange,\r\n\tinXRange: xRange,\r\n\tinYRange: yRange,\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\treturn Math.PI * Math.pow(this._view.radius, 2);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y,\r\n\t\t\tpadding: vm.radius + vm.borderWidth\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function(chartArea) {\r\n\t\tvar vm = this._view;\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar pointStyle = vm.pointStyle;\r\n\t\tvar rotation = vm.rotation;\r\n\t\tvar radius = vm.radius;\r\n\t\tvar x = vm.x;\r\n\t\tvar y = vm.y;\r\n\t\tvar globalDefaults = core_defaults.global;\r\n\t\tvar defaultColor = globalDefaults.defaultColor; // eslint-disable-line no-shadow\r\n\r\n\t\tif (vm.skip) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Clipping for Points.\r\n\t\tif (chartArea === undefined || helpers$1.canvas._isPointInArea(vm, chartArea)) {\r\n\t\t\tctx.strokeStyle = vm.borderColor || defaultColor;\r\n\t\t\tctx.lineWidth = valueOrDefault$2(vm.borderWidth, globalDefaults.elements.point.borderWidth);\r\n\t\t\tctx.fillStyle = vm.backgroundColor || defaultColor;\r\n\t\t\thelpers$1.canvas.drawPoint(ctx, pointStyle, radius, x, y, rotation);\r\n\t\t}\r\n\t}\r\n});\n\nvar defaultColor$2 = core_defaults.global.defaultColor;\r\n\r\ncore_defaults._set('global', {\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tbackgroundColor: defaultColor$2,\r\n\t\t\tborderColor: defaultColor$2,\r\n\t\t\tborderSkipped: 'bottom',\r\n\t\t\tborderWidth: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction isVertical(vm) {\r\n\treturn vm && vm.width !== undefined;\r\n}\r\n\r\n/**\r\n * Helper function to get the bounds of the bar regardless of the orientation\r\n * @param bar {Chart.Element.Rectangle} the bar\r\n * @return {Bounds} bounds of the bar\r\n * @private\r\n */\r\nfunction getBarBounds(vm) {\r\n\tvar x1, x2, y1, y2, half;\r\n\r\n\tif (isVertical(vm)) {\r\n\t\thalf = vm.width / 2;\r\n\t\tx1 = vm.x - half;\r\n\t\tx2 = vm.x + half;\r\n\t\ty1 = Math.min(vm.y, vm.base);\r\n\t\ty2 = Math.max(vm.y, vm.base);\r\n\t} else {\r\n\t\thalf = vm.height / 2;\r\n\t\tx1 = Math.min(vm.x, vm.base);\r\n\t\tx2 = Math.max(vm.x, vm.base);\r\n\t\ty1 = vm.y - half;\r\n\t\ty2 = vm.y + half;\r\n\t}\r\n\r\n\treturn {\r\n\t\tleft: x1,\r\n\t\ttop: y1,\r\n\t\tright: x2,\r\n\t\tbottom: y2\r\n\t};\r\n}\r\n\r\nfunction swap(orig, v1, v2) {\r\n\treturn orig === v1 ? v2 : orig === v2 ? v1 : orig;\r\n}\r\n\r\nfunction parseBorderSkipped(vm) {\r\n\tvar edge = vm.borderSkipped;\r\n\tvar res = {};\r\n\r\n\tif (!edge) {\r\n\t\treturn res;\r\n\t}\r\n\r\n\tif (vm.horizontal) {\r\n\t\tif (vm.base > vm.x) {\r\n\t\t\tedge = swap(edge, 'left', 'right');\r\n\t\t}\r\n\t} else if (vm.base < vm.y) {\r\n\t\tedge = swap(edge, 'bottom', 'top');\r\n\t}\r\n\r\n\tres[edge] = true;\r\n\treturn res;\r\n}\r\n\r\nfunction parseBorderWidth(vm, maxW, maxH) {\r\n\tvar value = vm.borderWidth;\r\n\tvar skip = parseBorderSkipped(vm);\r\n\tvar t, r, b, l;\r\n\r\n\tif (helpers$1.isObject(value)) {\r\n\t\tt = +value.top || 0;\r\n\t\tr = +value.right || 0;\r\n\t\tb = +value.bottom || 0;\r\n\t\tl = +value.left || 0;\r\n\t} else {\r\n\t\tt = r = b = l = +value || 0;\r\n\t}\r\n\r\n\treturn {\r\n\t\tt: skip.top || (t < 0) ? 0 : t > maxH ? maxH : t,\r\n\t\tr: skip.right || (r < 0) ? 0 : r > maxW ? maxW : r,\r\n\t\tb: skip.bottom || (b < 0) ? 0 : b > maxH ? maxH : b,\r\n\t\tl: skip.left || (l < 0) ? 0 : l > maxW ? maxW : l\r\n\t};\r\n}\r\n\r\nfunction boundingRects(vm) {\r\n\tvar bounds = getBarBounds(vm);\r\n\tvar width = bounds.right - bounds.left;\r\n\tvar height = bounds.bottom - bounds.top;\r\n\tvar border = parseBorderWidth(vm, width / 2, height / 2);\r\n\r\n\treturn {\r\n\t\touter: {\r\n\t\t\tx: bounds.left,\r\n\t\t\ty: bounds.top,\r\n\t\t\tw: width,\r\n\t\t\th: height\r\n\t\t},\r\n\t\tinner: {\r\n\t\t\tx: bounds.left + border.l,\r\n\t\t\ty: bounds.top + border.t,\r\n\t\t\tw: width - border.l - border.r,\r\n\t\t\th: height - border.t - border.b\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction inRange(vm, x, y) {\r\n\tvar skipX = x === null;\r\n\tvar skipY = y === null;\r\n\tvar bounds = !vm || (skipX && skipY) ? false : getBarBounds(vm);\r\n\r\n\treturn bounds\r\n\t\t&& (skipX || x >= bounds.left && x <= bounds.right)\r\n\t\t&& (skipY || y >= bounds.top && y <= bounds.bottom);\r\n}\r\n\r\nvar element_rectangle = core_element.extend({\r\n\t_type: 'rectangle',\r\n\r\n\tdraw: function() {\r\n\t\tvar ctx = this._chart.ctx;\r\n\t\tvar vm = this._view;\r\n\t\tvar rects = boundingRects(vm);\r\n\t\tvar outer = rects.outer;\r\n\t\tvar inner = rects.inner;\r\n\r\n\t\tctx.fillStyle = vm.backgroundColor;\r\n\t\tctx.fillRect(outer.x, outer.y, outer.w, outer.h);\r\n\r\n\t\tif (outer.w === inner.w && outer.h === inner.h) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tctx.save();\r\n\t\tctx.beginPath();\r\n\t\tctx.rect(outer.x, outer.y, outer.w, outer.h);\r\n\t\tctx.clip();\r\n\t\tctx.fillStyle = vm.borderColor;\r\n\t\tctx.rect(inner.x, inner.y, inner.w, inner.h);\r\n\t\tctx.fill('evenodd');\r\n\t\tctx.restore();\r\n\t},\r\n\r\n\theight: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn vm.base - vm.y;\r\n\t},\r\n\r\n\tinRange: function(mouseX, mouseY) {\r\n\t\treturn inRange(this._view, mouseX, mouseY);\r\n\t},\r\n\r\n\tinLabelRange: function(mouseX, mouseY) {\r\n\t\tvar vm = this._view;\r\n\t\treturn isVertical(vm)\r\n\t\t\t? inRange(vm, mouseX, null)\r\n\t\t\t: inRange(vm, null, mouseY);\r\n\t},\r\n\r\n\tinXRange: function(mouseX) {\r\n\t\treturn inRange(this._view, mouseX, null);\r\n\t},\r\n\r\n\tinYRange: function(mouseY) {\r\n\t\treturn inRange(this._view, null, mouseY);\r\n\t},\r\n\r\n\tgetCenterPoint: function() {\r\n\t\tvar vm = this._view;\r\n\t\tvar x, y;\r\n\t\tif (isVertical(vm)) {\r\n\t\t\tx = vm.x;\r\n\t\t\ty = (vm.y + vm.base) / 2;\r\n\t\t} else {\r\n\t\t\tx = (vm.x + vm.base) / 2;\r\n\t\t\ty = vm.y;\r\n\t\t}\r\n\r\n\t\treturn {x: x, y: y};\r\n\t},\r\n\r\n\tgetArea: function() {\r\n\t\tvar vm = this._view;\r\n\r\n\t\treturn isVertical(vm)\r\n\t\t\t? vm.width * Math.abs(vm.y - vm.base)\r\n\t\t\t: vm.height * Math.abs(vm.x - vm.base);\r\n\t},\r\n\r\n\ttooltipPosition: function() {\r\n\t\tvar vm = this._view;\r\n\t\treturn {\r\n\t\t\tx: vm.x,\r\n\t\t\ty: vm.y\r\n\t\t};\r\n\t}\r\n});\n\nvar elements = {};\r\nvar Arc = element_arc;\r\nvar Line = element_line;\r\nvar Point = element_point;\r\nvar Rectangle = element_rectangle;\nelements.Arc = Arc;\nelements.Line = Line;\nelements.Point = Point;\nelements.Rectangle = Rectangle;\n\nvar deprecated = helpers$1._deprecated;\r\nvar valueOrDefault$3 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('bar', {\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\toffset: true,\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\tbar: {\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/**\r\n * Computes the \"optimal\" sample size to maintain bars equally sized while preventing overlap.\r\n * @private\r\n */\r\nfunction computeMinSampleSize(scale, pixels) {\r\n\tvar min = scale._length;\r\n\tvar prev, curr, i, ilen;\r\n\r\n\tfor (i = 1, ilen = pixels.length; i < ilen; ++i) {\r\n\t\tmin = Math.min(min, Math.abs(pixels[i] - pixels[i - 1]));\r\n\t}\r\n\r\n\tfor (i = 0, ilen = scale.getTicks().length; i < ilen; ++i) {\r\n\t\tcurr = scale.getPixelForTick(i);\r\n\t\tmin = i > 0 ? Math.min(min, Math.abs(curr - prev)) : min;\r\n\t\tprev = curr;\r\n\t}\r\n\r\n\treturn min;\r\n}\r\n\r\n/**\r\n * Computes an \"ideal\" category based on the absolute bar thickness or, if undefined or null,\r\n * uses the smallest interval (see computeMinSampleSize) that prevents bar overlapping. This\r\n * mode currently always generates bars equally sized (until we introduce scriptable options?).\r\n * @private\r\n */\r\nfunction computeFitCategoryTraits(index, ruler, options) {\r\n\tvar thickness = options.barThickness;\r\n\tvar count = ruler.stackCount;\r\n\tvar curr = ruler.pixels[index];\r\n\tvar min = helpers$1.isNullOrUndef(thickness)\r\n\t\t? computeMinSampleSize(ruler.scale, ruler.pixels)\r\n\t\t: -1;\r\n\tvar size, ratio;\r\n\r\n\tif (helpers$1.isNullOrUndef(thickness)) {\r\n\t\tsize = min * options.categoryPercentage;\r\n\t\tratio = options.barPercentage;\r\n\t} else {\r\n\t\t// When bar thickness is enforced, category and bar percentages are ignored.\r\n\t\t// Note(SB): we could add support for relative bar thickness (e.g. barThickness: '50%')\r\n\t\t// and deprecate barPercentage since this value is ignored when thickness is absolute.\r\n\t\tsize = thickness * count;\r\n\t\tratio = 1;\r\n\t}\r\n\r\n\treturn {\r\n\t\tchunk: size / count,\r\n\t\tratio: ratio,\r\n\t\tstart: curr - (size / 2)\r\n\t};\r\n}\r\n\r\n/**\r\n * Computes an \"optimal\" category that globally arranges bars side by side (no gap when\r\n * percentage options are 1), based on the previous and following categories. This mode\r\n * generates bars with different widths when data are not evenly spaced.\r\n * @private\r\n */\r\nfunction computeFlexCategoryTraits(index, ruler, options) {\r\n\tvar pixels = ruler.pixels;\r\n\tvar curr = pixels[index];\r\n\tvar prev = index > 0 ? pixels[index - 1] : null;\r\n\tvar next = index < pixels.length - 1 ? pixels[index + 1] : null;\r\n\tvar percent = options.categoryPercentage;\r\n\tvar start, size;\r\n\r\n\tif (prev === null) {\r\n\t\t// first data: its size is double based on the next point or,\r\n\t\t// if it's also the last data, we use the scale size.\r\n\t\tprev = curr - (next === null ? ruler.end - ruler.start : next - curr);\r\n\t}\r\n\r\n\tif (next === null) {\r\n\t\t// last data: its size is also double based on the previous point.\r\n\t\tnext = curr + curr - prev;\r\n\t}\r\n\r\n\tstart = curr - (curr - Math.min(prev, next)) / 2 * percent;\r\n\tsize = Math.abs(next - prev) / 2 * percent;\r\n\r\n\treturn {\r\n\t\tchunk: size / ruler.stackCount,\r\n\t\tratio: options.barPercentage,\r\n\t\tstart: start\r\n\t};\r\n}\r\n\r\nvar controller_bar = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Rectangle,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderSkipped',\r\n\t\t'borderWidth',\r\n\t\t'barPercentage',\r\n\t\t'barThickness',\r\n\t\t'categoryPercentage',\r\n\t\t'maxBarThickness',\r\n\t\t'minBarLength'\r\n\t],\r\n\r\n\tinitialize: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta, scaleOpts;\r\n\r\n\t\tcore_datasetController.prototype.initialize.apply(me, arguments);\r\n\r\n\t\tmeta = me.getMeta();\r\n\t\tmeta.stack = me.getDataset().stack;\r\n\t\tmeta.bar = true;\r\n\r\n\t\tscaleOpts = me._getIndexScale().options;\r\n\t\tdeprecated('bar chart', scaleOpts.barPercentage, 'scales.[x/y]Axes.barPercentage', 'dataset.barPercentage');\r\n\t\tdeprecated('bar chart', scaleOpts.barThickness, 'scales.[x/y]Axes.barThickness', 'dataset.barThickness');\r\n\t\tdeprecated('bar chart', scaleOpts.categoryPercentage, 'scales.[x/y]Axes.categoryPercentage', 'dataset.categoryPercentage');\r\n\t\tdeprecated('bar chart', me._getValueScale().options.minBarLength, 'scales.[x/y]Axes.minBarLength', 'dataset.minBarLength');\r\n\t\tdeprecated('bar chart', scaleOpts.maxBarThickness, 'scales.[x/y]Axes.maxBarThickness', 'dataset.maxBarThickness');\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar rects = me.getMeta().data;\r\n\t\tvar i, ilen;\r\n\r\n\t\tme._ruler = me.getRuler();\r\n\r\n\t\tfor (i = 0, ilen = rects.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(rects[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(rectangle, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar options = me._resolveDataElementOptions(rectangle, index);\r\n\r\n\t\trectangle._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\trectangle._yScale = me.getScaleForId(meta.yAxisID);\r\n\t\trectangle._datasetIndex = me.index;\r\n\t\trectangle._index = index;\r\n\t\trectangle._model = {\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderSkipped: options.borderSkipped,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\tdatasetLabel: dataset.label,\r\n\t\t\tlabel: me.chart.data.labels[index]\r\n\t\t};\r\n\r\n\t\tif (helpers$1.isArray(dataset.data[index])) {\r\n\t\t\trectangle._model.borderSkipped = null;\r\n\t\t}\r\n\r\n\t\tme._updateElementGeometry(rectangle, index, reset, options);\r\n\r\n\t\trectangle.pivot();\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_updateElementGeometry: function(rectangle, index, reset, options) {\r\n\t\tvar me = this;\r\n\t\tvar model = rectangle._model;\r\n\t\tvar vscale = me._getValueScale();\r\n\t\tvar base = vscale.getBasePixel();\r\n\t\tvar horizontal = vscale.isHorizontal();\r\n\t\tvar ruler = me._ruler || me.getRuler();\r\n\t\tvar vpixels = me.calculateBarValuePixels(me.index, index, options);\r\n\t\tvar ipixels = me.calculateBarIndexPixels(me.index, index, ruler, options);\r\n\r\n\t\tmodel.horizontal = horizontal;\r\n\t\tmodel.base = reset ? base : vpixels.base;\r\n\t\tmodel.x = horizontal ? reset ? base : vpixels.head : ipixels.center;\r\n\t\tmodel.y = horizontal ? ipixels.center : reset ? base : vpixels.head;\r\n\t\tmodel.height = horizontal ? ipixels.size : undefined;\r\n\t\tmodel.width = horizontal ? undefined : ipixels.size;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the stacks based on groups and bar visibility.\r\n\t * @param {number} [last] - The dataset index\r\n\t * @returns {string[]} The list of stack IDs\r\n\t * @private\r\n\t */\r\n\t_getStacks: function(last) {\r\n\t\tvar me = this;\r\n\t\tvar scale = me._getIndexScale();\r\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\r\n\t\tvar stacked = scale.options.stacked;\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar stacks = [];\r\n\t\tvar i, meta;\r\n\r\n\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\tmeta = metasets[i];\r\n\t\t\t// stacked | meta.stack\r\n\t\t\t// | found | not found | undefined\r\n\t\t\t// false | x | x | x\r\n\t\t\t// true | | x |\r\n\t\t\t// undefined | | x | x\r\n\t\t\tif (stacked === false || stacks.indexOf(meta.stack) === -1 ||\r\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\r\n\t\t\t\tstacks.push(meta.stack);\r\n\t\t\t}\r\n\t\t\tif (meta.index === last) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn stacks;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the effective number of stacks based on groups and bar visibility.\r\n\t * @private\r\n\t */\r\n\tgetStackCount: function() {\r\n\t\treturn this._getStacks().length;\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the stack index for the given dataset based on groups and bar visibility.\r\n\t * @param {number} [datasetIndex] - The dataset index\r\n\t * @param {string} [name] - The stack name to find\r\n\t * @returns {number} The stack index\r\n\t * @private\r\n\t */\r\n\tgetStackIndex: function(datasetIndex, name) {\r\n\t\tvar stacks = this._getStacks(datasetIndex);\r\n\t\tvar index = (name !== undefined)\r\n\t\t\t? stacks.indexOf(name)\r\n\t\t\t: -1; // indexOf returns -1 if element is not present\r\n\r\n\t\treturn (index === -1)\r\n\t\t\t? stacks.length - 1\r\n\t\t\t: index;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tgetRuler: function() {\r\n\t\tvar me = this;\r\n\t\tvar scale = me._getIndexScale();\r\n\t\tvar pixels = [];\r\n\t\tvar i, ilen;\r\n\r\n\t\tfor (i = 0, ilen = me.getMeta().data.length; i < ilen; ++i) {\r\n\t\t\tpixels.push(scale.getPixelForValue(null, i, me.index));\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tpixels: pixels,\r\n\t\t\tstart: scale._startPixel,\r\n\t\t\tend: scale._endPixel,\r\n\t\t\tstackCount: me.getStackCount(),\r\n\t\t\tscale: scale\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * Note: pixel values are not clamped to the scale area.\r\n\t * @private\r\n\t */\r\n\tcalculateBarValuePixels: function(datasetIndex, index, options) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar scale = me._getValueScale();\r\n\t\tvar isHorizontal = scale.isHorizontal();\r\n\t\tvar datasets = chart.data.datasets;\r\n\t\tvar metasets = scale._getMatchingVisibleMetas(me._type);\r\n\t\tvar value = scale._parseValue(datasets[datasetIndex].data[index]);\r\n\t\tvar minBarLength = options.minBarLength;\r\n\t\tvar stacked = scale.options.stacked;\r\n\t\tvar stack = me.getMeta().stack;\r\n\t\tvar start = value.start === undefined ? 0 : value.max >= 0 && value.min >= 0 ? value.min : value.max;\r\n\t\tvar length = value.start === undefined ? value.end : value.max >= 0 && value.min >= 0 ? value.max - value.min : value.min - value.max;\r\n\t\tvar ilen = metasets.length;\r\n\t\tvar i, imeta, ivalue, base, head, size, stackLength;\r\n\r\n\t\tif (stacked || (stacked === undefined && stack !== undefined)) {\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\timeta = metasets[i];\r\n\r\n\t\t\t\tif (imeta.index === datasetIndex) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (imeta.stack === stack) {\r\n\t\t\t\t\tstackLength = scale._parseValue(datasets[imeta.index].data[index]);\r\n\t\t\t\t\tivalue = stackLength.start === undefined ? stackLength.end : stackLength.min >= 0 && stackLength.max >= 0 ? stackLength.max : stackLength.min;\r\n\r\n\t\t\t\t\tif ((value.min < 0 && ivalue < 0) || (value.max >= 0 && ivalue > 0)) {\r\n\t\t\t\t\t\tstart += ivalue;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tbase = scale.getPixelForValue(start);\r\n\t\thead = scale.getPixelForValue(start + length);\r\n\t\tsize = head - base;\r\n\r\n\t\tif (minBarLength !== undefined && Math.abs(size) < minBarLength) {\r\n\t\t\tsize = minBarLength;\r\n\t\t\tif (length >= 0 && !isHorizontal || length < 0 && isHorizontal) {\r\n\t\t\t\thead = base - minBarLength;\r\n\t\t\t} else {\r\n\t\t\t\thead = base + minBarLength;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\tsize: size,\r\n\t\t\tbase: base,\r\n\t\t\thead: head,\r\n\t\t\tcenter: head + size / 2\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\tcalculateBarIndexPixels: function(datasetIndex, index, ruler, options) {\r\n\t\tvar me = this;\r\n\t\tvar range = options.barThickness === 'flex'\r\n\t\t\t? computeFlexCategoryTraits(index, ruler, options)\r\n\t\t\t: computeFitCategoryTraits(index, ruler, options);\r\n\r\n\t\tvar stackIndex = me.getStackIndex(datasetIndex, me.getMeta().stack);\r\n\t\tvar center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\r\n\t\tvar size = Math.min(\r\n\t\t\tvalueOrDefault$3(options.maxBarThickness, Infinity),\r\n\t\t\trange.chunk * range.ratio);\r\n\r\n\t\treturn {\r\n\t\t\tbase: center - size / 2,\r\n\t\t\thead: center + size / 2,\r\n\t\t\tcenter: center,\r\n\t\t\tsize: size\r\n\t\t};\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar scale = me._getValueScale();\r\n\t\tvar rects = me.getMeta().data;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar ilen = rects.length;\r\n\t\tvar i = 0;\r\n\r\n\t\thelpers$1.canvas.clipArea(chart.ctx, chart.chartArea);\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tvar val = scale._parseValue(dataset.data[i]);\r\n\t\t\tif (!isNaN(val.min) && !isNaN(val.max)) {\r\n\t\t\t\trects[i].draw();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\thelpers$1.canvas.unclipArea(chart.ctx);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar values = helpers$1.extend({}, core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments));\r\n\t\tvar indexOpts = me._getIndexScale().options;\r\n\t\tvar valueOpts = me._getValueScale().options;\r\n\r\n\t\tvalues.barPercentage = valueOrDefault$3(indexOpts.barPercentage, values.barPercentage);\r\n\t\tvalues.barThickness = valueOrDefault$3(indexOpts.barThickness, values.barThickness);\r\n\t\tvalues.categoryPercentage = valueOrDefault$3(indexOpts.categoryPercentage, values.categoryPercentage);\r\n\t\tvalues.maxBarThickness = valueOrDefault$3(indexOpts.maxBarThickness, values.maxBarThickness);\r\n\t\tvalues.minBarLength = valueOrDefault$3(valueOpts.minBarLength, values.minBarLength);\r\n\r\n\t\treturn values;\r\n\t}\r\n\r\n});\n\nvar valueOrDefault$4 = helpers$1.valueOrDefault;\r\nvar resolve$1 = helpers$1.options.resolve;\r\n\r\ncore_defaults._set('bubble', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear', // bubble should probably use a linear scale by default\r\n\t\t\tposition: 'bottom',\r\n\t\t\tid: 'x-axis-0' // need an ID so datasets can reference the scale\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\t// Title doesn't make sense for scatter since we format the data as a point\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\tvar datasetLabel = data.datasets[item.datasetIndex].label || '';\r\n\t\t\t\tvar dataPoint = data.datasets[item.datasetIndex].data[item.index];\r\n\t\t\t\treturn datasetLabel + ': (' + item.xLabel + ', ' + item.yLabel + ', ' + dataPoint.r + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_bubble = core_datasetController.extend({\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tdataElementType: elements.Point,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t\t'hoverRadius',\r\n\t\t'hitRadius',\r\n\t\t'pointStyle',\r\n\t\t'rotation'\r\n\t],\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar points = meta.data;\r\n\r\n\t\t// Update Points\r\n\t\thelpers$1.each(points, function(point, index) {\r\n\t\t\tme.updateElement(point, index, reset);\r\n\t\t});\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar xScale = me.getScaleForId(meta.xAxisID);\r\n\t\tvar yScale = me.getScaleForId(meta.yAxisID);\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\t\tvar data = me.getDataset().data[index];\r\n\t\tvar dsIndex = me.index;\r\n\r\n\t\tvar x = reset ? xScale.getPixelForDecimal(0.5) : xScale.getPixelForValue(typeof data === 'object' ? data : NaN, index, dsIndex);\r\n\t\tvar y = reset ? yScale.getBasePixel() : yScale.getPixelForValue(data, index, dsIndex);\r\n\r\n\t\tpoint._xScale = xScale;\r\n\t\tpoint._yScale = yScale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = dsIndex;\r\n\t\tpoint._index = index;\r\n\t\tpoint._model = {\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\thitRadius: options.hitRadius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tradius: reset ? 0 : options.radius,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t};\r\n\r\n\t\tpoint.pivot();\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$4(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$4(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$4(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = options.radius + options.hoverRadius;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDataElementOptions: function(point, index) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar data = dataset.data[index] || {};\r\n\t\tvar values = core_datasetController.prototype._resolveDataElementOptions.apply(me, arguments);\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: dataset,\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\t// In case values were cached (and thus frozen), we need to clone the values\r\n\t\tif (me._cachedDataOpts === values) {\r\n\t\t\tvalues = helpers$1.extend({}, values);\r\n\t\t}\r\n\r\n\t\t// Custom radius resolution\r\n\t\tvalues.radius = resolve$1([\r\n\t\t\tcustom.radius,\r\n\t\t\tdata.r,\r\n\t\t\tme._config.radius,\r\n\t\t\tchart.options.elements.point.radius\r\n\t\t], context, index);\r\n\r\n\t\treturn values;\r\n\t}\r\n});\n\nvar valueOrDefault$5 = helpers$1.valueOrDefault;\r\n\r\nvar PI$1 = Math.PI;\r\nvar DOUBLE_PI$1 = PI$1 * 2;\r\nvar HALF_PI$1 = PI$1 / 2;\r\n\r\ncore_defaults._set('doughnut', {\r\n\tanimation: {\r\n\t\t// Boolean - Whether we animate the rotation of the Doughnut\r\n\t\tanimateRotate: true,\r\n\t\t// Boolean - Whether we animate scaling the Doughnut from the centre\r\n\t\tanimateScale: false\r\n\t},\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\r\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t// toggle visibility of index if exists\r\n\t\t\t\tif (meta.data[index]) {\r\n\t\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// The percentage of the chart that we cut out of the middle.\r\n\tcutoutPercentage: 50,\r\n\r\n\t// The rotation of the chart, where the first data arc begins.\r\n\trotation: -HALF_PI$1,\r\n\r\n\t// The total circumference of the chart.\r\n\tcircumference: DOUBLE_PI$1,\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(tooltipItem, data) {\r\n\t\t\t\tvar dataLabel = data.labels[tooltipItem.index];\r\n\t\t\t\tvar value = ': ' + data.datasets[tooltipItem.datasetIndex].data[tooltipItem.index];\r\n\r\n\t\t\t\tif (helpers$1.isArray(dataLabel)) {\r\n\t\t\t\t\t// show value on first line of multiline label\r\n\t\t\t\t\t// need to clone because we are changing the value\r\n\t\t\t\t\tdataLabel = dataLabel.slice();\r\n\t\t\t\t\tdataLabel[0] += value;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdataLabel += value;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn dataLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_doughnut = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Arc,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'borderAlign',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t],\r\n\r\n\t// Get index of the dataset in relation to the visible datasets. This allows determining the inner and outer radius correctly\r\n\tgetRingIndex: function(datasetIndex) {\r\n\t\tvar ringIndex = 0;\r\n\r\n\t\tfor (var j = 0; j < datasetIndex; ++j) {\r\n\t\t\tif (this.chart.isDatasetVisible(j)) {\r\n\t\t\t\t++ringIndex;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ringIndex;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar ratioX = 1;\r\n\t\tvar ratioY = 1;\r\n\t\tvar offsetX = 0;\r\n\t\tvar offsetY = 0;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar arcs = meta.data;\r\n\t\tvar cutout = opts.cutoutPercentage / 100 || 0;\r\n\t\tvar circumference = opts.circumference;\r\n\t\tvar chartWeight = me._getRingWeight(me.index);\r\n\t\tvar maxWidth, maxHeight, i, ilen;\r\n\r\n\t\t// If the chart's circumference isn't a full circle, calculate size as a ratio of the width/height of the arc\r\n\t\tif (circumference < DOUBLE_PI$1) {\r\n\t\t\tvar startAngle = opts.rotation % DOUBLE_PI$1;\r\n\t\t\tstartAngle += startAngle >= PI$1 ? -DOUBLE_PI$1 : startAngle < -PI$1 ? DOUBLE_PI$1 : 0;\r\n\t\t\tvar endAngle = startAngle + circumference;\r\n\t\t\tvar startX = Math.cos(startAngle);\r\n\t\t\tvar startY = Math.sin(startAngle);\r\n\t\t\tvar endX = Math.cos(endAngle);\r\n\t\t\tvar endY = Math.sin(endAngle);\r\n\t\t\tvar contains0 = (startAngle <= 0 && endAngle >= 0) || endAngle >= DOUBLE_PI$1;\r\n\t\t\tvar contains90 = (startAngle <= HALF_PI$1 && endAngle >= HALF_PI$1) || endAngle >= DOUBLE_PI$1 + HALF_PI$1;\r\n\t\t\tvar contains180 = startAngle === -PI$1 || endAngle >= PI$1;\r\n\t\t\tvar contains270 = (startAngle <= -HALF_PI$1 && endAngle >= -HALF_PI$1) || endAngle >= PI$1 + HALF_PI$1;\r\n\t\t\tvar minX = contains180 ? -1 : Math.min(startX, startX * cutout, endX, endX * cutout);\r\n\t\t\tvar minY = contains270 ? -1 : Math.min(startY, startY * cutout, endY, endY * cutout);\r\n\t\t\tvar maxX = contains0 ? 1 : Math.max(startX, startX * cutout, endX, endX * cutout);\r\n\t\t\tvar maxY = contains90 ? 1 : Math.max(startY, startY * cutout, endY, endY * cutout);\r\n\t\t\tratioX = (maxX - minX) / 2;\r\n\t\t\tratioY = (maxY - minY) / 2;\r\n\t\t\toffsetX = -(maxX + minX) / 2;\r\n\t\t\toffsetY = -(maxY + minY) / 2;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\r\n\t\t}\r\n\r\n\t\tchart.borderWidth = me.getMaxBorderWidth();\r\n\t\tmaxWidth = (chartArea.right - chartArea.left - chart.borderWidth) / ratioX;\r\n\t\tmaxHeight = (chartArea.bottom - chartArea.top - chart.borderWidth) / ratioY;\r\n\t\tchart.outerRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\r\n\t\tchart.innerRadius = Math.max(chart.outerRadius * cutout, 0);\r\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / (me._getVisibleDatasetWeightTotal() || 1);\r\n\t\tchart.offsetX = offsetX * chart.outerRadius;\r\n\t\tchart.offsetY = offsetY * chart.outerRadius;\r\n\r\n\t\tmeta.total = me.calculateTotal();\r\n\r\n\t\tme.outerRadius = chart.outerRadius - chart.radiusLength * me._getRingWeightOffset(me.index);\r\n\t\tme.innerRadius = Math.max(me.outerRadius - chart.radiusLength * chartWeight, 0);\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(arcs[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(arc, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar animationOpts = opts.animation;\r\n\t\tvar centerX = (chartArea.left + chartArea.right) / 2;\r\n\t\tvar centerY = (chartArea.top + chartArea.bottom) / 2;\r\n\t\tvar startAngle = opts.rotation; // non reset case handled later\r\n\t\tvar endAngle = opts.rotation; // non reset case handled later\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar circumference = reset && animationOpts.animateRotate ? 0 : arc.hidden ? 0 : me.calculateCircumference(dataset.data[index]) * (opts.circumference / DOUBLE_PI$1);\r\n\t\tvar innerRadius = reset && animationOpts.animateScale ? 0 : me.innerRadius;\r\n\t\tvar outerRadius = reset && animationOpts.animateScale ? 0 : me.outerRadius;\r\n\t\tvar options = arc._options || {};\r\n\r\n\t\thelpers$1.extend(arc, {\r\n\t\t\t// Utility\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index,\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\t_model: {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\tborderAlign: options.borderAlign,\r\n\t\t\t\tx: centerX + chart.offsetX,\r\n\t\t\t\ty: centerY + chart.offsetY,\r\n\t\t\t\tstartAngle: startAngle,\r\n\t\t\t\tendAngle: endAngle,\r\n\t\t\t\tcircumference: circumference,\r\n\t\t\t\touterRadius: outerRadius,\r\n\t\t\t\tinnerRadius: innerRadius,\r\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(dataset.label, index, chart.data.labels[index])\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tvar model = arc._model;\r\n\r\n\t\t// Set correct angles if not resetting\r\n\t\tif (!reset || !animationOpts.animateRotate) {\r\n\t\t\tif (index === 0) {\r\n\t\t\t\tmodel.startAngle = opts.rotation;\r\n\t\t\t} else {\r\n\t\t\t\tmodel.startAngle = me.getMeta().data[index - 1]._model.endAngle;\r\n\t\t\t}\r\n\r\n\t\t\tmodel.endAngle = model.startAngle + model.circumference;\r\n\t\t}\r\n\r\n\t\tarc.pivot();\r\n\t},\r\n\r\n\tcalculateTotal: function() {\r\n\t\tvar dataset = this.getDataset();\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar total = 0;\r\n\t\tvar value;\r\n\r\n\t\thelpers$1.each(meta.data, function(element, index) {\r\n\t\t\tvalue = dataset.data[index];\r\n\t\t\tif (!isNaN(value) && !element.hidden) {\r\n\t\t\t\ttotal += Math.abs(value);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t/* if (total === 0) {\r\n\t\t\ttotal = NaN;\r\n\t\t}*/\r\n\r\n\t\treturn total;\r\n\t},\r\n\r\n\tcalculateCircumference: function(value) {\r\n\t\tvar total = this.getMeta().total;\r\n\t\tif (total > 0 && !isNaN(value)) {\r\n\t\t\treturn DOUBLE_PI$1 * (Math.abs(value) / total);\r\n\t\t}\r\n\t\treturn 0;\r\n\t},\r\n\r\n\t// gets the max border or hover width to properly scale pie charts\r\n\tgetMaxBorderWidth: function(arcs) {\r\n\t\tvar me = this;\r\n\t\tvar max = 0;\r\n\t\tvar chart = me.chart;\r\n\t\tvar i, ilen, meta, arc, controller, options, borderWidth, hoverWidth;\r\n\r\n\t\tif (!arcs) {\r\n\t\t\t// Find the outmost visible dataset\r\n\t\t\tfor (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\r\n\t\t\t\tif (chart.isDatasetVisible(i)) {\r\n\t\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\t\tarcs = meta.data;\r\n\t\t\t\t\tif (i !== me.index) {\r\n\t\t\t\t\t\tcontroller = meta.controller;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!arcs) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarc = arcs[i];\r\n\t\t\tif (controller) {\r\n\t\t\t\tcontroller._configure();\r\n\t\t\t\toptions = controller._resolveDataElementOptions(arc, i);\r\n\t\t\t} else {\r\n\t\t\t\toptions = arc._options;\r\n\t\t\t}\r\n\t\t\tif (options.borderAlign !== 'inner') {\r\n\t\t\t\tborderWidth = options.borderWidth;\r\n\t\t\t\thoverWidth = options.hoverBorderWidth;\r\n\r\n\t\t\t\tmax = borderWidth > max ? borderWidth : max;\r\n\t\t\t\tmax = hoverWidth > max ? hoverWidth : max;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn max;\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(arc) {\r\n\t\tvar model = arc._model;\r\n\t\tvar options = arc._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tarc.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$5(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$5(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$5(options.hoverBorderWidth, options.borderWidth);\r\n\t},\r\n\r\n\t/**\r\n\t * Get radius length offset of the dataset in relation to the visible datasets weights. This allows determining the inner and outer radius correctly\r\n\t * @private\r\n\t */\r\n\t_getRingWeightOffset: function(datasetIndex) {\r\n\t\tvar ringWeightOffset = 0;\r\n\r\n\t\tfor (var i = 0; i < datasetIndex; ++i) {\r\n\t\t\tif (this.chart.isDatasetVisible(i)) {\r\n\t\t\t\tringWeightOffset += this._getRingWeight(i);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ringWeightOffset;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getRingWeight: function(dataSetIndex) {\r\n\t\treturn Math.max(valueOrDefault$5(this.chart.data.datasets[dataSetIndex].weight, 1), 0);\r\n\t},\r\n\r\n\t/**\r\n\t * Returns the sum of all visibile data set weights. This value can be 0.\r\n\t * @private\r\n\t */\r\n\t_getVisibleDatasetWeightTotal: function() {\r\n\t\treturn this._getRingWeightOffset(this.chart.data.datasets.length);\r\n\t}\r\n});\n\ncore_defaults._set('horizontalBar', {\r\n\thover: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tposition: 'left',\r\n\t\t\toffset: true,\r\n\t\t\tgridLines: {\r\n\t\t\t\toffsetGridLines: true\r\n\t\t\t}\r\n\t\t}]\r\n\t},\r\n\r\n\telements: {\r\n\t\trectangle: {\r\n\t\t\tborderSkipped: 'left'\r\n\t\t}\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tmode: 'index',\r\n\t\taxis: 'y'\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\thorizontalBar: {\r\n\t\t\tcategoryPercentage: 0.8,\r\n\t\t\tbarPercentage: 0.9\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_horizontalBar = controller_bar.extend({\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.getMeta().xAxisID;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.getMeta().yAxisID;\r\n\t}\r\n});\n\nvar valueOrDefault$6 = helpers$1.valueOrDefault;\r\nvar resolve$2 = helpers$1.options.resolve;\r\nvar isPointInArea = helpers$1.canvas._isPointInArea;\r\n\r\ncore_defaults._set('line', {\r\n\tshowLines: true,\r\n\tspanGaps: false,\r\n\r\n\thover: {\r\n\t\tmode: 'label'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\ttype: 'category',\r\n\t\t\tid: 'x-axis-0'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\ttype: 'linear',\r\n\t\t\tid: 'y-axis-0'\r\n\t\t}]\r\n\t}\r\n});\r\n\r\nfunction scaleClip(scale, halfBorderWidth) {\r\n\tvar tickOpts = scale && scale.options.ticks || {};\r\n\tvar reverse = tickOpts.reverse;\r\n\tvar min = tickOpts.min === undefined ? halfBorderWidth : 0;\r\n\tvar max = tickOpts.max === undefined ? halfBorderWidth : 0;\r\n\treturn {\r\n\t\tstart: reverse ? max : min,\r\n\t\tend: reverse ? min : max\r\n\t};\r\n}\r\n\r\nfunction defaultClip(xScale, yScale, borderWidth) {\r\n\tvar halfBorderWidth = borderWidth / 2;\r\n\tvar x = scaleClip(xScale, halfBorderWidth);\r\n\tvar y = scaleClip(yScale, halfBorderWidth);\r\n\r\n\treturn {\r\n\t\ttop: y.end,\r\n\t\tright: x.end,\r\n\t\tbottom: y.start,\r\n\t\tleft: x.start\r\n\t};\r\n}\r\n\r\nfunction toClip(value) {\r\n\tvar t, r, b, l;\r\n\r\n\tif (helpers$1.isObject(value)) {\r\n\t\tt = value.top;\r\n\t\tr = value.right;\r\n\t\tb = value.bottom;\r\n\t\tl = value.left;\r\n\t} else {\r\n\t\tt = r = b = l = value;\r\n\t}\r\n\r\n\treturn {\r\n\t\ttop: t,\r\n\t\tright: r,\r\n\t\tbottom: b,\r\n\t\tleft: l\r\n\t};\r\n}\r\n\r\n\r\nvar controller_line = core_datasetController.extend({\r\n\r\n\tdatasetElementType: elements.Line,\r\n\r\n\tdataElementType: elements.Point,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderColor',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'borderWidth',\r\n\t\t'cubicInterpolationMode',\r\n\t\t'fill'\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: {\r\n\t\tbackgroundColor: 'pointBackgroundColor',\r\n\t\tborderColor: 'pointBorderColor',\r\n\t\tborderWidth: 'pointBorderWidth',\r\n\t\thitRadius: 'pointHitRadius',\r\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\r\n\t\thoverBorderColor: 'pointHoverBorderColor',\r\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\r\n\t\thoverRadius: 'pointHoverRadius',\r\n\t\tpointStyle: 'pointStyle',\r\n\t\tradius: 'pointRadius',\r\n\t\trotation: 'pointRotation'\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar line = meta.dataset;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar options = me.chart.options;\r\n\t\tvar config = me._config;\r\n\t\tvar showLine = me._showLine = valueOrDefault$6(config.showLine, options.showLines);\r\n\t\tvar i, ilen;\r\n\r\n\t\tme._xScale = me.getScaleForId(meta.xAxisID);\r\n\t\tme._yScale = me.getScaleForId(meta.yAxisID);\r\n\r\n\t\t// Update Line\r\n\t\tif (showLine) {\r\n\t\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\t\tif (config.tension !== undefined && config.lineTension === undefined) {\r\n\t\t\t\tconfig.lineTension = config.tension;\r\n\t\t\t}\r\n\r\n\t\t\t// Utility\r\n\t\t\tline._scale = me._yScale;\r\n\t\t\tline._datasetIndex = me.index;\r\n\t\t\t// Data\r\n\t\t\tline._children = points;\r\n\t\t\t// Model\r\n\t\t\tline._model = me._resolveDatasetElementOptions(line);\r\n\r\n\t\t\tline.pivot();\r\n\t\t}\r\n\r\n\t\t// Update Points\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t}\r\n\r\n\t\tif (showLine && line._model.tension !== 0) {\r\n\t\t\tme.updateBezierControlPoints();\r\n\t\t}\r\n\r\n\t\t// Now pivot the point for animation\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tpoints[i].pivot();\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar datasetIndex = me.index;\r\n\t\tvar value = dataset.data[index];\r\n\t\tvar xScale = me._xScale;\r\n\t\tvar yScale = me._yScale;\r\n\t\tvar lineModel = meta.dataset._model;\r\n\t\tvar x, y;\r\n\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\r\n\t\tx = xScale.getPixelForValue(typeof value === 'object' ? value : NaN, index, datasetIndex);\r\n\t\ty = reset ? yScale.getBasePixel() : me.calculatePointY(value, index, datasetIndex);\r\n\r\n\t\t// Utility\r\n\t\tpoint._xScale = xScale;\r\n\t\tpoint._yScale = yScale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = datasetIndex;\r\n\t\tpoint._index = index;\r\n\r\n\t\t// Desired view properties\r\n\t\tpoint._model = {\r\n\t\t\tx: x,\r\n\t\t\ty: y,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t// Appearance\r\n\t\t\tradius: options.radius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\ttension: valueOrDefault$6(custom.tension, lineModel ? lineModel.tension : 0),\r\n\t\t\tsteppedLine: lineModel ? lineModel.steppedLine : false,\r\n\t\t\t// Tooltip\r\n\t\t\thitRadius: options.hitRadius\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function(element) {\r\n\t\tvar me = this;\r\n\t\tvar config = me._config;\r\n\t\tvar custom = element.custom || {};\r\n\t\tvar options = me.chart.options;\r\n\t\tvar lineOptions = options.elements.line;\r\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\r\n\r\n\t\t// The default behavior of lines is to break at null values, according\r\n\t\t// to https://github.com/chartjs/Chart.js/issues/2435#issuecomment-216718158\r\n\t\t// This option gives lines the ability to span gaps\r\n\t\tvalues.spanGaps = valueOrDefault$6(config.spanGaps, options.spanGaps);\r\n\t\tvalues.tension = valueOrDefault$6(config.lineTension, lineOptions.tension);\r\n\t\tvalues.steppedLine = resolve$2([custom.steppedLine, config.steppedLine, lineOptions.stepped]);\r\n\t\tvalues.clip = toClip(valueOrDefault$6(config.clip, defaultClip(me._xScale, me._yScale, values.borderWidth)));\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tcalculatePointY: function(value, index, datasetIndex) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar yScale = me._yScale;\r\n\t\tvar sumPos = 0;\r\n\t\tvar sumNeg = 0;\r\n\t\tvar i, ds, dsMeta, stackedRightValue, rightValue, metasets, ilen;\r\n\r\n\t\tif (yScale.options.stacked) {\r\n\t\t\trightValue = +yScale.getRightValue(value);\r\n\t\t\tmetasets = chart._getSortedVisibleDatasetMetas();\r\n\t\t\tilen = metasets.length;\r\n\r\n\t\t\tfor (i = 0; i < ilen; ++i) {\r\n\t\t\t\tdsMeta = metasets[i];\r\n\t\t\t\tif (dsMeta.index === datasetIndex) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tds = chart.data.datasets[dsMeta.index];\r\n\t\t\t\tif (dsMeta.type === 'line' && dsMeta.yAxisID === yScale.id) {\r\n\t\t\t\t\tstackedRightValue = +yScale.getRightValue(ds.data[index]);\r\n\t\t\t\t\tif (stackedRightValue < 0) {\r\n\t\t\t\t\t\tsumNeg += stackedRightValue || 0;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsumPos += stackedRightValue || 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (rightValue < 0) {\r\n\t\t\t\treturn yScale.getPixelForValue(sumNeg + rightValue);\r\n\t\t\t}\r\n\t\t\treturn yScale.getPixelForValue(sumPos + rightValue);\r\n\t\t}\r\n\t\treturn yScale.getPixelForValue(value);\r\n\t},\r\n\r\n\tupdateBezierControlPoints: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar lineModel = meta.dataset._model;\r\n\t\tvar area = chart.chartArea;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar i, ilen, model, controlPoints;\r\n\r\n\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\tif (lineModel.spanGaps) {\r\n\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\treturn !pt._model.skip;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t}\r\n\r\n\t\tif (lineModel.cubicInterpolationMode === 'monotone') {\r\n\t\t\thelpers$1.splineCurveMonotone(points);\r\n\t\t} else {\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\tcontrolPoints = helpers$1.splineCurve(\r\n\t\t\t\t\thelpers$1.previousItem(points, i)._model,\r\n\t\t\t\t\tmodel,\r\n\t\t\t\t\thelpers$1.nextItem(points, i)._model,\r\n\t\t\t\t\tlineModel.tension\r\n\t\t\t\t);\r\n\t\t\t\tmodel.controlPointPreviousX = controlPoints.previous.x;\r\n\t\t\t\tmodel.controlPointPreviousY = controlPoints.previous.y;\r\n\t\t\t\tmodel.controlPointNextX = controlPoints.next.x;\r\n\t\t\t\tmodel.controlPointNextY = controlPoints.next.y;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (chart.options.elements.line.capBezierPoints) {\r\n\t\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\t\tmodel = points[i]._model;\r\n\t\t\t\tif (isPointInArea(model, area)) {\r\n\t\t\t\t\tif (i > 0 && isPointInArea(points[i - 1]._model, area)) {\r\n\t\t\t\t\t\tmodel.controlPointPreviousX = capControlPoint(model.controlPointPreviousX, area.left, area.right);\r\n\t\t\t\t\t\tmodel.controlPointPreviousY = capControlPoint(model.controlPointPreviousY, area.top, area.bottom);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (i < points.length - 1 && isPointInArea(points[i + 1]._model, area)) {\r\n\t\t\t\t\t\tmodel.controlPointNextX = capControlPoint(model.controlPointNextX, area.left, area.right);\r\n\t\t\t\t\t\tmodel.controlPointNextY = capControlPoint(model.controlPointNextY, area.top, area.bottom);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tdraw: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar points = meta.data || [];\r\n\t\tvar area = chart.chartArea;\r\n\t\tvar canvas = chart.canvas;\r\n\t\tvar i = 0;\r\n\t\tvar ilen = points.length;\r\n\t\tvar clip;\r\n\r\n\t\tif (me._showLine) {\r\n\t\t\tclip = meta.dataset._model.clip;\r\n\r\n\t\t\thelpers$1.canvas.clipArea(chart.ctx, {\r\n\t\t\t\tleft: clip.left === false ? 0 : area.left - clip.left,\r\n\t\t\t\tright: clip.right === false ? canvas.width : area.right + clip.right,\r\n\t\t\t\ttop: clip.top === false ? 0 : area.top - clip.top,\r\n\t\t\t\tbottom: clip.bottom === false ? canvas.height : area.bottom + clip.bottom\r\n\t\t\t});\r\n\r\n\t\t\tmeta.dataset.draw();\r\n\r\n\t\t\thelpers$1.canvas.unclipArea(chart.ctx);\r\n\t\t}\r\n\r\n\t\t// Draw the points\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tpoints[i].draw(area);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$6(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$6(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$6(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = valueOrDefault$6(options.hoverRadius, options.radius);\r\n\t},\r\n});\n\nvar resolve$3 = helpers$1.options.resolve;\r\n\r\ncore_defaults._set('polarArea', {\r\n\tscale: {\r\n\t\ttype: 'radialLinear',\r\n\t\tangleLines: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tgridLines: {\r\n\t\t\tcircular: true\r\n\t\t},\r\n\t\tpointLabels: {\r\n\t\t\tdisplay: false\r\n\t\t},\r\n\t\tticks: {\r\n\t\t\tbeginAtZero: true\r\n\t\t}\r\n\t},\r\n\r\n\t// Boolean - Whether to animate the rotation of the chart\r\n\tanimation: {\r\n\t\tanimateRotate: true,\r\n\t\tanimateScale: true\r\n\t},\r\n\r\n\tstartAngle: -0.5 * Math.PI,\r\n\tlegendCallback: function(chart) {\r\n\t\tvar list = document.createElement('ul');\r\n\t\tvar data = chart.data;\r\n\t\tvar datasets = data.datasets;\r\n\t\tvar labels = data.labels;\r\n\t\tvar i, ilen, listItem, listItemSpan;\r\n\r\n\t\tlist.setAttribute('class', chart.id + '-legend');\r\n\t\tif (datasets.length) {\r\n\t\t\tfor (i = 0, ilen = datasets[0].data.length; i < ilen; ++i) {\r\n\t\t\t\tlistItem = list.appendChild(document.createElement('li'));\r\n\t\t\t\tlistItemSpan = listItem.appendChild(document.createElement('span'));\r\n\t\t\t\tlistItemSpan.style.backgroundColor = datasets[0].backgroundColor[i];\r\n\t\t\t\tif (labels[i]) {\r\n\t\t\t\t\tlistItem.appendChild(document.createTextNode(labels[i]));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn list.outerHTML;\r\n\t},\r\n\tlegend: {\r\n\t\tlabels: {\r\n\t\t\tgenerateLabels: function(chart) {\r\n\t\t\t\tvar data = chart.data;\r\n\t\t\t\tif (data.labels.length && data.datasets.length) {\r\n\t\t\t\t\treturn data.labels.map(function(label, i) {\r\n\t\t\t\t\t\tvar meta = chart.getDatasetMeta(0);\r\n\t\t\t\t\t\tvar style = meta.controller.getStyle(i);\r\n\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\ttext: label,\r\n\t\t\t\t\t\t\tfillStyle: style.backgroundColor,\r\n\t\t\t\t\t\t\tstrokeStyle: style.borderColor,\r\n\t\t\t\t\t\t\tlineWidth: style.borderWidth,\r\n\t\t\t\t\t\t\thidden: isNaN(data.datasets[0].data[i]) || meta.data[i].hidden,\r\n\r\n\t\t\t\t\t\t\t// Extra data used for toggling the correct item\r\n\t\t\t\t\t\t\tindex: i\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tonClick: function(e, legendItem) {\r\n\t\t\tvar index = legendItem.index;\r\n\t\t\tvar chart = this.chart;\r\n\t\t\tvar i, ilen, meta;\r\n\r\n\t\t\tfor (i = 0, ilen = (chart.data.datasets || []).length; i < ilen; ++i) {\r\n\t\t\t\tmeta = chart.getDatasetMeta(i);\r\n\t\t\t\tmeta.data[index].hidden = !meta.data[index].hidden;\r\n\t\t\t}\r\n\r\n\t\t\tchart.update();\r\n\t\t}\r\n\t},\r\n\r\n\t// Need to override these to give a nice default\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\tlabel: function(item, data) {\r\n\t\t\t\treturn data.labels[item.index] + ': ' + item.yLabel;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_polarArea = core_datasetController.extend({\r\n\r\n\tdataElementType: elements.Arc,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderColor',\r\n\t\t'borderWidth',\r\n\t\t'borderAlign',\r\n\t\t'hoverBackgroundColor',\r\n\t\t'hoverBorderColor',\r\n\t\t'hoverBorderWidth',\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar start = me.chart.options.startAngle || 0;\r\n\t\tvar starts = me._starts = [];\r\n\t\tvar angles = me._angles = [];\r\n\t\tvar arcs = meta.data;\r\n\t\tvar i, ilen, angle;\r\n\r\n\t\tme._updateRadius();\r\n\r\n\t\tmeta.count = me.countVisibleElements();\r\n\r\n\t\tfor (i = 0, ilen = dataset.data.length; i < ilen; i++) {\r\n\t\t\tstarts[i] = start;\r\n\t\t\tangle = me._computeAngle(i);\r\n\t\t\tangles[i] = angle;\r\n\t\t\tstart += angle;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = arcs.length; i < ilen; ++i) {\r\n\t\t\tarcs[i]._options = me._resolveDataElementOptions(arcs[i], i);\r\n\t\t\tme.updateElement(arcs[i], i, reset);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_updateRadius: function() {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar chartArea = chart.chartArea;\r\n\t\tvar opts = chart.options;\r\n\t\tvar minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\r\n\r\n\t\tchart.outerRadius = Math.max(minSize / 2, 0);\r\n\t\tchart.innerRadius = Math.max(opts.cutoutPercentage ? (chart.outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\r\n\t\tchart.radiusLength = (chart.outerRadius - chart.innerRadius) / chart.getVisibleDatasetCount();\r\n\r\n\t\tme.outerRadius = chart.outerRadius - (chart.radiusLength * me.index);\r\n\t\tme.innerRadius = me.outerRadius - chart.radiusLength;\r\n\t},\r\n\r\n\tupdateElement: function(arc, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar chart = me.chart;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar opts = chart.options;\r\n\t\tvar animationOpts = opts.animation;\r\n\t\tvar scale = chart.scale;\r\n\t\tvar labels = chart.data.labels;\r\n\r\n\t\tvar centerX = scale.xCenter;\r\n\t\tvar centerY = scale.yCenter;\r\n\r\n\t\t// var negHalfPI = -0.5 * Math.PI;\r\n\t\tvar datasetStartAngle = opts.startAngle;\r\n\t\tvar distance = arc.hidden ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\tvar startAngle = me._starts[index];\r\n\t\tvar endAngle = startAngle + (arc.hidden ? 0 : me._angles[index]);\r\n\r\n\t\tvar resetRadius = animationOpts.animateScale ? 0 : scale.getDistanceFromCenterForValue(dataset.data[index]);\r\n\t\tvar options = arc._options || {};\r\n\r\n\t\thelpers$1.extend(arc, {\r\n\t\t\t// Utility\r\n\t\t\t_datasetIndex: me.index,\r\n\t\t\t_index: index,\r\n\t\t\t_scale: scale,\r\n\r\n\t\t\t// Desired view properties\r\n\t\t\t_model: {\r\n\t\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\t\tborderColor: options.borderColor,\r\n\t\t\t\tborderWidth: options.borderWidth,\r\n\t\t\t\tborderAlign: options.borderAlign,\r\n\t\t\t\tx: centerX,\r\n\t\t\t\ty: centerY,\r\n\t\t\t\tinnerRadius: 0,\r\n\t\t\t\touterRadius: reset ? resetRadius : distance,\r\n\t\t\t\tstartAngle: reset && animationOpts.animateRotate ? datasetStartAngle : startAngle,\r\n\t\t\t\tendAngle: reset && animationOpts.animateRotate ? datasetStartAngle : endAngle,\r\n\t\t\t\tlabel: helpers$1.valueAtIndexOrDefault(labels, index, labels[index])\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tarc.pivot();\r\n\t},\r\n\r\n\tcountVisibleElements: function() {\r\n\t\tvar dataset = this.getDataset();\r\n\t\tvar meta = this.getMeta();\r\n\t\tvar count = 0;\r\n\r\n\t\thelpers$1.each(meta.data, function(element, index) {\r\n\t\t\tif (!isNaN(dataset.data[index]) && !element.hidden) {\r\n\t\t\t\tcount++;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn count;\r\n\t},\r\n\r\n\t/**\r\n\t * @protected\r\n\t */\r\n\tsetHoverStyle: function(arc) {\r\n\t\tvar model = arc._model;\r\n\t\tvar options = arc._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\t\tvar valueOrDefault = helpers$1.valueOrDefault;\r\n\r\n\t\tarc.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault(options.hoverBorderWidth, options.borderWidth);\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_computeAngle: function(index) {\r\n\t\tvar me = this;\r\n\t\tvar count = this.getMeta().count;\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar meta = me.getMeta();\r\n\r\n\t\tif (isNaN(dataset.data[index]) || meta.data[index].hidden) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\t// Scriptable options\r\n\t\tvar context = {\r\n\t\t\tchart: me.chart,\r\n\t\t\tdataIndex: index,\r\n\t\t\tdataset: dataset,\r\n\t\t\tdatasetIndex: me.index\r\n\t\t};\r\n\r\n\t\treturn resolve$3([\r\n\t\t\tme.chart.options.elements.arc.angle,\r\n\t\t\t(2 * Math.PI) / count\r\n\t\t], context, index);\r\n\t}\r\n});\n\ncore_defaults._set('pie', helpers$1.clone(core_defaults.doughnut));\r\ncore_defaults._set('pie', {\r\n\tcutoutPercentage: 0\r\n});\r\n\r\n// Pie charts are Doughnut chart with different defaults\r\nvar controller_pie = controller_doughnut;\n\nvar valueOrDefault$7 = helpers$1.valueOrDefault;\r\n\r\ncore_defaults._set('radar', {\r\n\tspanGaps: false,\r\n\tscale: {\r\n\t\ttype: 'radialLinear'\r\n\t},\r\n\telements: {\r\n\t\tline: {\r\n\t\t\tfill: 'start',\r\n\t\t\ttension: 0 // no bezier in radar\r\n\t\t}\r\n\t}\r\n});\r\n\r\nvar controller_radar = core_datasetController.extend({\r\n\tdatasetElementType: elements.Line,\r\n\r\n\tdataElementType: elements.Point,\r\n\r\n\tlinkScales: helpers$1.noop,\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_datasetElementOptions: [\r\n\t\t'backgroundColor',\r\n\t\t'borderWidth',\r\n\t\t'borderColor',\r\n\t\t'borderCapStyle',\r\n\t\t'borderDash',\r\n\t\t'borderDashOffset',\r\n\t\t'borderJoinStyle',\r\n\t\t'fill'\r\n\t],\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_dataElementOptions: {\r\n\t\tbackgroundColor: 'pointBackgroundColor',\r\n\t\tborderColor: 'pointBorderColor',\r\n\t\tborderWidth: 'pointBorderWidth',\r\n\t\thitRadius: 'pointHitRadius',\r\n\t\thoverBackgroundColor: 'pointHoverBackgroundColor',\r\n\t\thoverBorderColor: 'pointHoverBorderColor',\r\n\t\thoverBorderWidth: 'pointHoverBorderWidth',\r\n\t\thoverRadius: 'pointHoverRadius',\r\n\t\tpointStyle: 'pointStyle',\r\n\t\tradius: 'pointRadius',\r\n\t\trotation: 'pointRotation'\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getIndexScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_getValueScaleId: function() {\r\n\t\treturn this.chart.scale.id;\r\n\t},\r\n\r\n\tupdate: function(reset) {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar line = meta.dataset;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar scale = me.chart.scale;\r\n\t\tvar config = me._config;\r\n\t\tvar i, ilen;\r\n\r\n\t\t// Compatibility: If the properties are defined with only the old name, use those values\r\n\t\tif (config.tension !== undefined && config.lineTension === undefined) {\r\n\t\t\tconfig.lineTension = config.tension;\r\n\t\t}\r\n\r\n\t\t// Utility\r\n\t\tline._scale = scale;\r\n\t\tline._datasetIndex = me.index;\r\n\t\t// Data\r\n\t\tline._children = points;\r\n\t\tline._loop = true;\r\n\t\t// Model\r\n\t\tline._model = me._resolveDatasetElementOptions(line);\r\n\r\n\t\tline.pivot();\r\n\r\n\t\t// Update Points\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tme.updateElement(points[i], i, reset);\r\n\t\t}\r\n\r\n\t\t// Update bezier control points\r\n\t\tme.updateBezierControlPoints();\r\n\r\n\t\t// Now pivot the point for animation\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tpoints[i].pivot();\r\n\t\t}\r\n\t},\r\n\r\n\tupdateElement: function(point, index, reset) {\r\n\t\tvar me = this;\r\n\t\tvar custom = point.custom || {};\r\n\t\tvar dataset = me.getDataset();\r\n\t\tvar scale = me.chart.scale;\r\n\t\tvar pointPosition = scale.getPointPositionForValue(index, dataset.data[index]);\r\n\t\tvar options = me._resolveDataElementOptions(point, index);\r\n\t\tvar lineModel = me.getMeta().dataset._model;\r\n\t\tvar x = reset ? scale.xCenter : pointPosition.x;\r\n\t\tvar y = reset ? scale.yCenter : pointPosition.y;\r\n\r\n\t\t// Utility\r\n\t\tpoint._scale = scale;\r\n\t\tpoint._options = options;\r\n\t\tpoint._datasetIndex = me.index;\r\n\t\tpoint._index = index;\r\n\r\n\t\t// Desired view properties\r\n\t\tpoint._model = {\r\n\t\t\tx: x, // value not used in dataset scale, but we want a consistent API between scales\r\n\t\t\ty: y,\r\n\t\t\tskip: custom.skip || isNaN(x) || isNaN(y),\r\n\t\t\t// Appearance\r\n\t\t\tradius: options.radius,\r\n\t\t\tpointStyle: options.pointStyle,\r\n\t\t\trotation: options.rotation,\r\n\t\t\tbackgroundColor: options.backgroundColor,\r\n\t\t\tborderColor: options.borderColor,\r\n\t\t\tborderWidth: options.borderWidth,\r\n\t\t\ttension: valueOrDefault$7(custom.tension, lineModel ? lineModel.tension : 0),\r\n\r\n\t\t\t// Tooltip\r\n\t\t\thitRadius: options.hitRadius\r\n\t\t};\r\n\t},\r\n\r\n\t/**\r\n\t * @private\r\n\t */\r\n\t_resolveDatasetElementOptions: function() {\r\n\t\tvar me = this;\r\n\t\tvar config = me._config;\r\n\t\tvar options = me.chart.options;\r\n\t\tvar values = core_datasetController.prototype._resolveDatasetElementOptions.apply(me, arguments);\r\n\r\n\t\tvalues.spanGaps = valueOrDefault$7(config.spanGaps, options.spanGaps);\r\n\t\tvalues.tension = valueOrDefault$7(config.lineTension, options.elements.line.tension);\r\n\r\n\t\treturn values;\r\n\t},\r\n\r\n\tupdateBezierControlPoints: function() {\r\n\t\tvar me = this;\r\n\t\tvar meta = me.getMeta();\r\n\t\tvar area = me.chart.chartArea;\r\n\t\tvar points = meta.data || [];\r\n\t\tvar i, ilen, model, controlPoints;\r\n\r\n\t\t// Only consider points that are drawn in case the spanGaps option is used\r\n\t\tif (meta.dataset._model.spanGaps) {\r\n\t\t\tpoints = points.filter(function(pt) {\r\n\t\t\t\treturn !pt._model.skip;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction capControlPoint(pt, min, max) {\r\n\t\t\treturn Math.max(Math.min(pt, max), min);\r\n\t\t}\r\n\r\n\t\tfor (i = 0, ilen = points.length; i < ilen; ++i) {\r\n\t\t\tmodel = points[i]._model;\r\n\t\t\tcontrolPoints = helpers$1.splineCurve(\r\n\t\t\t\thelpers$1.previousItem(points, i, true)._model,\r\n\t\t\t\tmodel,\r\n\t\t\t\thelpers$1.nextItem(points, i, true)._model,\r\n\t\t\t\tmodel.tension\r\n\t\t\t);\r\n\r\n\t\t\t// Prevent the bezier going outside of the bounds of the graph\r\n\t\t\tmodel.controlPointPreviousX = capControlPoint(controlPoints.previous.x, area.left, area.right);\r\n\t\t\tmodel.controlPointPreviousY = capControlPoint(controlPoints.previous.y, area.top, area.bottom);\r\n\t\t\tmodel.controlPointNextX = capControlPoint(controlPoints.next.x, area.left, area.right);\r\n\t\t\tmodel.controlPointNextY = capControlPoint(controlPoints.next.y, area.top, area.bottom);\r\n\t\t}\r\n\t},\r\n\r\n\tsetHoverStyle: function(point) {\r\n\t\tvar model = point._model;\r\n\t\tvar options = point._options;\r\n\t\tvar getHoverColor = helpers$1.getHoverColor;\r\n\r\n\t\tpoint.$previousStyle = {\r\n\t\t\tbackgroundColor: model.backgroundColor,\r\n\t\t\tborderColor: model.borderColor,\r\n\t\t\tborderWidth: model.borderWidth,\r\n\t\t\tradius: model.radius\r\n\t\t};\r\n\r\n\t\tmodel.backgroundColor = valueOrDefault$7(options.hoverBackgroundColor, getHoverColor(options.backgroundColor));\r\n\t\tmodel.borderColor = valueOrDefault$7(options.hoverBorderColor, getHoverColor(options.borderColor));\r\n\t\tmodel.borderWidth = valueOrDefault$7(options.hoverBorderWidth, options.borderWidth);\r\n\t\tmodel.radius = valueOrDefault$7(options.hoverRadius, options.radius);\r\n\t}\r\n});\n\ncore_defaults._set('scatter', {\r\n\thover: {\r\n\t\tmode: 'single'\r\n\t},\r\n\r\n\tscales: {\r\n\t\txAxes: [{\r\n\t\t\tid: 'x-axis-1', // need an ID so datasets can reference the scale\r\n\t\t\ttype: 'linear', // scatter should not use a category axis\r\n\t\t\tposition: 'bottom'\r\n\t\t}],\r\n\t\tyAxes: [{\r\n\t\t\tid: 'y-axis-1',\r\n\t\t\ttype: 'linear',\r\n\t\t\tposition: 'left'\r\n\t\t}]\r\n\t},\r\n\r\n\ttooltips: {\r\n\t\tcallbacks: {\r\n\t\t\ttitle: function() {\r\n\t\t\t\treturn ''; // doesn't make sense for scatter since data are formatted as a point\r\n\t\t\t},\r\n\t\t\tlabel: function(item) {\r\n\t\t\t\treturn '(' + item.xLabel + ', ' + item.yLabel + ')';\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\ncore_defaults._set('global', {\r\n\tdatasets: {\r\n\t\tscatter: {\r\n\t\t\tshowLine: false\r\n\t\t}\r\n\t}\r\n});\r\n\r\n// Scatter charts use line controllers\r\nvar controller_scatter = controller_line;\n\n// NOTE export a map in which the key represents the controller type, not\r\n// the class, and so must be CamelCase in order to be correctly retrieved\r\n// by the controller in core.controller.js (`controllers[meta.type]`).\r\n\r\nvar controllers = {\r\n\tbar: controller_bar,\r\n\tbubble: controller_bubble,\r\n\tdoughnut: controller_doughnut,\r\n\thorizontalBar: controller_horizontalBar,\r\n\tline: controller_line,\r\n\tpolarArea: controller_polarArea,\r\n\tpie: controller_pie,\r\n\tradar: controller_radar,\r\n\tscatter: controller_scatter\r\n};\n\n/**\r\n * Helper function to get relative position for an event\r\n * @param {Event|IEvent} event - The event to get the position for\r\n * @param {Chart} chart - The chart\r\n * @returns {object} the event position\r\n */\r\nfunction getRelativePosition(e, chart) {\r\n\tif (e.native) {\r\n\t\treturn {\r\n\t\t\tx: e.x,\r\n\t\t\ty: e.y\r\n\t\t};\r\n\t}\r\n\r\n\treturn helpers$1.getRelativePosition(e, chart);\r\n}\r\n\r\n/**\r\n * Helper function to traverse all of the visible elements in the chart\r\n * @param {Chart} chart - the chart\r\n * @param {function} handler - the callback to execute for each visible item\r\n */\r\nfunction parseVisibleItems(chart, handler) {\r\n\tvar metasets = chart._getSortedVisibleDatasetMetas();\r\n\tvar metadata, i, j, ilen, jlen, element;\r\n\r\n\tfor (i = 0, ilen = metasets.length; i < ilen; ++i) {\r\n\t\tmetadata = metasets[i].data;\r\n\t\tfor (j = 0, jlen = metadata.length; j < jlen; ++j) {\r\n\t\t\telement = metadata[j];\r\n\t\t\tif (!element._view.skip) {\r\n\t\t\t\thandler(element);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Helper function to get the items that intersect the event position\r\n * @param {ChartElement[]} items - elements to filter\r\n * @param {object} position - the point to be nearest to\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getIntersectItems(chart, position) {\r\n\tvar elements = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * Helper function to get the items nearest to the event position considering all visible items in teh chart\r\n * @param {Chart} chart - the chart to look at elements from\r\n * @param {object} position - the point to be nearest to\r\n * @param {boolean} intersect - if true, only consider items that intersect the position\r\n * @param {function} distanceMetric - function to provide the distance between points\r\n * @return {ChartElement[]} the nearest items\r\n */\r\nfunction getNearestItems(chart, position, intersect, distanceMetric) {\r\n\tvar minDistance = Number.POSITIVE_INFINITY;\r\n\tvar nearestItems = [];\r\n\r\n\tparseVisibleItems(chart, function(element) {\r\n\t\tif (intersect && !element.inRange(position.x, position.y)) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar center = element.getCenterPoint();\r\n\t\tvar distance = distanceMetric(position, center);\r\n\t\tif (distance < minDistance) {\r\n\t\t\tnearestItems = [element];\r\n\t\t\tminDistance = distance;\r\n\t\t} else if (distance === minDistance) {\r\n\t\t\t// Can have multiple items at the same distance in which case we sort by size\r\n\t\t\tnearestItems.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn nearestItems;\r\n}\r\n\r\n/**\r\n * Get a distance metric function for two points based on the\r\n * axis mode setting\r\n * @param {string} axis - the axis mode. x|y|xy\r\n */\r\nfunction getDistanceMetricForAxis(axis) {\r\n\tvar useX = axis.indexOf('x') !== -1;\r\n\tvar useY = axis.indexOf('y') !== -1;\r\n\r\n\treturn function(pt1, pt2) {\r\n\t\tvar deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\r\n\t\tvar deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\r\n\t\treturn Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\r\n\t};\r\n}\r\n\r\nfunction indexMode(chart, e, options) {\r\n\tvar position = getRelativePosition(e, chart);\r\n\t// Default axis for index mode is 'x' to match old behaviour\r\n\toptions.axis = options.axis || 'x';\r\n\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\tvar elements = [];\r\n\r\n\tif (!items.length) {\r\n\t\treturn [];\r\n\t}\r\n\r\n\tchart._getSortedVisibleDatasetMetas().forEach(function(meta) {\r\n\t\tvar element = meta.data[items[0]._index];\r\n\r\n\t\t// don't count items that are skipped (null data)\r\n\t\tif (element && !element._view.skip) {\r\n\t\t\telements.push(element);\r\n\t\t}\r\n\t});\r\n\r\n\treturn elements;\r\n}\r\n\r\n/**\r\n * @interface IInteractionOptions\r\n */\r\n/**\r\n * If true, only consider items that intersect the point\r\n * @name IInterfaceOptions#boolean\r\n * @type Boolean\r\n */\r\n\r\n/**\r\n * Contains interaction related functions\r\n * @namespace Chart.Interaction\r\n */\r\nvar core_interaction = {\r\n\t// Helper function for different modes\r\n\tmodes: {\r\n\t\tsingle: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar elements = [];\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\telements.push(element);\r\n\t\t\t\t\treturn elements;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\treturn elements.slice(0, 1);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.label\r\n\t\t * @deprecated since version 2.4.0\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\tlabel: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items at the same index. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect mode is false, we find the nearest item and return the items at the same index as that item\r\n\t\t * @function Chart.Interaction.modes.index\r\n\t\t * @since v2.4.0\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tindex: indexMode,\r\n\r\n\t\t/**\r\n\t\t * Returns items in the same dataset. If the options.intersect parameter is true, we only return items if we intersect something\r\n\t\t * If the options.intersect is false, we find the nearest item and return the items in that dataset\r\n\t\t * @function Chart.Interaction.modes.dataset\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use during interaction\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tdataset: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\tvar items = options.intersect ? getIntersectItems(chart, position) : getNearestItems(chart, position, false, distanceMetric);\r\n\r\n\t\t\tif (items.length > 0) {\r\n\t\t\t\titems = chart.getDatasetMeta(items[0]._datasetIndex).data;\r\n\t\t\t}\r\n\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * @function Chart.Interaction.modes.x-axis\r\n\t\t * @deprecated since version 2.4.0. Use index mode and intersect == true\r\n\t\t * @todo remove at version 3\r\n\t\t * @private\r\n\t\t */\r\n\t\t'x-axis': function(chart, e) {\r\n\t\t\treturn indexMode(chart, e, {intersect: false});\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * Point mode returns all elements that hit test based on the event position\r\n\t\t * of the event\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tpoint: function(chart, e) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\treturn getIntersectItems(chart, position);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * nearest mode returns the element closest to the point\r\n\t\t * @function Chart.Interaction.modes.intersect\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tnearest: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\toptions.axis = options.axis || 'xy';\r\n\t\t\tvar distanceMetric = getDistanceMetricForAxis(options.axis);\r\n\t\t\treturn getNearestItems(chart, position, options.intersect, distanceMetric);\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * x mode returns the elements that hit-test at the current x coordinate\r\n\t\t * @function Chart.Interaction.modes.x\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\tx: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inXRange(position.x)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t},\r\n\r\n\t\t/**\r\n\t\t * y mode returns the elements that hit-test at the current y coordinate\r\n\t\t * @function Chart.Interaction.modes.y\r\n\t\t * @param {Chart} chart - the chart we are returning items from\r\n\t\t * @param {Event} e - the event we are find things at\r\n\t\t * @param {IInteractionOptions} options - options to use\r\n\t\t * @return {Chart.Element[]} Array of elements that are under the point. If none are found, an empty array is returned\r\n\t\t */\r\n\t\ty: function(chart, e, options) {\r\n\t\t\tvar position = getRelativePosition(e, chart);\r\n\t\t\tvar items = [];\r\n\t\t\tvar intersectsItem = false;\r\n\r\n\t\t\tparseVisibleItems(chart, function(element) {\r\n\t\t\t\tif (element.inYRange(position.y)) {\r\n\t\t\t\t\titems.push(element);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (element.inRange(position.x, position.y)) {\r\n\t\t\t\t\tintersectsItem = true;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// If we want to trigger on an intersect and we don't have any items\r\n\t\t\t// that intersect the position, return nothing\r\n\t\t\tif (options.intersect && !intersectsItem) {\r\n\t\t\t\titems = [];\r\n\t\t\t}\r\n\t\t\treturn items;\r\n\t\t}\r\n\t}\r\n};\n\nvar extend = helpers$1.extend;\r\n\r\nfunction filterByPosition(array, position) {\r\n\treturn helpers$1.where(array, function(v) {\r\n\t\treturn v.pos === position;\r\n\t});\r\n}\r\n\r\nfunction sortByWeight(array, reverse) {\r\n\treturn array.sort(function(a, b) {\r\n\t\tvar v0 = reverse ? b : a;\r\n\t\tvar v1 = reverse ? a : b;\r\n\t\treturn v0.weight === v1.weight ?\r\n\t\t\tv0.index - v1.index :\r\n\t\t\tv0.weight - v1.weight;\r\n\t});\r\n}\r\n\r\nfunction wrapBoxes(boxes) {\r\n\tvar layoutBoxes = [];\r\n\tvar i, ilen, box;\r\n\r\n\tfor (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\r\n\t\tbox = boxes[i];\r\n\t\tlayoutBoxes.push({\r\n\t\t\tindex: i,\r\n\t\t\tbox: box,\r\n\t\t\tpos: box.position,\r\n\t\t\thorizontal: box.isHorizontal(),\r\n\t\t\tweight: box.weight\r\n\t\t});\r\n\t}\r\n\treturn layoutBoxes;\r\n}\r\n\r\nfunction setLayoutDims(layouts, params) {\r\n\tvar i, ilen, layout;\r\n\tfor (i = 0, ilen = layouts.length; i < ilen; ++i) {\r\n\t\tlayout = layouts[i];\r\n\t\t// store width used instead of chartArea.w in fitBoxes\r\n\t\tlayout.width = layout.horizontal\r\n\t\t\t? layout.box.fullWidth && params.availableWidth\r\n\t\t\t: params.vBoxMaxWidth;\r\n\t\t// store height used instead of chartArea.h in fitBoxes\r\n\t\tlayout.height = layout.horizontal && params.hBoxMaxHeight;\r\n\t}\r\n}\r\n\r\nfunction buildLayoutBoxes(boxes) {\r\n\tvar layoutBoxes = wrapBoxes(boxes);\r\n\tvar left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\r\n\tvar right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\r\n\tvar top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\r\n\tvar bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\r\n\r\n\treturn {\r\n\t\tleftAndTop: left.concat(top),\r\n\t\trightAndBottom: right.concat(bottom),\r\n\t\tchartArea: filterByPosition(layoutBoxes, 'chartArea'),\r\n\t\tvertical: left.concat(right),\r\n\t\thorizontal: top.concat(bottom)\r\n\t};\r\n}\r\n\r\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\r\n\treturn Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\r\n}\r\n\r\nfunction updateDims(chartArea, params, layout) {\r\n\tvar box = layout.box;\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\tvar newWidth, newHeight;\r\n\r\n\tif (layout.size) {\r\n\t\t// this layout was already counted for, lets first reduce old size\r\n\t\tchartArea[layout.pos] -= layout.size;\r\n\t}\r\n\tlayout.size = layout.horizontal ? box.height : box.width;\r\n\tchartArea[layout.pos] += layout.size;\r\n\r\n\tif (box.getPadding) {\r\n\t\tvar boxPadding = box.getPadding();\r\n\t\tmaxPadding.top = Math.max(maxPadding.top, boxPadding.top);\r\n\t\tmaxPadding.left = Math.max(maxPadding.left, boxPadding.left);\r\n\t\tmaxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\r\n\t\tmaxPadding.right = Math.max(maxPadding.right, boxPadding.right);\r\n\t}\r\n\r\n\tnewWidth = params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right');\r\n\tnewHeight = params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom');\r\n\r\n\tif (newWidth !== chartArea.w || newHeight !== chartArea.h) {\r\n\t\tchartArea.w = newWidth;\r\n\t\tchartArea.h = newHeight;\r\n\r\n\t\t// return true if chart area changed in layout's direction\r\n\t\tvar sizes = layout.horizontal ? [newWidth, chartArea.w] : [newHeight, chartArea.h];\r\n\t\treturn sizes[0] !== sizes[1] && (!isNaN(sizes[0]) || !isNaN(sizes[1]));\r\n\t}\r\n}\r\n\r\nfunction handleMaxPadding(chartArea) {\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\r\n\tfunction updatePos(pos) {\r\n\t\tvar change = Math.max(maxPadding[pos] - chartArea[pos], 0);\r\n\t\tchartArea[pos] += change;\r\n\t\treturn change;\r\n\t}\r\n\tchartArea.y += updatePos('top');\r\n\tchartArea.x += updatePos('left');\r\n\tupdatePos('right');\r\n\tupdatePos('bottom');\r\n}\r\n\r\nfunction getMargins(horizontal, chartArea) {\r\n\tvar maxPadding = chartArea.maxPadding;\r\n\r\n\tfunction marginForPositions(positions) {\r\n\t\tvar margin = {left: 0, top: 0, right: 0, bottom: 0};\r\n\t\tpositions.forEach(function(pos) {\r\n\t\t\tmargin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\r\n\t\t});\r\n\t\treturn margin;\r\n\t}\r\n\r\n\treturn horizontal\r\n\t\t? marginForPositions(['left', 'right'])\r\n\t\t: marginForPositions(['top', 'bottom']);\r\n}\r\n\r\nfunction fitBoxes(boxes, chartArea, params) {\r\n\tvar refitBoxes = [];\r\n\tvar i, ilen, layout, box, refit, changed;\r\n\r\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\r\n\t\tlayout = boxes[i];\r\n\t\tbox = layout.box;\r\n\r\n\t\tbox.update(\r\n\t\t\tlayout.width || chartArea.w,\r\n\t\t\tlayout.height || chartArea.h,\r\n\t\t\tgetMargins(layout.horizontal, chartArea)\r\n\t\t);\r\n\t\tif (updateDims(chartArea, params, layout)) {\r\n\t\t\tchanged = true;\r\n\t\t\tif (refitBoxes.length) {\r\n\t\t\t\t// Dimensions changed and there were non full width boxes before this\r\n\t\t\t\t// -> we have to refit those\r\n\t\t\t\trefit = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!box.fullWidth) { // fullWidth boxes don't need to be re-fitted in any case\r\n\t\t\trefitBoxes.push(layout);\r\n\t\t}\r\n\t}\r\n\r\n\treturn refit ? fitBoxes(refitBoxes, chartArea, params) || changed : changed;\r\n}\r\n\r\nfunction placeBoxes(boxes, chartArea, params) {\r\n\tvar userPadding = params.padding;\r\n\tvar x = chartArea.x;\r\n\tvar y = chartArea.y;\r\n\tvar i, ilen, layout, box;\r\n\r\n\tfor (i = 0, ilen = boxes.length; i < ilen; ++i) {\r\n\t\tlayout = boxes[i];\r\n\t\tbox = layout.box;\r\n\t\tif (layout.horizontal) {\r\n\t\t\tbox.left = box.fullWidth ? userPadding.left : chartArea.left;\r\n\t\t\tbox.right = box.fullWidth ? params.outerWidth - userPadding.right : chartArea.left + chartArea.w;\r\n\t\t\tbox.top = y;\r\n\t\t\tbox.bottom = y + box.height;\r\n\t\t\tbox.width = box.right - box.left;\r\n\t\t\ty = box.bottom;\r\n\t\t} else {\r\n\t\t\tbox.left = x;\r\n\t\t\tbox.right = x + box.width;\r\n\t\t\tbox.top = chartArea.top;\r\n\t\t\tbox.bottom = chartArea.top + chartArea.h;\r\n\t\t\tbox.height = box.bottom - box.top;\r\n\t\t\tx = box.right;\r\n\t\t}\r\n\t}\r\n\r\n\tchartArea.x = x;\r\n\tchartArea.y = y;\r\n}\r\n\r\ncore_defaults._set('global', {\r\n\tlayout: {\r\n\t\tpadding: {\r\n\t\t\ttop: 0,\r\n\t\t\tright: 0,\r\n\t\t\tbottom: 0,\r\n\t\t\tleft: 0\r\n\t\t}\r\n\t}\r\n});\r\n\r\n/**\r\n * @interface ILayoutItem\r\n * @prop {string} position - The position of the item in the chart layout. Possible values are\r\n * 'left', 'top', 'right', 'bottom', and 'chartArea'\r\n * @prop {number} weight - The weight used to sort the item. Higher weights are further away from the chart area\r\n * @prop {boolean} fullWidth - if true, and the item is horizontal, then push vertical boxes down\r\n * @prop {function} isHorizontal - returns true if the layout item is horizontal (ie. top or bottom)\r\n * @prop {function} update - Takes two parameters: width and height. Returns size of item\r\n * @prop {function} getPadding - Returns an object with padding on the edges\r\n * @prop {number} width - Width of item. Must be valid after update()\r\n * @prop {number} height - Height of item. Must be valid after update()\r\n * @prop {number} left - Left edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} top - Top edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} right - Right edge of the item. Set by layout system and cannot be used in update\r\n * @prop {number} bottom - Bottom edge of the item. Set by layout system and cannot be used in update\r\n */\r\n\r\n// The layout service is very self explanatory. It's responsible for the layout within a chart.\r\n// Scales, Legends and Plugins all rely on the layout service and can easily register to be placed anywhere they need\r\n// It is this service's responsibility of carrying out that layout.\r\nvar core_layouts = {\r\n\tdefaults: {},\r\n\r\n\t/**\r\n\t * Register a box to a chart.\r\n\t * A box is simply a reference to an object that requires layout. eg. Scales, Legend, Title.\r\n\t * @param {Chart} chart - the chart to use\r\n\t * @param {ILayoutItem} item - the item to add to be layed out\r\n\t */\r\n\taddBox: function(chart, item) {\r\n\t\tif (!chart.boxes) {\r\n\t\t\tchart.boxes = [];\r\n\t\t}\r\n\r\n\t\t// initialize item with default values\r\n\t\titem.fullWidth = item.fullWidth || false;\r\n\t\titem.position = item.position || 'top';\r\n\t\titem.weight = item.weight || 0;\r\n\t\titem._layers = item._layers || function() {\r\n\t\t\treturn [{\r\n\t\t\t\tz: 0,\r\n\t\t\t\tdraw: function() {\r\n\t\t\t\t\titem.draw.apply(item, arguments);\r\n\t\t\t\t}\r\n\t\t\t}];\r\n\t\t};\r\n\r\n\t\tchart.boxes.push(item);\r\n\t},\r\n\r\n\t/**\r\n\t * Remove a layoutItem from a chart\r\n\t * @param {Chart} chart - the chart to remove the box from\r\n\t * @param {ILayoutItem} layoutItem - the item to remove from the layout\r\n\t */\r\n\tremoveBox: function(chart, layoutItem) {\r\n\t\tvar index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\r\n\t\tif (index !== -1) {\r\n\t\t\tchart.boxes.splice(index, 1);\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Sets (or updates) options on the given `item`.\r\n\t * @param {Chart} chart - the chart in which the item lives (or will be added to)\r\n\t * @param {ILayoutItem} item - the item to configure with the given options\r\n\t * @param {object} options - the new item options.\r\n\t */\r\n\tconfigure: function(chart, item, options) {\r\n\t\tvar props = ['fullWidth', 'position', 'weight'];\r\n\t\tvar ilen = props.length;\r\n\t\tvar i = 0;\r\n\t\tvar prop;\r\n\r\n\t\tfor (; i < ilen; ++i) {\r\n\t\t\tprop = props[i];\r\n\t\t\tif (options.hasOwnProperty(prop)) {\r\n\t\t\t\titem[prop] = options[prop];\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t/**\r\n\t * Fits boxes of the given chart into the given size by having each box measure itself\r\n\t * then running a fitting algorithm\r\n\t * @param {Chart} chart - the chart\r\n\t * @param {number} width - the width to fit into\r\n\t * @param {number} height - the height to fit into\r\n\t */\r\n\tupdate: function(chart, width, height) {\r\n\t\tif (!chart) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar layoutOptions = chart.options.layout || {};\r\n\t\tvar padding = helpers$1.options.toPadding(layoutOptions.padding);\r\n\r\n\t\tvar availableWidth = width - padding.width;\r\n\t\tvar availableHeight = height - padding.height;\r\n\t\tvar boxes = buildLayoutBoxes(chart.boxes);\r\n\t\tvar verticalBoxes = boxes.vertical;\r\n\t\tvar horizontalBoxes = boxes.horizontal;\r\n\r\n\t\t// Essentially we now have any number of boxes on each of the 4 sides.\r\n\t\t// Our canvas looks like the following.\r\n\t\t// The areas L1 and L2 are the left axes. R1 is the right axis, T1 is the top axis and\r\n\t\t// B1 is the bottom axis\r\n\t\t// There are also 4 quadrant-like locations (left to right instead of clockwise) reserved for chart overlays\r\n\t\t// These locations are single-box locations only, when trying to register a chartArea location that is already taken,\r\n\t\t// an error will be thrown.\r\n\t\t//\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | T1 (Full Width) |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | | | T2 | |\r\n\t\t// | |----|-------------------------------------|----|\r\n\t\t// | | | C1 | | C2 | |\r\n\t\t// | | |----| |----| |\r\n\t\t// | | | | |\r\n\t\t// | L1 | L2 | ChartArea (C0) | R1 |\r\n\t\t// | | | | |\r\n\t\t// | | |----| |----| |\r\n\t\t// | | | C3 | | C4 | |\r\n\t\t// | |----|-------------------------------------|----|\r\n\t\t// | | | B1 | |\r\n\t\t// |----------------------------------------------------|\r\n\t\t// | B2 (Full Width) |\r\n\t\t// |----------------------------------------------------|\r\n\t\t//\r\n\r\n\t\tvar params = Object.freeze({\r\n\t\t\touterWidth: width,\r\n\t\t\touterHeight: height,\r\n\t\t\tpadding: padding,\r\n\t\t\tavailableWidth: availableWidth,\r\n\t\t\tvBoxMaxWidth: availableWidth / 2 / verticalBoxes.length,\r\n\t\t\thBoxMaxHeight: availableHeight / 2\r\n\t\t});\r\n\t\tvar chartArea = extend({\r\n\t\t\tmaxPadding: extend({}, padding),\r\n\t\t\tw: availableWidth,\r\n\t\t\th: availableHeight,\r\n\t\t\tx: padding.left,\r\n\t\t\ty: padding.top\r\n\t\t}, padding);\r\n\r\n\t\tsetLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\r\n\r\n\t\t// First fit vertical boxes\r\n\t\tfitBoxes(verticalBoxes, chartArea, params);\r\n\r\n\t\t// Then fit horizontal boxes\r\n\t\tif (fitBoxes(horizontalBoxes, chartArea, params)) {\r\n\t\t\t// if the area changed, re-fit vertical boxes\r\n\t\t\tfitBoxes(verticalBoxes, chartArea, params);\r\n\t\t}\r\n\r\n\t\thandleMaxPadding(chartArea);\r\n\r\n\t\t// Finally place the boxes to correct coordinates\r\n\t\tplaceBoxes(boxes.leftAndTop, chartArea, params);\r\n\r\n\t\t// Move to opposite side of chart\r\n\t\tchartArea.x += chartArea.w;\r\n\t\tchartArea.y += chartArea.h;\r\n\r\n\t\tplaceBoxes(boxes.rightAndBottom, chartArea, params);\r\n\r\n\t\tchart.chartArea = {\r\n\t\t\tleft: chartArea.left,\r\n\t\t\ttop: chartArea.top,\r\n\t\t\tright: chartArea.left + chartArea.w,\r\n\t\t\tbottom: chartArea.top + chartArea.h\r\n\t\t};\r\n\r\n\t\t// Finally update boxes in chartArea (radial scale for example)\r\n\t\thelpers$1.each(boxes.chartArea, function(layout) {\r\n\t\t\tvar box = layout.box;\r\n\t\t\textend(box, chart.chartArea);\r\n\t\t\tbox.update(chartArea.w, chartArea.h);\r\n\t\t});\r\n\t}\r\n};\n\n/**\r\n * Platform fallback implementation (minimal).\r\n * @see https://github.com/chartjs/Chart.js/pull/4591#issuecomment-319575939\r\n */\r\n\r\nvar platform_basic = {\r\n\tacquireContext: function(item) {\r\n\t\tif (item && item.canvas) {\r\n\t\t\t// Support for any object associated to a canvas (including a context2d)\r\n\t\t\titem = item.canvas;\r\n\t\t}\r\n\r\n\t\treturn item && item.getContext('2d') || null;\r\n\t}\r\n};\n\nvar platform_dom = \"/*\\r\\n * DOM element rendering detection\\r\\n * https://davidwalsh.name/detect-node-insertion\\r\\n */\\r\\n@keyframes chartjs-render-animation {\\r\\n\\tfrom { opacity: 0.99; }\\r\\n\\tto { opacity: 1; }\\r\\n}\\r\\n\\r\\n.chartjs-render-monitor {\\r\\n\\tanimation: chartjs-render-animation 0.001s;\\r\\n}\\r\\n\\r\\n/*\\r\\n * DOM element resizing detection\\r\\n * https://github.com/marcj/css-element-queries\\r\\n */\\r\\n.chartjs-size-monitor,\\r\\n.chartjs-size-monitor-expand,\\r\\n.chartjs-size-monitor-shrink {\\r\\n\\tposition: absolute;\\r\\n\\tdirection: ltr;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n\\tright: 0;\\r\\n\\tbottom: 0;\\r\\n\\toverflow: hidden;\\r\\n\\tpointer-events: none;\\r\\n\\tvisibility: hidden;\\r\\n\\tz-index: -1;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-expand > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 1000000px;\\r\\n\\theight: 1000000px;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\\r\\n.chartjs-size-monitor-shrink > div {\\r\\n\\tposition: absolute;\\r\\n\\twidth: 200%;\\r\\n\\theight: 200%;\\r\\n\\tleft: 0;\\r\\n\\ttop: 0;\\r\\n}\\r\\n\";\n\nvar platform_dom$1 = /*#__PURE__*/Object.freeze({\n__proto__: null,\n'default': platform_dom\n});\n\nvar stylesheet = getCjsExportFromNamespace(platform_dom$1);\n\nvar EXPANDO_KEY = '$chartjs';\r\nvar CSS_PREFIX = 'chartjs-';\r\nvar CSS_SIZE_MONITOR = CSS_PREFIX + 'size-monitor';\r\nvar CSS_RENDER_MONITOR = CSS_PREFIX + 'render-monitor';\r\nvar CSS_RENDER_ANIMATION = CSS_PREFIX + 'render-animation';\r\nvar ANIMATION_START_EVENTS = ['animationstart', 'webkitAnimationStart'];\r\n\r\n/**\r\n * DOM event types -> Chart.js event types.\r\n * Note: only events with different types are mapped.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/Events\r\n */\r\nvar EVENT_TYPES = {\r\n\ttouchstart: 'mousedown',\r\n\ttouchmove: 'mousemove',\r\n\ttouchend: 'mouseup',\r\n\tpointerenter: 'mouseenter',\r\n\tpointerdown: 'mousedown',\r\n\tpointermove: 'mousemove',\r\n\tpointerup: 'mouseup',\r\n\tpointerleave: 'mouseout',\r\n\tpointerout: 'mouseout'\r\n};\r\n\r\n/**\r\n * The \"used\" size is the final value of a dimension property after all calculations have\r\n * been performed. This method uses the computed style of `element` but returns undefined\r\n * if the computed style is not expressed in pixels. That can happen in some cases where\r\n * `element` has a size relative to its parent and this last one is not yet displayed,\r\n * for example because of `display: none` on a parent node.\r\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\r\n * @returns {number} Size in pixels or undefined if unknown.\r\n */\r\nfunction readUsedSize(element, property) {\r\n\tvar value = helpers$1.getStyle(element, property);\r\n\tvar matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\r\n\treturn matches ? Number(matches[1]) : undefined;\r\n}\r\n\r\n/**\r\n * Initializes the canvas style and render size without modifying the canvas display size,\r\n * since responsiveness is handled by the controller.resize() method. The config is used\r\n * to determine the aspect ratio to apply in case no explicit height has been specified.\r\n */\r\nfunction initCanvas(canvas, config) {\r\n\tvar style = canvas.style;\r\n\r\n\t// NOTE(SB) canvas.getAttribute('width') !== canvas.width: in the first case it\r\n\t// returns null or '' if no explicit value has been set to the canvas attribute.\r\n\tvar renderHeight = canvas.getAttribute('height');\r\n\tvar renderWidth = canvas.getAttribute('width');\r\n\r\n\t// Chart.js modifies some canvas values that we want to restore on destroy\r\n\tcanvas[EXPANDO_KEY] = {\r\n\t\tinitial: {\r\n\t\t\theight: renderHeight,\r\n\t\t\twidth: renderWidth,\r\n\t\t\tstyle: {\r\n\t\t\t\tdisplay: style.display,\r\n\t\t\t\theight: style.height,\r\n\t\t\t\twidth: style.width\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// Force canvas to display as block to avoid extra space caused by inline\r\n\t// elements, which would interfere with the responsive resize process.\r\n\t// https://github.com/chartjs/Chart.js/issues/2538\r\n\tstyle.display = style.display || 'block';\r\n\r\n\tif (renderWidth === null || renderWidth === '') {\r\n\t\tvar displayWidth = readUsedSize(canvas, 'width');\r\n\t\tif (displayWidth !== undefined) {\r\n\t\t\tcanvas.width = displayWidth;\r\n\t\t}\r\n\t}\r\n\r\n\tif (renderHeight === null || renderHeight === '') {\r\n\t\tif (canvas.style.height === '') {\r\n\t\t\t// If no explicit render height and style height, let's apply the aspect ratio,\r\n\t\t\t// which one can be specified by the user but also by charts as default option\r\n\t\t\t// (i.e. options.aspectRatio). If not specified, use canvas aspect ratio of 2.\r\n\t\t\tcanvas.height = canvas.width / (config.options.aspectRatio || 2);\r\n\t\t} else {\r\n\t\t\tvar displayHeight = readUsedSize(canvas, 'height');\r\n\t\t\tif (displayWidth !== undefined) {\r\n\t\t\t\tcanvas.height = displayHeight;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn canvas;\r\n}\r\n\r\n/**\r\n * Detects support for options object argument in addEventListener.\r\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\r\n * @private\r\n */\r\nvar supportsEventListenerOptions = (function() {\r\n\tvar supports = false;\r\n\ttry {\r\n\t\tvar options = Object.defineProperty({}, 'passive', {\r\n\t\t\t// eslint-disable-next-line getter-return\r\n\t\t\tget: function() {\r\n\t\t\t\tsupports = true;\r\n\t\t\t}\r\n\t\t});\r\n\t\twindow.addEventListener('e', null, options);\r\n\t} catch (e) {\r\n\t\t// continue regardless of error\r\n\t}\r\n\treturn supports;\r\n}());\r\n\r\n// Default passive to true as expected by Chrome for 'touchstart' and 'touchend' events.\r\n// https://github.com/chartjs/Chart.js/issues/4287\r\nvar eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\r\n\r\nfunction addListener(node, type, listener) {\r\n\tnode.addEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction removeListener(node, type, listener) {\r\n\tnode.removeEventListener(type, listener, eventListenerOptions);\r\n}\r\n\r\nfunction createEvent(type, chart, x, y, nativeEvent) {\r\n\treturn {\r\n\t\ttype: type,\r\n\t\tchart: chart,\r\n\t\tnative: nativeEvent || null,\r\n\t\tx: x !== undefined ? x : null,\r\n\t\ty: y !== undefined ? y : null,\r\n\t};\r\n}\r\n\r\nfunction fromNativeEvent(event, chart) {\r\n\tvar type = EVENT_TYPES[event.type] || event.type;\r\n\tvar pos = helpers$1.getRelativePosition(event, chart);\r\n\treturn createEvent(type, chart, pos.x, pos.y, event);\r\n}\r\n\r\nfunction throttled(fn, thisArg) {\r\n\tvar ticking = false;\r\n\tvar args = [];\r\n\r\n\treturn function() {\r\n\t\targs = Array.prototype.slice.call(arguments);\r\n\t\tthisArg = thisArg || this;\r\n\r\n\t\tif (!ticking) {\r\n\t\t\tticking = true;\r\n\t\t\thelpers$1.requestAnimFrame.call(window, function() {\r\n\t\t\t\tticking = false;\r\n\t\t\t\tfn.apply(thisArg, args);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n}\r\n\r\nfunction createDiv(cls) {\r\n\tvar el = document.createElement('div');\r\n\tel.className = cls || '';\r\n\treturn el;\r\n}\r\n\r\n// Implementation based on https://github.com/marcj/css-element-queries\r\nfunction createResizer(handler) {\r\n\tvar maxSize = 1000000;\r\n\r\n\t// NOTE(SB) Don't use innerHTML because it could be considered unsafe.\r\n\t// https://github.com/chartjs/Chart.js/issues/5902\r\n\tvar resizer = createDiv(CSS_SIZE_MONITOR);\r\n\tvar expand = createDiv(CSS_SIZE_MONITOR + '-expand');\r\n\tvar shrink = createDiv(CSS_SIZE_MONITOR + '-shrink');\r\n\r\n\texpand.appendChild(createDiv());\r\n\tshrink.appendChild(createDiv());\r\n\r\n\tresizer.appendChild(expand);\r\n\tresizer.appendChild(shrink);\r\n\tresizer._reset = function() {\r\n\t\texpand.scrollLeft = maxSize;\r\n\t\texpand.scrollTop = maxSize;\r\n\t\tshrink.scrollLeft = maxSize;\r\n\t\tshrink.scrollTop = maxSize;\r\n\t};\r\n\r\n\tvar onScroll = function() {\r\n\t\tresizer._reset();\r\n\t\thandler();\r\n\t};\r\n\r\n\taddListener(expand, 'scroll', onScroll.bind(expand, 'expand'));\r\n\taddListener(shrink, 'scroll', onScroll.bind(shrink, 'shrink'));\r\n\r\n\treturn resizer;\r\n}\r\n\r\n// https://davidwalsh.name/detect-node-insertion\r\nfunction watchForRender(node, handler) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\tvar proxy = expando.renderProxy = function(e) {\r\n\t\tif (e.animationName === CSS_RENDER_ANIMATION) {\r\n\t\t\thandler();\r\n\t\t}\r\n\t};\r\n\r\n\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\taddListener(node, type, proxy);\r\n\t});\r\n\r\n\t// #4737: Chrome might skip the CSS animation when the CSS_RENDER_MONITOR class\r\n\t// is removed then added back immediately (same animation frame?). Accessing the\r\n\t// `offsetParent` property will force a reflow and re-evaluate the CSS animation.\r\n\t// https://gist.github.com/paulirish/5d52fb081b3570c81e3a#box-metrics\r\n\t// https://github.com/chartjs/Chart.js/issues/4737\r\n\texpando.reflow = !!node.offsetParent;\r\n\r\n\tnode.classList.add(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction unwatchForRender(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar proxy = expando.renderProxy;\r\n\r\n\tif (proxy) {\r\n\t\thelpers$1.each(ANIMATION_START_EVENTS, function(type) {\r\n\t\t\tremoveListener(node, type, proxy);\r\n\t\t});\r\n\r\n\t\tdelete expando.renderProxy;\r\n\t}\r\n\r\n\tnode.classList.remove(CSS_RENDER_MONITOR);\r\n}\r\n\r\nfunction addResizeListener(node, listener, chart) {\r\n\tvar expando = node[EXPANDO_KEY] || (node[EXPANDO_KEY] = {});\r\n\r\n\t// Let's keep track of this added resizer and thus avoid DOM query when removing it.\r\n\tvar resizer = expando.resizer = createResizer(throttled(function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = chart.options.maintainAspectRatio && node.parentNode;\r\n\t\t\tvar w = container ? container.clientWidth : 0;\r\n\t\t\tlistener(createEvent('resize', chart));\r\n\t\t\tif (container && container.clientWidth < w && chart.canvas) {\r\n\t\t\t\t// If the container size shrank during chart resize, let's assume\r\n\t\t\t\t// scrollbar appeared. So we resize again with the scrollbar visible -\r\n\t\t\t\t// effectively making chart smaller and the scrollbar hidden again.\r\n\t\t\t\t// Because we are inside `throttled`, and currently `ticking`, scroll\r\n\t\t\t\t// events are ignored during this whole 2 resize process.\r\n\t\t\t\t// If we assumed wrong and something else happened, we are resizing\r\n\t\t\t\t// twice in a frame (potential performance issue)\r\n\t\t\t\tlistener(createEvent('resize', chart));\r\n\t\t\t}\r\n\t\t}\r\n\t}));\r\n\r\n\t// The resizer needs to be attached to the node parent, so we first need to be\r\n\t// sure that `node` is attached to the DOM before injecting the resizer element.\r\n\twatchForRender(node, function() {\r\n\t\tif (expando.resizer) {\r\n\t\t\tvar container = node.parentNode;\r\n\t\t\tif (container && container !== resizer.parentNode) {\r\n\t\t\t\tcontainer.insertBefore(resizer, container.firstChild);\r\n\t\t\t}\r\n\r\n\t\t\t// The container size might have changed, let's reset the resizer state.\r\n\t\t\tresizer._reset();\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction removeResizeListener(node) {\r\n\tvar expando = node[EXPANDO_KEY] || {};\r\n\tvar resizer = expando.resizer;\r\n\r\n\tdelete expando.resizer;\r\n\tunwatchForRender(node);\r\n\r\n\tif (resizer && resizer.parentNode) {\r\n\t\tresizer.parentNode.removeChild(resizer);\r\n\t}\r\n}\r\n\r\n/**\r\n * Injects CSS styles inline if the styles are not already present.\r\n * @param {HTMLDocument|ShadowRoot} rootNode - the node to contain the