!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?module.exports=factory():"function"==typeof define&&define.amd?define("core/chartjs-lazy",factory):(global=global||self).Chart=factory()}(window,(function(){"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;function commonjsRequire(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}function createCommonjsModule(fn,module){return fn(module={exports:{}},module.exports),module.exports}var colorName={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},conversions=createCommonjsModule((function(module){var reverseKeywords={};for(var key in colorName)colorName.hasOwnProperty(key)&&(reverseKeywords[colorName[key]]=key);var convert=module.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var model in convert)if(convert.hasOwnProperty(model)){if(!("channels"in convert[model]))throw new Error("missing channels property: "+model);if(!("labels"in convert[model]))throw new Error("missing channel labels property: "+model);if(convert[model].labels.length!==convert[model].channels)throw new Error("channel and label counts mismatch: "+model);var channels=convert[model].channels,labels=convert[model].labels;delete convert[model].channels,delete convert[model].labels,Object.defineProperty(convert[model],"channels",{value:channels}),Object.defineProperty(convert[model],"labels",{value:labels})}convert.rgb.hsl=function(rgb){var h,l,r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255,min=Math.min(r,g,b),max=Math.max(r,g,b),delta=max-min;return max===min?h=0:r===max?h=(g-b)/delta:g===max?h=2+(b-r)/delta:b===max&&(h=4+(r-g)/delta),(h=Math.min(60*h,360))<0&&(h+=360),l=(min+max)/2,[h,100*(max===min?0:l<=.5?delta/(max+min):delta/(2-max-min)),100*l]},convert.rgb.hsv=function(rgb){var rdif,gdif,bdif,h,s,r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255,v=Math.max(r,g,b),diff=v-Math.min(r,g,b),diffc=function(c){return(v-c)/6/diff+.5};return 0===diff?h=s=0:(s=diff/v,rdif=diffc(r),gdif=diffc(g),bdif=diffc(b),r===v?h=bdif-gdif:g===v?h=1/3+rdif-bdif:b===v&&(h=2/3+gdif-rdif),h<0?h+=1:h>1&&(h-=1)),[360*h,100*s,100*v]},convert.rgb.hwb=function(rgb){var r=rgb[0],g=rgb[1],b=rgb[2];return[convert.rgb.hsl(rgb)[0],100*(1/255*Math.min(r,Math.min(g,b))),100*(b=1-1/255*Math.max(r,Math.max(g,b)))]},convert.rgb.cmyk=function(rgb){var k,r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255;return[100*((1-r-(k=Math.min(1-r,1-g,1-b)))/(1-k)||0),100*((1-g-k)/(1-k)||0),100*((1-b-k)/(1-k)||0),100*k]},convert.rgb.keyword=function(rgb){var reversed=reverseKeywords[rgb];if(reversed)return reversed;var currentClosestKeyword,x,y,currentClosestDistance=1/0;for(var keyword in colorName)if(colorName.hasOwnProperty(keyword)){var value=colorName[keyword],distance=(x=rgb,y=value,Math.pow(x[0]-y[0],2)+Math.pow(x[1]-y[1],2)+Math.pow(x[2]-y[2],2));distance.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)+.3576*(g=g>.04045?Math.pow((g+.055)/1.055,2.4):g/12.92)+.1805*(b=b>.04045?Math.pow((b+.055)/1.055,2.4):b/12.92)),100*(.2126*r+.7152*g+.0722*b),100*(.0193*r+.1192*g+.9505*b)]},convert.rgb.lab=function(rgb){var xyz=convert.rgb.xyz(rgb),x=xyz[0],y=xyz[1],z=xyz[2];return y/=100,z/=108.883,x=(x/=95.047)>.008856?Math.pow(x,1/3):7.787*x+16/116,[116*(y=y>.008856?Math.pow(y,1/3):7.787*y+16/116)-16,500*(x-y),200*(y-(z=z>.008856?Math.pow(z,1/3):7.787*z+16/116))]},convert.hsl.rgb=function(hsl){var t1,t2,t3,rgb,val,h=hsl[0]/360,s=hsl[1]/100,l=hsl[2]/100;if(0===s)return[val=255*l,val,val];t1=2*l-(t2=l<.5?l*(1+s):l+s-l*s),rgb=[0,0,0];for(var i=0;i<3;i++)(t3=h+1/3*-(i-1))<0&&t3++,t3>1&&t3--,val=6*t3<1?t1+6*(t2-t1)*t3:2*t3<1?t2:3*t3<2?t1+(t2-t1)*(2/3-t3)*6:t1,rgb[i]=255*val;return rgb},convert.hsl.hsv=function(hsl){var h=hsl[0],s=hsl[1]/100,l=hsl[2]/100,smin=s,lmin=Math.max(l,.01);return s*=(l*=2)<=1?l:2-l,smin*=lmin<=1?lmin:2-lmin,[h,100*(0===l?2*smin/(lmin+smin):2*s/(l+s)),100*((l+s)/2)]},convert.hsv.rgb=function(hsv){var h=hsv[0]/60,s=hsv[1]/100,v=hsv[2]/100,hi=Math.floor(h)%6,f=h-Math.floor(h),p=255*v*(1-s),q=255*v*(1-s*f),t=255*v*(1-s*(1-f));switch(v*=255,hi){case 0:return[v,t,p];case 1:return[q,v,p];case 2:return[p,v,t];case 3:return[p,q,v];case 4:return[t,p,v];case 5:return[v,p,q]}},convert.hsv.hsl=function(hsv){var lmin,sl,l,h=hsv[0],s=hsv[1]/100,v=hsv[2]/100,vmin=Math.max(v,.01);return l=(2-s)*v,sl=s*vmin,[h,100*(sl=(sl/=(lmin=(2-s)*vmin)<=1?lmin:2-lmin)||0),100*(l/=2)]},convert.hwb.rgb=function(hwb){var i,v,f,n,r,g,b,h=hwb[0]/360,wh=hwb[1]/100,bl=hwb[2]/100,ratio=wh+bl;switch(ratio>1&&(wh/=ratio,bl/=ratio),f=6*h-(i=Math.floor(6*h)),0!=(1&i)&&(f=1-f),n=wh+f*((v=1-bl)-wh),i){default:case 6:case 0:r=v,g=n,b=wh;break;case 1:r=n,g=v,b=wh;break;case 2:r=wh,g=v,b=n;break;case 3:r=wh,g=n,b=v;break;case 4:r=n,g=wh,b=v;break;case 5:r=v,g=wh,b=n}return[255*r,255*g,255*b]},convert.cmyk.rgb=function(cmyk){var c=cmyk[0]/100,m=cmyk[1]/100,y=cmyk[2]/100,k=cmyk[3]/100;return[255*(1-Math.min(1,c*(1-k)+k)),255*(1-Math.min(1,m*(1-k)+k)),255*(1-Math.min(1,y*(1-k)+k))]},convert.xyz.rgb=function(xyz){var r,g,b,x=xyz[0]/100,y=xyz[1]/100,z=xyz[2]/100;return g=-.9689*x+1.8758*y+.0415*z,b=.0557*x+-.204*y+1.057*z,r=(r=3.2406*x+-1.5372*y+-.4986*z)>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,g=g>.0031308?1.055*Math.pow(g,1/2.4)-.055:12.92*g,b=b>.0031308?1.055*Math.pow(b,1/2.4)-.055:12.92*b,[255*(r=Math.min(Math.max(0,r),1)),255*(g=Math.min(Math.max(0,g),1)),255*(b=Math.min(Math.max(0,b),1))]},convert.xyz.lab=function(xyz){var x=xyz[0],y=xyz[1],z=xyz[2];return y/=100,z/=108.883,x=(x/=95.047)>.008856?Math.pow(x,1/3):7.787*x+16/116,[116*(y=y>.008856?Math.pow(y,1/3):7.787*y+16/116)-16,500*(x-y),200*(y-(z=z>.008856?Math.pow(z,1/3):7.787*z+16/116))]},convert.lab.xyz=function(lab){var x,y,z,l=lab[0];x=lab[1]/500+(y=(l+16)/116),z=y-lab[2]/200;var y2=Math.pow(y,3),x2=Math.pow(x,3),z2=Math.pow(z,3);return y=y2>.008856?y2:(y-16/116)/7.787,x=x2>.008856?x2:(x-16/116)/7.787,z=z2>.008856?z2:(z-16/116)/7.787,[x*=95.047,y*=100,z*=108.883]},convert.lab.lch=function(lab){var h,l=lab[0],a=lab[1],b=lab[2];return(h=360*Math.atan2(b,a)/2/Math.PI)<0&&(h+=360),[l,Math.sqrt(a*a+b*b),h]},convert.lch.lab=function(lch){var hr,l=lch[0],c=lch[1];return hr=lch[2]/360*2*Math.PI,[l,c*Math.cos(hr),c*Math.sin(hr)]},convert.rgb.ansi16=function(args){var r=args[0],g=args[1],b=args[2],value=1 in arguments?arguments[1]:convert.rgb.hsv(args)[2];if(0===(value=Math.round(value/50)))return 30;var ansi=30+(Math.round(b/255)<<2|Math.round(g/255)<<1|Math.round(r/255));return 2===value&&(ansi+=60),ansi},convert.hsv.ansi16=function(args){return convert.rgb.ansi16(convert.hsv.rgb(args),args[2])},convert.rgb.ansi256=function(args){var r=args[0],g=args[1],b=args[2];return r===g&&g===b?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(g/255*5)+Math.round(b/255*5)},convert.ansi16.rgb=function(args){var color=args%10;if(0===color||7===color)return args>50&&(color+=3.5),[color=color/10.5*255,color,color];var mult=.5*(1+~~(args>50));return[(1&color)*mult*255,(color>>1&1)*mult*255,(color>>2&1)*mult*255]},convert.ansi256.rgb=function(args){if(args>=232){var c=10*(args-232)+8;return[c,c,c]}var rem;return args-=16,[Math.floor(args/36)/5*255,Math.floor((rem=args%36)/6)/5*255,rem%6/5*255]},convert.rgb.hex=function(args){var string=(((255&Math.round(args[0]))<<16)+((255&Math.round(args[1]))<<8)+(255&Math.round(args[2]))).toString(16).toUpperCase();return"000000".substring(string.length)+string},convert.hex.rgb=function(args){var match=args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!match)return[0,0,0];var colorString=match[0];3===match[0].length&&(colorString=colorString.split("").map((function(char){return char+char})).join(""));var integer=parseInt(colorString,16);return[integer>>16&255,integer>>8&255,255&integer]},convert.rgb.hcg=function(rgb){var hue,r=rgb[0]/255,g=rgb[1]/255,b=rgb[2]/255,max=Math.max(Math.max(r,g),b),min=Math.min(Math.min(r,g),b),chroma=max-min;return hue=chroma<=0?0:max===r?(g-b)/chroma%6:max===g?2+(b-r)/chroma:4+(r-g)/chroma+4,hue/=6,[360*(hue%=1),100*chroma,100*(chroma<1?min/(1-chroma):0)]},convert.hsl.hcg=function(hsl){var s=hsl[1]/100,l=hsl[2]/100,c=1,f=0;return(c=l<.5?2*s*l:2*s*(1-l))<1&&(f=(l-.5*c)/(1-c)),[hsl[0],100*c,100*f]},convert.hsv.hcg=function(hsv){var s=hsv[1]/100,v=hsv[2]/100,c=s*v,f=0;return c<1&&(f=(v-c)/(1-c)),[hsv[0],100*c,100*f]},convert.hcg.rgb=function(hcg){var h=hcg[0]/360,c=hcg[1]/100,g=hcg[2]/100;if(0===c)return[255*g,255*g,255*g];var mg,pure=[0,0,0],hi=h%1*6,v=hi%1,w=1-v;switch(Math.floor(hi)){case 0:pure[0]=1,pure[1]=v,pure[2]=0;break;case 1:pure[0]=w,pure[1]=1,pure[2]=0;break;case 2:pure[0]=0,pure[1]=1,pure[2]=v;break;case 3:pure[0]=0,pure[1]=w,pure[2]=1;break;case 4:pure[0]=v,pure[1]=0,pure[2]=1;break;default:pure[0]=1,pure[1]=0,pure[2]=w}return mg=(1-c)*g,[255*(c*pure[0]+mg),255*(c*pure[1]+mg),255*(c*pure[2]+mg)]},convert.hcg.hsv=function(hcg){var c=hcg[1]/100,v=c+hcg[2]/100*(1-c),f=0;return v>0&&(f=c/v),[hcg[0],100*f,100*v]},convert.hcg.hsl=function(hcg){var c=hcg[1]/100,l=hcg[2]/100*(1-c)+.5*c,s=0;return l>0&&l<.5?s=c/(2*l):l>=.5&&l<1&&(s=c/(2*(1-l))),[hcg[0],100*s,100*l]},convert.hcg.hwb=function(hcg){var c=hcg[1]/100,v=c+hcg[2]/100*(1-c);return[hcg[0],100*(v-c),100*(1-v)]},convert.hwb.hcg=function(hwb){var w=hwb[1]/100,v=1-hwb[2]/100,c=v-w,g=0;return c<1&&(g=(v-c)/(1-c)),[hwb[0],100*c,100*g]},convert.apple.rgb=function(apple){return[apple[0]/65535*255,apple[1]/65535*255,apple[2]/65535*255]},convert.rgb.apple=function(rgb){return[rgb[0]/255*65535,rgb[1]/255*65535,rgb[2]/255*65535]},convert.gray.rgb=function(args){return[args[0]/100*255,args[0]/100*255,args[0]/100*255]},convert.gray.hsl=convert.gray.hsv=function(args){return[0,0,args[0]]},convert.gray.hwb=function(gray){return[0,100,gray[0]]},convert.gray.cmyk=function(gray){return[0,0,0,gray[0]]},convert.gray.lab=function(gray){return[gray[0],0,0]},convert.gray.hex=function(gray){var val=255&Math.round(gray[0]/100*255),string=((val<<16)+(val<<8)+val).toString(16).toUpperCase();return"000000".substring(string.length)+string},convert.rgb.gray=function(rgb){return[(rgb[0]+rgb[1]+rgb[2])/3/255*100]}}));conversions.rgb,conversions.hsl,conversions.hsv,conversions.hwb,conversions.cmyk,conversions.xyz,conversions.lab,conversions.lch,conversions.hex,conversions.keyword,conversions.ansi16,conversions.ansi256,conversions.hcg,conversions.apple,conversions.gray;function deriveBFS(fromModel){var graph=function(){for(var graph={},models=Object.keys(conversions),len=models.length,i=0;i1&&(args=Array.prototype.slice.call(arguments));var result=fn(args);if("object"==typeof result)for(var len=result.length,i=0;i1&&(args=Array.prototype.slice.call(arguments)),fn(args))};return"conversion"in fn&&(wrappedFn.conversion=fn.conversion),wrappedFn}(fn)}))}));var colorConvert=convert,colorName$1={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},colorString={getRgba:getRgba,getHsla:getHsla,getRgb:function(string){var rgba=getRgba(string);return rgba&&rgba.slice(0,3)},getHsl:function(string){var hsla=getHsla(string);return hsla&&hsla.slice(0,3)},getHwb:getHwb,getAlpha:function(string){var vals=getRgba(string);if(vals)return vals[3];if(vals=getHsla(string))return vals[3];if(vals=getHwb(string))return vals[3]},hexString:function(rgba,a){a=void 0!==a&&3===rgba.length?a:rgba[3];return"#"+hexDouble(rgba[0])+hexDouble(rgba[1])+hexDouble(rgba[2])+(a>=0&&a<1?hexDouble(Math.round(255*a)):"")},rgbString:function(rgba,alpha){if(alpha<1||rgba[3]&&rgba[3]<1)return rgbaString(rgba,alpha);return"rgb("+rgba[0]+", "+rgba[1]+", "+rgba[2]+")"},rgbaString:rgbaString,percentString:function(rgba,alpha){if(alpha<1||rgba[3]&&rgba[3]<1)return percentaString(rgba,alpha);var r=Math.round(rgba[0]/255*100),g=Math.round(rgba[1]/255*100),b=Math.round(rgba[2]/255*100);return"rgb("+r+"%, "+g+"%, "+b+"%)"},percentaString:percentaString,hslString:function(hsla,alpha){if(alpha<1||hsla[3]&&hsla[3]<1)return hslaString(hsla,alpha);return"hsl("+hsla[0]+", "+hsla[1]+"%, "+hsla[2]+"%)"},hslaString:hslaString,hwbString:function(hwb,alpha){void 0===alpha&&(alpha=void 0!==hwb[3]?hwb[3]:1);return"hwb("+hwb[0]+", "+hwb[1]+"%, "+hwb[2]+"%"+(void 0!==alpha&&1!==alpha?", "+alpha:"")+")"},keyword:function(rgb){return reverseNames[rgb.slice(0,3)]}};function getRgba(string){if(string){var rgb=[0,0,0],a=1,match=string.match(/^#([a-fA-F0-9]{3,4})$/i),hexAlpha="";if(match){hexAlpha=(match=match[1])[3];for(var i=0;ilum2?(lum1+.05)/(lum2+.05):(lum2+.05)/(lum1+.05)},level:function(color2){var contrastRatio=this.contrast(color2);return contrastRatio>=7.1?"AAA":contrastRatio>=4.5?"AA":""},dark:function(){var rgb=this.values.rgb;return(299*rgb[0]+587*rgb[1]+114*rgb[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var rgb=[],i=0;i<3;i++)rgb[i]=255-this.values.rgb[i];return this.setValues("rgb",rgb),this},lighten:function(ratio){var hsl=this.values.hsl;return hsl[2]+=hsl[2]*ratio,this.setValues("hsl",hsl),this},darken:function(ratio){var hsl=this.values.hsl;return hsl[2]-=hsl[2]*ratio,this.setValues("hsl",hsl),this},saturate:function(ratio){var hsl=this.values.hsl;return hsl[1]+=hsl[1]*ratio,this.setValues("hsl",hsl),this},desaturate:function(ratio){var hsl=this.values.hsl;return hsl[1]-=hsl[1]*ratio,this.setValues("hsl",hsl),this},whiten:function(ratio){var hwb=this.values.hwb;return hwb[1]+=hwb[1]*ratio,this.setValues("hwb",hwb),this},blacken:function(ratio){var hwb=this.values.hwb;return hwb[2]+=hwb[2]*ratio,this.setValues("hwb",hwb),this},greyscale:function(){var rgb=this.values.rgb,val=.3*rgb[0]+.59*rgb[1]+.11*rgb[2];return this.setValues("rgb",[val,val,val]),this},clearer:function(ratio){var alpha=this.values.alpha;return this.setValues("alpha",alpha-alpha*ratio),this},opaquer:function(ratio){var alpha=this.values.alpha;return this.setValues("alpha",alpha+alpha*ratio),this},rotate:function(degrees){var hsl=this.values.hsl,hue=(hsl[0]+degrees)%360;return hsl[0]=hue<0?360+hue:hue,this.setValues("hsl",hsl),this},mix:function(mixinColor,weight){var color2=mixinColor,p=void 0===weight?.5:weight,w=2*p-1,a=this.alpha()-color2.alpha(),w1=((w*a==-1?w:(w+a)/(1+w*a))+1)/2,w2=1-w1;return this.rgb(w1*this.red()+w2*color2.red(),w1*this.green()+w2*color2.green(),w1*this.blue()+w2*color2.blue()).alpha(this.alpha()*p+color2.alpha()*(1-p))},toJSON:function(){return this.rgb()},clone:function(){var value,type,result=new Color,source=this.values,target=result.values;for(var prop in source)source.hasOwnProperty(prop)&&(value=source[prop],"[object Array]"===(type={}.toString.call(value))?target[prop]=value.slice(0):"[object Number]"===type?target[prop]=value:console.error("unexpected color value:",value));return result}},Color.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},Color.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},Color.prototype.getValues=function(space){for(var values=this.values,vals={},i=0;i=0;i--)fn.call(thisArg,loopable[i],i);else for(i=0;i=1?t:-(Math.sqrt(1-t*t)-1)},easeOutCirc:function(t){return Math.sqrt(1-(t-=1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var s=1.70158,p=0,a=1;return 0===t?0:1===t?1:(p||(p=.3),a<1?(a=1,s=p/4):s=p/(2*Math.PI)*Math.asin(1/a),-a*Math.pow(2,10*(t-=1))*Math.sin((t-s)*(2*Math.PI)/p))},easeOutElastic:function(t){var s=1.70158,p=0,a=1;return 0===t?0:1===t?1:(p||(p=.3),a<1?(a=1,s=p/4):s=p/(2*Math.PI)*Math.asin(1/a),a*Math.pow(2,-10*t)*Math.sin((t-s)*(2*Math.PI)/p)+1)},easeInOutElastic:function(t){var s=1.70158,p=0,a=1;return 0===t?0:2==(t/=.5)?1:(p||(p=.45),a<1?(a=1,s=p/4):s=p/(2*Math.PI)*Math.asin(1/a),t<1?a*Math.pow(2,10*(t-=1))*Math.sin((t-s)*(2*Math.PI)/p)*-.5:a*Math.pow(2,-10*(t-=1))*Math.sin((t-s)*(2*Math.PI)/p)*.5+1)},easeInBack:function(t){var s=1.70158;return t*t*((s+1)*t-s)},easeOutBack:function(t){var s=1.70158;return(t-=1)*t*((s+1)*t+s)+1},easeInOutBack:function(t){var s=1.70158;return(t/=.5)<1?t*t*((1+(s*=1.525))*t-s)*.5:.5*((t-=2)*t*((1+(s*=1.525))*t+s)+2)},easeInBounce:function(t){return 1-effects.easeOutBounce(1-t)},easeOutBounce:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},easeInOutBounce:function(t){return t<.5?.5*effects.easeInBounce(2*t):.5*effects.easeOutBounce(2*t-1)+.5}},helpers_easing={effects:effects};helpers_core.easingEffects=effects;var PI=Math.PI,RAD_PER_DEG=PI/180,DOUBLE_PI=2*PI,HALF_PI=PI/2,QUARTER_PI=PI/4,TWO_THIRDS_PI=2*PI/3,exports$1={clear:function(chart){chart.ctx.clearRect(0,0,chart.width,chart.height)},roundedRect:function(ctx,x,y,width,height,radius){if(radius){var r=Math.min(radius,height/2,width/2),left=x+r,top=y+r,right=x+width-r,bottom=y+height-r;ctx.moveTo(x,top),leftarea.left-1e-6&&point.xarea.top-1e-6&&point.y0&&this.requestAnimationFrame()},advance:function(){for(var animation,chart,numSteps,nextStep,animations=this.animations,i=0;i=numSteps?(helpers$1.callback(animation.onAnimationComplete,[animation],chart),chart.animating=!1,animations.splice(i,1)):++i}},resolve=helpers$1.options.resolve,arrayEvents=["push","pop","shift","splice","unshift"];function unlistenArrayEvents(array,listener){var stub=array._chartjs;if(stub){var listeners=stub.listeners,index=listeners.indexOf(listener);-1!==index&&listeners.splice(index,1),listeners.length>0||(arrayEvents.forEach((function(key){delete array[key]})),delete array._chartjs)}}var DatasetController=function(chart,datasetIndex){this.initialize(chart,datasetIndex)};helpers$1.extend(DatasetController.prototype,{datasetElementType:null,dataElementType:null,_datasetElementOptions:["backgroundColor","borderCapStyle","borderColor","borderDash","borderDashOffset","borderJoinStyle","borderWidth"],_dataElementOptions:["backgroundColor","borderColor","borderWidth","pointStyle"],initialize:function(chart,datasetIndex){var me=this;me.chart=chart,me.index=datasetIndex,me.linkScales(),me.addElements(),me._type=me.getMeta().type},updateIndex:function(datasetIndex){this.index=datasetIndex},linkScales:function(){var meta=this.getMeta(),chart=this.chart,scales=chart.scales,dataset=this.getDataset(),scalesOpts=chart.options.scales;null!==meta.xAxisID&&meta.xAxisID in scales&&!dataset.xAxisID||(meta.xAxisID=dataset.xAxisID||scalesOpts.xAxes[0].id),null!==meta.yAxisID&&meta.yAxisID in scales&&!dataset.yAxisID||(meta.yAxisID=dataset.yAxisID||scalesOpts.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(scaleID){return this.chart.scales[scaleID]},_getValueScaleId:function(){return this.getMeta().yAxisID},_getIndexScaleId:function(){return this.getMeta().xAxisID},_getValueScale:function(){return this.getScaleForId(this._getValueScaleId())},_getIndexScale:function(){return this.getScaleForId(this._getIndexScaleId())},reset:function(){this._update(!0)},destroy:function(){this._data&&unlistenArrayEvents(this._data,this)},createMetaDataset:function(){var type=this.datasetElementType;return type&&new type({_chart:this.chart,_datasetIndex:this.index})},createMetaData:function(index){var type=this.dataElementType;return type&&new type({_chart:this.chart,_datasetIndex:this.index,_index:index})},addElements:function(){var i,ilen,meta=this.getMeta(),data=this.getDataset().data||[],metaData=meta.data;for(i=0,ilen=data.length;inumMeta&&this.insertElements(numMeta,numData-numMeta)},insertElements:function(start,count){for(var i=0;ipixelMargin?(angleMargin=pixelMargin/arc.innerRadius,ctx.arc(x,y,arc.innerRadius-pixelMargin,endAngle+angleMargin,startAngle-angleMargin,!0)):ctx.arc(x,y,pixelMargin,endAngle+Math.PI/2,startAngle-Math.PI/2),ctx.closePath(),ctx.clip()}function drawBorder(ctx,vm,arc){var inner="inner"===vm.borderAlign;inner?(ctx.lineWidth=2*vm.borderWidth,ctx.lineJoin="round"):(ctx.lineWidth=vm.borderWidth,ctx.lineJoin="bevel"),arc.fullCircles&&function(ctx,vm,arc,inner){var i,endAngle=arc.endAngle;for(inner&&(arc.endAngle=arc.startAngle+TAU,clipArc(ctx,arc),arc.endAngle=endAngle,arc.endAngle===arc.startAngle&&arc.fullCircles&&(arc.endAngle+=TAU,arc.fullCircles--)),ctx.beginPath(),ctx.arc(arc.x,arc.y,arc.innerRadius,arc.startAngle+TAU,arc.startAngle,!0),i=0;iendAngle;)angle-=TAU;for(;angle=startAngle&&angle<=endAngle,withinRadius=distance>=vm.innerRadius&&distance<=vm.outerRadius;return betweenAngles&&withinRadius}return!1},getCenterPoint:function(){var vm=this._view,halfAngle=(vm.startAngle+vm.endAngle)/2,halfRadius=(vm.innerRadius+vm.outerRadius)/2;return{x:vm.x+Math.cos(halfAngle)*halfRadius,y:vm.y+Math.sin(halfAngle)*halfRadius}},getArea:function(){var vm=this._view;return Math.PI*((vm.endAngle-vm.startAngle)/(2*Math.PI))*(Math.pow(vm.outerRadius,2)-Math.pow(vm.innerRadius,2))},tooltipPosition:function(){var vm=this._view,centreAngle=vm.startAngle+(vm.endAngle-vm.startAngle)/2,rangeFromCentre=(vm.outerRadius-vm.innerRadius)/2+vm.innerRadius;return{x:vm.x+Math.cos(centreAngle)*rangeFromCentre,y:vm.y+Math.sin(centreAngle)*rangeFromCentre}},draw:function(){var i,ctx=this._chart.ctx,vm=this._view,pixelMargin="inner"===vm.borderAlign?.33:0,arc={x:vm.x,y:vm.y,innerRadius:vm.innerRadius,outerRadius:Math.max(vm.outerRadius-pixelMargin,0),pixelMargin:pixelMargin,startAngle:vm.startAngle,endAngle:vm.endAngle,fullCircles:Math.floor(vm.circumference/TAU)};if(ctx.save(),ctx.fillStyle=vm.backgroundColor,ctx.strokeStyle=vm.borderColor,arc.fullCircles){for(arc.endAngle=arc.startAngle+TAU,ctx.beginPath(),ctx.arc(arc.x,arc.y,arc.outerRadius,arc.startAngle,arc.endAngle),ctx.arc(arc.x,arc.y,arc.innerRadius,arc.endAngle,arc.startAngle,!0),ctx.closePath(),i=0;ivm.x&&(edge=swap(edge,"left","right")):vm.basemaxH?maxH:t,r:skip.right||r<0?0:r>maxW?maxW:r,b:skip.bottom||b<0?0:b>maxH?maxH:b,l:skip.left||l<0?0:l>maxW?maxW:l}}function inRange(vm,x,y){var skipX=null===x,skipY=null===y,bounds=!(!vm||skipX&&skipY)&&getBarBounds(vm);return bounds&&(skipX||x>=bounds.left&&x<=bounds.right)&&(skipY||y>=bounds.top&&y<=bounds.bottom)}core_defaults._set("global",{elements:{rectangle:{backgroundColor:defaultColor$2,borderColor:defaultColor$2,borderSkipped:"bottom",borderWidth:0}}});var element_rectangle=core_element.extend({_type:"rectangle",draw:function(){var ctx=this._chart.ctx,vm=this._view,rects=function(vm){var bounds=getBarBounds(vm),width=bounds.right-bounds.left,height=bounds.bottom-bounds.top,border=parseBorderWidth(vm,width/2,height/2);return{outer:{x:bounds.left,y:bounds.top,w:width,h:height},inner:{x:bounds.left+border.l,y:bounds.top+border.t,w:width-border.l-border.r,h:height-border.t-border.b}}}(vm),outer=rects.outer,inner=rects.inner;ctx.fillStyle=vm.backgroundColor,ctx.fillRect(outer.x,outer.y,outer.w,outer.h),outer.w===inner.w&&outer.h===inner.h||(ctx.save(),ctx.beginPath(),ctx.rect(outer.x,outer.y,outer.w,outer.h),ctx.clip(),ctx.fillStyle=vm.borderColor,ctx.rect(inner.x,inner.y,inner.w,inner.h),ctx.fill("evenodd"),ctx.restore())},height:function(){var vm=this._view;return vm.base-vm.y},inRange:function(mouseX,mouseY){return inRange(this._view,mouseX,mouseY)},inLabelRange:function(mouseX,mouseY){var vm=this._view;return isVertical(vm)?inRange(vm,mouseX,null):inRange(vm,null,mouseY)},inXRange:function(mouseX){return inRange(this._view,mouseX,null)},inYRange:function(mouseY){return inRange(this._view,null,mouseY)},getCenterPoint:function(){var x,y,vm=this._view;return isVertical(vm)?(x=vm.x,y=(vm.y+vm.base)/2):(x=(vm.x+vm.base)/2,y=vm.y),{x:x,y:y}},getArea:function(){var vm=this._view;return isVertical(vm)?vm.width*Math.abs(vm.y-vm.base):vm.height*Math.abs(vm.x-vm.base)},tooltipPosition:function(){var vm=this._view;return{x:vm.x,y:vm.y}}}),elements={},Arc=element_arc,Line=element_line,Point=element_point,Rectangle=element_rectangle;elements.Arc=Arc,elements.Line=Line,elements.Point=Point,elements.Rectangle=Rectangle;var deprecated=helpers$1._deprecated,valueOrDefault$3=helpers$1.valueOrDefault;function computeFitCategoryTraits(index,ruler,options){var size,ratio,thickness=options.barThickness,count=ruler.stackCount,curr=ruler.pixels[index],min=helpers$1.isNullOrUndef(thickness)?function(scale,pixels){var prev,curr,i,ilen,min=scale._length;for(i=1,ilen=pixels.length;i0?Math.min(min,Math.abs(curr-prev)):min,prev=curr;return min}(ruler.scale,ruler.pixels):-1;return helpers$1.isNullOrUndef(thickness)?(size=min*options.categoryPercentage,ratio=options.barPercentage):(size=thickness*count,ratio=1),{chunk:size/count,ratio:ratio,start:curr-size/2}}core_defaults._set("bar",{hover:{mode:"label"},scales:{xAxes:[{type:"category",offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}}),core_defaults._set("global",{datasets:{bar:{categoryPercentage:.8,barPercentage:.9}}});var controller_bar=core_datasetController.extend({dataElementType:elements.Rectangle,_dataElementOptions:["backgroundColor","borderColor","borderSkipped","borderWidth","barPercentage","barThickness","categoryPercentage","maxBarThickness","minBarLength"],initialize:function(){var meta,scaleOpts,me=this;core_datasetController.prototype.initialize.apply(me,arguments),(meta=me.getMeta()).stack=me.getDataset().stack,meta.bar=!0,scaleOpts=me._getIndexScale().options,deprecated("bar chart",scaleOpts.barPercentage,"scales.[x/y]Axes.barPercentage","dataset.barPercentage"),deprecated("bar chart",scaleOpts.barThickness,"scales.[x/y]Axes.barThickness","dataset.barThickness"),deprecated("bar chart",scaleOpts.categoryPercentage,"scales.[x/y]Axes.categoryPercentage","dataset.categoryPercentage"),deprecated("bar chart",me._getValueScale().options.minBarLength,"scales.[x/y]Axes.minBarLength","dataset.minBarLength"),deprecated("bar chart",scaleOpts.maxBarThickness,"scales.[x/y]Axes.maxBarThickness","dataset.maxBarThickness")},update:function(reset){var i,ilen,rects=this.getMeta().data;for(this._ruler=this.getRuler(),i=0,ilen=rects.length;i=0&&value.min>=0?value.min:value.max,length=void 0===value.start?value.end:value.max>=0&&value.min>=0?value.max-value.min:value.min-value.max,ilen=metasets.length;if(stacked||void 0===stacked&&void 0!==stack)for(i=0;i=0&&stackLength.max>=0?stackLength.max:stackLength.min,(value.min<0&&ivalue<0||value.max>=0&&ivalue>0)&&(start+=ivalue));return base=scale.getPixelForValue(start),size=(head=scale.getPixelForValue(start+length))-base,void 0!==minBarLength&&Math.abs(size)=0&&!isHorizontal||length<0&&isHorizontal?base-minBarLength:base+minBarLength),{size:size,base:base,head:head,center:head+size/2}},calculateBarIndexPixels:function(datasetIndex,index,ruler,options){var range="flex"===options.barThickness?function(index,ruler,options){var start,pixels=ruler.pixels,curr=pixels[index],prev=index>0?pixels[index-1]:null,next=index=PI$1?-DOUBLE_PI$1:startAngle<-PI$1?DOUBLE_PI$1:0)+circumference,startX=Math.cos(startAngle),startY=Math.sin(startAngle),endX=Math.cos(endAngle),endY=Math.sin(endAngle),contains0=startAngle<=0&&endAngle>=0||endAngle>=DOUBLE_PI$1,contains90=startAngle<=HALF_PI$1&&endAngle>=HALF_PI$1||endAngle>=DOUBLE_PI$1+HALF_PI$1,contains270=startAngle<=-HALF_PI$1&&endAngle>=-HALF_PI$1||endAngle>=PI$1+HALF_PI$1,minX=startAngle===-PI$1||endAngle>=PI$1?-1:Math.min(startX,startX*cutout,endX,endX*cutout),minY=contains270?-1:Math.min(startY,startY*cutout,endY,endY*cutout),maxX=contains0?1:Math.max(startX,startX*cutout,endX,endX*cutout),maxY=contains90?1:Math.max(startY,startY*cutout,endY,endY*cutout);ratioX=(maxX-minX)/2,ratioY=(maxY-minY)/2,offsetX=-(maxX+minX)/2,offsetY=-(maxY+minY)/2}for(i=0,ilen=arcs.length;i0&&!isNaN(value)?DOUBLE_PI$1*(Math.abs(value)/total):0},getMaxBorderWidth:function(arcs){var i,ilen,meta,arc,controller,options,borderWidth,hoverWidth,max=0,chart=this.chart;if(!arcs)for(i=0,ilen=chart.data.datasets.length;i(max=borderWidth>max?borderWidth:max)?hoverWidth:max);return max},setHoverStyle:function(arc){var model=arc._model,options=arc._options,getHoverColor=helpers$1.getHoverColor;arc.$previousStyle={backgroundColor:model.backgroundColor,borderColor:model.borderColor,borderWidth:model.borderWidth},model.backgroundColor=valueOrDefault$5(options.hoverBackgroundColor,getHoverColor(options.backgroundColor)),model.borderColor=valueOrDefault$5(options.hoverBorderColor,getHoverColor(options.borderColor)),model.borderWidth=valueOrDefault$5(options.hoverBorderWidth,options.borderWidth)},_getRingWeightOffset:function(datasetIndex){for(var ringWeightOffset=0,i=0;i0&&isPointInArea(points[i-1]._model,area)&&(model.controlPointPreviousX=capControlPoint(model.controlPointPreviousX,area.left,area.right),model.controlPointPreviousY=capControlPoint(model.controlPointPreviousY,area.top,area.bottom)),i0&&(items=chart.getDatasetMeta(items[0]._datasetIndex).data),items},"x-axis":function(chart,e){return indexMode(chart,e,{intersect:!1})},point:function(chart,e){return getIntersectItems(chart,getRelativePosition(e,chart))},nearest:function(chart,e,options){var position=getRelativePosition(e,chart);options.axis=options.axis||"xy";var distanceMetric=getDistanceMetricForAxis(options.axis);return getNearestItems(chart,position,options.intersect,distanceMetric)},x:function(chart,e,options){var position=getRelativePosition(e,chart),items=[],intersectsItem=!1;return parseVisibleItems(chart,(function(element){element.inXRange(position.x)&&items.push(element),element.inRange(position.x,position.y)&&(intersectsItem=!0)})),options.intersect&&!intersectsItem&&(items=[]),items},y:function(chart,e,options){var position=getRelativePosition(e,chart),items=[],intersectsItem=!1;return parseVisibleItems(chart,(function(element){element.inYRange(position.y)&&items.push(element),element.inRange(position.x,position.y)&&(intersectsItem=!0)})),options.intersect&&!intersectsItem&&(items=[]),items}}},extend=helpers$1.extend;function filterByPosition(array,position){return helpers$1.where(array,(function(v){return v.pos===position}))}function sortByWeight(array,reverse){return array.sort((function(a,b){var v0=reverse?b:a,v1=reverse?a:b;return v0.weight===v1.weight?v0.index-v1.index:v0.weight-v1.weight}))}function getCombinedMax(maxPadding,chartArea,a,b){return Math.max(maxPadding[a],chartArea[a])+Math.max(maxPadding[b],chartArea[b])}function updateDims(chartArea,params,layout){var newWidth,newHeight,box=layout.box,maxPadding=chartArea.maxPadding;if(layout.size&&(chartArea[layout.pos]-=layout.size),layout.size=layout.horizontal?box.height:box.width,chartArea[layout.pos]+=layout.size,box.getPadding){var boxPadding=box.getPadding();maxPadding.top=Math.max(maxPadding.top,boxPadding.top),maxPadding.left=Math.max(maxPadding.left,boxPadding.left),maxPadding.bottom=Math.max(maxPadding.bottom,boxPadding.bottom),maxPadding.right=Math.max(maxPadding.right,boxPadding.right)}if(newWidth=params.outerWidth-getCombinedMax(maxPadding,chartArea,"left","right"),newHeight=params.outerHeight-getCombinedMax(maxPadding,chartArea,"top","bottom"),newWidth!==chartArea.w||newHeight!==chartArea.h){chartArea.w=newWidth,chartArea.h=newHeight;var sizes=layout.horizontal?[newWidth,chartArea.w]:[newHeight,chartArea.h];return!(sizes[0]===sizes[1]||isNaN(sizes[0])&&isNaN(sizes[1]))}}function getMargins(horizontal,chartArea){var maxPadding=chartArea.maxPadding;function marginForPositions(positions){var margin={left:0,top:0,right:0,bottom:0};return positions.forEach((function(pos){margin[pos]=Math.max(chartArea[pos],maxPadding[pos])})),margin}return marginForPositions(horizontal?["left","right"]:["top","bottom"])}function fitBoxes(boxes,chartArea,params){var i,ilen,layout,box,refit,changed,refitBoxes=[];for(i=0,ilen=boxes.length;i 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"}),stylesheet=(n=platform_dom$1)&&n.default||n,ANIMATION_START_EVENTS=["animationstart","webkitAnimationStart"],EVENT_TYPES={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function readUsedSize(element,property){var value=helpers$1.getStyle(element,property),matches=value&&value.match(/^(\d+)(\.\d+)?px$/);return matches?Number(matches[1]):void 0}var supportsEventListenerOptions=function(){var supports=!1;try{var options=Object.defineProperty({},"passive",{get:function(){supports=!0}});window.addEventListener("e",null,options)}catch(e){}return supports}(),eventListenerOptions=!!supportsEventListenerOptions&&{passive:!0};function addListener(node,type,listener){node.addEventListener(type,listener,eventListenerOptions)}function removeListener(node,type,listener){node.removeEventListener(type,listener,eventListenerOptions)}function createEvent(type,chart,x,y,nativeEvent){return{type:type,chart:chart,native:nativeEvent||null,x:void 0!==x?x:null,y:void 0!==y?y:null}}function createDiv(cls){var el=document.createElement("div");return el.className=cls||"",el}function addResizeListener(node,listener,chart){var fn,thisArg,ticking,args,expando=node.$chartjs||(node.$chartjs={}),resizer=expando.resizer=function(handler){var resizer=createDiv("chartjs-size-monitor"),expand=createDiv("chartjs-size-monitor-expand"),shrink=createDiv("chartjs-size-monitor-shrink");expand.appendChild(createDiv()),shrink.appendChild(createDiv()),resizer.appendChild(expand),resizer.appendChild(shrink),resizer._reset=function(){expand.scrollLeft=1e6,expand.scrollTop=1e6,shrink.scrollLeft=1e6,shrink.scrollTop=1e6};var onScroll=function(){resizer._reset(),handler()};return addListener(expand,"scroll",onScroll.bind(expand,"expand")),addListener(shrink,"scroll",onScroll.bind(shrink,"shrink")),resizer}((fn=function(){if(expando.resizer){var container=chart.options.maintainAspectRatio&&node.parentNode,w=container?container.clientWidth:0;listener(createEvent("resize",chart)),container&&container.clientWidth0){var item=tooltipItems[0];item.label?title=item.label:item.xLabel?title=item.xLabel:labelCount>0&&item.index-1?str.split("\n"):str}function getBaseModel(tooltipOpts){var globalDefaults=core_defaults.global;return{xPadding:tooltipOpts.xPadding,yPadding:tooltipOpts.yPadding,xAlign:tooltipOpts.xAlign,yAlign:tooltipOpts.yAlign,rtl:tooltipOpts.rtl,textDirection:tooltipOpts.textDirection,bodyFontColor:tooltipOpts.bodyFontColor,_bodyFontFamily:valueOrDefault$8(tooltipOpts.bodyFontFamily,globalDefaults.defaultFontFamily),_bodyFontStyle:valueOrDefault$8(tooltipOpts.bodyFontStyle,globalDefaults.defaultFontStyle),_bodyAlign:tooltipOpts.bodyAlign,bodyFontSize:valueOrDefault$8(tooltipOpts.bodyFontSize,globalDefaults.defaultFontSize),bodySpacing:tooltipOpts.bodySpacing,titleFontColor:tooltipOpts.titleFontColor,_titleFontFamily:valueOrDefault$8(tooltipOpts.titleFontFamily,globalDefaults.defaultFontFamily),_titleFontStyle:valueOrDefault$8(tooltipOpts.titleFontStyle,globalDefaults.defaultFontStyle),titleFontSize:valueOrDefault$8(tooltipOpts.titleFontSize,globalDefaults.defaultFontSize),_titleAlign:tooltipOpts.titleAlign,titleSpacing:tooltipOpts.titleSpacing,titleMarginBottom:tooltipOpts.titleMarginBottom,footerFontColor:tooltipOpts.footerFontColor,_footerFontFamily:valueOrDefault$8(tooltipOpts.footerFontFamily,globalDefaults.defaultFontFamily),_footerFontStyle:valueOrDefault$8(tooltipOpts.footerFontStyle,globalDefaults.defaultFontStyle),footerFontSize:valueOrDefault$8(tooltipOpts.footerFontSize,globalDefaults.defaultFontSize),_footerAlign:tooltipOpts.footerAlign,footerSpacing:tooltipOpts.footerSpacing,footerMarginTop:tooltipOpts.footerMarginTop,caretSize:tooltipOpts.caretSize,cornerRadius:tooltipOpts.cornerRadius,backgroundColor:tooltipOpts.backgroundColor,opacity:0,legendColorBackground:tooltipOpts.multiKeyBackground,displayColors:tooltipOpts.displayColors,borderColor:tooltipOpts.borderColor,borderWidth:tooltipOpts.borderWidth}}function getAlignedX(vm,align){return"center"===align?vm.x+vm.width/2:"right"===align?vm.x+vm.width-vm.xPadding:vm.x+vm.xPadding}function getBeforeAfterBodyLines(callback){return pushOrConcat([],splitNewlines(callback))}var exports$4=core_element.extend({initialize:function(){this._model=getBaseModel(this._options),this._lastActive=[]},getTitle:function(){var me=this,opts=me._options,callbacks=opts.callbacks,beforeTitle=callbacks.beforeTitle.apply(me,arguments),title=callbacks.title.apply(me,arguments),afterTitle=callbacks.afterTitle.apply(me,arguments),lines=[];return lines=pushOrConcat(lines,splitNewlines(beforeTitle)),lines=pushOrConcat(lines,splitNewlines(title)),lines=pushOrConcat(lines,splitNewlines(afterTitle))},getBeforeBody:function(){return getBeforeAfterBodyLines(this._options.callbacks.beforeBody.apply(this,arguments))},getBody:function(tooltipItems,data){var me=this,callbacks=me._options.callbacks,bodyItems=[];return helpers$1.each(tooltipItems,(function(tooltipItem){var bodyItem={before:[],lines:[],after:[]};pushOrConcat(bodyItem.before,splitNewlines(callbacks.beforeLabel.call(me,tooltipItem,data))),pushOrConcat(bodyItem.lines,callbacks.label.call(me,tooltipItem,data)),pushOrConcat(bodyItem.after,splitNewlines(callbacks.afterLabel.call(me,tooltipItem,data))),bodyItems.push(bodyItem)})),bodyItems},getAfterBody:function(){return getBeforeAfterBodyLines(this._options.callbacks.afterBody.apply(this,arguments))},getFooter:function(){var me=this,callbacks=me._options.callbacks,beforeFooter=callbacks.beforeFooter.apply(me,arguments),footer=callbacks.footer.apply(me,arguments),afterFooter=callbacks.afterFooter.apply(me,arguments),lines=[];return lines=pushOrConcat(lines,splitNewlines(beforeFooter)),lines=pushOrConcat(lines,splitNewlines(footer)),lines=pushOrConcat(lines,splitNewlines(afterFooter))},update:function(changed){var i,len,element,xScale,yScale,index,datasetIndex,controller,indexScale,valueScale,me=this,opts=me._options,existingModel=me._model,model=me._model=getBaseModel(opts),active=me._active,data=me._data,alignment={xAlign:existingModel.xAlign,yAlign:existingModel.yAlign},backgroundPoint={x:existingModel.x,y:existingModel.y},tooltipSize={width:existingModel.width,height:existingModel.height},tooltipPosition={x:existingModel.caretX,y:existingModel.caretY};if(active.length){model.opacity=1;var labelColors=[],labelTextColors=[];tooltipPosition=positioners[opts.position].call(me,active,me._eventPosition);var tooltipItems=[];for(i=0,len=active.length;ichart.height-size.height&&(yAlign="bottom");var midX=(chartArea.left+chartArea.right)/2,midY=(chartArea.top+chartArea.bottom)/2;"center"===yAlign?(lf=function(x){return x<=midX},rf=function(x){return x>midX}):(lf=function(x){return x<=size.width/2},rf=function(x){return x>=chart.width-size.width/2}),olf=function(x){return x+size.width+model.caretSize+model.caretPadding>chart.width},orf=function(x){return x-size.width-model.caretSize-model.caretPadding<0},yf=function(y){return y<=midY?"top":"bottom"},lf(model.x)?(xAlign="left",olf(model.x)&&(xAlign="center",yAlign=yf(model.y))):rf(model.x)&&(xAlign="right",orf(model.x)&&(xAlign="center",yAlign=yf(model.y)));var opts=tooltip._options;return{xAlign:opts.xAlign?opts.xAlign:xAlign,yAlign:opts.yAlign?opts.yAlign:yAlign}}(this,tooltipSize),backgroundPoint=function(vm,size,alignment,chart){var x=vm.x,y=vm.y,caretSize=vm.caretSize,caretPadding=vm.caretPadding,cornerRadius=vm.cornerRadius,xAlign=alignment.xAlign,yAlign=alignment.yAlign,paddingAndSize=caretSize+caretPadding,radiusAndPadding=cornerRadius+caretPadding;return"right"===xAlign?x-=size.width:"center"===xAlign&&((x-=size.width/2)+size.width>chart.width&&(x=chart.width-size.width),x<0&&(x=0)),"top"===yAlign?y+=paddingAndSize:y-="bottom"===yAlign?size.height+paddingAndSize:size.height/2,"center"===yAlign?"left"===xAlign?x+=paddingAndSize:"right"===xAlign&&(x-=paddingAndSize):"left"===xAlign?x-=radiusAndPadding:"right"===xAlign&&(x+=radiusAndPadding),{x:x,y:y}}(model,tooltipSize,alignment,me._chart)}else model.opacity=0;return model.xAlign=alignment.xAlign,model.yAlign=alignment.yAlign,model.x=backgroundPoint.x,model.y=backgroundPoint.y,model.width=tooltipSize.width,model.height=tooltipSize.height,model.caretX=tooltipPosition.x,model.caretY=tooltipPosition.y,me._model=model,changed&&opts.custom&&opts.custom.call(me,model),me},drawCaret:function(tooltipPoint,size){var ctx=this._chart.ctx,vm=this._view,caretPosition=this.getCaretPosition(tooltipPoint,size,vm);ctx.lineTo(caretPosition.x1,caretPosition.y1),ctx.lineTo(caretPosition.x2,caretPosition.y2),ctx.lineTo(caretPosition.x3,caretPosition.y3)},getCaretPosition:function(tooltipPoint,size,vm){var x1,x2,x3,y1,y2,y3,caretSize=vm.caretSize,cornerRadius=vm.cornerRadius,xAlign=vm.xAlign,yAlign=vm.yAlign,ptX=tooltipPoint.x,ptY=tooltipPoint.y,width=size.width,height=size.height;if("center"===yAlign)y2=ptY+height/2,"left"===xAlign?(x2=(x1=ptX)-caretSize,x3=x1,y1=y2+caretSize,y3=y2-caretSize):(x2=(x1=ptX+width)+caretSize,x3=x1,y1=y2-caretSize,y3=y2+caretSize);else if("left"===xAlign?(x1=(x2=ptX+cornerRadius+caretSize)-caretSize,x3=x2+caretSize):"right"===xAlign?(x1=(x2=ptX+width-cornerRadius-caretSize)-caretSize,x3=x2+caretSize):(x1=(x2=vm.caretX)-caretSize,x3=x2+caretSize),"top"===yAlign)y2=(y1=ptY)-caretSize,y3=y1;else{y2=(y1=ptY+height)+caretSize,y3=y1;var tmp=x3;x3=x1,x1=tmp}return{x1:x1,x2:x2,x3:x3,y1:y1,y2:y2,y3:y3}},drawTitle:function(pt,vm,ctx){var titleFontSize,titleSpacing,i,title=vm.title,length=title.length;if(length){var rtlHelper=getRtlHelper(vm.rtl,vm.x,vm.width);for(pt.x=getAlignedX(vm,vm._titleAlign),ctx.textAlign=rtlHelper.textAlign(vm._titleAlign),ctx.textBaseline="middle",titleFontSize=vm.titleFontSize,titleSpacing=vm.titleSpacing,ctx.fillStyle=vm.titleFontColor,ctx.font=helpers$1.fontString(titleFontSize,vm._titleFontStyle,vm._titleFontFamily),i=0;i0&&ctx.stroke()},draw:function(){var ctx=this._chart.ctx,vm=this._view;if(0!==vm.opacity){var tooltipSize={width:vm.width,height:vm.height},pt={x:vm.x,y:vm.y},opacity=Math.abs(vm.opacity<.001)?0:vm.opacity,hasTooltipContent=vm.title.length||vm.beforeBody.length||vm.body.length||vm.afterBody.length||vm.footer.length;this._options.enabled&&hasTooltipContent&&(ctx.save(),ctx.globalAlpha=opacity,this.drawBackground(pt,vm,ctx,tooltipSize),pt.y+=vm.yPadding,helpers$1.rtl.overrideTextDirection(ctx,vm.textDirection),this.drawTitle(pt,vm,ctx),this.drawBody(pt,vm,ctx),this.drawFooter(pt,vm,ctx),helpers$1.rtl.restoreTextDirection(ctx,vm.textDirection),ctx.restore())}},handleEvent:function(e){var changed,me=this,options=me._options;return me._lastActive=me._lastActive||[],"mouseout"===e.type?me._active=[]:(me._active=me._chart.getElementsAtEventForMode(e,options.mode,options),options.reverse&&me._active.reverse()),(changed=!helpers$1.arrayEquals(me._active,me._lastActive))&&(me._lastActive=me._active,(options.enabled||options.custom)&&(me._eventPosition={x:e.x,y:e.y},me.update(!0),me.pivot())),changed}}),positioners_1=positioners,core_tooltip=exports$4;core_tooltip.positioners=positioners_1;var valueOrDefault$9=helpers$1.valueOrDefault;function mergeScaleConfig(){return helpers$1.merge(Object.create(null),[].slice.call(arguments),{merger:function(key,target,source,options){if("xAxes"===key||"yAxes"===key){var i,type,scale,slen=source[key].length;for(target[key]||(target[key]=[]),i=0;i=target[key].length&&target[key].push({}),!target[key][i].type||scale.type&&scale.type!==target[key][i].type?helpers$1.merge(target[key][i],[core_scaleService.getScaleDefaults(type),scale]):helpers$1.merge(target[key][i],scale)}else helpers$1._merger(key,target,source,options)}})}function mergeConfig(){return helpers$1.merge(Object.create(null),[].slice.call(arguments),{merger:function(key,target,source,options){var tval=target[key]||Object.create(null),sval=source[key];"scales"===key?target[key]=mergeScaleConfig(tval,sval):"scale"===key?target[key]=helpers$1.merge(tval,[core_scaleService.getScaleDefaults(sval.type),sval]):helpers$1._merger(key,target,source,options)}})}function updateConfig(chart){var newOptions=chart.options;helpers$1.each(chart.scales,(function(scale){core_layouts.removeBox(chart,scale)})),newOptions=mergeConfig(core_defaults.global,core_defaults[chart.config.type],newOptions),chart.options=chart.config.options=newOptions,chart.ensureScalesHaveIDs(),chart.buildOrUpdateScales(),chart.tooltip._options=newOptions.tooltips,chart.tooltip.initialize()}function nextAvailableScaleId(axesOpts,prefix,index){var id,hasId=function(obj){return obj.id===id};do{id=prefix+index++}while(helpers$1.findIndex(axesOpts,hasId)>=0);return id}function positionIsHorizontal(position){return"top"===position||"bottom"===position}function compare2Level(l1,l2){return function(a,b){return a[l1]===b[l1]?a[l2]-b[l2]:a[l1]-b[l1]}}core_defaults._set("global",{elements:{},events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,maintainAspectRatio:!0,responsive:!0,responsiveAnimationDuration:0});var Chart=function(item,config){return this.construct(item,config),this};helpers$1.extend(Chart.prototype,{construct:function(item,config){var me=this;config=function(config){var data=(config=config||Object.create(null)).data=config.data||{};return data.datasets=data.datasets||[],data.labels=data.labels||[],config.options=mergeConfig(core_defaults.global,core_defaults[config.type],config.options||{}),config}(config);var context=platform.acquireContext(item,config),canvas=context&&context.canvas,height=canvas&&canvas.height,width=canvas&&canvas.width;me.id=helpers$1.uid(),me.ctx=context,me.canvas=canvas,me.config=config,me.width=width,me.height=height,me.aspectRatio=height?width/height:null,me.options=config.options,me._bufferedRender=!1,me._layers=[],me.chart=me,me.controller=me,Chart.instances[me.id]=me,Object.defineProperty(me,"data",{get:function(){return me.config.data},set:function(value){me.config.data=value}}),context&&canvas?(me.initialize(),me.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var me=this;return core_plugins.notify(me,"beforeInit"),helpers$1.retinaScale(me,me.options.devicePixelRatio),me.bindEvents(),me.options.responsive&&me.resize(!0),me.initToolTip(),core_plugins.notify(me,"afterInit"),me},clear:function(){return helpers$1.canvas.clear(this),this},stop:function(){return core_animations.cancelAnimation(this),this},resize:function(silent){var me=this,options=me.options,canvas=me.canvas,aspectRatio=options.maintainAspectRatio&&me.aspectRatio||null,newWidth=Math.max(0,Math.floor(helpers$1.getMaximumWidth(canvas))),newHeight=Math.max(0,Math.floor(aspectRatio?newWidth/aspectRatio:helpers$1.getMaximumHeight(canvas)));if((me.width!==newWidth||me.height!==newHeight)&&(canvas.width=me.width=newWidth,canvas.height=me.height=newHeight,canvas.style.width=newWidth+"px",canvas.style.height=newHeight+"px",helpers$1.retinaScale(me,options.devicePixelRatio),!silent)){var newSize={width:newWidth,height:newHeight};core_plugins.notify(me,"resize",[newSize]),options.onResize&&options.onResize(me,newSize),me.stop(),me.update({duration:options.responsiveAnimationDuration})}},ensureScalesHaveIDs:function(){var options=this.options,scalesOptions=options.scales||{},scaleOptions=options.scale;helpers$1.each(scalesOptions.xAxes,(function(xAxisOptions,index){xAxisOptions.id||(xAxisOptions.id=nextAvailableScaleId(scalesOptions.xAxes,"x-axis-",index))})),helpers$1.each(scalesOptions.yAxes,(function(yAxisOptions,index){yAxisOptions.id||(yAxisOptions.id=nextAvailableScaleId(scalesOptions.yAxes,"y-axis-",index))})),scaleOptions&&(scaleOptions.id=scaleOptions.id||"scale")},buildOrUpdateScales:function(){var me=this,options=me.options,scales=me.scales||{},items=[],updated=Object.keys(scales).reduce((function(obj,id){return obj[id]=!1,obj}),{});options.scales&&(items=items.concat((options.scales.xAxes||[]).map((function(xAxisOptions){return{options:xAxisOptions,dtype:"category",dposition:"bottom"}})),(options.scales.yAxes||[]).map((function(yAxisOptions){return{options:yAxisOptions,dtype:"linear",dposition:"left"}})))),options.scale&&items.push({options:options.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),helpers$1.each(items,(function(item){var scaleOptions=item.options,id=scaleOptions.id,scaleType=valueOrDefault$9(scaleOptions.type,item.dtype);positionIsHorizontal(scaleOptions.position)!==positionIsHorizontal(item.dposition)&&(scaleOptions.position=item.dposition),updated[id]=!0;var scale=null;if(id in scales&&scales[id].type===scaleType)(scale=scales[id]).options=scaleOptions,scale.ctx=me.ctx,scale.chart=me;else{var scaleClass=core_scaleService.getScaleConstructor(scaleType);if(!scaleClass)return;scale=new scaleClass({id:id,type:scaleType,options:scaleOptions,ctx:me.ctx,chart:me}),scales[scale.id]=scale}scale.mergeTicksOptions(),item.isDefault&&(me.scale=scale)})),helpers$1.each(updated,(function(hasUpdated,id){hasUpdated||delete scales[id]})),me.scales=scales,core_scaleService.addScalesToLayout(this)},buildOrUpdateControllers:function(){var i,ilen,me=this,newControllers=[],datasets=me.data.datasets;for(i=0,ilen=datasets.length;i=0;--i)this.drawDataset(metasets[i],easingValue);core_plugins.notify(this,"afterDatasetsDraw",[easingValue])}},drawDataset:function(meta,easingValue){var args={meta:meta,index:meta.index,easingValue:easingValue};!1!==core_plugins.notify(this,"beforeDatasetDraw",[args])&&(meta.controller.draw(easingValue),core_plugins.notify(this,"afterDatasetDraw",[args]))},_drawTooltip:function(easingValue){var tooltip=this.tooltip,args={tooltip:tooltip,easingValue:easingValue};!1!==core_plugins.notify(this,"beforeTooltipDraw",[args])&&(tooltip.draw(),core_plugins.notify(this,"afterTooltipDraw",[args]))},getElementAtEvent:function(e){return core_interaction.modes.single(this,e)},getElementsAtEvent:function(e){return core_interaction.modes.label(this,e,{intersect:!0})},getElementsAtXAxis:function(e){return core_interaction.modes["x-axis"](this,e,{intersect:!0})},getElementsAtEventForMode:function(e,mode,options){var method=core_interaction.modes[mode];return"function"==typeof method?method(this,e,options):[]},getDatasetAtEvent:function(e){return core_interaction.modes.dataset(this,e,{intersect:!0})},getDatasetMeta:function(datasetIndex){var dataset=this.data.datasets[datasetIndex];dataset._meta||(dataset._meta={});var meta=dataset._meta[this.id];return meta||(meta=dataset._meta[this.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:dataset.order||0,index:datasetIndex}),meta},getVisibleDatasetCount:function(){for(var count=0,i=0,ilen=this.data.datasets.length;i3?ticks[2]-ticks[1]:ticks[1]-ticks[0];Math.abs(delta)>1&&tickValue!==Math.floor(tickValue)&&(delta=tickValue-Math.floor(tickValue));var logDelta=helpers$1.log10(Math.abs(delta)),tickString="";if(0!==tickValue)if(Math.max(Math.abs(ticks[0]),Math.abs(ticks[ticks.length-1]))<1e-4){var logTick=helpers$1.log10(Math.abs(tickValue)),numExponential=Math.floor(logTick)-Math.floor(logDelta);numExponential=Math.max(Math.min(numExponential,20),0),tickString=tickValue.toExponential(numExponential)}else{var numDecimal=-1*Math.floor(logDelta);numDecimal=Math.max(Math.min(numDecimal,20),0),tickString=tickValue.toFixed(numDecimal)}else tickString="0";return tickString},logarithmic:function(tickValue,index,ticks){var remain=tickValue/Math.pow(10,Math.floor(helpers$1.log10(tickValue)));return 0===tickValue?"0":1===remain||2===remain||5===remain||0===index||index===ticks.length-1?tickValue.toExponential():""}}},isArray=helpers$1.isArray,isNullOrUndef=helpers$1.isNullOrUndef,valueOrDefault$a=helpers$1.valueOrDefault,valueAtIndexOrDefault=helpers$1.valueAtIndexOrDefault;function getPixelForGridLine(scale,index,offsetGridLines){var offset,length=scale.getTicks().length,validIndex=Math.min(index,length-1),lineValue=scale.getPixelForTick(validIndex),start=scale._startPixel,end=scale._endPixel;if(!(offsetGridLines&&(offset=1===length?Math.max(lineValue-start,end-lineValue):0===index?(scale.getPixelForTick(1)-lineValue)/2:(lineValue-scale.getPixelForTick(validIndex-1))/2,(lineValue+=validIndexend+1e-6)))return lineValue}function computeLabelSizes(ctx,tickFonts,ticks,caches){var i,j,jlen,label,tickFont,fontString,cache,lineHeight,width,height,nestedLabel,widest,highest,length=ticks.length,widths=[],heights=[],offsets=[],widestLabelSize=0,highestLabelSize=0;for(i=0;ilength){for(i=0;i=maxRotation||numTicks<=1||!me.isHorizontal()?me.labelRotation=minRotation:(maxLabelWidth=(labelSizes=me._getLabelSizes()).widest.width,maxLabelHeight=labelSizes.highest.height-labelSizes.highest.offset,maxWidth=Math.min(me.maxWidth,me.chart.width-maxLabelWidth),maxLabelWidth+6>(tickWidth=options.offset?me.maxWidth/numTicks:maxWidth/(numTicks-1))&&(tickWidth=maxWidth/(numTicks-(options.offset?.5:1)),maxHeight=me.maxHeight-getTickMarkLength(options.gridLines)-tickOpts.padding-getScaleLabelHeight(options.scaleLabel),maxLabelDiagonal=Math.sqrt(maxLabelWidth*maxLabelWidth+maxLabelHeight*maxLabelHeight),labelRotation=helpers$1.toDegrees(Math.min(Math.asin(Math.min((labelSizes.highest.height+6)/tickWidth,1)),Math.asin(Math.min(maxHeight/maxLabelDiagonal,1))-Math.asin(maxLabelHeight/maxLabelDiagonal))),labelRotation=Math.max(minRotation,Math.min(maxRotation,labelRotation))),me.labelRotation=labelRotation)},afterCalculateTickRotation:function(){helpers$1.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){helpers$1.callback(this.options.beforeFit,[this])},fit:function(){var me=this,minSize=me.minSize={width:0,height:0},chart=me.chart,opts=me.options,tickOpts=opts.ticks,scaleLabelOpts=opts.scaleLabel,gridLineOpts=opts.gridLines,display=me._isVisible(),isBottom="bottom"===opts.position,isHorizontal=me.isHorizontal();if(isHorizontal?minSize.width=me.maxWidth:display&&(minSize.width=getTickMarkLength(gridLineOpts)+getScaleLabelHeight(scaleLabelOpts)),isHorizontal?display&&(minSize.height=getTickMarkLength(gridLineOpts)+getScaleLabelHeight(scaleLabelOpts)):minSize.height=me.maxHeight,tickOpts.display&&display){var tickFonts=parseTickFontOptions(tickOpts),labelSizes=me._getLabelSizes(),firstLabelSize=labelSizes.first,lastLabelSize=labelSizes.last,widestLabelSize=labelSizes.widest,highestLabelSize=labelSizes.highest,lineSpace=.4*tickFonts.minor.lineHeight,tickPadding=tickOpts.padding;if(isHorizontal){var isRotated=0!==me.labelRotation,angleRadians=helpers$1.toRadians(me.labelRotation),cosRotation=Math.cos(angleRadians),sinRotation=Math.sin(angleRadians),labelHeight=sinRotation*widestLabelSize.width+cosRotation*(highestLabelSize.height-(isRotated?highestLabelSize.offset:0))+(isRotated?0:lineSpace);minSize.height=Math.min(me.maxHeight,minSize.height+labelHeight+tickPadding);var paddingLeft,paddingRight,offsetLeft=me.getPixelForTick(0)-me.left,offsetRight=me.right-me.getPixelForTick(me.getTicks().length-1);isRotated?(paddingLeft=isBottom?cosRotation*firstLabelSize.width+sinRotation*firstLabelSize.offset:sinRotation*(firstLabelSize.height-firstLabelSize.offset),paddingRight=isBottom?sinRotation*(lastLabelSize.height-lastLabelSize.offset):cosRotation*lastLabelSize.width+sinRotation*lastLabelSize.offset):(paddingLeft=firstLabelSize.width/2,paddingRight=lastLabelSize.width/2),me.paddingLeft=Math.max((paddingLeft-offsetLeft)*me.width/(me.width-offsetLeft),0)+3,me.paddingRight=Math.max((paddingRight-offsetRight)*me.width/(me.width-offsetRight),0)+3}else{var labelWidth=tickOpts.mirror?0:widestLabelSize.width+tickPadding+lineSpace;minSize.width=Math.min(me.maxWidth,minSize.width+labelWidth),me.paddingTop=firstLabelSize.height/2,me.paddingBottom=lastLabelSize.height/2}}me.handleMargins(),isHorizontal?(me.width=me._length=chart.width-me.margins.left-me.margins.right,me.height=minSize.height):(me.width=minSize.width,me.height=me._length=chart.height-me.margins.top-me.margins.bottom)},handleMargins:function(){var me=this;me.margins&&(me.margins.left=Math.max(me.paddingLeft,me.margins.left),me.margins.top=Math.max(me.paddingTop,me.margins.top),me.margins.right=Math.max(me.paddingRight,me.margins.right),me.margins.bottom=Math.max(me.paddingBottom,me.margins.bottom))},afterFit:function(){helpers$1.callback(this.options.afterFit,[this])},isHorizontal:function(){var pos=this.options.position;return"top"===pos||"bottom"===pos},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(rawValue){if(isNullOrUndef(rawValue))return NaN;if(("number"==typeof rawValue||rawValue instanceof Number)&&!isFinite(rawValue))return NaN;if(rawValue)if(this.isHorizontal()){if(void 0!==rawValue.x)return this.getRightValue(rawValue.x)}else if(void 0!==rawValue.y)return this.getRightValue(rawValue.y);return rawValue},_convertTicksToLabels:function(ticks){var labels,i,ilen,me=this;for(me.ticks=ticks.map((function(tick){return tick.value})),me.beforeTickToLabelConversion(),labels=me.convertTicksToLabels(ticks)||me.ticks,me.afterTickToLabelConversion(),i=0,ilen=ticks.length;inumTicks-1?null:this.getPixelForDecimal(index*tickWidth+(offset?tickWidth/2:0))},getPixelForDecimal:function(decimal){return this._reversePixels&&(decimal=1-decimal),this._startPixel+decimal*this._length},getDecimalForPixel:function(pixel){var decimal=(pixel-this._startPixel)/this._length;return this._reversePixels?1-decimal:decimal},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var min=this.min,max=this.max;return this.beginAtZero?0:min<0&&max<0?max:min>0&&max>0?min:0},_autoSkip:function(ticks){var i,ilen,spacing,avgMajorSpacing,tickOpts=this.options.ticks,axisLength=this._length,ticksLimit=tickOpts.maxTicksLimit||axisLength/this._tickSize()+1,majorIndices=tickOpts.major.enabled?function(ticks){var i,ilen,result=[];for(i=0,ilen=ticks.length;iticksLimit)return function(ticks,majorIndices,spacing){var i,tick,count=0,next=majorIndices[0];for(spacing=Math.ceil(spacing),i=0;ispacing)return factor;return Math.max(spacing,1)}(majorIndices,ticks,0,ticksLimit),numMajorIndices>0){for(i=0,ilen=numMajorIndices-1;i1?(last-first)/(numMajorIndices-1):null,skip(ticks,spacing,helpers$1.isNullOrUndef(avgMajorSpacing)?0:first-avgMajorSpacing,first),skip(ticks,spacing,last,helpers$1.isNullOrUndef(avgMajorSpacing)?ticks.length:last+avgMajorSpacing),nonSkipped(ticks)}return skip(ticks,spacing),nonSkipped(ticks)},_tickSize:function(){var optionTicks=this.options.ticks,rot=helpers$1.toRadians(this.labelRotation),cos=Math.abs(Math.cos(rot)),sin=Math.abs(Math.sin(rot)),labelSizes=this._getLabelSizes(),padding=optionTicks.autoSkipPadding||0,w=labelSizes?labelSizes.widest.width+padding:0,h=labelSizes?labelSizes.highest.height+padding:0;return this.isHorizontal()?h*cos>w*sin?w/cos:h/sin:h*sin=0&&(minIndex=findIndex),void 0!==max&&(findIndex=labels.indexOf(max))>=0&&(maxIndex=findIndex),me.minIndex=minIndex,me.maxIndex=maxIndex,me.min=labels[minIndex],me.max=labels[maxIndex]},buildTicks:function(){var labels=this._getLabels(),minIndex=this.minIndex,maxIndex=this.maxIndex;this.ticks=0===minIndex&&maxIndex===labels.length-1?labels:labels.slice(minIndex,maxIndex+1)},getLabelForIndex:function(index,datasetIndex){var chart=this.chart;return chart.getDatasetMeta(datasetIndex).controller._getValueScaleId()===this.id?this.getRightValue(chart.data.datasets[datasetIndex].data[index]):this._getLabels()[index]},_configure:function(){var me=this,offset=me.options.offset,ticks=me.ticks;core_scale.prototype._configure.call(me),me.isHorizontal()||(me._reversePixels=!me._reversePixels),ticks&&(me._startValue=me.minIndex-(offset?.5:0),me._valueRange=Math.max(ticks.length-(offset?0:1),1))},getPixelForValue:function(value,index,datasetIndex){var valueCategory,labels,idx,me=this;return isNullOrUndef$1(index)||isNullOrUndef$1(datasetIndex)||(value=me.chart.data.datasets[datasetIndex].data[index]),isNullOrUndef$1(value)||(valueCategory=me.isHorizontal()?value.x:value.y),(void 0!==valueCategory||void 0!==value&&isNaN(index))&&(labels=me._getLabels(),value=helpers$1.valueOrDefault(valueCategory,value),index=-1!==(idx=labels.indexOf(value))?idx:index,isNaN(index)&&(index=value)),me.getPixelForDecimal((index-me._startValue)/me._valueRange)},getPixelForTick:function(index){var ticks=this.ticks;return index<0||index>ticks.length-1?null:this.getPixelForValue(ticks[index],index+this.minIndex)},getValueForPixel:function(pixel){var value=Math.round(this._startValue+this.getDecimalForPixel(pixel)*this._valueRange);return Math.min(Math.max(value,0),this.ticks.length-1)},getBasePixel:function(){return this.bottom}}),_defaults={position:"bottom"};scale_category._defaults=_defaults;var noop=helpers$1.noop,isNullOrUndef$2=helpers$1.isNullOrUndef;var scale_linearbase=core_scale.extend({getRightValue:function(value){return"string"==typeof value?+value:core_scale.prototype.getRightValue.call(this,value)},handleTickRangeOptions:function(){var me=this,tickOpts=me.options.ticks;if(tickOpts.beginAtZero){var minSign=helpers$1.sign(me.min),maxSign=helpers$1.sign(me.max);minSign<0&&maxSign<0?me.max=0:minSign>0&&maxSign>0&&(me.min=0)}var setMin=void 0!==tickOpts.min||void 0!==tickOpts.suggestedMin,setMax=void 0!==tickOpts.max||void 0!==tickOpts.suggestedMax;void 0!==tickOpts.min?me.min=tickOpts.min:void 0!==tickOpts.suggestedMin&&(null===me.min?me.min=tickOpts.suggestedMin:me.min=Math.min(me.min,tickOpts.suggestedMin)),void 0!==tickOpts.max?me.max=tickOpts.max:void 0!==tickOpts.suggestedMax&&(null===me.max?me.max=tickOpts.suggestedMax:me.max=Math.max(me.max,tickOpts.suggestedMax)),setMin!==setMax&&me.min>=me.max&&(setMin?me.max=me.min+1:me.min=me.max-1),me.min===me.max&&(me.max++,tickOpts.beginAtZero||me.min--)},getTickLimit:function(){var maxTicks,tickOpts=this.options.ticks,stepSize=tickOpts.stepSize,maxTicksLimit=tickOpts.maxTicksLimit;return stepSize?maxTicks=Math.ceil(this.max/stepSize)-Math.floor(this.min/stepSize)+1:(maxTicks=this._computeTickLimit(),maxTicksLimit=maxTicksLimit||11),maxTicksLimit&&(maxTicks=Math.min(maxTicksLimit,maxTicks)),maxTicks},_computeTickLimit:function(){return Number.POSITIVE_INFINITY},handleDirectionalChanges:noop,buildTicks:function(){var me=this,tickOpts=me.options.ticks,maxTicks=me.getTickLimit(),numericGeneratorOptions={maxTicks:maxTicks=Math.max(2,maxTicks),min:tickOpts.min,max:tickOpts.max,precision:tickOpts.precision,stepSize:helpers$1.valueOrDefault(tickOpts.fixedStepSize,tickOpts.stepSize)},ticks=me.ticks=function(generationOptions,dataRange){var factor,niceMin,niceMax,numSpaces,ticks=[],stepSize=generationOptions.stepSize,unit=stepSize||1,maxNumSpaces=generationOptions.maxTicks-1,min=generationOptions.min,max=generationOptions.max,precision=generationOptions.precision,rmin=dataRange.min,rmax=dataRange.max,spacing=helpers$1.niceNum((rmax-rmin)/maxNumSpaces/unit)*unit;if(spacing<1e-14&&isNullOrUndef$2(min)&&isNullOrUndef$2(max))return[rmin,rmax];(numSpaces=Math.ceil(rmax/spacing)-Math.floor(rmin/spacing))>maxNumSpaces&&(spacing=helpers$1.niceNum(numSpaces*spacing/maxNumSpaces/unit)*unit),stepSize||isNullOrUndef$2(precision)?factor=Math.pow(10,helpers$1._decimalPlaces(spacing)):(factor=Math.pow(10,precision),spacing=Math.ceil(spacing*factor)/factor),niceMin=Math.floor(rmin/spacing)*spacing,niceMax=Math.ceil(rmax/spacing)*spacing,stepSize&&(!isNullOrUndef$2(min)&&helpers$1.almostWhole(min/spacing,spacing/1e3)&&(niceMin=min),!isNullOrUndef$2(max)&&helpers$1.almostWhole(max/spacing,spacing/1e3)&&(niceMax=max)),numSpaces=(niceMax-niceMin)/spacing,numSpaces=helpers$1.almostEquals(numSpaces,Math.round(numSpaces),spacing/1e3)?Math.round(numSpaces):Math.ceil(numSpaces),niceMin=Math.round(niceMin*factor)/factor,niceMax=Math.round(niceMax*factor)/factor,ticks.push(isNullOrUndef$2(min)?niceMin:min);for(var j=1;jticks.length-1?null:this.getPixelForValue(ticks[index])}}),_defaults$1=defaultConfig$1;scale_linear._defaults=_defaults$1;var valueOrDefault$b=helpers$1.valueOrDefault,log10=helpers$1.math.log10;var defaultConfig$2={position:"left",ticks:{callback:core_ticks.formatters.logarithmic}};function nonNegativeOrDefault(value,defaultValue){return helpers$1.isFinite(value)&&value>=0?value:defaultValue}var scale_logarithmic=core_scale.extend({determineDataLimits:function(){var datasetIndex,meta,value,data,i,ilen,me=this,opts=me.options,chart=me.chart,datasets=chart.data.datasets,isHorizontal=me.isHorizontal();function IDMatches(meta){return isHorizontal?meta.xAxisID===me.id:meta.yAxisID===me.id}me.min=Number.POSITIVE_INFINITY,me.max=Number.NEGATIVE_INFINITY,me.minNotZero=Number.POSITIVE_INFINITY;var hasStacks=opts.stacked;if(void 0===hasStacks)for(datasetIndex=0;datasetIndex0){var minVal=helpers$1.min(valuesForType),maxVal=helpers$1.max(valuesForType);me.min=Math.min(me.min,minVal),me.max=Math.max(me.max,maxVal)}}))}else for(datasetIndex=0;datasetIndex0?me.minNotZero=me.min:me.max<1?me.minNotZero=Math.pow(10,Math.floor(log10(me.max))):me.minNotZero=1)},buildTicks:function(){var me=this,tickOpts=me.options.ticks,reverse=!me.isHorizontal(),generationOptions={min:nonNegativeOrDefault(tickOpts.min),max:nonNegativeOrDefault(tickOpts.max)},ticks=me.ticks=function(generationOptions,dataRange){var exp,significand,ticks=[],tickVal=valueOrDefault$b(generationOptions.min,Math.pow(10,Math.floor(log10(dataRange.min)))),endExp=Math.floor(log10(dataRange.max)),endSignificand=Math.ceil(dataRange.max/Math.pow(10,endExp));0===tickVal?(exp=Math.floor(log10(dataRange.minNotZero)),significand=Math.floor(dataRange.minNotZero/Math.pow(10,exp)),ticks.push(tickVal),tickVal=significand*Math.pow(10,exp)):(exp=Math.floor(log10(tickVal)),significand=Math.floor(tickVal/Math.pow(10,exp)));var precision=exp<0?Math.pow(10,Math.abs(exp)):1;do{ticks.push(tickVal),10==++significand&&(significand=1,precision=++exp>=0?1:precision),tickVal=Math.round(significand*Math.pow(10,exp)*precision)/precision}while(expticks.length-1?null:this.getPixelForValue(ticks[index])},_getFirstTickValue:function(value){var exp=Math.floor(log10(value));return Math.floor(value/Math.pow(10,exp))*Math.pow(10,exp)},_configure:function(){var me=this,start=me.min,offset=0;core_scale.prototype._configure.call(me),0===start&&(start=me._getFirstTickValue(me.minNotZero),offset=valueOrDefault$b(me.options.ticks.fontSize,core_defaults.global.defaultFontSize)/me._length),me._startValue=log10(start),me._valueOffset=offset,me._valueRange=(log10(me.max)-log10(start))/(1-offset)},getPixelForValue:function(value){var me=this,decimal=0;return(value=+me.getRightValue(value))>me.min&&value>0&&(decimal=(log10(value)-me._startValue)/me._valueRange+me._valueOffset),me.getPixelForDecimal(decimal)},getValueForPixel:function(pixel){var me=this,decimal=me.getDecimalForPixel(pixel);return 0===decimal&&0===me.min?0:Math.pow(10,me._startValue+(decimal-me._valueOffset)*me._valueRange)}}),_defaults$2=defaultConfig$2;scale_logarithmic._defaults=_defaults$2;var valueOrDefault$c=helpers$1.valueOrDefault,valueAtIndexOrDefault$1=helpers$1.valueAtIndexOrDefault,resolve$4=helpers$1.options.resolve,defaultConfig$3={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0,0,0,0.1)",lineWidth:1,borderDash:[],borderDashOffset:0},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:core_ticks.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(label){return label}}};function getTickBackdropHeight(opts){var tickOpts=opts.ticks;return tickOpts.display&&opts.display?valueOrDefault$c(tickOpts.fontSize,core_defaults.global.defaultFontSize)+2*tickOpts.backdropPaddingY:0}function determineLimits(angle,pos,size,min,max){return angle===min||angle===max?{start:pos-size/2,end:pos+size/2}:anglemax?{start:pos-size,end:pos}:{start:pos,end:pos+size}}function getTextAlignForAngle(angle){return 0===angle||180===angle?"center":angle<180?"left":"right"}function fillText(ctx,text,position,lineHeight){var i,ilen,y=position.y+lineHeight/2;if(helpers$1.isArray(text))for(i=0,ilen=text.length;i270||angle<90)&&(position.y-=textSize.h)}function numberOrZero(param){return helpers$1.isNumber(param)?param:0}var scale_radialLinear=scale_linearbase.extend({setDimensions:function(){var me=this;me.width=me.maxWidth,me.height=me.maxHeight,me.paddingTop=getTickBackdropHeight(me.options)/2,me.xCenter=Math.floor(me.width/2),me.yCenter=Math.floor((me.height-me.paddingTop)/2),me.drawingArea=Math.min(me.height-me.paddingTop,me.width)/2},determineDataLimits:function(){var me=this,chart=me.chart,min=Number.POSITIVE_INFINITY,max=Number.NEGATIVE_INFINITY;helpers$1.each(chart.data.datasets,(function(dataset,datasetIndex){if(chart.isDatasetVisible(datasetIndex)){var meta=chart.getDatasetMeta(datasetIndex);helpers$1.each(dataset.data,(function(rawValue,index){var value=+me.getRightValue(rawValue);isNaN(value)||meta.data[index].hidden||(min=Math.min(value,min),max=Math.max(value,max))}))}})),me.min=min===Number.POSITIVE_INFINITY?0:min,me.max=max===Number.NEGATIVE_INFINITY?0:max,me.handleTickRangeOptions()},_computeTickLimit:function(){return Math.ceil(this.drawingArea/getTickBackdropHeight(this.options))},convertTicksToLabels:function(){var me=this;scale_linearbase.prototype.convertTicksToLabels.call(me),me.pointLabels=me.chart.data.labels.map((function(){var label=helpers$1.callback(me.options.pointLabels.callback,arguments,me);return label||0===label?label:""}))},getLabelForIndex:function(index,datasetIndex){return+this.getRightValue(this.chart.data.datasets[datasetIndex].data[index])},fit:function(){var opts=this.options;opts.display&&opts.pointLabels.display?function(scale){var i,textSize,pointPosition,plFont=helpers$1.options._parseFont(scale.options.pointLabels),furthestLimits={l:0,r:scale.width,t:0,b:scale.height-scale.paddingTop},furthestAngles={};scale.ctx.font=plFont.string,scale._pointLabelSizes=[];var ctx,lineHeight,label,valueCount=scale.chart.data.labels.length;for(i=0;ifurthestLimits.r&&(furthestLimits.r=hLimits.end,furthestAngles.r=angleRadians),vLimits.startfurthestLimits.b&&(furthestLimits.b=vLimits.end,furthestAngles.b=angleRadians)}scale.setReductions(scale.drawingArea,furthestLimits,furthestAngles)}(this):this.setCenterPoint(0,0,0,0)},setReductions:function(largestPossibleRadius,furthestLimits,furthestAngles){var me=this,radiusReductionLeft=furthestLimits.l/Math.sin(furthestAngles.l),radiusReductionRight=Math.max(furthestLimits.r-me.width,0)/Math.sin(furthestAngles.r),radiusReductionTop=-furthestLimits.t/Math.cos(furthestAngles.t),radiusReductionBottom=-Math.max(furthestLimits.b-(me.height-me.paddingTop),0)/Math.cos(furthestAngles.b);radiusReductionLeft=numberOrZero(radiusReductionLeft),radiusReductionRight=numberOrZero(radiusReductionRight),radiusReductionTop=numberOrZero(radiusReductionTop),radiusReductionBottom=numberOrZero(radiusReductionBottom),me.drawingArea=Math.min(Math.floor(largestPossibleRadius-(radiusReductionLeft+radiusReductionRight)/2),Math.floor(largestPossibleRadius-(radiusReductionTop+radiusReductionBottom)/2)),me.setCenterPoint(radiusReductionLeft,radiusReductionRight,radiusReductionTop,radiusReductionBottom)},setCenterPoint:function(leftMovement,rightMovement,topMovement,bottomMovement){var me=this,maxRight=me.width-rightMovement-me.drawingArea,maxLeft=leftMovement+me.drawingArea,maxTop=topMovement+me.drawingArea,maxBottom=me.height-me.paddingTop-bottomMovement-me.drawingArea;me.xCenter=Math.floor((maxLeft+maxRight)/2+me.left),me.yCenter=Math.floor((maxTop+maxBottom)/2+me.top+me.paddingTop)},getIndexAngle:function(index){var chart=this.chart,angle=(index*(360/chart.data.labels.length)+((chart.options||{}).startAngle||0))%360;return(angle<0?angle+360:angle)*Math.PI*2/360},getDistanceFromCenterForValue:function(value){var me=this;if(helpers$1.isNullOrUndef(value))return NaN;var scalingFactor=me.drawingArea/(me.max-me.min);return me.options.ticks.reverse?(me.max-value)*scalingFactor:(value-me.min)*scalingFactor},getPointPosition:function(index,distanceFromCenter){var thisAngle=this.getIndexAngle(index)-Math.PI/2;return{x:Math.cos(thisAngle)*distanceFromCenter+this.xCenter,y:Math.sin(thisAngle)*distanceFromCenter+this.yCenter}},getPointPositionForValue:function(index,value){return this.getPointPosition(index,this.getDistanceFromCenterForValue(value))},getBasePosition:function(index){var min=this.min,max=this.max;return this.getPointPositionForValue(index||0,this.beginAtZero?0:min<0&&max<0?max:min>0&&max>0?min:0)},_drawGrid:function(){var i,offset,position,me=this,ctx=me.ctx,opts=me.options,gridLineOpts=opts.gridLines,angleLineOpts=opts.angleLines,lineWidth=valueOrDefault$c(angleLineOpts.lineWidth,gridLineOpts.lineWidth),lineColor=valueOrDefault$c(angleLineOpts.color,gridLineOpts.color);if(opts.pointLabels.display&&function(scale){var ctx=scale.ctx,opts=scale.options,pointLabelOpts=opts.pointLabels,tickBackdropHeight=getTickBackdropHeight(opts),outerDistance=scale.getDistanceFromCenterForValue(opts.ticks.reverse?scale.min:scale.max),plFont=helpers$1.options._parseFont(pointLabelOpts);ctx.save(),ctx.font=plFont.string,ctx.textBaseline="middle";for(var i=scale.chart.data.labels.length-1;i>=0;i--){var extra=0===i?tickBackdropHeight/2:0,pointLabelPosition=scale.getPointPosition(i,outerDistance+extra+5),pointLabelFontColor=valueAtIndexOrDefault$1(pointLabelOpts.fontColor,i,core_defaults.global.defaultFontColor);ctx.fillStyle=pointLabelFontColor;var angleRadians=scale.getIndexAngle(i),angle=helpers$1.toDegrees(angleRadians);ctx.textAlign=getTextAlignForAngle(angle),adjustPointPositionForLabelHeight(angle,scale._pointLabelSizes[i],pointLabelPosition),fillText(ctx,scale.pointLabels[i],pointLabelPosition,plFont.lineHeight)}ctx.restore()}(me),gridLineOpts.display&&helpers$1.each(me.ticks,(function(label,index){0!==index&&(offset=me.getDistanceFromCenterForValue(me.ticksAsNumbers[index]),function(scale,gridLineOpts,radius,index){var pointPosition,ctx=scale.ctx,circular=gridLineOpts.circular,valueCount=scale.chart.data.labels.length,lineColor=valueAtIndexOrDefault$1(gridLineOpts.color,index-1),lineWidth=valueAtIndexOrDefault$1(gridLineOpts.lineWidth,index-1);if((circular||valueCount)&&lineColor&&lineWidth){if(ctx.save(),ctx.strokeStyle=lineColor,ctx.lineWidth=lineWidth,ctx.setLineDash&&(ctx.setLineDash(gridLineOpts.borderDash||[]),ctx.lineDashOffset=gridLineOpts.borderDashOffset||0),ctx.beginPath(),circular)ctx.arc(scale.xCenter,scale.yCenter,radius,0,2*Math.PI);else{pointPosition=scale.getPointPosition(0,radius),ctx.moveTo(pointPosition.x,pointPosition.y);for(var i=1;i=0;i--)offset=me.getDistanceFromCenterForValue(opts.ticks.reverse?me.min:me.max),position=me.getPointPosition(i,offset),ctx.beginPath(),ctx.moveTo(me.xCenter,me.yCenter),ctx.lineTo(position.x,position.y),ctx.stroke();ctx.restore()}},_drawLabels:function(){var me=this,ctx=me.ctx,tickOpts=me.options.ticks;if(tickOpts.display){var offset,width,startAngle=me.getIndexAngle(0),tickFont=helpers$1.options._parseFont(tickOpts),tickFontColor=valueOrDefault$c(tickOpts.fontColor,core_defaults.global.defaultFontColor);ctx.save(),ctx.font=tickFont.string,ctx.translate(me.xCenter,me.yCenter),ctx.rotate(startAngle),ctx.textAlign="center",ctx.textBaseline="middle",helpers$1.each(me.ticks,(function(label,index){(0!==index||tickOpts.reverse)&&(offset=me.getDistanceFromCenterForValue(me.ticksAsNumbers[index]),tickOpts.showLabelBackdrop&&(width=ctx.measureText(label).width,ctx.fillStyle=tickOpts.backdropColor,ctx.fillRect(-width/2-tickOpts.backdropPaddingX,-offset-tickFont.size/2-tickOpts.backdropPaddingY,width+2*tickOpts.backdropPaddingX,tickFont.size+2*tickOpts.backdropPaddingY)),ctx.fillStyle=tickFontColor,ctx.fillText(label,0,-offset))})),ctx.restore()}},_drawTitle:helpers$1.noop}),_defaults$3=defaultConfig$3;scale_radialLinear._defaults=_defaults$3;var deprecated$1=helpers$1._deprecated,resolve$5=helpers$1.options.resolve,valueOrDefault$d=helpers$1.valueOrDefault,MIN_INTEGER=Number.MIN_SAFE_INTEGER||-9007199254740991,MAX_INTEGER=Number.MAX_SAFE_INTEGER||9007199254740991,INTERVALS={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},UNITS=Object.keys(INTERVALS);function sorter(a,b){return a-b}function getMin(options){return helpers$1.valueOrDefault(options.time.min,options.ticks.min)}function getMax(options){return helpers$1.valueOrDefault(options.time.max,options.ticks.max)}function interpolate$1(table,skey,sval,tkey){var range=function(table,key,value){for(var mid,i0,i1,lo=0,hi=table.length-1;lo>=0&&lo<=hi;){if(i0=table[(mid=lo+hi>>1)-1]||null,i1=table[mid],!i0)return{lo:null,hi:i1};if(i1[key]value))return{lo:i0,hi:i1};hi=mid-1}}return{lo:i1,hi:null}}(table,skey,sval),prev=range.lo?range.hi?range.lo:table[table.length-2]:table[0],next=range.lo?range.hi?range.hi:table[table.length-1]:table[1],span=next[skey]-prev[skey],ratio=span?(sval-prev[skey])/span:0,offset=(next[tkey]-prev[tkey])*ratio;return prev[tkey]+offset}function toTimestamp(scale,input){var adapter=scale._adapter,options=scale.options.time,parser=options.parser,format=parser||options.format,value=input;return"function"==typeof parser&&(value=parser(value)),helpers$1.isFinite(value)||(value="string"==typeof format?adapter.parse(value,format):adapter.parse(value)),null!==value?+value:(parser||"function"!=typeof format||(value=format(input),helpers$1.isFinite(value)||(value=adapter.parse(value))),value)}function parse(scale,input){if(helpers$1.isNullOrUndef(input))return null;var options=scale.options.time,value=toTimestamp(scale,scale.getRightValue(input));return null===value||options.round&&(value=+scale._adapter.startOf(value,options.round)),value}function determineUnitForAutoTicks(minUnit,min,max,capacity){var i,interval,factor,ilen=UNITS.length;for(i=UNITS.indexOf(minUnit);i=0&&(ticks[index].major=!0);return ticks}(scale,ticks,map,majorUnit):ticks}var scale_time=core_scale.extend({initialize:function(){this.mergeTicksOptions(),core_scale.prototype.initialize.call(this)},update:function(){var me=this,options=me.options,time=options.time||(options.time={}),adapter=me._adapter=new core_adapters._date(options.adapters.date);return deprecated$1("time scale",time.format,"time.format","time.parser"),deprecated$1("time scale",time.min,"time.min","ticks.min"),deprecated$1("time scale",time.max,"time.max","ticks.max"),helpers$1.mergeIf(time.displayFormats,adapter.formats()),core_scale.prototype.update.apply(me,arguments)},getRightValue:function(rawValue){return rawValue&&void 0!==rawValue.t&&(rawValue=rawValue.t),core_scale.prototype.getRightValue.call(this,rawValue)},determineDataLimits:function(){var i,j,ilen,jlen,data,timestamp,labelsAdded,me=this,chart=me.chart,adapter=me._adapter,options=me.options,unit=options.time.unit||"day",min=MAX_INTEGER,max=MIN_INTEGER,timestamps=[],datasets=[],labels=[],dataLabels=me._getLabels();for(i=0,ilen=dataLabels.length;i1?function(items){var i,ilen,item,hash={},out=[];for(i=0,ilen=items.length;i1e5*stepSize)throw min+" and "+max+" are too far apart with stepSize of "+stepSize+" "+minor;for(time=first;time=min&×tamp<=max&&ticks.push(timestamp);return me.min=min,me.max=max,me._unit=timeOpts.unit||(tickOpts.autoSkip?determineUnitForAutoTicks(timeOpts.minUnit,me.min,me.max,capacity):function(scale,numTicks,minUnit,min,max){var i,unit;for(i=UNITS.length-1;i>=UNITS.indexOf(minUnit);i--)if(unit=UNITS[i],INTERVALS[unit].common&&scale._adapter.diff(max,min,unit)>=numTicks-1)return unit;return UNITS[minUnit?UNITS.indexOf(minUnit):0]}(me,ticks.length,timeOpts.minUnit,me.min,me.max)),me._majorUnit=tickOpts.major.enabled&&"year"!==me._unit?function(unit){for(var i=UNITS.indexOf(unit)+1,ilen=UNITS.length;imin&&curr=0&&index0?capacity:1}}),_defaults$4={position:"bottom",distribution:"linear",bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{autoSkip:!1,source:"auto",major:{enabled:!1}}};scale_time._defaults=_defaults$4;var scales={category:scale_category,linear:scale_linear,logarithmic:scale_logarithmic,radialLinear:scale_radialLinear,time:scale_time},moment=createCommonjsModule((function(module,exports){module.exports=function(){var hookCallback,some;function hooks(){return hookCallback.apply(null,arguments)}function setHookCallback(callback){hookCallback=callback}function isArray(input){return input instanceof Array||"[object Array]"===Object.prototype.toString.call(input)}function isObject(input){return null!=input&&"[object Object]"===Object.prototype.toString.call(input)}function isObjectEmpty(obj){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(obj).length;var k;for(k in obj)if(obj.hasOwnProperty(k))return!1;return!0}function isUndefined(input){return void 0===input}function isNumber(input){return"number"==typeof input||"[object Number]"===Object.prototype.toString.call(input)}function isDate(input){return input instanceof Date||"[object Date]"===Object.prototype.toString.call(input)}function map(arr,fn){var i,res=[];for(i=0;i>>0,i=0;i0)for(i=0;i0?"future":"past"];return isFunction(format)?format(output):format.replace(/%s/i,output)}var aliases={};function addUnitAlias(unit,shorthand){var lowerCase=unit.toLowerCase();aliases[lowerCase]=aliases[lowerCase+"s"]=aliases[shorthand]=unit}function normalizeUnits(units){return"string"==typeof units?aliases[units]||aliases[units.toLowerCase()]:void 0}function normalizeObjectUnits(inputObject){var normalizedProp,prop,normalizedInput={};for(prop in inputObject)hasOwnProp(inputObject,prop)&&(normalizedProp=normalizeUnits(prop))&&(normalizedInput[normalizedProp]=inputObject[prop]);return normalizedInput}var priorities={};function addUnitPriority(unit,priority){priorities[unit]=priority}function getPrioritizedUnits(unitsObj){var units=[];for(var u in unitsObj)units.push({unit:u,priority:priorities[u]});return units.sort((function(a,b){return a.priority-b.priority})),units}function zeroFill(number,targetLength,forceSign){var absNumber=""+Math.abs(number),zerosToFill=targetLength-absNumber.length;return(number>=0?forceSign?"+":"":"-")+Math.pow(10,Math.max(0,zerosToFill)).toString().substr(1)+absNumber}var formattingTokens=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,localFormattingTokens=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,formatFunctions={},formatTokenFunctions={};function addFormatToken(token,padded,ordinal,callback){var func=callback;"string"==typeof callback&&(func=function(){return this[callback]()}),token&&(formatTokenFunctions[token]=func),padded&&(formatTokenFunctions[padded[0]]=function(){return zeroFill(func.apply(this,arguments),padded[1],padded[2])}),ordinal&&(formatTokenFunctions[ordinal]=function(){return this.localeData().ordinal(func.apply(this,arguments),token)})}function removeFormattingTokens(input){return input.match(/\[[\s\S]/)?input.replace(/^\[|\]$/g,""):input.replace(/\\/g,"")}function makeFormatFunction(format){var i,length,array=format.match(formattingTokens);for(i=0,length=array.length;i=0&&localFormattingTokens.test(format);)format=format.replace(localFormattingTokens,replaceLongDateFormatTokens),localFormattingTokens.lastIndex=0,i-=1;return format}var match1=/\d/,match2=/\d\d/,match3=/\d{3}/,match4=/\d{4}/,match6=/[+-]?\d{6}/,match1to2=/\d\d?/,match3to4=/\d\d\d\d?/,match5to6=/\d\d\d\d\d\d?/,match1to3=/\d{1,3}/,match1to4=/\d{1,4}/,match1to6=/[+-]?\d{1,6}/,matchUnsigned=/\d+/,matchSigned=/[+-]?\d+/,matchOffset=/Z|[+-]\d\d:?\d\d/gi,matchShortOffset=/Z|[+-]\d\d(?::?\d\d)?/gi,matchTimestamp=/[+-]?\d+(\.\d{1,3})?/,matchWord=/[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,regexes={};function addRegexToken(token,regex,strictRegex){regexes[token]=isFunction(regex)?regex:function(isStrict,localeData){return isStrict&&strictRegex?strictRegex:regex}}function getParseRegexForToken(token,config){return hasOwnProp(regexes,token)?regexes[token](config._strict,config._locale):new RegExp(unescapeFormat(token))}function unescapeFormat(s){return regexEscape(s.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(matched,p1,p2,p3,p4){return p1||p2||p3||p4})))}function regexEscape(s){return s.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var tokens={};function addParseToken(token,callback){var i,func=callback;for("string"==typeof token&&(token=[token]),isNumber(callback)&&(func=function(input,array){array[callback]=toInt(input)}),i=0;i68?1900:2e3)};var indexOf,getSetYear=makeGetSet("FullYear",!0);function getIsLeapYear(){return isLeapYear(this.year())}function makeGetSet(unit,keepTime){return function(value){return null!=value?(set$1(this,unit,value),hooks.updateOffset(this,keepTime),this):get(this,unit)}}function get(mom,unit){return mom.isValid()?mom._d["get"+(mom._isUTC?"UTC":"")+unit]():NaN}function set$1(mom,unit,value){mom.isValid()&&!isNaN(value)&&("FullYear"===unit&&isLeapYear(mom.year())&&1===mom.month()&&29===mom.date()?mom._d["set"+(mom._isUTC?"UTC":"")+unit](value,mom.month(),daysInMonth(value,mom.month())):mom._d["set"+(mom._isUTC?"UTC":"")+unit](value))}function stringGet(units){return isFunction(this[units=normalizeUnits(units)])?this[units]():this}function stringSet(units,value){if("object"==typeof units)for(var prioritized=getPrioritizedUnits(units=normalizeObjectUnits(units)),i=0;i=0?(date=new Date(y+400,m,d,h,M,s,ms),isFinite(date.getFullYear())&&date.setFullYear(y)):date=new Date(y,m,d,h,M,s,ms),date}function createUTCDate(y){var date;if(y<100&&y>=0){var args=Array.prototype.slice.call(arguments);args[0]=y+400,date=new Date(Date.UTC.apply(null,args)),isFinite(date.getUTCFullYear())&&date.setUTCFullYear(y)}else date=new Date(Date.UTC.apply(null,arguments));return date}function firstWeekOffset(year,dow,doy){var fwd=7+dow-doy;return-(7+createUTCDate(year,0,fwd).getUTCDay()-dow)%7+fwd-1}function dayOfYearFromWeeks(year,week,weekday,dow,doy){var resYear,resDayOfYear,dayOfYear=1+7*(week-1)+(7+weekday-dow)%7+firstWeekOffset(year,dow,doy);return dayOfYear<=0?resDayOfYear=daysInYear(resYear=year-1)+dayOfYear:dayOfYear>daysInYear(year)?(resYear=year+1,resDayOfYear=dayOfYear-daysInYear(year)):(resYear=year,resDayOfYear=dayOfYear),{year:resYear,dayOfYear:resDayOfYear}}function weekOfYear(mom,dow,doy){var resWeek,resYear,weekOffset=firstWeekOffset(mom.year(),dow,doy),week=Math.floor((mom.dayOfYear()-weekOffset-1)/7)+1;return week<1?resWeek=week+weeksInYear(resYear=mom.year()-1,dow,doy):week>weeksInYear(mom.year(),dow,doy)?(resWeek=week-weeksInYear(mom.year(),dow,doy),resYear=mom.year()+1):(resYear=mom.year(),resWeek=week),{week:resWeek,year:resYear}}function weeksInYear(year,dow,doy){var weekOffset=firstWeekOffset(year,dow,doy),weekOffsetNext=firstWeekOffset(year+1,dow,doy);return(daysInYear(year)-weekOffset+weekOffsetNext)/7}function localeWeek(mom){return weekOfYear(mom,this._week.dow,this._week.doy).week}addFormatToken("w",["ww",2],"wo","week"),addFormatToken("W",["WW",2],"Wo","isoWeek"),addUnitAlias("week","w"),addUnitAlias("isoWeek","W"),addUnitPriority("week",5),addUnitPriority("isoWeek",5),addRegexToken("w",match1to2),addRegexToken("ww",match1to2,match2),addRegexToken("W",match1to2),addRegexToken("WW",match1to2,match2),addWeekParseToken(["w","ww","W","WW"],(function(input,week,config,token){week[token.substr(0,1)]=toInt(input)}));var defaultLocaleWeek={dow:0,doy:6};function localeFirstDayOfWeek(){return this._week.dow}function localeFirstDayOfYear(){return this._week.doy}function getSetWeek(input){var week=this.localeData().week(this);return null==input?week:this.add(7*(input-week),"d")}function getSetISOWeek(input){var week=weekOfYear(this,1,4).week;return null==input?week:this.add(7*(input-week),"d")}function parseWeekday(input,locale){return"string"!=typeof input?input:isNaN(input)?"number"==typeof(input=locale.weekdaysParse(input))?input:null:parseInt(input,10)}function parseIsoWeekday(input,locale){return"string"==typeof input?locale.weekdaysParse(input)%7||7:isNaN(input)?null:input}function shiftWeekdays(ws,n){return ws.slice(n,7).concat(ws.slice(0,n))}addFormatToken("d",0,"do","day"),addFormatToken("dd",0,0,(function(format){return this.localeData().weekdaysMin(this,format)})),addFormatToken("ddd",0,0,(function(format){return this.localeData().weekdaysShort(this,format)})),addFormatToken("dddd",0,0,(function(format){return this.localeData().weekdays(this,format)})),addFormatToken("e",0,0,"weekday"),addFormatToken("E",0,0,"isoWeekday"),addUnitAlias("day","d"),addUnitAlias("weekday","e"),addUnitAlias("isoWeekday","E"),addUnitPriority("day",11),addUnitPriority("weekday",11),addUnitPriority("isoWeekday",11),addRegexToken("d",match1to2),addRegexToken("e",match1to2),addRegexToken("E",match1to2),addRegexToken("dd",(function(isStrict,locale){return locale.weekdaysMinRegex(isStrict)})),addRegexToken("ddd",(function(isStrict,locale){return locale.weekdaysShortRegex(isStrict)})),addRegexToken("dddd",(function(isStrict,locale){return locale.weekdaysRegex(isStrict)})),addWeekParseToken(["dd","ddd","dddd"],(function(input,week,config,token){var weekday=config._locale.weekdaysParse(input,token,config._strict);null!=weekday?week.d=weekday:getParsingFlags(config).invalidWeekday=input})),addWeekParseToken(["d","e","E"],(function(input,week,config,token){week[token]=toInt(input)}));var defaultLocaleWeekdays="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");function localeWeekdays(m,format){var weekdays=isArray(this._weekdays)?this._weekdays:this._weekdays[m&&!0!==m&&this._weekdays.isFormat.test(format)?"format":"standalone"];return!0===m?shiftWeekdays(weekdays,this._week.dow):m?weekdays[m.day()]:weekdays}var defaultLocaleWeekdaysShort="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");function localeWeekdaysShort(m){return!0===m?shiftWeekdays(this._weekdaysShort,this._week.dow):m?this._weekdaysShort[m.day()]:this._weekdaysShort}var defaultLocaleWeekdaysMin="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function localeWeekdaysMin(m){return!0===m?shiftWeekdays(this._weekdaysMin,this._week.dow):m?this._weekdaysMin[m.day()]:this._weekdaysMin}function handleStrictParse$1(weekdayName,format,strict){var i,ii,mom,llc=weekdayName.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],i=0;i<7;++i)mom=createUTC([2e3,1]).day(i),this._minWeekdaysParse[i]=this.weekdaysMin(mom,"").toLocaleLowerCase(),this._shortWeekdaysParse[i]=this.weekdaysShort(mom,"").toLocaleLowerCase(),this._weekdaysParse[i]=this.weekdays(mom,"").toLocaleLowerCase();return strict?"dddd"===format?-1!==(ii=indexOf.call(this._weekdaysParse,llc))?ii:null:"ddd"===format?-1!==(ii=indexOf.call(this._shortWeekdaysParse,llc))?ii:null:-1!==(ii=indexOf.call(this._minWeekdaysParse,llc))?ii:null:"dddd"===format?-1!==(ii=indexOf.call(this._weekdaysParse,llc))||-1!==(ii=indexOf.call(this._shortWeekdaysParse,llc))||-1!==(ii=indexOf.call(this._minWeekdaysParse,llc))?ii:null:"ddd"===format?-1!==(ii=indexOf.call(this._shortWeekdaysParse,llc))||-1!==(ii=indexOf.call(this._weekdaysParse,llc))||-1!==(ii=indexOf.call(this._minWeekdaysParse,llc))?ii:null:-1!==(ii=indexOf.call(this._minWeekdaysParse,llc))||-1!==(ii=indexOf.call(this._weekdaysParse,llc))||-1!==(ii=indexOf.call(this._shortWeekdaysParse,llc))?ii:null}function localeWeekdaysParse(weekdayName,format,strict){var i,mom,regex;if(this._weekdaysParseExact)return handleStrictParse$1.call(this,weekdayName,format,strict);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),i=0;i<7;i++){if(mom=createUTC([2e3,1]).day(i),strict&&!this._fullWeekdaysParse[i]&&(this._fullWeekdaysParse[i]=new RegExp("^"+this.weekdays(mom,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[i]=new RegExp("^"+this.weekdaysShort(mom,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[i]=new RegExp("^"+this.weekdaysMin(mom,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[i]||(regex="^"+this.weekdays(mom,"")+"|^"+this.weekdaysShort(mom,"")+"|^"+this.weekdaysMin(mom,""),this._weekdaysParse[i]=new RegExp(regex.replace(".",""),"i")),strict&&"dddd"===format&&this._fullWeekdaysParse[i].test(weekdayName))return i;if(strict&&"ddd"===format&&this._shortWeekdaysParse[i].test(weekdayName))return i;if(strict&&"dd"===format&&this._minWeekdaysParse[i].test(weekdayName))return i;if(!strict&&this._weekdaysParse[i].test(weekdayName))return i}}function getSetDayOfWeek(input){if(!this.isValid())return null!=input?this:NaN;var day=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=input?(input=parseWeekday(input,this.localeData()),this.add(input-day,"d")):day}function getSetLocaleDayOfWeek(input){if(!this.isValid())return null!=input?this:NaN;var weekday=(this.day()+7-this.localeData()._week.dow)%7;return null==input?weekday:this.add(input-weekday,"d")}function getSetISODayOfWeek(input){if(!this.isValid())return null!=input?this:NaN;if(null!=input){var weekday=parseIsoWeekday(input,this.localeData());return this.day(this.day()%7?weekday:weekday-7)}return this.day()||7}var defaultWeekdaysRegex=matchWord;function weekdaysRegex(isStrict){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),isStrict?this._weekdaysStrictRegex:this._weekdaysRegex):(hasOwnProp(this,"_weekdaysRegex")||(this._weekdaysRegex=defaultWeekdaysRegex),this._weekdaysStrictRegex&&isStrict?this._weekdaysStrictRegex:this._weekdaysRegex)}var defaultWeekdaysShortRegex=matchWord;function weekdaysShortRegex(isStrict){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),isStrict?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(hasOwnProp(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=defaultWeekdaysShortRegex),this._weekdaysShortStrictRegex&&isStrict?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}var defaultWeekdaysMinRegex=matchWord;function weekdaysMinRegex(isStrict){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),isStrict?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(hasOwnProp(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=defaultWeekdaysMinRegex),this._weekdaysMinStrictRegex&&isStrict?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function computeWeekdaysParse(){function cmpLenRev(a,b){return b.length-a.length}var i,mom,minp,shortp,longp,minPieces=[],shortPieces=[],longPieces=[],mixedPieces=[];for(i=0;i<7;i++)mom=createUTC([2e3,1]).day(i),minp=this.weekdaysMin(mom,""),shortp=this.weekdaysShort(mom,""),longp=this.weekdays(mom,""),minPieces.push(minp),shortPieces.push(shortp),longPieces.push(longp),mixedPieces.push(minp),mixedPieces.push(shortp),mixedPieces.push(longp);for(minPieces.sort(cmpLenRev),shortPieces.sort(cmpLenRev),longPieces.sort(cmpLenRev),mixedPieces.sort(cmpLenRev),i=0;i<7;i++)shortPieces[i]=regexEscape(shortPieces[i]),longPieces[i]=regexEscape(longPieces[i]),mixedPieces[i]=regexEscape(mixedPieces[i]);this._weekdaysRegex=new RegExp("^("+mixedPieces.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+longPieces.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+shortPieces.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+minPieces.join("|")+")","i")}function hFormat(){return this.hours()%12||12}function kFormat(){return this.hours()||24}function meridiem(token,lowercase){addFormatToken(token,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),lowercase)}))}function matchMeridiem(isStrict,locale){return locale._meridiemParse}function localeIsPM(input){return"p"===(input+"").toLowerCase().charAt(0)}addFormatToken("H",["HH",2],0,"hour"),addFormatToken("h",["hh",2],0,hFormat),addFormatToken("k",["kk",2],0,kFormat),addFormatToken("hmm",0,0,(function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)})),addFormatToken("hmmss",0,0,(function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)})),addFormatToken("Hmm",0,0,(function(){return""+this.hours()+zeroFill(this.minutes(),2)})),addFormatToken("Hmmss",0,0,(function(){return""+this.hours()+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)})),meridiem("a",!0),meridiem("A",!1),addUnitAlias("hour","h"),addUnitPriority("hour",13),addRegexToken("a",matchMeridiem),addRegexToken("A",matchMeridiem),addRegexToken("H",match1to2),addRegexToken("h",match1to2),addRegexToken("k",match1to2),addRegexToken("HH",match1to2,match2),addRegexToken("hh",match1to2,match2),addRegexToken("kk",match1to2,match2),addRegexToken("hmm",match3to4),addRegexToken("hmmss",match5to6),addRegexToken("Hmm",match3to4),addRegexToken("Hmmss",match5to6),addParseToken(["H","HH"],HOUR),addParseToken(["k","kk"],(function(input,array,config){var kInput=toInt(input);array[HOUR]=24===kInput?0:kInput})),addParseToken(["a","A"],(function(input,array,config){config._isPm=config._locale.isPM(input),config._meridiem=input})),addParseToken(["h","hh"],(function(input,array,config){array[HOUR]=toInt(input),getParsingFlags(config).bigHour=!0})),addParseToken("hmm",(function(input,array,config){var pos=input.length-2;array[HOUR]=toInt(input.substr(0,pos)),array[MINUTE]=toInt(input.substr(pos)),getParsingFlags(config).bigHour=!0})),addParseToken("hmmss",(function(input,array,config){var pos1=input.length-4,pos2=input.length-2;array[HOUR]=toInt(input.substr(0,pos1)),array[MINUTE]=toInt(input.substr(pos1,2)),array[SECOND]=toInt(input.substr(pos2)),getParsingFlags(config).bigHour=!0})),addParseToken("Hmm",(function(input,array,config){var pos=input.length-2;array[HOUR]=toInt(input.substr(0,pos)),array[MINUTE]=toInt(input.substr(pos))})),addParseToken("Hmmss",(function(input,array,config){var pos1=input.length-4,pos2=input.length-2;array[HOUR]=toInt(input.substr(0,pos1)),array[MINUTE]=toInt(input.substr(pos1,2)),array[SECOND]=toInt(input.substr(pos2))}));var defaultLocaleMeridiemParse=/[ap]\.?m?\.?/i;function localeMeridiem(hours,minutes,isLower){return hours>11?isLower?"pm":"PM":isLower?"am":"AM"}var globalLocale,getSetHour=makeGetSet("Hours",!0),baseConfig={calendar:defaultCalendar,longDateFormat:defaultLongDateFormat,invalidDate:defaultInvalidDate,ordinal:defaultOrdinal,dayOfMonthOrdinalParse:defaultDayOfMonthOrdinalParse,relativeTime:defaultRelativeTime,months:defaultLocaleMonths,monthsShort:defaultLocaleMonthsShort,week:defaultLocaleWeek,weekdays:defaultLocaleWeekdays,weekdaysMin:defaultLocaleWeekdaysMin,weekdaysShort:defaultLocaleWeekdaysShort,meridiemParse:defaultLocaleMeridiemParse},locales={},localeFamilies={};function normalizeLocale(key){return key?key.toLowerCase().replace("_","-"):key}function chooseLocale(names){for(var j,next,locale,split,i=0;i0;){if(locale=loadLocale(split.slice(0,j).join("-")))return locale;if(next&&next.length>=j&&compareArrays(split,next,!0)>=j-1)break;j--}i++}return globalLocale}function loadLocale(name){var oldLocale=null;if(!locales[name]&&module&&module.exports)try{oldLocale=globalLocale._abbr,commonjsRequire(),getSetGlobalLocale(oldLocale)}catch(e){}return locales[name]}function getSetGlobalLocale(key,values){var data;return key&&((data=isUndefined(values)?getLocale(key):defineLocale(key,values))?globalLocale=data:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+key+" not found. Did you forget to load it?")),globalLocale._abbr}function defineLocale(name,config){if(null!==config){var locale,parentConfig=baseConfig;if(config.abbr=name,null!=locales[name])deprecateSimple("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),parentConfig=locales[name]._config;else if(null!=config.parentLocale)if(null!=locales[config.parentLocale])parentConfig=locales[config.parentLocale]._config;else{if(null==(locale=loadLocale(config.parentLocale)))return localeFamilies[config.parentLocale]||(localeFamilies[config.parentLocale]=[]),localeFamilies[config.parentLocale].push({name:name,config:config}),null;parentConfig=locale._config}return locales[name]=new Locale(mergeConfigs(parentConfig,config)),localeFamilies[name]&&localeFamilies[name].forEach((function(x){defineLocale(x.name,x.config)})),getSetGlobalLocale(name),locales[name]}return delete locales[name],null}function updateLocale(name,config){if(null!=config){var locale,tmpLocale,parentConfig=baseConfig;null!=(tmpLocale=loadLocale(name))&&(parentConfig=tmpLocale._config),(locale=new Locale(config=mergeConfigs(parentConfig,config))).parentLocale=locales[name],locales[name]=locale,getSetGlobalLocale(name)}else null!=locales[name]&&(null!=locales[name].parentLocale?locales[name]=locales[name].parentLocale:null!=locales[name]&&delete locales[name]);return locales[name]}function getLocale(key){var locale;if(key&&key._locale&&key._locale._abbr&&(key=key._locale._abbr),!key)return globalLocale;if(!isArray(key)){if(locale=loadLocale(key))return locale;key=[key]}return chooseLocale(key)}function listLocales(){return keys(locales)}function checkOverflow(m){var overflow,a=m._a;return a&&-2===getParsingFlags(m).overflow&&(overflow=a[MONTH]<0||a[MONTH]>11?MONTH:a[DATE]<1||a[DATE]>daysInMonth(a[YEAR],a[MONTH])?DATE:a[HOUR]<0||a[HOUR]>24||24===a[HOUR]&&(0!==a[MINUTE]||0!==a[SECOND]||0!==a[MILLISECOND])?HOUR:a[MINUTE]<0||a[MINUTE]>59?MINUTE:a[SECOND]<0||a[SECOND]>59?SECOND:a[MILLISECOND]<0||a[MILLISECOND]>999?MILLISECOND:-1,getParsingFlags(m)._overflowDayOfYear&&(overflowDATE)&&(overflow=DATE),getParsingFlags(m)._overflowWeeks&&-1===overflow&&(overflow=WEEK),getParsingFlags(m)._overflowWeekday&&-1===overflow&&(overflow=WEEKDAY),getParsingFlags(m).overflow=overflow),m}function defaults(a,b,c){return null!=a?a:null!=b?b:c}function currentDateArray(config){var nowValue=new Date(hooks.now());return config._useUTC?[nowValue.getUTCFullYear(),nowValue.getUTCMonth(),nowValue.getUTCDate()]:[nowValue.getFullYear(),nowValue.getMonth(),nowValue.getDate()]}function configFromArray(config){var i,date,currentDate,expectedWeekday,yearToUse,input=[];if(!config._d){for(currentDate=currentDateArray(config),config._w&&null==config._a[DATE]&&null==config._a[MONTH]&&dayOfYearFromWeekInfo(config),null!=config._dayOfYear&&(yearToUse=defaults(config._a[YEAR],currentDate[YEAR]),(config._dayOfYear>daysInYear(yearToUse)||0===config._dayOfYear)&&(getParsingFlags(config)._overflowDayOfYear=!0),date=createUTCDate(yearToUse,0,config._dayOfYear),config._a[MONTH]=date.getUTCMonth(),config._a[DATE]=date.getUTCDate()),i=0;i<3&&null==config._a[i];++i)config._a[i]=input[i]=currentDate[i];for(;i<7;i++)config._a[i]=input[i]=null==config._a[i]?2===i?1:0:config._a[i];24===config._a[HOUR]&&0===config._a[MINUTE]&&0===config._a[SECOND]&&0===config._a[MILLISECOND]&&(config._nextDay=!0,config._a[HOUR]=0),config._d=(config._useUTC?createUTCDate:createDate).apply(null,input),expectedWeekday=config._useUTC?config._d.getUTCDay():config._d.getDay(),null!=config._tzm&&config._d.setUTCMinutes(config._d.getUTCMinutes()-config._tzm),config._nextDay&&(config._a[HOUR]=24),config._w&&void 0!==config._w.d&&config._w.d!==expectedWeekday&&(getParsingFlags(config).weekdayMismatch=!0)}}function dayOfYearFromWeekInfo(config){var w,weekYear,week,weekday,dow,doy,temp,weekdayOverflow;if(null!=(w=config._w).GG||null!=w.W||null!=w.E)dow=1,doy=4,weekYear=defaults(w.GG,config._a[YEAR],weekOfYear(createLocal(),1,4).year),week=defaults(w.W,1),((weekday=defaults(w.E,1))<1||weekday>7)&&(weekdayOverflow=!0);else{dow=config._locale._week.dow,doy=config._locale._week.doy;var curWeek=weekOfYear(createLocal(),dow,doy);weekYear=defaults(w.gg,config._a[YEAR],curWeek.year),week=defaults(w.w,curWeek.week),null!=w.d?((weekday=w.d)<0||weekday>6)&&(weekdayOverflow=!0):null!=w.e?(weekday=w.e+dow,(w.e<0||w.e>6)&&(weekdayOverflow=!0)):weekday=dow}week<1||week>weeksInYear(weekYear,dow,doy)?getParsingFlags(config)._overflowWeeks=!0:null!=weekdayOverflow?getParsingFlags(config)._overflowWeekday=!0:(temp=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy),config._a[YEAR]=temp.year,config._dayOfYear=temp.dayOfYear)}var extendedIsoRegex=/^\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)?)?$/,basicIsoRegex=/^\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)?)?$/,tzRegex=/Z|[+-]\d\d(?::?\d\d)?/,isoDates=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],isoTimes=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],aspNetJsonRegex=/^\/?Date\((\-?\d+)/i;function configFromISO(config){var i,l,allowTime,dateFormat,timeFormat,tzFormat,string=config._i,match=extendedIsoRegex.exec(string)||basicIsoRegex.exec(string);if(match){for(getParsingFlags(config).iso=!0,i=0,l=isoDates.length;i0&&getParsingFlags(config).unusedInput.push(skipped),string=string.slice(string.indexOf(parsedInput)+parsedInput.length),totalParsedInputLength+=parsedInput.length),formatTokenFunctions[token]?(parsedInput?getParsingFlags(config).empty=!1:getParsingFlags(config).unusedTokens.push(token),addTimeToArrayFromToken(token,parsedInput,config)):config._strict&&!parsedInput&&getParsingFlags(config).unusedTokens.push(token);getParsingFlags(config).charsLeftOver=stringLength-totalParsedInputLength,string.length>0&&getParsingFlags(config).unusedInput.push(string),config._a[HOUR]<=12&&!0===getParsingFlags(config).bigHour&&config._a[HOUR]>0&&(getParsingFlags(config).bigHour=void 0),getParsingFlags(config).parsedDateParts=config._a.slice(0),getParsingFlags(config).meridiem=config._meridiem,config._a[HOUR]=meridiemFixWrap(config._locale,config._a[HOUR],config._meridiem),configFromArray(config),checkOverflow(config)}else configFromRFC2822(config);else configFromISO(config)}function meridiemFixWrap(locale,hour,meridiem){var isPm;return null==meridiem?hour:null!=locale.meridiemHour?locale.meridiemHour(hour,meridiem):null!=locale.isPM?((isPm=locale.isPM(meridiem))&&hour<12&&(hour+=12),isPm||12!==hour||(hour=0),hour):hour}function configFromStringAndArray(config){var tempConfig,bestMoment,scoreToBeat,i,currentScore;if(0===config._f.length)return getParsingFlags(config).invalidFormat=!0,void(config._d=new Date(NaN));for(i=0;ithis?this:other:createInvalid()}));function pickBy(fn,moments){var res,i;if(1===moments.length&&isArray(moments[0])&&(moments=moments[0]),!moments.length)return createLocal();for(res=moments[0],i=1;ithis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function isDaylightSavingTimeShifted(){if(!isUndefined(this._isDSTShifted))return this._isDSTShifted;var c={};if(copyConfig(c,this),(c=prepareConfig(c))._a){var other=c._isUTC?createUTC(c._a):createLocal(c._a);this._isDSTShifted=this.isValid()&&compareArrays(c._a,other.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function isLocal(){return!!this.isValid()&&!this._isUTC}function isUtcOffset(){return!!this.isValid()&&this._isUTC}function isUtc(){return!!this.isValid()&&this._isUTC&&0===this._offset}hooks.updateOffset=function(){};var aspNetRegex=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,isoRegex=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function createDuration(input,key){var sign,ret,diffRes,duration=input,match=null;return isDuration(input)?duration={ms:input._milliseconds,d:input._days,M:input._months}:isNumber(input)?(duration={},key?duration[key]=input:duration.milliseconds=input):(match=aspNetRegex.exec(input))?(sign="-"===match[1]?-1:1,duration={y:0,d:toInt(match[DATE])*sign,h:toInt(match[HOUR])*sign,m:toInt(match[MINUTE])*sign,s:toInt(match[SECOND])*sign,ms:toInt(absRound(1e3*match[MILLISECOND]))*sign}):(match=isoRegex.exec(input))?(sign="-"===match[1]?-1:1,duration={y:parseIso(match[2],sign),M:parseIso(match[3],sign),w:parseIso(match[4],sign),d:parseIso(match[5],sign),h:parseIso(match[6],sign),m:parseIso(match[7],sign),s:parseIso(match[8],sign)}):null==duration?duration={}:"object"==typeof duration&&("from"in duration||"to"in duration)&&(diffRes=momentsDifference(createLocal(duration.from),createLocal(duration.to)),(duration={}).ms=diffRes.milliseconds,duration.M=diffRes.months),ret=new Duration(duration),isDuration(input)&&hasOwnProp(input,"_locale")&&(ret._locale=input._locale),ret}function parseIso(inp,sign){var res=inp&&parseFloat(inp.replace(",","."));return(isNaN(res)?0:res)*sign}function positiveMomentsDifference(base,other){var res={};return res.months=other.month()-base.month()+12*(other.year()-base.year()),base.clone().add(res.months,"M").isAfter(other)&&--res.months,res.milliseconds=+other-+base.clone().add(res.months,"M"),res}function momentsDifference(base,other){var res;return base.isValid()&&other.isValid()?(other=cloneWithOffset(other,base),base.isBefore(other)?res=positiveMomentsDifference(base,other):((res=positiveMomentsDifference(other,base)).milliseconds=-res.milliseconds,res.months=-res.months),res):{milliseconds:0,months:0}}function createAdder(direction,name){return function(val,period){var tmp;return null===period||isNaN(+period)||(deprecateSimple(name,"moment()."+name+"(period, number) is deprecated. Please use moment()."+name+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),tmp=val,val=period,period=tmp),addSubtract(this,createDuration(val="string"==typeof val?+val:val,period),direction),this}}function addSubtract(mom,duration,isAdding,updateOffset){var milliseconds=duration._milliseconds,days=absRound(duration._days),months=absRound(duration._months);mom.isValid()&&(updateOffset=null==updateOffset||updateOffset,months&&setMonth(mom,get(mom,"Month")+months*isAdding),days&&set$1(mom,"Date",get(mom,"Date")+days*isAdding),milliseconds&&mom._d.setTime(mom._d.valueOf()+milliseconds*isAdding),updateOffset&&hooks.updateOffset(mom,days||months))}createDuration.fn=Duration.prototype,createDuration.invalid=createInvalid$1;var add=createAdder(1,"add"),subtract=createAdder(-1,"subtract");function getCalendarFormat(myMoment,now){var diff=myMoment.diff(now,"days",!0);return diff<-6?"sameElse":diff<-1?"lastWeek":diff<0?"lastDay":diff<1?"sameDay":diff<2?"nextDay":diff<7?"nextWeek":"sameElse"}function calendar$1(time,formats){var now=time||createLocal(),sod=cloneWithOffset(now,this).startOf("day"),format=hooks.calendarFormat(this,sod)||"sameElse",output=formats&&(isFunction(formats[format])?formats[format].call(this,now):formats[format]);return this.format(output||this.localeData().calendar(format,this,createLocal(now)))}function clone(){return new Moment(this)}function isAfter(input,units){var localInput=isMoment(input)?input:createLocal(input);return!(!this.isValid()||!localInput.isValid())&&("millisecond"===(units=normalizeUnits(units)||"millisecond")?this.valueOf()>localInput.valueOf():localInput.valueOf()9999?formatMoment(m,utc?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):isFunction(Date.prototype.toISOString)?utc?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",formatMoment(m,"Z")):formatMoment(m,utc?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function inspect(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var func="moment",zone="";this.isLocal()||(func=0===this.utcOffset()?"moment.utc":"moment.parseZone",zone="Z");var prefix="["+func+'("]',year=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",datetime="-MM-DD[T]HH:mm:ss.SSS",suffix=zone+'[")]';return this.format(prefix+year+datetime+suffix)}function format(inputString){inputString||(inputString=this.isUtc()?hooks.defaultFormatUtc:hooks.defaultFormat);var output=formatMoment(this,inputString);return this.localeData().postformat(output)}function from(time,withoutSuffix){return this.isValid()&&(isMoment(time)&&time.isValid()||createLocal(time).isValid())?createDuration({to:this,from:time}).locale(this.locale()).humanize(!withoutSuffix):this.localeData().invalidDate()}function fromNow(withoutSuffix){return this.from(createLocal(),withoutSuffix)}function to(time,withoutSuffix){return this.isValid()&&(isMoment(time)&&time.isValid()||createLocal(time).isValid())?createDuration({from:this,to:time}).locale(this.locale()).humanize(!withoutSuffix):this.localeData().invalidDate()}function toNow(withoutSuffix){return this.to(createLocal(),withoutSuffix)}function locale(key){var newLocaleData;return void 0===key?this._locale._abbr:(null!=(newLocaleData=getLocale(key))&&(this._locale=newLocaleData),this)}hooks.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",hooks.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var lang=deprecate("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",(function(key){return void 0===key?this.localeData():this.locale(key)}));function localeData(){return this._locale}var MS_PER_SECOND=1e3,MS_PER_MINUTE=60*MS_PER_SECOND,MS_PER_HOUR=60*MS_PER_MINUTE,MS_PER_400_YEARS=3506328*MS_PER_HOUR;function mod$1(dividend,divisor){return(dividend%divisor+divisor)%divisor}function localStartOfDate(y,m,d){return y<100&&y>=0?new Date(y+400,m,d)-MS_PER_400_YEARS:new Date(y,m,d).valueOf()}function utcStartOfDate(y,m,d){return y<100&&y>=0?Date.UTC(y+400,m,d)-MS_PER_400_YEARS:Date.UTC(y,m,d)}function startOf(units){var time;if(void 0===(units=normalizeUnits(units))||"millisecond"===units||!this.isValid())return this;var startOfDate=this._isUTC?utcStartOfDate:localStartOfDate;switch(units){case"year":time=startOfDate(this.year(),0,1);break;case"quarter":time=startOfDate(this.year(),this.month()-this.month()%3,1);break;case"month":time=startOfDate(this.year(),this.month(),1);break;case"week":time=startOfDate(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":time=startOfDate(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":time=startOfDate(this.year(),this.month(),this.date());break;case"hour":time=this._d.valueOf(),time-=mod$1(time+(this._isUTC?0:this.utcOffset()*MS_PER_MINUTE),MS_PER_HOUR);break;case"minute":time=this._d.valueOf(),time-=mod$1(time,MS_PER_MINUTE);break;case"second":time=this._d.valueOf(),time-=mod$1(time,MS_PER_SECOND)}return this._d.setTime(time),hooks.updateOffset(this,!0),this}function endOf(units){var time;if(void 0===(units=normalizeUnits(units))||"millisecond"===units||!this.isValid())return this;var startOfDate=this._isUTC?utcStartOfDate:localStartOfDate;switch(units){case"year":time=startOfDate(this.year()+1,0,1)-1;break;case"quarter":time=startOfDate(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":time=startOfDate(this.year(),this.month()+1,1)-1;break;case"week":time=startOfDate(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":time=startOfDate(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":time=startOfDate(this.year(),this.month(),this.date()+1)-1;break;case"hour":time=this._d.valueOf(),time+=MS_PER_HOUR-mod$1(time+(this._isUTC?0:this.utcOffset()*MS_PER_MINUTE),MS_PER_HOUR)-1;break;case"minute":time=this._d.valueOf(),time+=MS_PER_MINUTE-mod$1(time,MS_PER_MINUTE)-1;break;case"second":time=this._d.valueOf(),time+=MS_PER_SECOND-mod$1(time,MS_PER_SECOND)-1}return this._d.setTime(time),hooks.updateOffset(this,!0),this}function valueOf(){return this._d.valueOf()-6e4*(this._offset||0)}function unix(){return Math.floor(this.valueOf()/1e3)}function toDate(){return new Date(this.valueOf())}function toArray(){var m=this;return[m.year(),m.month(),m.date(),m.hour(),m.minute(),m.second(),m.millisecond()]}function toObject(){var m=this;return{years:m.year(),months:m.month(),date:m.date(),hours:m.hours(),minutes:m.minutes(),seconds:m.seconds(),milliseconds:m.milliseconds()}}function toJSON(){return this.isValid()?this.toISOString():null}function isValid$2(){return isValid(this)}function parsingFlags(){return extend({},getParsingFlags(this))}function invalidAt(){return getParsingFlags(this).overflow}function creationData(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function addWeekYearFormatToken(token,getter){addFormatToken(0,[token,token.length],0,getter)}function getSetWeekYear(input){return getSetWeekYearHelper.call(this,input,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function getSetISOWeekYear(input){return getSetWeekYearHelper.call(this,input,this.isoWeek(),this.isoWeekday(),1,4)}function getISOWeeksInYear(){return weeksInYear(this.year(),1,4)}function getWeeksInYear(){var weekInfo=this.localeData()._week;return weeksInYear(this.year(),weekInfo.dow,weekInfo.doy)}function getSetWeekYearHelper(input,week,weekday,dow,doy){var weeksTarget;return null==input?weekOfYear(this,dow,doy).year:(week>(weeksTarget=weeksInYear(input,dow,doy))&&(week=weeksTarget),setWeekAll.call(this,input,week,weekday,dow,doy))}function setWeekAll(weekYear,week,weekday,dow,doy){var dayOfYearData=dayOfYearFromWeeks(weekYear,week,weekday,dow,doy),date=createUTCDate(dayOfYearData.year,0,dayOfYearData.dayOfYear);return this.year(date.getUTCFullYear()),this.month(date.getUTCMonth()),this.date(date.getUTCDate()),this}function getSetQuarter(input){return null==input?Math.ceil((this.month()+1)/3):this.month(3*(input-1)+this.month()%3)}addFormatToken(0,["gg",2],0,(function(){return this.weekYear()%100})),addFormatToken(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),addWeekYearFormatToken("gggg","weekYear"),addWeekYearFormatToken("ggggg","weekYear"),addWeekYearFormatToken("GGGG","isoWeekYear"),addWeekYearFormatToken("GGGGG","isoWeekYear"),addUnitAlias("weekYear","gg"),addUnitAlias("isoWeekYear","GG"),addUnitPriority("weekYear",1),addUnitPriority("isoWeekYear",1),addRegexToken("G",matchSigned),addRegexToken("g",matchSigned),addRegexToken("GG",match1to2,match2),addRegexToken("gg",match1to2,match2),addRegexToken("GGGG",match1to4,match4),addRegexToken("gggg",match1to4,match4),addRegexToken("GGGGG",match1to6,match6),addRegexToken("ggggg",match1to6,match6),addWeekParseToken(["gggg","ggggg","GGGG","GGGGG"],(function(input,week,config,token){week[token.substr(0,2)]=toInt(input)})),addWeekParseToken(["gg","GG"],(function(input,week,config,token){week[token]=hooks.parseTwoDigitYear(input)})),addFormatToken("Q",0,"Qo","quarter"),addUnitAlias("quarter","Q"),addUnitPriority("quarter",7),addRegexToken("Q",match1),addParseToken("Q",(function(input,array){array[MONTH]=3*(toInt(input)-1)})),addFormatToken("D",["DD",2],"Do","date"),addUnitAlias("date","D"),addUnitPriority("date",9),addRegexToken("D",match1to2),addRegexToken("DD",match1to2,match2),addRegexToken("Do",(function(isStrict,locale){return isStrict?locale._dayOfMonthOrdinalParse||locale._ordinalParse:locale._dayOfMonthOrdinalParseLenient})),addParseToken(["D","DD"],DATE),addParseToken("Do",(function(input,array){array[DATE]=toInt(input.match(match1to2)[0])}));var getSetDayOfMonth=makeGetSet("Date",!0);function getSetDayOfYear(input){var dayOfYear=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==input?dayOfYear:this.add(input-dayOfYear,"d")}addFormatToken("DDD",["DDDD",3],"DDDo","dayOfYear"),addUnitAlias("dayOfYear","DDD"),addUnitPriority("dayOfYear",4),addRegexToken("DDD",match1to3),addRegexToken("DDDD",match3),addParseToken(["DDD","DDDD"],(function(input,array,config){config._dayOfYear=toInt(input)})),addFormatToken("m",["mm",2],0,"minute"),addUnitAlias("minute","m"),addUnitPriority("minute",14),addRegexToken("m",match1to2),addRegexToken("mm",match1to2,match2),addParseToken(["m","mm"],MINUTE);var getSetMinute=makeGetSet("Minutes",!1);addFormatToken("s",["ss",2],0,"second"),addUnitAlias("second","s"),addUnitPriority("second",15),addRegexToken("s",match1to2),addRegexToken("ss",match1to2,match2),addParseToken(["s","ss"],SECOND);var token,getSetSecond=makeGetSet("Seconds",!1);for(addFormatToken("S",0,0,(function(){return~~(this.millisecond()/100)})),addFormatToken(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),addFormatToken(0,["SSS",3],0,"millisecond"),addFormatToken(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),addFormatToken(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),addFormatToken(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),addFormatToken(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),addFormatToken(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),addFormatToken(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),addUnitAlias("millisecond","ms"),addUnitPriority("millisecond",16),addRegexToken("S",match1to3,match1),addRegexToken("SS",match1to3,match2),addRegexToken("SSS",match1to3,match3),token="SSSS";token.length<=9;token+="S")addRegexToken(token,matchUnsigned);function parseMs(input,array){array[MILLISECOND]=toInt(1e3*("0."+input))}for(token="S";token.length<=9;token+="S")addParseToken(token,parseMs);var getSetMillisecond=makeGetSet("Milliseconds",!1);function getZoneAbbr(){return this._isUTC?"UTC":""}function getZoneName(){return this._isUTC?"Coordinated Universal Time":""}addFormatToken("z",0,0,"zoneAbbr"),addFormatToken("zz",0,0,"zoneName");var proto=Moment.prototype;function createUnix(input){return createLocal(1e3*input)}function createInZone(){return createLocal.apply(null,arguments).parseZone()}function preParsePostFormat(string){return string}proto.add=add,proto.calendar=calendar$1,proto.clone=clone,proto.diff=diff,proto.endOf=endOf,proto.format=format,proto.from=from,proto.fromNow=fromNow,proto.to=to,proto.toNow=toNow,proto.get=stringGet,proto.invalidAt=invalidAt,proto.isAfter=isAfter,proto.isBefore=isBefore,proto.isBetween=isBetween,proto.isSame=isSame,proto.isSameOrAfter=isSameOrAfter,proto.isSameOrBefore=isSameOrBefore,proto.isValid=isValid$2,proto.lang=lang,proto.locale=locale,proto.localeData=localeData,proto.max=prototypeMax,proto.min=prototypeMin,proto.parsingFlags=parsingFlags,proto.set=stringSet,proto.startOf=startOf,proto.subtract=subtract,proto.toArray=toArray,proto.toObject=toObject,proto.toDate=toDate,proto.toISOString=toISOString,proto.inspect=inspect,proto.toJSON=toJSON,proto.toString=toString,proto.unix=unix,proto.valueOf=valueOf,proto.creationData=creationData,proto.year=getSetYear,proto.isLeapYear=getIsLeapYear,proto.weekYear=getSetWeekYear,proto.isoWeekYear=getSetISOWeekYear,proto.quarter=proto.quarters=getSetQuarter,proto.month=getSetMonth,proto.daysInMonth=getDaysInMonth,proto.week=proto.weeks=getSetWeek,proto.isoWeek=proto.isoWeeks=getSetISOWeek,proto.weeksInYear=getWeeksInYear,proto.isoWeeksInYear=getISOWeeksInYear,proto.date=getSetDayOfMonth,proto.day=proto.days=getSetDayOfWeek,proto.weekday=getSetLocaleDayOfWeek,proto.isoWeekday=getSetISODayOfWeek,proto.dayOfYear=getSetDayOfYear,proto.hour=proto.hours=getSetHour,proto.minute=proto.minutes=getSetMinute,proto.second=proto.seconds=getSetSecond,proto.millisecond=proto.milliseconds=getSetMillisecond,proto.utcOffset=getSetOffset,proto.utc=setOffsetToUTC,proto.local=setOffsetToLocal,proto.parseZone=setOffsetToParsedOffset,proto.hasAlignedHourOffset=hasAlignedHourOffset,proto.isDST=isDaylightSavingTime,proto.isLocal=isLocal,proto.isUtcOffset=isUtcOffset,proto.isUtc=isUtc,proto.isUTC=isUtc,proto.zoneAbbr=getZoneAbbr,proto.zoneName=getZoneName,proto.dates=deprecate("dates accessor is deprecated. Use date instead.",getSetDayOfMonth),proto.months=deprecate("months accessor is deprecated. Use month instead",getSetMonth),proto.years=deprecate("years accessor is deprecated. Use year instead",getSetYear),proto.zone=deprecate("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",getSetZone),proto.isDSTShifted=deprecate("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",isDaylightSavingTimeShifted);var proto$1=Locale.prototype;function get$1(format,index,field,setter){var locale=getLocale(),utc=createUTC().set(setter,index);return locale[field](utc,format)}function listMonthsImpl(format,index,field){if(isNumber(format)&&(index=format,format=void 0),format=format||"",null!=index)return get$1(format,index,field,"month");var i,out=[];for(i=0;i<12;i++)out[i]=get$1(format,i,field,"month");return out}function listWeekdaysImpl(localeSorted,format,index,field){"boolean"==typeof localeSorted?(isNumber(format)&&(index=format,format=void 0),format=format||""):(index=format=localeSorted,localeSorted=!1,isNumber(format)&&(index=format,format=void 0),format=format||"");var i,locale=getLocale(),shift=localeSorted?locale._week.dow:0;if(null!=index)return get$1(format,(index+shift)%7,field,"day");var out=[];for(i=0;i<7;i++)out[i]=get$1(format,(i+shift)%7,field,"day");return out}function listMonths(format,index){return listMonthsImpl(format,index,"months")}function listMonthsShort(format,index){return listMonthsImpl(format,index,"monthsShort")}function listWeekdays(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,"weekdays")}function listWeekdaysShort(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,"weekdaysShort")}function listWeekdaysMin(localeSorted,format,index){return listWeekdaysImpl(localeSorted,format,index,"weekdaysMin")}proto$1.calendar=calendar,proto$1.longDateFormat=longDateFormat,proto$1.invalidDate=invalidDate,proto$1.ordinal=ordinal,proto$1.preparse=preParsePostFormat,proto$1.postformat=preParsePostFormat,proto$1.relativeTime=relativeTime,proto$1.pastFuture=pastFuture,proto$1.set=set,proto$1.months=localeMonths,proto$1.monthsShort=localeMonthsShort,proto$1.monthsParse=localeMonthsParse,proto$1.monthsRegex=monthsRegex,proto$1.monthsShortRegex=monthsShortRegex,proto$1.week=localeWeek,proto$1.firstDayOfYear=localeFirstDayOfYear,proto$1.firstDayOfWeek=localeFirstDayOfWeek,proto$1.weekdays=localeWeekdays,proto$1.weekdaysMin=localeWeekdaysMin,proto$1.weekdaysShort=localeWeekdaysShort,proto$1.weekdaysParse=localeWeekdaysParse,proto$1.weekdaysRegex=weekdaysRegex,proto$1.weekdaysShortRegex=weekdaysShortRegex,proto$1.weekdaysMinRegex=weekdaysMinRegex,proto$1.isPM=localeIsPM,proto$1.meridiem=localeMeridiem,getSetGlobalLocale("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(number){var b=number%10;return number+(1===toInt(number%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th")}}),hooks.lang=deprecate("moment.lang is deprecated. Use moment.locale instead.",getSetGlobalLocale),hooks.langData=deprecate("moment.langData is deprecated. Use moment.localeData instead.",getLocale);var mathAbs=Math.abs;function abs(){var data=this._data;return this._milliseconds=mathAbs(this._milliseconds),this._days=mathAbs(this._days),this._months=mathAbs(this._months),data.milliseconds=mathAbs(data.milliseconds),data.seconds=mathAbs(data.seconds),data.minutes=mathAbs(data.minutes),data.hours=mathAbs(data.hours),data.months=mathAbs(data.months),data.years=mathAbs(data.years),this}function addSubtract$1(duration,input,value,direction){var other=createDuration(input,value);return duration._milliseconds+=direction*other._milliseconds,duration._days+=direction*other._days,duration._months+=direction*other._months,duration._bubble()}function add$1(input,value){return addSubtract$1(this,input,value,1)}function subtract$1(input,value){return addSubtract$1(this,input,value,-1)}function absCeil(number){return number<0?Math.floor(number):Math.ceil(number)}function bubble(){var seconds,minutes,hours,years,monthsFromDays,milliseconds=this._milliseconds,days=this._days,months=this._months,data=this._data;return milliseconds>=0&&days>=0&&months>=0||milliseconds<=0&&days<=0&&months<=0||(milliseconds+=864e5*absCeil(monthsToDays(months)+days),days=0,months=0),data.milliseconds=milliseconds%1e3,seconds=absFloor(milliseconds/1e3),data.seconds=seconds%60,minutes=absFloor(seconds/60),data.minutes=minutes%60,hours=absFloor(minutes/60),data.hours=hours%24,days+=absFloor(hours/24),months+=monthsFromDays=absFloor(daysToMonths(days)),days-=absCeil(monthsToDays(monthsFromDays)),years=absFloor(months/12),months%=12,data.days=days,data.months=months,data.years=years,this}function daysToMonths(days){return 4800*days/146097}function monthsToDays(months){return 146097*months/4800}function as(units){if(!this.isValid())return NaN;var days,months,milliseconds=this._milliseconds;if("month"===(units=normalizeUnits(units))||"quarter"===units||"year"===units)switch(days=this._days+milliseconds/864e5,months=this._months+daysToMonths(days),units){case"month":return months;case"quarter":return months/3;case"year":return months/12}else switch(days=this._days+Math.round(monthsToDays(this._months)),units){case"week":return days/7+milliseconds/6048e5;case"day":return days+milliseconds/864e5;case"hour":return 24*days+milliseconds/36e5;case"minute":return 1440*days+milliseconds/6e4;case"second":return 86400*days+milliseconds/1e3;case"millisecond":return Math.floor(864e5*days)+milliseconds;default:throw new Error("Unknown unit "+units)}}function valueOf$1(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*toInt(this._months/12):NaN}function makeAs(alias){return function(){return this.as(alias)}}var asMilliseconds=makeAs("ms"),asSeconds=makeAs("s"),asMinutes=makeAs("m"),asHours=makeAs("h"),asDays=makeAs("d"),asWeeks=makeAs("w"),asMonths=makeAs("M"),asQuarters=makeAs("Q"),asYears=makeAs("y");function clone$1(){return createDuration(this)}function get$2(units){return units=normalizeUnits(units),this.isValid()?this[units+"s"]():NaN}function makeGetter(name){return function(){return this.isValid()?this._data[name]:NaN}}var milliseconds=makeGetter("milliseconds"),seconds=makeGetter("seconds"),minutes=makeGetter("minutes"),hours=makeGetter("hours"),days=makeGetter("days"),months=makeGetter("months"),years=makeGetter("years");function weeks(){return absFloor(this.days()/7)}var round=Math.round,thresholds={ss:44,s:45,m:45,h:22,d:26,M:11};function substituteTimeAgo(string,number,withoutSuffix,isFuture,locale){return locale.relativeTime(number||1,!!withoutSuffix,string,isFuture)}function relativeTime$1(posNegDuration,withoutSuffix,locale){var duration=createDuration(posNegDuration).abs(),seconds=round(duration.as("s")),minutes=round(duration.as("m")),hours=round(duration.as("h")),days=round(duration.as("d")),months=round(duration.as("M")),years=round(duration.as("y")),a=seconds<=thresholds.ss&&["s",seconds]||seconds0,a[4]=locale,substituteTimeAgo.apply(null,a)}function getSetRelativeTimeRounding(roundingFunction){return void 0===roundingFunction?round:"function"==typeof roundingFunction&&(round=roundingFunction,!0)}function getSetRelativeTimeThreshold(threshold,limit){return void 0!==thresholds[threshold]&&(void 0===limit?thresholds[threshold]:(thresholds[threshold]=limit,"s"===threshold&&(thresholds.ss=limit-1),!0))}function humanize(withSuffix){if(!this.isValid())return this.localeData().invalidDate();var locale=this.localeData(),output=relativeTime$1(this,!withSuffix,locale);return withSuffix&&(output=locale.pastFuture(+this,output)),locale.postformat(output)}var abs$1=Math.abs;function sign(x){return(x>0)-(x<0)||+x}function toISOString$1(){if(!this.isValid())return this.localeData().invalidDate();var minutes,hours,seconds=abs$1(this._milliseconds)/1e3,days=abs$1(this._days),months=abs$1(this._months);minutes=absFloor(seconds/60),hours=absFloor(minutes/60),seconds%=60,minutes%=60;var Y=absFloor(months/12),M=months%=12,D=days,h=hours,m=minutes,s=seconds?seconds.toFixed(3).replace(/\.?0+$/,""):"",total=this.asSeconds();if(!total)return"P0D";var totalSign=total<0?"-":"",ymSign=sign(this._months)!==sign(total)?"-":"",daysSign=sign(this._days)!==sign(total)?"-":"",hmsSign=sign(this._milliseconds)!==sign(total)?"-":"";return totalSign+"P"+(Y?ymSign+Y+"Y":"")+(M?ymSign+M+"M":"")+(D?daysSign+D+"D":"")+(h||m||s?"T":"")+(h?hmsSign+h+"H":"")+(m?hmsSign+m+"M":"")+(s?hmsSign+s+"S":"")}var proto$2=Duration.prototype;return proto$2.isValid=isValid$1,proto$2.abs=abs,proto$2.add=add$1,proto$2.subtract=subtract$1,proto$2.as=as,proto$2.asMilliseconds=asMilliseconds,proto$2.asSeconds=asSeconds,proto$2.asMinutes=asMinutes,proto$2.asHours=asHours,proto$2.asDays=asDays,proto$2.asWeeks=asWeeks,proto$2.asMonths=asMonths,proto$2.asQuarters=asQuarters,proto$2.asYears=asYears,proto$2.valueOf=valueOf$1,proto$2._bubble=bubble,proto$2.clone=clone$1,proto$2.get=get$2,proto$2.milliseconds=milliseconds,proto$2.seconds=seconds,proto$2.minutes=minutes,proto$2.hours=hours,proto$2.days=days,proto$2.weeks=weeks,proto$2.months=months,proto$2.years=years,proto$2.humanize=humanize,proto$2.toISOString=toISOString$1,proto$2.toString=toISOString$1,proto$2.toJSON=toISOString$1,proto$2.locale=locale,proto$2.localeData=localeData,proto$2.toIsoString=deprecate("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",toISOString$1),proto$2.lang=lang,addFormatToken("X",0,0,"unix"),addFormatToken("x",0,0,"valueOf"),addRegexToken("x",matchSigned),addRegexToken("X",matchTimestamp),addParseToken("X",(function(input,array,config){config._d=new Date(1e3*parseFloat(input,10))})),addParseToken("x",(function(input,array,config){config._d=new Date(toInt(input))})),hooks.version="2.24.0",setHookCallback(createLocal),hooks.fn=proto,hooks.min=min,hooks.max=max,hooks.now=now,hooks.utc=createUTC,hooks.unix=createUnix,hooks.months=listMonths,hooks.isDate=isDate,hooks.locale=getSetGlobalLocale,hooks.invalid=createInvalid,hooks.duration=createDuration,hooks.isMoment=isMoment,hooks.weekdays=listWeekdays,hooks.parseZone=createInZone,hooks.localeData=getLocale,hooks.isDuration=isDuration,hooks.monthsShort=listMonthsShort,hooks.weekdaysMin=listWeekdaysMin,hooks.defineLocale=defineLocale,hooks.updateLocale=updateLocale,hooks.locales=listLocales,hooks.weekdaysShort=listWeekdaysShort,hooks.normalizeUnits=normalizeUnits,hooks.relativeTimeRounding=getSetRelativeTimeRounding,hooks.relativeTimeThreshold=getSetRelativeTimeThreshold,hooks.calendarFormat=getCalendarFormat,hooks.prototype=proto,hooks.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},hooks}()})),FORMATS={datetime:"MMM D, YYYY, h:mm:ss a",millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"};core_adapters._date.override("function"==typeof moment?{_id:"moment",formats:function(){return FORMATS},parse:function(value,format){return"string"==typeof value&&"string"==typeof format?value=moment(value,format):value instanceof moment||(value=moment(value)),value.isValid()?value.valueOf():null},format:function(time,format){return moment(time).format(format)},add:function(time,amount,unit){return moment(time).add(amount,unit).valueOf()},diff:function(max,min,unit){return moment(max).diff(moment(min),unit)},startOf:function(time,unit,weekday){return time=moment(time),"isoWeek"===unit?time.isoWeekday(weekday).valueOf():time.startOf(unit).valueOf()},endOf:function(time,unit){return moment(time).endOf(unit).valueOf()},_create:function(time){return moment(time)}}:{}),core_defaults._set("global",{plugins:{filler:{propagate:!0}}});var mappers={dataset:function(source){var index=source.fill,chart=source.chart,meta=chart.getDatasetMeta(index),points=meta&&chart.isDatasetVisible(index)&&meta.dataset._children||[],length=points.length||0;return length?function(point,i){return i=count)&⌖switch(fill){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return fill;default:return!1}}function computeBoundary(source){return(source.el._scale||{}).getPointPositionForValue?function(source){var start,end,center,i,point,scale=source.el._scale,options=scale.options,length=scale.chart.data.labels.length,fill=source.fill,target=[];if(!length)return null;for(start=options.ticks.reverse?scale.max:scale.min,end=options.ticks.reverse?scale.min:scale.max,center=scale.getPointPositionForValue(0,start),i=0;i0;--i)helpers$1.canvas.lineTo(ctx,curve1[i],curve1[i-1],!0);else for(cx=curve1[0].cx,cy=curve1[0].cy,r=Math.sqrt(Math.pow(curve1[0].x-cx,2)+Math.pow(curve1[0].y-cy,2)),i=len1-1;i>0;--i)ctx.arc(cx,cy,r,curve1[i].angle,curve1[i-1].angle,!0)}}function doFill(ctx,points,mapper,view,color,loop){var i,ilen,index,p0,p1,d0,d1,loopOffset,count=points.length,span=view.spanGaps,curve0=[],curve1=[],len0=0,len1=0;for(ctx.beginPath(),i=0,ilen=count;i=0;--i)(meta=metasets[i].$filler)&&meta.visible&&(view=(el=meta.el)._view,points=el._children||[],mapper=meta.mapper,color=view.backgroundColor||core_defaults.global.defaultColor,mapper&&color&&points.length&&(helpers$1.canvas.clipArea(ctx,chart.chartArea),doFill(ctx,points,mapper,view,color,el._loop),helpers$1.canvas.unclipArea(ctx)))}},getRtlHelper$1=helpers$1.rtl.getRtlAdapter,noop$1=helpers$1.noop,valueOrDefault$e=helpers$1.valueOrDefault;function getBoxWidth(labelOpts,fontSize){return labelOpts.usePointStyle&&labelOpts.boxWidth>fontSize?fontSize:labelOpts.boxWidth}core_defaults._set("global",{legend:{display:!0,position:"top",align:"center",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(e,legendItem){var index=legendItem.datasetIndex,ci=this.chart,meta=ci.getDatasetMeta(index);meta.hidden=null===meta.hidden?!ci.data.datasets[index].hidden:null,ci.update()},onHover:null,onLeave:null,labels:{boxWidth:40,padding:10,generateLabels:function(chart){var datasets=chart.data.datasets,options=chart.options.legend||{},usePointStyle=options.labels&&options.labels.usePointStyle;return chart._getSortedDatasetMetas().map((function(meta){var style=meta.controller.getStyle(usePointStyle?0:void 0);return{text:datasets[meta.index].label,fillStyle:style.backgroundColor,hidden:!chart.isDatasetVisible(meta.index),lineCap:style.borderCapStyle,lineDash:style.borderDash,lineDashOffset:style.borderDashOffset,lineJoin:style.borderJoinStyle,lineWidth:style.borderWidth,strokeStyle:style.borderColor,pointStyle:style.pointStyle,rotation:style.rotation,datasetIndex:meta.index}}),this)}}},legendCallback:function(chart){var i,ilen,listItem,list=document.createElement("ul"),datasets=chart.data.datasets;for(list.setAttribute("class",chart.id+"-legend"),i=0,ilen=datasets.length;iminSize.width)&&(totalHeight+=fontSize+labelOpts.padding,lineWidths[lineWidths.length-(i>0?0:1)]=0),hitboxes[i]={left:0,top:0,width:width,height:fontSize},lineWidths[lineWidths.length-1]+=width+labelOpts.padding})),minSize.height+=totalHeight}else{var vPadding=labelOpts.padding,columnWidths=me.columnWidths=[],columnHeights=me.columnHeights=[],totalWidth=labelOpts.padding,currentColWidth=0,currentColHeight=0;helpers$1.each(me.legendItems,(function(legendItem,i){var itemWidth=getBoxWidth(labelOpts,fontSize)+fontSize/2+ctx.measureText(legendItem.text).width;i>0&¤tColHeight+fontSize+2*vPadding>minSize.height&&(totalWidth+=currentColWidth+labelOpts.padding,columnWidths.push(currentColWidth),columnHeights.push(currentColHeight),currentColWidth=0,currentColHeight=0),currentColWidth=Math.max(currentColWidth,itemWidth),currentColHeight+=fontSize+vPadding,hitboxes[i]={left:0,top:0,width:itemWidth,height:fontSize}})),totalWidth+=currentColWidth,columnWidths.push(currentColWidth),columnHeights.push(currentColHeight),minSize.width+=totalWidth}me.width=minSize.width,me.height=minSize.height}else me.width=minSize.width=me.height=minSize.height=0},afterFit:noop$1,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var me=this,opts=me.options,labelOpts=opts.labels,globalDefaults=core_defaults.global,defaultColor=globalDefaults.defaultColor,lineDefault=globalDefaults.elements.line,legendHeight=me.height,columnHeights=me.columnHeights,legendWidth=me.width,lineWidths=me.lineWidths;if(opts.display){var cursor,rtlHelper=getRtlHelper$1(opts.rtl,me.left,me.minSize.width),ctx=me.ctx,fontColor=valueOrDefault$e(labelOpts.fontColor,globalDefaults.defaultFontColor),labelFont=helpers$1.options._parseFont(labelOpts),fontSize=labelFont.size;ctx.textAlign=rtlHelper.textAlign("left"),ctx.textBaseline="middle",ctx.lineWidth=.5,ctx.strokeStyle=fontColor,ctx.fillStyle=fontColor,ctx.font=labelFont.string;var boxWidth=getBoxWidth(labelOpts,fontSize),hitboxes=me.legendHitBoxes,alignmentOffset=function(dimension,blockSize){switch(opts.align){case"start":return labelOpts.padding;case"end":return dimension-blockSize;default:return(dimension-blockSize+labelOpts.padding)/2}},isHorizontal=me.isHorizontal();cursor=isHorizontal?{x:me.left+alignmentOffset(legendWidth,lineWidths[0]),y:me.top+labelOpts.padding,line:0}:{x:me.left+labelOpts.padding,y:me.top+alignmentOffset(legendHeight,columnHeights[0]),line:0},helpers$1.rtl.overrideTextDirection(me.ctx,opts.textDirection);var itemHeight=fontSize+labelOpts.padding;helpers$1.each(me.legendItems,(function(legendItem,i){var textWidth=ctx.measureText(legendItem.text).width,width=boxWidth+fontSize/2+textWidth,x=cursor.x,y=cursor.y;rtlHelper.setWidth(me.minSize.width),isHorizontal?i>0&&x+width+labelOpts.padding>me.left+me.minSize.width&&(y=cursor.y+=itemHeight,cursor.line++,x=cursor.x=me.left+alignmentOffset(legendWidth,lineWidths[cursor.line])):i>0&&y+itemHeight>me.top+me.minSize.height&&(x=cursor.x=x+me.columnWidths[cursor.line]+labelOpts.padding,cursor.line++,y=cursor.y=me.top+alignmentOffset(legendHeight,columnHeights[cursor.line]));var realX=rtlHelper.x(x);!function(x,y,legendItem){if(!(isNaN(boxWidth)||boxWidth<=0)){ctx.save();var lineWidth=valueOrDefault$e(legendItem.lineWidth,lineDefault.borderWidth);if(ctx.fillStyle=valueOrDefault$e(legendItem.fillStyle,defaultColor),ctx.lineCap=valueOrDefault$e(legendItem.lineCap,lineDefault.borderCapStyle),ctx.lineDashOffset=valueOrDefault$e(legendItem.lineDashOffset,lineDefault.borderDashOffset),ctx.lineJoin=valueOrDefault$e(legendItem.lineJoin,lineDefault.borderJoinStyle),ctx.lineWidth=lineWidth,ctx.strokeStyle=valueOrDefault$e(legendItem.strokeStyle,defaultColor),ctx.setLineDash&&ctx.setLineDash(valueOrDefault$e(legendItem.lineDash,lineDefault.borderDash)),labelOpts&&labelOpts.usePointStyle){var radius=boxWidth*Math.SQRT2/2,centerX=rtlHelper.xPlus(x,boxWidth/2),centerY=y+fontSize/2;helpers$1.canvas.drawPoint(ctx,legendItem.pointStyle,radius,centerX,centerY,legendItem.rotation)}else ctx.fillRect(rtlHelper.leftForLtr(x,boxWidth),y,boxWidth,fontSize),0!==lineWidth&&ctx.strokeRect(rtlHelper.leftForLtr(x,boxWidth),y,boxWidth,fontSize);ctx.restore()}}(realX,y,legendItem),hitboxes[i].left=rtlHelper.leftForLtr(realX,hitboxes[i].width),hitboxes[i].top=y,function(x,y,legendItem,textWidth){var halfFontSize=fontSize/2,xLeft=rtlHelper.xPlus(x,boxWidth+halfFontSize),yMiddle=y+halfFontSize;ctx.fillText(legendItem.text,xLeft,yMiddle),legendItem.hidden&&(ctx.beginPath(),ctx.lineWidth=2,ctx.moveTo(xLeft,yMiddle),ctx.lineTo(rtlHelper.xPlus(xLeft,textWidth),yMiddle),ctx.stroke())}(realX,y,legendItem,textWidth),isHorizontal?cursor.x+=width+labelOpts.padding:cursor.y+=itemHeight})),helpers$1.rtl.restoreTextDirection(me.ctx,opts.textDirection)}},_getLegendItemAt:function(x,y){var i,hitBox,lh,me=this;if(x>=me.left&&x<=me.right&&y>=me.top&&y<=me.bottom)for(lh=me.legendHitBoxes,i=0;i=(hitBox=lh[i]).left&&x<=hitBox.left+hitBox.width&&y>=hitBox.top&&y<=hitBox.top+hitBox.height)return me.legendItems[i];return null},handleEvent:function(e){var hoveredItem,me=this,opts=me.options,type="mouseup"===e.type?"click":e.type;if("mousemove"===type){if(!opts.onHover&&!opts.onLeave)return}else{if("click"!==type)return;if(!opts.onClick)return}hoveredItem=me._getLegendItemAt(e.x,e.y),"click"===type?hoveredItem&&opts.onClick&&opts.onClick.call(me,e.native,hoveredItem):(opts.onLeave&&hoveredItem!==me._hoveredItem&&(me._hoveredItem&&opts.onLeave.call(me,e.native,me._hoveredItem),me._hoveredItem=hoveredItem),opts.onHover&&hoveredItem&&opts.onHover.call(me,e.native,hoveredItem))}});function createNewLegendAndAttach(chart,legendOpts){var legend=new Legend({ctx:chart.ctx,options:legendOpts,chart:chart});core_layouts.configure(chart,legend,legendOpts),core_layouts.addBox(chart,legend),chart.legend=legend}var plugin_legend={id:"legend",_element:Legend,beforeInit:function(chart){var legendOpts=chart.options.legend;legendOpts&&createNewLegendAndAttach(chart,legendOpts)},beforeUpdate:function(chart){var legendOpts=chart.options.legend,legend=chart.legend;legendOpts?(helpers$1.mergeIf(legendOpts,core_defaults.global.legend),legend?(core_layouts.configure(chart,legend,legendOpts),legend.options=legendOpts):createNewLegendAndAttach(chart,legendOpts)):legend&&(core_layouts.removeBox(chart,legend),delete chart.legend)},afterEvent:function(chart,e){var legend=chart.legend;legend&&legend.handleEvent(e)}},noop$2=helpers$1.noop;core_defaults._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,padding:10,position:"top",text:"",weight:2e3}});var Title=core_element.extend({initialize:function(config){helpers$1.extend(this,config),this.legendHitBoxes=[]},beforeUpdate:noop$2,update:function(maxWidth,maxHeight,margins){var me=this;return me.beforeUpdate(),me.maxWidth=maxWidth,me.maxHeight=maxHeight,me.margins=margins,me.beforeSetDimensions(),me.setDimensions(),me.afterSetDimensions(),me.beforeBuildLabels(),me.buildLabels(),me.afterBuildLabels(),me.beforeFit(),me.fit(),me.afterFit(),me.afterUpdate(),me.minSize},afterUpdate:noop$2,beforeSetDimensions:noop$2,setDimensions:function(){var me=this;me.isHorizontal()?(me.width=me.maxWidth,me.left=0,me.right=me.width):(me.height=me.maxHeight,me.top=0,me.bottom=me.height),me.paddingLeft=0,me.paddingTop=0,me.paddingRight=0,me.paddingBottom=0,me.minSize={width:0,height:0}},afterSetDimensions:noop$2,beforeBuildLabels:noop$2,buildLabels:noop$2,afterBuildLabels:noop$2,beforeFit:noop$2,fit:function(){var textSize,me=this,opts=me.options,minSize=me.minSize={},isHorizontal=me.isHorizontal();opts.display?(textSize=(helpers$1.isArray(opts.text)?opts.text.length:1)*helpers$1.options._parseFont(opts).lineHeight+2*opts.padding,me.width=minSize.width=isHorizontal?me.maxWidth:textSize,me.height=minSize.height=isHorizontal?textSize:me.maxHeight):me.width=minSize.width=me.height=minSize.height=0},afterFit:noop$2,isHorizontal:function(){var pos=this.options.position;return"top"===pos||"bottom"===pos},draw:function(){var me=this,ctx=me.ctx,opts=me.options;if(opts.display){var maxWidth,titleX,titleY,fontOpts=helpers$1.options._parseFont(opts),lineHeight=fontOpts.lineHeight,offset=lineHeight/2+opts.padding,rotation=0,top=me.top,left=me.left,bottom=me.bottom,right=me.right;ctx.fillStyle=helpers$1.valueOrDefault(opts.fontColor,core_defaults.global.defaultFontColor),ctx.font=fontOpts.string,me.isHorizontal()?(titleX=left+(right-left)/2,titleY=top+offset,maxWidth=right-left):(titleX="left"===opts.position?left+offset:right-offset,titleY=top+(bottom-top)/2,maxWidth=bottom-top,rotation=Math.PI*("left"===opts.position?-.5:.5)),ctx.save(),ctx.translate(titleX,titleY),ctx.rotate(rotation),ctx.textAlign="center",ctx.textBaseline="middle";var text=opts.text;if(helpers$1.isArray(text))for(var y=0,i=0;i=0;i--){var currentItem=arrayToSearch[i];if(filterCallback(currentItem))return currentItem}},helpers$1.isNumber=function(n){return!isNaN(parseFloat(n))&&isFinite(n)},helpers$1.almostEquals=function(x,y,epsilon){return Math.abs(x-y)=x},helpers$1.max=function(array){return array.reduce((function(max,value){return isNaN(value)?max:Math.max(max,value)}),Number.NEGATIVE_INFINITY)},helpers$1.min=function(array){return array.reduce((function(min,value){return isNaN(value)?min:Math.min(min,value)}),Number.POSITIVE_INFINITY)},helpers$1.sign=Math.sign?function(x){return Math.sign(x)}:function(x){return 0===(x=+x)||isNaN(x)?x:x>0?1:-1},helpers$1.toRadians=function(degrees){return degrees*(Math.PI/180)},helpers$1.toDegrees=function(radians){return radians*(180/Math.PI)},helpers$1._decimalPlaces=function(x){if(helpers$1.isFinite(x)){for(var e=1,p=0;Math.round(x*e)/e!==x;)e*=10,p++;return p}},helpers$1.getAngleFromPoint=function(centrePoint,anglePoint){var distanceFromXCenter=anglePoint.x-centrePoint.x,distanceFromYCenter=anglePoint.y-centrePoint.y,radialDistanceFromCenter=Math.sqrt(distanceFromXCenter*distanceFromXCenter+distanceFromYCenter*distanceFromYCenter),angle=Math.atan2(distanceFromYCenter,distanceFromXCenter);return angle<-.5*Math.PI&&(angle+=2*Math.PI),{angle:angle,distance:radialDistanceFromCenter}},helpers$1.distanceBetweenPoints=function(pt1,pt2){return Math.sqrt(Math.pow(pt2.x-pt1.x,2)+Math.pow(pt2.y-pt1.y,2))},helpers$1.aliasPixel=function(pixelWidth){return pixelWidth%2==0?0:.5},helpers$1._alignPixel=function(chart,pixel,width){var devicePixelRatio=chart.currentDevicePixelRatio,halfWidth=width/2;return Math.round((pixel-halfWidth)*devicePixelRatio)/devicePixelRatio+halfWidth},helpers$1.splineCurve=function(firstPoint,middlePoint,afterPoint,t){var previous=firstPoint.skip?middlePoint:firstPoint,current=middlePoint,next=afterPoint.skip?middlePoint:afterPoint,d01=Math.sqrt(Math.pow(current.x-previous.x,2)+Math.pow(current.y-previous.y,2)),d12=Math.sqrt(Math.pow(next.x-current.x,2)+Math.pow(next.y-current.y,2)),s01=d01/(d01+d12),s12=d12/(d01+d12),fa=t*(s01=isNaN(s01)?0:s01),fb=t*(s12=isNaN(s12)?0:s12);return{previous:{x:current.x-fa*(next.x-previous.x),y:current.y-fa*(next.y-previous.y)},next:{x:current.x+fb*(next.x-previous.x),y:current.y+fb*(next.y-previous.y)}}},helpers$1.EPSILON=Number.EPSILON||1e-14,helpers$1.splineCurveMonotone=function(points){var i,pointBefore,pointCurrent,pointAfter,alphaK,betaK,tauK,squaredMagnitude,deltaX,pointsWithTangents=(points||[]).map((function(point){return{model:point._model,deltaK:0,mK:0}})),pointsLen=pointsWithTangents.length;for(i=0;i0?pointsWithTangents[i-1]:null,(pointAfter=i0?pointsWithTangents[i-1]:null,pointAfter=i=collection.length-1?collection[0]:collection[index+1]:index>=collection.length-1?collection[collection.length-1]:collection[index+1]},helpers$1.previousItem=function(collection,index,loop){return loop?index<=0?collection[collection.length-1]:collection[index-1]:index<=0?collection[0]:collection[index-1]},helpers$1.niceNum=function(range,round){var exponent=Math.floor(helpers$1.log10(range)),fraction=range/Math.pow(10,exponent);return(round?fraction<1.5?1:fraction<3?2:fraction<7?5:10:fraction<=1?1:fraction<=2?2:fraction<=5?5:10)*Math.pow(10,exponent)},helpers$1.requestAnimFrame="undefined"==typeof window?function(callback){callback()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(callback){return window.setTimeout(callback,1e3/60)},helpers$1.getRelativePosition=function(evt,chart){var mouseX,mouseY,e=evt.originalEvent||evt,canvas=evt.target||evt.srcElement,boundingRect=canvas.getBoundingClientRect(),touches=e.touches;touches&&touches.length>0?(mouseX=touches[0].clientX,mouseY=touches[0].clientY):(mouseX=e.clientX,mouseY=e.clientY);var paddingLeft=parseFloat(helpers$1.getStyle(canvas,"padding-left")),paddingTop=parseFloat(helpers$1.getStyle(canvas,"padding-top")),paddingRight=parseFloat(helpers$1.getStyle(canvas,"padding-right")),paddingBottom=parseFloat(helpers$1.getStyle(canvas,"padding-bottom")),width=boundingRect.right-boundingRect.left-paddingLeft-paddingRight,height=boundingRect.bottom-boundingRect.top-paddingTop-paddingBottom;return{x:mouseX=Math.round((mouseX-boundingRect.left-paddingLeft)/width*canvas.width/chart.currentDevicePixelRatio),y:mouseY=Math.round((mouseY-boundingRect.top-paddingTop)/height*canvas.height/chart.currentDevicePixelRatio)}},helpers$1.getConstraintWidth=function(domNode){return getConstraintDimension(domNode,"max-width","clientWidth")},helpers$1.getConstraintHeight=function(domNode){return getConstraintDimension(domNode,"max-height","clientHeight")},helpers$1._calculatePadding=function(container,padding,parentDimension){return(padding=helpers$1.getStyle(container,padding)).indexOf("%")>-1?parentDimension*parseInt(padding,10)/100:parseInt(padding,10)},helpers$1._getParentNode=function(domNode){var parent=domNode.parentNode;return parent&&"[object ShadowRoot]"===parent.toString()&&(parent=parent.host),parent},helpers$1.getMaximumWidth=function(domNode){var container=helpers$1._getParentNode(domNode);if(!container)return domNode.clientWidth;var clientWidth=container.clientWidth,w=clientWidth-helpers$1._calculatePadding(container,"padding-left",clientWidth)-helpers$1._calculatePadding(container,"padding-right",clientWidth),cw=helpers$1.getConstraintWidth(domNode);return isNaN(cw)?w:Math.min(w,cw)},helpers$1.getMaximumHeight=function(domNode){var container=helpers$1._getParentNode(domNode);if(!container)return domNode.clientHeight;var clientHeight=container.clientHeight,h=clientHeight-helpers$1._calculatePadding(container,"padding-top",clientHeight)-helpers$1._calculatePadding(container,"padding-bottom",clientHeight),ch=helpers$1.getConstraintHeight(domNode);return isNaN(ch)?h:Math.min(h,ch)},helpers$1.getStyle=function(el,property){return el.currentStyle?el.currentStyle[property]:document.defaultView.getComputedStyle(el,null).getPropertyValue(property)},helpers$1.retinaScale=function(chart,forceRatio){var pixelRatio=chart.currentDevicePixelRatio=forceRatio||"undefined"!=typeof window&&window.devicePixelRatio||1;if(1!==pixelRatio){var canvas=chart.canvas,height=chart.height,width=chart.width;canvas.height=height*pixelRatio,canvas.width=width*pixelRatio,chart.ctx.scale(pixelRatio,pixelRatio),canvas.style.height||canvas.style.width||(canvas.style.height=height+"px",canvas.style.width=width+"px")}},helpers$1.fontString=function(pixelSize,fontStyle,fontFamily){return fontStyle+" "+pixelSize+"px "+fontFamily},helpers$1.longestText=function(ctx,font,arrayOfThings,cache){var data=(cache=cache||{}).data=cache.data||{},gc=cache.garbageCollect=cache.garbageCollect||[];cache.font!==font&&(data=cache.data={},gc=cache.garbageCollect=[],cache.font=font),ctx.font=font;var i,j,jlen,thing,nestedThing,longest=0,ilen=arrayOfThings.length;for(i=0;iarrayOfThings.length){for(i=0;ilongest&&(longest=textWidth),longest},helpers$1.numberOfLabelLines=function(arrayOfThings){var numberOfLines=1;return helpers$1.each(arrayOfThings,(function(thing){helpers$1.isArray(thing)&&thing.length>numberOfLines&&(numberOfLines=thing.length)})),numberOfLines},helpers$1.color=chartjsColor?function(value){return value instanceof CanvasGradient&&(value=core_defaults.global.defaultColor),chartjsColor(value)}:function(value){return console.error("Color.js not found!"),value},helpers$1.getHoverColor=function(colorValue){return colorValue instanceof CanvasPattern||colorValue instanceof CanvasGradient?colorValue:helpers$1.color(colorValue).saturate(.5).darken(.1).rgbString()}}(),core_controller._adapters=core_adapters,core_controller.Animation=core_animation,core_controller.animationService=core_animations,core_controller.controllers=controllers,core_controller.DatasetController=core_datasetController,core_controller.defaults=core_defaults,core_controller.Element=core_element,core_controller.elements=elements,core_controller.Interaction=core_interaction,core_controller.layouts=core_layouts,core_controller.platform=platform,core_controller.plugins=core_plugins,core_controller.Scale=core_scale,core_controller.scaleService=core_scaleService,core_controller.Ticks=core_ticks,core_controller.Tooltip=core_tooltip,core_controller.helpers.each(scales,(function(scale,type){core_controller.scaleService.registerScaleType(type,scale,scale._defaults)})),plugins)plugins.hasOwnProperty(k)&&core_controller.plugins.register(plugins[k]);core_controller.platform.initialize();var src=core_controller;return"undefined"!=typeof window&&(window.Chart=core_controller),core_controller.Chart=core_controller,core_controller.Legend=plugins.legend._element,core_controller.Title=plugins.title._element,core_controller.pluginService=core_controller.plugins,core_controller.PluginBase=core_controller.Element.extend({}),core_controller.canvasHelpers=core_controller.helpers.canvas,core_controller.layoutService=core_controller.layouts,core_controller.LinearScaleBase=scale_linearbase,core_controller.helpers.each(["Bar","Bubble","Doughnut","Line","PolarArea","Radar","Scatter"],(function(klass){core_controller[klass]=function(ctx,cfg){return new core_controller(ctx,core_controller.helpers.merge(cfg||{},{type:klass.charAt(0).toLowerCase()+klass.slice(1)}))}})),src}));