text: (function(r){function x(h,k,l){var p;k.rgba.length&&h.rgba.length?(h=h.rgba,k=k.rgba,p=1!==k[3]||1!==h[3],h=(p?"rgba(":"rgb(")+Math.round(k[0]+(h[0]-k[0])*(1-l))+","+Math.round(k[1]+(h[1]-k[1])*(1-l))+","+Math.round(k[2]+(h[2]-k[2])*(1-l))+(p?","+(k[3]+(h[3]-k[3])*(1-l)):"")+")"):h=k.raw||"none";return h}var S=function(){},T=r.getOptions(),A=r.each,O=r.extend,fa=r.format,p=r.pick,l=r.wrap,k=r.Chart,h=r.seriesTypes,ia=h.pie,N=h.column,ja=r.Tick,va=HighchartsAdapter.fireEvent,H=HighchartsAdapter.inArray, ma=1;A(["fill","stroke"],function(h){HighchartsAdapter.addAnimSetter(h,function(k){k.elem.attr(h,x(r.Color(k.start),r.Color(k.end),k.pos))})});O(T.lang,{drillUpText:"\u25c1 Back to {series.name}"});T.drilldown={activeAxisLabelStyle:{cursor:"pointer",color:"#0d233a",fontWeight:"bold",textDecoration:"underline"},activeDataLabelStyle:{cursor:"pointer",color:"#0d233a",fontWeight:"bold",textDecoration:"underline"},animation:{duration:500},drillUpButton:{position:{align:"right",x:-10,y:10}}};r.SVGRenderer.prototype.Element.prototype.fadeIn= function(h){this.attr({opacity:.1,visibility:"inherit"}).animate({opacity:p(this.newOpacity,1)},h||{duration:250})};k.prototype.addSeriesAsDrilldown=function(h,k){this.addSingleSeriesAsDrilldown(h,k);this.applyDrilldown()};k.prototype.addSingleSeriesAsDrilldown=function(h,k){var l=h.series,p=l.xAxis,r=l.yAxis,B;B=h.color||l.color;var x,ra=[],K=[],N,E;this.drilldownLevels||(this.drilldownLevels=[]);N=l.options._levelNumber||0;(E=this.drilldownLevels[this.drilldownLevels.length-1])&&E.levelNumber!==N&&(E=void 0);k=O({color:B,_ddSeriesId:ma++},k);x=H(h,l.points);A(l.chart.series,function(h){h.xAxis!==p||h.isDrilling||(h.options._ddSeriesId=h.options._ddSeriesId||ma++,h.options._colorIndex=h.userOptions._colorIndex,h.options._levelNumber=h.options._levelNumber||N,E?(ra=E.levelSeries,K=E.levelSeriesOptions):(ra.push(h),K.push(h.options)))});B={levelNumber:N,seriesOptions:l.options,levelSeriesOptions:K,levelSeries:ra,shapeArgs:h.shapeArgs,bBox:h.graphic?h.graphic.getBBox():{},color:B,lowerSeriesOptions:k, pointOptions:l.options.data[x],pointIndex:x,oldExtremes:{xMin:p&&p.userMin,xMax:p&&p.userMax,yMin:r&&r.userMin,yMax:r&&r.userMax}};this.drilldownLevels.push(B);B=B.lowerSeries=this.addSeries(k,!1);B.options._levelNumber=N+1;p&&(p.oldPos=p.pos,p.userMin=p.userMax=null,r.userMin=r.userMax=null);l.type===B.type&&(B.animate=B.animateDrilldown||S,B.options.animation=!0)};k.prototype.applyDrilldown=function(){var h=this.drilldownLevels,k;h&&0<h.length&&(k=h[h.length-1].levelNumber,A(this.drilldownLevels, function(h){h.levelNumber===k&&A(h.levelSeries,function(h){h.options&&h.options._levelNumber===k&&h.remove(!1)})}));this.redraw();this.showDrillUpButton()};k.prototype.getDrilldownBackText=function(){var h=this.drilldownLevels;if(h&&0<h.length)return h=h[h.length-1],h.series=h.seriesOptions,fa(this.options.lang.drillUpText,h)};k.prototype.showDrillUpButton=function(){var h=this,k=this.getDrilldownBackText(),l=h.options.drilldown.drillUpButton,p,r;this.drillUpButton?this.drillUpButton.attr({text:k}).align(): (r=(p=l.theme)&&p.states,this.drillUpButton=this.renderer.button(k,null,null,function(){h.drillUp()},p,r&&r.hover,r&&r.select).attr({align:l.position.align,zIndex:9}).add().align(l.position,!1,l.relativeTo||"plotBox"))};k.prototype.drillUp=function(){for(var h=this,k=h.drilldownLevels,l=k[k.length-1].levelNumber,p=k.length,r=h.series,B,x,H,K,N=function(k){var l;A(r,function(h){h.options._ddSeriesId===k._ddSeriesId&&(l=h)});l=l||h.addSeries(k,!1);l.type===H.type&&l.animateDrillupTo&&(l.animate=l.animateDrillupTo);k===x.seriesOptions&&(K=l)};p--;)if(x=k[p],x.levelNumber===l){k.pop();H=x.lowerSeries;if(!H.chart)for(B=r.length;B--;)if(r[B].options.id===x.lowerSeriesOptions.id&&r[B].options._levelNumber===l+1){H=r[B];break}H.xData=[];A(x.levelSeriesOptions,N);va(h,"drillup",{seriesOptions:x.seriesOptions});K.type===H.type&&(K.drilldownLevel=x,K.options.animation=h.options.drilldown.animation,H.animateDrillupFrom&&H.chart&&H.animateDrillupFrom(x));K.options._levelNumber=l;H.remove(!1);K.xAxis&&(B=x.oldExtremes, K.xAxis.setExtremes(B.xMin,B.xMax,!1),K.yAxis.setExtremes(B.yMin,B.yMax,!1))}this.redraw();0===this.drilldownLevels.length?this.drillUpButton=this.drillUpButton.destroy():this.drillUpButton.attr({text:this.getDrilldownBackText()}).align();this.ddDupes.length=[]};N.prototype.supportsDrilldown=!0;N.prototype.animateDrillupTo=function(h){if(!h){var k=this,l=k.drilldownLevel;A(this.points,function(h){h.graphic&&h.graphic.hide();h.dataLabel&&h.dataLabel.hide();h.connector&&h.connector.hide()});setTimeout(function(){k.points&&A(k.points,function(h,k){var p=k===(l&&l.pointIndex)?"show":"fadeIn",r="show"===p?!0:void 0;if(h.graphic)h.graphic[p](r);if(h.dataLabel)h.dataLabel[p](r);if(h.connector)h.connector[p](r)})},Math.max(this.chart.options.drilldown.animation.duration-50,0));this.animate=S}};N.prototype.animateDrilldown=function(h){var k=this,l=this.chart.drilldownLevels,r,x=this.chart.options.drilldown.animation,B=this.xAxis;h||(A(l,function(h){k.options._ddSeriesId===h.lowerSeriesOptions._ddSeriesId&&(r=h.shapeArgs, r.fill=h.color)}),r.x+=p(B.oldPos,B.pos)-B.pos,A(this.points,function(h){h.graphic&&h.graphic.attr(r).animate(O(h.shapeArgs,{fill:h.color}),x);h.dataLabel&&h.dataLabel.fadeIn(x)}),this.animate=null)};N.prototype.animateDrillupFrom=function(h){var k=this.chart.options.drilldown.animation,l=this.group,p=this;A(p.trackerGroups,function(h){if(p[h])p[h].on("mouseover")});delete this.group;A(this.points,function(p){var B=p.graphic,x=function(){B.destroy();l&&(l=l.destroy())};B&&(delete p.graphic,k?B.animate(O(h.shapeArgs, {fill:h.color}),r.merge(k,{complete:x})):(B.attr(h.shapeArgs),x()))})};ia&&O(ia.prototype,{supportsDrilldown:!0,animateDrillupTo:N.prototype.animateDrillupTo,animateDrillupFrom:N.prototype.animateDrillupFrom,animateDrilldown:function(h){var k=this.chart.drilldownLevels[this.chart.drilldownLevels.length-1],l=this.chart.options.drilldown.animation,p=k.shapeArgs,x=p.start,B=(p.end-x)/this.points.length;h||(A(this.points,function(h,y){h.graphic.attr(r.merge(p,{start:x+y*B,end:x+(y+1)*B,fill:k.color}))[l? "animate":"attr"](O(h.shapeArgs,{fill:h.color}),l)}),this.animate=null)}});r.Point.prototype.doDrilldown=function(h,k){var l=this.series.chart,p=l.options.drilldown,r=(p.series||[]).length,x;l.ddDupes||(l.ddDupes=[]);for(;r--&&!x;)p.series[r].id===this.drilldown&&-1===H(this.drilldown,l.ddDupes)&&(x=p.series[r],l.ddDupes.push(this.drilldown));va(l,"drilldown",{point:this,seriesOptions:x,category:k,points:void 0!==k&&this.series.xAxis.ddPoints[k].slice(0)});x&&(h?l.addSingleSeriesAsDrilldown(this,x):l.addSeriesAsDrilldown(this,x))};r.Axis.prototype.drilldownCategory=function(h){var k,l,p=this.ddPoints[h];for(k in p)(l=p[k])&&l.series&&l.series.visible&&l.doDrilldown&&l.doDrilldown(!0,h);this.chart.applyDrilldown()};r.Axis.prototype.getDDPoints=function(h,k){var l=this.ddPoints;l||(this.ddPoints=l={});l[h]||(l[h]=[]);l[h].levelNumber!==k&&(l[h].length=0);return l[h]};ja.prototype.drillable=function(){var h=this.pos,k=this.label,l=this.axis,p=l.ddPoints&&l.ddPoints[h];k&&p&&p.length?(k.basicStyles||(k.basicStyles=r.merge(k.styles)),k.addClass("highcharts-drilldown-axis-label").css(l.chart.options.drilldown.activeAxisLabelStyle).on("click",function(){l.drilldownCategory(h)})):k&&k.basicStyles&&(k.styles={},k.css(k.basicStyles),k.on("click",null))};l(ja.prototype,"addLabel",function(h){h.call(this);this.drillable()});l(r.Point.prototype,"init",function(h,k,l,p){var x=h.call(this,k,l,p);h=(l=k.xAxis)&&l.ticks[p];l=l&&l.getDDPoints(p,k.options._levelNumber);x.drilldown&&(r.addEvent(x,"click",function(){k.xAxis&&!1===k.chart.options.drilldown.allowPointDrilldown?k.xAxis.drilldownCategory(p):x.doDrilldown()}),l&&(l.push(x),l.levelNumber=k.options._levelNumber));h&&h.drillable();return x});l(r.Series.prototype,"drawDataLabels",function(h){var k=this.chart.options.drilldown.activeDataLabelStyle;h.call(this);A(this.points,function(h){h.drilldown&&h.dataLabel&&h.dataLabel.attr({"class":"highcharts-drilldown-data-label"}).css(k)})});var wa,T=function(h){h.call(this);A(this.points,function(h){h.drilldown&&h.graphic&&h.graphic.attr({"class":"highcharts-drilldown-point"}).css({cursor:"pointer"})})};for(wa in h)h[wa].prototype.supportsDrilldown&&l(h[wa].prototype,"drawTracker",T)})(Highcharts);