yangys
2024-01-14 d91893dbd49538d312e299c1cc507a7792abd7d7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
/*
 Highcharts JS v8.0.2 (2020-03-03)
 
 3D features for Highcharts JS
 
 License: www.highcharts.com/license
*/
(function(q){"object"===typeof module&&module.exports?(q["default"]=q,module.exports=q):"function"===typeof define&&define.amd?define("highcharts/highcharts-3d",["highcharts"],function(B){q(B);q.Highcharts=B;return q}):q("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(q){function B(b,k,u,q){b.hasOwnProperty(k)||(b[k]=q.apply(null,u))}q=q?q._modules:{};B(q,"parts-3d/Math.js",[q["parts/Globals.js"],q["parts/Utilities.js"]],function(b,k){var u=k.pick,q=b.deg2rad;b.perspective3D=function(b,
k,v){k=0<v&&v<Number.POSITIVE_INFINITY?v/(b.z+k.z+v):1;return{x:b.x*k,y:b.y*k}};b.perspective=function(k,A,v,x){var t=A.options.chart.options3d,h=u(x,v?A.inverted:!1),z={x:A.plotWidth/2,y:A.plotHeight/2,z:t.depth/2,vd:u(t.depth,1)*u(t.viewDistance,0)},r=A.scale3d||1;x=q*t.beta*(h?-1:1);t=q*t.alpha*(h?-1:1);var a=Math.cos(t),f=Math.cos(-x),n=Math.sin(t),l=Math.sin(-x);v||(z.x+=A.plotLeft,z.y+=A.plotTop);return k.map(function(d){var c=(h?d.y:d.x)-z.x;var m=(h?d.x:d.y)-z.y;d=(d.z||0)-z.z;c={x:f*c-l*
d,y:-n*l*c+a*m-f*n*d,z:a*l*c+n*m+a*f*d};m=b.perspective3D(c,z,z.vd);m.x=m.x*r+z.x;m.y=m.y*r+z.y;m.z=c.z*r+z.z;return{x:h?m.y:m.x,y:h?m.x:m.y,z:m.z}})};b.pointCameraDistance=function(b,k){var v=k.options.chart.options3d,x=k.plotWidth/2;k=k.plotHeight/2;v=u(v.depth,1)*u(v.viewDistance,0)+v.depth;return Math.sqrt(Math.pow(x-u(b.plotX,b.x),2)+Math.pow(k-u(b.plotY,b.y),2)+Math.pow(v-u(b.plotZ,b.z),2))};b.shapeArea=function(b){var k=0,v;for(v=0;v<b.length;v++){var x=(v+1)%b.length;k+=b[v].x*b[x].y-b[x].x*
b[v].y}return k/2};b.shapeArea3d=function(k,u,v){return b.shapeArea(b.perspective(k,u,v))}});B(q,"parts-3d/SVGRenderer.js",[q["parts/Globals.js"],q["parts/Utilities.js"]],function(b,k){function u(a,d,e,D,g,f,m,r){var p=[],E=f-g;return f>g&&f-g>Math.PI/2+.0001?(p=p.concat(u(a,d,e,D,g,g+Math.PI/2,m,r)),p=p.concat(u(a,d,e,D,g+Math.PI/2,f,m,r))):f<g&&g-f>Math.PI/2+.0001?(p=p.concat(u(a,d,e,D,g,g-Math.PI/2,m,r)),p=p.concat(u(a,d,e,D,g-Math.PI/2,f,m,r))):["C",a+e*Math.cos(g)-e*c*E*Math.sin(g)+m,d+D*Math.sin(g)+
D*c*E*Math.cos(g)+r,a+e*Math.cos(f)+e*c*E*Math.sin(f)+m,d+D*Math.sin(f)-D*c*E*Math.cos(f)+r,a+e*Math.cos(f)+m,d+D*Math.sin(f)+r]}var q=k.animObject,t=k.defined,A=k.extend,v=k.merge,x=k.objectEach,w=k.pick,h=Math.cos,z=Math.PI,r=Math.sin,a=b.charts,f=b.color,n=b.deg2rad,l=b.perspective,d=b.SVGElement;k=b.SVGRenderer;var c=4*(Math.sqrt(2)-1)/3/(z/2);k.prototype.toLinePath=function(a,d){var e=[];a.forEach(function(a){e.push("L",a.x,a.y)});a.length&&(e[0]="M",d&&e.push("Z"));return e};k.prototype.toLineSegments=
function(a){var d=[],e=!0;a.forEach(function(a){d.push(e?"M":"L",a.x,a.y);e=!e});return d};k.prototype.face3d=function(c){var p=this,e=this.createElement("path");e.vertexes=[];e.insidePlotArea=!1;e.enabled=!0;e.attr=function(e){if("object"===typeof e&&(t(e.enabled)||t(e.vertexes)||t(e.insidePlotArea))){this.enabled=w(e.enabled,this.enabled);this.vertexes=w(e.vertexes,this.vertexes);this.insidePlotArea=w(e.insidePlotArea,this.insidePlotArea);delete e.enabled;delete e.vertexes;delete e.insidePlotArea;
var c=l(this.vertexes,a[p.chartIndex],this.insidePlotArea),g=p.toLinePath(c,!0);c=b.shapeArea(c);c=this.enabled&&0<c?"visible":"hidden";e.d=g;e.visibility=c}return d.prototype.attr.apply(this,arguments)};e.animate=function(e){if("object"===typeof e&&(t(e.enabled)||t(e.vertexes)||t(e.insidePlotArea))){this.enabled=w(e.enabled,this.enabled);this.vertexes=w(e.vertexes,this.vertexes);this.insidePlotArea=w(e.insidePlotArea,this.insidePlotArea);delete e.enabled;delete e.vertexes;delete e.insidePlotArea;
var c=l(this.vertexes,a[p.chartIndex],this.insidePlotArea),g=p.toLinePath(c,!0);c=b.shapeArea(c);c=this.enabled&&0<c?"visible":"hidden";e.d=g;this.attr("visibility",c)}return d.prototype.animate.apply(this,arguments)};return e.attr(c)};k.prototype.polyhedron=function(a){var c=this,e=this.g(),p=e.destroy;this.styledMode||e.attr({"stroke-linejoin":"round"});e.faces=[];e.destroy=function(){for(var a=0;a<e.faces.length;a++)e.faces[a].destroy();return p.call(this)};e.attr=function(a,p,g,f){if("object"===
typeof a&&t(a.faces)){for(;e.faces.length>a.faces.length;)e.faces.pop().destroy();for(;e.faces.length<a.faces.length;)e.faces.push(c.face3d().add(e));for(var m=0;m<a.faces.length;m++)c.styledMode&&delete a.faces[m].fill,e.faces[m].attr(a.faces[m],null,g,f);delete a.faces}return d.prototype.attr.apply(this,arguments)};e.animate=function(a,p,g){if(a&&a.faces){for(;e.faces.length>a.faces.length;)e.faces.pop().destroy();for(;e.faces.length<a.faces.length;)e.faces.push(c.face3d().add(e));for(var f=0;f<
a.faces.length;f++)e.faces[f].animate(a.faces[f],p,g);delete a.faces}return d.prototype.animate.apply(this,arguments)};return e.attr(a)};var m={initArgs:function(a){var d=this,e=d.renderer,c=e[d.pathType+"Path"](a),p=c.zIndexes;d.parts.forEach(function(a){d[a]=e.path(c[a]).attr({"class":"highcharts-3d-"+a,zIndex:p[a]||0}).add(d)});d.attr({"stroke-linejoin":"round",zIndex:p.group});d.originalDestroy=d.destroy;d.destroy=d.destroyParts},singleSetterForParts:function(a,d,e,c,g,f){var p={};c=[null,null,
c||"attr",g,f];var m=e&&e.zIndexes;e?(m&&m.group&&this.attr({zIndex:m.group}),x(e,function(d,c){p[c]={};p[c][a]=d;m&&(p[c].zIndex=e.zIndexes[c]||0)}),c[1]=p):(p[a]=d,c[0]=p);return this.processParts.apply(this,c)},processParts:function(a,d,e,c,g){var p=this;p.parts.forEach(function(f){d&&(a=w(d[f],!1));if(!1!==a)p[f][e](a,c,g)});return p},destroyParts:function(){this.processParts(null,null,"destroy");return this.originalDestroy()}};var g=v(m,{parts:["front","top","side"],pathType:"cuboid",attr:function(a,
c,e,g){if("string"===typeof a&&"undefined"!==typeof c){var p=a;a={};a[p]=c}return a.shapeArgs||t(a.x)?this.singleSetterForParts("d",null,this.renderer[this.pathType+"Path"](a.shapeArgs||a)):d.prototype.attr.call(this,a,void 0,e,g)},animate:function(a,c,e){t(a.x)&&t(a.y)?(a=this.renderer[this.pathType+"Path"](a),this.singleSetterForParts("d",null,a,"animate",c,e),this.attr({zIndex:a.zIndexes.group})):d.prototype.animate.call(this,a,c,e);return this},fillSetter:function(a){this.singleSetterForParts("fill",
null,{front:a,top:f(a).brighten(.1).get(),side:f(a).brighten(-.1).get()});this.color=this.fill=a;return this}});k.prototype.elements3d={base:m,cuboid:g};k.prototype.element3d=function(a,c){var e=this.g();A(e,this.elements3d[a]);e.initArgs(c);return e};k.prototype.cuboid=function(a){return this.element3d("cuboid",a)};b.SVGRenderer.prototype.cuboidPath=function(c){function d(a){return 0===m&&1<a&&6>a?{x:v[a].x,y:v[a].y+10,z:v[a].z}:v[a]}function e(a){return v[a]}var g=c.x,f=c.y,p=c.z,m=c.height,r=c.width,
n=c.depth,z=a[this.chartIndex],k=z.options.chart.options3d.alpha,h=0,v=[{x:g,y:f,z:p},{x:g+r,y:f,z:p},{x:g+r,y:f+m,z:p},{x:g,y:f+m,z:p},{x:g,y:f+m,z:p+n},{x:g+r,y:f+m,z:p+n},{x:g+r,y:f,z:p+n},{x:g,y:f,z:p+n}];v=l(v,z,c.insidePlotArea);var x=function(a,c){var g=[[],-1],f=a.map(e),p=c.map(e);a=a.map(d);c=c.map(d);0>b.shapeArea(a)?g=[f,0]:0>b.shapeArea(c)&&(g=[p,1]);return g};var u=x([3,2,1,0],[7,6,5,4]);c=u[0];n=u[1];u=x([1,6,7,0],[4,5,2,3]);r=u[0];var t=u[1];u=x([1,2,5,6],[0,7,4,3]);x=u[0];u=u[1];
1===u?h+=1E6*(z.plotWidth-g):u||(h+=1E6*g);h+=10*(!t||0<=k&&180>=k||360>k&&357.5<k?z.plotHeight-f:10+f);1===n?h+=100*p:n||(h+=100*(1E3-p));return{front:this.toLinePath(c,!0),top:this.toLinePath(r,!0),side:this.toLinePath(x,!0),zIndexes:{group:Math.round(h)},isFront:n,isTop:t}};b.SVGRenderer.prototype.arc3d=function(a){function c(a){var c=!1,e={},d;a=v(a);for(d in a)-1!==p.indexOf(d)&&(e[d]=a[d],delete a[d],c=!0);return c?e:!1}var e=this.g(),g=e.renderer,p="x y r innerR start end depth".split(" ");
a=v(a);a.alpha=(a.alpha||0)*n;a.beta=(a.beta||0)*n;e.top=g.path();e.side1=g.path();e.side2=g.path();e.inn=g.path();e.out=g.path();e.onAdd=function(){var a=e.parentGroup,c=e.attr("class");e.top.add(e);["out","inn","side1","side2"].forEach(function(d){e[d].attr({"class":c+" highcharts-3d-side"}).add(a)})};["addClass","removeClass"].forEach(function(a){e[a]=function(){var c=arguments;["top","out","inn","side1","side2"].forEach(function(d){e[d][a].apply(e[d],c)})}});e.setPaths=function(a){var c=e.renderer.arc3dPath(a),
d=100*c.zTop;e.attribs=a;e.top.attr({d:c.top,zIndex:c.zTop});e.inn.attr({d:c.inn,zIndex:c.zInn});e.out.attr({d:c.out,zIndex:c.zOut});e.side1.attr({d:c.side1,zIndex:c.zSide1});e.side2.attr({d:c.side2,zIndex:c.zSide2});e.zIndex=d;e.attr({zIndex:d});a.center&&(e.top.setRadialReference(a.center),delete a.center)};e.setPaths(a);e.fillSetter=function(a){var c=f(a).brighten(-.1).get();this.fill=a;this.side1.attr({fill:c});this.side2.attr({fill:c});this.inn.attr({fill:c});this.out.attr({fill:c});this.top.attr({fill:a});
return this};["opacity","translateX","translateY","visibility"].forEach(function(a){e[a+"Setter"]=function(a,c){e[c]=a;["out","inn","side1","side2","top"].forEach(function(d){e[d].attr(c,a)})}});e.attr=function(a){var g;"object"===typeof a&&(g=c(a))&&(A(e.attribs,g),e.setPaths(e.attribs));return d.prototype.attr.apply(e,arguments)};e.animate=function(a,g,f){var p=this.attribs,m="data-"+Math.random().toString(26).substring(2,9);delete a.center;delete a.z;delete a.alpha;delete a.beta;var r=q(w(g,this.renderer.globalAnimation));
if(r.duration){var l=c(a);e[m]=0;a[m]=1;e[m+"Setter"]=b.noop;l&&(r.step=function(a,c){function e(a){return p[a]+(w(l[a],p[a])-p[a])*c.pos}c.prop===m&&c.elem.setPaths(v(p,{x:e("x"),y:e("y"),r:e("r"),innerR:e("innerR"),start:e("start"),end:e("end"),depth:e("depth")}))});g=r}return d.prototype.animate.call(this,a,g,f)};e.destroy=function(){this.top.destroy();this.out.destroy();this.inn.destroy();this.side1.destroy();this.side2.destroy();return d.prototype.destroy.call(this)};e.hide=function(){this.top.hide();
this.out.hide();this.inn.hide();this.side1.hide();this.side2.hide()};e.show=function(a){this.top.show(a);this.out.show(a);this.inn.show(a);this.side1.show(a);this.side2.show(a)};return e};k.prototype.arc3dPath=function(a){function c(a){a%=2*Math.PI;a>Math.PI&&(a=2*Math.PI-a);return a}var e=a.x,d=a.y,g=a.start,f=a.end-.00001,m=a.r,p=a.innerR||0,l=a.depth||0,b=a.alpha,n=a.beta,k=Math.cos(g),v=Math.sin(g);a=Math.cos(f);var x=Math.sin(f),t=m*Math.cos(n);m*=Math.cos(b);var w=p*Math.cos(n),q=p*Math.cos(b);
p=l*Math.sin(n);var y=l*Math.sin(b);l=["M",e+t*k,d+m*v];l=l.concat(u(e,d,t,m,g,f,0,0));l=l.concat(["L",e+w*a,d+q*x]);l=l.concat(u(e,d,w,q,f,g,0,0));l=l.concat(["Z"]);var A=0<n?Math.PI/2:0;n=0<b?0:Math.PI/2;A=g>-A?g:f>-A?-A:g;var B=f<z-n?f:g<z-n?z-n:f,C=2*z-n;b=["M",e+t*h(A),d+m*r(A)];b=b.concat(u(e,d,t,m,A,B,0,0));f>C&&g<C?(b=b.concat(["L",e+t*h(B)+p,d+m*r(B)+y]),b=b.concat(u(e,d,t,m,B,C,p,y)),b=b.concat(["L",e+t*h(C),d+m*r(C)]),b=b.concat(u(e,d,t,m,C,f,0,0)),b=b.concat(["L",e+t*h(f)+p,d+m*r(f)+y]),
b=b.concat(u(e,d,t,m,f,C,p,y)),b=b.concat(["L",e+t*h(C),d+m*r(C)]),b=b.concat(u(e,d,t,m,C,B,0,0))):f>z-n&&g<z-n&&(b=b.concat(["L",e+t*Math.cos(B)+p,d+m*Math.sin(B)+y]),b=b.concat(u(e,d,t,m,B,f,p,y)),b=b.concat(["L",e+t*Math.cos(f),d+m*Math.sin(f)]),b=b.concat(u(e,d,t,m,f,B,0,0)));b=b.concat(["L",e+t*Math.cos(B)+p,d+m*Math.sin(B)+y]);b=b.concat(u(e,d,t,m,B,A,p,y));b=b.concat(["Z"]);n=["M",e+w*k,d+q*v];n=n.concat(u(e,d,w,q,g,f,0,0));n=n.concat(["L",e+w*Math.cos(f)+p,d+q*Math.sin(f)+y]);n=n.concat(u(e,
d,w,q,f,g,p,y));n=n.concat(["Z"]);k=["M",e+t*k,d+m*v,"L",e+t*k+p,d+m*v+y,"L",e+w*k+p,d+q*v+y,"L",e+w*k,d+q*v,"Z"];e=["M",e+t*a,d+m*x,"L",e+t*a+p,d+m*x+y,"L",e+w*a+p,d+q*x+y,"L",e+w*a,d+q*x,"Z"];x=Math.atan2(y,-p);d=Math.abs(f+x);a=Math.abs(g+x);g=Math.abs((g+f)/2+x);d=c(d);a=c(a);g=c(g);g*=1E5;f=1E5*a;d*=1E5;return{top:l,zTop:1E5*Math.PI+1,out:b,zOut:Math.max(g,f,d),inn:n,zInn:Math.max(g,f,d),side1:k,zSide1:.99*d,side2:e,zSide2:.99*f}}});B(q,"parts-3d/Chart.js",[q["parts/Globals.js"],q["parts/Utilities.js"]],
function(b,k){function u(b,r){var a=b.plotLeft,f=b.plotWidth+a,n=b.plotTop,l=b.plotHeight+n,d=a+b.plotWidth/2,c=n+b.plotHeight/2,m=Number.MAX_VALUE,g=-Number.MAX_VALUE,p=Number.MAX_VALUE,z=-Number.MAX_VALUE,e=1;var k=[{x:a,y:n,z:0},{x:a,y:n,z:r}];[0,1].forEach(function(a){k.push({x:f,y:k[a].y,z:k[a].z})});[0,1,2,3].forEach(function(a){k.push({x:k[a].x,y:l,z:k[a].z})});k=w(k,b,!1);k.forEach(function(a){m=Math.min(m,a.x);g=Math.max(g,a.x);p=Math.min(p,a.y);z=Math.max(z,a.y)});a>m&&(e=Math.min(e,1-Math.abs((a+
d)/(m+d))%1));f<g&&(e=Math.min(e,(f-d)/(g-d)));n>p&&(e=0>p?Math.min(e,(n+c)/(-p+n+c)):Math.min(e,1-(n+c)/(p+c)%1));l<z&&(e=Math.min(e,Math.abs((l-c)/(z-c))));return e}var q=k.addEvent,t=k.isArray,A=k.merge,v=k.pick;k=k.wrap;var x=b.Chart,w=b.perspective;x.prototype.is3d=function(){return this.options.chart.options3d&&this.options.chart.options3d.enabled};x.prototype.propsRequireDirtyBox.push("chart.options3d");x.prototype.propsRequireUpdateSeries.push("chart.options3d");q(x,"afterInit",function(){var b=
this.options;this.is3d()&&(b.series||[]).forEach(function(r){"scatter"===(r.type||b.chart.type||b.chart.defaultSeriesType)&&(r.type="scatter3d")})});q(x,"addSeries",function(b){this.is3d()&&"scatter"===b.options.type&&(b.options.type="scatter3d")});k(b.Chart.prototype,"isInsidePlot",function(b){return this.is3d()||b.apply(this,[].slice.call(arguments,1))});var h=b.getOptions();A(!0,h,{chart:{options3d:{enabled:!1,alpha:0,beta:0,depth:100,fitToPlot:!0,viewDistance:25,axisLabelPosition:null,frame:{visible:"default",
size:1,bottom:{},top:{},left:{},right:{},back:{},front:{}}}}});q(x,"afterGetContainer",function(){this.styledMode&&(this.renderer.definition({tagName:"style",textContent:".highcharts-3d-top{filter: url(#highcharts-brighter)}\n.highcharts-3d-side{filter: url(#highcharts-darker)}\n"}),[{name:"darker",slope:.6},{name:"brighter",slope:1.4}].forEach(function(b){this.renderer.definition({tagName:"filter",id:"highcharts-"+b.name,children:[{tagName:"feComponentTransfer",children:[{tagName:"feFuncR",type:"linear",
slope:b.slope},{tagName:"feFuncG",type:"linear",slope:b.slope},{tagName:"feFuncB",type:"linear",slope:b.slope}]}]})},this))});k(x.prototype,"setClassName",function(b){b.apply(this,[].slice.call(arguments,1));this.is3d()&&(this.container.className+=" highcharts-3d-chart")});q(b.Chart,"afterSetChartSize",function(){var b=this.options.chart.options3d;if(this.is3d()){b&&(b.alpha=b.alpha%360+(0<=b.alpha?0:360),b.beta=b.beta%360+(0<=b.beta?0:360));var r=this.inverted,a=this.clipBox,f=this.margin;a[r?"y":
"x"]=-(f[3]||0);a[r?"x":"y"]=-(f[0]||0);a[r?"height":"width"]=this.chartWidth+(f[3]||0)+(f[1]||0);a[r?"width":"height"]=this.chartHeight+(f[0]||0)+(f[2]||0);this.scale3d=1;!0===b.fitToPlot&&(this.scale3d=u(this,b.depth));this.frame3d=this.get3dFrame()}});q(x,"beforeRedraw",function(){this.is3d()&&(this.isDirtyBox=!0)});q(x,"beforeRender",function(){this.is3d()&&(this.frame3d=this.get3dFrame())});k(x.prototype,"renderSeries",function(b){var r=this.series.length;if(this.is3d())for(;r--;)b=this.series[r],
b.translate(),b.render();else b.call(this)});q(x,"afterDrawChartBox",function(){if(this.is3d()){var k=this.renderer,r=this.options.chart.options3d,a=this.get3dFrame(),f=this.plotLeft,n=this.plotLeft+this.plotWidth,l=this.plotTop,d=this.plotTop+this.plotHeight;r=r.depth;var c=f-(a.left.visible?a.left.size:0),m=n+(a.right.visible?a.right.size:0),g=l-(a.top.visible?a.top.size:0),p=d+(a.bottom.visible?a.bottom.size:0),h=0-(a.front.visible?a.front.size:0),e=r+(a.back.visible?a.back.size:0),v=this.hasRendered?
"animate":"attr";this.frame3d=a;this.frameShapes||(this.frameShapes={bottom:k.polyhedron().add(),top:k.polyhedron().add(),left:k.polyhedron().add(),right:k.polyhedron().add(),back:k.polyhedron().add(),front:k.polyhedron().add()});this.frameShapes.bottom[v]({"class":"highcharts-3d-frame highcharts-3d-frame-bottom",zIndex:a.bottom.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.bottom.color).brighten(.1).get(),vertexes:[{x:c,y:p,z:h},{x:m,y:p,z:h},{x:m,y:p,z:e},{x:c,y:p,z:e}],enabled:a.bottom.visible},
{fill:b.color(a.bottom.color).brighten(.1).get(),vertexes:[{x:f,y:d,z:r},{x:n,y:d,z:r},{x:n,y:d,z:0},{x:f,y:d,z:0}],enabled:a.bottom.visible},{fill:b.color(a.bottom.color).brighten(-.1).get(),vertexes:[{x:c,y:p,z:h},{x:c,y:p,z:e},{x:f,y:d,z:r},{x:f,y:d,z:0}],enabled:a.bottom.visible&&!a.left.visible},{fill:b.color(a.bottom.color).brighten(-.1).get(),vertexes:[{x:m,y:p,z:e},{x:m,y:p,z:h},{x:n,y:d,z:0},{x:n,y:d,z:r}],enabled:a.bottom.visible&&!a.right.visible},{fill:b.color(a.bottom.color).get(),vertexes:[{x:m,
y:p,z:h},{x:c,y:p,z:h},{x:f,y:d,z:0},{x:n,y:d,z:0}],enabled:a.bottom.visible&&!a.front.visible},{fill:b.color(a.bottom.color).get(),vertexes:[{x:c,y:p,z:e},{x:m,y:p,z:e},{x:n,y:d,z:r},{x:f,y:d,z:r}],enabled:a.bottom.visible&&!a.back.visible}]});this.frameShapes.top[v]({"class":"highcharts-3d-frame highcharts-3d-frame-top",zIndex:a.top.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.top.color).brighten(.1).get(),vertexes:[{x:c,y:g,z:e},{x:m,y:g,z:e},{x:m,y:g,z:h},{x:c,y:g,z:h}],enabled:a.top.visible},
{fill:b.color(a.top.color).brighten(.1).get(),vertexes:[{x:f,y:l,z:0},{x:n,y:l,z:0},{x:n,y:l,z:r},{x:f,y:l,z:r}],enabled:a.top.visible},{fill:b.color(a.top.color).brighten(-.1).get(),vertexes:[{x:c,y:g,z:e},{x:c,y:g,z:h},{x:f,y:l,z:0},{x:f,y:l,z:r}],enabled:a.top.visible&&!a.left.visible},{fill:b.color(a.top.color).brighten(-.1).get(),vertexes:[{x:m,y:g,z:h},{x:m,y:g,z:e},{x:n,y:l,z:r},{x:n,y:l,z:0}],enabled:a.top.visible&&!a.right.visible},{fill:b.color(a.top.color).get(),vertexes:[{x:c,y:g,z:h},
{x:m,y:g,z:h},{x:n,y:l,z:0},{x:f,y:l,z:0}],enabled:a.top.visible&&!a.front.visible},{fill:b.color(a.top.color).get(),vertexes:[{x:m,y:g,z:e},{x:c,y:g,z:e},{x:f,y:l,z:r},{x:n,y:l,z:r}],enabled:a.top.visible&&!a.back.visible}]});this.frameShapes.left[v]({"class":"highcharts-3d-frame highcharts-3d-frame-left",zIndex:a.left.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.left.color).brighten(.1).get(),vertexes:[{x:c,y:p,z:h},{x:f,y:d,z:0},{x:f,y:d,z:r},{x:c,y:p,z:e}],enabled:a.left.visible&&!a.bottom.visible},
{fill:b.color(a.left.color).brighten(.1).get(),vertexes:[{x:c,y:g,z:e},{x:f,y:l,z:r},{x:f,y:l,z:0},{x:c,y:g,z:h}],enabled:a.left.visible&&!a.top.visible},{fill:b.color(a.left.color).brighten(-.1).get(),vertexes:[{x:c,y:p,z:e},{x:c,y:g,z:e},{x:c,y:g,z:h},{x:c,y:p,z:h}],enabled:a.left.visible},{fill:b.color(a.left.color).brighten(-.1).get(),vertexes:[{x:f,y:l,z:r},{x:f,y:d,z:r},{x:f,y:d,z:0},{x:f,y:l,z:0}],enabled:a.left.visible},{fill:b.color(a.left.color).get(),vertexes:[{x:c,y:p,z:h},{x:c,y:g,z:h},
{x:f,y:l,z:0},{x:f,y:d,z:0}],enabled:a.left.visible&&!a.front.visible},{fill:b.color(a.left.color).get(),vertexes:[{x:c,y:g,z:e},{x:c,y:p,z:e},{x:f,y:d,z:r},{x:f,y:l,z:r}],enabled:a.left.visible&&!a.back.visible}]});this.frameShapes.right[v]({"class":"highcharts-3d-frame highcharts-3d-frame-right",zIndex:a.right.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.right.color).brighten(.1).get(),vertexes:[{x:m,y:p,z:e},{x:n,y:d,z:r},{x:n,y:d,z:0},{x:m,y:p,z:h}],enabled:a.right.visible&&!a.bottom.visible},
{fill:b.color(a.right.color).brighten(.1).get(),vertexes:[{x:m,y:g,z:h},{x:n,y:l,z:0},{x:n,y:l,z:r},{x:m,y:g,z:e}],enabled:a.right.visible&&!a.top.visible},{fill:b.color(a.right.color).brighten(-.1).get(),vertexes:[{x:n,y:l,z:0},{x:n,y:d,z:0},{x:n,y:d,z:r},{x:n,y:l,z:r}],enabled:a.right.visible},{fill:b.color(a.right.color).brighten(-.1).get(),vertexes:[{x:m,y:p,z:h},{x:m,y:g,z:h},{x:m,y:g,z:e},{x:m,y:p,z:e}],enabled:a.right.visible},{fill:b.color(a.right.color).get(),vertexes:[{x:m,y:g,z:h},{x:m,
y:p,z:h},{x:n,y:d,z:0},{x:n,y:l,z:0}],enabled:a.right.visible&&!a.front.visible},{fill:b.color(a.right.color).get(),vertexes:[{x:m,y:p,z:e},{x:m,y:g,z:e},{x:n,y:l,z:r},{x:n,y:d,z:r}],enabled:a.right.visible&&!a.back.visible}]});this.frameShapes.back[v]({"class":"highcharts-3d-frame highcharts-3d-frame-back",zIndex:a.back.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.back.color).brighten(.1).get(),vertexes:[{x:m,y:p,z:e},{x:c,y:p,z:e},{x:f,y:d,z:r},{x:n,y:d,z:r}],enabled:a.back.visible&&!a.bottom.visible},
{fill:b.color(a.back.color).brighten(.1).get(),vertexes:[{x:c,y:g,z:e},{x:m,y:g,z:e},{x:n,y:l,z:r},{x:f,y:l,z:r}],enabled:a.back.visible&&!a.top.visible},{fill:b.color(a.back.color).brighten(-.1).get(),vertexes:[{x:c,y:p,z:e},{x:c,y:g,z:e},{x:f,y:l,z:r},{x:f,y:d,z:r}],enabled:a.back.visible&&!a.left.visible},{fill:b.color(a.back.color).brighten(-.1).get(),vertexes:[{x:m,y:g,z:e},{x:m,y:p,z:e},{x:n,y:d,z:r},{x:n,y:l,z:r}],enabled:a.back.visible&&!a.right.visible},{fill:b.color(a.back.color).get(),
vertexes:[{x:f,y:l,z:r},{x:n,y:l,z:r},{x:n,y:d,z:r},{x:f,y:d,z:r}],enabled:a.back.visible},{fill:b.color(a.back.color).get(),vertexes:[{x:c,y:p,z:e},{x:m,y:p,z:e},{x:m,y:g,z:e},{x:c,y:g,z:e}],enabled:a.back.visible}]});this.frameShapes.front[v]({"class":"highcharts-3d-frame highcharts-3d-frame-front",zIndex:a.front.frontFacing?-1E3:1E3,faces:[{fill:b.color(a.front.color).brighten(.1).get(),vertexes:[{x:c,y:p,z:h},{x:m,y:p,z:h},{x:n,y:d,z:0},{x:f,y:d,z:0}],enabled:a.front.visible&&!a.bottom.visible},
{fill:b.color(a.front.color).brighten(.1).get(),vertexes:[{x:m,y:g,z:h},{x:c,y:g,z:h},{x:f,y:l,z:0},{x:n,y:l,z:0}],enabled:a.front.visible&&!a.top.visible},{fill:b.color(a.front.color).brighten(-.1).get(),vertexes:[{x:c,y:g,z:h},{x:c,y:p,z:h},{x:f,y:d,z:0},{x:f,y:l,z:0}],enabled:a.front.visible&&!a.left.visible},{fill:b.color(a.front.color).brighten(-.1).get(),vertexes:[{x:m,y:p,z:h},{x:m,y:g,z:h},{x:n,y:l,z:0},{x:n,y:d,z:0}],enabled:a.front.visible&&!a.right.visible},{fill:b.color(a.front.color).get(),
vertexes:[{x:n,y:l,z:0},{x:f,y:l,z:0},{x:f,y:d,z:0},{x:n,y:d,z:0}],enabled:a.front.visible},{fill:b.color(a.front.color).get(),vertexes:[{x:m,y:p,z:h},{x:c,y:p,z:h},{x:c,y:g,z:h},{x:m,y:g,z:h}],enabled:a.front.visible}]})}});x.prototype.retrieveStacks=function(b){var r=this.series,a={},f,n=1;this.series.forEach(function(l){f=v(l.options.stack,b?0:r.length-1-l.index);a[f]?a[f].series.push(l):(a[f]={series:[l],position:n},n++)});a.totalStacks=n+1;return a};x.prototype.get3dFrame=function(){var h=this,
r=h.options.chart.options3d,a=r.frame,f=h.plotLeft,n=h.plotLeft+h.plotWidth,l=h.plotTop,d=h.plotTop+h.plotHeight,c=r.depth,m=function(a){a=b.shapeArea3d(a,h);return.5<a?1:-.5>a?-1:0},g=m([{x:f,y:d,z:c},{x:n,y:d,z:c},{x:n,y:d,z:0},{x:f,y:d,z:0}]),p=m([{x:f,y:l,z:0},{x:n,y:l,z:0},{x:n,y:l,z:c},{x:f,y:l,z:c}]),k=m([{x:f,y:l,z:0},{x:f,y:l,z:c},{x:f,y:d,z:c},{x:f,y:d,z:0}]),e=m([{x:n,y:l,z:c},{x:n,y:l,z:0},{x:n,y:d,z:0},{x:n,y:d,z:c}]),t=m([{x:f,y:d,z:0},{x:n,y:d,z:0},{x:n,y:l,z:0},{x:f,y:l,z:0}]);m=m([{x:f,
y:l,z:c},{x:n,y:l,z:c},{x:n,y:d,z:c},{x:f,y:d,z:c}]);var x=!1,u=!1,q=!1,A=!1;[].concat(h.xAxis,h.yAxis,h.zAxis).forEach(function(a){a&&(a.horiz?a.opposite?u=!0:x=!0:a.opposite?A=!0:q=!0)});var y=function(a,d,c){for(var e=["size","color","visible"],g={},f=0;f<e.length;f++)for(var b=e[f],m=0;m<a.length;m++)if("object"===typeof a[m]){var p=a[m][b];if("undefined"!==typeof p&&null!==p){g[b]=p;break}}a=c;!0===g.visible||!1===g.visible?a=g.visible:"auto"===g.visible&&(a=0<d);return{size:v(g.size,1),color:v(g.color,
"none"),frontFacing:0<d,visible:a}};a={axes:{},bottom:y([a.bottom,a.top,a],g,x),top:y([a.top,a.bottom,a],p,u),left:y([a.left,a.right,a.side,a],k,q),right:y([a.right,a.left,a.side,a],e,A),back:y([a.back,a.front,a],m,!0),front:y([a.front,a.back,a],t,!1)};"auto"===r.axisLabelPosition?(e=function(a,d){return a.visible!==d.visible||a.visible&&d.visible&&a.frontFacing!==d.frontFacing},r=[],e(a.left,a.front)&&r.push({y:(l+d)/2,x:f,z:0,xDir:{x:1,y:0,z:0}}),e(a.left,a.back)&&r.push({y:(l+d)/2,x:f,z:c,xDir:{x:0,
y:0,z:-1}}),e(a.right,a.front)&&r.push({y:(l+d)/2,x:n,z:0,xDir:{x:0,y:0,z:1}}),e(a.right,a.back)&&r.push({y:(l+d)/2,x:n,z:c,xDir:{x:-1,y:0,z:0}}),g=[],e(a.bottom,a.front)&&g.push({x:(f+n)/2,y:d,z:0,xDir:{x:1,y:0,z:0}}),e(a.bottom,a.back)&&g.push({x:(f+n)/2,y:d,z:c,xDir:{x:-1,y:0,z:0}}),p=[],e(a.top,a.front)&&p.push({x:(f+n)/2,y:l,z:0,xDir:{x:1,y:0,z:0}}),e(a.top,a.back)&&p.push({x:(f+n)/2,y:l,z:c,xDir:{x:-1,y:0,z:0}}),k=[],e(a.bottom,a.left)&&k.push({z:(0+c)/2,y:d,x:f,xDir:{x:0,y:0,z:-1}}),e(a.bottom,
a.right)&&k.push({z:(0+c)/2,y:d,x:n,xDir:{x:0,y:0,z:1}}),d=[],e(a.top,a.left)&&d.push({z:(0+c)/2,y:l,x:f,xDir:{x:0,y:0,z:-1}}),e(a.top,a.right)&&d.push({z:(0+c)/2,y:l,x:n,xDir:{x:0,y:0,z:1}}),f=function(a,d,c){if(0===a.length)return null;if(1===a.length)return a[0];for(var e=0,g=w(a,h,!1),f=1;f<g.length;f++)c*g[f][d]>c*g[e][d]?e=f:c*g[f][d]===c*g[e][d]&&g[f].z<g[e].z&&(e=f);return a[e]},a.axes={y:{left:f(r,"x",-1),right:f(r,"x",1)},x:{top:f(p,"y",-1),bottom:f(g,"y",1)},z:{top:f(d,"y",-1),bottom:f(k,
"y",1)}}):a.axes={y:{left:{x:f,z:0,xDir:{x:1,y:0,z:0}},right:{x:n,z:0,xDir:{x:0,y:0,z:1}}},x:{top:{y:l,z:0,xDir:{x:1,y:0,z:0}},bottom:{y:d,z:0,xDir:{x:1,y:0,z:0}}},z:{top:{x:q?n:f,y:l,xDir:q?{x:0,y:0,z:1}:{x:0,y:0,z:-1}},bottom:{x:q?n:f,y:d,xDir:q?{x:0,y:0,z:1}:{x:0,y:0,z:-1}}}};return a};b.Fx.prototype.matrixSetter=function(){if(1>this.pos&&(t(this.start)||t(this.end))){var b=this.start||[1,0,0,1,0,0],r=this.end||[1,0,0,1,0,0];var a=[];for(var f=0;6>f;f++)a.push(this.pos*r[f]+(1-this.pos)*b[f])}else a=
this.end;this.elem.attr(this.prop,a,null,!0)};""});B(q,"parts-3d/Axis.js",[q["parts/Globals.js"],q["parts/Tick.js"],q["parts/Utilities.js"]],function(b,k,q){function u(d,c,f){if(!d.chart.is3d()||"colorAxis"===d.coll)return c;var g=d.chart,b=r*g.options.chart.options3d.alpha,m=r*g.options.chart.options3d.beta,e=x(f&&d.options.title.position3d,d.options.labels.position3d);f=x(f&&d.options.title.skew3d,d.options.labels.skew3d);var l=g.frame3d,h=g.plotLeft,k=g.plotWidth+h,v=g.plotTop,q=g.plotHeight+v;
g=!1;var t=0,u=0,w={x:0,y:1,z:0};c=d.swapZ({x:c.x,y:c.y,z:0});if(d.isZAxis)if(d.opposite){if(null===l.axes.z.top)return{};u=c.y-v;c.x=l.axes.z.top.x;c.y=l.axes.z.top.y;h=l.axes.z.top.xDir;g=!l.top.frontFacing}else{if(null===l.axes.z.bottom)return{};u=c.y-q;c.x=l.axes.z.bottom.x;c.y=l.axes.z.bottom.y;h=l.axes.z.bottom.xDir;g=!l.bottom.frontFacing}else if(d.horiz)if(d.opposite){if(null===l.axes.x.top)return{};u=c.y-v;c.y=l.axes.x.top.y;c.z=l.axes.x.top.z;h=l.axes.x.top.xDir;g=!l.top.frontFacing}else{if(null===
l.axes.x.bottom)return{};u=c.y-q;c.y=l.axes.x.bottom.y;c.z=l.axes.x.bottom.z;h=l.axes.x.bottom.xDir;g=!l.bottom.frontFacing}else if(d.opposite){if(null===l.axes.y.right)return{};t=c.x-k;c.x=l.axes.y.right.x;c.z=l.axes.y.right.z;h=l.axes.y.right.xDir;h={x:h.z,y:h.y,z:-h.x}}else{if(null===l.axes.y.left)return{};t=c.x-h;c.x=l.axes.y.left.x;c.z=l.axes.y.left.z;h=l.axes.y.left.xDir}"chart"!==e&&("flap"===e?d.horiz?(m=Math.sin(b),b=Math.cos(b),d.opposite&&(m=-m),g&&(m=-m),w={x:h.z*m,y:b,z:-h.x*m}):h={x:Math.cos(m),
y:0,z:Math.sin(m)}:"ortho"===e?d.horiz?(w=Math.cos(b),e=Math.sin(m)*w,b=-Math.sin(b),m=-w*Math.cos(m),w={x:h.y*m-h.z*b,y:h.z*e-h.x*m,z:h.x*b-h.y*e},b=1/Math.sqrt(w.x*w.x+w.y*w.y+w.z*w.z),g&&(b=-b),w={x:b*w.x,y:b*w.y,z:b*w.z}):h={x:Math.cos(m),y:0,z:Math.sin(m)}:d.horiz?w={x:Math.sin(m)*Math.sin(b),y:Math.cos(b),z:-Math.cos(m)*Math.sin(b)}:h={x:Math.cos(m),y:0,z:Math.sin(m)});c.x+=t*h.x+u*w.x;c.y+=t*h.y+u*w.y;c.z+=t*h.z+u*w.z;g=a([c],d.chart)[0];f&&(0>n(a([c,{x:c.x+h.x,y:c.y+h.y,z:c.z+h.z},{x:c.x+
w.x,y:c.y+w.y,z:c.z+w.z}],d.chart))&&(h={x:-h.x,y:-h.y,z:-h.z}),d=a([{x:c.x,y:c.y,z:c.z},{x:c.x+h.x,y:c.y+h.y,z:c.z+h.z},{x:c.x+w.x,y:c.y+w.y,z:c.z+w.z}],d.chart),g.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,g.x,g.y],g.matrix[4]-=g.x*g.matrix[0]+g.y*g.matrix[2],g.matrix[5]-=g.x*g.matrix[1]+g.y*g.matrix[3]);return g}var t=q.addEvent,A=q.extend,v=q.merge,x=q.pick,w=q.splat;q=q.wrap;var h=b.Axis,z=b.Chart,r=b.deg2rad,a=b.perspective,f=b.perspective3D,n=b.shapeArea;v(!0,h.prototype.defaultOptions,
{labels:{position3d:"offset",skew3d:!1},title:{position3d:null,skew3d:null}});t(h,"afterSetOptions",function(){if(this.chart.is3d&&this.chart.is3d()&&"colorAxis"!==this.coll){var a=this.options;a.tickWidth=x(a.tickWidth,0);a.gridLineWidth=x(a.gridLineWidth,1)}});q(h.prototype,"getPlotLinePath",function(d){var c=d.apply(this,[].slice.call(arguments,1));if(!this.chart.is3d()||"colorAxis"===this.coll||null===c)return c;var f=this.chart,g=f.options.chart.options3d;g=this.isZAxis?f.plotWidth:g.depth;f=
f.frame3d;c=[this.swapZ({x:c[1],y:c[2],z:0}),this.swapZ({x:c[1],y:c[2],z:g}),this.swapZ({x:c[4],y:c[5],z:0}),this.swapZ({x:c[4],y:c[5],z:g})];g=[];this.horiz?(this.isZAxis?(f.left.visible&&g.push(c[0],c[2]),f.right.visible&&g.push(c[1],c[3])):(f.front.visible&&g.push(c[0],c[2]),f.back.visible&&g.push(c[1],c[3])),f.top.visible&&g.push(c[0],c[1]),f.bottom.visible&&g.push(c[2],c[3])):(f.front.visible&&g.push(c[0],c[2]),f.back.visible&&g.push(c[1],c[3]),f.left.visible&&g.push(c[0],c[1]),f.right.visible&&
g.push(c[2],c[3]));g=a(g,this.chart,!1);return this.chart.renderer.toLineSegments(g)});q(h.prototype,"getLinePath",function(a){return this.chart.is3d()&&"colorAxis"!==this.coll?[]:a.apply(this,[].slice.call(arguments,1))});q(h.prototype,"getPlotBandPath",function(a){if(!this.chart.is3d()||"colorAxis"===this.coll)return a.apply(this,[].slice.call(arguments,1));var c=arguments,d=c[2],g=[];c=this.getPlotLinePath({value:c[1]});d=this.getPlotLinePath({value:d});if(c&&d)for(var f=0;f<c.length;f+=6)g.push("M",
c[f+1],c[f+2],"L",c[f+4],c[f+5],"L",d[f+4],d[f+5],"L",d[f+1],d[f+2],"Z");return g});q(k.prototype,"getMarkPath",function(a){var d=a.apply(this,[].slice.call(arguments,1));d=[u(this.axis,{x:d[1],y:d[2],z:0}),u(this.axis,{x:d[4],y:d[5],z:0})];return this.axis.chart.renderer.toLineSegments(d)});t(k,"afterGetLabelPosition",function(a){A(a.pos,u(this.axis,a.pos))});q(h.prototype,"getTitlePosition",function(a){var d=a.apply(this,[].slice.call(arguments,1));return u(this,d,!0)});t(h,"drawCrosshair",function(a){this.chart.is3d()&&
"colorAxis"!==this.coll&&a.point&&(a.point.crosshairPos=this.isXAxis?a.point.axisXpos:this.len-a.point.axisYpos)});t(h,"destroy",function(){["backFrame","bottomFrame","sideFrame"].forEach(function(a){this[a]&&(this[a]=this[a].destroy())},this)});z.prototype.addZAxis=function(a){return new l(this,a)};z.prototype.collectionsWithUpdate.push("zAxis");z.prototype.collectionsWithInit.zAxis=[z.prototype.addZAxis];h.prototype.swapZ=function(a,c){return this.isZAxis?(c=c?0:this.chart.plotLeft,{x:c+a.z,y:a.y,
z:a.x-c}):a};var l=b.ZAxis=function(){this.init.apply(this,arguments)};A(l.prototype,h.prototype);A(l.prototype,{isZAxis:!0,setOptions:function(a){a=v({offset:0,lineWidth:0},a);h.prototype.setOptions.call(this,a);this.coll="zAxis"},setAxisSize:function(){h.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 a=this,c=a.chart;a.hasVisibleSeries=!1;a.dataMin=a.dataMax=a.ignoreMinPadding=
a.ignoreMaxPadding=null;a.buildStacks&&a.buildStacks();a.series.forEach(function(d){if(d.visible||!c.options.chart.ignoreHiddenSeries)a.hasVisibleSeries=!0,d=d.zData,d.length&&(a.dataMin=Math.min(x(a.dataMin,d[0]),Math.min.apply(null,d)),a.dataMax=Math.max(x(a.dataMax,d[0]),Math.max.apply(null,d)))})}});t(z,"afterGetAxes",function(){var a=this,c=this.options;c=c.zAxis=w(c.zAxis||{});a.is3d()&&(this.zAxis=[],c.forEach(function(c,d){c.index=d;c.isX=!0;a.addZAxis(c).setScale()}))});q(h.prototype,"getSlotWidth",
function(a,c){if(this.chart.is3d()&&c&&c.label&&this.categories&&this.chart.frameShapes){var d=this.chart,g=this.ticks,b=this.gridGroup.element.childNodes[0].getBBox(),h=d.frameShapes.left.getBBox(),e=d.options.chart.options3d;d={x:d.plotWidth/2,y:d.plotHeight/2,z:e.depth/2,vd:x(e.depth,1)*x(e.viewDistance,0)};var l,r;e=c.pos;var n=g[e-1];g=g[e+1];0!==e&&n&&n.label.xy&&(l=f({x:n.label.xy.x,y:n.label.xy.y,z:null},d,d.vd));g&&g.label.xy&&(r=f({x:g.label.xy.x,y:g.label.xy.y,z:null},d,d.vd));g={x:c.label.xy.x,
y:c.label.xy.y,z:null};g=f(g,d,d.vd);return Math.abs(l?g.x-l.x:r?r.x-g.x:b.x-h.x)}return a.apply(this,[].slice.call(arguments,1))})});B(q,"parts-3d/Series.js",[q["parts/Globals.js"],q["parts/Utilities.js"]],function(b,k){var q=k.addEvent,y=k.pick,t=b.perspective;q(b.Series,"afterTranslate",function(){this.chart.is3d()&&this.translate3dPoints()});b.Series.prototype.translate3dPoints=function(){var b=this.chart,k=y(this.zAxis,b.options.zAxis[0]),q=[],w;for(w=0;w<this.data.length;w++){var h=this.data[w];
if(k&&k.translate){var u=k.isLog&&k.val2lin?k.val2lin(h.z):h.z;h.plotZ=k.translate(u);h.isInside=h.isInside?u>=k.min&&u<=k.max:!1}else h.plotZ=0;h.axisXpos=h.plotX;h.axisYpos=h.plotY;h.axisZpos=h.plotZ;q.push({x:h.plotX,y:h.plotY,z:h.plotZ})}b=t(q,b,!0);for(w=0;w<this.data.length;w++)h=this.data[w],k=b[w],h.plotX=k.x,h.plotY=k.y,h.plotZ=k.z}});B(q,"parts-3d/Column.js",[q["parts/Globals.js"],q["parts/Utilities.js"]],function(b,k){function q(b){var a=b.apply(this,[].slice.call(arguments,1));this.chart.is3d&&
this.chart.is3d()&&(a.stroke=this.options.edgeColor||a.fill,a["stroke-width"]=v(this.options.edgeWidth,1));return a}function y(b,a,f){var h=this.chart.is3d&&this.chart.is3d();h&&(this.options.inactiveOtherPoints=!0);b.call(this,a,f);h&&(this.options.inactiveOtherPoints=!1)}function t(b){for(var a=[],f=1;f<arguments.length;f++)a[f-1]=arguments[f];return this.series.chart.is3d()?this.graphic&&"g"!==this.graphic.element.nodeName:b.apply(this,a)}var A=k.addEvent,v=k.pick;k=k.wrap;var x=b.perspective,
w=b.Series,h=b.seriesTypes,z=b.svg;k(h.column.prototype,"translate",function(b){b.apply(this,[].slice.call(arguments,1));this.chart.is3d()&&this.translate3dShapes()});k(b.Series.prototype,"justifyDataLabel",function(b){return arguments[2].outside3dPlot?!1:b.apply(this,[].slice.call(arguments,1))});h.column.prototype.translate3dPoints=function(){};h.column.prototype.translate3dShapes=function(){var b=this,a=b.chart,f=b.options,h=f.depth,l=(f.stacking?f.stack||0:b.index)*(h+(f.groupZPadding||1)),d=
b.borderWidth%2?.5:0,c;a.inverted&&!b.yAxis.reversed&&(d*=-1);!1!==f.grouping&&(l=0);l+=f.groupZPadding||1;b.data.forEach(function(f){f.outside3dPlot=null;if(null!==f.y){var g=f.shapeArgs,m=f.tooltipPos,k;[["x","width"],["y","height"]].forEach(function(a){k=g[a[0]]-d;0>k&&(g[a[1]]+=g[a[0]]+d,g[a[0]]=-d,k=0);k+g[a[1]]>b[a[0]+"Axis"].len&&0!==g[a[1]]&&(g[a[1]]=b[a[0]+"Axis"].len-g[a[0]]);if(0!==g[a[1]]&&(g[a[0]]>=b[a[0]+"Axis"].len||g[a[0]]+g[a[1]]<=d)){for(var c in g)g[c]=0;f.outside3dPlot=!0}});"rect"===
f.shapeType&&(f.shapeType="cuboid");g.z=l;g.depth=h;g.insidePlotArea=!0;c={x:g.x+g.width/2,y:g.y,z:l+h/2};a.inverted&&(c.x=g.height,c.y=f.clientX);f.plot3d=x([c],a,!0,!1)[0];m=x([{x:m[0],y:m[1],z:l+h/2}],a,!0,!1)[0];f.tooltipPos=[m.x,m.y]}});b.z=l};k(h.column.prototype,"animate",function(b){if(this.chart.is3d()){var a=arguments[1],f=this.yAxis,h=this,l=this.yAxis.reversed;z&&(a?h.data.forEach(function(a){null!==a.y&&(a.height=a.shapeArgs.height,a.shapey=a.shapeArgs.y,a.shapeArgs.height=1,l||(a.shapeArgs.y=
a.stackY?a.plotY+f.translate(a.stackY):a.plotY+(a.negative?-a.height:a.height)))}):(h.data.forEach(function(a){null!==a.y&&(a.shapeArgs.height=a.height,a.shapeArgs.y=a.shapey,a.graphic&&a.graphic.animate(a.shapeArgs,h.options.animation))}),this.drawDataLabels(),h.animate=null))}else b.apply(this,[].slice.call(arguments,1))});k(h.column.prototype,"plotGroup",function(b,a,f,h,l,d){"dataLabelsGroup"!==a&&this.chart.is3d()&&(this[a]&&delete this[a],d&&(this.chart.columnGroup||(this.chart.columnGroup=
this.chart.renderer.g("columnGroup").add(d)),this[a]=this.chart.columnGroup,this.chart.columnGroup.attr(this.getPlotBox()),this[a].survive=!0,"group"===a||"markerGroup"===a))&&(arguments[3]="visible");return b.apply(this,Array.prototype.slice.call(arguments,1))});k(h.column.prototype,"setVisible",function(b,a){var f=this,h;f.chart.is3d()&&f.data.forEach(function(b){h=(b.visible=b.options.visible=a="undefined"===typeof a?!v(f.visible,b.visible):a)?"visible":"hidden";f.options.data[f.data.indexOf(b)]=
b.options;b.graphic&&b.graphic.attr({visibility:h})});b.apply(this,Array.prototype.slice.call(arguments,1))});h.column.prototype.handle3dGrouping=!0;A(w,"afterInit",function(){if(this.chart.is3d()&&this.handle3dGrouping){var b=this.options,a=b.grouping,f=b.stacking,h=v(this.yAxis.options.reversedStacks,!0),l=0;if("undefined"===typeof a||a){a=this.chart.retrieveStacks(f);l=b.stack||0;for(f=0;f<a[l].series.length&&a[l].series[f]!==this;f++);l=10*(a.totalStacks-a[l].position)+(h?f:-f);this.xAxis.reversed||
(l=10*a.totalStacks-l)}b.depth=b.depth||25;this.z=this.z||0;b.zIndex=l}});k(h.column.prototype,"pointAttribs",q);k(h.column.prototype,"setState",y);k(h.column.prototype.pointClass.prototype,"hasNewShapeType",t);h.columnrange&&(k(h.columnrange.prototype,"pointAttribs",q),k(h.columnrange.prototype,"setState",y),k(h.columnrange.prototype.pointClass.prototype,"hasNewShapeType",t),h.columnrange.prototype.plotGroup=h.column.prototype.plotGroup,h.columnrange.prototype.setVisible=h.column.prototype.setVisible);
k(w.prototype,"alignDataLabel",function(b,a,f,h,l){var d=this.chart;h.outside3dPlot=a.outside3dPlot;if(d.is3d()&&this.is("column")){var c=this.options,m=v(h.inside,!!this.options.stacking),g=d.options.chart.options3d,k=a.pointWidth/2||0;c={x:l.x+k,y:l.y,z:this.z+c.depth/2};d.inverted&&(m&&(l.width=0,c.x+=a.shapeArgs.height/2),90<=g.alpha&&270>=g.alpha&&(c.y+=a.shapeArgs.width));c=x([c],d,!0,!1)[0];l.x=c.x-k;l.y=a.outside3dPlot?-9E9:c.y}b.apply(this,[].slice.call(arguments,1))});k(b.StackItem.prototype,
"getStackBox",function(b,a,f,k,l,d,c,m){var g=b.apply(this,[].slice.call(arguments,1));if(a.is3d()&&f.base){var p=+f.base.split(",")[0],n=a.series[p];p=a.options.chart.options3d;n&&n instanceof h.column&&(n={x:g.x+(a.inverted?c:d/2),y:g.y,z:n.options.depth/2},a.inverted&&(g.width=0,90<=p.alpha&&270>=p.alpha&&(n.y+=d)),n=x([n],a,!0,!1)[0],g.x=n.x-d/2,g.y=n.y)}return g})});B(q,"parts-3d/Pie.js",[q["parts/Globals.js"],q["parts/Utilities.js"]],function(b,k){var q=k.pick;k=k.wrap;var y=b.deg2rad,t=b.seriesTypes,
A=b.svg;k(t.pie.prototype,"translate",function(b){b.apply(this,[].slice.call(arguments,1));if(this.chart.is3d()){var k=this,q=k.options,h=q.depth||0,t=k.chart.options.chart.options3d,r=t.alpha,a=t.beta,f=q.stacking?(q.stack||0)*h:k._i*h;f+=h/2;!1!==q.grouping&&(f=0);k.data.forEach(function(b){var l=b.shapeArgs;b.shapeType="arc3d";l.z=f;l.depth=.75*h;l.alpha=r;l.beta=a;l.center=k.center;l=(l.end+l.start)/2;b.slicedTranslation={translateX:Math.round(Math.cos(l)*q.slicedOffset*Math.cos(r*y)),translateY:Math.round(Math.sin(l)*
q.slicedOffset*Math.cos(r*y))}})}});k(t.pie.prototype.pointClass.prototype,"haloPath",function(b){var k=arguments;return this.series.chart.is3d()?[]:b.call(this,k[1])});k(t.pie.prototype,"pointAttribs",function(b,k,t){b=b.call(this,k,t);t=this.options;this.chart.is3d()&&!this.chart.styledMode&&(b.stroke=t.edgeColor||k.color||this.color,b["stroke-width"]=q(t.edgeWidth,1));return b});k(t.pie.prototype,"drawDataLabels",function(b){if(this.chart.is3d()){var k=this.chart.options.chart.options3d;this.data.forEach(function(b){var h=
b.shapeArgs,q=h.r,r=(h.start+h.end)/2;b=b.labelPosition;var a=b.connectorPosition,f=-q*(1-Math.cos((h.alpha||k.alpha)*y))*Math.sin(r),n=q*(Math.cos((h.beta||k.beta)*y)-1)*Math.cos(r);[b.natural,a.breakAt,a.touchingSliceAt].forEach(function(a){a.x+=n;a.y+=f})})}b.apply(this,[].slice.call(arguments,1))});k(t.pie.prototype,"addPoint",function(b){b.apply(this,[].slice.call(arguments,1));this.chart.is3d()&&this.update(this.userOptions,!0)});k(t.pie.prototype,"animate",function(b){if(this.chart.is3d()){var k=
arguments[1],q=this.options.animation,h=this.center,t=this.group,r=this.markerGroup;A&&(!0===q&&(q={}),k?(t.oldtranslateX=t.translateX,t.oldtranslateY=t.translateY,k={translateX:h[0],translateY:h[1],scaleX:.001,scaleY:.001},t.attr(k),r&&(r.attrSetters=t.attrSetters,r.attr(k))):(k={translateX:t.oldtranslateX,translateY:t.oldtranslateY,scaleX:1,scaleY:1},t.animate(k,q),r&&r.animate(k,q),this.animate=null))}else b.apply(this,[].slice.call(arguments,1))})});B(q,"parts-3d/Scatter.js",[q["parts/Globals.js"],
q["parts/Point.js"],q["parts/Utilities.js"]],function(b,k,q){q=q.seriesType;var u=b.seriesTypes;q("scatter3d","scatter",{tooltip:{pointFormat:"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>z: <b>{point.z}</b><br/>"}},{pointAttribs:function(k){var q=u.scatter.prototype.pointAttribs.apply(this,arguments);this.chart.is3d()&&k&&(q.zIndex=b.pointCameraDistance(k,this.chart));return q},axisTypes:["xAxis","yAxis","zAxis"],pointArrayMap:["x","y","z"],parallelArrays:["x","y","z"],directTouch:!0},{applyOptions:function(){k.prototype.applyOptions.apply(this,
arguments);"undefined"===typeof this.z&&(this.z=0);return this}});""});B(q,"parts-3d/VMLRenderer.js",[q["parts/Globals.js"],q["parts/Utilities.js"]],function(b,k){k=k.addEvent;var q=b.Axis,y=b.SVGRenderer,t=b.VMLRenderer;t&&(b.setOptions({animate:!1}),t.prototype.face3d=y.prototype.face3d,t.prototype.polyhedron=y.prototype.polyhedron,t.prototype.elements3d=y.prototype.elements3d,t.prototype.element3d=y.prototype.element3d,t.prototype.cuboid=y.prototype.cuboid,t.prototype.cuboidPath=y.prototype.cuboidPath,
t.prototype.toLinePath=y.prototype.toLinePath,t.prototype.toLineSegments=y.prototype.toLineSegments,t.prototype.arc3d=function(b){b=y.prototype.arc3d.call(this,b);b.css({zIndex:b.zIndex});return b},b.VMLRenderer.prototype.arc3dPath=b.SVGRenderer.prototype.arc3dPath,k(q,"render",function(){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}))}))});B(q,"masters/highcharts-3d.src.js",[],function(){})});
//# sourceMappingURL=highcharts-3d.js.map