/* Highcharts JS v5.0.14 (2017-07-28) 3D features for Highcharts JS @license: www.highcharts.com/license */ (function(A){"object"===typeof module&&module.exports?module.exports=A:A(Highcharts)})(function(A){(function(d){var t=d.deg2rad,v=d.pick;d.perspective=function(w,x,r){var m=x.options.chart.options3d,f=r?x.inverted:!1,l=x.plotWidth/2,u=x.plotHeight/2,k=m.depth/2,c=v(m.depth,1)*v(m.viewDistance,0),b=x.scale3d||1,e=t*m.beta*(f?-1:1),m=t*m.alpha*(f?-1:1),a=Math.cos(m),g=Math.cos(-e),h=Math.sin(m),n=Math.sin(-e);r||(l+=x.plotLeft,u+=x.plotTop);return d.map(w,function(e){var d,p;p=(f?e.y:e.x)-l;var q=(f? e.x:e.y)-u,G=(e.z||0)-k;d=g*p-n*G;e=-h*n*p+a*q-g*h*G;p=a*n*p+h*q+a*g*G;q=0d&&g-d>Math.PI/2+.0001?(B=B.concat(t(a,b,e,c,d,d+Math.PI/2,h,k)),B=B.concat(t(a,b,e,c,d+Math.PI/2,g,h,k))):gMath.PI/2+.0001?(B=B.concat(t(a,b,e,c,d,d-Math.PI/2,h,k)),B=B.concat(t(a,b,e,c,d-Math.PI/2,g,h,k))):["C",a+e*Math.cos(d)-e*p*q*Math.sin(d)+h,b+c*Math.sin(d)+c*p*q*Math.cos(d)+k,a+e*Math.cos(g)+e*p*q*Math.sin(g)+h,b+c*Math.sin(g)- c*p*q*Math.cos(g)+k,a+e*Math.cos(g)+h,b+c*Math.sin(g)+k]}var v=Math.cos,w=Math.PI,x=Math.sin,r=d.animObject,m=d.charts,f=d.color,l=d.defined,u=d.deg2rad,k=d.each,c=d.extend,b=d.inArray,e=d.map,a=d.merge,g=d.perspective,h=d.pick,n=d.SVGElement,z=d.SVGRenderer,y=d.wrap,p=4*(Math.sqrt(2)-1)/3/(w/2);y(z.prototype,"init",function(a){a.apply(this,[].slice.call(arguments,1));k([{name:"darker",slope:.6},{name:"brighter",slope:1.4}],function(a){this.definition({tagName:"filter",id:"highcharts-"+a.name,children:[{tagName:"feComponentTransfer", children:[{tagName:"feFuncR",type:"linear",slope:a.slope},{tagName:"feFuncG",type:"linear",slope:a.slope},{tagName:"feFuncB",type:"linear",slope:a.slope}]}]})},this)});z.prototype.toLinePath=function(a,b){var e=[];k(a,function(a){e.push("L",a.x,a.y)});a.length&&(e[0]="M",b&&e.push("Z"));return e};z.prototype.toLineSegments=function(a){var b=[],e=!0;k(a,function(a){b.push(e?"M":"L",a.x,a.y);e=!e});return b};z.prototype.face3d=function(a){var b=this,e=this.createElement("path");e.vertexes=[];e.insidePlotArea= !1;e.enabled=!0;y(e,"attr",function(a,e){if("object"===typeof e&&(l(e.enabled)||l(e.vertexes)||l(e.insidePlotArea))){this.enabled=h(e.enabled,this.enabled);this.vertexes=h(e.vertexes,this.vertexes);this.insidePlotArea=h(e.insidePlotArea,this.insidePlotArea);delete e.enabled;delete e.vertexes;delete e.insidePlotArea;var c=g(this.vertexes,m[b.chartIndex],this.insidePlotArea),B=b.toLinePath(c,!0),c=d.shapeArea(c),c=this.enabled&&0c.faces.length;)e.faces.pop().destroy();for(;e.faces.lengthc.faces.length;)e.faces.pop().destroy();for(;e.faces.lengthd.shapeArea(a)? h=[a,0]:0>d.shapeArea(c)&&(h=[c,1]);return h};y=z([3,2,1,0],[7,6,5,4]);a=y[0];u=y[1];y=z([1,6,7,0],[4,5,2,3]);q=y[0];n=y[1];y=z([1,2,5,6],[0,7,4,3]);z=y[0];y=y[1];1===y?f+=1E4*(1E3-c):y||(f+=1E4*c);f+=10*(!n||0<=l&&180>=l||360>l&&357.5Math.PI&&(a=2*Math.PI-a);return a}var b=a.x,c=a.y,g=a.start,d=a.end-.00001,h=a.r,k=a.innerR,u=a.depth,n=a.alpha,p=a.beta,q=Math.cos(g),y=Math.sin(g);a=Math.cos(d);var z=Math.sin(d),f=h*Math.cos(p),h=h*Math.cos(n),l=k*Math.cos(p),m=k*Math.cos(n),k=u*Math.sin(p), r=u*Math.sin(n),u=["M",b+f*q,c+h*y],u=u.concat(t(b,c,f,h,g,d,0,0)),u=u.concat(["L",b+l*a,c+m*z]),u=u.concat(t(b,c,l,m,d,g,0,0)),u=u.concat(["Z"]),A=0-A?g:d>-A?-A:g,C=dD&&gw-p&&gn&&(l=Math.min(l,1-Math.abs((c+g)/(n+g))%1));bf&&(l=0>f?Math.min(l,(e+h)/(-f+e+h)):Math.min(l,1-(e+ h)/(f+h)%1));ab*d[c][e]?c=g:b*d[g][e]===b*d[c][e]&&d[g].zh&&(d[a[1]]+= d[a[0]]+g,d[a[0]]=-g,h=0);h+d[a[1]]>k[a[0]+"Axis"].len&&0!==d[a[1]]&&(d[a[1]]=k[a[0]+"Axis"].len-d[a[0]]);if(0!==d[a[1]]&&(d[a[0]]>=k[a[0]+"Axis"].len||d[a[0]]+d[a[1]]<=g))for(var b in d)d[b]=0});b.shapeType="cuboid";d.z=a;d.depth=e;d.insidePlotArea=!0;f=v([{x:f[0],y:f[1],z:a}],c,!0)[0];b.tooltipPos=[f.x,f.y]}});k.z=a}});l(r.column.prototype,"animate",function(d){if(this.chart.is3d()){var k=arguments[1],c=this.yAxis,b=this,e=this.yAxis.reversed;f&&(k?t(b.data,function(a){null!==a.y&&(a.height=a.shapeArgs.height, a.shapey=a.shapeArgs.y,a.shapeArgs.height=1,e||(a.shapeArgs.y=a.stackY?a.plotY+c.translate(a.stackY):a.plotY+(a.negative?-a.height:a.height)))}):(t(b.data,function(a){null!==a.y&&(a.shapeArgs.height=a.height,a.shapeArgs.y=a.shapey,a.graphic&&a.graphic.animate(a.shapeArgs,b.options.animation))}),this.drawDataLabels(),b.animate=null))}else d.apply(this,[].slice.call(arguments,1))});l(r.column.prototype,"plotGroup",function(d,f,c,b,e,a){this.chart.is3d()&&a&&!this[f]&&(this[f]=a,a.attr(this.getPlotBox()), this[f].survive=!0);return d.apply(this,Array.prototype.slice.call(arguments,1))});l(r.column.prototype,"setVisible",function(d,f){var c=this,b;c.chart.is3d()&&t(c.data,function(e){b=(e.visible=e.options.visible=f=void 0===f?!e.visible:f)?"visible":"hidden";c.options.data[m(e,c.data)]=e.options;e.graphic&&e.graphic.attr({visibility:b})});d.apply(this,Array.prototype.slice.call(arguments,1))});l(r.column.prototype,"init",function(d){d.apply(this,[].slice.call(arguments,1));if(this.chart.is3d()){var f= this.options,c=f.grouping,b=f.stacking,e=w(this.yAxis.options.reversedStacks,!0),a=0;if(void 0===c||c){c=this.chart.retrieveStacks(b);a=f.stack||0;for(b=0;b=l.min&&c<=l.max:!1,m.push({x:k.plotX,y:k.plotY,z:k.plotZ});f=t(m,f,!0);for(b=0;b