{"version":3,"sources":["webpack:///./node_modules/chart.js/node_modules/moment/locale/it-ch.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/km.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/eo.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/lt.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/nn.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ms.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/lb.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/me.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/en-in.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/tr.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/sv.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/az.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/gd.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/it.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/uk.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/fr.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/en-ie.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/is.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ky.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ta.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ro.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/vi.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/en-il.js","webpack:///./node_modules/chart.js/dist/Chart.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/si.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ss.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/sq.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/pt.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/gl.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/yo.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/mn.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/fy.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/cs.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/mr.js","webpack:///./src/services/profilRisques.services.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/el.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/bo.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/se.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/oc-lnc.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/fi.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/pa-in.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/eu.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/kk.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/en-sg.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/tzl.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/de-ch.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/sl.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/my.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/en-au.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/mt.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/es-us.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ru.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/mi.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/et.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/da.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/es-mx.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/id.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/bn.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/be.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/sk.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/sw.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ar.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/cy.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ja.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/bg.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/dv.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/af.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/tlh.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/sr.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/th.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/fil.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/de.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/mk.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/nl-be.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/hu.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/lv.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/bm.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/te.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/en-nz.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/tzm.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ku.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/uz.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/zh-tw.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ga.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/gu.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/pl.js","webpack:///./node_modules/chart.js/node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./node_modules/chart.js/node_modules/moment/locale/ku-kmr.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/bs.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/nl.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ka.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/tg.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ms-my.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/fo.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ca.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/es-do.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/lo.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/gom-deva.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/de-at.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/sd.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/bn-bd.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ko.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/hi.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ne.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/fa.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/tk.js","webpack:///./src/views/obligations/ProfilRisques.vue?3098","webpack:///./node_modules/chart.js/node_modules/moment/locale/hr.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/he.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/en-ca.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/cv.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/hy-am.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ar-sa.js","webpack:///./src/views/obligations/ProfilRisques.vue?51e5","webpack:///./node_modules/vue-chartjs/es/mixins/index.js","webpack:///./node_modules/vue-chartjs/es/BaseCharts.js","webpack:///./src/components/charts/LineChart.vue","webpack:///./src/components/charts/PieChart.vue","webpack:///src/components/charts/LineChart.vue","webpack:///./src/components/charts/LineChart.vue?8ca4","webpack:///src/components/charts/PieChart.vue","webpack:///./src/components/charts/PieChart.vue?159e","webpack:///src/views/obligations/ProfilRisques.vue","webpack:///./src/views/obligations/ProfilRisques.vue?a76b","webpack:///./src/views/obligations/ProfilRisques.vue?4b08","webpack:///./node_modules/chart.js/node_modules/moment/locale/tet.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/nb.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/en-gb.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/br.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/zh-mo.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/kn.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/es.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ur.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ml.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/ar-ps.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/pt-br.js","webpack:///./node_modules/chart.js/node_modules/moment/moment.js","webpack:///./src/views/obligations/ProfilRisques.vue?f37a","webpack:///./node_modules/chart.js/node_modules/moment/locale/jv.js","webpack:///./node_modules/chart.js/node_modules/moment/locale/fr-ca.js"],"names":["global","factory","this","moment","itCh","defineLocale","months","split","monthsShort","weekdays","weekdaysShort","weekdaysMin","longDateFormat","LT","LTS","L","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","day","sameElse","relativeTime","future","s","test","past","ss","m","mm","h","hh","d","dd","M","MM","y","yy","dayOfMonthOrdinalParse","ordinal","week","dow","doy","symbolMap","1","2","3","4","5","6","7","8","9","0","numberMap","km","weekdaysParseExact","meridiemParse","isPM","input","meridiem","hour","minute","isLower","preparse","string","replace","match","postformat","zhHk","l","ll","lll","llll","meridiemHour","hm","number","period","eo","charAt","toLowerCase","hours","minutes","units","translateSeconds","withoutSuffix","key","isFuture","translateSingular","forms","special","translate","result","lt","format","standalone","isFormat","nn","monthsParseExact","w","ww","ms","processRelativeTime","processFutureTime","substr","indexOf","eifelerRegelAppliesToNumber","processPastTime","parseInt","isNaN","lastDigit","firstDigit","lb","translator","words","correctGrammaticalCase","wordKey","length","me","lastWeekDays","enIn","b","output","suffixes","70","80","20","50","100","10","30","60","90","tr","a","c","sv","az","gd","it","plural","word","num","relativeTimeWithPlural","weekdaysCaseReplace","nounCase","nominative","accusative","genitive","slice","concat","processHoursFunction","str","uk","call","monthsStrictRegex","monthsShortStrictRegex","monthsRegex","monthsParse","fr","monthsShortRegex","longMonthsParse","shortMonthsParse","enIe","n","is","40","ky","ta","separator","ro","vi","enIl","module","exports","e","createCommonjsModule","fn","getCjsExportFromNamespace","hasOwnProperty","colorName","conversions","reverseKeywords","convert","rgb","channels","labels","hsl","hsv","hwb","cmyk","xyz","lab","lch","hex","keyword","ansi16","ansi256","hcg","apple","gray","model","Error","Object","defineProperty","value","comparativeDistance","x","Math","pow","r","g","min","max","delta","rdif","gdif","bdif","v","diff","diffc","k","reversed","currentClosestKeyword","currentClosestDistance","Infinity","distance","z","t1","t2","t3","val","i","smin","lmin","hi","floor","f","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","map","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","Array","prototype","wrapRounded","forEach","routes","routeModels","raw","colorConvert","colorName$1","getRgba","getHsla","getRgb","getHsl","getHwb","getAlpha","hexString","rgbString","rgbaString","percentString","percentaString","hslString","hslaString","hwbString","abbr","rgba","per","hexAlpha","parseFloat","scale","alpha","hsla","vals","hexDouble","reverseNames","name","Color","obj","valid","values","setValues","red","lightness","whiteness","cyan","isValid","setSpace","rgbArray","hslArray","hsvArray","hwbArray","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","type","source","target","prop","console","error","spaces","maxes","getValues","space","capped","chans","sname","index","svalues","window","chartjsColor","isValidKey","helpers","noop","uid","id","isNullOrUndef","isArray","isObject","isFinite","Number","valueOrDefault","defaultValue","valueAtIndexOrDefault","callback","thisArg","apply","each","loopable","reverse","arrayEquals","a0","a1","ilen","v0","v1","create","klen","_merger","options","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","item","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","width","height","roundedRect","radius","left","top","right","bottom","moveTo","arc","closePath","rect","drawPoint","style","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","push","sort","log10","exponent","log","LOG10E","powerOf10","isPowerOf10","helpers_math","getRtlAdapter","rectX","setWidth","textAlign","align","xPlus","leftForLtr","itemWidth","getLtrAdapter","_itemWidth","getAdapter","rtl","overrideTextDirection","direction","original","canvas","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","render","onAnimationProgress","onAnimationComplete","core_animation","get","set","animation","duration","onProgress","onComplete","core_animations","animations","request","addAnimation","lazy","startTime","Date","now","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","scales","dataset","getDataset","scalesOpts","xAxisID","xAxes","yAxisID","yAxes","data","datasets","getDatasetMeta","getScaleForId","scaleID","_getValueScaleId","_getIndexScaleId","_getValueScale","_getIndexScale","reset","_update","destroy","_data","createMetaDataset","_chart","_datasetIndex","createMetaData","_index","metaData","addElementAndReset","element","updateElement","buildOrUpdateElements","isExtensible","resyncElements","_configure","_config","_cachedDataOpts","update","easingValue","elements","draw","getStyle","_resolveDatasetElementOptions","_resolveDataElementOptions","backgroundColor","borderColor","hover","readKey","datasetOpts","custom","elementOptions","cached","dataIndex","freeze","removeHoverStyle","$previousStyle","setHoverStyle","getHoverColor","borderWidth","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","vm","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","Line","Point","Rectangle","deprecated","valueOrDefault$3","computeMinSampleSize","pixels","curr","_length","getTicks","getPixelForTick","computeFitCategoryTraits","ruler","thickness","barThickness","stackCount","categoryPercentage","barPercentage","chunk","computeFlexCategoryTraits","next","percent","end","mode","offset","gridLines","offsetGridLines","bar","controller_bar","scaleOpts","stack","minBarLength","maxBarThickness","_ruler","getRuler","_xScale","_yScale","datasetLabel","label","_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","createElement","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","ticks","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","props","layoutOptions","availableHeight","verticalBoxes","horizontalBoxes","platform_basic","acquireContext","getContext","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","maintainAspectRatio","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","plugins","core_plugins","_plugins","_cacheId","register","plugin","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","String","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","responsive","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","generateLegend","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","stepSize","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","month","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","gomLatn","frCh","si","sq","arTn","gl","yo","mn","monthsShortWithDots","monthsShortWithoutDots","fy","cs","relativeTimeMr","mr","RESOURCE_NAME","clientAnswers","clientId","API","clientSimpleDetails","addEditProfilRisque","post","saveProfilChoisi","getProfilFile","responseType","validateProfilRisque","isFunction","Function","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","mom","_calendarEl","bo","srCyrl","se","ocLnc","numbersPast","numbersFuture","verbalNumber","fi","paIn","eu","kk","enSg","tzl","deCh","tzmLatn","my","enAu","mt","monthsShortDot","esUs","ru","mi","ugCn","et","da","esMx","invalidDate","bn","pluralForm","plurals","pluralize","u","arDz","be","sk","sw","ar","ja","eras","since","narrow","until","eraYearOrdinalRegex","eraYearOrdinalParse","bg","last2Digits","dv","af","numbersNouns","translateFuture","translatePast","numberNoun","numberAsNoun","hundred","ten","one","tlh","zhCn","sr","th","fil","de","mk","arKw","xPseudo","nlBe","weekEndings","hu","relativeTimeWithSingular","relativeSeconds","lv","bm","te","enNz","tlPh","tzm","ku","uz","zhTw","ga","gu","monthsNominative","monthsSubjective","pl","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","ezafeNumSuffix","kuKmr","includes","bs","nl","ka","$0","$1","$2","12","13","tg","msMy","fo","ca","esDo","gomDeva","deAt","days","sd","bnBd","uzLatn","ko","token","isUpper","ne","tk","he","enCa","cv","affix","exec","hyAm","arLy","arSa","_vm","_h","$createElement","_c","_self","staticClass","attrs","class","centeralign","isAdminRoute","_v","_s","nomClient","_m","pieProfilPrudent","pieOptions","lineProfilPrudent","pieProfilEquilibre","lineProfilEquilibre","pieProfilDynamique","lineProfilDynamique","on","$event","preventDefault","$$v","detentionProduitsMonetaires","expression","slot","nombreOperationsProduitsMonetaires","dureeDetentionProduitsMonetaires","volumeOperationsProduitsMonetaires","_e","directives","rawName","firstQuestionProduitsMonetaires","errors","has","isValidating","secondQuestionProduitsMonetaires","detentionFondsObligataires","nombreOperationsFondsObligataires","dureeDetentionFondsObligataires","volumeOperationsFondsObligataires","firstQuestionFondsObligataires","secondQuestionFondsObligataires","detentionFondsConvertibles","nombreOperationsFondsConvertibles","dureeDetentionFondsConvertibles","volumeOperationsFondsConvertibles","firstQuestionFondsConvertibles","secondQuestionFondsConvertibles","detentionFondsActions","nombreOperationsFondsActions","dureeDetentionFondsActions","volumeOperationsFondsActions","firstQuestionFondsActions","secondQuestionFondsActions","detentionScpi","nombreOperationsScpi","dureeDetentionScpi","volumeOperationsScpi","firstQuestionScpi","secondQuestionScpi","detentionPrivateEquity","nombreOperationsPrivateEquity","dureeDetentionPrivateEquity","volumeOperationsPrivateEquity","firstQuestionPrivateEquity","secondQuestionPrivateEquity","detentionFondsindiciels","nombreOperationsFondsindiciels","dureeDetentionFondsindiciels","volumeOperationsFondsindiciels","firstQuestionFondsindiciels","secondQuestionFondsindiciels","detentionProduitsDerives","nombreOperationsProduitsDerives","dureeDetentionProduitsDerives","volumeOperationsProduitsDerives","firstQuestionProduitsDerives","secondQuestionProduitsDerives","dejaPortefeuilleGere","dejaPortefeuilleGereSoiMeme","dejaPortefeuilleGereSoiMemeAvecAide","dejaExerceSecteurFinancier","lecturePresseFinanciere","regarderCoursesBourse","regardeRelevesBancaires","classementObjectifsInvestPreservationCapital","_l","classementObjectifsInvestValorisationCapital","classementObjectifsInvestDiversificationActifs","classementObjectifsInvestRechercheRevenus","classementObjectifsInvestTransmission","classementObjectifsInvestOptimisationFiscale","classementObjectifsInvestAutres","classementObjectifsInvestAutresText","lineFluctuations","lineFluctuationsOptions","toleranceRisque","staticStyle","toleranceRisqueContrat","dejaBaisseValeurInvest","reactionBaisseValeurInvestFuture","reactionBaisseValeurInvestPasse","reactionAugmentationValeurInvest","horizonRealisationPlacement","importanceCritereLiquidite","placementFondsResponsables","niveauPerteMaximale","perspectivePerteCapital","declaration1","declaration2","declaration3","addProfil","prudent","equilibre","dynamique","activePrompt","closePrompt","validateDecision","profilRisqueNameSuggest","stopPropagation","profilRisqueName","staticRenderFns","generateChart","chartId","chartType","styles","cssClasses","ref","default","methods","addPlugin","$data","renderChart","$refs","beforeDestroy","Pie","extends","mounted","chartdata","component","components","LineChart","PieChart","profilRisqueIdSuggest","profilRisqueId","classements","showActualPercentages","created","$route","_this","$vs","loading","ProfilRisquesServices","then","close","clientName","hasData","catch","$swal","computed","currentRouteName","availableClassements","newArray","_this2","$router","errorMsg","response","resetFields","isValidate","$validator","validateAll","_this3","watch","tet","nb","arMa","enGb","relativeTimeWithMutation","mutation","specialMutationForYears","lastNumber","softMutation","mutationTable","fullWeekdaysParse","shortWeekdaysParse","minWeekdaysParse","br","weekdaysParse","zhMo","kn","es","ur","ml","arPs","ptBr","hookCallback","some","hooks","setHookCallback","hasOwnProp","isObjectEmpty","getOwnPropertyNames","isUndefined","isDate","arrLen","createUTC","locale","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","rfc2822","weekdayMismatch","getParsingFlags","_pf","flags","parsedParts","isNowValid","_d","getTime","invalidWeekday","_strict","bigHour","isFrozen","_isValid","createInvalid","fun","momentProperties","updateInProgress","copyConfig","momentPropertiesLen","_isAMomentObject","_i","_f","_tzm","_isUTC","_offset","_locale","Moment","updateOffset","isMoment","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","arg","argLen","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","D","dates","E","isoweekdays","isoweekday","DDD","dayofyears","dayofyear","milliseconds","Q","quarters","seconds","gg","weekyears","weekyear","GG","isoweekyears","isoweekyear","weeks","W","isoweeks","isoweek","years","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","dayOfYear","weekYear","isoWeekYear","isoWeek","getPrioritizedUnits","unitsObj","priority","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","match1to2NoLeadingZero","match1to2HasZero","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p2","p3","p4","absFloor","toInt","argumentForCoercion","coercedNumber","tokens","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","_a","isLeapYear","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","parseTwoDigitYear","getSetYear","makeGetSet","getIsLeapYear","keepTime","set$1","isUTC","getUTCMilliseconds","getMilliseconds","getUTCSeconds","getSeconds","getUTCMinutes","getMinutes","getUTCHours","getHours","getUTCDate","getDate","getUTCDay","getDay","getUTCMonth","getMonth","getUTCFullYear","getFullYear","setUTCMilliseconds","setMilliseconds","setUTCSeconds","setSeconds","setUTCMinutes","setMinutes","setUTCHours","setHours","setUTCDate","setDate","setUTCFullYear","setFullYear","stringGet","stringSet","prioritized","prioritizedLen","mod","daysInMonth","modMonth","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","setUTCMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortP","longP","shortPieces","longPieces","mixedPieces","createDate","createUTCDate","UTC","firstWeekOffset","fwd","fwdlw","dayOfYearFromWeeks","resYear","resDayOfYear","localWeekday","weekOffset","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","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","kInput","_isPm","_meridiem","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","globalLocale","baseConfig","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","names","loadLocale","isLocaleNameSane","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","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","weekdayProvided","weekdayActual","calculateOffset","obsOffset","militaryOffset","numOffset","configFromRFC2822","parsedArray","configFromString","createFromInputFallback","currentDateArray","nowValue","_useUTC","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","temp","weekdayOverflow","curWeek","createLocal","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","erasConvertYear","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromObject","dayOrDate","createFromConfig","prepareConfig","configFromInput","prototypeMin","other","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","orderLen","isValid$1","createInvalid$1","createDuration","Duration","_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","propertyLen","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","erasName","erasAbbr","erasNarrow","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","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","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","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","valueOf$1","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","jv","frCa"],"mappings":"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","file":"js/chunk-b759243a.ce739ccf.js","sourcesContent":["//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\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 itCh = moment.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.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: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\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 itCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\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\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort:\n 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.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 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: 'មួយនាទី',\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 preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\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 km;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\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 zhHk = moment.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\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/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1200) {\n return '上午';\n } else if (hm === 1200) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L',\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 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 zhHk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\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 eo = moment.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd[n je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu jaro',\n yy: '%d jaroj',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\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 eo;\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:\n '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:\n '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 : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//! Stephen Ramthun : https://github.com/stephenramthun\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 nn = moment.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_la'.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 [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n w: 'ei veke',\n ww: '%d veker',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit å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 nn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\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 ms = moment.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.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 [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\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 ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\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 m: ['eng Minutt', 'enger Minutt'],\n h: ['eng Stonn', 'enger Stonn'],\n d: ['een Dag', 'engem Dag'],\n M: ['ee Mount', 'engem Mount'],\n y: ['ee Joer', 'engem Joer'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n '_'\n ),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n },\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime,\n mm: '%d Minutten',\n h: processRelativeTime,\n hh: '%d Stonnen',\n d: processRelativeTime,\n dd: '%d Deeg',\n M: processRelativeTime,\n MM: '%d Méint',\n y: processRelativeTime,\n yy: '%d Joer',\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 lb;\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:\n 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\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 : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\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 enIn = moment.defineLocale('en-in', {\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: 6, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return enIn;\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_Pzt_Sal_Çar_Per_Cum_Cmt'.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 : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\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 sv = moment.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_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_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? ':e'\n : b === 1\n ? ':a'\n : b === 2\n ? ':a'\n : b === 3\n ? ':e'\n : ':e';\n return number + output;\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 sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\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 az = moment.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n '_'\n ),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays:\n 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n '_'\n ),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.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: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'bir neçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il',\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function (number) {\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 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 az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\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 months = [\n 'Am Faoilleach',\n 'An Gearran',\n 'Am Màrt',\n 'An Giblean',\n 'An Cèitean',\n 'An t-Ògmhios',\n 'An t-Iuchar',\n 'An Lùnastal',\n 'An t-Sultain',\n 'An Dàmhair',\n 'An t-Samhain',\n 'An Dùbhlachd',\n ],\n monthsShort = [\n 'Faoi',\n 'Gear',\n 'Màrt',\n 'Gibl',\n 'Cèit',\n 'Ògmh',\n 'Iuch',\n 'Lùn',\n 'Sult',\n 'Dàmh',\n 'Samh',\n 'Dùbh',\n ],\n weekdays = [\n 'Didòmhnaich',\n 'Diluain',\n 'Dimàirt',\n 'Diciadain',\n 'Diardaoin',\n 'Dihaoine',\n 'Disathairne',\n ],\n weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\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: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\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 gd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\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 it = moment.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.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: function () {\n return (\n '[Oggi a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextDay: function () {\n return (\n '[Domani a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextWeek: function () {\n return (\n 'dddd [a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastDay: function () {\n return (\n '[Ieri a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return (\n '[La scorsa] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n default:\n return (\n '[Lo scorso] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'tra %s',\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n w: 'una settimana',\n ww: '%d settimane',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\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 it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\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 function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative:\n 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n '_'\n ),\n accusative:\n 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n '_'\n ),\n genitive:\n 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n '_'\n ),\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative']\n .slice(1, 7)\n .concat(weekdays['nominative'].slice(0, 1));\n }\n if (!m) {\n return weekdays['nominative'];\n }\n\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n ? 'accusative'\n : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n ? 'genitive'\n : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n '_'\n ),\n standalone:\n 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n '_'\n ),\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n '_'\n ),\n weekdays: weekdaysCaseReplace,\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: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'годину',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n M: 'місяць',\n MM: relativeTimeWithPlural,\n y: 'рік',\n yy: relativeTimeWithPlural,\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\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 + '-й';\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 uk;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\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 monthsStrictRegex =\n /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsParse = [\n /^janv/i,\n /^févr/i,\n /^mars/i,\n /^avr/i,\n /^mai/i,\n /^juin/i,\n /^juil/i,\n /^août/i,\n /^sept/i,\n /^oct/i,\n /^nov/i,\n /^déc/i,\n ];\n\n var fr = moment.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\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 w: 'une semaine',\n ww: '%d semaines',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\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 fr;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\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 enIe = moment.defineLocale('en-ie', {\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: '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: '[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: 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 enIe;\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:\n '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 : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\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 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү',\n };\n\n var ky = moment.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n '_'\n ),\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: '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 dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\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 ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\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\n var ta = moment.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n monthsShort:\n 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n weekdays:\n 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n '_'\n ),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n '_'\n ),\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 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 dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\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 relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\n MM: 'luni',\n yy: 'ani',\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n '_'\n ),\n monthsShort:\n 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.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 H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural,\n m: 'un minut',\n mm: relativeTimeWithPlural,\n h: 'o oră',\n hh: relativeTimeWithPlural,\n d: 'o zi',\n dd: relativeTimeWithPlural,\n w: 'o săptămână',\n ww: relativeTimeWithPlural,\n M: 'o lună',\n MM: relativeTimeWithPlural,\n y: 'un an',\n yy: relativeTimeWithPlural,\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 ro;\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:\n '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 : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\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 enIl = moment.defineLocale('en-il', {\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: '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: '[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 });\n\n return enIl;\n\n})));\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 \r\n","import mod from \"-!../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??ref--12-1!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilRisques.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-plugin-babel/node_modules/thread-loader/dist/cjs.js!../../../node_modules/@vue/cli-plugin-babel/node_modules/babel-loader/lib/index.js??ref--12-1!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilRisques.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProfilRisques.vue?vue&type=template&id=ba6617b4&scoped=true&\"\nimport script from \"./ProfilRisques.vue?vue&type=script&lang=js&\"\nexport * from \"./ProfilRisques.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProfilRisques.vue?vue&type=style&index=0&id=ba6617b4&lang=scss&scoped=true&\"\nimport style1 from \"./ProfilRisques.vue?vue&type=style&index=1&lang=css&\"\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 \"ba6617b4\",\n null\n \n)\n\nexport default component.exports","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\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 tet = moment.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.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: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'segundu balun',\n ss: 'segundu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d',\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: 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 tet;\n\n})));\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n//! Stephen Ramthun : https://github.com/stephenramthun\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 nb = moment.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.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 [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'én time',\n hh: '%d timer',\n d: 'én dag',\n dd: '%d dager',\n w: 'én uke',\n ww: '%d uker',\n M: 'én måned',\n MM: '%d måneder',\n y: 'ett å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 nb;\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:\n 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.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 : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\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 enGb = moment.defineLocale('en-gb', {\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: '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: '[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: 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 enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\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 relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n mm: 'munutenn',\n MM: 'miz',\n dd: 'devezh',\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z',\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var monthsParse = [\n /^gen/i,\n /^c[ʼ\\']hwe/i,\n /^meu/i,\n /^ebr/i,\n /^mae/i,\n /^(mez|eve)/i,\n /^gou/i,\n /^eos/i,\n /^gwe/i,\n /^her/i,\n /^du/i,\n /^ker/i,\n ],\n monthsRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex =\n /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [\n /^sul/i,\n /^lun/i,\n /^meurzh/i,\n /^merc[ʼ\\']her/i,\n /^yaou/i,\n /^gwener/i,\n /^sadorn/i,\n ],\n shortWeekdaysParse = [\n /^Sul/i,\n /^Lun/i,\n /^Meu/i,\n /^Mer/i,\n /^Yao/i,\n /^Gwe/i,\n /^Sad/i,\n ],\n minWeekdaysParse = [\n /^Su/i,\n /^Lu/i,\n /^Me([^r]|$)/i,\n /^Mer/i,\n /^Ya/i,\n /^Gw/i,\n /^Sa/i,\n ];\n\n var br = moment.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n '_'\n ),\n monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warcʼhoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Decʼh da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s ʼzo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function (number) {\n var output = number === 1 ? 'añ' : 'vet';\n return number + output;\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 meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n isPM: function (token) {\n return token === 'g.m.';\n },\n meridiem: function (hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n },\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\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 zhMo = moment.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\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: 'DD/MM/YYYY',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'D/M/YYYY',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\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 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 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 zhMo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\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\n var kn = moment.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n '_'\n ),\n monthsShort:\n 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.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 preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function (number) {\n return number + 'ನೇ';\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return kn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\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 =\n '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 =\n /^(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 es = moment.defineLocale('es', {\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:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(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',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\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 invalidDate: 'Fecha inválida',\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\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 months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر',\n ],\n days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n var ur = moment.defineLocale('ur', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\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 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\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.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\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 ur;\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:\n 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.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 : Arabic (Palestine) [ar-ps]\n//! author : Majd Al-Shihabi : https://github.com/majdal\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\n var arPs = moment.defineLocale('ar-ps', {\n months: 'كانون الثاني_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_تشري الأوّل_تشرين الثاني_كانون الأوّل'.split(\n '_'\n ),\n monthsShort:\n 'ك٢_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_ت١_ت٢_ك١'.split('_'),\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 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: 'دقيقة',\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 .split('') // reversed since negative lookbehind not supported everywhere\n .reverse()\n .join('')\n .replace(/[١٢](?![\\u062a\\u0643])/g, function (match) {\n return numberMap[match];\n })\n .split('')\n .reverse()\n .join('')\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: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return arPs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\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 ptBr = moment.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n '_'\n ),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida',\n });\n\n return ptBr;\n\n})));\n","//! moment.js\n//! version : 2.30.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n var flags = null,\n parsedParts = false,\n isNowValid = m._d && !isNaN(m._d.getTime());\n if (isNowValid) {\n flags = getParsingFlags(m);\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n isNowValid =\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n }\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\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\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\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 w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {\n D: 'date',\n dates: 'date',\n date: 'date',\n d: 'day',\n days: 'day',\n day: 'day',\n e: 'weekday',\n weekdays: 'weekday',\n weekday: 'weekday',\n E: 'isoWeekday',\n isoweekdays: 'isoWeekday',\n isoweekday: 'isoWeekday',\n DDD: 'dayOfYear',\n dayofyears: 'dayOfYear',\n dayofyear: 'dayOfYear',\n h: 'hour',\n hours: 'hour',\n hour: 'hour',\n ms: 'millisecond',\n milliseconds: 'millisecond',\n millisecond: 'millisecond',\n m: 'minute',\n minutes: 'minute',\n minute: 'minute',\n M: 'month',\n months: 'month',\n month: 'month',\n Q: 'quarter',\n quarters: 'quarter',\n quarter: 'quarter',\n s: 'second',\n seconds: 'second',\n second: 'second',\n gg: 'weekYear',\n weekyears: 'weekYear',\n weekyear: 'weekYear',\n GG: 'isoWeekYear',\n isoweekyears: 'isoWeekYear',\n isoweekyear: 'isoWeekYear',\n w: 'week',\n weeks: 'week',\n week: 'week',\n W: 'isoWeek',\n isoweeks: 'isoWeek',\n isoweek: 'isoWeek',\n y: 'year',\n years: 'year',\n year: 'year',\n };\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {\n date: 9,\n day: 11,\n weekday: 11,\n isoWeekday: 11,\n dayOfYear: 4,\n hour: 13,\n millisecond: 16,\n minute: 14,\n month: 8,\n quarter: 7,\n second: 15,\n weekYear: 1,\n isoWeekYear: 1,\n week: 5,\n isoWeek: 5,\n year: 1,\n };\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord =\n /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n match1to2NoLeadingZero = /^[1-9]\\d?/, // 1-99\n match1to2HasZero = /^([1-9]\\d|\\d)/, // 0-99\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n tokenLen = token.length;\n for (i = 0; i < tokenLen; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n if (!mom.isValid()) {\n return NaN;\n }\n\n var d = mom._d,\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n case 'Seconds':\n return isUTC ? d.getUTCSeconds() : d.getSeconds();\n case 'Minutes':\n return isUTC ? d.getUTCMinutes() : d.getMinutes();\n case 'Hours':\n return isUTC ? d.getUTCHours() : d.getHours();\n case 'Date':\n return isUTC ? d.getUTCDate() : d.getDate();\n case 'Day':\n return isUTC ? d.getUTCDay() : d.getDay();\n case 'Month':\n return isUTC ? d.getUTCMonth() : d.getMonth();\n case 'FullYear':\n return isUTC ? d.getUTCFullYear() : d.getFullYear();\n default:\n return NaN; // Just in case\n }\n }\n\n function set$1(mom, unit, value) {\n var d, isUTC, year, month, date;\n\n if (!mom.isValid() || isNaN(value)) {\n return;\n }\n\n d = mom._d;\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return void (isUTC\n ? d.setUTCMilliseconds(value)\n : d.setMilliseconds(value));\n case 'Seconds':\n return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n case 'Minutes':\n return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n case 'Hours':\n return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n case 'Date':\n return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n // case 'Day': // Not real\n // return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n // case 'Month': // Not used because we need to pass two variables\n // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n case 'FullYear':\n break; // See below ...\n default:\n return; // Just in case\n }\n\n year = value;\n month = mom.month();\n date = mom.date();\n date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n void (isUTC\n ? d.setUTCFullYear(year, month, date)\n : d.setFullYear(year, month, date));\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // PARSING\n\n addRegexToken('M', match1to2, match1to2NoLeadingZero);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n var month = value,\n date = mom.date();\n\n date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));\n void (mom._isUTC\n ? mom._d.setUTCMonth(month, date)\n : mom._d.setMonth(month, date));\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n shortP,\n longP;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortP = regexEscape(this.monthsShort(mom, ''));\n longP = regexEscape(this.months(mom, ''));\n shortPieces.push(shortP);\n longPieces.push(longP);\n mixedPieces.push(longP);\n mixedPieces.push(shortP);\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // PARSING\n\n addRegexToken('w', match1to2, match1to2NoLeadingZero);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2, match1to2NoLeadingZero);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\n );\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n var day = get(this, 'Day');\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2, match1to2HasZero);\n addRegexToken('h', match1to2, match1to2NoLeadingZero);\n addRegexToken('k', match1to2, match1to2NoLeadingZero);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n // Ensure name is available and function returns boolean\n return !!(name && name.match('^[^/\\\\\\\\]*$'));\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex =\n /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimesLen; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex =\n /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n erasName,\n erasAbbr,\n erasNarrow,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n erasName = regexEscape(eras[i].name);\n erasAbbr = regexEscape(eras[i].abbr);\n erasNarrow = regexEscape(eras[i].narrow);\n\n namePieces.push(erasName);\n abbrPieces.push(erasAbbr);\n narrowPieces.push(erasNarrow);\n mixedPieces.push(erasName);\n mixedPieces.push(erasAbbr);\n mixedPieces.push(erasNarrow);\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\n );\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday() + this.localeData()._week.dow,\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // PARSING\n\n addRegexToken('D', match1to2, match1to2NoLeadingZero);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // PARSING\n\n addRegexToken('m', match1to2, match1to2HasZero);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // PARSING\n\n addRegexToken('s', match1to2, match1to2HasZero);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((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 });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y'),\n valueOf$1 = asMilliseconds;\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.30.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM', // \n };\n\n return hooks;\n\n})));\n","import mod from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilRisques.vue?vue&type=style&index=1&lang=css&\"; export default mod; export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/lib/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProfilRisques.vue?vue&type=style&index=1&lang=css&\"","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\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 jv = moment.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.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 [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun',\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 jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\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 frCa = moment.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n '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: 'YYYY-MM-DD',\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 });\n\n return frCa;\n\n})));\n"],"sourceRoot":""}