/* Highcharts JS v6.0.7 (2018-02-16) 3D features for Highcharts JS @license: www.highcharts.com/license */ (function(C){"object"===typeof module&&module.exports?module.exports=C:C(Highcharts)})(function(C){(function(c){var q=c.deg2rad,u=c.pick;c.perspective=function(p,y,B){var v=y.options.chart.options3d,h=B?y.inverted:!1,z=y.plotWidth/2,t=y.plotHeight/2,A=v.depth/2,e=u(v.depth,1)*u(v.viewDistance,0),b=y.scale3d||1,f=q*v.beta*(h?-1:1),v=q*v.alpha*(h?-1:1),k=Math.cos(v),d=Math.cos(-f),a=Math.sin(v),m=Math.sin(-f);B||(z+=y.plotLeft,t+=y.plotTop);return c.map(p,function(c){var f,l;l=(h?c.y:c.x)-z;var r=(h? c.x:c.y)-t,x=(c.z||0)-A;f=d*l-m*x;c=-a*m*l+k*r-d*a*x;l=k*m*l+a*r+k*d*x;r=0e&&f-e>Math.PI/2+.0001?(g=g.concat(q(b,d,a,c,e,e+Math.PI/2,l,m)),g=g.concat(q(b,d,a,c,e+Math.PI/2,f,l,m))):fMath.PI/2+.0001?(g=g.concat(q(b,d,a,c,e,e-Math.PI/2,l,m)),g=g.concat(q(b,d,a,c,e-Math.PI/2,f,l,m))):["C",b+a*Math.cos(e)-a*w*r*Math.sin(e)+l,d+c*Math.sin(e)+c*w*r*Math.cos(e)+m,b+a*Math.cos(f)+a*w*r*Math.sin(f)+l,d+c*Math.sin(f)- c*w*r*Math.cos(f)+m,b+a*Math.cos(f)+l,d+c*Math.sin(f)+m]}var u=Math.cos,p=Math.PI,y=Math.sin,B=c.animObject,v=c.charts,h=c.color,z=c.defined,t=c.deg2rad,A=c.each,e=c.extend,b=c.inArray,f=c.map,k=c.merge,d=c.perspective,a=c.pick,m=c.SVGElement,l=c.SVGRenderer,n=c.wrap,w=4*(Math.sqrt(2)-1)/3/(p/2);l.prototype.toLinePath=function(b,d){var a=[];A(b,function(b){a.push("L",b.x,b.y)});b.length&&(a[0]="M",d&&a.push("Z"));return a};l.prototype.toLineSegments=function(b){var d=[],a=!0;A(b,function(b){d.push(a? "M":"L",b.x,b.y);a=!a});return d};l.prototype.face3d=function(b){var e=this,g=this.createElement("path");g.vertexes=[];g.insidePlotArea=!1;g.enabled=!0;n(g,"attr",function(b,g){if("object"===typeof g&&(z(g.enabled)||z(g.vertexes)||z(g.insidePlotArea))){this.enabled=a(g.enabled,this.enabled);this.vertexes=a(g.vertexes,this.vertexes);this.insidePlotArea=a(g.insidePlotArea,this.insidePlotArea);delete g.enabled;delete g.vertexes;delete g.insidePlotArea;var f=d(this.vertexes,v[e.chartIndex],this.insidePlotArea), l=e.toLinePath(f,!0),f=c.shapeArea(f),f=this.enabled&&0g.faces.length;)a.faces.pop().destroy(); for(;a.faces.lengthg.faces.length;)a.faces.pop().destroy();for(;a.faces.lengthc.shapeArea(a)?g=[a,0]:0>c.shapeArea(d)&&(g=[d,1]);return g};n=t([3,2,1,0],[7,6,5,4]);a=n[0];k=n[1];n=t([1,6,7,0],[4,5,2,3]);m=n[0];r=n[1];n=t([1,2,5,6],[0,7,4,3]);t=n[0];n=n[1];1===n?h+=1E4*(1E3-g):n|| (h+=1E4*g);h+=10*(!r||0<=w&&180>=w||360>w&&357.5Math.PI&&(a=2*Math.PI-a);return a}var d=a.x,e=a.y,c=a.start,f=a.end-.00001,l=a.r,m=a.innerR,k=a.depth,n=a.alpha,t=a.beta,A=Math.cos(c),w=Math.sin(c);a=Math.cos(f);var r=Math.sin(f),h=l*Math.cos(t),l=l*Math.cos(n),v=m*Math.cos(t),z=m*Math.cos(n),m=k*Math.sin(t),B=k*Math.sin(n),k=["M",d+h*A,e+l*w],k=k.concat(q(d,e,h,l,c,f,0,0)),k=k.concat(["L",d+v*a,e+z*r]),k=k.concat(q(d,e,v,z,f,c,0,0)),k=k.concat(["Z"]),C= 0-C?c:f>-C?-C:c,D=fE&&cp-t&&cm&&(x=Math.min(x,1-Math.abs((e+d)/(m+d))%1));bn&&(x=0>n?Math.min(x,(f+a)/(-n+f+a)):Math.min(x,1-(f+a)/(n+a)%1));ka?-1:0},l=m([{x:b,y:d,z:a},{x:f,y:d,z:a},{x:f,y:d,z:0},{x:b,y:d,z:0}]),n=m([{x:b,y:k,z:0},{x:f,y:k,z:0},{x:f,y:k,z:a},{x:b,y:k,z:a}]),w=m([{x:b,y:k,z:0},{x:b,y:k,z:a}, {x:b,y:d,z:a},{x:b,y:d,z:0}]),r=m([{x:f,y:k,z:a},{x:f,y:k,z:0},{x:f,y:d,z:0},{x:f,y:d,z:a}]),x=m([{x:b,y:d,z:0},{x:f,y:d,z:0},{x:f,y:k,z:0},{x:b,y:k,z:0}]),m=m([{x:b,y:k,z:a},{x:f,y:k,z:a},{x:f,y:d,z:a},{x:b,y:d,z:a}]),g=!1,z=!1,y=!1,u=!1;p([].concat(h.xAxis,h.yAxis,h.zAxis),function(a){a&&(a.horiz?a.opposite?z=!0:g=!0:a.opposite?u=!0:y=!0)});var q=function(a,d,b){for(var e=["size","color","visible"],c={},f=0;fb*c[e][d]?e=f:b*c[f][d]===b*c[e][d]&&c[f].z< c[e].z&&(e=f);return a[e]},e.axes={y:{left:b(A,"x",-1),right:b(A,"x",1)},x:{top:b(n,"y",-1),bottom:b(l,"y",1)},z:{top:b(d,"y",-1),bottom:b(w,"y",1)}}):e.axes={y:{left:{x:b,z:0,xDir:{x:1,y:0,z:0}},right:{x:f,z:0,xDir:{x:0,y:0,z:1}}},x:{top:{y:k,z:0,xDir:{x:1,y:0,z:0}},bottom:{y:d,z:0,xDir:{x:1,y:0,z:0}}},z:{top:{x:y?f:b,y:k,xDir:y?{x:0,y:0,z:1}:{x:0,y:0,z:-1}},bottom:{x:y?f:b,y:d,xDir:y?{x:0,y:0,z:1}:{x:0,y:0,z:-1}}}};return e};c.Fx.prototype.matrixSetter=function(){var h;if(1>this.pos&&(c.isArray(this.start)|| c.isArray(this.end))){var A=this.start||[1,0,0,1,0,0],e=this.end||[1,0,0,1,0,0];h=[];for(var b=0;6>b;b++)h.push(this.pos*e[b]+(1-this.pos)*A[b])}else h=this.end;this.elem.attr(this.prop,h,null,!0)}})(C);(function(c){function q(d,a,b){if(!d.chart.is3d()||"colorAxis"===d.coll)return a;var c=d.chart,f=B*c.options.chart.options3d.alpha,m=B*c.options.chart.options3d.beta,h=A(b&&d.options.title.position3d,d.options.labels.position3d);b=A(b&&d.options.title.skew3d,d.options.labels.skew3d);var k=c.frame3d, g=c.plotLeft,v=c.plotWidth+g,p=c.plotTop,y=c.plotHeight+p,c=!1,z=0,u=0,q={x:0,y:1,z:0};a=d.swapZ({x:a.x,y:a.y,z:0});if(d.isZAxis)if(d.opposite){if(null===k.axes.z.top)return{};u=a.y-p;a.x=k.axes.z.top.x;a.y=k.axes.z.top.y;g=k.axes.z.top.xDir;c=!k.top.frontFacing}else{if(null===k.axes.z.bottom)return{};u=a.y-y;a.x=k.axes.z.bottom.x;a.y=k.axes.z.bottom.y;g=k.axes.z.bottom.xDir;c=!k.bottom.frontFacing}else if(d.horiz)if(d.opposite){if(null===k.axes.x.top)return{};u=a.y-p;a.y=k.axes.x.top.y;a.z=k.axes.x.top.z; g=k.axes.x.top.xDir;c=!k.top.frontFacing}else{if(null===k.axes.x.bottom)return{};u=a.y-y;a.y=k.axes.x.bottom.y;a.z=k.axes.x.bottom.z;g=k.axes.x.bottom.xDir;c=!k.bottom.frontFacing}else if(d.opposite){if(null===k.axes.y.right)return{};z=a.x-v;a.x=k.axes.y.right.x;a.z=k.axes.y.right.z;g=k.axes.y.right.xDir;g={x:g.z,y:g.y,z:-g.x}}else{if(null===k.axes.y.left)return{};z=a.x-g;a.x=k.axes.y.left.x;a.z=k.axes.y.left.z;g=k.axes.y.left.xDir}"chart"!==h&&("flap"===h?d.horiz?(m=Math.sin(f),f=Math.cos(f),d.opposite&& (m=-m),c&&(m=-m),q={x:g.z*m,y:f,z:-g.x*m}):g={x:Math.cos(m),y:0,z:Math.sin(m)}:"ortho"===h?d.horiz?(q=Math.cos(f),h=Math.sin(m)*q,f=-Math.sin(f),m=-q*Math.cos(m),q={x:g.y*m-g.z*f,y:g.z*h-g.x*m,z:g.x*f-g.y*h},f=1/Math.sqrt(q.x*q.x+q.y*q.y+q.z*q.z),c&&(f=-f),q={x:f*q.x,y:f*q.y,z:f*q.z}):g={x:Math.cos(m),y:0,z:Math.sin(m)}:d.horiz?q={x:Math.sin(m)*Math.sin(f),y:Math.cos(f),z:-Math.cos(m)*Math.sin(f)}:g={x:Math.cos(m),y:0,z:Math.sin(m)});a.x+=z*g.x+u*q.x;a.y+=z*g.y+u*q.y;a.z+=z*g.z+u*q.z;c=t([a],d.chart)[0]; b?(0>e(t([a,{x:a.x+g.x,y:a.y+g.y,z:a.z+g.z},{x:a.x+q.x,y:a.y+q.y,z:a.z+q.z}],d.chart))&&(g={x:-g.x,y:-g.y,z:-g.z}),d=t([{x:a.x,y:a.y,z:a.z},{x:a.x+g.x,y:a.y+g.y,z:a.z+g.z},{x:a.x+q.x,y:a.y+q.y,z:a.z+q.z}],d.chart),c.matrix=[d[1].x-d[0].x,d[1].y-d[0].y,d[2].x-d[0].x,d[2].y-d[0].y,c.x,c.y],c.matrix[4]-=c.x*c.matrix[0]+c.y*c.matrix[2],c.matrix[5]-=c.x*c.matrix[1]+c.y*c.matrix[3]):c.matrix=null;return c}var u,p=c.Axis,y=c.Chart,B=c.deg2rad,v=c.each,h=c.extend,z=c.merge,t=c.perspective,A=c.pick,e=c.shapeArea, b=c.splat,f=c.Tick,k=c.wrap;z(!0,p.prototype.defaultOptions,{labels:{position3d:"offset",skew3d:!1},title:{position3d:null,skew3d:null}});k(p.prototype,"setOptions",function(d,a){d.call(this,a);this.chart.is3d&&this.chart.is3d()&&"colorAxis"!==this.coll&&(d=this.options,d.tickWidth=A(d.tickWidth,0),d.gridLineWidth=A(d.gridLineWidth,1))});k(p.prototype,"getPlotLinePath",function(d){var a=d.apply(this,[].slice.call(arguments,1));if(!this.chart.is3d()||"colorAxis"===this.coll||null===a)return a;var b= this.chart,c=b.options.chart.options3d,c=this.isZAxis?b.plotWidth:c.depth,b=b.frame3d,a=[this.swapZ({x:a[1],y:a[2],z:0}),this.swapZ({x:a[1],y:a[2],z:c}),this.swapZ({x:a[4],y:a[5],z:0}),this.swapZ({x:a[4],y:a[5],z:c})],c=[];this.horiz?(this.isZAxis?(b.left.visible&&c.push(a[0],a[2]),b.right.visible&&c.push(a[1],a[3])):(b.front.visible&&c.push(a[0],a[2]),b.back.visible&&c.push(a[1],a[3])),b.top.visible&&c.push(a[0],a[1]),b.bottom.visible&&c.push(a[2],a[3])):(b.front.visible&&c.push(a[0],a[2]),b.back.visible&& c.push(a[1],a[3]),b.left.visible&&c.push(a[0],a[1]),b.right.visible&&c.push(a[2],a[3]));c=t(c,this.chart,!1);return this.chart.renderer.toLineSegments(c)});k(p.prototype,"getLinePath",function(b){return this.chart.is3d()&&"colorAxis"!==this.coll?[]:b.apply(this,[].slice.call(arguments,1))});k(p.prototype,"getPlotBandPath",function(b){if(!this.chart.is3d()||"colorAxis"===this.coll)return b.apply(this,[].slice.call(arguments,1));var a=arguments,d=a[2],c=[],a=this.getPlotLinePath(a[1]),d=this.getPlotLinePath(d); if(a&&d)for(var e=0;e=p.min&&z<=p.max:!1):h.plotZ= 0,v.push({x:u(h.plotXold,h.plotX),y:u(h.plotYold,h.plotY),z:u(h.plotZold,h.plotZ)});c=q(v,c,!0);for(t=0;tn&&(b[a[1]]+=b[a[0]]+d,b[a[0]]=-d,n=0);n+b[a[1]]>c[a[0]+"Axis"].len&&0!==b[a[1]]&&(b[a[1]]=c[a[0]+"Axis"].len-b[a[0]]);if(0!==b[a[1]]&&(b[a[0]]>=c[a[0]+"Axis"].len||b[a[0]]+b[a[1]]<=d))for(var e in b)b[e]=0});a.shapeType="cuboid";b.z=k;b.depth=f;b.insidePlotArea=!0;h=p([{x:h[0],y:h[1],z:k}],e,!0)[0];a.tooltipPos=[h.x,h.y]}});c.z=k};t(v.column.prototype,"animate",function(c){if(this.chart.is3d()){var e= arguments[1],b=this.yAxis,f=this,k=this.yAxis.reversed;z&&(e?u(f.data,function(c){null!==c.y&&(c.height=c.shapeArgs.height,c.shapey=c.shapeArgs.y,c.shapeArgs.height=1,k||(c.shapeArgs.y=c.stackY?c.plotY+b.translate(c.stackY):c.plotY+(c.negative?-c.height:c.height)))}):(u(f.data,function(b){null!==b.y&&(b.shapeArgs.height=b.height,b.shapeArgs.y=b.shapey,b.graphic&&b.graphic.animate(b.shapeArgs,f.options.animation))}),this.drawDataLabels(),f.animate=null))}else c.apply(this,[].slice.call(arguments,1))}); t(v.column.prototype,"plotGroup",function(c,e,b,f,k,d){this.chart.is3d()&&d&&!this[e]&&(this.chart.columnGroup||(this.chart.columnGroup=this.chart.renderer.g("columnGroup").add(d)),this[e]=this.chart.columnGroup,this.chart.columnGroup.attr(this.getPlotBox()),this[e].survive=!0);return c.apply(this,Array.prototype.slice.call(arguments,1))});t(v.column.prototype,"setVisible",function(c,e){var b=this,f;b.chart.is3d()&&u(b.data,function(c){f=(c.visible=c.options.visible=e=void 0===e?!c.visible:e)?"visible": "hidden";b.options.data[h(c,b.data)]=c.options;c.graphic&&c.graphic.attr({visibility:f})});c.apply(this,Array.prototype.slice.call(arguments,1))});t(v.column.prototype,"init",function(c){c.apply(this,[].slice.call(arguments,1));if(this.chart.is3d()){var e=this.options,b=e.grouping,f=e.stacking,h=y(this.yAxis.options.reversedStacks,!0),d=0;if(void 0===b||b){b=this.chart.retrieveStacks(f);d=e.stack||0;for(f=0;f