(function(d){"object"===typeof module&&module.exports?module.exports=d:d(Highcharts)})(function(d){function F(c){return void 0!==c&&null!==c}function K(c){var b=0,a,f;for(a=0;a<c.length;a++)f=(a+1)%c.length,b+=c[a].x*c[f].y-c[f].x*c[a].y;return b/2}function G(c){var b=0,a;for(a=0;a<c.length;a++)b+=c[a].z;return c.length?b/c.length:0}function x(c,b,a,f,e,g,d,k){var m=[];g>e&&g-e>q/2+1E-4?(m=m.concat(x(c,b,a,f,e,e+q/2,d,k)),m=m.concat(x(c,b,a,f,e+q/2,g,d,k))):g<e&&e-g>q/2+1E-4?(m=m.concat(x(c,b,a,f,
e,e-q/2,d,k)),m=m.concat(x(c,b,a,f,e-q/2,g,d,k))):(m=g-e,m=["C",c+a*n(e)-a*H*m*t(e)+d,b+f*t(e)+f*H*m*n(e)+k,c+a*n(g)+a*H*m*t(g)+d,b+f*t(g)-f*H*m*n(g)+k,c+a*n(g)+d,b+f*t(g)+k]);return m}function O(c,b){var a=c.plotLeft,f=c.plotWidth+a,e=c.plotTop,g=c.plotHeight+e,d=a+c.plotWidth/2,k=e+c.plotHeight/2,m=Number.MAX_VALUE,l=-Number.MAX_VALUE,p=Number.MAX_VALUE,v=-Number.MAX_VALUE,n,s=1;n=[{x:a,y:e,z:0},{x:a,y:e,z:b}];w([0,1],function(a){n.push({x:f,y:n[a].y,z:n[a].z})});w([0,1,2,3],function(a){n.push({x:n[a].x,
y:g,z:n[a].z})});n=u(n,c,!1);w(n,function(a){m=Math.min(m,a.x);l=Math.max(l,a.x);p=Math.min(p,a.y);v=Math.max(v,a.y)});a>m&&(s=Math.min(s,1-Math.abs((a+d)/(m+d))%1));f<l&&(s=Math.min(s,(f-d)/(l-d)));e>p&&(s=0>p?Math.min(s,(e+k)/(-p+e+k)):Math.min(s,1-(e+k)/(p+k)%1));g<v&&(s=Math.min(s,Math.abs((g-k)/(v-k))));return s}function L(c){if(this.chart.is3d()){var b=this.chart.options.plotOptions.column.grouping;void 0===b||b||void 0===this.group.zIndex||this.zIndexSet||(this.group.attr({zIndex:10*this.group.zIndex}),
this.zIndexSet=!0);var a=this.options,f=this.options.states;this.borderWidth=a.borderWidth=F(a.edgeWidth)?a.edgeWidth:1;d.each(this.data,function(b){null!==b.y&&(b=b.pointAttr,this.borderColor=d.pick(a.edgeColor,b[""].fill),b[""].stroke=this.borderColor,b.hover.stroke=d.pick(f.hover.edgeColor,this.borderColor),b.select.stroke=d.pick(f.select.edgeColor,this.borderColor))})}c.apply(this,[].slice.call(arguments,1))}var P=d.animObject,w=d.each,Q=d.extend,R=d.inArray,I=d.merge,D=d.pick,M=d.wrap,q=Math.PI,
E=q/180,t=Math.sin,n=Math.cos,N=Math.round,u=d.perspective=function(c,b,a){var f=b.options.chart.options3d,e=a?b.inverted:!1,g=b.plotWidth/2,h=b.plotHeight/2,k=f.depth/2,m=D(f.depth,1)*D(f.viewDistance,0),l=b.scale3d||1,p=E*f.beta*(e?-1:1),f=E*f.alpha*(e?-1:1),v=n(f),q=n(-p),s=t(f),r=t(-p);a||(g+=b.plotLeft,h+=b.plotTop);return d.map(c,function(a){var b;b=-s*r*((e?a.y:a.x)-g)+v*((e?a.x:a.y)-h)-q*s*((a.z||0)-k);var c=v*r*((e?a.y:a.x)-g)+s*((e?a.x:a.y)-h)+v*q*((a.z||0)-k),f=0<m&&m<Number.POSITIVE_INFINITY?
m/(c+k+m):1;a=(q*((e?a.y:a.x)-g)-r*((a.z||0)-k))*f;a=a*l+g;b=b*f*l+h;return{x:e?b:a,y:e?a:b,z:c*l+k}})},H=4*(Math.sqrt(2)-1)/3/(q/2);d.SVGRenderer.prototype.toLinePath=function(c,b){var a=[];d.each(c,function(b){a.push("L",b.x,b.y)});c.length&&(a[0]="M",b&&a.push("Z"));return a};d.SVGRenderer.prototype.cuboid=function(c){var b=this.g();c=this.cuboidPath(c);b.front=this.path(c[0]).attr({zIndex:c[3],"stroke-linejoin":"round"}).add(b);b.top=this.path(c[1]).attr({zIndex:c[4],"stroke-linejoin":"round"}).add(b);
b.side=this.path(c[2]).attr({zIndex:c[5],"stroke-linejoin":"round"}).add(b);b.fillSetter=function(a){var b=d.Color(a).brighten(0.1).get(),c=d.Color(a).brighten(-0.1).get();this.front.attr({fill:a});this.top.attr({fill:b});this.side.attr({fill:c});this.color=a;return this};b.opacitySetter=function(a){this.front.attr({opacity:a});this.top.attr({opacity:a});this.side.attr({opacity:a});return this};b.attr=function(a){if(a.shapeArgs||F(a.x))a=this.renderer.cuboidPath(a.shapeArgs||a),this.front.attr({d:a[0],
zIndex:a[3]}),this.top.attr({d:a[1],zIndex:a[4]}),this.side.attr({d:a[2],zIndex:a[5]});else return d.SVGElement.prototype.attr.call(this,a);return this};b.animate=function(a,b,c){F(a.x)&&F(a.y)?(a=this.renderer.cuboidPath(a),this.front.attr({zIndex:a[3]}).animate({d:a[0]},b,c),this.top.attr({zIndex:a[4]}).animate({d:a[1]},b,c),this.side.attr({zIndex:a[5]}).animate({d:a[2]},b,c),this.attr({zIndex:-a[6]})):a.opacity?(this.front.animate(a,b,c),this.top.animate(a,b,c),this.side.animate(a,b,c)):d.SVGElement.prototype.animate.call(this,
a,b,c);return this};b.destroy=function(){this.front.destroy();this.top.destroy();this.side.destroy();return null};b.attr({zIndex:-c[6]});return b};d.SVGRenderer.prototype.cuboidPath=function(c){function b(a){return l[a]}var a=c.x,f=c.y,e=c.z,g=c.height,h=c.width,k=c.depth,m=d.map,l=[{x:a,y:f,z:e},{x:a+h,y:f,z:e},{x:a+h,y:f+g,z:e},{x:a,y:f+g,z:e},{x:a,y:f+g,z:e+k},{x:a+h,y:f+g,z:e+k},{x:a+h,y:f,z:e+k},{x:a,y:f,z:e+k}],l=u(l,d.charts[this.chartIndex],c.insidePlotArea),e=function(a,c){var f=[];a=m(a,
b);c=m(c,b);0>K(a)?f=a:0>K(c)&&(f=c);return f};c=e([3,2,1,0],[7,6,5,4]);a=[4,5,2,3];f=e([1,6,7,0],a);e=e([1,2,5,6],[0,7,4,3]);return[this.toLinePath(c,!0),this.toLinePath(f,!0),this.toLinePath(e,!0),G(c),G(f),G(e),9E9*G(m(a,b))]};d.SVGRenderer.prototype.arc3d=function(c){function b(a){var b=!1,c={},f;for(f in a)-1!==R(f,e)&&(c[f]=a[f],delete a[f],b=!0);return b?c:!1}var a=this.g(),f=a.renderer,e="x y r innerR start end".split(" ");c=I(c);c.alpha*=E;c.beta*=E;a.top=f.path();a.side1=f.path();a.side2=
f.path();a.inn=f.path();a.out=f.path();a.onAdd=function(){var b=a.parentGroup;a.top.add(a);a.out.add(b);a.inn.add(b);a.side1.add(b);a.side2.add(b)};a.setPaths=function(b){var c=a.renderer.arc3dPath(b),f=100*c.zTop;a.attribs=b;a.top.attr({d:c.top,zIndex:c.zTop});a.inn.attr({d:c.inn,zIndex:c.zInn});a.out.attr({d:c.out,zIndex:c.zOut});a.side1.attr({d:c.side1,zIndex:c.zSide1});a.side2.attr({d:c.side2,zIndex:c.zSide2});a.zIndex=f;a.attr({zIndex:f});b.center&&(a.top.setRadialReference(b.center),delete b.center)};
a.setPaths(c);a.fillSetter=function(a){var b=d.Color(a).brighten(-0.1).get();this.fill=a;this.side1.attr({fill:b});this.side2.attr({fill:b});this.inn.attr({fill:b});this.out.attr({fill:b});this.top.attr({fill:a});return this};w(["opacity","translateX","translateY","visibility"],function(b){a[b+"Setter"]=function(b,c){a[c]=b;w(["out","inn","side1","side2","top"],function(f){a[f].attr(c,b)})}});M(a,"attr",function(c,f,e){var d;"object"===typeof f&&(d=b(f))&&(Q(a.attribs,d),a.setPaths(a.attribs));return c.call(this,
f,e)});M(a,"animate",function(a,c,f,e){var d=this.attribs,p,n;delete c.center;delete c.z;delete c.depth;delete c.alpha;delete c.beta;n=P(D(f,this.renderer.globalAnimation));if(n.duration){c=I(c);if(f=b(c))p=f,n.step=function(a,b){function c(a){return d[a]+(D(p[a],d[a])-d[a])*b.pos}b.elem.setPaths(I(d,{x:c("x"),y:c("y"),r:c("r"),innerR:c("innerR"),start:c("start"),end:c("end")}))};f=n}return a.call(this,c,f,e)});a.destroy=function(){this.top.destroy();this.out.destroy();this.inn.destroy();this.side1.destroy();
this.side2.destroy();d.SVGElement.prototype.destroy.call(this)};a.hide=function(){this.top.hide();this.out.hide();this.inn.hide();this.side1.hide();this.side2.hide()};a.show=function(){this.top.show();this.out.show();this.inn.show();this.side1.show();this.side2.show()};return a};d.SVGRenderer.prototype.arc3dPath=function(c){function b(a){a%=2*q;a>q&&(a=2*q-a);return a}var a=c.x,f=c.y,e=c.start,d=c.end-1E-5,h=c.r,k=c.innerR,m=c.depth,l=c.alpha,p=c.beta,v=n(e),w=t(e);c=n(d);var s=t(d),r=h*n(p),h=h*
n(l),A=k*n(p),B=k*n(l),k=m*t(p),y=m*t(l),m=["M",a+r*v,f+h*w],m=m.concat(x(a,f,r,h,e,d,0,0)),m=m.concat(["L",a+A*c,f+B*s]),m=m.concat(x(a,f,A,B,d,e,0,0)),m=m.concat(["Z"]),u=0<p?q/2:0,p=0<l?0:q/2,u=e>-u?e:d>-u?-u:e,z=d<q-p?d:e<q-p?q-p:d,C=2*q-p,l=["M",a+r*n(u),f+h*t(u)],l=l.concat(x(a,f,r,h,u,z,0,0));d>C&&e<C?(l=l.concat(["L",a+r*n(z)+k,f+h*t(z)+y]),l=l.concat(x(a,f,r,h,z,C,k,y)),l=l.concat(["L",a+r*n(C),f+h*t(C)]),l=l.concat(x(a,f,r,h,C,d,0,0)),l=l.concat(["L",a+r*n(d)+k,f+h*t(d)+y]),l=l.concat(x(a,
f,r,h,d,C,k,y)),l=l.concat(["L",a+r*n(C),f+h*t(C)]),l=l.concat(x(a,f,r,h,C,z,0,0))):d>q-p&&e<q-p&&(l=l.concat(["L",a+r*n(z)+k,f+h*t(z)+y]),l=l.concat(x(a,f,r,h,z,d,k,y)),l=l.concat(["L",a+r*n(d),f+h*t(d)]),l=l.concat(x(a,f,r,h,d,z,0,0)));l=l.concat(["L",a+r*n(z)+k,f+h*t(z)+y]);l=l.concat(x(a,f,r,h,z,u,k,y));l=l.concat(["Z"]);p=["M",a+A*v,f+B*w];p=p.concat(x(a,f,A,B,e,d,0,0));p=p.concat(["L",a+A*n(d)+k,f+B*t(d)+y]);p=p.concat(x(a,f,A,B,d,e,k,y));p=p.concat(["Z"]);v=["M",a+r*v,f+h*w,"L",a+r*v+k,f+h*
w+y,"L",a+A*v+k,f+B*w+y,"L",a+A*v,f+B*w,"Z"];a=["M",a+r*c,f+h*s,"L",a+r*c+k,f+h*s+y,"L",a+A*c+k,f+B*s+y,"L",a+A*c,f+B*s,"Z"];s=Math.atan2(y,-k);f=Math.abs(d+s);c=Math.abs(e+s);e=Math.abs((e+d)/2+s);f=b(f);c=b(c);e=b(e);e*=1E5;d=1E5*c;f*=1E5;return{top:m,zTop:1E5*q+1,out:l,zOut:Math.max(e,d,f),inn:p,zInn:Math.max(e,d,f),side1:v,zSide1:0.99*f,side2:a,zSide2:0.99*d}};d.Chart.prototype.is3d=function(){return this.options.chart.options3d&&this.options.chart.options3d.enabled};d.wrap(d.Chart.prototype,
"isInsidePlot",function(c){return this.is3d()||c.apply(this,[].slice.call(arguments,1))});d.getOptions().chart.options3d={enabled:!1,alpha:0,beta:0,depth:100,fitToPlot:!0,viewDistance:25,frame:{bottom:{size:1,color:"rgba(255,255,255,0)"},side:{size:1,color:"rgba(255,255,255,0)"},back:{size:1,color:"rgba(255,255,255,0)"}}};d.wrap(d.Chart.prototype,"init",function(c){var b=[].slice.call(arguments,1),a;b[0].chart&&b[0].chart.options3d&&b[0].chart.options3d.enabled&&(b[0].chart.options3d.alpha=(b[0].chart.options3d.alpha||
0)%360,b[0].chart.options3d.beta=(b[0].chart.options3d.beta||0)%360,a=b[0].plotOptions||{},a=a.pie||{},a.borderColor=d.pick(a.borderColor,void 0));c.apply(this,b)});d.wrap(d.Chart.prototype,"setChartSize",function(c){var b=this.options.chart.options3d;c.apply(this,[].slice.call(arguments,1));if(this.is3d()){var a=this.inverted,f=this.clipBox,d=this.margin;f[a?"y":"x"]=-(d[3]||0);f[a?"x":"y"]=-(d[0]||0);f[a?"height":"width"]=this.chartWidth+(d[3]||0)+(d[1]||0);f[a?"width":"height"]=this.chartHeight+
(d[0]||0)+(d[2]||0);this.scale3d=1;!0===b.fitToPlot&&(this.scale3d=O(this,b.depth))}});d.wrap(d.Chart.prototype,"redraw",function(c){this.is3d()&&(this.isDirtyBox=!0);c.apply(this,[].slice.call(arguments,1))});d.wrap(d.Chart.prototype,"renderSeries",function(c){var b=this.series.length;if(this.is3d())for(;b--;)c=this.series[b],c.translate(),c.render();else c.call(this)});d.Chart.prototype.retrieveStacks=function(c){var b=this.series,a={},f,e=1;d.each(this.series,function(d){f=D(d.options.stack,c?
0:b.length-1-d.index);a[f]?a[f].series.push(d):(a[f]={series:[d],position:e},e++)});a.totalStacks=e+1;return a};d.wrap(d.Axis.prototype,"setOptions",function(c,b){var a;c.call(this,b);this.chart.is3d()&&(a=this.options,a.tickWidth=d.pick(a.tickWidth,0),a.gridLineWidth=d.pick(a.gridLineWidth,1))});d.wrap(d.Axis.prototype,"render",function(c){c.apply(this,[].slice.call(arguments,1));if(this.chart.is3d()){var b=this.chart,a=b.renderer,d=b.options.chart.options3d,e=d.frame,g=e.bottom,h=e.back,e=e.side,
k=d.depth,m=this.height,l=this.width,n=this.left,q=this.top;this.isZAxis||(this.horiz?(h={x:n,y:q+(b.xAxis[0].opposite?-g.size:m),z:0,width:l,height:g.size,depth:k,insidePlotArea:!1},this.bottomFrame?this.bottomFrame.animate(h):this.bottomFrame=a.cuboid(h).attr({fill:g.color,zIndex:b.yAxis[0].reversed&&0<d.alpha?4:-1}).css({stroke:g.color}).add()):(d={x:n+(b.yAxis[0].opposite?0:-e.size),y:q+(b.xAxis[0].opposite?-g.size:0),z:k,width:l+e.size,height:m+g.size,depth:h.size,insidePlotArea:!1},this.backFrame?
this.backFrame.animate(d):this.backFrame=a.cuboid(d).attr({fill:h.color,zIndex:-3}).css({stroke:h.color}).add(),b={x:n+(b.yAxis[0].opposite?l:-e.size),y:q+(b.xAxis[0].opposite?-g.size:0),z:0,width:e.size,height:m+g.size,depth:k,insidePlotArea:!1},this.sideFrame?this.sideFrame.animate(b):this.sideFrame=a.cuboid(b).attr({fill:e.color,zIndex:-2}).css({stroke:e.color}).add()))}});d.wrap(d.Axis.prototype,"getPlotLinePath",function(c){var b=c.apply(this,[].slice.call(arguments,1));if(!this.chart.is3d()||
null===b)return b;var a=this.chart,d=a.options.chart.options3d,a=this.isZAxis?a.plotWidth:d.depth,d=this.opposite;this.horiz&&(d=!d);b=[this.swapZ({x:b[1],y:b[2],z:d?a:0}),this.swapZ({x:b[1],y:b[2],z:a}),this.swapZ({x:b[4],y:b[5],z:a}),this.swapZ({x:b[4],y:b[5],z:d?0:a})];b=u(b,this.chart,!1);return this.chart.renderer.toLinePath(b,!1)});d.wrap(d.Axis.prototype,"getLinePath",function(c){return this.chart.is3d()?[]:c.apply(this,[].slice.call(arguments,1))});d.wrap(d.Axis.prototype,"getPlotBandPath",
function(c){if(!this.chart.is3d())return c.apply(this,[].slice.call(arguments,1));var b=arguments,a=b[1],b=this.getPlotLinePath(b[2]);(a=this.getPlotLinePath(a))&&b?a.push("L",b[10],b[11],"L",b[7],b[8],"L",b[4],b[5],"L",b[1],b[2]):a=null;return a});d.wrap(d.Tick.prototype,"getMarkPath",function(c){var b=c.apply(this,[].slice.call(arguments,1));if(!this.axis.chart.is3d())return b;b=[this.axis.swapZ({x:b[1],y:b[2],z:0}),this.axis.swapZ({x:b[4],y:b[5],z:0})];b=u(b,this.axis.chart,!1);return["M",b[0].x,
b[0].y,"L",b[1].x,b[1].y]});d.wrap(d.Tick.prototype,"getLabelPosition",function(c){var b=c.apply(this,[].slice.call(arguments,1));this.axis.chart.is3d()&&(b=u([this.axis.swapZ({x:b.x,y:b.y,z:0})],this.axis.chart,!1)[0]);return b});d.wrap(d.Axis.prototype,"getTitlePosition",function(c){var b=this.chart.is3d(),a,d;b&&(d=this.axisTitleMargin,this.axisTitleMargin=0);a=c.apply(this,[].slice.call(arguments,1));b&&(a=u([this.swapZ({x:a.x,y:a.y,z:0})],this.chart,!1)[0],a[this.horiz?"y":"x"]+=(this.horiz?
1:-1)*(this.opposite?-1:1)*d,this.axisTitleMargin=d);return a});d.wrap(d.Axis.prototype,"drawCrosshair",function(c){var b=arguments;this.chart.is3d()&&b[2]&&(b[2]={plotX:b[2].plotXold||b[2].plotX,plotY:b[2].plotYold||b[2].plotY});c.apply(this,[].slice.call(b,1))});d.Axis.prototype.swapZ=function(c,b){if(this.isZAxis){var a=b?0:this.chart.plotLeft,d=this.chart;return{x:a+(d.yAxis[0].opposite?c.z:d.xAxis[0].width-c.z),y:c.y,z:c.x-a}}return c};var J=d.ZAxis=function(){this.isZAxis=!0;this.init.apply(this,
arguments)};d.extend(J.prototype,d.Axis.prototype);d.extend(J.prototype,{setOptions:function(c){c=d.merge({offset:0,lineWidth:0},c);d.Axis.prototype.setOptions.call(this,c);this.coll="zAxis"},setAxisSize:function(){d.Axis.prototype.setAxisSize.call(this);this.width=this.len=this.chart.options.chart.options3d.depth;this.right=this.chart.chartWidth-this.width-this.left},getSeriesExtremes:function(){var c=this,b=c.chart;c.hasVisibleSeries=!1;c.dataMin=c.dataMax=c.ignoreMinPadding=c.ignoreMaxPadding=
null;c.buildStacks&&c.buildStacks();d.each(c.series,function(a){if(a.visible||!b.options.chart.ignoreHiddenSeries)if(c.hasVisibleSeries=!0,a=a.zData,a.length)c.dataMin=Math.min(D(c.dataMin,a[0]),Math.min.apply(null,a)),c.dataMax=Math.max(D(c.dataMax,a[0]),Math.max.apply(null,a))})}});d.wrap(d.Chart.prototype,"getAxes",function(c){var b=this,a=this.options,a=a.zAxis=d.splat(a.zAxis||{});c.call(this);b.is3d()&&(this.zAxis=[],d.each(a,function(a,c){a.index=c;a.isX=!0;(new J(b,a)).setScale()}))});d.wrap(d.seriesTypes.column.prototype,
"translate",function(c){c.apply(this,[].slice.call(arguments,1));if(this.chart.is3d()){var b=this.chart,a=this.options,f=a.depth||25,e=(a.stacking?a.stack||0:this._i)*(f+(a.groupZPadding||1));!1!==a.grouping&&(e=0);e+=a.groupZPadding||1;d.each(this.data,function(a){if(null!==a.y){var c=a.shapeArgs,d=a.tooltipPos;a.shapeType="cuboid";c.z=e;c.depth=f;c.insidePlotArea=!0;d=u([{x:d[0],y:d[1],z:e}],b,!0)[0];a.tooltipPos=[d.x,d.y]}});this.z=e}});d.wrap(d.seriesTypes.column.prototype,"animate",function(c){if(this.chart.is3d()){var b=
arguments[1],a=this.yAxis,f=this,e=this.yAxis.reversed;d.svg&&(b?d.each(f.data,function(b){null===b.y||(b.height=b.shapeArgs.height,b.shapey=b.shapeArgs.y,b.shapeArgs.height=1,e)||(b.shapeArgs.y=b.stackY?b.plotY+a.translate(b.stackY):b.plotY+(b.negative?-b.height:b.height))}):(d.each(f.data,function(a){null!==a.y&&(a.shapeArgs.height=a.height,a.shapeArgs.y=a.shapey,a.graphic&&a.graphic.animate(a.shapeArgs,f.options.animation))}),this.drawDataLabels(),f.animate=null))}else c.apply(this,[].slice.call(arguments,
1))});d.wrap(d.seriesTypes.column.prototype,"init",function(c){c.apply(this,[].slice.call(arguments,1));if(this.chart.is3d()){var b=this.options,a=b.grouping,d=b.stacking,e=D(this.yAxis.options.reversedStacks,!0),g=0;if(void 0===a||a){a=this.chart.retrieveStacks(d);g=b.stack||0;for(d=0;d<a[g].series.length&&a[g].series[d]!==this;d++);g=10*(a.totalStacks-a[g].position)+(e?d:-d);this.xAxis.reversed||(g=10*a.totalStacks-g)}b.zIndex=g}});d.wrap(d.Series.prototype,"alignDataLabel",function(c){if(this.chart.is3d()&&
("column"===this.type||"columnrange"===this.type)){var b=arguments[4],a={x:b.x,y:b.y,z:this.z},a=u([a],this.chart,!0)[0];b.x=a.x;b.y=a.y}c.apply(this,[].slice.call(arguments,1))});d.seriesTypes.columnrange&&d.wrap(d.seriesTypes.columnrange.prototype,"drawPoints",L);d.wrap(d.seriesTypes.column.prototype,"drawPoints",L);d.wrap(d.seriesTypes.pie.prototype,"translate",function(c){c.apply(this,[].slice.call(arguments,1));if(this.chart.is3d()){var b=this,a=b.options,d=a.depth||0,e=b.chart.options.chart.options3d,
g=e.alpha,h=e.beta,k=a.stacking?(a.stack||0)*d:b._i*d,k=k+d/2;!1!==a.grouping&&(k=0);w(b.data,function(c){var e=c.shapeArgs;c.shapeType="arc3d";e.z=k;e.depth=0.75*d;e.alpha=g;e.beta=h;e.center=b.center;e=(e.end+e.start)/2;c.slicedTranslation={translateX:N(n(e)*a.slicedOffset*n(g*E)),translateY:N(t(e)*a.slicedOffset*n(g*E))}})}});d.wrap(d.seriesTypes.pie.prototype.pointClass.prototype,"haloPath",function(c){var b=arguments;return this.series.chart.is3d()?[]:c.call(this,b[1])});d.wrap(d.seriesTypes.pie.prototype,
"drawPoints",function(c){var b=this.options,a=b.states;this.chart.is3d()&&(this.borderWidth=b.borderWidth=b.edgeWidth||1,this.borderColor=b.edgeColor=d.pick(b.edgeColor,b.borderColor,void 0),a.hover.borderColor=d.pick(a.hover.edgeColor,this.borderColor),a.hover.borderWidth=d.pick(a.hover.edgeWidth,this.borderWidth),a.select.borderColor=d.pick(a.select.edgeColor,this.borderColor),a.select.borderWidth=d.pick(a.select.edgeWidth,this.borderWidth),w(this.data,function(b){var c=b.pointAttr;c[""].stroke=
b.series.borderColor||b.color;c[""]["stroke-width"]=b.series.borderWidth;c.hover.stroke=a.hover.borderColor;c.hover["stroke-width"]=a.hover.borderWidth;c.select.stroke=a.select.borderColor;c.select["stroke-width"]=a.select.borderWidth}));c.apply(this,[].slice.call(arguments,1));this.chart.is3d()&&w(this.points,function(a){var b=a.graphic;if(b)b[a.y&&a.visible?"show":"hide"]()})});d.wrap(d.seriesTypes.pie.prototype,"drawDataLabels",function(c){if(this.chart.is3d()){var b=this.chart.options.chart.options3d;
w(this.data,function(a){var c=a.shapeArgs,d=c.r,g=(c.beta||b.beta)*E,h=(c.start+c.end)/2,k=a.labelPos,m=-d*(1-n((c.alpha||b.alpha)*E))*t(h),l=d*(n(g)-1)*n(h);w([0,2,4],function(a){k[a]+=l;k[a+1]+=m})})}c.apply(this,[].slice.call(arguments,1))});d.wrap(d.seriesTypes.pie.prototype,"addPoint",function(c){c.apply(this,[].slice.call(arguments,1));this.chart.is3d()&&this.update(this.userOptions,!0)});d.wrap(d.seriesTypes.pie.prototype,"animate",function(c){if(this.chart.is3d()){var b=arguments[1],a=this.options.animation,
f=this.center,e=this.group,g=this.markerGroup;if(d.svg)if(!0===a&&(a={}),b){if(e.oldtranslateX=e.translateX,e.oldtranslateY=e.translateY,b={translateX:f[0],translateY:f[1],scaleX:0.001,scaleY:0.001},e.attr(b),g)g.attrSetters=e.attrSetters,g.attr(b)}else b={translateX:e.oldtranslateX,translateY:e.oldtranslateY,scaleX:1,scaleY:1},e.animate(b,a),g&&g.animate(b,a),this.animate=null}else c.apply(this,[].slice.call(arguments,1))});d.wrap(d.seriesTypes.scatter.prototype,"translate",function(c){c.apply(this,
[].slice.call(arguments,1));if(this.chart.is3d()){var b=this.chart,a=d.pick(this.zAxis,b.options.zAxis[0]),f=[],e,g,h;for(h=0;h<this.data.length;h++)e=this.data[h],g=a.isLog&&a.val2lin?a.val2lin(e.z):e.z,e.plotZ=a.translate(g),e.isInside=e.isInside?g>=a.min&&g<=a.max:!1,f.push({x:e.plotX,y:e.plotY,z:e.plotZ});b=u(f,b,!0);for(h=0;h<this.data.length;h++)e=this.data[h],a=b[h],e.plotXold=e.plotX,e.plotYold=e.plotY,e.plotZold=e.plotZ,e.plotX=a.x,e.plotY=a.y,e.plotZ=a.z}});d.wrap(d.seriesTypes.scatter.prototype,
"init",function(c,b,a){b.is3d()&&(this.axisTypes=["xAxis","yAxis","zAxis"],this.pointArrayMap=["x","y","z"],this.parallelArrays=["x","y","z"],this.directTouch=!0);c=c.apply(this,[b,a]);this.chart.is3d()&&(this.tooltipOptions.pointFormat=this.userOptions.tooltip?this.userOptions.tooltip.pointFormat||"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>z: <b>{point.z}</b><br/>":"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>z: <b>{point.z}</b><br/>");return c});d.VMLRenderer&&(d.setOptions({animate:!1}),
d.VMLRenderer.prototype.cuboid=d.SVGRenderer.prototype.cuboid,d.VMLRenderer.prototype.cuboidPath=d.SVGRenderer.prototype.cuboidPath,d.VMLRenderer.prototype.toLinePath=d.SVGRenderer.prototype.toLinePath,d.VMLRenderer.prototype.createElement3D=d.SVGRenderer.prototype.createElement3D,d.VMLRenderer.prototype.arc3d=function(c){c=d.SVGRenderer.prototype.arc3d.call(this,c);c.css({zIndex:c.zIndex});return c},d.VMLRenderer.prototype.arc3dPath=d.SVGRenderer.prototype.arc3dPath,d.wrap(d.Axis.prototype,"render",
function(c){c.apply(this,[].slice.call(arguments,1));this.sideFrame&&(this.sideFrame.css({zIndex:0}),this.sideFrame.front.attr({fill:this.sideFrame.color}));this.bottomFrame&&(this.bottomFrame.css({zIndex:1}),this.bottomFrame.front.attr({fill:this.bottomFrame.color}));this.backFrame&&(this.backFrame.css({zIndex:0}),this.backFrame.front.attr({fill:this.backFrame.color}))}))});
