add all files

This commit is contained in:
Rucus
2026-02-17 09:29:34 -06:00
parent b8c8d67c67
commit 782d203799
21925 changed files with 2433086 additions and 0 deletions

View File

@@ -0,0 +1,216 @@
/*
FusionCharts JavaScript Library
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
FusionCharts JavaScript Library
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
@version 3.11.0
*/
FusionCharts.register("module",["private","modules.renderer.js-charts",function(){function pa(c,D){for(var f=[],a=0,h=c.length;a<h;a++)f[a]=D.call(c[a],c[a],a,c);return f}function S(c,D){var f=D?360:n;c=(c||0)%f;return 0>c?f+c:c}function Ka(c,D,f,a,h){return Ja((D-f[1]-a.top)/h,c-f[0]-a.left)}function ma(c){this.config={};this.linkedItems={chart:c}}var I=this,W=I.hcLib,La=W.hasTouch,Ea=I.window,ja=Ea.document,la=W.Raphael,Ia=W.BLANKSTRING,ea=W.pluck,s=W.pluckNumber,Ta=W.getFirstValue,Ma=W.extend2,
na=W.toRaphaelColor,Ba=W.hasSVG,Ua=W.hashify,ra="createTouch"in ja,Ga=ra&&!(Ea.navigator.maxTouchPoints||Ea.navigator.msMaxTouchPoints),Fa=W.each,Na=W.plotEventHandler,za=W.componentDispose,xa=8===Ea.document.documentMode?"visible":"",sa=Math,fa=sa.sin,qa=sa.cos,Ja=sa.atan2,ua=sa.round,ka=sa.min,va=sa.max,wa=sa.abs,ya=sa.PI,Aa=sa.ceil,Ca=sa.floor,ta=ya/180,a=180/ya,b=Math.PI,d=b/2,n=2*b,l=b+d,k=W.getFirstColor,g=W.getFirstAlpha,N=W.graphics.getDarkColor,p=W.graphics.getLightColor,F=W.graphics.convertColor,
G=W.POSITION_BOTTOM,z=W.POSITION_RIGHT,m=W.chartAPI,q=W.COMMASTRING,r=W.ZEROSTRING,K=W.ONESTRING,B=!/fusioncharts\.com$/i.test(Ea.location.hostname),ba={},R={};m("column2d",{standaloneInit:!0,friendlyName:"Column Chart",creditLabel:B,defaultDatasetType:"column",applicableDSList:{column:!0},singleseries:!0},m.sscartesian);m("column3d",{friendlyName:"3D Column Chart",defaultDatasetType:"column3d",applicableDSList:{column3d:!0},defaultPlotShadow:1,creditLabel:B,is3D:!0,standaloneInit:!0,hasLegend:!1,
singleseries:!0,fireGroupEvent:!0,defaultZeroPlaneHighlighted:!1},m.sscartesian3d);m("bar2d",{friendlyName:"Bar Chart",isBar:!0,standaloneInit:!0,defaultDatasetType:"bar2d",creditLabel:B,applicableDSList:{bar2d:!0},singleseries:!0,spaceManager:m.barbase},m.ssbarcartesian);m("bar3d",{friendlyName:"3D Bar Chart",defaultDatasetType:"bar3d",applicableDSList:{bar3d:!0},defaultPlotShadow:1,fireGroupEvent:!0,standaloneInit:!0,creditLabel:B,is3D:!0,isBar:!0,singleseries:!0,defaultZeroPlaneHighlighted:!1},
m.ssbarcartesian3d);m("line",{friendlyName:"Line Chart",standaloneInit:!0,creditLabel:B,defaultPlotShadow:1,singleseries:!0,axisPaddingLeft:0,axisPaddingRight:0,defaultDatasetType:"line"},m.sscartesian,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0});m("area2d",{friendlyName:"Area Chart",standaloneInit:!0,creditLabel:B,defaultDatasetType:"area",singleseries:!0,defaultPlotShadow:0},m.sscartesian);m("pareto2d",{defaultDatasetType:"column2d",singleseries:!0,creditLabel:B,_createDatasets:function(){var c=
this.components,D=this.jsonData,f=this.is3D,a=c.numberFormatter,h=D.data||D.dataset&&D.dataset[0]&&D.dataset[0].data,e=h&&h.length,J=D.chart,b=this.defaultDatasetType,D=new (FusionCharts.get("component",["dataset","Pareto"])),d=s(J.showcumulativeline,1),P=[],t,v;if(h){for(J=0;J<e;J++)t=h[J],v=a.getCleanValue(t.value),null!==v&&"true"!==t.vline&&!0!==t.vline&&1!==t.vline&&"1"!==t.vline&&P.push(t);this.config.categories=P;a=c.dataset||(c.dataset=[]);(h=ea(b))&&h.toLowerCase();h=FusionCharts.register("component",
["datasetGroup","column"]);h=c[void 0]=new h;h.chart=this;h.init();if(e=f?FusionCharts.get("component",["dataset","Column3d"]):FusionCharts.get("component",["dataset","Column"]))(f=a[0])?(b=P.length,h=f.components.data.length,b<h&&f.removeData(b,h-b),f.JSONData={data:P},D.configure.call(f)):(f=new e,a.push(f),f.chart=this,f.index=J,h&&h.addDataSet(f,0,0),D.init(f,P,b));c=c.yAxis[1];if(d)c&&c.setAxisConfig({drawLabels:!0,drawPlotLines:!0,drawAxisName:!0,drawAxisLine:!0,drawPlotBands:!0,drawTrendLines:!0,
drawTrendLabels:!0}),c.show(),e=FusionCharts.get("component",["dataset","line"]),(f=a[1])?(b=P.length,h=f.components.data.length,b<h&&f.removeData(b,h-b),f.JSONData={data:P},D.configure.call(f)):(f=new e,a.push(f),f.chart=this,f.index=J,D.init(f,P,"line"));else{if(f=a[1])za.call(f),a.pop();c&&(c.setAxisConfig({drawLabels:!1,drawPlotLines:!1,drawAxisName:!1,drawAxisLine:!1,drawPlotBands:!1,drawTrendLines:!1,drawTrendLabels:!1}),c.hide())}}else this.setChartMessage()},_setCategories:function(){var c=
this.components,D=this.jsonData,f=D.dataset,a=c.numberFormatter,c=c.xAxis,D=D.data||f&&f[0].data||[],f=[],h,e=D.length,b,d={},oa=0,P;for(b=0;b<e;b++){h=D[b];P=a.getCleanValue(h.value,!0);if("true"===h.vline||"1"===h.vline||1===h.vline||!0===h.vline)d[oa]=h;else if(null===P)continue;else h.value=P,f.push(h);oa++}f.sort(function(c,f){return f.value-c.value});for(b in d)f.splice(b,0,d[b]);c[0].setCategory(f)},standaloneInit:!0,hasLegend:!1,isPercentage:!0},m.msdybasecartesian);m("pareto3d",{standaloneInit:!0,
is3D:!0,friendlyName:"3D Pareto Chart",creditLabel:B,fireGroupEvent:!0,defaultPlotShadow:1,singleseries:!0,hasLegend:!1,defaultDatasetType:"column3d",_createDatasets:m.pareto2d,_setCategories:m.pareto2d,use3dlineshift:1,isPercentage:!0},m.msdybasecartesian3d);m("pie2d",{friendlyName:"Pie Chart",standaloneInit:!0,defaultSeriesType:"pie",defaultPlotShadow:1,reverseLegend:1,alignCaptionWithCanvas:0,sliceOnLegendClick:!0,isSingleSeries:!0,dontShowLegendByDefault:!0,defaultDatasetType:"Pie2D",applicableDSList:{Pie2D:!0},
defaultZeroPlaneHighlighted:!1,creditLabel:B,_plotDragMove:function(c,D,f,a,h){var e=this.data("plotItem"),b=e.chart,e=e.seriesData,d=b.components.dataset[0].config;isNaN(c)||isNaN(D)||!d.enableRotation||e.singletonCase||e.isRightClicked||(c=Ka.call(h,f,a,e.pieCenter,e.chartPosition,1),e.isRotating||(e.dragStartAngle!==c&&(e.isRotating=!0),I.raiseEvent("RotationStart",{startingAngle:S(e.startingAngleOnDragStart,!0)},b.chartInstance)),d.startAngle+=c-e.dragStartAngle,e.dragStartAngle=c,e.moveDuration=
0,d.updateInited||(d.updateInited=!0,setTimeout(b._batchRotate||(b._batchRotate=function(){b._rotate();d.updateInited=!1}),50)))},_plotDragStart:function(c,D,f){var a=this.data("plotItem"),h=a.chart,a=a.seriesData,e=h.components.dataset[0].config,b=-e.startAngle;a.isRightClicked=La||0===f.button||1===f.button?!1:!0;if(e.enableRotation&&!a.isRightClicked){a.isRotating=!1;e=h.linkedItems.container;h={left:0,top:0};if(e.getBoundingClientRect)e=e.getBoundingClientRect(),h.top=e.top+(Ea.pageYOffset||ja.scrollTop||
0)-(ja.clientTop||0),h.left=e.left+(Ea.pageXOffset||ja.scrollLeft||0)-(ja.clientLeft||0);else for(;e;)h.left+=e.offsetLeft||0,h.top+=e.offsetTop||0,e!==ja.body&&e!==ja.documentElement&&(h.left-=e.scrollLeft||0,h.top-=e.scrollTop||0),e=e.offsetParent;a.chartPosition=h;c=Ka.call(f,c,D,a.pieCenter,a.chartPosition,1);a.dragStartAngle=c;a.startingAngleOnDragStart=b}},_plotDragEnd:function(c){var D=this.data("plotItem"),f=D.chart,a=D.seriesData,h=-a.startAngle;a.isRightClicked||(f.disposed||f._rotate(),
!a.isRotating&&f._plotGraphicClick.call(D.graphic,c),a.isRotating&&(setTimeout(function(){a.isRotating=!1},0),I.raiseEvent("RotationEnd",{startingAngle:S(h,!0),changeInAngle:h-a.startingAngleOnDragStart},f.chartInstance)))},_plotRollOver:function(c){var D=this.plotItem||this.data("plotItem"),f=D.chart,a=f.components.dataset[0].config,h,e;a.isRotating||(Na.call(this,f,c,"DataPlotRollOver"),f.onPlotHover(this,!0));a.isHovered=!0;(c=D.innerDiameter)&&(h=D.centerLabelConfig)&&(e=h.label)&&f.drawDoughnutCenterLabel(e,
D.center[0],D.center[1],c,c,h,!1)},onPlotHover:function(c,D){var f=c.data("plotItem"),a=f.center,h=f.rolloverProperties||{},e=D?h.color:f.color,b=D?h.borderWidth:f.borderWidth,d=D?h.borderColor:f.borderColor;e&&(D&&(e.cx=a[0],e.cy=a[1],e.r=f.radius),h.enabled&&f.graphic.attr({fill:na(e),"stroke-width":b,stroke:d}))},_plotRollOut:function(c){var D=this.plotItem||this.data("plotItem"),f=D.chart,a=f.components.dataset[0].config,h,e;a.isRotating||(Na.call(this,f,c,"DataPlotRollOut"),f.onPlotHover(this,
!1));a.isHovered=!1;(c=D.innerDiameter)&&(h=a.centerLabelConfig)&&((e=h.label)||!e)&&f.drawDoughnutCenterLabel(e,D.center[0],D.center[1],c,c,h,!1)},_rotate:function(){var c,D,f=this.components.dataset[0],a=f.config,h=f.components.data,e=this.config,b=a.slicingDistance,f=f.config,d=n/f.valueTotal,oa=e.canvasLeft+.5*e.canvasWidth,e=e.canvasTop+.5*e.canvasHeight,P=a.pieMinRadius,t=.5*(a.piePlotOptions.innerSize||0),v,u,A,l,g;v=(a.startAngle||0)%n;for(g=0;g<h.length;g+=1)A=h[g].config,l=h[g].graphics,
c=A.y,null!==c&&void 0!==c&&(u=v,v-=f.singletonCase?n:c*d,c=.5*(v+u),A.angle=c,A.transX=qa(c)*b,A.transY=fa(c)*b,A.slicedTranslation="t"+qa(c)*b+q+fa(c)*b,(D=A._rotateAttrs)||(D=A._rotateAttrs={ringpath:[],transform:Ia}),c=D.ringpath,c[0]=oa,c[1]=e,c[2]=P,c[3]=t,c[4]=v,c[5]=u,D.transform=A.sliced?A.slicedTranslation:Ia,l.element.attr(D));this.placeDataLabels(!0,h,a)},getPlotData:function(c,D){var f=this.components.dataset[0],a=f.components.data[c].config,f=f.config.userData||(f.config.userData=[]),
h,e;if(f[c])f=f[c];else{f=f[c]={};for(e in a)"object"!==typeof(h=a[e])&&"function"!==typeof h&&0!==e.indexOf("_")&&(f[e]=h);f.value=f.y;f.categoryLabel=f.label=f.seriesName;delete f.y;delete f.total;delete f.doNotSlice;delete f.name;delete f.seriesName;delete f.centerAngle;delete f.showInLegend;delete f.angle;delete f.endAngle;delete f.isVisible;delete f.setColor;delete f.slicedTranslation;delete f.startAngle;delete f.transX;delete f.transY;delete f.pValue}f.sliced=D;return f},_plotGraphicClick:function(c){var D,
f=this.element||this,a=f.plotItem||f.data("plotItem"),h=f.data("eventArgs")||{},e=a.chart,b=a.index,d=e.components.dataset[0],oa=d.config,P=oa.enableMultiSlicing,d=d.components.data[b],t=d.graphics,d=d.config,v=d.doNotSlice,u;D=d.slicedTranslation;var A=e.get("config","animationObj"),l=A.duration||200,g=A.dummyObj,n=A.animObj,A=A.animType;!oa.isRotating&&Na.call(f,e,c);if(!(oa.isRotating||oa.singletonCase||v||(c=!P&&e.sliceInOtherPies(b),(u=d.sliced)&&c))){if(ra&&!Ga){c=(new Date).getTime();if(a.lastSliceTimeStamp&&
400>c-a.lastSliceTimeStamp)return;a.lastSliceTimeStamp=c}c=t.element;a=t.connector;t=t.label||t.dataLabel;D="object"===typeof D?"t"+D:D;P=d.connectorPath;f=(u?-1:1)*d.transX;oa=(u?-1:1)*d.transY;v=c.data("eventArgs")||c.data("eventArgs",{});I.raiseEvent("slicingStart",{slicedState:u,dataIndex:"index"in h&&h.index,data:e.getPlotData(b,u)},e.chartInstance);c.animateWith(g,n,{transform:u?"t0,0":D},l,A,function(){I.raiseEvent("slicingEnd",{slicedState:u,dataIndex:"index"in h&&h.index,data:e.getPlotData(b,
u)},e.chartInstance)});t&&t.x&&((D=t.data("textPos"))||(D=t.data("textPos",{x:t.x,y:t.y})),t.animateWith(g,n,{x:t.x+(u?0:f)},l,A),D.x=t.x+(u?0:f));P&&(P[1]+=f,P[2]+=oa,P[4]+=f,P[6]+=f,a.animateWith(g,n,{path:P},l,A));return v.isSliced=u=d.sliced=!u}},sliceInOtherPies:function(c){var D=this.components.dataset[0],f=D.components.data,a=f.length,h=0,e;for(D.enableMultiSlicing=!0;a--;)a!==c&&(e=f[a]).config.sliced&&++h&&this._plotGraphicClick.call(e.graphics);D.enableMultiSlicing=!1;return!!h},placeDataLabels:function(){var c=
function(c,f){return c.point.value-f.point.value},D=function(c,f){return c.angle-f.angle},f=["start","start","end","end"],a=[-1,1,1,-1],h=[1,1,-1,-1];return function(e,J,g,oa){var P=this.config,t=this.components.dataset[0].config,v=P.canvasLeft,u=P.canvasTop,A=P.canvasWidth,m=v+.5*P.canvasWidth,k=u+.5*P.canvasHeight,q=this.linkedItems.smartLabel,p=t.dataLabelOptions,x=p.style,ia=s(Aa(parseFloat(x.lineHeight)),12),L=1===J.length?P.singletonPlaceValue:!1,G=p.skipOverlapLabels,N=p.manageLabelOverflow,
z=p.connectorPadding,r;r=oa&&oa.metrics||[m,k,2*t.pieMinRadius,t.innerSize||0];var F=r[1],M=r[0];oa=.5*r[2];var w=[[],[],[],[]],t=g.labelsRadius=oa+p.distance,k=m=parseInt(x.fontSize,10),C=k/2,z=[z,z,-z,-z];g=g.labelsMaxInQuadrant||(g.labelsMaxInQuadrant=Ca(t/k));var p=p.isSmartLineSlanted,y=r[3]/2,B,K,E,Q,H,O,Oa,T,Z,ca,ba,V,ga,aa,U,ha,S;r=Number.POSITIVE_INFINITY;var $,R;B=[];E=[];B=this.get("config","animationObj");var W=e?0:B.duration||0,ea=B.dummyObj,I=B.animObj,ja=B.animType;q.useEllipsesOnOverflow(P.useEllipsesWhenOverflow);
e||q.setStyle(x);if(1==J.length&&!y&&L)y=J[0],R=y.graphics,V=R.label,y.slicedTranslation=[v,u],V&&(V.attr({visibility:xa,"text-anchor":"middle",x:0,y:0,transform:["t",M,F]}),V.x=M,V.data("textPos",{x:M,y:F})),R.connector&&R.connector.attr({path:[]});else if(L)S=y+(oa-y)/2,Fa(J,function(c){$=c.config;R=c.graphics;if(V=R.label)V.attr({transform:"t0,0"}),ba=$.angle,ca=F+S*fa(ba),O=M+S*qa(ba),V.x=O,V._x=O,V.y=ca,c.sliced&&(ha=c.slicedTranslation,aa=ha[0]-v,U=ha[1]-u,O+=aa,ca+=U),V.animateWith(ea,I,{visibility:xa,
"text-anchor":"middle",x:0,y:0,transform:["t",O,ca]},W,ja)});else{Fa(J,function(c){$=c.config;R=c.graphics;if(V=R.label)V.attr({transform:"t0,0"}),ba=$.angle%n,0>ba&&(ba=n+ba),ga=0<=ba&&ba<d?1:ba<b?2:ba<l?3:0,w[ga].push({point:c,angle:ba})});for(J=e=4;J--;){if(G&&(x=w[J].length-g,0<x))for(w[J].sort(c),L=w[J].splice(0,x),x=0,E=L.length;x<E;x+=1)y=L[x].point,R=y.graphics,R.label.attr({visibility:"hidden"}),R.connector&&R.connector.attr({visibility:"hidden"});w[J].sort(D)}J=va(w[0].length,w[1].length,
w[2].length,w[3].length);x=va(ka(J,g)*k,t+k);E=w[0].concat(w[1]);B=w[2].concat(w[3]);for(J=E.length-1;0<=J;J--)L=E[J].point.config,delete L.clearance,delete L.clearanceShift,y=wa(x*fa(L.angle)),Math.abs(r-y)<2*ia&&(L.clearance=0,E[J+1].point.clearanceShift=ia/2),r=y;r=Number.POSITIVE_INFINITY;J=0;for(E=B.length;J<E;J++)L=B[J].point.config,delete L.clearance,delete L.clearanceShift,y=wa(x*fa(L.angle)),Math.abs(r-y)<2*ia&&(L.clearance=0,B[J-1].point.clearanceShift=ia/2),r=y;w[1].reverse();for(w[3].reverse();e--;){L=
w[e];E=L.length;G||(k=E>g?x/E:m,C=k/2);ia=E*k;r=x;for(J=0;J<E;J+=1,ia-=k)y=wa(x*fa(L[J].angle)),r<y?y=r:y<ia&&(y=ia),r=(L[J].oriY=y)-k;B=f[e];E=x-(E-1)*k;r=0;for(J=L.length-1;0<=J;--J,E+=k)if(y=L[J].point,ba=L[J].angle,$=y.config,R=y.graphics,Q=$.sliced,V=R.label,y=wa(x*fa(ba)),y<r?y=r:y>E&&(y=E),r=y+k,ia=void 0===$.clearance?2*Aa(s(parseFloat($.style.border),12),12):2*Aa(s(parseFloat($.style.border),$.clearance)),T=(y+L[J].oriY)/2,y=M+h[e]*t*qa(sa.asin(T/x)),T*=a[e],T+=F,Z=F+oa*fa(ba),H=M+oa*qa(ba),
(2>e&&y<H||1<e&&y>H)&&(y=H),O=y+z[e],ca=T-C-2,Oa=O+z[e],V.x=Oa,V._x=Oa,N&&(K=1<e?Oa-P.canvasLeft:P.canvasLeft+A-Oa,q.setStyle($.style),ia=s(Aa(parseFloat($.style.lineHeight)),12)+ia,ia=q.getSmartText($.displayValue,K,ia),void 0===$.clearance&&ia.height>k&&(T+=k),V.attr({text:ia.text}).tooltip(ia.tooltext)),V.y=ca,Q&&(aa=$.transX,U=$.transY,O+=aa,y+=aa,H+=aa,Z+=U,Oa+=aa),V.attr({"text-anchor":B,vAlign:"middle"}),$._textAttrs||($._textAttrs={}),$._textAttrs.x=Oa,$._textAttrs.y=T,(ia=V.data("textPos"))?
V.attr({x:ia.x,y:ia.y}).animateWith(ea,I,$._textAttrs,W):V.attr($._textAttrs),V.data("textPos",{x:Oa,y:T}),ia=R.connector)$.connectorPath=y=["M",H,Z,"L",p?y:H,T,O,T],(H=ia.data("connectorPath"))?ia.attr({path:H.path}).animateWith(ea,I,{path:y},W):ia.attr({path:y}),ia.data("connectorPath",{path:y})}}}}(),_spaceManager:function(){var c=this.config,D=this.components,f=D.dataset[0],a=f.components.data,h=f.config,e=D.legend,b=D.colorManager,d=this.linkedItems.smartLabel,g=h.dataLabelCounter,P=0,t=this.jsonData.chart,
D=s(t.managelabeloverflow,0),v=s(t.slicingdistance),u=h.preSliced||t.enableslicing!==r||t.showlegend===K&&t.interactivelegend!==r?wa(s(v,20)):0,A=s(t.pieradius,0),l=(v=s(t.enablesmartlabels,t.enablesmartlabel,1))?s(t.skipoverlaplabels,t.skipoverlaplabel,1):0,n=s(t.issmartlineslanted,1),m=g?s(t.labeldistance,t.nametbdistance,5):u,k=s(t.smartlabelclearance,5),x=c.width-(c.marginRight+c.marginLeft),q=c.height-(c.marginTop+c.marginBottom),p=ka(q,x),N=ea(t.smartlinecolor,b.getColor("plotFillColor")),B=
s(t.smartlinealpha,100),ba=s(t.smartlinethickness,.7),f=h.dataLabelOptions||(h.dataLabelOptions=f._parseDataLabelOptions()),b=f.style,b=g?s(parseInt(b.lineHeight,10),12):0,R=0===A?.15*p:A,da=2*R,M={bottom:0,right:0},w=h.pieYScale,p=h.pieSliceDepth;f.connectorWidth=ba;f.connectorPadding=s(t.connectorpadding,5);f.connectorColor=F(N,B);g&&(v&&(m=k),m+=u);k=da+2*(b+m);k=this._manageChartMenuBar(k<q?q-k:q/2);q-=(k.top||0)+(k.bottom||0);h.showLegend&&(this.hasLegend=!0,ea(t.legendposition,G).toLowerCase()!==
z?(M=e._manageLegendPosition(q/2),q-=M.bottom):(M=e._manageLegendPosition(q/2),x-=M.right));this._allocateSpace(M);d.useEllipsesOnOverflow(c.useEllipsesWhenOverflow);if(1!==g)for(;g--;)d.setStyle(a[g].config.style),c=d.getOriSize(a[g].config.displayValue),P=va(P,c.width);0===A?R=this._stubRadius(x,P,q,m):(h.slicingDistance=u,h.pieMinRadius=R,f.distance=m);a=q-2*(R*w+b);h.managedPieSliceDepth=p>a?p-a:h.pieSliceDepth;f.isSmartLineSlanted=n;f.enableSmartLabels=v;f.skipOverlapLabels=l;f.manageLabelOverflow=
D},_stubRadius:function(c,D,f,a){var b=this.components.dataset[0],e=b.config,d=e.dataLabelCounter,g=this.jsonData.chart,l=s(g.slicingdistance),P=e.preSliced||g.enableslicing!==r||g.showlegend===K&&g.interactivelegend!==r?wa(s(l,20)):0,g=s(g.pieradius,0),t=ka(f,c),b=e.dataLabelOptions||(e.dataLabelOptions=b._parseDataLabelOptions()),v=b.style,d=d?s(parseInt(v.lineHeight,10),12):0,g=0===g?.15*t:g,t=0,t=ka(c/2-D-P,f/2-d)-a;t>=g?g=t:l||(P=a=va(ka(a-(g-t),P),10));e.slicingDistance=P;e.pieMinRadius=g;b.distance=
a;return g},getDataSet:function(c){return this.components.dataset[c]},_startingAngle:function(c,D){var f,b=this.components.dataset[0].config,h=(f=b.startAngle)*-a+(0>-1*f?360:0);if(!isNaN(c)){if(b.singletonCase||b.isRotating)return;c+=D?h:0;b.startAngle=-c*ta;this._rotate(c);h=c}return ua(100*((h%=360)+(0>h?360:0)))/100},eiMethods:{isPlotItemSliced:function(c){var D,f,a,b=this.apiInstance;return b&&b.components.dataset&&(a=b.components.dataset[0])&&(D=a.components.data)&&D.length&&D[c]&&(f=D[c].config)&&
f.sliced},addData:function(){var c,a=this.apiInstance;return a&&a.components.dataset&&(c=a.components.dataset[0])&&c.addData.apply(c,arguments)},removeData:function(){var c,a=this.apiInstance;return a&&a.components.dataset&&(c=a.components.dataset[0])&&c.removeData.apply(c,arguments)},updateData:function(){var c,a=this.apiInstance;return a&&a.components.dataset&&(c=a.components.dataset[0])&&c.updateData.apply(c,arguments)},slicePlotItem:function(c,a){var f,b,h,e,d=this.apiInstance;return d&&d.components.dataset&&
(f=d.components.dataset[0])&&(b=f.components.data)&&(e=b.length)&&b[c=f.config.reversePlotOrder?e-c-1:c]&&(h=b[c].config)&&((!!a!==h.sliced||void 0===a)&&d._plotGraphicClick.call(b[c].graphics.element)||h.sliced)},centerLabel:function(c,a){var f=this.apiInstance,b=f.components.dataset[0],h=b.config,e=h.piePlotOptions.innerSize,d=h.pieCenter,g=d[0],d=d[1],h=h.centerLabelConfig,l;if("object"!==typeof a)a=h;else for(l in h)void 0===a[l]&&(a[l]=h[l]);a.label=c;b.centerLabelConfig=a;e&&f.drawDoughnutCenterLabel(c||
"",g,d,e,e,a,!0)},startingAngle:function(c,a){return this.apiInstance._startingAngle(c,a)}}},m.guageBase,{plotborderthickness:1,alphaanimation:0,singletonPlaceValue:!0});m("pie3d",{defaultDatasetType:"Pie3D",applicableDSList:{Pie3D:!0},is3D:!0,friendlyName:"3D Pie Chart",fireGroupEvent:!0,creditLabel:B,getPointColor:function(c){return c},_configureManager:function(){var c=this.components.dataset[0],a=c.config,f=c.components,c=f.Pie3DManager,f=f.data;c&&c.configure(a.pieSliceDepth,1===f.length,a.use3DLighting,
!1)},defaultPlotShadow:0,_preDrawCalculate:function(){var c,a,f=this.config,b=0,h=this.components.dataset[0],e=h.config;c=h.components;a=e.dataLabelOptions;var d=e.pie3DOptions=h._parsePie3DOptions(),g=ea(e.startAngle,0)%n,l=e.managedPieSliceDepth,P=e.slicedOffset=d.slicedOffset,t=f.canvasWidth,v=f.canvasHeight,u=[f.canvasLeft+.5*t,f.canvasTop+.5*v-.5*l],A,m,f=c.data,k,q=ka(t,v),p,x=a.distance;A=e.pieYScale;var r=e.slicedOffsetY||(e.slicedOffsetY=P*e.pieYScale);k=c.Pie3DManager;u.push(2*e.pieMinRadius,
d.innerSize||0);u=pa(u,function(c,a){return(p=/%$/.test(c))?[t,v-l,q,q][a]*parseInt(c,10)/100:c});u[2]/=2;u[3]/=2;u.push(u[2]*A);u.push((u[2]+u[3])/2);u.push(u[5]*A);h.getX=function(c,a){m=sa.asin((c-u[1])/(u[2]+x));return u[0]+(a?-1:1)*qa(m)*(u[2]+x)};e.center=u;Fa(f,function(c){b+=c.config.y});e.labelsRadius=u[2]+x;e.labelsRadiusY=e.labelsRadius*A;e.quadrantHeight=(v-l)/2;e.quadrantWidth=t/2;h=ua(1E3*g)/1E3;d=h+n;g=s(parseInt(a.style.fontSize,10),10)+4;e.maxLabels=Ca(e.quadrantHeight/g);e.labelFontSize=
g;e.connectorPadding=s(a.connectorPadding,5);e.isSmartLineSlanted=ea(a.isSmartLineSlanted,!0);e.connectorWidth=s(a.connectorWidth,1);e.enableSmartLabels=a.enableSmartLabels;k||(k=c.Pie3DManager=new ma(this),this.get("graphics","datasetGroup").trackTooltip(!0));this._configureManager();for(c=f.length-1;0<=c;--c)a=f[c],a=a.config,g=h,k=b?a.y/b:0,h=ua(1E3*(h+k*n))/1E3,h>d&&(h=d),A=h,a.shapeArgs={start:ua(1E3*g)/1E3,end:ua(1E3*A)/1E3},a.centerAngle=m=(A+g)/2%n,a.slicedTranslation=[ua(qa(m)*P),ua(fa(m)*
r)],g=qa(m)*u[2],e.radiusY=A=fa(m)*u[4],a.tooltipPos=[u[0]+.7*g,u[1]+A],a.percentage=100*k,a.total=b},placeDataLabels:function(){var c=function(c,a){return c.point.value-a.point.value},a=function(c,a){return c.angle-a.angle},f=["start","start","end","end"],g=[-1,1,1,-1],h=[1,1,-1,-1];return function(e){var J,m,k,P=this.config,t=this.components.dataset[0],v=t.config,u=t.components.data,A=v.piePlotOptions,q=P.canvasLeft,p=P.canvasTop,t=P.canvasWidth,r=q+.5*P.canvasWidth,G=p+.5*P.canvasHeight,x=this.linkedItems.smartLabel,
z=v.dataLabelOptions,L=z.style;J=s(Aa(parseFloat(L.lineHeight)),12);var N=Ta(z.placeInside,!1),F=z.skipOverlapLabels,B=z.manageLabelOverflow,K=z.connectorPadding,ba=z.distance,M=z.connectorWidth,w=[[],[],[],[]],C=parseInt(L.fontSize,10),y=C,Y=y/2,K=[K,K,-K,-K],X=z.isSmartLineSlanted,E,Q,H,O,R,T,Z,ca,S,V,ga,aa,U,ha,ba=0<ba,W=v.center||(v.center=[r,G,A.size,A.innerSize||0]),$=W[1],ea=W[0],A=W[2],r=W[4],G=v.labelsRadius,I=ua(100*v.labelsRadiusY)/100,ja=v.maxLabels,na=v.enableSmartLabels,ma=v.pieSliceDepth/
2,la=this.get("config","animationObj"),ra=e?0:la.duration,ta=la.dummyObj,pa=la.animObj,la=la.animType;x.useEllipsesOnOverflow(P.useEllipsesWhenOverflow);if(v.dataLabelCounter)if(e||x.setStyle(L),1==u.length)J=u[0],ha=J.graphics,U=J.config,ga=ha.label,T=ha.connector,U.slicedTranslation=[q,p],ga&&null!==U.y&&(ga.attr({visibility:xa,"text-anchor":"middle",x:ea,y:$+Y-2}),ga.x=ea),T&&T.hide();else if(N)Fa(u,function(c){ha=c.graphics;U=c.config;if((ga=ha.label)&&null!==U.y){V=U.angle;S=$+W[6]*fa(V)+Y-2;
R=ea+W[5]*qa(V);ga.x=R;ga._x=R;ga.y=S;if(U.sliced){c=c.slicedTranslation;var a=c[1]-p;R+=c[0]-q;S+=a}ga.attr({visibility:xa,align:"middle",x:R,y:S})}});else{Fa(u,function(c){ha=c.graphics;U=c.config;if(ga=ha.label)V=U.angle,0>V&&(V=n+V),aa=0<=V&&V<d?1:V<b?2:V<l?3:0,w[aa].push({point:c,angle:V})});for(v=P=4;v--;){if(F&&(u=w[v].length-ja,0<u))for(w[v].sort(c),N=w[v].splice(0,u),u=0,Q=N.length;u<Q;u+=1)J=N[u].point,ha=J.graphics,ha.label.attr({visibility:"hidden"}),ha.connector&&ha.connector.attr({visibility:"hidden"});
w[v].sort(a)}v=va(w[0].length,w[1].length,w[2].length,w[3].length);I=va(ka(v,ja)*y,I+y);w[1].reverse();w[3].reverse();for(x.setStyle(L);P--;){u=w[P];Q=u.length;F||(y=Q>ja?I/Q:C,Y=y/2);N=Q*y;L=I;for(v=0;v<Q;v+=1,N-=y)J=wa(I*fa(u[v].angle)),L<J?J=L:J<N&&(J=N),L=(u[v].oriY=J)-y;N=f[P];Q=I-(Q-1)*y;L=0;for(v=u.length-1;0<=v;--v,Q+=y)J=u[v].point,ha=J.graphics,U=J.config,null!==U.y&&(V=u[v].angle,k=U.sliced,ga=ha.label,J=wa(I*fa(V)),J<L?J=L:J>Q&&(J=Q),L=J+y,Z=(J+u[v].oriY)/2,H=ea+h[P]*G*qa(sa.asin(Z/I)),
Z*=g[P],Z+=$,ca=$+r*fa(V),O=ea+A*qa(V),(2>P&&H<O||1<P&&H>O)&&(H=O),R=H+K[P],S=Z+Y-2,T=R+K[P],ga.x=T,ga._x=T,B&&(E=1<P?T-q:q+t-T,x.setStyle(U.style),J=s(Aa(parseFloat(U.style.lineHeight)),12)+(2*Aa(parseFloat(U.style.border),12)||0),J=x.getSmartText(U.displayValue,E,J),ga.attr({text:J.text}).tooltip(J.tooltext)),V<b&&(Z+=ma,ca+=ma,S+=ma),ga.y=S,k&&(J=U.transX,k=U.transY,R+=J,H+=J,O+=J,ca+=k,T+=J),ga.attr({visibility:xa,"text-anchor":N}),(k=ga.data("textPos"))&&ga.attr({x:k.x,y:k.y}),J={x:T,y:Z},!e&&
k?ga.animateWith(ta,pa,J,ra,la):ga.attr(J),ga.data("textPos",{x:T,y:Z}),ba&&M&&na&&(T=ha.connector,U.connectorPath||(m=!0),U.connectorPath=J=["M",O,ca,"L",X?H:O,Z,R,Z],J={path:J,"stroke-width":M,stroke:z.connectorColor||"#606060",visibility:xa},T&&(e||m?T.attr(J):T.animateWith(ta,pa,J,ra,la))))}}}}(),animate:function(){var c,a,f,b,h=this,e=h.components.dataset[0],d=e.components.data;c=h.graphics.datasetGroup;var g=d.length;a=e.config.alphaAnimation;f=function(){h.disposed||h.disposing||h.placeDataLabels(!1)};
var l=h.get("config","animationObj"),e=l.duration||0,P=l.dummyObj,t=l.animObj,l=l.animType;if(a)c.attr({opacity:0}),c.animateWith(P,t,{opacity:1},e,l,f);else for(c=0;c<g;c++)if(a=d[c],f=a.graphics,a=a.config,b=a.shapeArgs,a=2*ya,f=f.element)f.attr({start:a,end:a}),f=b.start,b=b.end,(void 0).animateWith(P,t,{cx:f-a,cy:b-a},e,l)},_rotate:function(c){var a=this.components.dataset[0],f=a.config,a=a.components,b=a.data,h=f.slicedOffset,e=f.slicedOffsetY,d=f.startAngle,g;c=isNaN(c)?-f._lastAngle:c;g=(c-
d)%360;f.startAngle=s(c,f.startAngle)%360;g=-(g*ya)/180;a.Pie3DManager&&a.Pie3DManager.rotate(g);Fa(b,function(c){var a=[],f=c.config;c=c.graphics.element;var a=f.shapeArgs,b=a.start+=g,a=a.end+=g,D=f.angle=S((b+a)/2),b=f.sliced,a=qa(D),D=fa(D),a=f.slicedTranslation=[ua(a*h),ua(D*e)];f.transX=a[0];f.transY=a[1];f.slicedX=b?qa(g)*h:0;f.slicedY=b?fa(g)*e:0;c&&b&&c.attr({transform:"t"+a[0]+","+a[1]})});this.placeDataLabels(!0,b)},_plotRollOver:function(c){var a=this.data("plotItem"),f=a.chart,b=f.config,
h=f.components.dataset[0],e=h.components.data[a.index],a=e.graphics.element,e=e.config.hoverEffects;h.config.isRotating||(Na.call(a,f,c,"DataPlotRollOver"),e.enabled&&a.attr(e));b.isHovered=!0},_plotRollOut:function(c){var a=this.data("plotItem"),f=a.chart,b=f.config,h=f.components.dataset[0],e=h.components.data[a.index],a=e.config,e=e.graphics.element;h.config.isRotating||(Na.call(e,f,c,"DataPlotRollOut"),e.attr({color:a.color.color.split(",")[0],alpha:a._3dAlpha,borderWidth:a.borderWidth,borderColor:a.borderColor}));
b.isHovered=!1},_plotDragStart:function(c,a,f){var b=this.data("plotItem").chart.components.dataset[0].config;b.isRightClicked=La||0===f.button||1===f.button?!1:!0;b.enableRotation&&!b.isRightClicked&&(b.isRotating=!1,c=Ka.call(f,c,a,b.center,b.chartPosition,b.pieYScale),b.dragStartAngle=c,b._lastAngle=-b.startAngle,b.startingAngleOnDragStart=b.startAngle)},_plotDragEnd:function(c){var a=this.data("plotItem"),f=a.index,a=a.chart,b=a.config,h=a.components.dataset[0],e=h.config,h=h.components.Pie3DManager,
d=e.startAngle;e.isRightClicked||(e.isRotating?(setTimeout(function(){e.isRotating=!1},0),I.raiseEvent("rotationEnd",{startingAngle:S(d,!0),changeInAngle:d-e.startingAngleOnDragStart},a.chartInstance),!b.isHovered&&h.colorObjs[f]&&h.onPlotHover(f,!1)):a._plotGraphicClick.call(this,c))},_plotDragMove:function(c,a,f,b,h){var e=this.data("plotItem").chart,d=e.components.dataset[0].config;isNaN(c)||isNaN(a)||!d.enableRotation||d.singletonCase||d.isRightClicked||(c=Ka.call(h,f,b,d.center,d.chartPosition,
d.pieYScale),d.isRotating||(d.dragStartAngle!==c&&(d.isRotating=!0),I.raiseEvent("rotationStart",{startingAngle:S(d.startAngle,!0)},e.chartInstance)),a=c-d.dragStartAngle,d.dragStartAngle=c,d.moveDuration=0,d._lastAngle+=180*a/ya,c=(new Date).getTime(),d._lastTime&&!(d._lastTime+d.timerThreshold<c))||(d._lastTime||e._rotate(),d.timerId=setTimeout(function(){e.disposed&&e.disposing||e._rotate()},d.timerThreshold),d._lastTime=c)},_stubRadius:function(c,a,f,b){var h=this.components.dataset[0],e=h.config,
d=s(h.components.data&&h.components.data.length,0),g=h.config,l=s(g.slicingdistance),k=e.preSliced||g.enableslicing!==r||g.showlegend===K&&g.interactivelegend!==r?wa(s(l,20)):0,g=s(g.pieradius,0),t=ka(f,c),h=e.dataLabelOptions||(e.dataLabelOptions=h._parseDataLabelOptions()),v=h.style,d=d?s(parseInt(v.lineHeight,10),12):0,g=0===g?.15*t:g,t=0,t=e.pieYScale;f-=e.pieSliceDepth;t=ka(c/2-a-k,(f/2-d)/t)-b;t>=g?g=t:l||(k=b=va(ka(b-(g-t),k),10));e.slicingDistance=k;e.pieMinRadius=g;h.distance=b;return g},
_startingAngle:function(c,a){var f,b=this.components.dataset[0].config,h=(f=b.startAngle)+(0>f?360:0);if(!isNaN(c)){if(b.singletonCase||b.isRotating)return;c+=a?h:0;this._rotate(c);h=c}return ua(100*((h%=360)+(0>h?360:0)))/100}},m.pie2d,{plotborderthickness:.1,alphaanimation:1});m("doughnut2d",{friendlyName:"Doughnut Chart",defaultDatasetType:"Doughnut2D",creditLabel:B,applicableDSList:{Doughnut2D:!0},getPointColor:function(c,a,f){var b;c=k(c);a=g(a);100>f&&Ba?(b=N(c,Ca(100*(85-.2*(100-f)))/100),
c=p(c,Ca(100*(100-.5*f))/100),a={FCcolor:{color:b+","+c+","+c+","+b,alpha:a+","+a+","+a+","+a,radialGradient:!0,gradientUnits:"userSpaceOnUse",r:f}}):a={FCcolor:{color:c+","+c,alpha:a+","+a,ratio:"0,100"}};return a},drawDoughnutCenterLabel:function(c,a,f,b,h,e,d){var g=this.components,l=g.dataset[0].config;e=e||l.lastCenterLabelConfig;var g=g.paper,k=this.linkedItems.smartLabel,t=this.graphics,v=t.datasetGroup,u=e.padding,A=2*e.textPadding,m={fontFamily:e.font,fontSize:e.fontSize+"px",lineHeight:1.2*
e.fontSize+"px",fontWeight:e.bold?"bold":"",fontStyle:e.italic?"italic":""},n=1.414*(.5*b-u)-A;h=1.414*(.5*h-u)-A;var q;k.setStyle(m);k.useEllipsesOnOverflow(this.config.useEllipsesWhenOverflow);k=k.getSmartText(c,n,h);(h=t.doughnutCenterLabel)?(h.attr("text")!==c&&this.centerLabelChange(c),q=t.centerLabelOvalBg):(e.bgOval&&(t.centerLabelOvalBg=q=g.circle(a,f,.5*b-u,v)),h=t.doughnutCenterLabel=g.text(v).hover(this.centerLabelRollover,this.centerLabelRollout).click(this.centerLabelClick),h.chart=this);
c?(h.css(m).attr({x:a,y:f,text:k.text,visibility:xa,direction:l.textDirection,fill:na({FCcolor:{color:e.color,alpha:e.alpha}}),"text-bound":e.bgOval?"none":[na({FCcolor:{color:e.bgColor,alpha:e.bgAlpha}}),na({FCcolor:{color:e.borderColor,alpha:e.borderAlpha}}),e.borderThickness,e.textPadding,e.borderRadius]}).tooltip(e.toolText||k.tooltext),e.bgOval&&q&&q.attr({visibility:xa,fill:Ua(e.bgColor),"fill-opacity":e.bgAlpha/100,stroke:Ua(e.borderColor),"stroke-width":e.borderThickness,"stroke-opacity":e.borderAlpha/
100})):(h.attr("visibility","hidden"),q&&q.attr("visibility","hidden"));d&&(l.lastCenterLabelConfig=e,l.centerLabelConfig=e)},centerLabelRollover:function(){var c=this.chart,a=c.config,f=c.chartInstance,b=f.ref,h=c.components.dataset[0].config.lastCenterLabelConfig,a={height:a.height,width:a.width,pixelHeight:b.offsetHeight,pixelWidth:b.offsetWidth,id:f.id,renderer:f.args.renderer,container:c.linkedItems.container,centerLabelText:h&&h.label};this.attr("text")&&I.raiseEvent("centerLabelRollover",a,
f,this,c.hoverOnCenterLabel)},centerLabelRollout:function(){var c=this.chart,a=c.config,f=c.chartInstance,b=f.ref,h=c.components.dataset[0].config.lastCenterLabelConfig,a={height:a.height,width:a.width,pixelHeight:b.offsetHeight,pixelWidth:b.offsetWidth,id:f.id,renderer:f.args.renderer,container:c.linkedItems.container,centerLabelText:h&&h.label};this.attr("text")&&I.raiseEvent("centerLabelRollout",a,f,this,c.hoverOffCenterLabel)},centerLabelClick:function(){var c=this.chart,a=c.config,f=c.chartInstance,
b=f.ref,h=c.components.dataset[0].config.lastCenterLabelConfig,c={height:a.height,width:a.width,pixelHeight:b.offsetHeight,pixelWidth:b.offsetWidth,id:f.id,renderer:f.args.renderer,container:c.linkedItems.container,centerLabelText:h&&h.label};this.attr("text")&&I.raiseEvent("centerLabelClick",c,f)},centerLabelChange:function(c){var a=this.config,f=this.chartInstance,b=f.ref;I.raiseEvent("centerLabelChanged",{height:a.height,width:a.width,pixelHeight:b.offsetHeight,pixelWidth:b.offsetWidth,id:f.id,
renderer:f.args.renderer,container:this.linkedItems.container,centerLabelText:c},f)},hoverOnCenterLabel:function(){var c=this.chart.components.dataset[0].config.lastCenterLabelConfig;(c.hoverColor||c.hoverAlpha)&&this.attr({fill:na({FCcolor:{color:c.hoverColor||c.color,alpha:c.hoverAlpha||c.alpha}})})},hoverOffCenterLabel:function(){var c=this.chart.components.dataset[0].config.lastCenterLabelConfig;(c.hoverColor||c.hoverAlpha)&&this.attr({fill:na({FCcolor:{color:c.color,alpha:c.alpha}})})}},m.pie2d,
{singletonPlaceValue:!1});m("doughnut3d",{friendlyName:"3D Doughnut Chart",defaultDatasetType:"Doughnut3D",creditLabel:B,applicableDSList:{Doughnut3D:!0},_configureManager:function(){var c=this.components.dataset[0],a=c.config,f=c.components,c=f.Pie3DManager,f=f.data;c&&c.configure(a.pieSliceDepth,1===f.length,a.use3DLighting,!0)}},m.pie3d);m("mscolumn2d",{standaloneInit:!0,friendlyName:"Multi-series Column Chart",creditLabel:B,defaultDatasetType:"column",applicableDSList:{column:!0},eiMethods:{}},
m.mscartesian);m("mscolumn3d",{standaloneInit:!0,defaultDatasetType:"column3d",friendlyName:"Multi-series 3D Column Chart",applicableDSList:{column3d:!0},defaultPlotShadow:1,fireGroupEvent:!0,is3D:!0,creditLabel:B,defaultZeroPlaneHighlighted:!1},m.mscartesian3d);m("msbar2d",{standaloneInit:!0,friendlyName:"Multi-series Bar Chart",isBar:!0,hasLegend:!0,creditLabel:B,defaultDatasetType:"bar2d",applicableDSList:{bar2d:!0}},m.msbarcartesian);m("msbar3d",{standaloneInit:!0,defaultSeriesType:"bar3d",friendlyName:"Multi-series 3D Bar Chart",
fireGroupEvent:!0,defaultPlotShadow:1,is3D:!0,isBar:!0,hasLegend:!0,creditLabel:B,defaultZeroPlaneHighlighted:!1,defaultDatasetType:"bar3d",applicableDSList:{bar3d:!0}},m.msbarcartesian3d);m("msarea",{standaloneInit:!0,friendlyName:"Multi-series Area Chart",creditLabel:B,defaultDatasetType:"area",showValues:1,defaultPlotShadow:0,applicableDSList:{area:!0}},m.mscartesian);m("msline",{standaloneInit:!0,friendlyName:"Multi-series Line Chart",creditLabel:B,defaultDatasetType:"line",defaultPlotShadow:1,
axisPaddingLeft:0,axisPaddingRight:0,applicableDSList:{line:!0}},m.mscartesian,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0});m("stackedarea2d",{friendlyName:"Stacked Area Chart",isStacked:!0,showsum:0,creditLabel:B,areaAlpha:100},m.msarea);m("stackedcolumn2d",{friendlyName:"Stacked Column Chart",isStacked:!0,creditLabel:B},m.mscolumn2d);m("stackedcolumn3d",{friendlyName:"3D Stacked Column Chart",isStacked:!0,creditLabel:B},m.mscolumn3d);m("stackedbar2d",{friendlyName:"Stacked Bar Chart",
isStacked:!0,creditLabel:B},m.msbar2d);m("stackedbar3d",{friendlyName:"3D Stacked Bar Chart",isStacked:!0,creditLabel:B},m.msbar3d);m("marimekko",{standaloneInit:!0,friendlyName:"Marimekko Chart",isValueAbs:!0,distributedColumns:!0,stack100percent:!0,defaultDatasetType:"marimekko",applicableDSList:{marimekko:!0},isStacked:!0,showsum:1,creditLabel:B,_setAxisLimits:function(){var c=this.components,a=c.dataset,f=c.yAxis,c=c.xAxis,b,h=a.length,e,d=-Infinity,g=Infinity,l=Infinity,k=-Infinity,t,v,u={};
t=this.config.categories;var A=[],m=function(c){d=va(d,c.max);g=ka(g,c.min);k=va(k,c.xMax||-Infinity);l=ka(l,c.xMin||Infinity)};for(e=0;e<h;e++)b=a[e],(v=b.groupManager)?u[b.type]=v:A.push(b);for(v in u)a=u[v].getDataLimits(),m(a);h=A.length;for(e=0;e<h;e++)a=A[e].getDataLimits(),m(a);-Infinity===d&&(d=0);Infinity===g&&(g=0);f[0].setAxisConfig({isPercent:this.isStacked?this.config.stack100Percent:0});f[0].setDataLimit(d,g);if(-Infinity!==k||Infinity!==l)c[0].config.xaxisrange={max:k,min:l},c[0].setDataLimit(k,
l);f=u[v].getStackSumPercent();e=f.length;v=c[0].getCategoryLen();v>e&&t.splice(e,v-e);this._setCategories();e=c[0].getLimit();l=e.min;k=e.max;t=l;v=k-l;for(e=0;e<f.length;e++)a=f[e],h=v*a/100,a=t+h/2,c[0].updateCategory(e,{x:a}),t+=h}},m.mscartesian);m("msstackedcolumn2d",{standaloneInit:!0,isStacked:!0,defaultDatasetType:"column",applicableDSList:{column:!0},friendlyName:"Multi-series Stacked Column Chart",_createDatasets:function(){var c=this.components,a=this.jsonData,f=a.dataset,b=f&&f.length||
0,h,e,d,g=this.defaultDatasetType,l=this.applicableDSList,k,t,v,u,A,m,n=a.lineset||[],q=this.config,p=q.dataSetMap,x=q.lineSetMap,r=p&&p.length,z=c.legend,N=[],G=[],F=0;v=0;var B,s=-1,M,w=this.config.catLen,C=c.xAxis[0],y,K,R=c.dataset;if(f||0!==n.length){this.config.categories=a.categories&&a.categories[0].category;e=c.dataset=[];for(a=0;a<b;a++){A=f[a];s++;if(A.dataset)for(K=!0,m=A.dataset&&A.dataset.length||0,N[a]=[],h=0;h<m;h++){if(v=A.dataset[h],k=(k=ea(v.renderas,g))&&k.toLowerCase(),l[k]||
(k=g),d=FusionCharts.get("component",["dataset",k]))u="datasetGroup_"+k,t=FusionCharts.register("component",["datasetGroup",k]),k=c[u],t&&!k?(k=c[u]=new t,k.chart=this,k.init()):k&&p&&0!==p.length&&!B&&(k.init(),B=!0),p&&p[a]&&p[a][h]?(d=p[a][h],d.index=F,u=d.JSONData,t=u.data.length,u=v.data&&v.data.length||0,M=C.getCategoryLen(),y=w-M,t-=u,t=this._getDiff(t,u,y,M),u=t.diff,t=t.startIndex,0<u&&d.removeData(t,u,!1),d.JSONData=v,d.configure()):(d=new d,d.chart=this,d.index=F,d.init(v)),F++,N[a].push(d),
e.push(d),k&&k.addDataSet(d,s,h)}else m=h=0,s--;A=p&&p[a]&&p[a].length;if(A>m)for(v=h,A=A-m+h;v<A;v++)k=p[a][v],z.removeItem(k.legendItemId),za.call(k)}if(r>b)for(v=a,A=r-b+a;v<A;v++)for(m=p[v].length,h=0;h<m;h++)k=p[v][h],z.removeItem(k.legendItemId),za.call(k);q.dataSetMap=N;if(this.lineset){a=0;for(b=n.length;a<b;a++)f=n[a],d=FusionCharts.get("component",["dataset","line"]),d=new d,x&&x[a]?(d=x[a],d.index=F,u=d.JSONData,t=u.data.length,u=f.data&&f.data.length||0,t>u&&d.removeData(u,t-u,!1),d.JSONData=
f,d.configure()):(d.chart=this,d.index=F,d.init(f)),G.push(d),e.push(d),F++;n=x&&x.length;if(n>b)for(v=a,A=n-b+a;v<A;v++)k=x[v],z.removeItem(k.legendItemId),za.call(k);q.lineSetMap=G}K?this.config.catLen=C.getCategoryLen():(c.dataset=R,this.setChartMessage())}else this.setChartMessage()},creditLabel:B},m.mscartesian);m("mscombi2d",{friendlyName:"Multi-series Combination Chart",standaloneInit:!0,creditLabel:B,defaultDatasetType:"column",applicableDSList:{line:!0,area:!0,column:!0},_createDatasets:function(){var c=
this.components,a=this.jsonData,b=a.dataset,d=b&&b.length,h,e,g=this.defaultDatasetType,k=this.applicableDSList,l=this.components.legend,m=c.xAxis[0],t,v,u,A,n,q=this.isStacked,p,r,x=[],z={},N=this.config,G=this.config.catLen,F=N.datasetMap||(N.datasetMap={line:[],area:[],column:[],column3d:[],scrollcolumn2d:[]}),B={line:[],area:[],column:[],column3d:[],scrollcolumn2d:[]};b||this.setChartMessage();this.config.categories=a.categories&&a.categories[0].category;h=c.dataset=[];for(a=0;a<d;a++)if(n=b[a],
A=n.parentyaxis||"",v=(v=this.isDual&&"s"===A.toLowerCase()?"line"===this.defaultSecondaryDataset?this.sDefaultDatasetType:ea(n.renderas,this.sDefaultDatasetType):ea(n.renderas,g))&&v.toLowerCase(),k[v]||(v=g),u=FusionCharts.get("component",["dataset",v]))void 0===z[v]?z[v]=0:z[v]++,e="datasetGroup_"+v,A=FusionCharts.register("component",["datasetGroup",v]),(t=c[e])&&x.push(t),A&&!t&&(t=c[e]=new A,t.chart=this,t.init()),A=F[v],(e=A[0])?(t=m.getCategoryLen(),u=G-t,r=e.JSONData,p=r.data&&r.data.length,
r=n.data&&n.data.length||0,p-=r,u=this._getDiff(p,r,u,t),t=u.diff,u=u.startIndex,0<t&&e.removeData(u,t,!1),e.JSONData=n,e.configure(),A.splice(0,1)):(e=new u,e.chart=this,e.index=a,t&&(q?t.addDataSet(e,0,z[v]):t.addDataSet(e,z[v],0)),e.init(n)),B[v].push(e),h.push(e);for(b in F)if(A=F[b],g=A[0]&&A[0].groupManager,d=A.length,k=void 0===z[b]?0:z[b]+1,d)for(q&&g&&g.removeDataSet(0,k,d),c=0;c<d;c++)g&&!q&&g.removeDataSet(k,0,1),l.removeItem(A[c].legendItemId),"column"===A[c].type&&!0===this.is3D?(A[c].visible=
!1,A[c].draw()):za.call(A[c]);N.datasetMap=B;this.config.catLen=m.getCategoryLen()}},m.mscartesian);m("mscombi3d",{standaloneInit:!0,friendlyName:"Multi-series 3D Combination Chart",defaultDatasetType:"column3d",is3D:!0,creditLabel:B,defaultPlotShadow:1,applicableDSList:{column3d:!0,line:!0,area:!0},_createDatasets:m.mscombi2d},m.mscartesian3d);m("mscolumnline3d",{friendlyName:"Multi-series Column and Line Chart",use3dlineshift:1,is3D:!0,creditLabel:B,defaultPlotShadow:1,applicableDSList:{column3d:!0,
line:!0}},m.mscombi3d);m("stackedcolumn2dline",{friendlyName:"Stacked Column and Line Chart",isStacked:!0,stack100percent:0,defaultDatasetType:"column",creditLabel:B,applicableDSList:{line:!0,column:!0}},m.mscombi2d);m("stackedcolumn3dline",{friendlyName:"Stacked 3D Column and Line Chart",isStacked:!0,is3D:!0,use3dlineshift:1,creditLabel:B,stack100percent:0,applicableDSList:{column3d:!0,line:!0}},m.mscombi3d);m("mscombidy2d",{standaloneInit:!0,friendlyName:"Multi-series Dual Y-Axis Combination Chart",
defaultDatasetType:"column",sDefaultDatasetType:"line",_createDatasets:m.mscombi2d,isDual:!0,creditLabel:B,applicableDSList:{column:!0,line:!0,area:!0}},m.msdybasecartesian);m("mscolumn3dlinedy",{standaloneInit:!0,friendlyName:"Multi-series 3D Column and Line Chart",defaultDatasetType:"column3d",sDefaultDatasetType:"line",is3D:!0,isDual:!0,use3dlineshift:1,creditLabel:B,_createDatasets:m.mscombi2d,defaultPlotShadow:1,applicableDSList:{column3d:!0,line:!0}},m.msdybasecartesian3d);m("stackedcolumn3dlinedy",
{standaloneInit:!0,friendlyName:"Stacked 3D Column and Line Chart",isStacked:!0,is3D:!0,isDual:!0,use3dlineshift:1,defaultDatasetType:"column3d",creditLabel:B,sDefaultDatasetType:"line",defaultSecondaryDataset:"line",_createDatasets:m.mscombi2d,applicableDSList:{column3d:!0,line:!0}},m.msdybasecartesian3d);m("msstackedcolumn2dlinedy",{standaloneInit:!0,friendlyName:"Multi-series Dual Y-Axis Stacked Column and Line Chart",isDual:!0,stack100percent:0,isStacked:!0,defaultDatasetType:"column",sDefaultDatasetType:"line",
hasLineSet:!0,creditLabel:B,applicableDSList:{column:!0},lineset:!0,_createDatasets:m.msstackedcolumn2d},m.msdybasecartesian);m("scrollcolumn2d",{standaloneInit:!0,friendlyName:"Scrollable Multi-series Column Chart",tooltipConstraint:"plot",canvasborderthickness:1,creditLabel:B,defaultDatasetType:"scrollcolumn2d",applicableDSList:{scrollcolumn2d:!0},avgScrollPointWidth:40,hasScroll:!0,defaultPlotShadow:1,_manageScrollerPosition:function(){var c=this.config,a;a=this._scrollBar.get;var b=this.components.scrollBar,
d;a=a()[0];b.setConfiguaration(a.conf);a=c.scrollEnabled;d=b.getLogicalSpace();this._allocateSpace({bottom:c.shift=!1===a?0:d.height+b.conf.padding})},_resetViewPortConfig:function(){this.config.viewPortConfig={scaleX:1,scaleY:1,x:0,y:0}},updateManager:function(c){var a=this.config,b=this.config.viewPortConfig,d=b.scaleX,h=this.graphics.datasetGroup,e=this.graphics.datalabelsGroup,g=this.graphics.trackerGroup,k=a.canvasWidth*(d-1)*c,l=this.components.xAxis[0],m=this.graphics.sumLabelsLayer;b.x=k/
d;b="t"+-ua(k)+",0";a.lastScrollPosition=c;h.attr({transform:b});e.attr({transform:b});g.attr({transform:b});m&&m.attr({transform:b});c=l.getAxisConfig("animateAxis");l.setAxisConfig({animateAxis:!1});l.draw();l.setAxisConfig({animateAxis:c})},_createToolBox:function(){var c=this.components,a=this._scrollBar,b=a.get,d=a.add,h,e,g=c.scrollBar;m.mscartesian._createToolBox.call(this);h=c.tb;e=(c.toolBoxAPI||h.getAPIInstances(h.ALIGNMENT_HORIZONTAL)).Scroller;a.clear();d({isHorizontal:!0},{scroll:function(c){return function(){c.updateManager.apply(c,
arguments)}}(this)});a=b()[0];g||(c.scrollBar=(new e(a.conf,h.idCount,h.pId)).attachEventHandlers(a.handler))},_setAxisScale:function(){var c=this.config,a=this.components.xAxis[0].getCategoryLen(),b=this.jsonData,d=c.scrollOptions||(c.scrollOptions={}),h=this.components.dataset,e=h.length,g,k,l=0,m;m=c.canvasWidth;var t=c.scrollToEnd,v=c.lastScrollPosition,b=s(b.chart.numvisibleplot,Ca(c.width/this.avgScrollPointWidth));for(k=0;k<e;k++)g=h[k],"column"===g.type&&l++;this.isStacked&&(l=1);a*=l||1;
2<=b&&b<a?(c.viewPortConfig.scaleX=a/=b,m=m*(a-1)*(void 0!==v?v:t?1:0),c.viewPortConfig.x=m/a,d.vxLength=b/e,c.scrollEnabled=!0):c.scrollEnabled=!1},drawScrollBar:function(){var c=this,a=c.config,b=a.viewPortConfig,d=c.components,h=d.xAxis[0],e=h.config.axisData,g=h.config.axisRange,k=a.scrollOptions||(a.scrollOptions={}),l=g.max,m=g.min,t=k.vxLength,v=d.scrollBar,g=v.node,u=a.scrollToEnd,A=a.lastScrollPosition,n=b.scaleX,q,p,r,x,z;x=void 0!==A?A:u?1:0;b=a.canvasLeft;u=a.canvasTop;A=a.canvasHeight;
q=a.canvasWidth;d=d.canvas.config;p=d.canvasBorderWidth;r=e.showAxisLine?e.axisLineThickness||0:0;z=s(p,e.lineStartExtension);e=s(p,e.lineEndExtension);k.viewPortMin=m;k.viewPortMax=l;n=k.scrollRatio=1/n;t=k.windowedCanvasWidth=h.getAxisPosition(t);h=k.fullCanvasWidth=h.getAxisPosition(l-m)-t;!1!==a.scrollEnabled?(v.draw(b-z,u+A+p+r-2,{width:q+z+e,scrollRatio:n,roundEdges:d.isRoundEdges,fullCanvasWidth:h,windowedCanvasWidth:t,scrollPosition:x}),!g&&function(){var a;la.eve.on("raphael.scroll.start."+
v.node.id,function(b){a=b;I.raiseEvent("scrollstart",{scrollPosition:b},c.chartInstance)});la.eve.on("raphael.scroll.end."+v.node.id,function(b){I.raiseEvent("scrollend",{prevScrollPosition:a,scrollPosition:b},c.chartInstance)})}()):v&&v.node&&v.node.hide()},_drawDataset:function(){this._setClipping();m.mscartesian._drawDataset.call(this)},_setClipping:function(){var c=this.config,a=this.graphics.datasetGroup,b=this.graphics.datalabelsGroup,d=this.graphics.trackerGroup,h=c.viewPortConfig,e=this.graphics.sumLabelsLayer,
g=h.scaleX,k=this.get("config","animationObj"),l=k.duration,m=k.dummyObj,t=k.animObj,k=k.animType,h=h.x,c=c.height,v=this.components.canvas.config.clip["clip-canvas"],v=v&&v.slice(0)||[];this.config.clipSet?(a.animateWith(m,t,{"clip-rect":v},l,k),b.animateWith(m,t,{"clip-rect":v},l,k),d.attr({"clip-rect":v}),v[3]=c,v[1]=0,e&&e.animateWith(m,t,{"clip-rect":v},l,k)):(a.attr({"clip-rect":v}),b.attr({"clip-rect":v}),d.attr({"clip-rect":v}),v[3]=c,v[1]=0,e&&e.attr({"clip-rect":v}));a.attr({transform:"T"+
-(h*g)+",0"});b.attr({transform:"T"+-(h*g)+",0"});d.attr({transform:"T"+-(h*g)+",0"});e&&e.attr({transform:"T"+-(h*g)+",0"});this.config.clipSet=!0},configure:function(){var c=this.jsonData.chart,a;m.mscolumn2d.configure.call(this);a=this.config;a.scrollToEnd=s(c.scrolltoend,0);a.lastScrollPosition=void 0}},m.scrollbase);m("scrollarea2d",{friendlyName:"Scrollable Multi-series Area Chart",tooltipConstraint:"plot",canvasborderthickness:1,creditLabel:B,hasScroll:!0,defaultDatasetType:"scrollarea2d",
applicableDSList:{scrollarea2d:!0},avgScrollPointWidth:75,defaultPlotShadow:0,_setAxisScale:function(){var c=this.config,a=this.components.xAxis[0].getCategoryLen(),b=this.jsonData,d=c.scrollOptions||(c.scrollOptions={}),h;h=c.lastScrollPosition;var e=c.scrollToEnd,g=c.canvasWidth,b=s(b.chart.numvisibleplot,Ca(c.width/this.avgScrollPointWidth));2<=b&&b<a?(c.viewPortConfig.scaleX=a/=b,h=g*(a-1)*(void 0!==h?h:e?1:0),c.viewPortConfig.x=h/a,d.vxLength=b,c.scrollEnabled=!0):c.scrollEnabled=!1}},m.scrollcolumn2d);
m("scrollline2d",{friendlyName:"Scrollable Multi-series Line Chart",tooltipConstraint:"plot",canvasborderthickness:1,defaultDatasetType:"line",creditLabel:B,avgScrollPointWidth:75},m.scrollarea2d);m("scrollstackedcolumn2d",{friendlyName:"Scrollable Stacked Column Chart",canvasborderthickness:1,tooltipConstraint:"plot",avgScrollPointWidth:75,creditLabel:B,isStacked:!0},m.scrollcolumn2d);m("scrollcombi2d",{friendlyName:"Scrollable Combination Chart",tooltipConstraint:"plot",hasScroll:!0,canvasborderthickness:1,
avgScrollPointWidth:40,applicableDSList:{area:!0,line:!0,column:!0},creditLabel:B,_createDatasets:m.mscombi2d},m.scrollcolumn2d);m("scrollcombidy2d",{friendlyName:"Scrollable Dual Y-Axis Combination Chart",tooltipConstraint:"plot",canvasborderthickness:1,avgScrollPointWidth:40,hasScroll:!0,_drawDataset:m.scrollcolumn2d,updateManager:m.scrollcolumn2d,_setAxisScale:m.scrollcolumn2d,_createToolBox:m.scrollcolumn2d,_scrollBar:m.scrollcolumn2d,_manageScrollerPosition:m.scrollcolumn2d,drawScrollBar:m.scrollcolumn2d,
_setClipping:m.scrollcolumn2d,creditLabel:B,configure:m.scrollcolumn2d},m.mscombidy2d);m("scatter",{friendlyName:"Scatter Chart",isXY:!0,standaloneInit:!0,hasLegend:!0,defaultZeroPlaneHighlighted:!1,creditLabel:B,defaultDatasetType:"Scatter",applicableDSList:{Scatter:!0}},m.scatterBase);Ma(W.eventList,{zoomedOut:"FC_ZoomedOut"});m("bubble",{friendlyName:"Bubble Chart",standaloneInit:!0,defaultDatasetType:"bubble",creditLabel:B,applicableDSList:{bubble:!0},getDataLimits:function(){var c=this.components.dataset,
a,b,d,h=-Infinity,e=Infinity;a=0;for(d=c.length;a<d;a++)b=c[a],b=b.getDataLimits(),h=va(h,b.zMax||-Infinity),e=ka(e,b.zMin||Infinity);h=-Infinity===h?0:h;e=Infinity===e?0:e;return{zMax:h,zMin:e}}},m.scatter);la._availableAnimAttrs&&la._availableAnimAttrs.cx&&(la._availableAnimAttrs.innerR=la._availableAnimAttrs.depth=la._availableAnimAttrs.radiusYFactor=la._availableAnimAttrs.start=la._availableAnimAttrs.end=la._availableAnimAttrs.cx);ma.prototype={configure:function(c,a,b,d){var h=this.linkedItems.chart,
e=h.get("components","paper"),h=h.get("graphics","datasetGroup");"object"===typeof c&&(c=c.depth,a=c.hasOnePoint,b=c.use3DLighting,d=c.isDoughnut);this.renderer||(this.renderer=e);this.hasOnePoint=a;this.use3DLighting=b;this.isDoughnut=d;this.depth=c;!this.bottomBorderGroup&&(this.bottomBorderGroup=e.group("bottom-border",h));this.bottomBorderGroup.attr({transform:"t0,"+c});!this.slicingWallsBackGroup&&(this.slicingWallsBackGroup=e.group("slicingWalls-back-Side",h));!this.slicingWallsFrontGroup&&
(this.slicingWallsFrontGroup=e.group("slicingWalls-front-Side",h));!this.topGroup&&(this.topGroup=e.group("top-Side",h));!this.pointElemStore&&(this.pointElemStore=[]);!this.slicingWallsArr&&(this.slicingWallsArr=[]);this.moveCmdArr=["M"];this.lineCmdArr=["L"];this.closeCmdArr=["Z"];this.colorObjs=[]},getArcPath:function(c,a,b,d,h,e,g,k,l,m){return b==h&&d==e?[]:["A",g,k,0,m,l,h,e]},_parseSliceColor:function(c,a,b){var d,h,e,g,k,l,m,t,v,u,n,r,z,G,B;B=3;var x=(d=this.use3DLighting)?ba:R,s=b.radiusYFactor,
L=b.cx,K=b.cy,S=b.r,W=S*s,I=b.innerR||0,da=L+S,M=L-S,w=L+I,C=L-I;a=a||100;b=a/2;x[c]&&x[c][a]?x=x[c][a]:(x[c]||(x[c]={}),x[c][a]||(x[c][a]={}),x=x[c][a],d?(d=N(c,80),h=N(c,75),l=p(c,85),m=p(c,70),t=p(c,40),v=p(c,50),p(c,30),u=p(c,65),N(c,85),e=N(c,69),g=N(c,75),k=N(c,95)):(B=10,d=N(c,90),h=N(c,87),l=p(c,93),m=p(c,87),t=p(c,80),u=v=p(c,85),p(c,80),k=N(c,85),e=N(c,75),g=N(c,80)),n=h+q+l+q+m+q+l+q+h,z=a+q+a+q+a+q+a+q+a,r=h+q+c+q+l+q+c+q+h,G=b+q+b+q+b+q+b+q+b,t=h+q+c+q+t+q+c+q+h,e=g+q+l+q+v+q+l+q+e,g=
"FFFFFF"+q+"FFFFFF"+q+"FFFFFF"+q+"FFFFFF"+q+"FFFFFF",B=0+q+b/B+q+a/B+q+b/B+q+0,x.top=Ba?{FCcolor:{gradientUnits:"userSpaceOnUse",radialGradient:!0,color:u+q+k,alpha:a+q+a,ratio:"0,100"}}:{FCcolor:{gradientUnits:"objectBoundingBox",color:m+q+m+q+l+q+h,alpha:a+q+a+q+a+q+a,angle:-72,ratio:"0,8,15,77"}},x.frontOuter={FCcolor:{gradientUnits:"userSpaceOnUse",y1:0,y2:0,color:e,alpha:z,angle:0,ratio:"0,20,15,15,50"}},x.backOuter={FCcolor:{gradientUnits:"userSpaceOnUse",y1:0,y2:0,color:t,alpha:G,angle:0,ratio:"0,62,8,8,22"}},
x.frontInner={FCcolor:{gradientUnits:"userSpaceOnUse",y1:0,y2:0,color:r,alpha:G,angle:0,ratio:"0,25,5,5,65"}},x.backInner={FCcolor:{gradientUnits:"userSpaceOnUse",y1:0,y2:0,color:n,alpha:z,angle:0,ratio:"0,62,8,8,22"}},x.topBorder={FCcolor:{gradientUnits:"userSpaceOnUse",y1:0,y2:0,color:g,alpha:B,angle:0,ratio:"0,20,15,15,50"}},x.topInnerBorder={FCcolor:{gradientUnits:"userSpaceOnUse",y1:0,y2:0,color:g,alpha:B,angle:0,ratio:"0,50,15,15,20"}},x.bottom=na(F(c,b)),x.startSlice=na(F(d,a)),x.endSlice=
na(F(d,a)));if(x.cx!==L||x.cy!==K||x.rx!==S||x.radiusYFactor!==s||x.innerRx!==I)Ba&&(x.top.FCcolor.cx=L,x.top.FCcolor.cy=K,x.top.FCcolor.r=S,x.top.FCcolor.fx=L-.3*S,x.top.FCcolor.fy=K+1.2*W),x.topBorder.FCcolor.x1=x.backOuter.FCcolor.x1=x.frontOuter.FCcolor.x1=M,x.topBorder.FCcolor.x2=x.backOuter.FCcolor.x2=x.frontOuter.FCcolor.x2=da,x.topInnerBorder.FCcolor.x1=x.backInner.FCcolor.x1=x.frontInner.FCcolor.x1=C,x.topInnerBorder.FCcolor.x2=x.backInner.FCcolor.x2=x.frontInner.FCcolor.x2=w,x.cx=L,x.cy=
K,x.rx=S,x.radiusYFactor=s,x.innerRx=I;return x},rotate:function(a){var b=this.pointElemStore,d=0,g=b.length,h;if(!this.hasOnePoint){for(;d<g;d+=1)h=b[d],h=h._confObject,h.start+=a,h.end+=a,this._setSliceShape(h);this.refreshDrawing()}},removeSlice:function(a){var b=this.pointElemStore,d=a._confObject.elements,g=this.slicingWallsArr,h;h=b.length;var e;for(--h;0<=h;--h)e=b[h],e===a&&b.splice(h,1);h=g.length;for(--h;0<=h;--h)b=g[h],b!==d.startSlice&&b!==d.frontOuter1&&b!==d.frontOuter&&b!==d.backInner&&
b!==d.endSlice||g.splice(h,1);a.hide&&a.hide();this._slicePool||(this._slicePool=[]);this._slicePool.push(a);this.refreshDrawing()},useSliceFromPool:function(){var a=this._slicePool||(this._slicePool=[]),b=this.slicingWallsArr,d=!1;a.length&&(d=a.shift(),this.pointElemStore.push(d),d.show(),a=d._confObject.elements,b.push(a.startSlice,a.frontOuter1,a.frontOuter),a.backInner&&b.push(a.backInner),b.push(a.endSlice));return d},refreshDrawing:function(){var a=function(a,c){return a._conf.index-c._conf.index||
a._conf.cIndex-c._conf.cIndex||a._conf.isStart-c._conf.isStart||a._conf.si-c._conf.si};return function(){var g=this.slicingWallsArr,f=0,k,h=g.length,e,m,n,q,p=this.slicingWallsFrontGroup,t=this.slicingWallsBackGroup;g.sort(a);a:{var v=g[0]&&g[0]._conf.index,u,A;q=v<=b;e=1;for(k=g.length;e<k;e+=1)if(A=g[e]._conf.index,u=A<=b,u!=q||A<v)break a;e=0}for(;f<h;f+=1,e+=1)e===h&&(e=0),k=g[e],q=k._conf.index,q<d?p.appendChild(k):q<=b?(m?k.insertBefore(m):p.appendChild(k),m=k):q<=l?(n?k.insertBefore(n):t.appendChild(k),
n=k):t.appendChild(k)}}(),_setSliceShape:function(a,g){var f=this.getArcPath,k=a.start,h=a.end,e=S(k),m=S(h),q,p,r,t,v,u,A,z,N,G,F,x,B,L,s,K,R,ba=this.isDoughnut,da=a.radiusYFactor,M=a.cx,w=a.cy,C=a.r,y=C*da,Y=C+(Ba?-1:2),X=y+(Ba?-1:2),E=a.innerR||0,Q=E*da,H=this.depth,O=H+w,I=M+C,T=M-C,Z=M+E,ca=M-E,W=w-y,V=["M",ca,W,"L",ca,O+y,"Z"],da=a.elements,ga,aa,U,ha,ea,$="path",ja=(e+m)/2,ka=e>m;p=qa(e);r=fa(e);t=qa(m);v=fa(m);u=M+C*p;A=w+y*r;z=M+Y*p;N=w+X*r;ga=A+H;aa=M+C*t;U=w+y*v;G=M+Y*t;F=w+X*v;ha=U+H;
ba?(x=M+E*p,B=w+Q*r,K=B+H,L=M+E*t,s=w+Q*v,R=s+H,a.startSlice=["M",u,A,"L",u,ga,x,K,x,B,"Z"],a.endSlice=["M",aa,U,"L",aa,ha,L,R,L,s,"Z"]):(a.startSlice=["M",u,A,"L",u,ga,M,O,M,w,"Z"],a.endSlice=["M",aa,U,"L",aa,ha,M,O,M,w,"Z"]);Ba?(q=(e>m?n:0)+m-e,a.clipTopPath=ba?[["M",u,A,"A",C,y,0,q>b?1:0,1,aa,U,"L",L,s,"A",E,Q,0,q>b?1:0,0,x,B,"Z"]]:[["M",u,A,"A",C,y,0,q>b?1:0,1,aa,U,"L",M,w,"Z"]],a.clipOuterFrontPath1=[V],a.clipTopBorderPath=[["M",z,N,"A",Y,X,0,q>b?1:0,1,G,F,"L",aa,U,aa,U+1,"A",C,y,0,q>b?1:0,0,
u,A+1,"L",u,A,"Z"]],k!=h?e>m?e<b?(a.clipOuterFrontPath=[["M",I,w,"A",C,y,0,0,1,aa,U,"v",H,"A",C,y,0,0,0,I,w+H,"Z"]],a.clipOuterFrontPath1=[["M",T,w,"A",C,y,0,0,0,u,A,"v",H,"A",C,y,0,0,1,T,w+H,"Z"]],a.clipOuterBackPath=[["M",I,w,"A",C,y,0,1,0,T,w,"v",H,"A",C,y,0,1,1,I,w+H,"Z"]],ba&&(a.clipInnerBackPath=[["M",Z,w,"A",E,Q,0,1,0,ca,w,"v",H,"A",E,Q,0,1,1,Z,w+H,"Z"]],a.clipInnerFrontPath=[["M",Z,w,"A",E,Q,0,0,1,L,s,"v",H,"A",E,Q,0,0,0,Z,w+H,"Z","M",ca,w,"A",E,Q,0,0,0,x,B,"v",H,"A",E,Q,0,0,1,ca,w+H,"Z"]])):
m>b?(a.clipOuterFrontPath=[["M",I,w,"A",C,y,0,1,1,T,w,"v",H,"A",C,y,0,1,0,I,w+H,"Z"]],a.clipOuterBackPath=[["M",T,w,"A",C,y,0,0,1,aa,U,"v",H,"A",C,y,0,0,0,T,w+H,"Z","M",I,w,"A",C,y,0,0,0,u,A,"v",H,"A",C,y,0,0,1,I,w+H,"Z"]],ba&&(a.clipInnerFrontPath=[["M",Z,w,"A",E,Q,0,1,1,ca,w,"v",H,"A",E,Q,0,1,0,Z,w+H,"Z"]],a.clipInnerBackPath=[["M",ca,w,"A",E,Q,0,0,1,L,s,"v",H,"A",E,Q,0,0,0,ca,w+H,"Z","M",Z,w,"A",E,Q,0,0,0,x,B,"v",H,"A",E,Q,0,0,1,Z,w+H,"Z"]])):(a.clipOuterFrontPath=[["M",I,w,"A",C,y,0,0,1,aa,U,
"v",H,"A",C,y,0,0,0,I,w+H,"Z"]],a.clipOuterBackPath=[["M",u,A,"A",C,y,0,0,1,I,w,"v",H,"A",C,y,0,0,0,u,ga,"Z"]],ba&&(a.clipInnerFrontPath=[["M",Z,w,"A",E,Q,0,0,1,L,s,"v",H,"A",E,Q,0,0,0,Z,w+H,"Z"]],a.clipInnerBackPath=[["M",x,B,"A",E,Q,0,0,1,Z,w,"v",H,"A",E,Q,0,0,0,x,K,"Z"]])):e<b?m>b?(a.clipOuterFrontPath=[["M",u,A,"A",C,y,0,0,1,T,w,"v",H,"A",C,y,0,0,0,u,ga,"Z"]],a.clipOuterBackPath=[["M",T,w,"A",C,y,0,0,1,aa,U,"v",H,"A",C,y,0,0,0,T,w+H,"Z"]],ba&&(a.clipInnerFrontPath=[["M",x,B,"A",E,Q,0,0,1,ca,w,
"v",H,"A",E,Q,0,0,0,x,K,"Z"]],a.clipInnerBackPath=[["M",ca,w,"A",E,Q,0,0,1,L,s,"v",H,"A",E,Q,0,0,0,ca,w+H,"Z"]])):(a.clipOuterFrontPath=[["M",u,A,"A",C,y,0,0,1,aa,U,"v",H,"A",C,y,0,0,0,u,ga,"Z"]],a.clipOuterBackPath=[V],ba&&(a.clipInnerFrontPath=[["M",x,B,"A",E,Q,0,0,1,L,s,"v",H,"A",E,Q,0,0,0,x,K,"Z"]],a.clipInnerBackPath=[V])):(a.clipOuterFrontPath=[V],a.clipOuterBackPath=[["M",u,A,"A",C,y,0,0,1,aa,U,"v",H,"A",C,y,0,0,0,u,ga,"Z"]],ba&&(a.clipInnerFrontPath=[V],a.clipInnerBackPath=[["M",x,B,"A",E,
Q,0,0,1,L,s,"v",H,"A",E,Q,0,0,0,x,K,"Z"]])):a.clipOuterFrontPath=a.clipOuterBackPath=a.clipInnerBackPath=a.clipInnerFrontPath=[V],$="litepath",a.clipBottomBorderPath=a.clipTopPath,a.startSlice=[a.startSlice],a.endSlice=[a.endSlice]):(Y=this.moveCmdArr,X=this.lineCmdArr,p=this.closeCmdArr,H=[M,w],r=[T,w],W=[M,W],t=[I,w],v=[M,w+y],V=[T,O],ea=[I,O],z=[ca,w],N=[Z,w],G=[ca,O],F=[Z,O],a.clipOuterFrontPath1=[],k!=h?(e>m?e<b?(k=f(M,w,u,A,T,w,C,y,1,0),h=f(M,w,T,w,I,w,C,y,1,0),U=f(M,w,I,w,aa,U,C,y,1,0),a.clipOuterBackPath=
Y.concat(r,h,X,ea,f(M,O,I,O,T,O,C,y,0,0),p),a.clipOuterFrontPath1=Y.concat([u,A],k,X,V,f(M,O,T,O,u,ga,C,y,0,0),p),a.clipOuterFrontPath=Y.concat(t,U,X,[aa,ha],f(M,O,aa,ha,I,O,C,y,0,0),p),a.clipTopBorderPath=Y.concat([u,A],k,h,U),ba?(C=f(M,w,L,s,Z,w,E,Q,0,0),y=f(M,w,Z,w,ca,w,E,Q,0,0),B=f(M,w,ca,w,x,B,E,Q,0,0),a.clipInnerBackPath=Y.concat(N,y,X,G,f(M,O,ca,O,Z,O,E,Q,1,0),p),a.clipInnerFrontPath=Y.concat(z,B,X,[x,K],f(M,O,x,K,ca,O,E,Q,1,0),p,Y,[L,s],C,X,F,f(M,O,Z,O,L,R,E,Q,1,0),p),a.clipTopPath=a.clipTopBorderPath.concat(X,
[L,s],C,y,B,p),a.clipTopBorderPath=a.clipTopBorderPath.concat(Y,[L,s],C,y,B)):a.clipTopPath=a.clipTopBorderPath.concat(X,H,p)):m>b?(k=f(M,w,u,A,I,w,C,y,1,0),h=f(M,w,I,w,T,w,C,y,1,0),U=f(M,w,T,w,aa,U,C,y,1,0),a.clipOuterFrontPath=Y.concat(t,h,X,V,f(M,O,T,O,I,O,C,y,0,0),p),a.clipOuterBackPath=Y.concat([u,A],k,X,ea,f(M,O,I,O,u,ga,C,y,0,0),p,Y,r,U,X,[aa,ha],f(M,O,aa,ha,T,O,C,y,0,0),p),a.clipTopBorderPath=Y.concat([u,A],k,h,U),ba?(C=f(M,w,L,s,ca,w,E,Q,0,0),y=f(M,w,ca,w,Z,w,E,Q,0,0),B=f(M,w,Z,w,x,B,E,Q,
0,0),a.clipInnerFrontPath=Y.concat(z,y,X,F,f(M,O,Z,O,ca,O,E,Q,1,0),p),a.clipInnerBackPath=Y.concat(N,B,X,[x,K],f(M,O,x,K,Z,O,E,Q,1,0),p,Y,[L,s],C,X,G,f(M,O,ca,O,L,R,E,Q,1,0),p),a.clipTopPath=a.clipTopBorderPath.concat(X,[L,s],C,y,B,p),a.clipTopBorderPath=a.clipTopBorderPath.concat(Y,[L,s],C,y,B)):a.clipTopPath=a.clipTopBorderPath.concat(X,H,p)):(k=f(M,w,u,A,I,w,C,y,1,0),h=f(M,w,I,w,aa,U,C,y,1,0),a.clipOuterFrontPath=Y.concat(t,h,X,[aa,ha],f(M,O,aa,ha,I,O,C,y,0,0),p),a.clipOuterBackPath=Y.concat([u,
A],k,X,ea,f(M,O,I,O,u,ga,C,y,0,0),p),a.clipTopBorderPath=Y.concat([u,A],k,h),ba?(C=f(M,w,L,s,Z,w,E,Q,0,0),y=f(M,w,Z,w,x,B,E,Q,0,0),a.clipInnerFrontPath=Y.concat([L,s],C,X,F,f(M,O,Z,O,L,R,E,Q,1,0),p),a.clipInnerBackPath=Y.concat(N,y,X,[x,K],f(M,O,x,K,Z,O,E,Q,1,0),p),a.clipTopPath=a.clipTopBorderPath.concat(X,[L,s],C,y,p),a.clipTopBorderPath=a.clipTopBorderPath.concat(Y,[L,s],C,y)):a.clipTopPath=a.clipTopBorderPath.concat(X,H,p)):e<b?m>b?(k=f(M,w,u,A,T,w,C,y,1,0),h=f(M,w,T,w,aa,U,C,y,1,0),a.clipOuterBackPath=
Y.concat(r,h,X,[aa,ha],f(M,O,aa,ha,T,O,C,y,0,0),p),a.clipOuterFrontPath=Y.concat([u,A],k,X,V,f(M,O,T,O,u,ga,C,y,0,0),p),a.clipTopBorderPath=Y.concat([u,A],k,h),ba?(C=f(M,w,L,s,ca,w,E,Q,0,0),y=f(M,w,ca,w,x,B,E,Q,0,0),a.clipInnerBackPath=Y.concat([L,s],C,X,G,f(M,O,ca,O,L,R,E,Q,1,0),p),a.clipInnerFrontPath=Y.concat(z,y,X,[x,K],f(M,O,x,K,ca,O,E,Q,1,0),p),a.clipTopPath=a.clipTopBorderPath.concat(X,[L,s],C,y,p),a.clipTopBorderPath=a.clipTopBorderPath.concat(Y,[L,s],C,y)):a.clipTopPath=a.clipTopBorderPath.concat(X,
H,p)):(k=f(M,w,u,A,aa,U,C,y,1,0),a.clipOuterBackPath=Y.concat([u,A]),a.clipTopBorderPath=a.clipOuterBackPath.concat(k),a.clipOuterFrontPath=a.clipTopBorderPath.concat(X,[aa,ha],f(M,O,aa,ha,u,ga,C,y,0,0),p),ba?(C=f(M,w,L,s,x,B,E,Q,0,0),a.clipInnerBackPath=Y.concat([L,s]),a.clipTopPath=a.clipTopBorderPath.concat(X,[L,s],C,p),a.clipTopBorderPath=a.clipTopBorderPath.concat(Y,[L,s],C),a.clipInnerFrontPath=a.clipInnerBackPath.concat(C,X,[x,K],f(M,O,x,K,L,R,E,Q,1,0),p)):a.clipTopPath=a.clipTopBorderPath.concat(X,
H,p)):(k=f(M,w,u,A,aa,U,C,y,1,0),a.clipOuterFrontPath=Y.concat([u,A]),a.clipTopBorderPath=a.clipOuterFrontPath.concat(k),a.clipOuterBackPath=a.clipTopBorderPath.concat(X,[aa,ha],f(M,O,aa,ha,u,ga,C,y,0,0),p),ba?(C=f(M,w,L,s,x,B,E,Q,0,0),a.clipInnerFrontPath=Y.concat([L,s]),a.clipTopPath=a.clipTopBorderPath.concat(X,[L,s],C,p),a.clipTopBorderPath=a.clipTopBorderPath.concat(a.clipInnerFrontPath,C),a.clipInnerBackPath=a.clipInnerFrontPath.concat(C,X,[x,K],f(M,O,x,K,L,R,E,Q,1,0),p)):a.clipTopPath=a.clipTopBorderPath.concat(X,
H,p)),k=Y.concat(r,X,t),C=Y.concat(W,X,v),a.clipTopPath=a.clipTopPath.concat(k,C),a.clipOuterFrontPath=a.clipOuterFrontPath.concat(k),a.clipOuterFrontPath1=a.clipOuterFrontPath1.concat(k),a.clipOuterBackPath=a.clipOuterBackPath.concat(k),ba&&(C=Y.concat(z,X,N),a.clipInnerFrontPath=a.clipInnerFrontPath.concat(C),a.clipInnerBackPath=a.clipInnerBackPath.concat(C))):(a.clipTopPath=a.clipOuterFrontPath=a.clipOuterBackPath=[],ba&&(a.clipInnerFrontPath=a.clipInnerBackPath=[])),a.clipBottomBorderPath=a.clipTopBorderPath);
g||(da.startSlice._conf.index=e,da.endSlice._conf.index=m,da.backOuter._conf.index=x=ka&&(e<=l||m>l)||e<=l&&m>l?l:e>b?e:m,da.frontOuter._conf.index=f=m<=d?m:e>m||e<=d?d:e,da.frontOuter1._conf.index=e,da.frontOuter1._conf.cIndex=b,e>m?(da.backOuter._conf.cIndex=e<l?l:n,da.startSlice._conf.cIndex=e<b?(e+b)/2:(e+n)/2,da.endSlice._conf.cIndex=da.frontOuter._conf.cIndex=0):da.backOuter._conf.cIndex=da.startSlice._conf.cIndex=da.endSlice._conf.cIndex=da.frontOuter._conf.cIndex=ja,q>b?da.frontOuter1.show().attr($,
a.clipOuterFrontPath1):da.frontOuter1.hide(),a.thisElement._attr($,a.clipTopPath),da.bottom.attr($,a.clipTopPath),da.bottomBorder.attr($,a.clipBottomBorderPath),da.topBorder&&da.topBorder.attr($,a.clipTopBorderPath),da.frontOuter.attr($,a.clipOuterFrontPath),da.backOuter.attr($,a.clipOuterBackPath),ba&&(da.backInner.attr($,a.clipInnerBackPath),da.frontInner.attr($,a.clipInnerFrontPath),da.backInner._conf.index=x,da.frontInner._conf.index=f,e>m?(da.backInner._conf.cIndex=n,da.frontInner._conf.cIndex=
0):da.backInner._conf.cIndex=da.frontInner._conf.cIndex=ja),this.hasOnePoint?(da.startSlice.hide(),da.endSlice.hide()):(da.startSlice.attr($,a.startSlice).show(),da.endSlice.attr($,a.endSlice).show()))},_setSliceCosmetics:function(a){var b=a.thisElement,d=a.showBorderEffect,g=a.elements,h=F(a.borderColor,s(a.borderAlpha,a.alpha)),e=a.borderWidth,k;a.color&&(a=this._parseSliceColor(a.color,a.alpha,a),Ba?(k={fill:na(a.top),"stroke-width":0},d?g.topBorder.show().attr({fill:na(a.topBorder),"stroke-width":0}):
(g.topBorder.hide(),k.stroke=h,k["stroke-width"]=e),b._attr(k)):(b._attr({fill:na(a.top),"stroke-width":0}),g.topBorder.attr({stroke:h,"stroke-width":e})),g.bottom.attr({fill:na(a.bottom)}),g.bottomBorder.attr({stroke:h,"stroke-width":e}),g.frontOuter.attr({fill:na(a.frontOuter)}),g.frontOuter1.attr({fill:na(a.frontOuter)}),g.backOuter.attr({fill:na(a.backOuter)}),g.startSlice.attr({fill:na(a.startSlice),stroke:h,"stroke-width":e}),g.endSlice.attr({fill:na(a.endSlice),stroke:h,"stroke-width":e}),
this.isDoughnut&&(g.frontInner.attr({fill:na(a.frontInner)}),g.backInner.attr({fill:na(a.backInner)})))},createSlice:function(){var a={stroke:!0,strokeWidth:!0,"stroke-width":!0,dashstyle:!0,"stroke-dasharray":!0,translateX:!0,translateY:!0,"stroke-opacity":!0,fill:!0,opacity:!0,transform:!0,ishot:!0,cursor:!0,start:!0,end:!0,color:!0,alpha:!0,borderColor:!0,borderAlpha:!0,borderWidth:!0,rolloverProps:!0,showBorderEffect:!0,positionIndex:!0,cx:!0,cy:!0,radiusYFactor:!0,r:!0,innerR:!0},b=function(b,
d){var e,f,h=this,g=h._confObject,k={},l=g.elements,m,n,p,q=g.Pie3DManager,r;"string"===typeof b&&void 0!==d&&null!==d&&(e=b,b={},b[e]=d);if(b&&"string"!==typeof b){for(e in b)if(f=b[e],a[e])if(g[e]=f,"ishot"===e||"cursor"===e||"transform"===e)k[e]=f,r=!0;else if("start"===e||"end"===e||"cx"===e||"cy"===e||"radiusYFactor"===e||"r"===e||"innerR"===e)n=!0;else{if("color"===e||"alpha"===e||"borderColor"===e||"borderAlpha"===e||"borderWidth"===e)p=!0}else h._attr(e,f);n&&(q._setSliceShape(g),q.refreshDrawing());
(p||n)&&q._setSliceCosmetics(g);if(r){for(m in l)l[m].attr(k);h._attr(k)}}else h=a[b]?g[b]:h._attr(b);return h},d=function(a,b){var c=this._confObject.elements,d;for(d in c)c[d].on(a,b);return this._on(a,b)},g=function(a,b,c){var d,e=this._confObject.elements,f=-1<Ea.navigator.userAgent.toLowerCase().indexOf("android");for(d in e)f?"topBorder"!==d&&"frontOuter"!==d&&"startSlice"!==d&&"endSlice"!==d||e[d].drag(a,b,c):e[d].drag(a,b,c);return this._drag(a,b,c)},h=function(){var a=this._confObject.elements,
b;for(b in a)a[b].hide();return this._hide()},e=function(){var a=this._confObject.elements,b;for(b in a)a[b].show();return this._show()},k=function(){var a=this._confObject,b=a.elements,c;for(c in b)b[c].destroy();Ba&&(a.clipTop.destroy(),a.clipOuterFront.destroy(),a.clipOuterBack.destroy(),a.clipOuterFront1&&a.clipOuterFront1.destroy(),a.clipInnerFront&&a.clipInnerFront.destroy(),a.clipInnerBack&&a.clipInnerBack.destroy());return this._destroy()},l=function(a){var b=this._confObject.elements,c;for(c in b)b[c].tooltip(a);
return this._tooltip(a)},m=function(a,b){var c=this._confObject.elements,d;if(void 0===b)return this._data(a);for(d in c)c[d].data(a,b);return this._data(a,b)},n=0;return function(){var a=this.renderer,c,p={elements:{},Pie3DManager:this},q=this.slicingWallsArr,r=p.elements,z=Ba?"litepath":"path";c=a[z](this.topGroup);c._confObject=p;p.thisElement=c;c._destroy=c.destroy;c.destroy=k;c._show=c.show;c.show=e;c._hide=c.hide;c.hide=h;c._on=c.on;c.on=d;c._drag=c.drag;c.drag=g;c._attr=c.attr;c.attr=b;c._tooltip=
c.tooltip;c.tooltip=l;c._data=c.data;c.data=m;this.pointElemStore.push(c);r.topBorder=a[z](this.topGroup);r.bottom=a[z](this.bottomBorderGroup).attr({"stroke-width":0});r.bottomBorder=a[z](this.bottomBorderGroup);r.frontOuter=a[z](this.slicingWallsFrontGroup).attr({"stroke-width":0});r.backOuter=a[z](this.slicingWallsFrontGroup).attr({"stroke-width":0});r.startSlice=a[z](this.slicingWallsFrontGroup);r.endSlice=a[z](this.slicingWallsFrontGroup);r.frontOuter1=a[z](this.slicingWallsFrontGroup).attr({"stroke-width":0});
r.frontOuter._conf={si:n,isStart:.5};r.frontOuter1._conf={si:n,isStart:.5};r.startSlice._conf={si:n,isStart:0};r.endSlice._conf={si:n,isStart:1};r.backOuter._conf={si:n,isStart:.4};q.push(r.startSlice,r.frontOuter1,r.frontOuter,r.backOuter,r.endSlice);this.isDoughnut&&(r.frontInner=a[z](this.slicingWallsFrontGroup).attr({"stroke-width":0}),r.backInner=a[z](this.slicingWallsFrontGroup).attr({"stroke-width":0}),r.backInner._conf={si:n,isStart:.5},r.frontInner._conf={si:n,isStart:.4},q.push(r.frontInner,
r.backInner));n+=1;return c}}()};ma.prototype.constructor=ma},[3,2,2,"sr4"]]);
FusionCharts.register("module",["private","modules.renderer.js-zoomline",function(){var pa=this,S=pa.hcLib,Ka=S.hashify,ma=pa.window,I=ma.document,W=ma.Image,La=ma.MouseEvent,Ea=/msie/i.test(ma.navigator.userAgent)&&!ma.opera,ja=S.chartAPI,la=S.extend2,Ia=S.addEvent,ea=S.pluck,s=S.pluckNumber,Ta=S.getFirstColor,Ma=S.graphics.convertColor,na=S.bindSelectionEvent,Ba=S.parseUnsafeString,Ua=S.componentDispose,ra=S.Raphael,Ga=S.toRaphaelColor,Fa=S.hasTouch,Na=S.plotEventHandler,za=S.getMouseCoordinate,
xa=!/fusioncharts\.com$/i.test(ma.location.hostname),sa="rgba(192,192,192,"+(Ea?.002:1E-6)+")",fa=ma.Math,qa=fa.ceil,Ja=fa.floor,ua=fa.round,ka=fa.max,va=fa.min,wa=fa.cos,ya=fa.sin,Aa=ma.parseFloat,Ca=ma.parseInt,ta;la(S.eventList,{zoomed:"FC_Zoomed",pinned:"FC_Pinned",resetzoomchart:"FC_ResetZoomChart"});ja("zoomline",{standaloneInit:!0,canvasborderthickness:1,defaultDatasetType:"zoomline",applicableDSList:{zoomline:!0},friendlyName:"Zoomable and Panable Multi-series Line Chart",creditLabel:xa,_drawAxis:function(){var a=
this.components.yAxis||[],b,d;b=0;for(d=a.length;b<d;b++)a[b].draw()},_setCategories:function(){var a=this.config,b=this.jsonData,d=this.components.xAxis,n,l,k;l=a.cdmchar;var g=b.categories&&b.categories[0].category||[];if((a.cdm||"string"===typeof g)&&g.split){a=g.split(l);n=[];l=0;for(k=a.length;l<k;l+=1)n.push({label:a[l]});this.config.categories=b.categories[0].category=n}d[0].setAxisPadding(0,0);d[0].setCategory(n||g)},_createDatasets:function(){var a,b,d,n,l,k,g,N,p;l={};var s=this.config;
a=this.components;N=this.jsonData;var G=N.dataset,z=G&&G.length,m=s.cdmchar,q=s.cdm,r=this.defaultDatasetType,K=this.applicableDSList,s=this.components.legend.components.items||[];N=N.categories&&N.categories[0].category;G&&N||this.setChartMessage();this.config.categories=N;N=a.dataset||(a.dataset=[]);p=N.length;for(a=0;a<z;a++){g=G[a];if(q&&g.data&&g.data.split){k=g.data.split(m);n=[];b=0;for(d=k.length;b<d;b++)n.push({value:k[b]});g.data=n}b=g.parentyaxis||"";b=(b=this.isDual&&"s"===b.toLowerCase()?
ea(g.renderas,this.sDefaultDatasetType):ea(g.renderas,r))&&b.toLowerCase();K[b]||(b=r);if(d=FusionCharts.get("component",["dataset",b]))void 0===l[b]?l[b]=0:l[b]++,(b=N[a])?(d=(b.JSONData.data||[]).length,n=(g.data||[]).length,d>n&&b.removeData(n,d-n,!1),N[a].JSONData=g,N[a].configure(),N[a]._deleteGridImages&&N[a]._deleteGridImages()):(b=new d,N.push(b),b.chart=this,b.index=a,b.init(g))}if(p>z){l=p-z;b=a;for(z=l+a;b<z;b++)Ua.call(N[b]);N.splice(a,l);s.splice(a,l)}},isWithinCanvas:function(a,b){var d=
S.getMouseCoordinate(b.get("linkedItems","container"),a),n=d.chartX,l=d.chartY,k=b.get("config"),g=k.canvasLeft,N=k.canvasTop,p=k.canvasLeft+k.canvasWidth,k=k.canvasHeight+k.canvasTop;d.insideCanvas=!1;d.originalEvent=a;n>g&&n<p&&l>N&&l<k&&(d.insideCanvas=!0);return d},highlightPoint:function(a,b,d,n,l,k){var g=this,N=g.config,p=g.components,s=g.graphics,G=p.paper,z=s.tracker,m=(p=p.dataset[l])&&p.config;l=p&&m.zoomedRadius||0;var q=p&&m.hoverCosmetics,p=q&&q.fill,m=q&&q.borderColor,q=q&&q.borderThickness,
r={},r=function(a){S.plotEventHandler.call(this,g,a)},K=function(a){S.plotEventHandler.call(this,g,a,"dataplotRollover")},B=function(a){S.plotEventHandler.call(this,g,a,"dataplotRollout")};z||(z=s.tracker=G.circle(0,0,0,s.trackerGroup).attr({"clip-rect":N.canvasLeft+","+N.canvasTop+","+N.canvasWidth+","+N.canvasHeight}).click(r).trackTooltip(!0).hover(K,B));n&&z.data("eventArgs",{x:n.x,y:n.y,tooltip:n.tooltip,link:n.link});N.lastHoveredPoint=n;r=Number(a)?{r:l,fill:p,stroke:m,"stroke-width":q}:{r:l,
fill:sa,stroke:sa,"stroke-width":0};z.attr(r).tooltip(k).transform("t"+(b+N.canvasLeft)+","+(d+N.canvasTop));n&&g.fireMouseEvent("mouseover",z&&z.node,N.lastMouseEvent)},fireMouseEvent:function(a,b,d){var n;b&&a&&(d||(d={}),d.originalEvent&&(d=d.originalEvent),d.touches&&(d=d.touches[0]),b.dispatchEvent?(La?n=new La(a,{bubbles:!!d.bubbles,cancelable:!!d.cancelable,clientX:d.clientX||d.pageX&&d.pageX-I.body.scrollLeft-I.documentElement.scrollLeft||0,clientY:d.clientY||d.pageY&&d.pageY-I.body.scrollTop-
I.documentElement.scrollTop||0,screenX:d.screenX||0,screenY:d.screenY||0,pageX:d.pageX||0,pageY:d.pageY||0}):I.createEvent&&(n=I.createEvent("HTMLEvents"),n.initEvent(a,!!d.bubbles,!!d.cancelable)),n.eventName=a,n&&b.dispatchEvent(n)):I.createEventObject&&b.fireEvent&&(n=I.createEventObject(),n.eventType=a,n.eventName=a,b.fireEvent("on"+a,n)))},configure:function(){var a,b=this.jsonData.chart||{},d=this.components.colorManager,n=d.getColor("canvasBorderColor"),l;b.animation=0;b.showvalues=0;ja.msline.configure.call(this);
l=this.config;a=l.style;la(l,{useRoundEdges:s(b.useroundedges,0),animation:!1,zoomType:"x",canvasPadding:s(b.canvaspadding,0),scrollColor:Ta(ea(b.scrollcolor,d.getColor("altHGridColor"))),scrollShowButtons:!!s(b.scrollshowbuttons,1),scrollHeight:s(b.scrollheight,16)||16,scrollBarFlat:s(b.flatscrollbars,0),allowPinMode:s(b.allowpinmode,1),skipOverlapPoints:s(b.skipoverlappoints,1),showToolBarButtonTooltext:s(b.showtoolbarbuttontooltext,1),btnResetChartTooltext:ea(b.btnresetcharttooltext,"Reset Chart"),
btnZoomOutTooltext:ea(b.btnzoomouttooltext,"Zoom out one level"),btnSwitchToZoomModeTooltext:ea(b.btnswitchtozoommodetooltext,"<strong>Switch to Zoom Mode</strong><br/>Select a subset of data to zoom into it for detailed view"),btnSwitchToPinModeTooltext:ea(b.btnswitchtopinmodetooltext,"<strong>Switch to Pin Mode</strong><br/>Select a subset of data and compare with the rest of the view"),pinPaneFill:Ma(ea(b.pinpanebgcolor,n),s(b.pinpanebgalpha,15)),zoomPaneFill:Ma(ea(b.zoompanebgcolor,"#b9d5f1"),
s(b.zoompanebgalpha,30)),zoomPaneStroke:Ma(ea(b.zoompanebordercolor,"#3399ff"),s(b.zoompaneborderalpha,80)),showPeakData:s(b.showpeakdata,0),maxPeakDataLimit:s(b.maxpeakdatalimit,b.maxpeaklimit,null),minPeakDataLimit:s(b.minpeakdatalimit,b.minpeaklimit,null),crossline:{enabled:s(b.showcrossline,1),line:{"stroke-width":s(b.crosslinethickness,1),stroke:Ta(ea(b.crosslinecolor,"#000000")),"stroke-opacity":s(b.crosslinealpha,20)/100},labelEnabled:s(b.showcrosslinelabel,b.showcrossline,1),labelstyle:{fontSize:Aa(b.crosslinelabelsize)?
Aa(b.crosslinelabelsize)+"px":a.outCanfontSize,fontFamily:ea(b.crosslinelabelfont,a.outCanfontFamily)},valueEnabled:s(b.showcrosslinevalues,b.showcrossline,1),valuestyle:{fontSize:Aa(b.crosslinevaluesize)?Aa(b.crosslinevaluesize)+"px":a.inCanfontSize,fontFamily:ea(b.crosslinevaluefont,a.inCanvasStyle.fontFamily)}},useCrossline:s(b.usecrossline,1),tooltipSepChar:ea(b.tooltipsepchar,", "),showTerminalValidData:s(b.showterminalvaliddata,0),cdmchar:ea(b.dataseparator,"|"),cdm:s(b.compactdatamode,0)})},
getValuePixel:function(a){var b=this.config.viewPortConfig;return b.ddsi+Ja(a/b.ppp)},__toolbar:function(){var a,b,d,n,l=this,k=l.components,g=k.tb=new (FusionCharts.register("component",["toolbox","toolbox"])),N=g.getDefaultConfiguration(),p,F;g.init({iAPI:{chart:l},graphics:l.graphics,chart:l,components:k});a=k.toolBoxAPI||g.getAPIInstances(g.ALIGNMENT_HORIZONTAL);b=a.SymbolStore;d=a.ComponentGroup;n=a.Toolbar;p=a.Symbol;F=a.Scroller;g.graphics={};return{reInit:function(){g.init({iAPI:{chart:l},
graphics:l.graphics,chart:l,components:k})},addSymbol:function(a,b,d,g){a=new p(a);d&&g.setConfiguaration({buttons:la(la({},N),d)});b.tooltext=d.tooltip;b&&a.attachEventHandlers(b);g.addSymbol(a);return a},addScroll:function(a,b){var d=new F(a);b&&d.attachEventHandlers(b);return d},addComponentGroup:function(a,b){var g;g=new d;g.setConfiguaration({group:{fill:b?b.fill:Ma("EBEBEB",0),borderThickness:b?s(b.borderThickness,0):0}});return g},addToolBox:function(a){var b,d=new n;for(b=0;b<a.length;b+=
1)d.addComponent(a[b]);return d},setDrawingArea:function(a,b){a.drawingArea=b;return a},draw:function(a){var b,d,g;for(b=0;b<a.length;b+=1)d=a[b],g=d.drawingArea,d.draw(g.x,g.y)},registerSymbol:function(a,d){b.register(a,d)},getLogicalSpace:function(a){return a.getLogicalSpace()},getNode:function(a){return a.node}}},__preDraw:function(){var a,b,d,n,l,k,g,N,p,F,G=this,z=G.components,m=z.paper,q=G.graphics;b=q.imageContainer;var r=G.config,K=r.canvasLeft,B=r.canvasWidth;a=G.jsonData.chart;var ba=r.cdm;
d=z.xAxis[0];var R=r.viewPortConfig,c=G.components.canvas.config,D=ka(c.canvasPadding,c.canvasPaddingLeft,c.canvasPaddingRight);F=z.yAxis[0];N=q.datasetGroup;var c=r.canvasHeight,f=r.canvasTop,I=G.jsonData.chart,I=r.borderWidth||(r.borderWidth=s(I.showborder,1)?s(I.borderthickness,1):0),h=r.allowPinMode,e=r.crossline,R=d.getCategoryLen(),J=Ca(s(a.displaystartindex,1),10)-1,S=Ca(s(a.displayendindex,R||2),10)-1,W=0,P=z.dataset,t=P.length,z=q.crossline;r.updateAnimDuration=500;b.transform("t"+K+","+
f);b.attr({"clip-rect":K+","+f+","+B+","+c});r.status="zoom";r.maxZoomLimit=s(a.maxzoomlimit,1E3);r.viewPortHistory=[];1>(b=s(a.pixelsperpoint,15))&&(b=1);(d=s(a.pixelsperlabel,a.xaxisminlabelwidth,d.getAxisData("labels").rotation?20:60))<b&&(d=b);(0>J||J>=(R-1||1))&&(J=0);(S<=J||S>(R-1||1))&&(S=R-1||1);R=r.viewPortConfig=la(r.viewPortConfig,{amrd:s(a.anchorminrenderdistance,20),nvl:s(a.numvisiblelabels,0),cdm:ba,oppp:b,oppl:d,dsi:J,dei:S,vdl:S-J,clen:R,offset:0,step:1,llen:0,alen:0,ddsi:J,ddei:S,
ppc:0});if(R.clen){for(;t--;)a=P[t].config,W=ka(W,a.drawAnchors&&(a.anchorRadius||0)+(Number(a.anchorBorderThickness)||0)||0);r.overFlowingMarkerWidth=W;D=r.canvasPadding=ka(W,D);r._prezoomed=R.dei-R.dsi<R.clen-1;n=r._visw=r.canvasWidth-2*D;l=r._visx=r.canvasLeft+D;r._visout=-(r.height+c+1E3);r._ypvr=F&&F.getPVR()||0;a=r._yminValue=F.getLimit().min;k=r._ymin=F.getPixel(a);F=N.attr("clip-rect",[l-W,f,n+2*W,c]);q.scroll||(q.scroll=m.group("scroll").insertAfter(q.datasetGroup));h&&(N=ra.crispBound(0,
f-k,0,c,I),g=r["clip-pinrect"]=[N.x,f,N.width,N.height],p=(q.zoompin=m.group("zoompin")).insertBefore(F).transform(r._pingrouptransform=["T",l,k]).hide(),q.pinrect=m.rect(0,f-k,n,c,p).attr({"stroke-width":0,stroke:"none",fill:r.pinPaneFill,"shape-rendering":"crisp",ishot:!0}),q.pintracker=m.rect(q.trackerGroup).attr({transform:p.transform(),x:0,y:f-k,width:0,height:c,stroke:"none",fill:sa,ishot:!0,cursor:ra.svg&&"ew-resize"||"e-resize"}).hide().drag(function(a){var b=l+a+this.__pindragdelta,c=this.__pinboundleft,
d=this.__pinboundright,e=this.data("cliprect").slice(0);b<c?b=c:b>d&&(b=d);p.transform(["T",b,k]);q.pintracker.transform(p.transform());ra.svg||(e[0]=e[0]+b-l-this.__pindragdelta,p.attr("clip-rect",e));this.__pindragoffset=a},function(){this.__pinboundleft=0-g[0]+l+K;this.__pinboundright=this.__pinboundleft+n-g[2];this.data("cliprect",p.attr("clip-rect"));p._.clipispath=!0},function(){p._.clipispath=!1;this.__pindragdelta=this.__pindragoffset;delete this.__pindragoffset;delete this.__pinboundleft;
delete this.__pinboundright}));I++;N=ra.crispBound(K-I,f+c+I,B+I+I,r.scrollHeight,I);I--;na(G,{attr:{stroke:r.zoomPaneStroke,fill:r.zoomPaneFill,strokeWidth:0},selectionStart:function(){},selectionEnd:function(a){var b=a.selectionLeft-K;a=b+a.selectionWidth;q.crossline&&q.crossline.hide();G[r.viewPortConfig.pinned?"pinRangePixels":"zoomRangePixels"](b,a)}});e&&0!==e.enabled&&1===r.useCrossline?(z||(z=q.crossline=new ta),z.configure(G,e)):z&&z.hide()}},resetZoom:function(){var a=this.config.viewPortHistory,
b=a[0];if(!a.length)return!1;a.length=0;this.zoomTo(b.dsi,b.dei,b)&&pa.raiseEvent("zoomReset",this._zoomargs,this.chartInstance,[this.chartInstance.id]);return!0},eiMethods:{zoomOut:function(){var a;if(a=this.apiInstance)return a.zoomOut&&a.zoomOut()},zoomTo:function(a,b){var d;if(d=this.apiInstance)return d.zoomRange&&d.zoomRange(a,b)},resetChart:function(){var a;if(a=this.apiInstance)a.pinRangePixels&&a.pinRangePixels(),a.resetZoom&&a.resetZoom()},setZoomMode:function(a){var b;(b=this.apiInstance)&&
b.activatePin&&b.activatePin(!a)},getViewStartIndex:function(){var a;if(this.apiInstance&&(a=this.apiInstance.config.viewPortConfig))return a.ddsi},getViewEndIndex:function(){var a,b;if(this.apiInstance&&(a=this.apiInstance.config.viewPortConfig))return b=a.ddei-1,(b>=a.clen?a.clen:b)-1}},zoomOut:function(){var a,b,d=this.config;b=d.viewPortHistory;var n,l,k;a=b.pop();b=b[0]||d.viewPortConfig;a?(n=a.dsi,l=a.dei):d._prezoomed&&(n=0,l=b.clen-1);(k=this.zoomTo(n,l,a))&&pa.raiseEvent("zoomedout",k,this.chartInstance);
return!0},zoomRangePixels:function(a,b){var d=this.config,n=d.viewPortHistory,d=d.viewPortConfig,l=d.ppp,k=d.ddsi,g;n.push(d);(g=this.zoomTo(k+Ja(a/l),k+Ja(b/l)))?pa.raiseEvent("zoomedin",g,this.chartInstance):n.pop()},zoomRange:function(a,b){var d,n,l=this.config,k=l.viewPortConfig;n=this.components.xAxis[0];var g=l.viewPortHistory,s;g.push(k);d=n.getPixel(a);n=n.getPixel(b);k.x=d;k.scaleX=l.canvasWidth/(d-n);(s=this.zoomTo(+a,+b))?pa.raiseEvent("zoomedin",s,this.chartInstance):g.pop()},zoomTo:function(a,
b,d){var n,l;n=this.config;var k=this.components,g=n.viewPortConfig,s=n.canvasHeight;l=n.canvasLeft;var p=n.canvasTop,F=n.canvasBottom,G=n.viewPortHistory,z=g.clen,m=this.components.xAxis[0];0>a&&(a=0);a>=z-1&&(a=z-1);b<=a&&(b=a+1);b>z-1&&(b=z-1);if(a===b||a===g.dsi&&b===g.dei)return!1;this.pinRangePixels();g=la({},g);g.dsi=a;g.dei=b;g=n.viewPortConfig=g;d?this.updateVisual(d.x,d.y,d.scaleX,d.scaleY):(d=m.getPixel(a),n=m.getPixel(b),l=this.getOriginalPositions(d-l,p,n-l,F-p),this.zoomSelection(l[0],
0,l[2],s));k.scrollBar.node.attr({"scroll-ratio":g.vdl/(z-!!z),"scroll-position":[g.dsi/(z-g.vdl-1),!0]});k={level:G.length+1,startIndex:a,startLabel:m.getLabel(a).oriLabel,endIndex:b,endLabel:m.getLabel(b).oriLabel};pa.raiseEvent("zoomed",k,this.chartInstance,[this.chartInstance.id,a,b,k.startLabel,k.endLabel,k.level]);return k},activatePin:function(a){var b=this.config.viewPortConfig,d=this.components.tb.graphics.pinButton;if(b.pinned^(a=!!a))return a||this.pinRangePixels(),pa.raiseEvent("zoomModeChanged",
{pinModeActive:a},this.chartInstance,[]),this.updateButtonVisual(d.node,a?"pressed":"enable"),b.pinned=a},updateButtonVisual:function(a,b){return a.attr({disable:{config:{hover:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3",cursor:"default"},normal:{fill:"#FFFFFF",stroke:"#E3E3E3","stroke-width":1,cursor:"default"},disable:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3","stroke-opacity":1,cursor:"default"},pressed:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3",cursor:"default"}},"button-disabled":!1,
stroke:"#E3E3E3","stroke-opacity":1},enable:{config:{hover:{fill:"#FFFFFF","stroke-width":1,stroke:"#aaaaaa",cursor:"pointer"},normal:{fill:"#FFFFFF",stroke:"#C2C2C2","stroke-width":1,cursor:"pointer"},disable:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3","stroke-opacity":1,cursor:"pointer"},pressed:{fill:"#EFEFEF","stroke-width":1,stroke:"#C2C2C2",cursor:"pointer"}},"button-disabled":!1,fill:["#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF",!0],stroke:"#C2C2C2","stroke-opacity":1},pressed:{config:{pressed:{fill:["#FFFFFF",
"#FFFFFF","#FFFFFF","#FFFFFF",!0]}},fill:["#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF",!0],stroke:"#E3E3E3"}}[b])},pinRangePixels:function(a,b){var d,n=this.components,l=n.paper,k=this.graphics,g=this.config,s=g.canvasLeft,p=g.viewPortConfig,F=k.zoompin;d=k.pinrect;var G=g["clip-pinrect"],z=g._pingrouptransform,n=n.dataset,m=b-a,q,r,K,k=k.pintracker;if(p&&F&&d){if(a===b)return F.hide(),k.hide(),p.pinned=!1;for(K=n.length;K--;)q=n[K],d=q.graphics,r=d.pinline,r||(r=d.pinline=l.path(F)),r.attr({path:d.lineElement.attrs.path,
transform:["T",-g._visx,-g._ymin]}).attr(q.config.pin);G[0]=a+s;G[2]=m;F.attr({"clip-rect":G,transform:z}).show();k.__pindragdelta=0;k.show().attr({transform:z,x:a,width:m});this.getValuePixel(a);this.getValuePixel(b);return p.pinned=!0}},_createLayers:function(){var a,b=this.components.paper;ja.scatter._createLayers.call(this);a=this.graphics;a.imageContainer=b.group("dataset-orphan",a.dataSetGroup);this.__preDraw();this.toogleDragPan(!0)},getValue:function(a){var b=this.config,d=this.components,
n=b.viewPortConfig;a=this.getOriginalPositions(a.x,a.y,a.x,a.y);var l=d.xAxis[0].config.axisRange,d=d.yAxis[0].config.axisRange,k=l.min,g=d.max;return{x:k+(a[0]-b.canvasLeft)/(b.canvasWidth*n.scaleX/(l.max-k)),y:g-(a[1]-b.canvasTop)/(b.canvasHeight*n.scaleY/(g-d.min))}},getOriginalPositions:function(a,b,d,n){var l=this.config,k=l.viewPortConfig,g=k.scaleX,s=k.scaleY,p=k.x,k=k.y,F=va(a,d);a=ka(a,d);d=va(b,n);b=ka(b,n);a=a>l.canvasWidth?l.canvasWidth:a;b=b>l.canvasHeight?l.canvasHeight:b;F=0>F?0:F;
d=0>d?0:d;return[p+F/g,k+d/s,(a-F)/g,(b-d)/s]},zoomSelection:function(a,b,d,n){var l=this.config;d&&n&&(d=Math.abs(l.canvasWidth/d),n=Math.abs(l.canvasHeight/n),this.updateVisual(a,b,d,n))},updateVisual:function(a,b,d,n,l){var k=this.config,g=k.viewPortConfig,s=k.canvasWidth,p=k.canvasHeight,F=k.viewPortHistory.slice(-1)[0]||g,k=k.maxZoomLimit;g.x=isNaN(a)?a=F.x:a;g.y=isNaN(b)?b=F.y:b;g.scaleX=d||(d=F.scaleX);g.scaleY=n||(n=F.scaleY);d>k&&(g.x=va(a,s-s/k),g.scaleX=k);n>k&&(g.y=va(b,p-p/k),g.scaleY=
k);this.updateManager(l)},toogleDragPan:function(a){var b=this.config.viewPortConfig,d=b.status;a&&(b.status="zoom"===d?"pan":"zoom")},resize:function(){var a=this.config,b=this.graphics,d=this.components.canvas,n=d.graphics,l=n.canvasBorderElement,n=n.canvasElement,d=d.config.canvasBorderThickness,k=d/2,g=a.canvasHeight-=d,s=a.canvasWidth-=2*d,p=a.canvasLeft+=d;a.canvasBottom-=d;a.canvasRight-=d;n?n.attr({x:p,y:a.canvasTop,height:g,width:s}):this.drawCanvas();l&&l.attr({x:p-k,y:a.canvasTop-k,height:g+
d,width:s+d,"stroke-width":d});b.imageContainer.attr({"clip-rect":a.canvasLeft+","+a.canvasTop+","+a.canvasWidth+","+a.canvasHeight}).transform("t"+a.canvasLeft+","+a.canvasTop);b.trackerElem.attr({x:a.canvasLeft,y:a.canvasTop,width:a.canvasWidth,height:a.canvasHeight});b.tracker&&b.tracker.attr({"clip-rect":a.canvasLeft+","+a.canvasTop+","+a.canvasWidth+","+a.canvasHeight})},updateManager:function(a){var b,d=this.components,n=d.dataset,l=n.length,k=this.config,g=k.viewPortConfig,s=k._ypvr,p=k._visw,
F=this.components.xAxis[0],G=function(){return F.getPixel.apply(F,arguments)},z=F.getAxisData("labels").style,m,q,r,K,B=this.updateButtonVisual,I=d.tb.graphics,R=I.zoomOutButton,I=I.resetButton,c=k.viewPortHistory;!g&&(g=k.viewPortConfig);m=g.oppp;b=r=g.nvl;q=g.vdl=g.dei-g.dsi;r=g.ppl=b?p/b:g.oppl;p=g.step=(K=g.ppp=p/q)<m?qa(m/K):1;z=g.lskip=qa(ka(r,Aa(z.lineHeight))/K/p);void 0!==a?(r=(g.clen-q-1)*a,g.offset=(r-(r=Ca(r)))*K,q=r+q):(r=g.dsi,q=g.dei,g.offset=0);K=g.norm=r%p;g.ddsi=r-=K;g.ddei=q=q+
2*p-K;g.pvr=s;g._ymin=k._ymin;g._yminValue=k._yminValue;g.x=(G(r)-G(F.getLimit().min)+g.offset)/g.scaleX;q-r>F.getCategoryLen()?g.scaleX=1:g.scaleX=F.getCategoryLen()/Math.abs(q-r-p-.9);void 0!==a&&d.scrollBar.node.attr({"scroll-position":a});a=F._getVisibleConfig();a=Math.ceil((a.maxValue-a.minValue+1)/b);F.setLabelConfig({step:b?a:z*p});F.setAxisData({labelStep:b?a:z*p});F.setAxisConfig({animateAxis:!1});F.draw();F.setAxisConfig({animateAxis:!0});for(b=0;b<l;b+=1)n[b].draw();B(R.node,g.vdl===g.clen-
1?"disable":"enable");B(I.node,0<c.length?"enable":"disable");ma.FC_DEV_ENVIRONMENT&&ma.jQuery&&(FusionCharts["debugger"].enable()?(this.debug=this.debug||(ma.jQuery("#fc-zoominfo").length||ma.jQuery("body").append('<pre id="fc-zoominfo">'),ma.jQuery("#fc-zoominfo").css({position:"absolute",left:"10px",top:"0","pointer-events":"none",opacity:.7,width:"250px",zIndex:"999",border:"1px solid #cccccc","box-shadow":"1px 1px 3px #cccccc",background:"#ffffff"})),this.debug.text(JSON.stringify(g,0,2))):(this.debug&&
ma.jQuery("#fc-zoominfo").remove(),delete this.debug))},_drawDataset:function(){ja.zoomline.updateManager.call(this)},getParsedLabel:function(a){var b=this.xlabels;return b.parsed[a]||(b.parsed[a]=Ba(b.data[a]||""))},_createToolBox:function(){var a,b,d,n,l,k,g,s=this,p=s.config;g=p.allowPinMode;n=s.components;var F=p.showToolBarButtonTooltext;a=n.chartMenuBar;a&&a.drawn||(ja.scrollcolumn2d._createToolBox.call(s),a=n.tb,b=a.graphics||(a.graphics={}),d=n.toolBoxAPI||a.getAPIInstances(a.ALIGNMENT_HORIZONTAL),
d=d.Symbol,n=n.chartMenuBar.componentGroups[0],l=b.zoomOutButton=(new d("zoomOutIcon",void 0,a.idCount++,a.pId)).attachEventHandlers({click:function(){s.zoomOut()},tooltext:F&&p.btnZoomOutTooltext||""}),k=b.resetButton=(new d("resetIcon",void 0,a.idCount++,a.pId)).attachEventHandlers({click:function(){s.resetZoom()},tooltext:F&&p.btnResetChartTooltext||""}),g&&(g=b.pinButton=(new d("pinModeIcon",void 0,a.idCount++,a.pId)).attachEventHandlers({click:function(){s.activatePin(!p.viewPortConfig.pinned)},
tooltext:F&&p.btnSwitchToPinModeTooltext||""}),n.addSymbol(g,!0)),n.addSymbol(k,!0),n.addSymbol(l,!0))},_scrollBar:ja.scrollcolumn2d,_manageScrollerPosition:ja.scrollcolumn2d,draw:function(){var a,b,d,n,l,k,g,s,p,F,G=this,z=G.config,m=G.graphics||(G.graphics={});k=G.components;a=G.jsonData;n=a.dataset;var q=a.categories&&a.categories[0].category;ja.msline.draw.call(G);g=z.canvasLeft;s=z.canvasTop;p=z.canvasHeight;F=z.canvasWidth;a=z.borderWidth;b=z.useRoundEdges;d=z.viewPortConfig;n&&q&&(a++,n=ra.crispBound(g-
a,s+p+a,F+a+a,z.scrollHeight,a),a--,k=(l=k.scrollBar)&&l.node,l.draw(n.x+(b&&-1||a%2),n.y-(b&&4||2),{isHorizontal:!0,width:n.width-(!b&&2||0),height:n.height,showButtons:z.scrollShowButtons,scrollRatio:d.vdl/(d.clen-!!d.clen),scrollPosition:[d.dsi/(d.clen-d.vdl-1),!1],r:b&&2||0,parentLayer:m.parentGroup}),!k&&function(){var a;ra.eve.on("raphael.scroll.start."+l.node.id,function(b){a=b;G.crossline&&G.crossline.disable(!0);pa.raiseEvent("scrollstart",{scrollPosition:b},G.chartInstance)});ra.eve.on("raphael.scroll.end."+
l.node.id,function(b){G.crossline&&G.crossline.disable(!1);pa.raiseEvent("scrollend",{prevScrollPosition:a,scrollPosition:b},G.chartInstance)})}())}},ja.msline,{showValues:0});ja("zoomlinedy",{isDual:!0,standaloneInit:!0,defaultDatasetType:"zoomline",applicableDSList:{zoomline:!0},creditLabel:xa,friendlyName:"Zoomable and Panable Multi-series Dual-axis Line Chart",_spaceManager:ja.msdybasecartesian._spaceManager,_setAxisLimits:ja.msdybasecartesian._setAxisLimits,_createAxes:ja.msdybasecartesian._createAxes,
_feedAxesRawData:ja.msdybasecartesian._feedAxesRawData},ja.zoomline);FusionCharts.register("component",["dataset","zoomline",{_setConfigure:function(){var a=this.config,b=this.chart.jsonData.chart,d=this.JSONData;a.drawAnchors=s(b.drawanchors,b.showanchors,1);a.anchorRadius=s(d.anchorradius,b.anchorradius,a.lineThickness+2);this.__base__._setConfigure.apply(this,arguments)},configure:function(){var a,b,d={};a=this.chart.jsonData.chart;a.animation=0;a.showvalues=s(a.showvalues,0);this.__base__.configure.call(this);
b=this.config;a=b.lineThickness+s(a.pinlinethicknessdelta,1);d["stroke-width"]=0<a&&a||0;d["stroke-dasharray"]=[3,2];d.stroke=S.hashify(b.lineColor);d["stroke-opacity"]=b.lineAlpha/100;d["stroke-linejoin"]=b["stroke-linejoin"]="round";d["stroke-linecap"]=b["stroke-linecap"]="round";b.pin=d;b.animation=!1;b.transposeanimduration=0},draw:function(){var a,b,d=!1,n=!1,l=this,k=l.JSONData,g=l.chart,N=g.components,p=l.config,F=l.index||l.positionIndex,G=g.config,z=g.jsonData.chart,m=l.components,q=m.data,
r=q.length,K,B=N.paper,I=N.xAxis[0],R=l.yAxis,c,D,f=g.graphics,ja=f.datalabelsGroup,h=S.parseUnsafeString,e=S.getValidValue,J,fa,oa,P,t,v,u,A,$a,ab,Va=G.style,mb={fontFamily:Va.fontFamily,fontSize:Va.fontSize,lineHeight:Va.lineHeight,fontWeight:Va.fontWeight,fontStyle:Va.fontStyle,color:Va.color},x=p.lineThickness,ia=l.graphics.container,L=l.graphics.trackerContainer,la=function(a){Na.call(this,g,a)},ma=function(a,b){return function(c){b&&l._hoverPlotAnchor(a,"DataPlotRollOver",z);Na.call(this,g,
c,"DataPlotRollOver")}},na=function(a,b){return function(c){b&&l._hoverPlotAnchor(a,"DataPlotRollOut",z);Na.call(this,g,c,"DataPlotRollOut")}},qa=G.viewPortConfig,da=p.showTooltip,M,w=f.datasetGroup,C,y=p.shadow,Y,X=l.graphics.dataLabelContainer,E={},Q,H,O=g.is3D,ra=p.use3dlineshift,T,Z,ca,ta=R.getAxisBase(),V=R.yBasePos=R.getAxisPosition(ta),ga=I.getAxisPosition(0),aa=I.getAxisPosition(1)-ga,U,ha=O?10:0,pa=O&&ra?10:0,$=[ka(0,G.canvasLeft-ha),ka(0,G.canvasTop-pa),ka(1,G.canvasWidth+2*ha),ka(1,G.canvasHeight+
pa)],ua=[ka(0,G.canvasLeft-ha),ka(0,G.canvasTop-pa),1,ka(1,G.canvasHeight+2*pa)],wa=I.axisData&&I.axisData.scroll||{},Aa=g.hasScroll||!1,Ba,xa=p.lineDashStyle,ya={color:p.lineColor,alpha:p.lineAlpha};[Ga(ya),xa].join(":");var Ea,Fa,Ca,Ia=l.graphics.lineElement,za=l.visible,Ka,Ja,Ha=l.pool||(l.pool={element:[]}),Ma={},La={},Ta={},Ua=p.anchorRadius,gb,bb=[],hb,Da,Wa,Xa,cb,db,nb=G.showTerminalValidData,eb=G.viewPortConfig,ob=G.showPeakData,ib=G.maxPeakDataLimit,jb=G.minPeakDataLimit,pb=s(G.useCrossline,
0),Pa=eb.step,fb=I.getPixel(eb.step)-ga<eb.amrd,kb=function(a,b){var d=a.graphics;H=a.config;t=H.setValue;P=H.setLink;Ka=H.x||b;Z=e(h(ea(H.setLevelTooltext,k.plottooltext,z.plottooltext)));T=H.showValue;E=H.anchorProps;Y=E.shadow;u=H.displayValue;Ja=H.dip||0;a||(a=q[b]={graphics:{}});Ca={color:H.color,alpha:H.alpha};ca=H.dashStyle;c=H.xPos||I.getAxisPosition(Ka)-ha;D=l.visible?R.getAxisPosition(t)+pa:V;C=H.hoverEffects;E.isAnchorHoverRadius=C.anchorRadius;gb=I.getLabel(b);J=pb?"":H.toolText+(Z?"":
H.toolTipValue);v={index:b,link:P,value:t,displayValue:u,categoryLabel:gb,toolText:J,id:p.userID,datasetIndex:F,datasetName:k.seriesname,visible:za};null===H.setValue||fb||(E.imageUrl?(Q=new W,Q.onload=l._onAnchorImageLoad(l,b,v,c,D),Q.onerror=l._onErrorSetter(c,D,b,l),Q.src=E.imageUrl):(fa=d.element,fa||(fa=Ha.element&&Ha.element.length?d.element=Ha.element.shift():d.element=B.polypath(ia.anchorGroup)),fa.attr({polypath:[E.symbol[1]||2,c,D,E.radius,E.startAngle,Ja],fill:Ga({color:E.bgColor,alpha:E.bgAlpha}),
stroke:Ga({color:E.borderColor,alpha:E.borderAlpha}),"stroke-width":E.borderThickness,visibility:E.radius?za:"hidden"}).shadow(Y,ia.anchorShadowGroup).data("anchorRadius",E.radius).data("anchorHoverRadius",C.anchorRadius).data("setRolloverAttr",ab).data("setRolloutAttr",$a),fa[H.setValue?"show":"hide"]()),C.enabled&&(ab={polypath:[C.anchorSides||2,c,D,C.anchorRadius,C.startAngle,C.dip],fill:Ga({color:C.anchorColor,alpha:C.anchorBgAlpha}),stroke:Ga({color:C.anchorBorderColor,alpha:C.anchorBorderAlpha}),
"stroke-width":C.anchorBorderThickness},$a={polypath:[E.sides,c,D,E.radius,E.startAngle,Ja],fill:Ga({color:E.bgColor,alpha:E.bgAlpha}),stroke:Ga({color:E.borderColor,alpha:E.borderAlpha}),"stroke-width":E.borderThickness},fa&&fa.data("anchorRadius",E.radius).data("anchorHoverRadius",C.anchorRadius).data("setRolloverAttr",ab).data("setRolloutAttr",$a)),Ua=ka(E.radius,C&&C.anchorRadius||0),M={cx:c,cy:D,r:Ua,cursor:P?"pointer":"",stroke:sa,"stroke-width":E.borderThickness,fill:sa,ishot:!0,visibility:za},
E.imageUrl||!P&&!da||(oa=d.hotElement,oa||(oa=Ha.hotElement&&Ha.hotElement.length?d.hotElement=Ha.hotElement.shift():d.hotElement=B.circle(L)),oa.show().attr(M),(oa||fa).data("eventArgs",v).data("groupId",void 0).click(la).tooltip(J),C.enabled&&(oa||fa).hover(ma(a,C.enabled),na(a,C.enabled))));a._xPos=c;a._yPos=D;[Ga(Ca||ya),ca||xa].join(":");Ta=l.getLinePath([a],Ta);Ea=Ga(Ca||ya);Fa=ca||xa;ea(H.setColor,H.setAlpha,H.setDashed);[Ea,Fa].join(":");T&&!E.imageUrl&&l.drawLabel(b);bb.push(a)},qb=function(a,
b){var c=a&&a.length,d=a.slice().sort(function(a,b){return a.config.setValue-b.config.setValue}),e=d&&d.pop().config.setValue,f=d.length&&d.shift().config.setValue||e,d=0;if(e>ib||f<jb)for(;d<c;){fa=a[d];e=fa.config.setValue;if(e>ib||e<jb)e=b+d,kb(fa,e);d+=1}},Ya=function(b,c){--b;c+=1;var d;for(K=b;K<c;K+=1)for(d in a=q[K]&&q[K].graphics||{},q[K]&&(q[K].config.isRemoving=!0),a)Ha[d]||(Ha[d]=[]),a[d]&&(Ha[d].push(a[d].hide()),a[d]=void 0)},Za=qa.ddsi||0,Qa=qa.ddei||r,Ra=p._oldStartIndex,Sa=p._oldEndIndex,
rb=p._oldStep,lb=m.removeDataArr,sb=lb&&lb.length;w.line=w.line||B.group("line",w);w.lineConnector=w.lineConnector||B.group("line-connector",w);ia||(ia=l.graphics.container={lineShadowGroup:B.group("connector-shadow",w.line),anchorShadowGroup:B.group("anchor-shadow",w.lineConnector),lineGroup:B.group("line",w.line),anchorGroup:B.group("anchors",w.lineConnector)},za||(ia.lineShadowGroup.hide(),ia.anchorShadowGroup.hide(),ia.lineGroup.hide(),ia.anchorGroup.hide()));L||(L=l.graphics.trackerContainer=
B.group("line-hot",L).toBack(),za||L.hide());q||(q=l.components.data=[]);g._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",mb);X||(X=l.graphics.dataLabelContainer=l.graphics.dataLabelContainer||B.group("datalabel",ja),za||X.hide());U=aa*r;fb&&!p._oldHideAnchors?Ya(Ra,Sa):Pa!==rb?Ya(Ra,Sa):(Za>Ra&&Ya(Ra,Za>Sa?Sa:Za),Qa<Sa&&Ya(Qa<Ra?Ra:Qa,Sa),(Za<Ra||Qa>Sa)&&Ya(Ra,Sa));p._oldHideAnchors=fb;p._oldEndIndex=Qa;p._oldStep=Pa;l.setVisibility(za);for(K=p._oldStartIndex=Za;K<=Qa;K+=Pa){A=
q[K]||{};H=A.config||{};H.isRemoving=!1;t=H.setValue||null;Wa=K;if(nb)if(0===K&&null===t){hb=0;for(Da=b=K;Da<r;)if(null!==q[Da].config.setValue||d?d=!0:Da++,null===q[b].config.setValue&&!n&&b<=r?(b+=Pa,hb++):n=!0,d&&n){d=n=!1;break}0!==Da%Pa&&(H=q[Da].config,Wa=Da)}else if(K>=r&&null===t){for(Da=b=K;0<Da&&(void 0!==q[Da]||d?d=!0:Da--,void 0===q[b]&&!n&&0<=b?b-=Pa:n=!0,!d||!n););0!==Da%Pa&&(H=q[Da].config,Wa=Da)}if(A=q[Wa])kb(A,Wa),ob&&1<Pa&&(Xa=va(K+1,Qa),db=va(Xa+Pa,Qa),cb=db===Qa?q.slice(Xa):q.slice(Xa,
db),cb.length&&qb(cb,Xa))}La=l.getLinePath(bb,{});Ma=l.getLinePath(bb,Ma);p.lastPath=La;Ia||(Ia=Ha.lineElement&&Ha.lineElement.length?l.graphics.lineElement=Ha.lineElement.shift():l.graphics.lineElement=B.path(ia.lineGroup));Ia.attr({path:La.getPathArr(),"stroke-dasharray":xa,"stroke-width":x,stroke:Ga(ya),"stroke-linecap":"round","stroke-linejoin":2<=x?"round":"miter"}).shadow(y,ia.lineShadowGroup);Aa&&(Ba=wa.startPercent,$[2]=U+ua[0],1===Ba&&(ua[0]=$[2],$[0]=0));$[3]+=pa;l.drawn=!0;sb&&l.remove()},
setVisibility:function(a,b){var d=this.graphics&&this.graphics.container,n=this.graphics&&this.graphics.trackerContainer,l=this.graphics&&this.graphics.dataLabelContainer,k=a?"show":"hide";d.lineGroup[k]();d.anchorGroup[k]();d.anchorShadowGroup[k]();d.lineShadowGroup[k]();n[k]();l[k]();b&&this.transposeLimits(a)},transposeLimits:function(a){var b=this.chart,d=this.yAxis;b._chartAnimation();this.visible=a;this._conatinerHidden=!a;b._setAxisLimits();d.draw();b._drawDataset()},hide:function(){this.setVisibility(!1,
!0)},show:function(){this.setVisibility(!0,!0)}},"Line"]);ta=function(){};ta.prototype.configure=function(a,b){var d,n,l,k=this,g=a.components,s=g.numberFormatter,p=g.paper,F=a.config;d=a.graphics;n=this.left=F._visx;l=this.top=F.canvasTop;var G=this.height=F.canvasHeight,z=this._visout=F._visout,m=this.plots=a.components.dataset,q=d.datalabelsGroup,r,K,B=b.labelstyle,I=b.valuestyle,R=g.yAxis[0],c=R.getLimit(),D=g.yAxis[1],f=D&&D.getLimit();K=this.tracker;var g=this.labels,S=this.positionLabel;r=
a.get("linkedItems");var h=r.container,e=r.eventListeners||(r.eventListeners=[]);k.width=F._visw;r=this.group;r||(r=this.group=p.group("crossline-labels",q),this.container=h);r.attr({transform:["T",n,F._ymin]});K||(K=k.tracker=h,e.push(Ia(h,"touchstart mousemove",function(b){var c=k.onMouseMove,d=k.onMouseOut;a.isWithinCanvas(b,a).insideCanvas?c.call(k,b):d.call(k,b)},k)),e.push(Ia(h,"mousedown",function(){k.onMouseDown()},k)),e.push(Ia(h,"mouseup",function(){k.onMouseUp()},k)),e.push(Ia(h,"mouseout",
function(){k.onMouseOut()},k)));K=this.line;K||(K=this.line=p.path(q).toBack());K.attr(la({path:["M",n,l,"l",0,G]},b.line));g||(g=this.labels=b.valueEnabled&&p.set());b.labelEnabled&&(S||(S=this.positionLabel=p.text("").insertAfter(d.datalabelsGroup)),S.attr({x:z,y:l+G+(F.scrollHeight||0)+2.5,"vertical-align":"top",direction:F.textDirection,text:""}).css(B));this.hide();this.ppixelRatio=-R.getPVR();this.spixelRatio=D&&-D.getPVR();this.yminValue=F._yminValue;this.pyaxisminvalue=c.min;this.pyaxismaxvalue=
c.max;this.syaxisminvalue=f&&f.min;this.syaxismaxvalue=f&&f.max;this.positionLabels=F.xlabels||{data:[],parsed:[]};this.chart=a;this.getZoomInfo=function(){return F.viewPortConfig};this.getDataIndexFromPixel=function(b){return Math.round(a.components.xAxis[0].getValue(b))};this.getPositionLabel=function(b){return a.components.xAxis[0].getLabel(b).oriLabel};if(b.valueEnabled){d=0;for(n=m.length;d<n;d+=1)l=m[d],l=Ka(l.config.lineColor),g[d]||(g[d]=g.items[d]=p.text(r)),g[d].attr({x:0,y:z,text:"",fill:l,
direction:F.textDirection}).css(I);for(;d<g.items.length;d+=1)g[d].remove(),delete g[d],g.items.splice(d,1);this.numberFormatter=s}else if(g.items.length){for(d=0;d<g.items.length;d+=1)g[d].remove(),delete g[d];g.length=0}};ta.prototype.disable=function(a){void 0!==a&&(this.disabled=!!a)&&this.visible&&this.hide();return this.disabled};ta.prototype.onMouseOut=function(){this.hide();this.position=void 0};ta.prototype.onMouseDown=function(){!Fa&&this.hide();this._mouseIsDown=!0};ta.prototype.onMouseUp=
function(){!Fa&&this.hide();delete this._mouseIsDown};ta.prototype.onMouseMove=function(a){if(!(this.disabled||this._mouseIsDown&&!Fa)){var b,d=this.getZoomInfo(),n=this.line,l=this.left,d=d.step,k=this.chart,g=k.components.xAxis[0],s=g.getCategoryLen(),p=k.get("config"),k=p.canvasLeft,p=p.canvasRight;a=za(this.container,a).chartX-l;var l=g.getLimit().min,F=g.config.axisData.axisDimention.x-k,G;G=(G=this.getDataIndexFromPixel(ua(a)))+((b=G%d)>d/2?d-b:-b);a=g.getPixel(G)-F-k;a<=p-k&&(n.transform(["T",
ua(a),0]),this.hidden&&this.show(),(G>=s||G<l)&&this.hide(),G!==this.position||this.hidden)&&(this.position=G,this.lineX=a,this.updateLabels())}};ta.prototype.updateLabels=function(){var a=this,b=a.labels,d=a.plots,n=a.width,l=a.position,k=a.lineX,g=Ja(k),s=a.ppixelRatio,p=a.spixelRatio,F=a.yminValue,G=a._visout,z=a.numberFormatter,m=a.pyaxisminvalue,q=a.pyaxismaxvalue,r=a.syaxisminvalue,I=a.syaxismaxvalue,B=function(){function b(){this.y=0;this.lRef=void 0;this.__index=this.__shift=0}function d(a){for(var b=
0;b<a;)this.push(b++);return this}function c(a){var b,c,d,e,f=Number.POSITIVE_INFINITY;for(b=0;b<this.length;b++)c=this[b]-a,0>c?d=q.NEG:d=q.POS,c=n(c),c<=f&&(f=c,e={absValue:c,noScaleSide:d});return e}function g(a){this.holes=d.call([],a)}var f=-1*a.height,k=F*s,h=0,e,l={},m,n=Math.abs,p=Math.floor,q={};"function"!=typeof Object.create&&(Object.create=function(){function a(){}var b=Object.prototype.hasOwnProperty;return function(c){var d,e,f;if("object"!=typeof c)throw new TypeError("Object prototype may only be an Object or null");
a.prototype=c;f=new a;a.prototype=null;if(1<arguments.length)for(e in d=Object(arguments[1]),d)b.call(d,e)&&(f[e]=d[e]);return f}}());Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){var c,d,e;if(null==this)throw new TypeError('"this" is null or not defined');d=Object(this);e=d.length>>>0;if(0===e)return-1;c=+b||0;Infinity===Math.abs(c)&&(c=0);if(c>=e)return-1;for(c=Math.max(0<=c?c:e-Math.abs(c),0);c<e;){if(c in d&&d[c]===a)return c;c++}return-1});Array.prototype.forEach||(Array.prototype.forEach=
function(a,b){var c,d,e,f,g;if(null==this)throw new TypeError(" this is null or not defined");e=Object(this);f=e.length>>>0;if("function"!==typeof a)throw new TypeError(a+" is not a function");1<arguments.length&&(c=b);for(d=0;d<f;)d in e&&(g=e[d],a.call(c,g,d,e)),d++});b.prototype.constructor=b;b.prototype.applyShift=function(a){this.__shift=a;this.lRef.calcY=this.y+=a*h};b.prototype.applyDirectIndex=function(a){this.__index=a;this.lRef.calcY=this.y=f-a*h*-1};try{Object.defineProperty(q,"POS",{enumerable:!1,
configurable:!1,get:function(){return 1}}),Object.defineProperty(q,"NEG",{enumerable:!1,configurable:!1,get:function(){return-1}})}catch(r){q.POS=1,q.NEG=-1}g.prototype=Object.create(Array.prototype);g.prototype.constructor=g;g.prototype.repositionHoles=function(){var a,b=0,c;for(a=this.holes.length=0;a<this.length;a++)c=this[a],!c&&(this.holes[b++]=a)};g.prototype.attachShift=function(a,d,e){var f,g=this.length;if(a===G)e.calcY=G;else if(g=d>g-1?g-1:d,f=this[g],d=new b,d.y=a,d.lRef=e,f){a=c.call(this.holes,
g);e=g+a.absValue*a.noScaleSide;if(a.noScaleSide===q.POS)return d.applyDirectIndex(e),this.splice(e,1,d),this.holes.splice(this.holes.indexOf(e),1),e;if(a.noScaleSide===q.NEG){a=this.splice(e+1,this.length-1);this.pop();a.forEach(function(a){a&&a.applyShift(-1)});for([].push.apply(this,a);this[e];)e++;this.push(0);this.repositionHoles();a=c.call(this.holes,e);e+=a.absValue*a.noScaleSide;d.applyDirectIndex(e);this.splice(e,1,d);this.repositionHoles();return this.length-1}}else d.applyDirectIndex(g),
this.splice(g,1,d),this.holes.splice(this.holes.indexOf(g),1)};try{Object.defineProperty(l,"top",{enumerable:!1,configurable:!1,get:function(){return f}}),Object.defineProperty(l,"bottom",{enumerable:!1,configurable:!1,get:function(){return k}})}catch(u){l.top=f,l.bottom=k}l.init=function(a,b){var c;h=a+2;f+=h/2;m=p(n(f)/h);e=new g(m);for(c=0;c<m;c++)e.push(0)};l.occupy=function(a,b){var c=p(n(f-a)/h);e.attachShift(a,c,b)};return l}();b&&(b[0].attr({text:z.yAxis("0")}),B.init(b[0].getBBox().height,
b.length),b.forEach(function(a,b){var c=d[b],g=c.components.data[l]&&c.components.data[l].config.setValue,f=c.config.parentYAxis;B.occupy(void 0===g||!c.visible||(f?g>I||g<r:g>q||g<m)?G:f?(g-r)*p:(g-m)*s,a)}));b&&b.forEach(function(a,b){var c=d[b];(c=z[c.config.parentYAxis?"sYAxis":"yAxis"](c.components.data[l]&&c.components.data[l].config.setValue))?(a.attr({text:c}),c=a.getBBox(),c=c.width,c=.5*c+10,a.attr({x:ka(0,va(g,n)),y:a.calcY,"text-anchor":k<=c&&"start"||k+c>=n&&"end"||"middle","text-bound":["rgba(255,255,255,0.8)",
"rgba(0,0,0,0.2)",1,2.5]})):a.attr({x:-n})});a.positionLabel&&a.positionLabel.attr({x:k+a.left,text:a.getPositionLabel(l),"text-bound":["rgba(255,255,255,1)","rgba(0,0,0,1)",1,2.5]})};ta.prototype.show=function(){this.disabled||(this.hidden=!1,this.group.attr("visibility","visible"),this.line.attr("visibility","visible"),this.positionLabel&&this.positionLabel.attr("visibility","visible"))};ta.prototype.hide=function(){this.hidden=!0;this.group.attr("visibility","hidden");this.line.attr("visibility",
"hidden");this.positionLabel&&this.positionLabel.attr("visibility","hidden")};ta.prototype.dispose=function(){for(var a in this)this.hasOwnProperty(a)&&delete this[a]};ra.addSymbol({pinModeIcon:function(a,b,d){var n=.5*d,l=a-d,k=a+d,g=a-n,s=a+n,p=a+.5,F=p+1,G=p+1.5,z=b-d,m=b+n,q=b-n,n=b+(d-n);return["M",l,z,"L",g,q,g,n,l,m,a-.5,m,a,b+d+.5,p,m,k,m,s,n,s,q,k,z,G,z,G,q,G,n,F,n,F,q,G,q,G,z,"Z"]},zoomOutIcon:function(a,b,d){a-=.2*d;b-=.2*d;var n=.8*d,l=ra.rad(43),k=ra.rad(48),g=a+n*wa(l),l=b+n*ya(l),s=
a+n*wa(k),k=b+n*ya(k),p=ra.rad(45),F=g+d*wa(p),G=l+d*ya(p),z=s+d*wa(p);d=k+d*ya(p);return["M",g,l,"A",n,n,0,1,0,s,k,"Z","M",g+1,l+1,"L",F,G,z,d,s+1,k+1,"Z","M",a-2,b,"L",a+2,b,"Z"]},resetIcon:function(a,b,d){var n=a-d,l=(fa.PI/2+fa.PI)/2;a+=d*wa(l);var l=b+d*ya(l),k=2*d/3;return["M",n,b,"A",d,d,0,1,1,a,l,"L",a+k,l-1,a+2,l+k-.5,a,l]}})}]);

View File

@@ -0,0 +1,152 @@
/*
FusionCharts JavaScript Library - Gantt Chart
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
@version 3.11.0
*/
FusionCharts.register("module",["private","modules.renderer.js-gantt",function(){var P=this,z=P.hcLib,ba=P.window,ca=/msie/i.test(ba.navigator.userAgent)&&!ba.opera,Y=z.chartAPI,W=z.extend2,r=z.pluck,q=z.pluckNumber,oa=z.pluckFontSize,T=z.getFirstColor,ja=z.parseConfiguration,pa=z.setAttribDefs,ka=z.graphics,N=ka.convertColor,Z=ka.getDarkColor,Q=z.parseUnsafeString,ga=z.getFirstValue,qa=z.getValidValue,$=z.toPrecision,S=z.Raphael,ra=z.chartPaletteStr,ya=z.componentDispose,za=z.COMMASTRING,V=z.setLineHeight,
ha=z.getDashStyle,X=z.toRaphaelColor,sa=z.each,H=z.attrTypeNum,aa=z.attrTypeBool,Aa=z.dropHash,Ba=z.HASHSTRING,ba=!/fusioncharts\.com$/i.test(ba.location.hostname),da="rgba(192,192,192,"+(ca?.002:1E-6)+")",ta=ka.mapSymbolName,ca=Math,K=ca.max,ia=ca.min,ua=ca.abs,Ca=parseInt,va=parseFloat,wa=z.graphics.getLightColor,M=z.plotEventHandler,ea,U,la=function(c){return void 0!==c&&null!==c},Da={left:"start",right:"end",center:"middle"},Ea={left:0,right:1,center:.5,undefined:.5},Fa={left:5,right:-5,center:0,
undefined:0},Ga=function(){},ma=function(){for(var c=0,a=arguments.length,d=!1,c=0;c<a;c++){d=arguments[c];if(isNaN(d))return!1;d=!0}return d};Y("gantt",{defaultDatasetType:"task",applicableDSList:{task:!0,milestone:!0,connectors:!0},fireGroupEvent:!0,aligncaptionwithcanvas:0,hasInteractiveLegend:!1,creditLabel:ba,_createDatasets:function(){var c=this.config,a=this.components,d=this.jsonData,b=[],g,e,h=this.defaultDatasetType,n=this.applicableDSList,f,p,l,t=c.datasetMap||(c.datasetMap={task:[],milestone:[],
connectors:[]}),m={task:[],milestone:[],connectors:[]},s,A,u,k={};d.tasks&&(b=b.concat(d.tasks));d.milestones&&(b=b.concat(d.milestones));d.connectors&&(b=b.concat(d.connectors));g=b&&b.length;!b||b instanceof Array||(b=[b],g=1);g||this.setChartMessage();this.config.categories=d.categories&&d.categories[0].category;d=a.dataset=[];for(a=0;a<g;a++)if(l=b[a],l.task?u=f="task":l.milestone?u=f="milestone":l.connector&&(f="connectors",u="connector"),f=f&&f.toLowerCase(),n[f]||(f=h),p=FusionCharts.get("component",
["dataset",f]))void 0===k[f]?k[f]=0:k[f]++,e=t[f],(s=e[0])?(p=s.JSONData,p=p[u].length,A=l[u].length,m[f].push(s),d.push(s),s.index=a,p>A&&s.removeData(A-1,p-A,!1),s.JSONData=l,s.configure(),e.shift()):(e=new p,m[f].push(e),d.push(e),e.chart=this,e.index=a,e.init(l));this._createLegendItems();for(f in t)if(b=t[f],g=b.length)for(a=0;a<g;a++)(e=b[a])&&ya.call(e);c.datasetMap=m},configure:function(){var c=this.config,a=this.components.background.config,d=this.jsonData.chart;this.__setDefaultConfig();
Y.mscartesian.configure.call(this);c.showBorder=q(d.showborder,0);c.borderWidth=c.showBorder?q(d.borderthickness,1):0;a.borderWidth=c.borderWidth;c.lastVScrollPosition=void 0;c.lastHScrollPosition=void 0},_createLegendItems:function(){var c=this.components,a=this.jsonData,d=c.legend,b,g,e,h,n,f,p=c.legendItems,a=a.legend&&a.legend.item||[];b=c.legendItems&&c.legendItems.length||0;g=a.length;b>g&&(d.emptyItems(g,b-g),p&&p.splice(g,b-g));p||(c.legendItems=p=[]);b=0;for(c=a.length;b<c;b++)n=a[b],f=p[b],
h=n.color,g=wa(h,60).replace(Aa,Ba),e=wa(h,40),e={FCcolor:{color:h+","+h+","+e+","+h+","+h,ratio:"0,70,30",angle:270,alpha:"100,100,100,100,100"}},!f&&(f=p[b]={}),g={fillColor:X(e),strokeColor:X(g),label:n.label,interactiveLegend:!1,legendItemId:f.legendItemId},p[b].legendItemId=d.addItems(this,Ga,g)},_setAxisLimits:function(){},_createAxes:function(){var c=this.components,a=FusionCharts.get("component",["axis","time"]),d=FusionCharts.get("component",["axis","process"]);c.yAxis=[];c.xAxis=[];c.yAxis[0]=
d=new d;c.xAxis[0]=c=new a;d.chart=this;c.chart=this;d.init();c.init()},_feedAxesRawData:function(){var c=this.components,a=c.colorManager,d=this.jsonData,b=d.chart,g,e=this.is3d,h=e?ra.chart3D:ra.chart2D;g={outCanfontFamily:r(b.outcnvbasefont,b.basefont,"Verdana,sans"),outCanfontSize:oa(b.outcnvbasefontsize,b.basefontsize,10),outCancolor:r(b.outcnvbasefontcolor,b.basefontcolor,a.getColor(h.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisBreaks:b.xaxisbreaks,axisNamePadding:b.xaxisnamepadding,
axisValuePadding:b.labelpadding,axisNameFont:b.xaxisnamefont,axisNameFontSize:b.xaxisnamefontsize,axisNameFontColor:b.xaxisnamefontcolor,axisNameFontBold:b.xaxisnamefontbold,axisNameFontItalic:b.xaxisnamefontitalic,axisNameBgColor:b.xaxisnamebgcolor,axisNameBorderColor:b.xaxisnamebordercolor,axisNameAlpha:b.xaxisnamealpha,axisNameFontAlpha:b.xaxisnamefontalpha,axisNameBgAlpha:b.xaxisnamebgalpha,axisNameBorderAlpha:b.xaxisnameborderalpha,axisNameBorderPadding:b.xaxisnameborderpadding,axisNameBorderRadius:b.xaxisnameborderradius,
axisNameBorderThickness:b.xaxisnameborderthickness,axisNameBorderDashed:b.xaxisnameborderdashed,axisNameBorderDashLen:b.xaxisnameborderdashlen,axisNameBorderDashGap:b.xaxisnameborderdashgap,useEllipsesWhenOverflow:b.useellipseswhenoverflow,divLineColor:r(b.vdivlinecolor,a.getColor(h.divLineColor)),divLineAlpha:r(b.vdivlinealpha,e?a.getColor("divLineAlpha3D"):a.getColor("divLineAlpha")),divLineThickness:q(b.vdivlinethickness,1),divLineIsDashed:Boolean(q(b.vdivlinedashed,b.vdivlineisdashed,0)),divLineDashLen:q(b.vdivlinedashlen,
4),divLineDashGap:q(b.vdivlinedashgap,2),showAlternateGridColor:q(b.showalternatevgridcolor,0),alternateGridColor:r(b.alternatevgridcolor,a.getColor("altVGridColor")),alternateGridAlpha:r(b.alternatevgridalpha,a.getColor("altVGridAlpha")),numDivLines:q(b.numvdivlines,this.numVDivLines),labelFont:b.labelfont,labelFontSize:b.labelfontsize,labelFontColor:b.labelfontcolor,labelFontAlpha:b.labelalpha,labelFontBold:b.labelfontbold,labelFontItalic:b.labelfontitalic,maxLabelHeight:b.maxlabelheight,axisName:b.xaxisname,
axisMinValue:b.xaxisminvalue,axisMaxValue:b.xaxismaxvalue,setAdaptiveMin:b.setadaptivexmin,adjustDiv:b.adjustvdiv,labelDisplay:b.labeldisplay,showLabels:b.showlabels,rotateLabels:b.rotatelabels,slantLabel:q(b.slantlabels,b.slantlabel),labelStep:q(b.labelstep,b.xaxisvaluesstep),showAxisValues:q(b.showxaxisvalues,b.showxaxisvalue),showLimits:q(b.showvlimits,this.showvlimits),showDivLineValues:q(b.showvdivlinevalues,b.showvdivlinevalues),zeroPlaneColor:b.vzeroplanecolor,zeroPlaneThickness:b.vzeroplanethickness||
2,zeroPlaneAlpha:b.vzeroplanealpha,showZeroPlaneValue:b.showvzeroplanevalue,trendlineColor:b.trendlinecolor,trendlineToolText:b.trendlinetooltext,trendlineThickness:b.trendlinethickness,trendlineAlpha:b.trendlinealpha,showTrendlinesOnTop:b.showtrendlinesontop,showAxisLine:q(b.showxaxisline,b.showaxislines,b.drawAxisLines,0),axisLineThickness:q(b.xaxislinethickness,b.axislinethickness,1),axisLineAlpha:q(b.xaxislinealpha,b.axislinealpha,100),axisLineColor:r(b.xaxislinecolor,b.axislinecolor,"#000000")};
a={outCanfontFamily:r(b.outcnvbasefont,b.basefont,"Verdana,sans"),outCanfontSize:oa(b.outcnvbasefontsize,b.basefontsize,10),outCancolor:r(b.outcnvbasefontcolor,b.basefontcolor,a.getColor(h.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisBreaks:b.yaxisbreaks,axisNamePadding:b.yaxisnamepadding,axisValuePadding:b.yaxisvaluespadding,axisNameFont:b.yaxisnamefont,axisNameFontSize:b.yaxisnamefontsize,axisNameFontColor:b.yaxisnamefontcolor,axisNameFontBold:b.yaxisnamefontbold,axisNameFontItalic:b.yaxisnamefontitalic,
axisNameBgColor:b.yaxisnamebgcolor,axisNameBorderColor:b.yaxisnamebordercolor,axisNameAlpha:b.yaxisnamealpha,axisNameFontAlpha:b.yaxisnamefontalpha,axisNameBgAlpha:b.yaxisnamebgalpha,axisNameBorderAlpha:b.yaxisnameborderalpha,axisNameBorderPadding:b.yaxisnameborderpadding,axisNameBorderRadius:b.yaxisnameborderradius,axisNameBorderThickness:b.yaxisnameborderthickness,axisNameBorderDashed:b.yaxisnameborderdashed,axisNameBorderDashLen:b.yaxisnameborderdashlen,axisNameBorderDashGap:b.yaxisnameborderdashgap,
axisNameWidth:b.yaxisnamewidth,useEllipsesWhenOverflow:b.useellipseswhenoverflow,rotateAxisName:q(b.rotateyaxisname,1),axisName:b.yaxisname,divLineColor:r(b.divlinecolor,a.getColor(h.divLineColor)),divLineAlpha:r(b.divlinealpha,e?a.getColor("divLineAlpha3D"):a.getColor("divLineAlpha")),divLineThickness:q(b.divlinethickness,1),divLineIsDashed:Boolean(q(b.divlinedashed,b.divlineisdashed,0)),divLineDashLen:q(b.divlinedashlen,4),divLineDashGap:q(b.divlinedashgap,2),showAlternateGridColor:q(b.showalternatehgridcolor,
1),alternateGridColor:r(b.alternatehgridcolor,a.getColor("altHGridColor")),alternateGridAlpha:r(b.alternatehgridalpha,a.getColor("altHGridAlpha")),numDivLines:q(b.numdivlines,this.numDivLines),axisMinValue:b.yaxisminvalue,axisMaxValue:b.yaxismaxvalue,setAdaptiveMin:b.setadaptiveymin,adjustDiv:b.adjustdiv,labelStep:b.yaxisvaluesstep,showAxisValues:q(b.showyaxisvalues,b.showyaxisvalue),showLimits:q(b.showlimits,this.showLimits),showDivLineValues:q(b.showdivlinevalues,b.showdivlinevalue),zeroPlaneColor:b.zeroplanecolor,
zeroPlaneThickness:b.zeroplanethickness||2,zeroPlaneAlpha:b.zeroplanealpha,showZeroPlaneValue:b.showzeroplanevalue,trendlineColor:b.trendlinecolor,trendlineToolText:b.trendlinetooltext,trendlineThickness:b.trendlinethickness,trendlineAlpha:b.trendlinealpha,showTrendlinesOnTop:b.showtrendlinesontop,showAxisLine:q(b.showyaxisline,b.showaxislines,b.drawAxisLines,0),axisLineThickness:q(b.yaxislinethickness,b.axislinethickness,1),axisLineAlpha:q(b.yaxislinealpha,b.axislinealpha,100),axisLineColor:r(b.yaxislinecolor,
b.axislinecolor,"#000000")};g.vtrendlines=d.trendlines;d=c.yAxis[0];c=c.xAxis[0];d.setCommonConfigArr(a,!0,!0,!1);c.setCommonConfigArr(g,!1,!1,!0);d.configure();c.configure()},_setCategories:function(){var c=this.get("components"),a=this.jsonData,d=c.xAxis,c=c.yAxis,b=a.processes,g=a.datatable,a=a.categories;c[0].setAxisPadding(.5,.5);c[0].setProcess(b);c[0].setDataTable(g);d[0].setCategory(a)},_setAxisValuePadding:function(){var c=this.components.dataset,a=c.length,d,b,g=-Infinity,e=-Infinity;for(d=
0;d<a;d++)b=c[d],b=b.getAxisValuePadding&&b.getAxisValuePadding()||{},g=K(g,b.left||-Infinity),e=K(e,b.right||-Infinity)},_spaceManager:function(){var c,a=this.config,d=this.components,b=d.xAxis&&d.xAxis[0],g=d.yAxis&&d.yAxis[0],e=d.legend.config.legendPos,h=100-(a.ganttwidthpercent||67);c=a.borderWidth;var n=d=0;this._resetViewPortConfig&&this._resetViewPortConfig();b.resetTransletAxis();g.resetTransletAxis();this._allocateSpace({top:c,bottom:c,left:c,right:c});c="bottom"===e?.225*a.canvasHeight:
.225*a.canvasWidth;this._manageChartMenuBar(c);this._manageLegendSpace("right"===e?.3*a.canvasWidth:.3*a.canvasHeight);a.actualCanvasTop=a.canvasTop;a.actualCanvasLeft=a.canvasLeft;e=g.placeAxis(h/100*a.canvasWidth);d+=(e.left||0)+(e.right||0);g&&this._allocateSpace(e);c=.6*a.canvasHeight;e=b.placeAxis(c);n+=e.top||0;a.totalWidth=d;a.totalHeight=n;b&&this._allocateSpace(e);a=g&&g.setProcessHeight();g.setAxisData({processTotalHeight:a})},_drawCanvas:function(){var c=this.jsonData.chart,a=this.components,
d=this.config,b=this.graphics,g=a.paper,e=a.canvas,a=e.graphics,h=e.config,e=h.clip={},n=a.canvasBorderElement,f=this.get("config","animationObj"),p=f.duration,l=f.dummyObj,t=f.animObj,f=f.animType,m=a.canvasElement,s=d.actualCanvasLeft,A=d.actualCanvasTop,u=d.canvasWidth,k=d.canvasHeight,r=d.canvasLeft,F=d.canvasTop,D=d.canvasWidth+d.totalWidth,d=d.canvasHeight+d.totalHeight,b=b.canvasGroup,y=h.canvasBorderRadius,x=h.canvasBorderWidth,w=.5*x,v=h.canvasBorderColor,E=h.canBGColor,G=h.shadow,c=h.showCanvasBG=
Boolean(q(c.showcanvasbg,1)),B=h.shadowOnCanvasFill,C=h.showCanvasBorder,h={x:s-w,y:A-w,width:D+x,height:d+x,r:y,"stroke-width":x,stroke:v,"stroke-linejoin":2<x?"round":"miter"};C?n?(n.show(),n.animateWith(l,t,{x:s-w,y:A-w,width:D+x,height:d+x,r:y},p,f),n.attr({"stroke-width":x,stroke:v,"stroke-linejoin":2<x?"round":"miter"}),n.shadow(G)):a.canvasBorderElement=g.rect(h,b).shadow(G):n&&n.hide();e["clip-canvas"]=[K(0,r),K(0,F),K(1,u),K(1,k)];e["clip-canvas-init"]=[K(0,r),K(0,F),1,K(1,k)];c?(h={x:s,
y:A,width:D,height:d,r:y,"stroke-width":0,stroke:"none",fill:X(E)},m?(m.show(),p&&m.animateWith(l,t,{x:s,y:A,width:D,height:d,r:y},p,f),m.attr(h),m.shadow(B)):a.canvasElement=g.rect(h,b).shadow(B)):m&&m.hide()},_postSpaceManagement:function(){var c=this.config,a=this.components,d=a.xAxis&&a.xAxis[0],b=a.yAxis&&a.yAxis[0],g=b.getAxisData("processTotalHeight"),e=c.canvasHeight,h=a.legend,n=c.xDepth,f=a.canvas.config,p=f.canvasBorderWidth,l=f.canvasPadding,t=a.vScrollBar.userConf,m,s=f.canvasPaddingLeft,
f=f.canvasPaddingRight,A=c.ganttpanedurationunit,u=a.hProcessScrollBar,a=(a=a.hScrollBar)&&a.userConf.height||0,u=u&&u.userConf.height||0,k,q;q=void 0!==Number(c.ganttpaneduration)&&void 0!==A?!0:!1;A=b.getAxisData("totalWidth");k=b.getAxisData("totalVisiblelWidth");a=K(A>k?u:0,q?a:0);g>e-a&&(m=!0);g=m?t.width||0:0;g=c.canvasWidth-(n||0)-K(s,l)-K(f,l)-g;d&&d.setAxisDimention({x:c.canvasLeft+(n||0)+K(s,l),y:c.canvasTop-(c.shift||0),opposite:c.canvasBottom+p,axisLength:g});c.currentCanvasWidth=g;b&&
b.setAxisDimention({x:c.canvasLeft-(c.shift||0),y:c.canvasTop,opposite:c.canvasRight+p,axisLength:c.canvasHeight});this._manageScrollerPosition();h.postSpaceManager()},_resetViewPortConfig:function(){this.config.viewPortConfig={scaleX:1,scaleY:1,x:0,y:0}},_manageScrollerPosition:function(){var c=this.config,a=this.components,d,b=a.hScrollBar,g=a.vScrollBar,e=a.hProcessScrollBar,h=c.totalWidth||0,n=c.totalHeight||0;this._setAxisScale&&this._setAxisScale();d=c.vScrollEnabled;a=c.hScrollEnabled;b=b.getLogicalSpace();
c.hScrollHeight=!1===a?0:b.height+g.conf.padding;b=g.getLogicalSpace();c.vScrollWidth=!1!==d?b.width+g.conf.padding:0;b=e.getLogicalSpace();c.hProcessScrollHeight=c.hProcessScrollEnabled?b.height+e.conf.padding:0;n+=K(c.hProcessScrollHeight,c.hScrollHeight);this._allocateSpace({bottom:K(c.hProcessScrollHeight,c.hScrollHeight)});c.totalWidth=h;c.totalHeight=n},updateManager:function(c,a){var d=this.config,b=this.config.viewPortConfig,g=b.scaleX,e=this.components.xAxis[0],h=this.components.yAxis[0],
n=this.graphics.datasetGroup,f=this.graphics.datalabelsGroup,p=this.graphics.trackerGroup,l=d.xOffset||0,t=d.yOffset||0,m=d.canvasHeight,s=d.currentCanvasWidth,A=b.scaleY;a?d.lastHScrollPosition=c:d.lastVScrollPosition=c;a?(l=d.xOffset=s*(g-1)*c,b.x=l/g,e.translateAxis(-l,void 0)):(t=d.yOffset=m*(A-1)*c,b.y=t/A,h.translateAxis(void 0,-t));d="t"+-l+", "+-t;n.attr({transform:d});f.attr({transform:d});p.attr({transform:d})},_setAxisScale:function(){var c=this.components,a=this.config,d=c.xAxis[0],b=
d.getLimit(),g=b.max,b=b.min,e=new Date(b),h=c.yAxis[0],n=this.components.numberFormatter,f=Number(a.ganttpaneduration),p=a.scrollOptions||(a.scrollOptions={}),l=a.ganttpanedurationunit,t=g-b,b=a.canvasHeight,m=a.scrolltodate,s=a.canvasWidth,A=a.canvasLeft,u=c.hProcessScrollBar,c=(c=c.hScrollBar)&&c.userConf.height||0,u=u&&u.userConf.height||0,k=d.getPixel(g)-A,g=h.getAxisData("processTotalHeight");if(void 0===f||void 0===l)a.hScrollEnabled=!1;else{switch(l){case "y":e.setFullYear(e.getFullYear()+
f);break;case "m":e.setMonth(e.getMonth()+f);break;case "d":e.setDate(e.getDate()+f);break;case "h":e.setHours(e.getHours()+f);break;case "mn":e.setMinutes(e.getMinutes()+f);break;default:e.setSeconds(e.getSeconds()+f)}e=e.getTime();e=d.getPixel(e)-A;a.hScrollEnabled=!0;a.viewPortConfig.scaleX=e=k/e;p.horizontalVxLength=t/NaN*f;m&&(n=n.getDateValue(m).ms,d=d.getPixel(n),a.viewPortConfig.x=ia(d-A,s*(e-1))/e)}d=h.getAxisData("totalWidth");h=h.getAxisData("totalVisiblelWidth");a.hProcessScrollEnabled=
d>h?!0:!1;h=K(a.hProcessScrollEnabled?u:0,a.hScrollEnabled?c:0);b-=h;Math.floor(g)>b?(a.viewPortConfig.scaleY=g/b,a.vScrollEnabled=!0):a.vScrollEnabled=!1},drawScrollBar:function(){var c=this,a=c.config,d=c.components,b=d.xAxis[0],g=b.config.axisData,e=b.config.axisRange,h=a.viewPortConfig,n=a.scrollOptions||(a.scrollOptions={}),f=e.max,p=e.min,l=n.horizontalVxLength,t=d.hScrollBar,e=t.node,m=d.vScrollBar,s=m.node,A=d.hProcessScrollBar,u=A.node,k=a.useverticalscrolling,r=f-p,F=a.canvasRight,D=h.scaleX,
y=h.scaleY,x,w,v,E,G,B=a.vScrollEnabled,C=d.yAxis[0],L=B?m.conf.width:0;x=a.canvasLeft;w=a.canvasTop;v=a.canvasHeight;E=a.canvasWidth;d=d.canvas.config;G=d.canvasBorderWidth;q(G,g.showLine?g.axisLineThickness:0);q(G,g.lineStartExtension);q(G,g.lineEndExtension);n.viewPortMin=p;n.viewPortMax=f;n.scrollRatio=l/r;g=n.windowedCanvasWidth=b.getAxisPosition(l);f=n.fullCanvasWidth=b.getAxisPosition(f-p)-g;b=n.fullCanvasHeight=C.getAxisData("processTotalHeight");n=n.windowedCanvasHeight=v;p=C.getAxisData("totalWidth");
C=C.getAxisData("totalVisiblelWidth");y=1/y;!1!==a.hScrollEnabled?(t.draw(x,w+v,{width:E-L,scrollRatio:1/D,scrollPosition:h.x*D/(E*(D-1)),roundEdges:d.isRoundEdges,fullCanvasWidth:f,windowedCanvasWidth:g}),!e&&function(){var a;S.eve.on("raphael.scroll.start."+t.node.id,function(b){a=b;P.raiseEvent("scrollstart",{scrollPosition:b},c.chartInstance)});S.eve.on("raphael.scroll.end."+t.node.id,function(b){P.raiseEvent("scrollend",{prevScrollPosition:a,scrollPosition:b},c.chartInstance)})}()):t&&t.node&&
t.node.hide();!1!==B&&k?(m.draw(F-L,w,{height:v,scrollRatio:y,roundEdges:d.isRoundEdges,fullCanvasWidth:b,windowedCanvasWidth:n}),!s&&function(){var a;S.eve.on("raphael.scroll.start."+m.node.id,function(b){a=b;P.raiseEvent("scrollstart",{scrollPosition:b},c.chartInstance)});S.eve.on("raphael.scroll.end."+m.node.id,function(b){P.raiseEvent("scrollend",{prevScrollPosition:a,scrollPosition:b},c.chartInstance)})}()):m&&m.node&&m.node.hide();C<p?(A.draw(x-C,w+v,{width:C,scrollRatio:C/p,roundEdges:d.isRoundEdges,
fullCanvasWidth:f,windowedCanvasWidth:g}),!u&&function(){var a;S.eve.on("raphael.scroll.start."+A.node.id,function(b){a=b;P.raiseEvent("scrollstart",{scrollPosition:b},c.chartInstance)});S.eve.on("raphael.scroll.end."+A.node.id,function(b){P.raiseEvent("scrollend",{prevScrollPosition:a,scrollPosition:b},c.chartInstance)})}()):A&&A.node&&A.node.hide()},_createLayers:function(){var c=this.components.paper,a,d;Y.mscartesian._createLayers.call(this);d=this.graphics;a=d.datasetGroup;d.parentTaskGroup=
d.parentTaskGroup||c.group("parentTaskGroup",a);d.parentConnectorsGroup=d.parentConnectorsGroup||c.group("parentConnectorsGroup",a);d.parentMilestoneGroup=d.parentMilestoneGroup||c.group("parentMilestoneGroup",a)},_drawDataset:function(){this._setClipping();Y.mscartesian._drawDataset.call(this)},drawLegend:function(){var c=this.config,a=this.components.legend,d=a.config,b=d.width,g=d.height,e=c.marginLeft,h=c.marginTop,n=c.width,f=c.marginRight,p=c.marginBottom,l=c.totalWidth+c.canvasWidth,t=c.totalHeight+
c.canvasHeight,c=c.height;"right"===d.legendPos?(d=t-g,b=n-b-f,g=h+(0>d?0:d)/2):(d=l-b,b=e+(0>d?0:d)/2,g=c-g-p);a.drawLegend(b,g)},_setClipping:function(){var c=this.config,a=this.graphics.datasetGroup,d=this.graphics.datalabelsGroup,b=this.graphics.trackerGroup,g=c.viewPortConfig,e=g.scaleX,g=g.x,h=this.config.animationObj,n=h.dummyAnimElem,f=h.animObj,p=h.animType,h=h.transposeAnimDuration,l=this.components.canvas.config.clip["clip-canvas"].slice(0);this.config.clipSet?(a.animateWith(n,f,{"clip-rect":l},
h,p),d.animateWith(n,f,{"clip-rect":l},h,p),b.animateWith(n,f,{"clip-rect":l},h,p)):(a.attr({"clip-rect":l}),d.attr({"clip-rect":l}),b.attr({"clip-rect":l}));c.xOffset=g*e;a.attr({transform:"T"+-(g*e)+",0"});d.attr({transform:"T"+-(g*e)+",0"});b.attr({transform:"T"+-(g*e)+",0"});this.config.clipSet=!0},_createToolBox:function(){var c=this.components,a=c.yAxis[0],d=this._scrollBar,b=d.get,g=d.add,e,h;(c.chartMenuBar||{}).drawn||(Y.mscartesian._createToolBox.call(this),e=c.tb,h=c.toolBoxAPI,h=h.Scroller,
d.clear(),g({isHorizontal:!0},{scroll:function(a,b){return function(c){a.updateManager.call(a,c,b)}}(this,!0)}),g({isHorizontal:!1},{scroll:function(a,b){return function(c){a.updateManager.call(a,c,b)}}(this,!1)}),g({isHorizontal:!0},{scroll:function(){return function(b){a.manageProcessScroll(b)}}(this,!0)}),d=b()[0],g=b()[1],b=b()[2],c.hScrollBar=c.hScrollBar||(new h(d.conf,1,e.pId)).attachEventHandlers(d.handler),c.vScrollBar=c.vScrollBar||(new h(g.conf,2,e.pId)).attachEventHandlers(g.handler),
c.hProcessScrollBar=c.hProcessScrollBar||(new h(b.conf,3,e.pId)).attachEventHandlers(b.handler))},_preDraw:function(){this._setAxisValuePadding();this._setCategories()},defaultPaletteOptions:function(){var c=arguments;return z.extend2(z.extend2(z.extend2(z.extend2({},c[0]),c[1]),c[2]),c[3])}(W({},z.defaultGaugePaletteOptions),{paletteColors:["AFD8F8 F6BD0F 8BBA00 FF8E46 008E8E D64646 8E468E 588526 B3AA00 008ED6 9D080D A186BE CC6600 FDC689 ABA000 F26D7D FFF200 0054A6 F7941C CC3300 006600 663300 6DCFF6".split(" "),
"AFD8F8 F6BD0F 8BBA00 FF8E46 008E8E D64646 8E468E 588526 B3AA00 008ED6 9D080D A186BE CC6600 FDC689 ABA000 F26D7D FFF200 0054A6 F7941C CC3300 006600 663300 6DCFF6".split(" "),"AFD8F8 F6BD0F 8BBA00 FF8E46 008E8E D64646 8E468E 588526 B3AA00 008ED6 9D080D A186BE CC6600 FDC689 ABA000 F26D7D FFF200 0054A6 F7941C CC3300 006600 663300 6DCFF6".split(" "),"AFD8F8 F6BD0F 8BBA00 FF8E46 008E8E D64646 8E468E 588526 B3AA00 008ED6 9D080D A186BE CC6600 FDC689 ABA000 F26D7D FFF200 0054A6 F7941C CC3300 006600 663300 6DCFF6".split(" "),
"AFD8F8 F6BD0F 8BBA00 FF8E46 008E8E D64646 8E468E 588526 B3AA00 008ED6 9D080D A186BE CC6600 FDC689 ABA000 F26D7D FFF200 0054A6 F7941C CC3300 006600 663300 6DCFF6".split(" ")],bgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],bgAngle:[270,270,270,270,270],bgRatio:["100","100","100","100","100"],bgAlpha:["100","100","100","100","100"],canvasBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],canvasBgAngle:[0,0,0,0,0],canvasBgAlpha:["100","100","100","100","100"],canvasBgRatio:["","","","",""],
canvasBorderColor:["545454","545454","415D6F","845001","68001B"],canvasBorderAlpha:[100,100,100,90,100],gridColor:["DDDDDD","D8DCC5","99C4CD","DEC49C","FEC1D0"],gridResizeBarColor:["999999","545454","415D6F","845001","D55979"],categoryBgColor:["F1F1F1","EEF0E6","F2F8F9","F7F0E6","FFF4F8"],dataTableBgColor:["F1F1F1","EEF0E6","F2F8F9","F7F0E6","FFF4F8"],toolTipBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor:["545454","545454","415D6F","845001","68001B"],baseFontColor:["555555",
"60634E","025B6A","A15E01","68001B"],borderColor:["767575","545454","415D6F","845001","68001B"],borderAlpha:[50,50,50,50,50],legendBgColor:["ffffff","ffffff","ffffff","ffffff","ffffff"],legendBorderColor:["666666","545454","415D6F","845001","D55979"],plotBorderColor:["999999","8A8A8A","6BA9B6","C1934D","FC819F"],plotFillColor:["EEEEEE","D8DCC5","BCD8DE","E9D8BE","FEDAE3"],scrollBarColor:["EEEEEE","D8DCC5","99C4CD","DEC49C","FEC1D0"]})},Y.scrollbase,{taskbarroundradius:0,taskbarfillmix:" { light-10 }, { dark-20 }, { light-50 }, { light-85 }",
taskbarfillratio:"0,8,84,8",showslackasfill:1,dateintooltip:1,tasklabelsalign:"center",datepadding:3,showtasknames:0,showpercentlabel:!1,showhovereffect:1,slackfillcolor:"FF5E5E",connectorextension:10,tasklabelspadding:2,taskdatepadding:3,showlabels:void 0,showtooltip:1,showtaskhovereffect:void 0,useverticalscrolling:1,ganttpanedurationunit:void 0,ganttpaneduration:void 0,showtaskstartdate:void 0,showtaskenddate:void 0,ganttwidthpercent:void 0,showshadow:1});pa&&pa({showpercentlabel:{type:aa,pAttr:"showpercentlabel"},
fontsize:{type:H},alpha:{type:H},showborder:{type:aa},borderthickness:{type:H},borderalpha:{type:H},showHoverEffect:{type:H},hoverFillAlpha:{type:H},slackHoverFillColor:{type:H},slackHoverFillAlpha:{type:aa},showlabels:{type:aa,pAttr:"showtasknames"},slackfillcolor:{pAttr:"slackfillcolor"},showtasklabels:{type:aa,pAttr:"showtasknames"},showtasknames:{type:aa,pAttr:"showlabels"},showconnectorhovereffect:{type:H,pAttr:"showhovereffect"},connectorextension:{type:H},tasklabelspadding:{type:H},taskdatepadding:{type:H},
showstartdate:{type:H,pAttr:"showtaskstartdate"},showenddate:{type:H,pAttr:"showtaskenddate"},showtaskhovereffect:{type:H,pAttr:"showhovereffect"},useverticalscrolling:{type:H},taskbarroundradius:{type:H},showshadow:{type:H}});FusionCharts.register("component",["dataset","Task",{type:"task",configure:function(){var c=W({},this.JSONData);this.__setDefaultConfig();ja(c,this.config,this.chart&&this.chart.config,{task:!0});this._setConfigure()},_setConfigure:function(c){var a=this.config,d=this.chart,
b=d.jsonData,g=b.chart,e=this.JSONData;c=c||e.task;var h=(b.processes||{}).process||[],b=c&&c.length,n=d.components.colorManager,f=d.get("config"),p=d.get("components","numberFormatter"),l=f.taskbarfillmix,t=f.taskbarfillratio,m=f.showslackasfill,s=this.components.data,A,u,k,R,F,D,y,x=f.dateintooltip,w,v,h=h.length,E={right:"right",left:"left",undefined:"center",center:"center"},G,B,C,L,fa,I,J,H,M=d.components.tasksMap={},na=f.style.inCanvasStyle,S,xa,O,P=0;s||(s=this.components.data=[]);a.showlabels=
r(e.showlabels,e.showlabels,e.showname,g.showtasklabels,g.showtasknames,0);if(b)for(d=0;d<b;d+=1)v=c[d],A=P%h,(G=r(v.processid))&&"string"===typeof G&&(G=G.toLowerCase()),O=v.id,B=q(v.alpha,a.alpha),I=r(v.color,a.color,n.getColor("plotFillColor")),C=q(v.borderalpha,a.borderalpha,"100"),L=r(v.bordercolor,a.bordercolor,n.getColor("plotBorderColor")),fa=ga(r(v.label,v.name),""),R=n.parseColorMix(I,l),F=n.parseAlphaList(B.toString(),R.length),D=n.parseRatioList(t,R.length),J=q(v.angle,a.angle),w=s[d]||
(s[d]={config:{}}),w=w.config,w.index=d,w.link=v.link,w.processId=r(v.processid,"__FCDPID__"+A),w.style={color:T(r(v.fontcolor,a.fontcolor,na.color)),fontSize:q(v.fontsize,a.fontsize,na.fontSize)+"px",fontFamily:r(v.font,a.font,na.fontFamily)},V(w.style),w.startMs=p.getDateValue(v.start).ms,w.endMs=p.getDateValue(v.end).ms,k=p.getFormattedDate(w.startMs),u=p.getFormattedDate(w.endMs),w.tAlpha=B,w.tBorderColor=L,w.tBorderAlpha=C,y="",w.percentComplete=A=ia(q(v.percentcomplete,-1),100),w.labelAlign=
E[[r(v.labelalign,f.tasklabelsalign).toLowerCase()]],w.showAsGroup=q(v.showasgroup,0),H=w.showPercentLabel=q(v.showpercentlabel,a.showpercentlabel),q(v.showlabel,v.showname,a.showlabels)&&(y=fa),H&&-1!==A&&(y+=" "+A+"%"),w.percentComplete=A,xa={FCcolor:{color:R.join(),alpha:F,ratio:D,angle:J}},S=n.parseColorMix(r(v.slackfillcolor,a.slackfillcolor),l),S=m?{FCcolor:{color:S.join(),alpha:F,ratio:D,angle:J}}:da,F={FCcolor:{color:n.parseColorMix(r(v.hoverfillcolor,a.hoverfillcolor,f.taskhoverfillcolor,
Z(I,80)),l).join(),alpha:n.parseAlphaList(r(v.hoverfillalpha,a.hoverfillalpha).toString(),R.length),ratio:D,angle:J}},I=N(r(v.hoverbordercolor,a.hoverbordercolor,Z(L,80)),r(v.hoverborderalpha,a.hoverborderalpha,C)),R=m?{FCcolor:{color:n.parseColorMix(Z(r(v.slackhoverfillcolor,a.slackhoverfillcolor,f.slackfillcolor),80),l).join(),alpha:n.parseAlphaList(r(v.slackhoverfillalpha,a.slackhoverfillalpha,"100").toString(),R.length),ratio:D,angle:J}}:da,w.color=X(xa),w.slackColor=X(S),w.hoverFillColor=X(F),
w.hoverBorderColor=I,w.slackHoverColor=X(R),w.showHoverEffect=q(v.showhovereffect,a.showhovereffect,f.showtaskhovereffect,1),w.taskHeight=r(v.height,"35%"),w.topPadding=r(v.toppadding,"35%"),w.showPercentLabel=H,w.endDate=q(v.showenddate,a.showenddate)?u:void 0,w._endDate=u,w.startDate=q(v.showstartdate,a.showstartdate)?k:void 0,w._startDate=k,w.shadow={opacity:K(B,C)/100,inverted:!0},w.id=G,w.taskId=O,w.borderColor=N(L,C),w.borderThickness=q(v.showborder,a.showborder)?q(v.borderthickness,a.borderthickness):
0,v=qa(Q(r(v.tooltext,a.hovertext,a.plottooltext,g.plottooltext))),v=void 0!==v?z.parseTooltext(v,[3,28,29,30,31],{end:u,start:k,label:fa,percentComplete:-1!==A?p.percentValue(A):"",processName:""},a):(""!==fa?fa+(x?", ":""):"")+(x?k+" - "+u:""),w.label=y,w.toolText=v,"string"===typeof O&&(O=O.toLowerCase()),void 0!==O&&(M[O]=s[d]),P+=1;this.visible=q(e.visible,1)},getAxisValuePadding:function(){},draw:function(){var c;c=this.visible;var a=this.chart,d=a.jsonData,b=a.get("config"),g=a.get("config",
"animationObj"),e=g.duration,h=g.dummyObj,n=g.animObj,g=g.animType,f=a.components,p=b.canvasTop,l=f.paper,f=f.xAxis[0],t,m=this.yAxis;t=a.graphics.parentTaskGroup;var s=this.components,A=s.data,u,k,r=s.removeDataArr,F=r&&r.length,D=a.config.dataLabelStyle;u=a.graphics.datalabelsGroup;var y=this.graphics.dataLabelContainer;k={fontFamily:D.fontFamily,fontSize:D.fontSize,lineHeight:D.lineHeight,fontWeight:D.fontWeight,fontStyle:D.fontStyle,color:D.color};var D=function(){y.show();a._animCallBack()},
x=this.graphics,w=x.container,x=x.shadowContainer,s=s.pool||[],v,E,G,B,C,L,z,I,J,H,K,M,P,N,O,T,Q;Q=b.showtooltip;var V=b.datepadding,U=b.viewPortConfig,W=U.x,d=d.processes.process&&d.processes.process.length,U=U.scaleX,X=b.taskbarroundradius,Y=b.showshadow;w||(w=this.graphics.container=l.group("columns",t),c?w.show():w.hide());y||(y=this.graphics.dataLabelContainer=l.group("labels",u),c?y.show():y.hide());a._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",k);x||(x=this.graphics.shadowContainer=
l.group("shadow",t).toBack(),c||x.hide());Q?w.trackTooltip(!0):w.trackTooltip(!1);t=A.length;for(c=Q=0;c<t;c++)E=(k=(u=A[c])&&u.config)&&k.startMs,G=k&&k.endMs,void 0!==u&&void 0!==E&&null!==G&&(B=k.toolText,G=k.taskHeight,E=k.link,M=k.borderThickness,C=k.id,T=k.color,P=!1,Q>d-1&&(Q=0),I=void 0!==k.id?m.getProcessPositionById(C):m.getProcessPositionByIndex(Q),Q++,L=I.height,J=L*(/%/g.test(k.topPadding)&&.01*va(k.topPadding,10))||q(k.topPadding,L),G=k.height=L*(/%/g.test(G)&&.01*va(G,10))||q(G,L),
void 0!==k.id&&m.getProcessPositionById(C),C=k.xPos=f.getAxisPosition(k.startMs)+W*U,v=f.getAxisPosition(k.endMs)+W*U,v=k.width=ua(z=v-C),I=I.bottom+p-L,I=k.yPos=I+ia(J,L-G),N=.5*G,!u.graphics&&(u.graphics={}),O=S.crispBound(C,I,v,G,M),C=O.x,I=O.y,v=O.width,G=O.height,!1!==ma(C,I,v,G)&&(J=u.graphics.element,k.showAsGroup?(L="path",z={path:["M",C,I]},N={path:["M",C,I,"v",G,"L",C+N,I+N,"H",C+v-N,"L",C+v,I+G,"v",-G,"H",C]}):(L="rect",N={x:O.x,y:O.y,width:O.width||1,height:G},z=e?{x:O.x,y:O.y,width:0,
height:G}:N),J&&J&&J.type!==L&&(J.hide(),J=u.graphics.element=null),J||(L=k.showAsGroup?"path":"rect",s.element&&s.element.length&&(J=s.element[0]).type===L?u.graphics.element=J=s.element.shift():(J=u.graphics.element=l[L](w).attr(z).data("dataset",this),P=!0,this.slackElemHandlers(J,a))),L={processId:k.processId,taskId:k.taskId,start:k._startDate,end:k._endDate,showAsGroup:k.showAsGroup,link:k.link,sourceType:"task",percentComplete:-1!==k.percentComplete},-1===k.percentComplete||k.showAsGroup?(u.graphics.taskFill&&
u.graphics.taskFill.hide(),u.graphics.slackElem&&u.graphics.slackElem.hide()):(z=v*k.percentComplete*.01,T=da,H=u.graphics.taskFill,K=u.graphics.slackElem,H||(s.taskFill&&s.taskFill.length?H=u.graphics.taskFill=s.taskFill.shift():(H=u.graphics.taskFill=l.rect(w),this.slackElemHandlers(H,a),P=!0,H.attr({x:C,y:I,height:G,width:e?0:z}))),K||(s.slackElem&&s.slackElem.length?K=u.graphics.slackElem=s.slackElem.shift():(K=u.graphics.slackElem=l.rect(w),this.slackElemHandlers(K,a),P=!0,K.attr({x:C,y:I,width:0,
height:G}))),H.show().animateWith(h,n,{x:C,y:I,height:G,width:z,r:0},e,g),H.attr({fill:k.color,cursor:E?"pointer":"",ishot:!0,"stroke-width":0}).data("chart",a).data("dataObj",u).data("dataset",this).tooltip(B),K.show().animateWith(h,n,{x:C+z||1,y:I,width:v-z,height:G,r:0},e,g),K.attr({fill:k.slackColor,cursor:E?"pointer":"",ishot:!0,"stroke-width":0}),H&&H.data("eventArgs",L),K&&K.data("eventArgs",L).data("dataObj",u).data("dataset",this).data("chart",a)),J.show().animateWith(h,n,N,e,g).attr({fill:T,
stroke:k.borderColor,cursor:E?"pointer":"",ishot:!0,r:X,"stroke-width":M}).shadow({opacity:Y},x).tooltip(B).data("dataObj",u).data("chart",a).data("dataset",this).data("eventArgs",L),e&&P&&(y.hide(),J.animateWith(h,n,{width:O.width||1},e,g,D)),M=u.graphics.label,la(k.label)&&""!==k.label?(B=k.labelAlign,M||(s.valElem&&s.valElem.length?M=u.graphics.label=s.valElem.shift():(M=u.graphics.label=l.text(y).data("dataset",this),this.slackElemHandlers(M,a))),M.show().animateWith(h,n,{x:C+v*Ea[B]+Fa[B],y:I-
.5*Ca(k.style.lineHeight,10)-b.tasklabelspadding},e,g).attr({text:k.label,"text-anchor":Da[B],direction:b.textDirection,cursor:E?"pointer":"",ishot:!0}).css(k.style).data("dataObj",u).data("dataObj",u).data("eventArgs",L)):M&&M.hide().attr({"text-bound":[]}),B=u.graphics.startLabel,la(k.startDate)&&""!==k.startDate?(B||(s.startValElem&&s.startValElem.length?B=u.graphics.startLabel=s.startValElem.shift():(B=u.graphics.startLabel=l.text(y).data("dataset",this),this.slackElemHandlers(B,a))),B.show().animateWith(h,
n,{x:C-2-V,y:I+.5*G},e,g).attr({text:k.startDate,"text-anchor":"end",cursor:E?"pointer":"",ishot:!0,direction:b.textDirection}).css(k.style).data("dataObj",u).data("chart",a).data("eventArgs",L)):B&&B.hide().attr({"text-bound":[]}),B=u.graphics.endLabel,la(k.endDate)&&""!==k.endDate?(B||(s.endValElem&&s.endValElem.length?B=u.graphics.endLabel=s.endValElem.shift():(B=u.graphics.endLabel=l.text(y).data("dataset",this),this.slackElemHandlers(B,a))),B.show().animateWith(h,n,{x:C+v+2+V,y:I+.5*G},e,g).attr({text:k.endDate,
cursor:E?"pointer":"",ishot:!0,direction:b.textDirection,"text-anchor":"start"}).css(k.style).data("dataObj",u).data("chart",a).data("eventArgs",L)):B&&B.hide().attr({"text-bound":[]})));this.drawn=!0;for(c=0;c<F;c++)this._removeDataVisuals(r.shift())},slackElemHandlers:function(c,a){var d=this;c&&c.click(function(b){M.call(this,a,b)}).hover(function(b){var c=this.data("dataObj");M.call(this,a,b,"DataPlotRollOver");c.config.showHoverEffect&&d.taskHoverHandler.call(this,a)},function(b){var c=this.data("dataObj");
M.call(this,a,b,"DataPlotRollOut");c.config.showHoverEffect&&d.taskHoverOutHandler.call(this,a)})},taskHoverHandler:function(){var c=this.data("dataObj")||{},a=this.data("dataset").components.data,c=c.config||{},d=c.index,a=a[d]&&a[d].graphics,d={fill:c.hoverFillColor,stroke:c.hoverBorderColor};-1===c.percentComplete||c.showAsGroup||(a.slackElem.attr({fill:c.slackHoverColor}),a.taskFill.attr({fill:c.hoverFillColor}),delete d.fill);a.element.attr(d)},taskHoverOutHandler:function(){var c=this.data("dataObj")||
{},a=(this.data("dataset")||{}).components.data,c=c.config||{},d=c.index,a=a[d]&&a[d].graphics,d={fill:c.color,stroke:c.borderColor,"stroke-width":c.borderThickness,"stroke-dasharray":c.dashedStyle};a&&(-1===c.percentComplete||c.showAsGroup||(a.slackElem.attr({fill:c.slackColor}),a.taskFill.attr({fill:c.color}),delete d.fill),a.element.attr(d))},slackElemClickHandler:function(c){var a=this.data("chart");M.call(this,a,c)},_removeDataVisuals:function(c){var a=this.components.pool||(this.components.pool=
{}),d,b,g;if(c)for(d in b=c.graphics,b)c=a[d]||(a[d]=[]),g=b[d],g.hide&&"function"===typeof g.hide&&(g.attr({"text-bound":[]}),g.hide(),g.transform&&g.transform("")),c.push(b[d])}},"column",{showpercentlabel:void 0,showlabels:void 0,showborder:1,borderthickness:1,font:"",fontcolor:"",fontsize:"",color:"",alpha:"100",angle:270,slackfillcolor:void 0,borderalpha:"100",hoverfillcolor:"",hoverfillalpha:"100",slackhoverfillalpha:"100",showstartdate:void 0,showenddate:void 0}]);FusionCharts.register("component",
["dataset","Milestone",{type:"Milestone",configure:function(){var c=this.config,a=W({},this.JSONData);this.__setDefaultConfig();ja(a,c,{milestones:!0});this._setConfigure()},_setConfigure:function(c){var a=this.chart,d=this.JSONData,b=(c=c||d.milestone)&&c.length,g=a.components.colorManager,e=a.get("config"),h=a.get("components","numberFormatter"),n=this.components.data,f=a.config.style,p=f.inCanvasStyle,a=a.components.tasksMap,l,t,m,s,A,u,k,R;n||(n=this.components.data=[]);for(t=0;t<b;t+=1)m=c[t],
(l=n[t])||(l=n[t]={config:{}}),l=l.config,R=ga(m.taskid,"").toLowerCase(),A=r(m.shape,"polygon").toLowerCase(),s=q(m.numsides,5),u=0,"star"===A?u=.4:(ta(s),ta(s).split("-")),A=r(m.color,g.getColor("legendBorderColor")),k=qa(Q(r(m.tooltext,m.hovertext,e.milestonetooltext))),void 0!==k&&a[R]?(f=a[R].config,k=z.parseTooltext(k,[28,32,33,34,35,36],{date:h.getFormattedDate(m.date),taskStartDate:f._startDate,taskEndDate:f._endDate,taskLabel:f.label,taskPercentComplete:-1!==f.percentComplete?h.percentValue(f.percentComplete):
"",processName:""},m)):(f=(new Date(m.date)).getTime(),k=isNaN(f)?m.date:h.getFormattedDate(m.date)),f={color:T(r(m.fontcolor,e.milestonefontcolor,p.color)),fontSize:q(m.fontsize,e.milestonefontsize,p.fontSize)+"px",fontFamily:r(m.font,e.milestonefont,p.fontFamily),fontWeight:q(m.fontbold,e.milestonefontbold,0)&&"bold"||"normal",fontStyle:q(m.fontitalic,e.milestonefontitalic,0)&&"italic"||"normal"},V(f),l.numSides=s,l.startAngle=q(m.startangle,90),l.radius=m.radius,l.origDate=m.date,l.date=h.getDateValue(m.date),
l.fillColor=T(A),l.fillAlpha=.01*q(m.fillalpha,m.alpha,100),l.borderColor=T(r(m.bordercolor,A)),l.borderAlpha=.01*q(m.borderalpha,m.alpha,100),l.displayValue=Q(m.label),l.style=f,l.hoverFillColor=T(r(m.hoverfillcolor,e.milestonehoverfillcolor,Z(A,80))),l.hoverFillAlpha=.01*q(m.hoverfillalpha,e.milestonehoverfillalpha,m.fillalpha,m.alpha,100),l.hoverBorderColor=T(r(m.hoverbordercolor,e.milestonehoverbordercolor,Z(r(m.bordercolor,A),80))),l.hoverBorderAlpha=.01*q(m.hoverborderalpha,e.milestonehoverborderalpha,
m.borderalpha,m.alpha,100),l.showHoverEffect=q(m.showhovereffect,e.showmilestonehovereffect,e.showhovereffect,1),l.depth=u,l.taskId=R,l.borderThickness=q(m.borderthickness,1),l.link=m.link,l.toolText=k;this.visible=q(d.visible,1)},draw:function(){var c=this.chart,a=c.components,d=a.xAxis[0],b=this.components.data,g=a.tasksMap,e=c.config,h=c.get("config","animationObj"),n=h.duration,f=c.graphics.datalabelsGroup,p=this.graphics.container,l=c.graphics.parentMilestoneGroup,t=this.graphics.dataLabelContainer,
m=this.visible,a=a.paper,s=this.components.removeDataArr||[],A=s.length,u=h.dummyObj,k=h.animObj,h=h.animType,r,F,D,y,x,w,v,E,G;D=e.showtooltip;var B=this.components.pool||[];p||(p=this.graphics.container=a.group("milestone",l),m?p.show():p.hide());t||(t=this.graphics.dataLabelContainer=a.group("labels",f),m?t.show():t.hide());D?p.trackTooltip(!0):p.trackTooltip(!1);G=b&&b.length;for(E=0;E<G;E+=1)if(f=b[E])m=f.config,r=g[m.taskId],!f.graphics&&(f.graphics={}),l=f.graphics,D=l.element,v=l.label,r?
(F=r.config,w=S.animation({"fill-opacity":m.fillAlpha,"stroke-opacity":m.borderAlpha},n,h),r={sides:m.sides,date:m.origDate,radius:m.radius,taskId:m.taskId,toolText:m.toolText,link:m.link,numSides:m.numSides},y=d.getPixel(m.date.ms),x=F.yPos+.5*F.height,F=q(m.radius,.6*F.height),!1!==ma(y,x,F)&&(F=[m.numSides,y,x,F,m.startAngle,m.depth],D||(D=B.element&&B.element.length?l.element=B.element.shift():l.element=a.polypath(p).click(this.clickHandler(c)).hover(this.rollOverHandler(c),this.rollOutHandler(c))),
D.show().animateWith(u,k,{polypath:F},n,h).attr({fill:m.fillColor,"fill-opacity":n?0:m.fillAlpha,stroke:m.borderColor,"stroke-opacity":n?0:m.borderAlpha,groupId:"gId"+E,ishot:!0,cursor:m.link?"pointer":"","stroke-width":m.borderThickness}).tooltip(m.toolText).data("eventArgs",r).data("dataObj",f),""!==m.displayValue&&void 0!==m.displayValue&&(v||(v=B.label&&B.label.length?l.label=B.label.shift():l.label=a.text(t).click(this.clickHandler(c)).hover(this.rollOverHandler(c),this.rollOutHandler(c))),v.show().animateWith(u,
k,{x:y,y:x},n,h).attr({text:m.displayValue,groupId:"gId"+E,cursor:m.link?"pointer":"",ishot:!0,direction:e.textDirection,"text-anchor":"middle"}).css(m.style).tooltip(m.toolText).data("eventArgs",r).data("dataObj",f)),n&&w&&l.element.animate(w.delay(n)))):(D&&D.hide(),v&&v.hide().attr({"text-bound":[]}));for(E=0;E<A;E++)this._removeDataVisuals(s.shift())},clickHandler:function(c){return function(a){M.call(this,c,a,"MilestoneClick")}},rollOverHandler:function(c){return function(a){var d=this.data("dataObj"),
b=d.config;M.call(this,c,a,"MilestoneRollOver");b.showHoverEffect&&d.graphics.element.attr({fill:b.hoverFillColor,stroke:b.hoverBorderColor,"fill-opacity":b.hoverFillAlpha,"stroke-opacity":b.hoverBorderAlpha})}},rollOutHandler:function(c){return function(a){var d=this.data("dataObj"),b=d.config;M.call(this,c,a,"MilestoneRollOut");b.showHoverEffect&&d.graphics.element.attr({fill:b.fillColor,stroke:b.borderColor,"fill-opacity":b.fillAlpha,"stroke-opacity":b.borderAlpha})}}},"Task",{showpercentlabel:0,
showstartdate:0,showenddate:0,showlabels:void 0,showborder:1,borderthickness:1,showHoverEffect:1,slackFillColor:"FF5E5E",font:"",fontcolor:"",fontsize:"",color:"",alpha:"100",bordercolor:"",borderalpha:"100",hoverFillColor:"",hoverFillAlpha:"100",slackHoverFillColor:10,slackHoverFillAlpha:"100"}]);FusionCharts.register("component",["dataset","Connectors",{configure:function(){var c=this.config,a=W({},this.JSONData);this.__setDefaultConfig();ja(a,c,{connector:!0});this._setConfigure()},_setConfigure:function(c){var a=
this.config,d=this.chart,b=this.JSONData,g=(c=c||b.connector)&&c.length||0,e=d.components.colorManager,d=d.get("config"),h=this.components.data,n,f,p,l,t,m,s;h||(h=this.components.data=[]);for(n=0;n<g;n+=1)p=c[n],(f=h[n])||(f=h[n]={config:{}}),!f.config&&(f.config={}),f=f.config,l=r(p.color,a.color,e.getColor("plotBorderColor")),t=q(p.alpha,a.alpha,100),m=q(p.thickness,a.thickness,1),s=q(p.isdashed,a.isdashed,1),f.fromTaskId=ga(p.fromtaskid,"").toLowerCase(),f.toTaskId=ga(p.totaskid,"").toLowerCase(),
f.fromTaskConnectStart=q(p.fromtaskconnectstart,0),f.toTaskConnectStart=q(p.totaskconnectstart,1),f.color=N(l),f.alpha=.01*t,f.link=p.link,f.showHoverEffect=q(p.showhovereffect,a.showhovereffect,d.showconnectorhovereffect,1),f.hoverColor=N(r(p.hovercolor,a.hovercolor,d.connectorhovercolor,Z(l,80)),q(p.hoveralpha,a.hoveralpha,d.connectorhoveralpha,t)),f.hoverThickness=q(p.hoverthickness,a.hoverthickness,d.connectorhoverthickness,m),f.thickness=m,f.dashedStyle=s?ha(q(p.dashlen,a.dashlen,5),q(p.dashgap,
a.dashgap,m),m):"none";this.visible=q(b.visible,1)},draw:function(){var c=this.chart,a=c.components,d=this.components.data,b=a.paper,g=d.length,a=a.tasksMap,e=c.config.connectorextension,h=c.graphics.parentConnectorsGroup,n=this.graphics.container,f=this.components.pool||[],p=this.visible,l=c.get("config","animationObj"),t=l.duration,m=l.dummyObj,s=l.animObj,l=l.animType,A=this.components.removeDataArr||[],u=A.length,k,q,r,D,y,x,w,v,E,G,B,C,z,H,I,J;n||(n=this.graphics.container=b.group("connectors",
h),p?n.show():n.hide());for(J=0;J<=g;J+=1)if(h=d[J])if(B=h.config,!h.graphics&&(h.graphics={}),p=h.graphics,k=B.fromTaskId&&B.fromTaskId.toLowerCase(),q=B.toTaskId&&B.toTaskId.toLowerCase(),k=a[k],r=a[q],q=p.connector,k&&r){if(C=k.config,v=r.config,k=C.yPos+.5*C.height,r=v.yPos+.5*v.height,D=k==r,y=C.xPos,x=C.xPos+C.width,w=v.xPos,v=v.xPos+v.width,!1!==ma(y,x,w,v)){G=0;0===B.fromTaskConnectStart&&1===B.toTaskConnectStart&&(G=1);0===B.fromTaskConnectStart&&0===B.toTaskConnectStart&&(G=2);1===B.fromTaskConnectStart&&
1===B.toTaskConnectStart&&(G=3);1===B.fromTaskConnectStart&&0===B.toTaskConnectStart&&(G=4);if(D)switch(C=C.height,G){case 1:E=(w-x)/10;E=["M",x,k,x+E,k,"L",x+E,k,x+E,k-C,"L",x+E,k-C,w-E,k-C,"L",w-E,k-C,w-E,k,"L",w-E,k,w,r];break;case 2:E=["M",x,k,x+e,k,"L",x+e,k,x+e,k-C,"L",x+e,k-C,v+e,k-C,"L",v+e,r-C,v+e,r,v,r];break;case 3:E=["M",y,k,y-e,k,"L",y-e,k,y-e,k-C,"L",y-e,k-C,w-e,k-C,"L",w-e,k-C,w-e,k,"L",w-e,k,w,k];break;case 4:E=["M",y,k,y-e,k,"L",y-e,k,y-e,k-C,"L",y-e,k-C,v+e,k-C,"L",v+e,k-C,v+e,k,
"L",v+e,k,v,k]}else switch(G){case 1:E=x<=w?["M",x,k,x+(w-x)/2,k,"L",x+(w-x)/2,k,x+(w-x)/2,r,"L",x+(w-x)/2,r,w,r]:["M",x,k,x+e,k,"L",x+e,k,x+e,k+(r-k)/2,"L",x+e,k+(r-k)/2,w-e,k+(r-k)/2,"L",w-e,k+(r-k)/2,w-e,r,"L",w-e,r,w,r];break;case 2:E=0>v-x?0:v-x;E=["M",x,k,x+e+E,k,"L",x+e+E,k,x+e+E,r,"L",x+e+E,r,v,r];break;case 3:E=0>y-w?0:y-w;E=["M",y,k,y-e-E,k,"L",y-e-E,k,y-e-E,r,"L",y-e-E,r,w,r];break;case 4:E=y>v?["M",y,k,y-(y-v)/2,k,"L",y-(y-v)/2,k,y-(y-v)/2,r,"L",y-(y-v)/2,r,v,r]:["M",y,k,y-e,k,"L",y-e,
k,y-e,k+(r-k)/2,"L",y-e,k+(r-k)/2,v+e,k+(r-k)/2,"L",v+e,k+(r-k)/2,v+e,r,"L",v+e,r,v,r]}q||(q=f.connector&&f.connector.length?p.connector=f.connector.shift():p.connector=b.path(n),t?(I=S.animation({"stroke-opacity":B.alpha},t,l),z=0,H=t):z=B.alpha);q.show().animateWith(m,s,{path:E},t,l).attr({stroke:B.color,"stroke-opacity":z,"stroke-width":B.thickness,"stroke-dasharray":B.dashedStyle});I&&q.animate(I.delay(H||0));q={fromTaskId:B.fromTaskId,toTaskId:B.toTaskId,fromTaskConnectStart:B.fromTaskConnectStart,
toTaskConnectStart:B.toTaskConnectStart,link:B.link,sourceType:"connector"};k=p.tracker;k||(k=f.tracker&&f.tracker.length?p.tracker=f.tracker.shift():p.tracker=b.path(n).click(this.connectorClick(c)).hover(this.rollOverHandler(c),this.rollOutHandler(c)));k.attr({path:E,stroke:da,"stroke-width":K(B.thickness,10),ishot:!0,cursor:B.link?"pointer":""}).data("dataObj",h).data("eventArgs",q)}}else q&&q.hide();for(J=0;J<u;J++)this._removeDataVisuals(A.shift())},connectorClick:function(c){return function(a){M.call(this,
c,a,"ConnectorClick")}},rollOverHandler:function(c){return function(a){var d=this.data("dataObj"),b=d.config,g=c.components.tasksMap,e=g[b.fromTaskId],g=g[b.toTaskId],h={stroke:b.hoverColor,"stroke-dasharray":b.dashedStyle,"stroke-width":b.hoverThickness},d=d.graphics.connector;M.call(this,c,a,"ConnectorRollOver");b.showHoverEffect&&(sa([e,g],function(a){var b={fill:a.config.hoverFillColor,stroke:a.config.hoverBorderColor},c=a.graphics.slackElem,d=a.graphics.element,e=a.graphics.taskFill;a.config.percentComplete&&
!a.config.showAsGroup&&(c&&c.attr({fill:a.config.slackHoverColor}),e&&e.attr({fill:a.config.hoverFillColor,stroke:a.config.hoverBorderColor}),delete b.fill);d&&d.attr(b)}),d&&d.attr(h))}},rollOutHandler:function(c){return function(a){var d=this.data("dataObj"),b=d.config,g=c.components.tasksMap,e=g[b.fromTaskId],g=g[b.toTaskId],h={stroke:b.color,"stroke-width":b.thickness,"stroke-dasharray":b.dashedStyle},d=d.graphics.connector;M.call(this,c,a,"ConnectorRollOut");b.showHoverEffect&&(sa([e,g],function(a){var b=
{fill:a.config.color,stroke:a.config.borderColor,"stroke-width":a.config.borderThickness,"stroke-dasharray":a.config.dashedStyle},c=a.graphics.slackElem,d=a.graphics.element,e=a.graphics.taskFill;a.config.percentComplete&&!a.config.showAsGroup&&(c&&c.attr({fill:a.config.slackColor}),e&&e.attr({fill:a.config.color}),delete b.fill);d&&d.attr(b)}),d&&d.attr(h))}}},"Task",{isdashed:1,thickness:1}]);FusionCharts.get("component",["axis","ganttCommon",{_drawPlotLine:function(){var c=this.config,a=this.chart,
d=c.canvas,b=a.config,g=c.axisData.ganttPlotLineContainer,e=d.canvasBottom||b.canvasBottom,h=d.canvasLeft||b.canvasLeft,n=d.canvasRight||b.canvasRight,f=d.canvasTop||b.canvasTop,p=a.components.paper,l=c.gridArr,d=this.graphics.line||[],b=c.animateAxis,t,m=0,s,r,u=[],k,q;t=a.get("config","animationObj");k=t.animObj;q=t.dummyObj;a=t.transposeAnimDuration;t=t.animType;c={"stroke-dasharray":c.plotLineDashStyle,"stroke-width":c.plotLineThickness,stroke:c.plotLineColor};s=0;for(r=l.length;s<r;s+=1)void 0!==
l[s].x?u.push("M",l[s].x,f,"L",l[s].x,e):u.push("M",h,l[s].y,"L",n,l[s].y);d[m]?(g=d[m].graphics,a&&b?g.animateWith(q,k,{path:u},a,t):g.attr({path:u}),g.attr(c)):(g=p.path(u,g),g.attr(c),d[m]={},d[m].graphics=g);s=m+1;for(r=d.length;s<r;s+=1)d[s].graphics.attr({path:"M0,0"});this.graphics.line=d},_drawPlotBand:function(){},translateAxis:function(c,a){var d=this.config,b=d.axisData,g=d.isVertical,e=b.lastTranslate||(b.lastTranslate={x:0,y:0}),h=b.ganttPlotHoverBandContainer,n,f;n=void 0!==c?c-e.x:
0;f=void 0!==a?a-e.y:0;e.x=void 0!==c?c:e.x;e.y=void 0!==a?a:e.y;b.labelContainer&&b.labelContainer.translate(n,f);b.hotContainer&&b.hotContainer.translate(n,f);b.headerContainer&&b.headerContainer.translate(n,0);g?(b.ganttPlotLineContainer&&b.ganttPlotLineContainer.translate(0,f),h&&h.translate(0,f)):(b.ganttPlotLineContainer&&b.ganttPlotLineContainer.translate(n,0),h&&h.translate(n,0),this.setAxisConfig({animateAxis:!1}),d.drawTrendLines&&this._drawTrendLine(),this.setAxisConfig({animateAxis:!0}))},
resetTransletAxis:function(){var c=this.config.axisData,a;a={transform:"t0,0"};c.lastTranslate={x:0,y:0};c.labelContainer&&c.labelContainer.attr(a);c.headerContainer&&c.headerContainer.attr(a);c.ganttPlotLineContainer&&c.ganttPlotLineContainer.attr(a);c.ganttPlotHoverBandContainer&&c.ganttPlotHoverBandContainer.attr(a);c.hotContainer&&c.hotContainer.attr(a)},_drawProcessAndDataTableStyleParser:function(c){var a=this.config.axisData,d=this.chart,b=d.linkedItems.smartLabel,g=d.components.colorManager,
e=a.labels.style,h=c.elem||{},n=c.dimension,f=h._attrib||{},p=n.left,l=n.right,t=n.top,m=n.bottom,s,A,u,k,R,F,D,y,x,w,v,E,G;switch(c.type){case "category":case "datatable":case "process":s=r(f.font,e.fontFamily);A=r(f.fontsize,e.fontSize).replace(/px/i,"")+"px";k=r(Number(f.isitalic)?"italic":void 0,e.fontStyle);R=N(r(f.bgcolor?T(f.bgcolor):void 0,g.getColor("categoryBgColor")),q(f.bgalpha,100));v=r(f.fontcolor?T(f.fontcolor):void 0,e.color);E=q(f.isunderline,0)&&"underline"||"none";x=r(f.valign,
"center").toLowerCase();w=r(f.align,"middle").toLowerCase();y=h.drawLabel||"";u=r(Number(f.isbold)?"bold":void 0,e.fontWeight);G=h.link;break;case "header":s=r(f.headerfont,e.fontFamily),A=r(f.headerfontsize,e.fontSize).replace(/px/i,"")+"px",u=r(1===Number(f.headerisbold)?"bold":void 0===f.headerisbold?"bold":void 0,e.fontWeight),v=r(f.headerfontcolor?T(f.headerfontcolor):void 0,e.color),E=q(f.headerisunderline,0)&&"underline"||"none",k=r(f.headerisitalic?"italic":void 0,e.fontStyle),R=N(r(f.headerbgcolor?
T(f.headerbgcolor):void 0,g.getColor("categoryBgColor")),q(f.headerbgalpha,100)),x=r(f.headervalign,"center").toLowerCase(),w=r(f.headeralign,"middle").toLowerCase(),y=h.drawLabel||"",G=h.headerlink}switch(c.type){case "category":a.gridLinePath+="M"+p+","+t+"L"+p+","+m+"L"+l+","+m;u=r(1===Number(f.isbold)?"bold":void 0===f.isbold?"bold":void 0,e.fontWeight);break;case "datatable":case "process":a.gridLinePath+="M"+p+","+m+"L"+l+","+m+"L"+l+","+t;break;case "header":a.gridLineHeaderPath+="M"+p+","+
m+"L"+l+","+m+"L"+l+","+t}g=r(h._attrib.hoverbandcolor,a.hoverColor);f=q(h._attrib.hoverbandalpha,a.hoverAlpha);"left"===w?(F=p+2,w="start"):"right"===w?(F=p+(l-p)-2,w="end"):(w="middle",F=p+(l-p)/2);"top"===x?D=t-2:"bottom"===x?D=t+(m-t)-2:(x="center",D=t+(m-t)/2);e={fontFamily:s,fontSize:A,fontWeight:u,fontStyle:k,color:v,textDecoration:E};s=V(e);s=Number(s.replace(/px/i,""));s=m-t>s?m-t:s;b.useEllipsesOnOverflow(d.config.useEllipsesWhenOverflow);b.setStyle(e);d=b.getSmartText(y,l-p,s);e={posAttr:{x:F,
y:D},textAttr:{text:d.text,"text-anchor":w,"vertical-align":x,cursor:G?"pointer":"default"},css:e,rectAttr:{x:p,y:t,width:p<l?l-p:0,height:t<m?m-t:0},rectFill:{fill:R,"stroke-width":0,cursor:G?"pointer":"default"},eventArgs:{isHeader:"header"===c.type,label:y,vAlign:x,align:w,link:G,id:h.id},tooltext:d.oriText};"datatable"===c.type||"process"===c.type||"category"===c.type?(l=N(g,f),p=q(h._attrib.showhoverband,a.useHover),a=q(h._attrib.showganttpanehoverband,a.usePlotHover,p),e.dataArgs={rollOverColor:l,
useHover:p,usePlotHover:a,dimension:n,hoverEle:h,type:c.type,pos:c.pos,axis:this,groupId:c.elemIndex}):e.dataArgs={rollOverColor:void 0,useHover:0,usePlotHover:0,dimension:n,hoverEle:h,type:c.type,pos:c.pos,axis:this,groupId:c.elemIndex};return e},_drawProcessAndDataTableElement:function(c){var a=this,d=a.config,b=d.axisData,g=a.chart,e=g.components,h=a.components.categoryElement||[],n=b.hoverElemsArr||(b.hoverElemsArr=[]),f=e.paper,e=c.elemIndex,p=b.labelHoverEventName,d=d.animateAxis,l,t,m,s,r,
u,k=g.config.showtooltip,q,F=function(a){M.call(this,g,a,p.click)},D=function(b){ea=clearTimeout(ea);if(!U||U.removed)U=null;U&&a._gridOutHandler.call(U);a._gridHoverHandler.call(this);M.call(this,g,b,p.rollOver)},y=function(b){U=this;ea=clearTimeout(ea);ea=setTimeout(function(){a._gridOutHandler.call(U)},500);M.call(U,g,b,p.rollOut)};l=g.get("config","animationObj");r=l.animObj;u=l.dummyObj;t=l.transposeAnimDuration;q=l.animType;"header"===c.type?(l=b.headerBackContainer,m=b.headerTextContainer):
(l=b.labelBackContainer,m=b.labelTextContainer);b=a._drawProcessAndDataTableStyleParser(c);h[e]?(f=h[e].graphics.label,s=h[e].graphics.rect,l.appendChild(s),m.appendChild(f),t&&d?(s.animateWith(u,r,b.rectAttr,t,q),f.animateWith(u,r,b.posAttr,t,q)):(s.attr(b.rectAttr),f.attr(b.posAttr)),s.attr(b.rectFill),f.attr(b.textAttr).css(b.css)):(s=f.rect(b.rectAttr,l),f=f.text(b.posAttr,m),f.attr(b.textAttr).css(b.css),s.attr(b.rectFill),h[e]={},h[e].graphics={},h[e].config={},h[e].graphics.label=f,h[e].graphics.rect=
s,s.hover(D,y).click(F),f.hover(D,y).click(F));"header"!==c.type&&(n[c.pos]||(n[c.pos]=[]),n[c.pos].push({bgElem:s,bgColor:b.rectFill.fill}));s.data("dataObj",c.elem).data("eventArgs",b.eventArgs).data("data",b.dataArgs);f.data("dataObj",c.elem).data("eventArgs",b.eventArgs).data("data",b.dataArgs).tooltip(b.tooltext).trackTooltip(k?!0:!1);a.components.categoryElement=h},_drawGridLine:function(){var c=this.config,a=c.axisData,d=this.chart,b=d.components.paper,g=this.graphics.gridLine||[],e=c.animateAxis,
h,n,f=0,p=0,l=2,t,m,s;h=d.get("config","animationObj");m=h.animObj;s=h.dummyObj;d=h.transposeAnimDuration;h=h.animType;for(c={"stroke-dasharray":c.lineDashStyle,"stroke-width":c.lineThickness,stroke:c.lineColor};p<l;p+=1){if(0===p)t=a.gridLinePath,n=a.labelLineContainer;else if(t=a.gridLineHeaderPath,n=a.headerLineContainer,!t)continue;g[f]?(n=g[f].graphics,d&&e?n.animateWith(s,m,{path:t},d,h):n.attr({path:t}),n.attr(c)):(n=b.path(t,n),n.attr(c),g[f]={},g[f].graphics=n);f+=1}p=f;for(l=g.length;p<
l;p+=1)g[p].graphics.attr({path:"M0,0"});this.graphics.gridLine=g},_gridHoverHandler:function(){var c=this.data("data"),a=c.type,d=c.dimension,b=c.axis,g=b.chart,e=g.config,h=g.components.paper,n=b.config.axisData,g=n.hoverElemsArr||[],n=n.ganttPlotHoverBandContainer,b=b.graphics.plotHoverElement||(b.graphics.plotHoverElement=[]),a="category"===a?{x:d.left,y:e.canvasTop,width:d.left<d.right?d.right-d.left:0,height:e.height,fill:c.rollOverColor,"stroke-width":0}:{y:d.top,x:e.canvasLeft,height:d.top<
d.bottom?d.bottom-d.top:0,width:e.width,fill:c.rollOverColor,"stroke-width":0};c.usePlotHover&&(b[0]?b[0].attr(a).show():b[0]=h.rect(a,n));if(c.useHover&&g[c.pos])for(a=0,d=g[c.pos].length;a<d;a+=1)g[c.pos][a].bgElem.attr({fill:c.rollOverColor})},_gridOutHandler:function(){var c=this.data("data"),a=c.axis,d=a.config.axisData.hoverElemsArr||[],a=a.graphics.plotHoverElement||[],b,g;c.usePlotHover&&a[0]&&a[0].hide();if(c.useHover&&d[c.pos])for(a=0,b=d[c.pos].length;a<b;a+=1)g=d[c.pos][a],g.bgElem.attr({fill:g.bgColor})},
_disposeExtraProcessAndDataTableElement:function(c){var a=this.components.categoryElement||[],d;for(d=a.length;c<d;c+=1)a[c].graphics.label.attr({text:""}),a[c].graphics.rect.attr({x:0,y:0,width:0,heigth:0})}},"cartesian"]);FusionCharts.get("component",["axis","time",{configure:function(){var c=this.config,a=c.axisData,d=c.rawAttr,b=this.chart,g=b.jsonData.chart,b=b.components.colorManager;FusionCharts.register("component",["axis","cartesian"]).prototype.configure.call(this);c.plotLineColor=c.lineColor=
N(r(g.ganttlinecolor,b.getColor("gridColor")),q(g.ganttlinealpha,100));c.plotLineThickness=c.lineThickness=q(g.ganttlinethickness,1);c.plotLineDashStyle=c.lineDashStyle=q(g.ganttlinedashed,0)?ha(q(g.ganttlinedashlen,1),g.ganttlinedashgap,c.lineThickness):"none";a.hoverColor=r(g.categoryhoverbandcolor,g.hoverbandcolor,b.getColor("gridColor"));a.hoverAlpha=q(g.categoryhoverbandalpha,g.hoverbandalpha,30);a.useHover=q(g.showcategoryhoverband,g.showhoverband,g.showhovereffect,1);a.usePlotHover=q(g.showganttpaneverticalhoverband);
a.trendlinesDashLen=q(d.trendlinesDashLen,3);a.trendlinesDashGap=q(d.trendlinesDashGap,3);a.gridLineHeaderPath="";a.gridLinePath=""},setCategory:function(c){var a;a=this.chart.get("components").numberFormatter;var d=this.config,b=d.axisData,g=d.axisRange,e=d.startPad||0,h=d.endPad||0,n,f,d=Infinity,p=-Infinity,l,t;b.categories={};if(c){b.hasCategory=1;b=b.categories.category=W({},c);this._extractAttribToEnd(b,{});for(l in b)if(b.hasOwnProperty(l)&&"_attrib"!==l)for(t=0,c=b[l].category.length;t<c;t+=
1)n=b[l].category[t],f=a.getDateValue(n.start).ms,n=a.getDateValue(n.end).ms,isNaN(f)&&(f=void 0),f>p&&(p=f),f<=d&&(d=f),isNaN(n)&&(n=void 0),n>p&&(p=n),n<=d&&(d=n);a=p+h;g.min=Number($(d-e,10));g.max=Number($(a,10));g.tickInterval=Number($(1,10))}else b.hasCategory=0},_drawComponents:function(){var c=this.config;this._drawCategories();c.drawPlotlines&&this._drawPlotLine();c.drawPlotBand&&this._drawPlotBand();c.drawTrendLines&&this._drawTrendLine()},_drawCategories:function(){var c=this.config,a=
c.axisData,d=(a.axisDimention||{}).y,b=a.totalHeight||0,g=this.chart,e=g.components,h=g.config,n=h.viewPortConfig,f=e.paper,e=e.numberFormatter,p=c.canvas,l=c.gridArr||(c.gridArr=[]),l=p.canvasLeft||h.canvasLeft,t=p.canvasTop||h.canvasTop,m=p.canvasHeight||h.canvasHeight,s=p.canvasWidth||h.canvasWidth,h=a.lastTranslate||(a.lastTranslate={x:0,y:0}),r=g.graphics,q=r.axisBottomGroup,k,p=0,z,F,D,y,x;F=g.get("config","animationObj");g=F.animObj;D=F.dummyObj;y=F.transposeAnimDuration;F=F.animType;x=ia(b,
t-(a.maxTopSpaceAvailable||0));x=0<x?x:0;r.ganttPlotHoverBandContainerParent=r.ganttPlotHoverBandContainerParent||f.group("guntt-plot-band-container-parent",q);a.ganttPlotHoverBandContainer?a.ganttPlotHoverBandContainer.animateWith(D,g,{"clip-rect":l+","+t+","+s+","+m},y,F):(a.ganttPlotHoverBandContainer=f.group("guntt-plot-band-container",r.ganttPlotHoverBandContainerParent),a.ganttPlotHoverBandContainer.attr({"clip-rect":l+","+t+","+s+","+m}));a.ganttPlotLineContainer?a.ganttPlotLineContainer.animateWith(D,
g,{"clip-rect":l+","+t+","+s+","+m},y,F):(a.ganttPlotLineContainer=f.group("guntt-plot-line-container",q),a.ganttPlotLineContainer.attr({"clip-rect":l+","+t+","+s+","+m}));a.labelContainer?a.labelContainer.animateWith(D,g,{"clip-rect":l+","+(t-x)+","+s+","+x},y,F):(a.labelContainer=f.group("guntt-label-container",q),a.labelContainer.attr({"clip-rect":l+","+(t-x)+","+s+","+x}));a.labelBackContainer||(a.labelBackContainer=f.group("guntt-label-back-container",a.labelContainer));a.labelLineContainer||
(a.labelLineContainer=f.group("guntt-label-line-container",a.labelContainer));a.labelTextContainer||(a.labelTextContainer=f.group("guntt-label-text-container",a.labelContainer));a.gridLinePath="";a.gridLineHeaderPath="";a.hoverElemsArr=[];a.labelHoverEventName={click:"CategoryClick",rollOver:"CategoryRollOver",rollOut:"CategoryRollOut"};if(a.hasCategory){f=a.categories.category;for(k in f)if(f.hasOwnProperty(k)&&"_attrib"!==k)for(z in t=f[k].category,m=void 0,l=c.gridArr=[],t)s=e.getDateValue(t[z].start).ms,
r=e.getDateValue(t[z].end).ms,!t.hasOwnProperty(z)||"_attrib"===z||isNaN(s)||isNaN(r)||(s={elem:t[z],elemIndex:p,pos:p,dimension:{left:m||this.getPixel(s),right:this.getPixel(r),top:d-b+f[k]._attrib.topPos,bottom:d-b+f[k]._attrib.bottomPos},type:"category",isHeader:!1},m=s.dimension.right,this._drawProcessAndDataTableElement(s),p+=1,l.push({x:s.dimension.left}));0<n.x?h.x=-(n.x*n.scaleX):a.lastTranslate={x:0,y:0}}this._drawGridLine();this._disposeExtraProcessAndDataTableElement(p)},placeAxis:function(c){var a=
this.config,d=this.chart,b=d.config,g=d.get("components").numberFormatter,e=d.linkedItems.smartLabel,h=a.axisData,n=h.labels.style,f=0,p={top:0,bottom:0},l=0,t,m,s,q,u,k,z,F=h.trend.trendStyle,D=a.vTrendLines,y=h.useEllipsesWhenOverflow,x=0,w=0;e.useEllipsesOnOverflow(b.useEllipsesWhenOverflow);e.setStyle({fontSize:n.fontSize,fontFamily:n.fontFamily,lineHeight:n.lineHeight,fontWeight:n.fontWeight});h.maxTopSpaceAvailable=b.canvasTop;if(h.hasCategory)for(s in t=h.categories.category,t)if(t.hasOwnProperty(s)&&
"_attrib"!==s){f=0;m=t[s].category;for(u in m)m.hasOwnProperty(u)&&"_attrib"!==u&&(q=m[u],q.drawLabel=Q(q.label||q.name),k=q._attrib,k={fontFamily:r(k.fontfamily,n.fontFamily).replace(/px/i,"")+"px",fontSize:r(k.fontsize,n.fontSize),fontWeight:r(1===Number(k.isbold)?"bold":void 0===k.isbold?"bold":void 0,n.fontWeight),fontStyle:r(k.isitalic?"italic":void 0,n.fontStyle)},V(k),e.setStyle(k),q=e.getOriSize(q.drawLabel),q.height>f&&(z=q,f=q.height));t[s]._attrib.topPos=l;l+=z.height+8;t[s]._attrib.bottomPos=
l}n=c-l;if(a.drawTrendLines&&a.drawTrendLabels&&D&&a.isActive)for(e.setStyle({fontSize:F.fontSize,fontFamily:F.fontFamily,lineHeight:F.lineHeight,fontWeight:F.fontWeight}),h.trendBottomPadding=-1,u=0,a=D.length;u<a;u+=1)for(s=0,f=D[u].line.length;s<f;s+=1)t=D[u].line[s],q=t.origText||t.displayvalue||t.endvalue||t.startvalue||"",q=Q(q),t.startvalue=t.start&&g.getDateValue(t.start).ms,t.endvalue=t.end&&g.getDateValue(t.end).ms,t.origText=q,q=e.getSmartText(q,d.canvasWidth,F.lineHeight,y),m=q.height+
2,0>n-m?t.displayvalue="":(t.displayvalue=q.text,x=x<q.height?q.height:x),q.tooltext?t.valueToolText=q.tooltext:delete t.valueToolText;h.totalHeight=l;0<x&&(w+=x+ua(h.trendBottomPadding||0));l=l>c?c:l;p.top+=l;p.bottom+=w;b.categorySpaceUsed=l;return p}},"ganttCommon"]);FusionCharts.get("component",["axis","process",{configure:function(){var c=this.config,a=c.axisData,d=this.chart,b=d.jsonData.chart,d=d.components.colorManager;FusionCharts.register("component",["axis","cartesian"]).prototype.configure.call(this);
c.lineColor=N(r(b.gridbordercolor,d.getColor("gridColor")),q(b.gridborderalpha,100));c.lineThickness=q(b.gridborderthickness,1);c.lineDashStyle=q(b.gridborderdashed,0)?ha(q(b.gridborderdashlen,1),b.gridborderdashgap,c.lineThickness):"none";c.plotLineColor=N(r(b.ganttlinecolor,d.getColor("gridColor")),q(b.ganttlinealpha,100));c.plotLineThickness=q(b.ganttlinethickness,1);c.plotLineDashStyle=q(b.ganttlinedashed,0)?ha(q(b.ganttlinedashlen,1),b.ganttlinedashgap,c.lineThickness):"none";c.gridResizeBarColor=
N(r(b.gridresizebarcolor,d.getColor("gridResizeBarColor")),q(b.gridresizebaralpha,100));c.gridResizeBarThickness=q(b.gridresizebarthickness,1);c.forceRowHeight=q(b.forcerowheight,0);c.rowHeight=q(b.rowheight,0);a.hoverColor=r(b.processhoverbandcolor,b.hoverbandcolor,d.getColor("gridColor"));a.hoverAlpha=q(b.processhoverbandalpha,b.hoverbandalpha,30);a.useHover=q(b.showprocesshoverband,b.showhoverband,b.showhovereffect,1);a.usePlotHover=q(b.showganttpanehorizontalhoverband);a.showFullDataTable=q(b.showfulldatatable,
1);a.useVerticalScrolling=q(b.useverticalscrolling,1);a.gridLineHeaderPath="";a.gridLinePath=""},setDataTable:function(c){var a=this.config.axisData;a.dataTables={};a.dataTables.dataTable={};c?(a.hasDataTables=1,W(a.dataTables.dataTable,c),c=a.dataTables.dataTable,this._extractAttribToEnd(c,{})):a.hasDataTables=0},setProcess:function(c){var a;a=this.config;var d=a.axisData,b=a.axisRange,g=a.startPad||0;a=a.endPad||0;var e,h,n;d.processes={};if(c){d.hasProcess=1;e=d.processes.process=W({},c);this._extractAttribToEnd(e,
{});c=e.process.length;n=d.processes.processMap={};d.processes.processHeightMap={};for(d=0;d<c;d+=1)h=e.process[d],h.id&&(n[h.id.toLowerCase()]={catObj:h,index:d});a=c-1+a;b.min=Number($(-g,10));b.max=Number($(a,10));b.tickInterval=Number($(1,10))}else d.hasProcess=0},getProcessPositionById:function(c){var a=this.config.axisData;c=a.processes&&a.processes.processMap[c];a=a.processes.processHeightMap;return c?a[c.index]:!1},getProcessPositionByIndex:function(c){var a=this.config.axisData.processes.processHeightMap;
return a[c]?a[c]:!1},setProcessHeight:function(){var c=this.config,a=c.axisData,d=this.chart.config.canvasHeight,b=a.processes.process.process,g=a.processes.processHeightMap,e=a.processMaxHeight,h=0,n=c.forceRowHeight,c=c.rowHeight;if(e*b.length<d||0===a.useVerticalScrolling)e=d/b.length;0===n?c&&c>e&&(e=c):e=c||e;n=0;for(d=b.length;n<d;n++)a=q(b[n].height,e),g[n]={top:h,bottom:h+a,height:a},h+=a;return h},_drawComponents:function(){var c=this.config;this._drawProcessAndDataTable();c.drawPlotlines&&
this._drawPlotLine();c.drawPlotBand&&this._drawPlotBand();this._drawVerticalLineAndTracker();this._drawGridLine()},_drawProcessAndDataTable:function(){var c=this.config,a=c.axisData,d=this.chart,b=(a.axisDimention||{}).x,g=a.totalWidth||0,e=c.gridArr||(c.gridArr=[]),h=c.canvas,n=d.config,e=d.components.paper,f=h.canvasTop||n.canvasTop,p=h.canvasLeft||n.canvasLeft,l=h.canvasHeight||n.canvasHeight,t=h.canvasWidth||n.canvasWidth,m=d.graphics,q=m.axisBottomGroup,h=a.totalVisiblelWidth,r,u=0,k,z,F,D;z=
d.get("config","animationObj");d=z.animObj;F=z.dummyObj;D=z.transposeAnimDuration;z=z.animType;m.ganttPlotHoverBandContainerParent=m.ganttPlotHoverBandContainerParent||e.group("guntt-plot-band-container-parent",q);a.ganttPlotHoverBandContainer?a.ganttPlotHoverBandContainer.animateWith(F,d,{"clip-rect":p+","+f+","+t+","+l},D,z):(a.ganttPlotHoverBandContainer=e.group("guntt-plot-band-container",m.ganttPlotHoverBandContainerParent),a.ganttPlotHoverBandContainer.attr({"clip-rect":p+","+f+","+t+","+l}));
a.ganttPlotLineContainer?a.ganttPlotLineContainer.animateWith(F,d,{"clip-rect":p+","+f+","+t+","+l},D,z):(a.ganttPlotLineContainer=e.group("guntt-plot-line-container",q),a.ganttPlotLineContainer.attr({"clip-rect":p+","+f+","+t+","+l}));a.headerContainer?a.headerContainer.animateWith(F,d,{"clip-rect":p-a.totalVisiblelWidth+","+(f-n.categorySpaceUsed)+","+a.totalVisiblelWidth+","+n.categorySpaceUsed},D,z):(a.headerContainer=e.group("guntt-header-container",q),a.headerContainer.attr({"clip-rect":p-a.totalVisiblelWidth+
","+(f-n.categorySpaceUsed)+","+a.totalVisiblelWidth+","+n.categorySpaceUsed}));a.headerBackContainer||(a.headerBackContainer=e.group("guntt-header-back-container",a.headerContainer));a.headerLineContainer||(a.headerLineContainer=e.group("guntt-header-line-container",a.headerContainer));a.headerTextContainer||(a.headerTextContainer=e.group("guntt-header-text-container",a.headerContainer));a.labelContainer?a.labelContainer.animateWith(F,d,{"clip-rect":p-a.totalVisiblelWidth+","+f+","+a.totalVisiblelWidth+
","+l},D,z):(a.labelContainer=e.group("guntt-label-container",q),a.labelContainer.attr({"clip-rect":p-a.totalVisiblelWidth+","+f+","+a.totalVisiblelWidth+","+l}));a.labelBackContainer||(a.labelBackContainer=e.group("guntt-label-back-container",a.labelContainer));a.labelLineContainer||(a.labelLineContainer=e.group("guntt-label-line-container",a.labelContainer));a.labelTextContainer||(a.labelTextContainer=e.group("guntt-label-text-container",a.labelContainer));a.hotContainer?a.hotContainer.animateWith(F,
d,{"clip-rect":p-a.totalVisiblelWidth+","+(f-n.categorySpaceUsed)+","+a.totalVisiblelWidth+","+(l+n.categorySpaceUsed)},D,z):(a.hotContainer=e.group("guntt-hot-container",a.axisLabelGroup),a.hotContainer.attr({"clip-rect":p-a.totalVisiblelWidth+","+(f-n.categorySpaceUsed)+","+a.totalVisiblelWidth+","+(l+n.categorySpaceUsed)}));a.gridLinePath="";a.gridLineHeaderPath="";a.hoverElemsArr=[];a.labelHoverEventName={click:"ProcessClick",rollOver:"ProcessRollOver",rollOut:"ProcessRollOut"};if(a.hasProcess)for(process=
a.processes.process.process,p={elem:a.processes.process,elemIndex:u,dimension:{left:b-g+process._attrib.leftPos,right:b-g+process._attrib.rightPos,top:f-n.categorySpaceUsed,bottom:f},type:"header"},this._drawProcessAndDataTableElement(p),u+=1,e=c.gridArr=[],r=0,l=process.length;r<l;r++)c=this.getProcessPositionByIndex(r),p={elem:process[r],elemIndex:u,pos:r,dimension:{left:b-g+process._attrib.leftPos,right:b-g+process._attrib.rightPos,top:f+c.top,bottom:f+c.bottom},type:"process"},this._drawProcessAndDataTableElement(p),
u+=1,e.push({y:p.dimension.bottom});if(a.hasDataTables){e=a.dataTables.dataTable.datacolumn;for(r in e)if(e.hasOwnProperty(r)&&"_attrib"!==r)for(k in p={elem:e[r],elemIndex:u,pos:r,dimension:{left:b-g+e[r]._attrib.leftPos,right:b-g+e[r]._attrib.rightPos,top:f-n.categorySpaceUsed,bottom:f},type:"header"},this._drawProcessAndDataTableElement(p),u+=1,l=e[r].text,l)l[k]._attrib&&process[k]&&process[k]._attrib&&(l[k]._attrib.hoverbandcolor=process[k]._attrib.hoverbandcolor,l[k]._attrib.hoverbandalpha=
process[k]._attrib.hoverbandalpha,l[k]._attrib.showhoverband=process[k]._attrib.showhoverband),l.hasOwnProperty(k)&&"_attrib"!==k&&(c=this.getProcessPositionByIndex(k),p={elem:l[k],elemIndex:u,pos:k,dimension:{left:b-g+e[r]._attrib.leftPos,right:b-g+e[r]._attrib.rightPos,top:f+c.top,bottom:f+c.bottom},type:"datatable"},this._drawProcessAndDataTableElement(p),u+=1);a.drawFromProcessVlineDrag?a.drawFromProcessVlineDrag=!1:g>h?this.translateAxis(g-h,void 0):(this.resetTransletAxis(),this.resetTransletAxis())}this._drawGridLine();
this._disposeExtraProcessAndDataTableElement(u)},_drawVerticalLineAndTracker:function(){var c=this,a=c.config,d=a.axisData,b=c.chart,g=b.config,e=(d.axisDimention||{}).x,h=d.totalWidth||0,n=a.canvas.canvasTop||g.canvasTop,f=b.components.paper,p=c.components.processVline||(c.components.processVline=[]),l=d.processVlineArr,r=d.hotContainer,m=0,q,A,u,k,z,F,D=function(){var a=this.data("drag-options"),c=a.vHoverLine;a.origX=a.lastX||(a.lastX=0);c.show();b.trackerClicked=!0;a.draged=!1},y=function(a){var b=
this.data("drag-options"),c=b.vHoverLine,d=b.vLineSetting,e=d.xPos+a,g=d.leftLimit,f=d.rightLimit;e<g&&(a=g-d.xPos);e>f&&(a=f-d.xPos);d={transform:"t"+(b.origX+a)+za+0};this.attr(d);c.attr(d);b.draged=!0;b.lastX=a},x=function(){var a=this.data("drag-options"),e=a.vLineSetting,g=a.vHoverLine,f=a.vLineIndex;b.trackerClicked=!1;g.hide();a.draged&&(e.left.rightPos+=a.lastX||0,e.right.leftPos+=a.lastX||0,e.xPos+=a.lastX||0,l[f-1]&&(l[f-1].rightLimit+=a.lastX||0),l[f+1]&&(l[f+1].leftLimit+=a.lastX||0),
d.drawFromProcessVlineDrag=!0,c._drawProcessAndDataTable(),c._drawVerticalLineAndTracker(),a={transform:"t0,0"},this.attr(a),g.attr(a))},a={stroke:a.gridResizeBarColor,"stroke-width":a.gridResizeBarThickness,visibility:"hidden"};z={stroke:da,ishot:!0,"stroke-width":30};k=n-g.categorySpaceUsed;g=0;for(q=l.length;g<q;g+=1)A="process"===l[g].type?d.processes.process.process:d.dataTables.dataTable.datacolumn[l[g].ind],A=e-h+A._attrib.rightPos,A=["M",A,k,"L",A,n+d.processTotalHeight],p[m]?(F=p[m].graphics.vHoverLine,
F.attr({path:A}).attr(a),u=p[m].graphics.hotElement,u.attr({path:A}).attr(z)):(F=f.path(A,r),F.attr(a),u=f.path(A,r),u.attr(z),p[m]={},p[m].graphics={},p[m].config={},p[m].graphics.vHoverLine=F,p[m].graphics.hotElement=u),u.css("cursor",S.svg&&"ew-resize"||"e-resize").drag(y,D,x).data("drag-options",{vHoverLine:p[m].graphics.vHoverLine,vLineSetting:l[g],vLineIndex:g}),m+=1;g=m;for(q=p.length;g<q;g+=1)p[g].graphics.vHoverLine.attr({path:["M",0,0]}),p[g].graphics.hotElement.attr({path:["M",0,0]})},
manageProcessScroll:function(c){var a=this.config.axisData,d=a.totalWidth||0,a=a.totalVisiblelWidth;d>a&&this.translateAxis((d-a)*(1-c),void 0)},placeAxis:function(c){var a=this.chart,d=a.linkedItems.smartLabel,b=this.config.axisData,g=b.labels.style,e=0,h=0,n={left:0,right:0},f=0,p=!1,l=0,q=0,m,s,A,u,k,z=0;d.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow);d.setStyle({fontSize:g.fontSize,fontFamily:g.fontFamily,lineHeight:g.lineHeight,fontWeight:g.fontWeight});0===b.showFullDataTable&&(z=
c/((b.hasDataTables&&b.dataTables&&b.dataTables.dataTable&&b.dataTables.dataTable.datacolumn?b.dataTables.dataTable.datacolumn.length:0)+1));if(b.hasProcess){process=b.processes.process.process;m=b.processes.process;"right"===m.positioningrid&&(p=!0);m.headertext&&(m.drawLabel=Q(m.headertext),a=m._attrib,a={fontFamily:r(a.headerfontfamily,g.fontFamily),fontSize:r(a.headerfontsize,g.fontSize).replace(/px/i,"")+"px",fontWeight:r(1===Number(a.headerisbold)?"bold":void 0===a.headerisbold?"bold":void 0,
g.fontWeight),fontStyle:r(a.headerisitalic?"italic":void 0,g.fontStyle)},a.lineHeight=V(a),d.setStyle(a),a=d.getOriSize(m.drawLabel),a.width>h&&(e=a,h=a.width));m=0;for(s=process.length;m<s;m++)A=process[m],a=A._attrib,A.drawLabel=Q(A.label||A.name),a={fontFamily:r(a.fontfamily,g.fontFamily),fontSize:r(a.fontsize,g.fontSize).replace(/px/i,"")+"px",fontWeight:r(a.isbold?"bold":void 0,g.fontWeight),fontStyle:r(a.isitalic?"italic":void 0,g.fontStyle)},a.lineHeight=V(a),d.setStyle(a),a=d.getOriSize(A.drawLabel),
a.width>h&&(e=a,h=a.width),a.height>q&&(q=a.height);b.processMaxHeight=q+8;process._attrib.leftPos=f;p?l=z||e.width+4:f+=z||e.width+4;process._attrib.rightPos=f}if(b.hasDataTables)for(m in e=b.dataTables.dataTable.datacolumn,e)if(e.hasOwnProperty(m)&&"_attrib"!==m){q=e[m];h=0;q.headertext&&(a=q._attrib,q.drawLabel=Q(q.headertext),s={fontFamily:r(a.headerfontfamily,g.fontFamily),fontSize:r(a.headerfontsize,g.fontSize).replace(/px/i,"")+"px",fontWeight:r(1===Number(a.headerisbold)?"bold":void 0===a.headerisbold?
"bold":void 0,g.fontWeight),fontStyle:r(a.headerisitalic?"italic":void 0,g.fontStyle)},s.lineHeight=V(s),d.setStyle(s),a=d.getOriSize(q.drawLabel),a.width>h&&(k=a,h=a.width));q=q.text;for(u in q)q.hasOwnProperty(u)&&"_attrib"!==u&&(a=q[u],a.drawLabel=Q(a.label||a.name),s=a._attrib,s={fontFamily:r(s.fontfamily,g.fontFamily),fontSize:r(s.fontsize,g.fontSize).replace(/px/i,"")+"px",fontWeight:r(s.isbold?"bold":void 0,g.fontWeight),fontStyle:r(s.isitalic?"italic":void 0,g.fontStyle)},s.lineHeight=V(s),
d.setStyle(s),a=d.getOriSize(a.drawLabel),a.width>h&&(k=a,h=a.width));e[m]._attrib.leftPos=f;f+=z||k.width+4;e[m]._attrib.rightPos=f}b.hasProcess&&p&&(process._attrib.leftPos+=f,process._attrib.rightPos+=f+l,f+=l);b.totalWidth=f;this.adjustWidth();f=b.totalWidth>c?c:b.totalWidth;b.totalVisiblelWidth=f;n.left+=f;return n},adjustWidth:function(){var c=this.config.axisData,a=c.totalWidth,d=a,b=0,g=!1,e,h,n,f,p,l;e=c.processVlineArr=[];d-=20*(c.hasDataTables&&c.dataTables&&c.dataTables.dataTable&&c.dataTables.dataTable.datacolumn?
c.dataTables.dataTable.datacolumn.length+1:1);n=function(b){d+=20;b=b.match(/%/g)?q(a*Number(b.replace(/%/g,"")/100),0):q(b,0);20>d?b=20:b>d&&(b=d);d-=b;return b};c.hasProcess&&(process=c.processes.process.process,f=c.processes.process,"right"===f.positioningrid&&(g=!0),h=process._attrib,p=b,b+=n(h.width||""+(h.rightPos-h.leftPos)),h.leftPos=p,h.rightPos=b,g?b=0:e.push({type:"process",ind:0,xPos:h.rightPos,left:h,leftLimit:h.leftPos+20}));if(c.hasDataTables)for(l in f=c.dataTables.dataTable.datacolumn,
f)if(f.hasOwnProperty(l)&&"_attrib"!==l){h=f[l];h=h._attrib;p=b;b+=n(h.width||""+(h.rightPos-h.leftPos));h.leftPos=p;h.rightPos=b;if(p=e[e.length-1])p.right=h,p.rightLimit=h.rightPos-20;e.push({type:"dataTable",ind:l,xPos:h.rightPos,left:h,leftLimit:h.leftPos+20})}if(c.hasProcess)if(g){if(h=process._attrib,h.rightPos=b+(h.rightPos-h.leftPos),h.leftPos=b,b+=h.rightPos-h.leftPos,p=e[e.length-1])p.right=h,p.rightLimit=h.rightPos-20}else e.pop();c.totalWidth=b}},"ganttCommon"])}]);

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,171 @@
/*
FusionCharts JavaScript Library
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
@version 3.11.0
*/
FusionCharts.register("module",["private","modules.renderer.js-gradientlegend",function(){function t(a,b){(function r(a,u){var b,s;for(s in a)f.call(a,s)&&(b=a[s],void 0===u[s]?u[s]=b:"object"===typeof b&&null!==typeof b&&r(b,u[s]))})(a,b);return b}function R(a){return d(a?a:k)||k}function w(a){var b=a.fontSize+"";if(!b)return a;b=b.replace(/(\d+)(px)*/,"$1px");a.fontSize=b;return a}function I(a){return void 0===a||"undefined"===typeof a||null===a||a!==a?!0:!1}function m(a,b){this.carpet=a;this._componentPool=
b}function L(a){this.conf=a;this._id="GL_CARPET";this.compositionsByCategory={};this._lSpace=this.group=this.node=void 0;this.autoRecalculate=!1;this.groupName="fc-gradient-legend";this.moveInstructions={}}function A(){L.apply(this,arguments)}function O(a,b){this.rawText=a;this.conf=b;this._id="GL_CAPTION";this._lSpace=this.bound=this.node=void 0}function l(a,b){this.colorRange=a;this.conf=b;this._id="GL_BODY";this.bound=void 0;this.compositionsByCategory={};this._lSpace=void 0}function W(){l.apply(this,
arguments)}function M(a){this.conf=a;this._id="GL_LABELS"}function Y(){M.apply(this,arguments)}function S(){M.apply(this,arguments);this._id="GL_VALUES"}function Z(){S.apply(this,arguments);this._id="GL_VALUES"}function N(a){this.conf=a;this._id="FL_AXIS";this.markerLine=this.shadow=this.node=void 0;this.compositionsByCategory={}}function T(){N.apply(this,arguments)}function C(a){var b={};this._id="GL_SG1";this.conf=a;b.conf=a;this.extremes=[];this.sliders={};b.sliderGroup=this;this.valueRange=[];
this.callbacks=[];this.sliders[!1]=new P(!1,b,this._id+"_0");this.sliders[!0]=new P(!0,b,this._id+"_1")}function P(a,b,p){this.conf=b.conf;this.sliderIndex=a;this.rangeGroup=b.sliderGroup;this._id=p;this.tracker=this.node=void 0;this.currPos=0;this.swing=[]}function Q(a,b,p){p=p.components.numberFormatter;var c,q,d,ba,H,e;this.data=a;this.options=b||{};e=this.mapByPercent=!!a.mapByPercent;this.appender="";q=this.mapByPercent?0:b.min;b=this.mapByPercent?100:b.max;2===a.colorRange.length&&(c=a.colorRange[0],
d=a.colorRange[1],ba=c.value=I(c.value)?q:c.value,H=d.value=I(d.value)?b:d.value,ba===H&&(ba=c.value=q,H=d.value=b),c.displayValue=e?ba+"%":p.legendValue(ba),d.displayValue=e?H+"%":p.legendValue(H));I(q)&&I(c.value)||I(b)&&I(c.value)||!a.gradient?this._preparationGoneWrong=!0:this._preparationGoneWrong=!1;p=this.colorRange=a.colorRange.sort(function(a,b){return a.value-b.value});this.valueRatio=void 0;this.values=[];a=0;for(c=p.length;a<c;a++)this.values.push(p[a].value)}function $(){m.apply(this,
arguments)}var E=this,z=E.hcLib,v=z.pluckNumber,J=z.pluck,U=z.toRaphaelColor,aa=z.graphics,ca=z.dehashify,da=z.hashify,X=aa.convertColor,b=aa.RGBtoHex,a=aa.HEXtoRGB,c=aa.getLightColor,d=aa.getValidColor,e="rgba(192,192,192,"+(z.isIE?.002:1E-6)+")",g,k=z.COLOR_BLACK,f={}.hasOwnProperty,h,n={};g=function(){function a(u){var p=b.numberFormatter,c,r,d;c=0;for(r=u.length;c<r;c++)if(d=u[c].maxvalue)u[c].maxvalue=p.getCleanValue(d)}var b,p,r={legendCarpetConf:{spreadFactor:.85,allowDrag:!1,captionAlignment:"center",
padding:{v:3,h:3},style:{fill:"#e4d9c1",stroke:"#c4b89d"}},legendCaptionConf:{spreadFactor:.2,padding:{v:2,h:2},style:{fill:"#786B50",fontFamily:"sans-serif",fontSize:"12px",fontWeight:"bold",fontStyle:"normal"},bound:{style:{stroke:"none"}}},legendBodyConf:{spreadFactor:.8,padding:{v:2,h:2},bound:{style:{stroke:"none"}}}};r.legendAxisConf={legendAxisHeight:11,spreadFactor:.4,padding:{v:1,h:1},style:{stroke:"none","stroke-opacity":0,"stroke-width":1},line:{grooveLength:3,offset:8,style:{stroke:"rgba(255, 255, 255, 0.65)",
"stroke-width":1.5}},shadow:{style:{stroke:"none",fill:U({FCcolor:{alpha:"25,0,0",angle:360,color:"000000,FFFFFF,FFFFFF",ratio:"0,30,40"}})}},bound:{style:{stroke:"none"}}};r.sliderGroupConf={showTooltip:1,outerCircle:{rFactor:1.4,style:{fill:e,stroke:"#757575","stroke-width":3}},innerCircle:{rFactor:.65,style:{fill:e,stroke:"#FFFFFF"}}};r.axisTextItemConf={spreadFactor:.3,padding:{v:1,h:1},style:{fill:"#786B50",fontFamily:"sans-serif",fontSize:"12px",fontWeight:"normal",fontStyle:"normal"}};return{init:function(a){p=
a.chart;b=p.components},setConf:function(a){},legacyDataParser:function(p,r){var d={},H=b.numberFormatter,e,f,g,h,k,n,m,l,t;if(!p)return!1;d.mapByPercent=t=!!v(p.mapbypercent,0);void 0===p.minvalue&&(p.minvalue=void 0!==r.min?t?0:r.min:0);void 0===p.maxvalue&&(p.maxvalue=void 0!==r.max?t?100:r.max:100);e=p.color||[];g=p.code;m=d.colorRange=[];d.gradient=!!v(p.gradient,1);e.length?g=R(g):(g?(h=R(g),g=R()):(g=R(),h=c(g,1)),e.push({code:h,maxvalue:p.maxvalue,label:void 0}));a(e);e=e.sort(function(a,
b){return a.maxvalue-b.maxvalue});h=l=p.minvalue&&H.getCleanValue(p.minvalue);l=(void 0!==h||null!==h)&&(t?h+"%":H.legendValue(h));m.push({code:ca(g),value:h,displayValue:l,label:p.startlabel});g=0;for(n=e.length;g<n;g++)f=e[g],k=R(f.code||f.color),h=l=f.maxvalue,isNaN(parseInt(h,10))||(l=(void 0!==h||null!==h)&&(t?h+"%":H.legendValue(h)),m.push(Object({code:ca(k),value:h,displayValue:l,label:f.label||f.displayvalue})));m[m.length-1].label=p.endlabel||f.label;return d},getDefaultConf:function(a){return r[a]}}}();
h=function(a){var b=a.chartInstance.id,p=n[b]||(n[b]={});return function(){function c(){var a,b,u,s,q,d;for(a in p)for(b in u=p[a],u)if(s=u[b],s instanceof Array)for(q=0,d=s.length;q<d;q++)s[q]&&s[q].hide();else s.hide()}var q,d={},e;q={KEY_RECT:"rect",KEY_TEXT:"text",KEY_GROUP:"group",KEY_CIRCLE:"circle",KEY_PATH:"path"};d[q.KEY_RECT]=function(a){return e.rect(a)};d[q.KEY_TEXT]=function(a){return e.text(a)};d[q.KEY_GROUP]=function(a,b){return e.group(a,b)};d[q.KEY_CIRCLE]=function(a){return e.circle(a)};
d[q.KEY_PATH]=function(a,b){return e.path(a,b)};return{init:function(a){e=a;c()},emptyPool:function(){p=n[b]={}},getChart:function(){return a},getComponent:function(a,b,u){var s=p[a],c,q,r,e=0;s||(s=p[a]={});return(q=s[b])&&!(q instanceof Array)||q instanceof Array&&0<q.length?function(){return u?(r=q[e++])?r.show():q[e]=d[b].apply(this,arguments):q.show()}:function(){return u?(c=s[b]||(s[b]=[]),q=d[b].apply(this,arguments),c.push(q),q.show()):s[b]=d[b].apply(this,arguments)}},hideAll:function(){c()},
getKeys:function(){return q}}}()};m.prototype.constructor=m;m.prototype.draw=function(a){a.componentPool=this._componentPool;return this.carpet.draw(a)};m.prototype.getLogicalSpace=function(a,b){a.componentPool=this._componentPool;return this.carpet.getLogicalSpace(a,b)};m.prototype.dispose=function(){this.carpet&&this.carpet.group&&this.carpet.group.remove();this._componentPool.emptyPool()};L.prototype.constructor=L;L.prototype.addCompositions=function(a,b){this.compositionsByCategory[b]=a};L.prototype.getBoundingBox=
function(a){var b=this.conf,p=a.refSide,c=a.alignment,q=a.refOffset,d=a.x,e=a.y,b=b.width=p*b.spreadFactor;!c||void 0!==d&&null!==d||(d=(q+p)/2-b/2);return{width:b,height:a.maxOtherSide,x:d,y:e}};L.prototype.getPostCalcDecisions=function(a,b){var p=this.conf.padding,c,q=0;for(c in b)q+=b[c].height||0;a.height=q+2*p.v};L.prototype.getLogicalSpace=function(a,b){var p=this._lSpace,c=this.conf.padding,q=this.compositionsByCategory,d,e,f;f=0;var g={},h,k=0;if(p&&!b)return p.isImpure=!0,p;p=this._lSpace=
e=this.getBoundingBox(a);if(I(p.x)||I(p.y)||I(p.height)||I(p.width))this.autoRecalculate=!0;p=t(e,{});p.height-=2*c.v;p.width-=2*c.h;p.x+=c.h;p.y+=c.v;for(h in q)d=q[h],c=t(p,{}),c.y+=f,f=p.height*d.conf.spreadFactor,c.height=f+k,f=d.getLogicalSpace(t(c,{}),a,b),k=c.height-f.height,g[h]=f,f=f.height;this.getPostCalcDecisions(e,g);return this._lSpace=e};L.prototype.setupDragging=function(){var a=this.group,b=0,p=0,c=0,q=0;a.css({cursor:"move"});a.drag(function(d,e){b=d;p=e;a.attr({transform:"t"+(c+
b)+","+(q+p)})},function(){c+=b;q+=p},function(){})};L.prototype.draw=function(a){var b=this.conf,p=this.compositionsByCategory,c=a.paper,q=a.parentGroup,d=a.componentPool,e,f,g=d.getChart().get("config","animationObj").duration,h,k=d.getKeys();this.getLogicalSpace(a,this.autoRecalculate);f=this._lSpace;h=d.getComponent(this._id,k.KEY_GROUP);this.group=q=h(this.groupName,q);q.attr({opacity:0});q.animate({opacity:1},g,"easeIn");h=d.getComponent(this._id,k.KEY_RECT);this.node=h(q).attr(f).css(b.style);
for(e in p)d=p[e],d.draw(b.captionAlignment,f,{colorRange:a.colorRange,numberFormatter:a.numberFormatter,paper:c,parentLayer:q,smartLabel:a.smartLabel,moveInstructions:this.moveInstructions[e],componentPool:a.componentPool});b.allowDrag&&this.setupDragging();return this.node};A.prototype=Object.create(L.prototype);A.prototype.constructor=A;A.prototype.getBoundingBox=function(a){var b=this.conf,p=a.refSide,c=a.alignment,q=a.refOffset,d=a.x,e=a.y,b=b.height=p*b.spreadFactor;!c||void 0!==e&&null!==e||
(e=(q+p)/2-b/2);return{width:a.maxOtherSide,height:b,x:d,y:e}};A.prototype.getPostCalcDecisions=function(a,b){var p=this.conf.padding,c=Number.NEGATIVE_INFINITY,d,e,f=this.moveInstructions;L.prototype.getPostCalcDecisions.apply(this,arguments);for(e in b)d=b[e].width,c=c<d?d:c;a.width=c+2*p.h;for(e in b)if(d=b[e].width,p=c-d)f[e]="t"+p/2+",0"};O.prototype.constructor=O;O.LEFT={x:function(a,b){return b.x+a.width/2+2}};O.RIGHT={x:function(a,b){return b.x+b.width-a.width/2-2}};O.CENTER={x:function(a,
b){return b.x+b.width/2}};O.prototype.getLogicalSpace=function(a,b,p){var c=this.conf.padding,d=this._lSpace,e=this.rawText,f=b.componentPool.getChart();if(d&&!p)return d.isImpure=!0,d;d=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0,smartText:void 0}};p=b.smartLabel;if(!e)return d.bound;b=t(a,{});b.height-=2*c.v;b.width-=2*c.h;b.x+=c.h;b.y+=c.v;p.useEllipsesOnOverflow(f.config.useEllipsesWhenOverflow);f=t(this.conf.style,{});w(f);p.setStyle(f);e=p.getSmartText(e,b.width,b.height);
b.height=e.height;b.width=e.width;a.height=e.height+2*c.v;a.width=e.width+2*c.h;d.node.smartText=e;d.node.logicArea=b;return d.bound=a};O.prototype.draw=function(){var a,b=this.conf.bound||{},p,c,d,e,f,g,h;3<=arguments.length?(d=arguments[0],e=arguments[1],f=arguments[2]):2<=arguments.length&&(d=arguments[0],f=arguments[1]);a=f.parentLayer;g=f.componentPool;h=g.getKeys();p=g.getComponent(this._id,h.KEY_GROUP);this.group=a=p("legend-caption",a);this.getLogicalSpace(e,f);p=this._lSpace;f=p.node;c=p.bound;
p=g.getComponent(this._id,h.KEY_RECT);this.bound=b=p(a).attr(c).css(b.style);d="string"===typeof d?O[d.toUpperCase()].x(f.smartText,e||f.logicArea):d;p=g.getComponent(this._id,h.KEY_TEXT);this.node=p(a).attr({text:f.smartText.text,x:d,y:f.logicArea.y+f.smartText.height/2}).css(this.conf.style);return{group:a,bound:b,node:this.node}};l.SC_STACK=["LEGEND_LABEL","LEGEND_AXIS","AXIS_VALUE"];l.DARW_STACK=["AXIS_VALUE","LEGEND_AXIS","LEGEND_LABEL"];l.prototype.constructor=l;l.prototype.addCompositions=
function(a,b){this.compositionsByCategory[b]=a};l.prototype.getCompositionPlotAreaFor=function(a){var b;b=t(a,{});return function(p,c){p=p||{};b.y+=p.height||0;b.height=a.height*c;return b}};l.prototype.getSpaceTaken=function(a){return a.height};l.prototype.updateEffectivePlotArea=function(a,b,p){var c=this.conf.padding;b.height=p;a.height=p+2*c.v};l.prototype.getLogicalSpace=function(a,b,p){var c=this._lSpace,d=this.conf.padding,e=this.compositionsByCategory,f,g,h,k=0,n,m;if(c&&!p)return c.isImpure=
!0,c;c=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0}};g=t(a,{});g.height-=2*d.v;g.width-=2*d.h;g.x+=d.h;g.y+=d.v;h=this.getCompositionPlotAreaFor(g);b.colorRange=this.colorRange;n=0;for(m=l.SC_STACK.length;n<m;n++)if(d=e[l.SC_STACK[n]])f=h(f,d.conf.spreadFactor),f=d.getLogicalSpace(t(f,{}),b,p),k+=this.getSpaceTaken(f);this.updateEffectivePlotArea(a,g,k);c.node.logicArea=g;return c.bound=a};l.prototype.draw=function(){var a,b;b=this.conf.bound.style||{};var c=this.compositionsByCategory,
d,q,e,f,g,h;3<=arguments.length?(q=arguments[1],f=arguments[2]):2<=arguments.length&&(f=arguments[1]);a=f.parentLayer;e=f.componentPool;g=e.getKeys();this.getLogicalSpace(q,f);q=this._lSpace;h=e.getComponent(this._id,g.KEY_GROUP);a=h("legend-body",a).attr({transform:"t0,0"});h=e.getComponent(this._id,g.KEY_RECT);this.bound=b=h(a).attr(q.bound).css(b);f.colorRange=this.colorRange;f.parentLayer=a;e=0;for(g=l.DARW_STACK.length;e<g;e++)(d=c[l.DARW_STACK[e]])&&d.draw(f);f.moveInstructions&&a.attr({transform:f.moveInstructions});
return{bound:b,group:a}};W.prototype=Object.create(l.prototype);W.prototype.constructor=W;W.prototype.getCompositionPlotAreaFor=function(a){var b;b=t(a,{});return function(c,d){c=c||{};b.x+=c.width||0;b.width=a.width*d;return b}};W.prototype.updateEffectivePlotArea=function(a,b,c){var d=this.conf.padding;b.width=c;a.width=c+2*d.h};W.prototype.getSpaceTaken=function(a){return a.width};M.prototype.constructor=M;M.prototype.getEffectivePlotArea=function(a){var b=this.conf.padding;a.height-=2*b.v;a.width-=
2*b.h;a.x+=b.h;a.y+=b.v;this.node=[];return a};M.prototype.getLogicalSpace=function(a,b,c){var d=this._lSpace,q=this.conf,e=q.padding,f,g,h=[],k,n,m,l,B,y=0,x,v,V;B=b.componentPool.getChart();var K=[];if(d&&!c)return d.isImpure=!0,d;d=b.colorRange;b=b.smartLabel;c=d.getCumulativeValueRatio();f=d.colorRange;d=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0,smartTexts:[]}};l=d.node.smartTexts;k=t(a,{});k=this.getEffectivePlotArea(k);b.useEllipsesOnOverflow(B.config.useEllipsesWhenOverflow);
q=t(q.style,{});w(q);b.setStyle(q);B=b.getSmartText("W");g=0;for(q=f.length;g<q;g++)(n=f[g].label)?(y++,K.push({oriIndex:g,label:n})):l[g]=void 0;q=K.length;if(0===q)return{height:0,width:0};n=m=1<q?(c[K[q-1].oriIndex]-c[K[0].oriIndex])/2*k.width/100:Math.max(c[K[0].oriIndex],100-c[K[0].oriIndex])/2*k.width/100;y=b.getSmartText(K[0].label,n,k.height);y.x=c[K[0].oriIndex]*k.width/100;g=y.x+y.width;h.push(y.height);l[K[0].oriIndex]=y;y=b.getSmartText(K[q-1].label,n,k.height);y.x=c[K[q-1].oriIndex]*
k.width/100;f=y.x-y.width;h.push(y.height);l[K[q-1].oriIndex]=y;v=g;for(g=1;g<q-1;g++)n=K[g].label,V=K[g].oriIndex,y=void 0,m=g+1===q-1?f:c[K[g+1].oriIndex]*k.width/100,x=c[K[g].oriIndex]*k.width/100,m=Math.min(x-v,m-x),m>2*B.width&&(y=b.getSmartText(n,m,k.height),y.x=c[V]*k.width/100,v=m,h.push(y.height)),l[K[g].oriIndex]=y;h=Math.max.apply(Math,h);k.height=h;a.height=h+2*e.v;d.node.logicArea=k;return d.bound=a};M.prototype.draw=function(){var a,b,c=this.conf;b=c.bound&&c.bound.style||{stroke:"none"};
var d,q,e,f,g,h={},k;2<=arguments.length?(q=arguments[0],f=arguments[1]):1<=arguments.length&&(f=arguments[0]);a=f.parentLayer;f.colorRange.getCumulativeValueRatio();d=f.componentPool;g=d.getKeys();this.getLogicalSpace(q,f);e=this._lSpace;q=e.node.logicArea;f=e.node.smartTexts;k=d.getComponent(this._id,g.KEY_GROUP);a=k("legend-labels",a);k=d.getComponent(this._id,g.KEY_RECT);this.bound=b=k(a).attr(e.bound).css(b);a.transform("R0");k=d.getComponent(this._id,g.KEY_TEXT,!0);g=0;for(e=f.length;g<e;g++)if(d=
f[g])h.y=q.y+d.height/2,h.x=g===e-1?q.x+d.x-d.width/2:g?q.x+d.x:q.x+d.x+d.width/2,this.node.push(k(a).attr({text:d.text}).attr(h).css(c.style).transform("R0"));return{group:a,bound:b,node:this.node}};Y.prototype=Object.create(M.prototype);Y.prototype.constructor=Y;Y.prototype.getLogicalSpace=function(a){var b;if(a){b=a;var c=b.height;b.height=b.width;b.width=c}b=M.prototype.getLogicalSpace.apply(this,arguments);return{height:b.width,width:b.height}};Y.prototype.draw=function(){var a,b,c,d,q;c=M.prototype.draw.apply(this,
arguments);a=c.bound;b=c.group;a=a.getBBox();c=c.node;b.transform("R90,"+(a.x+a.height/2)+","+(a.y+a.height/2));b=0;for(a=c.length;b<a;b++)d=c[b],q=d.getBBox(),d.transform("R180,"+(q.x+q.width/2)+","+(q.y+q.height/2))};S.prototype=Object.create(M.prototype);S.prototype.constructor=S;S.prototype.getLogicalSpace=function(a,b,c){var d=this._lSpace,q=this.conf,e=q.padding,f=b.componentPool.getChart(),g,h,k,n,m,l,B=[],y,x,v,V;if(d&&!c)return d.isImpure=!0,d;d=b.colorRange;b=b.smartLabel;c=d.colorRange;
k=d.getCumulativeValueRatio();d=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0,smartTexts:[]}};V=d.node.smartTexts;x=t(a,{});x.height-=2*e.v;x.width-=2*e.h;x.x+=e.h;x.y+=e.v;b.useEllipsesOnOverflow(f.config.useEllipsesWhenOverflow);q=t(q.style,{});w(q);b.setStyle(q);f=b.getSmartText("W");q=c.length;l=(k[q-1]-k[0])/2*x.width/100;g=c[0].displayValue;g=b.getSmartText("string"!==typeof g&&void 0!==g&&g.toString()||g,l,x.height);g.x=k[0]*x.width/100;h=g.x+g.width;B.push(g.height);V[0]=g;
g=b.getSmartText(c[q-1].displayValue,l,x.height);g.x=k[q-1]*x.width/100;l=g.x-g.width;B.push(g.height);V[q-1]=g;y=h;for(h=1;h<q-1;h++)g=void 0,v=c[h].displayValue,n=h+1===q-1?l:k[h+1]*x.width/100,m=k[h]*x.width/100,n=Math.min(m-y,n-m),n>1.5*f.width&&(g=b.getSmartText(v,2*n,x.height),g.x=k[h]*x.width/100,y=n,B.push(g.height)),V[h]=g;B=Math.max.apply(Math,B);x.height=B;a.height=B+2*e.v;d.node.logicArea=x;return d.bound=a};S.prototype.draw=function(){var a=this.conf,b=a.bound&&a.bound.style||{stroke:"none"},
c,d={},q,e,f,g,h,k,n;2<=arguments.length?(f=arguments[0],h=arguments[1]):1<=arguments.length&&(h=arguments[0]);q=h.parentLayer;k=h.colorRange.getCumulativeValueRatio();e=h.componentPool;c=e.getKeys();this.getLogicalSpace(f,h);g=this._lSpace;f=g.node.logicArea;h=g.node.smartTexts;n=e.getComponent(this._id,c.KEY_GROUP);q=n("legend-values",q);n=e.getComponent(this._id,c.KEY_RECT);this.bound=b=n(q).attr(g.bound).css(b);n=e.getComponent(this._id,c.KEY_TEXT,!0);c=0;for(k=k.length;c<k;c++)if(e=h[c])d.y=
f.y+e.height/2,d.x=c===k-1?f.x+e.x-e.width/2:c?f.x+e.x:f.x+e.x+e.width/2,n(q).attr({text:e.text}).attr(d).css(a.style);return{group:q,bound:b}};Z.prototype=Object.create(S.prototype);Z.prototype.constructor=Z;Z.prototype.getLogicalSpace=function(a,b,c){var d=this._lSpace,e=this.conf,f=e.padding,g=b.componentPool.getChart(),h,k,n,m,l,D,B=[],y,x,v,V;if(d&&!c)return d.isImpure=!0,d;d=b.colorRange;b=b.smartLabel;c=d.colorRange;k=d.getCumulativeValueRatio();d=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0,
smartTexts:[]}};V=d.node.smartTexts;l=t(a,{});l.height-=2*f.v;l.width-=2*f.h;l.x+=f.h;l.y+=f.v;b.useEllipsesOnOverflow(g.config.useEllipsesWhenOverflow);e=t(e.style,{});w(e);b.setStyle(e);v=b.getSmartText("W");g=c.length;D=(k[g-1]-k[0])/2*l.height/100;e=b.getSmartText(c[0].displayValue,l.width,D);e.y=k[0]*l.height/100;h=e.y+e.width;B.push(e.width);V[0]=e;e=b.getSmartText(c[g-1].displayValue,l.width,D);e.y=k[g-1]*l.height/100;D=e.y-e.height;B.push(e.width);V[g-1]=e;y=h;for(h=1;h<g-1;h++)e=void 0,x=
c[h].displayValue,n=h+1===g-1?D:k[h+1]*l.height/100,m=k[h]*l.height/100,n=Math.min(m-y,n-m),n>2*v.height&&(e=b.getSmartText(x,l.width,2*n),e.y=k[h]*l.height/100,y=n,B.push(e.width)),V[h]=e;B=Math.max.apply(Math,B);l.width=B;a.width=B+2*f.h;d.node.logicArea=l;return d.bound=a};Z.prototype.draw=function(){var a,b,c=this.conf;b=c.bound&&c.bound.style||{stroke:"none"};var d,e,f,g,h,k,n={},l;2<=arguments.length?(d=arguments[0],f=arguments[1]):1<=arguments.length&&(f=arguments[0]);a=f.parentLayer;g=f.colorRange.getCumulativeValueRatio();
h=f.componentPool;k=h.getKeys();this.getLogicalSpace(d,f);e=this._lSpace;d=e.node.logicArea;f=e.node.smartTexts;l=h.getComponent(this._id,k.KEY_GROUP);a=l("legend-values",a);l=h.getComponent(this._id,k.KEY_RECT);this.bound=b=l(a).attr(e.bound).css(b);l=h.getComponent(this._id,k.KEY_TEXT,!0);h=0;for(k=g.length;h<k;h++)if(g=f[h])n.x=d.x+g.width/2,n.y=h===k-1?d.y+g.y-g.height/2:h?d.y+g.y:d.y+g.y+g.height/2,l(a).attr({text:g.text}).attr(n).css(c.style);return{group:a,bound:b}};N.prototype.constructor=
N;N.prototype.addCompositions=function(a,b){this.compositionsByCategory[b]=a};N.prototype.getLogicalSpace=function(a,b,c){b=this._lSpace;var d=this.conf,e=d.padding,g,f;f=d.legendAxisHeight;var h=this.compositionsByCategory,k;k=0;if(b&&!c)return b.isImpure=!0,b;b=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0}};c=t(a,{});c.height-=2*e.v;c.width-=2*e.h;c.x+=e.h;c.y+=e.v;d=f/2+d.line.offset;g=f/2;if(h=h.RANGE)k=h.sliders[!1],k=k.conf.outerCircle.rFactor*f,g+=k=Math.max(k/2-f/2,0);c.y+=
k;c.height=f=g+d+k;a.height=f+2*e.v;b.node.logicArea=c;return b.bound=a};N.prototype.getDrawableAxisArea=function(a){var b=this.conf;return{x:a.x,y:a.y,width:a.width,height:b.legendAxisHeight,r:b.legendAxisHeight/2}};N.prototype.preDrawingRangeParam=function(a){return{y:a.y+a.height/2,calculationBase:a.height,rangeStart:a.x,rangeEnd:a.x+a.width,prop:"y"}};N.prototype.getScaleMarkerPathStr=function(a,b){var c=t(a,{}),d=this.conf.line,e,f,g,h,k="";c.x+=c.r;c.width-=2*c.r;h=c.y+c.height;e=0;for(f=b.length;e<
f;e++)g=b[e],g=c.x+g*c.width/100,k+="M"+g+","+(h-d.grooveLength)+"L"+g+","+(h+d.offset);c=""+("M"+c.x+","+(h+d.offset)+"L"+(c.x+c.width)+","+(h+d.offset));return k+c};N.prototype.getColorGradient=function(a){return{axis:a.getBoxFill(),shadow:U({FCcolor:{alpha:"25,0,0",angle:90,color:"000000,FFFFFF,FFFFFF",ratio:"0,30,40"}})}};N.prototype.draw=function(){var a,b=this.conf,c=b.line,d=(b.bound||{}).style||{},e,g,f=this.compositionsByCategory,h,k,n,l,m,D;2<=arguments.length?(e=arguments[0],m=arguments[1]):
1<=arguments.length&&(m=arguments[0]);a=m.parentLayer;h=m.colorRange;k=h.getCumulativeValueRatio();D=m.componentPool;n=D.getKeys();this.getLogicalSpace(e,m);l=this._lSpace;e=D.getComponent(this._id,n.KEY_GROUP);a=e("legend-axis",a);e=D.getComponent(this._id,n.KEY_RECT,!0);this.bound=e(a).attr(l.bound).css(d);d=this.getDrawableAxisArea(l.node.logicArea);h=this.getColorGradient(h);b.style.fill=h.axis;b.shadow.style.fill=h.shadow;this.node=e(a).attr(d).css(b.style);this.shadow=e(a).attr(d).css(b.shadow.style);
b=this.getScaleMarkerPathStr(d,k);e=D.getComponent(this._id,n.KEY_PATH);e("M0,0",a).attr({path:b}).css(c.style);for(g in f)switch(c=f[g],g){case "RANGE":n=this.preDrawingRangeParam(d),m[n.prop]=n[n.prop],m.key=n.prop,m.rCalcBase=n.calculationBase,m.parentLayer=a,c.draw(n.rangeStart,n.rangeEnd,m)}};T.prototype=Object.create(N.prototype);T.prototype.constructor=T;T.prototype.getLogicalSpace=function(a,b,c){b=this._lSpace;var d=this.conf,e=d.padding,g,f;f=d.legendAxisHeight;var h=this.compositionsByCategory,
k;k=0;if(b&&!c)return b.isImpure=!0,b;b=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0}};c=t(a,{});c.height-=2*e.v;c.width-=2*e.h;c.x+=e.h;c.y+=e.v;d=f/2+d.line.offset;g=f/2;if(h=h.RANGE)k=h.sliders[!1],k=k.conf.outerCircle.rFactor*f,g+=k=Math.max(k/2-f/2,0);c.x+=k;c.width=f=g+d+k;a.width=f+2*e.v;b.node.logicArea=c;return b.bound=a};T.prototype.getDrawableAxisArea=function(a){var b=this.conf;return{x:a.x,y:a.y,width:b.legendAxisHeight,height:a.height,r:b.legendAxisHeight/2}};T.prototype.getScaleMarkerPathStr=
function(a,b){var c=t(a,{}),d=this.conf.line,e,f,g,h,k="";c.y+=c.r;c.height-=2*c.r;h=c.x+c.width;e=0;for(g=b.length;e<g;e++)f=b[e],f=c.y+f*c.height/100,k+="M"+(h-d.grooveLength)+","+f+"L"+(h+d.offset)+","+f;c=""+("M"+(h+d.offset)+","+c.y+"L"+(h+d.offset)+","+(c.y+c.height));return k+c};T.prototype.getColorGradient=function(a){return{axis:a.getBoxFill(!0),shadow:U({FCcolor:{alpha:"25,0,0",angle:360,color:"000000,FFFFFF,FFFFFF",ratio:"0,30,40"}})}};T.prototype.preDrawingRangeParam=function(a){return{x:a.x+
a.width/2,calculationBase:a.width,rangeStart:a.y,rangeEnd:a.y+a.height,prop:"x"}};C.prototype.constructor=C;C.prototype.initRange=function(a,b){this.extremes[+a.sliderIndex]=b};C.prototype.updateRange=function(a,b){var c=a.sliderIndex;this.sliders[!c].updateSwingRange(c,b)};C.prototype.reset=function(){var a={};a.conf=this.conf;a.sliderGroup=this;this.sliders[!1]=new P(!1,a,this._id+"_0");this.sliders[!0]=new P(!0,a,this._id+"_1");this.draw.apply(this,this._drawParams)};C.prototype.clearListeners=
function(){this.callbacks.length=0};C.prototype.draw=function(a,b,c){var d=this.sliders,e=d[!1],d=d[!0],f=c.colorRange,g=f.colorRange,h=this._fcChart=c.componentPool.getChart();this.getValueFormPixel=function(a,b,c,d){var e=(b-a)/(d-c);this.getValueFormPixel=function(b){return a+e*b}};this.updateWhenInMove=function(a,b){this.updateWhenInMove=function(c,d){var e=this.extremes,e=this.getValueFormPixel(c.sliderIndex?e[1]-e[0]+d:d);return e=b?parseFloat(e).toFixed(2)+"%":a.legendValue(e)}};this._drawParams=
[a,b,c];this.updateWhenInMove(h.components.numberFormatter,f.mapByPercent);a=e.draw(a,g[0].displayValue,c[c.key],c);a=d.draw(b,g[g.length-1].displayValue,c[c.key],c);e.swing=this.extremes.slice(0);d.swing=this.extremes.slice(0);this.getValueFormPixel(g[0].value,g[g.length-1].value,this.extremes[0],this.extremes[1]);return a};C.prototype.registerListener=function(a,b,c){this.callbacks.push({fn:a,context:b,params:c||[]})};C.prototype.updateWhenInRest=function(a,b){var c=this.sliders,d=this.extremes,
e=a.sliderIndex,g,f=this.callbacks,h,k;e?(g=c[!e].currPos,c=d[1]-d[0]+b):(g=b,c=d[1]-d[0]+c[!e].currPos);d=0;for(e=f.length;d<e;d++)h=f[d],k=h.params.slice(0),k.unshift(this.getValueFormPixel(c)),k.unshift(this.getValueFormPixel(g)),h.fn.apply(h.context,k)};C.prototype.dragStarted=function(a){var b=this.sliders,c=this.extremes,d=a.conf,e=this._fcChart;E.raiseEvent("legendpointerdragstart",{pointerIndex:+a.sliderIndex,pointers:[{value:this.getValueFormPixel(b[!1].currPos)},{value:this.getValueFormPixel(c[1]-
c[0]+b[!0].currPos)}],legendPointerHeight:d.outerRadius,legendPointerWidth:d.innerRadius,outerRadius:d.outerRadius,innerRadius:d.innerRadius},e.chartInstance,[e.id])};C.prototype.dragCompleted=function(a,b,c){var d=this.sliders,e=this.extremes,g=a.conf,f=this.getValueFormPixel(d[!1].currPos),d=this.getValueFormPixel(e[1]-e[0]+d[!0].currPos),h=this._fcChart,k;a.sliderIndex?(k=f,c=this.getValueFormPixel(e[1]-e[0]+c)):(k=this.getValueFormPixel(c),c=d);b&&E.raiseEvent("legendrangeupdated",{previousMinValue:f,
previousMaxValue:d,minValue:k,maxValue:c},h.chartInstance,[h.id]);E.raiseEvent("legendpointerdragstop",{pointerIndex:+a.sliderIndex,pointers:[{value:f},{value:d}],legendPointerHeight:g.outerRadius,legendPointerWidth:g.innerRadius,outerRadius:g.outerRadius,innerRadius:g.innerRadius},h.chartInstance,[h.id])};P.prototype.constructor=P;P.prototype.updateSwingRange=function(a,b){this.swing[+a]=b};P.prototype.draw=function(a,b,c,d){var g=d.parentLayer,f=this.conf,h=f.outerCircle,k=f.innerCircle,n=Math.ceil(h.rFactor*
d.rCalcBase/2),l=Math.ceil(k.rFactor*d.rCalcBase/2),m=n-l,t=this.rangeGroup,v=this.sliderIndex,B,y,x=d.componentPool,w=x.getKeys();f.outerRadius=n;f.innerRadius=l;this._scaleVal=b;k.style["stroke-width"]=m;m=Math.ceil(h.style["stroke-width"]/2);l+=m;y=x.getComponent(this._id,w.KEY_GROUP);g=this.node=y("fc-gl-slider",g).attr({cursor:"pointer",transform:"t0,0"});"x"===d.key?a=B=a+(v?-l:+l):(B=c,a=c=a+(v?-l:+l));t.initRange(this,a);y=x.getComponent(this._id,w.KEY_CIRCLE,!0);y(g).attr({cx:c,cy:B,r:n}).css(h.style);
y(g).attr({cx:c,cy:B,r:l}).css(k.style);b=this.tracker=y(g).attr({cx:c,cy:B,r:n+5,ishot:!0,fill:e,stroke:0,cursor:"pointer"}).trackTooltip(f.showTooltip?!0:!1).tooltip(b,null,null,!0);this._dragAPI=d=this.getDragAPI("x"===d.key);b.undrag();b.drag(d.dragging,d.dragStart,d.dragEnd);return{translateAscending:n+m}};P.prototype.getDragAPI=function(a){var b=this,c=b.node,d=b.sliderIndex,e=b.rangeGroup,g,f,h,k=b.conf.innerRadius,n;return{dragging:function(l,m,t,v,y){var x;y.stopPropagation();y.preventDefault();
x=a?m:l;d?(l=g[0]-g[1]+k,m=0):(l=0,m=g[1]-g[0]-k);if(!(b.currPos+x<l||b.currPos+x>m))return c.attr({transform:a?"t0,"+(b.currPos+x):"t"+(b.currPos+x)+",0"}),f=x,h&&clearTimeout(h),h=setTimeout(function(){e.updateWhenInRest(b,b.currPos+x)},100),b.tracker.tooltip(e.updateWhenInMove(b,b.currPos+x),null,null,!0),n=!0},dragStart:function(d,f,h){h.stopPropagation();h.preventDefault();c.attr({transform:a?"t0,"+b.currPos:"t"+b.currPos+",0"});g=g||b.swing;n=!1;e.dragStarted(b)},dragEnd:function(){var a;e.dragCompleted(b,
n,b.currPos+f);n&&(h&&clearTimeout(h),h=setTimeout(function(){e.updateWhenInRest(b,b.currPos)},100),b.currPos+=f,a=g[+d]+b.currPos,e.updateRange(b,a))}}};Q.prototype.constructor=Q;Q.prototype.getValueRatio=function(){var a=this.colorRange,b,c,d=a.length,e=this.valueRatio,g=a[0].value,f=a[d-1].value-g,h=0;if(e)return e;e=this.valueRatio=[];for(c=0;c<d;c++)b=a[c],b=(b.value-g)/f,e.push(100*(b-h)),h=b;return e};Q.prototype.getCumulativeValueRatio=function(){var a=this.colorRange,b,c,d=a.length,e=a[0].value,
g=a[d-1].value,f=[];for(c=0;c<d;c++)b=a[c],f.push((b.value-e)/(g-e)*100);return f};Q.prototype.getBoxFill=function(a){var b=this.colorRange,c,d=b.length,e=[],g;g=a?90:0;for(c=0;c<d;c++)a=b[c],e.push(a.code);b={FCcolor:{alpha:"100,100,100",angle:g,color:e.join(","),ratio:this.getValueRatio().join(",")}};return U(b)};Q.prototype.getColorByValue=function(c){var d=this.values,e=this.colorRange,g,f,h,k;if(void 0!==c&&null!==c){f=0;for(g=d.length;f<g;f++)if(c===d[f]){k=e[f].code;break}else if(!f&&c<d[f]){h=
!0;break}else if(f===g-1&&c>d[f]){h=!0;break}else if(c>d[f]&&c<d[f+1]){d=e[f];g=e[f+1];e=d.value;f=a(d.code);d=g.value;g=a(g.code);k=k=void 0;k=d-e;k=[Math.round(f[0]+(g[0]-f[0])/k*(c-e)),Math.round(f[1]+(g[1]-f[1])/k*(c-e)),Math.round(f[2]+(g[2]-f[2])/k*(c-e))];k=b(k);break}if(!h)return k}};$.prototype=Object.create(m.prototype);$.prototype.constructor=$;FusionCharts.register("component",["gradientLegend","gradientLegend",{pIndex:1,enabled:!1,init:function(a){function b(e){c.data=a.chart.jsonData.colorrange;
(k=c.nData=g.legacyDataParser(c.data,e))?(c.drawOptions={smartLabel:d.linkedItems.smartLabel,colorRange:c.colorRange=f=new Q(k,e,n),maxOtherSide:e.maxOtherSide},c._dontPlot=!1,f&&f._preparationGoneWrong&&(c._dontPlot=!0),c._recalculateLogicalSpace=!0,c._configure()):c._dontPlot=!0}var c=this,d=a.chart,e,f,k,n;g.init(a);n=c._chart=a.chart;c._cpool=h(n);if(!(e=a.dataExtremes))return b;b(e)},_configure:function(){var a=this._chart,b=a.jsonData.chart,c=this.conf={},d=b.outcnvbasefont,e=b.outcnvbasefontsize,
f=b.outcnvbasefontcolor,a=a.config.dataLabelStyle,g,h,k,n,l,m,t;c.caption=J(b.legendcaption);c.legendPosition=J(b.legendposition,"bottom").toLowerCase();c.showLegend=v(b.showlegend,1);c.interactiveLegend=v(b.interactivelegend,1);c.showLegendLabels=v(b.showlegendlabels,1);g=b.legenditemfontcolor||f;h=b.legenditemfont||d;k=b.legenditemfontsize||e;n=v(b.legenditemfontbold,0);f=b.legendcaptionfontcolor||f;d=b.legendcaptionfont||d;e=b.legendcaptionfontsize||e;l=v(b.legendcaptionfontbold,1);t=(m=b.legendaxisbordercolor?
da(ca(b.legendaxisbordercolor)):void 0)?v(b.legendaxisborderalpha,100)/100:void 0;c.axisTextItemConf={style:{fill:g?X(J(g)):a.color,fontFamily:h?J(h):a.fontFamily,fontSize:k?v(k):a.fontSize.match(/\d+/)[0],fontWeight:n?"bold":a.fontWeight}};c.legendCaptionConf={style:{fill:f?X(J(f)):a.color,fontFamily:d?J(d):a.fontFamily,fontSize:e?v(e):a.fontSize.match(/\d+/)[0],fontWeight:l?"bold":a.fontWeight,fontStyle:"normal"}};c.legendAxisConf={legendAxisHeight:11,style:{stroke:m,"stroke-opacity":t},line:{style:{stroke:X(J(b.legendscalelinecolor,
"FFF8E9"),v(b.legendscalelinealpha,100)),"stroke-width":v(b.legendscalelinethickness)}}};c.sliderGroupConf={showTooltip:v(b.showtooltip,1),outerCircle:{rFactor:v(b.sliderdiameterfactor),style:{stroke:X(J(b.legendpointerbordercolor,"757575"),v(b.legendpointerborderalpha,100))}},innerCircle:{rFactor:v(b.sliderholediameterfactor),style:{stroke:X(J(b.legendpointercolor,"FFFFFF"),v(b.legendpointeralpha,100))}}};c.legendCarpetConf={spreadFactor:v(b.legendspreadfactor),allowDrag:!!v(b.legendallowdrag,0),
captionAlignment:J(b.legendcaptionalignment,"center"),style:{fill:X(J(b.legendbgcolor,"e4d9c1"),v(b.legendbgalpha,100)),stroke:X(J(b.legendbordercolor,"c4b89d"),v(b.legendborderalpha,100)),"stroke-width":v(b.legendborderthickness,1)}}},postConfigureInit:function(){var a=this.conf,b,c,d,e,f,h,k;this.elem={};a.caption&&(f=t(g.getDefaultConf("legendCaptionConf"),a.legendCaptionConf),b=new O(a.caption,f));a.interactiveLegend&&(f=t(g.getDefaultConf("sliderGroupConf"),a.sliderGroupConf),this.elem.sGroup=
e=new C(f),this.listeners&&0<this.listeners.length&&e.registerListener.apply(e,this.listeners));f=t(g.getDefaultConf("legendCarpetConf"),a.legendCarpetConf);"bottom"===a.legendPosition?(this.drawOptions.refSideKey="canvasWidth",this.drawOptions.refOffsetKey="canvasLeft",c=new L(f),h=new l(this.drawOptions.colorRange,g.getDefaultConf("legendBodyConf")),d=new N(t(g.getDefaultConf("legendAxisConf"),a.legendAxisConf)),f=t(g.getDefaultConf("axisTextItemConf"),a.axisTextItemConf),a.showLegendLabels&&(k=
new M(f)),a=new S(f)):(this.drawOptions.refSideKey="canvasHeight",this.drawOptions.refOffsetKey="canvasTop",c=new A(f),h=new W(this.drawOptions.colorRange,g.getDefaultConf("legendBodyConf")),d=new T(t(g.getDefaultConf("legendAxisConf"),a.legendAxisConf)),f=t(g.getDefaultConf("axisTextItemConf"),a.axisTextItemConf),a.showLegendLabels&&(k=new Y(f)),a=new Z(f));e&&d.addCompositions(e,"RANGE");k&&h.addCompositions(k,"LEGEND_LABEL");h.addCompositions(d,"LEGEND_AXIS");h.addCompositions(a,"AXIS_VALUE");
b&&c.addCompositions(b,"CAPTION");c.addCompositions(h,"LEGEND_BODY");this.elem.gl=new $(c,this._cpool)},notifyWhenUpdate:function(a,b,c){var d;(d=this.elem&&this.elem.sGroup)?d.registerListener(a,b,c):this.listeners=[a,b,c]},dispose:function(){this.elem&&this.elem.gl&&this.elem.gl.dispose();this.elem={}},getLogicalSpace:function(a){var b=this.conf,c={height:0,width:0},d=this.drawOptions,e=this._chart;if(!this._recalculateLogicalSpace)return b=d.refSideKey,d=d.refOffsetKey,this.drawOptions.refSide=
e.config[b],this.drawOptions.refOffset=e.config[d],(this._logicalArea=this.elem.gl.getLogicalSpace(this.drawOptions,!0))||c;if(this._dontPlot)return c;this._recalculateLogicalSpace=!1;this.postConfigureInit();if(!b.showLegend)return c;b=d.refSideKey;d=d.refOffsetKey;this.drawOptions.refSide=e.config[b];this.drawOptions.refOffset=e.config[d];this.drawOptions.maxOtherSide=a||this.drawOptions.maxOtherSide;return this.elem.gl&&(this._logicalArea=this.elem.gl.getLogicalSpace(this.drawOptions,!0))},resetLegend:function(){var a;
(a=this.elem&&this.elem.sGroup)&&a.reset()},clearListeners:function(){var a;(a=this.elem&&this.elem.sGroup)&&a.clearListeners()},draw:function(a,b,c){var d=this.conf;this._dontPlot||(this._cpool.init(c.paper),d.showLegend?(this.drawOptions.paper=c.paper,this.drawOptions.parentGroup=c.parentGroup,this.drawOptions.x=a,this.drawOptions.y=b,this.drawOptions.maxOtherSide=this.drawOptions.maxOtherSide||c.maxOtherSide,a=this.elem.gl.draw(this.drawOptions),a=a.getBBox(),d.xPos=a.x,d.yPos=a.y,d.height=a.height,
d.width=a.width,this.enabled=!0):this.enabled=!1)}}])}]);
FusionCharts.register("module",["private","modules.renderer.js-maps",function(){var t=this,R=t.window,w=t.hcLib,I=w.chartAPI,m=w.pluck,L=w.imprint,A=w.extend2,O=w.parseTooltext,l=w.pluckNumber,W=w.graphics.getLightColor,M=w.dropHash,Y=w.HASHSTRING,S=w.parseUnsafeString,Z=w.getDashStyle,N=A(w.defaultPaletteOptions,{foregroundcolor:"333333",foregroundalpha:"100",foregrounddarkcolor:"111111",foregrounddarkalpha:"100",foregroundlightcolor:"666666",foregroundlightalpha:"100",backgroundlightcolor:"FFFFFF",
backgroundlightalpha:"100",backgroundlightangle:90,backgroundlightratio:"",backgroundcolor:"FFFFCC",backgroundalpha:"100",backgrounddarkcolor:"ffcc66",backgrounddarkalpha:"100",backgrounddarkangle:270,backgrounddarkratio:"",shadow:1}),T=w.setLineHeight,C=w.graphics.convertColor,P=/msie/i.test(R.navigator.userAgent)&&!R.opera,Q=w.hasSVG,$=R.Math,E=$.min,z=$.max,R=!/fusioncharts\.com$/i.test(R.location.hostname),v=w.toRaphaelColor,J=function(b,a){var c;b||(b={});for(c in a)b[c]=a[c];return b},U=function(b,
a){var c=a?J(b.FCcolor,a):{FCcolor:b};c.toString=v;return c},aa=function(b,a){var c,d;this.index=a;for(d in b)c=N[b[d]],this[d]=c instanceof Array?c[a]:c},ca={right:function(b,a){return a},left:function(b,a){return b-a},center:function(b,a){return 2*E(a,b-a)}},da={top:function(b,a){return a},middle:function(b,a){return 2*E(a,b-a)},bottom:function(b,a){return b-a}},X=function(b,a){var c=b&&b.length||!1,d=a||"id",e={},g;if(!b)return b;for(;c--;)g=b[c],void 0!==g[d]&&(e[g[d].toLowerCase()]=g);return e};
J(w.eventList,{entityrollover:"FC_Event",entityrollout:"FC_Event"});I("geo",{name:"geo",friendlyName:"Map",revision:1,creditLabel:R,hasCanvas:!0,standaloneInit:!1,defaultDatasetType:"maps",baseWidth:400,baseHeight:300,baseScaleFactor:1,defaultSeriesType:"geo",fireGroupEvent:!0,legendposition:"right",hasGradientLegend:!0,isMap:!0,entities:{},init:function(b,a,c,d){var e,g;g=a.chart=a.chart||a.graph||a.map||{};this.jsonData=a;e=this.components=this.components||(this.components={});e.mapAnnotations=
e.mapAnnotations||(e.mapAnnotations=new w.Annotations);this.components.colorPalette=new aa(this.colorPaletteMap,(0<g.palette&&6>g.palette?g.palette:l(this.paletteIndex,1))-1);g=FusionCharts.register("component",["caption","MapCaption"]);e.caption||(e.caption=new g);I.mscartesian.init.call(this,b,a,c,d)},configure:function(){var b;b=this.jsonData;var a=b.chart||b.map,c=b.markers,d=new aa(this.colorPaletteMap,(0<a.palette&&6>a.palette?a.palette:l(this.paletteIndex,1))-1),e,g,k,f,h=m(a.entitybordercolor,
a.bordercolor,d.plotbordercolor),n=m(a.entityfillcolor,a.fillcolor,d.plotfillcolor),u=m(a.entityfillalpha,a.fillalpha,d.plotfillalpha),s=m(a.entityfillratio,a.fillratio,d.plotfillratio),p=m(a.entityfillangle,a.fillangle,d.plotfillangle),r=m(a.nullentityfillcolor,a.nullentitycolor,n),q=l(a.usevaluesformarkers,b.markers&&b.markers.items&&b.markers.items.length,!(b.markers&&b.markers.application&&b.markers.application.length&&b.markers.definition&&b.markers.definition.length));this.base.base.configure.call(this);
b=this.config;b.origMarginTop=l(a.charttopmargin,a.maptopmargin,11);b.origMarginLeft=l(a.chartleftmargin,a.mapleftmargin,11);b.origMarginBottom=l(a.chartbottommargin,a.mapbottommargin,11);b.origMarginRight=l(a.chartrightmargin,a.maprightmargin,11);f=b.style;e=f.inCancolor;g=f.inCanfontFamily;k=f.inCanfontSize;b.entityOpts={baseScaleFactor:this.baseScaleFactor,dataLabels:{style:{fontFamily:g,fontSize:k,lineHeight:f.inCanLineHeight,color:f.inCancolor}},fillColor:n,fillAlpha:u,fillRatio:s,fillAngle:p,
borderColor:h,borderAlpha:m(a.entityborderalpha,a.borderalpha,this.borderAlpha,"100"),borderThickness:l(a.showentityborder,a.showborder,1)?l(a.entityborderthickness,a.borderthickness,1):0,scaleBorder:l(a.scaleentityborder,a.scaleborder,0),hoverFillColor:m(a.entityfillhovercolor,a.hoverfillcolor,a.hovercolor,d.plothoverfillcolor),hoverFillAlpha:m(a.entityfillhoveralpha,a.hoverfillalpha,a.hoveralpha,d.plothoverfillalpha),hoverFillRatio:m(a.entityfillhoverratio,a.hoverfillratio,a.hoverratio,d.plothoverfillratio),
hoverFillAngle:m(a.entityfillhoverangle,a.hoverfillangle,a.hoverangle,d.plothoverfillangle),hoverBorderThickness:m(a.entityborderhoverthickness,a.hoverborderthickness),hoverBorderColor:m(a.entityborderhovercolor,d.plotbordercolor),hoverBorderAlpha:m(a.entityborderhoveralpha,d.plotborderalpha),nullEntityColor:r,nullEntityAlpha:m(a.nullentityfillalpha,a.nullentityalpha,u),nullEntityRatio:m(a.nullentityfillratio,a.nullentityratio,s),nullEntityAngle:m(a.nullentityfillangle,a.nullentityangle,p),connectorColor:m(a.labelconnectorcolor,
a.connectorcolor,e),connectorAlpha:m(a.labelconnectoralpha,a.connectoralpha,"100"),connectorThickness:l(a.labelconnectorthickness,a.borderthickness,1),showHoverEffect:l(a.showentityhovereffect,a.usehovercolor,a.showhovereffect,1),hoverOnNull:l(a.hoveronnull,a.entityhoveronnull,1),labelPadding:l(a.labelpadding,5),showLabels:l(a.showlabels,1),labelsOnTop:l(a.entitylabelsontop,1),includeNameInLabels:l(a.includenameinlabels,1),includeValueInLabels:l(a.includevalueinlabels,0),useSNameInTooltip:l(a.usesnameintooltip,
0),useShortName:l(a.usesnameinlabels,1),labelSepChar:m(a.labelsepchar,", "),showTooltip:l(a.showentitytooltip,a.showtooltip,1),tooltipSepChar:m(a.tooltipsepchar,", "),tooltext:a.entitytooltext,hideNullEntities:l(a.hidenullentities,0),showHiddenEntityBorder:l(a.showhiddenentityborder,1),showNullEntityBorder:l(a.shownullentityborder,1),hiddenEntityColor:m(a.hiddenentitycolor,a.hiddenentityfillcolor,a.hiddenentityalpha||a.hiddenentityfillalpha?r:"ffffff"),hiddenEntityAlpha:m(a.hiddenentityalpha,a.hiddenentityfillalpha,
.001),shadow:l(a.showshadow,this.defaultPlotShadow,d.shadow)};b.markerOpts={dataLabels:{style:{fontFamily:m(a.markerfont,g),fontSize:l(a.markerfontsize,parseInt(k,10)),fontColor:m(a.markerfontcolor,e)}},showTooltip:l(a.showmarkertooltip,a.showtooltip,1),showLabels:l(a.showmarkerlabels,a.showlabels,1),showHoverEffect:l(a.showmarkerhovereffect,1),labelPadding:m(a.markerlabelpadding,"5"),labelWrapWidth:l(a.markerlabelwrapwidth,0),labelWrapHeight:l(a.markerlabelwrapheight,0),fillColor:m(a.markerfillcolor,
a.markerbgcolor,d.markerfillcolor),fillAlpha:m(a.markerfillalpha,d.markerfillalpha),fillAngle:m(a.markerfillangle,d.markerfillangle),fillRatio:m(a.markerfillratio,d.markerfillratio),fillPattern:m(a.markerfillpattern,d.markerbgpattern),hoverFillColor:a.markerfillhovercolor,hoverFillAlpha:a.markerfillhoveralpha,hoverFillRatio:a.markerfillhoverratio,hoverFillAngle:a.markerfillhoverangle,borderThickness:m(a.markerborderthickness,1),borderColor:m(a.markerbordercolor,d.markerbordercolor),borderAlpha:l(a.markerborderalpha,
d.markerborderalpha),hoverBorderThickness:a.markerborderhoverthickness,hoverBorderColor:a.markerborderhovercolor,hoverBorderAlpha:a.markerborderhoveralpha,radius:l(a.markerradius&&w.trimString(a.markerradius),7),shapeId:m(a.defaultmarkershape,"circle"),labelSepChar:m(a.labelsepchar,", "),tooltipSepChar:m(a.tooltipsepchar,", "),autoScale:l(a.autoscalemarkers,0),tooltext:m(c&&c.tooltext,a.markertooltext),dataEnabled:q,valueToRadius:l(a.markerradiusfromvalue,1),valueMarkerAlpha:m(a.valuemarkeralpha,
"75"),hideNull:l(a.hidenullmarkers,0),nullRadius:l(a.nullmarkerradius,a.markerradius,7),adjustViewPort:l(a.adjustviewportformarkers,0),startAngle:l(a.markerstartangle,90),maxRadius:l(a.maxmarkerradius,0),minRadius:l(a.minmarkerradius,0),applyAll:l(a.applyallmarkers,0),shadow:l(a.showmarkershadow,a.showshadow,0)};b.connectorOpts={showHoverEffect:l(a.showconnectorhovereffect,1),thickness:l(a.connectorthickness,a.markerconnthickness,"2"),color:m(a.connectorcolor,a.markerconncolor,d.markerbordercolor),
alpha:m(a.connectoralpha,a.markerconnalpha,"100"),hoverThickness:l(a.connectorhoverthickness,a.connectorthickness,a.markerconnthickness,"2"),hoverColor:m(a.connectorhovercolor,a.connectorcolor,a.markerconncolor,d.markerbordercolor),hoverAlpha:m(a.connectorhoveralpha,a.connectoralpha,a.markerconnalpha,"100"),dashed:l(a.connectordashed,a.markerconndashed,0),dashLen:l(a.connectordashlen,a.markerconndashlen,3),dashGap:l(a.connectordashgap,a.markerconndashgap,2),font:m(a.connectorfont,a.markerconnfont,
g),fontColor:m(a.connectorfontcolor,a.markerconnfontcolor,e),fontSize:l(a.connectorfontsize,a.markerconnfontsize,parseInt(k,10)),showLabels:l(a.showconnectorlabels,a.showmarkerlabels,a.showlabels,1),labelBgColor:m(a.connectorlabelbgcolor,a.markerconnlabelbgcolor,d.plotfillcolor),labelBorderColor:m(a.connectorlabelbordercolor,a.markerconnlabelbordercolor,d.markerbordercolor),shadow:l(a.showconnectorshadow,a.showmarkershadow,a.showshadow,0),showTooltip:l(a.showconnectortooltip,a.showmarkertooltip,a.showtooltip,
1),tooltext:m(c&&c.connectortooltext,a.connectortooltext),hideOpen:l(a.hideopenconnectors,1)};b.adjustViewPortForMarkers=l(a.adjustviewportformarkers,q)},_createLayers:function(){var b=this.graphics||(this.graphics={}),a=this.components.paper,b=this.graphics;b.backgroundGroup=b.backgroundGroup||a.group("background");b.canvasGroup=b.canvasGroup||a.group("canvas");b.shadowGroup=b.shadowGroup||a.group("shadow");b.datasetGroup=b.datasetGroup||a.group("dataset");b.datalabelsGroup=b.datalabelsGroup||a.group("datalabel");
b.legendGroup=b.legendGroup||a.group("legend");b.captionGroup=b.captionGroup||a.group("caption");b.captionGroup.trackTooltip(!0);b.datasetGroup.trackTooltip(!0);b.buttonGroup=b.buttonGroup||a.group("buttons")},_createDatasets:function(){var b=this.components,a=this.jsonData,c=this.defaultDatasetType,d=a.data||{},e=a.markers,a=0,g=this.components.dataset,g=b.dataset||(b.dataset=[]);c&&c.toLowerCase();if(c=FusionCharts.get("component",["dataset","Entities"]))g[a]?(g[a].JSONData=d,g[a].configure()):
(b=new c,g.push(b),b.chart=this,b.index=void 0,b.init(d)),a++;c=FusionCharts.get("component",["dataset","Markers"]);b=g[a];c&&e?g[a]?(b.index=void 0,b.init(e),g[a].configure()):(b=new c,g.push(b),b.chart=this,b.index=void 0,b.init(e)):(d=b&&b.type,"markers"===d&&g.splice(a,1))},_parseBackgroundCosmetics:function(){var b=this.components.background.config,a=this.components.colorPalette,c=this.jsonData.chart,d;d=b.showBorder=l(c.showcanvasborder,1);b.borderWidth=d=d?l(c.canvasborderthickness,1):0;b.borderRadius=
b.borderRadius=l(c.canvasborderradius,0);b.borderDashStyle=b.borderDashStyle=l(c.borderdashed,0)?Z(l(c.borderdashlen,4),l(c.borderdashgap,2),d):"none";b.borderColor=b.borderColor=C(m(c.canvasbordercolor,a&&a.borderColor));b.borderAlpha=m(c.canvasborderalpha,a.borderAlpha)},_getBackgroundCosmetics:function(){var b=this.jsonData.chart||this.jsonData.map,a=this.components.colorPalette;return{FCcolor:{color:m(b.bgcolor,b.canvasbgcolor,a.bgcolor),alpha:m(b.bgalpha,b.canvasbgalpha,a.bgalpha),angle:m(b.bgangle,
b.canvasbgangle,a.bgangle),ratio:m(b.bgratio,b.canvasbgratio,a.bgratio)}}},_parseCanvasCosmetics:function(){var b=this.config,a=this.jsonData.chart||this.jsonData.map,c=this.components.canvas.config;b.origMarginTop=l(a.maptopmargin,11);b.origMarginLeft=l(a.mapleftmargin,11);b.origMarginBottom=l(a.mapbottommargin,11);b.origMarginRight=l(a.maprightmargin,11);b.origCanvasLeftMargin=l(a.canvasleftmargin,0);b.origCanvasRightMargin=l(a.canvasrightmargin,0);b.origCanvasTopMargin=l(a.canvastopmargin,0);b.origCanvasBottomMargin=
l(a.canvasbottommargin,0);c.canvasBorderRadius=l(a.canvasborderradius,0);c.origCanvasTopPad=l(a.canvastoppadding,0);c.origCanvasBottomPad=l(a.canvasbottompadding,0);c.origCanvasLeftPad=l(a.canvasleftpadding,0);c.origCanvasRightPad=l(a.canvasrightpadding,0)},draw:function(){this.config.entitiesDrawn=!1;this.config.hasChartMessage?(this._hide(),this.drawChartMessage()):(this._show(),this._createToolBox(),this._manageSpace(),this._updateVisuals(),this.inited=!0,this.chartInstance.jsVars.drawCount+=1,
this.chartInstance.__state.dataReady=!0,this.chartInstance.jsVars.hasNativeMessage=!1)},_drawDataset:function(){var b=this.chartInstance,a=this.components.dataset,c=this.graphics,d=a.length,e=this.config.scalingParams;c.datasetGroup.hide();c.shadowGroup.hide();b.addEventListener("internal.mapdrawingcomplete",function(){return function(a){a.detachHandler();Q&&(c.datasetGroup&&c.datasetGroup.attr({transform:e.transformStr}),c.shadowGroup&&c.shadowGroup.attr({transform:e.transformStr}));c.datasetGroup&&
c.datasetGroup.show();c.shadowGroup&&c.shadowGroup.show()}}());for(b=0;b<d;b++)a[b].draw();this.checkComplete()},preliminaryScaling:function(){for(var b=this.jsonData,a=(b=b.markers&&b.markers.items||[],b.length)||0,c=Infinity,d=Infinity,e=-Infinity,g=-Infinity,k,f;a--;)f=b[a],k=Number(f.x),f=Number(f.y),c=E(c,k),d=E(d,f),e=z(e,k),g=z(g,f);return{x:c,y:d,x1:e,y1:g}},getScalingParameters:function(b,a,c,d){var e=b/a,g=c/(b*this.baseScaleFactor),k=d/(a*this.baseScaleFactor),f=0,h=0;g>k?(g=k,f+=(c-d*
e)/2,b=200/(a*g)):(h+=(d-c/e)/2,b=200/(b*g));return{scaleFactor:g,strokeWidth:b,translateX:f,translateY:h}},calculateMarkerBounds:function(b,a,c){var d=this.config,e=d.markerOpts,g=this.components.dataset,k=this.getDataLimits(),f=k.dataMin,k=k.dataMax,h=e.hideNull,n=e.nullRadius,e=e.valueToRadius,l,m,p,r,q=Infinity,t=Infinity,v=-Infinity,H=-Infinity,w;p=0;for(r=g.length;p<r;p++)d=g[p],m=d.type,"markers"===m&&(l=d);if(l)for(p in l.calculateMarkerRadiusLimits(),m=l.conf||{},g=m.minRadius,m=m.maxRadius,
l=l.components&&l.components.markerObjs||{},l)d=l[p],d=d.config,w=d.definition||{},null!==d.cleanValue?(e&&void 0===w.radius&&(d.radius=g+(m-g)*(d.cleanValue-f)/(k-f)),r=Number(d.radius),d=(Number(w.x)+a)*b,w=(Number(w.y)+c)*b,q=E(q,d-r),t=E(t,w-r),v=z(v,d+r),H=z(H,w+r)):h?d.__hideMarker=!0:null===d.radius&&(d.radius=n);return{x:q,y:t,x1:v,y1:H}},_spaceManager:function(){var b=this.config,a=this.components.legend.config.legendPos,c=this.jsonData.chart,d=b.origMarginLeft,e=b.origMarginTop,g=this.baseWidth,
k=this.baseHeight,f,h={},n=0,m=0,s,h=b.markerOpts,c=b.borderWidth=b.showBorder?l(c.borderthickness,1):0;this._allocateSpace({top:c,bottom:c,left:c,right:c});this._manageLegendSpace("right"===a?.3*b.canvasWidth:.3*b.canvasHeight);a=this._manageChartMenuBar("bottom"===a?.225*b.canvasHeight:.225*b.canvasWidth);c=b.canvasWidth;f=b.canvasHeight;h.dataEnabled?(b.adjustViewPortForMarkers?(h=this.preliminaryScaling(),h.x1>g&&(g=h.x1),0>h.x&&(g+=-h.x,n=-h.x),h.y1>k&&(k=h.y1),0>h.y&&(k+=-h.y,m=-h.y),b=this.getScalingParameters(g,
k,c,f),h=this.calculateMarkerBounds(b.scaleFactor*this.baseScaleFactor,n,m),b=f,s=c,0>h.x&&(d+=-h.x,c+=h.x),0>h.y&&(e+=-h.y,f+=h.y),h.x1>s&&(c-=h.x1-s),h.y1>b&&(f-=h.y1-b)):(b=this.getScalingParameters(g,k,c,f),this.calculateMarkerBounds(b.scaleFactor*this.baseScaleFactor,n,m)),b=this.getScalingParameters(g,k,c,f),d+=n*b.scaleFactor*this.baseScaleFactor,e+=m*b.scaleFactor*this.baseScaleFactor):b=this.getScalingParameters(g,k,c,f);this.config.scalingParams=b;g=b.scaleFactor;b.translateX+=d;b.translateY=
b.translateY+e+a.top||0;b.sFactor=g*this.baseScaleFactor;b.transformStr=["t",b.translateX,",",b.translateY,"s",g,",",g,",0,0"].join("");this.components.mapAnnotations.reset(null,{id:"geo",showbelow:0,autoscale:0,grpxshift:b.translateX?b.translateX:0,grpyshift:b.translateY?b.translateY:0,xscale:100*(g?g*this.baseScaleFactor:1),yscale:100*(g?g*this.baseScaleFactor:1),options:{useTracker:!0}},this);this.components.mapAnnotations._renderer&&(this.components.mapAnnotations._renderer=null)},getFirstId:function(){return this.firstEntity},
getDataLimits:function(){var b=this.components.dataset,a=b.length,c,d=Infinity,e=-Infinity,g;for(g=0;g<a;g++)c=b[g],c=c.getDataLimits(),d=E(d,c.min),e=z(e,c.max);return{dataMin:d,dataMax:e}},getEntityPaths:function(b){var a={},c=this.entities,d;if(b){for(d in c)a[d]=c[d];return a}return c},checkComplete:function(){var b=this.components.mapAnnotations;this.config.entityFlag&&this.config.entitiesReady&&(this.config.entityFlag=!1,b.draw(this),t.raiseEvent("internal.mapdrawingcomplete",{renderer:this},
this.chartInstance))},colorPaletteMap:{basefontcolor:"foregroundcolor",bordercolor:"foregrounddarkcolor",borderalpha:"foregrounddarkalpha",bgcolor:"backgroundlightcolor",bgalpha:"backgroundlightalpha",bgangle:"backgroundlightangle",bgratio:"backgroundlightratio",canvasbordercolor:"foregrounddarkcolor",canvasborderalpha:"foregrounddarkalpha",canvasbgcolor:"backgroundlightcolor",canvasbgalpha:"backgroundlightalpha",canvasbgangle:"backgroundlightangle",canvasbgratio:"backgroundlightratio",tooltipbordercolor:"foregrounddarkcolor",
tooltipborderalpha:"foregrounddarkalpha",tooltipbgcolor:"backgroundlightcolor",tooltipbgalpha:"backgroundlightalpha",tooltipfontcolor:"foregroundcolor",legendbordercolor:"foregrounddarkcolor",legendborderalpha:"foregrounddarkalpha",markerbordercolor:"foregroundlightcolor",markerborderalpha:"foregroundlightalpha",markerfillcolor:"backgrounddarkcolor",markerfillalpha:"backgrounddarkalpha",markerfillangle:"backgrounddarkangle",markerfillratio:"backgrounddarkratio",plotfillcolor:"backgroundcolor",plotfillalpha:"backgroundalpha",
plotfillangle:"backgroundangle",plotfillratio:"backgroundratio",plothoverfillcolor:"backgrounddarkcolor",plothoverfillalpha:"backgrounddarkalpha",plothoverfillangle:"backgrounddarkangle",plothoverfillratio:"backgrounddarkratio",plotbordercolor:"foregroundcolor",plotborderalpha:"foregroundalpha",shadow:"shadow"},eiMethods:{getMapName:function(){return this.jsVars.instanceAPI.name},getEntityList:function(){var b=this.jsVars.instanceAPI.components.dataset||[],a,c,d,e=b.length,g=[],k;for(a=0;a<e;a++)if(d=
b[a]||[],k=d.type,"entity"===k){c=d;break}b=c.components.data;for(a in b)b.hasOwnProperty(a)&&(c=b[a]||{},c=c.config||{},g.push({id:c.id,originalId:c.originalId||c.id,label:c.label,shortlabel:c.shortLabel,value:c.value,formattedValue:c.formattedValue,toolText:c.toolText}));return g},getMapAttribute:function(){t.raiseWarning(this,"12061210581","run","JavaScriptRenderer~getMapAttribute()",'Use of deprecated "getMapAttribute()". Replace with "getChartAttribute()".');return this.getChartAttribute.apply(this,
arguments)},exportMap:function(){t.raiseWarning(this,"12061210581","run","JavaScriptRenderer~exportMap()",'Use of deprecated "exportMap()". Replace with "exportChart()".');return this.exportChart&&this.exportChart.apply(this,arguments)},addMarker:function(b){var a=this.jsVars.instanceAPI.components.dataset||[],c=a.length,d,e,g,k;for(d=0;d<c;d++)if(e=a[d]||[],k=e.type,"markers"===k){g=e;break}g&&!g.addMarkerItem(b)&&t.raiseWarning(this,"1309264086","run","MapsRenderer~addMarker()","Failed to add marker. Check the options and try again.")},
updateMarker:function(b,a){var c=this.jsVars.instanceAPI.components.dataset||[],d=c.length,e,g,k,f;for(e=0;e<d;e++)if(g=c[e]||[],f=g.type,"markers"===f){k=g;break}k&&b&&(b=(b+"").toLowerCase(),k.updateMarkerItem(b,a))},removeMarker:function(b){var a=this.jsVars.instanceAPI.components.dataset||[],c=a.length,d,e,g,k;for(d=0;d<c;d++)if(e=a[d]||[],k=e.type,"markers"===k){g=e;break}b&&(b=(b+"").toLowerCase(),g._removeMarkerItem(b))}},_createAxes:function(){}},I.mscartesian);FusionCharts.register("component",
["caption","MapCaption",{configure:function(){var b=this.chart,a=b.jsonData.chart,c=b.components,d=c.caption.config,e=b.config.style,b=e.outCanfontFamily,g=e.outCancolor,e=e.fontSize,k=["top","center"],c=c.subCaption.config;d.style={fontFamily:m(a.captionfont,b),color:C(m(a.captionfontcolor,g).replace(/^#? ([a-f0-9]+)/ig,"#$1")),fontSize:l(a.captionfontsize,e+3)+"px",fontWeight:0===l(a.captionfontbold)?"normal":"bold"};d.align=c.align=m(a.captionposition,"center");d.align&&(k=d.align.split("-"),k[0]&&
(k[0]=k[0].toLowerCase()),k[1]&&(k[1]=k[1].toLowerCase()));d.isOnTop="bottom"===k[0]?c.isOnTop=0:c.isOnTop=1;switch(k[1]){case "right":d.align="end";break;case "left":d.align="start";break;default:d.align="middle"}d.alignWithCanvas=c.alignWithCanvas=l(a.aligncaptionwithcanvas,1);d.horizontalPadding=c.horizontalPadding=l(a.captionhorizontalpadding,d.alignWithCanvas?0:15);d.drawCaption=!0;T(d.style);c.style={fontFamily:m(a.subcaptionfont,a.captionfont,b),color:C(m(a.subcaptionfontcolor,a.captionfontcolor,
g).replace(/^#? ([a-f0-9]+)/ig,"#$1")),fontSize:l(a.subcaptionfontsize,l(z(l(a.captionfontsize)-3,-1),e)+l(this.subTitleFontSizeExtender,1))+"px",fontWeight:0===l(a.subcaptionfontbold,this.subTitleFontWeight,a.captionfontbold)?"normal":"bold"};T(c.style)}},"Caption"]);FusionCharts.register("component",["dataset","Entities",{customConfigFn:"_createDatasets",type:"entity",configure:function(){var b=this.chart,a=b.jsonData,c=this.conf,d=b.components,e=a.map||a.chart,g,b=w.nonGradientColorRange,k=(a.colorrange||
{}).gradient,f=d.postLegendInitFn,h=d.numberFormatter,n,m={},d=a.entitydef||[];g=a.data&&a.data[0]&&a.data[0].data?this.JSONData=a.data[0].data||[]:this.JSONData=a.data||[];c.useSNameAsId=l(e.usesnameasid,0);this._redefineEntities(d);d=this.components.data;c.showTooltip=l(e.showtooltip,1);c.showHoverEffect=l(e.showhovereffect,0);g=(c=g)&&c.length||0;for(e={};g--;)m=c[g],void 0!==m.id&&(e[m.id.toLowerCase()]=m);g=e;this.calculateDataLimits();m=this.getDataLimits();k?f({min:m.min,max:m.max}):this.components.colorRange=
new b({colorRange:a.colorrange,dataMin:m.min,dataMax:m.max,defaultColor:"#00ff00",numberFormatter:h});for(n in d)a=g[n],b=d[n],b.dataset=this,a?this._configureEntity(n,b,L(this._sanitizeEntityOptions(A({},a)),b.config)):this._configureEntity(n,b,b.config);this._addLegend()},init:function(b){this.JSONData={data:b};this.components={};this.conf={};this.graphics={};this.configure()},updateEntityColors:function(b,a){var c=this.components.data,d=this.chart,e,g,k,f,h={"fill-opacity":0};for(f in c)e=c[f],
g=e.config,k=g.cleanValue,g=g.alphaArr||[],g={"fill-opacity":g[0]/100||1},k<b||k>a?(this.setCustomAttrs(e,h,d),e.hidden=!0):(e.hidden=!1,this.setCustomAttrs(e,g,d))},_addLegend:function(){var b=this.chart.components.legend,a=(this.components.colorRange||{}).colorArr||[],c=this.components.entityColorMap=this.components.entityColorMap||(this.components.entityColorMap=[]),d,e,g=a.length,k,f,h;b.emptyItems();e=c.length=0;for(g=a.length;e<g;e++)d=a[e],f=m(d.code,d.color),k=W(f,60).replace(M,Y),h=W(f,40),
f={FCcolor:{color:f+","+f+","+h+","+f+","+f,ratio:"0,70,30",angle:270,alpha:"100,100,100,100,100"}},k={fillColor:v(f),label:m(d.label,d.displayvalue),strokeColor:v(k),legendItemId:d.legendItemId},(f=c[e])||(f=c[e]={config:{}}),f.config=d,f.visible=!0,f.dataset=this,f.legendItemId=b.addItems(f,this.legendInteractivity,k)},legendInteractivity:function(b,a){var c=this.config,d=b.config,e=b.visible,g=b.dataset,k=g.chart,f=g.components.data,h,n,l=a.config,m=a.graphics,p,r=g.components.colorRange,q=c.itemHiddenStyle.color,
c=c.itemStyle.color,t=l.fillColor;n={};var v,w={},A={"fill-opacity":0},C=l.strokeColor;b.visible=!e;for(h in f)f.hasOwnProperty(h)&&(n=f[h],l=n.config,p=l.cleanValue,p=r.getColorObj(p),l=l.visibleEntityAttr,w["fill-opacity"]=l["fill-opacity"],l=e?A:w,d.code===p.code&&(n.hidden=e?!0:!1,g.setCustomAttrs(n,l,k)));n={legendItemSymbol:{fill:e?q:t,stroke:e?q:C},legendItemText:{fill:e?q:c},legendIconLine:{stroke:e?q:t}};for(v in m)(d=m[v])&&d.attr&&d.attr(n[v])},setCustomAttrs:function(b,a,c){var d=c.get("config",
"animationObj");c=d.transposeAnimDuration;d=d.animType;b&&(b=b.graphics,b=b.outlines,b.animate(a,c,d))},calculateDataLimits:function(){var b=this.chart,a=this.conf,c=b.jsonData.data||[],b=b.components.numberFormatter,d,e=Infinity,g=-Infinity,k,f;f=0;for(k=c.length;f<k;f++)d=c[f].value,d=b.getCleanValue(d),e=E(e,d),g=z(g,d);a.max=g;a.min=e},_configureEntity:function(b,a,c){var d=this.chart,e=this.conf,g=d.jsonData,k=d.components,f=k.numberFormatter,d=d.config.entityOpts,h=a.config,n=a.labelConfig,
u=c.value,s=g.colorrange&&g.colorrange.gradient,p=(k=k.gradientLegend)&&k.colorRange,r=this.components.colorRange,k=h.cleanValue=f.getCleanValue(u),f=h.formattedValue=k?f.dataLabels(k):void 0,g=l(c.showtooltip,d.showTooltip),q=this._getDefaultTooltip.call(a,c,this),t={formattedValue:f,sName:c.shortLabel,lName:c.label},v=d.dataLabels.style,g=h.toolText=g?S(m(O(m(c.tooltext,d.tooltext,q),[1,2,7,38,39],t,c))):"",t=h.borderColor=m(c.bordercolor,d.borderColor),w=h.borderAlpha=m(c.borderalpha,d.borderAlpha),
A=h.borderThickness=l(c.borderthickness,d.borderThickness),z=h.useHoverColor=l(c.showhovereffect,c.usehovercolor,d.hoverOnNull?d.showHoverEffect:isNaN(u)?0:d.showHoverEffect),q=h.labelAlignment,u=d.labelSepChar,G;a.hidden=!1;h.showLabel=l(c.showlabel,d.showLabels);h.labelPadding=l(c.labelpadding,d.labelPadding);h.fontFamily=m(c.font,v.fontFamily);h.fontSize=l(parseInt(c.fontsize,10),parseInt(v.fontSize,10));h.fontBold=l(c.fontbold,0);h.fontColor=m(c.fontcolor,v.color);h.connectorColor=m(c.labelconnectorcolor,
d.connectorColor);h.connectorAlpha=m(c.labelconnectoralpha,d.connectorAlpha);h.hoverBorderThickness=l(c.borderhoverthickness,c.hoverborderthickness,d.hoverBorderThickness);h.hoverBorderColor=m(c.borderhovercolor,c.hoverbordercolor,d.hoverBorderColor,h.borderColor);h.hoverBorderAlpha=m(c.borderhoveralpha,c.hoverborderalpha,d.hoverBorderAlpha,h.borderAlpha);h.connectorThickness=l(c.labelconnectorthickness,d.connectorThickness);h.origConnectorThickness=h.connectorThickness;h.borderThickness=A;h.link=
c.link;h.isVisible=!0;h.id=b;h.originalId=c.origId;k&&(p&&s?G=p.getColorByValue(k):r&&(b=r.getColorObj(k),G=m(b.color,b.code)));void 0!==m(c.color,c.alpha,c.angle,c.ratio)?(G=m(c.color,G,d.fillColor),b=m(c.alpha,d.fillAlpha),s=m(c.angle,d.fillAngle),p=m(c.ratio,d.fillRatio),G=U({color:G,alpha:b,angle:s,ratio:p})):(G=U({color:m(G,d.fillColor),alpha:m(d.fillAlpha),angle:m(d.fillAngle),ratio:m(d.fillRatio)}),b=U({color:m(d.nullEntityColor),alpha:m(d.nullEntityAlpha),angle:m(d.nullEntityAngle),ratio:m(d.nullEntityRatio)}),
G=null===k?b:G,b=G.FCcolor.alpha);""===g&&(e.showTooltip=0);h.visibleEntityAttr={stroke:C(t,w),fill:(h.fillColor=G).toString(),"fill-opacity":b/100};e=b.split(",");h.alphaArr=e;z&&(void 0!==m(c.fillhovercolor,c.fillhoveralpha,c.fillhoverangle,c.fillhoverratio,c.hoverfillcolor,c.hoverfillalpha,c.hoverfillratio,c.hoverfillangle)?(G=m(c.fillhovercolor,c.hoverfillcolor,d.hoverFillColor),b=m(c.fillhoveralpha,c.hoverfillalpha,d.hoverFillAlpha),s=m(c.fillhoverangle,c.hoverfillangle,d.hoverFillAngle),p=m(c.fillhoverratio,
c.hoverfillratio,d.hoverFillRatio),e=U({color:G,alpha:b,angle:s,ratio:p})):(d.hoverColorObject||(d.hoverColorObject=U({color:d.hoverFillColor,alpha:d.hoverFillAlpha,angle:d.hoverFillAngle,ratio:d.hoverFillRatio})),e=d.hoverColorObject),h.hoverColor=e);!n&&(n=a.labelConfig={});e=h.fontColor;b=h.fontFamily;t=h.fontBold;g=h.toolText;q?(a=q[0],q=q[1]):(a="center",q="middle");n.align=a;n.vAlign=q;n.bgColor="";n.borderColor="";n.fontColor=e;n.fontFamily=b;n.fontBold=t;n.toolText=g;"undefined"!==typeof c.displayvalue?
c=c.displayvalue:(c=m(d.includeNameInLabels?d.useShortName?h.shortLabel:h.label:""),d.includeValueInLabels&&null!==k&&(c=void 0===c?f:c+u+f));n.displayValue=c},_sanitizeEntityOptions:function(b){delete b.outlines;delete b.label;delete b.shortlabel;delete b.labelposition;delete b.labelalignment;delete b.labelconnectors;return b},_redefineEntities:function(b){var a=this.conf,c={},d={},e=this.chart.entities,g=a.useSNameAsId,k,f,h,n,l,m,p,r=0,q,t;for(k=b.length;k--;)if(f=b[k],h=f.internalid,n=f.newid?
f.newid:h,l=f.sname,m=f.lname,q=e[h],h=w.trimString(h),n=(n=w.trimString(n))&&n.toLowerCase(),q){c[n]=n={origId:h};d[h]=!0;for(t in q)n[t]=q[t];n.shortLabel=l?l:q.shortLabel;n.label=m?m:q.label;n.showhovereffect=f.showhovereffect;n.fillhovercolor=f.fillhovercolor;n.fillhoveralpha=f.fillhoveralpha;n.fillhoverangle=f.fillhoverangle;n.fillhoverratio=f.fillhoverratio;n.borderhoverthickness=f.borderhoverthickness}q=this.components.data;q||(q=this.components.data={});for(p in c)p=p.toLowerCase(),q[p]||
(q[p]={config:{}}),q[p].config=c[p],r+=1;c=q;for(p in e)if(n=e[p],p=w.trimString(p),!d[p]){g?((q=c[n.shortLabel.toLowerCase()])||(q=c[n.shortLabel.toLowerCase()]={}),q.config={},q.origId=n.shortLabel):((q=c[p.toLowerCase()])||(q=c[p.toLowerCase()]={}),q.config={},q.config.origId=p);for(t in n)q.config[t]=n[t];r+=1}a.entityCount=r},draw:function(){var b=this.conf,a=Q?100:50,c=this.chart;this.conf.ready=!1;b.BATCH_SIZE=a;this._batchRender()();c.config.entityFlag=!0},_batchRender:function(){var b=this,
a=b.conf,c=b.components.data,d=a.BATCH_SIZE,e=a.entityCount,g=Object.keys(c),k=g.length,f=0,h,n,l,m=function(){l=0;for(h=f;h<k&&(n=c[g[h]],b.drawEntity(n),l+=1,f+=1,l!==d);h++);l<e?(e-=l,setTimeout(m,0)):b.initComplete()};return m},_getDefaultTooltip:function(b){var a=this.dataset,c=this.config.cleanValue,d=this.config.formattedValue,e=a.chart.config.entityOpts;if(a.hasFeature.apply(this,["_ds"])){b=b.labels&&b.labels[0];if(!b)return;c=(e.useSNameInTooltip?b.shortText:b.text)+(isNaN(c)?"":e.tooltipSepChar+
d)}else c=(e.useSNameInTooltip?b.shortLabel:b.label)+(null===c?"":e.tooltipSepChar+d);return c},hasFeature:function(b){var a=this.featureConfig;return a&&"undefined"!==typeof a[b]?Boolean(a[b]):!1},drawEntity:function(b){var a=this.chart,c=a.config,d=a.components,e=d.gradientLegend,d=d.paper,g=b.config,k=Q||!P?"litepath":"path",f=a.config.entityOpts,h=a.config.scalingParams,n=g.outlines,l=a.graphics.datasetGroup,m=a.graphics.shadowGroup,p=!P||Q,r=h.scaleFactor,q=h.strokeWidth,t=(p?a.baseScaleFactor:
1)*q,v=1===f.scaleBorder,w=g.borderThickness,A=g.toolText,C=f.shadow,f=[],G=g.origConnectorThickness,F=g.hoverBorderThickness,D=g.visibleEntityAttr,B=D["fill-opacity"],a={scalefactor:[r,r*a.baseScaleFactor],opacity:z.apply($,g.alphaArr)/100};e&&!0===c.gLegendEnabled&&(b.hidden=!1);B=b.hidden?0:B;e&&e.enabled&&(e.resetLegend(),e.clearListeners());e&&e.notifyWhenUpdate(this.updateEntityColors,this);p?(w=g.entityBorderThickness=v?w*t:w/r,G/=r,F&&(g.hoverBorderThickness=v?F*t:F/r)):w=v?w*q:w;g.entityBorderThickness=
w;g.connectorThickness=G;D["stroke-width"]=w;D.transform=Q||!P?"":h.transformStr;c=n.length;b.graphics||(b.graphics={});if(C){for(;c--;)e=n[c],f=e.concat(f);b.graphics.outlines?b.graphics.outlines.attr(D).attr({"fill-opacity":B}).tooltip(A).shadow(a,m):b.graphics.outlines=d[k](f,l).attr(D).tooltip(A).shadow(a,m)}else{for(;c--;)e=n[c],f=e.concat(f);b.graphics.outlines?b.graphics.outlines.attr(D).attr({"fill-opacity":B}).tooltip(A):b.graphics.outlines=d[k](f,l).attr(D).tooltip(A)}this.addMouseGestures.call(b)},
drawLabels:function(b){var a=[],c,d=b.chart.components.mapAnnotations,e={id:"entityLabels",items:a};for(c in this)b.drawLabel.call(this[c],a);d.addGroup(e)},_getLabelObject:function(b,a){var c=this,d=c.dataset,e=d.chart,g=c.config,k=c.labelConfig,f=e.config.scalingParams,h=g.labelPosition,l=g.labelAlignment,m=c.graphics&&c.graphics.outlines,s=g.style=g.style||(g.style={}),p=g.fontSize,r=g.labelPadding,q;h?(m=h[0],h=h[1]):(h=m.getBBox(),m=h.x+h.width/2,h=h.y+h.height/2);l?(q=l[0],l=l[1],"right"===
q?m-=r:"left"===q&&(m+=r),"top"===l?h-=r:"bottom"===l&&(h+=r)):(q="center",l="middle");p=parseFloat(p)/f.sFactor;!a&&s&&(s.color&&(k.fontColor=s.color),s["font-size"]&&(p=parseFloat(s["font-size"])/f.sFactor),s["font-family"]&&(k.fontFamily=s["font-family"]),void 0!==s["font-weight"]&&(k.fontBold="bold"===s["font-weight"]));k.x=m.toString();k.y=h.toString();k.wrap=1;k.type="text";k.fontSize=p;return{x:m.toString(),y:h.toString(),wrapwidth:ca[q](void 0,m+void 0)-r,wrapheight:da[l](void 0,h+void 0)-
r,wrap:1,type:"text",align:k.align,valign:k.vAlign,text:k.displayValue,tooltext:k.toolText,link:k.link,bgcolor:k.bgColor,bordercolor:k.borderColor,fillcolor:k.fontColor,fontsize:k.fontSize,font:k.fontFamily,bold:k.fontBold,onclick:function(a){t.raiseEvent("entityclick",g.eventArgs,e.chartInstance,a)},onmouseover:function(a){d.entityRollOver.call(c.graphics.outlines,a)},onmouseout:function(a){d.entityRollOut.call(c.graphics.outlines,a)},ontouchstart:function(a){d.entityRollOver.call(c.graphics.outlines,
a)}}},drawLabel:function(b){var a=this.dataset,c=this.config;c.showLabel&&(b.push(a._getLabelObject.call(this,!0,!0)),c.labelConnectors&&a.drawLabelConnectors.call(this,c.labelConnectors))},drawLabelConnectors:function(b){for(var a=this.config,c=this.dataset.chart,d=c.components.paper,c=c.graphics.datasetGroup,e=b&&b.length||0,g,k;e--;)k=b[e],g=this.graphics.connectorElem,g||(this.graphics.connectorElem=g=d.path(k,c)),g.attr({transform:"",stroke:C(a.connectorColor,a.connectorAlpha),"shape-rendering":"crisp",
"stroke-width":a.connectorThickness})},entityClick:function(b){var a=this.node.__entity,c=a.dataset.chart,d=c.linkedItems.linkClickFN,a=a.config,e=a.link;t.raiseEvent("entityclick",a.eventArgs,c.chartInstance,b);void 0!==e&&d.call({link:e},c)},entityRollOver:function(b){var a=this.node.__entity,c=a.config,d=a.dataset.chart,e=c.hoverAttr;w.plotEventHandler.call(this,d,b,"entityRollOver");this.data("hovered")?clearTimeout(a.config.timer):c.useHoverColor&&c.isVisible&&!a.hidden&&(d.config.hoverEntity=
this,this.attr(e),this.data("hovered",!0))},entityRollOut:function(b){var a=this,c=this.node.__entity,d,e=c.config.revertAttr;w.plotEventHandler.call(a,c.dataset.chart,b,"entityRollOut");c.config.timer=setTimeout(function(){d=c.hidden;!0!==d&&(a.attr(e),a.data("hovered",!1))},100)},addMouseGestures:function(){var b=this.config,a=this.dataset,c=this.graphics,d=b.hoverBorderThickness,e=b.hoverBorderColor,g=b.hoverBorderAlpha,k=b.entityBorderThickness,f=b.borderColor,h=b.borderAlpha,m=b.link,u=b.visibleEntityAttr,
s="groupId"+b.originalId,p;b.eventArgs={value:b.value,label:b.label,shortLabel:b.shortLabel,originalId:b.origId,id:b.id||b.origId};b.legacyEventArgs={value:b.value,lName:b.label,sName:b.shortLabel,id:b.originalId||b.id};b.hoverAttr={fill:v(b.hoverColor)};b.revertAttr={fill:v(b.fillColor),stroke:v(b.borderColor,b.borderAlpha)};b.revertAttr["fill-opacity"]=u["fill-opacity"];d!==k&&(b.hoverAttr["stroke-width"]=l(d,k),b.revertAttr["stroke-width"]=k);if(e!==f||g!==h)b.hoverAttr.stoke=C(e,g),b.revertAttr.stroke=
C(f,h);for(p in c)void 0!==m&&c[p].css({cursor:"pointer",_cursor:"hand"}),c[p].data("eventArgs",b.eventArgs),c[p].data("groupId",s),c[p].node.__entity=this,this._listenersBinded||c[p].click(a.entityClick).hover(a.entityRollOver,a.entityRollOut),this._listenersBinded=!0},getDataLimits:function(){var b=this.conf;return{max:b.max,min:b.min}},initComplete:function(){var b=this.chart;this.drawLabels.call(this.components.data,this);b.config.entitiesReady=!0;b.checkComplete()}}]);FusionCharts.register("component",
["dataset","Markers",{type:"markers",configure:function(){var b=this.chart.config.markerOpts;this.calculateDataLimits();b.dataEnabled?this._parseMarkers():this.defineMarkersNShapes();this.configureConnectors()},init:function(b){this.JSONData=b;this.components={};this.conf={};this.graphics={};this.configure()},calculateMarkerRadiusLimits:function(){var b=this.JSONData,a=this.conf,c=this.chart,b=this.getMarkerRadiusLimits(c.config.width,c.config.height,b.markermaxradius,b.markerminradius);a.minRadius=
b.min;a.maxRadius=b.max},calculateDataLimits:function(){var b=this.chart,a=this.conf,c=(b.jsonData.markers||{}).items||[],b=b.components.numberFormatter,d=Infinity,e=-Infinity,g,k,f;f=0;for(k=c.length;f<k;f++)g=c[f],g=g.value,g=b.getCleanValue(g),null!==g&&(d=E(g,d),e=z(g,e));a.min=d;a.max=e},_parseMarkers:function(){var b=this.chart,a=b.jsonData.markers,c=a.items,d=a.shapes,a=b.config.markerOpts,e=b.components.numberFormatter,g=this.components.shapeObjs=this.components.shapeObjs||(this.components.shapeObjs=
{}),k=this.components.markerObjs=this.components.markerObjs||(this.components.markerObjs={}),f,h,n,u,s,p,r;if(c&&c.length){if(d&&d.length)for(f=d.length;f;--f)if(n=d[f-1],r=n.id.toLowerCase())g[r]=n;for(f=c.length;f--;)if(n=c[f],r=n.id&&n.id.toLowerCase())d=n.value,void 0!==d&&""!==d&&(d=parseFloat(d)),h=this._initializeMarkerItem(r,n,null,b),(u=h.config.options.shapeid)&&"string"===typeof u&&(u=u.toLowerCase()),s=h.config,p=s.options,s.cleanValue=e.getCleanValue(d),s.formattedValue=null!==s.cleanValue?
e.dataLabels(d):void 0,s.fillColor=m(p.fillcolor,p.color,a.fillColor),s.fillAlpha=m(p.fillalpha,p.alpha,a.fillAlpha),s.fillRatio=m(p.fillratio,a.fillRatio),s.fillAngle=m(p.fillangle,a.fillAngle),s.borderThickness=l(p.borderthickness,a.borderThickness),s.borderColor=m(p.bordercolor,a.borderColor),s.borderAlpha=m(p.borderalpha,a.borderAlpha),s.labelPadding=p.labelpadding||a.labelPadding,h.dataset=this,n.__hideMarker&&(h._isHidden=!0),u&&(h.shapeObj=g[u]),k[r]=h}},defineMarkersNShapes:function(){var b=
this.chart,a=b.jsonData.markers,c=a.definition,d=b.components.numberFormatter,e=b.config.markerOpts,g=X(c)||{},k=X(a.application)||{},f=a.shapes,a=this.components.shapeObjs=this.components.shapeObjs||(this.components.shapeObjs={}),h=this.components.markerObjs=this.components.markerObjs||(this.components.markerObjs={}),n,u,s,p;if(c&&c.length){if(f&&f.length)for(c=f.length;c;--c)if(n=f[c-1],p=n.id.toLowerCase())a[p]=n;for(p in g)n=g[p],c=h[p]=this._initializeMarkerItem(p,n,k[p],b),c.dataset=this,s=
c.config.options.shapeid,f=c.config,u=n.value,f.cleanValue=d.getCleanValue(u),n=f.options,f.formattedValue=null!==f.cleanValue?d.dataLabels(u):void 0,f.fillColor=m(n.fillcolor,n.color,e.fillColor),f.fillAlpha=m(n.fillalpha,n.alpha,e.fillAlpha),f.fillRatio=m(n.fillratio,e.fillRatio),f.fillAngle=m(n.fillangle,e.fillAngle),f.borderThickness=l(n.borderthickness,e.borderThickness),f.borderColor=m(n.bordercolor,e.borderColor),f.borderAlpha=m(n.borderalpha,e.borderAlpha),f.labelPadding=n.labelpadding||e.labelPadding,
f.options.tooltext=m(n.tooltext,e.tooltext),f.link=n.link,s&&(c.shapeObj=a[s.toLowerCase()])}},getMarkerRadiusLimits:function(b,a,c,d){a=E(b,a);b=.02*a;a*=.07;d=parseFloat(d);c=parseFloat(c);return isNaN(d)||isNaN(c)?isNaN(d)?isNaN(c)?{min:b,max:a}:{min:parseInt(c/10,10),max:c}:{min:d,max:10*d}:d<c?{min:d,max:c}:{min:c,max:d}},getDataLimits:function(){var b=this.conf;return{min:b.min,max:b.max}},_initializeMarkerItem:function(b,a,c){var d={},e=d.config;e||(e=d.config={});e.id=b;e.definition=a;e.application=
c;e.hasValue=null;e.value=null;e.options=null;e.label=null;e.markerShape=null;e.markerLabel=null;e.drawOptions={shape:null,label:null};e.drawComplete=!1;b=d.config.options=A({},e.definition);e.dataEnabled?isNaN(b.value)||""===b.value||(d.value=parseFloat(b.value),d.hasValue=!0):e.applyAll?e.options=A(b,e.application):c&&(e.options=A(b,e.application));return d},configureConnectors:function(){var b=this.chart,a=b.jsonData.markers||{},a=a.connector||a.connectors||[],c=this.components.markerObjs,d=a.length,
e=this.components.connectors,g=function(a){return function(c){var d=c.data,e=d.wrapper;e&&d.options.hoverEffect&&e.attr(d.options._hoverAttrs);t.raiseEvent("connectorrollover",a,b.chartInstance,c)}},k=function(a){return function(c){var d=c.data,e=d.wrapper;e&&d.options.hoverEffect&&e.attr(d.options._defaultAttrs);t.raiseEvent("connectorrollout",a,b.chartInstance,c)}},f=function(a){return function(c){t.raiseEvent("connectorClick",a,b.chartInstance,c)}},h=b.config.connectorOpts,n={},u,s,p,r,q,v,w,C,
z,E,G,F,D;e||(e=this.components.connectors=[]);for(D=0;D<d;D++)if(F=a[D],F.from||F.to)s=c[F.from.toLowerCase()],p=c[F.to.toLowerCase()],s&&p&&(r=a[D].label,n=e[D],!n&&(n=e[D]={}),!n.config&&(u=n.config={}),!n.graphics&&(n.graphics={}),u=n.config=A({},F),u.fromMarker=s,u.toMarker=p,u.link=F.link,u.showTooltip=l(F.showtooltip,h.showTooltip),q=u.tooltext=u.showTooltip?m(F.tooltext,h.tooltext):"",v=u.thickness=m(F.thickness,h.thickness),w=u.color=m(F.color,h.color),C=u.alpha=m(F.alpha,h.alpha),u.hoverEffect=
l(F.showhovereffect,h.showHoverEffect),z=m(F.hovercolor,h.hoverColor,w),E=m(F.hoveralpha,h.hoverAlpha,C),G=m(F.hoverthickness,h.hoverThickness,v),u.dashed=m(F.dashed,h.dashed),u.dashLen=l(F.dashlen,h.dashlen),u.dashGap=l(F.dashgap,h.dashgap),q&&(u.tooltext=q=S(O(q,[3,40,41,42,43],{label:r,fromId:s.config.definition.id,toId:p.config.definition.id,fromLabel:s.config.definition.label,toLabel:p.config.definition.label},void 0))),u.eventArgs={fromMarkerId:s.config.id,toMarkerId:p.config.id,label:r},u._hoverAttrs=
{stroke:U({color:z,alpha:E}).toString(),"stroke-width":G},u._defaultAttrs={stroke:U({color:w,alpha:C}).toString(),"stroke-width":v},u.type="line",u.onclick=f(u.eventArgs),u.onmouseover=g(u.eventArgs),u.onmouseout=k(u.eventArgs),r&&(u=n.labelConfig,!u&&(u=n.labelConfig={}),u.type="text",u.text=r,u.align="center",u.valign="middle",u.font=h.font,u.fillcolor=h.fontColor,u.bgcolor=h.labelBgColor,u.bordercolor=h.labelBorderColor,u.tooltext=h.tooltext))},draw:function(){var b=this.chart,a=this.conf,c=b.components.mapAnnotations,
d=this.components.markerObjs,e=b.config,g=e.markerOpts,k=e.scalingParams,e=[],f=[],h,l,m;l=c.addGroup({items:f});m=c.addGroup({fillalpha:"100",items:e});this.components.markerGroup=m;this.components.markerLabelGroup=l;a.autoScale=g.autoScale?k.sFactor:1;for(h in d)a=null,g=d[h],k=g.config,k.conIsHidden||(a=this._drawMarkerItem.call(g)),a&&(k._annotationIndex=e.length,g.markerShape=a.markerShape&&m.addItem(a.markerShape,!1,b),e.push(g.markerShape),g.markerLabel=a.markerLabel&&l.addItem(a.markerLabel,
!1,b),f.push(g.markerLabel));this._drawConnectors();if(!b.config.entityOpts.labelsOnTop){b=c.groups;for(d=0;d<b.length&&(h=b[d],h=h._id,"entityLabels"!==h);d++);h=b.splice(d,1);h={id:"entityLabels",items:h[0]&&h[0].options.items};c.addGroup(h)}},_drawMarkerItem:function(){var b=this,a=b.dataset,c=a.chart,d=c.config,e=a.conf,g=d.scalingParams,k=b.config,f=k.options,h=k.definition,n=d.markerOpts,u=g.translateX,s=g.translateY,d=n.dataLabels.style,p=f.shapeid,r=f.scale||1,q=f.label||"",w=c.config.scalingParams.scaleFactor*
c.baseScaleFactor,z=(f.labelpos||"top").toLowerCase(),H=void 0===k.formattedValue?void 0:k.formattedValue,E=f.tooltext,e=l(h.radius,k.radius,n.radius)*r*e.autoScale||1E-4,h=k.fillColor,J=k.fillAlpha,G=k.fillRatio,F=k.fillAngle,D=k.borderThickness,B=k.borderColor,y=k.borderAlpha,x,I;k.autoScale=n.autoScale?w:1;if(p){E=E?S(O(E,[1,2,3],{formattedValue:H,label:q},f)):H?q+n.tooltipSepChar+H:q;void 0!==H&&null!==H?q=q+n.labelSepChar+H:isNaN(r)?r=1:0>r?r=0:5<r&&(r=5);x=function(){var a=b.markerShape,d=a.options,
e=a.bounds,f=d._markerEventArgs,g=a.wrapper,h=a.fillOptions;g&&d.hovereffect&&("circle"===a.type&&(a={color:d.hoverfillcolor,alpha:d.hoverfillalpha,angle:360-d.hoverfillangle,ratio:d.hoverfillratio,gradientUnits:"objectBoundingBox",radialGradient:h.radialGradient,cx:h.cx,cy:h.cy},d._hoverattrs.fill=v(a)),a=A({},d._hoverattrs),"image"===g.type&&(delete a.fill,delete a.stroke,delete a["stroke-width"]),g.attr(a));f||(f=d._markerEventArgs={x:e.x1/e.xs,y:e.y1/e.ys,scaledX:e.x1,scaledY:e.y1,chartX:u+e.x1,
chartY:s+e.y1,id:d._markerId,label:d._markerLabel});t.raiseEventGroup(k.id,"markerRollOver",f,c.chartInstance,k,void 0,void 0,void 0)};I=function(){var a=b.markerShape,d=a.wrapper,e=a.fillOptions;d&&a.options.hovereffect&&("circle"===a.type&&(f._defaultattrs.fill=v(e)),e=A({},a.options._defaultattrs),"image"===d.type&&(delete e.fill,delete e.stroke,delete e["stroke-width"]),d.attr(e));t.raiseEventGroup(k.id,"markerRollOut",a.options._markerEventArgs,c.chartInstance,void 0,void 0,void 0)};A(f,{x:f.x.toString(),
y:f.y.toString(),fillcolor:h,fillalpha:J,fillratio:G,fillangle:F,borderthickness:D,bordercolor:B,borderalpha:y,hovereffect:m(n.showHoverEffect),radius:e.toString(),tooltext:n.showTooltip?E:0,link:f.link,showshadow:l(f.showshadow,k.shadow),_markerLabel:q,_markerId:f.id,id:(f.id+"").toLowerCase(),onmouseover:function(){x()},onmouseout:function(){I()},onclick:function(a){t.raiseEvent("markerClick",a.data.options._markerEventArgs,c.chartInstance,a)}});"triangle"===p?A(f,{type:"polygon",sides:3,startangle:n.startAngle}):
"diamond"===p?A(f,{type:"polygon",sides:4,startangle:n.startAngle}):"arc"===p?A(f,{type:"arc",startangle:0,endangle:360,innerradius:.6*e}):"circle"===p?f.type="circle":(p=a.getShapeArgs.call(b),n.dataEnabled&&n.valueToRadius&&void 0!==f.radius?delete p.radius:(!p.radius&&(p.radius=n.radius),p.radius=p.radius*r*k.autoScale),A(f,p),f.id=f._markerId&&f._markerId.toLowerCase());A(f,{hoverfillcolor:m(f.fillhovercolor,n.hoverFillColor,f.fillcolor),hoverfillalpha:m(f.fillhoveralpha,n.hoverFillAlpha,f.fillalpha),
hoverfillratio:m(f.fillhoverratio,n.hoverFillRatio,f.fillratio),hoverfillangle:m(f.fillhoverangle,n.hoverFillAngle,f.fillangle),hoverborderthickness:l(f.borderhoverthickness,n.hoverBorderThickness,f.borderthickness),hoverbordercolor:m(f.borderhovercolor,n.hoverBorderColor,f.bordercolor),hoverborderalpha:m(f.borderhoveralpha,n.hoverBorderAlpha,f.borderalpha)});r={alpha:f.fillalpha,color:f.fillcolor,angle:360-f.fillangle,ratio:f.fillratio};p={alpha:f.hoverfillalpha,color:f.hoverfillcolor,angle:360-
f.hoverfillangle,ratio:f.hoverfillratio};f._defaultattrs={fill:v(r),"stroke-width":"0"!==f.showborder?f.borderthickness:0,stroke:C(f.bordercolor,f.borderalpha)};f._hoverattrs={fill:v(p),"stroke-width":"0"!==f.showborder?f.hoverborderthickness:0,stroke:C(f.hoverbordercolor,f.hoverborderalpha)};"image"===f.type&&(f.borderthickness=f.borderthickness||0,f.onload=function(a){var b=this.options,c=a.width;a=a.height;var d=(Number(b.x)-c/(2*g.sFactor))*g.sFactor,b=(Number(b.y)-a/(2*g.sFactor))*g.sFactor,
e;if(c&&a)for(e in{wrapper:1,tracker:1})this[e]&&this[e].attr({x:d,y:b,width:c,height:a})});k.drawOptions.shape=f;if(!n.showLabels)return{markerShape:f};r=f.labelpadding||n.labelPadding;z=a._getLabelOptions(z,r,f);p=z.align;w=z.valign;e=k._labelBaseWidth;H=k._labelBaseHeight;h=k._labelXOffset;E=k._labelYOffset;e=n.labelWrapWidth?n.labelWrapWidth:a.getWrapWidth[p](e,Number(z.x)+h);a=n.labelWrapHeight?n.labelWrapHeight:a.getWrapHeight[w](H,Number(z.y)+E);e>r&&(e-=r);a>r&&(a-=r);k.drawOptions.label=
"center"==p&&"middle"==w?A({type:"text"},{text:q,tooltext:f.tooltext,x:z.x,y:z.y,align:p,valign:z.valign,wrap:1,wrapwidth:e,wrapheight:a,fontsize:d.fontSize/g.sFactor,font:d.fontFamily,fillcolor:d.fontColor,onmouseover:function(){x()},onmouseout:function(){I()}}):A({type:"text"},{text:q,tooltext:f.tooltext,x:z.x,y:z.y,align:p,valign:z.valign,wrap:1,wrapwidth:e,wrapheight:a,fontsize:d.fontSize/g.sFactor,font:d.fontFamily,fillcolor:d.fontColor});return{markerShape:f,markerLabel:k.drawOptions.label}}},
_drawConnectors:function(){var b=this.chart,a=this.components.connectors,c=a.length,d=b.config.scalingParams,e=b.config.connectorOpts,g=e.showLabels,k=b.components.mapAnnotations,f,h=[],l=[],m,s,p,r,q=[];q.push({id:"connectorLabels",fillalpha:"100",items:l});q.push({id:"connectors",fillalpha:"100",items:h});for(f=0;f<c;f++)a[f]&&(s=a[f].config.fromMarker.config,r=a[f].config.toMarker.config,m=s.options.x,s=s.options.y,p=r.options.x,r=r.options.y,a[f].config.x=m,a[f].config.y=s,a[f].config.tox=p,a[f].config.toy=
r,h.push(a[f].config),a[f].labelConfig&&g&&(a[f].labelConfig.x=((Number(m)+Number(p))/2).toString(),a[f].labelConfig.y=((Number(s)+Number(r))/2).toString(),a[f].labelConfig.fontsize=e.fontSize/(d.scaleFactor*b.baseScaleFactor),l.push(a[f].labelConfig)));k.addGroup(q[0]);k.addGroup(q[1])},getShapeArgs:function(){var b=this.config,a=A({},this.shapeObj),c;b.autoScale=1;return a?("polygon"===a.type?3>a.sides?a.type="circle":a.startangle=b.startAngle:"arc"===a.type&&(c=(a.radius||b.markerRadius)*b.autoScale,
a.radius=c,a.innerradius=a.innerradius&&a.innerradius*b.autoScale||.6*c),a):null},_getLabelOptions:function(b,a,c,d,e){var g,k=b&&b.toLowerCase();this.getLabelAlignment[k]||(k="center");b=Number(c.x);g=Number(c.y);c=void 0===d||void 0===e?c.radius||0:/^(top|bottom)$/ig.test(k)&&.5*e||/^(left|right)$/ig.test(k)&&.5*d||0;c=Number(c)+Number(a);return this.getLabelAlignment[k](b,g,c)},getLabelAlignment:{top:function(b,a,c){return{x:b.toString(),y:(a-c).toString(),align:"center",valign:"top"}},left:function(b,
a,c){return{x:(b-c).toString(),y:a.toString(),align:"right",valign:"middle"}},right:function(b,a,c){return{x:(b+c).toString(),y:a.toString(),align:"left",valign:"middle"}},bottom:function(b,a,c){return{x:b.toString(),y:(a+c).toString(),align:"center",valign:"bottom"}},center:function(b,a){return{x:b.toString(),y:a.toString(),align:"center",valign:"middle"}}},getWrapWidth:{right:function(b,a){return a},left:function(b,a){return b-a},center:function(b,a){return 2*E(a,b-a)}},getWrapHeight:{top:function(b,
a){return a},middle:function(b,a){return 2*E(a,b-a)},bottom:function(b,a){return b-a}},addMarkerItem:function(b){var a=this.components.markerObjs,c=this.components.shapeObjs,d=this.components.markerGroup,e=this.components.markerLabelGroup,g,k;if((k=b.id.toLowerCase())&&!a[k]){delete b.value;b=this._initializeMarkerItem(k,b,null);b.dataset=this;if(g=b.config.options.shapeid)b.shapeObj=c[g&&g.toLowerCase()];a[k]=b;a=this._drawMarkerItem.call(b);d&&e&&(b.markerShape=a.markerShape&&d.addItem(a.markerShape,
!0),b.markerLabel=a.markerLabel&&e.addItem(a.markerLabel,!0))}},updateMarkerItem:function(b,a){var c=this.chart.components.mapAnnotations,d,e=this.components.markerObjs[b];e&&(d=e.config.options,A(d,a),d=this._drawMarkerItem.call(e).markerShape,c.update(b,d))},_removeMarkerItem:function(b){var a=this.components.markerObjs,c=a[b],d;c&&(d=c.markerShape,c=c.markerLabel,d&&d.destroy(),c&&c.destroy());delete a[b]}},"Entities"])},[3,2,0,"release"]]);

View File

@@ -0,0 +1,755 @@
/*
FusionCharts JavaScript Library
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
@version 3.11.0
*/
FusionCharts.register("module",["private","modules.renderer.js-gradientlegend",function(){function I(a,d){(function n(a,d){var ba,K;for(K in a)Fb.call(a,K)&&(ba=a[K],void 0===d[K]?d[K]=ba:"object"===typeof ba&&null!==typeof ba&&n(ba,d[K]))})(a,d);return d}function v(a){return Zb(a?a:Ua)||Ua}function Da(a){var d=a.fontSize+"";if(!d)return a;d=d.replace(/(\d+)(px)*/,"$1px");a.fontSize=d;return a}function Fa(a){return void 0===a||"undefined"===typeof a||null===a||a!==a?!0:!1}function oa(a,d){this.carpet=
a;this._componentPool=d}function Ka(a){this.conf=a;this._id="GL_CARPET";this.compositionsByCategory={};this._lSpace=this.group=this.node=void 0;this.autoRecalculate=!1;this.groupName="fc-gradient-legend";this.moveInstructions={}}function Oa(){Ka.apply(this,arguments)}function ta(a,d){this.rawText=a;this.conf=d;this._id="GL_CAPTION";this._lSpace=this.bound=this.node=void 0}function ja(a,d){this.colorRange=a;this.conf=d;this._id="GL_BODY";this.bound=void 0;this.compositionsByCategory={};this._lSpace=
void 0}function pa(){ja.apply(this,arguments)}function xa(a){this.conf=a;this._id="GL_LABELS"}function Aa(){xa.apply(this,arguments)}function Ia(){xa.apply(this,arguments);this._id="GL_VALUES"}function y(){Ia.apply(this,arguments);this._id="GL_VALUES"}function u(a){this.conf=a;this._id="FL_AXIS";this.markerLine=this.shadow=this.node=void 0;this.compositionsByCategory={}}function Ba(){u.apply(this,arguments)}function d(a){var d={};this._id="GL_SG1";this.conf=a;d.conf=a;this.extremes=[];this.sliders=
{};d.sliderGroup=this;this.valueRange=[];this.callbacks=[];this.sliders[!1]=new F(!1,d,this._id+"_0");this.sliders[!0]=new F(!0,d,this._id+"_1")}function F(a,d,p){this.conf=d.conf;this.sliderIndex=a;this.rangeGroup=d.sliderGroup;this._id=p;this.tracker=this.node=void 0;this.currPos=0;this.swing=[]}function a(a,d,p){p=p.components.numberFormatter;var n,k,w,r,t,T;this.data=a;this.options=d||{};T=this.mapByPercent=!!a.mapByPercent;this.appender="";k=this.mapByPercent?0:d.min;d=this.mapByPercent?100:
d.max;2===a.colorRange.length&&(n=a.colorRange[0],w=a.colorRange[1],r=n.value=Fa(n.value)?k:n.value,t=w.value=Fa(w.value)?d:w.value,r===t&&(r=n.value=k,t=w.value=d),n.displayValue=T?r+"%":p.legendValue(r),w.displayValue=T?t+"%":p.legendValue(t));Fa(k)&&Fa(n.value)||Fa(d)&&Fa(n.value)||!a.gradient?this._preparationGoneWrong=!0:this._preparationGoneWrong=!1;p=this.colorRange=a.colorRange.sort(function(a,p){return a.value-p.value});this.valueRatio=void 0;this.values=[];a=0;for(n=p.length;a<n;a++)this.values.push(p[a].value)}
function la(){oa.apply(this,arguments)}var Z=this,W=Z.hcLib,ua=W.pluckNumber,x=W.pluck,ya=W.toRaphaelColor,D=W.graphics,nb=W.dehashify,$=W.hashify,na=D.convertColor,Tb=D.RGBtoHex,Pb=D.HEXtoRGB,ia=D.getLightColor,Zb=D.getValidColor,Jb="rgba(192,192,192,"+(W.isIE?.002:1E-6)+")",Ja,Ua=W.COLOR_BLACK,Fb={}.hasOwnProperty,jb,cb={};Ja=function(){function a(p){var n=d.numberFormatter,K,t,T;K=0;for(t=p.length;K<t;K++)if(T=p[K].maxvalue)p[K].maxvalue=n.getCleanValue(T)}var d,p,n={legendCarpetConf:{spreadFactor:.85,
allowDrag:!1,captionAlignment:"center",padding:{v:3,h:3},style:{fill:"#e4d9c1",stroke:"#c4b89d"}},legendCaptionConf:{spreadFactor:.2,padding:{v:2,h:2},style:{fill:"#786B50",fontFamily:"sans-serif",fontSize:"12px",fontWeight:"bold",fontStyle:"normal"},bound:{style:{stroke:"none"}}},legendBodyConf:{spreadFactor:.8,padding:{v:2,h:2},bound:{style:{stroke:"none"}}}};n.legendAxisConf={legendAxisHeight:11,spreadFactor:.4,padding:{v:1,h:1},style:{stroke:"none","stroke-opacity":0,"stroke-width":1},line:{grooveLength:3,
offset:8,style:{stroke:"rgba(255, 255, 255, 0.65)","stroke-width":1.5}},shadow:{style:{stroke:"none",fill:ya({FCcolor:{alpha:"25,0,0",angle:360,color:"000000,FFFFFF,FFFFFF",ratio:"0,30,40"}})}},bound:{style:{stroke:"none"}}};n.sliderGroupConf={showTooltip:1,outerCircle:{rFactor:1.4,style:{fill:Jb,stroke:"#757575","stroke-width":3}},innerCircle:{rFactor:.65,style:{fill:Jb,stroke:"#FFFFFF"}}};n.axisTextItemConf={spreadFactor:.3,padding:{v:1,h:1},style:{fill:"#786B50",fontFamily:"sans-serif",fontSize:"12px",
fontWeight:"normal",fontStyle:"normal"}};return{init:function(a){p=a.chart;d=p.components},setConf:function(a){},legacyDataParser:function(p,n){var r={},t=d.numberFormatter,T,da,ga,E,N,u,D,y,x;if(!p)return!1;r.mapByPercent=x=!!ua(p.mapbypercent,0);void 0===p.minvalue&&(p.minvalue=void 0!==n.min?x?0:n.min:0);void 0===p.maxvalue&&(p.maxvalue=void 0!==n.max?x?100:n.max:100);T=p.color||[];ga=p.code;D=r.colorRange=[];r.gradient=!!ua(p.gradient,1);T.length?ga=v(ga):(ga?(E=v(ga),ga=v()):(ga=v(),E=ia(ga,
1)),T.push({code:E,maxvalue:p.maxvalue,label:void 0}));a(T);T=T.sort(function(a,p){return a.maxvalue-p.maxvalue});E=y=p.minvalue&&t.getCleanValue(p.minvalue);y=(void 0!==E||null!==E)&&(x?E+"%":t.legendValue(E));D.push({code:nb(ga),value:E,displayValue:y,label:p.startlabel});ga=0;for(u=T.length;ga<u;ga++)da=T[ga],N=v(da.code||da.color),E=y=da.maxvalue,isNaN(parseInt(E,10))||(y=(void 0!==E||null!==E)&&(x?E+"%":t.legendValue(E)),D.push(Object({code:nb(N),value:E,displayValue:y,label:da.label||da.displayvalue})));
D[D.length-1].label=p.endlabel||da.label;return r},getDefaultConf:function(a){return n[a]}}}();jb=function(a){var d=a.chartInstance.id,p=cb[d]||(cb[d]={});return function(){function n(){var a,d,n,k,ba,K;for(a in p)for(d in n=p[a],n)if(k=n[d],k instanceof Array)for(ba=0,K=k.length;ba<K;ba++)k[ba]&&k[ba].hide();else k.hide()}var k,w={},r;k={KEY_RECT:"rect",KEY_TEXT:"text",KEY_GROUP:"group",KEY_CIRCLE:"circle",KEY_PATH:"path"};w[k.KEY_RECT]=function(a){return r.rect(a)};w[k.KEY_TEXT]=function(a){return r.text(a)};
w[k.KEY_GROUP]=function(a,p){return r.group(a,p)};w[k.KEY_CIRCLE]=function(a){return r.circle(a)};w[k.KEY_PATH]=function(a,p){return r.path(a,p)};return{init:function(a){r=a;n()},emptyPool:function(){p=cb[d]={}},getChart:function(){return a},getComponent:function(a,d,n){var k=p[a],ba,K,r,u=0;k||(k=p[a]={});return(K=k[d])&&!(K instanceof Array)||K instanceof Array&&0<K.length?function(){return n?(r=K[u++])?r.show():K[u]=w[d].apply(this,arguments):K.show()}:function(){return n?(ba=k[d]||(k[d]=[]),K=
w[d].apply(this,arguments),ba.push(K),K.show()):k[d]=w[d].apply(this,arguments)}},hideAll:function(){n()},getKeys:function(){return k}}}()};oa.prototype.constructor=oa;oa.prototype.draw=function(a){a.componentPool=this._componentPool;return this.carpet.draw(a)};oa.prototype.getLogicalSpace=function(a,d){a.componentPool=this._componentPool;return this.carpet.getLogicalSpace(a,d)};oa.prototype.dispose=function(){this.carpet&&this.carpet.group&&this.carpet.group.remove();this._componentPool.emptyPool()};
Ka.prototype.constructor=Ka;Ka.prototype.addCompositions=function(a,d){this.compositionsByCategory[d]=a};Ka.prototype.getBoundingBox=function(a){var d=this.conf,p=a.refSide,n=a.alignment,k=a.refOffset,w=a.x,r=a.y,d=d.width=p*d.spreadFactor;!n||void 0!==w&&null!==w||(w=(k+p)/2-d/2);return{width:d,height:a.maxOtherSide,x:w,y:r}};Ka.prototype.getPostCalcDecisions=function(a,d){var p=this.conf.padding,n,k=0;for(n in d)k+=d[n].height||0;a.height=k+2*p.v};Ka.prototype.getLogicalSpace=function(a,d){var p=
this._lSpace,n=this.conf.padding,k=this.compositionsByCategory,w,r,t;t=0;var T={},da,u=0;if(p&&!d)return p.isImpure=!0,p;p=this._lSpace=r=this.getBoundingBox(a);if(Fa(p.x)||Fa(p.y)||Fa(p.height)||Fa(p.width))this.autoRecalculate=!0;p=I(r,{});p.height-=2*n.v;p.width-=2*n.h;p.x+=n.h;p.y+=n.v;for(da in k)w=k[da],n=I(p,{}),n.y+=t,t=p.height*w.conf.spreadFactor,n.height=t+u,t=w.getLogicalSpace(I(n,{}),a,d),u=n.height-t.height,T[da]=t,t=t.height;this.getPostCalcDecisions(r,T);return this._lSpace=r};Ka.prototype.setupDragging=
function(){var a=this.group,d=0,p=0,n=0,k=0;a.css({cursor:"move"});a.drag(function(w,r){d=w;p=r;a.attr({transform:"t"+(n+d)+","+(k+p)})},function(){n+=d;k+=p},function(){})};Ka.prototype.draw=function(a){var d=this.conf,p=this.compositionsByCategory,n=a.paper,k=a.parentGroup,w=a.componentPool,r,t,T=w.getChart().get("config","animationObj").duration,da,u=w.getKeys();this.getLogicalSpace(a,this.autoRecalculate);t=this._lSpace;da=w.getComponent(this._id,u.KEY_GROUP);this.group=k=da(this.groupName,k);
k.attr({opacity:0});k.animate({opacity:1},T,"easeIn");da=w.getComponent(this._id,u.KEY_RECT);this.node=da(k).attr(t).css(d.style);for(r in p)w=p[r],w.draw(d.captionAlignment,t,{colorRange:a.colorRange,numberFormatter:a.numberFormatter,paper:n,parentLayer:k,smartLabel:a.smartLabel,moveInstructions:this.moveInstructions[r],componentPool:a.componentPool});d.allowDrag&&this.setupDragging();return this.node};Oa.prototype=Object.create(Ka.prototype);Oa.prototype.constructor=Oa;Oa.prototype.getBoundingBox=
function(a){var d=this.conf,p=a.refSide,n=a.alignment,k=a.refOffset,w=a.x,r=a.y,d=d.height=p*d.spreadFactor;!n||void 0!==r&&null!==r||(r=(k+p)/2-d/2);return{width:a.maxOtherSide,height:d,x:w,y:r}};Oa.prototype.getPostCalcDecisions=function(a,d){var p=this.conf.padding,n=Number.NEGATIVE_INFINITY,k,w,r=this.moveInstructions;Ka.prototype.getPostCalcDecisions.apply(this,arguments);for(w in d)k=d[w].width,n=n<k?k:n;a.width=n+2*p.h;for(w in d)if(k=d[w].width,p=n-k)r[w]="t"+p/2+",0"};ta.prototype.constructor=
ta;ta.LEFT={x:function(a,d){return d.x+a.width/2+2}};ta.RIGHT={x:function(a,d){return d.x+d.width-a.width/2-2}};ta.CENTER={x:function(a,d){return d.x+d.width/2}};ta.prototype.getLogicalSpace=function(a,d,p){var n=this.conf.padding,k=this._lSpace,w=this.rawText,r=d.componentPool.getChart();if(k&&!p)return k.isImpure=!0,k;k=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0,smartText:void 0}};p=d.smartLabel;if(!w)return k.bound;d=I(a,{});d.height-=2*n.v;d.width-=2*n.h;d.x+=n.h;d.y+=n.v;p.useEllipsesOnOverflow(r.config.useEllipsesWhenOverflow);
r=I(this.conf.style,{});Da(r);p.setStyle(r);w=p.getSmartText(w,d.width,d.height);d.height=w.height;d.width=w.width;a.height=w.height+2*n.v;a.width=w.width+2*n.h;k.node.smartText=w;k.node.logicArea=d;return k.bound=a};ta.prototype.draw=function(){var a,d=this.conf.bound||{},p,n,k,w,r,t,T;3<=arguments.length?(k=arguments[0],w=arguments[1],r=arguments[2]):2<=arguments.length&&(k=arguments[0],r=arguments[1]);a=r.parentLayer;t=r.componentPool;T=t.getKeys();p=t.getComponent(this._id,T.KEY_GROUP);this.group=
a=p("legend-caption",a);this.getLogicalSpace(w,r);p=this._lSpace;r=p.node;n=p.bound;p=t.getComponent(this._id,T.KEY_RECT);this.bound=d=p(a).attr(n).css(d.style);k="string"===typeof k?ta[k.toUpperCase()].x(r.smartText,w||r.logicArea):k;p=t.getComponent(this._id,T.KEY_TEXT);this.node=p(a).attr({text:r.smartText.text,x:k,y:r.logicArea.y+r.smartText.height/2}).css(this.conf.style);return{group:a,bound:d,node:this.node}};ja.SC_STACK=["LEGEND_LABEL","LEGEND_AXIS","AXIS_VALUE"];ja.DARW_STACK=["AXIS_VALUE",
"LEGEND_AXIS","LEGEND_LABEL"];ja.prototype.constructor=ja;ja.prototype.addCompositions=function(a,d){this.compositionsByCategory[d]=a};ja.prototype.getCompositionPlotAreaFor=function(a){var d;d=I(a,{});return function(p,n){p=p||{};d.y+=p.height||0;d.height=a.height*n;return d}};ja.prototype.getSpaceTaken=function(a){return a.height};ja.prototype.updateEffectivePlotArea=function(a,d,p){var n=this.conf.padding;d.height=p;a.height=p+2*n.v};ja.prototype.getLogicalSpace=function(a,d,p){var n=this._lSpace,
k=this.conf.padding,w=this.compositionsByCategory,r,t,T,da=0,u,E;if(n&&!p)return n.isImpure=!0,n;n=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0}};t=I(a,{});t.height-=2*k.v;t.width-=2*k.h;t.x+=k.h;t.y+=k.v;T=this.getCompositionPlotAreaFor(t);d.colorRange=this.colorRange;u=0;for(E=ja.SC_STACK.length;u<E;u++)if(k=w[ja.SC_STACK[u]])r=T(r,k.conf.spreadFactor),r=k.getLogicalSpace(I(r,{}),d,p),da+=this.getSpaceTaken(r);this.updateEffectivePlotArea(a,t,da);n.node.logicArea=t;return n.bound=
a};ja.prototype.draw=function(){var a,d;d=this.conf.bound.style||{};var p=this.compositionsByCategory,n,k,w,r,t,T;3<=arguments.length?(k=arguments[1],r=arguments[2]):2<=arguments.length&&(r=arguments[1]);a=r.parentLayer;w=r.componentPool;t=w.getKeys();this.getLogicalSpace(k,r);k=this._lSpace;T=w.getComponent(this._id,t.KEY_GROUP);a=T("legend-body",a).attr({transform:"t0,0"});T=w.getComponent(this._id,t.KEY_RECT);this.bound=d=T(a).attr(k.bound).css(d);r.colorRange=this.colorRange;r.parentLayer=a;w=
0;for(t=ja.DARW_STACK.length;w<t;w++)(n=p[ja.DARW_STACK[w]])&&n.draw(r);r.moveInstructions&&a.attr({transform:r.moveInstructions});return{bound:d,group:a}};pa.prototype=Object.create(ja.prototype);pa.prototype.constructor=pa;pa.prototype.getCompositionPlotAreaFor=function(a){var d;d=I(a,{});return function(p,n){p=p||{};d.x+=p.width||0;d.width=a.width*n;return d}};pa.prototype.updateEffectivePlotArea=function(a,d,p){var n=this.conf.padding;d.width=p;a.width=p+2*n.h};pa.prototype.getSpaceTaken=function(a){return a.width};
xa.prototype.constructor=xa;xa.prototype.getEffectivePlotArea=function(a){var d=this.conf.padding;a.height-=2*d.v;a.width-=2*d.h;a.x+=d.h;a.y+=d.v;this.node=[];return a};xa.prototype.getLogicalSpace=function(a,d,p){var n=this._lSpace,k=this.conf,w=k.padding,r,t,T=[],da,u,E,N,v,D=0,y,x,F;v=d.componentPool.getChart();var $=[];if(n&&!p)return n.isImpure=!0,n;n=d.colorRange;d=d.smartLabel;p=n.getCumulativeValueRatio();r=n.colorRange;n=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0,smartTexts:[]}};
N=n.node.smartTexts;da=I(a,{});da=this.getEffectivePlotArea(da);d.useEllipsesOnOverflow(v.config.useEllipsesWhenOverflow);k=I(k.style,{});Da(k);d.setStyle(k);v=d.getSmartText("W");t=0;for(k=r.length;t<k;t++)(u=r[t].label)?(D++,$.push({oriIndex:t,label:u})):N[t]=void 0;k=$.length;if(0===k)return{height:0,width:0};u=E=1<k?(p[$[k-1].oriIndex]-p[$[0].oriIndex])/2*da.width/100:Math.max(p[$[0].oriIndex],100-p[$[0].oriIndex])/2*da.width/100;D=d.getSmartText($[0].label,u,da.height);D.x=p[$[0].oriIndex]*da.width/
100;t=D.x+D.width;T.push(D.height);N[$[0].oriIndex]=D;D=d.getSmartText($[k-1].label,u,da.height);D.x=p[$[k-1].oriIndex]*da.width/100;r=D.x-D.width;T.push(D.height);N[$[k-1].oriIndex]=D;x=t;for(t=1;t<k-1;t++)u=$[t].label,F=$[t].oriIndex,D=void 0,E=t+1===k-1?r:p[$[t+1].oriIndex]*da.width/100,y=p[$[t].oriIndex]*da.width/100,E=Math.min(y-x,E-y),E>2*v.width&&(D=d.getSmartText(u,E,da.height),D.x=p[F]*da.width/100,x=E,T.push(D.height)),N[$[t].oriIndex]=D;T=Math.max.apply(Math,T);da.height=T;a.height=T+2*
w.v;n.node.logicArea=da;return n.bound=a};xa.prototype.draw=function(){var a,d,p=this.conf;d=p.bound&&p.bound.style||{stroke:"none"};var n,k,w,r,t,T={},u;2<=arguments.length?(k=arguments[0],r=arguments[1]):1<=arguments.length&&(r=arguments[0]);a=r.parentLayer;r.colorRange.getCumulativeValueRatio();n=r.componentPool;t=n.getKeys();this.getLogicalSpace(k,r);w=this._lSpace;k=w.node.logicArea;r=w.node.smartTexts;u=n.getComponent(this._id,t.KEY_GROUP);a=u("legend-labels",a);u=n.getComponent(this._id,t.KEY_RECT);
this.bound=d=u(a).attr(w.bound).css(d);a.transform("R0");u=n.getComponent(this._id,t.KEY_TEXT,!0);t=0;for(w=r.length;t<w;t++)if(n=r[t])T.y=k.y+n.height/2,T.x=t===w-1?k.x+n.x-n.width/2:t?k.x+n.x:k.x+n.x+n.width/2,this.node.push(u(a).attr({text:n.text}).attr(T).css(p.style).transform("R0"));return{group:a,bound:d,node:this.node}};Aa.prototype=Object.create(xa.prototype);Aa.prototype.constructor=Aa;Aa.prototype.getLogicalSpace=function(a){var d;if(a){d=a;var p=d.height;d.height=d.width;d.width=p}d=xa.prototype.getLogicalSpace.apply(this,
arguments);return{height:d.width,width:d.height}};Aa.prototype.draw=function(){var a,d,p,n,k;p=xa.prototype.draw.apply(this,arguments);a=p.bound;d=p.group;a=a.getBBox();p=p.node;d.transform("R90,"+(a.x+a.height/2)+","+(a.y+a.height/2));d=0;for(a=p.length;d<a;d++)n=p[d],k=n.getBBox(),n.transform("R180,"+(k.x+k.width/2)+","+(k.y+k.height/2))};Ia.prototype=Object.create(xa.prototype);Ia.prototype.constructor=Ia;Ia.prototype.getLogicalSpace=function(a,d,p){var n=this._lSpace,k=this.conf,w=k.padding,r=
d.componentPool.getChart(),t,T,u,v,E,N,D=[],y,x,$,F;if(n&&!p)return n.isImpure=!0,n;n=d.colorRange;d=d.smartLabel;p=n.colorRange;u=n.getCumulativeValueRatio();n=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0,smartTexts:[]}};F=n.node.smartTexts;x=I(a,{});x.height-=2*w.v;x.width-=2*w.h;x.x+=w.h;x.y+=w.v;d.useEllipsesOnOverflow(r.config.useEllipsesWhenOverflow);k=I(k.style,{});Da(k);d.setStyle(k);r=d.getSmartText("W");k=p.length;N=(u[k-1]-u[0])/2*x.width/100;t=p[0].displayValue;t=d.getSmartText("string"!==
typeof t&&void 0!==t&&t.toString()||t,N,x.height);t.x=u[0]*x.width/100;T=t.x+t.width;D.push(t.height);F[0]=t;t=d.getSmartText(p[k-1].displayValue,N,x.height);t.x=u[k-1]*x.width/100;N=t.x-t.width;D.push(t.height);F[k-1]=t;y=T;for(T=1;T<k-1;T++)t=void 0,$=p[T].displayValue,v=T+1===k-1?N:u[T+1]*x.width/100,E=u[T]*x.width/100,v=Math.min(E-y,v-E),v>1.5*r.width&&(t=d.getSmartText($,2*v,x.height),t.x=u[T]*x.width/100,y=v,D.push(t.height)),F[T]=t;D=Math.max.apply(Math,D);x.height=D;a.height=D+2*w.v;n.node.logicArea=
x;return n.bound=a};Ia.prototype.draw=function(){var a=this.conf,d=a.bound&&a.bound.style||{stroke:"none"},p,n={},k,w,r,t,T,u,v;2<=arguments.length?(r=arguments[0],T=arguments[1]):1<=arguments.length&&(T=arguments[0]);k=T.parentLayer;u=T.colorRange.getCumulativeValueRatio();w=T.componentPool;p=w.getKeys();this.getLogicalSpace(r,T);t=this._lSpace;r=t.node.logicArea;T=t.node.smartTexts;v=w.getComponent(this._id,p.KEY_GROUP);k=v("legend-values",k);v=w.getComponent(this._id,p.KEY_RECT);this.bound=d=v(k).attr(t.bound).css(d);
v=w.getComponent(this._id,p.KEY_TEXT,!0);p=0;for(u=u.length;p<u;p++)if(w=T[p])n.y=r.y+w.height/2,n.x=p===u-1?r.x+w.x-w.width/2:p?r.x+w.x:r.x+w.x+w.width/2,v(k).attr({text:w.text}).attr(n).css(a.style);return{group:k,bound:d}};y.prototype=Object.create(Ia.prototype);y.prototype.constructor=y;y.prototype.getLogicalSpace=function(a,d,p){var n=this._lSpace,k=this.conf,w=k.padding,r=d.componentPool.getChart(),t,T,u,v,E,N,D=[],x,y,$,F;if(n&&!p)return n.isImpure=!0,n;n=d.colorRange;d=d.smartLabel;p=n.colorRange;
T=n.getCumulativeValueRatio();n=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0,smartTexts:[]}};F=n.node.smartTexts;E=I(a,{});E.height-=2*w.v;E.width-=2*w.h;E.x+=w.h;E.y+=w.v;d.useEllipsesOnOverflow(r.config.useEllipsesWhenOverflow);k=I(k.style,{});Da(k);d.setStyle(k);$=d.getSmartText("W");r=p.length;N=(T[r-1]-T[0])/2*E.height/100;k=d.getSmartText(p[0].displayValue,E.width,N);k.y=T[0]*E.height/100;t=k.y+k.width;D.push(k.width);F[0]=k;k=d.getSmartText(p[r-1].displayValue,E.width,N);k.y=
T[r-1]*E.height/100;N=k.y-k.height;D.push(k.width);F[r-1]=k;x=t;for(t=1;t<r-1;t++)k=void 0,y=p[t].displayValue,u=t+1===r-1?N:T[t+1]*E.height/100,v=T[t]*E.height/100,u=Math.min(v-x,u-v),u>2*$.height&&(k=d.getSmartText(y,E.width,2*u),k.y=T[t]*E.height/100,x=u,D.push(k.width)),F[t]=k;D=Math.max.apply(Math,D);E.width=D;a.width=D+2*w.h;n.node.logicArea=E;return n.bound=a};y.prototype.draw=function(){var a,d,p=this.conf;d=p.bound&&p.bound.style||{stroke:"none"};var n,k,w,r,t,u,v={},D;2<=arguments.length?
(n=arguments[0],w=arguments[1]):1<=arguments.length&&(w=arguments[0]);a=w.parentLayer;r=w.colorRange.getCumulativeValueRatio();t=w.componentPool;u=t.getKeys();this.getLogicalSpace(n,w);k=this._lSpace;n=k.node.logicArea;w=k.node.smartTexts;D=t.getComponent(this._id,u.KEY_GROUP);a=D("legend-values",a);D=t.getComponent(this._id,u.KEY_RECT);this.bound=d=D(a).attr(k.bound).css(d);D=t.getComponent(this._id,u.KEY_TEXT,!0);t=0;for(u=r.length;t<u;t++)if(r=w[t])v.x=n.x+r.width/2,v.y=t===u-1?n.y+r.y-r.height/
2:t?n.y+r.y:n.y+r.y+r.height/2,D(a).attr({text:r.text}).attr(v).css(p.style);return{group:a,bound:d}};u.prototype.constructor=u;u.prototype.addCompositions=function(a,d){this.compositionsByCategory[d]=a};u.prototype.getLogicalSpace=function(a,d,p){d=this._lSpace;var n=this.conf,k=n.padding,w,r;r=n.legendAxisHeight;var t=this.compositionsByCategory,u;u=0;if(d&&!p)return d.isImpure=!0,d;d=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0}};p=I(a,{});p.height-=2*k.v;p.width-=2*k.h;p.x+=k.h;
p.y+=k.v;n=r/2+n.line.offset;w=r/2;if(t=t.RANGE)u=t.sliders[!1],u=u.conf.outerCircle.rFactor*r,w+=u=Math.max(u/2-r/2,0);p.y+=u;p.height=r=w+n+u;a.height=r+2*k.v;d.node.logicArea=p;return d.bound=a};u.prototype.getDrawableAxisArea=function(a){var d=this.conf;return{x:a.x,y:a.y,width:a.width,height:d.legendAxisHeight,r:d.legendAxisHeight/2}};u.prototype.preDrawingRangeParam=function(a){return{y:a.y+a.height/2,calculationBase:a.height,rangeStart:a.x,rangeEnd:a.x+a.width,prop:"y"}};u.prototype.getScaleMarkerPathStr=
function(a,d){var p=I(a,{}),n=this.conf.line,k,w,r,t,u="";p.x+=p.r;p.width-=2*p.r;t=p.y+p.height;k=0;for(w=d.length;k<w;k++)r=d[k],r=p.x+r*p.width/100,u+="M"+r+","+(t-n.grooveLength)+"L"+r+","+(t+n.offset);p=""+("M"+p.x+","+(t+n.offset)+"L"+(p.x+p.width)+","+(t+n.offset));return u+p};u.prototype.getColorGradient=function(a){return{axis:a.getBoxFill(),shadow:ya({FCcolor:{alpha:"25,0,0",angle:90,color:"000000,FFFFFF,FFFFFF",ratio:"0,30,40"}})}};u.prototype.draw=function(){var a,d=this.conf,p=d.line,
n=(d.bound||{}).style||{},k,w,r=this.compositionsByCategory,t,u,v,D,E,N;2<=arguments.length?(k=arguments[0],E=arguments[1]):1<=arguments.length&&(E=arguments[0]);a=E.parentLayer;t=E.colorRange;u=t.getCumulativeValueRatio();N=E.componentPool;v=N.getKeys();this.getLogicalSpace(k,E);D=this._lSpace;k=N.getComponent(this._id,v.KEY_GROUP);a=k("legend-axis",a);k=N.getComponent(this._id,v.KEY_RECT,!0);this.bound=k(a).attr(D.bound).css(n);n=this.getDrawableAxisArea(D.node.logicArea);t=this.getColorGradient(t);
d.style.fill=t.axis;d.shadow.style.fill=t.shadow;this.node=k(a).attr(n).css(d.style);this.shadow=k(a).attr(n).css(d.shadow.style);d=this.getScaleMarkerPathStr(n,u);k=N.getComponent(this._id,v.KEY_PATH);k("M0,0",a).attr({path:d}).css(p.style);for(w in r)switch(p=r[w],w){case "RANGE":v=this.preDrawingRangeParam(n),E[v.prop]=v[v.prop],E.key=v.prop,E.rCalcBase=v.calculationBase,E.parentLayer=a,p.draw(v.rangeStart,v.rangeEnd,E)}};Ba.prototype=Object.create(u.prototype);Ba.prototype.constructor=Ba;Ba.prototype.getLogicalSpace=
function(a,d,p){d=this._lSpace;var n=this.conf,k=n.padding,w,r;r=n.legendAxisHeight;var t=this.compositionsByCategory,u;u=0;if(d&&!p)return d.isImpure=!0,d;d=this._lSpace={bound:{height:0,width:0},node:{logicArea:void 0}};p=I(a,{});p.height-=2*k.v;p.width-=2*k.h;p.x+=k.h;p.y+=k.v;n=r/2+n.line.offset;w=r/2;if(t=t.RANGE)u=t.sliders[!1],u=u.conf.outerCircle.rFactor*r,w+=u=Math.max(u/2-r/2,0);p.x+=u;p.width=r=w+n+u;a.width=r+2*k.v;d.node.logicArea=p;return d.bound=a};Ba.prototype.getDrawableAxisArea=
function(a){var d=this.conf;return{x:a.x,y:a.y,width:d.legendAxisHeight,height:a.height,r:d.legendAxisHeight/2}};Ba.prototype.getScaleMarkerPathStr=function(a,d){var p=I(a,{}),n=this.conf.line,k,w,r,t,u="";p.y+=p.r;p.height-=2*p.r;t=p.x+p.width;k=0;for(r=d.length;k<r;k++)w=d[k],w=p.y+w*p.height/100,u+="M"+(t-n.grooveLength)+","+w+"L"+(t+n.offset)+","+w;p=""+("M"+(t+n.offset)+","+p.y+"L"+(t+n.offset)+","+(p.y+p.height));return u+p};Ba.prototype.getColorGradient=function(a){return{axis:a.getBoxFill(!0),
shadow:ya({FCcolor:{alpha:"25,0,0",angle:360,color:"000000,FFFFFF,FFFFFF",ratio:"0,30,40"}})}};Ba.prototype.preDrawingRangeParam=function(a){return{x:a.x+a.width/2,calculationBase:a.width,rangeStart:a.y,rangeEnd:a.y+a.height,prop:"x"}};d.prototype.constructor=d;d.prototype.initRange=function(a,d){this.extremes[+a.sliderIndex]=d};d.prototype.updateRange=function(a,d){var p=a.sliderIndex;this.sliders[!p].updateSwingRange(p,d)};d.prototype.reset=function(){var a={};a.conf=this.conf;a.sliderGroup=this;
this.sliders[!1]=new F(!1,a,this._id+"_0");this.sliders[!0]=new F(!0,a,this._id+"_1");this.draw.apply(this,this._drawParams)};d.prototype.clearListeners=function(){this.callbacks.length=0};d.prototype.draw=function(a,d,p){var n=this.sliders,k=n[!1],n=n[!0],w=p.colorRange,r=w.colorRange,t=this._fcChart=p.componentPool.getChart();this.getValueFormPixel=function(a,d,p,n){var k=(d-a)/(n-p);this.getValueFormPixel=function(d){return a+k*d}};this.updateWhenInMove=function(a,d){this.updateWhenInMove=function(p,
n){var k=this.extremes,k=this.getValueFormPixel(p.sliderIndex?k[1]-k[0]+n:n);return k=d?parseFloat(k).toFixed(2)+"%":a.legendValue(k)}};this._drawParams=[a,d,p];this.updateWhenInMove(t.components.numberFormatter,w.mapByPercent);a=k.draw(a,r[0].displayValue,p[p.key],p);a=n.draw(d,r[r.length-1].displayValue,p[p.key],p);k.swing=this.extremes.slice(0);n.swing=this.extremes.slice(0);this.getValueFormPixel(r[0].value,r[r.length-1].value,this.extremes[0],this.extremes[1]);return a};d.prototype.registerListener=
function(a,d,p){this.callbacks.push({fn:a,context:d,params:p||[]})};d.prototype.updateWhenInRest=function(a,d){var p=this.sliders,n=this.extremes,k=a.sliderIndex,w,r=this.callbacks,t,u;k?(w=p[!k].currPos,p=n[1]-n[0]+d):(w=d,p=n[1]-n[0]+p[!k].currPos);n=0;for(k=r.length;n<k;n++)t=r[n],u=t.params.slice(0),u.unshift(this.getValueFormPixel(p)),u.unshift(this.getValueFormPixel(w)),t.fn.apply(t.context,u)};d.prototype.dragStarted=function(a){var d=this.sliders,p=this.extremes,n=a.conf,k=this._fcChart;Z.raiseEvent("legendpointerdragstart",
{pointerIndex:+a.sliderIndex,pointers:[{value:this.getValueFormPixel(d[!1].currPos)},{value:this.getValueFormPixel(p[1]-p[0]+d[!0].currPos)}],legendPointerHeight:n.outerRadius,legendPointerWidth:n.innerRadius,outerRadius:n.outerRadius,innerRadius:n.innerRadius},k.chartInstance,[k.id])};d.prototype.dragCompleted=function(a,d,p){var n=this.sliders,k=this.extremes,w=a.conf,r=this.getValueFormPixel(n[!1].currPos),n=this.getValueFormPixel(k[1]-k[0]+n[!0].currPos),t=this._fcChart,u;a.sliderIndex?(u=r,p=
this.getValueFormPixel(k[1]-k[0]+p)):(u=this.getValueFormPixel(p),p=n);d&&Z.raiseEvent("legendrangeupdated",{previousMinValue:r,previousMaxValue:n,minValue:u,maxValue:p},t.chartInstance,[t.id]);Z.raiseEvent("legendpointerdragstop",{pointerIndex:+a.sliderIndex,pointers:[{value:r},{value:n}],legendPointerHeight:w.outerRadius,legendPointerWidth:w.innerRadius,outerRadius:w.outerRadius,innerRadius:w.innerRadius},t.chartInstance,[t.id])};F.prototype.constructor=F;F.prototype.updateSwingRange=function(a,
d){this.swing[+a]=d};F.prototype.draw=function(a,d,p,n){var k=n.parentLayer,w=this.conf,r=w.outerCircle,t=w.innerCircle,u=Math.ceil(r.rFactor*n.rCalcBase/2),v=Math.ceil(t.rFactor*n.rCalcBase/2),D=u-v,E=this.rangeGroup,N=this.sliderIndex,x,y,$=n.componentPool,F=$.getKeys();w.outerRadius=u;w.innerRadius=v;this._scaleVal=d;t.style["stroke-width"]=D;D=Math.ceil(r.style["stroke-width"]/2);v+=D;y=$.getComponent(this._id,F.KEY_GROUP);k=this.node=y("fc-gl-slider",k).attr({cursor:"pointer",transform:"t0,0"});
"x"===n.key?a=x=a+(N?-v:+v):(x=p,a=p=a+(N?-v:+v));E.initRange(this,a);y=$.getComponent(this._id,F.KEY_CIRCLE,!0);y(k).attr({cx:p,cy:x,r:u}).css(r.style);y(k).attr({cx:p,cy:x,r:v}).css(t.style);d=this.tracker=y(k).attr({cx:p,cy:x,r:u+5,ishot:!0,fill:Jb,stroke:0,cursor:"pointer"}).trackTooltip(w.showTooltip?!0:!1).tooltip(d,null,null,!0);this._dragAPI=n=this.getDragAPI("x"===n.key);d.undrag();d.drag(n.dragging,n.dragStart,n.dragEnd);return{translateAscending:u+D}};F.prototype.getDragAPI=function(a){var d=
this,p=d.node,n=d.sliderIndex,k=d.rangeGroup,w,r,t,u=d.conf.innerRadius,v;return{dragging:function(D,E,N,x,y){var $;y.stopPropagation();y.preventDefault();$=a?E:D;n?(D=w[0]-w[1]+u,E=0):(D=0,E=w[1]-w[0]-u);if(!(d.currPos+$<D||d.currPos+$>E))return p.attr({transform:a?"t0,"+(d.currPos+$):"t"+(d.currPos+$)+",0"}),r=$,t&&clearTimeout(t),t=setTimeout(function(){k.updateWhenInRest(d,d.currPos+$)},100),d.tracker.tooltip(k.updateWhenInMove(d,d.currPos+$),null,null,!0),v=!0},dragStart:function(n,r,t){t.stopPropagation();
t.preventDefault();p.attr({transform:a?"t0,"+d.currPos:"t"+d.currPos+",0"});w=w||d.swing;v=!1;k.dragStarted(d)},dragEnd:function(){var a;k.dragCompleted(d,v,d.currPos+r);v&&(t&&clearTimeout(t),t=setTimeout(function(){k.updateWhenInRest(d,d.currPos)},100),d.currPos+=r,a=w[+n]+d.currPos,k.updateRange(d,a))}}};a.prototype.constructor=a;a.prototype.getValueRatio=function(){var a=this.colorRange,d,p,n=a.length,k=this.valueRatio,w=a[0].value,r=a[n-1].value-w,t=0;if(k)return k;k=this.valueRatio=[];for(p=
0;p<n;p++)d=a[p],d=(d.value-w)/r,k.push(100*(d-t)),t=d;return k};a.prototype.getCumulativeValueRatio=function(){var a=this.colorRange,d,p,n=a.length,k=a[0].value,w=a[n-1].value,r=[];for(p=0;p<n;p++)d=a[p],r.push((d.value-k)/(w-k)*100);return r};a.prototype.getBoxFill=function(a){var d=this.colorRange,p,n=d.length,k=[],w;w=a?90:0;for(p=0;p<n;p++)a=d[p],k.push(a.code);d={FCcolor:{alpha:"100,100,100",angle:w,color:k.join(","),ratio:this.getValueRatio().join(",")}};return ya(d)};a.prototype.getColorByValue=
function(a){var d=this.values,p=this.colorRange,n,k,w,r;if(void 0!==a&&null!==a){k=0;for(n=d.length;k<n;k++)if(a===d[k]){r=p[k].code;break}else if(!k&&a<d[k]){w=!0;break}else if(k===n-1&&a>d[k]){w=!0;break}else if(a>d[k]&&a<d[k+1]){d=p[k];n=p[k+1];p=d.value;k=Pb(d.code);d=n.value;n=Pb(n.code);r=r=void 0;r=d-p;r=[Math.round(k[0]+(n[0]-k[0])/r*(a-p)),Math.round(k[1]+(n[1]-k[1])/r*(a-p)),Math.round(k[2]+(n[2]-k[2])/r*(a-p))];r=Tb(r);break}if(!w)return r}};la.prototype=Object.create(oa.prototype);la.prototype.constructor=
la;FusionCharts.register("component",["gradientLegend","gradientLegend",{pIndex:1,enabled:!1,init:function(d){function u(k){p.data=d.chart.jsonData.colorrange;(r=p.nData=Ja.legacyDataParser(p.data,k))?(p.drawOptions={smartLabel:n.linkedItems.smartLabel,colorRange:p.colorRange=w=new a(r,k,t),maxOtherSide:k.maxOtherSide},p._dontPlot=!1,w&&w._preparationGoneWrong&&(p._dontPlot=!0),p._recalculateLogicalSpace=!0,p._configure()):p._dontPlot=!0}var p=this,n=d.chart,k,w,r,t;Ja.init(d);t=p._chart=d.chart;
p._cpool=jb(t);if(!(k=d.dataExtremes))return u;u(k)},_configure:function(){var a=this._chart,d=a.jsonData.chart,p=this.conf={},n=d.outcnvbasefont,k=d.outcnvbasefontsize,w=d.outcnvbasefontcolor,a=a.config.dataLabelStyle,r,t,u,v,D,E,N;p.caption=x(d.legendcaption);p.legendPosition=x(d.legendposition,"bottom").toLowerCase();p.showLegend=ua(d.showlegend,1);p.interactiveLegend=ua(d.interactivelegend,1);p.showLegendLabels=ua(d.showlegendlabels,1);r=d.legenditemfontcolor||w;t=d.legenditemfont||n;u=d.legenditemfontsize||
k;v=ua(d.legenditemfontbold,0);w=d.legendcaptionfontcolor||w;n=d.legendcaptionfont||n;k=d.legendcaptionfontsize||k;D=ua(d.legendcaptionfontbold,1);N=(E=d.legendaxisbordercolor?$(nb(d.legendaxisbordercolor)):void 0)?ua(d.legendaxisborderalpha,100)/100:void 0;p.axisTextItemConf={style:{fill:r?na(x(r)):a.color,fontFamily:t?x(t):a.fontFamily,fontSize:u?ua(u):a.fontSize.match(/\d+/)[0],fontWeight:v?"bold":a.fontWeight}};p.legendCaptionConf={style:{fill:w?na(x(w)):a.color,fontFamily:n?x(n):a.fontFamily,
fontSize:k?ua(k):a.fontSize.match(/\d+/)[0],fontWeight:D?"bold":a.fontWeight,fontStyle:"normal"}};p.legendAxisConf={legendAxisHeight:11,style:{stroke:E,"stroke-opacity":N},line:{style:{stroke:na(x(d.legendscalelinecolor,"FFF8E9"),ua(d.legendscalelinealpha,100)),"stroke-width":ua(d.legendscalelinethickness)}}};p.sliderGroupConf={showTooltip:ua(d.showtooltip,1),outerCircle:{rFactor:ua(d.sliderdiameterfactor),style:{stroke:na(x(d.legendpointerbordercolor,"757575"),ua(d.legendpointerborderalpha,100))}},
innerCircle:{rFactor:ua(d.sliderholediameterfactor),style:{stroke:na(x(d.legendpointercolor,"FFFFFF"),ua(d.legendpointeralpha,100))}}};p.legendCarpetConf={spreadFactor:ua(d.legendspreadfactor),allowDrag:!!ua(d.legendallowdrag,0),captionAlignment:x(d.legendcaptionalignment,"center"),style:{fill:na(x(d.legendbgcolor,"e4d9c1"),ua(d.legendbgalpha,100)),stroke:na(x(d.legendbordercolor,"c4b89d"),ua(d.legendborderalpha,100)),"stroke-width":ua(d.legendborderthickness,1)}}},postConfigureInit:function(){var a=
this.conf,v,p,n,k,w,r,t;this.elem={};a.caption&&(w=I(Ja.getDefaultConf("legendCaptionConf"),a.legendCaptionConf),v=new ta(a.caption,w));a.interactiveLegend&&(w=I(Ja.getDefaultConf("sliderGroupConf"),a.sliderGroupConf),this.elem.sGroup=k=new d(w),this.listeners&&0<this.listeners.length&&k.registerListener.apply(k,this.listeners));w=I(Ja.getDefaultConf("legendCarpetConf"),a.legendCarpetConf);"bottom"===a.legendPosition?(this.drawOptions.refSideKey="canvasWidth",this.drawOptions.refOffsetKey="canvasLeft",
p=new Ka(w),r=new ja(this.drawOptions.colorRange,Ja.getDefaultConf("legendBodyConf")),n=new u(I(Ja.getDefaultConf("legendAxisConf"),a.legendAxisConf)),w=I(Ja.getDefaultConf("axisTextItemConf"),a.axisTextItemConf),a.showLegendLabels&&(t=new xa(w)),a=new Ia(w)):(this.drawOptions.refSideKey="canvasHeight",this.drawOptions.refOffsetKey="canvasTop",p=new Oa(w),r=new pa(this.drawOptions.colorRange,Ja.getDefaultConf("legendBodyConf")),n=new Ba(I(Ja.getDefaultConf("legendAxisConf"),a.legendAxisConf)),w=I(Ja.getDefaultConf("axisTextItemConf"),
a.axisTextItemConf),a.showLegendLabels&&(t=new Aa(w)),a=new y(w));k&&n.addCompositions(k,"RANGE");t&&r.addCompositions(t,"LEGEND_LABEL");r.addCompositions(n,"LEGEND_AXIS");r.addCompositions(a,"AXIS_VALUE");v&&p.addCompositions(v,"CAPTION");p.addCompositions(r,"LEGEND_BODY");this.elem.gl=new la(p,this._cpool)},notifyWhenUpdate:function(a,d,p){var n;(n=this.elem&&this.elem.sGroup)?n.registerListener(a,d,p):this.listeners=[a,d,p]},dispose:function(){this.elem&&this.elem.gl&&this.elem.gl.dispose();this.elem=
{}},getLogicalSpace:function(a){var d=this.conf,p={height:0,width:0},n=this.drawOptions,k=this._chart;if(!this._recalculateLogicalSpace)return d=n.refSideKey,n=n.refOffsetKey,this.drawOptions.refSide=k.config[d],this.drawOptions.refOffset=k.config[n],(this._logicalArea=this.elem.gl.getLogicalSpace(this.drawOptions,!0))||p;if(this._dontPlot)return p;this._recalculateLogicalSpace=!1;this.postConfigureInit();if(!d.showLegend)return p;d=n.refSideKey;n=n.refOffsetKey;this.drawOptions.refSide=k.config[d];
this.drawOptions.refOffset=k.config[n];this.drawOptions.maxOtherSide=a||this.drawOptions.maxOtherSide;return this.elem.gl&&(this._logicalArea=this.elem.gl.getLogicalSpace(this.drawOptions,!0))},resetLegend:function(){var a;(a=this.elem&&this.elem.sGroup)&&a.reset()},clearListeners:function(){var a;(a=this.elem&&this.elem.sGroup)&&a.clearListeners()},draw:function(a,d,p){var n=this.conf;this._dontPlot||(this._cpool.init(p.paper),n.showLegend?(this.drawOptions.paper=p.paper,this.drawOptions.parentGroup=
p.parentGroup,this.drawOptions.x=a,this.drawOptions.y=d,this.drawOptions.maxOtherSide=this.drawOptions.maxOtherSide||p.maxOtherSide,a=this.elem.gl.draw(this.drawOptions),a=a.getBBox(),n.xPos=a.x,n.yPos=a.y,n.height=a.height,n.width=a.width,this.enabled=!0):this.enabled=!1)}}])}]);
FusionCharts.register("module",["private","modules.renderer.js-component-toolbox",function(){function I(a){"number"===typeof a&&(a="'"+a+"'");return a.split("").reduce(function(a,d){a=(a<<5)-a+d.charCodeAt(0);return a&a},0)}function v(a,d){var u;if(a.getBBox)return a;u=a.getBoundingClientRect();a.getBBox=function(){return{x:d.x,y:d.y,width:u.right-u.left,height:u.bottom-u.top,isArtificial:!0}};return a}function Da(a,d,u){var v,x;for(v in a)x=a[v],void 0!==x&&null!==x&&(u?d[v]||(d[v]=x):d[v]=x)}function Fa(a,
d){switch(a){case "click":return function(a){oa.dem.listen(d,"click",function(d){d.target&&d.target.parentNode&&a.call(d.target)})};case "hover":return function(a,u){oa.dem.listen(d,"pointerhover",function(d){d.target&&d.target.parentNode&&("start"===d.state?a:u).call(d.target)})}}}var oa=this.hcLib,Ka=oa.Raphael,Oa=this.window.document,ta=oa.graphics,ja=ta.convertColor,pa=ta.getLightColor,xa=ta.rawRGBtoHEX,Aa=oa.pluckNumber,Ia=oa.pluck,y={},u={},Ba={},d=oa.extend2,F,a,la,Z,W=function(){},ua=ja("FFFFFF",
0),x=0,ya;F=function(a,d,u){return["M",a-u,d-u]};a=function(a,d,u){var v=u/4;return["M",a-3*v,d,"L",a-v,d+u,a+u,d-u]};la=function(){Ka.addSymbol("Internal_CB",F);return{register:function(){var a,d,u;if(1===arguments.length){d=arguments[0];if(null==d||"object"!==typeof d)return;u=d}else if(1<arguments.length){a=arguments[0];d=arguments[1];if("string"!==typeof a||"function"!==typeof d)return;u={};u[a]=d}else return;for(a in u)d=u[a],{}.hasOwnProperty.call(u,a)&&Ka.addSymbol(a,d)}}}();ya=function(){function a(){this.pool=
{}}function d(a){var u,v,x,D,y,F;if(a)for(u in a)for(v in x=a[u],x)if(D=x[v],D instanceof Array)for(y=0,F=D.length;y<F;y++)D[y].hide&&D[y].hide();else D.hide&&D.hide()}var u={},v,x,y,F,I={};a.prototype.constructor=a;x={KEY_RECT:"rect",KEY_TEXT:"text",KEY_GROUP:"group",KEY_SCROLLER:"scoller",KEY_BUTTON:"button",KEY_PATH:"path",KEY_DIV:"div"};u[x.KEY_DIV]=function(){return Oa.createElement("div")};u[x.KEY_RECT]=function(a){return F.paper.rect(a)};u[x.KEY_TEXT]=function(a){return F.paper.text(a)};u[x.KEY_GROUP]=
function(a,d){return F.paper.group(a,d)};u[x.KEY_SCROLLER]=function(a,d,u,v,x,D,y){return F.paper.scroller(a,d,u,v,x,D,y)};u[x.KEY_BUTTON]=function(a,d,u,v,x,D){return F.paper.button(a,d,u,v,x,D)};u[x.KEY_PATH]=function(a,d){return F.paper.path(a,d)};return{init:function(u,x){var y;F=u;y=I[x]||(I[x]={});d(y.pool);y.initialized||(v=y.pool=(new a).pool,v._tmp=x,y.initialized=!0)},isInitialized:function(){},getCreationStatus:function(){return y},emptyPool:function(a){a=I[a]||{};a.pool&&(a.pool={})},
hideRecursive:function(a){d((I[a]||{}).pool)},getComponent:function(a,d,v,x){d=(I[d||0]||{}).pool;var D=d[a],F,K,W,p=0;D||(D=d[a]={});return(K=D[v])&&!(K instanceof Array)||K instanceof Array&&0<K.length?function(){y=!1;return x?(W=K[p++])?W.show():K[p]=u[v].apply(this,arguments):K.show&&"function"===typeof K.show&&K.show()||K}:function(){y=!0;return x?(F=D[v]||(D[v]=[]),K=u[v].apply(this,arguments),F.push(K),K.show&&"function"===typeof K.show&&K.show()||K):D[v]=u[v].apply(this,arguments)}},getKeys:function(){return x}}}();
Z=function(){function x(a){a=a||{};this.name=a.name;this.handler=a.handler||W;this.action=a.action&&a.action.toLowerCase()||"click";this.eventMap={};this.style={padding:"3px 8px",margin:"2px 0px",fontFamily:Ba.baseFontFamily,fontSize:Ba.baseFontSize+"px"};this.hoverOverStyle=a.hoverOverStyle||{};this.hoverOutStyle=a.hoverOutStyle||{};Da(a.style||{},this.style);this.node=this.subConRef=void 0}function Z(a,d){var k=this,u,r;u=d&&d.top||0;var t=d&&d.left,v=d&&d.right;this.container=a;this.position=Z.POSITION_BOTTOM;
this.atomicLists=[];this.refContainers=[];this.parentListCon=void 0;this.hideFnIds=[];this.target=void 0;t&&v||(this.positionCalculation=!0);this.hoverOverStyle={background:"#333333",color:"#FFFFFF",cursor:"pointer"};this.hoverOutStyle={background:"#FFFFFF",color:"#000000"};this._defaultStyle={position:"absolute","z-index":50,top:void 0===u?"auto":u+"px",right:void 0===v?"auto":v+"px",left:void 0===t?"auto":t+"px",overflow:"hidden",background:"#ffffff",border:"1px solid #646464","box-shadow":"#999999 2px 2px 5px",
padding:"5px 3px",display:"none"};u=this.container.style;for(r in this._defaultStyle)u[r]=this._defaultStyle[r];ba.linkedItems&&(ba.linkedItems.container.appendChild(this.container),r=Fa("hover",this.container),r(function(){k.show(this)},function(){k.hide(300,this)}))}function $(a){this.listContainer=this.container=void 0;this.measurement=a}function na(a,d,k,u){this.symbol=a;this._id="TB_SYMBOL"+(k||0);this.node=void 0;this.pId=u;this.isPlaintext=d;this.conf={btnTextStyle:{"stroke-width":"1px",stroke:"none"}};
this.evt={tooltext:void 0,click:W,hover:[W,W]}}function oa(a,d,k,u){na.call(this,"Internal_CB");this._id="TB_CBSYMBOL"+(k||0);this.symbol="Internal_CB";this.text={plaintext:a,node:void 0,style:jb};this.pId=u;this.checked=!!d;this.textNode=void 0;this.interPadding=3;this.pos={};this.regSymbolCmd=void 0;this.checked?this.check():this.uncheck()}function ta(a,d,k){na.call(this);this._id="TB_SCROLLER"+(d||0);this.pId=k;this.conf={};this.userConf=u;this.setConfiguaration(a);this.evt.scroll=W;return this}
function ia(a,d,k){var u;na.call(this,a,void 0,d,k);this.rawContextDefinitation=void 0;this.listContainerManager=(new $(this.position)).init(k);u=this.listContainerManager.getFirstContainer();this.evt.hover=[function(a){u.show(v(a.target||a.fromElement,a))},function(a){u.hide(300,a.target)}]}function Ia(a,n){this.preId=a||0;this.id=void 0;this.symbolList=[];this.groupRect=void 0;this.pId=n;d(this.btnConfig={},y);d(this.groupConfig={},Ua)}function Ka(a,d){Ja[this.id="TB_MASTER"+a||I((new Date).getTime())]=
this;this.toolbarRect=void 0;this.componentGroups=[];this.toolbarConfig=Fb;this.group=void 0;this.pId=d}var Ja={},Ua={hPadding:3,vPadding:3,borderRadius:2,fill:ja("DBDBDB",100),borderColor:ja("B2B1B1",100),borderThickness:1,offsetAdjustment:1,radius:1,spacing:6},Fb={hPadding:3,vPadding:3,borderRadius:0,fill:ja("EBEBEB",100),borderColor:ja("D1D0D0",100),borderThickness:1,offsetAdjustment:1,radius:0},jb={fontFamily:"Verdana,sans",fontSize:"12px",fill:void 0,fontStyle:"normal",fontWeight:"normal"},cb,
K,ba;x.prototype.assignSubContainer=function(a){a instanceof Z&&(this.subConRef=a)};x.prototype.stickIntoContainer=function(a,d){var k=this.node=Oa.createElement("div"),u=this.style,r,t,v,x=this;this.handler&&(this.eventMap[this.action]=this.handler);a.appendChild(k);k.innerHTML=this.name;t=k.style;for(r in u)t[r]=u[r];u=Fa("hover",k);Fa("click",k)(function(){x.handler&&((v=x.eventMap.click)&&v.apply(x,[ba]),d.hide())});u(function(){var a,d=k.style,p=x.hoverOverStyle;for(a in p)d[a]=p[a];x.subConRef&&
x.subConRef.show(this)},function(){var a,d=k.style,p=x.hoverOutStyle;for(a in p)d[a]=p[a];x.subConRef&&x.subConRef.hide(300,this)})};x.prototype.setStyle=function(a){Da(a||{},this.style)};x.prototype.dispose=function(){var a=this.node;a&&a.remove&&a.remove();this.node=void 0};Z.POSITION_TOP="top";Z.POSITION_BOTTOM="bottom";Z.prototype.addAtomicListItem=function(a){a instanceof x&&(this.atomicLists.push(a),a.stickIntoContainer(this.container,this))};Z.prototype.show=function(a){var d=this.hideFnIds,
k=ba.config.width,u=this.positionCalculation,r=0,t;this.target=this.target||a;for(t=d.length;r<t;r++)clearTimeout(d[r]);d.length=0;(d=this.parentListCon)?(d.show(this.target),this.container.style.left=d.container.offsetLeft+d.container.offsetWidth+"px",this.container.style.top=d.container.offsetTop+this.target.offsetTop+"px"):(d=a&&a.nodeName&&"DIV"===a.nodeName.toUpperCase()?!0:!1,d||(a=a.getBBox(),u&&(this.container.style.display="block",u=this.container.offsetWidth,u+a.x>k?(this.container.style.left=
"auto",this.container.style.right=k-a.x-a.width+"px"):(this.container.style.left=a.x+"px",this.container.style.right="auto"),this.container.style.display="none"),this.position===ia.POSITION_BOTTOM?(k=a.isArtificial?.5:1.5,this.container.style.top=a.y+a.height*k+"px",this.container.style.bottom="auto"):(this.container.style.bottom=ba.config.height-a.y+"px",this.container.style.top="auto")));this.container.style.display="block"};Z.prototype.hide=function(a){var d=this.container,k;(k=this.parentListCon)&&
k.hide(300);this.hideFnIds.push(setTimeout(function(){d.style.display="none"},a))};Z.prototype.dispose=function(){var a=this.atomicLists,d=this.refContainers,k,u;k=this.hideFnIds.length=0;for(u=a.length;k<u;k++)a[k].dispose();k=a.length=0;for(u=d.length;k<u;k++)d[k].dispose();d.length=0};$.prototype.init=function(a){var d=ya.getKeys();this.container||(a=ya.getComponent("div0",a,d.KEY_DIV),(a=a())&&(a.innerHTML=""),this.container=new Z(a,this.measurement));return this};$.prototype.getFirstContainer=
function(){return this.container};$.prototype.appendAsList=function(a,d){var k=this,u,r=this.container.hoverOverStyle,t=this.container.hoverOutStyle;(function da(a,d){var p,n=0,v,y,F,I,$,K,ba,pa;ba=d?d:k.container;p=a instanceof Array?a:[a];for(v=p.length;n<v;n++){y=p[n];F=new x({hoverOverStyle:r,hoverOutStyle:t});for(I in y)F.name=I,$=y[I],F.action=$.action,F.setStyle($.style),-1!==I.search(/^<[^<]+>$/)&&(F.hoverOverStyle={},F.hoverOutStyle={},$.handler=W),K=$.handler,"function"!==typeof K?pa=da(K,
new Z(Oa.createElement("div"))):F.handler=$.handler;ba.addAtomicListItem(F);pa&&(pa.parentListCon=ba,ba.refContainers.push(pa),F.assignSubContainer(pa));pa=void 0}return u=ba})(a,d);return u};$.prototype.dispose=function(){this.container.dispose();this.container=void 0};na.prototype.registerSymbol=function(a){la.register(this.symbol,a)};na.prototype._setConfiguaration=function(a){this.conf?Da(a,this.conf,!0):this.conf=a};na.prototype.attachEventHandlers=function(a,d){var k=this.evt,u=a.tooltext,r=
a.click||W,t=a.hover,v=d&&d.click||W,x=this;u&&(k.tooltext=u);k.click="function"===typeof r?function(){v();r.apply(x,arguments)}:function(){var a=r.fn,d=r.context,p=(r.args||[]).slice(0);r.hasOwnProperty("context")?p.push(x):d=x;[].push.apply(p,arguments);v();a.apply(d,p)};t&&t instanceof Array&&(k.hover=t);this.node&&this.node.tooltip(this.evt.tooltext).buttonclick(this.evt.click).hover(this.evt.hover[0],this.evt.hover[1]);return x};na.prototype.getLogicalSpace=function(){return{width:this.conf.width,
height:this.conf.height}};na.prototype.show=function(){var a=this.node;a&&a.css({display:"block"})};na.prototype.hide=function(){var a=this.node;a&&a.css({display:"none"})};na.prototype.draw=function(a,d,k){var u=this.conf||{},r,t,v=ya.getKeys(),x=ba.get("config","animationObj"),y=x.animObj,E=x.dummyObj,D=x.duration;this.isPlaintext?t=this.symbol:r=this.symbol;void 0!==k.idCount&&(this._id+=k.idCount);u.hoverFill=u.hoverFill?ja(u.hoverFill):ja(pa(xa(u.fill),80));k=this.node=ya.getComponent(this._id,
this.pId,v.KEY_BUTTON,!0)(a,d,t,r,{width:u.width,height:u.height,r:u.radius,verticalPadding:u.symbolHPadding*u.scale,horizontalPadding:u.symbolHPadding},k.parentLayer).labelcss(this.conf.btnTextStyle);k.attr({ishot:!0,fill:[u.fill,u.labelFill,u.symbolFill,u.hoverFill,!0],stroke:[u.stroke,u.symbolStroke],"stroke-width":[u.strokeWidth,u.symbolStrokeWidth]}).tooltip(this.evt.tooltext).buttonclick(this.evt.click).hover(this.evt.hover[0],this.evt.hover[1]);ya.getCreationStatus()||(this.node.unclick(),
this.node.animateWith(E,y,{"button-repaint":[a,d,u.width,u.height,u.radius]},D,x.animType),this.node.attr({"button-label":t,"button-padding":[u.symbolHPadding,u.symbolHPadding*u.scale]}),this.node.buttonclick(this.evt.click));k.getBBox=function(){return{x:a,y:d,width:u.width,height:u.height}};return k};na.prototype.dispose=function(){var a=this.node;a&&a.remove();this.node=void 0};oa.prototype=Object.create(na.prototype);oa.prototype.constructor=oa;oa.prototype.check=function(){var d=this.pos;this.checked=
!0;this.regSymbolCmd=a;this.node&&(this.registerSymbol(this.regSymbolCmd),this.node.attr({"button-repaint":[d.x,d.y,d.width,d.height,d.r]}))};oa.prototype.uncheck=function(){var a=this.pos;this.checked=!1;this.regSymbolCmd=F;this.node&&(this.registerSymbol(this.regSymbolCmd),this.node.attr({"button-repaint":[a.x,a.y,a.width,a.height,a.r]}))};oa.prototype.click=function(){this.checked?this.uncheck():this.check()};oa.prototype.attachEventHandlers=function(a){var d=this;na.prototype.attachEventHandlers.apply(this,
[a,{click:function(){d.click()}}])};oa.prototype.getLogicalSpace=function(){var a=ba.linkedItems.smartLabel,d=this.text.style,k;k=na.prototype.getLogicalSpace.apply(this,arguments);a.useEllipsesOnOverflow(ba.config.useEllipsesWhenOverflow);a.setStyle(d);a=a.getSmartText(this.text.plaintext);return{width:a.width+this.interPadding+k.width,height:Math.max(k.height,a.height)}};oa.prototype.draw=function(a,d,k){var u,r=this.conf,t;t=ba.linkedItems.smartLabel;var v=cb.colorManager,x=this.text.plaintext,
y,E=ya.getKeys();this.registerSymbol(this.regSymbolCmd);u=this.node=na.prototype.draw.apply(this,arguments);this.pos={x:a,y:d,width:r.width,height:r.height,r:r.radius};y=this.text.style;y.fill=y.fill||"#"+v.getColor("baseFontColor");t.useEllipsesOnOverflow(ba.config.useEllipsesWhenOverflow);t.setStyle(y);t=t.getSmartText(x);u=u.getBBox();v=ya.getComponent(this._id,this.pId,E.KEY_TEXT);this.textNode=v(k.parentLayer).attr({text:x,x:u.x+u.width+t.width/2+this.interPadding,y:u.y+u.height/2}).css(y);r=
r.height>t.height?r.height:t.height;v=ya.getComponent(this._id,this.pId,E.KEY_RECT);return v(k.parentLayer).attr({height:r,width:u.width+t.width+this.interPadding,x:a,y:d,stroke:ua})};oa.prototype.dispose=function(){this.textNode&&this.textNode.remove();this.textNode=void 0;na.prototype.dispose.call(this)};ta.prototype=Object.create(na.prototype);ta.prototype.constructor=oa;ta.prototype.setConfiguaration=function(a){var d=cb.colorManager;u.color||(u.color="#"+d.getColor("altHGridColor"));Da(u,this.conf);
Da(a,this.conf)};ta.prototype.getLogicalSpace=function(){var a=this.conf,d={};Da(u,d);Da(d,a);return na.prototype.getLogicalSpace.call(this)};ta.prototype.getDefaultLayer=function(){var a=ya.getKeys();return ya.getComponent(this._id,this.pId,a.KEY_GROUP)("scroll")};ta.prototype.registerSymbol=void 0;ta.prototype._setConfiguaration=function(){};ta.prototype.attachEventHandlers=function(a){a&&a.scroll&&"function"===typeof a.scroll&&(this.evt.scroll=a.scroll);na.prototype.attachEventHandlers.apply(this,
arguments);return this};ta.prototype.draw=function(){var a,d,k,v,r,t,x,y,D,E,N,F,I,$,K,W;K=this.conf;var Z,pa=ya.getKeys(),la={},ia=ba.get("config","animationObj"),oa=ia.animObj,na=ia.dummyObj;k={};var ja=ia.duration;1===arguments.length?(K=arguments[0],a=K.x,d=K.y,x=K.parentLayer,r=!!K.sepLayer):(a=arguments[0],d=arguments[1],r=arguments[2],K&&r?Da(r,K):r={},x=r.parentLayer,r=!!r.sepLayer);Da(u,k);K.isHorizontal?delete k.width:delete k.height;Da(k,K);d+=K.padding;k=K.height;v=K.width;t=K.isHorizontal;
W=K.startPercent;y=K.scrollRatio;D=K.showButtons;E=K.displayFlat;N=K.fullCanvasWidth;F=K.windowedCanvasWidth;I=K.color;$=K.roundEdges;la["scroll-repaint"]=[a,d,v,k];x=x?x:this.getDefaultLayer();Z=ya.getComponent(this._id,this.pId,pa.KEY_RECT);x=r?Z("scroll-child"):x;Z=ya.getComponent(this._id,this.pId,pa.KEY_SCROLLER);this.node=Z(a,d,v,k,t,{scrollPosition:K.scrollPosition||Aa(W,0),displayStyleFlat:E,showButtons:D},x).data("fullCanvasWidth",N).data("windowedCanvasWidth",F).attr({"scroll-ratio":y,fill:I,
r:$&&2||0}).scroll(this.evt.scroll);ya.getCreationStatus()||(this.node.undrag(),this.node.animateWith(na,oa,la,ja,ia.animType),this.node.attr({"scroll-display-style":E?"flat":"3d","scroll-position":K.scrollPosition||Aa(W,0)}).scroll(this.evt.scroll));return this.node};ia.POSITION_TOP="top";ia.POSITION_BOTTOM="bottom";ia.prototype=Object.create(na.prototype);ia.prototype.constructor=ia;ia.allNodes=[];ia.prototype.getListRefernce=function(){return this.listContainerManager};ia.prototype.attachEventHandler=
function(a){var d=this.evt;if(a=a.tooltext)d.tooltext=a};ia.prototype.getLogicalSpace=function(){var a=this.listContainerManager.getFirstContainer().atomicLists;return a&&0===a.length?{width:0,height:0}:na.prototype.getLogicalSpace.call(this)};ia.prototype.draw=function(){var a=this.listContainerManager.getFirstContainer().atomicLists;if(a&&0===a.length)return this.hide(),{getBBox:function(){return{width:0,height:0}}};a=na.prototype.draw.apply(this,arguments);ia.allNodes.push(this.node);return a};
ia.prototype.dispose=function(){this.listContainerManager&&this.listContainerManager.dispose();this.listContainerManager=void 0;na.prototype.dispose.call(this)};Ia.prototype.addSymbol=function(a,d){var k=this.symbolList;d?k.unshift(a):k.push(a)};Ia.prototype.setConfiguaration=function(a){var d=a.buttons;a=a.group;d&&Da(d,this.btnConfig);a&&Da(a,this.groupConfig)};Ia.prototype.draw=function(a,d,k){var u=this.preId,r=this.symbolList,t,v,x=this.groupConfig,y=this.btnConfig,E=d.x,D=d.y,F=0,I=0,$=Number.NEGATIVE_INFINITY;
t=ya.getKeys();u=this.id=u.toString()+k;K.toolbarGroup=K.toolbar||{};k=ya.getComponent(this.id,this.pId,t.KEY_GROUP);a=k("toolbar-group"+u,a).trackTooltip(!0);k=ya.getComponent(this.id,this.pId,t.KEY_RECT);u=this.groupRect=k(a).attr({height:0,width:0,x:E,y:D});E+=x.hPadding;D+=x.vPadding;I+=x.hPadding;F+=x.vPadding;t=0;for(k=r.length;t<k;t++)v=r[t],v._setConfiguaration(y),v=v.draw(E,D,{parentLayer:a}),v=v.getBBox(),$<v.height&&($=v.height),E+=v.width+(v=y.spacing);I+=E+x.hPadding-d.x-v-x.offsetAdjustment;
F+=$+x.vPadding+x.offsetAdjustment;isFinite(F)||(F=0);isFinite(I)||(I=0);u.attr({height:F,width:I}).attr({fill:x.fill,r:x.radius,stroke:x.borderColor,"stroke-width":x.borderThickness});v=u.getBBox();return{height:v.height,width:v.width}};Ia.prototype.getLogicalSpace=function(){var a=this.symbolList,d,k,u,v=0,t=0,x=Number.NEGATIVE_INFINITY,y=0;k=0;for(u=a.length;k<u;k++)d=a[k],d._setConfiguaration(this.btnConfig),d=d.getLogicalSpace(),t+=d.width+this.btnConfig.spacing,y+=d.width,x=x<d.height?d.height:
x;if(!y)return{width:0,height:0};x!==Number.NEGATIVE_INFINITY&&t&&(t-=this.btnConfig.spacing-2*this.groupConfig.hPadding-this.groupConfig.offsetAdjustment,v=x+2*this.groupConfig.vPadding+this.groupConfig.offsetAdjustment);return{width:t,height:v}};Ia.prototype.dispose=function(){for(var a=this.symbolList,d=0,k=a.length;d<k;d++)a[d].dispose();a.length=0;this.groupRect.remove()};Ka.prototype.getId=function(){return this.id};Ka.prototype.addComponent=function(a){this.componentGroups.push(a)};Ka.prototype.draw=
function(a,d){var k=this.componentGroups,u,v,t,x;x=this.id;var y=a,D=d,E,N=this.toolbarConfig,F,I=Number.NEGATIVE_INFINITY;v=ya.getKeys();K.toolbar=K.toolbar||{};E=ya.getComponent(this.id,this.pId,v.KEY_GROUP,!0);this.group=x=E(x);E=ya.getComponent(this.id,this.pId,v.KEY_RECT,!0);E=this.toolbarRect=E(x).attr({height:0,width:0,x:y,y:D});y+=N.hPadding;D+=N.vPadding;v=0;for(t=k.length;v<t;v++)u=k[v],F=u.groupConfig.spacing||1,u=u.draw(x,{x:y,y:D},v),y+=u.width+F,I=I>u.height?I:u.height;k=I;y=y-F-N.hPadding-
a;isFinite(k)||(k=0);isFinite(y)||(y=0);E.attr({height:k+=2*N.vPadding,width:y+=2*N.hPadding}).attr({fill:N.fill,r:N.radius,stroke:N.borderColor,"stroke-width":N.borderThickness});return{height:k,width:y}};Ka.prototype.getLogicalSpace=function(){var a=this.componentGroups,d,u,v,r=d=0,t=Number.NEGATIVE_INFINITY,x,y=0;d=0;for(u=a.length;d<u;d++)v=a[d],x=v.getLogicalSpace(),v=v.groupConfig.spacing||1,r+=x.width+v,y+=x.width,t=t<x.height?x.height:t;if(!y)return{width:0,height:0};r-=v-2*this.toolbarConfig.hPadding;
d=t+2*this.toolbarConfig.vPadding;return{width:r,height:d}};Ka.prototype.dispose=function(){for(var a=this.componentGroups,d=0,u=a.length;d<u;d++)a[d].dispose();a.length=0;this.toolbarRect.remove();ya.emptyPool(this.pId)};return{init:function(a){K=a.graphics;ba=a.chart;cb=a.components},HorizontalToolbar:Ka,ComponentGroup:Ia,Symbol:na,CheckboxSymbol:oa,Scroller:ta,SymbolWithContext:ia,getInstanceById:function(a){return Ja[a]}}}();FusionCharts.register("component",["toolbox","toolbox",{onceInitialized:!1,
ALIGNMENT_HORIZONTAL:0,ALIGNMENT_VERTICAL:1,POSITION_TOP:0,POSITION_RIGHT:1,POSITION_BOTTOM:2,POSITION_LEFT:3,init:function(a){if(this.onceInitialized)return this.configure(),this._iCount;Z.init(a);this._options=a;this._chart=a.chart;this._iCount=++x;this.configure();this.onceInitialized=!0;return this._iCount},configure:function(){var a=this._chart.jsonData.chart,d;Z.init(this._options);y.scale=Aa(a.toolbarbuttonscale,1.15);y.width=Aa(a.toolbarbuttonwidth,15);y.height=Aa(a.toolbarbuttonheight,15);
y.radius=Aa(a.toolbarbuttonradius,2);y.spacing=Aa(a.toolbarbuttonspacing,5);y.fill=ja(Ia(a.toolbarbuttoncolor,"ffffff"));y.labelFill=ja(Ia(a.toolbarlabelcolor,"cccccc"));y.symbolFill=ja(Ia(a.toolbarsymbolcolor,"ffffff"));y.hoverFill=Ia(a.toolbarbuttonhovercolor);y.stroke=ja(Ia(a.toolbarbuttonbordercolor,"bbbbbb"));y.symbolStroke=ja(Ia(a.toolbarsymbolbordercolor,"9a9a9a"));y.strokeWidth=Aa(a.toolbarbuttonborderthickness,1);y.symbolStrokeWidth=Aa(a.toolbarsymbolborderthickness,1);d=y.symbolPadding=
Aa(a.toolbarsymbolpadding,5);y.symbolHPadding=Aa(a.toolbarsymbolhpadding,d);y.symbolVPadding=Aa(a.toolbarsymbolvpadding,d);u.color=a.scrollcolor&&ja(a.scrollcolor);u.padding=Aa(a.scrollpadding,0);u.height=Aa(a.scrollheight,12);u.width=Aa(a.scrollwidth,12);u.displayFlat=Aa(a.flatscrollbars,0);u.scrollBar3DLighting=Aa(a.scrollbar3dlighting,1);u.startPercent=Math.min(1,Math.max(0,parseFloat(a.scrolltoend)||0));u.showButtons=!!Aa(a.scrollshowbuttons,1);u.buttonPadding=Aa(a.scrollbtnpadding,0);Ba.baseFontFamily=
Ia(a.basefont,"Verdana,sans");Ba.baseFontSize=Aa(a.basefontsize,10);Ba.baseFontColor=Ia(a.basefontcolor,"595959")},getAPIInstances:function(a){var d=this._chart,u={};switch(a){case this.ALIGNMENT_HORIZONTAL:u.Toolbar=Z.HorizontalToolbar}ya.init(d.components,this._iCount);u.ComponentGroup=Z.ComponentGroup;u.Symbol=Z.Symbol;u.Scroller=Z.Scroller;u.SymbolWithContext=Z.SymbolWithContext;u.SymbolStore=la;u.CheckboxSymbol=Z.CheckboxSymbol;return u},getDefaultConfiguration:function(){return y},clean:function(){ya.hideRecursive(this._iCount)}}])}]);
FusionCharts.register("module",["private","modules.renderer.js-powercharts",function(){var I=this,v=I.hcLib,Da=v.Raphael,Fa="VML"===Da.type,oa=I.window,Ka=oa.Image,Oa=oa.document,ta=v.preDefStr,ja=ta.colors.B90000,pa=ta.line,xa=ta.column,Aa=ta.bar,Ia=ta.volume,y=v.BLANKSTRING,u=v.BLANKSTRING,Ba=v.parseTooltext,d=v.pluck,F=v.getValidValue,a=v.pluckNumber,la=v.getFirstValue,Z=v.parseUnsafeString,W=v.extend2,ua=v.getDashStyle,x=v.toRaphaelColor,ya=v.toPrecision,D=v.hasSVG,nb=v.isIE,$=v.regex.dropHash,
na=v.HASHSTRING,Tb=v.hashify,ta=v.setAttribDefs,Pb=v.parseConfiguration,ia=v.attrTypeNum,Zb=function(b,g){var e;b||(b={});for(e in g)b[e]=g[e];return b},Jb=v.COMMASPACE,Ja=v.chartPaletteStr={chart2D:{bgColor:"bgColor",bgAlpha:"bgAlpha",bgAngle:"bgAngle",bgRatio:"bgRatio",canvasBgColor:"canvasBgColor",canvasBaseColor:"canvasBaseColor",divLineColor:"divLineColor",legendBgColor:"legendBgColor",legendBorderColor:"legendBorderColor",toolTipbgColor:"toolTipbgColor",toolTipBorderColor:"toolTipBorderColor",
baseFontColor:"baseFontColor",anchorBgColor:"anchorBgColor"},chart3D:{bgColor:"bgColor3D",bgAlpha:"bgAlpha3D",bgAngle:"bgAngle3D",bgRatio:"bgRatio3D",canvasBgColor:"canvasBgColor3D",canvasBaseColor:"canvasBaseColor3D",divLineColor:"divLineColor3D",divLineAlpha:"divLineAlpha3D",legendBgColor:"legendBgColor3D",legendBorderColor:"legendBorderColor3D",toolTipbgColor:"toolTipbgColor3D",toolTipBorderColor:"toolTipBorderColor3D",baseFontColor:"baseFontColor3D",anchorBgColor:"anchorBgColor3D"}},Ua=v.each,
Fb=v.addEvent,jb=v.removeEvent,cb=v.getTouchEvent,K=v.componentDispose,ba=function(b){return void 0!==b&&null!==b},p="rgba(192,192,192,"+(nb?.002:1E-6)+")",n=v.TOUCH_THRESHOLD_PIXELS,k=v.CLICK_THRESHOLD_PIXELS,w=8===oa.document.documentMode?"visible":u,r=v.BGRATIOSTRING,t=Math,T=t.sin,da=t.cos,ga=t.round,E=t.min,N=t.max,Ca=t.abs,Ub=t.PI,cc=t.ceil,Vb=t.floor,lc=t.sqrt,mc=t.pow,dc=Ub/180,qb=v.hasTouch,Pa=qb?n:k,Ha=v.getFirstColor,ec=v.setLineHeight,hb=v.pluckFontSize,Za=v.getFirstAlpha,nc=v.graphics.getDarkColor,
ob=v.graphics.getLightColor,ea=v.graphics.convertColor,Wb=v.POSITION_TOP,Qb=v.POSITION_BOTTOM,fc=v.POSITION_RIGHT,gc=v.POSITION_LEFT,oc=v.bindSelectionEvent,M=v.chartAPI,pc=v.graphics.mapSymbolName,Xb=v.COMMASTRING,La=v.HUNDREDSTRING,Rb=v.getMouseCoordinate,n=!/fusioncharts\.com$/i.test(oa.location.hostname),za=v.plotEventHandler,hc=I.xssEncode,Cb=v.SHAPE_RECT,k=v.graphics,qc=k.parseColor,rc=k.getValidColor,Sb=function(){this.data("move",!1);clearTimeout(this._longpressactive);delete this._longpressactive},
sc=v.createElement;v.eventList.chartupdated="FC_ChartUpdated";v.eventList.dataposted="FC_DataPosted";v.eventList.dataposterror="FC_DataPostError";v.eventList.datarestored="FC_DataRestored";I.addEventListener("rendered",function(b){b=b.sender;var g=b.__state,e=b.jsVars&&b.jsVars.instanceAPI;!g.listenersAdded&&e&&"function"===typeof e.getCollatedData&&(b.addEventListener(["chartupdated","dataupdated","rendered"],function(b){delete b.sender.__state.hasStaleData}),g.listenersAdded=!0)});M("spline",{friendlyName:"Spline Chart",
standaloneInit:!0,singleseries:!0,creditLabel:n,defaultDatasetType:"msspline",defaultPlotShadow:1,applicableDSList:{spline:!0},getSplineExtremities:function(b,g,e,c,h){var f=[],a=!1;c=c||0;for(h=h||{max:Number.MIN_VALUE,min:Number.MAX_VALUE};c<b.length;++c)if(a)if(isNaN(b[c].config.setValue)||null===b[c].config.setValue){if(!e)break}else f.push({index:c,y:b[c].config.setValue});else isNaN(b[c].config.setValue)||null===b[c].config.setValue||(a=!0,f.push({index:c,y:b[c].config.setValue}));2<f.length&&
this.evalSplineExtremities(f,g,h);c<b.length&&!e&&this.getSplineExtremities(b,g,e,c,h);return h},evalSplineExtremities:function(b,g,e){var c={},h,f,a;for(f=0;f<b.length;++f)h=b[f].index,c["D"+h]=0;for(h=0;10>h;++h)for(f=0;f<b.length;++f)a=0===f?(3*(b[f+1].y-b[f].y)-c["D"+b[f+1].index])/2:f===b.length-1?(3*(b[f].y-b[f-1].y)-c["D"+b[f-1].index])/2:(3*(b[f+1].y-b[f-1].y)-c["D"+b[f+1].index]-c["D"+b[f-1].index])/4,c["D"+b[f].index]=a;g=ga(g/(b.length-1));for(f=1;f<b.length;++f)this.getSegmentExtremities(f,
b,c,e,g)},getSegmentExtremities:function(b,g,e,c,h){var f,a,l,m,d;f=e["D"+g[0].index];a=e["D"+g[b].index];e=g[0].y;l=3*(g[b].y-g[0].y)-2*f-a;b=2*(g[0].y-g[b].y)+f+a;g=c.max;a=c.min;for(m=0;m<=h;m++)d=m/h,d=e+f*d+l*d*d+b*d*d*d,d<a&&(a=d),d>g&&(g=d);c.max=g;c.min=a}},M.sscartesian,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0});M("splinearea",{friendlyName:"Spline Area Chart",standaloneInit:!0,hasLegend:!1,singleseries:!0,creditLabel:n,defaultDatasetType:"mssplinearea",defaultPlotShadow:0,
anchorAlpha:"100"},M.spline);M("msspline",{standaloneInit:!0,friendlyName:"Multi-series Spline Chart",creditLabel:n,defaultDatasetType:"msspline",applicableDSList:{msspline:!0},defaultPlotShadow:1,getSplineExtremities:M.spline.getSplineExtremities,evalSplineExtremities:M.spline.evalSplineExtremities,getSegmentExtremities:M.spline.getSegmentExtremities},M.mscartesian);M("mssplinearea",{friendlyName:"Multi-series Spline Area Chart",standaloneInit:!0,creditLabel:n,defaultDatasetType:"mssplinearea",
defaultPlotShadow:0},M.msspline);M("mssplinedy",{friendlyName:"Multi-series Dual Y-Axis Spline Chart",standaloneInit:!0,creditLabel:n,isDual:!0,defaultDatasetType:"msspline",applicableDSList:{msspline:!0},getSplineExtremities:M.spline.getSplineExtremities,evalSplineExtremities:M.spline.evalSplineExtremities,getSegmentExtremities:M.spline.getSegmentExtremities},M.msdybasecartesian);M("msstepline",{friendlyName:"Multi-series Step Line Chart",standaloneInit:!0,creditLabel:n,defaultDatasetType:"msstepline",
defaultPlotShadow:1,applicableDSList:{msstepline:!0}},M.mscartesian);M("multiaxisline",{friendlyName:"Multi-axis Line Chart",standaloneInit:!0,creditLabel:n,defaultDatasetType:"multiaxisline",defaultPlotShadow:1,axisPaddingLeft:0,axisPaddingRight:0,applicableDSList:{LINE:!0},_createDatasets:function(){var b=this.components,g=this.config,e=this.jsonData,c=e.axis,h,f,a,l,m=0,A,B,q=this.defaultDatasetType,P=this.applicableDSList,ra=b.legend.components.items||[],V,pb,p,k,Gb=this.isStacked,z,X={},C=0,
n;if(c){h=c.length;this.config.categories=e.categories&&e.categories[0].category;e=b.dataset||(b.dataset=[]);l=e.length;n=g.axisDataSetMap=[];for(f=0;f<h;f++)if(a=c[f].dataset,n[f]=[],a)for(B=a.length,m+=B,g=0;g<B;g++)if(k=a[g],k.seriesname&&(k.seriesname=Z(k.seriesname)),A=k.parentyaxis||u,pb=(pb=this.isDual&&"s"===A.toLowerCase()?d(k.renderas,this.sDefaultDatasetType):d(k.renderas,q))&&pb.toLowerCase(),P[pb]||(pb=q),A=FusionCharts.get("component",["dataset",pb]))void 0===X[pb]?X[pb]=0:X[pb]++,z=
"datasetGroup_"+pb,p=FusionCharts.register("component",["datasetGroup",pb]),V=b[z],p&&!V&&(V=b[z]=new p,V.chart=this,V.init()),e[C]?(A=e[C],V=A.JSONData,V=V.data?V.data.length:0,pb=k.data?k.data.length:0,V>pb&&A.removeData(pb-1,V-pb,!1),A.JSONData=k,A.index=f,A.axisIndex=f,A.configure(),n[f].push(C),C+=1):(A=new A,e.push(A),A.chart=this,A.index=f,A.axisIndex=f,n[f].push(C),C+=1,V&&(Gb?V.addDataSet(A,0,X[pb]):V.addDataSet(A,X[pb],0)),A.init(k));if(l>m){b=l-m;for(g=m;g<l;g++)K.call(e[g]);e.splice(m,
b);ra.splice(m,b)}}else this.setChartMessage()},_createAxes:function(){var b=this.components,g=FusionCharts.register("component",["axis","cartesian"]);b.yAxis=[];b.xAxis=[];b.xAxis[0]=b=new g;b.chart=this;b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.components,g=this.config,e=b.colorManager,c=b.numberFormatter,h=this.jsonData,f=h.chart,s,l,m=this.is3d;l=m?Ja.chart3D:Ja.chart2D;var A=FusionCharts.register("component",["axis","cartesian"]),B,q,P,ra,V,u,k,p,Gb,z,X,C;s=!1;var n=
0;s={outCanfontFamily:d(f.outcnvbasefont,f.basefont,"Verdana,sans"),outCanfontSize:hb(f.outcnvbasefontsize,f.basefontsize,10),outCancolor:d(f.outcnvbasefontcolor,f.basefontcolor,e.getColor(l.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:f.xaxisnamepadding,axisValuePadding:f.labelpadding,axisNameFont:f.xaxisnamefont,axisNameFontSize:f.xaxisnamefontsize,axisNameFontColor:f.xaxisnamefontcolor,axisNameFontBold:f.xaxisnamefontbold,axisNameFontItalic:f.xaxisnamefontitalic,axisNameBgColor:f.xaxisnamebgcolor,
axisNameBorderColor:f.xaxisnamebordercolor,axisNameAlpha:f.xaxisnamealpha,axisNameFontAlpha:f.xaxisnamefontalpha,axisNameBgAlpha:f.xaxisnamebgalpha,axisNameBorderAlpha:f.xaxisnameborderalpha,axisNameBorderPadding:f.xaxisnameborderpadding,axisNameBorderRadius:f.xaxisnameborderradius,axisNameBorderThickness:f.xaxisnameborderthickness,axisNameBorderDashed:f.xaxisnameborderdashed,axisNameBorderDashLen:f.xaxisnameborderdashlen,axisNameBorderDashGap:f.xaxisnameborderdashgap,useEllipsesWhenOverflow:f.useellipseswhenoverflow,
divLineColor:d(f.vdivlinecolor,f.divlinecolor,e.getColor(l.divLineColor)),divLineAlpha:d(f.vdivlinealpha,f.divlinealpha,m?e.getColor("divLineAlpha3D"):e.getColor("divLineAlpha")),divLineThickness:a(f.vdivlinethickness,f.divlinethickness,1),divLineIsDashed:Boolean(a(f.vdivlinedashed,f.vdivlineisdashed,f.divlinedashed,f.divlineisdashed,0)),divLineDashLen:a(f.vdivlinedashlen,f.divlinedashlen,4),divLineDashGap:a(f.vdivlinedashgap,f.divlinedashgap,2),showAlternateGridColor:a(f.showalternatevgridcolor,
0),alternateGridColor:d(f.alternatevgridcolor,e.getColor("altVGridColor")),alternateGridAlpha:d(f.alternatevgridalpha,e.getColor("altVGridAlpha")),numDivLines:f.numvdivlines,labelFont:f.labelfont,labelFontSize:f.labelfontsize,labelFontColor:f.labelfontcolor,labelFontBold:f.labelfontbold,labelFontItalic:f.labelfontitalic,labelFontAlpha:f.labelalpha,maxLabelHeight:f.maxlabelheight,axisName:f.xaxisname,axisMinValue:f.xaxisminvalue,axisMaxValue:f.xaxismaxvalue,setAdaptiveMin:f.setadaptivexmin,adjustDiv:f.adjustvdiv,
labelDisplay:f.labeldisplay,showLabels:f.showlabels,rotateLabels:f.rotatelabels,slantLabel:a(f.slantlabels,f.slantlabel),labelStep:a(f.labelstep,f.xaxisvaluesstep),showAxisValues:a(f.showxaxisvalues,f.showxaxisvalue),showLimits:f.showvlimits,showDivLineValues:a(f.showvdivlinevalues,f.showvdivlinevalues),showZeroPlane:f.showvzeroplane,zeroPlaneColor:f.vzeroplanecolor,zeroPlaneThickness:f.vzeroplanethickness,zeroPlaneAlpha:f.vzeroplanealpha,showZeroPlaneValue:f.showvzeroplanevalue,trendlineColor:f.trendlinecolor,
trendlineToolText:f.trendlinetooltext,trendlineThickness:f.trendlinethickness,trendlineAlpha:f.trendlinealpha,showTrendlinesOnTop:f.showtrendlinesontop,showAxisLine:a(f.showxaxisline,f.showaxislines,f.drawAxisLines,0),axisLineThickness:a(f.xaxislinethickness,f.axislinethickness,1),axisLineAlpha:a(f.xaxislinealpha,f.axislinealpha,100),axisLineColor:d(f.xaxislinecolor,f.axislinecolor,"#000000")};l={outCanfontFamily:d(f.outcnvbasefont,f.basefont,"Verdana,sans"),outCanfontSize:hb(f.outcnvbasefontsize,
f.basefontsize,10),outCancolor:d(f.outcnvbasefontcolor,f.basefontcolor,e.getColor(l.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),useEllipsesWhenOverflow:f.useellipseswhenoverflow,showAlternateGridColor:0,axisNameFont:f.yaxisnamefont,axisNameFontSize:f.yaxisnamefontsize,axisNameFontColor:f.yaxisnamefontcolor,axisNameFontBold:f.yaxisnamefontbold,axisNameFontItalic:f.yaxisnamefontitalic,axisNameBgColor:f.yaxisnamebgcolor,axisNameBorderColor:f.yaxisnamebordercolor,axisNameAlpha:f.yaxisnamealpha,
axisNameFontAlpha:f.yaxisnamefontalpha,axisNameBgAlpha:f.yaxisnamebgalpha,axisNameBorderAlpha:f.yaxisnameborderalpha,axisNameBorderPadding:f.yaxisnameborderpadding,axisNameBorderRadius:f.yaxisnameborderradius,axisNameBorderThickness:f.yaxisnameborderthickness,axisNameBorderDashed:f.yaxisnameborderdashed,axisNameBorderDashLen:f.yaxisnameborderdashlen,axisNameBorderDashGap:f.yaxisnameborderdashgap};m=b.xAxis[0];m.setCommonConfigArr(s,!1,!1,!1);m.configure();g.axesArr={leftAxes:[],rightAxes:[],axesMap:[],
checkBox:[],leftSideSelected:!1};m=g.axesArr.leftAxes=[];u=g.axesArr.rightAxes=[];k=g.axesArr.axesMap=[];B=h.axis||[];q=0;for(P=B.length;q<P;q+=1){b.yAxis[q]?h=b.yAxis[q]:(h=b.yAxis[q]=new A,h.chart=this,h.init());V=B[q];s=!1;C=0;for(ra=V.dataset?V.dataset.length:0;C<ra;C+=1)0!==Number(V.dataset[C].visible)&&(s=!0);C=a(V.showaxis,1);ra=e.getPlotColor(q);p=d(V.color,f.axiscolor,ra);ea(p,100);Gb=a(V.divlinethickness,f.divlinethickness,1);z=a(V.tickwidth,f.axistickwidth,2);X=a(V.axislinethickness,f.axislinethickness,
2);(ra=!a(V.axisonleft,1))?(k.push({side:"r",index:u.length,showAxis:C,checkBoxChecked:s}),u.push({index:q,showAxis:C,checkBoxChecked:s})):(C&&(g.axesArr.leftSideSelected=!0),k.push({side:"l",index:m.length,showAxis:C,checkBoxChecked:s}),m.push({index:q,showAxis:C,checkBoxChecked:s}));l.labelStep=a(V.yaxisvaluesstep,V.yaxisvaluestep,f.yaxisvaluesstep,f.yaxisvaluestep);l.axisMaxValue=V.maxvalue;l.axisMinValue=V.minvalue;l.setAdaptiveMin=a(V.setadaptiveymin,f.setadaptiveymin);l.numDivLines=a(V.numdivlines,
f.numdivlines,4);l.adjustDiv=a(V.adjustdiv,f.adjustdiv);l.showAxisValues=a(V.showyaxisvalues,V.showyaxisvalue,f.showyaxisvalues,f.showyaxisvalue,1);l.showLimits=a(V.showlimits,f.showyaxislimits,f.showlimits,l.showAxisValues);l.showDivLineValues=a(V.showdivlinevalue,f.showdivlinevalues,V.showdivlinevalues,l.showAxisValues);l.showZeroPlane=a(V.showzeroplane,f.showzeroplane);l.showZeroPlaneValue=a(V.showzeroplanevalue,f.showzeroplanevalue);l.zeroPlaneColor=V.zeroplanecolor;l.zeroPlaneThickness=a(V.zeroplanethickness,
V.divlinethickness,g.zeroplanethickness,2);l.zeroPlaneAlpha=a(V.zeroplanealpha,V.divlinealpha,g.zeroplanealpha);l.showZeroPlaneOnTop=g.showzeroplaneontop;l.divLineColor=d(V.divlinecolor,p);l.divLineAlpha=a(V.divlinealpha,f.divlinealpha,e.getColor("divLineAlpha"),100);l.divLineThickness=Gb;l.divLineIsDashed=Boolean(a(V.divlinedashed,V.divlineisdashed,f.divlinedashed,f.divlineisdashed,0));l.divLineDashLen=a(V.divlinedashlen,f.divlinedashlen,4);l.divLineDashGap=a(V.divlinedashgap,f.divlinedashgap,2);
l.showAxisLine=1;l.axisLineThickness=X;l.axisLineAlpha=100;l.axisLineColor=p;l.tickLength=z;l.tickColor=p;l.tickAlpha=100;l.tickWidth=X;l.axisName=V.title;l.rotateAxisName=1;h.setCommonConfigArr(W({},l),!0,!1,ra);h.configure();c.parseMLAxisConf(V,q);0===a(V.showaxis)?(h.hide(),h.setAxisConfig({axisIndex:q,drawAxisLineWRTCanvas:!1,drawLabels:!1,drawPlotlines:!1,drawAxisLine:!1,drawPlotBands:!1,drawAxisName:!1,drawTrendLines:!1,drawTrendLabels:!1,drawTick:!1,drawTickMinor:!1})):(h.show(),h.setAxisConfig({axisIndex:q,
drawAxisLineWRTCanvas:!1,drawLabels:!0,drawPlotlines:!0,drawAxisLine:!0,drawPlotBands:!0,drawAxisName:!0,drawTrendLines:!0,drawTrendLabels:!0,drawTick:!0,drawTickMinor:!0}));n+=1}q=n;for(P=b.yAxis.length;q<P;q+=1)b.yAxis[q].hide()},_setAxisLimits:function(){var b=this.components,g=this.config.axisDataSetMap,e=b.dataset,b=b.yAxis,c=g.length,h,f=-Infinity,a=Infinity,l,m,d;for(h=0;h<c;h+=1){l=0;for(m=g[h].length;l<m;l+=1)d=e[g[h][l]].getDataLimits(),f=N(f,d.max),a=E(a,d.min);Infinity===a&&(a=0);-Infinity===
f&&(f=a+1);b[h].setDataLimit(f,a);f=-Infinity;a=Infinity}},_spaceManager:function(){var b,g,e=this.config,c=e.axesArr,h=this.components;g=e.legendPosition;var f=h.xAxis,s=h.yAxis,l=this.hasLegend,m=e.yDepth;b=h.legend;var d=e.axesPadding,B=0,q=0,P=e.axisDataSetMap.length,ra,V,u,k=this.jsonData.chart,p=a(k.showborder,this.is3D?0:1),h=h.canvas.config.canvasBorderWidth;ra=e.borderWidth=p?a(k.borderthickness,1):0;var Gb=e.canvasMarginTop,z=e.canvasMarginBottom,X=e.canvasMarginLeft,k=e.canvasMarginRight,
C=e.height,p=e.width;this._allocateSpace({top:ra,bottom:ra,left:ra,right:ra});this._allocateSpace({left:e.canvasMarginLeft,right:e.canvasMarginRight});ra=c.axesMap;V=c.leftAxes;c=c.rightAxes;u="right"===g?.3*e.canvasWidth:.3*e.canvasHeight;!1!==l&&f&&this._allocateSpace(b._manageLegendPosition(u));for(l=0;l<P;l+=1)0!==ra[l].showaxis&&(b=.7*e.canvasWidth,b=s[l].placeAxis(b),s[l]&&this._allocateSpace(b),u=ra[l],"r"===u.side?(c[u.index].width=b.right,B+=d):(V[u.index].width=b.left,q+=d));g=g===Qb?.225*
e.canvasHeight:.225*e.canvasWidth;this._manageChartMenuBar(g);b=.7*e.canvasWidth;b>B+q&&this._allocateSpace({left:q,right:B});g=.6*e.canvasHeight;f[0]&&this._allocateSpace(f[0].placeAxis(g));g=.325*e.canvasHeight;this._getDSspace&&this._allocateSpace(this._getDSspace(g));m&&this._allocateSpace({bottom:m});this._allocateSpace({top:h,bottom:h,left:h,right:h});f=Gb>e.canvasTop?Gb-e.canvasTop:0;m=z>C-e.canvasBottom?z+e.canvasBottom-C:0;B=X>e.canvasLeft?X-e.canvasLeft:0;q=k>p-e.canvasRight?k+e.canvasRight-
p:0;this._allocateSpace({top:f,bottom:m,left:B,right:q});e.actualCanvasMarginTop=f;e.actualCanvasMarginLeft=B;e.actualCanvasMarginRight=q;e.actualCanvasMarginBottom=m},_postSpaceManagement:function(){var b=this.config,g=this.components,e=g.xAxis&&g.xAxis[0],c=g.legend,h=b.xDepth,f=g.canvas.config,g=f.canvasBorderWidth,a=f.canvasPadding,l=f.canvasPaddingLeft,f=f.canvasPaddingRight;e&&e.setAxisDimention({x:b.canvasLeft+(h||0)+N(l,a),y:b.canvasBottom+(b.shift||0)+g,opposite:b.canvasTop-g,axisLength:b.canvasWidth-
(h||0)-N(l,a)-N(f,a)});e&&e.shiftLabels(-h,0);c.postSpaceManager()},_resuffelAxis:function(){var b=this.data("axisDetails"),g=b.iapi,e=g.config.axesArr,c,h,f,a,l;c=e.leftAxes;h=e.rightAxes;if("l"===b.position){for(a=c.length-1;a>b.index;a--)if(c[a].showAxis){f=a;l=b.index;break}void 0!==f&&(b=W({},c[l]),c[l]=W({},c[f]),c[f]=W({},b));if(e.leftSideSelected&&void 0===f)return;e.leftSideSelected=!0}else{for(a=0;a<b.index;a++)if(h[a].showAxis){f=a;l=b.index;break}void 0!==f&&(b=W({},h[l]),h[l]=W({},h[f]),
h[f]=W({},b));if(!e.leftSideSelected&&void 0===f)return;e.leftSideSelected=!1}g._drawAxis(!0)},_dolegendInteraction:function(b,g){var e=g.components.dataset,c=g.components.legend,h;if(this.checked)for(h in e)e.hasOwnProperty(h)&&(e[h].visible||e[h].axisIndex!==b||e[h].show());else for(h in e)e.hasOwnProperty(h)&&e[h].visible&&e[h].axisIndex===b&&e[h].hide();c.drawLegend()},_drawAxis:function(b){var g=this.config,e=g.axesArr,c=this.components,h=c.yAxis||[],f=c.xAxis||[],a=c.paper,l=g.allowAxisShift,
m=g.allowSelection,d=this.graphics.axisHotElement||[],B=this.graphics.trackerContainer,q=this.graphics.buttonGroup,P=c.canvas.config,ra=P.canvasBorderWidth,V=P.canvasPaddingTop,P=P.canvasPaddingBottom,k=g.axesPadding,ic=this.components.tb,qa=0,Gb=0,z=0,X,C,n,v,t,r,H,J,R,w,Q,y,U,E,L,Y,Sa=!1,N=0,aa,G;R=this.get("config","animationObj");aa=R.animObj;G=R.dummyObj;Q=R.transposeAnimDuration;y=R.animType;R=c.tb||(c.tb=new (FusionCharts.register("component",["toolbox","toolbox"])));R.init({iAPI:this,graphics:this.graphics,
chart:this,components:c});w=c.toolBoxAPI.CheckboxSymbol;t=e.leftAxes;c=e.rightAxes;E=e.checkBox;for(r in E)E.hasOwnProperty(r)&&E[r].checkbox.hide();J={cursor:"col-resize",stroke:p,fill:p,ishot:!0,visibility:!0};for(r=t.length-1;0<=r;--r)if(0!==t[r].showAxis&&(X=g.canvasLeft-ra-qa-k,C=g.canvasTop+V,n=g.canvasHeight-V-P,v=t[r].width,U=t[r].index,H=h[U],H.setAxisDimention({x:X,y:C,opposite:g.canvasRight+ra,axisLength:n}),qa+=v+k,!Sa&&e.leftSideSelected?(H.setAxisConfig({isActive:!0,axisNameAlignCanvas:!0,
drawAxisNameFromBottom:!0}),Sa=!0):H.setAxisConfig({isActive:!1,axisNameAlignCanvas:!0,drawAxisNameFromBottom:!0}),m&&(E[U]?(H=E[U],L=X-v-E[U].checkboxPrePos.x,Y=C+n+4-E[U].checkboxPrePos.y,H.checkbox.show(),H.checkbox.attachEventHandlers({click:{fn:this._dolegendInteraction,args:[U,this]}}),Q?H.checkbox.node.animateWith(G,aa,{transform:"t"+L+","+Y},Q,y):H.checkbox.node.attr({transform:"t"+L+","+Y})):(H=E[U]={},H.checkbox=new w(u,!0,N++,ic.pId),H.checkbox.conf=R.getDefaultConfiguration(),H.checkbox.attachEventHandlers({click:{fn:this._dolegendInteraction,
args:[U,this]}}),H.checkbox.draw(X-v,C+n+4,{parentLayer:q}),H.checkboxPrePos={x:X-v,y:C+n+4}),H.checkbox.node.attr({stroke:x({color:g.checkBoxColor,alpha:100})}),H.checkbox.node.attr({"stroke-width":[1,2]}),g.axisConfigured&&(t[r].checkBoxChecked?H.checkbox.check():H.checkbox.uncheck())),l)){J.x=X-v;J.y=C;J.width=v;J.height=n;if(d[z])for(n=d[z].attr(J),n.show(),X=0,C=n.events.length;X<C;X++)n.events[X].unbind(),n.events.splice(X,1),--C;else n=d[z]=a.rect(J,B);n.data("axisDetails",{iapi:this,position:"l",
index:r});qb?n.touchstart(this._resuffelAxis):n.mousedown(this._resuffelAxis);z+=1}r=0;for(qa=c.length;r<qa;r+=1)if(0!==c[r].showAxis&&(U=c[r].index,H=h[U],X=g.canvasRight+ra+Gb+k,C=g.canvasTop+V,n=g.canvasHeight-V-P,v=c[r].width,H.setAxisDimention({x:X,y:C,opposite:g.canvasLeft-ra,axisLength:n}),Gb+=c[r].width+k,Sa||e.leftSideSelected?H.setAxisConfig({isActive:!1,axisNameAlignCanvas:!0,drawAxisNameFromBottom:!0}):(H.setAxisConfig({isActive:!0,axisNameAlignCanvas:!0,drawAxisNameFromBottom:!0}),Sa=
!0),t=H.getAxisData("axisNamePadding"),m&&(E[U]?(H=E[U],L=X-v-H.checkboxPrePos.x,Y=C+n+4-H.checkboxPrePos.y,H.checkbox.show(),H.checkbox.attachEventHandlers({click:{fn:this._dolegendInteraction,args:[U,this]}}),Q?H.checkbox.node.animateWith(G,aa,{transform:"t"+L+","+Y},Q,y):H.checkbox.node.attr({transform:"t"+L+","+Y})):(H=E[U]={},H.checkbox=new w(u,!0,N++,ic.pId),H.checkbox.conf=R.getDefaultConfiguration(),H.checkbox.attachEventHandlers({click:{fn:this._dolegendInteraction,args:[U,this]}}),H.checkbox.draw(X+
t,C+n+4,{parentLayer:q}),H.checkboxPrePos={x:X-v,y:C+n+4}),H.checkbox.node.attr({stroke:x({color:g.checkBoxColor,alpha:100})}),H.checkbox.node.attr({"stroke-width":[1,2]}),g.axisConfigured&&(c[r].checkBoxChecked?H.checkbox.check():H.checkbox.uncheck())),l)){J.x=X;J.y=C;J.width=v;J.height=n;if(d[z])for(n=d[z].attr(J),n.show(),X=0,C=n.events.length;X<C;X++)n.events[X].unbind(),n.events.splice(X,1),--C;else n=d[z]=a.rect(J,B);n.data("axisDetails",{iapi:this,position:"r",index:r});qb?n.touchstart(this._resuffelAxis):
n.mousedown(this._resuffelAxis);z+=1}this.graphics.axisHotElement=d;r=z;for(qa=d.length;r<qa;r+=1)d[r].hide();if(!b)for(r=0,qa=f.length;r<qa;r++)f[r].draw();r=0;for(qa=h.length;r<qa;r++)h[r].draw();g.axisConfigured=!1}},M.mscartesian,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0});M("inversemsline",{friendlyName:"Inverted Y-Axis Multi-series Line Chart",standaloneInit:!0,creditLabel:n,defaultDatasetType:pa,defaultPlotShadow:1,applicableDSList:{LINE:!0}},M.msinversecartesian,{zeroplanethickness:1,
zeroplanealpha:40,showzeroplaneontop:0});M("inversemsarea",{friendlyName:"Inverted Y-Axis Multi-series Area Chart",standaloneInit:!0,creditLabel:n,defaultDatasetType:"area",applicableDSList:{area:!0}},M.msinversecartesian);M("inversemscolumn2d",{friendlyName:"Inverted Y-Axis Multi-series Column Chart",standaloneInit:!0,creditLabel:n,defaultDatasetType:xa,applicableDSList:{COLUMN:!0}},M.msinversecartesian);M("logmsline",{standaloneInit:!0,friendlyName:"Multi-series Line Chart",creditLabel:n,defaultDatasetType:pa,
defaultPlotShadow:1,applicableDSList:{LINE:!0}},M.mslog);M("logmscolumn2d",{friendlyName:"Multi-series Log Column Chart",standaloneInit:!0,creditLabel:n,defaultDatasetType:xa,applicableDSList:{COLUMN:!0}},M.mslog);M("logstackedcolumn2d",{friendlyName:"Stacked Log Column Chart",standaloneInit:!0,creditLabel:n,isStacked:!0},M.logmscolumn2d);M("errorbar2d",{friendlyName:"Error Bar Chart",standaloneInit:!0,creditLabel:n,showValues:0,isErrorChart:!0,fireGroupEvent:!0,hasLegend:!0,defaultDatasetType:"errorbar2d",
applicableDSList:{errorbar2d:!0},eiMethods:{}},M.mscartesian);FusionCharts.register("component",["dataset","ErrorBar2D",{configure:function(){var b=this.chart,g=this.config,e=this.JSONData,c=e.data,h=b.config.categories,f=E(h&&h.length,c&&c.length),s=b.jsonData.chart,l=b.components.colorManager,m,A=l.getPlotColor(this.index||this.positionIndex),B=a(e.dashed,s.plotborderdashed),q=a(s.useplotgradientcolor,1),P=v.parseUnsafeString,ra=P(s.yaxisname),V=P(s.xaxisname),k=P(d(s.tooltipsepchar,", ")),p=a(s.seriesnameintooltip,
1),qa=v.parseTooltext,n,z,X,C,r,t,w,y,H,J,R,tb,Q,S,U,D,L,Y,Sa,$b,aa,G,I,K,O,ha,T,ka,M=v.getDashStyle,$=this.components.data,ma=b.components.numberFormatter,W=b.isBar,Z=b.is3D;L=b.isStacked;var va,ca,ba;m={};m=m.dataObj||(m.dataObj={});J=m.chart||(m.chart={});g.legendSymbolColor=A;m=g.showplotborder=a(s.showplotborder,Z?0:1);g.plotDashLen=w=a(s.plotborderdashlen,5);g.plotDashGap=y=a(s.plotborderdashgap,4);g.plotfillAngle=R=a(360-s.plotfillangle,W?180:90);g.plotFillAlpha=tb=d(e.alpha,s.plotfillalpha,
La);g.plotColor=d(e.color,A);g.legendSymbolColor=g.plotColor;g.isRoundEdges=H=a(s.useroundedges,0);g.plotRadius=a(s.useRoundEdges,g.isRoundEdges?1:0);g.plotFillRatio=Q=d(e.ratio,s.plotfillratio);g.plotgradientcolor=S=v.getDefinedColor(s.plotgradientcolor,l.getColor("plotGradientColor"));!q&&(S=u);g.plotBorderAlpha=U=m?d(s.plotborderalpha,tb,La):0;g.plotBorderColor=D=d(s.plotbordercolor,Z?"#ffffff":l.getColor("plotBorderColor"));g.plotBorderThickness=q=a(s.plotborderthickness,1);g.plotBorderDashStyle=
B=B?M(w,y,q):"none";g.showValues=a(e.showvalues,s.showvalues,1);g.valuePadding=a(s.valuepadding,2);g.enableAnimation=va=a(s.animation,s.defaultanimation,1);g.animation=va?{duration:1E3*a(s.animationduration,1)}:!1;J.transposeAnimation=g.transposeAnimation=a(s.transposeanimation,J.transposeAnimation,va);g.transposeAnimDuration=1E3*a(s.transposeanimduration,.2);g.showShadow=H||Z?a(s.showshadow,1):a(s.showshadow,l.getColor("showShadow"));g.showHoverEffect=J=a(s.plothovereffect,s.showhovereffect,void 0);
g.showTooltip=l=a(s.showtooltip,1);g.stack100Percent=va=a(b.stack100percent,s.stack100percent,0);g.definedGroupPadding=N(a(s.plotspacepercent),0);g.plotSpacePercent=N(a(s.plotspacepercent,20)%100,0);g.maxColWidth=a(W?s.maxbarheight:s.maxcolwidth,50);g.showPercentValues=a(s.showpercentvalues,L&&va?1:0);g.showPercentInToolTip=a(s.showpercentintooltip,L&&va?1:0);g.plotPaddingPercent=a(s.plotpaddingpercent);g.rotateValues=a(s.rotatevalues)?270:0;g.placeValuesInside=a(s.placevaluesinside,0);g.includeInLegend=
a(e.includeinlegend,1);g.errorInPercent=ca=a(e.errorinpercent,s.errorinpercent);g.use3DLighting=a(s.use3dlighting,1);g.parentYAxis=va="s"===d(e.parentyaxis&&e.parentyaxis.toLowerCase(),"p")?1:0;$||($=this.components.data=[]);for(ba=0;ba<f;ba++)t=c&&c[ba],L=(C=$[ba])&&C.config,C||(C=$[ba]={graphics:{}}),C.config||(L=$[ba].config={}),L.showValue=a(t.showvalue,g.showValues),L.setValue=C=ma.getCleanValue(t.value),L.setLink=d(t.link),L.toolTipValue=z=ma.dataLabels(C,va),L.setDisplayValue=A=P(t.displayvalue),
L.displayValue=d(A,z),z=a(t.dashed),A=a(t.dashlen,w),n=y=a(t.dashgap,y),L.plotBorderDashStyle=n=1===z?M(A,n,q):0===z?"none":B,A=d(t.color,g.plotColor),tb=d(t.alpha,g.plotFillAlpha),0>C&&!H&&(r=R,R=W?180-R:360-R),L.colorArr=Y=v.graphics.getColumnColor(A+","+S,tb,Q,R,H,D,U.toString(),W?1:0,Z?!0:!1),L.label=z=F(P(d(h[ba].tooltext,h[ba].label))),0!==J&&(Sa=d(t.hovercolor,e.hovercolor,s.plotfillhovercolor,s.columnhovercolor,A),$b=d(t.hoveralpha,e.hoveralpha,s.plotfillhoveralpha,s.columnhoveralpha,tb),
aa=d(t.hovergradientcolor,e.hovergradientcolor,s.plothovergradientcolor,S),!aa&&(aa=u),G=d(t.hoverratio,e.hoverratio,s.plothoverratio,Q),I=a(360-t.hoverangle,360-e.hoverangle,360-s.plothoverangle,R),K=d(t.borderhovercolor,e.borderhovercolor,s.plotborderhovercolor,D),O=d(t.borderhoveralpha,e.borderhoveralpha,s.plotborderhoveralpha,s.plotfillhoveralpha,U,tb),tb=a(t.borderhoverthickness,e.borderhoverthickness,s.plotborderhoverthickness,q),ha=a(t.borderhoverdashed,e.borderhoverdashed,s.plotborderhoverdashed),
T=a(t.borderhoverdashgap,e.borderhoverdashgap,s.plotborderhoverdashgap,w),ka=a(t.borderhoverdashlen,e.borderhoverdashlen,s.plotborderhoverdashlen,y),ha=ha?M(ka,T,tb):n,1==J&&Sa===A&&(Sa=ob(Sa,70)),A=v.graphics.getColumnColor(Sa+","+aa,$b,G,I,H,K,O.toString(),W?1:0,Z?!0:!1),L.setRolloutAttr={fill:Z?[x(Y[0]),!g.use3DLighting]:x(Y[0]),stroke:m&&x(Y[1]),"stroke-width":q,"stroke-dasharray":n},L.setRolloverAttr={fill:Z?[x(A[0]),!g.use3DLighting]:x(A[0]),stroke:m&&x(A[1]),"stroke-width":tb,"stroke-dasharray":ha}),
n=L.toolTipValue,A=F(P(d(t.tooltext,e.plottooltext,s.plottooltext))),L.setErrorValue=Y=ma.getCleanValue(t.errorvalue),L.errorInPercent=a(t.errorinpercent,ca,0),L.errorInPercent&&(L.setErrorValue=Y=a((Y/100*C).toFixed(2))),L.positiveErrorValue=ma.getCleanValue(t.positiveerrorvalue),L.errorInPercent&&L.positiveErrorValue&&(L.positiveErrorValue=a((L.positiveErrorValue/100*C).toFixed(2))),L.negativeErrorValue=ma.getCleanValue(t.negativeerrorvalue),L.errorInPercent&&L.negativeErrorValue&&(L.negativeErrorValue=
a((L.negativeErrorValue/100*C).toFixed(2))),L.errorToolTipValue=Sa=ma.dataLabels(Y,va),L.negativeErrorToolTipValue=ma.dataLabels(L.negativeErrorValue,va),L.positiveErrorToolTipValue=ma.dataLabels(L.positiveErrorValue,va),L.errorPercentValue=$b=ga(Y/C*La*La)/La+"%",l?null===n?t=!1:void 0!==A?(C=[1,2,3,4,5,6,7,99,100,101,102,120,121],z={yaxisName:ra,xaxisName:V,formattedValue:n,errorValue:Y,errorDataValue:Sa,errorPercentValue:$b,errorPercentDataValue:$b,positiveErrorValue:L.positiveErrorToolTipValue,
negativeErrorValue:L.negativeErrorToolTipValue,label:z},t=qa(A,C,z,t,s,e)):(p&&(X=la(e&&e.seriesname)),t=X?X+k:u,t+=z?z+k:u):t=!1,L.toolText=t,L.setTooltext=t,r&&(R=r);g=this.config.includeInLegend;!1!==b.hasLegend&&g&&this._addLegend();this.ErrorValueConfigure()},ErrorValueConfigure:function(){var b=this.chart,g=this.config,e=this.JSONData,c=e.data,h=b.config.categories,h=E(h&&h.length,c&&c.length),f=b.jsonData.chart,b=v.parseUnsafeString,s,l,m,A=this.components.data,B=b(f.yaxisname),q=b(f.xaxisname),
P=a(f.seriesnameintooltip,1),ra,V=b(d(f.tooltipsepchar,", ")),k,p,qa,n,z,X,C,t=-Infinity,r=Infinity,x,w,H,J,R=function(b){g.showTooltip?null===z?b=!1:void 0!==b?(k=[1,2,3,4,5,6,7,99,100,101,102,120,121],p={yaxisName:B,xaxisName:q,formattedValue:m.toolTipValue,errorValue:n,errorDataValue:m.errorToolTipValue,errorPercentValue:m.errorPercentValue,errorPercentDataValue:m.errorPercentValue,positiveErrorValue:m.positiveErrorToolTipValue,negativeErrorValue:m.negativeErrorToolTipValue,label:m.label},b=Ba(b,
k,p,s,f,e)):(P&&(ra=la(e&&e.seriesname)),b=ra?ra+V:u,b+=m.label?m.label+V:u):b=!1;return b},y;g.showValues=a(e.showvalues,f.showvalues,0);g.errorBarShadow=C=a(f.errorbarshadow,f.showshadow,1);g.ignoreEmptyDatasets=a(e.ignoreemptydatasets,0);w=a(f.halferrorbar,1);g.notHalfErrorBar=!a(f.halferrorbar,1);qa=Za(d(e.errorbaralpha,f.errorbaralpha,g.plotFillAlpha));g.errorBarWidthPercent=a(e.errorbarwidthpercent,f.errorbarwidthpercent,70);g.errorBarColor=ea(Ha(d(e.errorbarcolor,f.errorbarcolor,"AAAAAA")),
qa);g.errorBarThickness=a(e.errorbarthickness,f.errorbarthickness,1);g.shadowOpacity=C?qa/250:0;for(y=0;y<h;y++)if(s=c&&c[y],m=(l=A[y])&&l.config,C=qa=void 0,void 0!==a(s.value)){l||(l=A[y]={graphics:{}});l.config||(m=A[y].config={});m.notHalfErrorBar=g.notHalfErrorBar;m.halfErrorBar=w;x=m.setValue;m.showValue=a(s.showvalue,g.showValues);m.hasErrorValue=void 0!==a(s.errorvalue)?1:0;n=m.setErrorValue;m.errorValue=n;z=l=m.errorToolTipValue;X=F(b(d(s.errorplottooltext,e.errorplottooltext,f.errorplottooltext,
z)));l=R(X);(X=F(b(d(s.errorplottooltext,e.errorplottooltext,f.errorplottooltext,m.positiveErrorToolTipValue))))&&m.positiveErrorToolTipValue&&(qa=R(X));(X=F(b(d(s.errorplottooltext,e.errorplottooltext,f.errorplottooltext,m.negativeErrorToolTipValue))))&&m.negativeErrorToolTipValue&&(C=R(X));H=m.positiveErrorValue;J=m.negativeErrorValue;if(H||J)m.halfErrorBar=0,m.notHalfErrorBar=!0;X=x+(null!==H?H:n);x-=m.halfErrorBar?0:0>J&&0>x?0:null!=J?J:n;t=N(t,X,x);r=E(r,X,x);null==n&&(n=void 0);m.errorValueArr=
[];m.errorValueArr.push({errorValue:null!=J?J:null!==H?n:-n,tooltext:C||l});m.notHalfErrorBar&&m.errorValueArr.push({errorValue:null!==H?-H:null!=J?-n:n,tooltext:qa||l})}g.maxValue=t;g.minValue=r},init:function(b){var g=this.chart,e=g.components,e=g.isDual?e.yAxis[this.yAxis||0]:e.yAxis[0];if(!b)return!1;this.JSONData=b;this.yAxis=e;this.chartGraphics=g.chartGraphics;this.components={};this.graphics={};this.visible=1===a(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},
draw:function(){var b=this,g=b.JSONData,e=b.chart.jsonData.chart,c=b.config,h=b.groupManager,f=b.index,s=b.chart.config.categories,l=g.data,m,A,B,q,P=b.visible,ra=b.chart,V=ra.components.paper,k=ra.components.xAxis[0],n=ra.components.yAxis[0];m=ra.graphics.columnGroup;var qa,t,z=ra.graphics,X=v.parseUnsafeString,C=v.getValidValue,r=v.Raphael,w=c.showTooltip,y=k.getAxisPosition(0),ac=k.getAxisPosition(1),H=c.groupMaxWidth=ac-y,J=c.definedGroupPadding,R=c.plotSpacePercent/200,tb=h.getDataSetPosition(b),
y=h.manageClip,Q=c.maxColWidth,S=ra.get("config","animationObj"),ac=S.animType,U=S.animObj,N=S.dummyObj,S=S.duration,H=(1-.01*J)*H||E(H*(1-2*R),1*Q),H=a(tb.columnWidth,H/1),L,J=tb.xPosOffset||0,tb=tb.height,Y,Sa,R=b.components.data,D,aa,G,F,I,O;F={};O={};var Q=n.getLimit(),K=Q.min,Q=0<Q.max&&0>K,K=n.getAxisBase(),T=n.yBasePos=n.getAxisPosition(K),M=0,$=c.showShadow,W=c.plotBorderThickness,ma=c.plotRadius,Z=b.graphics.container,ba=b.graphics.trackerContainer,va=b.graphics.dataLabelContainer,ca=b.graphics.shadowContainer,
ga=b.graphics.errorGroupContainer,pa=b.graphics.errorTrackerContainer,ea=b.graphics.errorShadowContainer;q=z.trackerGroup;var da,ia,z=!0,la=!1,oa=!1,na,Ga=(b.components.removeDataArr||[]).length,ja=b.components.pool||[],c=c.showHoverEffect,ta=function(b){return function(c){0!==this.data("showHoverEffect")&&b.attr(this.data("setRolloverAttr"));za.call(this,ra,c,"DataPlotRollOver")}},ya=function(b){return function(c){0!==this.data("showHoverEffect")&&b.attr(this.data("setRolloutAttr"));za.call(this,
ra,c,"DataPlotRollOut")}},sa=function(b){za.call(this,ra,b)},ua=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(Z.hide(),ba.hide(),ca.hide(),va&&va.hide(),ga&&ga.hide(),pa&&pa.hide(),ea&&ea.hide(),b._conatinerHidden=!0)},Aa=function(){b.drawLabel();b.drawErrorValue()};Z||(Z=b.graphics.container=V.group("columns",m),P||Z.hide());ba||(ba=b.graphics.trackerContainer=V.group("col-hot",q),P||ba.hide());ca||(ca=b.graphics.shadowContainer=V.group("shadow",m).toBack(),P||
ca.hide());m=k.getCategoryLen();for(q=0;q<m;q++)if(A=l&&l[q],F=(O=(D=R[q])&&D.config)&&O.setValue,na=!1,void 0!==D&&void 0!==F&&null!==F){qa=0<=F;G=O.setLink;da=O.colorArr;D.graphics||(R[q].graphics={});I=O.displayValue;qa=qa?O.previousPositiveY:O.previousNegativeY;Sa=C(X(d(A.tooltext,g.plottooltext,e.plottooltext)));L=n.getAxisPosition(qa||K);A=k.getAxisPosition(q)+J;0!==tb?(qa=n.getAxisPosition(F+(qa||0)),Y=Ca(L-qa)):(Y=0,qa=L);qa=E(qa,L);!Q&&y&&P&&0<W&&(Y+=W,h.manageClip=!1);D._oriXPos=A;D._oriYPos=
qa;D._oriHeight=Y;D._oriWidth=H;h.isCrisp?(t=r.crispBound(A,qa,H,Y,W),A=t.x,qa=t.y,L=t.width,Y=t.height):L=H;Sa=O.toolText+(Sa?u:O.toolTipValue);ia=O.plotBorderDashStyle;I={index:q,link:G,value:F,displayValue:I,categoryLabel:s[q].label,toolText:Sa,id:u,datasetIndex:f,datasetName:g.seriesname,visible:P};F=O.setRolloutAttr;O=O.setRolloverAttr;S||(T=qa,M=Y);B={x:A,y:T,width:L,height:M||1,r:ma,ishot:!w,fill:x(da[0]),stroke:x(da[1]),"stroke-width":W,"stroke-dasharray":ia,"stroke-linejoin":"miter",visibility:P};
D._xPos=A;D._yPos=qa;D._height=Y;D._width=L;D.graphics.element?(la=oa=!0,aa=D.graphics.element,B={x:A,y:qa,width:L,height:Y||1},aa.animateWith(N,U,B,S,ac,z&&ua),aa.attr({r:ma,ishot:!w,fill:x(da[0]),stroke:x(da[1]),"stroke-width":W,"stroke-dasharray":ia,"stroke-linejoin":"miter",visibility:P})):(ja.element&&ja.element.length?(aa=D.graphics.element=ja.element.shift(),aa.show()):(aa=D.graphics.element=V.rect(B,Z),na=!0),aa.attr(B),aa.animateWith(N,U,{y:qa,height:Y||1},S,ac,z&&Aa),S?z=!1:la=oa=!0);aa.shadow({opacity:$},
ca).data("BBox",t);if(G||w)Y<Pa&&(qa-=(Pa-Y)/2,Y=Pa),B={x:A,y:qa,width:L,height:Y,r:ma,cursor:G?"pointer":u,stroke:p,"stroke-width":W,fill:p,ishot:!0,visibility:P},D.graphics.hotElement?D.graphics.hotElement.attr(B):(ja.hotElement&&ja.hotElement.length?(G=D.graphics.hotElement=ja.hotElement.shift(),G.show()):(G=D.graphics.hotElement=V.rect(B,ba),na=!0),G.attr(B));G=D.graphics.hotElement;(G||aa).data("eventArgs",I).data("groupId",void 0).data("showHoverEffect",c).data("setRolloverAttr",O).data("setRolloutAttr",
F);na&&(G||aa).click(sa).hover(ta(aa),ya(aa));w?(G||aa).tooltip(Sa):(G||aa).tooltip(!1)}Ga&&b.remove();la&&b.drawLabel();oa&&b.drawErrorValue()},show:function(){var b=this.graphics&&this.graphics.container,g=this.graphics&&this.graphics.trackerContainer,e=this.graphics&&this.graphics.dataLabelContainer,c=this.graphics&&this.graphics.shadowContainer,h=this.graphics&&this.graphics.errorGroupContainer,f=this.graphics&&this.graphics.errorTrackerContainer,a=this.graphics&&this.graphics.errorShadowContainer,
l=this.chart.is3D,d=this.components.data,A=this.chart.config.categories,B=this.yAxis,q=this.chart,A=E(this.JSONData.data&&this.JSONData.data.length,A&&A.length);q._chartAnimation();this.visible=!0;this._conatinerHidden=!1;if(l)for(b=0;b<A;b++)d[b].graphics.element&&d[b].graphics.element.attr({visibility:"visible"}),d[b].graphics.hotElement&&d[b].graphics.hotElement.attr({visibility:"visible"});else b.show(),g.show();c.show();e&&e.show();h&&h.show();f&&f.show();a&&a.show();q._setAxisLimits();B.draw();
q._drawDataset()},hide:function(){var b=this.yAxis,g=this.chart;g._chartAnimation();this.visible=!1;g._setAxisLimits();b.draw();g._drawDataset()},drawErrorValue:function(){var b=this.config,g=this.chart.config.categories,e=this.JSONData.data,c=g&&g.length,h=e&&e.length,f,a=this.visible,l=this.chart,d=l.graphics.columnGroup,e=l.components.paper,g=l.components.yAxis[0],A=this.components.data,B=this.groupManager.getDataSetPosition(this).height,q=l.get("config","animationObj"),P=q.animType,ra=q.animObj,
V=q.dummyObj,q=q.duration,k=b.errorBarThickness,n=b.errorBarWidthPercent,qa=b.errorBarColor,t=b.showTooltip,b=b.shadowOpacity,z=this.graphics.errorGroupContainer,X=this.graphics.errorTrackerContainer,C=this.graphics.errorShadowContainer,v=l.graphics.trackerGroup,r,x,w,H,J,R,y,Q,S,U,D,L,Y,N=function(b){za.call(this,l,b)},F=function(b){za.call(this,l,b,"DataPlotRollOver")},aa=function(b){za.call(this,l,b,"DataPlotRollOut")},G=function(b){return function(){void 0!==b&&l.linkClickFN.call({link:b},l)}};
z||(z=this.graphics.errorGroupContainer=e.group("errorBar",d),a||z.hide());X||(X=this.graphics.errorTrackerContainer=e.group("error-hot",v),a||X.hide());C||(C=this.graphics.errorShadowContainer=e.group("error-shadow",d).toBack(),a||C.hide());c=E(c,h);for(h=0;h<c;h++)if(w=(v=(d=A[h])&&d.config)&&v.setValue,!d||void 0!==w&&null!==w||(d.graphics.element&&(d.graphics.element.hide(),d.graphics.element.shadow(!1)),d.graphics.hotElement&&d.graphics.hotElement.hide(),d.graphics.error&&d.graphics.error[0]&&
(d.graphics.error[0].hide(),d.graphics.error[0].shadow({opacity:0})),d.graphics.error&&d.graphics.error[1]&&(d.graphics.error[1].hide(),d.graphics.error[1].shadow({opacity:0})),d.graphics.errorTracker&&d.graphics.errorTracker[0]&&(d.graphics.errorTracker[0].hide(),d.graphics.errorTracker[0].shadow({opacity:0})),d.graphics.errorTracker&&d.graphics.errorTracker[1]&&(d.graphics.errorTracker[1].hide(),d.graphics.errorTracker[1].shadow({opacity:0}))),void 0!==d&&void 0!==w&&null!==w)if(Q=v.errorValueArr,
S=Q.length,!d.graphics.error&&(d.graphics.error=[]),!d.graphics.errorTracker&&(d.graphics.errorTracker=[]),v.errorValue===u||void 0===v.errorValue||null===v.errorValue&&null===v.positiveErrorValue&&null===v.negativeErrorValue)d.graphics.error&&d.graphics.error[0]&&(d.graphics.error[0].hide(),d.graphics.error[0].shadow({opacity:0})),d.graphics.error&&d.graphics.error[1]&&(d.graphics.error[1].hide(),d.graphics.error[1].shadow({opacity:0})),d.graphics.errorTracker&&d.graphics.errorTracker[0]&&(d.graphics.errorTracker[0].hide(),
d.graphics.errorTracker[0].shadow({opacity:0})),d.graphics.errorTracker&&d.graphics.errorTracker[1]&&(d.graphics.errorTracker[1].hide(),d.graphics.errorTracker[1].shadow({opacity:0}));else{a=v.setLink;U=0>w;r=d._oriXPos;D=d._oriYPos;L=d._oriWidth;Y=d._oriHeight;w=U?D+Y:D;for(x=r+L/2;S--;)if(R=H=null,R=Q[S],r=R.tooltext,f=w,H=R.errorValue,null===H||isNaN(H))d.graphics.error&&d.graphics.error[S]&&(d.graphics.error[S].hide(),d.graphics.error[S].shadow({opacity:S})),d.graphics.errorTracker&&d.graphics.errorTracker[S]&&
(d.graphics.errorTracker[S].hide(),d.graphics.errorTracker[S].shadow({opacity:S}));else{R=n/100*L;R/=2;J=0===B?0:1;y=D+(g.getAxisPosition(0)-g.getAxisPosition(1))*H*J;U&&(y+=Y);H=y;J=x;H=ga(y)+k%2/2;J=ga(x)+k%2/2;R=["M",J,f,"V",H,"M",J-R,H,"H",J+R];d.graphics.error[S]?(f={path:R},H=d.graphics.error[S],H.animateWith(V,ra,f,q,P),H.attr({stroke:qa,ishot:!t,"stroke-width":k,cursor:a?"pointer":u,"stroke-linecap":"round"})):H=d.graphics.error[S]=e.path(R,z).attr({stroke:qa,ishot:!t,"stroke-width":k,cursor:a?
"pointer":u,"stroke-linecap":"round"});H.show();H.shadow({opacity:b},C);f={path:R,stroke:p,"stroke-width":k<Pa?Pa:k,cursor:a?"pointer":u,ishot:!!a};if(d.graphics.errorTracker[S])d.graphics.errorTracker[S].show(),d.graphics.errorTracker[S].attr(f);else if(a||t)R=d.graphics.errorTracker[S]=e.path(X).attr(f);f=d.graphics.element&&(d.graphics.element.data("eventArgs")||d.graphics.hotElement.data("eventArgs"));(R=d.graphics.errorTracker[S])&&R.data("eventArgs",f);R&&R.click(N).data("groupId",void 0).hover(F,
aa);t?R&&R.tooltip(r):R&&R.tooltip(!1);(a||t)&&R&&R.click(G(a))}v.notHalfErrorBar||(d.graphics.error&&d.graphics.error[1]&&d.graphics.error[1].hide()&&d.graphics.error[1].shadow({opacity:0}),d.graphics.errorTracker&&d.graphics.errorTracker[1]&&d.graphics.errorTracker[1].hide()&&d.graphics.errorTracker[1].shadow({opacity:0}))}},remove:function(){var b=this.components,g=b.removeDataArr,e=b.pool||(b.pool={element:[],hotElement:[],label:[]}),c=g.length,h,f=this.maxminFlag,a,d;for(d=0;d<c;d++)h=g[0],g.splice(0,
1),h&&h.graphics&&(a=h.graphics,a.element&&a.element.hide()&&a.element.shadow({opacity:0}),a.error&&a.error[0]&&a.error[0].hide()&&a.error[0].shadow({opacity:0}),a.error&&a.error[1]&&a.error[1].hide()&&a.error[1].shadow({opacity:0}),a.errorTracker&&a.errorTracker[0]&&a.errorTracker[0].hide()&&a.errorTracker[0].shadow({opacity:0}),a.errorTracker&&a.errorTracker[1]&&a.errorTracker[1].hide()&&a.errorTracker[1].shadow({opacity:0}),a.hotElement&&a.hotElement.hide()&&a.hotElement.attr({width:0}),h.graphics.element&&
(e.element=e.element.concat(h.graphics.element)),h.graphics.hotElement&&(e.hotElement=e.hotElement.concat(h.graphics.hotElement)),h.graphics.label&&(e.label=e.label.concat(h.graphics.label)));b.pool=e;f&&this.setMaxMin()}},"Column"]);FusionCharts.register("component",["datasetGroup","errorbar2d",{},xa]);M("errorline",{friendlyName:"Error Line Chart",useErrorGroup:!0,isErrorChart:!0,fireGroupEvent:!0,creditLabel:n,defaultPlotShadow:1,axisPaddingLeft:0,axisPaddingRight:0,canvasPaddingModifiers:["anchor",
"errorbar"],defaultDatasetType:"errorline",applicableDSList:{errorline:!0}},M.mscartesian,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0});FusionCharts.register("component",["dataset","ErrorLine",{type:pa,ErrorValueConfigure:function(){var b=this.chart,g=this.config,e=g.parentYAxis,c=this.JSONData,h=c.data,f=b.jsonData.chart,s=b.components.xAxis[0].getCategoryLen(),l=v.parseUnsafeString,m,A,B,q=this.components.data,b=b.components.numberFormatter,P,ra,V,k,p=g.lineThickness,n=-Infinity,
t=Infinity,z,X=l(f.yaxisname),C=l(f.xaxisname),r=d(f.tooltipsepchar,", "),x,w,y,H=a(f.seriesnameintooltip,1),J=function(b){g.showTooltip?null===V?b=!1:void 0!==b?(x=[1,2,3,4,5,6,7,99,100,101,102],w={yaxisName:X,xaxisName:C,formattedValue:B.toolTipValue,errorValue:ra,errorDataValue:B.errorToolTipValue,errorPercentValue:B.errorPercentValue,errorPercentDataValue:B.errorPercentValue,label:B.label},b=Ba(b,x,w,m,f,c)):(H&&(y=la(c&&c.seriesname)),b=y?y+r:u,b+=B.label?B.label+r:u):b=!1;return b};g.errorBarShadow=
k=a(f.errorbarshadow,f.showshadow,1);g.ignoreEmptyDatasets=a(c.ignoreemptydatasets,0);z=a(f.halferrorbar,1);g.notHalfErrorBar=!a(f.halferrorbar,1);P=Za(d(c.errorbaralpha,f.errorbaralpha,g.lineAlpha));g.errorBarWidth=a(c.errorbarwidth,f.errorbarwidth,5);g.errorBarColor=ea(Ha(d(c.errorbarcolor,f.errorbarcolor,"AAAAAA")),P);A=a(c.errorbarthickness,f.errorbarthickness,1);g.errorBarThickness=A>p?p:A;g.shadowOpacity=k?P/250:0;for(P=0;P<s;P++)h&&(m=h&&h[P],B=(A=q[P])&&A.config,A||(A=q[P]={graphics:{}}),
A.config||(B=q[P].config={}),p=B.setValue,ra=b.getCleanValue(m.errorvalue),B.errorToolTipValue=b.dataLabels(ra,e),ga(ra/p*La*La),B.hasErrorValue=void 0!==a(m.errorvalue)?1:0,ra=b.getCleanValue(m.errorvalue),V=A=B.errorToolTipValue,A=F(l(d(m.errorplottooltext,c.errorplottooltext,f.errorplottooltext,V))),B.errorValue=m.errorvalue,k=p+ra,p-=z?0:ra,n=N(n,k,p),t=E(t,k,p),A=J(A),B.errorValueArr=[],B.errorValueArr.push({errorValue:-ra,tooltext:A}),g.notHalfErrorBar&&B.errorValueArr.push({errorValue:ra,tooltext:A}),
B.toolText=J(B.setTooltext));g.maxValue=n;g.minValue=t},init:function(b){var g=this.chart,e=g.components,c=g.isDual;this.chart=g;this.yAxis=c?e.yAxis[this.yAxis||0]:e.yAxis[0];this.components={};this.graphics={};this.JSONData=b;this.visible=1===a(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},show:function(){var b=this.chart,g=this.yAxis,e=this.graphics&&this.graphics.container,c=this.graphics&&this.graphics.trackerContainer,h=this.graphics&&this.graphics.dataLabelContainer,
f=this.graphics&&this.graphics.errorGroupContainer,a=this.graphics&&this.graphics.errorTrackerContainer,d=this.graphics&&this.graphics.errorShadowContainer;b._chartAnimation();e.lineGroup.show();e.anchorGroup.show();e.anchorShadowGroup.show();e.lineShadowGroup.show();c.show();h.show();this.visible=!0;f&&f.show();a&&a.show();d&&d.show();this._conatinerHidden=!1;b._setAxisLimits();g.draw();b._drawDataset()},hide:function(){var b=this.chart,g=this.yAxis;b._chartAnimation();this.visible=!1;b._setAxisLimits();
g.draw();b._drawDataset()},drawErrorValue:function(){var b=this.config,g=this.chart,e=g.graphics.datasetGroup,c=g.components,h=c.xAxis[0].getCategoryLen(),f,a,d=this.visible,c=c.paper,m=this.yAxis,A=this.components.data,B=g.get("config","animationObj"),q=B.animType,P=B.animObj,ra=B.dummyObj,B=B.duration,V=b.errorBarThickness,k=b.errorBarWidth,n=b.errorBarColor,qa=b.showTooltip,t=b.shadowOpacity,z=this.graphics.container.lineGroup,X=this.graphics.errorGroupContainer,C=this.graphics.errorTrackerContainer,
v=this.graphics.errorShadowContainer;a=g.graphics.trackerGroup;var r=this.graphics.trackerContainer,x,w,H,J,y,E,Q,S,U,D=function(b){za.call(this,g,b)},L=function(b){za.call(this,g,b,"DataPlotRollOver")},Y=function(b){za.call(this,g,b,"DataPlotRollOut")},N=function(b){return function(){void 0!==b&&g.linkClickFN.call({link:b},g)}};X||(X=this.graphics.errorGroupContainer=c.group("errorBar",e).insertAfter(z),d||X.hide());C||(C=this.graphics.errorTrackerContainer=c.group("error-hot",a).insertBefore(r),
d||C.hide());v||(v=this.graphics.errorShadowContainer=c.group("error-shadow",e).insertBefore(X),d||v.hide());for(e=0;e<h;e++)if(a=(x=(z=A[e])&&z.config)&&x.setValue,void 0===z||void 0===a||null===a){if(z.graphics.error)for(a=0;a<z.graphics.error.length;a++)z.graphics.error[a].hide(),z.graphics.errorTracker[a].hide(),z.graphics.error[a].shadow(!1)}else if(a=x.errorValueArr,r=a.length,!z.graphics.error&&(z.graphics.error=[]),!z.graphics.errorTracker&&(z.graphics.errorTracker=[]),x.errorValue===u||void 0===
x.errorValue)z.graphics.error&&z.graphics.error[0]&&(z.graphics.error[0].hide(),z.graphics.error[0].shadow({opacity:0})),z.graphics.error&&z.graphics.error[1]&&(z.graphics.error[1].hide(),z.graphics.error[1].shadow({opacity:0}));else{x=x.setLink;w=z._xPos;J=U=z._yPos;for(H=w;r--;){Q=y=null;Q=a[r];w=Q.tooltext;f=J;E=Q.errorValue;Q=k/2;y=d?1:0;y=S=U+(m.getAxisPosition(0)-m.getAxisPosition(1))*E*y;E=H;y=ga(S)+V%2/2;E=ga(H)+V%2/2;Q=["M",E,f,"V",y,"M",E-Q,y,"H",E+Q];z.graphics.error[r]?(f={path:Q},y=z.graphics.error[r],
y.animateWith(ra,P,f,B,q),y.attr({stroke:n,ishot:!qa,"stroke-width":V,cursor:x?"pointer":u,"stroke-linecap":"round"})):y=z.graphics.error[r]=c.path(Q,X).attr({stroke:n,ishot:!qa,"stroke-width":V,cursor:x?"pointer":u,"stroke-linecap":"round"});y.show();y.shadow({opacity:t},v);f={path:Q,stroke:p,"stroke-width":V<Pa?Pa:V,cursor:x?"pointer":u,ishot:!!x};if(z.graphics.errorTracker[r])z.graphics.errorTracker[r].attr(f);else if(x||qa)Q=z.graphics.errorTracker[r]=c.path(C).attr(f);f=z.graphics.element&&z.graphics.element.data("eventArgs")||
z.graphics.hotElement&&z.graphics.hotElement.data("eventArgs");(Q=z.graphics.errorTracker[r])&&Q.show();Q&&Q.data("eventArgs",f);Q&&Q.click(D).data("groupId",void 0).hover(L,Y);qa?Q&&Q.tooltip(w):Q&&Q.tooltip(!1);(x||qa)&&Q&&Q.click(N(x))}b.notHalfErrorBar||(z.graphics.error&&z.graphics.error[1]&&z.graphics.error[1].hide()&&z.graphics.error[1].shadow({opacity:0}),z.graphics.errorTracker&&z.graphics.errorTracker[1]&&z.graphics.errorTracker[1].hide()&&z.graphics.errorTracker[1].shadow({opacity:0}))}},
manageSpace:function(){var b=.5*this.config.errorBarWidth,g=this.chart,e=g.config.dataLabelStyle,c=(this.components||{}).data||[],h=c[0],c=c[c.length-1],f,d;f={};var l,m,A,B=g.linkedItems.smartLabel,q={paddingLeft:0,paddingRight:0};h&&(h=h.config,A=h.showValue,d=h&&h.anchorProps||{},A&&(f=h.displayValue,B.useEllipsesOnOverflow(g.config.useEllipsesWhenOverflow),B.setStyle(e),f=B.getOriSize(f)),h.setValue&&(l=N(a(d.radius,0),b)+a(d.borderThickness,0),m=(f.width||0)/2),q.paddingLeft=N(l,m));c&&(h=c.config,
A=h.showValue,d=h&&h.anchorProps||{},A&&(f=h.displayValue,B.setStyle(e),f=B.getOriSize(f)),h.setValue&&(l=N(a(d.radius,0),b)+a(d.borderThickness,0),m=(f.width||0)/2),q.paddingRight=N(l,m));return q},_removeDataVisuals:function(b){b&&(b=b.graphics,b.element&&b.element.hide()&&b.element.shadow({opacity:0}),b.error&&b.error[0]&&b.error[0].hide()&&b.error[0].shadow({opacity:0}),b.error&&b.error[1]&&b.error[1].hide()&&b.error[1].shadow({opacity:0}),b.errorTracker&&b.errorTracker[0]&&b.errorTracker[0].hide()&&
b.errorTracker[0].shadow({opacity:0}),b.errorTracker&&b.errorTracker[1]&&b.errorTracker[1].hide()&&b.errorTracker[1].shadow({opacity:0}),b.hotElement&&b.hotElement.hide()&&b.hotElement.attr({width:0}))}},pa]);M("errorscatter",{friendlyName:"Error Scatter Chart",isXY:!0,standaloneInit:!0,creditLabel:n,defaultDatasetType:"errorscatter",applicableDSList:{errorscatter:!0},defaultZeroPlaneHighlighted:!1,useErrorGroup:!0,isErrorChart:!0,fireGroupEvent:!0,initAnimation:!0},M.scatterBase);FusionCharts.register("component",
["dataset","ErrorScatter",{ErrorValueConfigure:function(){var b=this.chart,g=b.components,e=this.config,c=this.JSONData,h=b.config.categories,f=b.jsonData.chart,s=c.data,l=g.xAxis[0].getCategoryLen(),l=s&&s.length||l,m=v.parseUnsafeString,A,B,q,P=this.components.data,ra=g.numberFormatter,V,k,u,p,n,z,X,C,t,r,x,w,H,J,R=d(f.tooltipsepchar,", "),D=m(f.yaxisname),Q=m(f.xaxisname),S=e.parentYAxis,U,I,L,Y,Sa,K,aa,G,T,M=-Infinity,O=Infinity,ha=Infinity,W=-Infinity,ka=function(b,g){var h;e.showTooltip?null===
I?h=!1:void 0!==b?(Sa=[1,2,3,4,5,6,7,8,9,10,11,99,100,101,102,103,104,105,106,107,109],K={yaxisName:D,xaxisName:Q,yDataValue:I,xDataValue:q.label,formattedValue:q.toolTipValue,horizontalErrorValue:t,horizontalErrorDataValue:x,verticalErrorValue:r,verticalErrorDataValue:H,horizontalErrorPercent:L,verticalErrorPercent:Y,label:q.label,errorValue:g,errorDataValue:g,errorPercentValue:q.errorPercentValue,errorPercentDataValue:q.errorPercentValue},h=Ba(b,Sa,K,A,f,c)):null===I?h=!1:(e.seriesNameInTooltip&&
(aa=v.getFirstValue(c&&c.seriesname)),h=aa?aa+R:y,h+=U.x?ra.xAxis(U.x)+R:y,h+=q.toolTipValue):h=!1;return h};e.errorBarShadow=g=a(f.errorbarshadow,f.showshadow,0);e.ignoreEmptyDatasets=a(c.ignoreemptydatasets,0);e.notHalfErrorBar=!a(f.halferrorbar,1);e.errorBarAlpha=Za(d(c.errorbaralpha,f.errorbaralpha));e.errorBarWidth=k=a(c.errorbarwidth,f.errorbarwidth,5);e.errorBarColor=u=ea(Ha(d(c.errorbarcolor,f.errorbarcolor,"AAAAAA")),void 0);e.errorBarThickness=V=a(c.errorbarthickness,f.errorbarthickness,
1);e.shadowOpacity=g?NaN:0;e.halfHorizontalErrorBar=p=a(f.halfhorizontalerrorbar,1);e.halfVerticalErrorBar=n=a(f.halfverticalerrorbar,1);void 0===e.initAnimation&&(e.initAnimation=b.initAnimation);b=d(c.horizontalerrorbaralpha,c.errorbaralpha,f.horizontalerrorbaralpha,void 0);z=a(c.verticalerrorbaralpha,c.errorbaralpha,f.verticalerrorbaralpha,void 0);X=ea(d(c.horizontalerrorbarcolor,c.errorbarcolor,f.horizontalerrorbarcolor,u),b);u=ea(d(c.verticalerrorbarcolor,c.errorbarcolor,f.verticalerrorbarcolor,
u),z);C=a(c.horizontalerrorbarthickness,c.errorbarthickness,f.horizontalerrorbarthickness,V);V=a(c.verticalerrorbarthickness,c.errorbarthickness,f.verticalerrorbarthickness,V);e.horizontalErrorBarWidth=a(c.horizontalerrorbarwidth,f.horizontalerrorbarwidth,k);e.verticalErrorBarWidth=a(c.verticalerrorbarwidth,f.verticalerrorbarwidth,k);for(k=0;k<l;k++)s&&(A=s&&s[k],q=(B=P[k])&&B.config,B||(B=P[k]={graphics:{}}),B.config||(q=P[k].config={}),B=ra.getCleanValue(A.errorvalue),U=q.setValue,q.errorValue=
A.errorvalue,q.hErrorValue=t=ra.getCleanValue(d(A.horizontalerrorvalue,A.errorvalue)),q.vErrorValue=r=ra.getCleanValue(d(A.verticalerrorvalue,A.errorvalue)),x=ra.dataLabels(t,S),w=F(m(d(A.errorplottooltext,c.errorplottooltext,f.errorplottooltext,x))),H=ra.dataLabels(r,e.parentYAxis),J=F(m(d(A.errorplottooltext,c.errorplottooltext,f.errorplottooltext,H))),h&&h[k]&&(q.label=F(m(d(h[k].tooltext,h[k].label)))),null!==U.x&&(G=U.x+Number(t),T=U.x-(p?0:Number(t)),W=N(W,G,T),ha=E(ha,G,T)),null!==U.y&&(G=
U.y+Number(r),T=U.y-(n?0:Number(r)),M=N(M,G,T),O=E(O,G,T)),q.useHorizontalErrorBar=a(A.usehorizontalerrorbar,c.usehorizontalerrorbar,f.usehorizontalerrorbar,0),q.useVerticalErrorBar=a(A.useverticalerrorbar,c.useverticalerrorbar,f.useverticalerrorbar,1),q.errorValueArr=[],q.errorValueArr.push({errorValue:-t,tooltext:ka(w,x),errorBarColor:X,isHorizontal:1,errorBarThickness:C,shadowOpacity:g?b/250:0}),q.errorValueArr.push({errorValue:t,tooltext:ka(w,x),errorBarColor:X,isHorizontal:1,errorBarThickness:C,
shadowOpacity:g?b/250:0}),q.errorValueArr.push({errorValue:-r,tooltext:ka(J,H),errorBarColor:u,errorBarThickness:V,shadowOpacity:g?z/250:0}),q.errorValueArr.push({errorValue:r,tooltext:ka(J,H),errorBarColor:u,errorBarThickness:V,shadowOpacity:g?z/250:0}),U=q.setValue,ga(B/U*La*La),L=ga(t/U*La*La)/La+"%",Y=ga(r/U*La*La)/La+"%",I=q.formatedVal,e.showTooltip?void 0!==q.setTooltext?(Sa=[1,2,3,4,5,6,7,8,9,10,11,99,100,101,102,103,104,105,106,107,109],K={yaxisName:D,xaxisName:Q,yDataValue:I,xDataValue:q.label,
formattedValue:q.toolTipValue,horizontalErrorValue:t,horizontalErrorDataValue:x,verticalErrorValue:r,verticalErrorDataValue:H,horizontalErrorPercent:L,verticalErrorPercent:Y,label:q.label},B=Ba(q.setTooltext,Sa,K,A,f,c)):null===I?B=!1:(e.seriesNameInTooltip&&(aa=v.getFirstValue(c&&c.seriesname)),B=aa?aa+R:y,B+=U.x?ra.xAxis(U.x)+R:y,B+=q.toolTipValue):B=!1,q.toolText=B);e.xMax=W;e.xMin=ha;e.yMin=O;e.yMax=M},drawErrorValue:function(){var b=this.chart,g=b.components,e=this.parentContainer,c=this.config,
h=this.JSONData.data,h=h&&h.length,f,d=this.visible,l=g.paper,g=g.xAxis[0],m=this.yAxis,A=this.components.data,B,q,P,k,V=b.graphics,n=c.showTooltip,t=c.shadowOpacity,qa=b.get("config","animationObj"),r=qa.animType,z=qa.animObj,X=qa.dummyObj,qa=qa.duration,C=this.graphics.container.lineGroup,v=this.graphics.errorGroupContainer,x=this.graphics.errorTrackerContainer,w=this.graphics.errorShadowContainer,y=this.graphics.trackerContainer,H=V.trackerGroup,J,R,E,Q,S,U,D,L,N,F,V=function(c){za.call(this,b,
c)},I=function(c){za.call(this,b,c,"DataPlotRollOver")},aa=function(c){za.call(this,b,c,"DataPlotRollOut")},G=function(c){return function(){void 0!==c&&b.linkClickFN.call({link:c},b)}};v||(v=this.graphics.errorGroupContainer=l.group("errorBar",e).insertAfter(C),d||v.hide());x||(x=this.graphics.errorTrackerContainer=l.group("error-hot",H).insertBefore(y),d||x.hide());w||(w=this.graphics.errorShadowContainer=l.group("error-shadow",e).insertBefore(v),d||w.hide());for(e=0;e<h;e++)if(J=(y=(C=A[e])&&C.config)&&
y.setValue,H=y.errorValueArr,void 0!==C&&void 0!==J&&null!==J&&H&&(D=H.length,!C.graphics.error&&(C.graphics.error=[]),!C.graphics.errorTracker&&(C.graphics.errorTracker=[]),null===y.vErrorValue&&(C.graphics.error&&C.graphics.error[0]&&(C.graphics.error[0].hide(),C.graphics.error[0].shadow({opacity:0})),C.graphics.error&&C.graphics.error[1]&&(C.graphics.error[1].hide(),C.graphics.error[1].shadow({opacity:0}))),null===y.hErrorValue&&(C.graphics.error&&C.graphics.error[2]&&(C.graphics.error[2].hide(),
C.graphics.error[2].shadow({opacity:0})),C.graphics.error&&C.graphics.error[3]&&(C.graphics.error[3].hide(),C.graphics.error[3].shadow({opacity:0}))),null!==y.hErrorValue||null!==y.vErrorValue))for(J=y.setLink,L=C._xPos,Q=N=C._yPos,E=L,F=0;F<D;F++)if(!y.useHorizontalErrorBar&&(0===F||1===F)||!y.useVerticalErrorBar&&(2===F||3===F)||1===F&&c.halfHorizontalErrorBar||3===F&&c.halfVerticalErrorBar)C.graphics.error&&C.graphics.error[F]&&C.graphics.error[F].hide()&&C.graphics.error[F].shadow({opacity:0}),
C.graphics.errorTracker&&C.graphics.errorTracker[F]&&C.graphics.errorTracker[F].hide()&&C.graphics.errorTracker[F].shadow({opacity:0});else{q=B=null;q=H[F];R=q.tooltext;f=Q;S=q.errorValue;k=q.errorBarColor;B=a(q.isHorizontal,0);q=a(q.errorBarThickness,c.errorBarThickness,1);P=B?c.horizontalErrorBarWidth:c.verticalErrorBarWidth;P=d?P/2:0;U=d?1:0;B?(B=U=L+(g.getAxisPosition(0)-g.getAxisPosition(1))*S*U,S=E,B=ga(f)+q%2/2,S=ga(U)+q%2/2,P=["M",E,B,"H",S,"M",S,B-P,"V",B+P]):(B=U=N+(m.getAxisPosition(0)-
m.getAxisPosition(1))*S*U,S=E,B=ga(U)+q%2/2,S=ga(E)+q%2/2,P=["M",S,f,"V",B,"M",S-P,B,"H",S+P]);C.graphics.error[F]?(B=C.graphics.error[F],f={path:P,"stroke-width":d?q:0},B.animateWith(X,z,f,qa,r),B.attr({stroke:k,ishot:!n,cursor:J?"pointer":u,"stroke-linecap":"round"})):(B=C.graphics.error[F]=l.path(P,v).attr({stroke:k,ishot:!n,"stroke-width":q,cursor:J?"pointer":u,"stroke-linecap":"round"}),c.initAnimation&&B.attr({opacity:0}).animateWith(X,z,{opacity:1},qa,r));B.show();B.shadow({opacity:t},w);f=
{path:P,stroke:p,"stroke-width":d?q<Pa?Pa:q:0,cursor:J?"pointer":u,ishot:!!J};if(C.graphics.errorTracker[F])C.graphics.errorTracker[F].attr(f);else if(J||n)q=C.graphics.errorTracker[F]=l.path(x).attr(f);k=C.graphics.element&&C.graphics.element.data("eventArgs")||C.graphics.hotElement&&C.graphics.hotElement.data("eventArgs");(q=C.graphics.errorTracker[F])&&q.show();q&&q.data("eventArgs",k);q&&q.click(V).data("groupId",void 0).hover(I,aa);n?q&&q.tooltip(R):q&&q.tooltip(!1);(J||n)&&q.click(G(J))}c.initAnimation=
!1},show:function(){var b=this.chart,g=this.yAxis,e=this.graphics&&this.graphics.errorGroupContainer,c=this.graphics&&this.graphics.errorTrackerContainer,h=this.graphics&&this.graphics.errorShadowContainer;b._chartAnimation();this.visible=!0;this._conatinerHidden=!1;e&&e.show();c&&c.show();h&&h.show();b._setAxisLimits();g.draw();this.draw()},remove:function(){var b=this.components,g=b.removeDataArr,e=b.pool||(b.pool={element:[],hotElement:[],label:[]}),c=g.length,h,f=this.maxminFlag,a,d,m;for(d=0;d<
c;d++)if(h=g[0],g.splice(0,1),h&&h.graphics){a=h.graphics;a.element&&a.element.hide()&&a.element.shadow({opacity:0});for(m=0;4>m;m++)a.error&&a.error[m]&&a.error[m].hide()&&a.error[m].shadow({opacity:0}),a.errorTracker&&a.errorTracker[m]&&a.errorTracker[m].hide()&&a.errorTracker[m].shadow({opacity:0});a.hotElement&&a.hotElement.hide()&&a.hotElement.attr({width:0});h.graphics.element&&(e.element=e.element.concat(h.graphics.element));h.graphics.hotElement&&(e.hotElement=e.hotElement.concat(h.graphics.hotElement));
h.graphics.label&&(e.label=e.label.concat(h.graphics.label))}b.pool=e;f&&this.setMaxMin()}},"Scatter"]);FusionCharts.register("component",["dataset","MSStepLine",{type:"stepline",configure:function(){var b=this.JSONData,g=this.config,e=this.chart.jsonData.chart;this.__base__.configure.call(this);g.drawVerticalJoins=a(e.drawverticaljoins,1);g.useForwardSteps=a(e.useforwardsteps,1);g.shadow={opacity:a(e.showshadow,1)?g.lineAlpha/100:0};this.visible=1===a(b.visible,!Number(b.initiallyhidden),1);this._addLegend()},
init:function(b){var g=this.chart,e=g.components;this.chart=g;this.yAxis=e.yAxis[0];this.components={};this.graphics={};this.JSONData=b;this.configure()},_addLegend:function(){var b=this.config,g=this.chart.components.legend,e=a(b.drawAnchors,1),b={enabled:b.includeInLegend,type:pa,drawLine:!0,fillColor:x({color:b.anchorBgColor,alpha:b.anchorBgAlpha}),strokeColor:x({color:d(b.lineColor,b.anchorBorderColor),alpha:d(b.lineAlpha,b.anchorBorderAlpha)}),anchorSide:e?b.anchorSides:0,strokeWidth:b.anchorBorderThickness,
label:la(this.JSONData.seriesname)};this.legendItemId=g.addItems(this,this.legendInteractivity,b)},draw:function(){var b=this,g=b.JSONData,e=b.chart,c=e.components,h=b.config,f=b.index||b.positionIndex,a,l,m=c.paper,A=c.xAxis[0],B=b.yAxis,q,P,k=e.graphics;a=k.datalabelsGroup;var V,n,t,qa,r,z,X=b.components.data,C,v,w,y=e.config.style,E=b.components.removeDataArr||[],H=E.length;l={fontFamily:y.fontFamily,fontSize:y.fontSize,lineHeight:y.lineHeight,fontWeight:y.fontWeight,fontStyle:y.fontStyle,color:y.color};
var y=h.lineThickness,J=b.graphics.container,R=b.graphics.trackerContainer;q=k.trackerGroup;var D=h.connectNullData,Q=k.datasetGroup,S,k=h.shadow,U,F=b.graphics.dataLabelContainer,L={},Y,L=e.get("config","animationObj"),I=L.dummyObj,K=L.animObj,aa=L.duration,G=b.components.pool||[],T,M=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(J.lineGroup.hide(),J.lineShadowGroup.hide(),J.anchorShadowGroup.hide(),J.anchorGroup.hide(),R.hide(),F&&F.hide(),b._conatinerHidden=
!0)},O=function(){Q.lineConnector.attr({"clip-rect":null});Q.lineConnector.node&&Q.lineConnector.node.removeAttribute("clip-path");!1!==b.visible&&(J.lineShadowGroup.show(),J.anchorShadowGroup.show(),J.anchorGroup.show(),R.show(),F&&F.show());e._animCallBack()},ha=!0,W,ka=B.getAxisBase(),ka=B.yBasePos=B.getAxisPosition(ka),$=c.canvas.config.clip,c=$["clip-canvas-init"].slice(0),$=$["clip-canvas"].slice(0),Z=h.lineDashStyle,ma={color:h.lineColor,alpha:h.lineAlpha},ba,ga,va,ca,ea=[],da=0,ia=[],la=null,
ja,na=[],oa=!1,za,Ga=b.graphics.lineElement,ta=b.visible,ya=h.drawVerticalJoins,ua=h.useForwardSteps,sa,Aa=L.animType,Ha;Q.lineConnector=Q.lineConnector||m.group("line-connector",Q);J||(J=b.graphics.container={lineShadowGroup:m.group("connector-shadow",Q.lineConnector),anchorShadowGroup:m.group("anchor-shadow",Q.lineConnector),lineGroup:m.group(pa,Q.lineConnector),anchorGroup:m.group("anchors",Q.lineConnector)},ta||(J.lineShadowGroup.hide(),J.anchorShadowGroup.hide(),J.lineGroup.hide(),J.anchorGroup.hide()));
R||(R=b.graphics.trackerContainer=m.group("line-hot",q),ta||R.hide());X||(X=b.components.data=[]);e._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",l);F||(F=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||m.group("datalabel",a),ta||F.hide());ta&&(J.lineShadowGroup.show(),J.anchorShadowGroup.show(),J.lineGroup.show(),J.anchorGroup.show(),R.show(),F.show());a=A.getCategoryLen();for(l=0;l<a;l++)if(C=X[l])Y=C.config,r=Y.setValue,qa=Y.setLink,V=Y.setLevelTooltext,T=Y.showValue,
L=Y.anchorProps,v=L.symbol,U=L.shadow,z=Y.displayValue,n=C.graphics.element,w=C.graphics.image,t=C.graphics.hotElement,sa=C.graphics.label,C||(C=X[l]={graphics:{}}),null===r?(na.length=0,D||(la=null),n&&n.hide(),w&&w.hide(),sa&&sa.hide(),t&&t.hide()):(ca={color:Y.color,alpha:Y.alpha},W=Y.dashStyle,q=A.getAxisPosition(l),P=!b.visible&&aa?ka:B.getAxisPosition(r),S=Y.hoverEffects,L.isAnchorHoverRadius=S.anchorRadius,Ha=A.getLabel(l),V=V=Y.toolText+(V?u:Y.toolTipValue),r={index:l,link:qa,value:r,displayValue:z,
categoryLabel:Ha,toolText:V,id:h.userID,datasetIndex:f,datasetName:g.seriesname,visible:ta},z=!1,L.imageUrl?(C._xPos=q,C._yPos=P,U=new Ka,U.onload=this._onAnchorImageLoad(b,l,r,q,P),U.onerror=this._onErrorSetter(q,P,l,b),U.src=L.imageUrl):(w&&w.hide(),w=[v[1]||2,q,P,L.radius,L.startAngle,L.dip],v={fill:x({color:L.bgColor,alpha:L.bgAlpha}),stroke:x({color:L.borderColor,alpha:L.borderAlpha}),"stroke-width":L.borderThickness,visibility:L.radius?ta:"hidden"},n||(G.element&&G.element.length?n=C.graphics.element=
G.element.shift():(z=!0,n=C.graphics.element=m.polypath(J.anchorGroup),n.attr({polypath:w}))),n.show().animateWith(I,K,{polypath:w},aa,Aa,ha&&M),n.attr(v).shadow(U,J.anchorShadowGroup),ha=!1),U=C.graphics.connector,S.enabled&&(w={polypath:[S.anchorSides||2,q,P,S.anchorRadius,S.startAngle,S.dip],fill:x({color:S.anchorColor,alpha:S.anchorBgAlpha}),stroke:x({color:S.anchorBorderColor,alpha:S.anchorBorderAlpha}),"stroke-width":S.anchorBorderThickness},v={polypath:[L.sides,q,P,L.radius,L.startAngle,0],
fill:x({color:L.bgColor,alpha:L.bgAlpha}),stroke:x({color:L.borderColor,alpha:L.borderAlpha}),"stroke-width":L.borderThickness},n&&n.data("anchorRadius",L.radius).data("anchorHoverRadius",S.anchorRadius).data("setRolloverAttr",w).data("setRolloutAttr",v)),v=N(L.radius,S&&S.anchorRadius||0,Pa),qa={cx:q,cy:P,r:v,cursor:qa?"pointer":u,stroke:p,"stroke-width":L.borderThickness,fill:p,ishot:!0,visibility:ta},t||(G.hotElement&&G.hotElement.length?t=C.graphics.hotElement=G.hotElement.shift():(z=!0,t=C.graphics.hotElement=
m.circle(R))),t.show().attr(qa),z&&(t||n).click(b.getPlotClickFn(e)).hover(b.rolloverResponseSetter(C,e),b.rolloutResponseSetter(C,e)),(t||n).data("eventArgs",r).data("groupId",void 0).data("dataset",b).data("hoverEnabled",S.enabled).tooltip(V),va=va!==[x(ca||ma),W||Z].join(":"),null!==la?(na.length&&(ea=ea.concat(na),na.length=0),ea.join(u)||ea.push("M",ja,la),ua?(ea.push("H",q),ya?ea.push("V",P):ea.push("M",q,P)):(ya?ea.push("V",P):ea.push("M",ja,P),ea.push("H",q)),va&&(da?ia=ia.concat(ea):(U||
(U=C.graphics.connector=m.path(J.lineGroup),oa=!0),U.animateWith(I,K,{path:ea},aa,Aa,ha&&M),U.attr({"stroke-dasharray":ga,"stroke-width":y,stroke:ba,"stroke-linecap":"round","stroke-linejoin":2<y?"round":"miter"}).shadow(za,J.lineShadowGroup),ha=!1),ea=[]),va||U&&U.hide()):na.push("M",q,P),ja=q,la=P,ba=x(ca||ma),za=ca?{opacity:ca&&ca.alpha/100}:k,ga=W||Z,da=void 0===d(Y.color,Y.alpha,Y.dashed)?1:0,va=[ba,ga].join(":"),C._xPos=q,C._yPos=P,T&&!L.imageUrl?T&&!L.imageUrl&&this.drawLabel(l):sa&&sa.hide());
ea.length&&(ia=ia.concat(ea));g={path:ia};v={"stroke-dasharray":Z,"stroke-width":y,stroke:x(ma),"stroke-linecap":"round","stroke-linejoin":2<=y?"round":"miter"};Ga||(Ga=b.graphics.lineElement=m.path({path:ia},J.lineGroup),oa=!0);Ga.show().animateWith(I,K,g,aa,Aa,ha&&M);Ga.attr(v).shadow(k,J.lineShadowGroup);ha=!1;aa&&ta&&oa&&(J.anchorGroup.hide(),J.lineShadowGroup.hide(),J.anchorShadowGroup.hide(),F.hide(),Q.lineConnector.attr({"clip-rect":c}).animateWith(I,K,{"clip-rect":$},aa,"normal",O));for(l=
0;l<H;l++)b._removeDataVisuals(E.shift());b.drawn=!0}},pa]);FusionCharts.register("component",["dataset","multiaxisline",{type:"multiaxisline",pIndex:2,customConfigFn:"_createDatasets",configure:function(){var b=this.chart,g=this.JSONData,e=this.config,c=b.config,h=b.components,f=b.jsonData,s=f.chart,l=f.axis[this.axisIndex],m=b.singleseries,f=FusionCharts.get("component",["dataset",pa]).prototype;f.configure.call(this);this.yAxis=h.yAxis[this.axisIndex];c.axesPadding=5;c.allowAxisShift=a(s.allowaxisshift,
1);c.allowSelection=a(s.allowselection,1);c.checkBoxColor=d(s.checkboxcolor,"#2196f3");c.axisConfigured=!0;e.lineThickness=a(g.linethickness,l.linethickness,s.linethickness,m?4:2);e.lineDashLen=a(g.linedashlen,l.linedashlen,s.linedashlen,5);e.lineDashGap=a(g.linedashgap,l.linedashgap,s.linedashgap,4);e.lineAlpha=a(g.alpha,l.linealpha,s.linealpha,La);e.lineColor=d(g.color,l.linecolor,l.color,s.linecolor,e.plotColor);e.legendSymbolColor=this.type===pa?e.lineColor:e.plotFillColor;h=a(g.dashed,l.linedashed,
s.linedashed);c=v.getDashStyle(e.lineDashLen,e.lineDashGap,e.lineThickness);e.anchorBorderColor=d(g.anchorbordercolor,s.anchorbordercolor,e.lineColor,e.plotColor);e.lineDashStyle=h?c:"none";f._setConfigure.call(this);!1!==b.hasLegend&&this._addLegend()},init:function(b){this.chart=this.chart;this.components={};this.conf={};this.graphics={};this.JSONData=b;this.visible=1===a(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},legendInteractivity:function(b,g){var e=b.chart,
c=e.components.dataset,h=this.config,f=b.visible,a=g.config,d=g.graphics,m=h.itemHiddenStyle.color,h=h.itemStyle.color,A=a.fillColor,a=a.strokeColor,B=b.axisIndex,q=!0,P,e=e.config.axesArr.checkBox;f?b.hide():b.show();if(f){for(P in c)c.hasOwnProperty(P)&&c[P].visible&&c[P].axisIndex===B&&(q=!1);q&&e[B]&&e[B].checkbox.uncheck()}else e[B]&&e[B].checkbox.check();f?(d.legendItemSymbol&&d.legendItemSymbol.attr({fill:m,stroke:m}),d.legendItemText&&d.legendItemText.attr({fill:m}),d.legendIconLine&&d.legendIconLine.attr({stroke:m})):
(d.legendItemSymbol&&d.legendItemSymbol.attr({fill:A,stroke:a}),d.legendItemText&&d.legendItemText.attr({fill:h}),d.legendIconLine&&d.legendIconLine.attr({stroke:A}))}},pa]);M("waterfall2d",{standaloneInit:!0,friendlyName:"Waterfall Chart",creditLabel:n,defaultDatasetType:"Waterfall2D",applicableDSList:{Waterfall2D:!0},singleseries:!0,hasLegend:!1,_dataSegregator:function(b){var g=[],e=[];Ua(b,function(b,h){"true"!==b.vline&&!0!==b.vline&&1!==b.vline&&"1"!==b.vline?g.push(b):e.push({index:h,data:b})});
return{data:g,catData:e}}},M.sscartesian);M("multilevelpie",{standaloneInit:!0,friendlyName:"Multi-level Pie Chart",creditLabel:n,defaultDatasetType:"multiLevelPie",applicableDSList:{multiLevelPie:!0},is3d:!0,hasLegend:!1,hasCanvas:!1,_createDatasets:function(){var b=this.components,g=this.jsonData,e=g.dataset||[],c=e.length,h,f,a=this.defaultDatasetType,l=this.applicableDSList,m;h=[];var A={};h=this.config.categories=g.category||[];g=h.length;!c&&g&&(e=h,c=g);g||this.setChartMessage();h=b.dataset||
(b.dataset=[]);for(b=0;b<c;b+=1)if(g=e[b],g.seriesname&&(g.seriesname=Z(g.seriesname)),f=g.parentyaxis||u,f=(f="s"===f.toLowerCase()?d(g.renderas,this.sDefaultDatasetType):d(g.renderas,a))&&f.toLowerCase(),l[f]||(f=a),m=FusionCharts.get("component",["dataset",f]))void 0===A[f]?A[f]=0:A[f]++,h[0]?(f=h[0],f.JSONData=g):(f=new m,h.push(f),f.chart=this,f.index=b),f.init(e)},_spaceManager:function(){this._manageChartMenuBar(.225*this.config.canvasHeight)}},M.guageBase);FusionCharts.register("component",
["dataset","multiLevelPie",{init:function(b){!this.components&&(this.components={data:[]});this.conf={};this.graphics={};this.JSONData=b;this.configure()},configure:function(){var b,g,e=this,c=e.chart,h=c.config,f=e.conf||(e.conf={}),s=f.dataLabelOptions||(f.dataLabelOptions={}),l=f.piePlotOptions,m=c.config.style,A=e.JSONData,c=c.jsonData.chart;b=f.enableAnimation=a(c.animation,c.defaultanimation,1);var B=a(-c.centerangle,180),q=a(c.totalangle,360);f.animation=b?{duration:1E3*a(c.animationduration,
c.moveduration,1)}:!1;f.showShadow=a(c.showshadow,0);b=f.useHoverColor=Boolean(a(c.usehovercolor,1));f.hoverFillColor=ea(d(c.hoverfillcolor,"FF5904"),a(c.hoverfillalpha,100));f.pierad=parseInt(c.pieradius,10);g=(g=la(c.valuebordercolor,y))?ea(g,a(c.valueborderalpha,c.valuebgalpha,c.valuealpha,100)):y;!s.style&&(s.style={fontFamily:d(c.valuefont,m.fontFamily),fontSize:a(c.valuefontsize,parseInt(m.fontSize,10))+"px",color:ea(d(c.valuefontcolor,m.color),a(c.valuefontalpha,c.valuealpha,100)),fontWeight:a(c.valuefontbold)?
"bold":"normal",fontStyle:a(c.valuefontitalic)?"italic":"normal",backgroundColor:c.valuebgcolor?ea(c.valuebgcolor,a(c.valuebgalpha,c.valuealpha,100)):y,border:g||c.valuebgcolor?a(c.valueborderthickness,1)+"px solid":y,borderPadding:a(c.valueborderpadding,2),borderThickness:a(c.valueborderthickness,m.borderThickness,1),borderRadius:a(c.valueborderradius,m.borderRadius,0),borderColor:g,borderDash:a(c.valueborderdashed,0)?ua(a(c.valueborderdashlen,4),a(c.valueborderdashgap,2),a(c.valueborderthickness,
1)):"none"});!l&&(l=f.piePlotOptions={});l.allowPointSelect=!1;f.borderColor=ea(d(c.plotbordercolor,c.piebordercolor,"FFFFFF"),"0"!=c.showplotborder?d(c.plotborderalpha,c.pieborderalpha,100):0);f.showTooltip=a(c.showtooltip,1);f.borderWidth=a(c.pieborderthickness,c.plotborderthickness,1);l.startingAngle=0;l.size="100%";f.showLabels=a(c.showlabels,1);f.showValues=a(c.showvalues,0);f.showValuesInTooltip=a(c.showvaluesintooltip,c.showvalues,0);f.showPercentValues=a(c.showpercentvalues,c.showpercentagevalues,
0);f.showPercentInTooltip=a(c.showpercentintooltip,0);f.toolTipSepChar=d(c.tooltipsepchar,c.hovercapsepchar,Jb);f.labelSepChar=d(c.labelsepchar,f.toolTipSepChar);f.tooltext=c.plottooltext;f.alpha=d(c.plotfillalpha,c.piefillalpha,100);f.startAngle=Ub/180*(B-q/2);f.endtAngle=Ub/180*(B+q/2);f.initialAngle=f.endtAngle;f.originX=a(c.originx);f.originY=a(c.originy);b&&(f.events={mouseOver:function(){for(var b=this.data("plotItem").selfRef,c=e.conf;b.graphics.element;)b.graphics.element.attr({fill:c.hoverFillColor}),
b=b.linkedItems.parent},mouseOut:function(){for(var b=this.data("plotItem"),c=b.selfRef;c.graphics.element;)c.graphics.element.attr({fill:(c.config||b).color}),c=c.linkedItems.parent}});h.plotBorderWidth=0;h.plotBorderWidth=0;f.maxLevel=e.addMSPieCat(A,1,e,f.startAngle,f.endtAngle);f.pieRadius=parseInt(c.pieradius,10);s.distance=0;s.placeLabelsInside=!0},removalFn:function(b,g,e){var c,h,f=this.pool||(this.pool={});c=this.chart.get("config","animationObj");var a=c.duration,d=c.dummyObj,m=c.animObj,
A=c.animType,B=function(b){(b||this).hide()};!f[e]&&(f[e]=[]);"element"===e?(h=b.attr("ringpath"),c=(h[4]+h[5])/2,g?b.animateWith(d,m,{ringpath:[h[0],h[1],h[2],h[3],c,c]},a,A,B):f[e].push(b)):g?B(b):f[e].push(b)},removeGraphics:function(b,g){var e,c,h=b.components&&b.components.data,f,a=b.graphics;if(h)for(f=h.length,e=0;e<f;e+=1)this.removeGraphics(h[e]);if(b.graphics)for(c in a)a.hasOwnProperty(c)&&this.removalFn(b.graphics[c],g,c)},removeChild:function(b,g,e){var c,h;if(b.length)for(c=0;c<b.length;c+=
1)h=b[c],e?this.removalFn(h,g,e):this.removeGraphics(h,g);else for(c in b)this.removeChild(b[c],g,c)},addMSPieCat:function(b,g,e,c,h){var f,s,l,m=b.length,A=this,B=e.components.data,q=A.chart.components,P=A.conf,k=P.borderWidth,V=P.borderColor,u=q.numberFormatter,q=q.colorManager,p,n=0,t,z,X=P.labelSepChar,C,r,v,x,w,H=g,J=B.length,E=function(){A.removeChild.apply(A,arguments)},D=b.length;p=h-c;var Q=0,S;for(z=0;z<m;z+=1)h=b[z],h._userValue=u.getCleanValue(h.value,!0),h._value=a(h._userValue,1),n+=
h._value;n=n||1;p/=n;for(z=m-1;0<=z;--z)h=b[z],t=p*h._value,f=Z(d(h.label,h.name)),r=null!==h._userValue?u.dataLabels(h._userValue):y,v=u.percentValue(h._value/n*100),C=a(h.alpha,P.alpha),w=P.showLabels?f:y,P.showValues&&(P.showPercentValues?w+=w!==y?X+v:v:void 0!==r&&r!==y&&(w+=w!==y?X+r:r)),x=P.showTooltip?Z(d(h.tooltext,h.hovertext,P.tooltext)):void 0,x===y?(x=f,P.showValuesInTooltip&&(P.showPercentInTooltip?x+=x!==y?X+v:v:void 0!==r&&r!==y&&(x+=x!==y?X+r:r))):x=Ba(x,[1,2,3,14],{percentValue:v,
label:f,formattedValue:r},h),f=B[z],r=c+Q,Q+=t,f||(f=B[z]={components:{data:[]},linkedItems:{},config:{},graphics:{}}),f.graphics.element&&(S=f.config.startAngle+f.config.angleStrech),f.config={initialAngle:S||(e.conf||e.config).initialAngle,startAngle:r,angleStrech:t,level:g,displayValue:w,toolText:x,link:F(h.link),doNotSlice:!0,color:ea(h.color||q.getPlotColor(),C),borderWidth:a(h.borderwidth,k),borderColor:d(h.bordercolor,V),dashStyle:a(h.valueborderdashed,0)?ua(a(h.borderdashlen,4),a(h.borderdashgap,
2),a(h.borderthickness,1)):"none",shadow:{opacity:.01*ga(50<C?C*C*C*1E-4:C*C*.01)},isSingleTon:1<m?!1:!0},f.linkedItems.parent=e,h.category?(H=N(H,A.addMSPieCat(h.category,g+1,f,r,t+r)),(s=f.components.data.length)>(l=h.category.length)&&E(f.components.data.splice(s-1,l))):(s=f.components.data.length)&&E(f.components.data.splice(0,s));J>D&&E(B.splice(J-1,D));return H},draw:function(b){var g,e,c,h=this.conf||{},f=this.chart,d=f.config,l=f.graphics;c=this.components;var m=c.data.length,A=d.dataLabelStyle;
g=h.showShadow;var B=f.components.paper,q=d.textDirection,P=d.tooltip||{},P=P&&!1!==P.enabled,k,V=d.canvasWidth;k=d.canvasHeight;var p=a(h.originX,d.canvasLeft+.5*V),d=a(h.originY,d.canvasTop+.5*k),n,t,r,z,X,C,v=l.datasetGroup.trackTooltip(!0),w=f.get("config","animationObj"),y=w.duration||0,F=w.dummyObj,H=w.animObj,w=w.animType,J,R,D,Q,S=h.events||{};D=function(b){var c=S.mouseOver;za.call(this,f,b,"DataPlotRollOver");c&&c.call(this)};e=function(b){var c=S.mouseOut;za.call(this,f,b,"DataPlotRollOut");
c&&c.call(this)};var U=function(b){var c=S.mouseOver;za.call(this,f,b,"DataPlotRollOver");c&&c.call(this)},N=function(b){var c=S.mouseOut;za.call(this,f,b,"DataPlotRollOut");c&&c.call(this)},L=function(b){za.call(this,f,b)},Y=function(b,c){return function(b,c){return function(){K.show();c===m-1&&(K.show(),f._animCallBack())}}(b,c)},I=this.pool||(this.pool={});c=(c=c.removeDataArr)&&c.length;k=a(2*h.pieRadius,E(V,k))/(2*h.maxLevel);var K=l.datalabels||(l.datalabels=B.group("datalabels").insertAfter(v));
c&&this.remove();y&&K.hide();!b&&(b=this);m=b.components.data.length;for(h=0;h<m;h+=1)this.draw(b.components.data[h]);V=b.config;(c=V.level)?(l=c*k,c=(c-1)*k,J=b.graphics,t=V.angleStrech,r=V.displayValue,k=V.toolText,z=!!V.link,n=V.color,X=V.startAngle,C=X+V.angleStrech,Q=V.initialAngle,R=J.element,R||(I.element&&I.element.length?(R=J.element=I.element.shift(),R.show()):R=J.element=B.ringpath(v).mouseover(D).mouseout(e).mouseup(L),R.attr({ringpath:[p,d,l,c,Q,Q]})),b={chart:f,link:V.link,value:t,color:n,
labelText:r,graphics:{element:R},selfRef:b},v={link:V.link,label:V.displayValue,toolText:V.toolText},R.attr({"stroke-width":V.borderWidth,stroke:V.borderColor,fill:x(V.color),"stroke-dasharray":V.dashStyle,ishot:!P,cursor:z?"pointer":u}).tooltip(V.toolText).shadow(g&&!!V.shadow).data("plotItem",b).data("eventArgs",v),D=J.label,void 0!==r&&r!==u?(g=(X+C)/2,e=0===c&&V.isSingleTon?0:c+(l-c)/2,D=J.label,D||(D=I.label&&I.label.length?J.label=I.label.shift():J.label=B.text(K).mouseover(U).mouseout(N).mouseup(L)),
b.label=D,D.attr({text:r,fill:A.color||"#000000",direction:q,ishot:z,cursor:z?"pointer":u,x:p+e*da(g),y:d+e*T(g),"text-bound":[A.backgroundColor,A.borderColor,A.borderThickness,A.borderPadding,A.borderRadius,A.borderDash]}).show().css(A).data("plotItem",b).data("eventArgs",v),P&&D.tooltip(k)):D&&D.hide(),R.animateWith(F,H,{ringpath:[p,d,l,c,X,C]},y,w,!h&&Y(void 0,void 0))):this.removeChild(this.pool,!0)}},"Pie2D"]);M("radar",{friendlyName:"Radar Chart",standaloneInit:!0,creditLabel:n,defaultDatasetType:"radar",
applicableDSList:{radar:!0},hasLegend:!0,areaAlpha:50,showValues:0,defaultPlotShadow:0,_postSpaceManagement:function(){var b=this.components,g=this.config,e=b.legend;(b.yAxis&&b.yAxis[0]).setAxisDimention({x:g.canvasLeft+g.canvasWidth/2,y:g.canvasTop,axisLength:g.canvasHeight/2});e.postSpaceManager()}},M.mspolar);M("dragbase",{configure:function(){var b=this.jsonData.chart,g,e;this.base.base.configure.call(this);e=this.config;e.formAction=F(b.formaction);"0"!==b.submitdataasxml||b.formdataformat||
(b.formdataformat=I.dataFormats.CSV);e.formDataFormat=d(b.formdataformat,I.dataFormats.XML);e.formTarget=d(b.formtarget,"_self");e.formMethod=d(b.formmethod,"POST");e.submitFormAsAjax=a(b.submitformusingajax,1);e.restoreBtnTitle=d(b.restorebtntitle,"Restore");e.submitBtnTitle=d(b.formbtntitle,"Submit");e.showFormBtn=a(b.showformbtn,1)&&e.formAction;e.showRestoreBtn=a(b.showrestorebtn,1);e.formBtnTitle=d(b.formbtntitle,"Submit");e.formBtnBorderColor=d(b.formbtnbordercolor,"CBCBCB");e.formBtnBgColor=
d(b.formbtnbgcolor,"FFFFFF");e.btnPadding=a(b.btnpadding,7);e.btnSpacing=a(b.btnspacing,5);e.formBtnStyle={fontSize:e.style.outCanfontSize,fontFamily:e.style.outCanfontFamily,fontWeight:"bold"};e.formBtnLabelFill=e.style.outCancolor;b.btntextcolor&&(e.formBtnLabelFill=b.btntextcolor.replace($,na));0<=(g=a(b.btnfontsize))&&(e.formBtnStyle.fontSize=g+"px");e.restoreBtnWidth=a(b.restorebtnwidth,0);e.formBtnWidth=a(b.formbtnwidth,0);e.restoreBtnBorderColor=d(b.restorebtnbordercolor,e.formBtnBorderColor);
e.restoreBtnBgColor=d(b.restorebtnbgcolor,e.formBtnBgColor);e.restoreBtnStyle={fontSize:e.formBtnStyle.fontSize,fontFamily:e.formBtnStyle.fontFamily,fontWeight:"bold"};e.restoreBtnLabelFill=e.formBtnLabelFill},_createToolBox:function(){var b=this,g=b.components.tb||(b.components.tb=new (FusionCharts.register("component",["toolbox","toolbox"]))),e,c,h;h=b.components;var f,a,d=b.linkedItems.smartLabel,m=b.config,A=m.showRestoreBtn,B=m.formAction,q=m.restoreBtnTitle,P=m.submitBtnTitle,k=m.formBtnStyle,
V=m.restoreBtnStyle,u=m.restoreBtnWidth,p=m.restoreBtnBgColor,n=m.restoreBtnBorderColor,t=m.formBtnBgColor,z=m.formBtnBorderColor,r=m.restoreBtnLabelFill,C=m.formBtnLabelFill,v=m.btnSpacing,x=m.btnPadding,w=m.formBtnWidth;e=h.chartMenuBar;e&&e.drawn||(e=g.init({graphics:b.graphics||(b.graphics={}),chart:b,components:b.components}),g.pId=e,e=h.toolBoxAPI=g.getAPIInstances(g.ALIGNMENT_HORIZONTAL),c=e.ComponentGroup,h=e.Toolbar,f=e.Symbol,g.getDefaultConfiguration(),e=g.getDefaultConfiguration(),a=new f(q,
!0,(g.idCount=g.idCount||0,g.idCount++),g.pId),f=new f(P,!0,g.idCount++,g.pId),M.mscartesian._createToolBox.call(b),b.addConfigureOptions&&b.addConfigureOptions(),c=new c(g.idCount++,g.pId),d.useEllipsesOnOverflow(m.useEllipsesWhenOverflow),d.setStyle(V),q=d.getOriSize(q),u=N(q.width,u),m=q.height,d.setStyle(k),q=d.getOriSize(P),w=N(w,q.width),d=q.height,a.conf.width=u+x,f.conf.width=w+x,a.conf.stroke=ea(n,100),a.conf.height=m+x,f.conf.height=d+x,f.conf.fill=ea(t,100),f.conf.labelFill=ea(C,100),a.conf.fill=
ea(p,100),a.conf.labelFill=ea(r,100),f.conf.stroke=ea(z,100),f.conf.btnTextStyle.fontSize=k.fontSize,a.conf.btnTextStyle.fontSize=V.fontSize,e.spacing=v,c.setConfiguaration({buttons:e,group:{fill:ea("FFFFFF",0),borderThickness:0}}),A&&(c.addSymbol(a),a.attachEventHandlers({click:function(){b.restoreData()}})),B&&(c.addSymbol(f),f.attachEventHandlers({click:function(){b.submitData(I)}})),g=new h(g.idCount++,g.pId),g=b.components.actionBar=g,g.addComponent(c),g.toolbarConfig.fill=ea("EBEBEB",0),g.toolbarConfig.borderThickness=
0)},addConfigureOptions:function(){var b=this,g=b.chartMenuTools,e=b.components.chartMenuBar.componentGroups[0].symbolList[0].getListRefernce(),c=a(b.jsonData.chart.allowaxischange,1),g=g.set,h=[{"Increase Upper Limit":{handler:function(){var c=b.components.yAxis[0].config.axisRange;b.changeUpperLimits(c.max+c.tickInterval)},action:"click"}},{"Increase Lower Limit":{handler:function(){var c=b.components.yAxis[0].config.axisRange;b.changeLowerLimits(c.min+c.tickInterval)},action:"click"}},{"Decrease Upper Limit":{handler:function(){var c=
b.components.yAxis[0].config.axisRange;b.changeUpperLimits(c.max-c.tickInterval)},action:"click"}},{"Decrease Lower Limit":{handler:function(){var c=b.components.yAxis[0].config.axisRange;b.changeLowerLimits(c.min-c.tickInterval)},action:"click"}}];c&&(g(h),e.appendAsList(h))},_manageActionBarSpace:function(){var b=this.components.actionBar,b=b&&b.getLogicalSpace()||{};this.config.actionBarHeight=b.height;return{bottom:b.height||0}},drawAxisUpdateUI:function(){var b=this,g=b.components.yAxis[0],e=
g.config.axisRange,c=g.graphics.labels||[],h=b.config,g=e.min,e=e.max,f=c[c.length-1],c=c[0],a=b.linkedItems.container,d=b.config.inCanvasStyle||{},m=Zb({outline:"none","-webkit-appearance":"none",filter:"alpha(opacity=0)",position:"absolute",background:"transparent",border:"1px solid #cccccc",textAlign:"right",top:0,left:0,width:50,zIndex:20,opacity:0,borderRadius:0},d),A={max:{label:f,value:e},min:{label:c,value:g}};Ua(["max","min"],function(c){var g=A[c],e=g.label,f=g.value,V=g.oldValue=f,g=e&&
e.getBBox(),k="max"===c?!0:!1,p,n,t,z,r,C,x=function(c,g,e){return c===g+u?null:e?b.changeUpperLimits(c):b.changeLowerLimits(c)},w=function(){return function(){var b={opacity:1,filter:"alpha(opacity=100)",color:d.color},c;this.value=f;for(c in b)this.style[c]=b[c];z=C=!0;e.hide()}}(f),y=function(){return function(){var b=this;C&&(C=!1,qb||setTimeout(function(){b.select()},0))}}(),E=function(){return function(){!0!==x(this.value,V,k)&&(this.style.opacity=0,this.style.filter="alpha(opacity=0)",e.show());
nb&&Oa.getElementsByTagName("body")[0].focus&&Oa.getElementsByTagName("body")[0].focus();z=C=!1}}(k,V),H=function(){return function(b){var c=b.originalEvent.keyCode,g=this.value;13===c?(b=x(g,V,k),!1===b&&(this.style.color="#dd0000")):27===c&&(this.value=V,v.dem.fire(this,"blur",b))}}(k,V);if(g&&e){c=g.x+g.width-h.marginLeft;n=h.canvasLeft-c-(D?4:5);p=sc("input",{type:"text",value:f,name:f||u},a,!0);Zb(m,{top:g.y+(D?-1:0)+"px",left:n+"px",width:c+"px"});for(t in m)p.style[t]=m[t];v.dem.listen(p,["focus",
"mouseup","blur","keyup"],[w,y,E,H]);p.setAttribute("isOverlay","true");D?(Fb(a,"defaultprevented",r=function(b){p.parentNode&&v.dem.fire(p,"blur",b)}),Fb(a,"destroy",function(){jb(b,"defaultprevented",r);p.parentNode.removeChild(p)})):(Fb(a,"mousedown",r=function(b){b.srcElement!==p&&z&&v.dem.fire(p,"blur",b)}),Fb(a,"destroy",function(){jb(a,"mousedown",r);p.parentNode.removeChild(p)}))}})},drawActionBar:function(){var b=this.config,g=this.components.actionBar||{},e;e=g.getLogicalSpace();g.toolbarConfig.fill=
p;g.toolbarConfig.vPadding=0;g.toolbarConfig.borderColor=p;g.draw(b.width-b.marginRight-e.width,b.height-b.marginBottom-e.height);g.drawn=!0},changeUpperLimits:function(b){var g=this.components.yAxis[0],e=g.config.axisRange,c=e.min,h=e.max,f=this.config.yMax,e=!1;void 0!==b&&b>f&&b!==h?e=!0:b=f>h?f:h;e&&(g.setAxisData({axisMaxValue:b,axisMinValue:c}),g.setDataLimit(b,c),this._drawAxis(),this._drawDataset())},changeLowerLimits:function(b){var g=this.components.yAxis[0],e=g.config.axisRange,c=this.config.yMin,
h=e.max,f,a=!1,e=e.min;void 0!==b&&b<c&&b!==e?(f=b,a=!0):b=c<e?c:e;a&&(g.setAxisData({axisMaxValue:h,axisMinValue:b}),g.setDataLimit(h,f),this._drawAxis(),this._drawDataset())},eiMethods:{getDataWithId:function(){for(var b=this.jsVars.instanceAPI.getJSONData(),g=[[y]],e=b.dataset,b=b.categories&&b.categories[0]&&b.categories[0].category,c=e&&e.length||0,h=0,f,a,d,m,A,B;c--;)if(a=e[c])for(g[0][c+1]=a.id||a.seriesname,m=a.id||c+1,B=(a=a.data)&&a.length||0,A=0;A<B;A+=1){d=A+1;if(!g[d]){for(f=b&&b[A+
h]||{};f.vline;)h+=1,f=b[A+h]||{};f=f.label||f.name||y;g[d]=[f]}f=g[d];d=a[A].id||d+"_"+m;f[c+1]=[d,Number(a[A].value)]}return g},getData:function(b){var g=this.jsVars.instanceAPI,e=g.getJSONData(),c=[[y]],h=e.dataset,f=e.categories&&e.categories[0]&&e.categories[0].category,a=h&&h.length||0,d=0,m,A;if(b)c=/^json$/ig.test(b)?e:I.core.transcodeData.call(g.chartInstance,e,"json",b);else for(;a--;)if(b=h[a])for(c[0][a+1]=h[a].seriesname,g=(b=h[a]&&h[a].data)&&b.length||0,e=0;e<g;e+=1){A=e+1;if(!c[A]){for(m=
f&&f[e+d]||{};m.vline;)d+=1,m=f[e+d]||{};m=m.label||m.name||y;c[A]=[m]}A=c[A];A[a+1]=Number(b[e].value)}return c}},restoreData:function(){var b=this.components,g=b.yAxis[0],e=b.dataset,b=b.legend,c=e.length,h,a;for(a=0;a<c;a++)h=e[a],h.configure();g.setAxisData({axisMaxValue:void 0,axisMinValue:void 0});this._setAxisLimits();this._drawAxis();this._drawDataset();b._drawPointLegendItem()},submitData:function(b){var g=this.chartInstance,e=new b.ajax,c=this.config,h=b.dataFormats.JSON,a=b.dataFormats.CSV,
d=b.dataFormats.XML,l=c.formAction,m=this.chartInstance,A=c.submitFormAsAjax,B,q,P,k,V;c.formDataFormat===h?(B=h,q=JSON.stringify(this.getJSONData())):this.formDataFormat===a?(B=a,q=g.getCSVString&&g.getCSVString(),void 0===q&&(q=b.core.transcodeData(this.getJSONData(),h,a))):(B=d,q=b.core.transcodeData(this.getJSONData(),h,d));b.raiseEvent("beforeDataSubmit",{data:q},m,void 0,function(){A?(e.onError=function(b,c,g,e){v.raiseEvent("dataSubmitError",{xhrObject:c.xhr,url:e,statusText:b,httpStatus:c.xhr&&
c.xhr.status?c.xhr.status:-1,data:q},m,[m.id,b,c.xhr&&c.xhr.status])},e.onSuccess=function(b,c,g,h){v.raiseEvent("dataSubmitted",{xhrObject:e,response:b,url:h,data:q},m,[m.id,b])},P={},P["str"+B.toUpperCase()]=q,e.open&&e.abort(),e.post(l,P)):(k=oa.document.createElement("span"),k.innerHTML='<form style="display:none" action="'+l+'" method="'+c.formMethod+'" target="'+c.formTarget+'"> <input type="hidden" name="strXML" value="'+hc(q)+'"><input type="hidden" name="dataFormat" value="'+B.toUpperCase()+
'" /></form>',V=k.removeChild(k.firstChild),oa.document.body.appendChild(V),V.submit&&V.submit(),V.parentNode.removeChild(V),k=V=null)},function(){b.raiseEvent("dataSubmitCancelled",{data:q},m)})},getJSONData:function(){var b=this.defaultDatasetType&&this.defaultDatasetType.toLowerCase(),g=this.components,e=g["datasetGroup_"+b],b=g.dataset,c=this.jsonData.dataset,h,a=this.jsonData,d=b.length,g=[],l;if(e)g=e.getJSONData();else for(e=0;e<d;e++)h=b[e],l=h.getJSONData(),h=c[e]||{},delete h.data,g.push(W(h,
l));b=W({},a);b.dataset=g;return b},_setDataLimits:function(){var b=this.components.dataset,g=this.config,e=-Infinity,c=Infinity,h,a,d;a=b.length;for(d=0;d<a;d++)h=b[d],h=h.getDataLimits(),e=N(e,h.max),c=E(c,h.min);g.yMax=e;g.yMin=c}},M.mscartesian);M("dragnode",{friendlyName:"Dragable Node Chart",standaloneInit:!0,hasLegend:!0,numVDivLines:0,numDivLines:0,showLimits:0,setadaptivexmin:1,showdivlinevalues:0,showzeroplane:0,showyaxisvalues:0,dontShowLegendByDefault:!0,creditLabel:n,defaultDatasetType:"dragnode",
configure:function(){var b=this.jsonData.chart,g;M.dragbase.configure.call(this);g=this.config;g.formAction=F(b.formaction);"0"!==b.submitdataasxml||b.formdataformat||(b.formdataformat=I.dataFormats.CSV);g.formDataFormat=d(b.formdataformat,I.dataFormats.XML);g.formTarget=d(b.formtarget,"_self");g.formMethod=d(b.formmethod,"POST");g.submitFormAsAjax=a(b.submitformusingajax,1);g.viewMode=a(b.viewmode,0)},_createDatasets:function(){var b=this.config,g=this.components,e=this.jsonData,c=e.dataset,h=e.connectors,
a=e.labels&&e.labels.label||[],d=c&&c.length,l=h&&h.length,m=a&&a.length||[],A=g.legend,B,q,P,k,V,p,u,n,t,z;n=0;var r=b.datasetMap||(b.datasetMap={connectors:[],dragnode:[],labels:[]}),C,v={connectors:[],dragnode:[],labels:[]},x={};if(c){this.config.categories=e.categories&&e.categories[0].category;q=g.dataset=[];B=FusionCharts.register("component",["datasetGroup","dragnode"]);e=g.datasetGroup_dragnode;B&&!e&&(e=g.datasetGroup_dragnode=new B,e.chart=this,e.init());V=FusionCharts.get("component",["dataset",
"Dragnode"]);p=FusionCharts.get("component",["dataset","Connector"]);u=FusionCharts.get("component",["dataset","DragableLabels"]);for(B=0;B<d;B++)g="dragnode",P=r[g],C=P[0],void 0===x[g]?x[g]=0:x[g]++,C?(k=c[B],t=C.components&&C.components.data||[],v[g].push(C),q.push(C),t=t.length,z=k&&k.data&&k.data.length||0,t>z&&C.removeData(z-1,t-z),C.JSONData=k,C.configure(),P.shift()):(k=c[B],P=new V,P.chart=this,v[g].push(P),q.push(P),P.chart=this,P.index=B,P.init(k),e.addDataset(P,B)),n++;for(B=0;B<l;B++)g=
"connectors",d=h[B],P=r[g],C=P[0],void 0===x[g]?x[g]=0:x[g]++,C?(t=C.components&&C.components.data||[],t=t.length,z=d.connector&&d.connector.length||0,v[g].push(C),q.push(C),t>z&&C.removeData(z-1,t-z),C.JSONData=d,C.configure(),P.shift()):(P=new p,P.chart=this,v[g].push(P),q.push(P),P.init(d),e.addConnectors(P,B)),n++;g="labels";P=r[g];C=P[0];void 0===x[g]?x[g]=0:x[g]++;C?(t=C.JSONData,t=t.length,z=m,v[g].push(C),q.push(C),t>z&&C.removeData(z-1,t-z),C.JSONData=a,C.configure(),P.shift()):(n=new u,
n.chart=this,v[g].push(n),q.push(n),n.init(a),e.addLabels(n,0));this.config._datasetUpdated=!0;for(c in r)if(P=r[c],a=P.length,n=x[c]||-1,a)for(h=0;h<a;h++)"dragnode"===c?(e.removeNodeDataset(n),e._clearConnectors(),A.removeItem(P[h].legendItemId)):"connectors"===c?e.removeConnectorSet(n):e.removeLabelSet(n),K.call(P[h]),n+=1;b.datasetMap=v}else this.setChartMessage()},addConfigureOptions:function(){var b=this.chartMenuTools,g=this.components["datasetGroup_"+this.defaultDatasetType],e=this.components.chartMenuBar.componentGroups[0].symbolList[0].getListRefernce(),
b=b.set,c=this.config.viewMode,h=[{"Add Node":{handler:function(){g.showNodeAddUI()},action:"click"}},{"Add Connector":{handler:function(){g.showConnectorAddUI(g.chart,{})},action:"click"}},{"Add Label":{handler:function(){g.showLabelUpdateUI(g.chart,{})},action:"click"}}];b(h);!c&&e.appendAsList(h)},_redrawDragNode:function(b,g){var e=this.chart;this.draw();v.raiseEvent("chartUpdated",W({sourceEvent:g},b),e.chartInstance,[e.chartInstance.id])},addNode:function(b){var g=this.components.dataset,e=
b.datasetId,c=g.length,h,a,d,l;for(l=0;l<c;l++)if(h=g[l]||{},d=h.config&&h.config.id,void 0!==d&&(d=d.toString()),d===e){a=!0;break}h&&a&&(g=h.groupManager,e=h.components.data,b.add=!0,c=e.length,e={index:c,dataIndex:c,link:b.link,y:b.y,x:b.x,shape:b.shape,width:b.width,height:b.height,radius:b.radius,sides:b.sides,label:b.name,toolText:b.tooltext,id:b.id,datasetIndex:h.index,datasetName:h.JSONData.seriesname,sourceType:"dataplot"},h._setConfigure(c,b),this._redrawDragNode.call(g,e,"nodeAdded"),I.raiseEvent("nodeAdded",
e,this.chartInstance))},updateNode:function(b){var g=this.components["datasetGroup_"+this.defaultDatasetType],e=g.datasets,c=e.length,h,a,d,l,m,A,B;b.update=!0;for(m=0;m<c;m++)for(d=e[m].dataset,A=d.components.data||[],h=A.length,B=0;B<h;B++)if(l=A[B],l.config.id===b.id){a=!0;break}d&&a&&(e={index:B,dataIndex:B,link:b.link,y:b.y,x:b.x,shape:b.shape,width:b.width,height:b.height,radius:b.radius,sides:b.sides,label:b.name,toolText:b.tooltext,id:b.id,datasetIndex:d.index,datasetName:d.JSONData.seriesname,
sourceType:"dataplot"},d._setConfigure(B,b),this._redrawDragNode.call(g,e,"nodeupdated"),I.raiseEvent("nodeupdated",e,this.chartInstance))},deleteNode:function(b){var g=this.components["datasetGroup_"+this.defaultDatasetType].nodes,e=g[b],c,h,a,d,l,m,A,B,q=function(b){for(var c in b)b[c].remove()};if(e){c=e.dataset;h=c.components.data;a=e.config.startConnectors;d=e.config.endConnectors;B=h.length;for(e=0;e<B;e++)if(m=h[e],m.config.id===b){l=!0;break}if(!0===l){h=m.graphics;q(h);for(A in a)l=a[A]||
{},h=l.graphics,q(h),delete l.graphics;for(A in d)l=d[A]||{},h=l.graphics,q(h),delete l.graphics;delete g[b];m.removed=!0;b=m.config||{};c={index:e,dataIndex:e,link:b.link,y:b.y,x:b.x,shape:b.shape,width:b.width,height:b.height,radius:b.radius,sides:b.sides,label:b.displayValue,toolText:b.toolText,id:b.id,datasetIndex:e,datasetName:c.JSONData.seriesname,sourceType:"dataplot"};v.raiseEvent("chartUpdated",W({sourceEvent:"nodedeleted"},c),this.chartInstance,[this.chartInstance.id]);I.raiseEvent("nodedeleted",
c,this.chartInstance)}}},addConnector:function(b){var g=this.components["datasetGroup_"+this.defaultDatasetType],e=g.connectorSet[0].connectors,c=e.components.data.length;b.add=!0;e._setConfigure(c,b);b={arrowAtEnd:Boolean(b.arrowAtEnd),arrowAtStart:Boolean(b.arrowAtStart),fromNodeId:b.from,id:b.id,label:b.label,link:b.connectorLink,sourceType:"connector",toNodeId:b.to};this._redrawDragNode.call(g,b,"connectoradded");I.raiseEvent("connectoradded",b,this.chartInstance)},editConnector:function(b){var g=
this.components["datasetGroup_"+this.defaultDatasetType],e=b.from,c=b.to,h=g.connectorSet,a,d,l,m,A,B,q,P,k=h.length;for(a=0;a<k;a++)for(l=(P=h[a].connectors)&&P.components.data||[],d=l.length,B=0;B<d;B++)if(m=l[B],A=m.config,m=A.from,A=A.to,m===e&&A===c){q=!0;break}b.update=!0;q&&(P._setConfigure(B,b),b={arrowAtEnd:Boolean(b.arrowatend),arrowAtStart:Boolean(b.arrowatstart),fromNodeId:b.from,id:b.id,label:b.label,link:b.link,sourceType:"connector",toNodeId:b.to},this._redrawDragNode.call(g,b,"connectorupdated"),
I.raiseEvent("connectorupdated",b,this.chartInstance))},deleteConnector:function(b){var g=b.from;b=b.to;var e=this.components["datasetGroup_"+this.defaultDatasetType].connectorSet,c,h,a,d,l,m=!1,A=e.length;for(c=0;c<A;c++)for(h=e[c].connectors,d=h.components.data,l=d.length,h=0;h<l;h++)if(a=d[h],a.config.from===g&&a.config.to===b){m=!0;break}if(m){g=a.config||{};g={arrowAtEnd:g.arrowAtEnd,arrowAtStart:g.arrowAtStart,fromNodeId:g.from,id:g.id,label:g.label,link:g.connectorLink,sourceType:"connector",
toNodeId:g.to};b=a.graphics;for(var B in b)b[B].remove();delete a.graphics;a.removed=!0;v.raiseEvent("chartUpdated",W({sourceEvent:"connectordeleted"},g),this.chartInstance,[this.chartInstance.id]);I.raiseEvent("connectordeleted",g,this.chartInstance)}},addLabel:function(b){var g=this.components["datasetGroup_"+this.defaultDatasetType],e=g.labelSet,c=FusionCharts.get("component",["dataset","DragableLabels"]);b.add=!0;e.length?(e=g.labelSet[0].labels,c=e.components.data,c=c.length,e._setConfigure(c,
b)):(e=new c,e.chart=this,e.init([b]),g.addLabels(e,0));e={text:b.text,x:b.x,y:b.y,allowdrag:b.allowdrag,sourceType:"labelnode",link:b.link};this._redrawDragNode.call(g,e,"labeladded");I.raiseEvent("labeladded",e,this.chartInstance);b.add=!0},deleteLabel:function(b){b=this.components["datasetGroup_"+this.defaultDatasetType].labelSet[0].labels.components.data[b];var g,e;if(g=b.graphics.element)e=g.data("eventArgs"),g.remove(),delete b.graphics;v.raiseEvent("chartUpdated",W({sourceEvent:"labeldeleted"},
e),this.chartInstance,[this.chartInstance.id]);I.raiseEvent("labeldeleted",e,this.chartInstance);b.removed=!0},restoreData:function(){var b=this.components["datasetGroup_"+this.defaultDatasetType],g=b.datasets,e=this.components.legend,c=b.connectorSet,a,f,d,l,m=b.labelSet,A=function(b){var c,g;for(c=0;c<b.length;c++)if(d=b[c],delete d.removed,d.config.add)for(g in l=b[c].graphics,l)l[g].remove()};for(a=0;a<g.length;a++)f=g[a].dataset,b=f.components.data,A(b),f.drawn=!1,f.configure();for(a=0;a<c.length;a++)f=
c[a].connectors,b=f.components.data,A(b),f.drawn=!1,f.configure();m.length&&(g=m[0].labels,b=g.components.data,A(b),g.configure());this._setAxisLimits();this._drawAxis();this._drawDataset();e._drawPointLegendItem()},getJSONData:function(){var b=this.defaultDatasetType&&this.defaultDatasetType.toLowerCase(),g=this.components,e=g["datasetGroup_"+b],b=g.dataset,c=this.jsonData,a=b.length,g=[],f;if(e)g=e.getJSONData();else for(e=0;e<a;e++)f=b[e],f=f.getJSONData(),g.push(f);b=W({},c);b.dataset=g.dataset;
b.connectors=g.connectors;b.labels=g.labels;return b},_setCategories:function(){var b=this.jsonData,g=this.components.xAxis,b=b.categories&&b.categories[0].category||[],e=b.length,c=[],a,f;for(a=0;a<e;a++)f=b[a]||{},void 0!==f.x&&c.push(f);g&&g[0].setCategory(c)},_drawDataset:function(){var b=this.components["datasetGroup_"+this.defaultDatasetType];b&&b.draw()},_setAxisLimits:function(){var b=this.components,g=this.jsonData,g=g.categories&&g.categories[0].category||[],e,c=b.dataset,a=b.yAxis,b=b.xAxis,
f,s=c.length,l,m=-Infinity,A=Infinity,B=Infinity,q=-Infinity,P,k,V={},p=[],n=function(b){P=d(b.xMax,-Infinity);k=d(b.xMin,Infinity);m=N(m,b.max);A=E(A,b.min);q=N(q,P);B=E(B,k)};for(l=0;l<s;l++)f=c[l],(e=f.groupManager)?V[f.type]=e:p.push(f);for(e in V)c=V[e].getDataLimits(),n(c);s=p.length;for(l=0;l<s;l++)c=p[l].getDataLimits(),n(c);-Infinity===m&&(m=0);Infinity===A&&(A=0);this.config.yMax=m;this.config.yMin=A;a[0].setAxisConfig({isPercent:this.isStacked?this.config.stack100Percent:0});a[0].setDataLimit(m,
A);if(-Infinity!==q||Infinity!==B){l=0;for(s=g.length;l<s;l++)if(e=g[l],e=e.x)e<B&&(B=e),e>q&&(q=e);b[0].setDataLimit(q,B)}}},M.dragbase);FusionCharts.register("component",["datasetGroup","DragNode",{init:function(){this.connectorSet=[];this.nodes={};this.datasets=[];this.components=[];this.graphics={};this.labelSet=[]},addDataset:function(b,g){var e=this.datasets[g];b.groupManager=this;b.datasetIndex=g;e||(this.datasets[g]={dataset:b})},addLabels:function(b,g){var e=this.labelSet[g];b.groupManager=
this;e||(this.labelSet[g]={labels:b})},addConnectors:function(b,g){var e=this.connectorSet[g];b.groupManager=this;e||(this.connectorSet[g]={connectors:b})},showNodeAddUI:function(){var b=this.chart,g=b.components.dataset,e=u,c,a,f;for(f=0;f<g.length;f++)a=g[f]||{},c=a.config,a=a.plotType,"dragnode"===a&&(e+='<option value="'+c.id+'">'+(c.name!==y&&void 0!==c.name&&c.name+Xb+" "||y)+c.id+"</option>");this.showNodeUpdateUI(b,{dataset:{innerHTML:e}})},showConnectorAddUI:function(){var b=this.chart,g=
this.nodes,e=u,c,a;for(a in g)c=g[a],c=c.config,c=c.id,e+='<option value="'+c+'">'+c+"</option>";this.showConnectorUpdateUI(b,{fromid:{innerHTML:e},toid:{innerHTML:e}})},draw:function(){var b=this.datasets,g=this.connectorSet,e,c,a=this.labelSet,f;this.updateUIvisuals();e=0;for(f=b.length;e<f;e++)c=b[e].dataset,c.draw();e=0;for(f=g.length;e<f;e++)b=g[e].connectors,b.draw();e=0;for(f=a.length;e<f;e++)g=a[e].labels,g.draw();this.drawn=!0},getJSONData:function(){var b=this.datasets,g=this.connectorSet,
e=this.labelSet,c={},a,f,d;c.dataset=[];c.connectors=[];c.labels=[];a=0;for(f=b.length;a<f;a++)d=b[a]&&b[a].dataset,c.dataset[a]||(c.dataset[a]=W({},d.JSONData)),c.dataset[a].data=d.getJSONData();a=0;for(f=g.length;a<f;a++)d=g[a]&&g[a].connectors,c.connectors[a]||(c.connectors[a]=W({},d.JSONData)),c.connectors[a].connector=d.getJSONData();a=0;for(f=e.length;a<f;a++)d=e[a]&&e[a].labels,c.labels[a]||(c.labels[a]={label:[]}),c.labels[a].label=d.getJSONData();return c},clearLongPress:function(){this.data("move",
!1);clearTimeout(this._longpressactive);delete this._longpressactive},createHtmlDialog:function(b,g,e,c,a,f,d){var l=b.components.paper,m=b.config.style.inCanvasStyle||{},A=b.config.width,B=b.config.height,q=b.get("config","animationObj").transposeAnimDuration,P={color:Tb(m.color),textAlign:"center",paddingTop:"1px",border:"1px solid #cccccc",borderRadius:"4px",cursor:"pointer",_cursor:"hand",backgroundColor:"#ffffff",zIndex:21,"-webkit-border-radius":"4px"},k=d;k?q?k.animate({width:A,height:B},q,
"normal"):k.attr({width:A,height:B}):k=l.html("div",{fill:"transparent",width:A,height:B},{fontSize:"10px",lineHeight:"15px",fontFamily:m.fontFamily},b.linkedItems.container);k.veil?q?k.veil.animate({width:A,height:B},q,"normal"):k.veil.attr({width:A,height:B}):k.veil=l.html("div",{fill:"000000",width:A,height:B,opacity:.3},void 0,k);b={x:(A-g)/2,y:(B-e)/2,fill:"efefef",strokeWidth:1,stroke:"000000",width:g,height:e};k.dialog?q?k.dialog.animate({x:b.x,y:b.y,width:b.width,height:b.height},q,"normal"):
k.dialog.attr(b):k.dialog=l.html("div",b,{borderRadius:"5px",boxShadow:"1px 1px 3px #000000","-webkit-border-radius":"5px","-webkit-box-shadow":"1px 1px 3px #000000",filter:'progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color="#000000")'},k);b={x:g-70-5,y:e-23-5,width:65,height:17,text:"Submit",tabIndex:1};k.ok?q?k.ok.animate({x:b.x,y:b.y,width:b.width,height:b.height},q,"normal"):k.ok.attr(b):k.ok=l.html("div",b,P,k.dialog).on("click",c);c={x:g-140-5,y:e-23-5,width:65,height:17,
text:"Cancel",tabIndex:2};k.cancel?q?k.cancel.animate({x:c.x,y:c.y,width:c.width,height:c.height},q,"normal"):k.cancel.attr(c):k.cancel=l.html("div",c,P,k.dialog).on("click",a);g={x:g-210-5,y:e-23-5,width:65,height:17,text:"Delete",tabIndex:3};k.remove?q?k.remove.animate({x:g.x,y:g.y,width:g.width,height:g.height},q,"normal"):k.remove.attr(g):k.remove=l.html("div",g,P,k.dialog).on("click",f);k.handleKeyPress||(k.handleKeyPress=function(b){13===b.keyCode?k.ok.trigger(qb?"touchStart":"click",b):27===
b.keyCode&&k.cancel.trigger(qb?"touchStart":"click",b)});return k},updateUIvisuals:function(){var b=this.graphics.cacheConnectorUpdateUI,g=this.chart,e=this.graphics.cacheLabelUpdateUI,c=this.graphics.cacheLabelDeleteUI,a=this.graphics.cacheUpdateUI;b&&this.createHtmlDialog(g,350,215,void 0,void 0,void 0,b);a&&this.createHtmlDialog(g,350,215,void 0,void 0,void 0,a);e&&this.createHtmlDialog(g,350,215,void 0,void 0,void 0,e);c&&this.createHtmlDialog(g,350,215,void 0,void 0,void 0,c)},showConnectorUpdateUI:function(b,
g,e){var c=b.components.paper,a=this.cacheConnectorUpdateUI,f={border:"1px solid #cccccc",fontSize:"10px",lineHeight:"15px",fontFamily:(b.config.style.inCanvasStyle||{}).fontFamily,padding:"2px"},s={textAlign:"right"},l=a&&a.fields,m=a&&a.labels,A,B,q,P=function(){var c=a&&a.fields,c={from:c.fromid.val(),to:c.toid.val(),id:c.id.val()};b.deleteConnector(c);a.hide()},k;a?(a.attr({width:b.config.width,height:b.config.height}),a.veil.attr({width:b.config.width,height:b.config.height}),a.dialog.attr({x:(b.config.width-
315)/2,y:(b.config.height-215)/2,width:315,height:215})):(a=this.graphics.cacheConnectorUpdateUI=this.createHtmlDialog(b,315,215,function(){var c=a&&a.fields,g;c&&(g={from:c.fromid.val(),to:c.toid.val(),id:c.id.val(),label:c.label.val(),color:c.color.val(),alpha:c.alpha.val(),link:c.url.val(),tooltext:c.tooltext.val(),strength:c.strength.val(),arrowatstart:c.arratstart.val(),arrowatend:c.arratend.val(),dashed:c.dashed.val(),dashlen:c.dashlen.val(),dashgap:c.dashgap.val()},g.from?g.to?g.from!=g.to?
(e?b.editConnector(g):b.addConnector(g),a.enableFields(),a.hide(),a.clearFields()):(a.error.attr({text:"Connector cannot start and end at the same node!"}),c.fromid.focus()):(a.error.attr({text:"Please select a valid connector end."}),c.toid.focus()):(a.error.attr({text:"Please select a valid connector start."}),c.fromid.focus()))},function(){a.error.attr({text:u});a.enableFields();a.hide()},P),k=a.dialog,m=a.labels={},l=a.fields={});a.config=g;a.enableFields||(a.enableFields=function(){for(var b in g)g[b]&&
g[b].disabled&&l[b]&&l[b].element.removeAttribute("disabled")});a.clearFields||(a.clearFields=function(){var b,c=a.fields;for(b in c)c[b].element.disabled||(c[b].element.value=u)});Ua(this.connectorUpdateUIDefinition,function(b){var e=b.key,P=g[e]||{};m[e]||(m[e]=c.html("label",{x:b.x,y:b.y,width:b.labelWidth||45,text:b.text},s,k));if(!b.noInput){if(!(B=l[e])){B=l[e]=c.html(b.inputType||"input",{y:-2+(b.inputPaddingTop||0),x:b.labelWidth&&b.labelWidth+5||50,width:b.inputWidth||50,name:e||u},f);if("select"!==
b.inputType)B.attr({type:b.type||"text"}).on("keyup",a.handleKeyPress);B.add(m[e])}(A=d(P.innerHTML,b.innerHTML))&&B.attr({innerHTML:A});void 0!==(q=d(P.val,b.val))&&B.val(q);P.disabled&&B.attr({disabled:"disabled"})}});a.checkDash=function(){var b=l.dashed&&l.dashed.val()?"show":"hide";m.dashgap&&m.dashgap[b]();l.dashgap&&l.dashgap[b]();m.dashlen&&m.dashlen[b]();l.dashlen&&l.dashlen[b]()};a.checkDash();l.dashed.on("click",a.checkDash);a.error||(a.error=c.html("span",{color:"ff0000",x:10,y:170},void 0,
k));a.remove[e?"show":"hide"]();b.animation?a.fadeIn("fast"):a.show()},labelUpdateUIDefinition:[{key:"label",text:"Label*",x:10,y:15,inputWidth:235},{key:"size",text:"Size",x:10,y:40},{key:"padding",text:"Padding",x:10,y:65},{key:"x",text:"Position",x:120,y:65,labelWidth:70,inputWidth:25},{key:"y",text:",",x:225,y:65,labelWidth:10,inputWidth:25},{key:"xy",text:"(x, y)",x:260,y:65,noInput:!0},{key:"allowdrag",text:"Allow Drag",x:120,y:40,inputType:"checkbox",inputPaddingTop:3,inputWidth:15,labelWidth:70,
val:1},{key:"color",text:"Color",x:10,y:90},{key:"alpha",text:"Alpha",x:145,y:90,inputWidth:30,val:"100"},{key:"bordercolor",text:"Border Color",x:10,y:125,labelWidth:100},{key:"bgcolor",text:"Background Color",x:10,y:150,labelWidth:100}],showLabelUpdateUI:function(b,g){var e=b.components.paper,c=this.graphics.cacheLabelUpdateUI,a={border:"1px solid #cccccc",fontSize:"10px",lineHeight:"15px",fontFamily:(b.config.style.inCanvasStyle||{}).fontFamily,padding:"2px"},f={textAlign:"right"},s=c&&c.fields,
l=c&&c.labels,m,A,B;c||(c=this.graphics.cacheLabelUpdateUI=this.createHtmlDialog(b,315,205,function(){var g=c&&c.fields,e;g&&(e={text:g.label.val(),x:g.x.val(),y:g.y.val(),color:g.color.val(),alpha:g.alpha.val(),bgcolor:g.bgcolor.val(),bordercolor:g.bordercolor.val(),fontsize:g.size.val(),allowdrag:g.allowdrag.val(),padding:g.padding.val()},e.text?(b.addLabel&&b.addLabel(e),c.hide()):(c.error.attr({text:"Label cannot be blank."}),g.label.focus()))},function(){c.error.attr({text:u});c.hide()}),B=c.dialog,
l=c.labels={},s=c.fields={});Ua(this.labelUpdateUIDefinition,function(b){var P=b.key;l[P]||(l[P]=e.html("label",{x:b.x,y:b.y,width:b.labelWidth||45,text:b.text},f,B));b.noInput||((m=s[P])||(m=s[P]=e.html("input",{y:-2+(b.inputPaddingTop||0),x:b.labelWidth&&b.labelWidth+5||50,width:b.inputWidth||50,type:b.inputType||"text",name:P||u},a,l[P]).on("keyup",c.handleKeyPress)),void 0!==(A=d(g[P],b.val))&&m.val(A))});c.error||(c.error=e.html("span",{color:"ff0000",x:10,y:180},void 0,B));b.animation?c.fadeIn("fast"):
c.show();c.fields.label.focus()},showLabelDeleteUI:function(b){var g=this.chart,e=g.get("config","animationObj").duration,c=g.components.paper,a=this.graphics.cacheLabelDeleteUI;a||(a=this.graphics.cacheLabelDeleteUI=this.createHtmlDialog(g,250,100,void 0,function(){a.hide()},function(){g.deleteLabel(b.config.index);a.hide()}),a.message=c.html("span",{x:10,y:10,width:230,height:80}).add(a.dialog),a.ok.hide(),a.remove.translate(175).show());a.message.attr({text:'Would you really like to delete the label: "'+
b.config.text+'"?'});e?a.fadeIn("fast"):a.show()},connectorUpdateUIDefinition:[{key:"fromid",text:"Connect From",inputType:"select",x:10,y:15,labelWidth:80,inputWidth:100},{key:"toid",text:"Connect To",inputType:"select",x:10,y:40,labelWidth:80,inputWidth:100},{key:"arratstart",text:"Arrow At Start",x:200,y:15,type:"checkbox",inputPaddingTop:3,labelWidth:80,inputWidth:15},{key:"arratend",text:"Arrow At End",x:200,y:40,type:"checkbox",inputPaddingTop:3,labelWidth:80,inputWidth:15},{key:"label",text:"Label",
x:10,y:75,labelWidth:40,inputWidth:120},{key:"id",text:"Node ID",x:190,y:75,inputWidth:55},{key:"color",text:"Color",x:10,y:100,labelWidth:40,inputWidth:35},{key:"alpha",text:"Alpha",x:110,y:100,inputWidth:25,labelWidth:35},{key:"strength",text:"Strength",x:190,y:100,inputWidth:55,val:"0.1"},{key:"url",text:"Link",x:10,y:125,labelWidth:40,inputWidth:120},{key:"tooltext",text:"Tooltip",x:190,y:125,labelWidth:40,inputWidth:60},{key:"dashed",text:"Dashed",x:10,y:150,type:"checkbox",inputPaddingTop:3,
inputWidth:15,labelWidth:40},{key:"dashgap",text:"Dash Gap",x:85,y:150,labelWidth:60,inputWidth:25},{key:"dashlen",text:"Dash Length",x:190,y:150,labelWidth:70,inputWidth:30}],nodeUpdateUIDefinition:[{key:"id",text:"Id",inputWidth:60,x:10,y:15},{key:"dataset",text:"dataset",inputType:"select",inputWidth:110,innerHTML:void 0,x:170,y:15},{key:"x",text:"Value",x:10,y:40,inputWidth:21},{key:"y",text:",",x:88,y:40,inputWidth:21,labelWidth:5},{text:"(x, y)",x:125,y:40,labelWidth:33,noInput:!0},{key:"tooltip",
text:"Tooltip",inputWidth:105,x:170,y:40},{key:"label",text:"Label",inputWidth:92,x:10,y:65},{key:"labelalign",text:"Align",labelWidth:70,inputWidth:110,inputType:"select",innerHTML:'<option></option><option value="top">Top</option><option value="middle">Middle</option><option value="bottom">Bottom</option>',x:145,y:63},{key:"color",text:"Color",x:10,y:90,inputWidth:60},{key:"colorOut",innerHTML:"&nbsp;",x:85,y:90,inputWidth:15,inputType:"span"},{key:"alpha",text:"Alpha",x:170,y:90,inputWidth:20},
{key:"draggable",text:"Allow Drag",value:!0,inputWidth:20,x:250,y:90,labelWidth:58,inputPaddingTop:3,type:"checkbox"},{key:"shape",text:"Shape",inputType:"select",inputWidth:97,innerHTML:'<option value="rect">Rectangle</option><option value="circ">Circle</option><option value="poly">Polygon</option>',x:10,y:115},{key:"rectHeight",text:"Height",x:170,y:115,inputWidth:20},{key:"rectWidth",text:"Width",x:255,y:115,inputWidth:20},{key:"circPolyRadius",text:"Radius",x:170,y:115,inputWidth:20},{key:"polySides",
text:"Sides",x:255,y:115,inputWidth:20},{key:"link",text:"Link",x:10,y:140,inputWidth:92},{key:"image",text:"Image",type:"checkbox",inputPaddingTop:4,inputWidth:20,x:10,y:170},{key:"imgUrl",text:"URL",inputWidth:105,x:170,y:170},{key:"imgWidth",text:"Width",inputWidth:20,x:10,y:195},{key:"imgHeight",text:"Height",inputWidth:20,x:82,y:195},{key:"imgAlign",text:"Align",inputType:"select",inputWidth:75,innerHTML:'<option value="top">Top</option><option value="middle">Middle</option><option value="bottom">Bottom</option>',
x:170,y:195}],showNodeUpdateUI:function(){var b=function(){for(var b=this.graphics.cacheUpdateUI,g=b.fields.shape,e=["rectWidth","rectHeight","circPolyRadius","polySides"],a=e.length,l;a--;)l=e[a],/rect|poly|circ/ig.test(l)&&(b.labels[l].hide(),b.fields[l].hide()),(new RegExp(d(g.val(),"rect"),"ig")).test(l)&&(b.labels[l].show(),b.fields[l].show())},g=function(){var b=this.graphics.cacheUpdateUI.fields,g=rc(b.color.val());g&&b.colorOut.css({background:qc(g)})},e=function(b,g){var e=this.graphics.cacheUpdateUI,
a=b.config.height,d=e.fields.image.val(),m=g?300:0,A=["imgWidth","imgHeight","imgAlign","imgUrl"],B,q,P;B=d?250:215;e.ok.hide();e.cancel.hide();e.remove.hide();e.error.hide();for(q=A.length;!d&&q--;)P=A[q],e.labels[P].hide(),e.fields[P].hide();v.danimate.animate(e.dialog.element,{top:(a-B)/2,height:B},m,"linear",function(){for(q=A.length;q--&&d;)P=A[q],e.labels[P].show(),e.fields[P].show();e.ok.attr({y:B-23-5}).show();e.cancel.attr({y:B-23-5}).show();e.remove.attr({y:B-23-5});e.error.attr({y:B-23-
5+4}).show();e.edit?e.remove.show():e.remove.hide()})};return function(c,a,f){var d=this,l=d.graphics,m=l.cacheUpdateUI,A=d.nodes,B=c.config,q=B.animation,P=c.components.paper,k={width:"80px",border:"1px solid #cccccc",fontSize:"10px",lineHeight:"15px",padding:"2px",fontFamily:(B.style.inCanvasStyle||{}).fontFamily},p={textAlign:"right"},n=m&&m.fields,t=m&&m.labels,r,B=function(){var b=m&&m.fields,c=m.edit,g=d.chart,e=g.components,a,f,h;a=e.xAxis[0].config.axisRange.min;e=e.yAxis[0].config.axisRange.min;
if(b){switch(b.shape.val()){case "circ":h="circle";break;case "poly":h="polygon";break;default:h="rectangle"}a={x:la(b.x.val(),a),y:la(b.y.val(),e),id:b.id.val(),datasetId:b.dataset.val(),name:b.label.val(),tooltext:b.tooltip.val(),color:b.color.val(),alpha:b.alpha.val(),labelalign:b.labelalign.val(),allowdrag:b.draggable.val(),shape:h,width:b.rectWidth.val(),height:b.rectHeight.val(),radius:b.circPolyRadius.val(),numsides:b.polySides.val(),imagenode:b.image.val(),imagewidth:b.imgWidth.val(),imageheight:b.imgHeight.val(),
imagealign:b.imgAlign.val(),imageurl:b.imgUrl.val(),link:b.link.val()};A[a.id]&&(f=!0);if(f&&void 0===c)m.error.attr({text:"ID already exist."}),b.label.focus();else{b=a.datasetId;if(b!==u||c)c?g.updateNode(a):g.addNode(a),m.hide(),m.visible=!1;return}}m.enableFields()},v=function(){m.hide();m.visible=!1;m.enableFields();m.error.attr({text:y});m.visible=!1},z=function(){c.deleteNode(m.fields.id.val());m.hide();m.visible=!1};m||(m=l.cacheUpdateUI=this.createHtmlDialog(c,350,215,B,v,z),r=m.dialog,t=
m.labels={},n=m.fields={});m.config=a;m.edit=f;m.error||(m.error=P.html("span",{color:"ff0000",x:30,y:228},void 0,r));m.enableFields||(m.enableFields=function(){for(var b in a)a[b]&&a[b].disabled&&n[b]&&n[b].element.removeAttribute("disabled")});m.clearFields||(m.clearFields=function(){var b,c=m.fields;for(b in c)c[b].element.disabled||(c[b].element.value=u)});Ua(this.nodeUpdateUIDefinition,function(f){var l,q=f.key,A={},B=a[q]||{},z,v;!t[q]&&(t[q]=P.html("label",{x:f.x,y:f.y,width:f.labelWidth||
45,text:f.text},p,r));if(!f.noInput){l=n[q];if(!l){k.border="checkbox"==f.type?y:"1px solid #cccccc";l=n[q]=P.html(f.inputType||"input",{x:f.labelWidth&&f.labelWidth+5||50,y:-2+(f.inputPaddingTop||0),width:f.inputWidth||50,name:q||u},k);if("select"!==f.inputType)l.attr({type:f.type||"text"}).on("keyup",m.handleKeyPress);l.add(t[q])}ba(z=la(B.innerHTML,f.innerHTML))&&(A.innerHTML=z);B.disabled?A.disabled="disabled":l.element&&(l.element.disabled=!1);l.attr(A);ba(v=la(B.value,f.value))&&l.val(v);"shape"==
q&&l.on("change",function(){b.call(d,c)});"image"==q&&l.on("click",function(){e.call(d,c,!0)});"color"==q&&l.on("keyup",function(){g.call(d,c)})}});g.call(this,c);e.call(this,c);b.call(this,c);q?m.fadeIn("fast"):m.show();m.visible=!0;m.fields[f?"label":"id"].focus()}}(),getDataLimits:function(){var b=this.datasets,g,e=Infinity,c=-Infinity,a=-Infinity,f=Infinity,d;for(g=0;g<b.length;g++)d=b[g].dataset.config,c=N(c,d.yMax),e=E(e,d.yMin),a=N(a,d.xMax),f=E(f,d.xMin);return{max:c,min:e,xMax:a,xMin:f}},
removeNodeDataset:function(b){this.datasets.splice(b)},removeConnectorSet:function(b){this.connectorSet.splice(b)},removeLabelSet:function(b){this.labelSet.splice(b)},_clearConnectors:function(){var b=this.nodes,g,e,c,a,f;for(g in b)if(c=b[g]){e=c.config.startConnectors||[];c=c.config.endConnectors||[];for(f=0;f<e.length;f++)a={graphics:e[f].graphics||{}},K.call(a);for(f=0;f<c.length;f++)a={graphics:c[f].graphics||{}},K.call(a)}this.nodes={}}}]);FusionCharts.register("component",["dataset","Dragnode",
{type:"dragnode",configure:function(){var b=this.index,g=this.chart,e=this.JSONData,c=g.jsonData.chart,h=(e.data||[]).length,f=this.config,g=g.components.colorManager,s,l,m,A,B,q;f.showValues=a(e.showvalues,c.showvalues,1);q=f.useRoundEdges=a(c.useroundedges);f.zIndex=1;f.name=F(e.seriesname);f.viewMode=a(c.viewmode,0);f.id=d(e.id,this.index);if(0===a(e.includeinlegend)||void 0===f.name)f.showInLegend=!1;f.includeInLegend=a(e.includeinlegend,1);f.showTooltip=a(c.showtooltip,1);f.seriesNameInTooltip=
a(c.seriesnameintooltip,1);f.tooltipSepChar=d(c.tooltipsepchar," - ");s=f.plotFillAlpha=d(c.plotfillalpha,"100");l=f.showPlotBorder=a(c.showplotborder,1);m=f.plotBorderColor=Ha(d(c.plotbordercolor,"666666"));A=f.plotBorderThickness=a(c.plotborderthickness,q?2:1);B=f.plotBorderAlpha=d(c.plotborderalpha,c.plotfillalpha,q?"35":"95");f.use3DLighting=Boolean(a(c.use3dlighting,c.is3d,q?1:0));f.color=Ha(d(e.color,g.getPlotColor(b)));f.alpha=d(e.plotfillalpha,e.nodeFillAlpha,e.alpha,s);f.datasetShowPlotBorder=
Boolean(a(e.showplotborder,l));f.datasetPlotBorderColor=Ha(d(e.plotbordercolor,e.nodebordercolor,m));f.datasetPlotBorderThickness=a(e.plotborderthickness,e.nodeborderthickness,A);f.datasetPlotBorderAlpha=f.datasetShowPlotBorder?d(e.plotborderalpha,e.nodeborderalpha,e.alpha,B):"0";f.seriesname=Z(e.seriesname);f.datasetAllowDrag=Boolean(a(e.allowdrag,1));f.colorObj={fillColor:ea(f.color,f.alpha),lineColor:{FCcolor:{color:f.datasetPlotBorderColor,alpha:f.datasetPlotBorderAlpha}}};f.lineWidth=void 0;
f.symbol="poly_4";b=this.components.data=this.components.data||(this.components.data=[]);c=b.length;c>h&&b.splice(h,c-h);this.visible=1===a(e.visible,!Number(e.initiallyhidden),1);f.yMin=f.yMax=f.xMax=f.xMin=0;this._refreshData=!0;for(e=0;e<h;e+=1)this._setConfigure(e);this._refreshData=!1;this._addLegend()},_setConfigure:function(b,g){var e=this.JSONData,c=e.data,h=g?g:c[b],f=this.components.data,c=this.config,f=f[b]=f[b]||(f[b]={}),s=f.config=f.config||(f.config={}),l=c.id,m=c.yMin||Infinity,A=
c.yMax||-Infinity,B=c.xMax||-Infinity,q=c.xMin||Infinity,P,k,p=c.use3DLighting,n=c.datasetPlotBorderThickness,u=c.datasetPlotBorderColor,t=c.datasetPlotBorderAlpha,r=this.chart.jsonData.chart,z=c.color,v=c.alpha,C=c.datasetAllowDrag,x=this.chart.components.numberFormatter;!f.graphics&&(f.graphics={});s._options=W({},h);if(h||g){P=s.y=x.getCleanValue(d(h.y));k=s.x=x.getCleanValue(d(h.x));s.index=b;s.dragStart||(s.dragStart={});A=N(A,s.y);m=E(m,s.y);B=N(B,s.x);q=E(q,s.x);if(null===P)s.value=null;else{k=
x.xAxis(k);s.formatedVal=null===P?P:x.dataLabels(P);s.setTooltext=F(Z(d(h.tooltext,e.plottooltext,r.plottooltext)));s.pointLabel=d(h.label,h.name);e=Z(s.pointLabel);s.label=e;s.name=e;s.displayValue=e;s.xValue=k;s.toolText=c.showTooltip?this._configureTooltext(s,c,r):!1;s.link=h.link;s.id=d(h.id,l+"_"+b);s.allowDrag=Boolean(a(h.allowdrag,C));e=s.shape=F(d(h.shape),"rectangle").toLowerCase();s.height=F(d(h.height),10);s.width=F(d(h.width),10);s.radius=F(d(h.radius),10);s.numSides=F(d(h.numsides),4);
s.color=Ha(d(h.color,z));s.borderColor=Ha(d(h.bordercolor,u));s.alpha=d(h.alpha,v);s.imageURL=F(h.imageurl);s.imageNode=Boolean(a(h.imagenode));s.imageWidth=h.imagewidth;s.imageHeight=h.imageheight;s.imageAlign=F(h.imagealign,y).toLowerCase();s.labelAlign=d(h.labelalign,s.imageNode&&ba(s.imageURL)?Wb:"middle");switch(s.shape){case "circle":h=0;break;case "polygon":h=2;e=pc(s.numSides);break;default:h=1}s.symbol=e;p?(s.fillColor=this.getPointColor(s.color,s.alpha,h),s.cloneFillColor=this.getPointColor(s.color,
50,h)):(s.fillColor={color:s.color,alpha:s.alpha},s.cloneFillColor=ea(s.color,50));s.rollOverProperties=this.pointHoverOptions(f,r,{shapeType:h,use3D:p,height:s.height,width:s.width,radius:s.radius,color:s.color,alpha:s.alpha,borderColor:s.borderColor,borderAlpha:t,borderThickness:n})}!s.update&&g&&(s.update=g.update);!s.add&&g&&(s.add=g.add);!0===this._refreshData&&delete f.removed}f.dataset=this;c.xMax=B;c.xMin=q;c.yMin=m;c.yMax=A},_configureTooltext:function(b,g,e){var c=b.setTooltext,a=b.formatedVal,
f=g.seriesname,d=b.label,l=b.xValue,m=b.pointLabel,A=g.tooltipSepChar;void 0!==c?b=Ba(c,[3,4,5,6,8,9,10,11],{yaxisName:Z(e.yaxisname),xaxisName:Z(e.xaxisname),yDataValue:a,xDataValue:l,label:d},b,e,g):void 0!==m?b=d:null===a?b=!1:(g.seriesNameInToolTip&&(f=la(g.seriesname)),b=f?f+A:y,b+=l?l+A:y,b+=a);return b},updatePointConfig:function(b,g){var e=this.chart,c=this.config,a=(this.components.data[g]||{}).config,f=e.components.numberFormatter,e=e.jsonData.chart,s=c.yMin||Infinity,l=c.yMax||-Infinity,
m=c.xMax||-Infinity,A=c.xMin||Infinity;void 0!==a&&(a.y=f.getCleanValue(d(b.y)),a.x=f.getCleanValue(d(b.x)),a._options.x=a.x,a._options.y=a.y,N(l,a.y),E(s,a.y),N(m,a.x),E(A,a.x),s=f.xAxis(a.x),a.formatedVal=null===a.y?a.y:f.dataLabels(a.y),a.xValue=s,a.toolText=c.showTooltip?this._configureTooltext(a,c,e):!1,a.update=b.update)},pointHoverOptions:function(b,g,e){var c=a(b.showhovereffect,this.showhovereffect,g.plothovereffect,g.showhovereffect),h={},f=!!d(b.hovercolor,this.hovercolor,g.plotfillhovercolor,
b.hoveralpha,this.hoveralpha,g.plotfillhoveralpha,b.borderhovercolor,this.borderhovercolor,g.plotborderhovercolor,b.borderhoveralpha,this.borderhoveralpha,g.plotborderhoveralpha,b.borderhoverthickness,this.borderhoverthickness,g.plotborderhoverthickness,b.hoverheight,this.hoverheight,g.plothoverheight,b.hoverwidth,this.hoverwidth,g.plothoverwidth,b.hoverradius,this.hoverradius,g.plothoverradius,c),s=!1;if(void 0===c&&f||c)s=!0,c=d(b.hovercolor,this.hovercolor,g.plotfillhovercolor,ob(e.color,70)),
f=d(b.hoveralpha,this.hoveralpha,g.plotfillhoveralpha,e.alpha),h={stroke:ea(d(b.borderhovercolor,this.borderhovercolor,g.plotborderhovercolor,e.borderColor),a(b.borderhoveralpha,this.borderhoveralpha,g.plotborderhoveralpha,f,e.borderAlpha)),"stroke-width":a(b.borderhoverthickness,this.borderhoverthickness,g.plotborderhoverthickness,e.borderThickness),height:a(b.hoverheight,this.hoverheight,g.plothoverheight,e.height),width:a(b.hoverwidth,this.hoverwidth,g.plothoverwidth,e.width),r:a(b.hoverradius,
this.hoverradius,g.plothoverradius,e.radius)},b=e.use3D?this.getPointColor(Ha(d(b.hovercolor,this.hovercolor,g.plotfillhovercolor,ob(e.color,70))),d(b.hoveralpha,this.hoveralpha,g.plotfillhoveralpha,e.alpha),e.shapeType):ea(c,f),h.fill=x(b);return{enabled:s,rollOverAttrs:h}},getJSONData:function(){var b=this.components.data,g=b.length,e=[],c,a;for(a=0;a<g;a++)c=b[a],!c.removed&&c.config._options&&(delete c.config._options.update,delete c.config._options.add,e.push(c.config._options));return e},getPointColor:function(b,
g,e){var c;b=Ha(b);g=Za(g);c=ob(b,80);b=nc(b,65);g={FCcolor:{gradientUnits:"objectBoundingBox",color:c+","+b,alpha:g+","+g,ratio:r}};e?g.FCcolor.angle=1===e?0:180:(g.FCcolor.cx=.4,g.FCcolor.cy=.4,g.FCcolor.r="50%",g.FCcolor.radialGradient=!0);return g},init:function(b){this.yAxis=this.chart.components.yAxis[0];this.components={};this.graphics={};this.JSONData=b;this.plotType="dragnode";this.configure()},_addLegend:function(){var b=this.config,g=this.chart.components.legend,b={enabled:b.includeInLegend,
type:this.type,fillColor:x({color:b.color,alpha:b.alpha}),strokeColor:x({color:b.plotBorderColor,alpha:"100"}),anchorSide:4,strokeWidth:b.anchorBorderThickness,label:la(this.JSONData.seriesname)};this.legendItemId=g.addItems(this,this.legendInteractivity,b)},draw:function(){var b=this.graphics,g=this.chart,e=g.linkedItems.smartLabel,c=this.components.data,a=this.components.removeDataArr||[],f=a.length,d=g.components.paper,l,m=g.config.dataLabelStyle||{color:"#000000"},A;l=g.graphics;A=l.datasetGroup;
var B=l.trackerGroup;l=b.group=b.group||d.group(A);A=b.dragLabelGroup=b.dragLabelGroup||d.group("dragLabelGroup",A);b.trackerContainer=b.trackerContainer||d.group("tracker",B);e.useEllipsesOnOverflow(g.config.useEllipsesWhenOverflow);e.setStyle(m);g=0;for(e=c.length;g<e;g+=1)d=c[g].removed,!d&&this._drawNode(g);this.drawn=!0;this.visible&&(l.show(),A.show(),b.trackerContainer.show());for(g=0;g<f;g++)this._removeDataVisuals(a.shift())},_drawNode:function(b){var g=this.chart,e=g.components,c=this.groupManager,
h=c.nodes,f=g.config,s=e.paper,l=this.xAxis=e.xAxis[0],m=this.yAxis=e.yAxis[0],e=this.components.data[b],A=e.config,B=this.config,q=g.get("config","animationObj")||{},P=q.duration,k=q.dummyObj,q=q.animObj,p=g.linkedItems.smartLabel,n=f.dataLabelStyle||{color:"#000000"},t={fontFamily:n.fontFamily,fontSize:n.fontSize,lineHeight:n.lineHeight,fontWeight:n.fontWeight,fontStyle:n.fontStyle},r=e.graphics||(e.graphics={}),v=A.symbol,z,X,C,w,E,D,F,H,J,R=B.colorObj.lineColor,N=B.datasetPlotBorderThickness,
Q;w=this.graphics;var S=!c.animationDone,U=function(){g._animCallBack()};J=g.graphics.datasetGroup;var I=w.group,L=e.config.rollOverProperties,Y,K,T,aa,G=this.components.pool||{},M;z=r.graphic;var W=r.cloneGraphic,O=r.cloneText,ha=r.cloneImage,$=r.image,ka,Z=r.label;w.cloneGraphicGroup=w.cloneGraphicGroup||s.group("clone",J);A._yPos=m=m.getAxisPosition(A.y);A._xPos=l=l.getAxisPosition(A.x);if(void 0!==m&&!isNaN(m)){A.shapeArg={};A.startConnectors=[];A.endConnectors=[];D=A.shapeArg;X=a(A.height);z=
a(A.width);C=a(A.radius);v="rectangle"===v;w=A.id;E=A.imageNode;F=A.imageURL;H=A.imageAlign;J=A.labelAlign;Q=v?z:1.4*C;Y=a(A.imageWidth,Q);C=v?X:1.4*C;K=a(A.imageHeight,C);aa=x(A.fillColor);T={fill:aa,"stroke-width":N,stroke:x(R)};v=D.symbol=d(A.symbol,B.symbol,y);v=v.split("_");M=[v[1],l,m,A.radius,A.startAngle,0];"poly"===v[0]||"circle"===v[0]?(A.shapeType=v[0],ka="polypath",B="path",M={polypath:M},D.x=l,D.y=m,D.radius=A.radius,D.sides=v[1]):(A.shapeType=Cb,B=ka="rect",D.x=l-z/2,D.y=m-X/2,D.r=0,
D.width=z,D.height=X,M={x:D.x,y:D.y,width:z,height:X,r:0},T.width=z,T.height=X,T.x=l-z/2,T.y=m-X/2,L&&L.enabled&&(L=L.rollOverAttrs,L.x=l-L.width/2,L.y=m-L.height/2,delete L.r));L=(z=r.element)&&z.type;-1===ka.indexOf(L)&&z&&(z.remove(),z=r.element=null,Z&&Z.remove(),$&&$.remove(),delete r.label,delete r.image,Z=$=null);z||(G.element&&G.element[B]&&G.element[B].length?(z=r.element=G.element[B].shift(),z.toFront()):(z=r.element=s[ka](I),z.attr(M)));z.show().animateWith(k,q,M,P,S&&U);z.attr({fill:aa,
"stroke-width":N,stroke:x(R)});c.animationDone=!0;W&&(W.transform(u),W.attr(M));if(E&&F){K>C&&(K=C);Y>Q&&(Y=Q);switch(H){case "middle":c=m-K/2;break;case "bottom":c=C>K?m+C/2-K:m-K/2;break;default:c=C>K?m-.5*C:m-K/2}A.imageX=l-Y/2;A.imageY=c;A.imageWidth=Y;A.imageHeight=K;B="image";$||(G.image&&G.image[B]&&G.image[B].length?($=r.image=G.image[B].shift(),$.toFront()):$=r.image=s.image(I));$.show().attr({src:F,x:A.imageX,y:c,width:Y,height:K});ha&&(ha.transform(u),ha.attr({src:F,x:A.imageX,y:c,width:Y,
height:K}))}A.pointAttr=T;this._drawTracker(e,b);b=A.displayValue;if(ba(b)||b!==y){B="text";p.useEllipsesOnOverflow(f.useEllipsesWhenOverflow);f=p.getSmartText(b,Q,C);b=.5*C-.5*f.height;switch(J){case "top":b=-b;break;case "bottom":break;default:b=0}e._yAdjustment=b;b=m+b;Z||(G.label&&G.label[B]&&G.label[B].length?(Z=r.label=G.label[B].shift(),Z.toFront()):(Z=r.label=s.text(I),Z.attr({x:l,y:b})));Z.show().animateWith(k,q,{x:l,y:b},P,"normal");Z.attr({text:f.text,title:f.tooltext||u,fill:n.color,"text-bound":[n.backgroundColor,
n.borderColor,n.borderThickness,n.borderPadding,n.borderRadius,n.borderDash]}).css(t);O&&(O.transform(u),O.attr({x:l,y:b,text:f.text,title:f.tooltext||u,fill:n.color,"text-bound":[n.backgroundColor,n.borderColor,n.borderThickness,n.borderPadding,n.borderRadius,n.borderDash]}))}h[w]=e}},_removeDataVisuals:function(b){var g=this.components.pool||(this.components.pool={}),e,c,a,f;if(b)for(c in b=b.graphics,b)e=g[c]||(g[c]={}),a=(f=b[c])&&f.type,e=e[a]||(e[a]=[]),f.hide&&"function"===typeof f.hide&&(f.attr({"text-bound":[]}),
f.hide(),f.transform&&f.transform(u)),e.push(b[c])},show:function(){var b=this.graphics,g=this.graphics.trackerContainer,e=b.dragLabelGroup;b.group.show();e.show();g.show();this.visible=!0},hide:function(){var b=this.graphics,g=this.graphics.trackerContainer,e=b.dragLabelGroup;b.group.hide();g.hide();e.hide();this.visible=!1},_drawTracker:function(b,g){var e=this,c=e.chart,a=b.config,f=a.shapeArg,s=f.width,l=f.height,m=f.x,A=f.y,B=a.pointAttr,q=a.shapeType,P=f.sides,k=f.radius,f=b.graphics.trackerElement,
n=b.graphics.cloneGraphic,t=e.graphics.trackerContainer,r=a.rollOverProperties,v={},x=c.components.paper,z=b.graphics.cloneImage,X=b.graphics.cloneText,C=function(b,g){return function(e){var a=this.data("hoverAttr");g&&b.graphics.element.attr(a);za.call(this,c,e,"DataPlotRollOver")}},w=function(b,g){return function(e){var a=this.data("unHoverAttr");g&&b.graphics.element.attr(a);za.call(this,c,e,"DataPlotRollOut")}},y=f&&f.data("type"),E=a.toolText,D=a.link?"pointer":a.allowDrag?"move":u;v.fill=p;
v.stroke=p;v.cursor=D;v.ishot=!0;y!=={circle:"path",rect:"rect",poly:"path"}[q]&&f&&(f.remove(),f=b.graphics.trackerElement=null);f?(q!==Cb?f.attr({polypath:[P||2,m,A,k,a.startAngle,0]}).attr(v):f.attr({x:m,y:A,width:s,height:l}).attr(v),f.tooltip(E)):(q!==Cb?(f=b.graphics.trackerElement=x.polypath(P||2,m,A,k,a.startAngle,0,t),f.data("type","path")):(f=b.graphics.trackerElement=x.rect(m,A,s,l,0,t),f.data("type","rect")),n&&(n.remove(),delete b.graphics.cloneGraphic),z&&(z.remove(),delete b.graphics.cloneImage),
X&&(X.remove(),delete b.graphics.cloneText),f.attr(v).tooltip(E),f.hover(C(b,r&&r.enabled),w(b,r&&r.enabled)),f.data("drag-options",{dataObj:b,dataset:e,endConnectors:a.endConnectors,startConnectors:a.startConnectors,boundaryTop:c.config.canvasTop,boundaryBottom:c.config.canvasTop+c.canvasHeight,boundaryLeft:c.config.canvasLeft,boundaryRight:c.config.canvasLeft+c.config.canvasWidth,datasetIndex:e.index,pointIndex:b.config.index,cursor:D,chart:c,link:b.link}),f.drag(function(b,g,a,f){e._dragMove.call(this,
b,g,a,f,c)},function(b){e._dragStart.call(this,b,c)},function(b){e._dragUp.call(this,b)}));a={index:g,link:a.link,y:a.y,x:a.x,shape:d(q,"rect"),width:s,height:l,radius:k,sides:a.numSides,label:a.displayValue,toolText:a.toolText,id:a.id,datasetIndex:e.index,datasetName:e.JSONData.seriesname,sourceType:"dataplot"};f.data("eventArgs",a);f.data("hoverAttr",r&&r.rollOverAttrs);f.data("unHoverAttr",B)},_dragStart:function(b,g){var e=this,c=e.data("drag-options"),a=e.getBBox(),f=c.dataObj,d=f.config,l=c.dataset,
m=l.groupManager,A=m.graphics,B=A.waitElement,q=c.dataset.config,c=q.viewMode;qb&&cb(b);var k=g.components.paper,n=l.graphics.trackerContainer,p=d.dragStart||(d.dragStart={}),u=f.graphics.cloneGraphic,r=l.graphics.cloneGraphicGroup,t=f.graphics.cloneText,v=f.graphics.image,z=f.graphics.cloneImage,w=f.graphics.label,C={circle:"circ",rectangle:"rect",polygon:"poly"};Fa&&(e._.dirty=1);d.symbol.split("_");d.allowDrag&&(!u&&f.graphics.element&&(u=f.graphics.cloneGraphic=f.graphics.element.clone(),r.appendChild(u)),
w&&!t&&(t=f.graphics.cloneText=f.graphics.label.clone(),t.followers[0]&&t.followers[0].el&&r.appendChild(t.followers[0].el),r.appendChild(t)),v&&!z&&(z=f.graphics.cloneImage=f.graphics.image.clone(),r.appendChild(z)),r.attr({opacity:.3}),u.show());p.xPos=d._xPos;p.yPos=d._yPos;p.x=d.x;p.y=d.y;p.bBox=a;p.origX=p.lastDx||(p.lastDx=0);p.origY=p.lastDy||(p.lastDy=0);e.data("fire_click_event",1);e.data("mousedown",1);clearTimeout(e._longpressactive);e.data("move",!0);c||(B||(B=A.waitElement=k.ringpath(d._xPos,
d._yPos,8,11,0,0,n).attr({fill:x({alpha:"100,100",angle:120,color:"CCCCCC,FFFFFF",ratio:"30,50"}),"stroke-width":0})),B.attr({ringpath:[d._xPos,d._yPos,8,11,0,0]}).show().animate({ringpath:[d._xPos,d._yPos,8,11,0,6.28]},1E3),e._longpressactive=setTimeout(function(){var b=q.name!==y&&void 0!==q.name?q.name+Xb+" ":y,c=q.id;A.waitElement&&A.waitElement.hide();e.data("fire_click_event",0);m.showNodeUpdateUI(g,{x:{value:d.x},y:{value:d.y},draggable:{value:la(d.allowdrag,1)},color:{value:d.color},alpha:{value:d.alpha},
label:{value:la(d.label,d.name)},tooltip:{value:d.toolText},shape:{value:C[d.shape]},rectWidth:{value:d.width},rectHeight:{value:d.height},circPolyRadius:{value:d.radius},polySides:{value:d.numsides},image:{value:d.imageNode},imgWidth:{value:d.imageWidth},imgHeight:{value:d.imageHeight},imgAlign:{value:d.imageAlign},imgUrl:{value:d.imageURL},id:{value:d.id,disabled:!0},link:{value:d.link},dataset:{innerHTML:'<option value="'+c+'">'+b+c+"</option>",disabled:!0},datasetIndex:l.index},!0)},1E3));u&&
u.show();t&&t.show();z&&z.show();r&&r.show()},_dragMove:function(b,g,e,c,a){var f=this.data("drag-options"),d=f.dataObj;e=d.graphics.cloneGraphic;c=d.graphics.cloneImage;var l=d.graphics.cloneText,d=d.config,m=d.dragStart,A=m.bBox.x+b,B=m.bBox.x2+b,q=m.bBox.y+g,k=m.bBox.y2+g,n=f.dataset.groupManager.graphics,p=a.config.canvasLeft,u=a.config.canvasRight,t=a.config.canvasTop;a=a.config.canvasBottom;A<p&&(b+=p-A);B>u&&(b-=B-u);q<t&&(g+=t-q);k>a&&(g-=k-a);if(b||g)n.waitElement&&n.waitElement.hide(),this.data("fire_click_event",
0),Sb.call(this);d.allowDrag&&(m.draged=!0,m.lastDx=b,m.lastDy=g,a=f._transformObj={transform:"t"+(m.origX+b)+","+(m.origY+g)},e&&e.attr(a),c&&c.attr(a),l&&l.attr({x:d._xPos+b,y:d._yPos+g}))},removeData:function(b,g){var e=this.components,c=this.groupManager,a=e.data,f=e.removeDataArr||(e.removeDataArr=[]);b=b||0;0>b&&(b=0);e.removeDataArr=f.concat(a.splice(b,g||1));c._clearConnectors()},_dragUp:function(b){var g=this.data("drag-options"),e=g.dataset,c=e.chart,a=e.components.data,f=g.dataObj,g=g.dataset.groupManager,
d=e.graphics.cloneGraphicGroup,l=this.data("fire_click_event"),m=f.config,A=c.config.canvasTop,B=c.config.canvasLeft,q=f.config.dragStart||{},k=e.yAxis,n=f.graphics.cloneText,p=e.groupManager.graphics,u=c.components.xAxis[0],t={};p.waitElement&&p.waitElement.hide();Sb.call(this);this.data("mousedown",0);l&&za.call(this,c,b);if(q.draged){q.origX+=q.lastDx;q.origY+=q.lastDy;f.config._xPos=q.xPos+q.lastDx;f.config._yPos=q.yPos+q.lastDy;t.x=u.getValue(f.config._xPos-B);t.y=k.getValue(f.config._yPos-A);
t.update=!0;l=0;for(B=a.length;l<B&&(A=a[l],f.config.id!==A.config.id);l++);e.updatePointConfig(t,l);e=this.data("eventArgs");e.x=t.x;e.y=t.y;b=Rb(c.linkedItems.container,b);b.sourceEvent="dataplotdragend";n.attr({"text-bound":[]});v.raiseEvent("chartupdated",W(b,e),c.chartInstance);g.draw();q.draged=!1}d&&d.hide();delete m.dragStart},getDataLimits:function(){var b=this.config;return{max:b.yMax,min:b.yMin,xMax:b.xMax,xMin:b.xMin}}},"Area"]);FusionCharts.register("component",["dataset","Connector",
{type:"connector",configure:function(){var b=this.chart.jsonData.chart,g=this.config,e=this.components.data||(this.components.data=[]),c=this.JSONData,h=c.connector,f=h&&h.length,s=v.parseUnsafeString;g.connectorsTooltext=F(s(d(c.connectortooltext,b.connectortooltext)));g.stdThickness=a(c.stdthickness,1);g.conColor=Ha(d(c.color,"FF5904"));g.conAlpha=d(c.alpha,"100");g.conDashGap=a(c.dashgap,5);g.conDashLen=a(c.dashlen,5);g.conDashed=Boolean(a(c.dashed,0));g.arrowAtStart=Boolean(a(c.arrowatstart,1));
g.arrowAtEnd=Boolean(a(c.arrowatend,1));g.conStrength=a(c.strength,1);g.toolTipSepChar=d(b.tooltipsepchar," - ");g.showTooltip=a(b.showtooltip,1);g.viewMode=a(b.viewmode,1);b=e.length;b>f&&e.splice(f,b-f);g._refreshData=!0;for(e=0;e<f;e+=1)this._setConfigure(e,h[e]);g._refreshData=!0},_setConfigure:function(b,g){var e=this.components.data,e=e[b]||(e[b]=e[b]={}),c=this.config,h=this.chart,f=Z(d(g.label,g.name)),s=d(g.alpha,c.conAlpha),l=h.linkedItems.smartLabel,m="$fromLabel"+c.toolTipSepChar+"$toLabel",
s={FCcolor:{color:Ha(d(g.color,c.conColor)),alpha:s}},A=F(Z(d(g.tooltext,c.connectorsTooltext)));l.useEllipsesOnOverflow(h.config.useEllipsesWhenOverflow);h=l.getOriSize(f);e.config=e.config||(e.config={});!e.graphics&&(e.graphics={});m=c.showTooltip?d(A,f?"$label":m):!1;f=e.config={_options:g,id:d(g.id,b).toString(),from:d(g.from,y),to:d(g.to,y),label:f,toolText:m,customToolText:A,color:s,index:b,dashStyle:Boolean(a(g.dashed,c.conDashed))?ua(a(g.dashlen,c.conDashLen),a(g.dashgap,c.conDashGap),c.stdThickness):
"none",dashed:g.dashed,dashlen:g.dashlen,dashgap:g.dashgap,arrowAtStart:Boolean(a(g.arrowatstart,c.arrowAtStart)),arrowAtEnd:Boolean(a(g.arrowatend,c.arrowAtEnd)),conStrength:a(g.strength,c.conStrength),link:g.link,stdThickness:c.stdThickness,labelWidth:h.widht,labelHeight:h.height};f.add=g.add;f.update=g.update;c._refreshData&&delete e.removed},init:function(b){this.yAxis=this.chart.components.yAxis[0];this.components={};this.graphics={};this.JSONData=b;this.configure()},draw:function(){var b=this,
g=b.chart,e=b.groupManager,c=b.config,h=b.chart.components,f=e.nodes,s=b.components.data,l,m,A,B,q,k={},n=h.paper,p=g.graphics.datasetGroup;m=f[m];var t=f[A],h=h.numberFormatter,r,v,w,z,X,C,y=g.config.dataLabelStyle,E,D=function(){var f=this,h=f.data("config"),d=h||{};f._longpressactive=clearTimeout(f._longpressactive);f.data("fire_click_event",1);f._longpressactive=setTimeout(function(){f.data("fire_click_event",0);f.data("viewMode")||e.showConnectorUpdateUI(g,{fromid:{val:d.from,innerHTML:"<option>"+
d.from+"</option>",disabled:!0},toid:{val:d.to,innerHTML:"<option>"+d.to+"</option>",disabled:!0},datasetIndex:b.index,index:h.index,arratstart:{val:Boolean(a(d.arrowatstart,1))},arratend:{val:Boolean(a(d.arrowatend,1))},dashed:{val:a(d.dashed)},dashgap:{val:d.dashgap},dashlen:{val:d.dashlen},label:{val:d.label},tooltext:{val:d.tooltext},id:{val:c.id,disabled:!0},strength:{val:d.conStrength},alpha:{val:d.alpha},color:{val:d.color.FCcolor.color}},!0)},1E3)},F=function(){this.data("fire_click_event",
0);Sb.call(this)},H=function(b){Sb.call(this);za.call(this,g,b,"ConnectorClick")},J=function(b){za.call(this,g,b,"ConnectorRollover")},R=function(b){za.call(this,g,b,"ConnectorRollout")},N=s.length,Q=b.components.removeDataArr||[],S=Q.length,U,I,L=b.components.pool||{},Y=g.get("config","animationObj"),K=Y.duration,T=Y.dummyObj,Y=Y.animObj,aa;aa||(aa=b.graphics.connectorGroup=b.graphics.connectorGroup||n.group("connectorGroup").insertBefore(p));c.showTooltip&&aa.trackTooltip(!0);for(E=0;E<N;E++)l=
s[E],l.removed||(U=l.config,p=l.graphics||(l.graphics={}),m=U.from,A=U.to,r=U.toolText,m=f[m],t=f[A],m&&t&&!0!==U.deleted&&(U.fromPointObj=m,U.toPointObj=t,r=m.config,I=t.config,U.fromX=v=r._xPos,U.fromY=w=r._yPos,U.toX=z=I._xPos,U.toY=X=I._yPos,U.strokeWidth=B=U.conStrength*U.stdThickness,q=U.color,U.textBgColor=A=q&&q.FCcolor&&q.FCcolor.color,C=k.label=U.label,k.arrowAtStart=U.arrowAtStart,k.arrowAtEnd=U.arrowAtEnd,k.link=U.link,k.id=U.id,k.fromNodeId=r.id,k.toNodeId=I.id,r=U.toolText=Ba(U.toolText,
[3,83,84,85,86,87,88,89,90,91,92],{label:U.label,fromXValue:h.dataLabels(m.config.x),fromYValue:h.dataLabels(m.config.y),fromXDataValue:m.config.x,fromYDataValue:m.config.y,fromLabel:d(m.config.displayValue,m.config.id),toXValue:h.dataLabels(t.config.x),toYValue:h.dataLabels(t.config.y),toXDataValue:t.config.x,toYDataValue:t.config.y,toLabel:d(t.config.displayValue,t.config.id)}),m.config&&m.config.startConnectors&&m.config.startConnectors.push(l),t.config&&t.config.endConnectors&&t.config.endConnectors.push(l),
m=this._getlinePath(l),l=p.graphic,p.graphic||(L.graphic&&L.graphic.path&&L.graphic.path.length?l=p.graphic=L.graphic.path.shift():(l=p.graphic=n.path(aa).mousedown(D).mousemove(F).mouseup(H).hover(J,R),l.attr({path:m}))),l.show().animateWith(T,Y,{path:m},K,"normal"),l.attr({"stroke-width":B,ishot:!0,"stroke-dasharray":U.dashStyle,cursor:U.link?"pointer":u,stroke:x(q)}).data("eventArgs",k).data("viewMode",c.viewMode).data("config",U).tooltip(r),m=p.text,C?(p.text||(L.text&&L.text.length?p.text=m=
L.text.shift():(p.text=m=n.text(aa).mousedown(D).mousemove(F).mouseup(H).hover(J,R),m.attr({x:(v+z)/2,y:(w+X)/2}))),m.show().css(y).animateWith(T,Y,{x:(v+z)/2,y:(w+X)/2},K,"normal"),m.attr({text:C,fill:y.color,ishot:!0,direction:u,cursor:U.link?"pointer":u,"text-bound":[d(y.backgroundColor,A),d(y.borderColor,A),1,"2"]}).data("eventArgs",k).data("viewMode",c.viewMode).data("config",U).tooltip(r)):m&&m.hide().attr({"text-bound":[]})));b.drawn=!0;for(E=0;E<S;E++)b._removeDataVisuals(Q.shift())},getJSONData:function(){var b=
this.components.data,g=b.length,e=[],c,a;for(a=0;a<g;a++)c=b[a],c.removed||(c.config._options&&(delete c.config._options.update,delete c.config._options.add),e.push(c.config._options));return e},_updateFromPos:function(b,g){this.fromX=b;this.fromY=g;this.graphic&&this.graphic.animate({path:this.getlinePath()});this.text&&this.text.animate({x:(this.fromX+this.toX)/2,y:(this.fromY+this.toY)/2})},_updateToPos:function(b,g){this.toX=b;this.toY=g;this.graphic&&this.graphic.animate({path:this.getlinePath()});
this.text&&this.text.animate({x:(this.fromX+this.toX)/2,y:(this.fromY+this.toY)/2})},_getlinePath:function(b){b=b.config;var g=b.fromPointObj,a=b.toPointObj,c=b.fromX,h=b.fromY,f=b.toX,d=b.toY,l=["M",c,h];b.arrowAtStart&&(g=g.config,l=g.shapeType===Cb?l.concat(this._drawArrow(c,h,f,d,g.shapeArg.width,g.shapeArg.height)):l.concat(this._drawArrow(c,h,f,d,g.shapeArg.radius)));b.arrowAtEnd&&(g=a.config,l=g.shapeType===Cb?l.concat(this._drawArrow(f,d,c,h,g.shapeArg.width,g.shapeArg.height)):l.concat(this._drawArrow(f,
d,c,h,g.shapeArg.radius)));l.push("L",f,d);return l},_drawArrow:function(b,g,a,c,h,f){var d=t.atan((g-c)/(b-a)),l=[];0>d&&(d=2*t.PI+d);if(c>g){if(a>=b&&d>t.PI||a<b&&d>t.PI)d-=t.PI}else if(a>=b&&d<t.PI&&0!==d||a<b&&d<t.PI)d+=t.PI;"undefined"==typeof f?(a=b+h*da(d),h=g+h*T(d)):(h=Ca(h)/2,f=Ca(f)/2,a=b+(h=b<a?h:-h),h=g+h*t.tan(d),Ca(g-h)>Ca(f)&&(h=g+(f=g<c?f:-f),a=b+f/t.tan(d)));l.push("L",a,h,a+10*da(d+.79),h+10*T(d+.79),"M",a+10*da(d-.79),h+10*T(d-.79),"L",a,h);return l},removeData:function(b,g){var a=
this.components,c=a.data;0>b&&(b=0);a.removeDataArr=c.splice(b,g)}},"Dragnode"]);FusionCharts.register("component",["dataset","DragableLabels",{configure:function(){var b=(this.JSONData||[]).length,g,e=this.components.data;this.config.viewMode=a(this.chart.jsonData.chart.viewmode,0);e||(e=this.components.data=[]);g=e.length;g>b&&e.splice(b,g-b);for(g=0;g<b;g++)this._setConfigure(g)},_setConfigure:function(b,g){var e=this.JSONData,e=g?g:e[b],c=this.components.data,h,f=this.chart.config.style.inCanvasStyle,
s=f.fontSize,l;h=c[b];!h&&(h=c[b]={});!h.graphics&&(h.graphics={});c=h.config=h.config||(h.config={});h=Z(d(e.text,e.label));c._options=e;c.add=e.add;h&&(c.text=h,c.x=e.x||0,c.y=e.y||0,c.labelFontSize=l=a(e.fontsize,s),c.labelColor=h=d(e.color,f.color),c.alpha=s=a(e.alpha,100)/100,c.allowdrag=a(e.allowdrag,1),c.padding=a(e.padding,5),c.labelStyle=f={fontSize:l+"px",fontFamily:f.fontFamily,fill:h,color:h,opacity:s},c.labelBGColor=h=d(e.bgcolor&&e.bgcolor.replace($,na)),c.labelBDColor=l=d(e.bordercolor&&
e.bordercolor.replace($,na)),c.link=e.link,c.allowDrag=a(e.allowdrag,1),h&&(f.backgroundOpacity=s),c.borderThickness=e.borderthickness,c.dashLen=e.dashlen,c.dashGap=e.dashgap,c.dashed=e.dashed,c.radius=e.radius,l&&(f.borderOpacity=s))},init:function(b){this.yAxis=this.chart.components.yAxis[0];this.components={};this.graphics={};this.JSONData=b;this.configure()},getJSONData:function(){var b=this.components.data,g=b.length,a=[],c,h;for(h=0;h<g;h++)c=b[h],c.removed||c.config._options&&a.push(c.config._options);
return a},draw:function(){var b=this.components.data,g=this.chart,e=g.get("config","animationObj"),c=e.duration,h=e.dummyObj,e=e.animObj,f=g.components.paper,d=g.components.yAxis[0],l=g.components.xAxis[0],m=g.linkedItems.smartLabel,A=g.graphics.datalabelsGroup,B=g.graphics.trackerGroup,q=g.config.dataLabelStyle,k,p,n,t,r,v,x,z,w,C,y,E,D,F,H,J=b.length,R=this.components.removeDataArr||[],N=R.length,Q=this.components.pool||{},S,A=this.graphics.dataLabelContainer=this.graphics.dataLabelContainer||f.group("datalabels",
A);this.graphics.trackerContainer=this.graphics.trackerContainer||f.group("tracker",B);for(S=0;S<J;S++)C=b[S],C.removed||(w=C.config,!C.graphics&&(C.graphics={}),w.index=S,B=l.getPixel(w.x),t=d.getPixel(w.y),r=w.text,v=w.labelBGColor,x=w.labelBDColor,z=w.padding,y=w.allowDrag,E=w.labelFontSize,D=w.labelStyle,F=w.radius,n=w.dashed,k=w.dashLen,p=w.dashGap,H=w.borderThickness,k={text:r,"class":"fusioncharts-label",align:"center","text-bound":[v||u,x||u,a(H,1),z,a(F,0),a(n,0)?ua(a(k,5),a(p,4),a(H,1)):
"none"],"font-size":E,"font-weight":q.fontWeight,"font-style":q.fontStyle,"font-family":q.fontFamily,visibility:"visible"},v={backgroundColor:v,borderColor:x,borderPadding:z,fontSize:E+"px",fontStyle:q.fontStyle,fontWeight:q.fontWeight,borderRadius:0,borderDash:"none",fontFamily:q.fontFamily},ec(v),m.useEllipsesOnOverflow(g.config.useEllipsesWhenOverflow),m.setStyle(v),v={link:w.link,text:r,x:B,y:t,allowdrag:y,sourceType:"labelnode"},y=C.graphics.element,y||(Q.element&&Q.element.length?y=C.graphics.element=
Q.element.shift():(y=C.graphics.element=f.text(A),y.attr({x:B,y:t}))),y.animateWith(h,e,{x:B,y:t},c,"normal"),y.css(D).attr(k),y.data("eventArgs",v),r=m.getOriSize(r),w.width=r.width,w.height=r.height,w.xPos=B,w.yPos=t,this.drawTracker(y,S));for(S=0;S<N;S++)this._removeDataVisuals(R.shift())},removeData:function(b,g){var a=this.components;a.removeDataArr=a.data.splice(b,g)},drawTracker:function(b,g){var a=this,c=a.chart,h=c.components.paper,f=a.groupManager,d=a.config,l=a.graphics.trackerContainer,
m=a.components.data[g],A=m.config,B=A.padding||0,q=A.width,k=A.height,n=A.xPos-q/2,t=A.yPos-k/2,r=m.graphics.trackerElement,B={x:n-B,y:t-B,width:q+2*B,height:k+2*B,cursor:A.allowDrag?"move":u,fill:p,stroke:p,ishot:!0},q=function(b){var c=this;c.data("fire_click_event",1);clearTimeout(c._longpressactive);c._longpressactive=setTimeout(function(){c.data("fire_click_event",0);c.data("viewMode")||f.showLabelDeleteUI(b)},1E3)},k=function(){this.data("fire_click_event")&&(this.data("fire_click_event",0),
f.clearLongPress.call(this))},v=function(b){var g=this.data("fire_click_event");f.clearLongPress.call(this);g&&za.call(this,c,b,"LabelClick")},x=function(b){za.call(this,c,b,"LabelRollover")},w=function(b){za.call(this,c,b,"LabelRollout")},A={link:A.link,text:A.text,x:n,y:t,allowdrag:A.allowDrag,sourceType:"labelnode"};r||(r=m.graphics.trackerElement=h.rect(l).mousedown(q).mousemove(k).mouseup(v).data("viewMode",d.viewMode).data("eventArgs",A).hover(x,w).drag(function(b,g,f,h,d){a._labelDragMove.call(this,
b,g,f,h,c,d)},function(b){a._labelDragStart.call(this,b,c)},function(b){a._labelDragUp.call(this,b)}));r.attr(B);r.data("drag-options",{index:g,dataset:a})},_labelDragStart:function(){var b=this,g=b.getBBox(),a=b.data("drag-options"),c=a.dataset,h=c.groupManager,f=c.components.data[a.index],c=f.graphics.element,d=f.dragStart=f.dragStart||(f.dragStart={});a.ox=c.attr("x");a.oy=c.attr("y");a.bBox=g;d.xPos=f.config.xPos;d.yPos=f.config.yPos;d.bBox=g;b.data("fire_click_event",1);b.data("fire_dragend",
0);clearTimeout(b._longpressactive);b._longpressactive=setTimeout(function(){b.data("fire_click_event",0);b.data("viewMode")||h.showLabelDeleteUI(f)},1E3)},_labelDragMove:function(b,g,a,c,d,f){c=d.config;a=c.canvasLeft;var s=c.canvasRight,l=c.canvasBottom;c=c.canvasTop;var m=this.data("drag-options"),A=m.dataset,B=A.groupManager,A=A.components.data[m.index],q=A.graphics.element,k=A.dragStart,n=k.bBox,p=k.bBox.x+b,u=k.bBox.x2+b,t=k.bBox.y+g,r=k.bBox.y2+g,v=d.components.yAxis[0],z=d.components.xAxis[0];
p<a&&(b+=a-p);u>s&&(b-=u-s);t<c&&(g+=c-t);r>l&&(g-=r-l);k.draged=!0;this.attr({x:n.x+b,y:n.y+g});s=m.ox+b;l=m.oy+g;q.attr({x:m.ox+b,y:m.oy+g});A.config.x=z.getValue(s-a);A.config.y=v.getValue(l-c);this.data("fire_dragend")||(za.call(this,d,f,"LabelDragStart"),this.data("fire_dragend",1));this.data("fire_click_event")&&(this.data("fire_click_event",0),B.clearLongPress.call(this))},_labelDragUp:function(b){var g=this.data("drag-options"),a=g.dataset,c=a.chart,d=a.groupManager,f=a.components.data[g.index].dragStart,
g=this.data("eventArgs"),a=a.yAxis;g.x=c.components.xAxis[0].getValue(this.attr("x"));g.y=a.getValue(this.attr("y"));f.draged=!1;this.data("fire_dragend")&&(a=Rb(c.linkedItems.container,b),a.sourceEvent="labeldragend",v.raiseEvent("chartupdated",W(a,g),c.chartInstance),za.call(this,c,b,"labeldragend"));d.clearLongPress.call(this)}},"Dragnode"]);M("dragarea",{friendlyName:"Dragable Area Chart",standaloneInit:!0,creditLabel:n,defaultDatasetType:"dragarea",decimals:2,anchorAlpha:"100",applicableDSList:{dragarea:!0}},
M.dragbase);M("dragline",{friendlyName:"Dragable Line Chart",standaloneInit:!0,creditLabel:n,decimals:2,defaultDatasetType:"dragline",applicableDSList:{dragline:!0},defaultPlotShadow:1},M.dragbase);M("dragcolumn2d",{friendlyName:"Dragable Column Chart",standaloneInit:!0,creditLabel:n,decimals:2,defaultDatasetType:"DragColumn",applicableDSList:{dragcolumn:!0}},M.dragbase);FusionCharts.register("component",["dataset","DragColumn",{configure:function(){var b,g=this.chart.jsonData.chart,e,c;c=this.JSONData;
var d=this.JSONData.data||[],f,s;this.__base__.configure.call(this);b=this.config;e=this.components.data;b.allowDrag=a(c.allowdrag,1);b.allowNegDrag=a(c.allownegativedrag,1);b.allowAxisChange=a(g.allowaxischange,1);b.snapToDivOnly=a(g.snaptodivonly,0);b.snapToDiv=b.snapToDivOnly?1:a(g.snaptodiv,1);b.doNotSnap=a(g.donotsnap,0);b.snapToDivRelaxation=a(g.snaptodivrelaxation,10);b.doNotSnap&&(b.snapToDiv=b.snapToDivOnly=0);f=e.length;for(g=0;g<f;g++)s=d[g]||{},c=e[g].config,c.allowDrag=a(s.allowdrag,
b.allowDrag),c.allowNegDrag=a(s.allownegativedrag,b.allowNegDrag)},draw:function(){var b=this.components.data.length,g;this.__base__.draw.call(this);for(g=0;g<b;g++)this.drawTracker(g)},drawTracker:function(b){var g=this.chart,a=g.components.paper,c=this.components.data[b],d=c.graphics||{},f=c._width,s=c._xPos,l=d.element,m=c._yPos+(0>c.config.setValue&&c._height)||0,A=qb?40:10,d=d&&d.dragTracker||null,B=this.components.pool||{},q=this.graphics.trackerContainer,k=c.config.setValue,n=c.config.allowDrag;
l&&null!==k&&n&&(l.getBBox(),f=["M",s,m,"L",s+f,m,"Z"],A={path:f,stroke:p,"stroke-width":A,ishot:!0,cursor:D&&"ns-resize"||"n-resize"},d||(B.dragTracker&&B.dragTracker.length?d=c.graphics.dragTracker=B.dragTracker.shift():(d=c.graphics.dragTracker=a.path(q),d.drag(this.dragMove,this.dragStart,this.dragUp))),d.attr(A).data("drag-options",{items:l,yPos:m,chart:g,name:this.JSONData.seriesname,datasetIndex:this.index,pointIndex:b,dataObj:c}),c.graphics.dragTracker=d)},dragStart:function(){var b=this.data("drag-options"),
g=b.chart,a=g.config,c=g.components.yAxis[0],g=c.config.axisRange.max,c=c.config.axisRange.min,d=this.getBBox();b.barH=b.items.getBBox().height;b.isAllPositive=0<g&&0<c;b.isAllPositiveZero=0<g&&0<=c;b.isAllNegative=0>g&&0>c;b.isAllNegativeZero=0>=g&&0>c;b.isPositiveNegative=0<g&&0>c;b.boundaryTop=a.canvasTop;b.boundaryBottom=a.canvasTop+a.canvasHeight;b.bBoxY=d.y;b.bBoxY2=d.y2||d.y+d.height;b.startValue=b.dataObj.config.setValue;b.origX=b.lastX||(b.lastX=0);b.origY=b.lastY||(b.lastY=0);b.draged=!1},
dragMove:function(b,g){var a=this.data("drag-options"),c=a.items,h=a.dataObj,f=a.chart,s=h.config,l=f.config,m=f.components,A=m.canvas.config,B=m.yAxis[0],q=m.dataset[a.datasetIndex],m=m.numberFormatter,k=B.getPixel(B.getAxisBase()),n={},p=a.bBoxY2+g,u=a.bBoxY+g,t=l.canvasBottom,r=h.config.allowNegDrag?t:k,l=l.canvasTop,v=parseFloat(q.config.plotBorderThickness)||0,A=A.showCanvasBorder,z=a.isAllNegativeZero,x=a.isPositiveNegative,C=h._xPos,w=h._width,y=h.graphics.hotElement;u<a.boundaryTop&&(g=a.boundaryTop-
a.bBoxY);p>r&&(g=r-a.bBoxY2);a.draged||(p={dataIndex:a.pointIndex+1,datasetIndex:a.datasetIndex,startValue:a.startValue,datasetName:a.name},I.raiseEvent("dataplotDragStart",p,f.chartInstance));p=a.yPos+g;p<=k?(n.y=p,n.height=k-p):(n.y=k,n.height=p-k);A&&!x&&(z?n.y-=n.y-(l-v/2):n.height=t-n.y+v);this.attr({path:["M",C,p,"L",C+w,p]});c.animate(n);y.data("draged",!0);a.shapeAttr=n;c=a.value=ga(B.getValue(p-l));s.setValue=c;B=B.getPixel(B.getAxisBase());h._yPos=E(p,B);h._height=n.height;B=m.dataLabels(c);
s.toolTipValue=B;s.displayValue=d(s.setDisplayValue,B);a.draged=!0;a.lastX=b;a.lastY=g;h.draged=!0;h.lastX=b;h.lastY=g;f=f.config.animationObj;h=f.duration;f.duration=0;q.drawLabel(a.pointIndex,a.pointIndex+1);f.duration=h},dragUp:function(){var b=this.data("drag-options"),a=b.chart,e=a.components.dataset[b.datasetIndex],c=e.config,d=!c.doNotSnap,f=b.dataObj,s=e.yAxis,l,m,A=a.config.canvasTop,B=f.config.setTooltext,q=c.snapToDivRelaxation,k=c.snapToDiv,n=f.graphics.hotElement,p=c.snapToDivOnly,c=
f.config,u=c.setValue,c=c.toolTipValue;b.draged&&(m=l=b.yPos+b.lastY,d&&k&&(m=Ca(s.getValue(l+q-A)-u),d=s.getClosestDiv(u,p?null:m),m=s.getPixel(d),f.config.setValue=d,m-l&&e.dragMove.call(this,0,m-b.yPos)),f={dataIndex:b.pointIndex+1,datasetIndex:b.datasetIndex+1,startValue:b.startValue,endValue:f.config.setValue,datasetName:b.name},s=[a.chartInstance.id,f.dataIndex,f.datasetIndex,f.datsetName,f.startValue,f.endValue],I.raiseEvent("dataplotDragEnd",f,a.chartInstance),v.raiseEvent("chartupdated",
f,a.chartInstance,s),b.yPos=m,b.lastX+=b.origX,b.lastY+=b.origY,n.data("draged",!1),n&&n.attr(b.shapeAttr).tooltip(B+c),e.setMaxMin(),a._setDataLimits())},getJSONData:function(){var b=this.JSONData.data,a=this.components.data,e=[],c={},d,f,s,l,m;m=0;for(l=b.length;m<l;m++){f=b[m];d=a[m];c={};for(s in f)c[s]="value"===s?d.config.setValue:f[s];e.push(c)}return{data:e}}},"Column"]);FusionCharts.register("component",["datasetGroup","DragColumn",{getJSONData:function(){var b=this.chart,a=b.components.dataset,
b=b.jsonData&&b.jsonData.dataset,e=[],c,d,f,s=a.length;for(f=0;f<s;f++)c=a[f],d=W({},b[f]),delete d.data,c=c.getJSONData(),e.push(W(d,c));return e}},xa]);FusionCharts.register("component",["dataset","DragArea",{configure:function(){var b,g=this.chart.jsonData.chart;b=FusionCharts.get("component",["dataset","area"]);var e,c,d;c=this.JSONData;var f=c.data||[],s;b.prototype.configure.call(this);b=this.config;e=this.components.data;b.allowDrag=a(c.allowdrag,1);b.allowNegDrag=a(c.allownegativedrag,1);
b.allowAxisChange=a(g.allowaxischange,1);b.snapToDivOnly=a(g.snaptodivonly,0);b.doNotSnap=a(g.donotsnap,0);b.snapToDiv=a(g.snaptodiv,1);b.snapToDivRelaxation=a(g.snaptodivrelaxation,10);b.doNotSnap&&(b.snapToDiv=b.snapToDivOnly=0);s=e.length;for(g=0;g<s;g++)d=f[g]||{},c=e[g].config,c.allowDrag=a(d.allowdrag,b.allowDrag),c.allowNegDrag=a(d.allownegativedrag,b.allowNegDrag)},draw:function(){var b=this.components.data,a,e=b.length,c;this.__base__.draw.call(this);for(c=0;c<e;c++)a=b[c],(a=a.config.anchorProps.imageUrl)||
this.drawTracker(c)},drawTracker:function(b){var a=this.chart,e=this.components.data,c=e[b],d=(c.graphics||{}).hotElement||null,f=this.dragStart,s=this.dragUp,l=this.dragMove,m=c.config,A=c._xPos,B=c._yPos;d&&(!m.trackerListenerBind&&m.allowDrag&&(d.drag(l,f,s),m.trackerListenerBind=!0),m.allowDrag&&d.attr({cursor:D&&"ns-resize"||"n-resize",ishot:!0,cx:A,cy:B}).data("drag-options",{items:e,yPos:B,chart:a,datasetIndex:this.index,name:this.JSONData.seriesname,pointIndex:b,dataObj:c}))},dragStart:function(){var b=
this.data("drag-options"),a=b.chart.config;b._origY=b._lastY||(b._lastY=0);b.boundaryTop=a.canvasTop;b.boundaryBottom=a.canvasTop+a.canvasHeight;b.startValue=b.dataObj.config.setValue;b.origY=this.attr("cy");b.origX=this.attr("cx");b.draged=!1},dragMove:function(b,a){var e=this.data("drag-options"),c=e.items,h=e.dataObj,f=e.chart,s=f.config.animationObj,l=f.components,m=l.dataset[e.datasetIndex],A=m.graphics.lineElement,B=l.yAxis[0],q=h._xPos,k=h.config,n=s.duration,l=l.numberFormatter,p=f.config.canvasTop,
u=c[e.pointIndex].graphics,t=B.getPixel(B.getAxisBase()),r=h.config.allowNegDrag?e.boundaryBottom:t,t=u.image,v=m.graphics.anchorGroup,z=h.config.anchorProps,x=z.imageUrl,C=u.element,w,u=h.config.showValue,y;y=e.origY+a;e.draged||(w={dataIndex:e.pointIndex+1,datasetIndex:e.datasetIndex,startValue:e.startValue,datasetName:e.name},I.raiseEvent("dataplotDragStart",w,f.chartInstance));y<e.boundaryTop&&(a=e.boundaryTop-e.origY);y>r&&(a=r-e.origY);y=e.origY+a;this.attr({cy:y});Fa&&x?t=C:(r=C.data("setRolloverAttr"),
(x=C.data("setRolloutAttr"))&&(x.polypath[2]=y),r&&(r.polypath[2]=y),C&&C.attr({polypath:[z.symbol[1]||2,q,y,z.radius,90,0]}),C.data("setRolloverAttr",r),C.data("setRolloutAttr",x));h._yPos=y;t&&m.updateImage(h,f,v);f=k.setValue=B.getValue(y-p);f=l.dataLabels(f);h.config.toolTipValue=f;k.displayValue=d(k.setDisplayValue,f);s.duration=0;u&&m.drawLabel(e.pointIndex);s.duration=n;e.draged=!0;this.data("draged",!0);e.lastY=a;e=m.getLinePath(c,{});m.config.lastPath=e;A&&A.attr({path:e.getPathArr()})},
updateImage:function(b){var a=this.chart,e=b.graphics,e=e.image||e.element,c=b.config,d=c.anchorProps,f=c.hoverEffects,c=e&&e.data("imgRef"),s=function(b){var c=b.length,a=u,g;for(g=0;g<c;g+=1)a+=" "+b[g];return a},l=d.imageScale,m=a.components.paper,A=c.height*l*.01,B=c.width*l*.01,a=b._xPos;b=b._yPos;var q=f.imageHoverScale,k=c.width*q*.01,n=c.height*q*.01,p=d.radius=d.isAnchorRadius?d.radius:E(B,A)/2,t=d.imagePadding,r=p-t-.5*d.borderThickness,t=f.radius-t-.5*f.anchorBorderThickness,p=d.symbol[1],
d=m.polypath(p||2,a,b,0<r?r:0,d.startAngle,0).attr({visibility:"hidden"}),r=s(d.attrs.path),l={x:a-c.width*l*.005,y:b-c.height*l*.005,width:B,height:A,alpha:100};Fa||(l["clip-path"]=r);d.remove();d=m.polypath(p||2,a,b,0<t?t:0,f.startAngle,f.dip);f=s(d.attrs.path);d.remove();c={x:a-c.width*q*.005,y:b-c.height*q*.005,width:k,height:n,alpha:100};Fa||(c["clip-path"]=f);e.attr(l);e.data("setRolloverAttr",c);e.data("setRolloutAttr",l)},dragUp:function(){var b=this.data("drag-options"),a=b.dataObj,e=b.chart,
c=e.components.dataset[b.datasetIndex],d=c.config,f=d.showTooltip,s=a.config.setTooltext,l=!d.doNotSnap,m=a.config.displayValue,A=e.config.canvasTop,B=c.yAxis,q=d.snapToDivRelaxation,k=d.snapToDivOnly,n=d.snapToDiv,p=a.config.setValue,t;b.draged&&(d=t=b.yPos+b.lastY,l&&n&&(d=Ca(B.getValue(t+q-A)-p),k=B.getClosestDiv(p,k?null:d),a.config.setValue=k,d=B.getPixel(k),d-t&&c.dragMove.call(this,0,d-b.yPos)),B={dataIndex:b.pointIndex+1,datasetIndex:b.datasetIndex+1,startValue:b.startValue,endValue:a.config.setValue,
datasetName:b.name},k=[e.chartInstance.id,B.dataIndex,B.datasetIndex,B.datsetName,B.startValue,B.endValue],I.raiseEvent("dataplotDragEnd",B,e.chartInstance),v.raiseEvent("chartupdated",B,e.chartInstance,k),b.yPos=d,a._yPos=d,s+=m,a.graphics.hotElement.attr({y:b.yPos}).tooltip(f?s:u),b._lastY=b.lastY+b._origY,b.lastY+=b.origY,this.data("draged",!1),c.setMaxMin(),e._setDataLimits())},getJSONData:function(){var b=this.JSONData.data,a=this.components.data,e=[],c={},d,f,s,l,m;m=0;for(l=b.length;m<l;m++){d=
b[m];f=a[m];c={};for(s in d)c[s]="value"===s?f.config.setValue:d[s];e.push(c)}return{data:e}}},"Area"]);FusionCharts.register("component",["datasetGroup","DragArea",{getJSONData:function(){var b=this.chart,a=b.components.dataset,b=b.jsonData&&b.jsonData.dataset,e=[],c,d,f,s=a.length;for(f=0;f<s;f++)c=a[f],d=W({},b[f]),delete d.data,c=c.getJSONData(),e.push(W(d,c));return e}},"area"]);FusionCharts.register("component",["dataset","DragLine",{configure:function(){var b,g=this.chart.jsonData.chart,e,
c,d;c=this.JSONData;var f=c.data||[],s;this.__base__.configure.call(this);b=this.config;e=this.components.data;b.allowDrag=a(c.allowdrag,1);b.allowNegDrag=a(c.allownegativedrag,1);b.allowAxisChange=a(g.allowaxischange,1);b.snapToDivOnly=a(g.snaptodivonly,0);b.snapToDiv=a(g.snaptodiv,1);b.doNotSnap=a(g.donotsnap,0);b.snapToDivRelaxation=a(g.snaptodivrelaxation,10);b.doNotSnap&&(b.snapToDiv=b.snapToDivOnly=0);s=e.length;for(g=0;g<s;g++)d=f[g]||{},c=e[g].config,c.allowDrag=a(d.allowdrag,b.allowDrag),
c.allowNegDrag=a(d.allownegativedrag,b.allowNegDrag)},draw:function(){var b=this.components.data,a=FusionCharts.get("component",["dataset",pa]),e,c=b.length;a.prototype.draw.call(this);for(a=0;a<c;a++)e=b[a],(e=e.config.anchorProps.imageUrl)||this.drawTracker(a)},drawTracker:function(b){var a=this.chart,e=this.components.data,c=e[b],d=c.graphics.hotElement||null,f=this.dragStart,s=this.dragUp,l=this.dragMove,m=c.config,A=c._yPos;d&&(!m.trackerListenerBind&&m.allowDrag&&(d.drag(l,f,s),m.trackerListenerBind=
!0),m.allowDrag&&d.attr({cursor:D&&"ns-resize"||"n-resize",ishot:!0}).data("drag-options",{items:e,yPos:A,chart:a,name:this.JSONData.seriesname,datasetIndex:this.index,pointIndex:b,dataObj:c}))},dragStart:function(){var b=this.data("drag-options"),a=b.chart.config;b._origY=b._lastY||(b._lastY=0);b.boundaryTop=a.canvasTop;b.boundaryBottom=a.canvasTop+a.canvasHeight;b.startValue=b.dataObj.config.setValue;b.origY=this.attr("cy");b.origX=this.attr("cx");b.latestY=b.origY;b.draged=!1},dragMove:function(b,
a){var e=this.data("drag-options"),c=e.items,h=c[e.pointIndex],f=e.dataObj,s=f.config,l=e.chart,m=l.components,A=m.dataset[e.datasetIndex],B=FusionCharts.get("component",["dataset","DragArea"]),q=l.config.animationObj,k=m.yAxis[0],n=f._xPos,p=q.duration,u=m.numberFormatter,t=l.config.canvasTop,r=h.graphics,h=k.getPixel(k.getAxisBase()),v=f.config.allowNegDrag?e.boundaryBottom:h,z=r.image,x=f.config.anchorProps,C=x.imageUrl,h=A.graphics.lineElement,m=f.config.showValue,w=c.length,y,r=r.element,E;E=
e.origY+a;e.draged||(y={dataIndex:e.pointIndex+1,datasetIndex:e.datasetIndex,startValue:e.startValue,datasetName:e.name},I.raiseEvent("dataplotDragStart",y,l.chartInstance));E<e.boundaryTop&&(a=e.boundaryTop-e.origY);E>v&&(a=v-e.origY);E=e.origY+a;this.attr({cy:E});Fa&&C?z=r:(v=r.data("setRolloverAttr"),(l=r.data("setRolloutAttr"))&&(l.polypath[2]=E),v&&(v.polypath[2]=E),r&&r.attr({polypath:[x.symbol[1]||2,n,E,x.radius,90,0]}),r.data("setRolloverAttr",v),r.data("setRolloutAttr",l));f._yPos=E;z&&B.prototype.updateImage.call(A,
f);e.latestY=E;f._yPos=E;f=s.setValue=k.getValue(E-t);f=u.dataLabels(f);s.toolTipValue=f;s.displayValue=d(s.setDisplayValue,f);for(s=0;s<w;s++)if(r=c[s].graphics,f=r.connector)k=c[s],B=k.config.connStartIndex,k=k.config.connEndIndex,B=A.getLinePath(c,{},{begin:B,end:k+1}),f.attr({path:B.getPathArr()});h&&(s=A.config,B=s.pathStartIndex,k=s.pathEndIndex,B=A.getLinePath(c,{},{begin:B,end:k}),h.attr({path:B.getPathArr()}));q.duration=0;m&&A.drawLabel(e.pointIndex);q.duration=p;e.draged=!0;this.data("draged",
!0);e.lastY=a},dragUp:function(){var b=this.data("drag-options"),a=b.dataObj,e=b.chart,c=e.components.dataset[b.datasetIndex],d=c.config,f=d.showTooltip,s=a.config.setTooltext,l=!d.doNotSnap,m=a.config.displayValue,A=e.config.canvasTop,B=c.yAxis,q=d.snapToDivRelaxation,k=d.snapToDivOnly,n=d.snapToDiv,p=a.config.setValue,t;b.draged&&(d=t=b.yPos+b.lastY,l&&n&&(d=Ca(B.getValue(0-A)-B.getValue(q-A)),k=B.getClosestDiv(p,k?null:d),d=B.getPixel(k),d-t&&c.dragMove.call(this,0,d-b.yPos)),B={dataIndex:b.pointIndex+
1,datasetIndex:b.datasetIndex+1,startValue:b.startValue,endValue:a.config.setValue,datasetName:b.name},k=[e.chartInstance.id,B.dataIndex,B.datasetIndex,B.datsetName,B.startValue,B.endValue],I.raiseEvent("dataplotDragEnd",B,e.chartInstance),v.raiseEvent("chartupdated",B,e.chartInstance,k),b.yPos=d,a._yPos=d,s+=m,a.graphics.hotElement.attr({y:b.yPos}).tooltip(f?s:u),b._lastY=b.lastY+b._origY,b.lastY+=b.origY,this.data("draged",!1),c.setMaxMin(),e._setDataLimits())},getJSONData:function(){var b=this.JSONData.data,
a=this.components.data,e=[],c={},d,f,s,l,m;m=0;for(l=b.length;m<l;m++){d=b[m];s=a[m];c={};for(f in d)c[f]="value"===f?s.config.setValue:d[f];e.push(c)}return{data:e}}},pa]);M("selectscatter",{isXY:!0,hasLegend:!0,applicableDSList:{selectScatter:!0},friendlyName:"Dragable Scatter Chart",standaloneInit:!0,creditLabel:n,defaultDatasetType:"selectScatter",defaultZeroPlaneHighlighted:!1,configure:M.dragbase.configure,_createToolBox:M.dragbase._createToolBox,_manageActionBarSpace:M.dragbase._manageActionBarSpace,
drawActionBar:M.dragbase.drawActionBar,getData:function(b){var a=this.getCollatedData(),e=[],c=a.dataset,d=c&&c.length||0,f=0,s=0,l;if(b)e=/^json$/ig.test(b)?a:/^csv$/ig.test(b)?this.getCSVString():I.core.transcodeData(a,"json",b);else for(;f<d;f+=1)if(a=c[f]){for((l=b=(a=c[f]&&c[f].data)&&a.length||0)&&(e[s]||(e[s]=[F(c[f].id,"null")]));l--;)e[s][l+1]=F(a[l].id,"null");b&&(s+=1)}return e},getCSVString:function(){for(var b=this.getData(),a=b.length;a--;)b[a]=b[a].join(",");return b.join("|")},getCollatedData:function(){for(var b=
this.config._selectEleArr,a=b&&b.length,e=W({},this.chartInstance.getChartData(I.dataFormats.JSON)),c=e.dataset,d,f,s,l,m,A,k,q,n,p=[];a--;)if(d=b[a])for(A=d.startX,k=d.endX,q=d.startY,n=d.endY,l=c.length;l--;)for(p[l]||(p[l]={data:[]}),m=(s=c[l].data)&&s.length;m--;)f=s[m],d=f.x,f=f.y,d>A&&d<k&&f<q&&f>n&&(p[l].data[m]=!0);for(l=c.length;l--;)for(m=(s=c[l].data)&&s.length;m--;)p[l]&&p[l].data[m]||s.splice(m,1);return this.updatedDataObj=e},createSelectionBox:function(b){var a=b.chart,e=a.components,
c=e.paper,d=a.config,f=e.yAxis&&e.yAxis[0],e=e.xAxis&&e.xAxis[0],s=b.selectionLeft,l=b.selectionTop,m=b.selectionWidth;b=b.selectionHeight;var A=s+m,k=l+b,q=15<m&&15<b,n={resizeEleRadius:15,canvasTop:d.canvasTop,canvasRight:d.canvasLeft+d.canvasWidth,canvasLeft:d.canvasLeft,canvasBottom:d.canvasTop+d.canvasHeight},t=a.graphics.trackerGroup,u=d._selectEleArr||(d._selectEleArr=[]);n.index=u.length;n.id="SELECT_"+n.index;n.selectBoxG=t=c.group("selection-box",t).toFront();n.selectBoxTracker=c.rect(s,
l,m,b,t).attr({"stroke-width":1,stroke:x(d.selectBorderColor),ishot:!0,fill:d.selectFillColor}).css({cursor:"move"});n.selectBoxTracker.data("config",{position:6,selectEleObj:n,xChange:!0,yChange:!0});n.topTracker=c.rect(s,l-6,m,12,t).attr({"stroke-width":0,ishot:!0,fill:p}).css("cursor",D&&"ns-resize"||"n-resize");n.topTracker.data("config",{position:1,selectEleObj:n,yChange:!0});n.rightTracker=c.rect(s+m-6,l,12,b,t).attr({"stroke-width":0,ishot:!0,fill:p}).css("cursor",D&&"ew-resize"||"w-resize");
n.rightTracker.data("config",{position:2,selectEleObj:n,xChange:!0});n.bottomTracker=c.rect(s,l+b-6,m,12,t).attr({"stroke-width":0,ishot:!0,fill:p}).css("cursor",D&&"ns-resize"||"n-resize");n.bottomTracker.data("config",{position:3,selectEleObj:n,yChange:!0});n.leftTracker=c.rect(s-6,l,12,b,t).attr({"stroke-width":0,ishot:!0,fill:p}).css("cursor",D&&"ew-resize"||"e-resize");n.leftTracker.data("config",{position:4,selectEleObj:n,xChange:!0});n.cornerInnerSymbol=c.symbol("resizeIcon",0,0,15,t).attr({transform:"t"+
A+","+k,"stroke-width":1,visibility:q?w:"hidden",ishot:!0,stroke:"#999999"});n.cornerOuterSymbol=c.symbol("resizeIcon",0,0,-12,t).attr({transform:"t"+A+","+k,strokeWidth:1,visibility:q?"hidden":w,ishot:!0,stroke:"#777777"});n.resizeTracker=c.circle(A,k,12,t).attr({"stroke-width":1,stroke:p,ishot:!0,fill:p}).css("cursor",D&&"nwse-resize"||"nw-resize");n.resizeTracker.data("config",{position:5,selectEleObj:n,yChange:!0,xChange:!0});n.closeButton=c.symbol("closeIcon",0,0,6,t).attr({transform:"t"+A+","+
l,"stroke-width":2,stroke:d.selectionCancelButtonBorderColor,fill:d.selectionCancelButtonFillColor,"stroke-linecap":"round",ishot:!0,"stroke-linejoin":"round"}).css({cursor:"pointer",_cursor:"hand"}).click(function(){a.deleteSelection(this,a)});n.closeButton.data("config",{index:n.index});n.chart=a;n.startX=e.getValue(s-d.canvasLeft);n.startY=f.getValue(l-d.canvasTop);n.endX=e.getValue(A-d.canvasLeft);n.endY=f.getValue(k-d.canvasTop);n.isVisible=!0;u.push(n);a.bindDragEvent(n)},_deleteAllSelection:function(){var b=
this.config._selectEleArr,a,e,c,d;for(c in b)if(b.hasOwnProperty(c)){a=b[c];for(d in a)a.hasOwnProperty(d)&&(e=a[d],e.remove&&e.remove(),delete a[d]);delete b[c]}},deleteSelection:function(b,a){var e=b.data("config").index,c=a.components,d=a.config._selectEleArr,f=d[e],s,l;l=f.selectBoxTracker.getBBox();l={selectionLeft:l.x,selectionTop:l.y,selectionWidth:l.width,selectionHeight:l.height,startXValue:c.xAxis[0].getAxisPosition(l.x,1),startYValue:c.yAxis[0].getAxisPosition(l.y,1),endXValue:c.xAxis[0].getAxisPosition(l.x+
l.width,1),endYValue:c.yAxis[0].getAxisPosition(l.y+l.height,1),data:a.getCollatedData(),id:f.id};for(s in f)f.hasOwnProperty(s)&&(c=f[s],c.remove&&c.remove(),delete f[s]);delete d[e];I.raiseEvent("selectionRemoved",l,a.chartInstance)},bindDragEvent:function(b){for(var a in b)/Tracker/.test(a)&&b[a].drag(this.move,this.start,this.up)},start:function(){var b=this.data("config").selectEleObj,a=b.topTracker,e=b.rightTracker,c=b.bottomTracker,d=b.leftTracker,f=b.resizeTracker,s=a.data("config"),l=e.data("config"),
m=c.data("config"),A=d.data("config"),k=f.data("config"),q=b.selectBoxTracker.data("config"),n=b.selectBoxTracker.getBBox();s.ox=n.x;s.oy=n.y;l.ox=n.x2;l.oy=n.y;m.ox=n.x;m.oy=n.y2;A.ox=n.x;A.oy=n.y;s.ox=n.x;s.oy=n.y;k.ox=n.x2;k.oy=n.y2;q.ox=n.x;q.oy=n.y;q.ow=n.width;q.oh=n.height;q.ox2=n.x2;q.oy2=n.y2;b.selectBoxG.toFront();a.hide();e.hide();c.hide();d.hide();f.hide();this.show()},move:function(b,a){var e=this.data("config"),c=e.selectEleObj,d=c.chart,f=d.config,s=d.components,l=c.topTracker,m=c.rightTracker,
A=c.bottomTracker,k=c.leftTracker,q=c.resizeTracker,n=c.selectBoxTracker,p=c.canvasLeft,t=c.canvasRight,u=c.canvasTop,r=c.canvasBottom,v=n.data("config"),x={},z,w;b=e.xChange?b:0;a=e.yChange?a:0;z=b+e.ox;w=a+e.oy;z=E(t-(e.ow||0),N(z,p));w=E(r-(e.oh||0),N(w,u));switch(e.position){case 1:x.y=E(v.oy2,w);x.height=Ca(v.oy2-w)||1;l.attr({y:w+-6});break;case 2:x.x=E(v.ox,z);x.width=Ca(v.ox-z)||1;m.attr({x:z+-6});break;case 3:x.y=E(v.oy,w);x.height=Ca(v.oy-w)||1;A.attr({y:w+-6});break;case 4:x.x=E(v.ox2,
z);x.width=Ca(v.ox2-z)||1;k.attr({x:z+-6});break;case 5:x.x=E(v.ox,z);x.width=Ca(v.ox-z)||1;x.y=E(v.oy,w);x.height=Ca(v.oy-w)||1;q.attr({cx:z,cy:w});break;default:x.x=z,x.y=w}this.data("dragStarted")||(e=n.getBBox(),f={selectionLeft:e.x,selectionTop:e.y,selectionWidth:e.width,selectionHeight:e.height,startXValue:s.xAxis[0].getValue(e.x-f.canvasLeft),startYValue:s.yAxis[0].getValue(e.y-f.canvasTop),endXValue:s.xAxis[0].getValue(e.x+e.width-f.canvasLeft),endYValue:s.yAxis[0].getValue(e.y+e.height-f.canvasTop),
id:c.id},I.raiseEvent("BeforeSelectionUpdate",f,d.chartInstance),this.data("dragStarted",1));n.animate(x);c.isVisible&&(c.closeButton.hide(),c.cornerInnerSymbol.hide(),c.cornerOuterSymbol.hide(),c.isVisible=!1)},up:function(){var b=this,a=b.data("config").selectEleObj,e=a.chart,c=e.components,d=e.config,f=c.xAxis&&c.xAxis[0],s=c.yAxis&&c.yAxis[0],l=a.topTracker,m=a.rightTracker,A=a.bottomTracker,k=a.leftTracker,q=a.resizeTracker,n=a.selectBoxTracker,p,t;setTimeout(function(){p=n.getBBox();a.startX=
f.getValue(p.x-d.canvasLeft);a.startY=s.getValue(p.y-d.canvasTop);a.endX=f.getValue(p.x2-d.canvasLeft);a.endY=s.getValue(p.y2-d.canvasTop);l.attr({x:p.x,y:p.y+-6,width:p.width});m.attr({x:p.x2+-6,y:p.y,height:p.height});A.attr({x:p.x,y:p.y2+-6,width:p.width});k.attr({x:p.x+-6,y:p.y,height:p.height});q.attr({cx:p.x2,cy:p.y2});a.closeButton.transform("t"+p.x2+","+p.y);a.cornerInnerSymbol.transform("t"+p.x2+","+p.y2);a.cornerOuterSymbol.transform("t"+p.x2+","+p.y2);a.closeButton.show();15>p.width||15>
p.height?(a.cornerInnerSymbol.hide(),a.cornerOuterSymbol.show()):(a.cornerInnerSymbol.show(),a.cornerOuterSymbol.hide());a.isVisible=!0;l.show();m.show();A.show();k.show();q.show();b.data("dragStarted")&&(t={selectionLeft:p.x,selectionTop:p.y,selectionWidth:p.width,selectionHeight:p.height,startXValue:c.xAxis[0].getValue(p.x-d.canvasLeft),startYValue:c.yAxis[0].getValue(p.y-d.canvasTop),endXValue:c.xAxis[0].getValue(p.x+p.width-d.canvasLeft),endYValue:c.yAxis[0].getValue(p.y+p.height-d.canvasTop),
data:e.getCollatedData(),id:a.id},I.raiseEvent("SelectionUpdated",t,e.chartInstance),b.data("dragStarted",0))},100)},restoreData:function(){var b=this.components.dataset,a;this._deleteAllSelection();for(a=0;a<b.length;a++)b[a].draw();return!0},submitData:function(){var b=this.chartInstance,a=new I.ajax,e=this.config,c=I.dataFormats.JSON,d=I.dataFormats.CSV,f=I.dataFormats.XML,s=e.formAction||"",l=e.submitFormAsAjax,m,A,k,q,n;e.formDataFormat===c?(m=c,A=JSON.stringify(this.getCollatedData())):this.formDataFormat===
d?(m=d,A=b.getCSVString&&b.getCSVString(),void 0===A&&(A=I.core.transcodeData(this.getCollatedData(),c,d))):(m=f,A=I.core.transcodeData(this.getCollatedData(),c,f));I.raiseEvent("beforeDataSubmit",{data:A},b,void 0,function(){l?(a.onError=function(a,c,g,e){v.raiseEvent("dataSubmitError",{xhrObject:c.xhr,url:e,statusText:a,httpStatus:c.xhr&&c.xhr.status?c.xhr.status:-1,data:A},b,[b.id,a,c.xhr&&c.xhr.status])},a.onSuccess=function(c,e,d,f){v.raiseEvent("dataSubmitted",{xhrObject:a,response:c,url:f,
data:A},b,[b.id,c])},k={},k["str"+m.toUpperCase()]=A,a.open&&a.abort(),a.post(s,k)):(q=oa.document.createElement("span"),q.innerHTML='<form style="display:none" action="'+s+'" method="'+e.formMethod+'" target="'+e.formTarget+'"> <input type="hidden" name="strXML" value="'+hc(A)+'"><input type="hidden" name="dataFormat" value="'+m.toUpperCase()+'" /></form>',n=q.removeChild(q.firstChild),oa.document.body.appendChild(n),n.submit&&n.submit(),n.parentNode.removeChild(n),q=n=null)},function(){I.raiseEvent("dataSubmitCancelled",
{data:A},b)})},_postSpaceManagement:function(){M("mscartesian")._postSpaceManagement.call(this);this._deleteAllSelection()},eiMethods:{getData:function(b){var a=this.apiInstance;return a&&a.getData(b)},restoreData:function(){var b=this.apiInstance;return b&&b.restoreData()},submitData:function(){var b=this.apiInstance;return b&&b.submitData()}}},M.scatterBase);FusionCharts.register("component",["dataset","selectScatter",{configure:function(){var b=this.chart,g=b.config,e=b.jsonData.chart,b=b.components.colorManager,
c=d(e.selectbordercolor,b.getColor("canvasBorderColor")),h=a(e.selectborderalpha,b.getColor("canvasBorderAlpha"));FusionCharts.get("component",["dataset","scatter"]).prototype.configure.call(this);g.selectBorderColor={FCcolor:{color:c,alpha:h}};g.selectFillColor=ea(d(e.selectfillcolor,b.getColor("altHGridColor")),a(e.selectfillalpha,b.getColor("altHGridAlpha")));g.selectionCancelButtonBorderColor=ea(d(e.selectioncancelbuttonbordercolor,c),a(e.selectioncancelbuttonborderalpha,h));g.selectionCancelButtonFillColor=
ea(d(e.selectioncancelbuttonfillcolor,"FFFFFF"),a(e.selectioncancelbuttonfillalpha,100));g.connativeZoom=!1;g.zoomType="xy";g.formAction=F(e.formaction);"0"!==e.submitdataasxml||e.formdataformat||(e.formdataformat=I.dataFormats.CSV);g.formDataFormat=d(e.formdataformat,I.dataFormats.XML);g.formTarget=d(e.formtarget,"_self");g.formMethod=d(e.formmethod,"POST");g.submitFormAsAjax=a(e.submitformusingajax,1)},draw:function(){var b=this.chart,a=b.linkedItems.container;FusionCharts.get("component",["dataset",
"scatter"]).prototype.draw.call(this);oc(b,{selectionStart:function(b){var c=Rb(a,b.originalEvent),c=W({selectionLeft:b.selectionLeft,selectionTop:b.selectionTop,selectionWidth:b.selectionWidth,selectionHeight:b.selectionHeight,startXValue:b.chart.components.xAxis[0].getAxisPosition(b.selectionLeft,1),startYValue:b.chart.components.yAxis[0].getAxisPosition(b.selectionTop,1)},c);I.raiseEvent("selectionStart",c,b.chart.chartInstance)},selectionEnd:function(b){var c=Rb(a,b.originalEvent),d=b.chart.components.xAxis[0],
f=b.chart.components.yAxis[0],c=W({selectionLeft:b.selectionLeft,selectionTop:b.selectionTop,selectionWidth:b.selectionWidth,selectionHeight:b.selectionHeight,startXValue:d.getAxisPosition(b.selectionLeft,1),startYValue:f.getAxisPosition(b.selectionTop,1),endXValue:d.getAxisPosition(b.selectionLeft+b.selectionWidth,1),endYValue:f.getAxisPosition(b.selectionTop+b.selectionHeight,1)},c);I.raiseEvent("selectionEnd",c,b.chart.chartInstance);b.chart.createSelectionBox(b)}})}},"scatter"]);M("candlestick",
{friendlyName:"Candlestick Chart",standaloneInit:!0,creditLabel:n,paletteIndex:3,defaultDatasetType:"candlestick",hasLegend:!0,applicableDSList:{candlestick:!0},canvasborderthickness:1,hasInteractiveLegend:!1,init:function(b,a,e,c){var d;this.jsonData=a;d=this.components=this.components||(this.components={});d.canvasVolume=d.canvasVolume||(d.canvasVolume={graphics:{},config:{}});M.mscartesian.init.call(this,b,a,e,c)},configure:function(){var b,g,e,c=this.components.colorManager,h=this.jsonData.chart,
f=this.components;this.base.configure.call(this);b=this.config;e=f.canvas.config;b.showVolumeChart=a(h.showvolumechart,1);g=a(h.volumeheightpercent,40);b.volumeHeightPercent=20>g?20:80<g?80:g;b.canvasBorderWidth=a(h.canvasborderthickness,1);b.rollOverBandColor=ea(d(h.rolloverbandcolor,c.getColor("altHGridColor")),d(h.rolloverbandalpha,c.getColor("altHGridAlpha")));W(f.canvasVolume.config,e)},_createDatasets:function(){var b=this.config,a=this.components,e=this.jsonData,c=e.dataset,h=e.trendset||[],
f=this.config.showVolumeChart,s=c&&c.length,l,m,A=this.defaultDatasetType,k=d(Z(e.chart.plotpriceas),xa),q,n,p,t,u,r=0,v=b.datasetMap||(b.datasetMap={trendset:[],candlestick:[]}),x,z={},w={trendset:[],candlestick:[]},C=a.legend;if(c){this.config.categories=e.categories&&e.categories[0].category;l=a.dataset=[];e=0;for(s=c.length;e<s;e++)p=c[e],p.seriesname&&(p.seriesname=Z(p.seriesname)),q=(q=d(p.renderas,A))&&q.toLowerCase(),n=FusionCharts.get("component",["dataset",q]),x=v[q],m=x[0],n&&(void 0===
z[q]?z[q]=0:z[q]++,m?(t=m,m.index=e,k!==t.config.plotType?(K.call(t),m=l[r]=new n,m.chart=this,m.index=r,m.init(p)):(t=(t=m.JSONData)&&t.data&&t.data.length,u=p.data&&p.data.length,t>u&&m.removeData(u-1,t-u,!1),m.JSONData=p),m.configure(),w[q].push(m),l.push(m),x.shift()):(m=new n,l.push(m),w[q].push(m),m.chart=this,m.index=r,m.init(p))),r++,x=a.yAxis&&a.yAxis[1],f&&this.config.drawVolume?(x&&x.show(),n&&(void 0===z[q]?z[q]=0:z[q]++,x=v[q],(m=x[0])?(t=(t=m.JSONData)&&t.data&&t.data.length,u=p.data&&
p.data.length,t>u&&m.removeData(u-1,t-u,!1),m.JSONData=p,m.configure(),l.push(m),w[q].push(m),x.shift()):(m=new n,m.chart=this,l.push(m),w[q].push(m),m.init(p,Ia))),r++):x&&x.hide(),f=this.config.drawVolume&&f?this.config.showVolumeChart=1:this.config.showVolumeChart=0;e=0;for(s=h.length;e<s;e++)p=h[e],q="trendset",x=v[q],m=x[0],void 0===z[q]?z[q]=0:z[q]++,m?(t=(t=m.JSONData)&&t.data&&t.data.length,u=p.data&&p.data.length,w[q].push(m),l.push(m),m.index=r,t>u&&m.removeData(u-1,t-u,!1),m.JSONData=p,
m.configure(),x.shift()):(n=FusionCharts.get("component",["dataset",q]),a=new n,l.push(a),w[q].push(a),a.chart=this,a.index=r,a.init(p)),r++;for(c in v)if(x=v[c],s=x.length)for(h=0;h<s;h++)C.removeItem(x[h].legendItemId),K.call(x[h]);b.datasetMap=w}else this.setChartMessage()},_spaceManager:function(){var b,a,e=this.config,c=this.components,d=e.legendPosition,f=c.xAxis&&c.xAxis[0],s=c.xAxis&&c.xAxis[1],l=c.yAxis&&c.yAxis[0],m=c.yAxis&&c.yAxis[1];b=this.hasLegend;var A=c.legend,k,q=this.config.showVolumeChart,
n=q?e.volumeHeightPercent:0,p=c.canvas.config,t=c.canvasVolume.config,u=e.width,r=e.height,v={},x;x=e.chartBorderWidth;c=c.canvas.config.canvasBorderWidth;k=e.minCanvasHeight;a=e.minCanvasWidth;var z=e.canvasMarginLeft,w=e.canvasMarginRight,C=e.canvasMarginTop,y=e.canvasMarginBottom,E,D,F=e.origCanvasTopMargin,H=e.origCanvasBottomMargin,J=e.origCanvasLeftMargin,R=e.origCanvasRightMargin;this._allocateSpace({top:x,bottom:x,left:x,right:x});x=d===fc?.225*e.canvasWidth:.3*e.canvasHeight;!1!==b&&f&&this._allocateSpace(A._manageLegendPosition(x));
b=.7*e.canvasWidth;l=l.placeAxis(b);m=q?m.placeAxis(b):{};v.left=N(l.left,m.left||0);v.right=N(l.right,m.right||0);this._allocateSpace(v);a>u-z-w&&(D=!0,m=e.canvasWidth-a,v=z+w,z=e.canvasMarginLeft=m*z/v,w=e.canvasMarginRight=m*w/v);z=z>e.canvasLeft?z-e.canvasLeft:0;u=w>u-e.canvasRight?w+e.canvasRight-u:0;this._allocateSpace({left:z,right:u});D&&(v=J+R,D=e.canvasWidth,D>a&&(m=D-a,z=m*J/v,u=m*R/v),this._allocateSpace({left:z,right:u}));a=d===Qb?.225*e.canvasHeight:.225*e.canvasWidth;this._manageChartMenuBar(a);
this._allocateSpace({top:e.canvasMarginTop,bottom:e.canvasMarginBottom});a=.3*e.canvasHeight;d=f.placeAxis(a);f&&this._allocateSpace(d);d.bottom+=6;q&&(f=s.placeAxis(a),this._allocateSpace(f));this._allocateSpace({top:c,bottom:2*c,left:c,right:c});k>r-C-y&&(E=!0,m=e.canvasHeight-k,v=C+y,C=e.canvasMarginTop=m*C/v,y=e.canvasMarginBottom=m*y/v);f=C>e.canvasTop?C-e.canvasTop:0;r=y>r-e.canvasBottom?y+e.canvasBottom-r:0;this._allocateSpace({top:f,bottom:r});E&&(v=F+H,E=e.canvasHeight,E>k&&(m=E-k,f=m*F/
v,r=m*H/v),this._allocateSpace({top:f,bottom:r}));k=e.canvasHeight;p.canvasHeight=ga((100-n)/100*k);t.canvasHeight=n/100*k;p.canvasTop=e.canvasTop;p.canvasLeft=e.canvasLeft;p.canvasBottom=p.canvasTop+p.canvasHeight;p.canvasWidth=e.canvasWidth;p.canvasRight=e.canvasRight;t.canvasTop=p.canvasBottom+d.bottom+2*c;t.canvasLeft=e.canvasLeft;t.canvasBottom=t.canvasTop+t.canvasHeight+2*c;t.canvasRight=e.canvasRight;t.canvasWidth=e.canvasWidth;n=e.canvasTop+p.canvasHeight+c;e=e.canvasTop+p.canvasHeight+d.bottom+
2*c;p.canvasY=n;t.canvasY=e},_postSpaceManagement:function(){var b=this.components,a=this.config.showVolumeChart,e=b.xAxis&&b.xAxis[0],c=b.yAxis&&b.yAxis[0],d=b.xAxis&&b.xAxis[1],f=b.yAxis&&b.yAxis[1],s=b.canvas.config,l=b.legend,b=b.canvasVolume.config,m=s.canvasBorderWidth;e&&e.setAxisDimention({x:s.canvasLeft,y:s.canvasY,opposite:s.canvasTop-m,axisLength:s.canvasWidth});c&&c.setAxisDimention({x:s.canvasLeft-m,y:s.canvasTop,opposite:s.canvasRight+m,axisLength:s.canvasHeight});a&&(d&&d.setAxisDimention({x:s.canvasLeft,
y:b.canvasBottom,opposite:b.canvasTop-m,axisLength:s.canvasWidth}),f&&f.setAxisDimention({x:s.canvasLeft-m,y:b.canvasY,opposite:b.canvasRight+m,axisLength:b.canvasHeight}),d&&d.setCanvas(b),f&&f.setCanvas(b));e.setCanvas(s);c.setCanvas(s);l.postSpaceManager()},_drawCanvas:function(){var b=this.components,a=this.graphics,e=b.paper,c=b.canvas,d=b.canvas.config,f=d.clip||(d.clip=[]),s=b.canvasVolume.config,l=c.graphics,b=b.canvasVolume.graphics,m=c.config,A=l.topCanvas,k=l.topCanvasBorderElement,c=b.volumeCanvas,
q=d.canvasLeft,n=d.canvasTop,p=d.canvasWidth,d=d.canvasHeight,t=s.canvasTop,s=s.canvasHeight,a=a.canvasGroup,u=m.canvasBorderRadius,r=m.canvasBorderWidth,v=.5*r,w=m.canvasBorderColor,z=this.get("config","animationObj"),y=z.dummyObj,C=z.animObj,E=z.animType,z=z.transposeAnimDuration,D,F=this.config.showVolumeChart,I=m.shadow,H=m.shadowOnCanvasFill,m=m.canBGColor;D={x:q-v,y:n-v,width:p+r,height:d+r,r:u,"stroke-width":r,stroke:w,"stroke-linejoin":2<r?"round":"miter"};k?z?k.animateWith(y,C,{x:q-v,y:n-
v,width:p+r,height:d+r,r:u},z,E):k.attr(D):k=l.topCanvasBorderElement=e.rect(D,a).shadow(I);k.attr({"stroke-width":r,stroke:w,"stroke-linejoin":2<r?"round":"miter"});f["clip-canvas"]=[N(0,q),N(0,n),N(1,p),N(1,d)];f["clip-canvas-init"]=[N(0,q),N(0,n),1,N(1,d)];A?z?A.animate({x:q,y:n,width:p,height:d},z,E).attr({r:u}):A.attr(void 0):(l.topCanvas=A=e.rect(a),A.attr({x:q,y:n,width:p,height:d}).shadow(H));A.animateWith(y,C,{x:q,y:n,width:p,height:d},z,E);A.attr({r:u,"stroke-width":0,stroke:"none",fill:x(m)});
F?(f={x:q-v,y:t-v-1,width:p+r,height:s+r},c||(b.volumeCanvas=c=e.rect(a).attr(f).shadow(H).crisp()),c.show().animateWith(y,C,f,z,E).attr({r:u,fill:x(m),"stroke-width":r,stroke:w,"stroke-linejoin":2<r?"round":"miter","shape-rendering":"crisp"})):c&&c.hide()},_createAxes:function(){var b=this.components,a,e=FusionCharts.register("component",["axis","cartesian"]),c=this.config.showVolumeChart,d,f;b.yAxis=[];b.xAxis=[];b.yAxis[0]=d=new e;b.yAxis[1]=a=new e;b.xAxis[0]=f=new e;d.chart=this;a.chart=this;
f.chart=this;c&&(b.xAxis[1]=b=new e,b.chart=this,b.init());d.init();a.init();f.init();this._setCategories()},_feedAxesRawData:function(){var b=this.components,g=b.colorManager,e=this.jsonData,c=e.chart,h,f,s=this.is3d,l=s?Ja.chart3D:Ja.chart2D,m=FusionCharts.register("component",["axis","cartesian"]),A=this.config.showVolumeChart;h={outCanfontFamily:d(c.outcnvbasefont,c.basefont,"Verdana,sans"),outCanfontSize:hb(c.outcnvbasefontsize,c.basefontsize,10),outCancolor:d(c.outcnvbasefontcolor,c.basefontcolor,
g.getColor(l.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),axisNamePadding:c.xaxisnamepadding,axisValuePadding:c.labelpadding,axisNameFont:c.xaxisnamefont,axisNameFontSize:c.xaxisnamefontsize,axisNameFontColor:c.xaxisnamefontcolor,axisNameFontBold:c.xaxisnamefontbold,axisNameFontItalic:c.xaxisnamefontitalic,axisNameBgColor:c.xaxisnamebgcolor,axisNameBorderColor:c.xaxisnamebordercolor,axisNameAlpha:c.xaxisnamealpha,axisNameFontAlpha:c.xaxisnamefontalpha,axisNameBgAlpha:c.xaxisnamebgalpha,axisNameBorderAlpha:c.xaxisnameborderalpha,
axisNameBorderPadding:c.xaxisnameborderpadding,axisNameBorderRadius:c.xaxisnameborderradius,axisNameBorderThickness:c.xaxisnameborderthickness,axisNameBorderDashed:c.xaxisnameborderdashed,axisNameBorderDashLen:c.xaxisnameborderdashlen,axisNameBorderDashGap:c.xaxisnameborderdashgap,useEllipsesWhenOverflow:c.useellipseswhenoverflow,divLineColor:d(c.vdivlinecolor,c.divlinecolor,g.getColor(l.divLineColor)),divLineAlpha:d(c.vdivlinealpha,c.divlinealpha,s?g.getColor("divLineAlpha3D"):g.getColor("divLineAlpha")),
divLineThickness:a(c.vdivlinethickness,c.divlinethickness,1),divLineIsDashed:Boolean(a(c.vdivlinedashed,c.vdivlineisdashed,c.divlinedashed,c.divlineisdashed,0)),divLineDashLen:a(c.vdivlinedashlen,c.divlinedashlen,4),divLineDashGap:a(c.vdivlinedashgap,c.divlinedashgap,2),showAlternateGridColor:a(c.showalternatevgridcolor,0),alternateGridColor:d(c.alternatevgridcolor,g.getColor("altVGridColor")),alternateGridAlpha:d(c.alternatevgridalpha,g.getColor("altVGridAlpha")),numDivLines:c.numvdivlines,labelFont:c.labelfont,
labelFontSize:c.labelfontsize,labelFontColor:c.labelfontcolor,labelFontAlpha:c.labelalpha,labelFontBold:c.labelfontbold,labelFontItalic:c.labelfontitalic,axisName:c.xaxisname,axisMinValue:c.xaxisminvalue,axisMaxValue:c.xaxismaxvalue,setAdaptiveMin:c.setadaptivexmin,adjustDiv:c.adjustvdiv,labelDisplay:c.labeldisplay,showLabels:c.showlabels,rotateLabels:c.rotatelabels,slantLabel:a(c.slantlabels,c.slantlabel),labelStep:a(c.labelstep,c.xaxisvaluesstep),showAxisValues:a(c.showxaxisvalues,c.showxaxisvalue),
showLimits:c.showvlimits,showDivLineValues:a(c.showvdivlinevalues,c.showvdivlinevalues),showZeroPlane:c.showvzeroplane,zeroPlaneColor:c.vzeroplanecolor,zeroPlaneThickness:c.vzeroplanethickness,zeroPlaneAlpha:c.vzeroplanealpha,showZeroPlaneValue:c.showvzeroplanevalue,trendlineColor:c.trendlinecolor,trendlineToolText:c.trendlinetooltext,trendlineThickness:c.trendlinethickness,trendlineAlpha:c.trendlinealpha,showTrendlinesOnTop:c.showtrendlinesontop,showAxisLine:a(c.showxaxisline,c.showaxislines,c.drawAxisLines,
0),axisLineThickness:a(c.xaxislinethickness,c.axislinethickness,1),axisLineAlpha:a(c.xaxislinealpha,c.axislinealpha,100),axisLineColor:d(c.xaxislinecolor,c.axislinecolor,"#000000")};s={outCanfontFamily:d(c.outcnvbasefont,c.basefont,"Verdana,sans"),outCanfontSize:hb(c.outcnvbasefontsize,c.basefontsize,10),outCancolor:d(c.outcnvbasefontcolor,c.basefontcolor,g.getColor(l.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),axisNamePadding:c.xaxisnamepadding,axisValuePadding:c.labelpadding,axisNameFont:c.xaxisnamefont,
axisNameFontSize:c.xaxisnamefontsize,axisNameFontColor:c.xaxisnamefontcolor,axisNameFontBold:c.xaxisnamefontbold,axisNameFontItalic:c.xaxisnamefontitalic,axisNameBgColor:c.xaxisnamebgcolor,axisNameBorderColor:c.xaxisnamebordercolor,axisNameAlpha:c.xaxisnamealpha,axisNameFontAlpha:c.xaxisnamefontalpha,axisNameBgAlpha:c.xaxisnamebgalpha,axisNameBorderAlpha:c.xaxisnameborderalpha,axisNameBorderPadding:c.xaxisnameborderpadding,axisNameBorderRadius:c.xaxisnameborderradius,axisNameBorderThickness:c.xaxisnameborderthickness,
axisNameBorderDashed:c.xaxisnameborderdashed,axisNameBorderDashLen:c.xaxisnameborderdashlen,axisNameBorderDashGap:c.xaxisnameborderdashgap,useEllipsesWhenOverflow:c.useellipseswhenoverflow,divLineColor:d(c.vdivlinecolor,g.getColor(l.divLineColor)),divLineAlpha:d(c.vdivlinealpha,g.getColor("divLineAlpha")),divLineThickness:a(c.vdivlinethickness,1),divLineIsDashed:Boolean(a(c.vdivlinedashed,c.vdivlineisdashed,0)),divLineDashLen:a(c.vdivlinedashlen,4),divLineDashGap:a(c.vdivlinedashgap,2),showAlternateGridColor:a(c.showalternatevgridcolor,
0),alternateGridColor:d(c.alternatevgridcolor,g.getColor("altVGridColor")),alternateGridAlpha:d(c.alternatevgridalpha,g.getColor("altVGridAlpha")),numDivLines:c.numvdivlines,labelFont:c.labelfont,labelFontSize:c.labelfontsize,labelFontColor:c.labelfontcolor,labelFontAlpha:c.labelalpha,labelFontBold:c.labelfontbold,labelFontItalic:c.labelfontitalic,axisName:c.xaxisname,axisMinValue:c.xaxisminvalue,axisMaxValue:c.xaxismaxvalue,setAdaptiveMin:c.setadaptivexmin,adjustDiv:c.adjustvdiv,labelDisplay:c.labeldisplay,
showLabels:1,rotateLabels:c.rotatelabels,slantLabel:a(c.slantlabels,c.slantlabel),labelStep:a(c.labelstep,c.xaxisvaluesstep),showAxisValues:a(c.showxaxisvalues,c.showxaxisvalue),showLimits:c.showvlimits,showDivLineValues:a(c.showvdivlinevalues,c.showvdivlinevalues),showZeroPlane:c.showvzeroplane,zeroPlaneColor:c.vzeroplanecolor,zeroPlaneThickness:c.vzeroplanethickness,zeroPlaneAlpha:c.vzeroplanealpha,showZeroPlaneValue:c.showvzeroplanevalue,trendlineColor:c.trendlinecolor,trendlineToolText:c.trendlinetooltext,
trendlineThickness:c.trendinethickness,trendlineAlpha:c.trendlinealpha,showTrendlinesOnTop:c.showtrendlinesontop,showAxisLine:a(c.showxaxisline,c.showaxislines,c.drawAxisLines,0),axisLineThickness:a(c.xaxislinethickness,c.axislinethickness,1),axisLineAlpha:a(c.xaxislinealpha,c.axislinealpha,100),axisLineColor:d(c.xaxislinecolor,c.axislinecolor,"#000000")};f={outCanfontFamily:d(c.outcnvbasefont,c.basefont,"Verdana,sans"),outCanfontSize:hb(c.outcnvbasefontsize,c.basefontsize,10),outCancolor:d(c.outcnvbasefontcolor,
c.basefontcolor,g.getColor(l.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),axisNamePadding:c.yaxisnamepadding,axisValuePadding:c.yaxisvaluespadding,axisNameFont:c.pyaxisnamefont,axisNameFontSize:c.pyaxisnamefontsize,axisNameFontColor:c.pyaxisnamefontcolor,axisNameFontBold:c.pyaxisnamefontbold,axisNameFontItalic:c.pyaxisnamefontitalic,axisNameBgColor:c.pyaxisnamebgcolor,axisNameBorderColor:c.pyaxisnamebordercolor,axisNameAlpha:c.pyaxisnamealpha,axisNameFontAlpha:c.pyaxisnamefontalpha,axisNameBgAlpha:c.pyaxisnamebgalpha,
axisNameBorderAlpha:c.pyaxisnameborderalpha,axisNameBorderPadding:c.pyaxisnameborderpadding,axisNameBorderRadius:c.pyaxisnameborderradius,axisNameBorderThickness:c.pyaxisnameborderthickness,axisNameBorderDashed:c.pyaxisnameborderdashed,axisNameBorderDashLen:c.pyaxisnameborderdashlen,axisNameBorderDashGap:c.pyaxisnameborderdashgap,axisNameWidth:c.yaxisnamewidth,useEllipsesWhenOverflow:c.useellipseswhenoverflow,rotateAxisName:a(c.rotateyaxisname,1),axisName:c.pyaxisname,divLineColor:d(c.divlinecolor,
g.getColor(l.divLineColor)),divLineAlpha:d(c.divlinealpha,g.getColor("divLineAlpha")),divLineThickness:a(c.divlinethickness,1),divLineIsDashed:Boolean(a(c.divlinedashed,c.divlineisdashed,1)),divLineDashLen:a(c.divlinedashlen,4),divLineDashGap:a(c.divlinedashgap,2),showAlternateGridColor:a(c.showalternatehgridcolor,1),alternateGridColor:d(c.alternatehgridcolor,g.getColor("altHGridColor")),alternateGridAlpha:d(c.alternatehgridalpha,g.getColor("altHGridAlpha")),numDivLines:a(c.numpdivlines,5),axisMinValue:c.pyaxisminvalue,
axisMaxValue:c.pyaxismaxvalue,setAdaptiveMin:a(c.setadaptiveymin,1),adjustDiv:c.adjustdiv,labelStep:c.yaxisvaluesstep,showAxisValues:a(c.showyaxisvalues,c.showyaxisvalue),showLimits:a(c.showyaxislimits,c.showlimits,this.showLimits),showDivLineValues:a(c.showdivlinevalues,c.showdivlinevalue),showZeroPlane:c.showzeroplane,zeroPlaneColor:c.zeroplanecolor,zeroPlaneThickness:c.zeroplanethickness,zeroPlaneAlpha:c.zeroplanealpha,showZeroPlaneValue:c.showzeroplanevalue,trendlineColor:c.trendlinecolor,trendlineToolText:c.trendlinetooltext,
trendlineThickness:c.trendlinethickness,trendlineAlpha:c.trendlinealpha,showTrendlinesOnTop:c.showtrendlinesontop,showAxisLine:a(c.showyaxisline,c.showaxislines,c.drawAxisLines,0),axisLineThickness:a(c.yaxislinethickness,c.axislinethickness,1),axisLineAlpha:a(c.yaxislinealpha,c.axislinealpha,100),axisLineColor:d(c.yaxislinecolor,c.axislinecolor,"#000000")};g={outCanfontFamily:d(c.outcnvbasefont,c.basefont,"Verdana,sans"),outCanfontSize:hb(c.outcnvbasefontsize,c.basefontsize,10),outCancolor:d(c.outcnvbasefontcolor,
c.basefontcolor,g.getColor(l.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),axisNamePadding:c.yaxisnamepadding,axisValuePadding:c.yaxisvaluespadding,axisNameFont:c.vyaxisnamefont,axisNameFontSize:c.vyaxisnamefontsize,axisNameFontColor:c.vyaxisnamefontcolor,axisNameFontBold:c.vyaxisnamefontbold,axisNameFontItalic:c.vyaxisnamefontitalic,axisNameBgColor:c.vyaxisnamebgcolor,axisNameBorderColor:c.vyaxisnamebordercolor,axisNameAlpha:c.vyaxisnamealpha,axisNameFontAlpha:c.vyaxisnamefontalpha,axisNameBgAlpha:c.vyaxisnamebgalpha,
axisNameBorderAlpha:c.vyaxisnameborderalpha,axisNameBorderPadding:c.vyaxisnameborderpadding,axisNameBorderRadius:c.vyaxisnameborderradius,axisNameBorderThickness:c.vyaxisnameborderthickness,axisNameBorderDashed:c.vyaxisnameborderdashed,axisNameBorderDashLen:c.vyaxisnameborderdashlen,axisNameBorderDashGap:c.vyaxisnameborderdashgap,axisNameWidth:c.yaxisnamewidth,useEllipsesWhenOverflow:c.useellipseswhenoverflow,rotateAxisName:a(c.rotateyaxisname,1),axisName:c.vyaxisname,divLineColor:d(c.divlinecolor,
g.getColor(l.divLineColor)),divLineAlpha:d(c.divlinealpha,g.getColor("divLineAlpha")),divLineThickness:a(c.divlinethickness,1),divLineIsDashed:Boolean(a(c.divlinedashed,c.divlineisdashed,1)),divLineDashLen:a(c.divlinedashlen,4),divLineDashGap:a(c.divlinedashgap,2),showAlternateGridColor:a(c.showalternatehgridcolor,1),alternateGridColor:d(c.alternatehgridcolor,g.getColor("altHGridColor")),alternateGridAlpha:d(c.alternatehgridalpha,g.getColor("altHGridAlpha")),numDivLines:c.numdivlines,axisMinValue:c.vyaxisminvalue,
axisMaxValue:c.vyaxismaxvalue,setAdaptiveMin:c.setadaptiveymin,adjustDiv:c.adjustdiv,labelStep:c.yaxisvaluesstep,showAxisValues:a(c.showyaxisvalues,c.showyaxisvalue),showLimits:a(c.showsecondarylimits,c.showlimits),showDivLineValues:a(c.showdivlinevalues,c.showdivlinevalue),showZeroPlane:c.showzeroplane,zeroPlaneColor:c.zeroplanecolor,zeroPlaneThickness:c.zeroplanethickness,zeroPlaneAlpha:c.zeroplanealpha,showZeroPlaneValue:c.showzeroplanevalue,trendlineColor:c.trendlinecolor,trendlineToolText:c.trendlinetooltext,
trendlineThickness:c.trendlinethickness,trendlineAlpha:c.trendlinealpha,showTrendlinesOnTop:c.showtrendlinesontop,showAxisLine:a(c.showyaxisline,c.showaxislines,c.drawAxisLines,0),axisLineThickness:a(c.yaxislinethickness,c.axislinethickness,1),axisLineAlpha:a(c.yaxislinealpha,c.axislinealpha,100),axisLineColor:d(c.yaxislinecolor,c.axislinecolor,"#000000")};h.vtrendlines=e.vtrendlines;s.vtrendlines=e.vtrendlines;f.trendlines=e.trendlines;c=b.yAxis[0];e=b.yAxis[1];l=b.xAxis[0];c.setCommonConfigArr(f,
!0,!1,!1);c.configure();e.setCommonConfigArr(g,!0,!1,!1);e.configure();c.setAxisConfig({drawLabelsOpposit:1,axisNameAlignCanvas:1,relativeAxis:e});e.setAxisConfig({drawLabelsOpposit:1,axisNameAlignCanvas:1,uniqueClassName:1,relativeAxis:c});l.setCommonConfigArr(h,!1,!1,!1);l.configure();l.setAxisConfig({drawTrendLabels:A?!1:!0});A?(b.xAxis[1]?b.xAxis[1].show():(m=b.xAxis[1]=new m,m.chart=this,m.init()),m=b.xAxis[1],m.setCommonConfigArr(s,!1,!1,!1),m.configure(),m.setAxisConfig({drawLabels:!1,drawPlotlines:!0,
drawPlotBands:!1,drawAxisName:!1,drawTrendLines:!0,drawOnlyCategoryLine:!0,uniqueClassName:1})):b.xAxis[1]&&b.xAxis[1].hide()},_setCategories:function(){var b=this.jsonData,a=this.components.xAxis,b=b.categories&&b.categories[0].category||[],e=[],c,d;for(d=0;d<b.length;d++)c=W({},b[d]),c.label=u,e.push(c);a[0].setAxisPadding(.5,.5);a[0].setCategory(b);a[1]&&a[1].setAxisPadding(.5,.5);a[1]&&a[1].setCategory(e)},_setAxisLimits:function(){var b=this.components,a=b.dataset,e=b.yAxis,b=b.xAxis,c,d=a.length,
f,s=-Infinity,l=Infinity,m=-Infinity,A=Infinity,k=Infinity,q=-Infinity,n,p=0,t={};for(f=0;f<d;f++)c=a[f],n=c.groupManager,p=c.config.parentYAxis,n?(t[c.type]=n,t[c.type].yAxisIndex=p):(c=c.getDataLimits(),1===p?(m=N(m,c.max),A=E(A,c.min)):(s=N(s,c.max),l=E(l,c.min)),q=N(q,c.xMax||-Infinity),k=E(k,c.xMin||Infinity));for(n in t)c=t[n].getDataLimits(),s=N(s,c.max),l=E(l,c.min);e[0].setDataLimit(s,l);e[1].setDataLimit(m,A);if(-Infinity!==q||Infinity!==k)b[0].setAxisRange({min:k-.5,max:q+.5,tickInterval:1}),
b[1]&&b[1].setAxisRange({min:k-.5,max:q+.5,tickInterval:1})},isDual:!0},M.mscartesian);FusionCharts.register("component",["dataset","Candlestick",{type:"Candlestick",configure:function(){if(this.plotType===Ia)this._configureVolume();else{var b=this.config,g=this.chart,e=g.components,c=this.JSONData,h=c.data||[],f=g.jsonData.chart,s=h.length,l=b.plotPriceAs=F(f.plotpriceas,u).toLowerCase(),m=e.numberFormatter,A=e.colorManager,k,q,n,p,e=b.bearBorderColor=Ha(d(f.bearbordercolor,ja)),t=b.bearFillColor=
Ha(d(f.bearfillcolor,ja)),r=b.bullBorderColor=Ha(d(f.bullbordercolor,A.getColor("canvasBorderColor"))),x=b.bullFillColor=Ha(d(f.bullfillcolor,"FFFFFF")),w=b.lineThickness=b.plotBorderThickness=a(f.plotlinethickness,l==pa||l==Aa?2:1),y=b.plotLineDashLen=a(f.plotlinedashlen,5),z=b.plotLineDashGap=a(f.plotlinedashgap,4),D=!!a(f.drawanchors,1),C=a(f.anchorstartangle,90),I=a(f.anchorradius,this.anchorRadius,3),K=Ha(d(f.anchorbordercolor,r)),T=a(f.anchorborderthickness,this.anchorBorderThickness,1),A=Ha(d(f.anchorbgcolor,
A.getColor("anchorBgColor"))),M=d(f.anchoralpha,"0"),H=d(f.anchorbgalpha,M),J,R,$,Q,S,U,W,L,Y,Sa,ba,aa,G,ea=!1,ga=-Infinity,O=Infinity,ha=-Infinity,da=Infinity,ka=v.graphics.mapSymbolName;b.parentYAxis=0;b.toolText=F(Z(d(c.tooltext,f.plottooltext)));b.name=F(c.seriesname);b.showTooltip=d(f.showtooltip,1);switch(l){case pa:b.plotType=pa;break;case Aa:b.plotType=Aa;break;default:b.plotType=xa,b.showErrorValue=!0,b.errorBarWidthPercent=0,ea=!0}b.animation={duration:200};J=d(f.maxcolwidth);b.maxColWidth=
Ca(a(J,50))||1;b.enableAnimation=J=a(f.animation,f.defaultanimation,1);b.animation=J?{duration:1E3*a(f.animationduration,1)}:!1;b.lineAlpha=d(f.plotlinealpha,"100");J=N(a(f.plotspacepercent,20)%100,0);b.plotSpacePercent=b.groupPadding=J/200;ba=this.components.data=this.components.data||(this.components.data=[]);b.valuePadding=a(c.valuepadding,f.valuepadding,2);b.plotBorderThickness=w;for(J=0;J<s;J+=1)if(aa=h[J],(R=ba[J])||(R=ba[J]={}),!R.config&&(R.config={}),!R.graphics&&(R.graphics={}),G=R.config,
aa&&!aa.vline){G.setLink=d(aa.link);R=G.open=m.getCleanValue(aa.open);Q=G.close=m.getCleanValue(aa.close);S=G.high=m.getCleanValue(aa.high);U=G.low=m.getCleanValue(aa.low);W=G.volume=m.getCleanValue(aa.volume,!0);null!==W&&(g.config.drawVolume=!0);W=G.x=m.getCleanValue(aa.x);G.openVal=ea?Ca(Q-R):R;Y=G.closeVal=E(R,Q);Sa=G.yVal=N(R,Q);p=l===pa?1:0;$=E(R,Q,S,U);L=N(R,Q,S,U);Z(F(aa.valuetext,u));q=Ha(d(aa.bordercolor,Q<R?e:r));n=d(aa.alpha,p?b.lineAlpha:"100");k=Ha(d(aa.color,Q<R?t:x));p=Boolean(a(aa.dashed))?
ua(y,z):"none";G.dashStyle=p;p={opacity:n/100};G.color=ea?k:q;G.alpha=n;G.setColor=G.color;G.setAlpha=G.alpha;G.anchorImageUrl=d(aa.anchorimageurl,c.anchorimageurl,f.anchorimageurl);q=G.borderColor=q;G.borderAlpha=G.plotLineAlpha;G.colorArr=[{color:G.color,alpha:G.alpha},{color:G.borderColor,alpha:G.borderAlpha}];G.anchorSides=a(aa.anchorsides,c.anchorsides,f.anchorsides);G.symbol=ka(G.anchorSides).split("_");G.anchorProps={enabled:D,bgColor:A,symbol:G.symbol,bgAlpha:H*M/100+u,borderColor:K,borderAlpha:M,
borderThickness:T,imageUrl:G.anchorImageUrl,radius:I,imageScale:a(aa.imagescale,c.imagescale,f.imagescale,100),imagePadding:a(aa.anchorimagepadding,c.anchorimagepadding,f.anchorimagepadding,1),imageAlpha:a(c.anchorimagealpha,f.anchorimagealpha,100),startAngle:C};G.showValue=1;G.hoverEffects={};switch(b.plotType){case pa:G.y=Q;G.link=d(aa.link);break;case xa:G.y=Ca(Q-R);G.previousY=Y;G.link=d(aa.link);G.errorValue=[];0<S-Sa&&G.errorValue.push({errorValue:S-Sa,errorStartValue:Sa,errorBarColor:q,errorBarThickness:w,
opacity:1});0>U-Y&&G.errorValue.push({errorValue:U-Y,errorStartValue:Y,errorBarColor:q,errorBarThickness:w,opacity:1});break;default:G.y=R,G.previousY=Q,G.link=d(aa.link)}G.setValue=G.y;null!==$&&(!ga&&0!==ga&&(ga=$),!O&&0!==O&&(O=$),ga=N(ga,$),O=E(O,$));null!==L&&(!ga&&(ga=L),!O&&(O=L),ga=N(ga,L),O=E(O,L));null!==W&&(ha=N(ha,W),da=E(da,W));$=this._parseToolText(J);G.toolText=$;G.toolTipValue=u;W=W?W:J+1;G.x=W;G.displayValue=Z(d(aa.displayvalue,aa.valuetext,u));G.high=N(R,Q,S,U);G.low=E(R,Q,S,U);
G.shadow=p}b.yMax=ga;b.yMin=O;b.xMax=ha;b.xMin=da}},_parseToolText:function(b){var a=this.config,e=this.chart,c=e.jsonData.chart,h=a.plotType===pa?1:0,f=this.JSONData.data[b],s=this.components.data[b].config,e=e.components.xAxis[0].getLabel(s.x).label;b=s.open;var l=s.close,m=this.yAxis,k=s.high,n=s.low,s=s.volume,q=void 0!==s?f.volumetooltext:void 0;a.showTooltip?(a=F(Z(d(q,f.tooltext,a.volumeToolText,a.toolText))),void 0!==a?a=Ba(a,[3,5,6,10,54,55,56,57,58,59,60,61,81,82],{label:e,yaxisName:Z(c.yaxisname),
xaxisName:Z(c.xaxisname),openValue:f.open,openDataValue:m.dataLabels(b),closeValue:f.close,closeDataValue:m.dataLabels(l),highValue:f.high,highDataValue:m.dataLabels(k),lowValue:f.low,lowDataValue:m.dataLabels(n),volumeValue:f.volume,volumeDataValue:m.dataLabels(s)},f,c):(a=null===b||h?u:"<b>Open:</b> "+m.dataLabels(b)+"<br />",a+=null!==l?"<b>Close:</b> "+m.dataLabels(l)+"<br />":u,a+=null===k||h?u:"<b>High:</b> "+m.dataLabels(k)+"<br />",a+=null===n||h?u:"<b>Low:</b> "+m.dataLabels(n)+"<br />",
a+=null!==s?"<b>Volume:</b> "+m.dataLabels(s):u)):a=u;return a},init:function(b,a){var e=this.chart;this.yAxis=a===Ia?e.components.yAxis[1]:e.components.yAxis[0];this.components={};this.graphics={};this.JSONData=b;this.visible=1;this.plotType=a;this.configure()},_configureVolume:function(){var b=this.config,g=this.chart,e=this.JSONData,c=e.data||[],h=g.jsonData.chart,f=c.length,s=g.components.colorManager,l,m,k,n,q,p,t=b.bearBorderColor=Ha(d(h.bearbordercolor,ja)),r=b.bearFillColor=Ha(d(h.bearfillcolor,
ja)),s=b.bullBorderColor=Ha(d(h.bullbordercolor,s.getColor("canvasBorderColor"))),x=b.bullFillColor=Ha(d(h.bullfillcolor,"FFFFFF")),w=a(h.showvplotborder,1)?a(h.vplotborderthickness,1):0,y=b.plotLineDashLen=a(h.plotlinedashlen,5),D=b.plotLineDashGap=a(h.plotlinedashgap,4),z,X=this.yAxis,C=-Infinity,I=Infinity,K=-Infinity,T=Infinity;q=g.components.vNumberFormatter;b.plotType=xa;b.parentYAxis=1;b.volumeToolText=F(Z(d(e.volumetooltext,h.volumetooltext,h.plottooltext)));b.name=F(e.seriesname);b.showTooltip=
d(h.showtooltip,1);b.enableAnimation=e=a(h.animation,h.defaultanimation,1);b.animation=e?{duration:1E3*a(h.animationduration,1)}:!1;e=d(h.maxcolwidth);b.maxColWidth=Ca(a(e,50))||1;e=N(a(h.plotspacepercent,20)%100,0);b.plotSpacePercent=b.groupPadding=e/200;b.plotBorderThickness=w;e=this.components.data=this.components.data||(this.components.data=[]);h=W(W({},h),{forcedecimals:la(h.forcevdecimals,h.forcedecimals),forceyaxisvaluedecimals:la(h.forcevyaxisvaluedecimals,h.forceyaxisvaluedecimals),yaxisvaluedecimals:la(h.vyaxisvaluedecimals,
h.yaxisvaluedecimals),formatnumber:la(h.vformatnumber,h.formatnumber),formatnumberscale:la(h.vformatnumberscale,h.formatnumberscale),defaultnumberscale:la(h.vdefaultnumberscale,h.defaultnumberscale),numberscaleunit:la(h.vnumberscaleunit,h.numberscaleunit),vnumberscalevalue:la(h.vnumberscalevalue,h.numberscalevalue),scalerecursively:la(h.vscalerecursively,h.scalerecursively),maxscalerecursion:la(h.vmaxscalerecursion,h.maxscalerecursion),scaleseparator:la(h.vscaleseparator,h.scaleseparator),numberprefix:la(h.vnumberprefix,
h.numberprefix),numbersuffix:la(h.vnumbersuffix,h.numbersuffix),decimals:la(h.vdecimals,h.decimals)});q?q.configure(h):q=g.components.vNumberFormatter=new v.NumberFormatter(g,h);X.setNumberFormatter(q);for(g=0;g<f;g+=1)q=c[g],(h=e[g])||(h=e[g]={}),!h.config&&(h.config={}),!h.graphics&&(h.graphics={}),z=h.config,q&&!q.vline&&(n=z.open=X.getCleanValue(q.open),l=z.close=X.getCleanValue(q.close),z.high=X.getCleanValue(q.high),z.low=X.getCleanValue(q.low),p=z.volume=X.getCleanValue(q.volume,!0),h=z.x=
X.getCleanValue(q.x),z.openVal=Ca(l-n),z.closeVal=E(n,l),C=N(C,p),I=E(I,p),K=N(K,h),T=E(T,h),Z(F(q.valuetext,u)),m=Ha(d(q.bordercolor,l<n?t:s)),k=d(q.alpha,"100"),l=Ha(d(q.color,l<n?r:x)),z.dashStyle=Boolean(a(q.dashed))?ua(y,D):"none",n={opacity:k/100},z.color=l,z.alpha=k,z.setLink=q.link,z.borderWidth=w,z.borderColor=m,z.borderAlpha=d(z.plotLineAlpha,k),z.y=p,z.colorArr=[{color:z.color,alpha:z.alpha},{color:z.borderColor,alpha:z.borderAlpha}],z.setValue=z.y,q=this._parseToolText(g),z.toolText=q,
z.toolTipValue=u,h=h?h:g+1,z.x=h,z.shadow=n);b.yMax=C;b.yMin=I;b.xMax=K;b.xMin=T},draw:function(){var b=this.config,a=b.plotType;a===pa?this.__base__.draw.call(this):a===xa?(this._drawColumn(),b.showErrorValue&&this._drawErrorValue()):this._drawCandlestickBar();this.drawn=!0},_drawColumn:function(){var b=this,g=b.JSONData,e=b.chart,c=b.chart.jsonData.chart,h=b.config,f=b.index,s=g.data,l=s&&s.length,m,k,n=b.visible,q=e.components.paper,t=e.components.xAxis[0],r=b.yAxis,w,y,D=e.graphics,qa=v.parseUnsafeString,
F=v.getValidValue,z=v.Raphael,X=h.showTooltip,C=e.get("config","animationObj"),N=C.duration,I=C.dummyObj,K=C.animObj,T=t.getPVR(),H=h.plotSpacePercent,J=h.maxColWidth,T=(1-.01*h.definedGroupPadding)*T||E(T*(1-2*H),1*J),H=T/2,T=T/1,J=E(T-1,0),H=0*T-H+J/2,R,J=b.components.data,M,Q,S,U,W,L,Y,$=r.getAxisBase(),Z=r.yBasePos=r.getAxisPosition($),aa=h.plotBorderThickness,G=h.plotRadius||0,ba=b.graphics.container,ea=b.graphics.trackerContainer,O=b.graphics.shadowContainer,ha=D.trackerGroup,ga,ka,da=!e.config.plotAnimDone,
ia=b.components.removeDataArr||[],ma=ia.length,pa=FusionCharts.get("component",["dataset",xa]).prototype.drawLabel,la=function(){var a=b.graphics.errorGroupContainer;a&&a.show();e._animCallBack()};M=D.datasetGroup;var D=function(b){za.call(this,e,b)},va=b.components.pool||[];ba||(ba=b.graphics.container=q.group("columns",M),n||ba.hide());ea||(ea=b.graphics.trackerContainer=q.group("col-hot",ha),n||ea.hide());O||(O=b.graphics.shadowContainer=q.group("shadow",M).toBack(),n||O.hide());ha=T;h.columnWidth=
T;for(h=0;h<l;h++)if(m=s[h],Y=(M=J[h])&&M.config,U=Y.setLink,k=Y.y,w=a(Y.x,h),S=Y.colorArr,null!==k){U=Y.setLink;M.graphics||(J[h].graphics={});L=b.index+"_"+h;Q=Y.displayValue;F(qa(d(m.tooltext,g.plottooltext,c.plottooltext)));m=Y.previousY;y=r.getAxisPosition(m||$);m=r.getAxisPosition(k+(m||0));w=t.getAxisPosition(w)+H;y=Ca(m-y);y=z.crispBound(w,m,ha,y,aa);w=y.x;m=y.y;ha=y.width;y=y.height||1;R=Y.toolText;ga=Y.dashStyle;W=Y.eventArgs;W||(W=Y.eventArgs={});W.index=h;W.link=U;W.value=k;W.displayValue=
Q;W.categoryLabel=t.getLabel(h).label;W.toolText=R;W.id=u;W.datasetIndex=f;W.datasetName=g.seriesname;W.visible=n;M._xPos=w;M._yPos=m;M._height=y;M._width=T;Q=M.graphics.element;ka=!1;Q||(va.element&&va.element.length?Q=M.graphics.element=va.element.shift():(Q=M.graphics.element=q.rect(ba),ka=!0,N&&Q.attr({x:w,y:Z,width:ha,height:0})));k=Y._elemPositions;k||(k=Y._elemPositions={});k.x=w;k.y=m;k.width=ha;k.height=y;Q.show().animateWith(I,K,k,N,C.animType,da&&la);k=Y._elemCosmetics;k||(k=Y._elemCosmetics=
{});k.r=G;k.ishot=!X;k.fill=x(S[0]);k.stroke=x(S[1]);k["stroke-width"]=aa;k["stroke-dasharray"]=ga;k["stroke-linejoin"]="miter";k.visibility=n;Q.attr(k).shadow(Y.shadow,O);e.config.plotAnimDone=!0;S=M.graphics.hotElement;if(U||X)y<Pa&&(m-=(Pa-y)/2,y=Pa),k=Y._hotElemAttrs,k||(k=Y._hotElemAttrs={}),k.x=w,k.y=m,k.width=ha,k.height=y,k.r=G,k.cursor=U?"pointer":u,k.stroke=p,k["stroke-width"]=aa,k.fill=p,k.ishot=!0,k.visibility=n,S=M.graphics.hotElement,S||(va.hotElement&&va.hotElement.length?S=M.graphics.hotElement=
va.hotElement.shift():(S=M.graphics.hotElement=q.rect(ea),ka=!0)),S.data("x",w+ha/2),S.attr(k);(S||Q).data("eventArgs",W).data("groupId",L).tooltip(R);ka&&(S||Q).click(D).mouseover(b.rolloverResponseSetter(M,e)).mouseout(b.rolloutResponseSetter(M,e))}b._drawTracker();pa.call(b,0,J.length);for(h=0;h<ma;h++)if(M=ia[0])b._removeDataVisuals(M.graphics),ia.shift()},rolloverResponseSetter:function(b,a){return function(e){a.graphics.rollOverBand.transform("t"+(b._xPos+(b._width||0)/2)+",0").show();za.call(this,
a,e,"DataPlotRollOver")}},rolloutResponseSetter:function(b,a){return function(b){a.graphics.rollOverBand.hide();za.call(this,a,b,"DataPlotRollOut")}},_drawTracker:function(){var b=this.chart,a=b.components,e=a.paper,c=b.graphics.datasetGroup,d=b.graphics.rollOverBand,f=a.canvas.config,s=a.canvasVolume.config,a=this.config.columnWidth,l=b.config.rollOverBandColor,f=["M",0,f.canvasTop,"L",0,f.canvasBottom,"M",0,s.canvasTop-s.canvasBorderWidth,"L",0,s.canvasTop+s.canvasHeight+s.canvasBorderWidth/2];
d||(d=b.graphics.rollOverBand=e.path(c));d.transform(u);d.attr({path:f,"stroke-width":a,ishot:!0,stroke:l,"stroke-linecap":"butt"});d.data("width",a);d.toBack();d.hide()},_removeDataVisuals:function(b){var a=this.components.pool||(this.components.pool={}),e,c,d,f,s;b.graphics&&(b=b.graphics);for(c in b){e=a[c]||(a[c]=[]);d=b[c];if(d instanceof Array)for(f=0,s=d.length;f<s;f++)this._removeDataVisuals(d[f]);else d.hide&&"function"===typeof d.hide&&d.hide();e.push(b[c])}},_drawCandlestickBar:function(){var b=
this.chart,g=b.components,e,c=this.config,d=this.components.data,f=d.length,s=g.xAxis[0],l=this.yAxis,m=b.graphics,g=g.paper,k=c.numColumns||1,n=c.columnPosition||0,q=s.getPVR(),p=c.groupPadding,t=c.maxColWidth,q=(1-.01*c.plotspacepercent)*q||E(q*(1-2*p),t*k),k=q/k*n-q/2,m=m.datasetGroup,r,v,w,y,D,n=b.get("config","animationObj")||{},q=n.duration,p=n.dummyObj,t=n.animObj,z=this.graphics.container,X=this.components.pool||{},C=function(){b._animCallBack()},F=!b.config.plotAnimDone;e=this.visible;var N,
I,K,H=this.components.removeDataArr||[],J=H.lengt,R;z||(z=this.graphics.container=g.group("columns",m),e||z.hide());for(r=0;r<f;r+=1)v=d[r],e=v.config,R=v.graphics,y=e.y,w=null,null===y?w=R.element:(w=a(e.x,r),v=e.link,w=s.getAxisPosition(w),D=e.previousY,D=l.getAxisPosition(D),y=l.getAxisPosition(y),N=l.getAxisPosition(e.high),I=l.getAxisPosition(e.low),Ca(y-D),K=k,D=["M",w,I,"L",w,N,"M",w,y,"L",w+K,y,"M",w,D,"L",w-K,D],w=R.element,w||(X.element&&X.element.length?R.element=g.path(m):w=R.element=
g.path(D,z)),w.show().animateWith(p,t,{path:D},q,n.animType,F&&C),b.config.plotAnimDone=!0,w.attr({fill:x(e.color),stroke:x(e.borderColor),"stroke-width":c.lineThickness,"stroke-dasharray":e.dashStyle,"stroke-linecap":"round","stroke-linejoin":"round","shape-rendering":"crisp",cursor:v?"pointer":u,visibility:"visible"}).shadow(e.shadow));for(r=0;r<J;r++)this._removeDataVisuals(H.shift())},_drawErrorValue:function(){var b=this.config,a=this.JSONData.data,a=a&&a.length,e,c=this.visible,d=this.chart,
f=d.linkedItems,s=d.components.paper,l=d.components.yAxis[0],m=this.components.data,k,n=b.errorBarWidthPercent,q,t=d.graphics;e=t.datasetGroup;var b=b.showTooltip,r=this.graphics.errorGroupContainer,v=this.graphics.errorTrackerContainer,w=t.trackerGroup,x,y,E,z,D,C,F,N,I,t=d.get("config","animationObj"),K=t.duration,H=t.dummyObj,J=t.animObj,R,T,Q,S,U;E=this.drawn;var M,L,Y,W=function(b){za.call(this,d,b)},$=function(b){za.call(this,d,b,"DataPlotRollOver")},aa=function(b){za.call(this,d,b,"DataPlotRollOut")},
G=function(b){return function(){void 0!==b&&f.linkClickFN.call({link:b},d)}},Z=this.components.pool||[],ea;r||(r=this.graphics.errorGroupContainer=s.group("errorBar",e),c||r.hide());v||(v=this.graphics.errorTrackerContainer=s.group("error-hot",w).toBack(),c||v.hide());c&&(r.show(),v.show());K&&!E&&r.hide();for(e=0;e<a;e++)if(D=(E=m[e])&&E.config,z=D.y,w=D.setLink,R=D.errorValue,T=R.length,M=D.toolText,!E.graphics.error&&(E.graphics.error=[]),null!==z){w=D.setLink;z=0>z;x=E._xPos;y=E._yPos;D=E._width;
ea=E._height;y+=ea;x+=D/2;q=E.graphics.error;S=q.length;Y=!1;if(S>T)for(L=T;L<S;L++)U=q.pop(),this._removeDataVisuals(U);for(;T--;)(L=E.graphics.error[T])||(L=E.graphics.error[T]={}),U=L.errorTrackerElem,S=L.errorLineElem,k=R[T],C=k.errorValue,F=k.errorStartValue,q=k.errorBarColor,k=k.errorBarThickness,N=isNaN(F)?y:l.getAxisPosition(F),Q=n/100*D,Q/=2,I=l.getAxisPosition((ba(F)?F:void 0)+C),z&&(I+=ea),C=I,F=x,C=ga(I)+k%2/2,F=ga(x)+k%2/2,N=["M",F,N,"V",C,"M",F-Q,C,"H",F+Q],C=E.graphics.hotElement||
E.graphics.element,Q=C.data("groupId"),S||(Z.errorLineElem&&Z.errorLineElem.length?S=L.errorLineElem=Z.errorLineElem.shift():(S=L.errorLineElem=s.path(r),Y=!0)),S.show().animateWith(H,J,{path:N},K,t.animType),S.attr({stroke:q,ishot:!b,"stroke-width":k,cursor:w?"pointer":u,"stroke-linecap":"round"}),(w||b)&&k<Pa&&(U=L.errorTrackerElem,U||(Z.errorTrackerElem&&Z.errorTrackerElem.length?U=L.errorTrackerElem=Z.errorTrackerElem.shift():(U=L.errorTrackerElem=s.path(v),Y=!0)),U.attr({path:N,stroke:p,"stroke-width":Pa,
cursor:w?"pointer":u,ishot:!!w,visibility:c}).data("groupId",Q).tooltip(M),U.data("eventArgs",C&&C.data("eventArgs")||{})),Y&&((U||S).click(W).hover($,aa),(w||b)&&U.click(G(w)))}},getDataLimits:function(){var b=this.config;return{max:b.yMax,min:b.yMin,xMax:b.xMax,xMin:b.xMin}},removeData:function(b,a){var e=this.components,c=e.data,d=e.removeDataArr||(e.removeDataArr=[]);e.removeDataArr=d.concat(c.splice(b||0,a||1))}},pa]);FusionCharts.register("component",["dataset","Trendset",{configure:function(){var b=
this.chart,g=b.jsonData.chart,e=this.JSONData,c=this.index,h=e.data||e.set||[],f=this.config,s,l=this.components.data,m,k=-Infinity,n=Infinity,q,p=-Infinity,t=Infinity,b=b.components.numberFormatter,c=Ha(d(e.color,g.trendsetcolor,"666666"));m=d(e.alpha,g.trendsetalpha,"100");q=a(e.thickness,g.trendsetthickness,2);s=Boolean(a(e.dashed,g.trendsetdashed,0));var r=a(e.dashlen,g.trendsetdashlen,4),u=a(e.dashgap,g.trendsetdashgap,4);f.includeInLegend=a(e.includeinlegend,1);f.lineColor=c;f.lineAlpha=m;f.connectNullData=
a(g.connectnulldata,0);f.lineThickness=q;f.lineDashStyle=s?ua(r,u):"none";f.name=F(e.name);f.includeInLegend=a(e.includeinlegend,1);l||(l=this.components.data=[]);c=0;for(q=h.length;c<q;c+=1)(s=h[c])&&!s.vline&&(e=l[c]=l[c]||(l[c]={}),m=e.config=e.config||(e.config={}),g=m.setValue=b.getCleanValue(s.value),s=b.getCleanValue(s.x),s=m.x=null!==s?s:c+1,k=N(k,g),n=E(n,g),t=E(t,s),p=N(p,s),e.graphics||(e.graphics={}));f.max=k;f.min=n;f.xMax=p;f.xMin=t;this._addLegend()},_addLegend:function(){var b=this.JSONData,
a=this.config,e=this.chart.components.legend,b={enabled:a.includeInLegend,interactiveLegend:!1,type:this.type,drawLine:!0,strokeColor:x({color:a.lineColor,alpha:"100"}),label:la(b.name)};this.legendItemId=e.addItems(this,this.legendInteractivity,b)},legendInteractivity:function(){},draw:function(){var b=this.chart,a=b.components,e=this.config,c=b.config,d=a.canvas.config.clip,f=this.components.data.length,s=a.paper,l=a.xAxis[0],m=this.yAxis,k,n,q=b.graphics,p=b.get("config","animationObj"),a=p.duration,
t=p.dummyObj,r=p.animObj,p=p.animType,u=this.components.data,v,c=c.style;v={fontFamily:c.fontFamily,fontSize:c.fontSize,lineHeight:c.lineHeight,fontWeight:c.fontWeight,fontStyle:c.fontStyle,color:c.color};var c=e.lineThickness,w=this.graphics.container,y=q.datasetGroup,q=e.shadow,z=function(){y.line.attr({"clip-rect":null});w.lineShadowGroup.show()},E=d["clip-canvas"].slice(0),d=d["clip-canvas-init"].slice(0),C=e.lineDashStyle,e={color:e.lineColor,alpha:e.lineAlpha},D=!1,F=this.graphics.lineElement,
N=this.visible;y.line=y.line||s.group(pa,y);y.lineConnector=y.lineConnector||s.group("line-connector",y);w||(w=this.graphics.container={lineShadowGroup:s.group("connector-shadow",y.line),lineGroup:s.group(pa,y.line)},N||(w.lineShadowGroup.hide(),w.lineGroup.hide()));b._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",v);for(b=0;b<f;b++)v=u[b],k=v.config,n=k.setValue,k=k.x,k=l.getAxisPosition(k),n=m.getAxisPosition(n),v._xPos=k,v._yPos=n;f=this.getLinePath(u,{}).getPathArr();F||(F=this.graphics.lineElement=
s.path(w.lineGroup),D=!0);F.show().animateWith(t,r,{path:f},a,p);F.attr({"stroke-dasharray":C,"stroke-width":c,stroke:x(e),"stroke-linecap":"round","stroke-linejoin":2<=c?"round":"miter"}).shadow(q,w.lineShadowGroup);a&&N&&D&&(w.lineShadowGroup.hide(),y.line.attr({"clip-rect":d}).animateWith(t,r,{"clip-rect":E},a,p,z))},getDataLimits:function(){var b=this.config;return{max:b.max,min:b.min,xMax:b.xMax,xMin:b.xMin}}},pa]);M("kagi",{standaloneInit:!0,friendlyName:"Kagi Chart",creditLabel:n,defaultDatasetType:"kagi",
applicableDSList:{kagi:!0},singleseries:!0,hasLegend:!1,_postSpaceManagement:function(){var b=this.config,d=this.components,e=d.xAxis&&d.xAxis[0],c=d.yAxis&&d.yAxis[0],h=d.canvas.config,f=h.canvasBorderWidth,s=h.canvasPadding||15,l=h.canvasPaddingTop,h=h.canvasPaddingBottom,m=this.jsonData.chart,k=(d=d.dataset[0].config)&&d.shiftCount,n=a(e.getAxisData("axisMinValue"),0),q=a(e.getAxisData("axisMaxValue"),k-1),p=this.config.canvasWidth;E(a(m.canvaspadding,0),p/2-10);var m=a(m.maxhshiftpercent,10),
p=p-2*s,t;c&&c.setAxisDimention({x:b.canvasLeft-f,y:b.canvasTop+l,opposite:b.canvasRight+f,axisLength:b.canvasHeight-l-h});this._setPosition();d&&(t=d.xShiftLength=E(p/k,(0>=m?10:m)*p/100),N(k-1,1),q=N(q,1));this._adjustCanvasPadding();e&&e.setAxisDimention({x:this.config.canvasLeft+s+t/2,axisLength:t*(q-n),y:b.canvasBottom+(b.shift||0)+f,opposite:b.canvasTop-f})},_setPosition:function(){var b,a,e,c,h,f,s;b=this.components;c=this.jsonData;var l=b.dataset[0],m=c.data||l&&l[0]&&l[0].data,k=(l=l.components.data)&&
l.length,n=b.yAxis[0],q=0,p=q,t=[];for(b=0;b<k;b++)a=l[b].config,e=a.setValue,(c=l[b])||(l[b]={graphics:{}}),a.isDefined||(e=a.plotValue),e=d(a.plotValue,e),a.plotY=ya(n.getAxisPosition(a.setValue),2),a.graphY=ya(n.getAxisPosition(e),2),a.plotX=p,a.isShift?(p=q+=1,m&&t.push(m[b])):b===k-1&&m&&t.push(m[b]),b&&(s=l[b-1].config,c=a&&a.objParams&&a.objParams.isRally,e=a&&a.objParams&&a.objParams.lastHigh,h=a&&a.objParams&&a.objParams.lastLow,f=a&&a.objParams&&a.objParams.isRallyInitialised,s&&f&&s.isRally!==
a.isRally?(a.isChanged=!0,a.ty=ya(n.getAxisPosition(c?e:h),2)):a.isChanged=!1)},_setAxisLimits:function(){var b=this.components,a=b.dataset,e=b.yAxis,b=b.xAxis,c,d=a.length,f,s=-Infinity,l=Infinity,m=Infinity,k=-Infinity,n,q={},p=[],t=function(b){s=N(s,b.max);l=E(l,b.min);k=N(k,b.xMax||-Infinity);m=E(m,b.xMin||Infinity)};for(f=0;f<d;f++)c=a[f],(n=c.groupManager)?q[c.type]=n:p.push(c);for(n in q)a=q[n].getDataLimits(),t(a);d=p.length;for(f=0;f<d;f++)a=p[f].getDataLimits(),t(a);-Infinity===s&&(s=0);
Infinity===l&&(l=0);this.config.yMax=s;this.config.yMin=l;e[0].setAxisData({setAdaptiveMin:!0});e[0].setDataLimit(s,l);if(-Infinity!==k||Infinity!==m)b[0].config.xaxisrange={max:k,min:m},b[0].setDataLimit(k,m)}},M.waterfall2d);v.BoxAndWhiskerStatisticalCalc=k=function(b,a,e){this.nf=a;this.dataSeparator=e;this.method=(b||y).toLowerCase().replace(/\s/g,u)};k.prototype={setArray:function(b){var a=this.nf,e=this.dataSeparator,c=0;!b&&(b=y);for(b=this.dataLength=(e=b.replace(/\s/g,y).split(e))&&e.length;b--;)c+=
e[b]=a.getCleanValue(e[b]);e&&e.sort(function(b,a){return b-a});this.values=e;this.mean=c/this.dataLength;this.getFrequencies()},getQuartiles:function(){var b=this.values,a=this.dataLength,e=a%2,c,d;switch(this.method){case "tukey":e?(e=(a+3)/4,a=(3*a+1)/4):(e=(a+2)/4,a=(3*a+2)/4);break;case "mooremccabe":e?(e=(a+1)/4,a=3*e):(e=(a+2)/4,a=(3*a+2)/4);break;case "freundperles":e=(a+3)/4;a=(3*a+1)/4;break;case "mendenhallsincich":e=ga((a+1)/4);a=ga(3*e);break;default:e=(a+1)/4,a=3*e}--e;--a;c=Vb(e);d=
Vb(a);e=e-c?b[c]+(b[cc(e)]-b[c])*(e-c):b[e];b=a-d?b[d]+(b[cc(a)]-b[d])*(a-d):b[a];return this.quartiles={q1:e,q3:b}},getMinMax:function(){var b=this.values;return{min:b[0],max:b[this.dataLength-1]}},getMean:function(){return this.mean},getMD:function(){for(var b=this.mean,a=this.frequencies,e=a.length,c,d=0;e--;)c=a[e],d+=c.frequency*Ca(c.value-b);return d/this.dataLength},getSD:function(){for(var b=this.mean,a=this.values,e=this.dataLength,c=e,d=0;e--;)d+=mc(a[e]-b,2);return lc(d)/c},getQD:function(){return.5*
(this.quartiles.q3-this.quartiles.q1)},getFrequencies:function(){var b=[],a=this.dataLength,e=this.values,c=0,d,f,s;for(s=0;s<a;s+=1)c+=d=e[s],ba(b[s])?b[s].frequency+=1:(f={},f.value=d,f.frequency=1,b[s]=f);this.sum=c;this.frequencies=b},getMedian:function(){var b=this.dataLength,a=.5*b,e=this.values;return 0===b%2?(e[a]+e[a-1])/2:e[Vb(a)]}};k.prototype.constructor=k;ta&&ta({plotborderdashlen:{type:ia,pAttr:"plotborderdashlen"},plotborderdashgap:{type:ia,pAttr:"plotborderdashgap"},plotfillalpha:{pAttr:"plotfillalpha"},
useroundedges:{type:ia,pAttr:"useroundedges"},ratio:{pAttr:"plotfillratio"},plotfillratio:{pAttr:"plotfillratio"},showvalues:{type:ia,pAttr:"showvalues"},valuepadding:{type:ia,pAttr:"valuepadding"},maxcolwidth:{type:ia,pAttr:"maxcolwidth"},rotatevalues:{type:ia,pAttr:"rotatevalues"},use3dlighting:{type:ia,pAttr:"use3dlighting"},whiskerslimitswidthratio:{type:ia,pAttr:"whiskerslimitswidthratio"},outliersupperrangeratio:{type:ia,pAttr:"outliersupperrangeratio"},outlierslowerrangeratio:{type:ia,pAttr:"outlierslowerrangeratio"},
showalloutliers:{type:ia,pAttr:"showalloutliers"},showmean:{type:ia,pAttr:"showmean"},showsd:{type:ia,pAttr:"showsd"},showmd:{type:ia,pAttr:"showmd"},showqd:{type:ia,pAttr:"showqd"},showminvalues:{type:ia,pAttr:"showminvalues"},showmaxvalues:{type:ia,pAttr:"showmaxvalues"},showq1values:{type:ia,pAttr:"showq1values"},showq3values:{type:ia,pAttr:"showq3values"},showmedianvalues:{type:ia,pAttr:"showmedianvalues"}});M("boxandwhisker2d",{friendlyName:"Box and Whisker Chart",standaloneInit:!0,creditLabel:n,
chart:M.errorbar2d.chart,drawErrorValue:M.errorbar2d.drawErrorValue,decimals:2,maxColWidth:Infinity,useErrorAnimation:1,avoidCrispError:0,tooltipsepchar:": ",defaultDatasetType:"boxandwhisker2d",applicableDSList:{boxandwhisker2d:!0},fireGroupEvent:!0,fireInitialAnimation:!0,_drawDataset:function(){var b=this.components.dataset,a,e=b.length,c,d,f={};for(c=0;c<e;c++)a=b[c],d=a.groupManager,f[a.type]=d;for(d in f)f[d].draw();b.flag=!0;for(c=0;c<e;c++)for(b[c].components.mean&&b[c].components.mean.draw(),
b[c].components.sd&&b[c].components.sd.draw(),b[c].components.md&&b[c].components.md.draw(),b[c].components.qd&&b[c].components.qd.draw(),d=b[c].config.maxNumberOfOutliers||b[c].components.outliers.length,a=0;a<d;a++)b[c].config.showOutliersLegend||(b[c].components.outliers[a].visible=!1),b[c].components.outliers&&b[c].components.outliers[a].draw()},_createDatasets:function(){var b=this.components,a=b.xAxis[0],e=this.jsonData,c=e.dataset,h=c&&c.length,f,s,l,m=this.defaultDatasetType,k=this.applicableDSList,
n=this.components.legend;f=n.components.items||[];var q,p,t,r,v=this.isStacked,w,x,y=[],z=this.isRealTime,E=this.config.catLen,C={};c||this.setChartMessage();this.config.categories=e.categories&&e.categories[0].category;e=b.dataset||(b.dataset=[]);s=e.length;n.emptyItems(0,f.length);for(f=0;f<h;f++)if(r=c[f],r.seriesname&&(r.seriesname=Z(r.seriesname)),l=r.parentyaxis||u,p=(p=this.isDual&&"s"===l.toLowerCase()?d(r.renderas,this.sDefaultDatasetType):d(r.renderas,m))&&p.toLowerCase(),k[p]||(p=m),t=
FusionCharts.get("component",["dataset",p]))void 0===C[p]?C[p]=0:C[p]++,w="datasetGroup_"+p,l=FusionCharts.register("component",["datasetGroup",p]),(q=b[w])&&y.push(q),l&&!q&&(q=b[w]=new l,q.chart=this,q.init()),(l=e[f])?(p=a.getCategoryLen(),w=E-p,t=z?l.components:l.JSONData,x=t.data&&t.data.length||0,t=r.data&&r.data.length||0,x-=t,w>x||(w=x,p=t),0<w&&l.removeData(p,w,!1),e[f].JSONData=r,e[f].configure(),e[f]._deleteGridImages&&e[f]._deleteGridImages()):(l=new t,e.push(l),l.chart=this,l.index=f,
q&&(v?q.addDataSet(l,0,C[p]):q.addDataSet(l,C[p],0)),l.init(r));if(s>h){w=s-h;q&&v&&q.removeDataSet(0,f,w);b=f;for(h=w+f;b<h;b++)q&&!v&&q.removeDataSet(f,0,1),n.removeItem(e[b].legendItemId),K.call(e[b]);e.splice(f,w)}this.config.catLen=a.getCategoryLen()}},M.mscartesian,{showplotborder:1,plotborderdashlen:5,plotborderdashgap:4,plotfillalpha:La,useroundedges:0,plotborderthickness:1,showvalues:1,valuepadding:2,showtooltip:1,maxcolwidth:50,rotatevalues:0,use3dlighting:1,whiskerslimitswidthratio:40,
outliersupperrangeratio:0,outlierslowerrangeratio:0,showalloutliers:0,showmean:0,showsd:0,showmd:0,showqd:0,showminvalues:1,showmaxvalues:1,showq1values:0,showq3values:0,showmedianvalues:1});FusionCharts.register("component",["dataset","boxandwhisker2d",{type:"boxandwhisker2d",configure:function(){var b=this.chart,g=this.config,e=this.JSONData,c=e.data,h=b.config.categories,f=b.singleseries,s=b.config,l=E(h&&h.length,c&&c.length),m=b.jsonData.chart,k=b.components.colorManager,n=this.index||this.positionIndex,
q,p=g.plotColor=k.getPlotColor(n),t=a(e.dashed,m.plotborderdashed),r=a(m.useplotgradientcolor,1),w,y=v.parseUnsafeString,D=y(m.yaxisname),I=y(m.xaxisname),z=y(d(m.tooltipsepchar,": ")),X=v.parseTooltext,C,K,T,M,W,H,J,R,$,Q,S,U,Z,L,Y,ba,ga,aa,G,da,ia,O,ha,pa,ka,la,na,ma,ja,oa,va,ca,ta,za,ya,Aa,ua,Ia,xa,Ka,Ga,Ba,jc=v.getDashStyle,Ca=this.components.data,sa=b.components.numberFormatter,Da,kc,Qa,bc,ub,$a,Ta,Ra=0,Fa=0,Ja=v.BoxAndWhiskerStatisticalCalc,fb,Pa,ib,kb,vb,Ma,db,Wa,wb,Na,Oa,Xa,fa,Ua,Ea,gb,Db,
Ya,lb,Kb,wa,eb,rb,Yb,xb,yb,ab,mb=0,bb;this.visible=1===a(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.__setDefaultConfig();Pb(e,g,s,{data:!0});g.includeInLegend=a(e.includeinlegend,1);g.legendSymbolColor=g.plotColor;q=g.showplotborder;J=g.plotborderdashlen;R=g.plotborderdashgap;Z=g.plotfillalpha;Q=g.useroundedges;L=g.ratio;$=g.plotborderthickness;Ya=g.showvalues;w=g.showtooltip;g.rotatevalues&&(g.rotatevalues=270);lb=g.showalloutliers;g.plotfillAngle=U=a(360-m.plotfillangle,
90);g.plotColor=p=d(e.color,p);g.plotRadius=a(m.useroundedges,Q?1:0);g.plotgradientcolor=Y=v.getDefinedColor(m.plotgradientcolor,k.getColor("plotGradientColor"));!r&&(Y=u);g.plotBorderAlpha=ba=q?d(m.plotborderalpha,Z,La):0;g.plotBorderColor=ga=d(m.plotbordercolor,k.getColor("plotBorderColor"));g.plotBorderDashStyle=aa=t?jc(J,R,$):"none";g.showShadow=Q?a(m.showshadow,1):a(m.showshadow,k.getColor("showShadow"));g.showHoverEffect=S=a(m.plothovereffect,m.showhovereffect,void 0);g.definedGroupPadding=
N(a(m.plotspacepercent),0);g.plotSpacePercent=N(a(m.plotspacepercent,20)%100,0);g.parentYAxis=Qa="s"===d(e.parentyaxis&&e.parentyaxis.toLowerCase(),"p")?1:0;g.dataSeparator=Xb;g.bwCalc=fb=new Ja(void 0,sa,g.dataSeparator);g.textDirection="1"===m.hasrtltext?"rtl":u;g.showMeanLegend=g.showSDLegend=g.showMDLegend=g.showQDLegend=g.showOutliersLegend=0;!this.components.data&&(this.components.data=[]);Ca=this.components.data;for(Ta=0;Ta<l;Ta++)if(G=c&&c[Ta],O=(ia=Ca[Ta])&&ia.config,ia||(ia=Ca[Ta]={graphics:{}}),
ia.config||(O=Ca[Ta].config={}),G.value){G.value&&(fb.setArray(G.value),Pa=fb.getQuartiles(),ib=Pa.q1,kb=Pa.q3,vb=fb.getMinMax(),O.min=Ma=vb.min,O.max=db=vb.max,Wa=fb.getMedian(),O.mean=wb=fb.getMean(),O.md=Na=fb.getMD(),O.sd=Oa=fb.getSD(),O.qd=Xa=fb.getQD());G.outliers&&(O.outliers=G.outliers.split(","),mb=N(mb,O.outliers.length));O.showMean=eb=a(G.showmean,g.showmean);O.showSD=rb=a(G.showsd,g.showsd);O.showMD=Yb=a(G.showmd,g.showmd);O.showQD=xb=a(G.showqd,g.showqd);G.outliers&&(g.showOutliersLegend=
1);eb&&(g.showMeanLegend=1);rb&&(g.showSDLegend=1);Yb&&(g.showMDLegend=1);xb&&(g.showQDLegend=1);O.upperQuartile={value:kb,color:ea(d(G.upperquartilecolor,e.upperquartilecolor,m.upperquartilecolor,m.plotbordercolor,k.getColor("plotBorderColor")),a(G.upperquartilealpha,e.upperquartilealpha,m.upperquartilealpha,m.plotborderalpha,100)),borderWidth:a(G.upperquartilethickness,e.upperquartilethickness,m.upperquartilethickness,m.plotborderthickness,Q?0:1),displayValue:sa.dataLabels(kb)};O.lowerQuartile=
{value:ib,color:ea(d(G.lowerquartilecolor,e.lowerquartilecolor,m.lowerquartilecolor,m.plotbordercolor,k.getColor("plotBorderColor")),a(G.lowerquartilealpha,e.lowerquartilealpha,m.lowerquartilealpha,m.plotborderalpha,100)),borderWidth:a(G.lowerquartilethickness,e.lowerquartilethickness,m.lowerquartilethickness,m.plotborderthickness,Q?0:1),displayValue:sa.dataLabels(ib)};O.upperBoxBorder={color:ea(d(G.upperboxbordercolor,e.upperboxbordercolor,m.upperboxbordercolor,m.plotbordercolor,k.getColor("plotBorderColor")),
a(G.upperboxborderalpha,e.upperboxborderalpha,m.upperboxborderalpha,m.plotborderalpha,100)),borderWidth:a(G.upperboxborderthickness,e.upperboxborderthickness,m.upperboxborderthickness,!Q&&m.plotborderthickness,Q?0:1)};O.lowerBoxBorder={color:ea(d(G.lowerboxbordercolor,e.lowerboxbordercolor,m.lowerboxbordercolor,m.plotbordercolor,k.getColor("plotBorderColor")),a(G.lowerboxborderalpha,e.lowerboxborderalpha,m.lowerboxborderalpha,m.plotborderalpha,100)),borderWidth:a(G.lowerboxborderthickness,e.lowerboxborderthickness,
m.lowerboxborderthickness,!Q&&m.plotborderthickness,Q?0:1)};O.median={value:Wa,color:ea(d(G.mediancolor,e.mediancolor,m.mediancolor,m.plotbordercolor,k.getColor("plotBorderColor")),a(G.medianalpha,e.medianalpha,m.medianalpha,m.plotborderalpha,100)),borderWidth:a(G.medianthickness,e.medianthickness,m.medianthickness,m.plotborderthickness,1),displayValue:sa.dataLabels(Wa)};g.upperBoxColor=fa=d(G.upperboxcolor,e.upperboxcolor,m.upperboxcolor,k.getPlotColor(2*n));Ua=g.upperBoxAlpha=d(G.upperboxalpha,
e.upperboxalpha,m.upperboxalpha,Z,La);g.lowerBoxColor=Ea=d(G.lowerboxcolor,e.lowerboxcolor,m.lowerboxcolor,k.getPlotColor(2*n+1));gb=g.lowerBoxAlpha=d(G.lowerboxalpha,e.lowerboxalpha,m.lowerboxalpha,Z,La);O.upperColorArr=v.graphics.getColumnColor(fa,Ua,void 0,void 0,Q,ga,ba.toString(),0,!1);O.lowerColorArr=v.graphics.getColumnColor(Ea,gb,void 0,void 0,Q,ga,ba.toString(),0,!1);O.showMinValues=Ya?a(G.showminvalues,g.showminvalues):0;O.showMaxValues=Ya?a(G.showmaxvalues,g.showmaxvalues):0;O.showQ1Values=
Ya?a(G.showq1values,g.showq1values):0;O.showQ3Values=Ya?a(G.showq3values,g.showq3values):0;O.showMedianValues=Ya?a(G.showmedianvalues,g.showmedianvalues):0;O.upperWhiskerAlpha=Db=Za(d(G.upperwhiskeralpha,e.upperwhiskeralpha,m.upperwhiskeralpha,m.plotborderalpha,100));O.upperWhiskerColor=ea(Ha(d(G.upperwhiskercolor,e.upperwhiskercolor,m.upperwhiskercolor,m.plotbordercolor,k.getColor("plotBorderColor"))),Db);O.upperWhiskerThickness=a(G.upperwhiskerthickness,e.upperwhiskerthickness,m.upperwhiskerthickness,
m.plotborderthickness,1);O.upperWhiskerShadowOpacity=g.showShadow?Db/250:0;O.lowerWhiskerAlpha=wa=Za(d(G.lowerwhiskeralpha,e.lowerwhiskeralpha,m.lowerwhiskeralpha,m.plotborderalpha,100));O.lowerWhiskerColor=ea(Ha(d(G.lowerwhiskercolor,e.lowerwhiskercolor,m.lowerwhiskercolor,m.plotbordercolor,k.getColor("plotBorderColor"))),wa);O.lowerWhiskerThickness=a(G.lowerwhiskerthickness,e.lowerwhiskerthickness,m.lowerwhiskerthickness,m.plotborderthickness,1);O.lowerWhiskerShadowOpacity=g.showShadow?wa/250:0;
O.showValue=a(G.showvalue,g.showvalues);O.setValue=da=sa.getCleanValue(G.value);O.setLink=d(G.link);O.toolTipValue=Da=sa.dataLabels(da,Qa);O.setDisplayValue=kc=y(G.displayvalue);O.displayValue=d(kc,Da);bc=a(G.dashed);ub=a(G.dashlen,J);$a=R=a(G.dashgap,R);Ra=N(Ra,db);Fa=E(Fa,Ma);if(lb&&G.outliers)for(bb=0;bb<O.outliers.length;bb++)Ra=N(Ra,O.outliers[bb]),Fa=E(Fa,O.outliers[bb]);O.plotBorderDashStyle=1===bc?jc(ub,$a,$):0===bc?"none":aa;f?(p=k.getPlotColor(Ta),p=d(G.color,p),L=d(G.ratio,g.ratio)):p=
d(G.color,g.plotColor);Z=d(G.alpha,g.plotfillalpha);0>da&&!Q&&(W=U,U=360-U);O.colorArr=v.graphics.getColumnColor(p+","+Y,Z,L,U,Q,ga,ba.toString(),0,!1);O.label=ha=F(y(d(h[Ta].tooltext,h[Ta].label)));0!==S&&(pa=d(G.upperboxhovercolor,e.upperboxhovercolor,m.upperboxhovercolor,fa),ka=d(G.upperboxhoveralpha,e.upperboxhoveralpha,m.upperboxhoveralpha,Ua),la=d(G.upperboxborderhovercolor,e.upperboxborderhovercolor,m.upperboxborderhovercolor,G.upperboxbordercolor,e.upperboxbordercolor,m.upperboxbordercolor,
m.plotbordercolor,k.getColor("plotBorderColor")),na=d(G.upperboxborderhoveralpha,e.upperboxborderhoveralpha,m.upperboxborderhoveralpha,G.upperboxborderalpha,e.upperboxborderalpha,m.upperboxborderalpha,m.plotborderalpha,100),ma=Q?0:d(G.upperboxborderhoverthickness,e.upperboxborderhoverthickness,m.upperboxborderhoverthickness,O.upperBoxBorder.borderWidth),ja=d(G.lowerboxhovercolor,e.lowerboxhovercolor,m.lowerboxhovercolor,Ea),oa=d(G.lowerboxhoveralpha,e.lowerboxhoveralpha,m.lowerboxhoveralpha,gb),va=
d(G.lowerboxborderhovercolor,e.lowerboxborderhovercolor,m.lowerboxborderhovercolor,G.lowerboxbordercolor,e.lowerboxbordercolor,m.lowerboxbordercolor,m.plotbordercolor,k.getColor("plotBorderColor")),ca=d(G.lowerboxborderhoveralpha,e.lowerboxborderhoveralpha,m.lowerboxborderhoveralpha,G.lowerboxborderalpha,e.lowerboxborderalpha,m.lowerboxborderalpha,m.plotborderalpha,100),ta=Q?0:d(G.lowerboxborderhoverthickness,e.lowerboxborderhoverthickness,m.lowerboxborderhoverthickness,O.lowerBoxBorder.borderWidth),
za=d(G.upperquartilehovercolor,e.upperquartilehovercolor,m.upperquartilehovercolor,G.upperquartilecolor,e.upperquartilecolor,m.upperquartilecolor,m.plotbordercolor,k.getColor("plotBorderColor")),ya=d(G.upperquartilehoveralpha,e.upperquartilehoveralpha,m.upperquartilehoveralpha,G.upperquartilealpha,e.upperquartilealpha,m.upperquartilealpha,m.plotborderalpha,100),Aa=d(G.upperquartilehoverthickness,e.upperquartilehoverthickness,m.upperquartilehoverthickness,O.upperQuartile.borderWidth),ua=d(G.lowerquartilehovercolor,
e.lowerquartilehovercolor,m.lowerquartilehovercolor,G.lowerquartilecolor,e.lowerquartilecolor,m.lowerquartilecolor,m.plotbordercolor,k.getColor("plotBorderColor")),Ia=d(G.lowerquartilehoveralpha,e.lowerquartilehoveralpha,m.lowerquartilehoveralpha,G.lowerquartilealpha,e.lowerquartilealpha,m.lowerquartilealpha,m.plotborderalpha,100),xa=d(G.lowerquartilehoverthickness,e.lowerquartilehoverthickness,m.lowerquartilehoverthickness,O.lowerQuartile.borderWidth),Ka=d(G.medianhovercolor,e.medianhovercolor,m.medianhovercolor,
G.mediancolor,e.mediancolor,m.mediancolor,m.plotbordercolor,k.getColor("plotBorderColor")),Ga=d(G.medianhoveralpha,e.medianhoveralpha,m.medianhoveralpha,G.medianalpha,e.medianalpha,m.medianalpha,m.plotborderalpha,100),Ba=d(G.medianhoverthickness,e.medianhoverthickness,m.medianhoverthickness,O.median.borderWidth),1==S&&(fa===pa&&(pa=ob(pa,70)),Ea===ja&&(ja=ob(ja,70))),O.upperBoxHoverColorArr=v.graphics.getColumnColor(pa,ka,void 0,void 0,Q,ga,ba.toString(),0,!1),O.lowerBoxHoverColorArr=v.graphics.getColumnColor(ja,
oa,void 0,void 0,Q,ga,ba.toString(),0,!1),O.setUpperBoxRolloutAttr={fill:x(O.upperColorArr[0])},O.setUpperBoxRolloverAttr={fill:x(O.upperBoxHoverColorArr[0])},O.setLowerBoxRolloutAttr={fill:x(O.lowerColorArr[0])},O.setLowerBoxRolloverAttr={fill:x(O.lowerBoxHoverColorArr[0])},O.setUpperBoxBorderRolloverAttr={stroke:ea(la,na),"stroke-width":ma},O.setUpperBoxBorderRolloutAttr={stroke:O.upperBoxBorder.color,"stroke-width":O.upperBoxBorder.borderWidth},O.setLowerBoxBorderRolloverAttr={stroke:ea(va,ca),
"stroke-width":ta},O.setLowerBoxBorderRolloutAttr={stroke:O.lowerBoxBorder.color,"stroke-width":O.lowerBoxBorder.borderWidth},O.setUpperQuartileRolloverAttr={stroke:ea(za,ya),"stroke-width":Aa},O.setUpperQuartileRolloutAttr={stroke:O.upperQuartile.color,"stroke-width":O.upperQuartile.borderWidth},O.setLowerQuartileRolloverAttr={stroke:ea(ua,Ia),"stroke-width":xa},O.setLowerQuartileRolloutAttr={stroke:O.lowerQuartile.color,"stroke-width":O.lowerQuartile.borderWidth},O.setMedianRolloverAttr={stroke:ea(Ka,
Ga),"stroke-width":Ba},O.setMedianRolloutAttr={stroke:O.median.color,"stroke-width":O.median.borderWidth});C=O.toolTipValue;T=F(y(d(G.tooltext,e.plottooltext,m.plottooltext)));w?null===C?H=!1:void 0!==T?(M=[1,2,3,4,5,6,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80],K={maxValue:db,maxDataValue:sa.dataLabels(db),minValue:Ma,minDataValue:sa.dataLabels(Ma),Q1:sa.dataLabels(ib),unformattedQ1:ib,Q3:sa.dataLabels(kb),unformattedQ3:kb,median:sa.dataLabels(Wa),unformattedMedian:Wa,SD:sa.dataLabels(Oa),
unformattedsd:Oa,QD:sa.dataLabels(Xa),unformattedQD:Xa,MD:sa.dataLabels(Na),unformattedMD:Na,mean:sa.dataLabels(wb),unformattedMean:wb,label:ha,yaxisName:D,xaxisName:I,formattedValue:C,value:ha},H=X(T,M,K,G,m,e)):H="<b>Maximum"+z+"</b>"+sa.dataLabels(db)+"<br /><b>Q3"+z+"</b>"+sa.dataLabels(kb)+"<br /><b>Median"+z+"</b>"+sa.dataLabels(Wa)+"<br /><b>Q1"+z+"</b>"+sa.dataLabels(ib)+"<br /><b>Minimum"+z+"</b>"+sa.dataLabels(Ma):H=!1;O.toolText=H;O.setTooltext=H;W&&(U=W)}g.maxNumberOfOutliers=mb;g.maxValue=
Ra;g.minValue=Fa;lb||(Kb=Ra-Fa,g.maxValue+=g.outliersupperrangeratio*Kb,g.minValue-=g.outlierslowerrangeratio*Kb);!1!==b.hasLegend&&this._addLegend();this.subDS=0;this.components.mean=this._createSubDS(0,"Mean");g.showMeanLegend&&this._addLegendSubDS(this.components.mean);g.showMeanLegend&&(this.subDS+=1);this.components.sd=this._createSubDS(1,"SD");g.showSDLegend&&this._addLegendSubDS(this.components.sd);g.showSDLegend&&(this.subDS+=1);this.components.md=this._createSubDS(2,"MD");g.showMDLegend&&
this._addLegendSubDS(this.components.md);g.showMDLegend&&(this.subDS+=1);this.components.qd=this._createSubDS(3,"QD");g.showQDLegend&&this._addLegendSubDS(this.components.qd);g.showQDLegend&&(this.subDS+=1);!this.components.outliers&&(this.components.outliers=[]);ab=this.config.maxNumberOfOutliers||this.components.outliers.length;for(Ta=0;Ta<ab;Ta++)yb=this._createSubDS(4+Ta,"Outliers",Ta),this.components.outliers[Ta]=yb;g.showOutliersLegend&&this._addLegendOutliers(this.components.outliers);g.showOutliersLegend&&
(this.subDS+=1)},_createSubDS:function(b,a,e){var c=this.chart,d=c.jsonData.dataset,f=d&&d.length,s=this.components,l,m,d=c.components.legend,k={},s=s.dataset||(s.dataset=[]),f=f*(b+1)+this.index;if(s[b])m=s[b],m.index=f,c=W({},this.JSONData),m.JSONData=c;else if(l=FusionCharts.get("component",["dataset","subDS"]))void 0===k.subDS?k.subDS=0:k.subDS++,m=new l,m.chart=c,m.index=f,s.push(m),c=W({},this.JSONData),this.initSubDataset(c,m),m.name=a;switch(b){case 0:this.configureMean(m);!this.config.showMeanLegend&&
d.removeItem(m.legendItemId);break;case 1:this.configureSD(m);!this.config.showQDLegend&&d.removeItem(m.legendItemId);break;case 2:this.configureMD(m);!this.config.showMDLegend&&d.removeItem(m.legendItemId);break;case 3:this.configureQD(m);!this.config.showQDLegend&&d.removeItem(m.legendItemId);break;default:this.configureOutliers(m,e),!this.config.showOutliersLegend&&d.removeItem(this.components.outliers.legendItemId)}return m},configureMean:function(b){var g=b.chart,e=g.components,c=v.parseUnsafeString,
h=b.config,f=b.JSONData,s=g.jsonData.chart,l=e.colorManager,m=b.index||b.stackIndex,k=b.type,n=!g.singleseries||F(s.palettecolors)?l.getPlotColor(m):l.getColor("plotFillColor").split(/\s*\,\s*/)[0],m=f.data,q,p=g.config.categories,p=E(p&&p.length,m&&m.length),t=e.numberFormatter,r=g.use3dlineshift,u,w=-Infinity,x=Infinity,y,z,D=d(s.tooltipsepchar,": "),C=a(f.dashed,s.linedashed);z=g.isStacked;q=g.hasLineSet;e=e.xAxis[0];b.visible=1===a(b.JSONData.visible,!Number(b.JSONData.initiallyhidden),1);h.use3dlineshift=
void 0!==r?a(s.use3dlineshift,r):1;h.plotColor=n;h.legendSymbolColor=h.plotColor;g=a(g.defaultPlotShadow,l.getColor("showShadow"));h.drawFullAreaBorder=a(s.drawfullareaborder,1);h.parentYAxis=q?y=1:y="s"===d(f.parentyaxis&&f.parentyaxis.toLowerCase(),"p")?1:0;h.connectNullData=a(s.connectnulldata,0);h.enableAnimation=l=a(s.animation,s.defaultanimation,1);h.animation=l?{duration:1E3*a(s.animationduration,1)}:!1;h.transposeanimation=a(s.transposeanimation,l);h.transposeanimduration=1E3*a(s.transposeanimduration,
.2);h.showValues=0;h.valuePadding=a(s.valuepadding,2);h.valuePosition=d(f.valueposition,s.valueposition,"auto");h.stack100Percent=l=a(s.stack100percent,0);h.showPercentValues=a(s.showpercentvalues,z&&l?1:0);h.showPercentInToolTip=a(s.showpercentintooltip,z&&l?1:0);h.showTooltip=a(s.showtooltip,1);h.seriesNameInTooltip=a(s.seriesnameintooltip,1);h.showHoverEffect=a(s.plothovereffect,s.anchorhovereffect,s.showhovereffect,void 0);h.rotateValues=a(s.rotatevalues)?270:0;h.lineThickness=a(f.linethickness,
s.linethickness,1);h.lineDashLen=a(f.linedashlen,s.linedashlen,5);h.lineDashGap=a(f.linedashgap,s.linedashgap,4);h.drawLine=h.lineAlpha=a(s.drawmeanconnector,f.drawmeanconnector,0)&&100;z=v.getDashStyle(h.lineDashLen,h.lineDashGap,h.lineThickness);h.lineDashStyle=C?z:"none";h.shadow={opacity:a(s.showshadow,g)?k===pa?h.lineAlpha/100:h.plotBorderAlpha/100:0};h.drawAnchors=a(f.drawanchors,f.showanchors,s.drawanchors,s.showanchors);h.anchorBgColor=d(f.meaniconcolor,s.meaniconcolor,"000000");h.anchorBorderColor=
"000000";h.anchorRadius=a(f.meaniconradius,s.meaniconradius,5);h.anchorAlpha=d(f.alpha,f.meaniconalpha,s.meaniconalpha);h.anchorBgAlpha=d(f.meaniconalpha,s.meaniconalpha,100);h.anchorBorderThickness=d(f.anchorborderthickness,s.anchorborderthickness,1);h.anchorSides=d(f.meaniconsides,s.meaniconsides,3);h.lineColor=h.anchorBgColor;h.minimizeTendency=a(s.minimizetendency,s.minimisetendency,0);h.anchorImageUrl=d(f.anchorimageurl,s.anchorimageurl);h.anchorImageAlpha=a(f.anchorimagealpha,s.anchorimagealpha,
100);h.anchorImageScale=a(f.anchorimagescale,s.anchorimagescale,100);h.anchorImagePadding=a(f.anchorimagepadding,s.anchorimagepadding,1);h.anchorStartAngle=a(f.anchorstartangle,s.anchorstartangle,90);h.anchorShadow=a(f.anchorshadow,s.anchorshadow,0);!b.components.data&&(b.components.data=[]);g=b.components.data;for(n=0;n<p;n++)q=m&&m[n],k=g[n]=g[n]||{},k.config=k.config||{},l=k.config,r=this.components.data[n].config,q.value=r.showMean?r.mean:null,l.x=this.components.data[n]._xPos,l.setValue=r=t.getCleanValue(q.value),
l.setLink=d(q.link),l.anchorProps=this._parseAnchorProperties(n,b,"mean"),u=e.getLabel(n),l.label=v.getValidValue(c(d(u.tooltext,u.label,u.name))),l.showValue=0,l.dashed=a(q.dashed,C),l.color=d(q.color,h.lineColor),l.alpha=d(q.alpha,q.linealpha,h.lineAlpha),w=N(w,r),x=E(x,r),l.dashStyle=l.dashed?z:"none",l.toolTipValue=r=t.dataLabels(r,y),l.setDisplayValue=u=c(q.displayvalue),l.displayValue=d(u,r),l.formatedVal=l.toolTipValue,l.setTooltext=v.getValidValue(c(d(q.tooltext,f.plottooltext,s.plottooltext))),
q=d(q.meaniconshape,f.meaniconshape,s.meaniconshape,"polygon"),h.dip=l.dip="polygon"===q?0:"spoke"===q?1:0,q=h.showTooltip?"<b>Mean"+D+"</b>":!1,l.toolText=q,l.setTooltext=q,k?k.graphics||(g[n].graphics={}):g[n]={graphics:{}},l.hoverEffects={enabled:!1};h.maxValue=w;h.minValue=x},configureSD:function(b){var g=b.chart,e=g.components,c=v.parseUnsafeString,h=b.config,f=b.JSONData,s=g.jsonData.chart,l=e.colorManager,m=b.index||b.stackIndex,k=b.type,n=!g.singleseries||F(s.palettecolors)?l.getPlotColor(m):
l.getColor("plotFillColor").split(/\s*\,\s*/)[0],m=f.data,q,p=g.config.categories,p=E(p&&p.length,m&&m.length),t=e.numberFormatter,r=g.use3dlineshift,u,w=-Infinity,x=Infinity,y,z,D=d(s.tooltipsepchar,": "),C=a(f.dashed,s.linedashed);z=g.isStacked;q=g.hasLineSet;e=e.xAxis[0];b.visible=1===a(b.JSONData.visible,!Number(b.JSONData.initiallyhidden),1);h.use3dlineshift=void 0!==r?a(s.use3dlineshift,r):1;h.plotColor=n;h.legendSymbolColor=h.plotColor;g=a(g.defaultPlotShadow,l.getColor("showShadow"));h.drawFullAreaBorder=
a(s.drawfullareaborder,1);h.parentYAxis=q?y=1:y="s"===d(f.parentyaxis&&f.parentyaxis.toLowerCase(),"p")?1:0;h.connectNullData=a(s.connectnulldata,0);h.enableAnimation=l=a(s.animation,s.defaultanimation,1);h.animation=l?{duration:1E3*a(s.animationduration,1)}:!1;h.transposeanimation=a(s.transposeanimation,l);h.transposeanimduration=1E3*a(s.transposeanimduration,.2);h.showValues=0;h.valuePadding=a(s.valuepadding,2);h.valuePosition=d(f.valueposition,s.valueposition,"auto");h.stack100Percent=l=a(s.stack100percent,
0);h.showPercentValues=a(s.showpercentvalues,z&&l?1:0);h.showPercentInToolTip=a(s.showpercentintooltip,z&&l?1:0);h.showTooltip=a(s.showtooltip,1);h.seriesNameInTooltip=a(s.seriesnameintooltip,1);h.showHoverEffect=a(s.plothovereffect,s.anchorhovereffect,s.showhovereffect,void 0);h.rotateValues=a(s.rotatevalues)?270:0;h.lineThickness=a(f.linethickness,s.linethickness,1);h.lineDashLen=a(f.linedashlen,s.linedashlen,5);h.lineDashGap=a(f.linedashgap,s.linedashgap,4);h.drawLine=h.lineAlpha=a(s.drawsdconnector,
f.drawsdconnector,0)&&100;z=v.getDashStyle(h.lineDashLen,h.lineDashGap,h.lineThickness);h.lineDashStyle=C?z:"none";h.shadow={opacity:a(s.showshadow,g)?k===pa?h.lineAlpha/100:h.plotBorderAlpha/100:0};h.drawAnchors=a(f.drawanchors,f.showanchors,s.drawanchors,s.showanchors);h.anchorBgColor=d(f.sdiconcolor,s.sdiconcolor,"000000");h.anchorBorderColor="000000";h.anchorRadius=a(f.sdiconradius,s.sdiconradius,5);h.anchorAlpha=d(f.alpha,f.sdiconalpha,s.sdiconalpha);h.anchorBgAlpha=d(f.sdiconalpha,s.sdiconalpha,
100);h.anchorBorderThickness=d(f.anchorborderthickness,s.anchorborderthickness,1);h.anchorSides=d(f.sdiconsides,s.sdiconsides,3);h.lineColor=h.anchorBgColor;h.minimizeTendency=a(s.minimizetendency,s.minimisetendency,0);h.anchorImageUrl=d(f.anchorimageurl,s.anchorimageurl);h.anchorImageAlpha=a(f.anchorimagealpha,s.anchorimagealpha,100);h.anchorImageScale=a(f.anchorimagescale,s.anchorimagescale,100);h.anchorImagePadding=a(f.anchorimagepadding,s.anchorimagepadding,1);h.anchorStartAngle=a(f.anchorstartangle,
s.anchorstartangle,90);h.anchorShadow=a(f.anchorshadow,s.anchorshadow,0);!b.components.data&&(b.components.data=[]);g=b.components.data;for(n=0;n<p;n++)q=m&&m[n],k=g[n]=g[n]||{},k.config=k.config||{},l=k.config,r=this.components.data[n].config,q.value=r.showSD?r.sd:null,l.x=this.components.data[n]._xPos,l.setValue=r=t.getCleanValue(q.value),l.setLink=d(q.link),l.anchorProps=this._parseAnchorProperties(n,b,"sd"),u=e.getLabel(n),l.label=v.getValidValue(c(d(u.tooltext,u.label,u.name))),l.showValue=0,
l.dashed=a(q.dashed,C),l.color=d(q.color,h.lineColor),l.alpha=d(q.alpha,q.linealpha,h.lineAlpha),w=N(w,r),x=E(x,r),l.dashStyle=l.dashed?z:"none",l.toolTipValue=r=t.dataLabels(r,y),l.setDisplayValue=u=c(q.displayvalue),l.displayValue=d(u,r),l.formatedVal=r=l.toolTipValue,l.setTooltext=v.getValidValue(c(d(q.tooltext,f.plottooltext,s.plottooltext))),q=d(q.sdiconshape,f.sdiconshape,s.sdiconshape,"polygon"),h.dip=l.dip="polygon"===q?0:"spoke"===q?1:0,q=h.showTooltip?null===r?!1:"<b>SD"+D+"</b>":!1,l.toolText=
q,l.setTooltext=q,k?k.graphics||(g[n].graphics={}):g[n]={graphics:{}},l.hoverEffects={enabled:!1};h.maxValue=w;h.minValue=x},configureMD:function(b){var g=b.chart,e=g.components,c=v.parseUnsafeString,h=b.config,f=b.JSONData,s=g.jsonData.chart,l=e.colorManager,m=b.index||b.stackIndex,k=b.type,n=!g.singleseries||F(s.palettecolors)?l.getPlotColor(m):l.getColor("plotFillColor").split(/\s*\,\s*/)[0],m=f.data,q,p=g.config.categories,p=E(p&&p.length,m&&m.length),t=e.numberFormatter,r=g.use3dlineshift,u,
w=-Infinity,x=Infinity,y,z,D=d(s.tooltipsepchar,": "),C=a(f.dashed,s.linedashed);z=g.isStacked;q=g.hasLineSet;e=e.xAxis[0];b.visible=1===a(b.JSONData.visible,!Number(b.JSONData.initiallyhidden),1);h.use3dlineshift=void 0!==r?a(s.use3dlineshift,r):1;h.plotColor=n;h.legendSymbolColor=h.plotColor;g=a(g.defaultPlotShadow,l.getColor("showShadow"));h.drawFullAreaBorder=a(s.drawfullareaborder,1);h.parentYAxis=q?y=1:y="s"===d(f.parentyaxis&&f.parentyaxis.toLowerCase(),"p")?1:0;h.connectNullData=a(s.connectnulldata,
0);h.enableAnimation=l=a(s.animation,s.defaultanimation,1);h.animation=l?{duration:1E3*a(s.animationduration,1)}:!1;h.transposeanimation=a(s.transposeanimation,l);h.transposeanimduration=1E3*a(s.transposeanimduration,.2);h.showValues=0;h.valuePadding=a(s.valuepadding,2);h.valuePosition=d(f.valueposition,s.valueposition,"auto");h.stack100Percent=l=a(s.stack100percent,0);h.showPercentValues=a(s.showpercentvalues,z&&l?1:0);h.showPercentInToolTip=a(s.showpercentintooltip,z&&l?1:0);h.showTooltip=a(s.showtooltip,
1);h.seriesNameInTooltip=a(s.seriesnameintooltip,1);h.showHoverEffect=a(s.plothovereffect,s.anchorhovereffect,s.showhovereffect,void 0);h.rotateValues=a(s.rotatevalues)?270:0;h.lineThickness=a(f.linethickness,s.linethickness,1);h.lineDashLen=a(f.linedashlen,s.linedashlen,5);h.lineDashGap=a(f.linedashgap,s.linedashgap,4);h.drawLine=h.lineAlpha=a(s.drawmdconnector,f.drawmdconnector,0)&&100;z=v.getDashStyle(h.lineDashLen,h.lineDashGap,h.lineThickness);h.lineDashStyle=C?z:"none";h.shadow={opacity:a(s.showshadow,
g)?k===pa?h.lineAlpha/100:h.plotBorderAlpha/100:0};h.drawAnchors=a(f.drawanchors,f.showanchors,s.drawanchors,s.showanchors);h.anchorBgColor=d(f.mdiconcolor,s.mdiconcolor,"000000");h.anchorBorderColor="000000";h.anchorRadius=a(f.mdiconradius,s.mdiconradius,5);h.anchorAlpha=d(f.alpha,f.mdiconalpha,s.mdiconalpha);h.anchorBgAlpha=d(f.mdiconalpha,s.mdiconalpha,100);h.anchorBorderThickness=d(f.anchorborderthickness,s.anchorborderthickness,1);h.anchorSides=d(f.mdiconsides,s.mdiconsides,3);h.lineColor=h.anchorBgColor;
h.minimizeTendency=a(s.minimizetendency,s.minimisetendency,0);h.anchorImageUrl=d(f.anchorimageurl,s.anchorimageurl);h.anchorImageAlpha=a(f.anchorimagealpha,s.anchorimagealpha,100);h.anchorImageScale=a(f.anchorimagescale,s.anchorimagescale,100);h.anchorImagePadding=a(f.anchorimagepadding,s.anchorimagepadding,1);h.anchorStartAngle=a(f.anchorstartangle,s.anchorstartangle,90);h.anchorShadow=a(f.anchorshadow,s.anchorshadow,0);!b.components.data&&(b.components.data=[]);g=b.components.data;for(n=0;n<p;n++)q=
m&&m[n],k=g[n]=g[n]||{},k.config=k.config||{},l=k.config,r=this.components.data[n].config,q.value=r.showMD?r.md:null,l.x=this.components.data[n]._xPos,l.setValue=r=t.getCleanValue(q.value),l.setLink=d(q.link),l.anchorProps=this._parseAnchorProperties(n,b,"md"),u=e.getLabel(n),l.label=v.getValidValue(c(d(u.tooltext,u.label,u.name))),l.showValue=0,l.dashed=a(q.dashed,C),l.color=d(q.color,h.lineColor),l.alpha=d(q.alpha,q.linealpha,h.lineAlpha),w=N(w,r),x=E(x,r),l.dashStyle=l.dashed?z:"none",l.toolTipValue=
r=t.dataLabels(r,y),l.setDisplayValue=u=c(q.displayvalue),l.displayValue=d(u,r),l.formatedVal=l.toolTipValue,l.setTooltext=v.getValidValue(c(d(q.tooltext,f.plottooltext,s.plottooltext))),q=d(q.mdiconshape,f.mdiconshape,s.mdiconshape,"polygon"),h.dip=l.dip="polygon"===q?0:"spoke"===q?1:0,q=h.showTooltip?"<b>MD"+D+"</b>":!1,l.toolText=q,l.setTooltext=q,k?k.graphics||(g[n].graphics={}):g[n]={graphics:{}},l.hoverEffects={enabled:!1};h.maxValue=w;h.minValue=x},configureQD:function(b){var g=b.chart,e=g.components,
c=v.parseUnsafeString,h=b.config,f=b.JSONData,s=g.jsonData.chart,l=e.colorManager,m=b.index||b.stackIndex,k=b.type,n=!g.singleseries||F(s.palettecolors)?l.getPlotColor(m):l.getColor("plotFillColor").split(/\s*\,\s*/)[0],m=f.data,q,p=g.config.categories,p=E(p&&p.length,m&&m.length),t=e.numberFormatter,r=g.use3dlineshift,u,w=-Infinity,x=Infinity,y,z,D=d(s.tooltipsepchar,": "),C=a(f.dashed,s.linedashed);z=g.isStacked;q=g.hasLineSet;e=e.xAxis[0];b.visible=1===a(b.JSONData.visible,!Number(b.JSONData.initiallyhidden),
1);h.use3dlineshift=void 0!==r?a(s.use3dlineshift,r):1;h.plotColor=n;h.legendSymbolColor=h.plotColor;g=a(g.defaultPlotShadow,l.getColor("showShadow"));h.drawFullAreaBorder=a(s.drawfullareaborder,1);h.parentYAxis=q?y=1:y="s"===d(f.parentyaxis&&f.parentyaxis.toLowerCase(),"p")?1:0;h.connectNullData=a(s.connectnulldata,0);h.enableAnimation=l=a(s.animation,s.defaultanimation,1);h.animation=l?{duration:1E3*a(s.animationduration,1)}:!1;h.transposeanimation=a(s.transposeanimation,l);h.transposeanimduration=
1E3*a(s.transposeanimduration,.2);h.showValues=0;h.valuePadding=a(s.valuepadding,2);h.valuePosition=d(f.valueposition,s.valueposition,"auto");h.stack100Percent=l=a(s.stack100percent,0);h.showPercentValues=a(s.showpercentvalues,z&&l?1:0);h.showPercentInToolTip=a(s.showpercentintooltip,z&&l?1:0);h.showTooltip=a(s.showtooltip,1);h.seriesNameInTooltip=a(s.seriesnameintooltip,1);h.showHoverEffect=a(s.plothovereffect,s.anchorhovereffect,s.showhovereffect,void 0);h.rotateValues=a(s.rotatevalues)?270:0;h.lineThickness=
a(f.linethickness,s.linethickness,1);h.lineDashLen=a(f.linedashlen,s.linedashlen,5);h.lineDashGap=a(f.linedashgap,s.linedashgap,4);h.drawLine=h.lineAlpha=a(s.drawqdconnector,f.drawqdconnector,0)&&100;z=v.getDashStyle(h.lineDashLen,h.lineDashGap,h.lineThickness);h.lineDashStyle=C?z:"none";h.shadow={opacity:a(s.showshadow,g)?k===pa?h.lineAlpha/100:h.plotBorderAlpha/100:0};h.drawAnchors=a(f.drawanchors,f.showanchors,s.drawanchors,s.showanchors);h.anchorBgColor=d(f.qdiconcolor,s.qdiconcolor,"000000");
h.anchorBorderColor="000000";h.anchorRadius=a(f.qdiconradius,s.qdiconradius,5);h.anchorAlpha=d(f.alpha,f.qdiconalpha,s.qdiconalpha);h.anchorBgAlpha=d(f.qdiconalpha,s.qdiconalpha,100);h.anchorBorderThickness=d(f.anchorborderthickness,s.anchorborderthickness,1);h.anchorSides=d(f.qdiconsides,s.qdiconsides,3);h.lineColor=h.anchorBgColor;h.minimizeTendency=a(s.minimizetendency,s.minimisetendency,0);h.anchorImageUrl=d(f.anchorimageurl,s.anchorimageurl);h.anchorImageAlpha=a(f.anchorimagealpha,s.anchorimagealpha,
100);h.anchorImageScale=a(f.anchorimagescale,s.anchorimagescale,100);h.anchorImagePadding=a(f.anchorimagepadding,s.anchorimagepadding,1);h.anchorStartAngle=a(f.anchorstartangle,s.anchorstartangle,90);h.anchorShadow=a(f.anchorshadow,s.anchorshadow,0);!b.components.data&&(b.components.data=[]);g=b.components.data;for(n=0;n<p;n++)q=m&&m[n],k=g[n]=g[n]||{},k.config=k.config||{},l=k.config,r=this.components.data[n].config,q.value=r.showQD?r.qd:null,l.x=this.components.data[n]._xPos,l.setValue=r=t.getCleanValue(q.value),
l.setLink=d(q.link),l.anchorProps=this._parseAnchorProperties(n,b,"qd"),u=e.getLabel(n),l.label=v.getValidValue(c(d(u.tooltext,u.label,u.name))),l.showValue=0,l.dashed=a(q.dashed,C),l.color=d(q.color,h.lineColor),l.alpha=d(q.alpha,q.linealpha,h.lineAlpha),w=N(w,r),x=E(x,r),l.dashStyle=l.dashed?z:"none",l.toolTipValue=r=t.dataLabels(r,y),l.setDisplayValue=u=c(q.displayvalue),l.displayValue=d(u,r),l.formatedVal=r=l.toolTipValue,l.setTooltext=v.getValidValue(c(d(q.tooltext,f.plottooltext,s.plottooltext))),
q=d(q.qdiconshape,f.qdiconshape,s.qdiconshape,"polygon"),h.dip=l.dip="polygon"===q?0:"spoke"===q?1:0,q=h.showTooltip?null===r?!1:"<b>QD"+D+"</b>":!1,l.toolText=q,l.setTooltext=q,k?k.graphics||(g[n].graphics={}):g[n]={graphics:{}},l.hoverEffects={enabled:!1};h.maxValue=w;h.minValue=x},configureOutliers:function(b,g){var e=b.chart,c=e.components,h=v.parseUnsafeString,f=b.config,k=b.JSONData,l=e.jsonData.chart,m=c.colorManager,n=b.index||b.stackIndex,p=b.type,q=!e.singleseries||F(l.palettecolors)?m.getPlotColor(n):
m.getColor("plotFillColor").split(/\s*\,\s*/)[0],n=k.data,r,t=e.config.categories,t=E(t&&t.length,n&&n.length),u=c.numberFormatter,w=e.use3dlineshift,x,y=-Infinity,D=Infinity,z,X,C=d(l.tooltipsepchar,": "),I=a(k.dashed,l.linedashed);X=e.isStacked;r=e.hasLineSet;c=c.xAxis[0];b.visible=1===a(b.JSONData.visible,!Number(b.JSONData.initiallyhidden),1);f.use3dlineshift=void 0!==w?a(l.use3dlineshift,w):1;f.plotColor=q;f.legendSymbolColor=f.plotColor;e=a(e.defaultPlotShadow,m.getColor("showShadow"));f.drawFullAreaBorder=
a(l.drawfullareaborder,1);f.parentYAxis=r?z=1:z="s"===d(k.parentyaxis&&k.parentyaxis.toLowerCase(),"p")?1:0;f.connectNullData=a(l.connectnulldata,0);f.enableAnimation=m=a(l.animation,l.defaultanimation,1);f.animation=m?{duration:1E3*a(l.animationduration,1)}:!1;f.transposeanimation=a(l.transposeanimation,m);f.transposeanimduration=1E3*a(l.transposeanimduration,.2);f.showValues=0;f.valuePadding=a(l.valuepadding,2);f.valuePosition=d(k.valueposition,l.valueposition,"auto");f.stack100Percent=m=a(l.stack100percent,
0);f.showPercentValues=a(l.showpercentvalues,X&&m?1:0);f.showPercentInToolTip=a(l.showpercentintooltip,X&&m?1:0);f.showTooltip=a(l.showtooltip,1);f.seriesNameInTooltip=a(l.seriesnameintooltip,1);f.showHoverEffect=a(l.plothovereffect,l.anchorhovereffect,l.showhovereffect,void 0);f.rotateValues=a(l.rotatevalues)?270:0;f.lineThickness=a(k.linethickness,l.linethickness,1);f.lineDashLen=a(k.linedashlen,l.linedashlen,5);f.lineDashGap=a(k.linedashgap,l.linedashgap,4);f.lineAlpha=0;X=v.getDashStyle(f.lineDashLen,
f.lineDashGap,f.lineThickness);f.lineDashStyle=I?X:"none";f.shadow={opacity:a(l.showshadow,e)?p===pa?f.lineAlpha/100:f.plotBorderAlpha/100:0};f.drawAnchors=a(k.drawanchors,k.showanchors,l.drawanchors,l.showanchors);f.anchorBgColor=d(k.outliericoncolor,l.outliericoncolor,"000000");f.anchorBorderColor="000000";f.anchorRadius=a(k.outliericonradius,l.outliericonradius,5);f.anchorAlpha=d(k.alpha,k.outliericonalpha,l.outliericonalpha);f.anchorBgAlpha=d(k.outliericonalpha,l.outliericonalpha,100);f.anchorBorderThickness=
d(k.anchorborderthickness,l.anchorborderthickness,1);f.anchorSides=d(k.outliericonsides,l.outliericonsides,3);f.lineColor=f.anchorBgColor;f.minimizeTendency=a(l.minimizetendency,l.minimisetendency,0);f.anchorImageUrl=d(k.anchorimageurl,l.anchorimageurl);f.anchorImageAlpha=a(k.anchorimagealpha,l.anchorimagealpha,100);f.anchorImageScale=a(k.anchorimagescale,l.anchorimagescale,100);f.anchorImagePadding=a(k.anchorimagepadding,l.anchorimagepadding,1);f.anchorStartAngle=a(k.anchorstartangle,l.anchorstartangle,
90);f.anchorShadow=a(k.anchorshadow,l.anchorshadow,0);!b.components.data&&(b.components.data=[]);e=b.components.data;for(q=0;q<t;q++)r=n&&n[q],p=e[q]=e[q]||{},p.config=p.config||{},m=p.config,x=this.components.data[q].config,r.value=x.outliers?x.outliers[g]:null,m.x=this.components.data[q]._xPos,m.setValue=w=u.getCleanValue(r.value),w>=x.min&&w<=x.max&&(m.setValue=r.value=null),m.setLink=d(r.link),m.anchorProps=this._parseAnchorProperties(q,b,"outlier"),x=c.getLabel(q),m.label=v.getValidValue(h(d(x.tooltext,
x.label,x.name))),m.showValue=0,m.dashed=a(r.dashed,I),m.color=d(r.color,f.lineColor),m.alpha=d(r.alpha,r.linealpha,f.lineAlpha),y=N(y,w),D=E(D,w),m.dashStyle=m.dashed?X:"none",m.toolTipValue=w=u.dataLabels(w,z),m.setDisplayValue=x=h(r.displayvalue),m.displayValue=d(x,w),m.formatedVal=w=m.toolTipValue,m.setTooltext=v.getValidValue(h(d(r.tooltext,k.plottooltext,l.plottooltext))),r=d(r.outliericonshape,k.outliericonshape,l.outliericonshape,"polygon"),f.dip=m.dip="polygon"===r?0:"spoke"===r?1:0,r=f.showTooltip?
null===w?!1:"<b>Outlier"+C+"</b>":!1,m.toolText=r,m.setTooltext=r,p?p.graphics||(e[q].graphics={}):e[q]={graphics:{}},m.hoverEffects={enabled:!1};f.maxValue=y;f.minValue=D},initSubDataset:function(b,a){var e=a.chart,c=e.components,d=e.hasLineSet,d=b.parentyaxis&&"s"===b.parentyaxis.toLowerCase()||d?1:0;a.chart=e;a.yAxis=c.yAxis[d];a.components={};a.graphics={};a.JSONData=b},_parseAnchorProperties:function(b,g,e){var c=g.config,h="area"===g.type?0:1,f=g.JSONData,k=g.chart.jsonData.chart;b=f.data[b];
g={};var l=v.graphics.mapSymbolName,f=void 0!==d(b.anchorstartangle,f.anchorstartangle,k.anchorstartangle,b.anchorimagealpha,f.anchorimagealpha,k.anchorimagealpha,b.anchorimagescale,f.anchorimagescale,k.anchorimagescale,b.anchorimagepadding,f.anchorimagepadding,k.anchorimagepadding,b.anchorimageurl,f.anchorimageurl,k.anchorimageurl,b.meaniconradius,f.meaniconradius,k.meaniconradius,b.meaniconcolor,f.meaniconcolor,k.meaniconcolor,b.anchorbordercolor,f.anchorbordercolor,k.anchorbordercolor,b.anchoralpha,
f.anchoralpha,k.anchoralpha,b.meaniconsides,f.meaniconsides,k.meaniconsides,b.anchorborderthickness,f.anchorborderthickness,k.anchorborderthickness,void 0),k=a(b.drawanchors,c.drawAnchors);g.enabled=f?a(k,f):a(k,h);g.startAngle=a(b.anchorstartangle,c.anchorStartAngle);g.imageAlpha=a(b.anchorimagealpha,c.anchorImageAlpha);g.imageScale=a(b.anchorimagescale,c.anchorImageScale);g.imagePadding=a(b.anchorimagepadding,c.anchorImagePadding);0>g.imagePadding&&(g.imagePadding=0);g.imageUrl=d(b.anchorimageurl,
c.anchorImageUrl);g.radius=a(b[e+"iconradius"],c.anchorRadius);g.isAnchorRadius=g.radius;g.bgColor=d(b[e+"iconcolor"],c.anchorBgColor);h=g.enabled?Za(d(b.anchoralpha,c.anchorAlpha,g.enabled?La:"0")):0;g.bgAlpha=Za(d(b[e+"iconalpha"],c.meaniconalpha,h));g.borderColor=d(b.anchorbordercolor,c.anchorBorderColor);g.borderAlpha=h;g.sides=d(b[e+"iconsides"],c.anchorSides);g.borderThickness=d(b.anchorborderthickness,c.anchorBorderThickness);g.symbol=l(g.sides).split("_");g.shadow=a(b.anchorshadow,c.anchorShadow)&&
1<=g.radius?{opacity:h/100}:!1;return g},init:function(b){var a=this.chart,e=a.components,c=b.parentyaxis&&"s"===b.parentyaxis.toLowerCase()?1:0,e=e.yAxis[c];if(!b)return!1;this.JSONData=b;this.yAxis=e;this.chartGraphics=a.chartGraphics;this.components={};this.graphics={};this.configure()},draw:function(){var b,d,e,c,h,f,k,l=this,m=l.JSONData,n=l.config,p=l.groupManager,q=l.index,r=l.chart.config.categories,t=m.data,v=r&&r.length,w=t&&t.length,D,F,I,z=l.visible,X=l.chart,C=X.config,K=X.components.paper,
T=X.components.xAxis[0],M=l.yAxis,W=X.graphics.columnGroup,H,J,R=X.graphics,$=n.showtooltip,Q=X.get("config","animationObj"),S=Q.animType,U=Q.animObj,Z=Q.dummyObj,L=Q.duration,Y=T.getAxisPosition(0),ea=T.getAxisPosition(1)-Y,da=n.definedGroupPadding,aa=n.plotSpacePercent/200,G=p.getDataSetPosition(l),ia=n.maxcolwidth,pa=(1-.01*da)*ea||E(ea*(1-2*aa),1*ia),O=a(G.columnWidth,pa/1),ha,la=G.xPosOffset||0,ka=G.height,ja,na=l.components.data,ma,oa,ta,va,ca,ya,Aa=M.getAxisBase(),ua,Ha,Ia=n.showShadow,xa=
l.graphics.upperBoxContainer,Ca=l.graphics.lowerBoxContainer,Ka=l.graphics.medianContainer,Ga=l.graphics.upperWhiskerContainer,Fa=l.graphics.lowerWhiskerContainer,Ba=l.graphics.dataLabelContainer,Da=l.graphics.shadowContainer,sa,La,Ja,Qa,Pa,ub,$a,Ta,Ra,Oa,Ua,fb,ob,ib,kb,vb,Ma,db,Wa,wb,Na,cb,Xa,fa=X.config.dataLabelStyle,Fb=R.datalabelsGroup,Ea=n.rotatevalues,gb=n.valuepadding,Db={fontFamily:fa.fontFamily,fontSize:fa.fontSize,lineHeight:fa.lineHeight,fontWeight:fa.fontWeight,fontStyle:fa.fontStyle},
Ya=X.components.numberFormatter,lb=Ea?gc:"middle",Kb=X.linkedItems.smartLabel,wa,eb,rb,Yb,xb,yb,ab,mb,bb,qb,Eb,hb,Za,jb,nb,Jb=Infinity,Va,Cb,sb=!0,Zb=(l.components.removeDataArr||[]).length,Pb,Qb,Rb,Sb,Tb,Ub,Vb,Wb,Xb,Hb,Ib,Lb=n.showHoverEffect,zb,Ab,Mb=function(b){za.call(this,X,b)},Nb=function(b){return function(a){var c;if(0!==this.data("showHoverEffect"))for(c in b)"label"!==c&&(b[c].attr(this.data("setRolloverAttr")[c]),za.call(this,X,a,"DataPlotRollOver"))}},Ob=function(b){return function(a){var c;
if(0!==this.data("showHoverEffect"))for(c in b)"label"!==c&&(b[c].attr(this.data("setRolloutAttr")[c]),za.call(this,X,a,"DataPlotRollOut"))}},Bb=function(){!1!==l.visible||!1!==l._conatinerHidden&&void 0!==l._conatinerHidden||(xa.hide(),Ca.hide(),Ga.hide(),Fa.hide(),Ka.hide(),Da.hide(),Ba&&Ba.hide(),l._conatinerHidden=!0)};Ba||(Ba=l.graphics.dataLabelContainer=K.group("datalabel",Fb),z||Ba.hide());xa||(xa=l.graphics.upperBoxContainer=K.group("upperBox",W).trackTooltip(!0).toBack(),z||xa.hide());Ga||
(Ga=l.graphics.upperWhiskerContainer=K.group("upperWhisker",W).trackTooltip(!0).toBack(),z||Ga.hide());Ca||(Ca=l.graphics.lowerBoxContainer=K.group("lowerBox",W).trackTooltip(!0).toBack(),z||Ca.hide());Fa||(Fa=l.graphics.lowerWhiskerContainer=K.group("lowerWhisker",W).trackTooltip(!0).toBack(),z||Fa.hide());Ka||(Ka=l.graphics.medianContainer=K.group("median",W).trackTooltip(!0),z||Ka.hide());Da||(Da=l.graphics.shadowContainer=K.group("shadow",W).toBack(),z||Da.hide());z&&(xa.show(),Ca.show(),Ga.show(),
Fa.show(),Ka.show(),Da.show(),Ba&&Ba.show(),l._conatinerHidden=!1,l.components.mean.show(),l.components.sd.show(),l.components.qd.show(),l.components.md.show());D=E(v,w);for(I=0;I<D;I++)if(ta=(ca=(ma=na[I])&&ma.config)&&ca.setValue,Xb=Wb=Vb=Ub=Tb=Sb=Rb=Qb=Pb=!1,void 0!==ma&&void 0!==ta&&null!==ta)for(wa=ma.graphics,ya=0<=ta,oa=ca.setLink,ma.graphics||(na[I].graphics={}),wa.label||(na[I].graphics.label=[]),ua=ya?ca.previousPositiveY:ca.previousNegativeY,Ha=M.getAxisPosition(ua||Aa),H=T.getAxisPosition(I)+
la,0===ka&&(Jb=0,Va=Ha),J=E(J,Ha),ha=O,Ja=((La=(sa=ca.upperQuartile||{},sa.value))||0===La)&&M.getAxisPosition(La),ub=((Pa=(Qa=ca.lowerQuartile||{},Qa.value))||0===Pa)&&M.getAxisPosition(Pa),Ra=((Ta=($a=ca.median)&&$a.value)||0===Ta)&&M.getAxisPosition(Ta),Oa=Ra-Ja,Ua=ub-Ra,fb=ca.upperBoxBorder||{},ob=ca.lowerBoxBorder||{},ja=ca.toolText,eb=l.index+"_"+I,va={index:I,link:oa,maximum:ca.max,minimum:ca.min,median:Ta,q3:sa.value,q1:Qa.value,maxDisplayValue:ca.showMaxValues?Ya.dataLabels(ca.max):u,minDisplayValue:ca.showMinValues?
Ya.dataLabels(ca.min):u,medianDisplayValue:ca.showMedianValues?Ya.dataLabels(Ta):u,q1DisplayValue:ca.showQ1Values?Ya.dataLabels(Qa.value):u,q3DisplayValue:ca.showQ3Values?Ya.dataLabels(sa.value):u,categoryLabel:ca.label,toolText:ja,datasetIndex:q,datasetName:m.seriesname,visible:z},Na=ga(H)+fb.borderWidth%2*.5,cb=ga(H+ha)+fb.borderWidth%2*.5,Xa=ga(Ja)+sa.borderWidth%2*.5,ha=cb-Na,b={fill:x(ca.upperColorArr[0]),"stroke-width":0,"stroke-dasharray":"none",cursor:oa?"pointer":u,ishot:!0,visibility:z},
d={fill:x(ca.lowerColorArr[0]),"stroke-width":0,"stroke-dasharray":"none",cursor:oa?"pointer":y,ishot:!0,visibility:z},e={stroke:fb.color,"stroke-width":fb.borderWidth,"stroke-linecap":"round",dashstyle:fb.dashStyle,ishot:!0,visibility:z},c={stroke:ob.color,"stroke-width":ob.borderWidth,dashstyle:ob.dashStyle,"stroke-linecap":"round",ishot:!0,visibility:z},h={stroke:x(sa.color),"stroke-width":sa.borderWidth,"stroke-dasharray":sa.dashSyle,"stroke-linecap":"round",cursor:oa?"pointer":y,ishot:!0,visibility:z},
f={stroke:x(Qa.color),"stroke-width":Qa.borderWidth,"stroke-dasharray":Qa.dashSyle,cursor:oa?"pointer":u,"stroke-linecap":"round",ishot:!0,visibility:z},k={stroke:x($a.color),"stroke-width":$a.borderWidth,"stroke-dasharray":$a.dashSyle,cursor:oa?"pointer":u,"stroke-linecap":"round",ishot:!0,visibility:z},F={x:Na,y:Va||Xa,width:N(ha,0),height:N(E(Jb,Oa),0),r:0},(ib=ma.graphics.upperBoxElem)?(ib.animateWith(Z,U,F,L,S,sb&&Bb),sb=!1):(ib=ma.graphics.upperBoxElem=K.rect(F,xa),Pb=!0),ib.attr(b).shadow({opacity:Ia?
n.upperBoxAlpha/100:0},Da),F={path:["M",Na,Va||Xa,"V",Va||Xa+Oa,"M",cb,Va||Xa,"V",Va||Xa+Oa]},(kb=ma.graphics.upperBoxBorderEle)?kb.animateWith(Z,U,F,L,S,sb&&Bb):(kb=ma.graphics.upperBoxBorderEle=K.path(F,xa),Rb=!0),kb.attr(e),F={path:["M",Na,Va||Xa,"H",Na+ha]},(vb=ma.graphics.upperQuartileEle)?vb.animateWith(Z,U,F,L,S,sb&&Bb):(vb=ma.graphics.upperQuartileEle=K.path(F,xa),Tb=!0),vb.attr(h),rb=Xa,Yb=n.whiskerslimitswidthratio/100*ha,xb=Yb/2,mb=yb=M.getAxisPosition(ca.max),ab=Na,mb=ga(yb)+ca.upperWhiskerThickness%
2/2,Na=ga(Na+ha/2)+ca.upperWhiskerThickness%2/2,qb=["M",Na,Va||rb,"V",Va||mb,"M",Na-xb,Va||mb,"H",Na+xb],bb=ma.graphics.upperWhiskerEle,F={path:qb,ishot:!$,"stroke-width":ca.upperWhiskerThickness,cursor:oa?"pointer":u,"stroke-linecap":"round"},bb?bb.animateWith(Z,U,F,L,S,sb&&Bb):(bb=ma.graphics.upperWhiskerEle=K.path(F,Ga),Wb=!0),bb.attr({stroke:ca.upperWhiskerColor}),bb.shadow({opacity:ca.upperWhiskerShadowOpacity},Da),Kb.useEllipsesOnOverflow(X.config.useEllipsesWhenOverflow),Kb.setStyle(fa),hb=
Kb.getOriSize(Ya.dataLabels(ca.max)),Za=Ea?hb.width:hb.height,nb=yb-.5*ca.upperWhiskerThickness-gb-Za*(Ea?.5:1),nb-(Ea?Za/2:0)<C.canvasTop&&(nb=C.canvasTop+(Ea?Za/2:0)),F={text:Ya.dataLabels(ca.max),x:ab+ha/2,title:sa.originalText||u,y:nb,"text-anchor":Ea?"middle":lb,"vertical-align":Ea?"middle":"top",visibility:"visible",direction:n.textDirection,fill:fa.color,transform:K.getSuggestiveRotation(Ea,ab+ha/2,nb),"text-bound":[fa.backgroundColor,fa.borderColor,fa.borderThickness,fa.borderPadding,fa.borderRadius,
fa.borderDash]},ca.showMaxValues?(wa.label[3]?(wa.label[3].show(),zb=ab+ha/2,Ab=Va||nb,wa.label[3].attr({text:Ya.dataLabels(ca.max),title:sa.originalText||u,"text-anchor":Ea?"middle":lb,"vertical-align":Ea?"middle":"top",visibility:"visible",direction:n.textDirection,fill:fa.color,"text-bound":[fa.backgroundColor,fa.borderColor,fa.borderThickness,fa.borderPadding,fa.borderRadius,fa.borderDash]}),wa.label[3].animateWith(Z,U,{x:zb,y:Ab,transform:K.getSuggestiveRotation(Ea,zb,Ab)},L,S,sb&&Bb)):wa.label[3]=
K.text(F,Ba),wa.label[3].data("groupId",eb).css(Db)):wa.label[3]&&wa.label[3].hide()&&wa.label[3].attr({"text-bound":[]}),Na=ga(H)+ob.borderWidth%2*.5,cb=ga(H+ha)+ob.borderWidth%2*.5,Xa=ga(Ra+Ua)+Qa.borderWidth%2*.5,F={x:Na,y:Va||Ra,width:N(ha,0),height:N(E(Jb,Xa-Ra),0),r:0},(Ma=ma.graphics.lowerBoxElem)?Ma.animateWith(Z,U,F,L,S,sb&&Bb):(Ma=ma.graphics.lowerBoxElem=K.rect(F,Ca),Qb=!0),Ma.attr(d).shadow({opacity:Ia?n.lowerBoxAlpha/100:0},Da),F={path:["M",Na,Va||Ra,"V",Va||Ra+Ua,"M",cb,Va||Ra,"V",Va||
Ra+Ua]},(db=ma.graphics.lowerBoxBorderEle)?db.animateWith(Z,U,F,L,S,sb&&Bb):(db=ma.graphics.lowerBoxBorderEle=K.path(F,Ca),Sb=!0),db.attr(c),Xa=ga(Ra+Ua)+Qa.borderWidth%2*.5,F={path:["M",Na,Va||Xa,"H",Na+ha]},(Wa=ma.graphics.lowerQuartileEle)?Wa.animateWith(Z,U,F,L,S,sb&&Bb):(Wa=ma.graphics.lowerQuartileEle=K.path(F,Ca),Ub=!0),Wa.attr(f),rb=Xa,Yb=n.whiskerslimitswidthratio/100*ha,xb=Yb/2,mb=yb=M.getAxisPosition(ca.min),ab=Na,mb=ga(yb)+ca.lowerWhiskerThickness%2/2,ab=ga(ab+ha/2)+ca.lowerWhiskerThickness%
2/2,qb=["M",ab,Va||rb,"V",Va||mb,"M",ab-xb,Va||mb,"H",ab+xb],Eb=ma.graphics.lowerWhiskerEle,Kb.setStyle(fa),hb=Kb.getOriSize(Ya.dataLabels(ca.min)),Za=Ea?hb.width:hb.height,jb=yb+.5*ca.lowerWhiskerThickness+gb,jb+Za>C.canvasBottom&&(jb=C.canvasBottom-Za),F={text:Ya.dataLabels(ca.min),x:ab,title:sa.originalText||u,y:jb,"text-anchor":Ea?"end":lb,"vertical-align":Ea?"middle":"top",visibility:"visible",direction:n.textDirection,fill:fa.color,transform:K.getSuggestiveRotation(Ea,ab,jb),"text-bound":[fa.backgroundColor,
fa.borderColor,fa.borderThickness,fa.borderPadding,fa.borderRadius,fa.borderDash]},ca.showMinValues?(wa.label[4]?(wa.label[4].show(),zb=ab,Ab=Va||jb,wa.label[4].animateWith(Z,U,{x:zb,y:Ab,transform:K.getSuggestiveRotation(Ea,zb,Ab)},L,S,sb&&Bb),wa.label[4].attr({text:Ya.dataLabels(ca.min),title:sa.originalText||u,"text-anchor":Ea?"end":lb,"vertical-align":Ea?"middle":"top",visibility:"visible",direction:n.textDirection,fill:fa.color,"text-bound":[fa.backgroundColor,fa.borderColor,fa.borderThickness,
fa.borderPadding,fa.borderRadius,fa.borderDash]})):wa.label[4]=K.text(F,Ba),wa.label[4].data("groupId",eb).css(Db)):wa.label[4]&&wa.label[4].hide()&&wa.label[4].attr({"text-bound":[]}),F={path:qb,ishot:!$,"stroke-width":ca.lowerWhiskerThickness,cursor:oa?"pointer":u,"stroke-linecap":"round"},Eb?Eb.animateWith(Z,U,F,L,S,sb&&Bb):(Eb=ma.graphics.lowerWhiskerEle=K.path(F,Fa),Xb=!0),Eb.attr({stroke:ca.lowerWhiskerColor}),Eb.shadow({opacity:ca.lowerWhiskerShadowOpacity},Da),Xa=ga(Ra)+$a.borderWidth%2*.5,
F={path:["M",Na,Va||Xa,"H",Na+ha]},(wb=ma.graphics.midLineElem)?wb.animateWith(Z,U,F,L,S,sb&&Bb):(wb=ma.graphics.midLineElem=K.path(F,Ka),Vb=!0),wb.attr(k),Hb={upperBoxElem:ca.setUpperBoxRolloverAttr,lowerBoxElem:ca.setLowerBoxRolloverAttr,upperBoxBorderEle:ca.setUpperBoxBorderRolloverAttr,lowerBoxBorderEle:ca.setLowerBoxBorderRolloverAttr,upperQuartileEle:ca.setUpperQuartileRolloverAttr,lowerQuartileEle:ca.setLowerQuartileRolloverAttr,midLineElem:ca.setMedianRolloverAttr},Ib={upperBoxElem:ca.setUpperBoxRolloutAttr,
lowerBoxElem:ca.setLowerBoxRolloutAttr,upperBoxBorderEle:ca.setUpperBoxBorderRolloutAttr,lowerBoxBorderEle:ca.setLowerBoxBorderRolloutAttr,upperQuartileEle:ca.setUpperQuartileRolloutAttr,lowerQuartileEle:ca.setLowerQuartileRolloutAttr,midLineElem:ca.setMedianRolloutAttr},ib.data("groupId",eb).data("eventArgs",va).data("showHoverEffect",Lb).data("setRolloverAttr",Hb).data("setRolloutAttr",Ib),Pb&&ib.click(Mb).hover(Nb(ma.graphics),Ob(ma.graphics)),Ma.data("groupId",eb).data("eventArgs",va).data("showHoverEffect",
Lb).data("setRolloverAttr",Hb).data("setRolloutAttr",Ib),Qb&&Ma.click(Mb).hover(Nb(ma.graphics),Ob(ma.graphics)),kb.data("groupId",eb).data("eventArgs",va).data("showHoverEffect",Lb).data("setRolloverAttr",Hb).data("setRolloutAttr",Ib),Rb&&kb.click(Mb).hover(Nb(ma.graphics),Ob(ma.graphics)),db.data("groupId",eb).data("eventArgs",va).data("showHoverEffect",Lb).data("setRolloverAttr",Hb).data("setRolloutAttr",Ib),Sb&&db.click(Mb).hover(Nb(ma.graphics),Ob(ma.graphics)),vb.data("groupId",eb).data("eventArgs",
va).data("showHoverEffect",Lb).data("setRolloverAttr",Hb).data("setRolloutAttr",Ib),Tb&&vb.click(Mb).hover(Nb(ma.graphics),Ob(ma.graphics)),Wa.data("groupId",eb).data("eventArgs",va).data("showHoverEffect",Lb).data("setRolloverAttr",Hb).data("setRolloutAttr",Ib),Ub&&Wa.click(Mb).hover(Nb(ma.graphics),Ob(ma.graphics)),wb.data("groupId",eb).data("eventArgs",va).data("showHoverEffect",Lb).data("setRolloverAttr",Hb).data("setRolloutAttr",Ib),Vb&&wb.click(Mb).hover(Nb(ma.graphics),Ob(ma.graphics)),bb.data("groupId",
eb).data("eventArgs",va).data("showHoverEffect",Lb).data("setRolloverAttr",Hb).data("setRolloutAttr",Ib),Wb&&bb.click(Mb).hover(Nb(ma.graphics),Ob(ma.graphics)),Eb.data("groupId",eb).data("eventArgs",va).data("showHoverEffect",Lb).data("setRolloverAttr",Hb).data("setRolloutAttr",Ib),Xb&&Eb.click(Mb).hover(Nb(ma.graphics),Ob(ma.graphics)),lb=Ea?gc:"middle",F={text:sa.displayValue,x:H+ha/2,title:sa.originalText||u,y:Ja-gb,"text-anchor":Ea?"start":lb,"vertical-align":Ea?"middle":"bottom",visibility:"visible",
direction:n.textDirection,fill:fa.color,transform:K.getSuggestiveRotation(Ea,H+ha/2,Ja-gb),"text-bound":[fa.backgroundColor,fa.borderColor,fa.borderThickness,fa.borderPadding,fa.borderRadius,fa.borderDash]},ba(sa.displayValue)&&sa.displayValue!==y&&ca.showQ3Values?(wa.label[0]?(wa.label[0].show(),zb=H+ha/2,Ab=Va||Ja-gb,wa.label[0].animateWith(Z,U,{x:zb,y:Ab,transform:K.getSuggestiveRotation(Ea,zb,Ab)},L,S,sb&&Bb),wa.label[0].attr({text:sa.displayValue,title:sa.originalText||u,"text-anchor":Ea?"start":
lb,"vertical-align":Ea?"middle":"bottom",visibility:"visible",direction:n.textDirection,fill:fa.color,"text-bound":[fa.backgroundColor,fa.borderColor,fa.borderThickness,fa.borderPadding,fa.borderRadius,fa.borderDash]})):wa.label[0]=K.text(F,Ba),wa.label[0].data("groupId",eb).css(Db)):wa.label[0]&&wa.label[0].hide()&&wa.label[0].attr({"text-bound":[]}),F={text:$a.displayValue,x:Na+ha/2,y:Ra-gb,title:$a.originalText||u,"text-anchor":Ea?"start":lb,"vertical-align":Ea?"middle":"bottom",visibility:"visible",
direction:n.textDirection,fill:fa.color,transform:K.getSuggestiveRotation(Ea,Na+ha/2,Ra-gb),"text-bound":[fa.backgroundColor,fa.borderColor,fa.borderThickness,fa.borderPadding,fa.borderRadius,fa.borderDash]},ba($a.displayValue)&&$a.displayValue!==y&&ca.showMedianValues?(wa.label[1]?(wa.label[1].show(),zb=Na+ha/2,Ab=Va||Ra-gb,wa.label[1].animateWith(Z,U,{x:zb,y:Ab,transform:K.getSuggestiveRotation(Ea,zb,Ab)},L,S,sb&&Bb),wa.label[1].attr({text:$a.displayValue,title:$a.originalText||u,"text-anchor":Ea?
"start":lb,"vertical-align":Ea?"middle":"bottom",visibility:"visible",direction:n.textDirection,fill:fa.color,"text-bound":[fa.backgroundColor,fa.borderColor,fa.borderThickness,fa.borderPadding,fa.borderRadius,fa.borderDash]})):wa.label[1]=K.text(F,Ba),wa.label[1].data("groupId",eb).css(Db)):wa.label[1]&&wa.label[1].hide()&&wa.label[1].attr({"text-bound":[]}),F={text:Qa.displayValue,x:H+ha/2,y:ub+gb,title:Qa.originalText||u,"text-anchor":Ea?"start":lb,"vertical-align":Ea?"middle":"top",visibility:"visible",
direction:n.textDirection,fill:fa.color,transform:K.getSuggestiveRotation(Ea,H+ha/2,ub+gb),"text-bound":[fa.backgroundColor,fa.borderColor,fa.borderThickness,fa.borderPadding,fa.borderRadius,fa.borderDash]},ba(Qa.displayValue)&&Qa.displayValue!==y&&ca.showQ1Values?(wa.label[2]?(wa.label[2].show(),zb=H+ha/2,Ab=Va||ub+gb,wa.label[2].animateWith(Z,U,{x:zb,y:Ab,transform:K.getSuggestiveRotation(Ea,zb,Ab)},L,S,sb&&Bb),wa.label[2].attr({text:Qa.displayValue,title:Qa.originalText||u,"text-anchor":Ea?"start":
lb,"vertical-align":Ea?"middle":"top",visibility:"visible",direction:n.textDirection,fill:fa.color,"text-bound":[fa.backgroundColor,fa.borderColor,fa.borderThickness,fa.borderPadding,fa.borderRadius,fa.borderDash]})):wa.label[2]=K.text(F,Ba),wa.label[2].data("groupId",eb).css(Db)):wa.label[2]&&wa.label[2].hide()&&wa.label[2].attr({"text-bound":[]}),sb&&Bb(),$?(ib.tooltip(ja),Ma.tooltip(ja),kb.tooltip(ja),db.tooltip(ja),vb.tooltip(ja),Wa.tooltip(ja),wb.tooltip(ja),bb.tooltip(ja),Eb.tooltip(ja)):(ib.tooltip(!1),
Ma.tooltip(!1),kb.tooltip(!1),db.tooltip(!1),vb.tooltip(!1),Wa.tooltip(!1),wb.tooltip(!1),bb.tooltip(!1),Eb.tooltip(!1)),H+=ha/2,l.components.mean.components.data[I].config.xPos=H,l.components.sd.components.data[I].config.xPos=H,l.components.qd.components.data[I].config.xPos=H,l.components.md.components.data[I].config.xPos=H,Cb=0;Cb<n.maxNumberOfOutliers;Cb++)l.components.outliers[Cb].components.data[I].config.xPos=H;l.flag=!0;Zb&&l.remove()},remove:function(){var b=this.components,a=b.removeDataArr,
e=b.pool||(b.pool={element:[],hotElement:[],label:[]}),c=a.length,d,f=this.maxminFlag,k,l,m,n,p;for(m=0;m<c;m++)if(d=a[0],a.splice(0,1),d&&d.graphics){l=d.graphics;for(k in l)if("label"!==k)l[k].shadow({opacity:0}),l[k].hide();else for(n=l[k].length,p=0;p<n;p++)l[k][p]&&(l[k][p].shadow({opacity:0}),l[k][p].hide(),l[k][p].attr({"text-bound":[]}));d.graphics.element&&(e.element=e.element.concat(d.graphics.element));d.graphics.hotElement&&(e.hotElement=e.hotElement.concat(d.graphics.hotElement));d.graphics.label&&
(e.label=e.label.concat(d.graphics.label))}b.pool=e;f&&this.setMaxMin()},removeData:function(b,a,e){var c=this.components,d=c.data,f=c.removeDataArr||(c.removeDataArr=[]),k=c.mean.components.removeDataArr||(c.mean.components.removeDataArr=[]),l=c.sd.components.removeDataArr||(c.sd.components.removeDataArr=[]),m=c.md.components.removeDataArr||(c.md.components.removeDataArr=[]),n=c.qd.components.removeDataArr||(c.qd.components.removeDataArr=[]),p=this.config,q=this.groupManager,r=this.maxminFlag;a=
a||1;b=b||0;if(b+a===d.length)this.endPosition=!0;else if(0===b||void 0===b)this.endPosition=!1;c.removeDataArr=f=f.concat(d.splice(b,a));c.mean.components.removeDataArr=k.concat(c.mean.components.data.splice(b,a));c.sd.components.removeDataArr=l.concat(c.sd.components.data.splice(b,a));c.md.components.removeDataArr=m.concat(c.md.components.data.splice(b,a));c.qd.components.removeDataArr=n.concat(c.qd.components.data.splice(b,a));k=c.outliers.length;for(d=0;d<k;d++)l=c.outliers[d].components.removeDataArr||
(c.outliers[d].components.removeDataArr=[]),c.outliers[d].components.removeDataArr=l.concat(c.outliers[d].components.data.splice(b,a));q&&q.removeSumLabels&&q.removeSumLabels(b,a,this.positionIndex);k=f.length;for(d=0;d<k;d++)if(f[d]){b=f[d].config;if(b.setValue===p.maxValue||b.setValue===p.minValue)r=this.maxminFlag=!0;if(r)break}r&&this.setMaxMin();e&&this.draw()},_addLegendSubDS:function(b){var a;a=b.config;var d=b.chart.components.legend,c=a.anchorBgColor;a={anchorSide:a.anchorSides,legendBackgroundColor:this.config.upperBoxColor,
fillColor:ea(c),strokeColor:ea("#000000"),enabled:this.config.includeInLegend,label:this.JSONData.seriesname&&la(b.name),customLegendIcon:!1,spoke:a.dip?1:0,drawLine:a.drawLine?!0:!1,lineColor:x({color:c,alpha:"100"})};b.itemId=d.addItems(b,b.legendInteractivity,a)},_addLegendOutliers:function(b){var g=this.JSONData,e=this.chart.jsonData.chart,c=this.config,h=c.upperBoxColor,f=this.chart.components.legend,k=d(g.outliericoncolor,e.outliericoncolor,"#000000"),g={anchorSide:a(g.outliericonsides,e.outliericonsides,
3),fillColor:ea(k),legendBackgroundColor:h,strokeColor:ea("#000000"),enabled:c.includeInLegend,label:this.JSONData.seriesname&&"Outliers",customLegendIcon:!1,spoke:b[0].config.dip?1:0,drawLine:!1,datasetObj:b[0]};b[0]&&(b[0].itemId=f.addItems(b,this.legendInteractivityOutliers,g))},legendInteractivityOutliers:function(b,a){var d=this.config,c=a.config,h=a.graphics,f=d.itemHiddenStyle.color,d=d.itemStyle.color,k=c.fillColor,c=c.strokeColor,l,m;b.visible=b.visible?!1:!0;for(l=0;l<b.length;l++)m=b[l].visible,
b[l].visible=m?!1:!0,b[l].draw(),m?(h.legendItemSymbol&&h.legendItemSymbol.attr({fill:f,stroke:f}),h.legendItemText&&h.legendItemText.attr({fill:f}),h.legendIconLine&&h.legendIconLine.attr({stroke:f})):(h.legendItemSymbol&&h.legendItemSymbol.attr({fill:k,stroke:c}),h.legendItemText&&h.legendItemText.attr({fill:d}),h.legendIconLine&&h.legendIconLine.attr({stroke:k}))},_addLegend:function(){var b;b=this.config;var a=this.chart.components.legend,d=b.upperBoxColor;b={fillColor:x({FCcolor:{color:d+","+
b.lowerBoxColor,angle:90,ratio:"50, 0",alpha:"100, 100"}}),legendBackgroundColor:d,strokeColor:x("#000000"),rawFillColor:d,rawStrokeColor:"#000000",enabled:b.includeInLegend,label:la(this.JSONData.seriesname),index:this.index};this.itemId=a.addItems(this,this.legendInteractivity,b)},legendInteractivity:function(b,a){var d=this.config,c=b.visible,h=a.config,f=a.graphics,k=d.itemHiddenStyle.color,d=d.itemStyle,l=d.color,m=h.fillColor,h=h.strokeColor,n=a.index,p=b.subDS;c?b.hide():b.show();if(c)for(f.legendItemSymbol&&
f.legendItemSymbol.attr({fill:k,stroke:k}),f.legendItemText&&f.legendItemText.attr({fill:k}),f.legendItemLine&&f.legendItemLine.attr({stroke:k}),c=n+1;c<=n+p;c++)f=this.components.items[c].graphics,f.legendItemSymbol&&f.legendItemSymbol.attr({fill:k,stroke:k}),f.legendItemText&&f.legendItemText.attr({fill:k}),f.legendItemLine&&f.legendItemLine.attr({stroke:k});else for(f.legendItemSymbol&&f.legendItemSymbol.attr({fill:m,stroke:h}),f.legendItemText&&f.legendItemText.attr({fill:l}),f.legendItemLine&&
f.legendItemLine.attr({stroke:m}),c=n+1;c<=n+p;c++)f=this.components.items[c].graphics,h=this.components.items[c].config,l=d.color,m=h.fillColor,h=h.strokeColor,f.legendItemSymbol&&f.legendItemSymbol.attr({fill:m,stroke:h}),f.legendItemText&&f.legendItemText.attr({fill:l}),f.legendItemLine&&f.legendItemLine.attr({stroke:m})},show:function(){var b=this.graphics.upperBoxContainer,a=this.graphics.lowerBoxContainer,d=this.graphics.medianContainer,c=this.graphics.upperWhiskerContainer,h=this.graphics.lowerWhiskerContainer,
f=this.graphics.dataLabelContainer,k=this.graphics.shadowContainer,l=this.chart,m=this.yAxis;l._chartAnimation();this.visible=!0;this.components.outliers.visible=!0;this._conatinerHidden=!1;b.show();a.show();d.show();c.show();h.show();f.show();k.show();for(b=0;b<this.config.maxNumberOfOutliers;b++)this.components.outliers[b].show();l._setAxisLimits();m.draw();l._drawDataset();this.components.mean.show();this.components.sd.show();this.components.qd.show();this.components.md.show()},hide:function(){var b=
this.chart,a=this.yAxis,d,c;b._chartAnimation();this.visible=!1;d=this.config.maxNumberOfOutliers;for(c=0;c<d;c++)this.components.outliers[c].hide();b._setAxisLimits();a.draw();b._drawDataset();this.components.mean.hide();this.components.sd.hide();this.components.qd.hide();this.components.md.hide();d=this.config.maxNumberOfOutliers||this.components.outliers.length;this.components.outliers.visible=!1;for(c=0;c<d;c++)this.components.outliers[c].visible=!1,this.components.outliers[c].draw()}},"Column",
{showplotborder:void 0,plotborderdashlen:void 0,plotborderdashgap:void 0,plotfillalpha:void 0,useroundedges:void 0,ratio:void 0,plotborderthickness:void 0,showvalues:void 0,valuepadding:void 0,showtooltip:void 0,maxcolwidth:void 0,rotatevalues:void 0,use3dlighting:void 0,whiskerslimitswidthratio:void 0,outliersupperrangeratio:void 0,outlierslowerrangeratio:void 0,showalloutliers:void 0,showmean:void 0,showsd:void 0,showmd:void 0,showqd:void 0,showminvalues:void 0,showmaxvalues:void 0,showq1values:void 0,
showq3values:void 0,showmedianvalues:void 0}]);FusionCharts.register("component",["dataset","subDS",{show:function(){var b=this.chart,a=this.yAxis;b._chartAnimation();this.visible=!0;this._conatinerHidden=!1;b._setAxisLimits();a.draw();this.draw()},hide:function(){var b=this.chart,a=this.yAxis;b._chartAnimation();this.visible=!1;b._setAxisLimits();a.draw();this.draw()},getEventArgs:function(){return{datasetName:this.name,datasetIndex:this.index,id:(this.config||{}).userID,visible:this.visible}},legendInteractivity:function(b,
a){var d=this.config,c=b.visible,h=a.config,f=a.graphics,k=d.itemHiddenStyle.color,d=d.itemStyle.color,l=h.fillColor,m,n=h.strokeColor;c?b.hide():b.show();c={legendItemSymbol:{fill:c?k:l,stroke:c?k:n},legendItemText:{fill:c?k:d},legendItemLine:{stroke:c?k:h.lineAttr&&h.lineAttr.stroke}};for(m in f)(h=f[m])&&c[m]&&h.attr(c[m])}},"Line"]);FusionCharts.register("component",["datasetGroup","boxandwhisker2d",{draw:function(){var b=this.positionStackArr,a=b.length,d,c,h,f;d=this.chart;c=d.graphics.datasetGroup;
var k=d.graphics;h=d.components.canvas.config.clip["clip-canvas"].slice(0);f=W([],d.components.canvas.config.clip["clip-canvas-init"]);var k=k.datalabelsGroup,l=d.get("config","animationObj"),m=l.animType,n=l.animObj,p=l.dummyObj,l=l.duration;d.fireInitialAnimation&&(c.attr({"clip-rect":f}),k.attr({"clip-rect":f}));d.fireInitialAnimation=!1;c.animateWith(p,n,{"clip-rect":h},l,m);k.animateWith(p,n,{"clip-rect":h},l,m);this.preDrawCalculate();this.drawSumValueFlag=!0;for(d=0;d<a;d++)for(c=b[d],h=c.length,
this.manageClip=!0,c=0;c<h;c++)f=b[d][c].dataSet,f.draw()}},xa]);M("heatmap",{friendlyName:"Heatmap Chart",standaloneInit:!0,creditLabel:n,hasLegend:!0,tooltipsepchar:": ",tooltipConstraint:"chart",defaultDatasetType:"heatmap",applicableDSList:{heatmap:!0},isSingleSeries:!0,hasGradientLegend:!0,_createAxes:function(){var b=this.components,a=FusionCharts.register("component",["axis","cartesian"]),d;b.yAxis=[];b.xAxis=[];b.yAxis[0]=d=new a;b.xAxis[0]=b=new a;d.chart=this;b.chart=this;d.init();b.init()},
_postSpaceManagement:function(){var b=this.config,a=b.placeAxisLabelsOnTop,d=this.components,c=d.xAxis&&d.xAxis[0],h=d.yAxis&&d.yAxis[0],f=d.legend,k=b.xDepth,d=d.canvas.config.canvasBorderWidth;c&&c.setAxisDimention({x:b.canvasLeft,y:a?b.canvasTop+(b.shift||0)-d:b.canvasBottom+(b.shift||0)+d,opposite:b.canvasTop-d,axisLength:b.canvasWidth});h&&h.setAxisDimention({x:b.canvasLeft-d,y:b.canvasTop,opposite:b.canvasRight+d,axisLength:b.canvasHeight});c&&c.shiftLabels(-k,0);f.postSpaceManager();this.config.realtimeEnabled&&
this._setRealTimeCategories&&this._setRealTimeCategories();this._adjustCanvasPadding()},_adjustCanvasPadding:function(){},_feedAxesRawData:function(){var b=this.components,g=b.colorManager,e=this.jsonData,c=e.chart,h;h=this.is3d;var f=v.chartPaletteStr,f=h?f.chart3D:f.chart2D;h={outCanfontFamily:d(c.outcnvbasefont,c.basefont,"Verdana,sans"),outCanfontSize:hb(c.outcnvbasefontsize,c.basefontsize,10),outCancolor:d(c.outcnvbasefontcolor,c.basefontcolor,g.getColor(f.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,
"#$1"),axisNamePadding:c.xaxisnamepadding,axisValuePadding:c.labelpadding,axisNameFont:c.xaxisnamefont,axisNameFontSize:c.xaxisnamefontsize,axisNameFontColor:c.xaxisnamefontcolor,axisNameFontBold:c.xaxisnamefontbold,axisNameFontItalic:c.xaxisnamefontitalic,axisNameBgColor:c.xaxisnamebgcolor,axisNameBorderColor:c.xaxisnamebordercolor,axisNameAlpha:c.xaxisnamealpha,axisNameFontAlpha:c.xaxisnamefontalpha,axisNameBgAlpha:c.xaxisnamebgalpha,axisNameBorderAlpha:c.xaxisnameborderalpha,axisNameBorderPadding:c.xaxisnameborderpadding,
axisNameBorderRadius:c.xaxisnameborderradius,axisNameBorderThickness:c.xaxisnameborderthickness,axisNameBorderDashed:c.xaxisnameborderdashed,axisNameBorderDashLen:c.xaxisnameborderdashlen,axisNameBorderDashGap:c.xaxisnameborderdashgap,useEllipsesWhenOverflow:c.useellipseswhenoverflow,divLineColor:d(c.vdivlinecolor,c.divlinecolor,g.getColor(f.divLineColor)),divLineAlpha:d(c.vdivlinealpha,c.divlinealpha,h?g.getColor("divLineAlpha3D"):g.getColor("divLineAlpha")),divLineThickness:a(c.vdivlinethickness,
c.divlinethickness,1),divLineIsDashed:Boolean(a(c.vdivlinedashed,c.vdivlineisdashed,c.divlinedashed,c.divlineisdashed,0)),divLineDashLen:a(c.vdivlinedashlen,c.divlinedashlen,4),divLineDashGap:a(c.vdivlinedashgap,c.divlinedashgap,2),showAlternateGridColor:a(c.showalternatevgridcolor,0),alternateGridColor:d(c.alternatevgridcolor,g.getColor("altVGridColor")),alternateGridAlpha:d(c.alternatevgridalpha,g.getColor("altVGridAlpha")),numDivLines:c.numvdivlines,labelFont:c.labelfont,labelFontSize:c.labelfontsize,
labelFontColor:c.labelfontcolor,labelFontAlpha:c.labelalpha,labelFontBold:c.labelfontbold,labelFontItalic:c.labelfontitalic,axisName:c.xaxisname,axisMinValue:c.xaxisminvalue,axisMaxValue:c.xaxismaxvalue,setAdaptiveMin:c.setadaptivexmin,adjustDiv:c.adjustvdiv,labelDisplay:c.labeldisplay,showLabels:a(c.showxaxislabels,c.showlabels),rotateLabels:c.rotatexaxislabels,slantLabel:a(c.slantlabels,c.slantlabel),labelStep:a(c.labelstep,c.xaxisvaluesstep),showAxisValues:a(c.showxaxisvalues,c.showxaxisvalue),
maxLabelHeight:c.maxlabelheight,showZeroPlane:c.showvzeroplane,zeroPlaneColor:c.vzeroplanecolor,zeroPlaneThickness:c.vzeroplanethickness,zeroPlaneAlpha:c.vzeroplanealpha,showZeroPlaneValue:c.showvzeroplanevalue,trendlineColor:c.trendlinecolor,trendlineToolText:c.trendlinetooltext,trendlineThickness:c.trendlinethickness,trendlineAlpha:c.trendlinealpha,showTrendlinesOnTop:c.showtrendlinesontop,showAxisLine:a(c.showxaxisline,c.showaxislines,c.drawAxisLines,0),axisLineThickness:a(c.xaxislinethickness,
c.axislinethickness,1),axisLineAlpha:a(c.xaxislinealpha,c.axislinealpha,100),axisLineColor:d(c.xaxislinecolor,c.axislinecolor,"#000000")};g={outCanfontFamily:d(c.outcnvbasefont,c.basefont,"Verdana,sans"),outCanfontSize:hb(c.outcnvbasefontsize,c.basefontsize,10),outCancolor:d(c.outcnvbasefontcolor,c.basefontcolor,g.getColor(f.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),axisNamePadding:c.yaxisnamepadding,axisValuePadding:c.yaxisvaluespadding,axisNameFont:c.yaxisnamefont,axisNameFontSize:c.yaxisnamefontsize,
axisNameFontColor:c.yaxisnamefontcolor,axisNameFontBold:c.yaxisnamefontbold,axisNameFontItalic:c.yaxisnamefontitalic,axisNameBgColor:c.yaxisnamebgcolor,axisNameBorderColor:c.yaxisnamebordercolor,axisNameAlpha:c.yaxisnamealpha,axisNameFontAlpha:c.yaxisnamefontalpha,axisNameBgAlpha:c.yaxisnamebgalpha,axisNameBorderAlpha:c.yaxisnameborderalpha,axisNameBorderPadding:c.yaxisnameborderpadding,axisNameBorderRadius:c.yaxisnameborderradius,axisNameBorderThickness:c.yaxisnameborderthickness,axisNameBorderDashed:c.yaxisnameborderdashed,
axisNameBorderDashLen:c.yaxisnameborderdashlen,axisNameBorderDashGap:c.yaxisnameborderdashgap,axisNameWidth:c.yaxisnamewidth,useEllipsesWhenOverflow:c.useellipseswhenoverflow,rotateAxisName:a(c.rotateyaxisname,1),axisName:c.yaxisname,showAlternateGridColor:a(c.showalternatehgridcolor,1),alternateGridColor:d(c.alternatehgridcolor,g.getColor("altHGridColor")),alternateGridAlpha:d(c.alternatehgridalpha,g.getColor("altHGridAlpha")),numDivLines:c.numdivlines,axisMinValue:c.yaxisminvalue,axisMaxValue:c.yaxismaxvalue,
setAdaptiveMin:c.setadaptiveymin,adjustDiv:c.adjustdiv,labelStep:c.yaxisvaluesstep,showLabels:a(c.showyaxislabels,c.showlabels),maxLabelWidthPercent:c.maxlabelwidthpercent,showAxisValues:a(c.showyaxisvalues,c.showyaxisvalue),divLineColor:d(c.hdivlinecolor,g.getColor(f.divLineColor)),divLineAlpha:d(c.hdivlinealpha,g.getColor("divLineAlpha")),divLineThickness:a(c.hdivlinethickness,1),divLineIsDashed:Boolean(a(c.hdivlinedashed,c.hdivlineisdashed,0)),divLineDashLen:a(c.hdivlinedashlen,4),divLineDashGap:a(c.hdivlinedashgap,
2),showZeroPlane:c.showzeroplane,zeroPlaneColor:c.zeroplanecolor,zeroPlaneThickness:c.zeroplanethickness,zeroPlaneAlpha:c.zeroplanealpha,showZeroPlaneValue:c.showzeroplanevalue,trendlineColor:c.trendlinecolor,trendlineToolText:c.trendlinetooltext,trendlineThickness:c.trendlinethickness,trendlineAlpha:c.trendlinealpha,showTrendlinesOnTop:c.showtrendlinesontop,showAxisLine:a(c.showyaxisline,c.showaxislines,c.drawAxisLines,0),axisLineThickness:a(c.yaxislinethickness,c.axislinethickness,1),axisLineAlpha:a(c.yaxislinealpha,
c.axislinealpha,100),axisLineColor:d(c.yaxislinecolor,c.axislinecolor,"#000000")};h.vtrendlines=e.vtrendlines;g.trendlines=e.trendlines;e=b.yAxis[0];b=b.xAxis[0];e.setCommonConfigArr(g,!0,!0,!1);b.setCommonConfigArr(h,!1,!1,this.config.placeAxisLabelsOnTop?!0:!1);e.configure();b.configure();this._setCategories()},_setAxisLimits:function(){},_setCategories:function(){var b=this.components,a=this.jsonData,e=b.xAxis,b=b.yAxis,c=a.dataset&&a.dataset[0].data&&a.dataset[0].data.length,h,f,k,l,m,n=[],p=
[],q;if(!a.columns||!a.rows)for(a.columns={},a.columns.column=l=[],a.rows={},a.rows.row=m=[],h=0;h<c;h++){k=f=!0;for(q=0;q<l.length;q++)a.dataset[0].data[h].columnid==l[q].id&&(f=!1);f&&(f={id:a.dataset[0].data[h].columnid,label:a.dataset[0].data[h].columnid},a.columns.column.push(f));for(q=0;q<m.length;q++)a.dataset[0].data[h].rowid==m[q].id&&(k=!1);k&&(k={id:a.dataset[0].data[h].rowid,label:a.dataset[0].data[h].rowid},a.rows.row.push(k))}l=a.columns.column;m=a.rows.row;for(h=0;h<(l&&l.length);h++)l[h].label=
d(l[h].label,l[h].name,l[h].id),void 0!==l[h].label&&n.push(l[h]);a.columns.column=n;for(h=0;h<(m&&m.length);h++)m[h].label=d(m[h].label,m[h].name,m[h].id),void 0!==m[h].label&&p.push(m[h]);a.rows.row=p;a.columns&&e[0].setAxisPadding(.5,.5);a.columns&&e[0].setCategory(a.columns.column);a.columns&&b[0].setAxisPadding(.5,.5);a.rows&&b[0].setCategory(a.rows.row);e[0].setAxisData({categoryNumDivLines:a.columns.column.length-1,categoryDivLinesFromZero:0,showAlternateGridColor:0});b[0].setAxisData({categoryNumDivLines:a.rows.row.length-
1,categoryDivLinesFromZero:0,showAlternateGridColor:0})}},M.mscartesian);FusionCharts.register("component",["dataset","HeatMap",{type:"heatmap",configure:function(){var b=this.chart,g=b.components,e=g.postLegendInitFn,c=g.gradientLegend,h=b.config.dataLabelStyle,f=this.config,k=b.jsonData,l=this.JSONData,m=l.data,n=b.singleseries,p=m&&m.length,q=b.jsonData.chart,r=b.components.colorManager,t,w=f.plotColor=r.getPlotColor(this.index||this.positionIndex),D=a(l.dashed,q.plotborderdashed),K=a(q.useplotgradientcolor,
1),I=a(q.showtooltip,1),T=v.parseUnsafeString,z=T(q.yaxisname),X=T(q.xaxisname),C=T(d(q.tooltipsepchar,": ")),M=v.parseTooltext,W,Z,$,H,J,R,ba,Q,S,U,ja,L,Y,da,ia,aa,G,pa,oa,O,ha,la,ka,na=k.colorrange||{},ta=b.components.xAxis[0],ma=b.components.yAxis[0],za,ya,va=f.mapByPercent=a(na.mapbypercent,0),ca=f.mapByCategory=a(q.mapbycategory,0),Aa=b.jsonData,ua=Aa.colorrange&&a(Aa.colorrange.gradient),Ba=v.nonGradientColorRange,xa,Ca,Ha,Ka,Fa,Ga,Ia,Da,Ja,sa,Pa,Oa,Qa,Ua=v.getDashStyle,ub=this.components.data,
$a=b.components.numberFormatter,Ta,Ra,Za=b.isBar,cb=b.is3D,fb,hb,ib,kb,vb,Ma,db=-Infinity,Wa=Infinity,wb,Na,jb=F(q.tltype,y),Xa=F(q.trtype,y),fa=F(q.bltype,y),nb=F(q.brtype,y),Ea,gb,Db,Ya,lb,qb,wa,eb,rb,Fb,xb,yb,ab,mb,bb,Cb,Eb;t=f.showplotborder=a(q.showplotborder,cb?0:1);f.plotDashLen=ba=a(q.plotborderdashlen,5);f.plotDashGap=Q=a(q.plotborderdashgap,4);f.plotfillAngle=L=a(360-q.plotfillangle,Za?180:90);f.plotFillAlpha=Y=d(l.alpha,q.plotfillalpha,La);f.plotColor=w=d(l.color,w);f.isRoundEdges=U=a(q.useroundedges,
0);f.plotRadius=a(q.useRoundEdges,f.isRoundEdges?1:0);f.plotFillRatio=da=d(l.ratio,q.plotfillratio);f.plotgradientcolor=ia=v.getDefinedColor(q.plotgradientcolor,r.getColor("plotGradientColor"));!K&&(ia=u);f.plotBorderAlpha=aa=t?d(q.plotborderalpha,Y,La):0;f.plotBorderColor=G=d(q.plotbordercolor,cb?"#ffffff":r.getColor("plotBorderColor"));f.plotBorderThickness=S=a(q.plotborderthickness,1);f.plotBorderDashStyle=oa=D?Ua(ba,Q,S):"none";f.showValues=a(l.showvalues,q.showvalues,1);f.valuePadding=a(q.valuepadding,
2);f.enableAnimation=fb=a(q.animation,q.defaultanimation,1);f.animation=fb?{duration:1E3*a(q.animationduration,1)}:!1;f.transposeAnimation=a(q.transposeanimation,fb);f.transposeAnimDuration=1E3*a(q.transposeanimduration,.2);f.showShadow=U||cb?a(q.showshadow,1):a(q.showshadow,r.getColor("showShadow"));f.showHoverEffect=ja=a(q.plothovereffect,q.showhovereffect,void 0);f.showTooltip=a(q.showtooltip,1);f.definedGroupPadding=N(a(q.plotspacepercent),0);f.plotSpacePercent=N(a(q.plotspacepercent,20)%100,
0);f.maxColWidth=a(Za?q.maxbarheight:q.maxcolwidth,50);f.plotPaddingPercent=a(q.plotpaddingpercent);f.rotateValues=a(q.rotatevalues)?270:0;f.placeValuesInside=a(q.placevaluesinside,0);xb=h.fontFamily;yb=h.fontSize;ab=h.color;mb=h.fontWeight;bb=h.fontStyle;f.tlLabelStyle={fontFamily:d(q.tlfont,xb),fontSize:a(q.tlfontsize,yb.replace(/px/i,u))+"px",color:ea(d(q.tlfontcolor,ab),100),fontWeight:mb,fontStyle:bb};ec(f.tlLabelStyle);f.trLabelStyle={fontFamily:d(q.trfont,xb),fontSize:a(q.trfontsize,yb.replace(/px/i,
u))+"px",color:ea(d(q.trfontcolor,ab),100),fontWeight:mb,fontStyle:bb};f.brLabelStyle={fontFamily:d(q.brfont,xb),fontSize:a(q.brfontsize,yb.replace(/px/i,u))+"px",color:ea(d(q.brfontcolor,ab),100),fontWeight:mb,fontStyle:bb};f.blLabelStyle={fontFamily:d(q.blfont,xb),fontSize:a(q.blfontsize,yb.replace(/px/i,u))+"px",color:ea(d(q.blfontcolor,ab),100),fontWeight:mb,fontStyle:bb};f.use3DLighting=a(q.use3dlighting,1);f.parentYAxis=hb="s"===d(l.parentyaxis&&l.parentyaxis.toLowerCase(),"p")?1:0;ub||(ub=
this.components.data=[]);for(Ma=0;Ma<p;Ma++)O=m&&m[Ma],ka=(la=ub[Ma])&&la.config,la||(la=ub[Ma]={graphics:{}}),la.config||(ka=ub[Ma].config={}),ka.showValue=a(O.showvalue,f.showValues),ka.setValue=ha=$a.getCleanValue(O.value),ka.setLink=d(O.link),ka.toolTipValue=Ta=$a.dataLabels(ha,hb),ka.setDisplayValue=Ra=T(O.displayvalue),ka.displayValue=d(Ra,Ta),ib=a(O.dashed),kb=a(O.dashlen,ba),vb=Q=a(O.dashgap,Q),db=N(db,ha),Wa=E(Wa,ha),ka.plotBorderDashStyle=pa=1===ib?Ua(kb,vb,S):0===ib?"none":oa,n?(w=r.getPlotColor(Ma),
w=d(O.color,w),da=d(O.ratio,f.plotFillRatio)):w=d(O.color,f.plotColor),ka.plotFillAlpha=Y=d(O.alpha,f.plotFillAlpha),0>ha&&!U&&(J=L,L=Za?180-L:360-L),ka.colorArr=v.graphics.getColumnColor(w+","+f.plotgradientcolor,Y,da=f.plotFillRatio,L,U,f.plotBorderColor,aa.toString(),Za?1:0,cb?!0:!1),W=ka.toolTipValue,J&&(L=J);f.maxValue=db;f.minValue=Wa;wb=db-Wa;if(ua&&!ca)e({min:Wa,max:db}),this.components.colorRange=na=c.colorRange;else{this.components.colorRange=na=new Ba({colorRange:k.colorrange,dataMin:Wa,
dataMax:db,sortLegend:0,mapByCategory:ca,defaultColor:"cccccc",numberFormatter:$a});f.colorMap=[];for(Ma=0;Ma<na.colorArr.length;Ma++)f.colorMap[Ma]={config:na.colorArr[Ma],dataSet:this},f.colorMap[Ma].config.visible=!0;0===f.colorMap.length&&(b.setChartMessage(),c&&c.elem&&c.elem.gl.carpet.group.hide())}for(Ma=0;Ma<p;Ma++)O=m&&m[Ma],ka=(la=ub[Ma])&&la.config,ka.percentValue=va?rb=O.value&&ga((O.value-Wa)/wb*1E4)/100:void 0,ka.value=Cb=ca?O.colorrangelabel||O.categoryid:va?rb:ka.setValue,ua&&!ca?
Eb=na.getColorByValue(Cb):(Na=na.getColorObj(Cb),la.legendItemIndex=Na.seriesIndex),void 0===Na&&void 0===Eb?ka.visible=!1:Na&&Na.outOfRange?(ka.visible=!1,ka.displayValue=u):(ka.visible=!0,w=d(O.color,Na&&Na.code||Eb),ka.color=ea(w,d(O.alpha,f.plotFillAlpha)),0!==ja&&(xa=d(O.hovercolor,l.hovercolor,q.plotfillhovercolor,q.columnhovercolor,w),Ca=d(O.hoveralpha,l.hoveralpha,q.plotfillhoveralpha,q.columnhoveralpha,"25"),Ha=d(O.hovergradientcolor,l.hovergradientcolor,q.plothovergradientcolor,ia),!Ha&&
(Ha=u),Ka=d(O.hoverratio,l.hoverratio,q.plothoverratio,da),Fa=a(360-O.hoverangle,360-l.hoverangle,360-q.plothoverangle,L),Ga=d(O.borderhovercolor,l.borderhovercolor,q.plotborderhovercolor,G),Ia=d(O.borderhoveralpha,l.borderhoveralpha,q.plotborderhoveralpha,aa,Y),Da=a(O.borderhoverthickness,l.borderhoverthickness,q.plotborderhoverthickness,S),Ja=a(O.borderhoverdashed,l.borderhoverdashed,q.plotborderhoverdashed),sa=a(O.borderhoverdashgap,l.borderhoverdashgap,q.plotborderhoverdashgap,ba),Pa=a(O.borderhoverdashlen,
l.borderhoverdashlen,q.plotborderhoverdashlen,Q),Oa=Ja?Ua(Pa,sa,Da):pa,1==ja&&xa===w&&(xa=ob(xa,70)),Qa=v.graphics.getColumnColor(xa,Ca,Ka,Fa,U,Ga,Ia.toString(),Za?1:0,cb?!0:!1),ka.setRolloutAttr={fill:x(ka.color),stroke:t&&x(Qa[1]),"stroke-width":S,"stroke-dasharray":pa},ka.setRolloverAttr={fill:x(Qa[0]),stroke:t&&x(Qa[1]),"stroke-width":Da,"stroke-dasharray":Oa}),va&&(rb=$a.percentValue(rb)),ka.setValue=ha=$a.getCleanValue(O.value),ka.toolTipValue=Ta=$a.dataLabels(ha,hb),W=ka.toolTipValue,$=F(T(d(O.tooltext,
l.plottooltext,q.plottooltext))),ka.tlLabel=Ea=T(d(O.tllabel,O.ltlabel)),ka.trLabel=gb=T(d(O.trlabel,O.rtlabel)),ka.blLabel=Db=T(d(O.bllabel,O.lblabel)),ka.brLabel=Ya=T(d(O.brlabel,O.rblabel)),Ra=F(T(O.displayvalue)),Fb=ca?Ra:d(O.displayvalue,W),ka.displayValue=d(Ra,rb,ka.toolTipValue),jb!==y&&(lb="<b>"+jb+C+"</b>"),Xa!==y&&(qb="<b>"+Xa+C+"</b>"),fa!==y&&(wa="<b>"+fa+C+"</b>"),nb!==y&&(eb="<b>"+nb+C+"</b>"),za=ta.getCategoryFromId(m[Ma].columnid.toLowerCase()),ya=ma.getCategoryFromId(m[Ma].rowid.toLowerCase()),
I?(null===W?R=!1:void 0!==$?(H=[1,2,5,6,7,14,93,94,95,96,97,98,112,113,114,115,116,117],Z={formattedValue:W,value:O.value,yaxisName:z,xaxisName:X,displayValue:Ra,percentValue:va?rb:y,tlLabel:Ea,trLabel:gb,blLabel:Db,brLabel:Ya,rowLabel:ya.catObj&&ya.catObj.label,columnLabel:za.catObj&&za.catObj.label,percentDataValue:va?rb:y,trtype:Xa,tltype:jb,brType:nb,blType:fa,colorRangeLabel:ka.colorRangeLabel},R=M($,H,Z,O,q,Z)):R=(va?"<b>Value"+C+"</b>"+W+"<br /><b>Percentage"+C+"</b>"+rb:Fb)+(Ea!==y?"<br />"+
(lb+Ea):y)+(gb!==y?"<br />"+qb+gb:y)+(Db!==y?"<br />"+wa+Db:y)+(Ya!==y?"<br />"+eb+Ya:y),ka.toolText=R,ka.setTooltext=R):R=!1);!1===b.hasLegend||ua&&!ca||this._addLegend()},init:function(b){var d=this.chart,e=d.components,c=b.parentyaxis&&"s"===b.parentyaxis.toLowerCase()?1:0,e=e.yAxis[c];if(!b)return!1;this.JSONData=b;this.yAxis=e;this.chartGraphics=d.chartGraphics;this.components={};this.graphics={};this.visible=1===a(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},
_addLegend:function(){var b=this.components.data,d=this.chart,e=d.jsonData.chart,c,h,f=this.config.colorMap,k=this.components.colorRange,l,m,n,p;m=d.components.legend;e=a(e.us3dlighting,e.useplotgradientcolor,1);m.emptyItems();m=0;for(n=f.length;m<n;m++)p=f[m],l=k.colorArr[m].code,c=ob(l,60).replace($,na),ob(l,40),e?(h=ob(l,40),h={FCcolor:{color:l+","+l+","+h,ratio:"0,70,30",angle:270,alpha:"100,100,100"}}):h={FCcolor:{color:l,angle:0,ratio:"0",alpha:"100"}},c={fillColor:x(h),label:p.config.label,
rawFillColor:l,strokeColor:x(c),datasetObj:this},f[m].legendItemId=d.components.legend.addItems(p,this.legendInteractivity,c);for(m=0;m<b.length;m++)for(e=k.getColorObj(b[m].config.value).code,d=0;d<f.length;d++)if(f[d].config.code==e){b[m].legendItemId=f[d].legendItemId;b[m].datasetIndex=d;b[m].datasetName=f[d].config.label;break}},legendInteractivity:function(a,d){var e=this.config,c=a.config.visible,h=a.dataSet,f=d.config,k=d.graphics,l=e.itemHiddenStyle.color,e=e.itemStyle.color,m=f.fillColor,
f=f.strokeColor;c?h.hide(a):h.show(a);c?(k.legendItemSymbol&&k.legendItemSymbol.attr({fill:l,stroke:l}),k.legendItemText&&k.legendItemText.attr({fill:l}),k.legendIconLine&&k.legendIconLine.attr({stroke:l})):(k.legendItemSymbol&&k.legendItemSymbol.attr({fill:m,stroke:f}),k.legendItemText&&k.legendItemText.attr({fill:e}),k.legendIconLine&&k.legendIconLine.attr({stroke:m}))},hide:function(a){var d=this.components.data,e=this.chart.get("config","animationObj"),c=e.animType,h=e.animObj,f=e.dummyObj,e=
e.duration,k=this.components.colorRange,l,m,n,p,q;p=a.config.code;l=0;for(m=d.length;l<m;l++)q=k.getColorObj(d[l].config.value).code,n=d[l].config,p===q&&(d[l].graphics.element&&d[l].graphics.element.animateWith(f,h,{"fill-opacity":0,"stroke-width":0},e,c),d[l].graphics.hotElement&&d[l].graphics.hotElement.hide(),d[l].graphics.valEle&&d[l].graphics.valEle.hide(),d[l].graphics.tlLabel&&d[l].graphics.tlLabel.hide(),d[l].graphics.trLabel&&d[l].graphics.trLabel.hide(),d[l].graphics.blLabel&&d[l].graphics.blLabel.hide(),
d[l].graphics.brLabel&&d[l].graphics.brLabel.hide(),n.visible=!1,d[l].visible=!1);a.visible=!1;a.config.visible=!1},show:function(a){var d=this.components.data,e=this.config,c=this.chart.get("config","animationObj"),h=c.animType,f=c.animObj,k=c.dummyObj,c=c.duration,l,m,n=this.components.colorRange,p,q,r,t;r=a.config.code;p=0;for(q=d.length;p<q;p++)l=d[p].config,m=l.plotFillAlpha/100,t=n.getColorObj(d[p].config.value).code,r===t&&(d[p].graphics.element&&d[p].graphics.element.attr({visibility:"visible"}).animateWith(k,
f,{"fill-opacity":m,"stroke-width":e.plotBorderThickness},c,h),d[p].graphics.hotElement&&d[p].graphics.hotElement.show(),d[p].graphics.valEle&&d[p].graphics.valEle.show(),d[p].graphics.tlLabel&&d[p].graphics.tlLabel.show(),d[p].graphics.trLabel&&d[p].graphics.trLabel.show(),d[p].graphics.blLabel&&d[p].graphics.blLabel.show(),d[p].graphics.brLabel&&d[p].graphics.brLabel.show(),l.visible=!0,d[p].visible=!0);a.visible=!0;a.config.visible=!0},updatePlot:function(a,d){var e=this.config,c=this.chart.get("config",
"animationObj"),h=c.animType,f=c.animObj,k=c.dummyObj,c=c.duration,l,m,n=this.components.data,p,q,r;p=0;for(q=n.length;p<q;p++)l=n[p].config,m=l.plotFillAlpha/100,r=n[p].config.value,r<a||r>d?l.visible&&(n[p].graphics.element&&n[p].graphics.element.animateWith(k,f,{"fill-opacity":0,"stroke-width":0},c,h),n[p].graphics.hotElement&&n[p].graphics.hotElement.hide(),n[p].graphics.valEle&&n[p].graphics.valEle.hide(),n[p].graphics.tlLabel&&n[p].graphics.tlLabel.hide(),n[p].graphics.trLabel&&n[p].graphics.trLabel.hide(),
n[p].graphics.blLabel&&n[p].graphics.blLabel.hide(),n[p].graphics.brLabel&&n[p].graphics.brLabel.hide(),l.visible=!1,n[p].visible=!1):l.visible||(n[p].graphics.element&&n[p].graphics.element.animateWith(k,f,{"fill-opacity":m,"stroke-width":e.plotBorderThickness},c,h),n[p].graphics.hotElement&&n[p].graphics.hotElement.show(),n[p].graphics.valEle&&n[p].graphics.valEle.show(),n[p].graphics.tlLabel&&n[p].graphics.tlLabel.show(),n[p].graphics.trLabel&&n[p].graphics.trLabel.show(),n[p].graphics.blLabel&&
n[p].graphics.blLabel.show(),n[p].graphics.brLabel&&n[p].graphics.brLabel.show(),l.visible=!0,n[p].visible=!0)},draw:function(){var a=this,d=a.config,e=a.JSONData.data,c,h,f,k=a.visible,l=a.chart,m=l.components.paper,n=l.components.xAxis[0],r=l.components.yAxis[0],q=l.components.gradientLegend;c=l.graphics.datasetGroup;var t,v,w=l.graphics,y=d.showTooltip,E=l.get("config","animationObj"),D=E.animType,F=E.animObj,z=E.dummyObj,K=E.duration,C,I,N,T=a.components.data,M,H,J,R,W,Q;W={};var S={},U=r.getAxisBase();
H=r.yBasePos=r.getAxisPosition(U);h=0;var U=d.showShadow,Z=d.plotBorderThickness,L=d.plotRadius,Y=a.graphics.container,$=a.graphics.trackerContainer;f=a.graphics.dataLabelContainer;var ba=a.graphics.shadowContainer;I=w.datalabelsGroup;M=w.trackerGroup;var aa,G,w=!0,ea=!1,ga=!1,O=l.components.legend.config.isActive,ha,ja=[],ka=(a.components.removeDataArr||[]).length,da,ia=d.showHoverEffect,ma=function(a){za.call(this,l,a)},la=function(a){return function(b){0!==this.data("showHoverEffect")&&a.attr(this.data("setRolloverAttr"));
za.call(this,l,b,"DataPlotRollOver")}},pa=function(a){return function(b){0!==this.data("showHoverEffect")&&a.attr(this.data("setRolloutAttr"));za.call(this,l,b,"DataPlotRollOut")}},na=function(){a.drawLabel()};q&&q.enabled&&(q.resetLegend(),q.clearListeners());q.notifyWhenUpdate(a.updatePlot,a);Y||(Y=a.graphics.container=m.group("columns",c),k||Y.hide());$||($=a.graphics.trackerContainer=m.group("col-hot",M),k||$.hide());ba||(ba=a.graphics.shadowContainer=m.group("shadow",c).toBack(),k||ba.hide());
f||(f=a.graphics.dataLabelContainer=m.group("datalabel",I),k||f.hide());c=e&&e.length;ha=l.config.canvasWidth/l.jsonData.columns.column.length;I=l.config.canvasHeight/l.jsonData.rows.row.length;for(f=0;f<c;f++)if(J=(M=T[f])&&M.config,W=J.setValue,da=!1,q&&q.enabled&&!O&&(J.visible=!0),S=n.getCategoryFromId(e[f].columnid.toLowerCase()),Q=r.getCategoryFromId(e[f].rowid.toLowerCase()),S.catObj&&Q.catObj&&J.value!==u)if(d.mapByCategory||null!==W){ga=!1;N=S.index.toString()+Q.index.toString();ja.push(N);
R=J.setLink;aa=J.colorArr;M.graphics||(T[f].graphics={});H=J.displayValue;t=n.getAxisPosition(S.index)-ha/2;v=r.getAxisPosition(Q.index)-I/2;C=ha;N=J.toolText;G=J.plotBorderDashStyle;M.graphics.valEle&&M.graphics.valEle.hide();M.graphics.tlLabel&&M.graphics.tlLabel.hide();M.graphics.trLabel&&M.graphics.trLabel.hide();M.graphics.blLabel&&M.graphics.blLabel.hide();M.graphics.brLabel&&M.graphics.brLabel.hide();Q={index:f,link:R,value:J.percentValue||W,displayValue:H,columnId:S.catObj.id,rowId:Q.catObj.id,
tlLabel:J.tlLabel,trLabel:J.trLabel,blLabel:J.blLabel,brLabel:J.brLabel,toolText:N,id:u,datasetIndex:O?M.datasetIndex:void 0,datasetName:O?M.datasetName:void 0,visible:k};W=J.setRolloutAttr;S=J.setRolloverAttr;H=v;h=I;h={x:t,y:H,width:C,height:h||1,r:L,ishot:!y,fill:J.color,stroke:x(aa[1]),"stroke-width":K?0:Z,"stroke-dasharray":G,"fill-opacity":K?0:J.plotFillAlpha/100,"stroke-linejoin":"miter",visibility:J.visible?"visible":"hidden"};M._xPos=t;M._yPos=v;M._height=I;M._width=C;M.graphics.element?
(ea=!0,h={x:t,y:v,width:C,height:I||1},H=M.graphics.element,H.animateWith(z,F,h,K,E.animType),H.attr({ishot:!y,fill:J.color,stroke:x(aa[1]),"fill-opacity":J.visible?J.plotFillAlpha/100:0,"stroke-width":J.visible?Z:0,"stroke-dasharray":G,"stroke-linejoin":"miter",visibility:J.visible?"visible":"hidden"})):(H=M.graphics.element=m.rect(h,Y),da=!0,H.animateWith(z,F,{"fill-opacity":J.plotFillAlpha/100,"stroke-width":Z},K,D,w&&na),w=!1,K||(ea=!0));H.shadow({opacity:U},ba).data("BBox",void 0);if(R||y)I<
Pa&&(v-=(Pa-I)/2,I=Pa),h={x:t,y:v,width:C,height:I,r:L,cursor:R?"pointer":u,stroke:p,"stroke-width":Z,fill:p,ishot:!0,visibility:J.visible?"visible":"hidden"},M.graphics.hotElement?M.graphics.hotElement.attr(h):(J=M.graphics.hotElement=m.rect(h,$),da=!0);J=M.graphics.hotElement;da&&(J||H).click(ma).hover(la(H),pa(H));(J||H).data("eventArgs",Q).data("groupId",void 0).data("showHoverEffect",ia).data("setRolloverAttr",S).data("setRolloutAttr",W).tooltip(N)}else M.graphics.element&&M.graphics.element.hide(),
M.graphics.hotElement&&M.graphics.hotElement.hide(),ga=!0;(ea||ga)&&a.drawLabel();ka&&a.remove()},drawLabel:function(){var a=this.chart,d=a.config,e=a.graphics,c=a.components.paper,h=a.linkedItems.smartLabel,f=a.config.dataLabelStyle,k=this.config,l=this.JSONData.data.length,m=this.components.data,n=this.visible,p,q,r,t,v,w,x=this.graphics.dataLabelContainer,E={fontFamily:f.fontFamily,fontSize:f.fontSize,lineHeight:f.lineHeight,fontWeight:f.fontWeight,fontStyle:f.fontStyle},D,z,F,C,I,K,N,M,H,J,R,
T,Q,S,U,W,L,Y,a=a.get("config","animationObj"),Z=a.animObj,$=a.dummyObj,aa=a.duration,e=e.datalabelsGroup;x||(x=this.graphics.dataLabelContainer=c.group("datalabel",e),n||x.hide());n=k.tlLabelStyle;e=k.trLabelStyle;D=k.blLabelStyle;z=k.brLabelStyle;F={fontFamily:n.fontFamily,fontSize:n.fontSize,lineHeight:n.lineHeight,fontWeight:n.fontWeight,fontStyle:n.fontStyle};C={fontFamily:e.fontFamily,fontSize:e.fontSize,lineHeight:e.lineHeight,fontWeight:e.fontWeight,fontStyle:e.fontStyle};I={fontFamily:D.fontFamily,
fontSize:D.fontSize,lineHeight:D.lineHeight,fontWeight:D.fontWeight,fontStyle:D.fontStyle};K={fontFamily:z.fontFamily,fontSize:z.fontSize,lineHeight:z.lineHeight,fontWeight:z.fontWeight,fontStyle:z.fontStyle};h.useEllipsesOnOverflow(d.useEllipsesWhenOverflow);h.setStyle(f);for(p=0;p<l;p++)if(d=m[p],void 0!==d&&(r=d.graphics))if(r=d&&d.config,N=r.setValue,k.mapByCategory||null!==N){if(q=r.displayValue,N=d.graphics.element)N=d._width,M=d._height,H=d._xPos,J=d._yPos,h.setStyle(f),ba(q)&&q!==y&&r.showValue?
(R=h.getSmartText(q,N,M,!1),q=R.text,t=J+.5*M,v=H+.5*N,d.graphics.valEle?(d.graphics.valEle.animateWith($,Z,{x:v,y:t},aa,a.animType),d.graphics.valEle.attr({text:q,title:R.tooltext||u,visibility:r.visible?"visible":"hidden",fill:f.color,direction:r.textDirection,"text-bound":[f.backgroundColor,f.borderColor,f.borderThickness,f.borderPadding,f.borderRadius,f.borderDash]})):(d.graphics.valEle=c.text(x),d.graphics.valEle.attr({text:q,title:R.tooltext||u,visibility:r.visible?"visible":"hidden",fill:f.color,
direction:r.textDirection,x:v,y:t,"text-bound":[f.backgroundColor,f.borderColor,f.borderThickness,f.borderPadding,f.borderRadius,f.borderDash]})),r.visible&&d.graphics.valEle.show(),d.graphics.valEle.css(E),q=r.tlLabel,v=r.trLabel,T=r.blLabel,Q=r.brLabel,w=ba(q)&&q!==y,S=ba(v)&&v!==y,U=ba(T)&&T!==y,W=ba(Q)&&Q!==y,L=N*(w&&S?.5:.9),Y=.5*(M-(R&&R.height||0)),t=J+4,w?(h.setStyle(n),R=h.getSmartText(q,L,Y,!1),q=R.text,w=H,d.graphics.tlLabel?(d.graphics.tlLabel.animateWith($,Z,{x:w+4,y:t},aa,a.animType),
d.graphics.tlLabel.attr({text:q,title:R.tooltext||u,visibility:r.visible?"visible":"hidden",fill:n.color,"text-anchor":"start","vertical-align":"top",direction:r.textDirection,"text-bound":[n.backgroundColor,n.borderColor,n.borderThickness,n.borderPadding,n.borderRadius,n.borderDash]})):(d.graphics.tlLabel=c.text(x),d.graphics.tlLabel.attr({text:q,title:R.tooltext||u,visibility:r.visible?"visible":"hidden",fill:n.color,"text-anchor":"start","vertical-align":"top",direction:r.textDirection,x:w+4,y:t,
"text-bound":[n.backgroundColor,n.borderColor,n.borderThickness,n.borderPadding,n.borderRadius,n.borderDash]})),r.visible&&d.graphics.tlLabel.show(),d.graphics.tlLabel.css(F)):d.graphics.tlLabel&&(d.graphics.tlLabel.remove(),delete d.graphics.tlLabel),S?(h.setStyle(e),R=h.getSmartText(v,L,Y,!1),q=R.text,w=H+N,d.graphics.trLabel?(d.graphics.trLabel.animateWith($,Z,{x:w-4,y:t},aa,a.animType),d.graphics.trLabel.attr({text:q,title:R.tooltext||u,visibility:r.visible?"visible":"hidden",fill:e.color,"text-anchor":"end",
"vertical-align":"top",direction:r.textDirection,"text-bound":[e.backgroundColor,e.borderColor,e.borderThickness,e.borderPadding,e.borderRadius,e.borderDash]})):(d.graphics.trLabel=c.text(x),d.graphics.trLabel.attr({text:q,title:R.tooltext||u,visibility:r.visible?"visible":"hidden",fill:e.color,"text-anchor":"end","vertical-align":"top",direction:r.textDirection,x:w-4,y:t,"text-bound":[e.backgroundColor,e.borderColor,e.borderThickness,e.borderPadding,e.borderRadius,e.borderDash]})),r.visible&&d.graphics.trLabel.show(),
d.graphics.trLabel.css(C)):d.graphics.trLabel&&(d.graphics.trLabel.remove(),delete d.graphics.trLabel),t=J+M-4,U?(h.setStyle(D),R=h.getSmartText(T,L,Y,!1),q=R.text,w=H,d.graphics.blLabel?(d.graphics.blLabel.animateWith($,Z,{x:w+4,y:t},aa,a.animType),d.graphics.blLabel.attr({text:q,title:R.tooltext||u,visibility:r.visible?"visible":"hidden",fill:D.color,"text-anchor":"start","vertical-align":"bottom",direction:r.textDirection,"text-bound":[D.backgroundColor,D.borderColor,D.borderThickness,D.borderPadding,
D.borderRadius,D.borderDash]})):(d.graphics.blLabel=c.text(x),d.graphics.blLabel.attr({text:q,title:R.tooltext||u,visibility:r.visible?"visible":"hidden",fill:D.color,"text-anchor":"start","vertical-align":"bottom",direction:r.textDirection,x:w+4,y:t,"text-bound":[D.backgroundColor,D.borderColor,D.borderThickness,D.borderPadding,D.borderRadius,D.borderDash]})),r.visible&&d.graphics.blLabel.show(),d.graphics.blLabel.css(I)):d.graphics.blLabel&&(d.graphics.blLabel.remove(),delete d.graphics.blLabel),
W?(h.setStyle(D),R=h.getSmartText(Q,L,Y,!1),q=R.text,w=H+N-4,d.graphics.brLabel?(d.graphics.brLabel.animateWith($,Z,{x:w,y:t},aa,a.animType),d.graphics.brLabel.attr({text:q,title:R.tooltext||u,visibility:r.visible?"visible":"hidden",fill:z.color,"text-anchor":"end","vertical-align":"bottom",direction:r.textDirection,"text-bound":[z.backgroundColor,z.borderColor,z.borderThickness,z.borderPadding,z.borderRadius,z.borderDash]})):(d.graphics.brLabel=c.text(x),d.graphics.brLabel.attr({text:q,title:R.tooltext||
u,visibility:r.visible?"visible":"hidden",fill:z.color,"text-anchor":"end","vertical-align":"bottom",direction:r.textDirection,x:w,y:t,"text-bound":[z.backgroundColor,z.borderColor,z.borderThickness,z.borderPadding,z.borderRadius,z.borderDash]})),r.visible&&d.graphics.brLabel.show(),d.graphics.brLabel.css(K)):d.graphics.brLabel&&(d.graphics.brLabel.remove(),delete d.graphics.brLabel)):(d.graphics.valEle&&(d.graphics.valEle.remove(),delete d.graphics.valEle),d.graphics.tlLabel&&(d.graphics.tlLabel.remove(),
delete d.graphics.tlLabel),d.graphics.trLabel&&(d.graphics.trLabel.remove(),delete d.graphics.trLabel),d.graphics.blLabel&&(d.graphics.blLabel.remove(),delete d.graphics.blLabel),d.graphics.brLabel&&(d.graphics.brLabel.remove(),delete d.graphics.brLabel))}else d.graphics.valEle&&d.graphics.valEle.hide(),d.graphics.tlLabel&&d.graphics.tlLabel.hide(),d.graphics.trLabel&&d.graphics.trLabel.hide(),d.graphics.blLabel&&d.graphics.blLabel.hide(),d.graphics.brLabel&&d.graphics.brLabel.hide();this.labelDrawn=
!0},remove:function(){var a=this.components,d=a.removeDataArr,e=a.pool||(a.pool={element:[],hotElement:[],label:[]}),c=d.length,h,f=this.maxminFlag,k,l,m;for(m=0;m<c;m++)if(h=d[0],d.splice(0,1),h&&h.graphics){l=h.graphics;for(k in l)l[k].stop(),l[k].hide();h.graphics.element&&(e.element=e.element.concat(h.graphics.element));h.graphics.hotElement&&(e.hotElement=e.hotElement.concat(h.graphics.hotElement));h.graphics.label&&(e.label=e.label.concat(h.graphics.label))}a.pool=e;f&&this.setMaxMin()},getEventArgs:function(a){var d=
a.dataset.config||{};return{datasetName:d.label,datasetIndex:a.index,visible:d.visible}}},"Column"]);FusionCharts.register("component",["datasetGroup","heatmap",{},xa]);FusionCharts.register("component",["dataset","Kagi",{type:"kagi",_parseShadowOptions:function(){var b=this.config;return{opacity:a(this.chart.jsonData.chart.showshadow,1)?b.lineAlpha/100:0}},configure:function(){var b,g,e=this.chart,c=e.components.xAxis[0],h=0,f,k=[],l,m,n,p,q,r,t,u,w,x,y=v.getDashStyle,D,z,E,C,F,I,K,N,H,J;w=0;var M;
this.__base__.configure.call(this);b=this.components;f=b.data;l=this.config;m=this.JSONData.data;e=e.jsonData.chart;n=l.maxValue;p=l.minValue;g=b.removeDataArr||(b.removeDataArr=[]);b=!1;q=0;r=a(e.reversalvalue,-1);t=a(e.reversalpercentage,5);for(u=0;u<f.length;u+=1)f[u].config.__nullCount=w,null===f[u].config.setValue&&(g.push(f.splice(u,1)[0]),w++,--u);if(f.length){l.rallyColor=d(e.rallycolor,"FF0000");l.rallyAlpha=a(e.rallyalpha,e.linealpha,100);l.declineColor=d(e.declinecolor,"0000FF");l.declineAlpha=
a(e.declinealpha,e.linealpha,100);l.canvasPadding=a(e.canvaspadding,15);l.maxHShiftPercent=a(e.maxhshiftpercent,10);l.rallyThickness=a(e.rallythickness,e.linethickness,2);u=a(e.rallydashlen,e.linedashlen,5);w=a(e.rallydashgap,e.linedashgap,4);l.declineThickness=a(e.declinethickness,e.linethickness,2);g=a(e.declinedashlen,e.linedashlen,5);x=a(e.declinedashgap,e.linedashgap,4);l.lineDashed={"true":a(e.rallydashed,e.linedashed,0),"false":a(e.declinedashed,e.linedashed,0)};l.rallyDashed=a(e.rallydashed,
e.linedashed,0)?y(u,w,l.rallyThickness):"none";l.declineDashed=a(e.declinedashed,e.linedashed,0)?y(g,x,l.declineThickness):"none";l.canvasPadding=a(e.canvaspadding,this.canvasPadding,15);r=0<r?r:t*(n-p)/100;y=f[0].config.setValue;n=function(a,b){for(var c,d=1,e=f[0].config.setValue;d<a;)c=f[d].config.setValue,b?c<=e&&(f[d].config.isDefined=!1):c>=e&&(f[d].config.isDefined=!1),d+=1;f[0].config.vAlign=b?Qb:Wb;f[0].config.align="center"};p=m.length;for(t=u=0;t<p;t+=1,u+=1)if(D=m[t],!D||!D.vline)if(g=
f[u]&&f[u].config,z&&(z=!1),g&&(g.isDefined=!0),D.tooltext||this.JSONData.plottooltext||e.plottooltext||g&&(g.toolText+=g.displayValue),u&&g){g.isShift=void 0;E=f[u-1].config;g.vAlign="middle";g.align=fc;g.showLabel=!1;w=null;x=g.setValue;C=f[u+1]&&f[u+1].config.setValue;F=Ca(y-x);b?x<K&&I?I=!1:x>N&&!I&&(I=!0):(x>y&&F>r?(I=!0,K=y,N=null,b=H=!0,n(u,I)):x<y&&F>r?(I=!1,K=null,N=y,H=!1,b=!0,n(u,I)):(H=I=null,b=!1),ba(E)&&(E.isRally=I),null!=I&&(f[0].config.isRally=I));g.isRally=I;if(H&&x<y||!H&&x>y)w=
y;J=w?w:x;F=Ca(J-C);C=null==H?null:H?J>C&&F>=r:J<C&&F>=r;if(E&&E.isShift)for(H?(K=y,M=Qb):H||(N=y,M=Wb),E=u;1<E;--E)if(f[E].y==y){f[E].vAlign=M;f[E].align="center";f[E].showLabel=!0;break}C?(q+=1,z=!0,H=!H,g.isShift=!0,y=J,k.push(m[u+g.__nullCount]),h=this._appendCategory(h,u,k,0)):H&&x>y||!H&&x<y?y=x:w=y;g.plotValue=w;g.objParams={isRally:I,lastHigh:N,lastLow:K,isRallyInitialised:b}}this._appendCategory(h,u,k,1);k.push(D);c.setCategory(k);l.shiftCount=q+1}},_appendCategory:function(b,d,e,c){var h,
f,k,l=this.JSONData.catData;if(b<l.length)for(h=b;h<l.length;h+=1,b=h){f=l[h];k=f.data;f=f.index-(h+1);if(f<d)k.lineposition=a(k.lineposition,c);else if(f>d)break;e.push(k)}return b},draw:function(){var a,d,e=this,c=e.graphics,h=e.JSONData,f=e.chart,k=f.components,l=f.config,m=e.config,n=e.components,r=n.data;a=(n=n.removeDataArr)&&n.length;var q=r&&r.length,n=r&&r.length,t=l.style,v=k.paper,w=k.xAxis[0],D,F,I=f.graphics,k=I.datalabelsGroup,K,z,M,C,T,W,Z,$=e.components.data,H,J,R,ba={fontFamily:t.fontFamily,
fontSize:t.fontSize,lineHeight:t.lineHeight,fontWeight:t.fontWeight,fontStyle:t.fontStyle,color:t.color},Q=c.container,S=c.trackerContainer,U=I.tracker,ea,L,Y=I.datasetGroup,da,I=m.shadow,ja,aa=c.dataLabelContainer,G={},ia,la,O,ha=!1,na=function(){Q.lineGroup.attr({"clip-rect":null});Q.lineShadowGroup.show();Q.anchorShadowGroup.show();Q.anchorGroup.show();S.show();aa&&aa.show()},ka=!0,oa=w.getAxisPosition(0),ta=w.getAxisPosition(1)-oa,t={"clip-rect":[N(0,l.canvasLeft),N(0,l.canvasTop),N(1,l.canvasWidth),
N(1,l.canvasHeight)]},ma={"clip-rect":[N(0,l.canvasLeft),N(0,l.canvasTop),1,N(1,l.canvasHeight)]},l={stroke:x({color:m.rallyColor,alpha:m.rallyAlpha}),"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":m.rallyThickness,"stroke-dasharray":m.rallyDashed},za={stroke:x({color:m.declineColor,alpha:m.declineAlpha}),"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":m.declineThickness,"stroke-dasharray":m.declineDashed},ya={"true":l["stroke-width"],"false":za["stroke-width"]},
va=[],ca=[],ua=c.rallyElem,xa=c.declineElem,Aa=e.visible,Ba=w.getAxisPosition(0),Ca=r[0]&&!!r[0].isRally,Ha,oa=oa-ta/2,Da,Fa,Ga,Ia=c.lineElement,Ja=e.pool||(e.pool={}),Pa=f.get("config","animationObj"),sa=Pa.duration||0,La=Pa.dummyObj,Oa=Pa.animObj,Qa=Pa.animType;a&&e.remove();if(r.length){ua&&ua.show();xa&&xa.show();Q||(Q=e.graphics.container={lineShadowGroup:v.group("connector-shadow",Y).attr(ma),anchorShadowGroup:v.group("anchor-shadow",Y).attr(ma),lineGroup:v.group(pa,Y).attr(ma),anchorGroup:v.group("anchors",
Y).attr(ma)},Aa||(Q.lineShadowGroup.hide(),Q.anchorShadowGroup.hide(),Q.lineGroup.hide(),Q.anchorGroup.hide()));S||(S=e.graphics.trackerContainer=v.group("line-hot").trackTooltip(!0),Aa||S.hide());$||($=e.components.data=[]);U&&U.appendChild(S);f._addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",ba);aa||(aa=e.graphics.dataLabelContainer=e.graphics.dataLabelContainer||v.group("datalabel",k),Aa||aa.hide());E(q,n);if(r[0].config.setValue)Da=r[0].config.plotY;else for(a=1;a<n;a+=1)if(T=
r[a].config.setValue){Da=r[a].config.plotY;break}Ca=!!r[0].config.isRally;n=ga(Da)+ya[Ca]%2/2;Ca?va.push("M",oa,n,"H",Ba):ca.push("M",oa,n,"H",Ba);Ua(r,function(a,b){a=a.config;H=$[b];O=H.config;d=H.graphics;da=O.hoverEffects;T=O.setValue;Z=O.displayValue;ha=!1;Fa=r[b+1]&&r[b+1].config||{};Ga=["M",Ba,Da];Ca=a.isRally;a.isShift&&(Ba+=ta,Da=a.graphY,Ga.push("H",Ba),Ga[2]=ga(Ga[2])+ya[Ca]%2/2,Ga=Ga.toString(),Ca?va.push(Ga):ca.push(Ga),Ga=["M",Ba,Da]);Fa.isChanged&&(Da=Fa.ty,Ga.push("V",Da),Ga[1]=ga(Ga[1])+
ya[Ca]%2/2,Ga=Ga.toString(),Ca?va.push(Ga):ca.push(Ga),Ga=["M",Ba,Da]);Ha=Fa.isRally;Fa.graphY!==Ga[2]&&(Ga.push("V",Fa.graphY),Ga[1]=ga(Ga[1])+ya[Ha]%2/2,Ga=Ga.toString(),Ha?va.push(Ga):ca.push(Ga));Da=Fa.graphY;D=H._xPos=w.getAxisPosition(a.plotX);F=H._yPos=a.plotY;G=O.anchorProps;la=G.symbol;ja=G.shadow;K=a.toolText;C=O.setLink;void 0!==F&&!isNaN(F)&&a.isDefined&&(W={index:b,link:C,value:T,displayValue:Z,categoryLabel:O.label,toolText:K,id:m.userID,datasetIndex:0,datasetName:h.seriesname,visible:Aa},
J=R={},G.imageUrl?(ia=new Ka,ia.onload=e._onAnchorImageLoad(e,b,W,D,F,H),ia.onerror=e._onErrorSetter(D,F,b,e),ia.src=G.imageUrl):((z=d.element)?(z.animateWith(La,Oa,{polypath:[la[1]||2,D,F,G.radius,G.startAngle,0]},sa,Qa),ka&&na(),ka=!1):(Ja.element&&Ja.element.length?z=d.element=Ja.element.shift():(z=d.element=v.polypath(Q.anchorGroup),ha=!0),z.attr({polypath:[la[1]||2,D,F,G.radius,G.startAngle,0]})),z.attr({fill:x({color:G.bgColor,alpha:G.bgAlpha}),stroke:x({color:G.borderColor,alpha:G.borderAlpha}),
"stroke-width":G.borderThickness,visibility:G.radius?Aa:"hidden"}).shadow(ja,Q.anchorShadowGroup)),da.enabled&&(R={polypath:[da.anchorSides||2,D,F,da.anchorRadius,da.startAngle,da.dip],fill:x({color:da.anchorColor,alpha:da.anchorBgAlpha}),stroke:x({color:da.anchorBorderColor,alpha:da.anchorBorderAlpha}),"stroke-width":da.anchorBorderThickness},J={polypath:[G.sides,D,F,G.radius,G.startAngle,0],fill:x({color:G.bgColor,alpha:G.bgAlpha}),stroke:x({color:G.borderColor,alpha:G.borderAlpha}),"stroke-width":G.borderThickness},
z&&z.data("anchorRadius",G.radius).data("anchorHoverRadius",da.anchorRadius).data("setRolloverAttr",R).data("setRolloutAttr",J)),ea=N(G.radius,da&&da.anchorRadius||0),L={cx:D,cy:F,r:ea,cursor:C?"pointer":u,stroke:p,"stroke-width":G.borderThickness,fill:p,ishot:!0,visibility:Aa},M=H.graphics.hotElement,M||(Ja.element&&Ja.element.length?M=d.hotElement=Ja.hotElement.shift():(M=d.hotElement=v.circle(S),ha=!0)),M.attr(L).show(),(M||z).data("eventArgs",W).data("groupId",void 0).data("hoverEnabled",da.enabled).data("dataset",
e).tooltip(m.showTooltip?K:y),ha&&(M||z).click(e.getPlotClickFn(f)).hover(e.rolloverResponseSetter(H,f),e.rolloutResponseSetter(H,f)),e.drawLabel(b))});Ia||(ua||(Ia=ua=c.rallyElem=v.path(Q.lineGroup)),ua.animateWith(La,Oa,{path:va},ka?0:sa,Qa).attr(l).shadow(I,Q.lineShadowGroup),xa||(Ia=xa=c.declineElem=v.path(Q.lineGroup)),xa.animateWith(La,Oa,{path:ca},ka?0:sa,Qa).attr(za).shadow(I,Q.lineShadowGroup));sa&&ka||(ka=!1);Q.anchorGroup.animateWith(La,Oa,t,sa,Qa);aa.hide();Q.lineShadowGroup.animateWith(La,
Oa,t,sa,Qa);Q.anchorShadowGroup.animateWith(La,Oa,t,sa,Qa);Q.lineShadowGroup.animateWith(La,Oa,t,sa,Qa);Q.lineGroup.animateWith(La,Oa,t,sa,Qa,na)}else ua&&ua.hide(),xa&&xa.hide()},hidingPosition:function(){return function(a){a=a.graphics.element;return{polypath:(a&&a.attr("polypath"))[3]=0,r:0,text:u}}}},"Line"]);Da.addSymbol({resizeIcon:function(b,d,e){var c=a(e,15)/3,h=[];0>c&&(c=-c,e=-e,b+=e-c/2,d+=e-c/2);for(e=3;0<e;--e)h.push("M",b-c*e,d-3,"L",b-3,d-c*e);return h},closeIcon:function(a,d,e){var c=
1.3*e,h=43*dc,f=48*dc,k=a+c*da(h),h=d+c*T(h),l=a+c*da(f),m=d+c*T(f),f=.71*(e-2);e=.71*(e-2);c=["A",c,c,0,1,0,l,m];k=["M",k,h];k=k.concat(c);return k=k.concat(["M",a+f,d-e,"L",a-f,d+e,"M",a-f,d-e,"L",a+f,d+e])},configureIcon:function(a,d,e){--e;var c=.71*e,h=.71*(e+2),f=a-e,k=d-e,l=a+e;e=d+e;var m=a+.5,n=d+.5,p=a-.5,q=d-.5,r=f-2,t=k-2,u=l+2,v=e+2,w=a+c,x=d+c,y=a-c,c=d-c,z=a+h,D=d+h;a-=h;d-=h;return["M",f,n,"L",r,n,r,q,f,q,y-.25,c+.25,a-.25,d+.25,a+.25,d-.25,y+.25,c-.25,p,k,p,t,m,t,m,k,w-.25,c-.25,
z-.25,d-.25,z+.25,d+.25,w+.25,c+.25,l,q,u,q,u,n,l,n,w+.25,x-.25,z+.25,D-.25,z-.25,D+.25,w-.25,x+.25,m,e,m,v,p,v,p,e,y+.25,x+.25,a+.25,D+.25,a-.25,D-.25,y-.25,x-.25,"Z"]},axisIcon:function(a,d,e){--e;var c=.33*e,h=e/2,f=a-e,k=d-e,l=a+h;e=d+e;a-=h;h=d+c;d-=c;return["M",f,k,"L",l,k,l,e,f,e,"M",a,h,"L",l,h,"M",a,d,"L",l,d]},loggerIcon:function(a,d,e){--e;a-=e;d-=e;var c=a+2*e,h=a+2,f=c-2,k=d+2;e=k+e;var l=e+2;return["M",a,d,"L",c,d,c,k,f,k,f,e,c,e,c,l,a,l,a,e,h,e,h,k,a,k,a,d]}})},[3,2,1,"release"]]);

View File

@@ -0,0 +1,27 @@
/*
FusionCharts JavaScript Library
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
@version 3.11.0
*/
FusionCharts.register("module",["private","modules.renderer.js-ssgrid",function(){var C=this,p=C.hcLib,q=p.BLANKSTRING,g=p.pluck,d=p.pluckNumber,F=p.chartAPI,w=p.graphics.convertColor,x=p.getFirstColor,M=p.setLineHeight,v=Math,N=v.min,G=v.max,O=v.ceil,P=v.round,Q=p.toRaphaelColor,J=p.POSITION_START,K=p.HUNDREDSTRING,L=p.COLOR_TRANSPARENT,v=!/fusioncharts\.com$/i.test(C.window.location.hostname);F("ssgrid",{standaloneInit:!0,creditLabel:v,friendlyName:"ssgrid Chart",defaultDatasetType:"ssgrid",canvasBorderThickness:1,
singleseries:!0,bgColor:"#FFFFFF",bgAlpha:100,_drawCaption:function(){},_drawCanvas:function(){},_createAxes:function(){},_feedAxesRawData:function(){},_setCategories:function(){},_setAxisLimits:function(){},_spaceManager:function(){var e=this.components.dataset[0];e._manageSpace&&this._allocateSpace(e._manageSpace())}},F.sscartesian);FusionCharts.register("component",["dataset","ssgrid",{init:function(e){var a=this.chart;if(!e)return!1;this.JSONData=e;this.chartGraphics=a.chartGraphics;this.components=
{};this.config={};this.graphics={};this.visible=1===d(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},configure:function(){var e=this.chart,a=this.config,b=e.jsonData.chart||{},l=e.components.colorManager;a.plotFillAngle=d(360-b.plotfillangle,e.isBar?180:90);a.plotFillAlpha=g(b.plotfillalpha,K);a.plotBorderAlpha=g(b.plotborderalpha,K);a.plotBorderColor=g(b.plotbordercolor,l.getColor("plotBorderColor"));a.plotDashLen=d(b.plotborderdashlen,5);a.plotDashGap=d(b.plotborderdashgap,
4);a.showPercentValues=d(b.showpercentvalues,0);a.numberItemsPerPage=d(b.numberitemsperpage)||void 0;a.showShadow=d(b.showshadow,0);a.baseFont=g(b.basefont,"Verdana,sans");a.baseFontSize=g(b.basefontsize,10)+"px";a.baseFontColor=x(g(b.basefontcolor,l.getColor("baseFontColor")));a.alternateRowBgColor=x(g(b.alternaterowbgcolor,l.getColor("altHGridColor")));a.alternateRowBgAlpha=g(b.alternaterowbgalpha,l.getColor("altHGridAlpha"))+q;a.listRowDividerThickness=d(b.listrowdividerthickness,1);a.listRowDividerColor=
x(g(b.listrowdividercolor,l.getColor("borderColor")));a.listRowDividerAlpha=d(d(b.listrowdivideralpha,l.getColor("altHGridAlpha")+15))+q;a.colorBoxWidth=d(b.colorboxwidth,8);a.colorBoxHeight=d(b.colorboxheight,8);a.navButtonRadius=d(b.navbuttonradius,7);a.navButtonColor=x(g(b.navbuttoncolor,l.getColor("canvasBorderColor")));a.navButtonHoverColor=x(g(b.navbuttonhovercolor,l.getColor("altHGridColor")));a.textVerticalPadding=d(b.textverticalpadding,3);a.navButtonPadding=d(b.navbuttonpadding,5);a.colorBoxPadding=
d(b.colorboxpadding,10);a.valueColumnPadding=d(b.valuecolumnpadding,10);a.nameColumnPadding=d(b.namecolumnpadding,5);a.shadow=d(b.showshadow,0)?{enabled:!0,opacity:a.plotFillAlpha/100}:!1;this.currentPage=0;this._setConfigure()},_setConfigure:function(){var e=this.chart,a=this.config,b=this.JSONData,l=e.jsonData&&e.jsonData.data,b=G(l&&l.length||0,b&&b.data&&b.data.length||0),n=e.components,e=n.colorManager,m=n.numberFormatter,k=a.plotColor=e.getPlotColor(this.index||this.positionIndex),r=p.parseUnsafeString,
c=a.plotBorderThickness,I=a.plotBorderDashStyle,h,f,R=p.getDashStyle,t=this.components.data,s,z,y,A,E=n=0,H;t||(t=this.components.data=[]);for(A=0;A<b&&l;A++)if(h=l[A])if(k=m.getCleanValue(h.value),f=r(g(h.label,h.name)),null!=k||f!=q)f=t[n]||(t[n]={config:{}}),f=f.config,f.tooltext=h.tooltext,f.showValue=d(h.showvalue,a.showValues),f.setValue=k=m.getCleanValue(h.value),f.setLink=g(h.link),f.toolTipValue=m.dataLabels(k),f.setDisplayValue=r(h.displayvalue),f.displayValue=m.dataLabels(k)||q,f.dataLabel=
r(g(h.label,h.name))||q,s=d(h.dashed),z=d(h.dashlen,void 0),y=d(h.dashgap,a.plotDashGap),E+=k,n+=1,f.plotBorderDashStyle=1===s?R(z,y,c):0===s?"none":I,k=g(h.color,e.getPlotColor(d(H-b,A))),g(h.ratio,a.plotFillRatio),s=g(h.alpha,a.plotFillAlpha),f.color=w(k,s),f.borderColor=w(a.plotBorderColor,g(h.alpha,a.plotBorderAlpha).toString()),H++;l={fontFamily:a.baseFont,fontSize:a.baseFontSize,color:a.baseFontColor};M(l);a.textStyle=l;a.actualDataLen=n;a.sumOfValues=E},_manageSpace:function(){var e=this.chart,
a=this.config,b=e.linkedItems.smartLabel,l=this.components.data,n=e.config,m=e.jsonData.chart||{},m=n.borderThickness=d(m.showborder,1)?d(m.borderthickness,1):0,k=n.height-2*m,m=n.width-2*m,r=a.textStyle,c=a.actualDataLen,I=a.sumOfValues,h=e.components.numberFormatter,e=0,f,g;b.useEllipsesOnOverflow(n.useEllipsesWhenOverflow);b.setStyle(r);g=l.length;for(n=0;n<g;n++)if(f=l[n])f=f&&f.config,a.showPercentValues&&(f.displayValue=h.percentValue(f.setValue/I*100)),f=b.getOriSize(f.displayValue),e=G(e,
f.width+a.valueColumnPadding);b=parseInt(r.lineHeight,10);b+=2*a.textVerticalPadding;b=G(b,a.colorBoxHeight+a.listRowDividerThickness);l=k/b;a.numberItemsPerPage&&l>=a.numberItemsPerPage?a.numberItemsPerPage>=c?(a.numberItemsPerPage=c,k/=a.numberItemsPerPage):(k-=2*(a.navButtonPadding+a.navButtonRadius),c=a.numberItemsPerPage,k/=c):(l>=c||(k-=2*(a.navButtonPadding+a.navButtonRadius),c=Math.floor(k/b)),k/=c);m=m-a.colorBoxPadding-a.colorBoxWidth-a.nameColumnPadding-e-a.valueColumnPadding;a.labelX=
a.colorBoxPadding+a.colorBoxWidth+a.nameColumnPadding;a.valueX=a.colorBoxPadding+a.colorBoxWidth+a.nameColumnPadding+m+a.valueColumnPadding;a.valueColumnPadding=a.valueColumnPadding;a.rowHeight=k;a.itemsPerPage=c;a.listRowDividerAttr={"stroke-width":a.listRowDividerThickness,stroke:w(a.listRowDividerColor,a.listRowDividerAlpha)};a.alternateRowColor=w(a.alternateRowBgColor,a.alternateRowBgAlpha);return{top:0,bottom:0}},draw:function(){var e=this.config,a=this.chart,b=a.linkedItems.smartLabel,l=a.components.paper,
n=a.graphics.datasetGroup,m=this.components.data,k=a.jsonData&&a.jsonData.data,k=k&&k.length||0,d=G(k,m.length),c=this.graphics,g,c=a.config,h=c.borderThickness,f=h,a=a.config.width-c.borderThickness,p=Q(e.alternateRowColor),t=e.rowHeight,s=e.listRowDividerAttr,z=s["stroke-width"]%2/2,y=e.colorBoxPadding+h,A=e.colorBoxHeight,E=e.colorBoxWidth,H=e.labelX+h,v=e.valueX+h,q=e.textStyle,x=e.itemsPerPage,B=0,w=this.currentPage||(this.currentPage=0),C={},F,D,u;this.graphics.container||(this.graphics.container=
[]);this.currentPage=w=N(O(d/x)-1,w);for(D=0;D<d;D++)if(1!=(D+1)%x&&1!=x&&g||(f=h,(g=this.graphics.container[B])||(g=this.graphics.container[B]=l.group("grid-"+B,n)),B!==w?g.hide():g.show(),B+=1,C={pageId:B,data:[]},g.data("eventArgs",C)),c=m[D])u=c&&c.config,c=c&&(c.graphics||(c.graphics={})),D>=k?(c.alternateRow&&c.alternateRow.remove(),c.alternateRow=void 0,c.listRowDivideElem&&c.listRowDivideElem.remove(),c.listRowDivideElem=void 0,c.element&&c.element.remove(),c.element=void 0,c.label&&c.label.remove(),
c.label=void 0,c.displayValue&&c.displayValue.remove(),c.displayValue=void 0,c.listRowDivideElem&&c.listRowDivideElem.remove(),c.listRowDivideElem=void 0):(0===D%2&&(c.alternateRow||(c.alternateRow=l.rect()),g.appendChild(c.alternateRow),c.alternateRow.attr({x:h,y:f+.5*e.listRowDividerThickness,width:a-h,height:t,fill:p,"stroke-width":0})),c.element||(c.element=l.rect()),g.appendChild(c.element),c.element.attr({x:y,y:f+t/2-A/2,width:E,height:A,fill:u.color,"stroke-width":0,stroke:"#000000"}).shadow(e.shadow),
F=b.getSmartText(u.displayValue).width||0,c.displayValue||(c.displayValue=l.text()),g.appendChild(c.displayValue),c.displayValue.attr({text:u.displayValue,x:v,y:f+t/2,fill:q.color,direction:e.textDirection,"text-anchor":J}).css(q),c.label||(c.label=l.text()),u.label=b.getSmartText(u.dataLabel,a-(F+E+y),t),g.appendChild(c.label),c.label.attr({text:u.label.text,x:H,y:f+t/2,fill:q.color,direction:e.textDirection,"text-anchor":J}).css(q),C.data.push({color:u.color,displayValue:u.displayValue,label:u.dataLabel,
originalText:u.label.text,y:f+t/2}),f+=t,u=P(f)+z,c.listRowDivideElem||(c.listRowDivideElem=l.path()),g.appendChild(c.listRowDivideElem),c.listRowDivideElem.attr("path",["M",h,u,"L",a,u]).attr(s));for(d=this.graphics.container.length-1;d>=B;--d)g=this.graphics.container,g[d].remove(),g.splice(d,1);this._drawSSGridNavButton()},_drawSSGridNavButton:function(){var e=this,a=e.chart,b=e.config,l=b.actualDataLen,g=b.itemsPerPage,d=e.graphics,k=a.components.paper,r=a.config.borderThickness,c=b.navButtonColor,
p=b.navButtonHoverColor,h=b.navButtonRadius,f=.67*h,b=r+b.navButtonPadding+f+b.itemsPerPage*b.rowHeight+.5*h,r=20+r,q=a.config.width-r,a=a.graphics,t=a.trackerGroup,s=a.pageNavigationLayer,z=a.pagePreNavigationLayer,y=a.pageNextNavigationLayer,A=d.container.length,x=e.currentPage,w,v;s||(s=a.pageNavigationLayer=k.group("page-nav",t));z||(z=a.pagePreNavigationLayer=k.group("page-prev-nav",s));y||(y=a.pageNextNavigationLayer=k.group("page-next-nav",s));l>g?(s.show(),d.navElePrv||(d.navElePrv=k.path(z)),
w=d.navElePrv.attr({path:["M",r,b,"L",r+h+f,b-f,r+h,b,r+h+f,b+f,"Z"],fill:c,"stroke-width":0,cursor:"pointer"}),d.navTrackerPrv||(d.navTrackerPrv=k.circle(z).mouseover(function(){w.attr({fill:p,cursor:"pointer"})}).mouseout(function(){w.attr({fill:c})}).click(function(){e._nenagitePage(-1)})),d.navTrackerPrv.attr({cx:r+h,cy:b,r:h,fill:L,"stroke-width":0,cursor:"pointer"}),d.navEleNxt||(v=d.navEleNxt=k.path(y)),v=d.navEleNxt.attr({path:["M",q,b,"L",q-h-f,b-f,q-h,b,q-h-f,b+f,"Z"],fill:c,"stroke-width":0,
cursor:"pointer"}),d.navTrackerNxt||(d.navTrackerNxt=k.circle(y).mouseover(function(){v.attr({fill:p})}).mouseout(function(){v.attr({fill:c})}).click(function(){e._nenagitePage(1)})),d.navTrackerNxt.attr({cx:q-h,cy:b,r:h,fill:L,"stroke-width":0,cursor:"pointer"}),0===x?z.hide():z.show(),x===A-1?y.hide():y.show()):s.hide()},_nenagitePage:function(e){var a=this.chart,b=this.graphics.container,d=this.currentPage,g=a.graphics,m=g.pagePreNavigationLayer,g=g.pageNextNavigationLayer,k=b.length;b[d+e]&&(b[d].hide(),
b[d+e].show(),d=this.currentPage+=e);e=b[d].data("eventArgs");C.raiseEvent("pageNavigated",{pageId:d,data:e.data},a.chartInstance);0===d?m.hide():m.show();d===k-1?g.hide():g.show()}}])},[3,2,0,"sr2"]]);

View File

@@ -0,0 +1,81 @@
/*
FusionCharts JavaScript Library - Tree Map Chart
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
@version 3.11.0
*/
FusionCharts.register("module",["private","modules.renderer.js-treemap",function(){function U(c){return c?c.replace(/^#*/,"#"):"#E5E5E5"}function z(c,b,d){this.label=c;this.value=parseFloat(b,10);this.colorValue=parseFloat(d,10);this.prev=this.next=void 0;this.meta={}}function M(){this._b=[];this._css=void 0;this.rangeOurEffectApplyFn=function(){};this.statePointerLow={value:void 0,index:void 0};this.statePointerHigh={value:void 0,index:void 0}}var ca,da,$,ea,K=this.hcLib,V=K.chartAPI,N=Math,R=N.max,
fa=N.round,la=N.tan,ga=N.min,ma=N.PI,ha=K.extend2,Q=this.window,N=K.Raphael,ia=K.graphics,W=ia.convertColor,ja=ia.getLightColor,I=this.raiseEvent,C=K.pluckNumber,F=K.pluck,na=K.each,aa=K.BLANKSTRING,oa="rgba(192,192,192,"+(/msie/i.test(Q.navigator.userAgent)&&!Q.opera?.002:1E-6)+")",Q=!/fusioncharts\.com$/i.test(Q.location.hostname);N.addSymbol({backIcon:function(c,b,d){--d;var a=b+d,g=a-d/2,s=c+d,q=g-d;return["M",c,b-d,"L",c-d,b,c,a,c,g,s,g,s,q,s-d,q,"Z"]},homeIcon:function(c,b,d){--d;var a=2*d,
g=c-d,s=g+a/6,q=b+d,D=s+a/4,l=q-d/2,v=D+a/6,t=l+d/2,u=v+a/4,f=t-d;return["M",c,b-d,"L",g,b,s,b,s,q,D,q,D,l,v,l,v,t,u,t,u,f,u+a/6,f,"Z"]}});z.prototype.constructor=z;z.prototype.getCSSconf=function(){return this.cssConf};z.prototype.getPath=function(){return this.path};z.prototype.setPath=function(){var c=this.getParent();this.path=(c?c.getPath():[]).concat(this)};z.prototype.addChild=function(c){c instanceof z&&(this.next=this.next||[],[].push.call(this.next,c),c.setParent(this));return this.next};
z.prototype.getChildren=function(){return this.next};z.prototype.addChildren=function(c,b){var d=this.getChildren()||(this.next=[]),a=d.length;b||(b=a-1);d.splice(b>a-1?a-1:0>b?0:b,0,c);c.setParent(this)};z.prototype.getDepth=function(){return this.meta.depth};z.prototype.isLeaf=function(c){return(c?this.getDepth()<c:!0)&&this.next};z.prototype.setParent=function(c){c instanceof z&&(this.prev=c);return this};z.prototype.getSiblingCount=function(c){var b,d=0,a=this;if(this instanceof z){b=this.getParent();
if(c){for(;a;)(a=a.getSibling(c))&&(d+=1);return d}if(b)return b.getChildren().length}};z.prototype.getParent=function(){return this.prev};z.prototype.getLabel=function(){return this.label};z.prototype.getValue=function(){return this.value};z.prototype.setValue=function(c,b){this.value=b?this.value+c:c};z.prototype.getColorValue=function(){return this.colorValue};z.prototype.getSibling=function(c){c=c.toLowerCase();var b=this.getParent(),d=this.getLabel(),a,g;if(b)for(b=b.getChildren(),a=0;a<b.length;a++)if(g=
b[a],g=g.getLabel(),g===d)switch(c){case "left":return b[a-1];case "right":return b[a+1]}};z.prototype.setMeta=function(c,b){this.meta[c]=b};z.prototype.setDepth=function(c){this.meta.depth=c};z.prototype.getMeta=function(c){return c?this.meta[c]:this.meta};M.prototype.constructor=M;M.prototype.resetPointers=function(){this.statePointerLow={value:void 0,index:void 0};this.statePointerHigh={value:void 0,index:void 0}};M.prototype.setRangeOutEffect=function(c,b){this._css=c;this.rangeOurEffectApplyFn=
b};M.prototype.addInBucket=function(c){var b=this._b,d=c.getColorValue(),a=0,g=b.length-1;if(d){a:{for(var s,q;a<=g;)if(s=(a+g)/2|0,q=b[s],q=q.getColorValue(),q<d)a=s+1;else if(q>d)g=s-1;else{d=s;break a}d=~g}b.splice(Math.abs(d),0,c)}};M.prototype.moveLowerShadePointer=function(c){var b=this._b,d,a,g,s=this.statePointerLow;d=s.index;a=s.value;var q=!1;d=void 0!==d?d:0;a=void 0!==a?a:Number.NEGATIVE_INFINITY;if(c!==a){if(a<=c){for(;;){g=(a=b[d++])?a.getColorValue():0;if(c<g||!a)break;q=!0;a.rangeOutEffect=
this._css;this.rangeOurEffectApplyFn.call(a,this._css)}d=q?d-2:d-1}else{for(;;){g=(a=b[d--])?a.getColorValue():0;if(c>=g||!a)break;a.cssConf=a.cssConf||{};q=!0;delete a.rangeOutEffect;a.cssConf.opacity=1;this.rangeOurEffectApplyFn.call(a,a.cssConf)}d=q?d+2:d+1}s.index=d;s.value=c}};M.prototype.moveHigherShadePointer=function(c){var b=this._b,d=b.length,a,g,s=this.statePointerHigh;g=s.index;a=s.value;var q=!1,d=void 0!==g?g:d-1;a=void 0!==a?a:Number.POSITIVE_INFINITY;if(c!==a){if(a>c){for(;;){g=(a=
b[d--])?a.getColorValue():0;if(c>=g||!a)break;q=!0;a.rangeOutEffect=this._css;this.rangeOurEffectApplyFn.call(a,this._css)}d=q?d+2:d+1}else{for(;;){g=(a=b[d++])?a.getColorValue():0;if(c<g||!a)break;a.cssConf=a.cssConf||{};q=!0;delete a.rangeOutEffect;a.cssConf.opacity=1;this.rangeOurEffectApplyFn.call(a,a.cssConf)}d=q?d-2:d-1}s.index=d;s.value=c}};V("treemap",{friendlyName:"TreeMap",standaloneInit:!0,hasGradientLegend:!0,creditLabel:Q,defaultDatasetType:"treemap",applicableDSList:{treemap:!0},addData:function(){var c=
this._ref.algorithmFactory,b=Array.prototype.slice.call(arguments,0);b.unshift("addData");b.unshift(this._getCleanValue());c.realTimeUpdate.apply(this,b)},removeData:function(){var c=this._ref.algorithmFactory,b=Array.prototype.slice.call(arguments,0);b.unshift("deleteData");b.unshift(this._getCleanValue());c.realTimeUpdate.apply(this,b)},_createToolBox:function(){var c,b,d,a,g=this.components;c=g.chartMenuBar;c&&c.drawn||(V.mscartesian._createToolBox.call(this),c=g.tb,b=c.getAPIInstances(c.ALIGNMENT_HORIZONTAL),
d=b.Symbol,b=g.chartMenuBar.componentGroups[0],a=new d("backIcon",!1,(c.idCount=c.idCount||0,c.idCount++),c.pId),c=new d("homeIcon",!1,c.idCount++,c.pId),b.addSymbol(c,!0),b.addSymbol(a,!0),g.toolbarBtns={back:a,home:c})},_getCleanValue:function(){var c=this.components.numberFormatter;return function(b){return c.getCleanValue(b)}},_createDatasets:function(){var c=this.components,b=this.jsonData,d=b.dataset,d=b.data||d&&d[0].data,a=this.defaultDatasetType,g=[];d&&d.length||this.setChartMessage();na(d,
function(a){a.vline||g.push(a)});b={data:g};this.config.categories=g;c=c.dataset||(c.dataset=[]);d?a&&(d=FusionCharts.get("component",["dataset",a]))&&(c[0]?(c[0].JSONData=g[0],c[0].configure()):(this._dsInstance=d=new d,c.push(d),d.chart=this,d.init(b))):this.setChartMessage()},init:function(){var c={},b={},d={};this._ref={afAPI:ca(c,b,d),algorithmFactory:da(c,b,d),containerManager:ea(c,b,d),treeOpt:$};V.guageBase.init.apply(this,arguments)}},V.guageBase);FusionCharts.register("component",["dataset",
"TreeMap",{type:"treemap",pIndex:2,customConfigFn:"_createDatasets",init:function(c){this.JSONData=c.data[0];this.components={};this.conf={};this.graphics={elemStore:{rect:[],label:[],highlight:[],hot:[],polypath:[]}};this.configure()},configure:function(){var c,b=this.chart,d=b.components,a=this.conf,b=b.jsonData.chart;a.metaTreeInf={};a.algorithm=(b.algorithm||"squarified").toLowerCase();a.horizontalPadding=C(b.horizontalpadding,5);a.horizontalPadding=0>a.horizontalPadding?0:a.horizontalPadding;
a.verticalPadding=C(b.verticalpadding,5);a.verticalPadding=0>a.verticalPadding?0:a.verticalPadding;a.showParent=C(b.showparent,1);a.showChildLabels=C(b.showchildlabels,0);a.highlightParentsOnHover=C(b.highlightparentsonhover,0);a.defaultParentBGColor=F(b.defaultparentbgcolor,void 0);a.defaultNavigationBarBGColor=F(b.defaultnavigationbarbgcolor,a.defaultParentBGColor);a.showTooltip=C(b.showtooltip,1);a.baseFontSize=C(b.basefontsize,10);a.baseFontSize=1>a.baseFontSize?1:a.baseFontSize;a.labelFontSize=
C(b.labelfontsize,void 0);a.labelFontSize=1>a.labelFontSize?1:a.labelFontSize;a.baseFont=F(b.basefont,"Verdana, Sans");a.labelFont=F(b.labelfont,void 0);a.baseFontColor=F(b.basefontcolor,"#000000").replace(/^#?([a-f0-9]+)/ig,"#$1");a.labelFontColor=F(b.labelfontcolor,void 0);a.labelFontColor&&(a.labelFontColor=a.labelFontColor.replace(/^#?([a-f0-9]+)/ig,"#$1"));a.labelFontBold=C(b.labelfontbold,0);a.labelFontItalic=C(b.labelfontitalic,0);a.plotBorderThickness=C(b.plotborderthickness,1);a.plotBorderThickness=
0>a.plotBorderThickness?0:5<a.plotBorderThickness?5:a.plotBorderThickness;a.plotBorderColor=F(b.plotbordercolor,"#000000").replace(/^#?([a-f0-9]+)/ig,"#$1");a.tooltipSeparationCharacter=F(b.tooltipsepchar,",");a.plotToolText=F(b.plottooltext,"");a.parentLabelLineHeight=C(b.parentlabellineheight,12);a.parentLabelLineHeight=0>a.parentLabelLineHeight?0:a.parentLabelLineHeight;a.labelGlow=C(b.labelglow,1);a.labelGlowIntensity=C(b.labelglowintensity,100)/100;a.labelGlowIntensity=0>a.labelGlowIntensity?
0:1<a.labelGlowIntensity?1:a.labelGlowIntensity;a.labelGlowColor=F(b.labelglowcolor,"#ffffff").replace(/^#?([a-f0-9]+)/ig,"#$1");a.labelGlowRadius=C(b.labelglowradius,2);a.labelGlowRadius=0>a.labelGlowRadius?0:10<a.labelGlowRadius?10:a.labelGlowRadius;a.btnResetChartTooltext=F(b.btnresetcharttooltext,"Back to Top");a.btnBackChartTooltext=F(b.btnbackcharttooltext,"Back to Parent");a.rangeOutBgColor=F(b.rangeoutbgcolor,"#808080").replace(/^#?([a-f0-9]+)/ig,"#$1");a.rangeOutBgAlpha=C(b.rangeoutbgalpha,
100);a.rangeOutBgAlpha=1>a.rangeOutBgAlpha||100<a.rangeOutBgAlpha?100:a.rangeOutBgAlpha;c=C(b.maxdepth);a.maxDepth=void 0!==c?R(c,1):void 0;c=a.showNavigationBar=C(b.shownavigationbar,1);a.slicingMode=F(b.slicingmode,"alternate");a.navigationBarHeight=C(b.navigationbarheight);a.navigationBarHeightRatio=C(b.navigationbarheightratio);a.navigationBarBorderColor=F(b.navigationbarbordercolor,a.plotBorderColor).replace(/^#?([a-f0-9]+)/ig,"#$1");a.navigationBarBorderThickness=c?C(b.navigationbarborderthickness,
a.plotBorderThickness):0;a.seperatorAngle=C(b.seperatorangle)*(ma/180);d.postLegendInitFn({min:0,max:100});a.isConfigured=!0},draw:function(){var c=this.conf,b=this.chart,d=b.config,a=b.components,g=d.canvasLeft,s=d.canvasRight,q=d.canvasBottom,D=d.canvasTop,l=a.paper,v=b.graphics,t=v.trackerGroup,u,f,B,h,n,d=c.metaTreeInf,m=this.graphics.elemStore,x={},p,e,k,a=a.gradientLegend,w,y=b._ref,X=y.afAPI.visibilityController,r=b.get("config","animationObj"),A=r.duration||0,Y=r.dummyObj,O=r.animObj,S=r.animType,
Z,ba,E,z,r=y.containerManager,y=y.algorithmFactory;for(f in m){Z=m[f];E=0;for(z=Z.length;E<z;E++)(ba=Z[E])&&ba.remove&&ba.remove();Z.length=0}r.remove();u=v.datasetGroup=v.datasetGroup||l.group("dataset");f=v.datalabelsGroup=v.datalabelsGroup||l.group("datalabels").insertAfter(u);B=v.lineHot=v.lineHot||l.group("line-hot",t);h=v.labelHighlight=v.labelHighlight||l.group("labelhighlight",f);n=v.floatLabel=v.floatLabel||l.group("labelfloat",f).insertAfter(h);c.colorRange=a.colorRange;d.effectiveWidth=
s-g;d.effectiveHeight=q-D;d.startX=g;d.startY=D;p=d.effectiveWidth/2;e=d.effectiveHeight/2;p=d.effectiveWidth/2;e=d.effectiveHeight/2;x.drawPolyPath=function(a,e){var c,b;c=(x.graphicPool(!1,"polyPathItem")||(b=l.path(u))).attr({path:a._path}).animateWith(Y,O,{path:a.path},A,S);c.css(e);b&&m.polypath.push(b);return c};x.drawRect=function(a,c,b,d){var n,h,w={},f={},t;for(n in a)h=a[n],0>h&&(a[n]=0,f.visibility="hidden");ha(w,a);w.x=p;w.y=e;w.height=0;w.width=0;k=x.graphicPool(!1,"plotItem")||(t=l.rect(u));
k.attr(b&&(b.x||b.y)&&b||w);k.attr(d);k.animateWith(Y,O,a,A,S,X.controlPostAnimVisibility);k.css(c).toFront();k.css(f);t&&m.rect.push(t);return k};x.drawText=function(a,b,k,d,w){var f={},t,v,r=x.graphicPool(!1,"labelItem")||(t=l.text(n)),y=x.graphicPool(!1,"highlightItem")||(v=l.text(h)),ka=k.textAttrs;k=k.highlightAttrs;ha(f,ka);delete f.fill;f["stroke-linejoin"]="round";r.attr({x:d.x||p,y:d.y||e,fill:"#000000"}).css(ka);r.attr(w);a=0>b.x||0>b.y?aa:a;r.animateWith(Y,O,{text:a,x:b.x,y:b.y},A,S);y.attr({text:a,
x:d.x||p,y:d.y||e,stroke:c.labelGlow?"#ffffff":oa}).css(f).css(k);y.attr(w);y.animateWith(Y,O,{x:b.x,y:b.y},A,S);m.label.push(t);m.highlight.push(v);return{label:r,highlightMask:y}};x.drawHot=function(a,c){var e;e=a.plotItem||{};var b=a.rect,k,d,n;for(d in b)n=b[d],0>n&&(b[d]=0);e=e.tracker=l.rect(B).attr(b).attr({cursor:"pointer",fill:"rgba(255, 255, 255, 0)",stroke:"none"});for(k in c)b=c[k],e[k].apply(e,b);m.hot.push(e);return e};x.disposeItems=function(a,e){var c,b,m,k=e||"plotItem labelItem hotItem highlightItem polyPathItem pathlabelItem pathhighlightItem stackedpolyPathItem stackedpathlabelItem stackedpathhighlightItem".split(" ");
for(c=0;c<k.length;c+=1)m=k[c],(b=a[m])&&x.graphicPool(!0,m,b,a.rect),b&&b.hide(),a[m]=void 0};x.disposeChild=function(){var a,e=function(){return a.disposeItems},c=function(a,b){var m,k;e(a);for(m=0;m<(a.getChildren()||[]).length;m++)k=a.getChildren(),m=c(k[m],m);return b};return function(b){var m=b.getParent();a||(a=this,e=e());m?a.disposeChild(m):c(b,0)}}();x.graphicPool=function(){var a={};return function(e,c,b){var m=a[c];m||(m=a[c]=[]);"hotItem"!==c&&"pathhotItem"!==c||b.remove();if(e)m.push(b);
else if(e=m.splice(0,1)[0])return e.show(),e}}();x.disposeComplimentary=function(a){var e,c;e=a.getParent();var b=a.getSiblingCount("left");e&&(c=e.getChildren(),e=c.splice(b,1)[0],this.disposeChild(a),c.splice(b,0,e));this.removeLayers()};x.removeLayers=function(){var a,e,c,b;c=m.hot;b=c.length;for(a=0;a<b;a++)(e=c[a])&&e.remove();c.length=0};y.init(c.algorithm,!0,c.maxDepth);b=y.plotOnCanvas(this.JSONData,void 0,b._getCleanValue());r.init(this,d,x,void 0,b);r.draw();w=y.applyShadeFiltering({fill:c.rangeOutBgColor,
opacity:.01*c.rangeOutBgAlpha},function(a){this.plotItem&&this.plotItem.css(a)});a&&a.enabled&&(a.resetLegend(),a.clearListeners());a.notifyWhenUpdate(function(a,e){w.call(this,{start:a,end:e})},this);c.isConfigured=!1}}]);ca=function(c,b,d){function a(a,c,b){this.node=a;this.bucket=c?new M:void 0;this.cleansingFn=b}var g,s,q,D;a.prototype.get=function(){var a=this.order,c=this.bucket,b=this.cleansingFn;return function f(d,h){var n,m,x,p;m=["label","value","data","svalue"];if(d)for(p in n=new z(d.label,
b(d.value),b(d.svalue)),x=d.data||[],0===x.length&&c&&c.addInBucket(n),n.setDepth(h),d)-1===m.indexOf(p)&&n.setMeta(p,d[p]);a&&(x=a(x));for(m=0;m<x.length;m++)p=x[m],p=f(p,h+1),n.addChild(p);return n}(this.node,0)};a.prototype.getBucket=function(){return this.bucket};a.prototype.getMaxDepth=function(){return s};g=function(a,c){function b(a){this.iterAPI=a}var d=c&&c.exception,f,g;b.prototype.constructor=b;b.prototype.initWith=function(a){return this.iterAPI(a)};f=(new b(function(a){var c=a,b=[],x=
!1;b.push(c);return{next:function(a){var c,k;if(!x){c=b.shift();if(d&&c===d&&(c=b.shift(),!c)){x=!0;return}(k=(a=void 0!==a?c.getDepth()>=a?[]:c.getChildren():c.getChildren())&&a.length||0)&&[].unshift.apply(b,a);0===b.length&&(x=!0);return c}},reset:function(){x=!1;c=a;b.length=0;b.push(c)}}})).initWith(a);g=(new b(function(a){var c=a,b=[],d=[],f=!1;b.push(c);d.push(c);return{next:function(){var a,c,d;if(!f)return c=b.shift(),(d=(a=c.getChildren())&&a.length||0)&&[].push.apply(b,a),0===b.length&&
(f=!0),c},nextBatch:function(){var a,c;if(!f)return a=d.shift(),(c=(a=a.getChildren())&&a.length||0)&&[].push.apply(d,a),0===b.length&&(f=!0),a},reset:function(){f=!1;c=a;b.length=0;b.push(c)}}})).initWith(a);return{df:f,bf:g}};D=function(){function a(){this.con={}}var c={},b;a.prototype.constructor=a;a.prototype.get=function(a){return this.con[a]};a.prototype.set=function(a,c){this.con[a]=c};a.prototype["delete"]=function(a){return delete this.con[a]};return{getInstance:function(d){var f;return(f=
c[d])?b=f:b=c[d]=new a}}}();b=function(){var a=[],c,b=!1,d={visibility:"visible"};return{controlPreAnimVisibility:function(d,B){var h,n,m;if(d){for(n=d;;){n=n.getParent();if(!n)break;h=n}h=g(h,{exception:d});for(h=h.df;;){n=h.next();if(!n)break;m=n.overAttr||(n.overAttr={});m.visibility="hidden";a.push(n)}c=B||d.getParent();b=!1;return a}},displayAll:function(d){var B;if(d){d=g(d.getParent()||d);for(d=d.df;;){B=d.next();if(!B)break;B=B.overAttr||(B.overAttr={});B.visibility="visible"}c=void 0;a.length=
0;b=!1}},controlPostAnimVisibility:function(){var f,B;if(!b&&(b=!0,c)){B=g(c);for(B=B.df;;){f=B.next(s);if(!f)break;if(f=f.dirtyNode)f&&f.plotItem.attr(d),(f=f&&f.textItem)&&f.label&&f.label.attr(d),f&&f.label&&f.highlightMask.attr(d)}c=void 0;a.length=0}}}}();c.AbstractTreeMaker=a;c.iterator=g;c.initConfigurationForlabel=function(a,c,b){var d=a.x,f=a.y,g=c/2,h=b.showParent?0:1,n=b.showChildLabels;return function(a,x,p,e){p=!1;var k={x:void 0,y:void 0,width:void 0,height:void 0},w={},y=0,l={},r={},
A,l=a.meta;if(a)return a.isLeaf(s)||(p=!0),w.label=a.getLabel(),k.width=x.width-2*d,k.x=x.x+x.width/2,a=x.height-2*f,!p&&a<c&&(k.height=-1),!e&&p?(k.height=n?k.height?k.height:x.height-2*f:-1,k.y=x.y+x.height/2):h?(k.y=-1,c=f=0,A="hidden"):(k.height=k.height?k.height:c,k.y=x.y+f+g),y+=2*f,y+=c,w.rectShiftY=y,w.textRect=k,b.labelGlow?(r["stroke-width"]=b.labelGlowRadius,r.opacity=b.labelGlowIntensity,r.stroke=b.labelGlowColor,r.visibility="hidden"===A?"hidden":"visible"):r.visibility="hidden",l={fontSize:b.labelFontSize||
b.baseFontSize,fontFamily:b.labelFont||b.baseFont,fill:l&&l.fontcolor&&U(l.fontcolor)||b.labelFontColor||b.baseFontColor,fontWeight:b.labelFontBold&&"bold",fontStyle:b.labelFontItalic&&"italic",visibility:A},{conf:w,attr:l,highlight:r}}};c.context=D;c.mapColorManager=function(a,c,b){var d=U(b?a.defaultNavigationBarBGColor:a.defaultParentBGColor);return function(b,g,h){g={};var n=b.cssConf,m=b.meta,m=m.fillcolor?U(m.fillcolor):void 0,x=b.getParent(),p;p=b.getColorValue();a.isLegendEnabled=!0;p=a.isLegendEnabled&&
p===p?c.getColorByValue(p)&&"#"+c.getColorByValue(p)||U(c.rangeOutsideColor):void 0;b.isLeaf(s)?g.fill=m||p||d:(b=(b=(x?x:b).cssConf)&&b.fill,g.fill=m||(p?p:b));g.stroke=h?a.navigationBarBorderColor:a.plotBorderColor;g.strokeWidth=h?a.navigationBarBorderThickness:a.plotBorderThickness;g["stroke-dasharray"]="none";!h&&n&&"--"===n["stroke-dasharray"]&&(g["stroke-dasharray"]=n["stroke-dasharray"],g.strokeWidth=n.strokeWidth);return g}};c.abstractEventRegisterer=function(a,b,g,u){function f(a){var c=
{},b,e;for(b in A)e=A[b],c[e]=a[b];return c}var s=b.chart,h=s.components,n=h.toolbarBtns,m=s.chartInstance,x=b.conf,p=h.gradientLegend,e=a.drawTree,k=u.disposeChild,w,y=arguments,X,r,A={colorValue:"svalue",label:"name",value:"value",rect:"metrics"};X=c.context.getInstance("ClickedState");s._intSR={};s._intSR.backToParent=w=function(a){var b=this,d=b,n=d&&b.getParent(),h=c.context.getInstance("ClickedState").get("VisibileRoot")||{};a?I("beforedrillup",{node:b,withoutHead:!x.showParent},m,void 0,function(){n&&
(h.state="drillup",h.node=[{virginNode:c.getVisibleRoot()},n],k(d),e.apply(n,y));I("drillup",{node:b,withoutHead:!x.showParent,drillUp:w,drillUpToTop:r},m);b=b&&b.getParent()},function(){I("drillupcancelled",{node:b,withoutHead:!x.showParent},m)}):(n&&(h.state="drillup",h.node=[{virginNode:c.getVisibleRoot()},n],k(d),e.apply(n,y)),b=b&&b.getParent())};s._intSR.resetTree=r=function(a){for(var b=this,d=b&&b.getParent(),n,h=c.context.getInstance("ClickedState").get("VisibileRoot")||{};d;)n=d,d=d.getParent();
a?I("beforedrillup",{node:b,withoutHead:!x.showParent},m,void 0,function(){n&&(h.state="drillup",h.node=[{virginNode:c.getVisibleRoot()},n],k(n),e.apply(n,y),I("drillup",{node:b,sender:s.fusionCharts,withoutHead:!x.showParent,drillUp:w,drillUpToTop:r},m))},function(){I("drillupcancelled",{node:b,withoutHead:!x.showParent},m)}):n&&(h.state="drillup",h.node=[{virginNode:c.getVisibleRoot()},n],k(n),e.apply(n,y))};return{click:function(b,c){var e=b.virginNode,h,y,g;I("dataplotclick",f(b.virginNode),m);
if(y=e.getParent()){if(e===c)g=y,h="drillup";else{if(e.next)g=e;else if(g=y,c===g){h=void 0;return}h="drilldown"}p&&p.enabled&&p.resetLegend();a.applyShadeFiltering.reset();h&&I("before"+h,{node:g,withoutHead:!x.showParent},m,void 0,function(){X.set("VisibileRoot",{node:b,state:h});k.call(u,g);q=g;d.draw();I(h,{node:g,withoutHead:!x.showParent,drillUp:w,drillUpToTop:r},m)},function(){I(h+"cancelled",{node:g,withoutHead:!x.showParent},m)});n.back&&n.back.attachEventHandlers({click:w.bind(g)});n.home&&
n.home.attachEventHandlers({click:r.bind(g)})}},mouseover:function(a){var b=f(a.virginNode);I("dataplotrollover",b,m,void 0,void 0,function(){I("dataplotrollovercancelled",b,m)})},mouseout:function(a){var b=f(a.virginNode);I("dataplotrollout",f(a.virginNode),m,void 0,void 0,function(){I("dataplotrolloutcancelled",b,m)})}}};c.setMaxDepth=function(a){return s=a};c.getVisibleRoot=function(){return q};c.setVisibleRoot=function(a){q=a};c.visibilityController=b;return c};da=function(c,b){function d(){D.apply(this,
arguments)}function a(a,b,m){v=new d(a,u,b);a=v.get();!1!==m&&(t=a);c.setVisibleRoot(a);return a}function g(){var a=q[l],d;b.realTimeUpdate=s.apply(this,arguments);d=Array.prototype.slice.call(arguments,0);d.unshift(a);a.drawTree.apply(c.getVisibleRoot(),d)}function s(){var a,b,c=q[l];b=Array.prototype.slice.call(arguments,0);b.unshift(c);a=b.slice(-1)[0];return function(){var d=Array.prototype.slice.call(arguments,0),p=d.shift(),e=d.shift();$(t,function(a){c.drawTree.apply(a||t,b)},a,p)[e].apply(this,
d)}}var q,D=c.AbstractTreeMaker,l,v,t,u,f,B;q={sliceanddice:{areaBaseCalculator:function(a,b){return function(c,d,p){var e,k,w={},y,g,r,f=e=0;if(c){p&&(e=p.textMargin||e);f=e;p=c.getParent();e=c.getSibling("left");if(p){k=p.getValue();r=p.rect;y=r.height-2*b-f;g=r.width-2*a;w.effectiveRect={height:y,width:g,x:r.x+a,y:r.y+b+f};w.effectiveArea=y*g;w.ratio=c.getValue()/k;if(e)return d.call(c,w,e,p);w.lastIsParent=!0;return d.call(c,w,p)}return null}}},applyShadeFiltering:function(a,b,c){a.setRangeOutEffect(b,
c);this.applyShadeFiltering.reset=function(){a.resetPointers()};return function(b){a.moveLowerShadePointer(b.start);a.moveHigherShadePointer(b.end)}},alternateModeManager:function(){return function(a,b){var c,d,g,e,k,w=a.effectiveArea*a.ratio;d=a.effectiveRect;var y=b.rect;a.lastIsParent?(e=d.x,k=d.y,c=d.height,d=d.width,g=this.isDirectionVertical=!0):(c=d.height+d.y-(y.height+y.y),d=d.width+d.x-(y.width+y.x),g=this.isDirectionVertical=!b.isDirectionVertical);g?(d=w/c,e=void 0!==e?e:y.x,k=void 0!==
k?k:y.y+y.height):(c=w/d,e=void 0!==e?e:y.x+y.width,k=void 0!==k?k:y.y);return{height:c,width:d,x:e,y:k}}},horizontalVerticalManager:function(a){var b=Boolean("vertical"===a?!0:!1);return function(a,c,d){var e,k,w,g=a.effectiveArea*a.ratio,h=a.effectiveRect,f=c.rect;a.lastIsParent?(k=h.x,w=h.y,a=h.height,e=h.width,c=this.isDirectionVertical=!c.isDirectionVertical):(a=h.height+h.y-(f.height+f.y),e=h.width+h.x-(f.width+f.x),c=this.isDirectionVertical=!d.isDirectionVertical);(c=b?c:!c)?(0===a&&(a=h.height,
k=void 0!==k?k:f.x+f.width,w=void 0!==w?w:f.y),e=g/a,k=void 0!==k?k:f.x,w=void 0!==w?w:f.y+f.height):(0===e&&(e=h.width,k=void 0!==k?k:f.x,w=void 0!==w?w:f.y+f.height),a=g/e,k=void 0!==k?k:f.x+f.width,w=void 0!==w?w:f.y);return{height:a,width:e,x:k,y:w}}},drawTree:function(a,b,d,g){var p=b.chart,e=p.components,k=e.numberFormatter,e=e.toolbarBtns,w=g.drawRect,y=g.drawText,v=g.drawHot,r=d.horizontalPadding,A=d.verticalPadding,t=b.chart.linkedItems.smartLabel,l=c.iterator,s=l(this).df,q,u=a.areaBaseCalculator(r,
A),E=b.conf,D=E.highlightParentsOnHover,z,C=c.context,r=c.visibilityController,L=c.mapColorManager(E,b.conf.colorRange),A=c.abstractEventRegisterer.apply(c,arguments),F=A.click,I=A.mouseover,G=A.mouseout,A=E.slicingMode,J=a["alternate"===A?"alternateModeManager":"horizontalVerticalManager"](A),A=p._intSR,H,l=C.getInstance("ClickedState").get("VisibileRoot")||{};(H=l.node)&&l.state&&("drillup"===l.state.toLowerCase()?H instanceof Array?r.controlPreAnimVisibility(H[0].virginNode,H[1]):r.controlPreAnimVisibility(H.virginNode):
r.displayAll(l.node.virginNode));z=c.initConfigurationForlabel({x:5,y:5},E.parentLabelLineHeight,E);for(r=q=s.next(B=c.setMaxDepth(this.getDepth()+f));r.getParent();)r=r.getParent();E.showNavigationBar?(e.home.hide(),e.back.hide()):r!=q?(e.home.show(),e.back.show()):(e.home.hide(),e.back.hide());t.useEllipsesOnOverflow(p.config.useEllipsesWhenOverflow);t.setStyle(E._setStyle={fontSize:(E.labelFontSize||E.baseFontSize)+"px",fontFamily:E.labelFont||E.baseFont,lineHeight:1.2*(E.labelFontSize||E.baseFontSize)+
"px"});p=A.backToParent;r=A.resetTree;e.back&&e.back.attachEventHandlers({click:p.bind(q)});e.home&&e.home.attachEventHandlers({click:r.bind(q)});(function P(a,b){var c,d,e,n,m,f,h,p;f={};var r,l,A={},O={};h={};var H="",M,N;a&&(M=k.yAxis(a.getValue()),N=k.sYAxis(a.getColorValue()),a.setPath(),c=a.rect||{},d=a.textRect||{},e=a.rect={},h=a.textRect={},e.width=b.width,e.height=b.height,e.x=b.x,e.y=b.y,h=L(a),(l=a.plotItem)&&g.graphicPool(!0,"plotItem",l,c),l=a.plotItem=w(e,h,c,a.overAttr),a.cssConf=
h,p=z(a,e),n=p.conf,f.textMargin=n.rectShiftY,h=a.textRect=n.textRect,r=t.getSmartText(n.label,h.width,h.height).text,a.plotItem=l,(n=a.labelItem)?(m=a.highlightItem,g.graphicPool(!0,"labelItem",n,c),g.graphicPool(!0,"highlightItem",m,c)):d=d||{},d=y(r,h,{textAttrs:p.attr,highlightAttrs:p.highlight},d,a.overAttr),a.labelItem=d.label,a.highlightItem=d.highlightMask,A.virginNode=a,A.plotItem=l,A.textItem=d,A.virginNode.dirtyNode=A,a.getColorValue()&&(H=E.tooltipSeparationCharacter+N),A.toolText=K.parseTooltext(E.plotToolText,
[1,2,3,119,122],{label:a.getLabel(),formattedValue:M,formattedsValue:N},{value:a.getValue(),svalue:a.getColorValue()})||a.getLabel()+E.tooltipSeparationCharacter+M+H,A.rect=e,O.hover=[function(){var a,b,c;c=C.getInstance("hover");b=this.virginNode;a=D&&!b.next?(a=b.getParent())?a:b:this.virginNode;c.set("element",a);c=W(ja(a.cssConf.fill,80),60);a.plotItem.tracker.attr({fill:c});I(this)}.bind(A),function(){var a,b;a=C.getInstance("hover").get("element");b=W(a.cssConf.fill||"#fff",0);a.plotItem.tracker.attr({fill:b});
G(this)}.bind(A)],O.tooltip=[A.toolText],O.click=[function(){F(this,q)}.bind(A)],(e=a.hotItem)&&g.graphicPool(!0,"hotItem",e,c),e=a.hotItem=v(A,O),c=s.next(B),f=u(c,J,f),P(c,f))})(q,d)}},squarified:{orderNodes:function(){return this.sort(function(a,b){return parseFloat(a.value,10)<parseFloat(b.value,10)?1:-1})},areaBaseCalculator:function(a,b){return function(c,d,f){var e={},k,w=k=0,g,l;if(c&&0!==c.length)return f&&(k=f.textMargin||k),w=k,g=c[0],(c=g.getParent())?(l=c.rect,f=l.height-2*b-w,k=l.width-
2*a,e.effectiveRect={height:f,width:k,x:l.x+a,y:l.y+b+w},e.effectiveArea=f*k,d.call(g,e,c)):null}},layoutManager:function(){function a(b,c){this.totalValue=c;this._rHeight=b.height;this._rWidth=b.width;this._rx=b.x;this._ry=b.y;this._rTotalArea=b.height*b.width;this.nodes=[];this._prevAR=void 0;this._rHeight<this._rWidth&&(this._hSegmented=!0)}a.prototype.constructor=a;a.prototype.addNode=function(a){var b=this._rTotalArea,c,d,e,k,f,g,h,r=this._hSegmented,l=this._rx,v=this._ry,t,s,q,u,E=0;this.nodes.push(a);
e=0;for(d=this.nodes.length;e<d;e++)E+=parseFloat(this.nodes[e].getValue(),10);c=E/this.totalValue*b;r?(b=this._rHeight,d=c/b,t=l+d,s=v,q=this._rHeight,u=this._rWidth-d):(d=this._rWidth,b=c/d,t=l,s=v+b,q=this._rHeight-b,u=this._rWidth);e=0;for(k=this.nodes.length;e<k;e++)a=this.nodes[e],f=a.getValue(),g=f/E*c,a.hRect=a.rect||{},a._hRect=a._rect||{},f=a.rect={},r?(f.width=h=d,f.height=h=g/h,f.x=l,f.y=v,v+=h):(f.height=h=b,f.width=h=g/h,f.x=l,f.y=v,l+=h),g=R(f.height,f.width),f=ga(f.height,f.width),
a.aspectRatio=g/f;if(1<this.nodes.length){if(this.prevAR<a.aspectRatio){this.nodes.pop().rect={};e=0;for(d=this.nodes.length;e<d;e++)this.nodes[e].rect=1===d&&this.nodes[e].firstPassed?this.nodes[e]._hRect:this.nodes[e].hRect,r=this.nodes[e]._rect={},l=this.nodes[e].rect,r.width=l.width,r.height=l.height,r.x=l.x,r.y=l.y;return!1}}else a&&(r=a._rect={},l=a.rect,r.width=l.width,r.height=l.height,r.x=l.x,r.y=l.y,a.firstPassed=!0);this.prevAR=a.aspectRatio;this.height=b;this.width=d;this.getNextLogicalDivision=
function(){return{height:q,width:u,x:t,y:s}};return a};return{RowLayout:a}}(),applyShadeFiltering:function(a,b,c){a.setRangeOutEffect(b,c);this.applyShadeFiltering.reset=function(){a.resetPointers()};return function(b){a.moveLowerShadePointer(b.start);a.moveHigherShadePointer(b.end)}},drawTree:function(a,b,d,g){var l=b.chart,e=l.components,k=e.numberFormatter,e=e.toolbarBtns,w=a.areaBaseCalculator(d.horizontalPadding,d.verticalPadding),y=a.layoutManager.RowLayout,v=b.chart.linkedItems.smartLabel,
r=g.drawRect,t=g.drawText,s=g.drawHot,q=c.iterator,u=q(this).bf,z,D=b.conf,E=D.highlightParentsOnHover,C,F=c.context,I=c.mapColorManager(D,b.conf.colorRange),q=c.abstractEventRegisterer.apply(c,arguments),L=q.click,M=q.mouseover,N=q.mouseout,q=l._intSR,G=c.visibilityController,J,H;J=F.getInstance("ClickedState").get("VisibileRoot")||{};(H=J.node)&&J.state&&("drillup"===J.state.toLowerCase()?H instanceof Array?G.controlPreAnimVisibility(H[0].virginNode,H[1]):G.controlPreAnimVisibility(H.virginNode):
G.displayAll(J.node.virginNode));C=c.initConfigurationForlabel({x:5,y:5},D.parentLabelLineHeight,D);for(u=z=u.next(B=c.setMaxDepth(this.getDepth()+f));u.getParent();)u=u.getParent();D.showNavigationBar?(e.home.hide(),e.back.hide()):u!=z?(e.home.show(),e.back.show()):(e.home.hide(),e.back.hide());v.useEllipsesOnOverflow(l.config.useEllipsesWhenOverflow);v.setStyle(D._setStyle={fontSize:(D.labelFontSize||D.baseFontSize)+"px",fontFamily:D.labelFont||D.baseFont,lineHeight:1.2*(D.labelFontSize||D.baseFontSize)+
"px"});l=q.backToParent;q=q.resetTree;e.back&&e.back.attachEventHandlers({click:l.bind(z)});e.home&&e.home.attachEventHandlers({click:q.bind(z)});(function P(a,b){var c,d={},e,f,h,l,m,n,q=0,p,u,G,H;n={};var J;p={};u={};l={};var O="",S,R;if(a){S=k.yAxis(a.getValue());R=k.sYAxis(a.getColorValue());a.setPath();if(c=a.__initRect)d.x=c.x,d.y=c.y,d.width=c.width,d.height=c.height;h=a.textRect||{};c=a.rect=a.__initRect={};l=a.textRect={};c.width=b.width;c.height=b.height;c.x=b.x;c.y=b.y;l=I(a);(G=a.plotItem)&&
g.graphicPool(!0,"plotItem",G,d);G=a.plotItem=r(c,l,d,a.overAttr);a.cssConf=l;J=C(a,c);e=J.conf;n.textMargin=e.rectShiftY;l=a.textRect=e.textRect;H=v.getSmartText(e.label,l.width,l.height).text;(f=a.labelItem)?(e=a.highlightItem,g.graphicPool(!0,"labelItem",f,d),g.graphicPool(!0,"highlightItem",e,d)):h=h||{};h=t(H,l,{textAttrs:J.attr,highlightAttrs:J.highlight},h,a.overAttr);a.labelItem=h.label;a.highlightItem=h.highlightMask;a.plotItem=G;p.virginNode=a;p.plotItem=G;p.textItem=h;p.virginNode.dirtyNode=
p;a.getColorValue()&&(O=D.tooltipSeparationCharacter+R);p.toolText=D.showTooltip?K.parseTooltext(D.plotToolText,[1,2,3,119,122],{label:a.getLabel(),formattedValue:S,formattedsValue:R},{value:a.getValue(),svalue:a.getColorValue()})||a.getLabel()+D.tooltipSeparationCharacter+S+O:aa;p.rect=c;u.hover=[function(){var a,b,c;c=F.getInstance("hover");b=this.virginNode;a=E&&!b.next?(a=b.getParent())?a:b:this.virginNode;c.set("element",a);c=a.cssConf;c=W(c.fill&&ja(c.fill,80),60);a.plotItem.tracker.attr({fill:c});
M(this)}.bind(p),function(){var a,b;a=F.getInstance("hover").get("element");b=W(a.cssConf.fill||"#fff",0);a.plotItem.tracker.attr({fill:b});N(this)}.bind(p)];u.tooltip=[p.toolText];u.click=[function(){L(this,z)}.bind(p)];(c=a.hotItem)&&g.graphicPool(!0,"hotItem",c,d);c=a.hotItem=s(p,u);if(m=void 0!==B?a.getDepth()>=B?void 0:a.getChildren():a.getChildren())for(p=w(m,function(a,b){var c,d,e=0,k,f,g=[];c=new y({width:a.effectiveRect.width,height:a.effectiveRect.height,x:a.effectiveRect.x,y:a.effectiveRect.y},
b.getValue());for(d=m.length;e++!==d;)k=m[e-1],f=c.addNode(k),!1===f?(c=c.getNextLogicalDivision(),c=new y(c,b.getValue()-q),e--):(q+=parseFloat(k.getValue(),10),g.push(k));return g},n),d=0,n=p.length;d<n;d++)u=p[d],P(u,u.rect)}})(z,d)}}};d.prototype=Object.create(D.prototype);d.prototype.constructor=D;d.prototype.order=function(a){var b=q[l],c=b.orderNodes;return c?c.apply(a,[b]):a};b.init=function(a,b,d){l=a;u=b;f=c.setMaxDepth(d);return q[l]};b.plotOnCanvas=function(b,c,d){t=a(b,d);return g};b.applyShadeFiltering=
function(a,b){var c,d;d=q[l].applyShadeFiltering(v.getBucket(),a,b);return function(a){c=Array.prototype.slice.call(arguments,0);c.unshift(a);d.apply(v.getBucket(),c)}};b.setTreeBase=function(a){return a&&(t=a)};b.realTimeUpdate=s;b.makeTree=a;return b};$=function(c,b,d,a){function g(a){var b,d=0;b=c;if(!a.length)return c;for(;b;){b=s.call(b,a[d]);if(d===a.length-1&&b)return q=b.getValue(),b;d+=1}}function s(a){var b,c,d,g=this.getChildren()||[],f=g.length;for(b=0;b<f;b+=1)if(d=g[b],d.label.toLowerCase().trim()===
a.toLowerCase().trim()){c=d;break}return c}var q;return{deleteData:function(a,c){var v=g(a),t=(void 0).iterator(v).df,u=v&&v.getParent(),f=v&&v.getSiblingCount("left"),s=u&&u.getChildren(),h=(void 0).getVisibleRoot();if(v&&u){s.splice(f,1);for(v===h&&(h=v.getParent()||h);v;)d.disposeItems(v),v=t.next();for(;u;)u.setValue(-q,!0),u=u.getParent();c&&b(h)}},addData:function(c,d,q,t){for(var u,f,s,h=0,n=!0,m=(void 0).getVisibleRoot();c.length;)if(u=c.pop(),u=(void 0).makeTree(u,a,!1),h=u.getValue(),f=
g(d||[]))for(f.getChildren()||(s=f.getValue(),n=!1),f.addChildren(u,t);f;)f.setValue(h,n),s&&(h-=s,s=void 0,n=!0),f=f.getParent();q&&b(m)}}};ea=function(c,b,d){function a(){}function g(a){var b=t.plotBorderThickness;l.apply(c.getVisibleRoot(),[z,{width:a.effectiveWidth,height:a.effectiveHeight,x:a.startX,y:a.startY,horizontalPadding:t.horizontalPadding,verticalPadding:t.verticalPadding},u]);t.plotBorderThickness=b}function s(a,b,c){var d=a.width,f=a.height,g=t.seperatorAngle/2;a=["M",a.x,a.y];var h=
C(g?f/2*(1-la(g)):c,15);c=function(a){return{both:["h",d,"v",a,"h",-d,"v",-a],right:["h",d,"v",a,"h",-d,"l",h,-a/2,"l",-h,-a/2],no:["h",d,"l",h,a/2,"l",-h,a/2,"h",-d,"l",h,-a/2,"l",-h,-a/2],left:["h",d,"l",h,a/2,"l",-h,a/2,"h",-d,"v",-a]}};return{path:a.concat(c(f)[b]),_path:a.concat(c(0)[b]),offset:h}}function q(){var a=Array.prototype.splice.call(arguments,0);a.push(!0);h("navigationBar").apply(this,a)}var z,l,v,t,u,f,B=function(a,b){var f,g,h=c.mapColorManager(t,t.colorRange,!0),l=function(){var a;
return{get:function(b,c,d){var e={y:b.startY,height:b.effectiveHeight};c=f[c];var k=c.getParent();e.x=a||(a=b.startX);a=d?a+(e.width=b.effectiveWidth*(c.getValue()/k.getValue())):a+(e.width=b.effectiveWidth/g);return e},resetAllocation:function(){a=void 0}}}(),m=c.initConfigurationForlabel({x:5,y:5},t.parentLabelLineHeight,t),p=u.drawPolyPath,q=u.drawText,C=u.drawHot,B={navigationHistory:{path:"polyPathItem",label:"pathlabelItem",highlightItem:"pathhighlightItem",hotItem:"pathhotItem"}},F=z.chart,
E=F.components.gradientLegend,F=F.linkedItems.smartLabel,I=function(a){return function(){var b=c.context.getInstance("ClickedState").get("VisibileRoot")||{};b.state="drillup";b.node=[{virginNode:c.getVisibleRoot()},a];E&&E.enabled&&E.resetLegend();d.draw([a,a,a])}},M=function(){return function(){}},N=function(){return function(){}},L,K,T,G,J,H,Q=t._setStyle,P;L=n.get().navigationBar;G=2*x("navigationBar");Q=ga(L*v.effectiveHeight-(G+6),Q.fontSize.replace(/\D+/g,""));L=Q+"px";B.stacked={path:"stacked"+
B.navigationHistory.path,label:"stacked"+B.navigationHistory.label,highlightItem:"stacked"+B.navigationHistory.highlightItem,hotItem:"stacked"+B.navigationHistory.hotItem};l.resetAllocation();(function(a){var b=c.getVisibleRoot();f=a?b.getChildren():b.getPath()||[].concat(b);f.pop();g=f.length})(b);F.setStyle({fontSize:L,lineHeight:L});for(L=0;L<g;L+=1)G=f[L],J=l.get(a,L,b),K=(T=s(J,b?"both":1===g?"both":0===L?"left":L<g-1?"no":"right")).offset,G[B[b?"stacked":"navigationHistory"].path]=p(T,h(G,!0,
!0),L),T=m(G,J,!1,!0),H=T.conf,P=H.textRect,P.width-=2*K,P.y=J.y+J.height/2,K=F.getSmartText(H.label,P.width,R(Q,P.height)).text,K=q(K,P,{textAttrs:T.attr,highlightAttrs:T.highlight},{y:J.height/10,"font-size":t._setStyle.fontSize,"font-family":t._setStyle.fontFamily},(b?"stacked":"")+"path"),G[B[b?"stacked":"navigationHistory"].label]=K.label,G[B[b?"stacked":"navigationHistory"].highlightItem]=K.highlightMask,G[B[b?"stacked":"navigationHistory"].hotItem]=C({rect:J},{click:[I(G,b)],hover:[M(G),N()],
tooltip:[t.showTooltip?G.getLabel():aa]})},h=function(a){return{treeMap:g,navigationBar:B,stackedNavigation:q}[a]},n=function(){var a={treeMap:1,navigationBar:0,stackedNavigation:0};return{set:function(b){var c=C(t.navigationBarHeightRatio,t.navigationBarHeight/v.effectiveHeight,.15),d=t.labelFontSize?R(t.labelFontSize,t.baseFontSize):t.baseFontSize,f=2*x("navigationBar"),c=R((6+d+f)/v.effectiveHeight,c);.1>c?c=.1:.15<c&&(c=.15);t.navigationBarHeightRatio=c;a=b?{treeMap:1-c,navigationBar:c,stackedNavigation:0}:
{treeMap:1,navigationBar:0,stackedNavigation:0}},get:function(){return a}}}(),m=0,x=function(a){var b=t.plotBorderThickness,c=t.navigationBarBorderThickness;return t.verticalPadding+("navigationBar"===a?c:b)},p=function(a){var b=v.effectiveWidth,c=v.effectiveHeight,d=x(a);a=n.get()[a];1<=m&&(m=0);m+=a;return{effectiveHeight:fa(a*c*100)/100-d,effectiveWidth:b,startX:v.startX,startY:v.startY+d+fa((m-a)*c*100)/100}};a.prototype.constructor=a;a.prototype.init=function(a,b){(this.conf||(this.conf={})).name=
a.name;this.setDrawingArea(a.drawingAreaMeasurement);this.draw=this.draw(b)};a.prototype.setDrawingArea=function(a){this.conf.drawingAreaMeasurement=a};a.prototype.draw=function(a){return function(){var b=this.conf;0<b.drawingAreaMeasurement.effectiveHeight&&a(b.drawingAreaMeasurement)}};a.prototype.eventCallback=function(){};f=function(){var b=[];return{get:function(){return b},set:function(c){var d;c?(d=new a,d.init({name:c.type,drawingAreaMeasurement:c.drawingArea},c.drawFn),b.push(d)):b.length=
0;return b}}}();d.init=function(){var a,b=["navigationBar","treeMap","stackedNavigation"];a=Array.prototype.slice.call(arguments,0);z=a[0];v=a[1];t=z.conf;u=a[2];l=a[4];for(f.get().length>=b.length&&f.set();b.length;)a=b.shift(),f.set({type:a,drawFn:h(a),drawingArea:p(a)})};d.draw=function(a){var b,g,h;b=c.getVisibleRoot();u.disposeChild(b);a&&(b=a[1]);b.getParent()?t.showNavigationBar&&d.heightProportion.set(!0):d.heightProportion.set(!1);g=f.get();for(b=0;b<g.length;b+=1)h=g[b],h.setDrawingArea(p(h.conf.name)),
a&&c.setVisibleRoot(a[b]),h.draw()};d.heightProportion=n;d.remove=function(){var a=c.getVisibleRoot();a&&u.disposeChild(a)};return d}}]);

View File

@@ -0,0 +1,453 @@
/*
FusionCharts JavaScript Library
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
@version 3.11.0
FusionCharts JavaScript Library
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
@version 3.11.0
*/
FusionCharts.register("module",["private","modules.renderer.js-spark",function(){var H=this.hcLib,ca=H.BLANKSTRING,g=H.pluck,y=H.pluckNumber,F=H.extend2,f=H.chartAPI,E=H.graphics.getLightColor,e=H.COMMASTRING,G=H.graphics.convertColor,Ha=H.getValidValue,ga=Math,ka=ga.min,ba=ga.max,fa=ga.ceil,ha=H.toRaphaelColor,P=H.parseUnsafeString,t=H.graphics.getColumnColor,n=H.graphics.parseColor,ma=H.COLOR_TRANSPARENT,da=H.POSITION_BOTTOM,l=H.POSITION_MIDDLE,Ba=H.POSITION_START,aa=H.POSITION_END,Fa=H.HUNDREDSTRING,
ga=!/fusioncharts\.com$/i.test(this.window.location.hostname),Z=F({},H.defaultGaugePaletteOptions),$a=function(){var e=this.chart,f=e.config,g=f.dataLabelStyle,M=e.components.paper,A=this.config.valuePadding+2,l=this.graphics.dataLabelContainer||e.graphics.datalabelsGroup,t=f.sparkValues||(f.sparkValues={}),q=e.graphics,q=q.sparkLabels||(q.sparkLabels={}),n=e.linkedItems.smartLabel,y=e.get("config","animationObj"),e=y.transposeAnimDuration,y=y.animType,E="[",P="]",F="|",G={"class":"fusioncharts-label",
"text-anchor":aa,fill:g.color,"font-size":g.fontSize,"font-weight":g.fontWeight,"font-style":g.fontStyle,"font-family":g.fontFamily,visibility:"visible"},W={x:0,y:0};l&&l.attr({"clip-rect":null});W.y=.5*f.canvasHeight+f.canvasTop;W.x=f.canvasLeft-A;if(t.openValue&&t.openValue.label||q.openValue)q.openValue||(q.openValue=M.text(l).attr(W)),q.openValue.attr({text:t.openValue.label}).attr(G).attr({"line-height":g.lineHeight,"text-bound":[g.backgroundColor,g.borderColor,g.borderThickness,g.borderPadding,
g.borderRadius,g.borderDash]}).css("color",t.openValue.color),e?q.openValue.animate(W,e,y):q.openValue.attr(W);G["text-anchor"]=Ba;W.x=f.canvasWidth+f.canvasLeft+A;if(t.closeValue&&t.closeValue.label||q.closeValue)q.closeValue||(q.closeValue=M.text(l).attr(W)),q.closeValue.attr({text:t.closeValue.label}).attr(G).attr({"line-height":g.lineHeight,"text-bound":[g.backgroundColor,g.borderColor,g.borderThickness,g.borderPadding,g.borderRadius,g.borderDash]}).css("color",t.closeValue.color),e?q.closeValue.animate(W,
e,y):q.closeValue.attr(W),W.x+=t.closeValue.smartObj&&t.closeValue.smartObj.width+2+A||0;if(t.highLowValue&&t.highLowValue.label||q.highValue)t.highLowValue&&t.highLowValue.label===ca&&(F=E=P=ca),q.startBraces||(q.startBraces=M.text(l).attr(W).attr(G)),q.highValue||(q.highValue=M.text(l).attr(W).attr(G)),q.separater||(q.separater=M.text(l).attr(W).attr(G)),q.lowValue||(q.lowValue=M.text(l).attr(W).attr(G)),q.endBraces||(q.endBraces=M.text(l).attr(W).attr(G)),n.useEllipsesOnOverflow(f.useEllipsesWhenOverflow),
n.setStyle(g),q.startBraces.attr({text:E}),e?q.startBraces.animate(W,e,y):q.startBraces.attr(W),W.x+=n.getSmartText(E).width,q.highValue.attr({text:t.highValue.label}).css("color",t.highValue.color),e?q.highValue.animate(W,e,y):q.highValue.attr(W),W.x+=n.getSmartText(t.highValue.label).width,q.separater.attr({text:F}),e?q.separater.animate(W,e,y):q.separater.attr(W),W.x+=n.getSmartText(F).width,q.lowValue.attr({text:t.lowValue.label}).css("color",t.lowValue.color),e?q.lowValue.animate(W,e,y):q.lowValue.attr(W),
W.x+=n.getSmartText(t.lowValue.label).width,q.endBraces.attr({text:P}),e?q.endBraces.animate(W,e,y):q.endBraces.attr(W);this.labelDrawn=!0},ua=function(){var e=this.chart,f=e.jsonData.chart,t=e.components,e=t.colorManager,M=this.components.data,t=t.xAxis[0],A=y(f.periodlength,0),l;l=t.getLimit();t.config.axisData.band.isDraw=!0;A&&t.setAxisData({alternateGridColor:g(f.periodcolor,e.getColor("periodColor")),alternateGridAlpha:g(f.periodalpha,100),showAlternateGridColor:!0,categoryNumDivLines:M&&(l.max-
l.min)/A-1,categoryDivLinesFromZero:0});t.draw()};f("sparkchartbase",{standaloneInit:!0,creditLabel:ga,showBorder:0,chartTopMargin:3,chartRightMargin:3,chartBottomMargin:3,chartLeftMargin:3,canvasBorderThickness:1,subTitleFontSizeExtender:0,subTitleFontWeight:0,defaultPaletteOptions:function(e,f){var g;e||(e={});for(g in f)e[g]=f[g];return e}(F({},Z),{paletteColors:[["555555","A6A6A6","CCCCCC","E1E1E1","F0F0F0"],["A7AA95","C4C6B7","DEDFD7","F2F2EE"],["04C2E3","66E7FD","9CEFFE","CEF8FF"],["FA9101",
"FEB654","FED7A0","FFEDD5"],["FF2B60","FF6C92","FFB9CB","FFE8EE"]],bgColor:["FFFFFF","CFD4BE,F3F5DD","C5DADD,EDFBFE","A86402,FDC16D","FF7CA0,FFD1DD"],bgAngle:[270,270,270,270,270],bgRatio:["0,100","0,100","0,100","0,100","0,100"],bgAlpha:["100","60,50","40,20","20,10","30,30"],canvasBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],canvasBgAngle:[0,0,0,0,0],canvasBgAlpha:["100","100","100","100","100"],canvasBgRatio:[ca,ca,ca,ca,ca],canvasBorderColor:["BCBCBC","BEC5A7","93ADBF","C97901","FF97B1"],
toolTipBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor:["545454","545454","415D6F","845001","68001B"],baseFontColor:["333333","60634E","025B6A","A15E01","68001B"],trendColor:["666666","60634E","415D6F","845001","68001B"],plotFillColor:["666666","A5AE84","93ADBF","C97901","FF97B1"],borderColor:["767575","545454","415D6F","845001","68001B"],borderAlpha:[50,50,50,50,50],periodColor:["EEEEEE","ECEEE6","E6ECF0","FFF4E6","FFF2F5"],winColor:["666666","60634E","025B6A","A15E01",
"FF97B1"],lossColor:["CC0000","CC0000","CC0000","CC0000","CC0000"],drawColor:["666666","A5AE84","93ADBF","C97901","FF97B1"],scorelessColor:["FF0000","FF0000","FF0000","FF0000","FF0000"]}),_setAxisLimits:function(){var e=this.components.yAxis;e[0]&&e[0].setAxisData({numDivLines:0});f.mscartesian._setAxisLimits.call(this)},_fetchCaptionPos:function(){return-1},_spaceManager:function(){var e,f=this.config,g=f.canvasBaseDepth,M=this.components.canvas.config.canvasBorderWidth;e=f.borderWidth;var A=f.canvasMarginTop,
t=f.canvasMarginBottom,l=f.canvasMarginLeft,q=f.canvasMarginRight,n=f.minCanvasHeight,y=f.minCanvasWidth,E=f.height,P=f.width,G=!1,F=!1,W=f.origCanvasTopMargin,da=f.origCanvasBottomMargin,N=f.origCanvasLeftMargin,H=f.origCanvasRightMargin;this._allocateSpace({top:e,bottom:e,left:e,right:e});e=.325*f.availableHeight;this._getDSspace&&this._allocateSpace(this._getDSspace(e));f.availableWidth=f.width;e=.75*f.availableWidth;e=e-f.origMarginLeft-f.origMarginRight-2*f.borderWidth;e=ba(.1*f.availableWidth,
e);this._manageChartMenuBar(e);e=.75*(f.availableWidth-2*f.borderWidth);this._placeOpenCloseValues&&this._allocateSpace(this._placeOpenCloseValues(e));this._allocateSpace({top:M,bottom:M,left:M,right:M});this._allocateSpace({bottom:g});n>E-A-t&&(G=!0,M=f.canvasHeight-n,g=A+t,A=f.canvasMarginTop=M*A/g,t=f.canvasMarginBottom=M*t/g);y>P-l-q&&(F=!0,M=f.canvasWidth-y,g=l+q,l=f.canvasMarginLeft=M*l/g,q=f.canvasMarginRight=M*q/g);A=A>f.canvasTop?A-f.canvasTop:0;t=t>E-f.canvasBottom?t+f.canvasBottom-E:0;
l=l>f.canvasLeft?l-f.canvasLeft:0;q=q>P-f.canvasRight?q+f.canvasRight-P:0;this._allocateSpace({top:A,bottom:t,left:l,right:q});G&&(g=W+da,G=f.canvasHeight,G>n&&(M=G-n,A=M*W/g,t=M*da/g),this._allocateSpace({top:A,bottom:t}));F&&(g=N+H,n=f.canvasWidth,n>y&&(M=n-y,l=M*N/g,q=M*H/g),this._allocateSpace({left:l,right:q}));void 0!==f.origCanvasLeftMargin&&(f.canvasWidth=ba(f.canvasWidth+f.canvasLeft-f.origCanvasLeftMargin,.2*f.availableWidth),f.canvasLeft=f.origCanvasLeftMargin)},_manageCaptionSpacing:function(e){var f=
this.config,t=this.components,M=t.caption,A=t.subCaption,l=M.config,n=A.config,M=M.components,A=A.components,q=this.jsonData.chart,E=this.linkedItems.smartLabel,G=P(q.caption),F=P(q.subcaption),q=l.captionPadding=y(q.captionpadding,2),da=t.chartMenuBar.getLogicalSpace(),H=f.height-da.height,ma=0,da=0,W=ba(t.canvas.config.canvasBorderThickness,0),ha=0,t={},N,aa;3<.7*H&&(q<W&&(q=W+2),l.captionPadding=n.captionPadding=q,G!==ca&&(aa=l.style,ma=l.captionLineHeight=fa(parseFloat(g(aa.fontHeight,aa.lineHeight),
10),12)),F!==ca&&(N=n.style,da=fa(parseInt(g(N.lineHeight,N.fontHeight),10),12)),E.useEllipsesOnOverflow(f.useEllipsesWhenOverflow),0<ma||0<da)&&(E.setStyle(aa),f=E.getSmartText(G,e,H),0<f.width&&(f.width+=2,ha=f.height),E.setStyle(N),N=E.getSmartText(F,e,H-ha),0<N.width&&(N.width+=2),l.captionSubCaptionGap=f.height+0+.2*da,Math.max(f.width,N.width),M.text=f.text,l.height=f.height,l.width=f.width,l.tooltext&&(M.originalText=f.tooltext),A.text=N.text,n.height=N.height,n.width=N.width,n.tooltext&&(M.originalText=
N.tooltext),M=Math.max(f.width,N.width),l.captionPadding=q=ka(e-M,q),0<M&&(M=ka(e,M+q)),l.maxCaptionWidth=n.maxCaptionWidth=M,l.isOnLeft?t.left=M:t.right=M);return t},_manageCaptionPosition:function(){var e=this.config,f=this.components,g=f.caption.config,f=f.subCaption.config,t=g.captionPosition,A=ba(g.width,f.width),n=e.borderWidth||0,y=e.height,q=(e.sparkValues||{}).openValueWidth||0,E=g.captionPadding,P=g.captionSubCaptionGap;switch(t){case l:g.y=(y-(g.height+f.height))/2+.5*(g._offsetHeight||
0);break;case da:g.y=y-(g.height+f.height)-e.marginBottom-n;break;default:g.y=e.marginTop+n+(g._offsetHeight||0)}f.y=g.y+P;g.isOnLeft?(g.align=f.align=aa,g.x=f.x=e.canvasLeft-(n+q+2+E)+e.borderWidth):(g.align=f.align=Ba,g.x=f.x=e.width-e.marginRight-A-n)}},f.sscartesian);f("sparkcolumn",{standaloneInit:!0,creditLabel:ga,friendlyName:"sparkcolumn Chart",defaultDatasetType:"sparkcolumn",_parseCanvasCosmetics:function(){var e,f,t=this.config;f=this.components;var l=f.canvas.config,A=this.jsonData.chart;
f=f.colorManager;var n,E=this.is3D?H.chartPaletteStr.chart3D:H.chartPaletteStr.chart2D,q=l.isRoundEdges=y(A.useroundedges,0);e=y(A.showxaxisline,A.showyaxisline,0)?0:1;l.canvasBorderRadius=y(A.plotborderradius,q?2:0);e=l.showCanvasBorder=Boolean(y(A.showcanvasborder,e,void 0,q?0:1));n=l.oriCanvasBorderThickness=ba(y(A.canvasborderthickness,q?0:y(this.canvasborderthickness,1),0));l.canvasBorderWidth=this.is3D?0:e?n:0;l.canvasBorderColor=G(g(A.canvasbordercolor,f.getColor("canvasBorderColor")),g(A.canvasborderalpha,
f.getColor("canvasBorderAlpha")));e=l.canBGAlpha=g(A.canvasbgalpha,f.getColor("canvasBgAlpha"));l.canBGColor={FCcolor:{color:g(A.canvasbgcolor,f.getColor(E.canvasBgColor)),alpha:g(A.canvasbgalpha,100),angle:g(A.canvasbgangle,0),ratio:g(A.canvasbgratio)}};f=l.shadow=y(A.showshadow,q,0)&&q?{enabled:!0,opacity:e/100}:0;l.shadowOnCanvasFill=f&&f.enabled;t.origMarginTop=y(A.charttopmargin,3);t.origMarginLeft=y(A.chartleftmargin,3);t.origMarginBottom=y(A.chartbottommargin,3);t.origMarginRight=y(A.chartrightmargin,
3);t.origCanvasLeftMargin=y(A.canvasleftmargin);t.origCanvasRightMargin=y(A.canvasrightmargin);t.origCanvasTopMargin=y(A.canvastopmargin);t.origCanvasBottomMargin=y(A.canvasbottommargin);l.canvasPadding=y(A.canvaspadding,0);l.origCanvasTopPad=y(A.canvastoppadding,0);l.origCanvasBottomPad=y(A.canvasbottompadding,0);l.origCanvasLeftPad=y(A.canvasleftpadding,0);l.origCanvasRightPad=y(A.canvasrightpadding,0)},canvasBorderThickness:1,singleseries:!1},f.sparkchartbase);FusionCharts.register("component",
["dataset","sparkcolumn",{_setConfigure:function(f){var l=this.chart,n=l.jsonData.chart,M=this.config,A=this.JSONData,P=f||A.data,G=P&&P.length,q=l.config.categories,q=q&&q.length;f=f&&f.data.length||ka(q,G);var G=M.showHoverEffect,F=l.components.colorManager,l=M.isRoundEdges,da,H,ma,aa,ba,W,Z,N,ga,Ba,fa,ua,ya,Ha,Sa,wa,pa,ea,Ma;M.plotgradientcolor=ca;M.showValues=y(A.showvalues,n.showvalues,0);M.showShadow=y(n.showshadow,0);this.__base__._setConfigure.call(this);q=this.components.data;ea=M.maxValue;
Ma=M.minValue;F=g(n.plotfillcolor,F.getColor("plotFillColor"));ga=g(n.plotfillalpha,Fa);Ba=g(n.plotborderalpha,Fa);fa=g(n.plotbordercolor,F);ua=g(n.highcolor,"000000");ya=g(n.lowcolor,"000000");Ha=g(n.highbordercolor,n.plotbordercolor,ua);Sa=g(n.lowbordercolor,n.plotbordercolor,ya);M.plotBorderThickness=Z=y(n.showplotborder,0)?y(n.plotborderthickness,1):0;for(pa=0;pa<f;pa++)if(wa=P[pa],aa=q[pa],N=aa.config,da=F,H=fa,N.setValue==ea&&(da=ua,H=Ha),aa.config.setValue==Ma&&(da=ya,H=Sa),N.colorArr=da=t(da+
e+M.plotgradientcolor,ga,"0","90",l,H,Ba,0,0),0!==G&&da){H=ma=void 0;N.setValue==ea&&(H=n.highhovercolor,ma=n.highhoveralpha);aa.config.setValue==Ma&&(H=n.lowhovercolor,ma=n.lowhoveralpha);H=g(wa.hovercolor,A.hovercolor,H,n.plotfillhovercolor,n.columnhovercolor,da[0].FCcolor.color);H=H.split(/\s{0,},\s{0,}/);aa=H.length;for(ba=0;ba<aa;ba++)H[ba]=E(H[ba],70);H=H.join(",");ma=g(wa.hoveralpha,A.hoveralpha,ma,n.plotfillhoveralpha,n.columnhoveralpha,ga);aa=g(wa.hovergradientcolor,A.hovergradientcolor,
n.plothovergradientcolor,M.plotgradientcolor);!aa&&(aa=ca);ba=g(wa.borderhovercolor,A.borderhovercolor,n.plotborderhovercolor,M.plotBorderColor);W=g(wa.borderhoveralpha,A.borderhoveralpha,n.plotborderhoveralpha,n.plotfillhoveralpha,Ba,ga);y(wa.borderhoverthickness,A.borderhoverthickness,n.plotborderhoverthickness,Z);1==G&&H===da[0].FCcolor.color&&(H=E(H,70));wa=t(H+e+aa,ma,"0","90",l,ba,W.toString(),0,0);N.setRolloutAttr={fill:ha(da[0]),stroke:Z&&ha(da[1]),"stroke-width":Z};N.setRolloverAttr={fill:ha(wa[0]),
stroke:Z&&ha(wa[1]),"stroke-width":Z}}},draw:function(){this.__base__.draw.call(this);ua.call(this)}},"Column"]);FusionCharts.register("component",["datasetGroup","SparkColumn",{},"column"]);f("sparkwinloss",{standaloneInit:!0,friendlyName:"sparkwinloss Chart",creditLabel:ga,defaultDatasetType:"sparkwinloss",canvasBorderThickness:0,applicableDSList:{sparkwinloss:!0},_setAxisLimits:function(){var e=this.components.yAxis;f.mscartesian._setAxisLimits.call(this);e[0]&&e[0].setAxisRange({min:-1,max:1})},
_placeOpenCloseValues:function(e){var f=this.config,g=this.components.dataset[0],l=this.linkedItems.smartLabel,t=f.dataLabelStyle,n=y(t.borderThickness,0),E=g.config.valuePadding+2+n,q=0,g=0,n=f.sparkValues||{};l.useEllipsesOnOverflow(f.useEllipsesWhenOverflow);l.setStyle(t);n.openValue&&n.openValue.label&&(n.openValue.smartObj=l.getSmartText(n.openValue.label),q=n.openValue.smartObj.width+E);n.closeValue&&n.closeValue.label&&(n.closeValue.smartObj=l.getSmartText(n.closeValue.label),g+=n.closeValue.smartObj.width+
E);n.highValue&&n.highValue.label&&(n.highValue.smartObj=l.getSmartText(n.highValue.label));n.lowValue&&n.lowValue.label&&(n.lowValue.smartObj=l.getSmartText(n.lowValue.label));n.highLowValue&&n.highLowValue.label&&(n.highLowValue.smartObj=l.getSmartText(n.highLowValue.label),g+=n.highLowValue.smartObj.width+E);f=n.openValueWidth=ka(q,e);e=n.closeValueWidth=ka(g,e-f);return{left:f,right:e}},_parseCanvasCosmetics:function(){var e,f;e=this.components;var n=this.config,l=e.canvas.config,t=this.jsonData.chart,
E=e.colorManager;l.canvasBorderRadius=0;e=l.canvasBorderThickness=0;f=l.showCanvasBorder=0;l.canvasBorderWidth=f?e:0;l.canvasBorderColor=G(g(t.canvasbordercolor,E.getColor("canvasBorderColor")));l.canBGColor=ma;e=l.shadow=0;l.shadowOnCanvasFill=e&&e.enabled;l.origCanvasTopPad=y(t.canvastoppadding,0);l.origCanvasBottomPad=y(t.canvasbottompadding,0);l.origCanvasLeftPad=y(t.canvasleftpadding,0);l.origCanvasRightPad=y(t.canvasrightpadding,0);n.origCanvasLeftMargin=y(t.canvasleftmargin);n.origCanvasRightMargin=
y(t.canvasrightmargin);n.origCanvasTopMargin=y(t.canvastopmargin);n.origCanvasBottomMargin=y(t.canvasbottommargin)},singleseries:!0},f.sparkchartbase);FusionCharts.register("component",["dataset","sparkwinloss",{_setConfigure:function(e,f){var n=this.chart,l=this.config,t=this.JSONData,P=e||t.data,G=P&&P.length,q=n.config.categories,q=q&&q.length,G=e&&e.data.length||ka(q,G),q=n.jsonData.chart,F=n.components,da=F.colorManager,F=F.xAxis[0],ma=l.showPlotBorder,aa=l.plotColor=da.getPlotColor(this.index||
this.positionIndex),Z=H.parseUnsafeString,ga=g(q.plotfillcolor,da.getColor("plotFillColor")),W=g(q.wincolor,da.getColor("winColor")),Ba=g(q.losscolor,da.getColor("lossColor")),N=g(q.drawcolor,da.getColor("drawColor")),da=g(q.scorelesscolor,da.getColor("scorelessColor")),fa=q.winhovercolor,ua=q.losshovercolor,Va=q.drawhovercolor,$a=q.scorelesshovercolor,ya=0,Ra=0,Sa=0,wa,pa,ea=l.plotBorderThickness,Ma=l.isRoundEdges,Za=l.showHoverEffect,Na=l.plotFillAngle,Aa,bb,Ta,Ka,Oa=l.plotBorderDashStyle,ia,sa,
xa,La,cb,a,d,b,c,k,I=H.getDashStyle,h=this.components.data,r=n.isBar,m=n.is3D,$,Wa=l.maxValue||-Infinity,p=l.minValue||Infinity,qa;h||(h=this.components.data=[]);this.__base__._setConfigure.call(this);l.plotgradientcolor="";xa=l.showPlotBorder=y(q.showplotborder,0);l.plotBorderAlpha=xa?g(q.plotborderalpha,Aa,Fa):0;for($=l.showTooltip=0;$<G;$++){e?(ia=e&&e.data[$],qa=void 0!==f?f+$:h.length-G+$,pa=h[qa]):(pa=h[$],ia=P[$]);xa=pa&&pa.config;pa||(pa=h[$]={});pa.config||(xa=h[$].config={});switch((ia.value||
"").toLowerCase()){case "w":aa=g(ia.color,W,ga);La=g(ia.hovercolor,fa,aa);xa.setValue=sa=1;ya+=1;break;case "l":aa=g(ia.color,Ba,ga);La=g(ia.hovercolor,ua,aa);xa.setValue=sa=-1;Ra+=1;break;case "d":aa=g(ia.color,N,ga);La=g(ia.hovercolor,Va,aa);xa.setValue=sa=.1;Sa+=1;break;default:xa.setValue=sa=null}1==ia.scoreless&&(aa=g(ia.color,da,ga),La=g(ia.hovercolor,$a,ia.color,da,La));xa.toolText=!1;xa.setLink=g(ia.link);xa.setDisplayValue=Z(ia.displayvalue);Ka=y(ia.dashed);Aa=y(ia.dashlen,void 0);cb=pa=
y(ia.dashgap,l.plotDashGap);null!==sa&&(Wa=ba(Wa,sa),p=ka(p,sa));xa.plotBorderDashStyle=Ka=1===Ka?I(Aa,cb,ea):0===Ka?"none":Oa;Aa=g(ia.alpha,l.plotFillAlpha);Ta=g(ia.alpha,l.plotBorderAlpha,Aa).toString();0>sa&&!Ma&&(wa=l.plotfillAngle,Na=r?180-Na:360-Na);xa.colorArr=sa=H.graphics.getColumnColor(aa+","+l.plotgradientcolor,Aa,bb=l.plotFillRatio,Na,Ma,l.plotBorderColor,Ta,r?1:0,m?!0:!1);xa.label=Ha(Z(F.getLabel(y(qa-G,$)).label));0!==Za&&(La=g(ia.hovercolor,t.hovercolor,q.plotfillhovercolor,q.columnhovercolor,
aa),cb=g(ia.hoveralpha,t.hoveralpha,q.plotfillhoveralpha,q.columnhoveralpha,Aa),a=g(ia.hovergradientcolor,t.hovergradientcolor,q.plothovergradientcolor,l.plotgradientcolor),!a&&(a=""),bb=g(ia.hoverratio,t.hoverratio,q.plothoverratio,bb),d=y(360-ia.hoverangle,360-t.hoverangle,360-q.plothoverangle,Na),b=g(ia.borderhovercolor,t.borderhovercolor,q.plotborderhovercolor,l.plotBorderColor),Ta=g(ia.borderhoveralpha,t.borderhoveralpha,q.plotborderhoveralpha,Ta,Aa),Aa=y(ia.borderhoverthickness,t.borderhoverthickness,
q.plotborderhoverthickness,ea),c=y(ia.borderhoverdashed,t.borderhoverdashed,q.plotborderhoverdashed),k=y(ia.borderhoverdashgap,t.borderhoverdashgap,q.plotborderhoverdashgap,void 0),ia=y(ia.borderhoverdashlen,t.borderhoverdashlen,q.plotborderhoverdashlen,pa),ia=c?I(ia,k,Aa):Ka,1==Za&&La===aa&&(La=E(La,70)),pa=H.graphics.getColumnColor(La+","+a,cb,bb,d,Ma,b,Ta.toString(),r?1:0,m?!0:!1),xa.setRolloutAttr={fill:m?[ha(sa[0]),!l.use3DLighting]:ha(sa[0]),stroke:ma&&ha(sa[1]),"stroke-width":ea,"stroke-dasharray":Ka},
xa.setRolloverAttr={fill:m?[ha(pa[0]),!l.use3DLighting]:ha(pa[0]),stroke:ma&&ha(pa[1]),"stroke-width":Aa,"stroke-dasharray":ia});wa&&(Na=wa);qa++}l.maxValue=1;l.minValue=-1;1==y(q.showvalue,1)&&(n.config.sparkValues={closeValue:{}},n.config.sparkValues.closeValue.label=ya+"-"+Ra+(0<Sa?"-"+Sa:ca))},draw:function(){this.__base__.draw.call(this);ua.call(this)},drawLabel:$a},"Column"]);FusionCharts.register("component",["datasetGroup","SparkWinLoss",{manageSpace:function(){},draw:function(){var e=this.positionStackArr,
f=e.length,l,n,g,t,E=this.chart;l=E.config.viewPortConfig.scaleX||1;n=E.is3D;g=E.graphics.columnGroup;var q=E.graphics;t=E.components.canvas.config.clip["clip-canvas"].slice(0);q=q.datalabelsGroup;E=E.get("config","animationObj").duration;t[2]*=l;g.clip||n||(g.attr({"clip-rect":t}),q.attr({}));E?(!n&&g.animate({"clip-rect":t},E,"normal"),!n&&q.animate({},E,"normal")):(!n&&g.attr({"clip-rect":t}),!n&&q.attr({}));this.preDrawCalculate();this.drawSumValueFlag=!0;for(l=0;l<f;l++)for(n=e[l],g=n.length,
this.manageClip=!0,n=0;n<g;n++)t=e[l][n].dataSet,t.draw()}},"column"]);f("sparkline",{standaloneInit:!0,friendlyName:"SparkLine Chart",creditLabel:ga,defaultDatasetType:"sparkline",singleseries:!0,showValues:0,_parseCanvasCosmetics:f.sparkwinloss._parseCanvasCosmetics,_placeOpenCloseValues:f.sparkwinloss._placeOpenCloseValues,defaultPlotShadow:0,axisPaddingLeft:0,axisPaddingRight:0,applicableDSList:{line:!0}},f.sparkchartbase,{showValues:0});FusionCharts.register("component",["dataset","sparkline",
{type:"sparkline",configure:function(){var e=this.config,f=this.JSONData,l=this.chart.jsonData.chart;this.__base__.configure.call(this);e.lineThickness=y(f.linethickness,l.linethickness,1)},_setConfigure:function(e){var f=this.chart,l=this.config,t=this.JSONData,A=f.jsonData.chart,t=e||t.data,P,G=f.components.xAxis[0];e=e&&e.data.length||G.getCategoryLen();var q=f.components.colorManager,f=f.config,F,da,G=n(g(A.opencolor,"0099FF")),H=n(g(A.closecolor,"0099FF")),aa=n(g(A.highcolor,"00CC00")),ma=n(g(A.lowcolor,
"CC0000")),ha=n(g(A.anchorcolor,q.getColor("plotFillColor")));da=y(A.showopenanchor,A.drawanchors,A.showanchors,1);var W=y(A.showcloseanchor,A.drawanchors,A.showanchors,1),Z=y(A.showhighanchor,A.drawanchors,A.showanchors,1),N=y(A.showlowanchor,A.drawanchors,A.showanchors,1),ba=y(A.anchoralpha,100),ga=y(A.drawanchors,A.showanchors,0)?y(A.anchoralpha,100):0,Ba=g(A.linecolor,q.getColor("plotFillColor")),fa,ya,ua,ka,Fa,pa;this.__base__._setConfigure.call(this);q=this.components.data;ya=l.maxValue;ua=
l.minValue;l.shadow={opacity:y(A.showshadow,0)?l.lineAlpha/100:0};P=q[0];F=P.config;F.anchorProps.bgColor=g(P.anchorbgcolor,G);F.anchorProps.enabled=!!da;F.anchorProps.bgAlpha=da?ka:0;F.anchorProps.enabled&&F.hoverEffects&&(F.hoverEffects.anchorColor=g(A.openhovercolor,A.anchorhovercolor,A.plotfillhovercolor,E(G,70)),F.hoverEffects.anchorBgAlpha=y(A.openhoveralpha,A.anchorhoveralpha,A.plotfillhoveralpha,100));l=F.displayValue;P=q[e-1];F=P.config;F.anchorProps.bgColor=g(P.anchorbgcolor,H);F.anchorProps.enabled=
!!W;F.anchorProps.bgAlpha=W?ka:0;F.anchorProps.enabled&&F.hoverEffects&&(F.hoverEffects.anchorColor=g(A.closehovercolor,A.anchorhovercolor,A.plotfillhovercolor,E(H,70)),F.hoverEffects.anchorBgAlpha=y(A.closehoveralpha,A.anchorhoveralpha,A.plotfillhoveralpha,100));W=F.displayValue;for(da=0;da<e;da++)P=q[da],F=P.config,P=t[da],ka=y(P.anchorbgalpha,ba),0!==da&&da!==e-1&&(F.anchorProps.bgColor=g(P.anchorbgcolor,ha),F.anchorProps.bgAlpha=y(P.anchorbgalpha,ga),F.hoverEffects.anchorColor=n(g(A.anchorhovercolor,
A.plotfillhovercolor,E(Ba,70))),F.hoverEffects.anchorBgAlpha=y(A.lowhoveralpha,A.anchorhoveralpha,A.plotfillhoveralpha,100)),F.anchorProps.radius=y(A.anchorradius,P.anchorradius,2),F.anchorProps.borderThickness=0,F.hoverEffects.anchorBorderThickness=0,F.hoverEffects.anchorRadius=y(A.anchorhoverradius,A.anchorradius,P.anchorradius,3),F.setValue===ua&&(F.anchorProps.bgColor=g(P.anchorbgcolor,ma),F.hoverEffects.anchorColor=g(A.lowhovercolor,A.anchorhovercolor,A.plotfillhovercolor,E(ma,70)),F.hoverEffects.anchorBgAlpha=
y(A.lowhoveralpha,A.anchorhoveralpha,A.plotfillhoveralpha,100),F.anchorProps.enabled=!!N,F.anchorProps.bgAlpha=N?ka:0,pa=F.displayValue),F.setValue===ya&&(F.anchorProps.bgColor=g(P.anchorbgcolor,aa),F.hoverEffects.anchorColor=g(A.highhovercolor,A.anchorhovercolor,A.plotfillhovercolor,E(aa,70)),F.hoverEffects.anchorBgAlpha=y(A.highhoveralpha,A.anchorhoveralpha,A.plotfillhoveralpha,100),F.anchorProps.enabled=!!Z,F.anchorProps.bgAlpha=Z?ka:0,Fa=F.displayValue),ka=F.setValue,void 0!==ka&&null!==ka&&(fa=
1);t=f.sparkValues={openValue:{color:G},closeValue:{color:H},highValue:{color:aa},lowValue:{color:ma},highLowValue:{}};fa&&(t.openValue.label=y(A.showopenvalue,1)?l:ca,t.closeValue.label=y(A.showclosevalue,1)?W:ca,y(A.showhighlowvalue,1)&&(t.highLowValue.label="["+Fa+" | "+pa+"]",t.highValue.label=Fa,t.lowValue.label=pa))},draw:function(){this.__base__.draw.call(this);this._drawSparkValues();ua.call(this)},_drawSparkValues:function(){$a.call(this)}},"Line"])},[3,2,0,"sr2"]]);
FusionCharts.register("module",["private","modules.renderer.js-messagelogger",function(){var H=this.window,ca=H.document,g=8===ca.documentMode,y=this.hcLib,F=y.Raphael,f=y.componentDispose,E=y.pluckNumber,e=y.isIE,G=y.graphics.HEXtoRGB,Ha=y.graphics.convertColor,ga=y.pluck,ka=Math.min,ba,fa={},ha={display:"block",paddingLeft:"10px",paddingRight:"10px","font-family":"Arial","font-size":"11px"};fa.literal=fa.info={title:'<span style="color: #005900">$titleVal$</span>',body:"<span>$msgVal$</span>"};
fa.link={title:fa.info.title,body:'<a href="$msgLinkVal$">$msgVal$</a>'};fa.error={title:'<span style="color: #CC0000">$titleVal$</span>',body:'<span style="color: #CC0000">$msgVal$</span>'};ba=function(e,f){var n=this.config={},g=(e.msgType||"").toLowerCase(),E=e.msgTitle,l=e.msgText,F=ga(e.msgLink,l);n.totalHTML="";this.graphics={};this.linkedItems={msgLogger:f};g=fa[g]||fa.literal;E&&(n.titleHTML=g.title.replace("$titleVal$",E),n.totalHTML+=n.titleHTML);l&&(n.msgHTML=g.body.replace("$msgVal$",
l),n.msgHTML=n.msgHTML.replace("$msgLinkVal$",F),n.totalHTML+=n.msgHTML)};ba.prototype={draw:function(){var f=this.config,t=this.graphics,n,E=t.element,F=this.linkedItems.msgLogger,l=F.graphics,y=l&&l.log&&l.log.element,l=l.logWrapper&&l.logWrapper.element,F=F.config;if(!E){E=t.element=ca.createElement("span");for(n in ha)E.style[n]=ha[n];y.appendChild&&y.appendChild(E)}t.element.innerHTML=f.totalHTML;e&&g&&(f=y.innerHTML,y.innerHTML=f);F.scrollToBottom&&(F.dynamicScrolling=!0,y=l.scrollHeight,l.scrollTop=
y)},dispose:function(){var e=this.graphics,t=this.linkedItems.msgLogger;t&&t.graphics&&t.graphics.log&&t.graphics.log.element&&t.graphics.log.element.removeChild&&t.graphics.log.element.removeChild(e.element);delete e.element;f.call(this)}};ba.prototype.constractor=ba;FusionCharts.register("component",["logger","message",{pIndex:1,customConfigFn:null,init:function(e){var f=this.linkedItems||(this.linkedItems={});this.components=this.components||{};this.components.messages=this.components.messages||
[];this.graphics=this.graphics||{};f.chart=e},configure:function(){var e=this,f=e.config||(e.config={}),n=e.linkedItems.chart,g=n.get&&n.get("jsonData","chart")||{},F=n.chartMenuTools,n=f.usemessagelog=n.get("config","usemessagelog");f.messageLogWPercent=ka(E(g.messagelogwpercent,80),100);f.messageLogHPercent=ka(E(g.messageloghpercent,70),100);f.messageLogShowTitle=E(g.messagelogshowtitle,1);f.messageLogTitle=ga(g.messagelogtitle,"Message Log");f.messageLogColor=ga(g.messagelogcolor,"#fbfbfb").replace(/^#?([a-f0-9]+)/ig,
"$1");f.messageLogColorRgb=G(f.messageLogColor);f.messageGoesToJS=E(g.messagegoestojs,0);f.messageGoesToLog=E(g.messagegoestolog,1);f.messageJSHandler=ga(g.messagejshandler,"");f.messagePassAllToJS=E(g.messagepassalltojs,0);f.messagePassAsObject=E(g.messagepassasobject,0);f.messageLogIsCancelable=E(g.messagelogiscancelable,1);f.alwaysShowMessageLogMenu=E(g.alwaysshowmessagelogmenu,n);n&&F&&F.set([{"Show Log":{handler:function(){e.show()},action:"click"}}]);f.dynamicScrolling=!1;f.scrollToBottom=!0},
_createMessage:function(e){e=new ba(e,this);this.graphics.container&&e.draw();return e},addLog:function(e){var f=this.config,g=this.components.messages,F=E(e.msgGoesToLog,f.messageGoesToLog),y=E(e.msgGoesToJS,f.messageGoesToJS),l=H[f.messageJSHandler],G=ga(e.msgId,""),aa=ga(e.msgTitle,""),ha=ga(e.msgText,""),Z=ga(e.msgType,"literal");f.usemessagelog&&(y&&l&&"function"===typeof l&&(f.messagePassAllToJS?f.messagePassAsObject?l(e):l(G,aa,ha,Z):l(ha)),"1"===e.clearLog&&this.clearLog(),F&&(e.msgTitle||
e.msgText)&&(e=this._createMessage(e),g.push(e),1!==g.length||f.visible||this.show()))},show:function(){var e=this.graphics,f=this.config;f.visible||(f.visible=!0,e.container||this.draw(),e.container&&e.container.show())},hide:function(){var e=this.graphics;this.config.visible=!1;e.container&&e.container.hide()},clearLog:function(){var e=this.components.messages,f,g=e.length;for(f=0;f<g;f+=1)e[f]&&e[f].dispose&&e[f].dispose();e.splice(0,g)},isDrawn:function(){return!!this.graphics.container},draw:function(){var e=
this.config,f=this.components.messages,g;if(e.usemessagelog)for(this._createHTMLDialogue(),e.visible||this.hide(),g=f.length,e=0;e<g;e+=1)f[e]&&f[e].draw&&f[e].draw();else this.isDrawn()&&(this.clearLog(),this.hide())},_createHTMLDialogue:function(){var e=this,f=e.config,g=e.graphics,E=e.components,y=e.linkedItems.chart,l=y.get("components","paper"),G=y.get("linkedItems","container"),H=y.get("config"),ha=H.width,Z=H.height,ba=(y=H.style)&&y.inCanvasStyle,ca=f.messageLogShowTitle,ga=f.messageLogIsCancelable,
ka=f.messageLogColor,fa=f.messageLogTitle,M=E.paper,A=g.cg,Ga=f.messageLogWPercent/100*ha,eb=f.messageLogHPercent/100*Z,q=(ha-Ga)/2,Xa=(Z-eb)/2,mb=Ga-18-22,Ya=eb-18-22,Qa=q+Ga-21,fb=Xa+3,y=g.container,H=e.isDrawn()&&H.animation&&H.animation.transposeAnimDuration;y||(y=g.container=l.html("div",{fill:"transparent"},{fontSize:"10px",lineHeight:"15px"},G),g.veil=l.html("div",{id:"veil",fill:"000000",opacity:.1},void 0,y).on("click",function(){ga&&e.hide()}),fa&&ca&&(g.title=l.html("p",{id:"Title",innerHTML:fa,
x:5,y:5},{"font-weight":"bold"},y)),g.dialog=l.html("div",{id:"dialog",strokeWidth:1},{borderRadius:"5px",boxShadow:"1px 1px 3px #000000","-webkit-border-radius":"5px","-webkit-box-shadow":"1px 1px 3px #000000",filter:'progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color="#000000")'},y),g.logBackground=l.html("div",{id:"dialogBackground",x:0,y:0},void 0,g.dialog),ga&&(g.closeBtnContainer=l.html("div",{id:"closeBtnContainer"},{},y),E.paper=M=new F("closeBtnContainer",18,18),M.setConfig("stroke-linecap",
"round"),A=g.cg=M.group("closeGroup"),g.closeButton=M.symbol("closeIcon",0,0,6,A).attr({transform:"t9,9","stroke-width":2,stroke:Ha("999999"),ishot:!0,"stroke-linecap":"round","stroke-linejoin":"round"}).css({cursor:"pointer",_cursor:"hand"}).click(function(){e.hide()})),g.logWrapper=l.html("div",{id:"logWrapper"},{overflow:"auto"},g.dialog).on("scroll",function(){var e=this&&this.scrollTop,g=this&&this.scrollHeight,l=this&&this.offsetHeight;f.dynamicScrolling?f.dynamicScrolling=!1:f.scrollToBottom=
g-e===l?!0:!1}),g.log=l.html("div",{id:"log",x:0,y:0},{},g.logWrapper));y.css({fontFamily:ba.fontFamily});g.dialog.attr({fill:"ffffff",stroke:ka});g.logBackground.attr({fill:ka});E={width:ha,height:Z};l={x:q,y:Xa,width:Ga,height:eb};G={width:Ga,height:eb};Qa={width:18,height:18,x:Qa,y:fb};Ga={x:(Ga-mb)/2,y:(eb-Ya)/2,width:mb,height:Ya};H?(y.animate(E,H,"normal"),g.veil.animate(E,H,"normal"),g.dialog.animate(l,H,"normal"),g.logBackground.animate(G,H,"normal"),g.closeBtnContainer&&g.closeBtnContainer.animate(Qa,
H,"normal"),g.logWrapper.animate(Ga,H,"normal")):(y.attr(E),g.veil.attr(E),g.dialog.attr(l),g.logBackground.attr(G),g.closeBtnContainer&&g.closeBtnContainer.attr(Qa),g.logWrapper.attr(Ga))}}])}]);
FusionCharts.register("module",["private","modules.renderer.js-alertmanager",function(){var H=this,ca=function(g){return function(){eval(g.param)}};FusionCharts.register("component",["manager","alert",{pIndex:1,init:function(g){this.linkedItems={chart:g}},configure:function(){var g=this.linkedItems.chart,y=g.get("jsonData","alerts"),y=y&&y.alert,g=g.get("components","numberFormatter"),F=this.config||(this.config={}),f,E;if(y&&y.length)for(F.alertArr=y,F=y.length,f=0;f<F;f+=1)E=y[f],E.minvalue=g.getCleanValue(E.minvalue),
E.maxvalue=g.getCleanValue(E.maxvalue);else F.alertArr=[]},processRTData:function(g){var y=this.linkedItems.chart.get("components","numberFormatter"),F,f,E,e,G,H,ga;if(g&&g.dataset&&g.dataset.length)for(E=g.dataset.length,F=0;F<E;F+=1)if(e=g.dataset[F],e.data&&e.data.length)for(G=e.data.length,f=0;f<G;f+=1)ga=(H=e.data[f])&&y.getCleanValue(H.value),null!==ga&&this._doAlert(y.getCleanValue(H.value))},_doAlert:function(g){var y=this.linkedItems.chart,F=this.config.alertArr,f=F.length,E,e,G;for(e=0;e<
f;e+=1)if(E=F[e],G=E.action&&E.action.toLowerCase(),E.minvalue<=g&&E.maxvalue>=g){if("1"!==E.occuronce||!E.hasOccurred){E.hasOccurred=!0;E.state="1";switch(G){case "calljs":setTimeout(ca(E),0);break;case "showannotation":y.showAnnotation&&y.showAnnotation(E.param)}H.raiseEvent("AlertComplete",{alertValue:g,alertMaxValue:E.maxvalue,alertMinValue:E.minvalue},y.chartInstance)}}else"showannotation"===G&&"1"===E.state&&y.hideAnnotation&&y.hideAnnotation(E.param),E.state="2"}}])}]);
FusionCharts.register("module",["private","modules.renderer.js-realtime",function(){var H=this,ca=H.window,g=Math.random,y=H.hcLib.pluckNumber,F=function(f,e,g){clearTimeout(g);return setTimeout(f,e)},f;f=function(f){var e=f.sender,G=e.__state,Ha,ga,ka,ba,fa,ha,P,t,n,ma;G.dataSetDuringConstruction&&!G.rtStateChanged&&void 0===G.rtPreInit&&(e.dataReady()?(G.rtStateChanged=!0,G.rtPreInit=!0):G.rtPreInit=!1);G.rtStateChanged&&(G.rtStateChanged=!1,ka=(ga=e.jsVars)&&ga.instanceAPI)&&(ba=ka.config||{},
Ha=ka.jsonData&&ka.jsonData.chart,ka=ba&&ba.chart||{},fa=1E3*y(ba.updateInterval,ba.refreshInterval),ha=1E3*y(ba.clearInterval,0),P=ba.dataStreamURL,ka=Boolean(ba&&ba.realtimeEnabled&&0<fa&&void 0!==P&&""!==P&&ka),ba=ba&&ba.plotOptions&&ba.plotOptions.series.animation&&ba.plotOptions.series.animation.duration||0,t=G._rtAjaxObj,n=function(){e.clearChart&&e.clearChart();ha&&(G._toClearChart=setTimeout(n,ha))},ma=function(){var e=P,f=Ha&&Ha.datastamp,e=e+((-1===P.indexOf("?")?"?num=":"&num=")+g());f&&
(e+="&dataStamp="+f);t.open&&t.abort();t.get(e);G._rtAjaxLatencyStart=new Date},0>=fa?(G._toRealtime=clearTimeout(G._toRealtime),t&&t.abort()):10>fa&&(fa=10),G._toClearChart=clearTimeout(G._toClearChart),0<ha&&(10>ha?ha=10:G._toClearChart=setTimeout(n,ha)),G._rtStaticRefreshMS=fa,ka&&(void 0===G._rtPaused&&(G._rtPaused=!1),G._rtDataUrl=P,G.lastSetValues=null,t=G._rtAjaxObj||(G._rtAjaxObj=new H.ajax),t.onSuccess=function(g,l,n,t){if(!e.disposed){l=ga.instanceAPI;n=l.feedData;var y={},F=l.config;G._rtAjaxLatencyStart&&
(G._rtAjaxLatency=new Date-G._rtAjaxLatencyStart);if(n&&F.realtimeEnabled&&P){l._getPrevData();l.feedData(g,!0,t,G._rtAjaxLatency||0);g=(y.realtimeDrawingLatency||0)+(G._rtAjaxLatency||0);try{ca.FC_ChartUpdated&&ca.FC_ChartUpdated(f.sender.id)}catch(H){setTimeout(function(){throw H;},1)}G._rtPaused||(g>=G._rtStaticRefreshMS&&(g=G._rtStaticRefreshMS-1),G._toRealtime=setTimeout(ma,G._rtStaticRefreshMS-g))}else G._toRealtime=clearTimeout(G._toRealtime)}},t.onError=function(g,l,n,t){G._rtAjaxLatencyStart&&
(G._rtAjaxLatency=new Date-G._rtAjaxLatencyStart);H.raiseEvent("realtimeUpdateError",{source:"XmlHttpRequest",url:t,xmlHttpRequestObject:l.xhr,error:g,httpStatus:l.xhr&&l.xhr.status?l.xhr.status:-1,networkLatency:G._rtAjaxLatency},f.sender);G._toRealtime=e.isActive()?setTimeout(ma,fa):clearTimeout(G._toRealtime)},G._rtPaused||(G._toRealtime=F(ma,ba>fa?ba:fa,G._toRealtime))))};H.addEventListener(["beforeDataUpdate","beforeRender"],function(f){f=f.sender;var e=f.__state;f.jsVars&&(f.jsVars._rtLastUpdatedData=
null);e._toRealtime&&(e._toRealtime=clearTimeout(e._toRealtime));e._toClearChart&&(e._toClearChart=clearTimeout(e._toClearChart));e._rtAjaxLatencyStart=null;e._rtAjaxLatency=null});H.addEventListener(["renderComplete","dataUpdated"],function(g){var e=g.sender.__state;e&&(void 0===e.rtPreInit&&(e.rtPreInit=!1),e._rtPaused&&delete e._rtPaused,e.rtStateChanged||(e.rtStateChanged=!0,f.apply(this,arguments)))});H.core.addEventListener("beforeDispose",function(f){f=f.sender.__state;f._toRealtime&&(f._toRealtime=
clearTimeout(f._toRealtime));f._toClearChart&&(f._toClearChart=clearTimeout(f._toClearChart))});H.core.addEventListener("drawComplete",f)}]);
FusionCharts.register("module",["private","modules.renderer.js-widgets",function(){function H(){}var ca=this,g=ca.hcLib,y=g.Raphael,F=g.BLANKSTRING,f=g.pluck,E=g.getValidValue,e=g.pluckNumber,G=g.getFirstDefinedValue,Ha=g.getColorCodeString,ga={},ka=g.extend2,ba=g.hasSVG,fa=g.getFirstValue,ha=g.graphics.getDarkColor,P=g.graphics.getLightColor,t=g.graphics.convertColor,n=g.chartAPI,ma=g.getDashStyle,da=g.parseTooltext,l=g.COMMASTRING,Ba=g.ZEROSTRING,aa=g.parseUnsafeString,Fa=ca.window,Z=/msie/i.test(Fa.navigator.userAgent)&&
!Fa.opera,$a=g.regex.hexcode,ua="rgba(192,192,192,"+(Z?.002:1E-6)+")",lb=Z?.002:1E-6,Z=Math,Ia=Z.round,hb=Z.ceil,M=Z.max,A=Z.min,Ga=Z.abs,eb=Z.atan2,q=Z.pow,Xa=Z.sqrt,Z=Z.PI,mb=2*Z,Ya=Z/180,Qa=g.regex.dropHash,fb=g.toPrecision,ub=g.POSITION_START,W=g.POSITION_END,ab=g.HASHSTRING,N=g.toRaphaelColor,Z=g.TOUCH_THRESHOLD_PIXELS,ra=g.CLICK_THRESHOLD_PIXELS,nb=void 0!==Fa.document.documentElement.ontouchstart,Va=nb?Z:ra,Ib=g.getPosition,ya=g.plotEventHandler,Ra={"true":void 0,"false":"crisp"},Sa=function(a,
d,b){var c=0,k=a.length;if(b)for(;c<k;c++){if(!1===d.call(b,a[c],c,a))return c}else for(;c<k;c++)if(!1===d.call(a[c],a[c],c,a))return c},Z=function(a,d){var b;a||(a={});for(b in d)a[b]=d[b];return a},wa=function(a,d,b,c){d=e(d,c);a=e(a,b);return d&&a?a/b==d/c?b/a:Math.min(b/a,c/d):1},pa=function(a){return"string"===typeof a},ea=function(a){return void 0!==a&&null!==a},Ma=g.regex.startsRGBA,Za=g.setLineHeight,Na=g.pluckFontSize,Aa=g.POSITION_MIDDLE,bb=g.POSITION_TOP,Ta=g.POSITION_BOTTOM,Ka=g.POSITION_MIDDLE,
Oa=g.HUNDREDSTRING,ia=g.COMMASPACE,sa={right:"end",left:"start",middle:"middle",start:"start",end:"end",center:"middle",undefined:"","":""},ra=!/fusioncharts\.com$/i.test(Fa.location.hostname),xa=function(){return function(a,d,b){var c,k=this,I=this._Attr,h=y.vml?-1.5:0,e=y.vml?-1.5:0,m;I||(I=k._Attr={});pa(a)&&ea(d)&&(c=a,a={},a[c]=d);if(pa(a)||void 0===a)k="angle"==a?k._Attr[a]:k._attr(a);else for(c in a)d=a[c],"angle"===c?(I[c]=d,m=d*Ya,I.tooltipPos[0]=I.cx+I.toolTipRadius*Math.cos(m),I.tooltipPos[1]=
I.cy+I.toolTipRadius*Math.sin(m),I.prevValue=d,b&&b.duration?k.animate({transform:"R"+d+","+h+","+e},b.duration,"easeIn"):k.attr({transform:"R"+d+","+h+","+e})):k._attr(c,d);return k}},La=function(a){var d=[],b;(function(a){(b=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/.exec(a))?d=[parseInt(b[1],10),parseInt(b[2],10),parseInt(b[3],10),parseFloat(b[4])]:(b=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(a))&&(d=[parseInt(b[1],16),parseInt(b[2],
16),parseInt(b[3],16),1])})(a);return{get:function(b){return d&&!isNaN(d[0])?"rgb"===b?"rgb("+d[0]+","+d[1]+","+d[2]+")":"hex"===b?"#"+("000000"+(d[0]<<16|d[1]<<8|d[2]).toString(16)).slice(-6):"a"===b?d[3]:"rgba("+d.join(",")+")":a},brighten:function(a){if(!isNaN(a)&&0!==a){var b;for(b=0;3>b;b++)d[b]+=parseInt(255*a,10),0>d[b]&&(d[b]=0),255<d[b]&&(d[b]=255)}return this},setOpacity:function(a){d[3]=a;return this}}},cb=ka({},g.defaultGaugePaletteOptions);Array.prototype.forEach||(Array.prototype.forEach=
function(a,d){var b,c,k,I,h;if(null==this)throw new TypeError(" this is null or not defined");k=Object(this);I=k.length>>>0;if("function"!==typeof a)throw new TypeError(a+" is not a function");1<arguments.length&&(b=d);for(c=0;c<I;)c in k&&(h=k[c],a.call(b,h,c,k)),c++});H.prototype={numDecimals:function(a){a=fb(a,10);a=Math.abs(a);a=fb(a-Math.floor(a),10);a=String(a).length-2;return 0>a?0:a},toRadians:function(a){return a/180*Math.PI},toDegrees:function(a){return a/Math.PI*180},flashToStandardAngle:function(a){return-1*
a},standardToFlashAngle:function(a){return-1*a},flash180ToStandardAngle:function(a){var d=360-(0>(a%=360)?a+360:a);return 360==d?0:d},getAngularPoint:function(a,d,b,c){c*=Math.PI/180;a+=b*Math.cos(c);d-=b*Math.sin(c);return{x:a,y:d}},remainderOf:function(a,d){var b=a%d,c=void 0,c=q(10,void 0===c?2:c),b=Ia(Number(String(b*c)));return b/=c},boundAngle:function(a){return 0<=a?H.prototype.remainderOf(a,360):360-H.prototype.remainderOf(Math.abs(a),360)},toNearestTwip:function(a){var d=0>a?-1:1;a=Math.abs(a);
a=Ia(100*a);var b=Math.floor(a/5);return(2<Number(String(a-5*b))?5*b+5:5*b)/100*d},roundUp:function(a,d){var b=q(10,void 0===d?2:d);a=Ia(Number(String(a*b)));return a/=b}};H.prototype.constructor=H;g.MathExt=H;n("realtimecolumn",{showRTvalue:!0,canvasPadding:!0,isRealTime:!0,standaloneInit:!0,creditLabel:ra,defaultDatasetType:"realtimecolumn",applicableDSList:{realtimecolumn:!0},transposeAxis:!0,rtManageSpace:!0,_realTimeConfigure:function(){var a=this.config.realTimeConfig||(this.config.realTimeConfig=
{}),d,b,c,k;d=this.jsonData;var I=d.chart;k=d.categories&&d.categories[0]&&d.categories[0].category&&d.categories[0].category.length||0;a.showRTValue=e(I.showrealtimevalue,1);a.dataStreamURL=f(I.datastreamurl,"");a.dataStamp=I.datastamp;a.useMessageLog=e(I.usemessagelog,0);a.clearInterval=e(I.clearchartinterval,0);a.realtimeValueSeparator=f(I.realtimevaluesep,", ");a.refreshInterval=d=e(I.refreshinterval,I.updateinterval,2);a.updateInterval=this.config.updateInterval=e(I.updateinterval,d);a.realtimeValuePadding=
e(I.realtimevaluepadding);a.realtimeValueFont=f(I.realtimevaluefont,"");a.realtimeValueFontBold=f(I.realtimevaluefontbold,0);a.realtimeValueFontColor=b=f(I.realtimevaluefontcolor,"");a.realtimeValueFontSize=c=e(I.realtimevaluefontsize,"");a.realTimeValuePadding=e(I.realtimevaluepadding,5);a.fontWeight=e(I.realtimevaluefontbold,0)?"bold":"normal";a.numDisplaySets=e(I.numdisplaysets,M(k,15));a.refreshInstantly=e(I.refreshinstantly,0);a.showRTmenuItem=k=e(I.showrtmenuitem,0);a.sync=e(I.sync,.6<d?!0:
!1);b&&(a.realtimeValueFontColor=b.replace(Qa,ab));c&&(a.realtimeValueFontSize=c+"px");k&&this._setRTmenu()},_setRealTimeCategories:function(){var a=this.components.xAxis[0],d=[],b=this.config.realTimeConfig,c=b&&b.clear?void 0:this.jsonData.categories&&this.jsonData.categories[0]&&this.jsonData.categories[0].category,k=a.getCategoryLen(),b=b.numDisplaySets,k=a.getCategoryLen();k<b?(d.length=b-k,c=c?d.concat(c):d,a.setCategory(c)):k>b&&(c.splice(b,k-b),a.setCategory(c))},_realTimeValuePositioning:function(a){var d=
this.components,b=this.linkedItems.smartLabel,c;c=this.config;var k=c.realTimeConfig||(c.realTimeConfig={}),I=k.realTimeValuePadding,d=d.xAxis[0].config.axisData,h=d.trend.trendStyle,d=k.style={color:t(f(k.realtimeValueFontColor,h.color),f(d.trendlineAlpha,99)),fontFamily:f(k.realtimeValueFont,h.fontFamily),fontSize:f(k.realtimeValueFontSize,h.fontSize),fontWeight:f(k.fontWeight,h.fontWeight),lineHeight:e(h.lineHeight)};b.useEllipsesOnOverflow(c.useEllipsesWhenOverflow);b.setStyle(d);k.height=b=b.getOriSize(g.TESTSTR).height;
k.canvasBottom=c.canvasBottom;c=b+I;c>a&&(c=a);return{bottom:c}},_drawRealTimeValue:function(){var a=this.components,d=this.config,b=a.dataset,c=a.paper,k=this.linkedItems.smartLabel,I=d.realTimeConfig,h=I.realtimeValueSeparator,e=b.length,m="",$=this.get("config","animationObj"),f=$.animObj,p=$.dummyObj,$=$.duration,g=I.canvasBottom,s=I.height,w=d.canvasLeft,u=d.canvasRight,l=I.style||{},a=a.realTimeValue||(a.realTimeValue={}),z=a.graphics,v=this.graphics.parentGroup,B,C;if(I.clear)a.graphics.attr({text:""});
else{for(I=0;I<e;I++)B=b[I].components.data,B=(B=B[B.length-1])&&B.config.displayValue,m+=B?void 0===B?"":B+h:"";m=m.substring(0,m.length-h.length);k.useEllipsesOnOverflow(d.useEllipsesWhenOverflow);k.setStyle(l);k.getOriSize(m);d={x:(w+u)/2||0,y:g-s/2||0,"font-size":l.fontSize,"font-weight":l.fontWeight,"font-family":l.fontFamily,"line-height":l.lineHeight,visibility:"visible"};z||(z=a.graphics=c.text(d,v),C=!0);z.attr({text:m,fill:l.color});z&&!C&&(z.show(),z.animateWith(p,f,d,$))}},_hideRealTimeValue:function(){var a=
this.components;(a=(a=a.realTimeValue||(a.realTimeValue={}),a.graphics))&&a.hide()},_getData:function(){var a=this.components,d=a.dataset,a=a.xAxis&&a.xAxis[0]||a.scale,b,c,k,I=[],h=0,e,m;if(d){b=d.length;for(c=0;c<b;c++)h=M(h,d[c].components.data.length);for(c=0;c<h;c++)for(m=I[c]=[],m[0]=a.getLabel(c).label,k=1;k<=b;k++)e=d[k-1].components.data[c],m[k]=e&&e.config.setValue;return I}},_setData:function(a,d){var b="";if(a&&a.toString||""===a||0===a)b="value="+a.toString();if(d&&d.toString||""===d)b=
b+"&label="+d.toString();b&&this.feedData(b)},_stopUpdate:function(a){var d=this.config.realTimeConfig,b=this.linkedItems.timers&&this.linkedItems.timers.setTimeout.loadData,c=this.chartInstance,k=c.__state;clearTimeout(k._toRealtime);k._rtAjaxObj&&k._rtAjaxObj.abort();k._rtPaused=!0;b&&clearTimeout(b);d.clearIntervalFlag=!1;ca.raiseEvent("realimeUpdateStopped",{source:a},c)},_restartUpdate:function(){var a=this.chartInstance.__state;a._rtDataUrl&&a._rtPaused&&(a._rtPaused=!1,a._rtAjaxObj.get(a._rtDataUrl))},
_isUpdateActive:function(){return!this.chartInstance.__state._rtPaused},_setRTmenu:function(){var a=this,d=a.chartMenuTools.set;d([{"Stop Update":{handler:function(){a._stopUpdate.call(a)},action:"click"}},{"Clear Chart":{handler:function(){a._clearChart.call(a)},action:"click"}}])},_getDataJSON:function(){return this.config.realTimeConfig.legacyUpdateObj||{values:[]}},eiMethods:{feedData:function(){return this.apiInstance.feedData.apply(this.apiInstance,arguments)},setData:function(){this.apiInstance._setData.apply(this.apiInstance,
arguments)},stopUpdate:function(){this.apiInstance._stopUpdate.apply(this.apiInstance,arguments)},restartUpdate:function(){this.apiInstance._restartUpdate.apply(this.apiInstance,arguments)},isUpdateActive:function(){return this.apiInstance._isUpdateActive.apply(this.apiInstance,arguments)},clearChart:function(){this.apiInstance._clearChart.apply(this.apiInstance,arguments)},getData:function(){return this.apiInstance._getData.apply(this.apiInstance,arguments)},showLog:function(){var a=this.apiInstance.components&&
this.apiInstance.components.messageLogger;return a&&a.show&&a.show.apply(a,arguments)},hideLog:function(){var a=this.apiInstance.components&&this.apiInstance.components.messageLogger;return a&&a.hide&&a.hide.apply(a,arguments)},clearLog:function(){var a=this.apiInstance.components&&this.apiInstance.components.messageLogger;return a&&a.clearLog&&a.clearLog.apply(a,arguments)},getDataForId:function(){return this.apiInstance._getDataForId.apply(this.apiInstance,arguments)},setDataForId:function(){return this.apiInstance._setDataForId.apply(this.apiInstance,
arguments)},getDataJSON:function(){return this.apiInstance._getDataJSON.apply(this.apiInstance,arguments)}}},n.mscartesian);n("realtimestackedcolumn",{isStacked:!0},n.realtimecolumn);n("gaugebase",{creaditLabel:ra,defaultPaletteOptions:cb,multiValueGauge:!1,decimals:2,formatnumberscale:0,drawAnnotations:!0,useScaleRecursively:!0,includeColorRangeInLimits:!1,isWidget:!0,_createAxes:function(){},_feedAxesRawData:function(){},_setCategories:function(){},_setAxisLimits:function(){},realTimeUpdate:function(a){var d=
this.components.dataset,b=a.dataset;a=a.categories&&a.categories.category||[];var c=this.config.realTimeConfig=this.config.realTimeConfig||(this.config.realTimeConfig={}),k,I,h;if(d){h=b[0];b=h.data;I=0;for(k=b.length;I<k;I++)b[I].label=a[I]&&a[I].label;d[0].updateData(h);d[0].maxminFlag&&(c.maxminFlag=d[0].maxminFlag)}},_clearChart:function(){},_realTimeConfigure:n.realtimecolumn,_setRTmenu:function(){var a=this,d=a.chartMenuTools.set;d([{"Stop Update":{handler:function(){a._stopUpdate.call(a)},
action:"click"}}])},_getData:n.realtimecolumn,_setData:n.realtimecolumn,_stopUpdate:n.realtimecolumn,_restartUpdate:n.realtimecolumn,_isUpdateActive:n.realtimecolumn,eiMethods:n.realtimecolumn},n.sscartesian,{valuefontbold:1});n("axisgaugebase",{chartLeftMargin:15,chartRightMargin:15,chartTopMargin:10,chartBottomMargin:10,annotationRelativeLayer:"axis",_createAxes:function(){var a=this.components,d=FusionCharts.register("component",["axis","gauge"]);a.scale=a=new d;a.chart=this;a.init()},_feedAxesRawData:function(){var a=
this.components,d=a.colorManager,b=this.jsonData,c=b.chart,k=g.chartPaletteStr.chart2D,I=e(c.ticksbelowgauge),h=e(c.ticksonright),I=e(c.axisontop,void 0!==c.axisonleft?!e(c.axisonleft):void 0,void 0!==I?!I:void 0,void 0!==h?h:void 0,this.isAxisOpposite),h=e(c.reverseaxis,this.isAxisReverse),r=e(c.showtickmarks,1),m=e(c.showtickvalues),r=m||void 0===m?r||void 0!==m?!0:!1:!1,d={outCanfontFamily:f(c.outcnvbasefont,c.basefont,"Verdana,sans"),outCanfontSize:Na(c.outcnvbasefontsize,c.basefontsize,10),outCancolor:f(c.outcnvbasefontcolor,
c.basefontcolor,d.getColor(k.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),useEllipsesWhenOverflow:c.useellipseswhenoverflow,divLineColor:f(c.vdivlinecolor,d.getColor(k.divLineColor)),divLineAlpha:f(c.vdivlinealpha,d.getColor("divLineAlpha")),divLineThickness:e(c.vdivlinethickness,1),divLineIsDashed:Boolean(e(c.vdivlinedashed,c.vdivlineisdashed,0)),divLineDashLen:e(c.vdivlinedashlen,4),divLineDashGap:e(c.vdivlinedashgap,2),showAlternateGridColor:e(c.showalternatevgridcolor,0),alternateGridColor:f(c.alternatevgridcolor,
d.getColor("altVGridColor")),alternateGridAlpha:f(c.alternatevgridalpha,d.getColor("altVGridAlpha")),numDivLines:c.numvdivlines,labelFont:c.labelfont,labelFontSize:c.labelfontsize,labelFontColor:c.labelfontcolor,labelFontAlpha:c.labelalpha,labelFontBold:c.labelfontbold,labelFontItalic:c.labelfontitalic,axisName:c.xaxisname,axisMinValue:c.lowerlimit,axisMaxValue:c.upperlimit,setAdaptiveMin:c.setadaptivemin,adjustDiv:c.adjustvdiv,labelDisplay:c.labeldisplay,showLabels:c.showlabels,rotateLabels:c.rotatelabels,
slantLabel:e(c.slantlabels,c.slantlabel),labelStep:e(c.labelstep,c.xaxisvaluesstep),showAxisValues:e(c.showxaxisvalues,c.showxaxisvalue),showDivLineValues:e(c.showvdivlinevalues,c.showvdivlinevalues),showZeroPlane:c.showvzeroplane,zeroPlaneColor:c.vzeroplanecolor,zeroPlaneThickness:c.vzeroplanethickness,zeroPlaneAlpha:c.vzeroplanealpha,showZeroPlaneValue:c.showvzeroplanevalue,trendlineColor:c.trendlinecolor,trendlineToolText:c.trendlinetooltext,trendlineThickness:c.trendlinethickness,trendlineAlpha:c.trendlinealpha,
showTrendlinesOnTop:c.showtrendlinesontop,showAxisLine:e(c.showxaxisline,c.showaxislines,c.drawAxisLines,0),axisLineThickness:e(c.xaxislinethickness,c.axislinethickness,1),axisLineAlpha:e(c.xaxislinealpha,c.axislinealpha,100),axisLineColor:f(c.xaxislinecolor,c.axislinecolor,"#000000"),majorTMNumber:c.majortmnumber,majorTMColor:c.majortmcolor,majorTMAlpha:c.majortmalpha,majorTMHeight:c.majortmheight,tickValueStep:c.tickvaluestep,showTickMarks:c.showtickmarks,connectTickMarks:c.connecttickmarks,showTickValues:c.showtickvalues,
majorTMThickness:c.majortmthickness,upperlimit:a.numberFormatter.getCleanValue(c.upperlimit),lowerlimit:a.numberFormatter.getCleanValue(c.lowerlimit),reverseScale:c.reversescale,showLimits:c.showlimits||r,adjustTM:c.adjusttm,minorTMNumber:e(c.minortmnumber,this.minorTMNumber,4),minorTMColor:c.minortmcolor,minorTMAlpha:c.minortmalpha,minorTMHeight:e(c.minortmheight,c.minortmwidth),minorTMThickness:c.minortmthickness,tickMarkDistance:e(c.tickmarkdistance,c.tickmarkgap),tickValueDistance:e(c.tickvaluedistance,
c.displayvaluedistance),placeTicksInside:c.placeticksinside,placeValuesInside:c.placevaluesinside,upperLimitDisplay:c.upperlimitdisplay,lowerLimitDisplay:c.lowerlimitdisplay,drawTickMarkConnector:this.isHorizontal?1:0},a=a.scale;a.vtrendlines=b.trendpoints;a.chart=this;a.setCommonConfigArr(d,!this.isHorizontal,h,I);a.configure()},_setAxisLimits:function(){var a=this.components,d=this.jsonData.chart,b=a.scale,a=a.dataset[0].getDataLimits();-Infinity===a.max&&(a.max=0);Infinity===a.min&&(a.min=0);this.colorRange&&
b.setAxisData({lowerlimit:e(d.lowerlimit,a.min),upperlimit:e(d.upperlimit,a.max)});b.setDataLimit(a.max,a.min)},_spaceManager:function(){var a,d=this.config,b=this.components,c=b.dataset[0],b=b.scale,k=this.jsonData.chart,I=e(k.showborder,this.is3D?0:1),h=this.isHorizontal,r=d.minChartWidth,m=d.minChartHeight,k=d.borderWidth=I?e(k.borderthickness,1):0,$;d.canvasWidth-2*k<r&&(a=(d.canvasWidth-r)/2);d.canvasHeight-2*k<m&&($=(d.canvasHeight-m)/2);this._allocateSpace({top:$||k,bottom:$||k,left:a||k,right:a||
k});a=.7*d.availableWidth;h?this._allocateSpace(b.placeAxis(a)):this._allocateSpace(b.placeAxis(d.availableHeight));this._manageChartMenuBar(.4*d.availableHeight);c._manageSpace&&this._allocateSpace(c._manageSpace(.3*d.availableHeight));b.setAxisConfig({drawPlotlines:this.drawPlotlines,drawPlotBands:this.drawPlotBands})},_postSpaceManagement:function(){var a=this.config,d=this.components.scale;this.isHorizontal?d.setAxisDimention({axisLength:a.canvasWidth}):d.setAxisDimention({axisLength:a.canvasHeight})},
_getDataJSON:function(){var a=0,d,b,c=[],k=[],I=[],h=this.components.dataset[0].components.data;for(d=h&&h.length?h.length:0;a<d;a+=1)b=h[a].config,c.push(b.itemValue),k.push(b.formatedVal||""),I.push(b.toolText||"");return{values:c,labels:k,toolTexts:I}}},n.gaugebase);n("funnelpyramidbase",{showRTvalue:!1,canvasPadding:!1,sliceOnLegendClick:!0,defaultDatasetType:"funnelpyramidbaseds",applicableDSList:{funnel:!0},hasCanvas:!1,defaultPlotShadow:1,subTitleFontSizeExtender:0,tooltippadding:3,defaultPaletteOptions:g.defaultPaletteOptions,
drawAnnotations:!0,hasLegend:!0,isDataLabelBold:!1,dontShowLegendByDefault:!0,formatnumberscale:1,isSingleSeries:!0,alignCaptionWithCanvas:0,_updateVisuals:function(){var a=this.config,d=this.linkedItems.container,b=this.components,c=b.legend,k=b.paper,I=b.tooltip,h=this.chartInstance,e=this.get("config","animationObj"),m=e.animType,$=e.dummyObj,f=e.animObj,e=e.duration,p;a.animationStarted=!0;k?(a={width:d.offsetWidth,height:d.offsetHeight},p=!0,this._chartAnimation(!0),k.animateWith($,f,a,e,m)):
(k=b.paper=new y(d,d.offsetWidth,d.offsetHeight),k.setConfig("stroke-linecap","round"));k.tooltip(I.style,I.config.shadow,I.config.constrain);this.setChartCursor();this._createLayers();!p&&this._chartAnimation(!0);this._drawBackground();this._drawChartMenuBar();this._manageCaptionPosition();b.caption&&b.caption.draw();this._drawDataset();!1!==this.hasLegend&&c.drawLegend();this._drawCreditLabel();this._drawLogo();h.annotations&&this._drawAnnotations();this.createChartStyleSheet()}},n.gaugebase);n("funnel",
{friendlyName:"Funnel Chart",standaloneInit:!0,creditLabel:ra,defaultDatasetType:"funnel",applicableDSList:{funnel:!0},useSortedData:!0},n.funnelpyramidbase);n("pyramid",{friendlyName:"Funnel Chart",standaloneInit:!0,creditLabel:ra,defaultDatasetType:"pyramid",applicableDSList:{pyramid:!0},useSortedData:!1},n.funnelpyramidbase);FusionCharts.register("component",["dataset","FunnelPyramidBase",{type:"funnelpyramidbase",pIndex:2,customConfigFn:"_createDatasets",init:function(a){var d=this.utils,b=d.invokeHookFns,
c=this.postInitHook;if(!a)return!1;d.setContext(this);this.JSONData=a;this.components={};this.conf={};this.graphics={};b(c);this.configure()},removeData:function(){},_configure:function(){var a=this.chart,d=a.components.colorManager,b=a.config,c=b.style,k=this.components,I=this.conf||{},h=this.JSONData.data||[],a=a.jsonData?a.jsonData.chart:{},r=this.utils,m=r.invokeHookFns,r=r.copyProperties,$=g.setLineHeight,b=b.canvasHeight,Wa=this.configureSpecifics,p=this.preDrawingHook,qa=d.getColor("baseFontColor");
r(a,I,[["showlabels","showLabels",e,1],["showvalues","showValues",e,1],["plottooltext","toolText",f,""],["enableslicing","enableSlicing",e,1],["plotfillalpha","plotFillAlpha",e,100],["showplotborder","showPlotBorder",e,0],["plotborderalpha","plotBorderAlpha",e,void 0],["plotbordercolor","plotBorderColor",f,void 0],["plotborderthickness","plotBorderThickness",e,1],["showshadow","showShadow",e,1],["showhovereffect","showHoverEffect",e,0],["hovercapsepchar","hoverCapSepChar",f,ia],["tooltipsepchar",
"tooltipSepChar",f,"$hoverCapSepChar"],["labelsepchar","labelSepChar",f,"$tooltipSepChar"],["showpercentintooltip","showPercentInToolTip",e,1],["showpercentvalues","showPercentValues",e,0],["","slicingDistance",e,.1*b],["slicingdistance","slicingHeight",e,"$slicingDistance",function(a){a.slicingDistance=a.slicingHeight>2*a.slicingDistance?0:a.slicingHeight}],["","blankSpace",e,3],["labeldistance","labelDistance",e,50],["issliced","isSliced",e,0],["is2d","is2d",e,0],["","blankSpace",e,3],["showlabelsatcenter",
"showLabelsAtCenter",e,0],["smartlinethickness","connectorWidth",e,1],["smartlinealpha","connectorAlpha",e,100],["smartlinecolor","rawSmartLineColorCode",f,function(){return d.getColor("baseFontColor")}],["labelalpha","labelAlpha",e,100],["basefontsize","baseFontSize",e,10],["basefontcolor","baseFontColor",f,qa],["labelfontcolor","labelFontColor",f,"$baseFontColor"],["showtooltip","showTooltip",e,1],["percentofprevious","percentOfPrevious",e,0],["animationduration","animationDuration",e,1,function(a){a.animationDuration*=
1E3}]]);I.connectorColor=t(I.rawSmartLineColorCode,I.connectorAlpha);$(c);c.nLineHeight=c.lineHeight.match(/^\d+/)[0];r(c,I,[["","lineHeight",e,I.baseFontSize]]);delete c.nLineHeight;m(Wa);I.showLabels||I.showValues||(I.datalabelDisabled=!0);k.data=this.getNormalizeDataSet(h);m(p)},_checkValidData:function(a){var d=this.chart;return a&&a.length?!0:(d.setChartMessage(),!1)},addLegend:function(){var a=this.chart,d=a.jsonData.chart,b,c=this.JSONData.data,k=a.components.legend;k.emptyItems();for(a=0;a<
c.length;a+=1)b=c[a],b.pseudoPoint||(b.legendItemId=k.addItems(this,void 0,{type:this.type,label:b.label,index:a,enabled:e(d.includeinlegend,1),legendItemId:b.legendItemId}))},getNormalizeDataSet:function(a,d){var b=this.getPointInContext(),c=this.chart,k=this.conf,I=c.components,h=I.numberFormatter,r=this.chart.linkedItems.smartLabel,I=I.colorManager,m,$=[],Wa,p,qa,s=0,w,u,Ua,z,v,B=0,C,ta,x,n,D,q,y=k.showPercentValues,A=k.labelSepChar,S=c.jsonData.chart,L=k.isSliced,K,J,T,Q,V={apply:k.showShadow,
opacity:1},O,R,U=k.plotBorderThickness;Wa=k.dataConnectorStyle={};var na=c.config.PLOT_COLOR_INDEX_START,ja,Y,N,G;ka(O=k.style={},c.config.style);O.borderDash="none";O.borderPadding=2;O.borderRadius=0;O.borderThickness=1;O.color=t(k.labelFontColor,k.labelAlpha);O.fontFamily="Verdana,sans";O.fontSize=k.baseFontSize+"px";O.fontStyle="normal";O.fontWeight="normal";Wa.connectorWidth=k.connectorWidth;Wa.connectorColor=k.connectorColor;ja=this.datasetCalculations(a);p=ja.hasValidPoint;Wa=ja.refreshedData;
s=ja.sumValue;qa=ja.highestValue;if(p)for(k.sumValue=s,p=h.dataLabels(s),w=Wa.length,r.useEllipsesOnOverflow(c.config.useEllipsesWhenOverflow),c=0;c<w;c+=1){m=Wa[c];Y=m.legendItemId;u=m.cleanValue;Ua=c?Wa[c-1].value:u;z=aa(f(m.label,m.name,F));v=r.getOriSize(z);J=m.alpha||k.plotFillAlpha;N=f(m.color,I.getPlotColor(na++));G=t(N);K=t(N,J);T=f(m.bordercolor,k.plotBorderColor,P(N,25)).split(l)[0];Q=k.showPlotBorder?f(m.borderalpha,k.plotBorderAlpha,"80"):Ba;V.opacity=Math.max(J,Q)/100;if(C=e(m.issliced,
L))B+=1,k.preSliced=C;ja.prevPerValReq&&(s=Ua);ta=h.percentValue(u/s*100);k.datalabelDisabled||(x=h.dataLabels(u)||F,n=1===k.showLabels?z:F,D=1===e(m.showvalue,k.showValues)?1===y?ta:x:F,q=E(aa(m.displayvalue)),R=f(q,z+A+(y?ta:x),F),D=q?q:D!==F&&n!==F?n+A+D:f(n,D)||F);n=E(aa(f(m.tooltext,k.toolText)));void 0!==n?(Ua={formatedVal:x,name:z,pValue:ta,sum:p,sumValue:p,dataValue:u,prevValue:Ua,highestValue:qa},n=da(n,[1,2,3,7,14,24,25,37],this.getTooltipMacroStub(Ua),m,S)):(Ua=1===k.showPercentInToolTip?
ta:x,n=z!==F?z+k.tooltipSepChar+Ua:Ua);Ua=this.pointHoverOptions(m,{color:N,alpha:J,borderColor:T,borderAlpha:Q,borderWidth:U});m={displayValue:D,displayValueArgs:R,style:g.parsexAxisStyles(m,{},S,O,K),name:z,categoryLabel:z,rawColor:N,rawAlpha:J,toolText:n,legendCosmetics:void 0,legendItemId:Y,showInLegend:void 0,y:u,shadow:V,smartTextObj:v,legendColor:G,color:K,alpha:J,borderColor:t(T,Q),borderWidth:U,link:E(m.link),isSliced:C,doNotSlice:!k.enableSlicing,hoverEffects:Ua.enabled&&Ua.options,rolloverProperties:Ua.enabled&&
Ua.rolloverOptions};$.push(new b(m))}k.noOFSlicedElement=B;return $},datasetCalculations:function(a){var d=this.chart.components.numberFormatter,b,c,k,e,h={refreshedData:[]};h.sumValue=h.countPoint=0;h.highestValue=Number.NEGATIVE_INFINITY;b=0;for(c=a.length;b<c;b++)k=a[b],k.vline||(k.cleanValue=e=Math.abs(d.getCleanValue(k.value,!0)),null!==e&&(h.hasValidPoint=!0,h.highestValue=h.highestValue||e,h.refreshedData.push(k),h.sumValue+=e,h.countPoint+=1,h.highestValue=Math.max(h.highestValue,h.itemValue)));
return h},pointHoverOptions:function(a,d){var b=this.chart,c=e(a.showhovereffect,this.conf.showHoverEffect),k={enabled:c},I={},h,b=b.jsonData?b.jsonData.chart:{};c||(c=k.enabled=void 0!==f(a.hovercolor,b.plotfillhovercolor,a.hoveralpha,b.plotfillhoveralpha,a.borderhovercolor,b.plotborderhovercolor,a.borderhoverthickness,b.plotborderhoverthickness,a.borderhoveralpha,b.plotborderhoveralpha));if(c){k.highlight=e(a.highlightonhover,b.highlightonhover);k.color=f(a.hovercolor,b.plotfillhovercolor);k.alpha=
f(a.hoveralpha,b.plotfillhoveralpha,d.alpha);k.borderColor=f(a.borderhovercolor,b.plotborderhovercolor,d.borderColor);k.borderThickness=e(a.borderhoverthickness,b.plotborderhoverthickness,d.borderWidth);k.borderAlpha=f(a.borderhoveralpha,b.plotborderhoveralpha,d.borderAlpha);0!==k.highlight&&void 0===k.color&&(k.highlight=1);k.color=f(k.color,d.color).replace(/,+?$/,F);if(1===k.highlight){I=k.color.split(/\s{0,},\s{0,}/);b=I.length;for(h=0;h<b;h+=1)I[h]=P(I[h],70);k.color=I.join(",")}I={color:k.color,
alpha:+k.alpha,borderColor:t(k.borderColor,k.borderAlpha),borderWidth:k.borderThickness}}return{enabled:c,options:k,rolloverOptions:I}},getTooltipMacroStub:function(a){return{formattedValue:a.formatedVal,label:a.name,percentValue:a.pValue,sum:a.sum,unformattedSum:a.sumValue}},preDrawingSpaceManagement:function(){var a=this.getPointInContext(),d=this.chart,b=d.config,c=d.components,k=c.caption.config.height||0,I=c.subCaption.config.height||0,h=this.conf,r=h.slicingDistance,m;m=b.height-(b.marginTop+
b.marginBottom);var $=b.width-(b.marginRight+b.marginLeft),f=this.components.data,p,g;p=h.blankSpace;var s=this.LABEL_PLACEMENT_ITERATOR_INDEX_START,a=a.upperRadiusFactor,w,u,l,z,v,B,C=d.linkedItems.smartLabel,n,x,t,D,q,y,A;q=0;var F,L=0;n=this.utils.invokeHookFns;q=this.prePointProcessingHookFn;var K=c.legend;b.oriCanvasLeft=d.config.canvasLeft;b.oriBottomSpace=d.config.marginBottom;b.oriTopSpace=d.config.marginTop;c=h._tempSnap={top3DSpace:0,bottom3DSpace:0,topLabelSpace:0,rightLabelSpace:0};m=
Math.min(2*(m-r),$);b.marginTop+=r/2;b.marginBottom+=r/2;r=f.length;p=h.labelDistance+p;g=h.showLabelsAtCenter;w=Math.min(m,.3*$);u=$-w;l=$-w-p;z=0;v=f[0]&&f[0].y?f[0].y:1;B=.8/v;n(q,[f]);n=h.totalValue||0;for(C.useEllipsesOnOverflow(b.useEllipsesWhenOverflow);s<r;s+=1)x=f[s],x.legendItemId&&K.configureItems(x.legendItemId,{configuration:{fillColor:x.legendColor}}),q=x.style,Za(q),t=e(hb(parseFloat(q.lineHeight)+q.borderPadding+q.borderThickness),10),C.setStyle(q),q=x.y,g?C.getSmartText(x.displayValue,
$,t):(q=x.getModifiedCurrentValue&&x.getModifiedCurrentValue(n)||q,q=x.getRatioK(q,B,n,v),y=w*q,A=l+(w-y)/2,D=C.getSmartText(x.displayValue,A,t),x.displayValue=D.text,D.tooltext&&(x.originalText=D.tooltext),z=Math.max(z,D.width),0<u&&(D=0<D.width?A-D.width:A+p,q=1/(q+1)*(y+2*D+w),u=Math.min(u,q-w)),n+=void 0===h.offsetVal?x.y:"function"===typeof h.offsetVal?h.offsetVal(s):h.offsetVal);"right"===K.config.legendPos?(d.isLegendRight=!0,b.marginRight+=K.config.width):d.isLegendRight=!1;x&&(F=x.getLowestRadiusFactor(v));
d=w+u;d>m&&(d=m);n=void 0===h.offsetVal?0:"function"===typeof h.offsetVal?h.offsetVal():h.offsetVal;if(!g)for(s=this.LABEL_PLACEMENT_ITERATOR_INDEX_START,r=f.length;s<r;s+=1)x=f[s],q=x.y,q=x.getModifiedCurrentValue&&x.getModifiedCurrentValue(n)||q,q=x.getRatioK(q,B,n,v),y=d*q,A=l+(w-y)/2,D=C.getSmartText(x.displayValue,A,t),L=M(L,.5*y+D.width+p),n+=void 0===h.offsetVal?x.y:"function"===typeof h.offsetVal?h.offsetVal():h.offsetVal;0<z?(c.rightLabelSpace=$-d,f=L-.5*b.canvasWidth,0<f&&(b.marginRight+=
f,b.marginLeft-=f),b.marginRight+=.5*c.rightLabelSpace,b.marginLeft+=.5*c.rightLabelSpace):p=0;h.labelDistance=h.connectorWidth=p;(g||!z)&&m<$&&(b.marginLeft+=.5*($-m-p),b.marginRight+=.5*($-m-p));h.is2d||(b.marginTop+=c.top3DSpace=d*h.yScale*a/2,b.marginBottom+=c.bottom3DSpace=d*h.yScale*F/2);b.gaugeStartX=b.marginLeft;b.gaugeStartY=b.marginTop+(k+I+5);b.gaugeEndX=d+b.marginLeft;b.gaugeEndY=b.canvasHeight+b.marginTop;b.gaugeCenterX=b.gaugeStartX+(b.gaugeEndX-b.gaugeStartX)/2-b.marginLeft/2;b.gaugeCenterY=
b.gaugeStartY+(b.gaugeEndY-b.gaugeStartY)/2;b.plotSemiWidth=(b.canvasWidth-c.rightLabelSpace)/2;b.canvasCenterX=b.oriCanvasLeft+d/2},hide:function(a){var d,b,c;if(a&&0!==a.length)for(d=0,b=a.length;d<b;d++)c=a[d],c.connector&&c.connector.hide(),c.dataLabel&&c.dataLabel.hide(),c.graphic&&c.graphic.hide(),c.trackerObj&&c.trackerObj.hide()},animateElements:function(a,d,b,c,k){function e(){g||(k(),g=!0)}function h(a,b){var d=(b||{}).alpha,d=void 0===d?c.post:{opacity:d};a&&(a.attr(c.pre),a.animateWith($,
f,d,m,p,e))}var r=this.chart.get("config","animationObj"),m=r.duration,$=r.dummyObj,f=r.animObj,p=r.animType,g=!1,s,w,u,l,z;k=k||function(){};b=b||[];s=0;for(w=a.length;s<w;s++)if(u=a[s])if(b.length)for(l=0,z=b.length;l<z;l++)r=a[s][d][b[l]],h(r,u.point);else r=u,h(r[d],u.point)},drawIndividualDataLabel:function(a,d){var b=this.conf,c=this.components.data,k=a.displayValue,I=a.plot,h=a.labelY,r=a.labelX,m=a.labelAline,$=a.style||{},f=e(parseInt($.fontSize,10),b.baseFontSize),p=b.lineHeight,g=.3*f,
s=.3*p,f={fontFamily:$.fontFamily,fontSize:$.fontSize,lineHeight:$.lineHeight,fontWeight:$.fontWeight,fontStyle:$.fontStyle,color:$.color},w,u=b.connectorEndSwitchHistoryY,l=b.labelDistance,z=b.blankSpace,v=b.streamLinedData;b.showLabelsAtCenter?(c=0===d&&v?h-s+(c[1].plot.distanceAvailed||0):h-s+(I.distanceAvailed||0),k!==F?I.dataLabel.attr({transform:"t"+r+","+c,"text-anchor":sa[m],text:k,fill:$.color,"font-size":$.fontSize,"text-bound":[$.backgroundColor,$.borderColor,$.borderThickness,$.borderPadding,
$.borderRadius,$.borderDash]}).css(f).show():I.dataLabel&&I.dataLabel.hide()):(s=h-g-a.distributionFactor*p,g=h-g,w=u[a.alignmentSwitch],void 0!==b.lastplotY&&void 0!==w&&w-g<p&&(h=g=w-p),a.displayValue&&(u[a.alignmentSwitch]=g),b.lastplotY=a.plotY,b.labelAlignment===b.alignmentType.alternate?a.alignmentSwitch?(p=r+z+a.virtualWidth,b=p+l+a.distributionFactor*b.globalMinXShift):(p=r-z,b=p-(l-(a.lOverflow||0))-a.distributionFactor*b.globalMinXShift):(p=r-z,b=p-(l-(a.lOverflow||0))-a.distributionFactor*
b.globalMinXShift),"undefined"===typeof k||k===F||0===d&&v?I.connector&&I.connector.hide():(b=["M",b,s,"L",p,g],I.connector.attr({path:b,"shape-rendering":s===g&&1>g?"crisp":""}).show()),c=0===d&&v?h+(c[1].plot.dy||0):g+(I.dy||0),k!==F?I.dataLabel.attr({transform:"t"+r+","+c,"text-anchor":sa[m],text:k,fill:"FF0000","font-size":10,"text-bound":[$.backgroundColor,$.borderColor,$.borderThickness,$.borderPadding,$.borderRadius,$.borderDash]}).css(f).show():I.dataLabel&&I.dataLabel.hide())},drawTracker:function(a){var d=
this.chart,b=d.components.paper,d=d.graphics.trackerGroup,c,k,e=+new Date,h,r;h=a.plot;k=h.trackerObj;h.graphic&&(c=h.graphic.Shapeargs.silhuette,r={link:a.link,value:a.y,displayValue:a.displayValueArgs,categoryLabel:a.categoryLabel,dataIndex:h.index||"",toolText:a.toolText},a.datasetIndex=h.index,k?k.attr({path:c,isTracker:e,fill:ua,stroke:"none",transform:"t0,"+(h._startTranslateY||0),ishot:!0,cursor:h.cursor}):k=h.trackerObj=b.path(c,d).attr({isTracker:e,fill:ua,stroke:"none",transform:"t0,"+(h._startTranslateY||
0),ishot:!0,cursor:h.cursor}),k.data("eventArgs",r),k.show())},calculatePositionCoordinate:function(a,d){var b=this.conf,c=b.maxValue,k=b.is2d,e=b.x,h=this.graphics.plotItems||[],r=this.chart,m=r.config,$=m.canvasTop,f=b.unitHeight,p=b.drawingRadius,g=b.labelDistance,s=b.showLabelsAtCenter,w=b.isHollow,u=.3*m.style.fontSize,l=b.yScale,z=b.blankSpace,v=b.lastRadius,B=r.linkedItems.smartLabel,C,n=0,x,t,D=a.length-1,q=!1,y=0,A,F,L=b.lineHeight,K=.8/m.effCanvasHeight,J=r.config.width-2,E=b.streamLinedData;
C={flag:!1,point:void 0,sLabel:void 0,setAll:function(a,b,c){this.flag=a;this.point=b;this.sLabel=c}};var Q={point:void 0,sLabel:void 0,set:function(a,b){return function(c,d){var k,e;c.dontPlot||(this.point&&this.sLabel?(k=a(this.point,this.sLabel),e=a(c,d),b(k,e)&&(this.point=c,this.sLabel=d)):(this.point=c,this.sLabel=d))}}},V={},O={},R={},U={},N=b.slicingGapPosition={};ca.extend(V,C);ca.extend(O,C);V.setAll=function(a,b,c){var d=this.point,k=this.sLabel;this.flag=a;d&&k?(a=d.labelX-(k.oriTextWidth-
k.width),d=b.labelX-(c.oriTextWidth-c.width),a>d&&(this.point=b,this.sLabel=c)):(this.point=b,this.sLabel=c)};O.setAll=function(a,b,c){var d=this.point,k=this.sLabel;this.flag=a;d&&k?(a=d.labelX+k.oriTextWidth,d=b.labelX+c.oriTextWidth,a<d&&(this.point=b,this.sLabel=c)):(this.point=b,this.sLabel=c)};ca.extend(R,Q);ca.extend(U,Q);R.set=function(){return Q.set.apply(R,[function(a){return a.labelX},function(a,b){return a>b?!0:!1}])}();U.set=function(){return Q.set.apply(U,[function(a,b){return a.labelX+
b.oriTextWidth},function(a,b){return a<b?!0:!1}])}();b.noOfGap=0;B.useEllipsesOnOverflow(m.useEllipsesWhenOverflow);m=0;for(C=a.length;m<C;m++)if(x=a[m])x.x=m,h[m]&&(x.isSliced=h[m].sliced||!!x.isSliced||!!b.isSliced),m?(d&&(q=!q),x.isSliced&&(F=x.x,1<F&&!N[F]&&(N[F]=!0,b.noOfGap+=1),F<D&&(N[F+1]=!0,b.noOfGap+=1)),E?(F=1==b.useSameSlantAngle?c?p*x.y/c:p:c?p*Xa(x.y/c):p,t=f*(a[m-1].y-x.y)||1):(n+=t=f*a[m].y,F=p*(1-n*K)),x.shapeArgs={x:e,y:$,R1:v,R2:F,h:t||1,r3dFactor:l,isHollow:w,gStr:"point",is2D:k,
renderer:r.components.paper,isFunnel:!0},B.setStyle(x.style),x.oriText=x.displayValue,A=A=B.getSmartText(x.displayValue,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),s?(x.labelAline="middle",x.labelX=e,x.labelY=(k?$:$+l*v)+t/2+u):(x.labelAline="start",x.alignmentSwitch=q,x.distributionFactor=x.distributionFactor||0,q?(x.labelX=e-(g+F+z+A.width),x.labelX-=x.distributionFactor*b.globalMinXShift,R.set(x,A)):(x.labelX=e+g+F+z,x.labelX+=x.distributionFactor*b.globalMinXShift,U.set(x,A)),y=x.distributionFactor*
L,x.labelY=$+u+t+y),d&&(q&&0>x.labelX?(v=x.labelX+A.width,v=B.getSmartText(x.displayValue,v,Number.POSITIVE_INFINITY,!0),x.labelX=2,x.isLabelTruncated=!0,x.displayValue=v.text,x.virtualWidth=v.maxWidth,V.setAll(!0,x,v)):!q&&x.labelX+A.width>J&&(v=B.getSmartText(x.displayValue,J-x.labelX,Number.POSITIVE_INFINITY,!0),x.isLabelTruncated=!0,x.displayValue=v.text,x.virtualWidth=v.maxWidth,O.setAll(!0,x,v))),x.pWidth=x.virtualWidth=x.virtualWidth||A.width,$+=t,v=F):(x.oriText=x.displayValue,F=1==b.useSameSlantAngle?
c?p*x.y/c:p:c?p*Xa(x.y/c):p,x.labelWidth>2*F&&!d?(x.labelAline="start",x.labelX=0):(x.labelAline="middle",x.labelX=e),t=2*g,x.displayValue=B.getSmartText(x.displayValue,2*F+t,Number.POSITIVE_INFINITY,!0).text,x.labelY=(k?$:$-l*v)-u-z),x.plotX=e,x.plotY=$;this.findBestPosition.call(this,a,{lTrimmedInfo:V,rTrimmedInfo:O,lLargestLabel:R,rLargestLabel:U})},findBestPosition:function(a,d){var b=this.conf,c=this.chart,k=c.config,e=0,h=d.lTrimmedInfo,r=d.rTrimmedInfo,m=d.lLargestLabel,$=d.rLargestLabel,f=
c.linkedItems.smartLabel,p=0,g=b.streamLinedData,s=b.blankSpace,b=k.width-b.blankSpace;if(!h.flag||!r.flag){if(r.flag){if(!m.point)return;e=r.sLabel;e=e.oriTextWidth-e.width;m=m.point.labelX-s;e=-Math.ceil(Math.min(e,m))}else if(h.flag){if(!$.point)return;e=h.sLabel;e=e.oriTextWidth-e.width;m=b-($.point.labelX+$.sLabel.width);e=Math.ceil(Math.min(e,m))}if(e)for(m=0,$=a.length;m<$;m++)k=a[m],!m&&g?k.labelX+=e:(k.alignmentSwitch?(c=0>e?f.getSmartText(k.oriText,k.pWidth,Number.POSITIVE_INFINITY,!0):
f.getSmartText(k.oriText,k.pWidth+e,Number.POSITIVE_INFINITY,!0),k.isLabelTruncated&&(p=c.width-k.pWidth)):c=0<e?f.getSmartText(k.oriText,k.pWidth,Number.POSITIVE_INFINITY,!0):f.getSmartText(k.oriText,k.pWidth-e,Number.POSITIVE_INFINITY,!0),k.virtualWidth=c.width,k.displayValue=c.text,k.labelX+=e-p,k.shapeArgs&&(k.shapeArgs.x+=e),p=0);else for(f.useEllipsesOnOverflow(k.useEllipsesWhenOverflow),m=0,$=a.length;m<$;m++)k=a[m],0<(p=k.labelX+k.pWidth-b)&&(k.lOverflow=p,k.labelX-=p,c.isLegendRight?k.displayValue=
f.getSmartText(k.oriText,k.pWidth-p,Number.POSITIVE_INFINITY,!0).text:(k.lOverflow=p,k.labelX-=p))}},getPlotData:function(a){var d=this.components.data[a],b=this.userData||(this.userData=[]),c="y name color alpha borderColor borderWidth link label displayValue datasetIndex toolText".split(" "),k;if(b[a])a=b[a];else{a=b[a]={};for(b=0;b<c.length;b++)a[k=c[b]]=d[k];a.value=a.y;a.label=a.name;delete a.y;delete a.name}return a},pyramidFunnelShape:function(){var a={y:!0,R1:!0,R2:!0,h:!0,r3dFactor:!0,color:!0,
opacity:!0,fill:!0,stroke:!0,strokeColor:!0,strokeAlpha:!0,"stroke-width":!0},d=function(a,b,c,d,k,e,p,f,s,g,u){"object"===typeof a&&(b=a.y,c=a.R1,d=a.R2,k=a.h,e=a.r3dFactor,p=a.is2D,g=a.isHollow,s=a.isFunnel,a=a.x);f=a-c;u=a+c;var l=a-d,z=a+d,v=b+k,B,C;if(p)B={silhuette:["M",f,b,"L",u,b,z,v,l,v,"Z"]},s||(a=Math.round(a),B.lighterHalf=["M",f,b,"L",a,b,a,v,l,v,"Z"],B.darkerHalf=["M",a,b,"L",u,b,z,v,a,v,"Z"]);else if(s){l=a;z=b;b=c||.01;u=d||.01;a=g;f=b*e;e*=u;k=z+k;v=q(u,2)-q(b,2);c=-2*(q(u,2)*z-q(b,
2)*k);d=q(b*e,2)+q(u*z,2)-q(u*f,2)-q(b*k,2);g=Xa(q(c,2)-4*v*d);d=(-c+g)/(2*v);v=(-c-g)/(2*v);d<k&&d>z?C=v:v<k&&v>z&&(C=d);d=Xa((q(C-z,2)-q(f,2))/q(b,2));c=-d;v={x:Ia(q(b,2)*d/(C-z)*100)/100,y:Ia(100*(q(f,2)/(C-z)+z))/100};d={x:Ia(q(u,2)*d/(C-k)*100)/100,y:Ia(100*(q(e,2)/(C-k)+k))/100};g={x:Ia(q(b,2)*c/(C-z)*100)/100,y:Ia(100*(q(f,2)/(C-z)+z))/100};C={x:Ia(q(u,2)*c/(C-k)*100)/100,y:Ia(100*(q(e,2)/(C-k)+k))/100};v={topLeft:g,bottomLeft:C,topRight:v,bottomRight:d};for(B in v)if(isNaN(v[B].x)||isNaN(v[B].y))v[B].x=
"topLeft"===B||"bottomLeft"===B?-b:b,v[B].y="bottomRight"===B||"bottomLeft"===B?k:z;k=v.topLeft;c=v.bottomLeft;B=l+k.x;C=l+v.topRight.x;z=l+c.x;l+=v.bottomRight.x;k=k.y;c=c.y;v=["A",b,f,0,0,0,C,k];d=["A",b,f,0,1,1,C,k];g=["A",u,e,0,0,1,z,c];u=["A",u,e,0,1,0,z,c];u={front:["M",B,k].concat(v,["L",l,c],g,["Z"]),back:["M",B,k].concat(d,["L",l,c],u,["Z"]),silhuette:["M",B,k].concat(d,["L",l,c],g,["Z"])};a||(u.top=["M",B,k].concat(v,["L",C,k],["A",b,f,0,1,0,B,k],["Z"]));B=u}else B=c*e,C=d*e,k=A(5,c),c=
A(2,2*B),d=A(2,c),e=d/e,B={top:["M",f,b,"L",a,b+B,u,b,a,b-B,"Z"],front:["M",f,b,"L",a,b+B,u,b,z,v,a,v+C,l,v,"Z"],topLight:["M",f,b+.5,"L",a,b+B+.5,a,b+B-c,f+e,b,"Z"],topLight1:["M",u,b+.5,"L",a,b+B+.5,a,b+B-d,u-e,b,"Z"],silhuette:["M",f,b,"L",a,b-B,u,b,z,v,a,v+C,l,v,"Z"],centerLight:["M",a,b+B,"L",a,v+C,a-5,v+C,a-k,b+B,"Z"],centerLight1:["M",a,b+B,"L",a,v+C,a+5,v+C,a+k,b+B,"Z"]};return B},b=function(b,c){var k,m,f=this,g,p,qa=!1,s=!1,w=this._3dAttr,u;pa(b)&&ea(c)&&(k=b,b={},b[k]=c);if(pa(b))f=a[b]?
this._3dAttr[b]:this._attr(b);else{for(k in b)m=b[k],a[k]?(w[k]=m,"fill"===k?(m&&m.linearGradient&&m.stops&&m.stops[0]&&(m=m.stops[0][1]),Ma.test(m)?(p=new La(m),g=p.get("hex"),p=100*p.get("a")):m&&m.FCcolor?(g=m.FCcolor.color.split(l)[0],p=m.FCcolor.opacity.split(l)[0]):$a.test(m)&&(g=m.replace(Qa,ab),p=e(w.opacity,100)),w.color=g,w.opacity=p,s=!0):"color"===k||"opacity"===k?(w.fill=N(t(w.color,e(w.opacity,100))),s=!0):"stroke"===k||"strokeColor"===k||"strokeAlpha"===k?w.is2D&&("stroke"===k?(m&&
m.linearGradient&&m.stops&&m.stops[0]&&(m=m.stops[0][1]),Ma.test(m)?(p=new La(m),g=p.get("hex"),p=100*p.get("a")):m&&m.FCcolor?(g=m.FCcolor.color.split(l)[0],p=m.FCcolor.opacity.split(l)[0]):$a.test(m)&&(g=m.replace(Qa,ab),p=e(w.opacity,100)),w.strokeColor=g,w.strokeAlpha=p):w.stroke=t(w.strokeColor,e(w.strokeAlpha,100)),w.isFunnel?this.funnel2D.attr("stroke",w.stroke):this.borderElement.attr("stroke",w.stroke)):"stroke-width"===k?w.is2D&&(w.isFunnel?this.funnel2D.attr(k,m):this.borderElement.attr(k,
m)):qa=!0):this._attr(k,m);w.is2D?(qa&&(g=d(w.x,w.y,w.R1,w.R2,w.h,w.r3dFactor,w.is2D),f.shadowElement.attr({path:g.silhuette}),w.isFunnel?f.funnel2D.attr({path:g.silhuette}):(f.lighterHalf.attr({path:g.lighterHalf}),f.darkerHalf.attr({path:g.darkerHalf}),f.borderElement.attr({path:g.silhuette}))),s&&(w.isFunnel?f.funnel2D.attr("fill",N(t(w.color,e(w.opacity,100)))):(!1===w.use3DLighting?g=p=w.color:(g=ha(w.color,80),p=P(w.color,80)),f.lighterHalf.attr("fill",N(t(p,e(w.opacity,100)))),f.darkerHalf.attr("fill",
N(t(g,e(w.opacity,100))))))):(qa&&(g=d(w.x,w.y,w.R1,w.R2,w.h,w.r3dFactor,w.is2D),f.shadowElement.attr("path",g.silhuette),w.isFunnel?(f.front.attr("path",g.front),f.back.attr("path",g.back),f.toptop&&g.top&&f.toptop.attr("path",g.top)):(f.front.attr("path",g.front),f.toptop.attr("path",g.top),f.topLight.attr("path",g.topLight),f.topLight1.attr("path",g.topLight1),f.centerLight.attr("path",g.centerLight),f.centerLight1.attr("path",g.centerLight1))),s&&(g=w.color,p=w.opacity,w.isFunnel?(s=P(g,60),qa=
ha(g,60),f.back.attr("fill",N({FCcolor:{color:qa+l+s+l+g,alpha:p+l+p+l+p,ratio:"0,60,40",angle:0}})),f.front.attr("fill",N({FCcolor:{color:g+l+s+l+qa,alpha:p+l+p+l+p,ratio:"0,40,60",angle:0}})),f.toptop&&f.toptop.attr("fill",N({FCcolor:{color:s+l+qa,alpha:p+l+p,ratio:"0,100",angle:-65}}))):(s=P(g,80),k=P(g,70),qa=ha(g,80),m="0,"+p,u=g+l+k,w=5/(w.R1*w.r3dFactor)*100,f.centerLight.attr("fill",N({FCcolor:{color:u,alpha:m,ratio:"0,100",angle:0}})),f.centerLight1.attr("fill",N({FCcolor:{color:u,alpha:m,
ratio:"0,100",angle:180}})),f.topLight.attr("fill",N({FCcolor:{color:k+l+k+l+g+l+g,alpha:p+l+p+l+0+l+0,ratio:"0,50,"+w+l+(50-w),angle:-45}})),f.topLight1.attr("fill",N({FCcolor:{color:k+l+g+l+qa,alpha:p+l+p+l+p,ratio:"0,50,50",angle:0}})),f.front.attr("fill",N({FCcolor:{color:g+l+g+l+qa+l+qa,alpha:p+l+p+l+p+l+p,ratio:"0,50,0,50",angle:0}})),f.toptop.attr("fill",N({FCcolor:{color:s+l+g+l+qa+l+qa,alpha:p+l+p+l+p+l+p,ratio:"0,25,30,45",angle:-45}})))))}return f},c=function(){var a=this.shadowElement;
c&&a.shadow.apply(a,arguments)},k=function(a,b,c){var d=a.chart.get("config","animationObj"),k=d.duration,e=d.dummyObj,f=d.animObj,g=d.animType;return function(d,m,u){if(d=c[d])return d.animateWith(e,f,{path:m},k,g,a.postPlotCallback);u=u||ga;a.postPlotCallback();return b.path(m,c).attr(u)}};return function(a,h,r,m,f,g,p,l,s,w,u,n){var z=this.chart.graphics.datasetGroup,v;"object"===typeof a&&(h=a.y,r=a.R1,m=a.R2,f=a.h,g=a.r3dFactor,p=a.gStr,l=a.is2D,n=a.use3DLighting,s=a.renderer,u=a.isHollow,w=
a.isFunnel,v=a.graphics,a=a.x);g=e(g,.15);a={x:a,y:h,R1:r,R2:m,h:f,r3dFactor:g,is2D:l,use3DLighting:n,isHollow:u,isFunnel:w,renderer:s};h=d(a);r="silhuette lighterHalf darkerHalf centerLight centerLight1 front toptop topLight topLight1 shadowElement funnel2D back".split(" ");if(v){if(m=v._3dAttr,m.isFunnel!==a.isFunnel||m.is2D!==a.is2D||m.isHollow!==a.isHollow)for(f=0,u=r.length;f<u;f++)if(g=r[f],m=v[g])delete v[g],m.remove()}else v=void 0;p=v||s.group(p,z);p.toFront();p.Shapeargs=h;s=k(this,s,p,
"easeIn");p.shadowElement=s("shadowElement",h.silhuette,{fill:ua,stroke:"none"});p._attr=p._attr||p.attr;p.attr=b;p.shadow=c;p._3dAttr=a;w?l?p.funnel2D=s("funnel2D",h.silhuette):(p.back=s("back",h.back,{"stroke-width":0,stroke:"none"}),p.front=s("front",h.front,{"stroke-width":0,stroke:"none"}),h.top&&(p.toptop=s("toptop",h.top,{"stroke-width":0,stroke:"none"}))):l?(p.lighterHalf=s("lighterHalf",h.lighterHalf,{"stroke-width":0}),p.darkerHalf=s("darkerHalf",h.darkerHalf,{"stroke-width":0}),p.borderElement=
s("borderElement",h.silhuette,{fill:ua,stroke:"none"})):(p.front=s("front",h.front,{"stroke-width":0}),p.centerLight=s("centerLight",h.centerLight,{"stroke-width":0}),p.centerLight1=s("centerLight1",h.centerLight1,{"stroke-width":0}),p.toptop=s("toptop",h.top,{"stroke-width":0}),p.topLight=s("topLight",h.topLight,{"stroke-width":0}),p.topLight1=s("topLight1",h.topLight1,{"stroke-width":0}));return p}}(),utils:function(){function a(){var b=[],d=0;this.set=function(a,e){d++;b[a]=e};this.get=function(a){return b[a]};
this.getAll=function(){return b};this.mergeWith=function(d){var k,e,m=b.slice(0);if(!(d instanceof Array))if(d instanceof a)d=d.getAll();else return;for(k in d)e=d[k],m[k]||(m[k]=e);return m};this.getEffectiveLength=function(){return d}}function d(a){this.distributionLength=a;this.distributedMatrix=[];this.altDistributedMatrix=[];this.nonDistributedMatrix={};this.forcePushObj={};this.flags={exhaustion:!1}}var b;a.prototype.constructor=a;d.prototype.constructor=d;d.prototype.push=function(a,b){this.nonDistributedMatrix[b]=
this.nonDistributedMatrix[b]||[];this.nonDistributedMatrix[b].push(a)};d.prototype.forcePush=function(a,b){this.forcePushObj[b]=a};d.prototype.distribute=function(c){var d=b,e=!0,h=new a,r=new a,m=new a,f=new a,g=this.flags,p,l,s,w,u,n=0,z=d.components.data;if(c){if(0<z.length-this.distributionLength)for(l in this.nonDistributedMatrix)for(d=this.nonDistributedMatrix[l],w=1;w<d.length;w++)u=d[w],u.dontPlot=!0,u.displayValue=""}else if(0<z.length-2*this.distributionLength)for(l in this.nonDistributedMatrix)for(d=
this.nonDistributedMatrix[l],w=1;w<d.length-1;w++)u=d[w],u.dontPlot=!0,u.displayValue="";if(z.length>this.distributionLength&&!c){g.exhaustion=!0;for(l in this.nonDistributedMatrix)for(d=this.nonDistributedMatrix[l],w=0,c=d.length;w<c;w++)u=d[w],u.dontPlot?e?p=m:p=f:(e?p=h:p=r,p.getEffectiveLength()>parseInt(l,10)?u.distributionFactor=p.getEffectiveLength()-1-l:u.distributionFactor=0),p.set(n++,u),e=!e;this.distributedMatrix=h.mergeWith(m);this.altDistributedMatrix=r.mergeWith(f)}else{for(s in this.nonDistributedMatrix)for(d=
this.nonDistributedMatrix[s],w=0,c=d.length;w<c;w++)u=d[w],u.dontPlot?p=m:(p=h,p.getEffectiveLength()>parseInt(s,10)?u.distributionFactor=p.getEffectiveLength()-1-s:u.distributionFactor=0),p.set(n++,u);this.distributedMatrix=h.mergeWith(m)}};d.prototype.getDistributedResult=function(){var a=b,d=a.chart,e=d.components.legend,h=a.conf.alignmentType,a=[],r=e&&"right"===e.align&&1||0;e.width||(r=0);d.isLegendRight=r;this.distribute(r);r?(d=h["default"],a.push(this.distributedMatrix)):(d=this.flags.exhaustion?
h.alternate:h["default"],this.flags.exhaustion?[].push.call(a,this.distributedMatrix,this.altDistributedMatrix):a.push(this.distributedMatrix));return{forceMatrix:this.forcePushObj,suggestion:d,matrix:a}};return{DistributionMatrix:d,setContext:function(a){b=a},invokeHookFns:function(){var a,d=[],e=b;switch(arguments.length){case 3:e=arguments[2];case 2:d=arguments[1];case 1:a=arguments[0];break;default:return}a&&"function"===typeof a&&a.apply(e,d)},copyProperties:function(a,d,e){function h(a){return"string"===
typeof a&&0===a.indexOf("$")?(a=a.substring(1),d[a]):"function"===typeof a?a.call(b,d):a}var r,m,f,g,p,l,s,w=function(){};r=0;for(m=e.length;r<m;r++)f=e[r],g=f[0],p=f[1],l=f[2],s=h(f[3]),f=f[4]||w,d[p]=l(a[g],s),f(d)},sortObjArrByKey:function(a,b){return a.sort(function(a,c){return Math.abs(c[b])-Math.abs(a[b])})},getSumValueOfObjArrByKey:function(a,b){var d,e,r=0;d=0;for(e=a.length;d<e;d++)r+=parseFloat(a[d][b],10);return r}}}(),slice:function(a,d,b,c){d=this.plotItem;var k=this.datasetStore,e=k.chart,
h=e.get("config","animationObj");b=h.duration;var r=h.dummyObj,m=h.animObj,h=h.animType,f=k.conf,g=f.slicingDistance/2,p=0,l=0,s=k.graphics.plotItems,w=s.length,u,n,z,v,B;d&&ya.call(d.trackerObj,e,a,"dataplotclick");if(!f.sliceLock)for(f.sliceLock=1,c=d.sliced=ea(c)?c:!d.sliced,v=-g,B=function(){return function(){f.sliceLock=0;ca.raiseEvent("SlicingEnd",{slicedState:c,data:k.getPlotData(z)},e.chartInstance)}},p=0;p<w;p+=1)a=s[p],a!==d?n=a.sliced=!1:(n=!0,z=p),a.graphic&&(u=a.dy,u=-u,c&&(a.x<d.x?(u+=
v,l+=1):a.x==d.x?l?p==w-1&&(u+=.5*g):u+=.5*-g:u+=g),a.graphic.attr({transform:"t0,"+a.dy}),a.dy+=u,u={transform:"...t0,"+u},n&&ca.raiseEvent("SlicingStart",{slicedState:!c,data:k.getPlotData(z)},e.chartInstance),a.graphic.animateWith(r,m,u,b,h,n&&B(c,z)),a.dataLabel&&a.dataLabel.animateWith(r,m,u,b,h),a.connector&&a.connector.animateWith(r,m,u,b,h),a.trackerObj&&a.trackerObj.animateWith(r,m,u,b,h),1==p&&!s[0].graphic&&s[0].dataLabel&&s[0].dataLabel.animateWith(r,m,u,b,h))},legendClick:function(a){this.slice.call(a)},
getEventArgs:function(a){a=this.components.data[a.configuration.index]||{};return{alpha:a.alpha,value:a.y,color:a.color,borderColor:a.borderColor,borderWidth:a.borderWidth,link:a.link,displayValue:a.displayValue,datasetIndex:a.datasetIndex,toolText:a.toolText,label:a.categoryLabel}}}]);FusionCharts.register("component",["dataset","Funnel",{type:"funnel",LABEL_PLACEMENT_ITERATOR_INDEX_START:1,configure:function(){var a=this.chart,d=a.components.numberFormatter,b=this.utils.sortObjArrByKey,c=a.jsonData?
a.jsonData.chart:{},a=this.JSONData.data,k,e,h;if(this._checkValidData(a)){k=0;for(h=a.length;k<h;k++)(e=a[k])&&void 0!==e.value&&(e.value=d.getCleanValue(e.value,!0));d=+(void 0===c.streamlineddata?1:c.streamlineddata);this.JSONData.data=d?b(a,"value"):a;d&&(a[0].pseudoPoint=!0);this.addLegend()}},configureSpecifics:function(){var a=this.chart,d=this.conf,b=this.utils.copyProperties;b(a.jsonData?a.jsonData.chart:{},d,[["streamlineddata","streamLinedData",e,1],["funnelyscale","yScale",e,void 0,function(a){var b=
a.yScale;a.yScale=0<=b&&40>=b?b/200:.2}],["usesameslantangle","useSameSlantAngle",e,function(a){return a.streamLinedData?0:1}],["ishollow","isHollow",e,void 0,function(a){void 0===a.isHollow&&(a.isHollow=a.streamLinedData?1:0)}]]);a.config.PLOT_COLOR_INDEX_START=d.streamLinedData?-1:0},preDrawingHook:function(){var a=this.components.data,d=this.conf;d.streamLinedData||a.splice(0,0,{displayValue:"",y:d.sumValue})},prePointProcessingHookFn:function(a){var d=this.chart,b=d.config,c=this.conf,k=b.canvasWidth,
e=d.linkedItems.smartLabel,h=!c.streamLinedData,r,m;(r=a[0])&&(r.pseudoPoint=!0);r&&r.displayValue&&(e.useEllipsesOnOverflow(d.config.useEllipsesWhenOverflow),e.setStyle(r.style),Za(r.style),d=parseFloat(r.style.lineHeight.match(/^\d+/)[0]||c.lineHeight,10),m=e.getOriSize(r.displayValue).height,k=e.getSmartText(r.displayValue,k,m),r.displayValue=k.text,k.tooltext&&(r.originalText=k.tooltext),r.labelWidth=e.getOriSize(k.text).width,b.marginTop+=d+4);c.totalValue=h?a[0].y-a[1].y:0;c.offsetVal=function(b){return h?
-(a[b+1]&&a[b+1].y||0):r.y}},getPointInContext:function(){function a(a){this.displayValue=a.displayValue;this.displayValueArgs=a.displayValueArgs;this.style=a.style;this.categoryLabel=a.categoryLabel;this.toolText=a.toolText;this.legendCosmetics=a.legendCosmetics;this.showInLegend=a.showInLegend;this.y=a.y;this.shadow=a.shadow;this.smartTextObj=a.smartTextObj;this.color=a.color;this.legendItemId=a.legendItemId;this.name=a.name;this.alpha=a.alpha;this.rawColor=a.rawColor;this.rawAlpha=a.rawAlpha;this.legendColor=
a.legendColor;this.borderColor=a.borderColor;this.borderWidth=a.borderWidth;this.link=a.link;this.isSliced=a.isSliced;this.doNotSlice=a.doNotSlice;this.hoverEffects=a.hoverEffects;this.rolloverProperties=a.rolloverProperties}var d=this;a.upperRadiusFactor=1;a.prototype.getModifiedCurrentValue=function(){};a.prototype.getRatioK=function(a,c,k,e){a=d.conf;var h=a.useSameSlantAngle;return a.streamLinedData?this.y?h?this.y/e:Math.sqrt(this.y/e):1:.2+c*k};a.prototype.getLowestRadiusFactor=function(a){var c=
d.conf,k=c.useSameSlantAngle;return c.streamLinedData?this.y?k?this.y/a:Math.sqrt(this.y/a):1:.2};return a},datasetCalculations:function(a){var d=this.conf,b=this.chart.components.numberFormatter,c,k,e,h={},r=d.streamLinedData,m=d.percentOfPrevious;h.highestValue=Number.NEGATIVE_INFINITY;h.refreshedData=[];d=h.sumValue=h.countPoint=0;for(c=a.length;d<c;d++)k=a[d],k.vline||(k.cleanValue=e=Math.abs(b.getCleanValue(k.value,!0)),null!==e&&(h.hasValidPoint=!0,h.highestValue=h.highestValue||e,h.refreshedData.push(k),
h.sumValue+=e,h.countPoint+=1,h.highestValue=Math.max(h.highestValue,e)));r&&(h.sumValue=h.highestValue,m&&(h.prevPerValReq=!0));return h},draw:function(){this._configure();var a=this,d=a.chart,b=d.config,c=a.conf,k=a.utils,e=k.getSumValueOfObjArrByKey,h=k.DistributionMatrix,r=a.calculatePositionCoordinate,m=b.marginTop,f=b.marginBottom,k=a.components.data,g,p,l,s=d.graphics.datalabelsGroup,w=c.streamLinedData,u,n=2;g=k.length;var z=c.maxValue=k[0].y;l=c.minValue=k[g-1].y;var v=u=0,B=c.lineHeight,
C=Math.floor,t=Math.min,x,q=a.graphics.plotItems,D=[],A;if(c.sumValue&&(a.preDrawingSpaceManagement(),a.hide(a.graphics.plotItems),a.rolloverResponseSetter=function(a,b){return function(c){a.graphic.attr(b);ya.call(this,d,c,"DataPlotRollOver")}},a.rolloutResponseSetter=function(a,b){return function(c){a.graphic.attr(b);ya.call(this,d,c,"DataPlotRollOut")}},a.legendClickHandler=function(b){return function(){a.legendClick(b,!0,!1)}},a.animateFunction=function(a){return function(){d._animCallBack();
a.attr({opacity:1})}},a.postPlotCallback=function(){},b.canvasTop+=b.marginTop-m,b.effCanvasHeight=u=b.canvasHeight-(b.marginTop+b.marginBottom)+(m+f),b.effCanvasWidth=m=b.width-(b.marginLeft+b.marginRight),p=c.drawingRadius=m/n,c.x=p+b.canvasLeft,n=c.slicingDistance,f=n/2,!(w&&2>g))){w?(l=u/(z-l),z=(e=e(k,"value"))?u/e:u):z=l=z?u/z:u;c.unitHeight=l;c.lastRadius=p;c.globalMinXShift=0;e=c.alignmentType={};e["default"]=1;e.alternate=2;l=new h(C(u/B));for(h=0;h<g;h++)p=k[h],!w&&0===h||!w&&h===g-1?l.forcePush(p,
h):(u=p.y*z,v+=p.y*z,u=v-u+u/2,u=C(u/B),l.push(p,u));w=l.getDistributedResult();k.length=0;if(void 0===w.matrix[1])[].push.apply(k,w.matrix[0]);else for(v=w.matrix[0],B=w.matrix[1],g=Math.max(v.length,B.length),h=0;h<g;h++)u=v[h],C=B[h],k.push(u?u:C);v=Object.keys(w.forceMatrix);if(0<v.length)for(x in w.forceMatrix)[].splice.apply(k,[parseInt(x,10),0].concat(w.forceMatrix[x]));switch(w.suggestion){case e["default"]:r.call(a,k,!1);break;case e.alternate:c.labelAlignment=e.alternate,p=m/3,b.canvasLeft=
b.canvasWidth/2-p,c.x=b.canvasLeft+p,r.call(a,k,!0)}if(b=c.noOfGap)c.perGapDistance=t(1.5*f,n/b),c.distanceAvailed=f;s.trackTooltip(!0);h=k.length;q||(a.graphics.plotItems=[]);s.attr({opacity:0});c.alreadyPlotted&&(a.postPlotCallback=function(){A||(A=!0,a.animateFunction(s)())});for(;h--;)D.push(a.drawIndividualPlot(k[h],h));!c.alreadyPlotted&&a.animateElements(D,"graphic",[],{pre:{opacity:lb},post:{opacity:100}},a.animateFunction(s));c.connectorEndSwitchHistoryY={};for(h=k.length;h--;)k[h].plot||
(k[h].plot=q[h]),a.drawIndividualDataLabel(k[h],h);for(h=k.length;h--;)a.drawTracker(k[h],h);c.alreadyPlotted=!0}},drawIndividualPlot:function(a,d){var b=this.conf,c=this.graphics.plotItems,k=a.y,e=a.displayValue,h=b.isSliced,f={},m=this.components.data,g=this.chart,l=g.graphics,p=l.datalabelsGroup,n=l.trackerGroup,s,w=b.showLabelsAtCenter,u=g.components.paper,t=!!a.link,l=b.distanceAvailed,z=g.components.legend,g=g.get("config","animationObj").duration;s=h?1:a.isSliced;if(null!==k&&void 0!==k&&a.shapeArgs)return(h=
c[d])?(a.shapeArgs.graphics=h.graphic,a.shapeArgs.animationDuration=g,h.graphic=this.pyramidFunnelShape(a.shapeArgs).attr({fill:a.color,"stroke-width":a.borderWidth,stroke:a.borderColor}),h.graphic.show()):(a.shapeArgs.graphics=h,a.shapeArgs.animationDuration=g,a.plot=h=c[d]={graphic:this.pyramidFunnelShape(a.shapeArgs).attr({fill:a.color,"stroke-width":a.borderWidth,stroke:a.borderColor}),dataLabel:u.text(p),trackerObj:u.path(n)},w&&0===d&&b.streamLinedData||(h.connector=u.path(p))),b.showTooltip?
h.trackerObj.tooltip(a.toolText):h.trackerObj.tooltip(!1),h.value=k,h.displayValue=e,h.sliced=!!s,h.cursor=t?"pointer":"",h.x=a.x,h.index=d,h.dataLabel&&h.dataLabel.attr({text:e,ishot:!0,direction:"",cursor:t?"pointer":"",x:0,y:0}).css(f).tooltip(a.originalText),h.connector&&h.connector.attr({"stroke-width":b.dataConnectorStyle.connectorWidth,stroke:b.dataConnectorStyle.connectorColor,ishot:!0,cursor:t?"pointer":""}),z.configureItems(m[d].legendItemId,{legendClickFN:this.legendClickHandler({datasetStore:this,
plotItem:h})}),c=k={},a.hoverEffects&&(c={color:a.rawColor,opacity:a.rawAlpha,"stroke-width":a.borderWidth,stroke:a.borderColor},k=a.rolloverProperties,k={color:k.color,opacity:k.alpha,"stroke-width":k.borderWidth,stroke:k.borderColor}),e={datasetStore:this,plotItem:h},!a.doNotSlice&&h.trackerObj.click(this.slice,e),h.trackerObj.mouseup(this.plotMouseUp,h),h.trackerObj.hover(this.rolloverResponseSetter(h,k),this.rolloutResponseSetter(h,c)),!a.doNotSlice&&h.dataLabel.click(this.slice,e),h.dataLabel.hover(this.rolloverResponseSetter(h,
k),this.rolloutResponseSetter(h,c)),h.dy=0,b.noOfGap&&(l&&(h._startTranslateY=c="t0,"+l,h.dy=h.distanceAvailed=l,h.graphic.attr({transform:c}),h.dataLabel.attr({transform:c}),h.connector.attr({transform:c})),b.slicingGapPosition[a.x]&&(b.distanceAvailed-=b.perGapDistance)),h&&(h.point=a),h;a.plot=c[d]?c[d]:c[d]={dataLabel:u.text(p).attr({text:e,direction:"",x:0,y:0}).css(f)}},getTooltipMacroStub:function(a){var d=this.conf,b=this.chart.components.numberFormatter,c=this.__base__,e;d.streamLinedData&&
(e=d.percentOfPrevious?a.pValue:b.percentValue(a.dataValue/a.prevValue*100));c=c.getTooltipMacroStub(a);c.percentValue=d.percentOfPrevious?b.percentValue(a.dataValue/a.highestValue*100):a.pValue;c.percentOfPrevValue=e;return c}},"FunnelPyramidBase"]);FusionCharts.register("component",["dataset","Pyramid",{type:"pyramid",LABEL_PLACEMENT_ITERATOR_INDEX_START:0,configure:function(){this._checkValidData(this.JSONData.data)&&this.addLegend()},configureSpecifics:function(){var a=this.chart,d=this.utils.copyProperties;
d(a.jsonData?a.jsonData.chart:{},this.conf,[["pyramidyscale","yScale",e,void 0,function(a){var c=a.yScale;a.yScale=0<=c&&40>=c?c/200:.2}],["use3dlighting","use3DLighting",e,1]]);a.config.PLOT_COLOR_INDEX_START=0},preDrawingHook:function(){},draw:function(){this._configure();var a=this,d=a.chart,b=d.config,c=a.conf,e=a.utils.DistributionMatrix,f=a.calculatePositionCoordinate,h=b.marginTop,r=b.marginBottom,m=a.components.data,g,l,p,n=d.graphics.datalabelsGroup,s,w=2,u=m.length,t,z=t=0,v=c.lineHeight,
B=Math.floor,C=Math.min,ta,x=a.graphics.plotItems,q=[],D;if(c.sumValue){a.preDrawingSpaceManagement();a.hide(a.graphics.plotItems);a.rolloverResponseSetter=function(a,b){return function(c){a.graphic.attr(b);ya.call(this,d,c,"DataPlotRollOver")}};a.rolloutResponseSetter=function(a,b){return function(c){a.graphic.attr(b);ya.call(this,d,c,"DataPlotRollOut")}};a.legendClickHandler=function(b){return function(){a.legendClick(b,!0,!1)}};a.animateFunction=function(a){return function(){d._animCallBack();
a.attr({opacity:1})}};a.postPlotCallback=function(){};b.canvasTop+=b.marginTop-h;b.effCanvasHeight=g=b.canvasHeight-(b.marginTop+b.marginBottom)+(h+r);b.effCanvasWidth=h=b.width-(b.marginLeft+b.marginRight);s=c.drawingRadius=h/w;c.x=s+b.canvasLeft;w=c.slicingDistance;r=w/2;s=Math.atan(h/2/g);c.unitHeight=p=g/c.sumValue;c.lastRadius=0;c.globalMinXShift=Math.floor(v/Math.cos(s));s=c.alignmentType={};s["default"]=1;s.alternate=2;ta=new e(B(g/v));e=0;for(g=u;e<g;e++)l=m[e],t=l.y*p,z+=l.y*p,t=z-t+t/2,
t=B(t/v),ta.push(l,t);z=ta.getDistributedResult();m.length=0;if(void 0===z.matrix[1])[].push.apply(m,z.matrix[0]);else for(v=z.matrix[0],B=z.matrix[1],g=Math.max(v.length,B.length),e=0;e<g;e++)t=v[e],p=B[e],m.push(t?t:p);switch(z.suggestion){case s["default"]:f.call(a,m,!1);break;case s.alternate:c.labelAlignment=s.alternate,c.drawingRadius=s=h/3,b.canvasLeft=b.canvasWidth/2-s,c.x=b.canvasLeft+s,f.call(a,m,!0)}if(b=c.noOfGap)c.perGapDistance=C(1.5*r,w/b),c.distanceAvailed=r;n.trackTooltip(!0);e=m.length;
x||(x=a.graphics.plotItems=[]);n.attr({opacity:0});c.alreadyPlotted&&(a.postPlotCallback=function(){D||(D=!0,a.animateFunction(n)())});for(;e--;)q.push(a.drawIndividualPlot(m[e],e));!c.alreadyPlotted&&a.animateElements(q,"graphic",[],{pre:{opacity:lb},post:{opacity:100}},a.animateFunction(n));x.splice(u,x.length-u);c.connectorEndSwitchHistoryY={};for(e=m.length;e--;)m[e].plot||(m[e].plot=x[e]),a.drawIndividualDataLabel(m[e],e);for(e=m.length;e--;)a.drawTracker(m[e],e);c.alreadyPlotted=!0}},calculatePositionCoordinate:function(a,
d){var b=this.conf,c=b.is2d,e=b.x,f=this.graphics.plotItems||[],h=this.chart,r=h.config,m=r.canvasTop,g=b.unitHeight,l=b.labelDistance,p=b.showLabelsAtCenter,n=.3*r.style.fontSize,s=b.yScale,w=b.blankSpace,u=b.lastRadius,t=h.linkedItems.smartLabel,z,v,B,C=a.length-1,ta=!1,x=0,q,D,A=b.lineHeight,y=0;z={flag:!1,point:void 0,sLabel:void 0,setAll:function(a,b,c){this.flag=a;this.point=b;this.sLabel=c}};var F={point:void 0,sLabel:void 0,set:function(a,b){return function(c,d){var e,k;c.dontPlot||(this.point&&
this.sLabel?(e=a(this.point,this.sLabel),k=a(c,d),b(e,k)&&(this.point=c,this.sLabel=d)):(this.point=c,this.sLabel=d))}}},E={},L={},K={},J={},N=h.config.width-2,Q=b.slicingGapPosition={};ca.extend(E,z);ca.extend(L,z);E.setAll=function(a,b,c){var d=this.point,e=this.sLabel;this.flag=a;d&&e?(a=d.labelX-(e.oriTextWidth-e.width),d=b.labelX-(c.oriTextWidth-c.width),a>d&&(this.point=b,this.sLabel=c)):(this.point=b,this.sLabel=c)};L.setAll=function(a,b,c){var d=this.point,e=this.sLabel;this.flag=a;d&&e?(a=
d.labelX+e.oriTextWidth,d=b.labelX+c.oriTextWidth,a<d&&(this.point=b,this.sLabel=c)):(this.point=b,this.sLabel=c)};ca.extend(K,F);ca.extend(J,F);K.set=function(){return F.set.apply(K,[function(a){return a.labelX},function(a,b){return a>b?!0:!1}])}();J.set=function(){return F.set.apply(J,[function(a,b){return a.labelX+b.oriTextWidth},function(a,b){return a<b?!0:!1}])}();b.noOfGap=0;t.useEllipsesOnOverflow(r.useEllipsesWhenOverflow);r=0;for(z=a.length;r<z;r++)if(v=a[r])v.x=r,f[r]&&(v.isSliced=f[r].sliced||
!!v.isSliced||!!b.isSliced),d&&(ta=!ta),v.isSliced&&((B=v.x)&&!Q[B]&&(Q[B]=!0,b.noOfGap+=1),B<C&&(Q[B+1]=!0,b.noOfGap+=1)),t.setStyle(v.style),v.oriText=v.displayValue,q=q=t.getSmartText(v.displayValue,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),y+=v.y,D=b.drawingRadius*y/b.sumValue,B=g*v.y,v.shapeArgs={x:e,y:m,R1:u,R2:D,h:B,r3dFactor:s,gStr:"point",is2D:c,use3DLighting:!!b.use3DLighting,renderer:h.components.paper},p?(v.labelAline="middle",v.labelX=e,v.labelY=(c?m:m+s*u)+B/2+n):(v.labelAline=
"start",v.alignmentSwitch=ta,v.distributionFactor=v.distributionFactor||0,ta?(v.labelX=e-(l+(D+u)/2+w+q.width),v.labelX-=v.distributionFactor*b.globalMinXShift,K.set(v,q)):(v.labelX=e+l+(D+u)/2+w,v.labelX+=v.distributionFactor*b.globalMinXShift,J.set(v,q)),x=v.distributionFactor*A,v.labelY=m+n+B/2+x),d&&(ta&&0>v.labelX?(u=v.labelX+q.width,u=t.getSmartText(v.displayValue,u,Number.POSITIVE_INFINITY,!0),v.labelX=2,v.isLabelTruncated=!0,v.displayValue=u.text,v.virtualWidth=u.maxWidth,E.setAll(!0,v,u)):
!ta&&v.labelX+q.width>N&&(u=t.getSmartText(v.displayValue,N-v.labelX,Number.POSITIVE_INFINITY,!0),v.isLabelTruncated=!0,v.displayValue=u.text,v.virtualWidth=u.maxWidth,L.setAll(!0,v,u)),v.pWidth=v.virtualWidth||q.width,x=v.distributionFactor*A,v.labelY=m+n+B/2+x),m+=B,v.plotX=e,v.plotY=m-B/2,u=D,v.virtualWidth=v.virtualWidth||q.width;this.findBestPosition.call(this,a,{lTrimmedInfo:E,rTrimmedInfo:L,lLargestLabel:K,rLargestLabel:J})},getPointInContext:function(){function a(a){this.displayValue=a.displayValue;
this.displayValueArgs=a.displayValueArgs;this.style=a.style;this.categoryLabel=a.categoryLabel;this.toolText=a.toolText;this.legendCosmetics=a.legendCosmetics;this.showInLegend=a.showInLegend;this.y=a.y;this.legendColor=a.legendColor;this.shadow=a.shadow;this.smartTextObj=a.smartTextObj;this.color=a.color;this.alpha=a.alpha;this.name=a.name;this.legendItemId=a.legendItemId;this.rawColor=a.rawColor;this.rawAlpha=a.rawAlpha;this.borderColor=a.borderColor;this.borderWidth=a.borderWidth;this.link=a.link;
this.isSliced=a.isSliced;this.doNotSlice=a.doNotSlice;this.hoverEffects=a.hoverEffects;this.rolloverProperties=a.rolloverProperties}var d=this;a.upperRadiusFactor=0;a.prototype.getModifiedCurrentValue=function(a){return a+this.y/2};a.prototype.getRatioK=function(a){var c=d.conf;return a?a/c.sumValue:1};a.prototype.getLowestRadiusFactor=function(){return 1};return a},drawIndividualPlot:function(a,d){var b=this.conf,c=this.graphics.plotItems,e=a.y,f=a.displayValue,h=b.isSliced,r={},m=this.chart,g=this.components.data,
l=m.graphics,p=l.datalabelsGroup,n=l.trackerGroup,s,w=b.showLabelsAtCenter,u=m.components.paper,t=!!a.link,l=b.distanceAvailed,z=m.components.legend,m=m.get("config","animationObj").duration;s=h?1:a.isSliced;if(null!==e&&void 0!==e&&a.shapeArgs)return(h=c[d])?(a.shapeArgs.graphics=h.graphic,a.shapeArgs.animationDuration=m,h.graphic=this.pyramidFunnelShape(a.shapeArgs).attr({fill:a.color,"stroke-width":a.borderWidth,stroke:a.borderColor}),h.graphic.show()):(a.shapeArgs.graphics=h,a.shapeArgs.animationDuration=
m,a.plot=h=c[d]={graphic:this.pyramidFunnelShape(a.shapeArgs).attr({fill:a.color,"stroke-width":a.borderWidth,stroke:a.borderColor}),dataLabel:u.text(p),trackerObj:u.path(n)},w&&0===d&&b.streamLinedData||(a.connectorHOffset=-(a.shapeArgs.h/2),h.connector=u.path(p))),b.showTooltip?h.trackerObj.tooltip(a.toolText):h.trackerObj.tooltip(!1),h.value=e,h.displayValue=f,h.sliced=!!s,h.cursor=t?"pointer":"",h.x=a.x,h.index=d,h.dataLabel&&h.dataLabel.attr({text:f,ishot:!0,direction:"",cursor:t?"pointer":"",
x:0,y:0}).css(r).tooltip(a.originalText),h.connector&&h.connector.attr({"stroke-width":b.dataConnectorStyle.connectorWidth,stroke:b.dataConnectorStyle.connectorColor,ishot:!0,cursor:t?"pointer":""}),z.configureItems(g[d].legendItemId,{legendClickFN:this.legendClickHandler({datasetStore:this,plotItem:h})}),c=e={},a.hoverEffects&&(c={color:a.rawColor,opacity:a.rawAlpha,"stroke-width":a.borderWidth,stroke:a.borderColor},e=a.rolloverProperties,e={color:e.color,opacity:e.alpha,"stroke-width":e.borderWidth,
stroke:e.borderColor}),f={datasetStore:this,plotItem:h},!a.doNotSlice&&h.trackerObj.click(this.slice,f),h.trackerObj.mouseup(this.plotMouseUp,h),h.trackerObj.hover(this.rolloverResponseSetter(h,e),this.rolloutResponseSetter(h,c)),!a.doNotSlice&&h.dataLabel.click(this.slice,f),h.dataLabel.hover(this.rolloverResponseSetter(h,e),this.rolloutResponseSetter(h,c)),h.dy=0,b.noOfGap&&(l&&(h._startTranslateY=c="t0,"+l,h.dy=h.distanceAvailed=l,h.graphic.attr({transform:c}),h.dataLabel.attr({transform:c}),h.connector.attr({transform:c})),
b.slicingGapPosition[a.x]&&(b.distanceAvailed-=b.perGapDistance)),h.point=a,h;a.plot=c[d]?c[d]:c[d]={dataLabel:u.text(p).attr({text:f,direction:"",x:0,y:0}).css(r).tooltip(a.oriText)}},getTooltipMacroStub:function(a){var d=this.conf,b=this.chart.components.numberFormatter,c=this.__base__,e;d.streamLinedData&&(e=d.percentOfPrevious?a.pValue:b.percentValue(a.dataValue/a.prevValue*100));c=c.getTooltipMacroStub(a);c.percentValue=d.percentOfPrevious?b.percentValue(a.dataValue/a.highestValue*100):a.pValue;
c.percentOfPrevValue=e;return c}},"FunnelPyramidBase"]);n("vled",{showRTvalue:!1,canvasPadding:!1,friendlyName:"Vertical LED Gauge",defaultSeriesType:"led",defaultPlotShadow:1,standaloneInit:!0,realtimeEnabled:!0,chartleftmargin:15,chartrightmargin:15,charttopmargin:10,chartbottommargin:10,showTooltip:0,connectTickMarks:0,creditLabel:ra,isHorizontal:!1,isAxisOpposite:!0,hasLegend:!1,drawPlotlines:!1,drawPlotBands:!1,isAxisReverse:!1,hasCanvas:!1,isRealTime:!0,defaultDatasetType:"led",colorRange:!0,
applicableDSList:{led:!0},_getData:function(){var a=this.components.dataset;if(a&&(a=a[0].components.data)&&a[0])return a=a[0].config,e(a.setValue,a.itemValue)},_createDatasets:function(){var a=this.components,d=this.jsonData,b=d.value,c=d.target,e=this.defaultDatasetType,f,h,d=[];a.dataset||(a.dataset=[]);d.push({value:b,target:c});b={data:d};this.config.categories=d;d=a.dataset||(a.dataset=[]);e&&(h=FusionCharts.get("component",["dataset",e]))&&(c="datasetGroup_"+e,f=FusionCharts.register("component",
["datasetGroup",e]),e=a[c],f&&!e&&(e=a[c]=new f,e.chart=this,e.init()),d[0]?(a=d[0].JSONData,a=a.data.length,e=b.data.length,a>e&&d[0].removeData(e-1,a-e,!1),d[0].JSONData=b,d[0].configure()):(a=new h,d.push(a),a.chart=this,e&&e.addDataSet(a,0,0),a.init(b)))},_createAxes:function(){var a=this.components,d=FusionCharts.register("component",["axis","gauge"]);a.scale=a=new d;a.chart=this;a.init()}},n.axisgaugebase);n("vbullet",{friendlyName:"Vertical Bullet Gauge",creditLabel:ra,defaultSeriesType:"bullet",
gaugeType:4,ticksOnRight:0,standaloneInit:!0,hasCanvas:!0,singleseries:!0,isHorizontal:!1,isAxisOpposite:!1,isAxisReverse:!1,defaultDatasetType:"bullet",applicableDSList:{bullet:!0},defaultPaletteOptions:{paletteColors:[["A6A6A6","CCCCCC","E1E1E1","F0F0F0"],["A7AA95","C4C6B7","DEDFD7","F2F2EE"],["04C2E3","66E7FD","9CEFFE","CEF8FF"],["FA9101","FEB654","FED7A0","FFEDD5"],["FF2B60","FF6C92","FFB9CB","FFE8EE"]],bgColor:["FFFFFF","CFD4BE,F3F5DD","C5DADD,EDFBFE","A86402,FDC16D","FF7CA0,FFD1DD"],bgAngle:[270,
270,270,270,270],bgRatio:["0,100","0,100","0,100","0,100","0,100"],bgAlpha:["100","60,50","40,20","20,10","30,30"],toolTipBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor:["545454","545454","415D6F","845001","68001B"],baseFontColor:["333333","60634E","025B6A","A15E01","68001B"],tickColor:["333333","60634E","025B6A","A15E01","68001B"],trendColor:["545454","60634E","415D6F","845001","68001B"],plotFillColor:["545454","60634E","415D6F","845001","68001B"],borderColor:["767575",
"545454","415D6F","845001","68001B"],borderAlpha:[50,50,50,50,50]},_createAxes:function(){var a=this.components,d=FusionCharts.register("component",["axis","gauge"]);a.scale=a=new d;a.chart=this;a.init()},_feedAxesRawData:function(){var a=this.components,d=a.colorManager,b=this.jsonData.chart,c=g.chartPaletteStr.chart2D,k=e(b.ticksbelowgraph,1),k=e(b.ticksonright,b.axisontop,void 0!==b.axisonleft?!e(b.axisonleft):void 0,!k,this.isAxisOpposite),d={outCanfontFamily:f(b.outcnvbasefont,b.basefont,"Verdana,sans"),
outCanfontSize:Na(b.outcnvbasefontsize,b.basefontsize,10),outCancolor:f(b.outcnvbasefontcolor,b.basefontcolor,d.getColor(c.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),useEllipsesWhenOverflow:b.useellipseswhenoverflow,divLineColor:f(b.vdivlinecolor,d.getColor(c.divLineColor)),divLineAlpha:f(b.vdivlinealpha,d.getColor("divLineAlpha")),divLineThickness:e(b.vdivlinethickness,1),divLineIsDashed:Boolean(e(b.vdivlinedashed,b.vdivlineisdashed,0)),divLineDashLen:e(b.vdivlinedashlen,4),divLineDashGap:e(b.vdivlinedashgap,
2),showAlternateGridColor:e(b.showalternatevgridcolor,0),alternateGridColor:f(b.alternatevgridcolor,d.getColor("altVGridColor")),alternateGridAlpha:f(b.alternatevgridalpha,d.getColor("altVGridAlpha")),numDivLines:b.numvdivlines,labelFont:b.labelfont,labelFontSize:b.labelfontsize,labelFontColor:b.labelfontcolor,labelFontAlpha:b.labelalpha,labelFontBold:b.labelfontbold,labelFontItalic:b.labelfontitalic,axisName:b.xaxisname,axisMinValue:b.lowerlimit,axisMaxValue:b.upperlimit,setAdaptiveMin:b.setadaptivexmin,
adjustDiv:b.adjustvdiv,labelDisplay:b.labeldisplay,showLabels:b.showlabels,rotateLabels:b.rotatelabels,slantLabel:e(b.slantlabels,b.slantlabel),labelStep:e(b.labelstep,b.xaxisvaluesstep),showAxisValues:e(b.showxaxisvalues,b.showxaxisvalue),showDivLineValues:e(b.showvdivlinevalues,b.showvdivlinevalues),showZeroPlane:b.showvzeroplane,zeroPlaneColor:b.vzeroplanecolor,zeroPlaneThickness:b.vzeroplanethickness,zeroPlaneAlpha:b.vzeroplanealpha,showZeroPlaneValue:b.showvzeroplanevalue,trendlineColor:b.trendlinecolor,
trendlineToolText:b.trendlinetooltext,trendlineThickness:b.trendlinethickness,trendlineAlpha:b.trendlinealpha,showTrendlinesOnTop:b.showtrendlinesontop,showAxisLine:e(b.showxaxisline,b.showaxislines,b.drawAxisLines,0),axisLineThickness:e(b.xaxislinethickness,b.axislinethickness,1),axisLineAlpha:e(b.xaxislinealpha,b.axislinealpha,100),axisLineColor:f(b.xaxislinecolor,b.axislinecolor,"#000000"),majorTMNumber:b.majortmnumber,majorTMColor:b.majortmcolor,majorTMAlpha:b.majortmalpha,majorTMHeight:b.majortmheight,
tickValueStep:b.tickvaluestep,showTickMarks:b.showtickmarks,connectTickMarks:b.connecttickmarks,showTickValues:b.showtickvalues,majorTMThickness:b.majortmthickness,upperlimit:a.numberFormatter.getCleanValue(b.upperlimit),lowerlimit:a.numberFormatter.getCleanValue(b.lowerlimit),reverseScale:b.reversescale,showLimits:e(b.showlimits,b.showtickmarks),adjustTM:b.adjusttm,minorTMNumber:e(b.minortmnumber,0),minorTMColor:b.minortmcolor,minorTMAlpha:b.minortmalpha,minorTMHeight:e(b.minortmheight,b.minortmwidth),
minorTMThickness:b.minortmthickness,tickMarkDistance:e(b.tickmarkdistance,b.tickmarkgap),tickValueDistance:e(b.tickvaluedistance,b.displayvaluedistance),placeTicksInside:b.placeticksinside,placeValuesInside:b.placevaluesinside,upperLimitDisplay:b.upperlimitdisplay,lowerLimitDisplay:b.lowerlimitdisplay},a=a.scale;a.chart=this;a.setCommonConfigArr(d,!this.isHorizontal,!1,k);a.configure()},_drawCanvas:function(){}},n.vled);n("hled",{friendlyName:"Vertical LED Gauge",defaultSeriesType:"led",defaultPlotShadow:1,
standaloneInit:!0,realtimeEnabled:!0,chartleftmargin:15,chartrightmargin:15,charttopmargin:10,chartbottommargin:10,showTooltip:0,connectTickMarks:0,isHorizontal:!0,isAxisOpposite:!1,creditLabel:ra},n.vled);n("hlineargauge",{showRTvalue:!1,canvasPadding:!1,friendlyName:"Horizontal Linear Gauge",creditLabel:ra,defaultDatasetType:"hlineargauge",standaloneInit:!0,isHorizontal:!0,isAxisOpposite:!1,hasLegend:!1,drawPlotlines:!1,drawPlotBands:!1,isAxisReverse:!1,minorTMNumber:4,isRealTime:!0,colorRange:!0,
applicableDSList:{hlineargauge:!0},rtParserModify:!0,_drawCanvas:function(){var a=this.components,d=this.config,b=this.graphics.datasetGroup,c=d.canvasWidth,k=d.canvasHeight,I=d.canvasTop,h=d.canvasLeft,r=a.scale,m=r.config.axisRange.min,g=r.config.axisRange.max,n=this.jsonData,r=n.chart,p=n.trendpoints&&n.trendpoints.point,n=e(r.showgaugeborder,1),qa=G(r.colorrangefillmix,r.gaugefillmix,"{light-10},{dark-20},{light-50},{light-85}"),s=G(r.colorrangefillratio,r.gaugefillratio,r.gaugefillratio,"0,8,84,8"),
w=f(r.colorrangebordercolor,r.gaugebordercolor,"{dark-20}"),u=e(r.colorrangeborderalpha,r.gaugeborderalpha,100),q=n?e(r.colorrangeborderthickness,r.gaugeborderthickness,1):0,z=a.colorRange&&a.colorRange.getColorRangeArr(m,g),v=e(r.showshadow,1),B,C,ta,x,A=a.paper,D=a.colorManager,y,F,E,r=this.get("config","animationObj"),S=r.duration,L=r.dummyObj,K=r.animObj,J=r.animType,T={top:1,bottom:3},Q=r=0,n=0,a=a.canvas.graphics;d.gaugeStartX=d.canvasLeft;d.gaugeEndX=d.canvasLeft+c;d.gaugeStartY=d.canvasTop;
d.gaugeEndY=d.canvasTop+k;d.gaugeCenterX=d.canvasLeft+c/2;d.gaugeCenterY=d.canvasTop+k/2;b.transform(["T",h,I]);(I=a.linear)||(a.linear=I=A.group("colorrange",b),I.trackTooltip(!0),a.outerRect=A.rect(b));a.outerRect.attr({x:0,y:0,width:c,height:k,stroke:"none",r:0});B=function(a,b){return{x:a*c/(g-m),y:0,width:(b-a)*c/(g-m),height:k}};a.colorRangeElems||(a.colorRangeElems=[]);b=0;for(h=z&&z.length;b<h;b+=1)ta=z[b],x=B(ta.minvalue-m,ta.maxvalue-m),ta.x=x.x,ta.y=x.y,ta.width=x.width,ta.height=x.height,
C=ta.code,C=t(Ha(f(ta.bordercolor,C),w),e(ta.borderalpha,u)),v&&Math.max(ta.alpha,u),y=D.parseColorMix(ta.code,qa),F=D.parseAlphaList(ta.alpha,y.length),E=e(ta.borderAlpha,u),ta=F.split(l),ta=M.apply(Math,ta),ta=M(q&&E||0,ta),E={x:x.x,y:x.y,width:x.width,height:x.height,r:0,"stroke-width":q},(x=a.colorRangeElems[b])||(x=a.colorRangeElems[b]=A.rect(I),x.attr(E)),x.attr({stroke:C,fill:N({FCcolor:{color:y.toString(),ratio:s,alpha:F,angle:270}})}),x.animateWith(L,K,E,S,J),x.shadow({apply:v,opacity:ta/
100}),x.show();for(;a.colorRangeElems[b];)a.colorRangeElems[b].shadow(!1),a.colorRangeElems[b].hide(),b++;if(p)for(d=d.trendPointConfig,a.trendObjElems||(a.trendObjElems=[]),a.trendZoneElems||(a.trendZoneElems=[]),a.marker||(a.marker=[]),b=0,h=d.length;b<h;b+=1)p=d[b],x=B(p.startValue-m,p.endValue-m),p.isTrendZone?((qa=a.trendZoneElems[r])||(qa=a.trendZoneElems[r]=A.rect({height:0<x.height?x.height:0},I)),qa.attr({fill:N({FCcolor:{color:p.color,alpha:p.alpha}})}),qa.animateWith(L,K,{x:x.x,y:x.y,width:0<
x.width?x.width:0,height:0<x.height?x.height:0,r:0,"stroke-width":0},S,J).tooltip(p.tooltext),qa.show(),r++):((qa=a.trendObjElems[Q])||(qa=a.trendObjElems[Q]=A.path(I)),qa.attr({stroke:t(p.color,p.alpha),"stroke-dasharray":p.dashStyle,"stroke-width":p.thickness}),qa.animateWith(L,K,{path:["M",x.x,x.y,"L",x.x,x.y+x.height]},S,J).tooltip(p.tooltext),qa.show(),Q++),p.useMarker&&(p.showOnTop?(s="bottom",qa=0):(s="top",qa=k),w=90*T[s],(s=a.marker[n])||(a.marker[n]=s=A.polypath(I)),s.attr({fill:p.markerColor,
stroke:p.markerBorderColor}),s.animateWith(L,K,{polypath:[3,x.x,qa,p.markerRadius,w,0],"stroke-width":1},S,J).shadow({apply:v}).tooltip(p.tooltext),s.show(),n++);if(v=a.trendObjElems)for(;v[Q];)v[Q].hide(),Q++;if(v=a.trendZoneElems)for(;v[r];)v[r].hide(),r++;if(s=a.marker)for(;s[n];)s[n].hide(),s[n].shadow(!1),n++},_configueTrendPoints:function(){var a=this.jsonData,d=this.config,b=d.style,c=a.trendpoints&&a.trendpoints.point,k,I=this.components,h=I.scale.config,r=h.axisRange,m=r.max,l=r.min,h=h.scaleFactor||
1,n=I.colorManager,p,qa,s,w=d.trendPointConfig=[],a=a.chart,u=c.length;b.trendStyle={fontFamily:b.outCanfontFamily,color:b.outCancolor,fontSize:b.outCanfontSize};for(k=0;k<u;k++)b=c[k],p=e(b.startvalue,b.value),qa=e(b.endvalue,p),s=p!==qa,p<=m&&p>=l&&qa<=m&&qa>=l&&w.push({startValue:p,endValue:qa,tooltext:E(aa(b.markertooltext)),displayValue:E(aa(b.displayvalue),s?F:I.numberFormatter.scale(p)),showOnTop:e(b.showontop,a.ticksbelowgauge,1),color:f(b.color,n.getColor("trendLightColor")),alpha:e(b.alpha,
99),thickness:e(b.thickness,1),dashStyle:Number(b.dashed)?ma(b.dashlen||2,b.dashgap||2,b.thickness||1):"",useMarker:e(b.usemarker,0),markerColor:t(f(b.markercolor,b.color,n.getColor("trendLightColor")),100),markerBorderColor:t(f(b.markerbordercolor,b.bordercolor,n.getColor("trendDarkColor")),100),markerRadius:e(e(b.markerradius)*h,5),markerToolText:fa(b.markertooltext),trendValueDistance:e(e(b.trendvaluedistance)*h,r.tickInterval),isTrendZone:s});g.stableSort&&g.stableSort(d.trendPointConfig,function(a,
b){return a.startValue-b.startValue})},_createDatasets:function(){var a=this.components,d=this.jsonData.pointers,b;b=this.defaultDatasetType;var c,a=a.dataset||(a.dataset=[]);b&&(b=FusionCharts.get("component",["dataset",b]))&&(a[0]?(b=a[0].pointerArr&&a[0].pointerArr.pointer&&a[0].pointerArr.pointer.length,c=d&&d.pointer&&d.pointer.length||0,b>c&&a[0].removeData(b-c),a[0].pointerArr=d,a[0].configure()):(b=new b,a.push(b),b.chart=this,b.init(d)))},_getData:function(a){var d=this.components.dataset;
if(d)return(d=d[0].components.data)&&d[--a]?(a=d[a].config,e(a.setValue,a.itemValue)):null},_setData:function(a,d){var b="value=",c;if(void 0!==a&&void 0!==d){for(c=1;c<Number(a);c++)b+=",";d.toString&&(b+=d.toString());b&&this.feedData(b)}},_getDataForId:function(a){var d=this.components.dataset[0].idMap;return d&&d[a]&&d[a].config.itemValue||null},_setDataForId:function(a,d){var b=this.components.dataset[0].idMap;return b&&b[a]&&this._setData(b[a].index+1,d)}},n.axisgaugebase);FusionCharts.register("component",
["dataset","hlineargauge",{pIndex:2,customConfigFn:"_createDatasets",init:function(a){this.pointerArr=a;this.idMap={};this.configure()},configure:function(){var a=this.chart,d=a.jsonData,b=d.chart,c=a.components,k=c.numberFormatter,c=c.colorManager,I=this.config||(this.config={}),h=this.components||(this.components={}),r=(d=d.pointers&&d.pointers.pointer)&&d.length||1,m,g,n,p,qa,s,w,u,q,z,v,a=a.config.style,B,C,ta,x,A,D,y,N,G,S,L,K,J,T;I.valuePadding=e(b.valuepadding,2);I.tooltipSepChar=f(b.tooltipsepchar,
l);z=e(b.ticksbelowgauge,b.ticksbelowgraph,1);I.axisPosition=z?3:1;I.pointerOnOpp=p=Number(!e(b.pointerontop,z,1));I.valueabovepointer=z=e(b.valueabovepointer,!p,1);I.valueInsideGauge=z===p?1:0;I.showPointerShadow=e(b.showpointershadow,b.showshadow,1);I.showTooltip=e(b.showtooltip,1);I.textDirection="1"===b.hasrtltext?"rtl":"";I.showGaugeLabels=e(b.showgaugelabels,1);I.colorRangeStyle={fontFamily:a.inCanfontFamily,fontSize:a.inCanfontSize,lineHeight:a.inCanLineHeight,color:a.inCancolor.replace(/^#?/,
"#")};I.showValue=e(b.showvalue,1);I.editMode=e(b.editmode,0);I.pointerSides=a=e(b.pointersides,3);I.pointerBorderThickness=T=e(b.pointerborderthickness);I.showHoverEffect=z=e(b.showhovereffect,b.plothovereffect);I.upperLimit=e(b.upperlimit);I.lowerLimit=e(b.lowerlimit);I.startAngle=90*{top:1,right:0,left:2,bottom:3}[p?"top":"bottom"];u=h.data||(h.data=[]);for(p=0;p<r;p++)g=u[p]||(h.data[p]={}),g=g.config||(g.config={}),m=d&&d[p]||{},g.itemValue=n=k.getCleanValue(m.value),g.formatedVal=s=k.dataLabels(n),
g.setDisplayValue=w=E(aa(m.displayvalue)),g.setToolText=qa=E(aa(m.tooltext)),g.id=f(m.id,"pointer_"+p),g.showHoverEffect=n=e(m.showhovereffect,z),g.showBorder=C=e(m.showborder,b.showplotborder,1),g.borderWidth=N=C?e(m.borderthickness,T):0,(g.showValue=q=e(m.showvalue,I.showValue))?void 0!==w?(g.displayValue=w,g.isLabelString=!0):g.displayValue=E(s," "):g.displayValue=F,g.sides=w=e(m.sides,a),3>w&&(g.sides=3),g.radius=w=e(m.radius,b.pointerradius,10),void 0!==qa?(g.toolText=da(qa,[1,2],{formattedValue:s},
m,b),g.isTooltextString=!0):g.toolText=null===s?!1:s,g.tempToolText=g.toolText,g.bgAlpha=q=e(m.alpha,m.bgalpha,b.pointerbgalpha,100),g.bgColor=v=f(m.color,m.bgcolor,b.pointerbgcolor,b.pointercolor,c.getColor("pointerBgColor")),g.fillColor=J=t(v,q),g.showBorder=e(m.showborder,b.showplotborder,1),g.borderAlpha=s=e(m.borderalpha,b.pointerborderalpha,100),g.borderColor=qa=f(m.bordercolor,b.pointerbordercolor,c.getColor("pointerBorderColor")),g.pointerBorderColor=B=t(qa,s),g.dataLink=E(m.link),g.editMode=
e(m.editmode,I.editMode),0!==n&&(n||m.bghovercolor||b.pointerbghovercolor||b.plotfillhovercolor||m.bghoveralpha||b.pointerbghoveralpha||b.plotfillhoveralpha||0===m.bghoveralpha||0===b.pointerbghoveralpha||m.showborderonhover||b.showborderonhover||0===m.showborderonhover||0===b.showborderonhover||m.borderhoverthickness||b.pointerborderhoverthickness||0===m.borderhoverthickness||0===b.pointerborderhoverthickness||m.borderhovercolor||b.pointerborderhovercolor||m.borderhoveralpha||b.pointerborderhoveralpha||
0===m.borderhoveralpha||0===b.pointerborderhoveralpha||m.hoverradius||b.pointerhoverradius||0===m.hoverradius||0===b.pointerhoverradius)&&(n=!0,x=f(m.bghovercolor,b.pointerbghovercolor,b.plotfillhovercolor,"{dark-10}"),ta=e(m.bghoveralpha,b.pointerbghoveralpha,b.plotfillhoveralpha),G=e(m.showborderonhover,b.showborderonhover),void 0===G&&(G=m.borderhoverthickness||0===m.borderhoverthickness||m.borderhovercolor||m.borderhoveralpha||0===m.borderhoveralpha?1:C),A=f(m.borderhovercolor,b.pointerborderhovercolor,
"{dark-10}"),C=e(m.borderhoveralpha,b.pointerborderhoveralpha),D=G?e(m.borderhoverthickness,b.pointerborderhoverthickness,N||1):0,y=e(m.hoverradius,b.pointerhoverradius,w+2),m=!!e(m.showhoveranimation,b.showhoveranimation,1),g.hoverAttr=G={},g.outAttr=S={},N!==D&&(G["stroke-width"]=D,S["stroke-width"]=N),S.fill=J,x=(N=/\{/.test(x))?c.parseColorMix(v,x)[0]:x,G.fill=t(x,e(ta,q)),D&&(S.stroke=B,N=/\{/.test(A),G.stroke=t(N?c.parseColorMix(qa,A)[0]:A,e(C,s))),y&&(m?(L={r:y},K={r:w}):(G.r=y,S.r=w))),g.rolloverProperties=
{enabled:n,hoverAttr:G,hoverAnimAttr:L,outAttr:S,outAnimAttr:K}},_manageSpace:function(a){var d=this.chart,b=this.components,c=d.config,k=this.config,f=d.linkedItems.smartLabel,h=c.canvasWidth,r,m=c.dataLabelStyle,g=c.style.trendStyle,l=d.jsonData,p=l.trendpoints&&l.trendpoints.point,n=e(parseInt(m.lineHeight,10),12),l=k.valuePadding,s=k.valueInsideGauge,w,u=w=0,t=0,z=0,v=0,B=0,C=0,q=d.components.scale.config.axisData.spaceTaken,x=0,A=this.pointerArr&&this.pointerArr.pointer&&this.pointerArr.pointer.length,
D=k.pointerOnOpp,b=b.data;p&&d._configueTrendPoints();f.useEllipsesOnOverflow(c.useEllipsesWhenOverflow);for(f.setStyle(m);x<A;x+=1)d=b[x].config,w=l+d.radius*(3>=d.sides?.5:d.sides%2?1.1-1/d.sides:1),z=Math.max(z,w),d.showValue&&d.displayValue!==F&&(d.isLabelString?(r=f.getSmartText(d.displayValue,h,a-z),d.displayValue=r.text,r.tooltext&&(d.originalText=r.tooltext)):r=f.getOriSize(d.displayValue)," "===d.displayValue&&(r={height:n})),w=r&&0<r.height&&!s?r.height+w:w,w>a&&(w=a),D?(3===k.axisPosition&&
(B=Math.max(q.bottom,B),w=Math.max(q.bottom,w)),u=Math.max(u,w)):(1===k.axisPosition&&(C=Math.max(q.top,C),w=Math.max(q.top,w)),t=Math.max(w,t)),k.align=Aa;k.currentValuePadding=z;f.setStyle(g);if(p){c=c.trendPointConfig;x=0;for(A=c.length;x<A;x+=1)(h=c[x])&&h.displayValue!==F&&(g=l+.5*h.markerRadius,v=Math.max(g,v),r=f.getOriSize(h.displayValue),0<r.height&&(w=r.height+g),w>a&&(w=a),h.showOnTop?(1===k.axisPosition&&(C=Math.max(q.top,C),w=Math.max(q.top,w)),t=Math.max(t,w)):(3===k.axisPosition&&(B=
Math.max(q.bottom,B),w=Math.max(q.bottom,w)),u=Math.max(w,u)));k.currentTrendPadding=v}return{top:t-C,bottom:u-B}},draw:function(a,d){var b=this,c=b.idMap,k=b.chart,f=k.components,h=k.config,r=k.graphics,m=r.datalabelsGroup,g=r.tempGroup,l=f.paper,p=f.scale,n=b.pointerArr&&b.pointerArr.pointer,f=h.canvasWidth,h=h.canvasHeight,s=b.config,h=s.pointerOnOpp?h:0,w=s.showPointerShadow,u=s.showTooltip,t=p.config.axisRange.min,z=p.config.axisRange.max,v=(z-t)/f,n=n&&n.length||1,B,C,q=b.components.data,x=
k.get("config","animationObj"),A=x.animObj,D=x.dummyObj,y=x.animType,x=(a||x).duration,F={pageX:0,pageY:0},E=function(a){!1!==this.editMode&&(B=k._getDataJSON(),this.dragStartX=a)},N=function(){var a=this.config,b,c=k.chartInstance;if(!1!==this.config.editMode){(b=c&&c.jsVars)&&(b._rtLastUpdatedData=k._getDataJSON());ca.raiseEvent("RealTimeUpdateComplete",{data:"&value="+a.updatedValStr,updateObject:{values:[a.updatedValStr]},prevData:B.values,source:"editMode",url:null},c);try{Fa.FC_ChartUpdated&&
Fa.FC_ChartUpdated(c.id)}catch(d){setTimeout(function(){throw d;},1)}s.showTooltip?K.tooltip(a.toolText):K.tooltip("")}},L=function(a,c,d,k,h){a=nb&&(nb&&h.sourceEvent&&h.sourceEvent.touches&&h.sourceEvent.touches[0]||h)||F;k=p.getLimit();c=k.min;k=k.max;var f=e(this.itemValue,c),m=f-(this.dragStartX-d)*v,r=0,g=[],I=[];if(!1!==this.editMode){this.drag=!0;for(m<c?m=c:m>k&&(m=k);r<this.index;r+=1)g.push(""),I.push("");g.push({value:m});I.push(m);f!==m&&b.updateData({data:g},{duration:0})&&(this.updatedValStr=
I.join("|"),this.dragStartX=d||h.pageX||a.pageX)}},K,J,G,Q,V,O,R,U,H=b.pool;g||(g=r.tempGroup=l.group("tempGroup",m).trackTooltip(!0));O=function(a){var b=this.data("eventArgs").index,b=q[b].config;!0===b.drag?b.drag=!1:ya.call(this,k,a)};R=function(a){var b=this.data("rolloverProperties");b.enabled&&(this.attr(b.hoverAttr),b.hoverAnimAttr&&this.animate(b.hoverAnimAttr,100,"easeIn"));ya.call(this,k,a,"DataPlotRollOver")};for(U=function(a){var b=this.data("rolloverProperties");b.enabled&&(this.attr(b.outAttr),
b.outAnimAttr&&this.animate(b.outAnimAttr,100,"easeIn"));ya.call(this,k,a,"DataPlotRollOut")};n--;)r=q[n].config,J=q[n].graphics||(q[n].graphics={}),Q=r.rolloverProperties||{},C=s.startAngle,c[r.id]={index:n,config:r},C+=.2,m=w?{opacity:Math.max(r.bgAlpha,r.borderAlpha)/100}:!1,G=r.dataLink,V={index:n,link:G,value:r.itemValue,displayValue:r.displayValue,toolText:r.toolText},(K=J.pointer)||(H&&H.pointer[0]?(K=J.pointer=H.pointer[0],H.pointer.splice(0,1)):K=J.pointer=l.polypath(g).click(O).hover(R,
U),K.attr({polypath:[r.sides,0,h||0,r.radius,C,0,g]}),K.show(),K.drag(L,E,N,r,r,q[n])),d||(K.attr({fill:r.fillColor,stroke:r.pointerBorderColor,ishot:!0,"stroke-width":r.borderWidth}).shadow(!!m,m&&m.opacity).data("eventArgs",V).data("rolloverProperties",Q),G||r.editMode?K.css({cursor:"pointer",_cursor:"hand"}):K.css({cursor:"",_cursor:""}),r._startAngle=C,r.editMode?(r.index=n,r.editMode=!0,K.attr({ishot:!0})):(r.editMode=!1,K.attr({ishot:!1}))),u?K.tooltip(r.toolText,null,null,!0):K.tooltip(""),
K.animateWith(D,A,{polypath:[r.sides,f*(e(r.itemValue,t)-t)/(z-t),h||0,r.radius,C,0],r:r.radius},x,y);d?b.drawPointerValues(a):b._drawWidgetLabel(a);b.removeDataArr&&b.remove()},removeData:function(a){var d=this.components.data;this.removeDataArr||(this.removeDataArr=[]);this.removeDataArr=this.removeDataArr.concat(d.splice(0,a))},remove:function(){var a=this.removeDataArr,d=a.length,b,c,e,f,h=this.pool||(this.pool={pointer:[],pointerValue:[]});for(f=0;f<d;f++)b=a[f].graphics,e=b.pointer,c=b.pointerValue,
h.pointer[f]=b.pointer,h.pointerValue[f]=b.pointerValue,c.hide(),e.hide(),e.undrag(),e.shadow(!1);delete this.removeDataArr},_drawWidgetLabel:function(a){var d=this.chart,b=d.config,c=d.components,k=c.numberFormatter,g=c.scale,h=c.paper,r=d.graphics.datalabelsGroup,m=g.config.axisRange.min,l=g.config.axisRange.max,n=this.config,g=n.textDirection,p=c.colorRange&&c.colorRange.getColorRangeArr(m,l),c=n.colorRangeStyle||{},t=n.showvalue,s,w=d.jsonData.trendpoints&&d.jsonData.trendpoints.point,u=b.trendPointConfig,
q=b.canvasWidth,z=b.canvasHeight,v=b.marginRight,B=n.pointerOnOpp;s=n.valueInsideGauge;var C=n.showGaugeLabels,A=b.dataLabelStyle,x=d.get("config","animationObj"),y=x.animObj,D=x.dummyObj,E=x.animType,N=x.duration,G,S,L,K,J,T,Q,V;Q=!1;var d=d.linkedItems.smartLabel,O,R,U=e(parseInt(A.fontHeight,10),parseInt(A.lineHeight,10),12),H=n.currentValuePadding+.5*U,x=n.currentTrendPadding+.5*U,M,n=n.currentTrendPadding;L={fontFamily:A.fontFamily,fontSize:A.fontSize,lineHeight:A.lineHeight,fontWeight:A.fontWeight,
fontStyle:A.fontStyle};var Y=this.pointerArr&&this.pointerArr.pointer,oa,A=this.components,P=A.data,W=A.dataLabels||(A.dataLabels=[]),ha=A.trendLabels||(A.trendLabels=[]);r.transform(["T",b.canvasLeft,b.canvasTop]);H=s===B?H-U/4:H+U/4;d.useEllipsesOnOverflow(b.useEllipsesWhenOverflow);d.setStyle(L);R=d.getOriSize("W...").width;L=this.getPointerLabelXY=function(a,b,c,d,e){b=c?b?z-d-H:z+H:b?H:-(H+d);M=(a-m)*q/(l-m);M+e>q+v&&(M=q-e+v);return{x:M,y:b,align:"middle"}};K=function(a,b){return{x:(a-m+(b-
a)/2)*q/(l-m),y:z/2,width:(b-a)*q/(l-m),height:z}};if(Y&&Y.length)for(b=Y.length;b--;)if(oa=P[b].config,0!==t&&oa.displayValue!==F&&(O=d.getOriSize(oa.displayValue),oa.setWidth&&(O=d.getSmartText(oa.displayValue,oa.setWidth,O.height,!0)),J=this.getPointerLabelXY(oa.itemValue,s,B,O.height/2,O.width/2),oa.isLabelString)){Q=!1;for(V=1;!Q;){T=Y[b+V];if(!T)break;T.isLabelString?Q=!0:V+=1}T&&(Q=d.getOriSize(T.displayValue),G=L(T.y,s,B,Q.height/2),V=G.x-Q.width/2-(J.x+O.width/2),G=G.x-J.x,0>V&&(S=O.width+
V,S>G&&(oa.setWidth=S=G),S>R?(J=oa.setWidth&&oa.setWidth<=S?d.getSmartText(oa.displayValue,oa.setWidth,O.height,!0):d.getSmartText(oa.displayValue,S,O.height,!0),oa.displayValue=J.text,J.tooltext&&(oa.originalText=J.tooltext)):(J=d.getSmartText(oa.displayValue,R,O.height,!0),oa.displayValue=J.text,J.tooltext&&(oa.originalText=J.tooltext),V=2*V+R-4),oa.setWidth=null,S=Q.width+V-4,T.setWidth=S>G?G:S>R?S:R));oa.setWidth&&(J=d.getSmartText(oa.displayValue,oa.setWidth,O.height,!0),oa.displayValue=J.text,
J.tooltext&&(oa.originalText=J.tooltext),oa.setWidth=null)}this.drawPointerValues(a);d.setStyle(c);if(p&&C)for(b=0,a=p.length;b<a;b+=1)t=W[b]||(A.dataLabels[b]={}),t=t.graphics||(t.graphics={}),s=p[b],B=f(s.label,s.name),J=K(s.minvalue,s.maxvalue),O=J.width-4>R&&J.height-4>U?d.getSmartText(B,J.width-4,J.height-4):d.getSmartText(B,J.width,J.height),B={"text-anchor":Ka,"vertical-align":Ka,x:J.x,y:J.y,direction:g},(s=t.value)||(s=t.value=h.text(r),s.attr(B)),s.show(),s.attr({fill:c.color,text:O.text}),
s.animateWith(D,y,B,N,E).css(c).tooltip(O.tooltext);else b=0;for(;t=W&&W[b++];)t.graphics.value.hide();if(w)for(b=0,a=u.length;b<a;b+=1){p=ha[b]||(A.trendLabels[b]={});t=p.graphics||(p.graphics={});p=u[b];p.displayValue=f(p.displayValue,k.dataLabels(p.startValue));d.setStyle(p.style);U=d.getOriSize("Wg").height;O=d.getOriSize(p.displayValue);J=L(p.startValue,0,!p.showOnTop);p.setWidth&&(O=d.getSmartText(p.displayValue,p.setWidth,O.height,!0));Q=!1;for(V=1;!Q;){T=w[b+V];if(!T)break;T.showOnTop===p.showOnTop?
Q=!0:V+=1}T&&(Q=d.getOriSize(T.displayValue),G=L(T.startValue,0,!T.showOnTop),V=G.x-Q.width/2-(J.x+O.width/2),0>V&&(G=G.x-J.x,S=O.width+V,S>G&&(p.setWidth=S=G),S>R?(O=p.setWidth&&p.setWidth<=S?d.getSmartText(p.displayValue,p.setWidth,O.height,!0):d.getSmartText(p.displayValue,O.width+V-4,O.height,!0),p.displayValue=O.text,O.tooltext&&(p.originalText=O.tooltext)):(O=d.getSmartText(p.displayValue,R,O.height,!0),p.displayValue=O.text,O.tooltext&&(p.originalText=O.tooltext),V=2*V+R-4),p.setWidth=null,
S=Q.width+V-4,T.setWidth=S>G?G:S>R?S:R));p.setWidth&&(O=d.getSmartText(p.displayValue,p.setWidth,O.height,!0),p.displayValue=O.text,O.tooltext&&(p.originalText=O.tooltext),p.setWidth=null);D=p.showOnTop?-(n+O.height/2):z+x;y=p.isTrendZone?K(p.startValue,p.endValue).x:J.x;t.value||(t.value=h.text(r));t.value.attr({x:y,y:D,text:p.displayValue,"text-anchor":sa[J.align],direction:g,title:p.originalText||""}).css(c);t.value.show()}else b=0;for(;p=ha&&ha[b++];)p.graphics.value.hide()},drawPointerValues:function(a){var d=
this.chart,b=d.graphics.datalabelsGroup,c=d.components.paper,e=this.components.data,f=this.config,h=f.pointerOnOpp,r=f.valueInsideGauge,f=f.textDirection,m,g=d.linkedItems.smartLabel,l=this.pointerArr&&this.pointerArr.pointer,p=d.config.dataLabelStyle,l=l&&l.length,n,s,w=d.get("config","animationObj"),u=w.animObj,t=w.dummyObj,z=w.animType;a=(a||w).duration;n=d.config;var d=n.marginLeft,w={fontFamily:p.fontFamily,fontSize:p.fontSize,lineHeight:p.lineHeight,fontWeight:p.fontWeight,fontStyle:p.fontStyle},
v,B,C,q=this.pool;for(g.useEllipsesOnOverflow(n.useEllipsesWhenOverflow);l--;)C=e[l].graphics,n=e[l].config,v=n.displayValue,m=n.showValue,0!==m&&v!==F?(s=g.getOriSize(v),m=s.width/2,B=this.getPointerLabelXY(n.itemValue,r,h,s.height/2,m),(s=C.pointerValue)||(q&&q.pointerValue[0]?(s=C.pointerValue=q.pointerValue[0],q.pointerValue.splice(0,1)):s=C.pointerValue=c.text(b),s.attr({x:0,y:B.y})),s.attr({"text-anchor":sa[B.align],title:n.originalText||"",text:v,fill:p.color,direction:f,"text-bound":[p.backgroundColor,
p.borderColor,p.borderThickness,p.borderPadding,p.borderRadius,p.borderDash]}).css(w),s.show(),m>d+B.x&&(B.x=m-d),s.animateWith(t,u,{x:B.x,y:B.y},a,z)):C.pointerValue&&C.pointerValue.hide()},getDataLimits:function(){for(var a=this.config,d=this.chart.jsonData,b=this.pointerArr&&this.pointerArr.pointer||d.dials&&d.dials.dial,d=(d=d.colorrange)&&d.color,c=b&&b.length,e=a.upperLimit,f=a.lowerLimit,h,r=-Infinity,m=Infinity,a=0;a<c;a++)h=b[a].value,""!==h&&(r=M(r,Number(b[a].value)),m=A(m,Number(b[a].value)));
c=d&&d.length;for(a=0;a<c;a++)b=Number(d[a].maxvalue),h=Number(d[a].minvalue),e&&b>e&&(b=e),f&&h<f&&(h=f),r=M(r,b),m=A(m,h);return{max:r,min:m}},updateData:function(a,d){if(a===this.lastUpdatedObj)return!1;var b=this.chart,c=b.components.numberFormatter,e=this.components.data,f,h,r=this.components.data,r=r&&r.length||0,m,g,l=null,p=[],n,s,w;a=a.data;s=d||b.get("config","animationObj");if(r){for(;r--;)if(m={},w={},g=e[r].config,h=a[r])n=h.value,f=h.tooltext,b=h.label,h=h.showlabel,void 0!==n&&""!==
n?(m.value=w.value=n,l=w.displayvalue=w.tooltext=c.dataLabels(w.value),w.hasNewData=!0):w.value=g.formatedVal,b&&(w.displayvalue=b,w.hasNewData=!0),"0"==h&&(w.displayvalue=F,w.hasNewData=!0),f&&(f=E(aa(f)),w.hasNewData=!0),w.hasNewData&&(p[r]=w,ka(g,{itemValue:w.value,displayValue:g.displayValue||"1"==h?w.displayvalue:F,toolText:void 0!==f?da(f,[1,2],{formattedValue:l},m):g.setToolText?g.tempToolText:l}));p.length&&(this.lastUpdatedObj=a,this.draw(s,!0));return Boolean(p.length)}}}]);FusionCharts.register("component",
["dataset","bullet",{init:function(a){var d=this.chart,b=d.components;if(!a)return!1;this.JSONData=a;this.yAxis=b.scale;this.chartGraphics=d.chartGraphics;this.components={};this.graphics={};this.visible=1===e(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure();!1!==d.hasLegend&&this._addLegend()},configure:function(){var a=this.chart,d=this.config,b=this.JSONData,c=a.jsonData.chart,k=a.components.colorManager,I,h=d.plotColor=k.getColor("plotFillColor"),r=e(b.dashed,c.plotborderdashed);
e(c.useplotgradientcolor,1);var m,l,n,p=g.getDashStyle,q=this.components.data,s=a.isBar,w=a.is3D,u=a.isStacked;d.targetCapStyle=m=f(c.targetcapstyle,"round").toLowerCase();"butt"!==m&&"round"!==m&&"square"!==m&&"inherit"!==m&&(d.targetCapStyle="round");d.upperLimit=e(c.upperlimit);d.lowerLimit=e(c.lowerlimit);d.initAnimation=!0;I=d.showplotborder=e(c.showplotborder,0);d.plotDashLen=m=e(c.plotborderdashlen,5);d.plotDashGap=l=e(c.plotborderdashgap,4);d.plotfillAngle=e(360-c.plotfillangle,s?180:90);
d.plotFillAlpha=n=f(b.alpha,c.plotfillalpha,Oa);d.plotColor=f(c.plotfillcolor,h);d.isRoundEdges=h=e(c.useroundedges,0);d.plotRadius=e(c.useRoundEdges,d.isRoundEdges?1:0);d.plotFillRatio=f(b.ratio,c.plotfillratio);d.plotgradientcolor=g.getDefinedColor(c.plotgradientcolor,k.getColor("plotGradientColor"));d.showPlotBorderOnHover=e(c.showplotborderonhover,0);d.plotBorderAlpha=f(c.plotborderalpha,n,Oa);d.plotBorderColor=f(c.plotbordercolor,w?"#ffffff":k.getColor("plotBorderColor"));d.plotBorderThickness=
I=I?e(c.plotborderthickness,0):0;d.plotBorderDashStyle=r?p(m,l,I):"none";d.showValue=e(b.showvalue,c.showvalue,1);d.valuePadding=e(c.valuepadding,2);d.showShadow=h||w?e(c.showshadow,1):e(c.showshadow,k.getColor("showShadow"));d.showHoverEffect=e(c.plothovereffect,c.showhovereffect,0);d.showTooltip=e(c.showtooltip,1);d.stack100Percent=a=e(a.stack100percent,c.stack100percent,0);d.definedGroupPadding=M(e(c.plotspacepercent),0);d.plotSpacePercent=M(e(c.plotspacepercent,20)%100,0);d.maxColWidth=e(s?c.maxbarheight:
c.maxcolwidth,50);d.showPercentValues=e(c.showpercentvalues,u&&a?1:0);d.showPercentInToolTip=e(c.showpercentintooltip,u&&a?1:0);d.plotPaddingPercent=e(c.plotpaddingpercent);d.rotateValues=e(c.rotatevalues)?270:0;d.placeValuesInside=e(c.placevaluesinside,0);d.use3DLighting=e(c.use3dlighting,1);q||(this.components.data=[]);d.plotAsDot=q=e(c.plotasdot,0);d.plotFillPercent=e(c.plotfillpercent,q?25:40);d.targetFillPercent=e(c.targetfillpercent,60);d.targetThickness=e(c.targetthickness,3);q=d.targetalpha=
e(c.targetalpha,100);d.targetColor=t(f(c.targetcolor,k.getColor("plotFillColor")),q);this._setConfigure()},_setConfigure:function(a){var d=this.chart,b=this.config,c=this.JSONData,k=a||c.data,I=k&&k.length,h=d.config.categories,h=h&&h.length,I=a&&a.data.length||A(h,I),r=d.jsonData.chart,h=d.components.colorManager,m=b.showplotborder,l=b.showPlotBorderOnHover,n=b.plotColor,p=g.parseUnsafeString,q=p(f(r.tooltipsepchar,", ")),s=e(r.seriesnameintooltip,1),w=g.parseTooltext,u,y,z,v,B,C,F=b.plotBorderThickness,
x=b.isRoundEdges,G=b.showHoverEffect,D=b.plotFillAngle,H,Db=b.plotBorderAlpha,P,S=b.plotBorderDashStyle,L,K,J,T,Q,V,O,R,U,na,ja,Y,oa=g.getDashStyle,W=this.components.data,aa=d.isBar,da=d.is3D,ba=-Infinity,X=Infinity,la=d.components.numberFormatter,Z=function(a){b.showTooltip?null===u?a=!1:void 0!==a?(v=[1,2,3,4,5,6,7,26,27],y={formattedValue:u,targetValue:J.target,targetDataValue:J.toolTipValueTarget},a=w(a,v,y,L,r,c)):(s&&(z=fa(c&&c.seriesname)),a=z?z+q:"",a+=J.label?J.label+q:""):a=!1;return a};
W||(W=this.components.data=[]);for(d=0;d<I;d++)L=a?a&&a.data[d]:k[d],J=(n=W[d])&&n.config,n||(n=W[d]={}),n.config||(J=W[d].config={}),J.showValue=e(L.showvalue,b.showValues),J.valuePadding=e(r.valuepadding,2),J.setValue=K=la.getCleanValue(L.value),J.target=n=la.getCleanValue(L.target),J.setLink=f(L.link),J.toolTipValue=P=la.dataLabels(K),J.toolTipValueTarget=la.dataLabels(n),J.setDisplayValue=T=p(L.displayvalue),J.displayValue=f(L.label,T,P),P=e(L.dashed),T=e(L.dashlen,void 0),Q=C=e(L.dashgap,C),
ba=M(ba,K,n),X=A(X,K,n),J.plotBorderDashStyle=P=1===P?oa(T,Q,F):0===P?"none":S,n=f(L.color,b.plotColor),H=f(L.alpha,b.plotFillAlpha),0>K&&!x&&(B=D,D=aa?180-D:360-D),J.colorArr=K=g.graphics.getColumnColor(n,H,void 0,D,x,b.plotBorderColor,Db.toString(),aa?1:0,da?!0:!1),0!==G&&(T=f(L.hovercolor,c.hovercolor,r.plotfillhovercolor,r.columnhovercolor,n),Q=f(L.hoveralpha,c.hoveralpha,r.plotfillhoveralpha,r.columnhoveralpha,H),V=f(L.hovergradientcolor,c.hovergradientcolor,r.plothovergradientcolor,b.plotgradientcolor),
!V&&(V=""),V=f(L.hoverratio,c.hoverratio,r.plothoverratio,void 0),O=e(360-L.hoverangle,360-c.hoverangle,360-r.plothoverangle,D),R=f(L.borderhovercolor,c.borderhovercolor,r.plotborderhovercolor,r.plotfillhovercolor,b.plotBorderColor),U=f(L.borderhoveralpha,c.borderhoveralpha,r.plotborderhoveralpha,Db,H),H=e(L.borderhoverthickness,c.borderhoverthickness,r.plotborderhoverthickness,F),na=e(L.borderhoverdashed,c.borderhoverdashed,r.plotborderhoverdashed),ja=e(L.borderhoverdashgap,c.borderhoverdashgap,
r.plotborderhoverdashgap,void 0),Y=e(L.borderhoverdashlen,c.borderhoverdashlen,r.plotborderhoverdashlen,C),na=na?oa(Y,ja,H):P,1==G&&T===n&&(T=ha(T,90)),T=g.graphics.getColumnColor(T,Q,V,O,x,R,U.toString(),aa?1:0,!1),J.setPlotRolloutAttr={fill:da?[N(K[0]),!b.use3DLighting]:N(K[0]),stroke:m&&N(K[1]),"stroke-width":F,"stroke-dasharray":P},J.setPlotRolloverAttr={fill:da?[N(T[0]),!b.use3DLighting]:N(T[0]),stroke:N(T[1]),"stroke-width":l?H||1:H,"stroke-dasharray":na}),0!==G&&(G||r.targethovercolor||r.targethoveralpha||
0===r.targethoveralpha||r.targethoverthickness||0===r.targethoverthickness)&&(G=!0,P={},K={},V=e(r.targethoverthickness,b.targetThickness+2),b.targetThickness!==V&&(P["stroke-width"]=V,K["stroke-width"]=b.targetThickness),T=f(r.targethovercolor,"{dark-10}"),Q=e(r.targethoveralpha,b.targetalpha),V&&(K.stroke=b.targetColor,V=/\{/.test(T),P.stroke=t(V?h.parseColorMix(f(r.targetcolor,n),T)[0]:T,Q)),J.tagetHoverAttr=P,J.targetOutAttr=K),u=J.toolTipValue,n=E(p(f(L.tooltext,c.plottooltext,r.plottooltext))),
J.toolText=Z(n),J.setTooltext=void 0,B&&(D=B),n=E(p(f(L.tooltexttarget,c.targettooltext,r.targettooltext))),J.toolTextTarget=Z(n);b.maxValue=ba;b.minValue=X},_manageSpace:function(a){var d=this.config,b=this.components.data,c=this.chart,k=c.components.caption.config,f=c.config,c=c.linkedItems.smartLabel,h=f.dataLabelStyle,r=e(parseInt(h.lineHeight,10),12),m=d.valuePadding,g=0,l=0,b=(b=b[l])&&b.config;c.useEllipsesOnOverflow(f.useEllipsesWhenOverflow);for(c.setStyle(h);1>l;l+=1)d.showValue&&(f=c.getOriSize(b.toolTipValue),
" "===b.toolTipValue&&(f={height:r}),0<f.height&&(g=f.height+m),g>a&&(g=a));k.widgetValueHeight=g;d.heightUsed=g;return{top:0,bottom:g}},_manageSpaceHorizontal:function(a){var d=this.config,b=this.components.data,c=this.chart,k=c.config,c=c.linkedItems.smartLabel,f=k.dataLabelStyle,h=e(parseInt(f.lineHeight,10),12),r=d.valuePadding,m=0,g=0,b=(b=b[g])&&b.config;c.useEllipsesOnOverflow(k.useEllipsesWhenOverflow);for(c.setStyle(f);1>g;g+=1)b&&b.displayValue!==F&&void 0!==b.displayValue&&d.showValue&&
(k=c.getOriSize(b.displayValue)," "===b.displayValue&&(k={height:h}),0<k.height&&(m=k.width+r+2),m>a&&(m=a));d.widthUsed=m;return{top:0,right:m}},updateData:function(a,d,b){var c=this.config,e=c.maxValue,f=c.prevMin,h=this.chart,r=this.groupManager||this,m=h.components.scale;this._setConfigure(a,d);this.setMaxMin();if(c.maxValue!==e||c.minValue!==f)this.maxminFlag=!0;b&&(h._setAxisLimits(),m.draw(),r.draw())},setMaxMin:function(){var a=this.components.data,d=this.config,b,c,e=a.length,f=-Infinity,
h=Infinity;for(b=0;b<e;b++)a[b]&&(c=a[b].config,f=M(f,c.setValue,c.target),h=A(h,c.setValue,c.target));d.maxValue=f;d.minValue=h},draw:function(){var a=this.chart,d=a.components,b=a.jsonData.chart,c=a.config,k=d.paper,I=d.canvas,h=I.graphics,r=I.config,I=h.canvasElement,m=c.canvasLeft,n=c.canvasRight,q=c.canvasTop,p=c.canvasBottom,A=c.canvasWidth,s=c.canvasHeight,w=a.graphics.datasetGroup,u,y=d.scale,z=y.getLimit().min,y=y.getLimit().max,v=a.isHorizontal,B=a.get("config","animationObj"),C=B.animType,
F=B.animObj,x=B.dummyObj,B=B.duration,E,D,G=a.components.colorManager,H,P,S,L,K,J,T,Q;E=v?270:180;r.colorRangeFillMix=D=g.getFirstDefinedValue(b.colorrangefillmix,b.gaugefillmix,a.colorRangeFillMix,"{light-10},{dark-10},{light-10},{dark-10}");r.colorRangeFillRatio=a=g.getFirstDefinedValue(b.colorrangefillratio,b.gaugefillratio,a.colorRangeFillRatio,b.gaugefillratio,"0,10,80,10");r.colorRangeGetter=d=d.colorRange;r.colorArray=d=d&&d.getColorRangeArr(z,y);H=f(b.colorrangebordercolor,b.gaugebordercolor,
"{dark-20}");P=e(b.colorrangeborderalpha,b.gaugeborderalpha,100);S=e(b.showshadow,1);L=e(b.showgaugeborder,b.showcolorrangeborder,0);r.colorRangeBorderThickness=b=L?e(b.colorrangeborderthickness,b.gaugeborderthickness,2):0;r=d&&d.length;if(I)for(h=I.colorRangeElems.length;h>r;--h)I.colorRangeElems[h-1].hide(),I.colorRangeElems[h-1].shadow({opacity:0});else h.canvasElement=I={},I.colorRangeElems=[];for(h=0;h<r;h+=1)L=d[h],K=L.minvalue-z,J=L.maxvalue-z,K=v?v?{x:m+K*A/(y-z),y:q,width:(J-K)*A/(y-z),height:s}:
void 0:{x:m,y:q+(s-J*s/(y-z)),width:A,height:(J-K)*s/(y-z)},L.x=K.x,L.y=K.y,L.width=K.width,L.height=K.height,J=L.code,J=t(Ha(f(L.bordercolor,J),H),e(L.borderalpha,P)),S&&Math.max(L.alpha,P),T=G.parseColorMix(L.code,D),Q=G.parseAlphaList(L.alpha,T.length),u=e(L.borderAlpha,P),L=Q.split(l),L=M.apply(Math,L),L=M(b&&u||0,L),u={x:K.x,y:K.y,width:K.width,height:K.height,r:0,"stroke-width":b,stroke:J,fill:N({FCcolor:{color:T.toString(),ratio:a,alpha:Q,angle:E}})},I.colorRangeElems[h]?(I.colorRangeElems[h].show(),
u={"stroke-width":b,stroke:J,fill:N({FCcolor:{color:T.toString(),ratio:a,alpha:Q,angle:E}})},I.colorRangeElems[h].animateWith(x,F,{x:K.x,y:K.y,width:K.width,height:K.height,r:0},B,C),I.colorRangeElems[h].attr(u)):I.colorRangeElems[h]=k.rect(u,w),I.colorRangeElems[h].shadow({apply:S,opacity:L/100});c.gaugeStartX=m;c.gaugeEndX=n;c.gaugeStartY=q;c.gaugeEndY=p;c.gaugeCenterX=m+.5*A;c.gaugeCenterY=q+.5*s;c.gaugeRadius=.5*A;this.drawPlot()},drawPlot:function(){var a=this,d=a.JSONData,b=a.chart.jsonData.chart,
c=a.config,e=a.chart.config.categories,I=d.data,h=e&&e.length,r=I&&I.length,m,l,e=a.visible,n=a.chart,p=n.config,t=p.canvasLeft,s=p.canvasRight,w=p.canvasTop,u=p.canvasBottom,q=p.canvasHeight,z=p.canvasWidth,v=n.components.paper,B=n.components.scale,C=n.graphics.datasetGroup,y,x,E,D=n.graphics,G=g.parseUnsafeString,H=g.getValidValue,M=g.Raphael,S=c.showTooltip,L=n.get("config","animationObj"),K=L.animType,J=L.animObj,T=L.dummyObj,L=L.duration,Q,V,O,R=a.components.data,U,P,ja,Y,oa,W,ha=B.max,aa=B.min,
ha=B.yBasePos=B.getAxisPosition(0>=ha&&0>aa?ha:0<ha&&0<=aa?aa:0),da=aa=0,X=c.showShadow,la=c.plotBorderThickness,ba=c.plotRadius,Z=a.graphics.container,ga=a.graphics.trackerContainer,ca=a.graphics.targetContainer;Y=a.graphics.trackerTargetContainer;var ka=a.graphics.dataLabelContainer,ia=a.graphics.shadowContainer,Ja=a.graphics.shadowTargetContainer;E=D.trackerGroup;var fa,ib,pa=!0,ea=!1,ma;O=D.datalabelsGroup;var D=n.config.dataLabelStyle,xa=c.heightUsed,ra=c.lowerLimit,wa={fontFamily:D.fontFamily,
fontSize:D.fontSize,lineHeight:D.lineHeight,fontWeight:D.fontWeight,fontStyle:D.fontStyle},Ca=c.showHoverEffect,Da=function(a){ya.call(this,n,a)},za=function(a){return function(b){0!==this.data("showHoverEffect")&&a.attr(this.data("setRolloverAttr"));ya.call(this,n,b,"DataPlotRollOver")}},va=function(a){return function(b){0!==this.data("showHoverEffect")&&a.attr(this.data("setRolloutAttr"));ya.call(this,n,b,"DataPlotRollOut")}},Ea=function(){!1!==a.visible||!1!==a._conatinerHidden&&void 0!==a._conatinerHidden||
(Z.hide(),ga.hide(),ia.hide(),ka&&ka.hide(),a._conatinerHidden=!0)};Z||(Z=a.graphics.container=v.group("bar",C),e||Z.hide());ka||(ka=a.graphics.dataLabelContainer=v.group("datalabel",O));ca||(ca=a.graphics.targetContainer=v.group("target",C).trackTooltip(!0),e||ca.hide());ga||(ga=a.graphics.trackerContainer=v.group("bar-hot",E),e||ga.hide());Y||(Y=a.graphics.trackerTargetContainer=v.group("target-hot",E),e||Y.hide());ia||(ia=a.graphics.shadowContainer=v.group("shadow",C).toBack(),e||ia.hide());Ja||
(Ja=a.graphics.shadowTargetContainer=v.group("shadow",C).toBack(),e||Ja.hide());A(h,r);for(h=0;1>h;h++)if(m=I[h],Y=(r=R[h])&&r.config,U=Y.setValue,0>U&&(ea=!0),P=Y.setLink,fa=Y.colorArr,Ja=ma=!1,r.graphics||(R[h].graphics={}),C=Y.displayValue,H(G(f(m.tooltext,d.plottooltext,b.plottooltext))),n.isHorizontal){V=c.plotFillPercent/100*q;x=Ga(w+u)/2-V/2;c.plotAsDot?(y=B.getAxisPosition(U)-V/2,E=V):(E=ra&&ra<=U&&0<=B.config.axisRange.min?ra:0,y=ea?B.getAxisPosition(U):B.getAxisPosition(E),E=ea?B.getAxisPosition(0)-
B.getAxisPosition(U):B.getAxisPosition(U)-B.getAxisPosition(E));E=M.crispBound(y,x,E,V,la);y=E.x;x=E.y;Q=E.width;V=E.height;O=""===Y.toolText?Y.toolTipValue:Y.toolText;ib=Y.plotBorderDashStyle;ja={link:P,value:U,displayValue:C,toolText:O};oa=Y.setPlotRolloutAttr;W=Y.setPlotRolloverAttr;L||(da=Q);l={x:y,y:x,width:da||1,height:V,r:ba,ishot:!0,fill:N(fa[0]),stroke:N(fa[1]),"stroke-width":la,"stroke-dasharray":ib,"stroke-linejoin":"miter",visibility:e};if(null!==U){r.graphics.element?(r.graphics.element.show(),
l={x:y,y:x,width:Q,height:V||1,r:ba},U=r.graphics.element,U.animateWith(T,J,l,L,K,pa&&Ea),U.attr({ishot:!0,fill:N(fa[0]),stroke:N(fa[1]),"stroke-width":la,"stroke-dasharray":ib,"stroke-linejoin":"miter",visibility:e})):(U=r.graphics.element=v.rect(l,Z),ma=!0,U.animateWith(T,J,{width:Q||1},L,K),L&&(pa=!1));U.shadow({opacity:X},ia).data("BBox",E);if(P||S)V<Va&&(x-=(Va-V)/2,V=Va),l={x:y,y:x,width:Q,height:V,r:ba,cursor:P?"pointer":"",stroke:ua,"stroke-width":la,fill:ua,ishot:!0,visibility:e},r.graphics.hotElement?
(r.graphics.hotElement.show(),r.graphics.hotElement.attr(l)):(y=r.graphics.hotElement=v.rect(l,ga),ma=!0);y=r.graphics.hotElement;(y||U).data("eventArgs",ja).data("groupId",void 0).data("showHoverEffect",Ca).data("setRolloverAttr",W).data("setRolloutAttr",oa).tooltip(O);ma&&(y||U).click(Da).hover(za(U),va(U))}else r.graphics.element&&r.graphics.element.hide(),r.graphics.hotElement&&r.graphics.hotElement.hide();Y.target?(H(G(f(m.tooltext,d.targettooltext,b.targettooltext))),O=""===Y.toolTextTarget?
Y.toolTipValueTarget:Y.toolTextTarget,x=c.targetFillPercent/100*q,m=ma=B.getAxisPosition(Y.target),y=(w+u)/2-x/2,x=y+x,m=["M",m,y,"L",ma,x],l={stroke:c.targetColor,"stroke-width":c.targetThickness,"stroke-linecap":c.targetCapStyle,ishot:!0,"shape-rendering":Ra[!1]},(U=r.graphics.targetElement)?(r.graphics.targetElement.show(),l={path:m,stroke:c.targetColor,"stroke-width":c.targetThickness,"stroke-linecap":c.targetCapStyle,ishot:!0,"shape-rendering":Ra[!1]},U.animateWith(T,J,l,L,K)):(U=r.graphics.targetElement=
v.path(m,ca).attr(l),Ja=!0),Ja&&U.click(Da).hover(za(U),va(U)),U.shadow({opacity:X},ia).data("BBox",E).data("eventArgs",ja).data("groupId",void 0).data("showHoverEffect",Ca).data("setRolloverAttr",Y.tagetHoverAttr).data("setRolloutAttr",Y.targetOutAttr),S?U.tooltip(O):U.tooltip(!1)):r.graphics.targetElement&&r.graphics.targetElement.hide();Ja=parseInt(D.lineHeight,10);x=.5*(w+q);C!==F&&void 0!==C&&c.showValue?(l={text:C,"text-anchor":"start",x:s+c.valuePadding+2,y:x,"vertical-align":"top",fill:D.color,
direction:Y.textDirection,"text-bound":[D.backgroundColor,D.borderColor,D.borderThickness,D.borderPadding,D.borderRadius,D.borderDash]},r.graphics.label?(r.graphics.label.show(),r.graphics.label.animateWith(T,J,{x:s+c.valuePadding+2,y:x},L,K)):r.graphics.label=v.text(l,ka),r.graphics.label.attr(l).css(wa),C=r.graphics.label.getBBox(),0>C.x+p.marginLeft&&(C=C.width-p.marginLeft,p.width<C&&(C=p.width-p.marginLeft),l={x:C/2},r.graphics.label.animateWith(T,J,l,L,K))):r.graphics.label&&r.graphics.label.hide()&&
r.graphics.label.attr({"text-bound":[]})}else{E=c.plotFillPercent/100*z;y=Ga(t+s)/2-E/2;c.plotAsDot?(x=B.getAxisPosition(U)-E/2,V=E):(x=ea?B.getAxisPosition(0):B.getAxisPosition(U),V=ea?B.getAxisPosition(U)-B.getAxisPosition(0):B.getAxisPosition(ra&&ra<=U&&0<=B.config.axisRange.min?ra:0)-x);E=M.crispBound(y,x,E,V,la);y=E.x;x=E.y;Q=E.width;V=E.height;O=""===Y.toolText?Y.toolTipValue:Y.toolText;ib=Y.plotBorderDashStyle;ja={link:P,value:U,displayValue:C,toolText:O};oa=Y.setPlotRolloutAttr;W=Y.setPlotRolloverAttr;
L||(ha=x,aa=V);l={x:y,y:ha,width:Q,height:aa||1,r:ba,ishot:!0,fill:N(fa[0]),stroke:N(fa[1]),"stroke-width":la,"stroke-dasharray":ib,"stroke-linejoin":"miter",visibility:e};r._xPos=y;r._yPos=x+V;r._height=V;r._width=Q;if(null!==U){r.graphics.element?(r.graphics.element.show(),l={x:y,y:x,width:Q,height:V||1,r:ba},U=r.graphics.element,U.animateWith(T,J,l,L,K,pa&&Ea),U.attr({ishot:!0,fill:N(fa[0]),stroke:N(fa[1]),"stroke-width":la,"stroke-dasharray":ib,"stroke-linejoin":"miter",visibility:e})):(U=r.graphics.element=
v.rect(l,Z),ma=!0,U.animateWith(T,J,{y:x,height:V||1},L,K),L&&(pa=!1));U.shadow({opacity:X},ia).data("BBox",E);if(P||S)V<Va&&(x-=(Va-V)/2,V=Va),l={x:y,y:x,width:Q,height:V,r:ba,cursor:P?"pointer":"",stroke:ua,"stroke-width":la,fill:ua,ishot:!0,visibility:e},r.graphics.hotElement?(r.graphics.hotElement.show(),r.graphics.hotElement.attr(l)):(y=r.graphics.hotElement=v.rect(l,ga),ma=!0);y=r.graphics.hotElement;(y||U).data("eventArgs",ja).data("groupId",void 0).data("showHoverEffect",Ca).data("setRolloverAttr",
W).data("setRolloutAttr",oa).tooltip(O);ma&&(y||U).click(Da).hover(za(U),va(U))}else r.graphics.element&&r.graphics.element.hide(),r.graphics.hotElement&&r.graphics.hotElement.hide();Y.target?(H(G(f(m.tooltext,d.targettooltext,b.targettooltext))),O=""===Y.toolTextTarget?Y.toolTipValueTarget:Y.toolTextTarget,x=c.targetFillPercent/100*z,m=(t+s)/2-x/2,ma=m+x,y=x=B.getAxisPosition(Y.target),m=["M",m,y,"L",ma,x],l={stroke:c.targetColor,"stroke-width":c.targetThickness,"stroke-linecap":c.targetCapStyle,
ishot:!0,"shape-rendering":Ra[!1]},(U=r.graphics.targetElement)?(r.graphics.targetElement.show(),l={path:m,stroke:c.targetColor,"stroke-width":c.targetThickness,"stroke-linecap":c.targetCapStyle,ishot:!0,"shape-rendering":Ra[!1]},U.animateWith(T,J,l,L,K)):(U=r.graphics.targetElement=v.path(m,ca).attr(l),Ja=!0),Ja&&U.click(Da).hover(za(U),va(U)),U.shadow({opacity:X},ia).data("BBox",E).data("eventArgs",ja).data("groupId",void 0).data("showHoverEffect",Ca).data("setRolloverAttr",Y.tagetHoverAttr).data("setRolloutAttr",
Y.targetOutAttr),S?U.tooltip(O):U.tooltip(!1)):r.graphics.targetElement&&r.graphics.targetElement.hide();Ja=parseInt(D.lineHeight,10);x=Ja>xa?p.height-p.marginBottom-xa+Ja/2:p.height-p.marginBottom-Ja/2;x-=p.borderWidth;C!==F&&void 0!==C&&c.showValue?(l={text:C,"text-anchor":"middle",x:z/2+t,y:x,"vertical-align":"middle",fill:D.color,direction:Y.textDirection,"text-bound":[D.backgroundColor,D.borderColor,D.borderThickness,D.borderPadding,D.borderRadius,D.borderDash]},r.graphics.label?(r.graphics.label.show(),
r.graphics.label.animateWith(T,J,{x:z/2+t,y:x},L,K)):r.graphics.label=v.text(l,ka),r.graphics.label.attr(l).css(wa),C=r.graphics.label.getBBox(),0>C.x+p.marginLeft&&(C=C.width-p.marginLeft,p.width<C&&(C=p.width-p.marginLeft),l={x:C/2},r.graphics.label.animateWith(T,J,l,L,K))):r.graphics.label&&r.graphics.label.hide()&&r.graphics.label.attr({"text-bound":[]})}},addData:function(){},removeData:function(){},getDataLimits:function(){for(var a=this.config,d=this.pointerArr&&this.pointerArr.pointer,b=this.chart.jsonData.colorrange,
b=b&&b.color,d=d&&d.length,c=a.upperLimit,e=a.lowerLimit,f,h,r=a.maxValue,m=a.minValue,d=b&&b.length,a=0;a<d;a++)f=Number(b[a].maxvalue),h=Number(b[a].minvalue),c&&f>c&&(f=c),e&&h<e&&(h=e),r=M(r,f),m=A(m,h);return{max:r,min:m}}},"hlineargauge"]);FusionCharts.register("component",["dataset","led",{init:function(a){var d=this.chart,b=d.components;if(!a)return!1;this.JSONData=a;this.yAxis=b.scale;this.chartGraphics=d.chartGraphics;this.components={};this.graphics={};this.visible=1===e(this.JSONData.visible,
!Number(this.JSONData.initiallyhidden),1);this.configure()},draw:function(){var a=this.chart,d=this.config,b=a.components,c=a.jsonData.chart,k=a.config,I=a.graphics,h=b.paper,r=b.canvas,m=r.graphics,n=r.config,q=a.get("config","animationObj"),r=q.animType,p=q.animObj,y=q.dummyObj,q=q.duration,s=m.canvasBorderElement,w=m.canvasElement,u=m.canvasElementPath,A=m.canvasHotElement,z=k.canvasLeft,v=k.canvasRight,B=k.canvasTop,C=k.canvasBottom,F=k.canvasWidth,x=k.canvasHeight,I=I.datasetGroup,E=b.scale,
D=E.getLimit().min,G=E.getLimit().max,H=e(a.jsonData.chart.reverseaxis,a.isAxisReverse),W=a.isHorizontal,S=function(a,b){if(H&&!W)return{x:z,y:B+a*x/(G-D),width:F,height:(b-a)*x/(G-D)};if(H||W){if(H&&W)return{x:z+(F-b*F/(G-D)),y:B,width:(b-a)*F/(G-D),height:x};if(!H&&W)return{x:z+a*F/(G-D),y:B,width:(b-a)*F/(G-D),height:x}}else return{x:z,y:B+(x-b*x/(G-D)),width:F,height:(b-a)*x/(G-D)}},L,K,J,T=a.components.colorManager,Q,V,O,R,U,na,ja,Y,oa,aa,da,ba,Z,X,la,ga,ca,fa,ia,ka,ma,Ja,ea;R=a.components.numberFormatter;
var pa,ra,xa,wa=d.showHoverEffect,sa=function(b){ya.call(this,a,b)},Fa=function(a){var b=0,c,d,e;return function(){e=this;if(0!==e.data("showHoverEffect"))for(b=0,c=a.length;b<c;b+=1)d=a[b],d.attr(e.data("setRolloverAttr")[b])}},Ga=function(a){var b=0,c,d,e;return function(){e=this;if(0!==e.data("showHoverEffect"))for(b=0,c=a.length;b<c;b+=1)d=a[b],d.attr(e.data("setRolloutAttr")[b])}},Ca=[],Da=[],za=this.graphics.trackerContainer,E=a.graphics.trackerGroup,va=0,Ea,Pa,Ba=!1;za||(za=this.graphics.trackerContainer=
h.group("led-hot",E));V=e(c.showgaugeborder,1);E=f(c.gaugebordercolor,a.gaugeBorderColor,"333333");V=V?e(c.gaugeborderthickness,a.gaugeBorderThickness,2):0;Q=f(c.gaugeborderalpha,Oa);n.gaugeFillColor=ga=f(c.gaugefillcolor,c.ledbgcolor,"000000");ba=e(c.usesamefillcolor,0);Z=e(c.usesamefillbgcolor,ba);d.ledGap=X=e(c.ledgap,2);d.ledSize=la=e(c.ledsize,2);e(c.showhovereffect,0);n.colorRangeFillMix=L=g.getFirstDefinedValue(c.colorrangefillmix,c.gaugefillmix,a.colorRangeFillMix,"{light-10},{dark-10},{light-10},{dark-10}");
n.colorRangeFillRatio=K=g.getFirstDefinedValue(c.colorrangefillratio,c.gaugefillratio,a.colorRangeFillRatio,c.gaugefillratio,"0,10,80,10");n.colorRangeGetter=Q=b.colorRange;n.colorArray=J=Q&&Q.getColorRangeArr(D,G);E=f(E,"000000").replace(Qa,ab);Q=e(c.colorrangeborderalpha,c.gaugeborderalpha,100);b=e(c.showshadow,1);V=e(c.showgaugeborder,1);n.colorRangeBorderThickness=V=V?e(c.colorrangeborderthickness,c.gaugeborderthickness,2):0;n=X+la||1;ca=(W?F:x)-la;O=G-D;fa=V/2;ia=z-fa;ka=B-fa;ma=z+F+fa;fa=B+
x+fa;Ja=parseInt(ca/n,10)+1;d.sizeGapSum=n=la+ca%n/Ja+X;d.perLEDValueLength=ca=O/Ja;d=z;la=B;c=f(c.clickurl);w||(m.canvasElement=w={},w.colorRangeElems=[]);ra=R.getCleanValue(a.jsonData.value);if(ba||Z)for(R=0,U=J.length;R<U;R+=1)if(ra>=J[R].minvalue&&ra<=J[R].maxvalue){ea=J[R].code||T.getPlotColor(R);xa=R;break}J&&0<J.length&&(pa=J[0].code||T.getPlotColor(0));Ea=H?v:z;Pa=H?B:C;R=0;for(U=J&&J.length;R<U;R+=1)O=J[R],na=S(O.minvalue-D,O.maxvalue-D),ja=Ia((O.maxvalue-D)/ca),Y=ja-va,va=ja,ja=Y*n,W||H?
!W&&H?(na.height=ja-X,na.y=Pa,Pa+=ja):W&&!H?(na.width=ja-X,na.x=Ea,Ea+=ja):W&&H&&(na.width=ja-X,na.x=Ea-na.width,Ea-=ja):(na.height=ja-X,na.y=Pa-na.height,Pa-=ja),O.x=na.x,O.y=na.y,O.width=na.width,O.height=na.height,ja=ba?ea:Z&&R>xa?pa:pa=O.code||T.getPlotColor(R),Y=t(Ha(f(O.bordercolor,ja),E),e(O.borderalpha,Q)),b&&Math.max(O.alpha,Q),oa=T.parseColorMix(O.code,L),aa=T.parseAlphaList(O.alpha,oa.length),oa=e(O.borderAlpha,Q),da=aa.split(l),da=M.apply(Math,da),da=M(V&&oa||0,da),oa={x:na.x,y:na.y,width:0>
na.width?0:na.width,height:0>na.height?0:na.height,r:0,"stroke-width":0,stroke:Y,fill:N({FCcolor:{color:ja,ratio:K,alpha:aa,angle:180}})},w.colorRangeElems[R]?(w.colorRangeElems[R].show(),w.colorRangeElems[R].animateWith(y,p,{x:na.x,y:na.y,width:0>na.width?0:na.width,height:0>na.height?0:na.height,r:0},q,r),w.colorRangeElems[R].attr({"stroke-width":0,stroke:Y,fill:N({FCcolor:{color:ja,ratio:K,alpha:aa,angle:180}})})):w.colorRangeElems[R]=h.rect(oa,I).toBack(),w.colorRangeElems[R].shadow({apply:b,
opacity:da/100}),Ca.push({"stroke-width":0,fill:N({FCcolor:{color:ha(f(ja,"000000"),80)+","+P(f(ja,"000000"),80),alpha:e(O.alpha,100),angle:W?90:0}})}),Da.push({"stroke-width":0,fill:N({FCcolor:{color:f(ja,"000000"),alpha:e(O.alpha,100)}})});if(J&&0===J.length)for(R=0,U=w.colorRangeElems.length;R<U;R++)w.colorRangeElems[R].hide();ea={link:c,value:ra};oa={x:z,y:B,width:F,height:x,"stroke-width":0,fill:ua};A?A.attr(oa):(A=m.canvasHotElement=h.rect(oa,za),Ba=!0);A.data("eventArgs",ea).data("showHoverEffect",
wa).data("setRolloverAttr",Ca).data("setRolloutAttr",Da);Ba&&(c&&A.click(sa),A.hover(Fa(w.colorRangeElems),Ga(w.colorRangeElems)));W?d+=n-X/2:la+=n-X/2;ea=[];oa={path:["M",ia,ka,"L",ma,ka,ma,fa,ia,fa,"Z"],stroke:t(E,Q),"stroke-width":V,"stroke-linecap":"butt"};s?(s.animateWith(y,p,{path:["M",ia,ka,"L",ma,ka,ma,fa,ia,fa,"Z"]},q,r),s.attr({stroke:t(E,Q),"stroke-width":V})):m.canvasBorderElement=h.path(oa,I).shadow({apply:b}).toBack();for(R=1;R<Ja;R+=1)W?(ea.push("M",d,la,"L",d,la+x),d+=n):(ea.push("M",
d,la,"L",d+F,la),la+=n);oa={path:ea,stroke:t(ga,100),"stroke-width":X,"stroke-linecap":"butt"};u?(u.animateWith(y,p,{path:ea},q,r),u.attr({stroke:t(ga,100),"stroke-width":X})):m.canvasElementPath=h.path(oa,I);k.gaugeStartX=z;k.gaugeEndX=v;k.gaugeStartY=B;k.gaugeEndY=C;k.gaugeCenterX=z+.5*F;k.gaugeCenterY=B+.5*x;k.gaugeRadius=.5*F;this.drawShade()},drawShade:function(){var a=this.config,d=this.components.data,b=this.chart,c=b.config,k=c.canvasLeft,f=c.canvasTop,h=c.canvasHeight,r=c.canvasWidth,m=b.components.paper,
g=b.graphics.datasetGroup,l=this.graphics.container,p,n=b.components.numberFormatter,s=e(this.chart.jsonData.chart.reverseaxis,b.isaxisreverse),w=b.isHorizontal,u=b.get("config","animationObj"),q=u.animType,z=u.animObj,v=u.dummyObj,u=u.duration,d=d[0],B=d.graphics,C=d&&d.config,y=this.graphics.dataLabelContainer,x=b.graphics.datalabelsGroup,A=b.config.dataLabelStyle,B=a.heightUsed,D=a.initAnimation,E;E=b.components.scale.getLimit().min;var G={fontFamily:A.fontFamily,fontSize:A.fontSize,lineHeight:A.lineHeight,
fontWeight:A.fontWeight,fontStyle:A.fontStyle};p=b.components.canvas.config.gaugeFillColor;l||(l=this.graphics.container=m.group("shade",g));y||(y=this.graphics.dataLabelContainer=m.group("datalabel",x));n=n.getCleanValue(C.setValue);d.graphics||(d.graphics={});g=d.graphics.element;n=Ia((n-E)/a.perLEDValueLength)*a.sizeGapSum-a.ledGap;E=Math.ceil(h-n);x=Math.ceil(r-n);s&&!w?(s={x:k,y:u&&D?f:f+n,width:r,height:u&&D?h:E,r:0,"stroke-width":0,fill:t(p,50)},g?(g.animateWith(v,z,{x:k,y:f+n,width:r,height:E,
r:0},u,q),g.attr({"stroke-width":0,fill:t(p,50)})):(g=d.graphics.element=m.rect(s,l),g.animateWith(v,z,{y:f+n,height:E},u,q))):s||w?!s&&w?(s={x:u&&D?k:k+n,y:f,width:u&&D?r:x,height:h,r:0,"stroke-width":0,fill:t(p,50)},g?(g.animateWith(v,z,{x:k+n,y:f,width:x,height:h,r:0},u,q),g.attr({"stroke-width":0,fill:t(p,50)})):(g=d.graphics.element=m.rect(s,l),g.animateWith(v,z,{x:k+n,width:x},u,q))):s&&w&&(s={x:k,y:f,width:u&&D?r:x,height:h,r:0,"stroke-width":0,fill:t(p,50)},g?(g.animateWith(v,z,{x:k,y:f,width:x,
height:h,r:0},u,q),g.attr({"stroke-width":0,fill:t(p,50)})):(g=d.graphics.element=m.rect(s,l),g.animateWith(v,z,{width:x},u,q))):(s={x:k,y:f,width:r,height:u&&D?h:E,r:0,"stroke-width":0,fill:t(p,50)},g?(g.animateWith(v,z,{x:k,y:f,width:r,height:E,r:0},u,q),g.attr({"stroke-width":0,fill:t(p,50)})):(g=d.graphics.element=m.rect(s,l),g.animateWith(v,z,{height:E},u,q)));f=""===C.setTooltext||void 0===C.setTooltext?C.toolTipValue:C.setTooltext;a.showTooltip?b.components.canvas.graphics.canvasHotElement.tooltip(f):
b.components.canvas.graphics.canvasHotElement.tooltip(!1);b=parseInt(A.lineHeight,10);b=b>B?c.height-c.marginBottom-B+b/2:c.height-c.marginBottom-b/2;b-=c.borderWidth;B=d.graphics;C.displayValue!==F&&void 0!==C.displayValue&&a.showValue?(s={text:C.displayValue,"text-anchor":"middle",x:r/2+k,y:b,"vertical-align":"middle",fill:A.color,direction:C.textDirection,"text-bound":[A.backgroundColor,A.borderColor,A.borderThickness,A.borderPadding,A.borderRadius,A.borderDash]},B.label?(B.label.animateWith(v,
z,{x:r/2+k,y:b},u,q),B.label.attr({text:C.displayValue,"text-anchor":"middle","vertical-align":"middle",fill:A.color,direction:C.textDirection,"text-bound":[A.backgroundColor,A.borderColor,A.borderThickness,A.borderPadding,A.borderRadius,A.borderDash]})):B.label=m.text(s,y),B.label.attr(s).css(G),a=B.label.getBBox(),0>a.x+c.marginLeft&&(a=a.width-c.marginLeft,c.width<a&&(a=c.width-c.marginLeft),s={x:a/2},B.label.animateWith(v,z,s,u,q))):B.label&&(B.label=B.label.remove())}},"bullet"]);n("hbullet",
{friendlyName:"Horizontal Bullet Gauge",creditLabel:ra,defaultSeriesType:"hbullet",gaugeType:1,standaloneInit:!0,defaultCaptionPadding:5,rendererId:"hbullet",isHorizontal:!0,isAxisOpposite:!0,rtManageSpace:!0,_RTmanageSpace:function(){var a=this.config,d=this.components,b=d.scale,d=d.dataset[0]._manageSpaceHorizontal(.7*a.oriCanvasWidth);this._allocateSpace({right:d.right-a.labelSpace.right});b.setAxisDimention({axisLength:a.canvasWidth});a.labelSpace=d},_spaceManager:function(){var a,d=this.config,
b=this.components,c=b.dataset[0],k=b.scale,f=this.jsonData.chart,h=e(f.showborder,this.is3D?0:1),g,m=d.minChartWidth,l=d.minChartHeight,f=d.borderWidth=h?e(f.borderthickness,1):0;d.canvasWidth-2*f<m&&(g=(d.canvasWidth-m)/2);d.canvasHeight-2*f<l&&(a=(d.canvasHeight-l)/2);this._allocateSpace({top:a||f,bottom:a||f,left:g||f,right:g||f});a=.7*d.canvasWidth;this._allocateSpace(k.placeAxis(a));d.oriCanvasWidth=d.canvasWidth;d.labelSpace=c._manageSpaceHorizontal(a);c._manageSpace&&this._allocateSpace(d.labelSpace);
this._manageChartMenuBar(.225*d.canvasHeight);d.oriCanvasWidth-=M(b.subCaption.config.width||0,b.caption.config.width||0)},_manageCaptionSpacing:function(){var a=this.config,d=this.components,b=d.caption,c=d.subCaption,d=b.config,k=c.config,b=b.components,c=c.components,g=this.jsonData.chart,h=this.linkedItems.smartLabel,r=aa(g.caption),m=aa(g.subcaption),g=e(g.captionpadding,2),l=a.height,n=0,p=0,q=0,s=.7*a.width,w={},u,t;3<.7*l&&(d.captionPadding=k.captionPadding=g,r!==F&&(t=d.style,n=d.captionLineHeight=
hb(parseFloat(f(t.fontHeight,t.lineHeight),10),12)),m!==F&&(u=k.style,p=hb(parseInt(f(u.lineHeight,u.fontHeight),10),12)),0<n||0<p)&&(h.useEllipsesOnOverflow(a.useEllipsesWhenOverflow),h.setStyle(t),a=h.getSmartText(r,s,l),0<a.width&&(a.width+=2,q=a.height),h.setStyle(u),u=h.getSmartText(m,s,l-q),0<u.width&&(u.width+=2),d.captionSubCaptionGap=a.height+0+.2*p,Math.max(a.width,u.width),b.text=a.text,d.height=a.height,d.width=a.width,d.tooltext&&(b.originalText=a.tooltext),c.text=u.text,k.height=u.height,
k.width=u.width,k.tooltext&&(b.originalText=u.tooltext),u=Math.max(a.width,u.width),0<u&&(u+=g),d.maxCaptionWidth=k.maxCaptionWidth=u,d.isOnLeft?w.left=u:w.right=u);d.align=d.isOnLeft?k.align=W:k.align=ub;return w},_manageCaptionPosition:function(){var a=this.config,d=this.components,b=d.caption.config,d=d.subCaption.config,c=b.captionPosition,e=M(b.width,d.width),f=a.borderWidth||0,h=b.captionSubCaptionGap;switch(c){case Ka:b.y=.5*(a.canvasTop+a.canvasHeight);break;case Ta:b.y=a.canvasBottom-(b.height+
d.height);break;default:b.y=a.canvasTop}d.y=b.y+h;b.x=b.isOnLeft?d.x=a.marginLeft+e+f:d.x=a.width-a.marginRight-e-f},_fetchCaptionPos:function(){return"end"===this.components.caption.config.align?0:-1}},n.vbullet);n("thermometer",{showRTvalue:!1,canvasPadding:!1,friendlyName:"Horizontal Linear Gauge",creditLabel:ra,defaultDatasetType:"thermometer",defaultPaletteOptions:Z(ka({},g.defaultGaugePaletteOptions),{gaugeBorderColor:["545454","60634E","415D6F","845001","68001B"],gaugeFillColor:["999999","ADB68F",
"A2C4C8","FDB548","FF7CA0"],periodColor:["EEEEEE","ECEEE6","E6ECF0","FFF4E6","FFF2F5"]}),standaloneInit:!0,isHorizontal:!1,isAxisOpposite:!0,hasLegend:!1,hasCanvas:!1,drawPlotlines:!1,drawPlotBands:!1,isAxisReverse:!1,isRealTime:!0,applicableDSList:{thermometer:!0},_getData:function(){var a=this.components.dataset;if(a&&a[0])return a[0].config.value},_parseSpecialConfig:function(){var a=this.config,d=this.jsonData.chart,b=this.components,c=b.numberFormatter,b=b.colorManager;a.use3DLighting=e(d.use3dlighting,
1);a.thmOriginX=e(d.thmoriginx,d.gaugeoriginx);a.thmOriginY=e(d.thmoriginy,d.gaugeoriginy);a.thmBulbRadius=e(c.getCleanValue(d.thmbulbradius,!0));a.thmHeight=e(c.getCleanValue(e(d.thmheight,d.gaugeheight),!0));a.origW=e(d.origw);a.origH=e(d.origh);a.xDefined=ea(a.thmOriginX);a.yDefined=ea(a.thmOriginY);a.rDefined=ea(a.thmBulbRadius);a.hDefined=ea(a.thmHeight);a.gaugeFillColor=f(d.gaugefillcolor,d.thmfillcolor,b.getColor("gaugeFillColor"));a.gaugeFillAlpha=e(d.gaugefillalpha,d.thmfillalpha,Oa);a.showGaugeBorder=
e(d.showgaugeborder,1);c=a.showGaugeBorder?e(d.gaugeborderalpha,40):0;a.gaugeBorderColor=t(f(d.gaugebordercolor,b.getColor("gaugeBorderColor")),c);a.gaugeBorderThickness=e(d.gaugeborderthickness,1);a.gaugeContainerColor=f(d.thmglasscolor,P(a.gaugeFillColor,30))},_createDatasets:function(){var a=this.components,d;d=this.defaultDatasetType;var b={data:[{value:this.jsonData.value}]},a=a.dataset||(a.dataset=[]);d&&(d=FusionCharts.get("component",["dataset",d]))&&(a[0]?(a[0].setValue(b&&b.data&&b.data[0]),
a[0].configure()):(d=new d,a.push(d),d.chart=this,d.init(b)))}},n.axisgaugebase);n("cylinder",{defaultDatasetType:"cylinder",applicableDSList:{cylinder:!0},defaultPaletteOptions:Z(ka({},g.defaultGaugePaletteOptions),{gaugeBorderColor:["545454","60634E","415D6F","845001","68001B"],gaugeFillColor:["CCCCCC","ADB68F","E1F5FF","FDB548","FF7CA0"],periodColor:["EEEEEE","ECEEE6","E6ECF0","FFF4E6","FFF2F5"]}),glasscolor:"ffffff",_parseSpecialConfig:function(){var a=this.config,d=this.jsonData.chart,b=this.components,
c=b.numberFormatter,b=b.colorManager;a.use3DLighting=e(d.use3dlighting,1);a.gaugeOriginX=e(d.thmoriginx,d.cyloriginx,d.gaugeoriginx);a.gaugeOriginY=e(d.thmoriginy,d.cyloriginy,d.gaugeoriginy);a.gaugeRadius=e(c.getCleanValue(e(d.thmbulbradius,d.cylradius,d.gaugeradius),!0));a.gaugeHeight=e(c.getCleanValue(e(d.thmheight,d.cylheight,d.gaugeheight),!0));a.origW=e(d.origw);a.origH=e(d.origh);a.xDefined=ea(a.gaugeOriginX);a.yDefined=ea(a.gaugeOriginY);a.rDefined=ea(a.gaugeRadius);a.hDefined=ea(a.gaugeHeight);
a.gaugeFillColor=f(d.gaugefillcolor,d.cylfillcolor,b.getColor("gaugeFillColor"));a.gaugeFillAlpha=e(d.gaugefillalpha,d.cylfillalpha,Oa);a.gaugeYScale=e(d.cylyscale,d.gaugeyscale,30);if(50<a.gaugeYScale||0>a.gaugeYScale)a.gaugeYScale=30;a.gaugeYScale/=100;a.showGaugeBorder=e(d.showgaugeborder,1);c=a.showGaugeBorder?e(d.gaugeborderalpha,40):0;a.gaugeBorderColor=t(f(d.gaugebordercolor,b.getColor("gaugeBorderColor")),c);a.gaugeBorderThickness=e(d.gaugeborderthickness,1);a.gaugeContainerColor=f(d.cylglasscolor,
P(a.gaugeFillColor,30))}},n.thermometer);FusionCharts.register("component",["dataset","thermometer",{init:function(a){this.configure();this.setValue(a&&a.data&&a.data[0])},setValue:function(a,d){var b=this.config,c=this.chart,e=c.jsonData.chart,c=c.components.numberFormatter,g=a.value;b.value=g=c.getCleanValue(g);null!==g?(c=b.formattedValue=c.dataLabels(b.value),b.displayValue=b.showValue?a.label||E(c," "):F,b.toolText=b.showTooltip?void 0!==e.plottooltext?da(f(a.tooltext,e.plottooltext),[1,2],{formattedValue:c},
{},e):f(a.tooltext,null===c?F:c):F):(b.displayValue=F,b.toolText=F,b.formattedValue=null);d&&this.draw()},configure:function(){var a=this.chart,d=a.jsonData,b=d.chart,c=this.config||(this.config={}),k=a.components.colorManager,g=a.config,h,r=e(b.showhovereffect),m;c.showValue=e(b.showvalue,b.showvalues,1);c.showTooltip=e(b.showtooltip,1);c.valuePadding=e(b.valuepadding,2);c.tooltipSepChar=f(b.tooltipsepchar,l);c.pointerOnOpp=e(b.pointerontop,0);c.axisPosition=e(b.ticksbelowgauge,b.ticksbelowgraph,
this.ticksbelowgauge,1)?3:1;c.valueAbovePointer=e(b.valueabovepointer,1);c.labelStyle=g.dataLabelStyle;m=c.gaugeFillColor=f(b.gaugefillcolor,b.thmfillcolor,b.cylfillcolor,k.getColor("gaugeFillColor"));g=c.gaugeFillAlpha=e(b.gaugefillalpha,b.cylfillalpha,b.thmfillalpha,Oa);c.showGaugeBorder=e(b.showgaugeborder,1);h=c.showGaugeBorder?e(b.gaugeborderalpha,40):0;c.gaugeBorderColor=t(f(b.gaugebordercolor,k.getColor("gaugeBorderColor")),h);c.gaugeBorderThickness=e(b.gaugeborderthickness,1);c.gaugeContainerColor=
f(b.thmglasscolor,b.cylglasscolor,a.glasscolor,P(m,30));0!==r&&(r||b.plotfillhovercolor||b.plotfillhoveralpha||0===b.plotfillhoveralpha)&&(c.showHoverEffect=!0,r=f(b.plotfillhovercolor,b.cylfillhovercolor,b.thmfillhovercolor,"{dark-10}"),c.plotFillHoverAlpha=e(b.plotfillhoveralpha,b.cylfillhoveralpha,b.thmfillhoveralpha,g),c.plotFillHoverColor=/\{/.test(r)?k.parseColorMix(m,r)[0]:r);this.setValue(d);a._parseSpecialConfig&&a._parseSpecialConfig()},_getLabelSpace:function(){var a=this.config,d=this.chart,
b=d.get("linkedItems","smartLabel");b.useEllipsesOnOverflow(d.config.useEllipsesWhenOverflow);b.setStyle(a.labelStyle);d=b.getOriSize(""!==a.displayValue?a.displayValue:"dummy");return d.height?d.height+a.valuePadding:0},_manageSpace:function(){var a=this.chart.config,d=a.canvasWidth,b=a.canvasHeight,c=a.canvasLeft,k=a.canvasRight,f=a.canvasTop,h=a.xDefined,g=a.yDefined,m=a.rDefined,l=a.hDefined,n=a.thmOriginX,p=a.thmOriginY,t=a.thmBulbRadius,s=a.thmHeight,w=wa(a.origW,a.origH,a.width,a.height),u=
0,q=0,z=0,v=0,B;B=this._getLabelSpace();b-=B;q+=B;t=m?t*w:Math.min(d/2,.13*e(s,b));a.effectiveR=t;m=.643*t;a=2*m;u+=m;f+=m;b-=m;h?c=n*w-m-c:(c=(k-c)/2-m,c+a>d&&(c=d-a));z+=c;v+=d-c-a;g&&(p*=w);l?(s*=w,g?u+=p-s-f:p=f+s):g||(s=Math.max(b-1.766*t,3*t),p=f+s);return{top:u,bottom:q+(f+b-p),left:z,right:v}},draw:function(){var a=this.config,d=this.chart,b=d.get("graphics","datalabels"),c=d.get("graphics","trackerGroup"),k=this.graphics||(this.graphics={}),f=d.get("components","scale"),h=d.get("graphics",
"datasetGroup"),g=d.get("config"),m=d.get("components","paper"),n=g.canvasLeft,q=g.canvasTop,p=g.canvasHeight,A=g.effectiveR||10,s=.643*A,w=g.use3DLighting,u=n+s,y=q-s,z=y+s,v=z+p,B=v+.766*A,C=e(a.value,f.getLimit().min),E=f.getPixel(C),f=.33*s,C=y+f,x=.9*s,F=s-f,D=A+x-s,G=u-s,H=u+s,M=u-F,F=u+F,S=u-x,L=u+x,K=parseInt(u-.6*s,10),s=u+s/2,J=B-Math.abs(Math.sqrt(D*D-x*x)),T=k.container,Q=k.fluid,V=k.topLightGlow,O=k.topLight,R=k.label,U=k.dataLabelContainer,W=k.canvasBorderElement,x=k.bulbBorderLight,
ja=k.bulbTopLight,Y=k.bulbCenterLight,oa=k.trackerContainer,aa=k.cylLeftLight,da=k.cylRightLight,ba=k.cylLeftLight1,fa=k.cylRightLight1,oa=k.hotElement,X=ha(a.gaugeFillColor,w?70:80),la=a.gaugeFillAlpha,Z=a.gaugeContainerColor,ca=ha(Z,80),Z=P(Z,80),ga=a.gaugeBorderThickness,ia=a.gaugeBorderColor,U=a.showHoverEffect,ka=a.plotFillHoverAlpha,ma=a.plotFillHoverColor,ea=d.get("config","animationObj"),pa=ea.animType,ra=ea.animObj,xa=ea.dummyObj,wa=ea.duration,sa=ea&&ea.duration,Fa=g.canvasRight,Ga=g.canvasBottom,
Ba=g.canvasWidth,Ca=d.config.dataLabelStyle,Da={fontFamily:Ca.fontFamily,fontSize:Ca.fontSize,lineHeight:Ca.lineHeight,fontWeight:Ca.fontWeight,fontStyle:Ca.fontStyle},ea=function(){d._animCallBack&&d._animCallBack()},za=function(a,b,c,d){"attr"===b?a.attr(c):a.animateWith(xa,ra,c,wa,pa,d);return a},va,Ea=a.fluidAttr;Ea||(Ea=a.fluidAttr={});U&&(Ea.hover={fill:t(ha(ma,w?70:80),ka)});Ea.out={fill:t(X,la)};la=["M",M,y,"A",f,f,0,0,0,G,C,"L",G,v,"A",A,A,0,1,0,H,v,"L",H,C,"A",f,f,0,0,0,F,y,"Z"];g.gaugeStartX=
n;g.gaugeEndX=Fa;g.gaugeStartY=q;g.gaugeEndY=Ga;g.gaugeCenterX=n+.5*Ba;g.gaugeCenterY=q+.5*p;g.gaugeRadius=.5*Ba;T?sa?(b=c="animate",va=ea):b=c="attr":(T=k.container=m.group("thermometer",h),W=k.canvasBorderElement=m.path(T),Q=k.fluid=m.path(T).attr({"stroke-width":0}),O=k.topLight=m.path(T).attr({"stroke-width":1}),V=k.topLightGlow=m.path(T).attr({"stroke-width":0}),x=k.bulbBorderLight=m.path(T).attr({"stroke-width":0,stroke:"#00FF00"}),ja=k.bulbTopLight=m.path(T).attr({"stroke-width":0}),Y=k.bulbCenterLight=
m.path(T).attr({"stroke-width":0}),aa=k.cylLeftLight=m.path(T).attr({"stroke-width":0}),da=k.cylRightLight=m.path(T).attr({"stroke-width":0}),ba=k.cylLeftLight1=m.path(T).attr({"stroke-width":0}),fa=k.cylRightLight1=m.path(T).attr({"stroke-width":0}),oa=k.trackerContainer=m.group("col-hot",c),oa=k.hotElement=m.path({stroke:ua,fill:ua},oa).click(function(a){ya.call(this,d,a)}).hover(function(b){a.showHoverEffect&&k.fluid&&k.fluid.attr(Ea.hover);ya.call(this,d,b,"DataPlotRollOver")},function(b){a.showHoverEffect&&
k.fluid&&k.fluid.attr(Ea.out);ya.call(this,d,b,"DataPlotRollOut")}),U=k.dataLabelContainer=m.group("datalabel",b),R=k.label=m.text({text:"","text-anchor":"middle","vertical-align":"top"},U),sa?(c="animate",va=ea,Q.attr({path:["M",S,J,"A",D,D,0,1,0,L,J,"L",L,J,S,J,"Z"]})):c="attr",b="attr");za(Q,c,{path:["M",S,J,"A",D,D,0,1,0,L,J,"L",L,E,S,E,"Z"]},va).attr(Ea.out);za(W,b,{path:la}).attr({"stroke-width":ga,stroke:ia});za(O,b,{path:["M",S,z,"L",L,z]}).attr({stroke:t(X,40)});za(oa,b,{path:la}).tooltip(a.toolText);
a.showValue?za(R.show(),b,{x:u,y:B+A+(a.valuePadding||0),fill:Ca.color,"text-bound":[Ca.backgroundColor,Ca.borderColor,Ca.borderThickness,Ca.borderPadding,Ca.borderRadius,Ca.borderDash]}).attr({text:a.displayValue}).css(Da):(R.hide(),R.attr({"text-bound":[]}));w?(za(V.show(),b,{path:["M",S,z,"L",L,z,L,C,S,C,"Z"]}).attr({fill:N({FCcolor:{color:X+l+X,alpha:"40,0",ratio:"0,80",radialGradient:!0,cx:.5,cy:1,r:"70%"}})}),A=["M",G,v,"A",A,A,0,0,1,H,v,"A",A,A,0,0,0,G,v,"A",A,A,0,1,0,H,v,"Z"],za(x.show(),
b,{path:A}).attr({fill:N({FCcolor:{cx:.5,cy:.5,r:"50%",color:ca+l+Z,alpha:"0,50",ratio:"78,30",radialGradient:!0}})}),za(ja.show(),b,{path:A}).attr({fill:N({FCcolor:{cx:.3,cy:.1,r:"100%",color:Z+l+ca,alpha:"60,0",ratio:"0,30",radialGradient:!0}})}),za(Y.show(),b,{path:A}).attr({fill:N({FCcolor:{cx:.25,cy:.7,r:"100%",color:Z+l+ca,alpha:"80,0",ratio:"0,70",radialGradient:!0}})}),za(aa.show(),b,{path:["M",u,y,"L",M,y,"A",f,f,0,0,0,G,C,"L",G,v,u,v,"Z"]}).attr({fill:N({FCcolor:{color:Z+l+ca,alpha:"50,0",
ratio:"0,80",angle:0}})}),za(da.show(),b,{path:["M",G,y,"L",F,y,"A",f,f,0,0,1,H,C,"L",H,v,G,v,"Z"]}).attr({fill:N({FCcolor:{color:Z+l+ca+l+ca,alpha:"50,0,0",ratio:"0,40,60",angle:180}})}),za(ba.show(),b,{path:["M",K,C,"L",G,C,G,v,K,v,"Z"]}).attr({fill:N({FCcolor:{color:Z+l+ca,alpha:"60,0",ratio:"0,100",angle:180}})}),za(fa.show(),b,{path:["M",K-.01,C,"L",s,C,s,v,K-.01,v,"Z"]}).attr({fill:N({FCcolor:{color:Z+l+ca,alpha:"60,0",ratio:"0,100",angle:0}})})):(V.hide(),x.hide(),ja.hide(),Y.hide(),aa.hide(),
da.hide(),ba.hide(),fa.hide());va||ea()},getDataLimits:function(){var a=this.config,d,b;b=d=a.value;a.maxValue=b;a.minValue=d;return{max:b,min:d}},updateData:function(a,d,b){d=this.config;var c=d.maxValue,e=d.prevMin,f=d.value,h=this.chart,g=this.groupManager||this,m=h.components.scale;this.setValue(a.data[0]);d.maxValue=f;d.minValue=f;if(d.maxValue!==c||d.minValue!==e)this.maxminFlag=!0;b&&(h._setAxisLimits(),m.draw(),g.draw())},addData:function(){},removeData:function(){}}]);FusionCharts.register("component",
["dataset","cylinder",{_manageSpace:function(){var a=this.chart.config,d=a.canvasWidth,b=a.canvasHeight,c=a.canvasLeft,e=a.canvasTop,f=a.canvasRight,h=a.xDefined,g=a.yDefined,m=a.rDefined,l=a.hDefined,n=a.gaugeOriginX,p=a.gaugeOriginY,t=a.gaugeRadius,s=a.gaugeHeight,w=a.gaugeYScale,u=wa(a.origW,a.origH,a.width,a.height),q=0,z=0,v=0,B=0,C;C=this._getLabelSpace();b-=C;z+=C;t=m?t*u:M(A(d,1.2*b)/2,5);a.effectiveR=t;a=2*t;w*=t;q+=w;e+=w;b-=2*w;h?c=n*u-t-c:(c=(f-c)/2-t,c+a>d&&(c=d-a));B+=d-c-a;g&&(p*=u);
l?(s*=u,g?q+=p-s-e:p=e+s):g||(p=e+b);z=z+w+(e+b-p);return{top:q,bottom:z+8,left:v+c,right:B}},draw:function(){var a=this.config,d=this.chart,b=this.graphics||(this.graphics={}),c=d.graphics,k=c.datalabels,f=c.trackerGroup,h=c.datasetGroup,c=b.fluidTop,g=b.fluid,m=b.cylinterTop,n=b.frontLight1,q=b.frontLight,p=b.front,A=b.back,s=b.btnBorderLight,w=b.btnBorder1,u=b.btnBorder,y=b.label,z=b.dataLabelContainer,v=b.trackerContainer,v=b.hotElement,B=d.components,C=B.scale,z=d.config,E=B.paper,x=z.canvasLeft,
B=z.canvasTop,F=z.canvasHeight,D=z.effectiveR||40,G=e(a.value,C.getLimit().min),C=C.getPixel(G),G=x+D,H=d.config.dataLabelStyle,W={fontFamily:H.fontFamily,fontSize:H.fontSize,lineHeight:H.lineHeight,fontWeight:H.fontWeight,fontStyle:H.fontStyle},S=a.gaugeFillColor,L=ha(S,70),K=P(S,70),J=ha(L,90),T=z.gaugeFillAlpha,Q=a.gaugeContainerColor,S=ha(Q,80),V=ha(Q,90),Q=P(Q,80),O=b.container,R=D*z.gaugeYScale,U=D-1.5,na=B+F,ja=G-D,Y=G+D,aa=ja+1.5,Z=Y-1.5,da=ja-2,ba=Y+2,ca=D+2,X=R+2,la=na+4,fa=la+.001,ea=.85*
D,ga=G-ea,ia=G+ea,ea=Math.sqrt((1-ea*ea/(D*D))*R*R),ka=B+ea,ma=na+ea,ea=B-1,pa=z.use3DLighting,ra=a.showHoverEffect,xa=a.plotFillHoverAlpha,wa=a.plotFillHoverColor,sa=d.get("config","animationObj"),Ba=sa.animType,Fa=sa.animObj,Ga=sa.dummyObj,Ha=sa.duration,Ca=sa&&sa.duration,sa=function(){d._animCallBack&&d._animCallBack()},Da=function(a,b,c,d){"attr"===b?a.attr(c):a.animateWith(Ga,Fa,c,Ha,Ba,d);return a},za,va=a.fluidAttr,Ea=z.canvasRight,Pa=z.canvasBottom,Ia=z.canvasWidth,Aa=t(S,50);z.gaugeStartX=
x;z.gaugeEndX=Ea;z.gaugeStartY=B;z.gaugeEndY=Pa;z.gaugeCenterX=x+.5*Ia;z.gaugeCenterY=B+.5*F;z.gaugeRadius=.5*Ia;va||(va=a.fluidAttr={});O?Ca?(f=k="animate",za=sa):f=k="attr":(O=b.container=E.group("thermometer",h),u=b.btnBorder=E.path(O).attr({"stroke-width":4}),w=b.btnBorder1=E.path(O).attr({"stroke-width":4}),s=b.btnBorderLight=E.path(O).attr({"stroke-width":0}),A=b.back=E.path(O).attr({"stroke-width":1}),g=b.fluid=E.path(O).attr({"stroke-width":0}),c=b.fluidTop=E.path(O).attr({"stroke-width":2}),
p=b.front=E.path(O).attr({"stroke-width":1}),q=b.frontLight=E.path(O).attr({"stroke-width":0}),n=b.frontLight1=E.path(O).attr({"stroke-width":0}),m=b.cylinterTop=E.path(O).attr({"stroke-width":2}),v=b.trackerContainer=E.group("col-hot",f),v=b.hotElement=E.path({stroke:ua,fill:ua},v).click(function(a){ya.call(this,d,a)}).hover(function(c){a.showHoverEffect&&(b.fluid&&b.fluid.attr(va.bodyHover),b.fluidTop&&b.fluidTop.attr(va.topHover));ya.call(this,d,c,"DataPlotRollOver")},function(c){a.showHoverEffect&&
(b.fluid&&b.fluid.attr(va.bodyOut),b.fluidTop&&b.fluidTop.attr(va.topOut));ya.call(this,d,c,"DataPlotRollOut")}),z=b.dataLabelContainer=E.group("datalabel",k),y=b.label=E.text({text:"","text-anchor":"middle","vertical-align":"top"},z),Ca?(k="animate",za=sa,g.attr({path:["M",ja,na,"A",D,M(R,1),0,0,0,Y,na,"L",Y,na,"A",D,M(R,1),0,0,1,ja,na,"Z"]}),c.attr({path:["M",aa,na,"A",U,R,0,0,0,Z,na,"L",Z,na,"A",U,R,0,0,0,aa,na,"Z"]})):k="attr",f="attr");pa?(h=Q+l+S+l+Q+l+S+l+V+l+V+l+S+l+Q,z=N({FCcolor:{cx:.5,
cy:0,r:"100%",color:K+l+L,alpha:T+l+T,ratio:"0,100",radialGradient:!0}}),E=N({FCcolor:{cx:.5,cy:.7,r:"100%",color:K+l+L,alpha:T+l+T,ratio:"0,100",radialGradient:!0}}),J=t(K,T),K=Q+l+S+l+Q+l+Q+l+S+l+Q+l+S+l+Q,q.show().attr({fill:N({FCcolor:{color:K,alpha:"40,0",ratio:"0,100",angle:0}})}),Da(q,f,{path:["M",ja,na,"A",D,R,1,0,0,ga,ma,"L",ga,ka,"A",D,R,0,0,1,ja,B,"Z"]}),n.show().attr({fill:N({FCcolor:{color:K,alpha:"40,0",ratio:"0,100",angle:180}})}),Da(n,f,{path:["M",ia,ma,"A",D,R,0,0,0,Y,na,"L",Y,B,
"A",D,R,1,0,0,ia,ka,"Z"]})):(h=Q+l+S+l+S+l+S+l+S+l+S+l+S+l+Q,E=z=t(L,T),J=t(J),K=S+l+S+l+S+l+S+l+S+l+S+l+S+l+S,q.hide(),n.hide());va.bodyOut={fill:z};va.topOut={stroke:J,fill:E};ra&&(n=ha(wa,70),q=P(wa,70),ga=ha(n,90),pa?(va.bodyHover={fill:N({FCcolor:{cx:.5,cy:0,r:"100%",color:q+l+n,alpha:xa+l+xa,ratio:"0,100",radialGradient:!0}})},va.topHover={stroke:t(q,xa),fill:N({FCcolor:{cx:.5,cy:.7,r:"100%",color:q+l+n,alpha:xa+l+xa,ratio:"0,100",radialGradient:!0}})}):(va.bodyHover={fill:t(n,xa)},va.topHover=
{stroke:t(ga),fill:t(n,xa)}));g.attr(va.bodyOut);c.attr(va.topOut);Da(g,k,{path:["M",ja,na,"A",D,M(R,1),0,0,0,Y,na,"L",Y,C,"A",D,M(R,1),0,0,1,ja,C,"Z"]},za);Da(c,k,{path:["M",aa,C,"A",U,R,0,0,0,Z,C,"L",Z,C,"A",U,R,0,0,0,aa,C,"Z"]});u.attr({stroke:t(S,80)});Da(u,f,{path:["M",da,la,"A",ca,X,0,0,0,ba,la,"L",ba,fa,"A",ca,X,0,0,0,da,fa,"Z"]});w.attr({stroke:Aa});Da(w,f,{path:["M",ja,la,"A",D,R,0,0,0,Y,la,"L",Y,fa,"A",D,R,0,0,0,ja,fa,"Z"]});s.attr({fill:N({FCcolor:{color:Q+l+S+l+Q+l+Q+l+S+l+L+l+S+l+Q,alpha:"50,50,50,50,50,70,50,50",
ratio:"0,15,0,12,0,15,43,15",angle:0}})});Da(s,f,{path:["M",ja,na,"A",D,R,0,0,0,Y,na,"A",D,R,0,0,0,ja,na,"Z"]});A.attr({stroke:Aa,fill:N({FCcolor:{color:h,alpha:"30,30,30,30,30,30,30,30",ratio:"0,15,43,15,0,12,0,15",angle:0}})});Da(A,f,{path:["M",ja,na,"A",D,R,0,0,0,Y,na,"L",Y,B,"A",D,R,0,0,0,ja,B,"Z"]});p.attr({stroke:Aa,fill:N({FCcolor:{color:K,alpha:"30,30,30,30,30,30,30,30",ratio:"0,15,0,12,0,15,43,15",angle:0}})});Da(p,f,{path:["M",ja,na,"A",D,R,0,0,0,Y,na,"L",Y,B,"A",D,R,0,0,1,ja,B,"Z"]});m.attr({stroke:t(S,
40)});Da(m,f,{path:["M",ja,ea,"A",D,R,0,0,0,Y,ea,"L",Y,ea,"A",D,R,0,0,0,ja,ea,"Z"]});Da(v,f,{path:["M",ja,na,ja,la+4,"A",D,R,0,0,0,Y,la+4,"L",Y,na,Y,B,"A",D,R,0,0,0,ja,B,"Z"]}).tooltip(a.toolText);a.showValue?(y.show().attr({text:a.displayValue}),Da(y,f,{x:G,y:na+R+(a.valuePadding||0)+8,fill:H.color,"text-bound":[H.backgroundColor,H.borderColor,H.borderThickness,H.borderPadding,H.borderRadius,H.borderDash]}).css(W)):(y.hide(),y.attr({"text-bound":[]}));za||sa()}},"thermometer"]);n("angulargauge",
{friendlyName:"Angular Gauge",creditLabel:ra,defaultDatasetType:"angulargauge",standaloneInit:!0,isHorizontal:!0,isAxisOpposite:!1,isRealTime:!0,hasLegend:!1,drawPlotlines:!1,drawPlotBands:!1,isAxisReverse:!1,colorRange:!0,defaultPaletteOptions:Z(ka({},g.defaultGaugePaletteOptions),{dialColor:["999999,ffffff,999999","ADB68F,F3F5DD,ADB68F","A2C4C8,EDFBFE,A2C4C8","FDB548,FFF5E8,FDB548","FF7CA0,FFD1DD,FF7CA0"],dialBorderColor:["999999","ADB68F","A2C4C8","FDB548","FF7CA0"],pivotColor:["999999,ffffff,999999",
"ADB68F,F3F5DD,ADB68F","A2C4C8,EDFBFE,A2C4C8","FDB548,FFF5E8,FDB548","FF7CA0,FFD1DD,FF7CA0"],pivotBorderColor:["999999","ADB68F","A2C4C8","FDB548","FF7CA0"]}),rtParserModify:!0,applicableDSList:{angulargauge:!0},_spaceManager:function(){var a,d,b=this.config,c=this.components,k=c.dataset[0],c=c.scale,f=k.chart.jsonData.chart,k=k.config,h=k.scaleFactor,g=0,m=0,l=k.pivotRadius,n=b.dataLabels.style.fontSize,g=b.dataLabels.style.lineHeight,p=b.displayValueCount,l=b.borderWidth,q=b.minChartWidth,s=b.minChartHeight;
a=0;var w;b.canvasWidth-2*l<q&&(d=(b.canvasWidth-q)/2);b.canvasHeight-2*l<s&&(w=(b.canvasHeight-s)/2);this._allocateSpace({top:w||l,bottom:w||l,left:d||l,right:d||l});b.scaleFactor=b.autoScale?h=this._getScaleFactor(k.origW,k.origH,b.width,b.height):h=1;n=n.replace(/px/i,"");g=g.replace(/px/i,"");w=/^\d+\%$/.test(k.gaugeinnerradius)?parseInt(k.gaugeinnerradius,10)/100:.7;a=l=e(E(f.pivotradius)*h,5);k.pivotRadius=a;l=Math.max(l,k.rearExtension*h);k.compositPivotRadius=l;g=p*g+2+a;k.valueBelowPivot||
(m=g,g=0);k.gaugeOuterRadius=e(Math.abs(E(f.gaugeouterradius)*h));k.gaugeInnerRadius=e(Math.abs(E(f.gaugeinnerradius)*h),k.gaugeOuterRadius*w);a=.7*b.canvasWidth;d=.7*b.canvasHeight;a=c.placeAxis(A(a,d));a=M(a.left,a.right,a.top,a.bottom);d=.225*b.canvasHeight;this._manageChartMenuBar(d);f=this._angularGaugeSpaceManager(k.gaugeStartAngle,k.gaugeEndAngle,b.canvasWidth,b.canvasHeight,k.gaugeOuterRadius,e(E(f.gaugeoriginx)*h-b.canvasLeft),e(E(f.gaugeoriginy)*h-b.canvasTop),Math.max(l,n),g,m);f.radius=
e(f.radius,f.maxRadius);k.gaugeOriginX=f.centerX+b.canvasLeft;k.gaugeOriginY=f.centerY+b.canvasTop;k.gaugeOuterRadius||(k.gaugeOuterRadius=f.radius,k.gaugeOuterRadius-=a);void 0===k.gaugeInnerRadius&&(k.gaugeInnerRadius=k.gaugeOuterRadius*w);c.setAxisConfig({centerX:k.gaugeOriginX,centerY:k.gaugeOriginY,radius:f.radius||k.gaugeOuterRadius,gaugeOuterRadius:k.gaugeOuterRadius,gaugeInnerRadius:k.gaugeInnerRadius,scaleFactor:h});f=c.getLimit();c.getPixel(f.min);c.getPixel(f.max);b.gaugeStartX=b.canvasLeft;
b.gaugeStartY=b.canvasTop;b.gaugeEndX=b.canvasRight;b.gaugeEndY=b.canvasBottom;b.gaugeCenterX=k.gaugeOriginX;b.gaugeCenterY=k.gaugeOriginY;b.gaugeStartAngle=k.gaugeStartAngle/Ya;b.gaugeEndAngle=k.gaugeEndAngle/Ya},_createAxes:function(){var a=this.components,d=FusionCharts.register("component",["axis","polarGauge"]);a.scale=a=new d;a.chart=this;a.init()},_feedAxesRawData:function(){var a=this.components,d=a.colorManager,b=this.jsonData,c=b.chart,k=g.chartPaletteStr.chart2D,l=e(c.axisontop,c.axisonleft,
void 0!==c.ticksbelowgauge?!c.ticksbelowgauge:void 0,this.isAxisOpposite),h=e(c.reverseaxis,this.isAxisReverse),d={outCanfontFamily:f(c.outcnvbasefont,c.basefont,"Verdana,sans"),outCanfontSize:Na(c.outcnvbasefontsize,c.basefontsize,10),outCancolor:f(c.outcnvbasefontcolor,c.basefontcolor,d.getColor(k.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),useEllipsesWhenOverflow:c.useellipseswhenoverflow,divLineColor:f(c.vdivlinecolor,d.getColor(k.divLineColor)),divLineAlpha:f(c.vdivlinealpha,d.getColor("divLineAlpha")),
divLineThickness:e(c.vdivlinethickness,1),divLineIsDashed:Boolean(e(c.vdivlinedashed,c.vdivlineisdashed,0)),divLineDashLen:e(c.vdivlinedashlen,4),divLineDashGap:e(c.vdivlinedashgap,2),showAlternateGridColor:e(c.showalternatevgridcolor,0),alternateGridColor:f(c.alternatevgridcolor,d.getColor("altVGridColor")),alternateGridAlpha:f(c.alternatevgridalpha,d.getColor("altVGridAlpha")),numDivLines:c.numvdivlines,labelFont:c.labelfont,labelFontSize:c.labelfontsize,labelFontColor:c.labelfontcolor,labelFontAlpha:c.labelalpha,
labelFontBold:c.labelfontbold,labelFontItalic:c.labelfontitalic,axisName:c.xaxisname,axisMinValue:c.lowerlimit,axisMaxValue:c.upperlimit,setAdaptiveMin:c.setadaptivemin,adjustDiv:c.adjustvdiv,labelDisplay:c.labeldisplay,showLabels:c.showlabels,rotateLabels:c.rotatelabels,slantLabel:e(c.slantlabels,c.slantlabel),labelStep:e(c.labelstep,c.xaxisvaluesstep),showAxisValues:e(c.showxaxisvalues,c.showxaxisvalue),showDivLineValues:e(c.showvdivlinevalues,c.showvdivlinevalues),showZeroPlane:c.showvzeroplane,
zeroPlaneColor:c.vzeroplanecolor,zeroPlaneThickness:c.vzeroplanethickness,zeroPlaneAlpha:c.vzeroplanealpha,showZeroPlaneValue:c.showvzeroplanevalue,trendlineColor:c.trendlinecolor,trendlineToolText:c.trendlinetooltext,trendlineThickness:c.trendlinethickness,trendlineAlpha:c.trendlinealpha,showTrendlinesOnTop:c.showtrendlinesontop,showAxisLine:e(c.showxaxisline,c.showaxislines,c.drawAxisLines,0),axisLineThickness:e(c.xaxislinethickness,c.axislinethickness,1),axisLineAlpha:e(c.xaxislinealpha,c.axislinealpha,
100),axisLineColor:f(c.xaxislinecolor,c.axislinecolor,"#000000"),majorTMNumber:c.majortmnumber,majorTMColor:c.majortmcolor,majorTMAlpha:c.majortmalpha,majorTMHeight:c.majortmheight,tickValueStep:c.tickvaluestep,showTickMarks:c.showtickmarks,connectTickMarks:c.connecttickmarks,showTickValues:c.showtickvalues,majorTMThickness:c.majortmthickness,upperlimit:a.numberFormatter.getCleanValue(c.upperlimit),lowerlimit:a.numberFormatter.getCleanValue(c.lowerlimit),reverseScale:c.reversescale,showLimits:c.showlimits,
adjustTM:c.adjusttm,minorTMNumber:c.minortmnumber,minorTMColor:c.minortmcolor,minorTMAlpha:c.minortmalpha,minorTMHeight:e(c.minortmheight,c.minortmwidth),minorTMThickness:c.minortmthickness,tickMarkDistance:e(c.tickmarkdistance,c.tickmarkgap),tickValueDistance:e(c.tickvaluedistance,c.displayvaluedistance),placeTicksInside:c.placeticksinside,placeValuesInside:c.placevaluesinside,upperLimitDisplay:c.upperlimitdisplay,lowerLimitDisplay:c.lowerlimitdisplay,ticksBelowGauge:c.ticksbelowgauge,ticksBelowGraph:c.ticksbelowgraph,
trendValueDistance:c.trendvaluedistance};d.trendPoints=b.trendpoints;a=a.scale;a.setCommonConfigArr(d,!this.isHorizontal,h,l);a.configure()},_drawCanvas:function(){var a=this.components,d=a.dataset[0],b=d.config,d=d.graphics||(d.graphics={}),c=a.scale,k=a.colorManager,g=c.config.axisRange,h=a.colorRange,r=this.graphics.datasetGroup,m=this.graphics.datalabelGroup,a=a.paper,n=b.gaugeOuterRadius,q=b.gaugeInnerRadius,p=b.gaugeFillRatio,A=b.gaugeBorderColor,s=b.gaugeBorderThickness,w=b.gaugeBorderAlpha,
u=b.gaugeFillMix,y=b.gaugeOriginX,z=b.gaugeOriginY,v=b.gaugeStartAngle,B=b.showShadow,C=g.min,g=g.max,E=h?h.getColorRangeArr(C,g):[],x=this.get("config","animationObj"),h=x.duration,C=x.dummyObj,F=x.animObj,x=x.animType,D=0,G=E.length,H,P,S,L,K,J,T=0;d.band=d.band||[];d.bandGroup||(d.bandGroup=a.group("bandGroup",r));for(d.pointGroup?d.pointGroup.animateWith(C,F,{transform:"t"+y+","+z},h,x):d.pointGroup=a.group("pointers",m).translate(y,z);D<G;D+=1)H=E[D],r=c.getAngle(Math.min(H.maxvalue,g)),S=k.parseColorMix(H.code,
u),L=k.parseAlphaList(H.alpha,S.length),K=k.parseRatioList(q/n*100+p,S.length),J=H.bordercolor,P=e(H.borderAlpha,w),J=J&&-1==J.indexOf("{")?t(J,P):k.parseColorMix(H.code,f(J,A))[0],J=t(J,P),H=L.split(l),H=M.apply(Math,H),H=B?M(s&&P||0,H):0,P=r,v>r&&(v+=r,r=v-r,v-=r),d.band[D]?d.band[D].animateWith(C,F,{ringpath:[y,z,n,q,v,r]},h,x):d.band[D]=a.ringpath(y,z,n,q,v,r,d.bandGroup),d.band[D].attr({fill:N({FCcolor:{cx:y,cy:z,r:n,gradientUnits:"userSpaceOnUse",color:S.join(),alpha:L,ratio:K,radialGradient:!0}}),
"stroke-width":s,stroke:J}).shadow({apply:B,opacity:H/100}),v=P,T+=1;D=T;for(G=d.band.length;D<G;D+=1)d.band[D].attr({ringpath:[0,0,0,0,0]});c=b.isRadialGradient?{color:b.pivotFillColor,alpha:b.pivotFillAlpha,ratio:b.pivotFillRatio,radialGradient:!0,angle:b.pivotFillAngle,cx:.5,cy:.5,r:"50%"}:{color:b.pivotFillColor,alpha:b.pivotFillAlpha,ratio:b.pivotFillRatio,radialGradient:!1,angle:b.pivotFillAngle};d.pivot?d.pivot.animateWith(C,F,{cx:y,cy:z,r:b.pivotRadius},h,x):(d.pivot=a.circle(m),d.pivot.attr({cx:y,
cy:z,r:b.pivotRadius}));d.pivot.attr({fill:N({FCcolor:c}),"stroke-width":b.pivotBorderThickness,stroke:b.pivotBorderColor}).shadow({apply:B})},_createDatasets:function(){var a=this.components,d=this.jsonData,b=d.pointers||d.dials,c;c=this.defaultDatasetType;b||(d.dials=b={dial:[{value:0}]});a=a.dataset||(a.dataset=[]);c&&(c=FusionCharts.get("component",["dataset",c]))&&(a[0]?(c=a[0].components.data&&a[0].components.data.length,b=b.dial&&b.dial.length||0,c>b&&a[0].removeData(c-b),a[0].configure()):
(c=new c,a.push(c),c.chart=this,c.init(b)))},_setCategories:function(){},_angularGaugeSpaceManager:function(a,d,b,c,e,f,h,g,m,l){var n=ea(e),p=ea(f),q=ea(h),s=2*Math.PI,w=Math.PI,u=Math.PI/2,t=w+u,z;e={radius:e,centerX:f,centerY:h};var v,B,A,y,x=!1,E,D=a%s;0>D&&(D+=s);(g=g||0)&&g<b/2&&g<c/2&&(x=!0);m>c/2&&(m=c/2);l>c/2&&(l=c/2);B=Math.cos(a);y=Math.sin(a);A=Math.cos(d);E=Math.sin(d);v=Math.min(B,A,0);A=Math.max(B,A,0);B=Math.min(y,E,0);y=Math.max(y,E,0);if(!n||!p||!q){d-=a;a=D+d;if(a>s||0>a)A=1;if(0<
d){if(D<u&&a>u||a>s+u)y=1;if(D<w&&a>w||a>s+w)v=-1;if(D<t&&a>t||a>s+t)B=-1}else{if(D>u&&a<u||a<-t)y=1;if(D>w&&a<w||a<-w)v=-1;if(D>t&&a<t||a<-u)B=-1}p?n||(s=b-f,z=v?Math.min(s/A,-f/v):s/A):(p=b/(A-v),f=-p*v,z=p,x&&(b-f<g?(f=b-g,s=b-f,z=v?Math.min(s/A,-f/v):s/A):f<g&&(f=g,s=b-f,z=v?Math.min(s/A,-f/v):s/A)),e.centerX=f);q?n||(s=c-h,z=Math.min(z,B?Math.min(s/y,-h/B):s/y)):(p=c/(y-B),h=-p*B,x&&(c-h<g?(h=c-g,s=c-h,z=Math.min(z,B?Math.min(s/y,-h/B):s/y)):h<g&&(h=g,s=c-h,z=Math.min(z,B?Math.min(s/y,-h/B):
s/y))),c-h<m?(h=c-m,s=c-h,z=Math.min(z,B?Math.min(s/y,-h/B):s/y)):h<l&&(h=l,s=c-h,z=Math.min(z,B?Math.min(s/y,-h/B):s/y)),z=Math.min(z,p),e.centerY=h);e.maxRadius=z;0>=e.maxRadius&&(e.maxRadius=Math.min(b/2,c/2))}return e},_getScaleFactor:function(a,d,b,c){d=e(d,c);a=e(a,b);return d&&a?a/b==d/c?b/a:Math.min(b/a,c/d):1},_setData:n.hlineargauge,_getData:n.hlineargauge,_getDataForId:n.hlineargauge,_setDataForId:n.hlineargauge},n.axisgaugebase);FusionCharts.register("component",["dataset","angulargauge",
{type:"angulargauge",pIndex:2,customConfigFn:"_createDatasets",init:function(){this.components=this.components||{};this.idMap={};this.configure()},configure:function(){var a=this.chart,d=a.config,b=a.jsonData,c=b.chart,k=b.pointers||b.dials,l=k.pointer||k.dial,h=this.components.data||(this.components.data=[]),b=a.components,r=b.scale,b=b.colorManager,m=this.config||(this.config={}),n=e(c.gaugescaleangle,180),q=e(c.gaugestartangle),p=e(c.gaugeendangle),A=ea(q),s=ba?.001:.01,w=ea(p),u,y,z,v;z=d.displayValueCount=
0;for(v=l.length;z<v;z+=1)h[z]=h[z]||(h[z]={}),h[z].basewidth=l[z].basewidth,h[z].color=l[z].color,h[z].alpha=l[z].alpha,h[z].bgcolor=l[z].bgcolor,h[z].borderalpha=l[z].borderalpha,h[z].bordercolor=l[z].bordercolor,h[z].borderthickness=l[z].borderthickness,h[z].editmode=l[z].editmode,h[z].id=f(l[z].id,"dial"+z),h[z].link=l[z].link,h[z].radius=l[z].radius,h[z].rearextension=l[z].rearextension,h[z].showvalue=l[z].showvalue,h[z].tooltext=l[z].tooltext,h[z].topwidth=l[z].topwidth,h[z].value=l[z].value,
h[z].valuex=l[z].valuex,h[z].valuey=l[z].valuey,h[z].baseradius=l[z].baseradius,h[z].displayvalue=l[z].displayvalue,u=m.showValue=e(c.showvalue,c.showrealtimevalue,0),u=e(h[z].showvalue,u),y=e(E(h[z].valuey)),u&&!ea(y)&&(d.displayValueCount+=1);if(360<n||-360>n)n=0<n?360:-360;if(360<p||-360>p)p%=360;if(360<q||-360>q)q%=360;if(A&&w){if(n=q-p,360<n||-360>n)n%=360,p=q-n}else if(A){if(p=q-n,360<p||-360>p)p%=360,q+=0<p?-360:360}else if(w){if(q=p+n,360<q||-360>q)q%=360,p+=0<q?-360:360}else 360===n?(q=180,
p=-180):-360===n?p=q=-180:(q=90+n/2,p=q-n);360===Math.abs(n)&&(n+=0<n?-s:s,p=q-n);p=360-p;q=360-q;if(360<q||360<p)q-=360,p-=360;m.gaugeStartAngle=q*=Ya;m.gaugeEndAngle=p*Ya;m.gaugeScaleAngle=n=-n*Ya;m.upperLimit=e(c.upperlimit);m.lowerLimit=e(c.lowerlimit);r.setAxisConfig({startAngle:q,totalAngle:-n});l=e(c.scaleonresize,1);m.origW=e(c.origw,l?a.origRenderWidth:d.width);m.origH=e(c.origh,l?a.origRenderHeight:d.height);d.showtooltip=e(c.showtooltip,1);d.autoScale=e(c.autoscale,1);m.rearExtension=e(k.rearextension,
0);m.gaugeinnerradius=c.gaugeinnerradius;m.valueBelowPivot=e(c.valuebelowpivot,0);m.showShadow=e(c.showshadow,1);k=e(c.showgaugeborder,1);m.gaugeFillMix=g.getFirstDefinedValue(c.colorrangefillmix,c.gaugefillmix,a.colorRangeFillMix,"{light-10},{light-70},{dark-10}");m.gaugeFillRatio=g.getFirstDefinedValue(c.colorrangefillratio,c.gaugefillratio,a.colorRangeFillRatio,c.gaugefillratio);void 0===m.gaugeFillRatio?m.gaugeFillRatio=",6":""!==m.gaugeFillRatio&&(m.gaugeFillRatio=","+m.gaugeFillRatio);m.gaugeBorderColor=
f(c.gaugebordercolor,"{dark-20}");m.gaugeBorderThickness=k?e(c.gaugeborderthickness,1):0;m.gaugeBorderAlpha=e(c.gaugeborderalpha,100);a=b.parseColorMix(f(c.pivotfillcolor,c.pivotcolor,c.pivotbgcolor,b.getColor("pivotColor")),f(c.pivotfillmix,"{light-10},{light-30},{dark-20}"));m.pivotFillAlpha=b.parseAlphaList(f(c.pivotfillalpha,Oa),a.length);m.pivotFillRatio=b.parseRatioList(f(c.pivotfillratio,Ba),a.length);m.pivotFillColor=a.join();m.pivotFillAngle=e(c.pivotfillangle,0);m.isRadialGradient="radial"==
f(c.pivotfilltype,"radial").toLowerCase();m.showPivotBorder=e(c.showpivotborder,0);m.pivotBorderThickness=e(c.pivotborderthickness,1);m.pivotBorderColor=t(f(c.pivotbordercolor,b.getColor("pivotBorderColor")),1==m.showPivotBorder?f(c.pivotborderalpha,Oa):Ba);d.dataLabels=d.dataLabels||{};a=(a=fa(c.valuebordercolor,F))?t(a,e(c.valueborderalpha,c.valuealpha,100)):F;d=d.dataLabels.style={fontFamily:f(c.valuefont,d.style.inCanfontFamily),fontSize:f(c.valuefontsize,parseInt(d.style.inCanfontSize,10))+"px",
color:t(f(c.valuefontcolor,d.style.inCancolor),e(c.valuefontalpha,c.valuealpha,100)),fontWeight:e(c.valuefontbold)?"bold":"normal",fontStyle:e(c.valuefontitalic)?"italic":"normal",border:a||c.valuebgcolor?e(c.valueborderthickness,1)+"px solid":void 0,borderColor:a,borderThickness:e(c.valueborderthickness,1),borderPadding:e(c.valueborderpadding,2),borderRadius:e(c.valueborderradius,0),backgroundColor:c.valuebgcolor?t(c.valuebgcolor,e(c.valuebgalpha,c.valuealpha,100)):F,borderDash:e(c.valueborderdashed,
0)?ma(e(c.valueborderdashlen,4),e(c.valueborderdashgap,2),e(c.valueborderthickness,1)):""};Za(d)},draw:function(a){var d=this,b=d.chart,c=d.idMap,k=b.config,g=b.jsonData.chart,h=d.components.data,l=d.config,m=d.graphics,n=b.components,q=n.numberFormatter,p=n.paper,A=n.colorManager,s=Number(l.gaugeOriginX),w=Number(l.gaugeOriginY),u=l.gaugeStartAngle,y=l.gaugeEndAngle,z=l.showShadow,v=k.showtooltip,B=n.scale.config.axisRange,C=B.min,G=B.max,x=m.pointGroup,H=m.dataLabelGroup,D=G-C,M=y-u,P=D/M,W,S=e(g.showhovereffect),
L=d.showValue=e(g.showvalue,g.showrealtimevalue,0),K=0,J=k.dataLabels.style,T={fontFamily:J.fontFamily,fontSize:J.fontSize,lineHeight:J.lineHeight,fontWeight:J.fontWeight,fontStyle:J.fontStyle},Q=k.scaleFactor,V=e(parseInt(J.lineHeight,10),12),O=l.valueBelowPivot,R=b.get("config","animationObj"),U=R.duration,Z=R.dummyObj,ja=R.animObj,Y=R.animType,ba=0,fa=0,ha,ga,ia,X,la,ka,ma,pa,ra,sa,ua,wa=h&&h.length,Ba,Aa,Ha,Ia={pageX:0,pageY:0},La=xa(u,y),Ka=Ib(b.linkedItems.container),Oa=function(a,c){var d=
h[this.pos],e=d.config||{};if(d.editMode){s=Number(l.gaugeOriginX);w=Number(l.gaugeOriginY);var f;f=[s,w];f=eb(c-f[1]-Ka.top,a-f[0]-Ka.left);k.rotationStartAngle=f;e.dragStartY=d.value;Ha=b._getDataJSON()}},Qa=function(){var a=h[this.pos],c=b.chartInstance,d;if(a.editMode){(d=c&&c.jsVars)&&(d._rtLastUpdatedData=b._getDataJSON());ca.raiseEvent("RealTimeUpdateComplete",{data:"&value="+a.updatedValStr,updateObject:{values:[a.updatedValStr]},prevData:Ha.values,source:"editMode",url:null},c);try{Fa.FC_ChartUpdated&&
Fa.FC_ChartUpdated(c.id)}catch(e){setTimeout(function(){throw e;},1)}}},Ca=function(a,b,c,e,f){a=h[this.pos];b=nb&&(nb&&f.sourceEvent&&f.sourceEvent.touches&&f.sourceEvent.touches[0]||f)||Ia;var g,m;if(a.editMode){k.fromDrag=!0;s=Number(l.gaugeOriginX);w=Number(l.gaugeOriginY);C=B.min;G=B.max;u=l.gaugeStartAngle;y=l.gaugeEndAngle;D=G-C;M=y-u;P=D/M;g=[s,w];c=eb(e-g[1]-Ka.top,c-g[0]-Ka.left);c=k.rotationStartAngle-c;e=0>c?mb+c:c-mb;c=a.config.dragStartY-c*P;e=a.config.dragStartY-e*P;(c<C||c>G)&&e>=
C&&e<=G&&(c=e);c<C?c=Ga(e-G)<Ga(c-C)?G:C:c>G&&(c=Ga(c-G)<Ga(e-C)?G:C);a.config.updatedValStr=c+"";a.config.updatedVal=c;e=[];g=0;for(m=a.config.index;g<m;g+=1)e.push("");e.push({value:c,animation:{duration:0,transposeAnimDuration:0,initAnimDuration:0}});a.config.y!==c&&d.updateData({data:e})&&(a.updatedValStr=e.join("|"),a.dragStartX=s||f.pageX||b.pageX)}},Da,za,va,Ea,Pa,Ma,Na,Sa,Va,Ra,Xa,$a,Ta,gb,Za,db,bb,cb,ab,fb,hb,vb,wb,xb,yb,jb,ob,sb,lb,zb,Eb,kb,Fb,ub,Ab,pb,Gb,qb,Hb,Bb,rb,Cb,tb;Ab=pb=l.pivotRadius;
void 0===l.dataById&&(l.dataById={});a=a||R;H||(H=m.dataLabelGroup=p.group("datalabels").insertAfter(m.pointGroup));m.pointersPath||(m.pointersPath=[]);m.pointersTpath||(m.pointersTpath=[]);m.dataLabel||(m.dataLabel=[]);Xa=function(a){k.fromDrag?k.fromDrag=!1:ya.call(this,b,a)};wa||(wa=0);for(0!==S&&(S||g.dialborderhovercolor||g.dialborderhoveralpha||0===g.dialborderhoveralpha||g.dialborderhoverthickness||0===g.dialborderhoverthickness||g.dialbghovercolor||g.plotfillhovercolor||g.dialbghoveralpha||
g.plotfillhoveralpha||0===g.dialbghoveralpha)&&(S=1);K<wa;K+=1){X=h[K];X.config=X.config||{};Ta=X.config;X.config.index=K;c[X.id]={index:K,config:X.config};tb=!1;void 0!==X.id&&(l.dataById[X.id]={index:K,point:X});gb=q.getCleanValue(X.value);ra=e(X.rearextension,0)*Q;Ab=Math.max(Ab,ra*Q);Za=q.dataLabels(gb);db=E(X.displayvalue,Za,F);bb=e(X.showvalue,L);cb=e(E(X.valuey)*Q);Gb=e(E(X.valuex)*Q);f(X.tooltext,X.hovertext);Ta.itemValue=gb;Ta.formatedVal=Za;bb&&ea(cb);ab=(ab=E(aa(f(X.tooltext,X.hovertext))))?
da(ab,[1,2],{formattedValue:Za},X,g):db;fb=f(X.color,X.bgcolor,A.getColor("dialColor"));hb=e(X.alpha,X.bgalpha,100);vb=N({FCcolor:{color:fb,alpha:hb,angle:90}});wb=f(X.bordercolor,A.getColor("dialBorderColor"));xb=e(X.borderalpha,100);yb=t(wb,xb);jb=e(X.borderthickness,1);la=e(X.radius)*Q;ka=e(e(X.basewidth*Q,1.6*pb));ma=e(X.topwidth,0)*Q;pa=e(X.baseradius,0);W=e(X.editmode,g.editmode,0);Da=f(X.link,F);qb=ab;Ta.toolText=qb;Hb=f(db,F);db=bb?f(db," "):F;ob=e(X.showhovereffect,S);if(0!==ob&&(ob||X.borderhovercolor||
X.borderhoveralpha||0===X.borderhoveralpha||X.borderhoverthickness||0===X.borderhoverthickness||X.bghovercolor||X.bghoveralpha||0===X.bghoveralpha)){ob=!0;ia={};ga={};sb=f(X.borderhovercolor,g.dialborderhovercolor,"{dark-10}");lb=e(X.borderhoveralpha,g.dialborderhoveralpha,xb);if(zb=e(X.borderhoverthickness,g.dialborderhoverthickness,jb))ia.stroke=yb,Eb=/\{/.test(sb),ga.stroke=t(Eb?A.parseColorMix(wb,sb)[0]:sb,lb);zb!==jb&&(ga["stroke-width"]=zb,ia["stroke-width"]=jb);kb=f(X.bghovercolor,g.dialbghovercolor,
g.plotfillhovercolor,"{dark-10}");Fb=e(X.bghoveralpha,g.dialbghoveralpha,g.plotfillhoveralpha,hb);ia.fill=vb;kb=(ub=/\{/.test(kb))?A.parseColorMix(fb,kb).join():kb;ha={FCcolor:{color:kb,alpha:Fb,angle:90}};ga.fill=N(ha)}va=X.rolloverProperties={enabled:ob,hasHoverSizeChange:void 0,hoverRadius:e(Pa*Q),baseHoverWidth:e(Ma*Q,1.6*pb),topHoverWidth:e(Sa*Q),rearHoverExtension:e(Ra*Q),hoverFill:ha,hoverAttr:ga,outAttr:ia};la=e(la,(Number(l.gaugeOuterRadius)+Number(l.gaugeInnerRadius))/2);sa=ka/2;ua=ma/2;
X.tooltipPos=[s,w];Da=X.editMode?void 0:X.link;Ea=["M",la,-ua,"L",la,ua,-ra,sa,-ra,-sa,"Z"];va.hasHoverSizeChange&&(va.outAttr.path=Ea,Pa=e(va.hoverRadius,la),Ma=va.baseHoverWidth,Na=Ma/2,Sa=va.topHoverWidth,Va=Sa/2,Ra=va.rearHoverExtension,va.hoverAttr.path=["M",Pa,-Va,"L",Pa,Va,-Ra,Na,-Ra,-Na,"Z"]);za={link:X.link,value:gb,displayValue:Hb,toolText:qb};m.pointersTpath[K]?ma?(m.pointersPath[K].animateWith(Z,ja,{path:Ea},U,Y),m.pointersTpath[K]._attr({trianglepath:[0,0,0,0,0,0,0,0,0]})):(m.pointersTpath[K].animateWith(Z,
ja,{trianglepath:[la,ua,-ra,sa,-ra,-sa,0,pa,pa]},U,Y),m.pointersPath[K]._attr({path:"M00"})):(ma?(m.pointersPath[K]=p.path(Ea,x),m.pointersTpath[K]=p.trianglepath(0,0,0,0,0,0,0,0,0,x)):(m.pointersPath[K]=p.path(["M",0,0],x),m.pointersTpath[K]=p.trianglepath(la,ua,-ra,sa,-ra,-sa,0,pa,pa,x)),tb=!0);Aa=ma?m.pointersPath[K]:m.pointersTpath[K];m.pointersPath[K]._attr||(m.pointersPath[K]._attr=m.pointersPath[K].attr,m.pointersPath[K].attr=La);m.pointersTpath[K]._attr||(m.pointersTpath[K]._attr=m.pointersTpath[K].attr,
m.pointersTpath[K].attr=La);Aa._attr({fill:vb,stroke:yb,ishot:!0,"stroke-width":jb}).data("eventArgs",za);(ka||ma||jb)&&Aa.shadow({apply:z});Aa._Attr={tooltipPos:X.tooltipPos,cx:s,cy:w,toolTipRadius:la-ra,color:X.color};tb&&(Ba=u/Ya,Aa.attr({angle:Ba}));X.index=K;X.editMode=W;Aa.css({cursor:W||Da?"pointer":"default",_cursor:W?"hand":"default"}).attr({ishot:W?!0:!1});tb&&(m.pointersPath[K].drag(Ca,Oa,Qa,{pos:K},{pos:K},{pos:K}).click(Xa),m.pointersTpath[K].drag(Ca,Oa,Qa,{pos:K},{pos:K},{pos:K}).click(Xa));
Ta.y=gb;gb>=C&&gb<=G&&($a=(gb-C)/D*M,Ba=(u+$a)/Ya,Aa.attr({angle:Ba},null,a),v&&""!==qb?(Aa.tooltip(qb),Aa.trackTooltip(!0)):Aa.trackTooltip(!1));fa+=1;ea(db)&&db!==F&&(Bb=w+(O?V/2+pb+2:-(V/2)-pb-2),rb=cb,Cb=e(Gb,s),ea(rb)||(rb=O?Bb+V*ba:Bb-V*ba),m.dataLabel[K]?(m.dataLabel[K].attr({text:db,title:X.originalText||"",fill:J.color,"text-bound":[J.backgroundColor,J.borderColor,J.borderThickness,J.borderPadding,J.borderRadius,J.borderDash]}).css(T).tooltip(X.originalText),m.dataLabel[K].animateWith(Z,
ja,{x:Cb,y:rb},U,Y)):m.dataLabel[K]=p.text(H).attr({x:Cb,y:rb,text:db,direction:k.textDirection,fill:J.color,"text-bound":[J.backgroundColor,J.borderColor,J.borderThickness,J.borderPadding,J.borderRadius,J.borderDash]}).css(T).tooltip(X.originalText),ba+=1)}K=fa;for(wa=m.pointersPath.length;K<wa;K+=1)m.pointersPath[K].attr({path:["M",0,0]}),m.pointersTpath[K].attr({trianglepath:[0,0,0,0,0,0,0,0,0]});K=ba;for(wa=m.dataLabel.length;K<wa;K+=1)m.dataLabel[K].attr({text:"","text-bound":[]})},updateData:function(a){if(a===
this.lastUpdatedObj)return!1;var d=this.chart,b=this.components.data,c,f=this.components.data,f=f&&f.length||0,g,h;a=a.data;if(f){for(;f--;)if(c=a[f])h=c.animation||d.get("config","animationObj"),g=c.value,c=c.label,b[f].value=e(g,b[f].value,0),b[f].displayvalue=c;this.lastUpdatedObj=a;this.draw(h);return!0}}},"hlineargauge"]);n("bulb",{showRTvalue:!1,canvasPadding:!1,friendlyName:"Bulb Gauge",defaultSeriesType:"bulb",defaultPlotShadow:1,standaloneInit:!0,drawAnnotations:!0,charttopmargin:10,chartrightmargin:10,
chartbottommargin:10,chartleftmargin:10,realtimeEnabled:!0,isRealTime:!0,defaultDatasetType:"bulb",applicableDSList:{bulb:!0},creditLabel:ra,_createDatasets:function(){var a=this.components,d;d=this.defaultDatasetType;var b=[],c;b.push({value:this.jsonData.value});c={data:b};this.config.categories=b;a=a.dataset||(a.dataset=[]);d&&(d=FusionCharts.get("component",["dataset",d]))&&(a[0]?(d=a[0].JSONData,d=d.data.length,b=c.data.length,d>b&&a[0].removeData(b-1,d-b,!1),a[0].JSONData=c,a[0].configure()):
(d=new d,a.push(d),d.chart=this,d.init(c)))},_drawCanvas:function(){},_spaceManager:function(){var a,d=this.hasLegend;a=this.config;var b=this.components,c=b.legend,b=b.dataset[0],f=b.config,g=this.jsonData.chart,h=e(g.showborder,this.is3D?0:1),l,m,n=a.minChartWidth,q=a.minChartHeight,g=a.borderWidth=h?e(g.borderthickness,1):0;f.scaleFactor=f.autoScale?this._getScaleFactor(f.origW,f.origH,a.width,a.height):1;a.canvasWidth-2*g<n&&(m=(a.canvasWidth-n)/2);a.canvasHeight-2*g<q&&(l=(a.canvasHeight-q)/
2);this._allocateSpace({top:l||g,bottom:l||g,left:m||g,right:m||g});a=.225*a.canvasHeight;!1!==d&&this._allocateSpace(c._manageLegendPosition(a));this._manageChartMenuBar(a);b._manageSpace&&this._allocateSpace(b._manageSpace(a))},_getData:n.vled,_getScaleFactor:n.angulargauge},n.gaugebase);n("progressgauge",{friendlyName:"Progress Gauge",creditLabel:ra,defaultSeriesType:"progressgauge",singleseries:!0,gaugeType:1,standaloneInit:!0,defaultCaptionPadding:5,hasLegend:!0,defaultDatasetType:"progressgauge",
applicableDSList:{progressgauge:!0},_createDatasets:function(){var a=this.components,d=this.jsonData.data,b;b=this.defaultDatasetType;var c=[];if(d){if(Sa(d,function(a){a.vline||c.push(a)}),d={data:c},this.config.categories=c,a=a.dataset||(a.dataset=[]),b&&(b=FusionCharts.get("component",["dataset",b])))b=new b,a.push(b),b.chart=this,b.init(d)}else this.setChartMessage()},getDataSet:function(a){return this.components.dataset[a]}},n.bulb);FusionCharts.register("component",["dataset","bulb",{pIndex:2,
customConfigFn:"_createDatasets",_manageSpace:function(a){var d=this.config,b=this.components.data,c=this.chart,f=c.config,g=c.linkedItems.smartLabel,h=f.dataLabelStyle,c=e(parseInt(h.lineHeight,10),12),l=d.valuePadding,m=0,b=(b=b[0])&&b.config;g.useEllipsesOnOverflow(f.useEllipsesWhenOverflow);g.setStyle(h);b&&b.displayValue!==F&&!d.placeValuesInside&&d.showValue&&(f=g.getOriSize(b.displayValue)," "===b.displayValue&&(f={height:c}),0<f.height&&(m=f.height+l),m>a&&(m=a));d.heightUsed=m;return{top:0,
bottom:m}},configure:function(){var a=this.chart,d=this.config,b=a.config,c=a.jsonData.chart;e(c.is3d,1);e(c.showtooltip,1);e(c.is3d,1);d.autoScale=e(c.autoscale,1);d.origW=e(c.origw,d.autoScale?a.origRenderWidth:b.width||a.origRenderWidth);d.origH=e(c.origh,d.autoScale?a.origRenderHeight:b.height||a.origRenderHeight);d.placeValuesInside=e(c.placevaluesinside,0);d.hasGaugeOriginX=f(c.gaugeoriginx,void 0);d.hasGaugeOriginY=f(c.gaugeoriginy,void 0);d.hasGaugeRadius=f(c.gaugeradius,void 0);d.gaugeOriginX=
e(c.gaugeoriginx,0);d.gaugeOriginY=e(c.gaugeoriginy,0);d.gaugeRadius=e(c.gaugeradius,0);d.valuePadding=e(c.valuepadding,2);d.showGaugeBorder=e(c.showgaugeborder,0);d.showHoverEffect=e(c.showhovereffect);e(c.showtooltip,1);d.setToolText=E(aa(f(c.plottooltext,void 0)));d.useColorNameAsValue=e(c.usecolornameasvalue,0);d.enableAnimation=a=e(c.animation,c.defaultanimation,1);d.animation=a?{duration:1E3*e(c.animationduration,1)}:!1;d.showValue=e(c.showvalue,1);this._setConfigure()},_setConfigure:function(a){var d=
this.chart,b=this.config,c=this.JSONData,k=a||c.data,n=k&&k.length,n=a&&a.data.length||n,h=d.jsonData.chart,r=d.components.colorManager,m=e(h.showtooltip,1),q=g.parseUnsafeString;q(f(h.tooltipsepchar,", "));var A=g.parseTooltext,p,y,s=b.showHoverEffect,w=this.components.data,u,F,z,v=e(h.is3d,1),B,C=d.components.numberFormatter,G,x,H,D,M,W,Z,S,L,K,J,T,Q,V,O,R=function(a,b,c){return c?{FCcolor:{cx:.4,cy:.4,r:"80%",color:P(a,65)+l+P(a,75)+l+ha(a,65),alpha:b+l+b+l+b,ratio:"0,30,70",radialGradient:!0}}:
t(a,b)},U;w||(w=this.components.data=[]);for(B=0;B<n;B++)u=a?a&&a.data[B]:k[B],F=(p=w[B])&&p.config,p||(p=w[B]={}),p.config||(F=w[B].config={}),F.setValue=p=C.getCleanValue(u.value)||0,p=C.dataLabels(p),z=E(q(u.displayvalue)),F.colorRangeGetter=G=d.components.colorRange,x=G.getColorObj(F.setValue),x=x.colorObj||x.prevObj||x.nextObj,H=e(h.gaugefillalpha,x.alpha,100),G=q(f(x.label,x.name)),y=f(x.bordercolor,h.gaugebordercolor,ha(x.code,70)),D=e(x.borderalpha,h.gaugeborderalpha,"90")*H/100,y=(M=/\{/.test(y))?
r.parseColorMix(f(x.bordercolor,x.code),y)[0]:y,F.gaugeBorderColor=Z=t(y,D),F.gaugeBorderThickness=S=b.showGaugeBorder?e(h.gaugeborderthickness,1):0,F.fillColor=W=R(x.code,H,v),0!==s&&(s||h.gaugefillhovercolor||h.plotfillhovercolor||h.gaugefillhoveralpha||h.plotfillhoveralpha||0===h.gaugefillhoveralpha||h.is3donhover||0===h.is3donhover||h.showgaugeborderonhover||0===h.showgaugeborderonhover||h.gaugeborderhovercolor||h.gaugeborderhoveralpha||0===h.gaugeborderhoveralpha||h.gaugeborderhoverthickness||
0===h.gaugeborderhoverthickness)&&(s=!0,L=f(h.gaugefillhovercolor,h.plotfillhovercolor,"{dark-10}"),K=e(h.gaugefillhoveralpha,h.plotfillhoveralpha),J=e(h.showgaugeborderonhover),void 0===J&&(J=h.gaugeborderhovercolor||h.gaugeborderhoveralpha||0===h.gaugeborderhoveralpha||h.gaugeborderhoverthickness||0===h.gaugeborderhoverthickness?1:b.showGaugeBorder),T=f(h.gaugeborderhovercolor,"{dark-10}"),Q=e(h.gaugeborderhoveralpha),V=J?e(h.gaugeborderhoverthickness,S||1):0,O=!!e(h.is3donhover,v),e(h.showhoveranimation,
1),J={},U={},S!==V&&(J["stroke-width"]=V,U["stroke-width"]=S),U.fill=N(W),L=(W=/\{/.test(L))?r.parseColorMix(x.code,L)[0]:f(L,x.code),J.fill=N(R(L,e(K,H),O)),V&&(U.stroke=Z,x=/\{/.test(T),J.stroke=t(x?r.parseColorMix(M?L:y,T)[0]:T,e(Q,D)))),F.setTooltext=g.getValidValue(q(f(u.tooltext,c.plottooltext,h.plottooltext))),y=m?void 0!==F.setTooltext?A(F.setTooltext,[1,2],{formattedValue:p},u,h):b.useColorNameAsValue?G:null===p?!1:p:!1,u=void 0!==z?z:u.label||(b.useColorNameAsValue?G:p),F.toolText=y,F.displayValue=
u,F.rolloverProperties={enabled:s,hoverAttr:J,hoverAnimAttr:void 0,outAttr:U}},init:function(a){var d=this.chart;if(!a)return!1;this.JSONData=a;this.chartGraphics=d.chartGraphics;this.components={};this.graphics={};this.visible=!0;this.configure()},updateData:function(a,d,b){this._setConfigure(a,d);b&&this.draw()},draw:function(){var a=this.components.data,d=this.chart,b=this.config,c=d.get("config","animationObj"),e=c.animType,f=c.animObj,g=c.dummyObj,c=c.duration,l=d.config,m=l.canvasLeft,n=l.canvasTop,
q=l.canvasHeight,p=l.canvasWidth,t=d.components.paper,s=d.graphics.datasetGroup,w=this.graphics.container,u=this.graphics.trackerContainer,y=d.graphics,z=y.trackerGroup,v=a[0],a=v&&v.config,B=b.gaugeOriginX,C=b.gaugeOriginY,E=b.gaugeRadius,x=b.hasGaugeOriginX,G=b.hasGaugeOriginY,D=b.hasGaugeRadius,H=this.graphics.dataLabelContainer,M=d.config.dataLabelStyle,P=y.datalabelsGroup,S=!1,y={fontFamily:M.fontFamily,fontSize:M.fontSize,lineHeight:M.lineHeight,fontWeight:M.fontWeight,fontStyle:M.fontStyle},
L=a.rolloverProperties||{},K=function(a){ya.call(this,d,a)},J=function(a){return function(b){a.attr(this.data("setRolloverAttr"));ya.call(this,d,b,"DataPlotRollOver")}},T=function(a){return function(b){a.attr(this.data("setRolloutAttr"));ya.call(this,d,b,"DataPlotRollOut")}};w||(w=this.graphics.container=t.group("bulb",s));u||(u=this.graphics.trackerContainer=t.group("bulb-hot",z));H||(H=this.graphics.dataLabelContainer=t.group("datalabel"));P&&P.appendChild(H);z=a.setValue;s=a.toolText;z={value:z,
displayValue:a.displayValue,toolText:s};v.graphics||(v.graphics={});B=x?B:m+p/2;x&&(B*=b.scaleFactor);C=G?C:n+q/2;G&&(C*=b.scaleFactor);n=B;m=C;q=D?E:A(p/2,q/2);D&&(q*=b.scaleFactor);l.gaugeStartX=B-q;l.gaugeEndX=B+q;l.gaugeStartY=C-q;l.gaugeEndY=C+q;l.gaugeCenterX=B;l.gaugeCenterY=C;l.gaugeRadius=q;l={cx:n,cy:m,r:.001,"stroke-linecap":"round",stroke:N(a.gaugeBorderColor),"stroke-width":a.gaugeBorderThickness,fill:N(a.fillColor),ishot:!0};(p=v.graphics.element)?(v.graphics.element.animateWith(g,f,
{cx:n,cy:m,r:q},c,e),p=v.graphics.element.attr({"stroke-linecap":"round",stroke:N(a.gaugeBorderColor),"stroke-width":a.gaugeBorderThickness,fill:N(a.fillColor),ishot:!0})):(p=v.graphics.element=t.circle(l,w),p.animateWith(g,f,{r:q},c,e));l={cx:n,cy:m,r:q,cursor:a.setLink?"pointer":"",stroke:ua,"stroke-width":a.plotBorderThickness,fill:ua,ishot:!0,visibility:"visible"};(w=v.graphics.hotElement)?w=v.graphics.hotElement.attr(l):(w=v.graphics.hotElement=t.circle(l,u),S=!0);w.data("eventArgs",z).data("setRolloverAttr",
L.hoverAttr).data("setRolloutAttr",L.outAttr).tooltip(s);S&&w.click(K).hover(J(p),T(p));u=v.graphics;b.placeValuesInside?(w=m,v=Ka):(w=m+q+b.valuePadding,v=bb);a.setValue!==F&&b.showValue?(l={text:a.displayValue,"text-anchor":"middle",x:B,y:w,"vertical-align":v,fill:M.color,direction:a.textDirection,"text-bound":[M.backgroundColor,M.borderColor,M.borderThickness,M.borderPadding,M.borderRadius,M.borderDash]},u.label?(u.label.show(),u.label.animateWith(g,f,{x:B,y:w},c,e),u.label.attr({text:a.displayValue,
"text-anchor":"middle","vertical-align":v,fill:M.color,direction:a.textDirection,"text-bound":[M.backgroundColor,M.borderColor,M.borderThickness,M.borderPadding,M.borderRadius,M.borderDash]})):u.label=t.text(l,H),u.label.css(y).tooltip(s)):u.label&&u.label.hide()&&u.label.attr({"text-bound":[]})},addData:function(){},removeData:function(){}}]);FusionCharts.register("component",["dataset","progressgauge",{type:"doughnut2d",configure:function(){var a=this.chart,d=this.config,b=this.JSONData,c=a.config,
k=a.jsonData.chart,l=a.components.colorManager,h,n=d.plotColor=l.getPlotColor(this.index||this.positionIndex),m=e(b.dashed,k.plotborderdashed);e(k.useplotgradientcolor,1);var q,t,p,y=g.getDashStyle,s=a.isBar,w=a.is3D,u=a.isStacked,A={},A=A.dataObj||(A.dataObj={}),A=A.chart||(A.chart={});d.showLegend=e(k.showlegend,0);d.legendSymbolColor=d.plotColor;h=d.showplotborder=e(k.showplotborder,w?0:1);d.plotDashLen=q=e(k.plotborderdashlen,5);d.plotDashGap=t=e(k.plotborderdashgap,4);d.plotfillAngle=e(360-k.plotfillangle,
s?180:90);d.plotFillAlpha=p=f(b.alpha,k.plotfillalpha,"70");d.plotColor=f(b.color,n);d.isRoundEdges=n=e(k.useroundedges,0);d.plotRadius=e(k.useRoundEdges,d.isRoundEdges?1:0);d.plotFillRatio=f(b.ratio,k.plotfillratio);d.plotgradientcolor=g.getDefinedColor(k.plotgradientcolor,l.getColor("plotGradientColor"));d.plotBorderAlpha=h?f(k.plotborderalpha,p,Oa):0;d.plotBorderColor=f(k.plotbordercolor,w?"#ffffff":l.getColor("plotBorderColor"));d.plotBorderThickness=h=e(k.plotborderthickness,1);d.plotBorderDashStyle=
m?y(q,t,h):"none";d.showValues=e(b.showvalues,k.showvalues,1);d.valuePadding=e(k.valuepadding,2);d.enableAnimation=m=e(k.animation,k.defaultanimation,1);d.animation=m?{duration:1E3*e(k.animationduration,1)}:!1;A.transposeAnimation=d.transposeAnimation=e(k.transposeanimation,A.transposeAnimation,m);d.transposeAnimDuration=700*e(k.transposeanimduration,1);d.showShadow=n||w?e(k.showshadow,1):e(k.showshadow,l.getColor("showShadow"));d.showHoverEffect=e(k.plothovereffect,k.showhovereffect,void 0);d.showTooltip=
e(k.showtooltip,1);d.stack100Percent=a=e(a.stack100percent,k.stack100percent,0);d.definedGroupPadding=M(e(k.plotspacepercent),0);d.plotSpacePercent=M(e(k.plotspacepercent,20)%100,0);d.maxColWidth=e(s?k.maxbarheight:k.maxcolwidth,50);d.showPercentValues=e(k.showpercentvalues,u&&a?1:0);d.showPercentInToolTip=e(k.showpercentintooltip,u&&a?1:0);d.plotPaddingPercent=e(k.plotpaddingpercent);d.rotateValues=e(k.rotatevalues)?270:0;d.placeValuesInside=e(k.placevaluesinside,0);d.zeroPlaneColor=c.zeroPlaneColor;
d.zeroPlaneBorderColor=c.zeroPlaneBorderColor;d.zeroPlaneShowBorder=c.zeroPlaneShowBorder;d.use3DLighting=e(k.use3dlighting,1);d.parentYAxis="s"===f(b.parentyaxis&&b.parentyaxis.toLowerCase(),"p")?1:0;this._setConfigure()},_setConfigure:function(a,d){var b=this.chart,c=this.config,k=this.JSONData,l=a||k.data,h=l&&l.length,n=b.config.categories,m=b.singleseries,n=n&&n.length,h=a&&a.data.length||A(n,h),n=b.jsonData.chart,q=b.components.colorManager,t=c.showPlotBorder,p=c.plotColor=q.getPlotColor(this.index||
this.positionIndex),y=e(n.showtooltip,1),s=g.parseUnsafeString,w=s(n.yaxisname),u=s(n.xaxisname),F=s(f(n.tooltipsepchar,", ")),z=e(n.seriesnameintooltip,1),v=g.parseTooltext,B,C,G,x,H,D,W,Z=c.plotBorderThickness,aa=c.isRoundEdges,S=c.showHoverEffect,L=c.plotFillAngle,K,J,T,Q=c.plotBorderDashStyle,V,O,R,U,ba,da,Y,ea,ga,ha=g.getDashStyle,ca=this.components.data,ia=b.isBar,X=b.is3D,la,ka=c.maxValue||-Infinity,ma=c.minValue||Infinity,pa=this.chart.components.numberFormatter,ra;ca||(ca=this.components.data=
[]);for(la=0;la<h;la++)a?(D=a&&a.data[la],ra=void 0!==d?d+la:ca.length-h+la,C=ca[ra]):(C=ca[la],D=l[la]),b=C&&C.config,C||(C=ca[la]={}),C.config||(b=ca[la].config={}),b.visible=e(D.visible,!0),b.showValue=e(D.showvalue,c.showValues),b.setValue=C=pa.getCleanValue(D.value),b.setLink=f(D.link),b.toolTipValue=p=pa.dataLabels(C,c.parentYAxis),b.setDisplayValue=x=s(D.displayvalue),b.displayValue=f(x,p),p=e(D.dashed),x=e(D.dashlen,void 0),B=W=e(D.dashgap,W),ka=M(ka,C),ma=A(ma,C),b.plotBorderDashStyle=x=
1===p?ha(x,B,Z):0===p?"none":Q,m?(p=q.getPlotColor(isNaN(ra)?la:ra),p=f(D.color,p),J=f(D.ratio,c.plotFillRatio)):p=f(D.color,c.plotColor),K=f(D.alpha,c.plotFillAlpha),T=f(D.alpha,c.plotBorderAlpha,K).toString(),b.plotColor=p,b.plotFillAlpha=f(D.alpha,c.plotFillAlpha),b.plotBackgroundFillAlpha=e(D.plotbackgroundfillalpha,n.plotbackgroundfillalpha,30),0>C&&!aa&&(H=L,L=ia?180-L:360-L),b.colorArr=B=g.graphics.getColumnColor(p,K,J,L,aa,c.plotBorderColor,T,ia?1:0,X?!0:!1),C=E(s(f(D.tooltext,D.label))),
0!==S&&(V=f(D.hovercolor,k.hovercolor,n.plotfillhovercolor,n.columnhovercolor,p),O=f(D.hoveralpha,k.hoveralpha,n.plotfillhoveralpha,n.columnhoveralpha,K),R=f(D.hovergradientcolor,k.hovergradientcolor,n.plothovergradientcolor,c.plotgradientcolor),!R&&(R=""),U=f(D.hoverratio,k.hoverratio,n.plothoverratio,J),ba=e(360-D.hoverangle,360-k.hoverangle,360-n.plothoverangle,L),da=f(D.borderhovercolor,k.borderhovercolor,n.plotborderhovercolor,c.plotBorderColor),T=f(D.borderhoveralpha,k.borderhoveralpha,n.plotborderhoveralpha,
T,K),K=e(D.borderhoverthickness,k.borderhoverthickness,n.plotborderhoverthickness,Z),Y=e(D.borderhoverdashed,k.borderhoverdashed,n.plotborderhoverdashed),ea=e(D.borderhoverdashgap,k.borderhoverdashgap,n.plotborderhoverdashgap,void 0),ga=e(D.borderhoverdashlen,k.borderhoverdashlen,n.plotborderhoverdashlen,W),Y=Y?ha(ga,ea,K):x,1==S&&V===p&&(V=P(V,70)),p=g.graphics.getColumnColor(V+","+R,O,U,ba,aa,da,T.toString(),ia?1:0,X?!0:!1),b.setRolloutAttr={fill:X?[N(B[0]),!c.use3DLighting]:N(B[0]),stroke:t&&N(B[1]),
"stroke-width":Z,"stroke-dasharray":x},b.setRolloverAttr={fill:X?[N(p[0]),!c.use3DLighting]:N(p[0]),stroke:t&&N(p[1]),"stroke-width":K,"stroke-dasharray":Y}),B=b.toolTipValue,p=E(s(f(D.tooltext,k.plottooltext,n.plottooltext))),y?null===B?D=!1:void 0!==p?(x=[1,2,3,4,5,6,7],C={yaxisName:w,xaxisName:u,formattedValue:B,label:C},D=v(p,x,C,D,n,k)):(z&&(G=fa(k&&k.seriesname)),D=G?G+F:"",D+=C?C+F:""):D=!1,b.toolText=D,b.setTooltext=D,H&&(L=H),ra++;c.maxValue=ka;c.minValue=ma},init:function(a){var d=this.chart;
if(!a)return!1;this.JSONData=a;this.chartGraphics=d.chartGraphics;this.components={};this.graphics={};this.visible=1===e(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure();this.config.showLegend&&this._addLegend()},_addLegend:function(){var a=this.chart,d=a.jsonData.chart,b=this.JSONData.data,c,f,g,h=this.components.data,l;for(f=0;f<h.length;f+=1)g=h[f],c=g.config,l=b[f].label?b[f].label:"Type "+(f+1),g={FCcolor:{color:c.plotColor,angle:0,ratio:"0",alpha:"100"}},c=P(c.plotColor,
60).replace(Qa,ab),a.components.legend.addItems(this,this.legendInteractivity,{type:this.type,fillColor:N(g),strokeColor:N(c),enabled:e(d.includeinlegend,1),label:l,index:f})},legendInteractivity:function(a,d){var b=a.components.data[d.configuration.index],c=a.config,e=b.graphics,f=b.config.visible,g=this.config,l=d.config,m=d.graphics,n=g.itemHiddenStyle.color,g=g.itemStyle.color,q=l.fillColor,l=l.strokeColor;b.config.visible=f?0:1;f?(c.animation.duration&&c.transposeAnimation||(e.gaugeBackground.hide(),
e.gaugeMeter.hide(),e.hotElement.hide()),m.legendItemSymbol&&m.legendItemSymbol.attr({fill:n,stroke:n}),m.legendItemText&&m.legendItemText.attr({fill:t(n)}),m.legendIconLine&&m.legendIconLine.attr({stroke:n})):(e.gaugeBackground.show(),e.gaugeMeter.show(),e.hotElement.show(),m.legendItemSymbol&&m.legendItemSymbol.attr({fill:q,stroke:l}),m.legendItemText&&m.legendItemText.attr({fill:t(g)}),m.legendIconLine&&m.legendIconLine.attr({stroke:q}));a.draw()},draw:function(){var a=this,d=a.JSONData,b=a.config,
c=a.chart.jsonData.chart,e=a.components.data,g=a.components.data,h=a.chart,l=h.components.paper,m=h.config,n=m.canvasLeft,q=m.canvasTop,p=m.canvasHeight,y=m.canvasWidth,s=h.graphics.datasetGroup,m=a.graphics.gaugeBackgroundContainer,w=a.graphics.gaugeMeterContainer,u=a.graphics.trackerContainer,F=h.graphics.trackerGroup,z=a.components.data.length||0,v,B,C,G,x,H,D,M,P,W,S,L=b.animation.duration,K=b.transposeAnimation,b=b.transposeAnimDuration;H=0;var J=function(){var b=a.components.data,c,d=a.components.data.length,
e;for(v=0;v<d;v++)c=b[v].config,e=b[v].graphics,c.visible||e.hotElement.hide()};m||(m=a.graphics.gaugeBackgroundContainer=l.group("gauge-background",s));w||(w=a.graphics.gaugeMeterContainer=l.group("gauge-meter",s));u||(u=a.graphics.trackerContainer=l.group("meter-hot",F));for(v=0;v<z;v++)B=e[v],C=(s=g[v])&&s.config,C.visible&&(H+=1);s=A(p/2,y/2);h=F=.2*A(h.config.canvasWidth,h.config.canvasHeight);H=(s-H-h)/H;n+=.5*y;q+=.5*p;for(v=0;v<z;v++)if(B=e[v],C=(s=g[v])&&s.config,(y=C.visible)||L)s.graphics||
(g[v].graphics={}),G=C.setValue,p=C.setLink,B=E(aa(f(B.tooltext,d.plottooltext,c.plottooltext))),B=C.toolText+(B?"":C.toolTipValue),x=C.colorArr,S=v,W={index:v,link:p,value:G,displayValue:C.displayValue,toolText:B,id:"",datasetIndex:a.datasetIndex,datasetName:d.seriesname,dataSet:a,visible:"visible",cx:n,cy:q,radius:F},D=h,M=h+H,P=6.283,s.graphics.gaugeBackground?(C={ringpath:[n,q,D,M,0,P],fill:t(C.plotColor,C.plotBackgroundFillAlpha),"stroke-width":0},K?(C=y?[n,q,D,M,0,P]:[n,q,D,D,0,P],s.graphics.gaugeBackground.animate({ringpath:C},
b,"easeIn")):s.graphics.gaugeBackground.attr(C)):s.graphics.gaugeBackground=l.ringpath(n,q,D,M,0,P,m).attr({fill:t(C.plotColor,C.plotBackgroundFillAlpha),"stroke-width":0}),P=A(3.6*G,359.99),D=[n,q,h+H/2,A(3.6*G,359.99)],L&&(P=0),s.graphics.gaugeMeter?(C={arcpath:D,stroke:N(x[0]),"stroke-width":H,"stroke-linecap":"round"},K?y?s.graphics.gaugeMeter.animate({arcpath:D,"stroke-width":H},b,"easeIn",J):(D=[n,q,h,0],s.graphics.gaugeMeter.animate({arcpath:D,"stroke-width":0},b,"easeIn",J)):s.graphics.gaugeMeter.attr(C)):
(s.graphics.gaugeMeter=l.arcpath(n,q,h+H/2,P,w).attr({stroke:N(x[0]),"stroke-width":H,"stroke-linecap":"round"}),L&&s.graphics.gaugeMeter.animate({arcpath:D},L,"easeIn")),C={arcpath:D,cursor:p?"pointer":"",stroke:ua,"stroke-width":H,"stroke-linecap":"round",ishot:!0},s.graphics.hotElement?s.graphics.hotElement.attr(C):(C=s.graphics.hotElement=l.arcpath(n,q,h+H/2,A(3.6*G,359.99),u),s.graphics.hotElement.attr({cursor:p?"pointer":"",stroke:ua,"stroke-width":H,"stroke-linecap":"round",ishot:!0})),C=s.graphics.hotElement,
C.data("eventArgs",W).data("groupId",S).hover(a._plotRollOver,a._plotRollOut).tooltip(B),y&&(h+=H+1)},_drawDoughnutCenterLabel:function(a,d,b,c,e,f,g,l,m){var n=this.chart;d=this.config;var q=f||d.lastCenterLabelConfig;f=n.components.paper;var p=n.linkedItems.smartLabel;b=this.components.data[m.index];g={fontFamily:"Verdana",fontSize:"12px",lineHeight:1.2*12+"px",fontWeight:"bold",fontStyle:""};c=1.414*(.5*c-2)-4;var t=1.414*(.5*e-2)-4,s=n.graphics.datalabelsGroup;e=this.graphics.dataLabelContainer;
p.useEllipsesOnOverflow(n.config.useEllipsesWhenOverflow);p.setStyle(g);a=p.getSmartText(a,c,t);e||(e=this.graphics.dataLabelContainer=f.group("datalabel",s));m={x:m.cx,y:m.cy,text:a.text,direction:d.textDirection,opacity:l?0:1,fill:N(b.config.colorArr[0]),"text-bound":q.bgOval?"none":[N({color:q.bgColor,alpha:q.bgAlpha}),N({color:q.borderColor,alpha:q.borderAlpha}),q.borderThickness,q.textPadding,q.borderRadius]};b.graphics.label||(b.graphics.label=f.text(m,e));b.graphics.label.attr(m).css(g);l?
b.graphics.label.animate({opacity:1},100,"easeIn"):b.graphics.label.animate({opacity:0},100,"easeOut")},_plotRollOver:function(){var a=this.data("eventArgs"),d=2*a.radius;a.dataSet._drawDoughnutCenterLabel(a.toolText,300,196,d,d,a.toolText,!1,!0,a)},_plotRollOut:function(){var a=this.data("eventArgs"),d=2*a.radius;a.dataSet._drawDoughnutCenterLabel(a.toolText,300,196,d,d,a.toolText,!1,!1,a)},updateData:function(a,d,b){var c=this.config,e=c.maxValue,f=c.prevMin,g=this.chart;this._setConfigure(a,d);
this.setMaxMin();if(c.maxValue!==e||c.minValue!==f)this.maxminFlag=!0;b&&(g._setAxisLimits(),this.draw())},removeData:function(a,d,b){var c=this.components,e=c.data,f=c.removeDataArr||(c.removeDataArr=[]),g=this.config,l=this.maxminFlag;d=d||1;a=a||0;if(a+d===e.length)this.endPosition=!0;else if(0===a||void 0===a)this.endPosition=!1;e[a]&&(e[a].config.visible=0);b&&this.draw();c.removeDataArr=f=f.concat(e.splice(a,d));b=f.length;for(a=0;a<b;a++)if(f[a]){d=f[a].config;if(d.setValue===g.maxValue||d.setValue===
g.minValue)l=this.maxminFlag=!0;if(l)break}l&&this.setMaxMin()}},"Column"]);n("drawingpad",{standaloneInit:!0,friendlyName:"Drawing Pad",creditLabel:ra,bgColor:"#ffffff",bgAlpha:"100",draw:function(){var a=this.config,d=this.linkedItems.container,b=this.chartInstance,c=this.components,e=c.paper,f=this.get("config","animationObj").transposeAnimDuration,g=c.tooltip;a.width=d.offsetWidth;a.height=d.offsetHeight;this._show();this.config.animationStarted=!0;e?(a={width:d.offsetWidth,height:d.offsetHeight},
f&&e.animate(a,f,"normal"),e.setDimension(a)):(e=c.paper=new y(d,d.offsetWidth,d.offsetHeight),e.setConfig("stroke-linecap","round"));e.tooltip(g.style,g.config.shadow,g.config.constrain);this._createLayers();this._drawBackground();b.annotations?(this._drawAnnotations(),this._drawCreditLabel()):this.setChartMessage()},_createDatasets:function(){}},n.mscartesian);n("pyramid",{friendlyName:"Pyramid Chart",subTitleFontSizeExtender:0,drawAnnotations:!0,standaloneInit:!0,defaultSeriesType:"pyramid",defaultPlotShadow:1,
useSortedData:!1,isPyramid:1,creditLabel:ra,rendererId:"pyramid"},n.funnel);n("realtimestackedcolumn",{isStacked:!0},n.realtimecolumn);n("realtimearea",{defaultDatasetType:"realtimearea",axisPaddingLeft:0,axisPaddingRight:0,applicableDSList:{realtimearea:!0}},n.realtimecolumn);n("realtimestackedarea",{defaultDatasetType:"realtimearea",isStacked:!0,applicableDSList:{realtimearea:!0}},n.realtimearea);n("realtimeline",{defaultDatasetType:"realtimeline",axisPaddingLeft:0,axisPaddingRight:0,applicableDSList:{realtimeline:!0}},
n.realtimecolumn);n("realtimelinedy",{isRealTime:!0,defaultDatasetType:"realtimeline",axisPaddingLeft:0,isDual:!0,axisPaddingRight:0,applicableDSList:{realtimeline:!0},_createAxes:n.msdybasecartesian._createAxes,_setAxisLimits:n.msdybasecartesian._setAxisLimits,_postSpaceManagement:n.msdybasecartesian._postSpaceManagement,_feedAxesRawData:n.msdybasecartesian._feedAxesRawData},n.realtimecolumn)},[3,2,0,"sr2"]]);

View File

@@ -0,0 +1,79 @@
/*
FusionCharts JavaScript Library - ZoomScatter Chart
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
@version 3.11.0
*/
FusionCharts.register("module",["private","modules.renderer.js-zoomscatter",function(){function O(){}var D=this,x=D.hcLib,V=x.parseTooltext,M=x.Raphael,W=x.addEvent,ba=x.removeEvent,P=D.window,X=P.MouseEvent,E=P.document,F=x.BLANKSTRING,y=x.pluck,C=x.pluckNumber,ca=x.getFirstValue,da=x.toRaphaelColor,ea=x.hasSVG,Y=x.isIE,Q=x.getFirstColor,N=x.hasTouch,R="rgba(192,192,192,"+(Y?.002:1E-6)+")",A=Math,K=A.round,z=A.min,B=A.max,S=A.abs,H=A.cos,I=A.sin,Z=A.floor,fa=2*Math.PI,ga=x.getMouseCoordinate,ha=
x.POSITION_BOTTOM,J=x.chartAPI,T=x.HUNDREDSTRING,A=!/fusioncharts\.com$/i.test(P.location.hostname),$,aa,L=function(c,b){var a=ga(b.linkedItems.container,c),d=a.chartX,e=a.chartY,f=b.config,k=f.canvasLeft,h=f.canvasTop,g=f.canvasLeft+f.canvasWidth,f=f.canvasHeight+f.canvasTop;a.insideCanvas=!1;a.originalEvent=c;d>k&&d<g&&e>h&&e<f&&(a.insideCanvas=!0);return a},ia=function(c,b,a){var d;b&&c&&(a||(a={}),a.originalEvent&&(a=a.originalEvent),a.touches&&(a=a.touches[0]),b.dispatchEvent?(X?d=new X(c,{bubbles:!!a.bubbles,
cancelable:!!a.cancelable,clientX:a.clientX||a.pageX&&a.pageX-E.body.scrollLeft-E.documentElement.scrollLeft||0,clientY:a.clientY||a.pageY&&a.pageY-E.body.scrollTop-E.documentElement.scrollTop||0,screenX:a.screenX||0,screenY:a.screenY||0,pageX:a.pageX||0,pageY:a.pageY||0}):E.createEvent&&(d=E.createEvent("HTMLEvents"),d.initEvent(c,!!a.bubbles,!!a.cancelable)),d.eventName=c,d&&b.dispatchEvent(d)):E.createEventObject&&b.fireEvent&&(d=E.createEventObject(),d.eventType=c,d.eventName=c,b.fireEvent("on"+
c,d)))};J("zoomscatter",{standaloneInit:!0,defaultDatasetType:"zoomscatter",applicableDSList:{zoomscatter:!0},friendlyName:"ZoomScatter Chart",isXY:!0,defaultZeroPlaneHighlighted:!1,creditLabel:A,configure:function(){var c,b=this.config;J.scatter.configure.apply(this,arguments);c=this.jsonData.chart;b.stepZoom=1-C(c.stepzoom,25)/100;b.showToolBarButtonToolText=C(c.showtoolbarbuttontooltext,1);b.btnResetChartToolText=y(c.btnresetcharttooltext,"Reset Chart");b.btnZoomOutToolText=y(c.btnzoomouttooltext,
"Zoom out to previous level");b.btnZoomInToolText=y(c.btnzoomintooltext,"<strong>Zoom in</strong><br/>Or double-click on plot to zoom-in");b.btnSelectZoomToolText=y(c.btnselectzoomtooltext,"<strong>Select a region to zoom-in</strong><br/>Click to enable pan mode.");b.btnPanToolText=y(c.btnpantooltext,"<strong>Drag to move across chart</strong><br/>Click to enable select-zoom mode.")},_setAxisLimits:function(){var c=this.jsonData,b=this.components.xAxis,a=y(c.chart.xaxislabelmode,"categories"),c=c.categories&&
c.categories[0],c=(c&&c.category||[]).slice(),d,e=Infinity,f=-Infinity,k;if("auto"===a||0===c.length){J.mscartesian._setAxisLimits.call(this);a=b[0].getLimit();b[0].setAxisData({hasCategory:0});b[0].resetCategoryAxisComponents();for(d=0;d<c.length;d+=1)if(k=c[d].x)k<e&&(e=k),k>f&&(f=k);if(f>a.max||e<a.min)f=B(f,a.max),e=z(e,a.min),b[0].setDataLimit(f,e)}else b[0].resetNumericAxisComponents(),J.scatterBase._setAxisLimits.call(this)},_createAxes:function(){var c=this.components;J.scatter._createAxes.call(this,
arguments);c.yAxis[0].setAxisConfig({animateAxis:!1});c.xAxis[0].setAxisConfig({animateAxis:!1})},_spaceManager:function(){var c,b,a=this.config,d=this.components,e=d.xAxis&&d.xAxis[0];b=d.yAxis&&d.yAxis||[];var f,k,h=d.legend.config.legendPos,g=a.xDepth,l=a.yDepth,m=a.canvasBgDepth,n=a.canvasBaseDepth,t=a.canvasBasePadding,q=d.canvas.config.canvasBorderWidth,p=a.realTimeConfig&&a.realTimeConfig.showRTValue,r=a.borderWidth,s=a.canvasMarginTop,w=a.canvasMarginBottom,u=a.canvasMarginLeft,v=a.canvasMarginRight,
d=a.minCanvasHeight,U=a.minCanvasWidth;c=a.minChartWidth;var y=a.minChartHeight,z=a.height,x=a.width,G=a._initConfig||(a._initConfig={}),B=!1,D=a.origCanvasTopMargin,F=a.origCanvasBottomMargin,C,A,E=[];G.canvasLeft=a.canvasLeft;G.canvasWidth=a.canvasWidth;G.canvasHeight=a.canvasHeight;G.canvasTop=a.canvasTop;G.availableHeight=a.availableHeight;G.availableWidth=a.availableWidth;a.canvasWidth-2*r<c&&(k=(a.canvasWidth-c)/2);a.canvasHeight-2*r<y&&(f=(a.canvasHeight-y)/2);this._allocateSpace({top:f||r,
bottom:f||r,left:k||r,right:k||r});a.origCanvasWidth=a.canvasWidth;a.origCanvasLeft=a.canvasLeft;a.canvasRight=a.canvasLeft+a.canvasWidth;a.origCanvasRight=a.canvasRight;r=0;for(k=b.length;r<k;r++)f=b[r],c=.7*a.availableWidth,c=f&&f.placeAxis(c)||{},E.push({axisIndex:r,spaceTaken:c}),f&&this._allocateSpace(c);b=.7*a.canvasHeight;this._manageActionBarSpace&&this._allocateSpace(this._manageActionBarSpace(b));this._manageLegendSpace(void 0);l&&(this._allocateSpace({bottom:l}),a.shift=g+t+n);m&&this._allocateSpace({right:m});
a.canvasWidth-2*q<U&&(A=(a.canvasWidth-U)/2);this._allocateSpace({left:A||q,right:A||q});U>x-u-v&&(l=a.canvasWidth-U,g=u+v,u=a.canvasMarginLeft=l*u/g,v=a.canvasMarginRight=l*v/g);u=u>a.canvasLeft?u-a.canvasLeft:0;this._allocateSpace({left:u,right:v>x-a.canvasRight?v+a.canvasRight-x:0});b=h===ha?.6*a.canvasHeight:.6*a.canvasWidth;this._manageChartMenuBar(b);b=.2*a.availableHeight;this._allocateSpace(this._getSumValueSpace(b));b=.3*a.availableHeight;a.origCanvasHeight=a.canvasHeight;a.canvasBottom=
a.canvasTop+a.canvasHeight;a.origCanvasBottom=a.canvasBottom;a.origCanvasTop=a.canvasTop;a.realtimeEnabled&&(p?this._allocateSpace(this._realTimeValuePositioning(b)):this._hideRealTimeValue());b=.6*a.availableHeight;a.xAxisSpaceAllocation=h=e&&e.placeAxis(b);e&&this._allocateSpace(h);this._getDSspace&&this._allocateSpace(this._getDSspace(.4*a.canvasWidth));b=.3*a.availableHeight;this._manageScrollerPosition&&this._manageScrollerPosition(b);a.canvasHeight-2*q<d&&(C=(a.canvasHeight-d)/2);this._allocateSpace({top:C||
q,bottom:C||q});this._allocateSpace({bottom:n});d>z-s-w&&(B=!0,l=a.canvasHeight-d,g=s+w,s=a.canvasMarginTop=l*s/g,w=a.canvasMarginBottom=l*w/g);e=s>a.canvasTop?s-a.canvasTop:0;n=w>z-a.canvasBottom?w+a.canvasBottom-z:0;this._allocateSpace({top:e,bottom:n});B&&(g=D+F,B=a.canvasHeight,B>d&&(l=B-d,e=l*D/g,n=l*F/g),this._allocateSpace({top:e,bottom:n}));a.actualCanvasMarginTop=e;a.actualCanvasMarginLeft=u},_createToolBox:function(){var c,b,a,d,e,f,k,h,g,l=this,m=l.config;d=l.components;c=d.chartMenuBar;
g=m.showToolBarButtonToolText;var n=m.stepZoom;c&&c.drawn||(J.mscartesian._createToolBox.call(l),c=d.tb,b=c.graphics||(c.graphics={}),a=c.getAPIInstances(c.ALIGNMENT_HORIZONTAL),a=a.Symbol,d=d.chartMenuBar.componentGroups[0],e=b.zoomInButton=(new a("zoomInIcon",void 0,c.idCount++,c.pId)).attachEventHandlers({click:function(){l.zoom(n)},tooltext:g&&m.btnZoomInToolText||F}),f=b.zoomOutButton=(new a("zoomOutIcon",void 0,c.idCount++,c.pId)).attachEventHandlers({click:function(){var a=m.viewPortHistory;
1<a.length&&(a=a.slice(-2,-1)[0],l.updateVisual(a.x,a.y,a.scaleX,a.scaleY))},tooltext:g&&m.btnZoomOutToolText||F}),k=b.resetButton=(new a("resetIcon",void 0,c.idCount++,c.pId)).attachEventHandlers({click:function(){var a=m.viewPortConfig,b=l.graphics;1<m.viewPortHistory.length&&(a.isReset=!0,l.zoomSelection(0,0,m.canvasWidth,m.canvasHeight),m.viewPortHistory.splice(1),b.trackerGroup.attr({cursor:"default"}),l.updateButtonVisual(),l.updateSelectionBox(0,0,0,0));D.raiseEvent("zoomReset",{},l.chartInstance,
[l.chartInstance.id])},tooltext:g&&m.btnResetChartToolText||F}),h=b.toggleZoomInButton=(new a("zoomModeIcon",void 0,c.idCount++,c.pId)).attachEventHandlers({click:function(){l.toogleDragPan(!0)},tooltext:g&&m.btnSelectZoomToolText||F}),g=b.togglePanButton=(new a("panModeIcon",void 0,c.idCount++,c.pId)).attachEventHandlers({click:function(){l.toogleDragPan(!0)},tooltext:g&&m.btnPanToolText||F}),d.addSymbol(g,!0),d.addSymbol(h,!0),d.addSymbol(k,!0),d.addSymbol(f,!0),d.addSymbol(e,!0))},_createLayers:function(){var c=
this.graphics,b=this.components.paper;J.scatter._createLayers.call(this);!c.imageContainer&&(c.imageContainer=b.group("dataset-orphan",c.datasetGroup));this.__preDraw()},_dist:function(c,b){var a=this.components,d;d=a.xAxis[0];a=a.yAxis[0];if(c&&b)return d=(c.x-b.x)*d.getPVR(),a=(c.y-b.y)*a.getPVR(),Math.sqrt(Math.pow(d,2)+Math.pow(a,2))},__preDraw:function(){var c=this.graphics,b=c.imageContainer,a=this.config,d=a.canvasLeft,e=a.canvasTop,f=a.canvasWidth,k=a.canvasHeight,h=this.jsonData.chart,g=
this.linkedItems,g=g.eventListeners||(g.eventListeners=[]),l=this.linkedItems.container,m=this.components.paper;a.updateAnimDuration=500;b.transform("t"+d+","+e);b.attr({"clip-rect":d+","+e+","+f+","+k});a.status="zoom";a.maxZoomLimit=C(h.maxzoomlimit,1E3);a.viewPortHistory=[{scaleX:1,scaleY:1,x:0,y:0}];!c.trackerElem&&(c.trackerElem=m.rect(d,e,f,k,0,c.trackerGroup).attr({fill:R,stroke:R}));ba(l,N?"touchstart":"mousemove",this.searchMouseMove);g.push(W(l,"touchstart mousemove",this.searchMouseMove,
this));this.zoomPanManager(b)},searchMouseMove:function(c){var b,a,d,e=c.data,f=e.config,k=f.viewPortConfig;a=e.components;var h=a.xAxis[0],g=a.yAxis[0];e.linkedItems.container&&!f.isDragging&&((b=L(c,e))&&b.insideCanvas?(a=f.canvasTop,d=f.canvasLeft,k.lastMouseCoordinate={x:Number(h.getValue(b.chartX-d)),y:Number(g.getValue(b.chartY-a))},clearTimeout(k.neighbourSearchTimer),f.lastMouseEvent=c,k.neighbourSearchTimer=setTimeout(function(){f.isDragging||e._bestNeighbour(k.lastMouseCoordinate)},100)):
e.highlightPoint(!1))},updateSelectionBox:function(c,b,a,d){var e=this.config,f=this.graphics,k=this.components.paper,h=e.viewPortConfig,g=e.cursor,l=f.selectionBox,m=e.canvasRight,n=e.canvasLeft,t=e.canvasTop,q=e.canvasBottom,p=c<a?c:a,r=b<d?b:d,s=c>a?c:a,w=b>d?b:d,u=a-c,v=b-d,g=g?0<u&&0<v?"ne-resize":0>u&&0<v?"nw-resize":0>u&&0>v?"sw-resize":0<u&&0>v?"se-resize":"default":"default",p=p<n?n:p>m?m:p,r=r<t?t:r>q?q:r,u=c===a&&b===d?0:(s>m?m:s<n?n:s)-p,v=c===a&&b===d?0:(w>q?q:w<t?t:w)-r;l?l.attr({x:p,
y:r,width:u,height:v,cursor:g}):f.selectionBox=k.rect(p,r,u,v).attr({"stroke-width":1,stroke:"red",fill:"#00FF00",opacity:.2,cursor:g});f.trackerGroup.attr({cursor:g});e.cursor=g;h.selectionDimensions||(h.selectionDimensions={startX:0,endX:0,startY:0,endY:0});h.selectionDimensions.startX=c;h.selectionDimensions.endX=b;h.selectionDimensions.startY=a;h.selectionDimensions.endY=d},getValue:function(c){var b=this.config,a=this.components,d=b.viewPortConfig;c=this.getOriginalPositions(c.x,c.y,c.x,c.y);
var e=a.xAxis[0].config.axisRange,a=a.yAxis[0].config.axisRange,f=e.min,k=a.max;return{x:f+(c[0]-b.canvasLeft)/(b.canvasWidth*d.scaleX/(e.max-f)),y:k-(c[1]-b.canvasTop)/(b.canvasHeight*d.scaleY/(k-a.min))}},_getTouchViewPort:function(c,b,a){var d,e;e=this.config;var f=e.canvasLeft,k=e.canvasTop;d=e.canvasWidth;e=e.canvasHeight;var h=z(c[0].chartX,c[1].chartX)-f,g=z(c[0].chartY,c[1].chartY)-k,l=Math.abs(c[1].chartX-c[0].chartX);c=Math.abs(c[1].chartY-c[0].chartY);var f=z(b[0].chartX,b[1].chartX)-f,
k=z(b[0].chartY,b[1].chartY)-k,m=Math.abs(b[1].chartX-b[0].chartX),n=Math.abs(b[1].chartY-b[0].chartY);b=m/l*a.scaleX;l=n/c*a.scaleY;h=a.x+h/a.scaleX-f/b;a=a.y+g/a.scaleY-k/l;h=0>h?0:h;a=0>a?0:a;l=1>l?1:l;b=1>b?1:b;d-=d/b;e-=e/l;return{x:h>d?d:h,y:a>e?e:a,scaleX:b,scaleY:l}},getOriginalPositions:function(c,b,a,d){var e=this.config,f=e.viewPortConfig,k=f.scaleX,h=f.scaleY,g=f.x,f=f.y,l=z(c,a);c=B(c,a);a=z(b,d);b=B(b,d);c=c>e.canvasWidth?e.canvasWidth:c;b=b>e.canvasHeight?e.canvasHeight:b;l=0>l?0:l;
a=0>a?0:a;return[g+l/k,f+a/h,(c-l)/k,(b-a)/h]},zoomSelection:function(c,b,a,d){var e=this.config;a&&d&&(a=Math.abs(e.canvasWidth/a),d=Math.abs(e.canvasHeight/d),this.updateVisual(c,b,a,d))},toogleDragPan:function(c){var b=this.config,a=b.status;c&&(b.status="zoom"===a?"pan":"zoom",D.raiseEvent("zoomModeChanged",{panModeActive:b.status},this.chartInstance,[this.chartInstance.id]));this.updateButtonVisual()},updateManager:function(c){var b,a=this.components.dataset,d=a.length;for(b=0;b<d;b+=1)a[b].draw(c);
c||this._drawQuadrant()},zoomPanManager:function(){var c,b=[],a=[],d=this,e=d.config,f=d.graphics,k=d.components,h=k.eventListeners||(k.eventListeners=[]),g=d.viewPortConfig,l=!1,m=0,n,t={},q=function(a){var b=a.chartX,c=a.chartY,d=e.canvasLeft,f=e.canvasTop,g=e.canvasRight,h=e.canvasBottom;b<d&&(a.chartX=B(b,d));b>g&&(a.chartX=z(b,g));c<f&&(a.chartY=B(c,f));c>h&&(a.chartY=z(c,h))},p={start:function(a){g=e.viewPortConfig;N=a.touches?!0:!1;b[0]=L(a,d);d.updateSelectionBox(0,0,0,0);N&&(l=!1,c=a.touches.length,
2===c&&(l=!0,t.x=g.x,t.y=g.y,t.scaleX=g.scaleX,t.scaleY=g.scaleY,b[0]=L(a.touches.item(0),d),b[1]=L(a.touches.item(1),d)));e.isDragging=!1;"pan"===e.status&&(e.panStartX=g.x,e.panStartY=g.y,b[0].insideCanvas&&f.trackerGroup.attr({cursor:"move"}))},on:function(c){var h,m,n,q;n=e.panStartX;var p=e.panStartY;h=g.scaleX;m=g.scaleY;var z=k.xAxis[0],x=k.yAxis[0];N=c.touches?!0:!1;a[0]=L(c,d);a[0].insideCanvas?"pan"===e.status&&f.trackerGroup.attr({cursor:"move"}):f.trackerGroup.attr({cursor:"default"});
N&&c&&(q=c.touches.length,2===q?(l=!0,a[0]=L(c.touches.item(0),d),a[1]=L(c.touches.item(1),d)):l=!1);!e.isDragging&&(!N||2<S(a[0].chartX-b[0].chartX)||2<S(a[0].chartY-b[0].chartY))&&(e.isDragging=!0,d.highlightPoint(!1),"zoom"===e.status&&(b[0].pointValue=d.getValue({x:b[0].chartX,y:b[0].chartY}),D.raiseEvent("selectionStart",{chartX:b[0].chartX,chartY:b[0].chartY,pageX:b[0].pageX,pageY:b[0].pageY,selectionTop:b[0].chartX+e.canvasLeft,selectionLeft:b[0].chartY+e.canvasTop,selectionWidth:0,selectionHeight:0,
startXVAlue:b[0].pointValue.x,startYVAlue:b[0].pointValue.y},d.chartInstance,[d.chartInstance.id])));if(e.isDragging)if(l){if(b[0].insideCanvas||b[1].insideCanvas)n=d._getTouchViewPort(b,a,t),d.updateVisual(n.x,n.y,n.scaleX,n.scaleY,!0)}else"zoom"===e.status?d.updateSelectionBox(b[0].chartX,b[0].chartY,a[0].chartX,a[0].chartY):"pan"!==e.status||1===h&&1===m||!b[0].insideCanvas||(c=b&&a[0].chartX-b[0].chartX,q=b&&a[0].chartY-b[0].chartY,n-=c/h,p-=q/m,h=e.canvasWidth*(h-1)/h,m=e.canvasHeight*(m-1)/
m,g.x=n>h?h:0>n?0:n,g.y=p>m?m:0>p?0:p,d.updateManager(),z.draw(),x.draw())},end:function(c){var g=L(c,d),h=e.canvasLeft,k=e.canvasTop,p;p=e.canvasWidth/4;var z=e.canvasHeight/4,g=isNaN(g.chartX)||isNaN(g.chartY)?a[0]||b[0]:g;if(e.isDragging){if(l){if(b[0].insideCanvas||b[1].insideCanvas)c=d._getTouchViewPort(b,a,t),d.updateVisual(c.x,c.y,c.scaleX,c.scaleY);l=!1}else"zoom"===e.status&&(c=g,p=b[0],q(p),q(c),k=d.getOriginalPositions(p.chartX-h,p.chartY-k,c.chartX-h,c.chartY-k))&&(c.pointValue=d.getValue({x:c.chartX,
y:c.chartY}),D.raiseEvent("selectionEnd",{chartX:c.chartX,chartY:c.chartY,pageX:c.pageX,pageY:c.pageY,selectionTop:c.chartX+e.canvasLeft,selectionLeft:c.chartY+e.canvasTop,selectionWidth:Math.abs(c.chartX-p.chartX),selectionHeight:Math.abs(c.chartY-p.chartY),startXVAlue:p.pointValue.x,startYVAlue:p.pointValue.y,endXValue:c.pointValue.x,endYValue:c.pointValue.y},d.chartInstance,[d.chartInstance.id]),p.chartX!==c.chartX&&p.chartY!==c.chartY&&d.zoomSelection(k[0],k[1],k[2],k[3]),d.updateSelectionBox(0,
0,0,0));e.isDragging=!1;c=a[0]||b[0];c.data=d;d.searchMouseMove(c)}else g.insideCanvas&&(m+=1,setTimeout(function(){m=0;n=void 0},500),2===m?(c&&c.touches?!0:!1)===n&&(h=g.chartX-h,k=g.chartY-k,k=d.getOriginalPositions(h-p,k-z,h+p,k+z),d.zoomSelection(k[0],k[1],k[2],k[3]),c.preventDefault()):n=c&&c.touches?!0:!1);f.trackerGroup.attr({cursor:"default"})}};h.push(W(d.linkedItems.container,"pointerdrag",function(a){p[a.state](a.originalEvent)}))},_drawDataset:function(){var c,b=this.components.dataset,
a=b.length;for(c=0;c<a;c+=1)b[c]._deleteGridImages(),b[c].graphics._grid={};this.updateVisual()},updateVisual:function(c,b,a,d,e){var f,k,h,g,l;f=this.config;var m=this.components,n=f.viewPortConfig;l=f.canvasWidth;var t=f.canvasHeight,q=l,p=t,r=f.viewPortHistory,p=r.slice(-1)[0],s=[],s=f.status,w=f._initConfig;k=m.xAxis[0];g=m.yAxis[0];h=this.graphics;m=(m=m.quadrant)&&m.graphics.container;q=f.maxZoomLimit;n.x=isNaN(c)?c=p.x:c;n.y=isNaN(b)?b=p.y:b;n.scaleX=a||(a=p.scaleX);n.scaleY=d||(d=p.scaleY);
a>q&&(n.x=c=z(c,l-l/q),n.scaleX=a=q);d>q&&(n.y=b=z(b,t-t/q),n.scaleY=d=q);if(e)this.updateManager(e);else for(1<a||1<d?("zoom"===s&&this.toogleDragPan(!0),a>=p.scaleX||d>=p.scaleY?(r.push({scaleX:a,scaleY:d,x:c,y:b}),s=["zoomed","zoomIn"]):(r.pop(),p=r.slice(-1)[0],n.x=p.x,n.y=p.y,n.scaleX=p.scaleX,n.scaleY=p.scaleY,s=["zoomed","zoomOut"])):(1<r.length&&r.pop(),"pan"===s&&this.toogleDragPan(!0),s=["zoomed","zoomOut"]),this.toogleDragPan(),q=f.canvasWidth,p=f.canvasHeight,c&&(c=n.x*=q/l),b&&(n.y*=
p/t),f.canvasLeft=w.canvasLeft,f.canvasWidth=w.canvasWidth,f.canvasHeight=w.canvasHeight,f.canvasTop=w.canvasTop,f.availableHeight=w.availableHeight,f.availableWidth=w.availableWidth,this._spaceManager(),this._postSpaceManagement(),this.updateManager(),k.draw(),g.draw(),this._drawCanvas(),l={"clip-rect":f.canvasLeft+","+f.canvasTop+","+f.canvasWidth+","+f.canvasHeight},f.viewPortConfig&&this.graphics.imageContainer.attr({x:f.canvasLeft,y:f.canvasRight}),h.imageContainer.attr(l).transform("T"+f.canvasLeft+
","+f.canvasTop),h.tracker&&h.tracker.attr(l),m&&m.attr(l),f=k.getValue(0),k=k.getValue(q),h=g.getValue(0),g=g.getValue(p),0===arguments.length&&(s=F),l=0;l<s.length;l+=1)"zoomed"===s[l]&&D.raiseEvent("zoomed",{level:r.length,startX:f,startY:h,endX:k,endY:g},this.chartInstance,[this.chartInstance.id]),"zoomIn"===s[l]?D.raiseEvent("zoomedIn",{level:r.length,startX:f,startY:h,endX:k,endY:g},this.chartInstance,[this.chartInstance.id]):"zoomOut"!==s[l]||n.isReset||D.raiseEvent("zoomedOut",{level:r.length,
startX:f,startY:h,endX:k,endY:g},this.chartInstance,[this.chartInstance.id]);this.highlightPoint(!1);n.isReset=!1},getFillColor:function(c,b){b=parseFloat(b/100);0>b?b=0:1<b&&(b=1);c||(c="#FFFFFF");if(Y&&!ea)return b?c:"transparent";c=c.replace(/^#?([a-f0-9]+)/ig,"$1");c=x.graphics.HEXtoRGB(c);c[3]=b.toString();return"rgba("+c.join(",")+")"},_bestNeighbour:function(c){var b=this.components,a=this.config,d=b.xAxis[0],e=b.yAxis[0],f=this.jsonData.chart,k=a.canvasLeft,h=a.canvasTop,g,l,m,n,t,q,p,r,s,
w,u,v;v=b.numberFormatter;s=b.dataset;for(g=s.length-1;0<=g;--g)if(b=s[g],u=b.config,l=u.showHoverEffect,r=u.showTooltip,b.components.kDTree&&b.visible&&(n=b.getElement(c),b=this._dist(c,n),!t||b<q))if(m=g,t=n,q=b,p=s[m]&&u.zoomedRadius||0,q<=p)break;q<=B(p+2,5)?(c=d.getPixel(t.x)-k,h=e.getPixel(t.y)-h,k=y(t.tooltext,u.plotToolText),b=s[m],u=b.config,s=u.tooltip.toolTipSepChar,q=u.tooltip.seriesNameInToolTip,p=t.x,g=t.y,t&&(w=v.yAxis(g),v=v.xAxis(p),w=Number(r)?void 0!==k?V(k,[4,5,6,7,8,9,10,11],
{yaxisName:e.getAxisData("axisName"),xaxisName:d.getAxisData("axisName"),yDataValue:w,xDataValue:v},t,f,b.config):(q?u.seriesname?u.seriesname+s:"":"")+"x:"+v+s+"y:"+w:F),a.lastHoveredPoint!==t&&this.highlightPoint(l,c,h,t,m,w)):this.highlightPoint(!1)},highlightPoint:function(c,b,a,d,e,f){var k=this,h=k.config,g=k.components,l=k.graphics,m=g.paper,n=l.tracker,t=(g=g.dataset[e])&&g.config;e=g&&t.zoomedRadius||0;var q=g&&t.hoverCosmetics,g=q&&q.fill,t=q&&q.borderColor,q=q&&q.borderThickness,p={},p=
function(a){x.plotEventHandler.call(this,k,a)},r=function(a){x.plotEventHandler.call(this,k,a,"dataplotRollover")},s=function(a){x.plotEventHandler.call(this,k,a,"dataplotRollout")},w=d&&d.link;n||(n=l.tracker=m.circle(0,0,0,l.trackerGroup).attr({"clip-rect":h.canvasLeft+","+h.canvasTop+","+h.canvasWidth+","+h.canvasHeight}).click(p).trackTooltip(!0).hover(r,s));d&&n.data("eventArgs",{x:d.x,y:d.y,tooltip:f,link:w});h.lastHoveredPoint=d;p=Number(c)?{r:e,fill:g,stroke:t,"stroke-width":q}:{r:e,fill:R,
stroke:R,"stroke-width":0};p.cursor=w?"pointer":"";n.attr(p).tooltip(f).transform("t"+(b+h.canvasLeft)+","+(a+h.canvasTop));d&&ia("mouseover",n&&n.node,h.lastMouseEvent)},zoom:function(c){var b,a,d=this.config,e=d.viewPortConfig;b=e.x;a=e.y;var f=d.canvasWidth,d=d.canvasHeight,k=f/e.scaleX,h=d/e.scaleY,e=k*c;c*=h;e=e>f?f:e;c=c>d?d:c;b=b+k/2-e/2;a=a+h/2-c/2;b=0>b?0:b;a=0>a?0:a;b=b+e>f?f-e:b;a=a+c>d?d-c:a;this.zoomSelection(b,a,e,c)},updateButtonVisual:function(){var c,b,a,d;a=this.config;var e=this.components.tb.graphics;
c=a.status;var f;1>=a.viewPortHistory.length?(a=["zoomOutButton","resetButton","togglePanButton"],d=["zoomInButton"],f="toggleZoomInButton"):(d=["resetButton","zoomOutButton","zoomInButton"],a=[],"zoom"===c?(d.push("togglePanButton"),f="toggleZoomInButton"):"pan"===c&&(d.push("toggleZoomInButton"),f="togglePanButton"));for(c=0;c<a.length;c+=1)b=a[c],e[b].node.attr({config:{hover:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3",cursor:"default"},normal:{fill:"#FFFFFF",stroke:"#E3E3E3","stroke-width":1,
cursor:"default"},disable:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3","stroke-opacity":1,cursor:"default"},pressed:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3",cursor:"default"}},fill:["#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF",!0],"button-disabled":!1,stroke:"#E3E3E3","stroke-opacity":1});for(c=0;c<d.length;c+=1)b=d[c],e[b].node.attr({config:{hover:{fill:"#FFFFFF","stroke-width":1,stroke:"#aaaaaa",cursor:"pointer"},normal:{fill:"#FFFFFF",stroke:"#C2C2C2","stroke-width":1,cursor:"pointer"},
disable:{fill:"#FFFFFF","stroke-width":1,stroke:"#E3E3E3","stroke-opacity":1,cursor:"pointer"},pressed:{fill:"#EFEFEF","stroke-width":1,stroke:"#C2C2C2",cursor:"pointer"}},"button-disabled":!1,fill:["#FFFFFF","#FFFFFF","#FFFFFF","#FFFFFF",!0],stroke:"#C2C2C2","stroke-opacity":1});e[f].node.attr({config:{hover:{fill:"#EFEFEF","stroke-width":1,stroke:"#EFEFEF",cursor:"default"},normal:{fill:"#EFEFEF",stroke:"#E3E3E3","stroke-width":1,cursor:"default"},disable:{fill:"#E6E6E6","stroke-width":1,stroke:"#E3E3E3",
"stroke-opacity":1,cursor:"default"},pressed:{fill:"#EFEFEF","stroke-width":1,stroke:"#E3E3E3",cursor:"default"}},"button-disabled":!1,fill:["#EFEFEF","#EFEFEF","#EFEFEF","#EFEFEF",!0],stroke:"#E3E3E3","stroke-opacity":1})}},J.scatterBase);FusionCharts.register("component",["dataset","zoomscatter",{type:"zoomscatter",configure:function(){var c,b,a,d,e,f,k;f=this.chart;d=f.jsonData.chart;var h=f.getFillColor,g=this.JSONData;this.__base__.configure.call(this);f=this.config;b=this.components;c=y(g.anchorbordercolor,
d.anchorbordercolor);f.anchorBorderThickness=y(g.anchorborderthickness,d.anchorborderthickness,c?1:0);b.kDTree=new O;f.chunkSize=Math.floor(z((g.data||[]).length/5,5E4));c=f.staticRadius=C(d.staticradius,0);f.radius=C(g.radius,g.anchorradius,d.radius,d.anchorradius,c?3:.5);k=f.showHoverEffect;c=Q(y(g.plotfillhovercolor,g.hovercolor,d.plotfillhovercolor,d.hovercolor,f.anchorBgColor));b=y(g.plotfillhoveralpha,g.hoveralpha,d.plotfillhoveralpha,d.hoveralpha,T);a=Q(y(g.plotfillhovercolor,g.hovercolor,
d.plotfillhovercolor,d.hovercolor,c));e=y(g.plotfillhoveralpha,g.hoveralpha,d.plotfillhoveralpha,d.hoveralpha,T);d=C(g.borderhoverthickness,d.borderhoverthickness,1);f.hoverCosmetics={showHoverEffect:k,fill:h(c,b),borderColor:h(a,e),borderThickness:d};f.tooltip={toolTipVisible:f.showTooltip,seriesNameInToolTip:f.seriesNameInTooltip,toolTipSepChar:f.toolTipSepChar};f.lastViewPort={}},draw:function(c){var b,a,d;b=this.graphics;d=this.chart;a=d.components;var e=d.graphics.imageContainer,f=a.paper;d=
d.config;var k=this.visible,h=d.viewPortConfig,g=this.config,l=g.lastViewPort||{},m=!1;b.container||(b.container=f.group("grid-container",e));k&&this._conatinerHidden?this.show():k||this._conatinerHidden||this.hide();if(c)this._pixelatedDraw();else{if(l.scaleX!==h.scaleX||l.scaleY!==h.scaleY)l.scaleX=h.scaleX,l.scaleY=h.scaleY,c=a.xAxis[0],b=a.yAxis[0],a=c.getPVR(),c=b.getPVR(),d=B(g.zoomedRadius=z(g.staticRadius?g.radius:g.radius*z(h.scaleX,h.scaleY),d.canvasWidth/2,d.canvasHeight/2),2),this.components.kDTree._setSearchLimit(d/
a,d/c),this._deleteGridImages(),this.graphics._grid={},m=!0;this._gridDraw(m)}},_pixelatedDraw:function(){var c,b,a,d,e,f=this.chart.config;a=this.config;d=this.graphics;var k=a.drawLine,h=a.lastViewPort||{},g=h.scaleX,l=h.scaleY;e=f.viewPortConfig;var m=e.scaleX,n=e.scaleY,h=this.graphics._grid||(this.graphics._grid=[]),g=m/g,l=n/l,n=f.canvasWidth*g,f=f.canvasHeight*l;a=a._batchDarwTimers;d=d.container;clearTimeout(this.timer);if(a&&a.length)for(;a.length;)clearTimeout(a.shift());d.transform("t"+
K(-e.x*e.scaleX)+","+K(-e.y*e.scaleY));for(c in h)if(e=h[c])for(b in e)(d=e[b])&&d.drawState&&(a=d.image,a.attr({x:d.xPixel*g,y:d.yPixel*l,width:n,height:f}),k&&(a=d.lineImage,a.attr({x:d.xPixel*g,y:d.yPixel*l,width:n,height:f})))},_deleteGridImages:function(){var c,b,a,d,e;b=this.config;var f=this.graphics,k=f._imagePool||(f._imagePool=[]),h=f._canvasPool||(f._canvasPool=[]),g=f._lineImagePool||(f._lineImagePool=[]),l=f._lineCanvasPool||(f._lineCanvasPool=[]),m=f._grid||[];if((b=b._batchDarwTimers)&&
b.length)for(;b.length;)clearTimeout(b.shift());for(a in m)if(e=m[a])for(d in e)(b=e[d])&&b.drawState&&(c=b.image,c.attr({src:"",width:0,height:0}),k.push(c),delete b.image,c=b.canvas,h.push(c),delete b.canvas,delete b.ctx,c=b.lineImage)&&(c.attr({src:"",width:0,height:0}),g.push(c),delete b.lineImage,c=b.lineCanvas,l.push(c),delete b.lineCanvas,delete b.lineCtx);delete f._grid},_gridDraw:function(c){var b=this,a=b.graphics,d=b.config,e=b.chart.config.viewPortConfig;clearTimeout(d.timer);a.container.transform("t"+
K(-e.x*e.scaleX)+","+K(-e.y*e.scaleY));c?b._gridManager():d.timer=setTimeout(function(){b._gridManager()},10)},_gridManager:function(){var c,b,a,d,e,f,k,h,g,l=this,m=l.config,n=l.graphics._grid,t=m._drawGrid||(m._drawGrid=[]),q=l.chart,p=q.config,r=q.components;e=p.viewPortConfig;f=e.scaleX;var s=e.scaleY;k=Math.ceil(s);d=Math.ceil(f);var q=p.canvasWidth,p=p.canvasHeight,w=r.xAxis[0],u=r.yAxis[0],v=w.config,x=u.config,r=v.axisRange.min,v=v.axisRange.max,y=x.axisRange.min,x=x.axisRange.max,C=(v-r)/
f,A=(x-y)/s;b=m.radius*z(e.scaleX,e.scaleY)+m.plotCosmetics.borderWidth;w=S(b/(q*e.scaleX/(w.max-w.min)));u=S(b/(p*e.scaleY/(u.max-u.min)));b=q/f;g=p/s;c=z(1,b/10,g/10);var s={},G=[];f=e.x+c;b=e.x-c+b;h=e.y+c;c=e.y+g-c;e=l._getFocusedGrid(f,h);g=s[e.row]||(s[e.row]={});g[e.col]=!0;e=l._getFocusedGrid(b,h);g=s[e.row]||(s[e.row]={});g[e.col]=!0;e=l._getFocusedGrid(b,c);g=s[e.row]||(s[e.row]={});g[e.col]=!0;e=l._getFocusedGrid(f,c);g=s[e.row]||(s[e.row]={});g[e.col]=!0;f=l._getFocusedGrid();e=f.row;
f=f.col;b=B(e-1,0);e=z(e+1,k-1);k=B(f-1,0);f=z(f+1,d-1);d=x-b*A;for(h=b;h<=e;h+=1){n[h]||(n[h]={});b=r+k*C;for(g=k;g<=f;g+=1)c=n[h][g],c||(a=B(d-A,y),c=z(b+C,v),c=n[h][g]={xPixel:g*q,yPixel:h*p,xMinValue:b,yMinValue:a,xMaxValue:c,yMaxValue:d,drawState:0,xMinWPad:B(b-w,r),yMinWPad:B(a-u,y),xMaxWPad:z(c+w,v),yMaxWPad:z(d+u,x)}),c.drawState||(s[h]&&s[h][g]?t.push({row:h,col:g}):G.push({row:h,col:g})),b+=C;d-=A}(t.length||G.length)&&l._drawGridArr(function(){m._drawGrid=G;l._drawGridArr()})},_getFocusedGrid:function(c,
b){var a=this.chart.config,d=a.viewPortConfig,e=a.canvasWidth/d.scaleX,a=a.canvasHeight/d.scaleY,f=isNaN(c)?d.x+e/2:c,d=isNaN(b)?d.y+a/2:b;return{row:Z(d/a),col:Z(f/e)}},_drawGridArr:function(c){var b,a,d,e,f=this.chart,k=f.config,h=k.viewPortConfig,g=this.config,l=g.drawLine,m=g._drawGrid,n=[],t=this.graphics.container,f=f.components.paper,q=k.canvasWidth,k=k.canvasHeight,p=this.graphics._grid,r=this.graphics._imagePool||[],s=this.graphics._canvasPool||[],w=this.graphics._lineImagePool||[],u=this.graphics._lineCanvasPool||
[],v=g.plotCosmetics,h=g.radius*z(h.scaleX,h.scaleY);if(m.length){for(;m.length;)b=m.shift(),b=p[b.row][b.col],2!==b.drawState&&(b.drawState=2,l&&(b.lineImage=w.length?w.shift():f.image("",t),b.lineImage.attr({x:b.xPixel,y:b.yPixel,width:q,height:k}),b.lineCanvas=s.length?d=u.shift():d=P.document.createElement("canvas"),d.setAttribute("width",q),d.setAttribute("height",k),e=b.lineCtx=d.getContext("2d"),e.fillStyle=v.fillStyle,e.strokeStyle=v.lineStrokeStyle,e.lineWidth=v.lineWidth),b.image=r.length?
r.shift():f.image("",t),b.image.attr({x:b.xPixel,y:b.yPixel,width:q,height:k}),b.canvas=s.length?a=s.shift():a=P.document.createElement("canvas"),a.setAttribute("width",q),a.setAttribute("height",k),e=b.ctx=a.getContext("2d"),1>h?(e.strokeStyle=v.fillStyle,e.lineWidth=.5):(e.fillStyle=v.fillStyle,e.strokeStyle=v.strokeStyle,e.lineWidth=v.borderWidth),n.push(b));g._batchDrawindex=this.JSONData.data&&this.JSONData.data.length-1||0;this._drawGridArrBatch(n,c,!g.animation.enabled)}else c&&c()},_drawGridArrBatch:function(c,
b,a){var d,e,f,k,h,g,l,m,n,t,q,p,r,s,w,u,v=this;g=v.config;var x=v.chart.components;u=v.config;var z=u.drawLine;m=u.plotCosmetics;k=u._batchDrawindex;f=v.components.data;h=k-u.chunkSize;var y=x.yAxis[0],B=u.zoomedRadius,x=x.xAxis[0].getPVR(),y=y.getPVR(),C=g.showRegressionLine,A=u._store||[],D=m.lineWidth||1>B;C&&(s=g.regLineColor,w=g.regressionLineThickness);for(m=0;m<c.length;m+=1)c[m].ctx.beginPath(),z&&c[m].lineCtx.beginPath();for(h=0>=h?0:h;k>=h;--k)if((q=f[k]&&f[k].config.setValue)&&!isNaN(q.x)&&
!isNaN(q.y))for(m=0;m<c.length;m+=1)(d=c[m],p=d.xMinValue,r=d.yMaxValue,q.x<d.xMinWPad||q.x>d.xMaxWPad||q.y<d.yMinWPad||q.y>d.yMaxWPad||(n=d.ctx,t=d.lineCtx,d=K((q.x-p)*x),e=K((r-q.y)*y),(l=A[d])||(l=A[d]={}),l[e]))||(l[e]=!0,z&&(l=0<=k-1&&f[k-1].config.setValue)&&(t.moveTo(K((l.x-p)*x),K((r-l.y)*y)),t.lineTo(d,e)),1>B?(n.moveTo(d,e),n.lineTo(d+1,e)):(n.moveTo(d+B,e),n.arc(d,e,B,0,fa)));for(m=0;m<c.length;m+=1)d=c[m],n=d.ctx,n.fill(),D&&n.stroke(),n.closePath(),z&&(t=d.lineCtx,t.fill(),D&&t.stroke(),
t.closePath());u._batchDrawindex=k;if(0<=k){if(!a)for(m=0;m<c.length;m+=1)n=c[m].image,f=c[m].canvas,n.attr({src:f.toDataURL("image/png")}),u.drawLine&&(s=c[m].lineImage,w=c[m].lineCanvas,s.attr({src:w.toDataURL("image/png")}));(u._batchDarwTimers||(u._batchDarwTimers=[])).push(setTimeout(function(){v.chart&&v._drawGridArrBatch(c,b,a)},0))}else{delete u._store;if(C)for(u=g.regressionData,m=0;m<c.length;m+=1)d=c[m],k=d.xMinValue,g=d.yMaxValue,n=d.image,f=d.canvas,n=d.ctx,f=(u[0].x-k)*x,h=(g-u[0].y)*
y,k=(u[1].x-k)*x,g=(g-u[1].y)*y,n.beginPath(),n.strokeStyle=s,n.lineWidth=w,n.moveTo(f,h),n.lineTo(k,g),n.stroke(),n.closePath();for(m=0;m<c.length;m+=1)d=c[m],n=d.image,f=d.canvas,d.drawState=1,n.attr({src:f.toDataURL("image/png")}),z&&(s=d.lineImage,w=d.lineCanvas,s.attr({src:w.toDataURL("image/png")}));v.tree||setTimeout(function(){v._buildKdTree()},250);b&&b()}},_buildKdTree:function(){var c=this.config;c._kdPoints=(this.JSONData.data||[]).slice();this.components.kDTree||(this.components.kDTree=
new O);this.components.kDTree.buildKdTree(c._kdPoints);delete c._kdPoints},getElement:function(c){if(this.components.kDTree)return this.components.kDTree.getNeighbour(c)},show:function(){var c=this.graphics,c=c&&c.container;this.visible=!0;this._conatinerHidden=!1;c.show()},hide:function(){var c=this.graphics,c=c&&c.container;this.visible=!1;this._conatinerHidden=!0;c.hide()},_addLegend:function(){var c=this.chart,b=c.jsonData.chart,a=this.config,d=this.JSONData,e=c.getFillColor,f=y(d.anchorbordercolor,
b.anchorbordercolor),k=Q(y(f,a.plotBorderColor)),f=C(d.anchorborderthickness,b.anchorborderthickness,f?1:0),h=Q(y(d.anchorbgcolor,d.color,b.anchorbgcolor,a.plotColor)),g=y(d.anchoralpha,d.alpha,b.anchoralpha,T),b=y(d.anchorbgalpha,d.alpha,b.anchorbgalpha,T),d={color:a.lineColor,alpha:a.lineAlpha},e=a.plotCosmetics={fillStyle:e(h,g*b/100),strokeStyle:e(k,g),borderWidth:f,lineWidth:a.lineThickness,lineStrokeStyle:da(d)};this.legendItemId=c.components.legend.addItems(this,this.legendInteractivity,{enabled:a.includeInLegend,
type:this.type,fillColor:e.fillStyle,strokeColor:e.strokeStyle,anchorSide:2,strokeWidth:a.anchorBorderThickness,label:ca(this.JSONData.seriesname)})},_setConfigure:function(){var c,b,a,d,e,f,k,h,g,l=-Infinity,m=Infinity,n=Infinity,t=-Infinity,q=this.components.data||(this.components.data=[]);c=this.chart;var p=x.parseUnsafeString,r=this.config,s=this.JSONData,w=c.jsonData.chart,u=s.data||[],v=u.length,A=c.components.numberFormatter,D=p(w.yaxisname),E=p(w.xaxisname),K=r.lineDashed,G=r.lineDashStyle,
H=r.parentYAxis,I=r.toolTipSepChar,J=r.seriesname;for(c=0;c<v;c+=1)d=u[c],a=q[c]||(q[c]={}),b=a.config||(a.config={}),b.setValue=e={x:A.getCleanValue(d.x),y:A.getCleanValue(d.y),index:c},t=B(t,e.x),n=z(n,e.x),l=B(l,e.y),m=z(m,e.y),r.showRegressionLine&&this.pointValueWatcher(e.x,e.y,r.regressionObj),b.setLink=y(d.link),b.anchorProps=this._parseAnchorProperties(c),b.showValue=C(d.showvalue,r.showValues),b.dashed=C(d.dashed,K),b.color=y(d.color,r.lineColor),b.alpha=y(d.alpha,r.lineAlpha),b.dashStyle=
b.dashed?G:"none",b.toolTipValue=f=A.dataLabels(e.y,H),b.setDisplayValue=g=p(d.displayvalue),h=b.formatedVal=y(d.toolTipValue,A.dataLabels(e.y,H)),k=A.xAxis(e.x),b.displayValue=y(g,f),b.setTooltext=x.getValidValue(p(y(d.tooltext,r.plotToolText))),r.showTooltip?void 0!==b.setTooltext?(e=[4,5,6,7,8,9,10,11],k={yaxisName:D,xaxisName:E,yDataValue:h,xDataValue:k},d=V(b.setTooltext,e,k,d,w,s)):null===h?d=!1:(d=J?J+I:F,d+=e.x?k+I:F,d+=f):d=!1,b.toolText=d,a?a.graphics||(q[c].graphics={}):a=q[c]={graphics:{}},
b.hoverEffects=this._parseHoverEffectOptions(a),b.anchorProps.isAnchorHoverRadius=b.hoverEffects.anchorRadius;r.xMax=t;r.xMin=n;r.yMin=m;r.yMax=l;r.showRegressionLine&&(r.regressionData=this.getRegressionLineSeries(r.regressionObj,r.showYOnX,v));this.ErrorValueConfigure&&this.ErrorValueConfigure()}},"Scatter"]);$=function(c,b){return c.x-b.x};aa=function(c,b){return c.y-b.y};O.prototype={buildKdTree:function(c){this.tree=this._buildKdTree(c,!1)},getNeighbour:function(c){var b=this.tree,a={x1:c.x-
this.xLimit,x2:c.x+this.xLimit,y1:c.y-this.yLimit,y2:c.y+this.yLimit};c=this._getIsWithinLimitFn(c);if(b)return this._searchBtwnLimit(a,b,!1,c)},_getIsWithinLimitFn:function(c){var b=this;return function(a){return a&&1>=Math.pow((a.x-c.x)/b.xLimit,2)+Math.pow((a.y-c.y)/b.yLimit,2)?!0:!1}},_compair2closest:function(c,b){if(c){if(b)return b.i>c.i?b:c}else return b;return c},_searchBtwnLimit:function(c,b,a,d){var e,f,k,h;k=a?"x":"y";var g=a?c.x1:c.y1,l=a?c.x2:c.y2;if(b)return e=b.point1?b.point1[k]:
l,f=b.point2?b.point2[k]:l,k=b.point3?b.point3[k]:l,d(b.point1)&&(h=this._compair2closest(h,b.point1)),e>=g&&b.left&&(h=this._compair2closest(h,this._searchBtwnLimit(c,b.left,!a,d))),e<=l&&b.middle1&&(d(b.point2)&&(h=this._compair2closest(h,b.point2)),f>=g&&(h=this._compair2closest(h,this._searchBtwnLimit(c,b.middle1,!a,d))),f<=l&&b.middle2&&(d(b.point3)&&(h=this._compair2closest(h,b.point3)),k>=g&&(h=this._compair2closest(h,this._searchBtwnLimit(c,b.middle2,!a,d))),k<=l&&b.right&&(h=this._compair2closest(h,
this._searchBtwnLimit(c,b.right,!a,d))))),h},_buildKdTree:function(c,b){var a,d,e;if(a=c&&c.length)return c.sort(b?$:aa),7<a?(a=Math.floor(a/4),d=2*(a+1)-1,e=3*(a+1)-1,{left:this._buildKdTree(c.slice(0,a),!b),point1:c[a],middle1:this._buildKdTree(c.slice(a+1,d),!b),point2:c[d],middle2:this._buildKdTree(c.slice(d+1,e),!b),point3:c[e],right:this._buildKdTree(c.slice(e+1),!b)}):{left:2<=a?{point1:c[0]}:void 0,point1:1<=a?1===a?c[0]:c[1]:void 0,middle1:3<=a?{point1:c[2]}:void 0,point2:4<=a?c[3]:void 0,
middle2:5<=a?{point1:c[4]}:void 0,point3:6<=a?c[5]:void 0,right:7==a?{point1:c[6]}:void 0}},_setSearchLimit:function(c,b){this.xLimit=c;this.yLimit=b}};O.prototype.constructor=O;M.addSymbol({zoomInIcon:function(c,b,a){c-=.2*a;b-=.2*a;var d=.8*a,e=M.rad(43),f=M.rad(48),k=c+d*H(e),e=b+d*I(e),h=c+d*H(f),f=b+d*I(f),g=M.rad(45),l=k+a*H(g),m=e+a*I(g),n=h+a*H(g)-1;a=f+a*I(g)-1;return["M",k,e,"A",d,d,0,1,0,h,f,"Z","M",k+1,e+1,"L",l,m,n,a,h+1,f+1,"Z","M",c-2,b,"L",c+2,b,"Z","M",c,b-2,"L",c,b+2,"Z"]},zoomModeIcon:function(c,
b,a){var d=[];c-=.2*a;b-=.2*a;var e=.8*a,f=M.rad(43),k=M.rad(48),h=c+e*H(f),f=b+e*I(f),g=c+e*H(k),k=b+e*I(k),l=M.rad(45),m=h+a*H(l),n=f+a*I(l),t=g+a*H(l)-1;a=k+a*I(l)-1;return d=d.concat(["M",h,f,"A",e,e,0,1,0,g,k,"Z","M",h+1,f+1,"L",m,n,t,a,t+1,a-1,t+1.5,a+1.5,t-1,a+1,t,a,g+1,k+1,"Z","M",c-2,b,"L",c+2,b,"Z","M",c,b-2,"L",c,b+2,"Z"])},panModeIcon:function(c,b,a){var d=c-11.25,d=c;a*=2.5;return[].concat(["M",d-a/16,b-a/8,"L",d+a/16,b-a/8,"L",d+a/16,b-a/3.2,"L",d+6*a/32,b-10*a/32,"L",d,b-a/2,"L",d-
6*a/32,b-10*a/32,"L",d-a/16,b-a/3.2,"Z","M",d+4*a/32,b-2*a/32,"L",d+10*a/32,b-2*a/32,"L",d+10*a/32,b-6*a/32,"L",d+16*a/32,b,"L",d+10*a/32,b+6*a/32,"L",d+10*a/32,b+2*a/32,"L",d+4*a/32,b+2*a/32,"Z","M",d+2*a/32,b+5*a/32,"L",d+2*a/32,b+10*a/32,"L",d+6*a/32,b+10*a/32,"L",d,b+16*a/32,"L",d-6*a/32,b+10*a/32,"L",d-2*a/32,b+10*a/32,"L",d-2*a/32,b+5*a/32,"Z","M",d-4*a/32,b-2*a/32,"L",d-10*a/32,b-2*a/32,"L",d-10*a/32,b-6*a/32,"L",d-16*a/32,b,"L",d-10*a/32,b+6*a/32,"L",d-10*a/32,b+2*a/32,"L",d-4*a/32,b+2*a/
32,"Z"])}})}]);

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,281 @@
/*
FusionCharts JavaScript Library
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
@author FusionCharts Technologies LLP
@meta package_map_pack core
@id fusionmaps.USA.20.10-31-2012 11:18:04
*/
FusionCharts(["private","modules.renderer.js-usa",function(){var f=this,b=f.hcLib,c=b.chartAPI,h=b.moduleCmdQueue,b=b.injectModuleDependency,a=!!c.geo,e,g,d;e=[{name:"USA",revision:20,creditLabel:!1,standaloneInit:!0,baseWidth:730,baseHeight:445,baseScaleFactor:10,entities:{HI:{outlines:[["M",2552,3903,"Q",2544,3900,2534,3898,2533,3898,2533,3899,2532,3901,2531,3902,2531,3902,2531,3902,2531,3902,2531,3902,"L",2531,3902,"Q",2525,3896,2521,3890,2520,3889,2518,3889,2510,3888,2503,3886,2497,3883,2495,
3877,2495,3876,2494,3875,2490,3873,2484,3874,2484,3874,2483,3875,2477,3882,2477,3890,2476,3902,2480,3913,2483,3922,2479,3927,2472,3941,2461,3951,2451,3962,2452,3974,2453,3987,2458,3992,2462,3997,2465,3996,2467,3996,2468,4E3,2469,4002,2469,4004,2471,4008,2469,4009,2468,4009,2467,4011,2464,4017,2462,4026,2461,4031,2460,4035,2459,4039,2459,4042,2459,4051,2464,4055,2475,4063,2476,4081,2476,4083,2477,4085,2486,4097,2494,4108,2497,4111,2500,4114,2503,4117,2510,4116,2515,4115,2518,4112,2519,4112,2519,4111,
2547,4083,2578,4060,2587,4054,2599,4052,2619,4050,2639,4047,2651,4045,2654,4039,2655,4038,2656,4037,2659,4035,2660,4029,2661,4027,2661,4026,2657,4019,2652,4013,2642,3999,2638,3984,2637,3983,2635,3981,2629,3980,2624,3979,2617,3974,2617,3965,2617,3963,2615,3962,2607,3956,2603,3945,2602,3943,2602,3941,2602,3934,2599,3930,2598,3928,2596,3927,2586,3921,2575,3915,"Q",2564,3909,2552,3903,"Z"],["M",2302,3801,"Q",2315,3797,2323,3788,2327,3783,2328,3775,2330,3770,2327,3769,2326,3768,2326,3766,2324,3757,2315,
3757,2297,3758,2285,3769,2280,3775,2281,3785,2286,3797,2295,3800,2296,3800,2297,3801,"Q",2300,3801,2302,3801,"Z"],["M",2115,3624,"Q",2114,3625,2113,3627,2109,3630,2105,3631,2094,3636,2089,3647,2088,3648,2088,3650,2089,3658,2086,3663,2086,3664,2085,3665,2085,3667,2086,3667,2104,3680,2124,3690,2149,3704,2179,3701,2179,3693,2181,3688,2181,3687,2181,3685,2180,3680,2180,3674,2177,3668,2174,3666,2166,3662,2165,3656,2165,3655,2164,3654,2161,3650,2157,3647,2156,3645,2155,3644,2148,3638,2140,3626,2138,3624,
2133,3623,2132,3623,2131,3623,2126,3622,2122,3622,"Q",2117,3621,2115,3624,"Z"],["M",2340,3713,"L",2338,3710,"Q",2324,3706,2309,3703,2302,3702,2295,3704,2293,3704,2291,3704,2288,3703,2286,3704,2274,3706,2262,3712,2253,3717,2251,3725,2250,3732,2257,3735,2259,3736,2261,3737,2271,3740,2282,3739,2289,3738,2295,3737,2305,3735,2315,3733,2323,3731,2331,3728,2340,3725,2338,3718,"Q",2337,3714,2340,3713,"Z"],["M",2396,3759,"Q",2394,3759,2392,3760,2391,3761,2389,3761,2384,3763,2378,3761,2376,3761,2374,3759,2370,
3756,2368,3753,2362,3748,2359,3750,2349,3760,2354,3770,2360,3782,2372,3792,2378,3797,2379,3805,2379,3808,2380,3810,2381,3817,2389,3820,2404,3824,2416,3817,2426,3812,2438,3807,2452,3801,2466,3795,2468,3794,2470,3793,2464,3784,2457,3777,2454,3774,2449,3772,2446,3771,2442,3769,2433,3766,2424,3764,2423,3763,2422,3763,2413,3762,2405,3764,2400,3765,2398,3761,"Q",2397,3759,2396,3759,"Z"],["M",1784,3561,"Q",1784,3564,1780,3566,1760,3576,1748,3589,1745,3591,1743,3593,1737,3596,1736,3600,1736,3601,1737,3602,
1741,3610,1748,3612,1764,3614,1774,3605,1776,3603,1778,3602,1787,3595,1792,3584,1792,3582,1792,3580,1792,3576,1793,3574,"Q",1793,3567,1784,3561,"Z"],["M",1825,3549,"Q",1825,3563,1829,3578,1829,3579,1831,3580,1844,3588,1859,3597,1861,3598,1862,3598,1870,3598,1877,3596,1879,3596,1881,3595,1890,3593,1896,3590,1901,3588,1906,3586,1914,3584,1915,3576,1916,3571,1918,3570,1919,3569,1919,3567,1919,3565,1918,3564,1916,3556,1913,3549,1910,3541,1901,3540,"L",1901,3539,"Q",1901,3538,1900,3536,1894,3528,1885,
3526,1864,3523,1842,3527,1840,3528,1838,3529,1830,3533,1826,3545,"Q",1825,3547,1825,3549,"Z"]],label:"Hawaii",shortLabel:"HI",labelPosition:[269.6,423.6],labelAlignment:["left","middle"],labelConnectors:[["M",2696,4236,"L",2589,4064]]},DC:{outlines:[["M",6001,1913,"Q",5990,1927,5978,1941,5973,1947,5974,1953,5975,1957,5977,1960,"L",6034,1960,6034,1913,"Z"]],label:"District of Columbia",shortLabel:"DC",labelPosition:[627.7,221.2],labelAlignment:["left","middle"],labelConnectors:[["M",6277,2212,"L",
6008,1948]]},MD:{outlines:[["M",5807,1784,"Q",5813,1789,5824,1787,5828,1787,5829,1783,5841,1778,5852,1773,5857,1771,5862,1767,5867,1764,5874,1764,5881,1765,5886,1765,5885,1765,5884,1766,5882,1769,5880,1769,5878,1770,5879,1772,5880,1780,5889,1780,5899,1780,5904,1785,5906,1787,5906,1789,5908,1799,5906,1805,5906,1807,5905,1809,5903,1813,5903,1820,5903,1825,5909,1824,5913,1824,5915,1824,5916,1825,5916,1825,5924,1828,5931,1832,5938,1837,5944,1842,5956,1854,5967,1868,5970,1872,5975,1874,5995,1882,6011,
1895,6013,1897,6010,1901,6005,1907,6001,1913,"L",6034,1913,6034,1960,5977,1960,"Q",5979,1965,5983,1969,5992,1979,6005,1977,6010,1976,6014,1977,6017,1972,6025,1972,6027,1972,6029,1972,6037,1973,6045,1972,6046,1972,6047,1972,6052,1970,6057,1966,6065,1959,6069,1950,6072,1944,6073,1936,6074,1932,6079,1928,6087,1922,6094,1917,6100,1913,6101,1908,6103,1897,6101,1886,6101,1886,6101,1885,6101,1885,6099,1885,6083,1887,6079,1873,6076,1862,6072,1850,6070,1844,6073,1838,6076,1832,6081,1829,6090,1823,6100,1818,
6106,1814,6112,1810,6114,1809,6115,1809,6120,1807,6123,1806,6127,1805,6129,1806,6130,1806,6131,1807,6133,1808,6134,1813,6134,1816,6133,1818,6126,1835,6119,1851,6113,1865,6106,1879,6105,1880,6105,1881,6104,1884,6104,1886,6104,1889,6106,1891,6107,1892,6108,1893,6121,1908,6122,1923,6122,1925,6122,1927,6120,1937,6114,1946,6113,1947,6113,1949,6111,1954,6112,1962,6114,1969,6117,1977,6112,1984,6121,1990,6129,1995,6136,2E3,6147,2008,6155,2018,6163,2026,6166,2036,6166,2037,6166,2038,6169,2049,6163,2059,6159,
2068,6154,2076,6148,2087,6142,2099,6139,2105,6139,2113,6140,2117,6138,2119,6137,2120,6137,2122,6137,2133,6140,2142,6140,2143,6140,2144,6141,2153,6143,2159,6145,2159,6146,2158,6157,2148,6166,2136,6171,2131,6174,2124,6175,2121,6176,2119,6178,2115,6181,2112,6183,2110,6184,2108,6186,2104,6190,2100,6194,2095,6197,2090,6200,2085,6201,2080,6201,2079,6201,2078,6201,2072,6203,2068,6204,2067,6204,2065,6206,2060,6204,2053,6202,2047,6195,2043,6189,2039,6182,2036,6189,2036,6198,2035,6224,2032,6233,2016,"L",6232,
2016,6233,2015,"Q",6236,2011,6238,2008,6239,2006,6240,2004,6243,1998,6246,1991,6248,1987,6250,1980,6251,1978,6250,1977,6250,1976,6249,1976,6246,1975,6242,1973,6233,1969,6224,1965,6215,1962,6207,1960,6205,1960,6203,1959,6198,1957,6195,1959,6195,1960,6193,1960,6181,1960,6180,1949,6179,1935,6179,1921,6180,1901,6177,1881,6174,1859,6168,1839,6165,1829,6159,1822,6159,1822,6158,1821,6158,1821,6158,1821,6158,1820,6159,1818,6159,1817,6160,1816,6164,1812,6163,1803,6161,1786,6163,1768,6164,1763,6165,1757,6165,
1756,6166,1754,"L",5697,1769,"Q",5701,1769,5700,1774,5699,1778,5701,1782,5704,1791,5702,1798,5701,1803,5700,1807,5699,1809,5699,1811,5700,1821,5702,1830,5704,1844,5716,1842,5721,1841,5723,1837,5728,1829,5735,1819,5736,1818,5738,1816,5739,1816,5740,1815,5741,1814,5742,1813,5753,1811,5763,1807,5768,1806,5773,1803,5775,1802,5777,1801,5788,1796,5786,1791,5782,1776,5797,1779,5798,1779,5799,1779,"Q",5804,1781,5807,1784,"Z"]],label:"Maryland",shortLabel:"MD",labelPosition:[630.2,201.2],labelAlignment:["left",
"middle"],labelConnectors:[["M",6302,2012,"L",6212,2012]]},DE:{outlines:[["M",6192,1738,"Q",6191,1737,6189,1738,6184,1739,6178,1741,6177,1741,6176,1742,6170,1749,6166,1755,6165,1757,6165,1758,6164,1764,6163,1769,6161,1787,6163,1804,6164,1813,6160,1817,6159,1818,6159,1819,6158,1821,6158,1822,6158,1822,6158,1822,6159,1823,6159,1823,6165,1830,6168,1840,6174,1860,6177,1882,6180,1902,6179,1922,6179,1936,6180,1950,6181,1961,6193,1961,6195,1961,6195,1960,6198,1958,6203,1960,6205,1961,6207,1961,6215,1963,
6224,1966,6233,1970,6242,1974,6246,1976,6249,1977,6255,1976,6257,1970,6258,1968,6259,1966,6263,1960,6261,1952,6261,1950,6261,1948,6254,1930,6260,1911,6260,1910,6260,1908,6260,1905,6259,1902,6257,1895,6251,1891,6234,1879,6220,1862,6216,1857,6216,1849,6216,1848,6216,1847,6216,1837,6217,1828,6217,1828,6217,1827,6218,1825,6217,1823,6215,1820,6211,1820,6206,1820,6204,1817,6203,1816,6203,1815,6203,1804,6206,1793,6208,1785,6208,1777,6209,1774,6209,1771,6212,1762,6211,1755,6210,1753,6209,1751,6208,1748,6204,
1746,"Q",6198,1742,6192,1738,"Z"]],label:"Delaware",shortLabel:"DE",labelPosition:[636.2,190.7],labelAlignment:["left","middle"],labelConnectors:[["M",6362,1907,"L",6237,1907]]},RI:{outlines:[["M",6708,1388,"Q",6703,1387,6695,1385,6691,1384,6686,1385,6685,1385,6684,1386,6682,1386,6679,1387,6674,1387,6670,1388,6663,1390,6653,1392,6657,1398,6658,1405,6659,1413,6659,1421,6659,1447,6649,1469,6646,1475,6648,1482,6650,1492,6653,1503,6653,1504,6652,1506,6653,1506,6653,1506,6657,1506,6659,1507,6666,1512,
6673,1508,6691,1498,6698,1478,6698,1477,6699,1476,6699,1474,6699,1471,6699,1468,6703,1469,6709,1469,6716,1470,6720,1471,6722,1474,6723,1476,6725,1476,6730,1476,6733,1471,6734,1470,6736,1469,6737,1468,6737,1467,6738,1464,6742,1463,"L",6742,1463,"Q",6743,1463,6743,1462,"L",6743,1462,"Q",6744,1462,6745,1461,6745,1454,6740,1447,6736,1441,6731,1439,6716,1433,6715,1416,6714,1406,6713,1395,"Q",6713,1389,6708,1388,"Z"]],label:"Rhode Island",shortLabel:"RI",labelPosition:[669.3,161],labelAlignment:["center",
"bottom"],labelConnectors:[["M",6693,1610,"L",6693,1489]]},WA:{outlines:[["M",282,197,"Q",281,194,279,193,277,191,274,190,264,189,255,193,253,194,250,198,247,204,243,209,240,212,238,216,237,217,237,218,237,220,238,220,239,223,240,224,242,227,244,229,246,233,248,235,250,237,254,237,259,236,262,239,266,242,270,243,277,244,283,241,288,239,290,238,291,233,291,228,290,223,288,217,286,213,285,208,285,205,284,203,284,202,284,201,284,200,283,199,"Q",283,198,282,197,"Z"],["M",549,131,"Q",544,131,540,132,529,
134,516,133,498,132,481,128,478,127,475,127,468,127,461,126,441,125,420,125,409,125,398,127,363,132,329,139,326,140,324,142,317,143,310,144,303,146,297,150,294,151,295,157,299,172,311,177,314,179,317,180,320,180,322,180,333,180,336,192,336,193,337,193,342,198,342,208,341,214,339,217,336,223,332,230,327,242,321,249,319,251,319,256,320,259,321,260,"L",322,261,"Q",322,261,322,262,"L",324,262,324,263,"Q",325,263,326,264,332,266,336,268,337,270,339,271,350,275,356,287,358,291,358,296,358,297,359,298,363,
310,369,321,370,322,370,324,370,330,365,332,362,333,360,336,354,340,346,345,342,347,341,352,340,356,340,361,340,362,341,363,346,372,348,381,349,385,347,389,346,391,347,392,347,394,348,396,352,401,353,405,353,407,352,409,345,417,344,427,344,429,344,431,347,438,347,444,348,448,346,451,341,464,330,470,325,472,323,476,320,482,315,485,311,488,306,489,295,492,286,495,284,496,282,497,276,499,271,495,275,482,283,469,287,463,291,459,297,453,305,450,306,449,306,447,304,445,299,446,286,448,278,452,277,453,275,
453,274,454,273,454,271,454,269,453,266,451,268,444,273,427,280,418,290,405,304,401,305,401,306,400,309,396,315,395,316,395,317,394,318,393,319,392,316,387,307,384,302,382,297,382,295,381,294,379,293,376,293,372,294,370,295,368,299,363,304,357,312,347,315,335,316,331,314,329,313,328,313,326,312,317,308,311,301,303,307,292,308,289,310,287,316,284,317,280,318,275,319,272,320,269,320,268,"L",320,267,"Q",321,267,321,267,321,266,321,266,"L",321,265,319,265,319,264,"Q",314,266,307,276,"L",307,277,"Q",306,
279,305,281,"L",303,284,"Q",302,287,302,289,"L",302,290,"Q",297,297,289,302,288,303,288,304,286,308,280,310,279,310,279,311,277,317,269,315,265,313,254,313,244,312,237,315,231,319,228,318,225,318,221,318,216,317,213,315,207,311,195,311,189,311,183,314,182,314,181,314,162,316,149,301,142,293,133,289,117,283,103,275,100,274,96,272,84,267,72,262,65,263,62,268,56,281,62,291,63,293,63,295,67,310,76,324,77,325,78,326,82,331,84,335,86,339,87,344,88,346,89,348,94,359,99,369,104,378,107,385,107,387,107,389,
107,406,108,422,109,441,119,456,123,463,127,470,127,472,128,473,128,474,129,475,131,481,132,490,132,492,132,493,133,500,136,503,144,509,153,512,158,514,159,517,163,523,164,530,165,544,157,551,155,553,154,556,154,557,153,558,141,576,153,599,155,603,154,608,154,618,148,625,144,630,147,634,148,635,149,637,150,638,151,638,166,638,179,641,183,642,186,647,189,652,200,654,200,654,200,654,205,655,210,654,216,653,220,651,221,650,223,649,228,647,233,645,236,644,240,644,247,644,252,649,255,651,258,651,266,652,
270,656,274,660,276,664,"L",276,665,"Q",284,672,289,681,293,689,298,695,301,699,305,703,306,704,306,705,306,711,305,716,305,717,305,718,304,722,304,726,304,733,308,736,314,741,320,746,333,756,346,767,355,774,366,771,367,771,368,770,370,769,372,768,386,756,402,750,422,742,444,740,448,740,453,740,455,740,457,739,462,736,466,734,470,732,472,734,478,743,484,752,489,759,500,763,528,747,560,739,577,734,595,732,603,731,611,731,615,731,617,731,629,728,641,727,667,725,692,721,707,719,722,714,729,712,737,709,
744,707,751,705,755,704,759,703,761,702,764,702,773,701,776,694,"L",782,694,785,694,"Q",786,695,787,696,788,698,790,698,796,695,805,696,807,696,808,697,810,698,812,698,818,699,823,700,828,701,831,701,857,694,884,696,902,697,921,697,923,696,926,696,928,695,930,696,934,696,936,696,939,696,941,696,951,695,956,698,957,698,958,698,959,697,961,697,989,697,1016,698,1018,698,1020,698,1019,692,1021,687,1025,677,1027,669,1028,661,1030,654,1031,650,1030,645,1027,619,1017,595,1016,593,1016,591,1016,590,1014,
584,1013,582,1013,580,1011,577,1010,573,1009,571,1008,570,1006,567,1005,562,1004,558,1002,553,1002,552,1002,551,1001,534,1002,518,1002,503,1006,489,1010,476,1017,468,1018,467,1018,466,1018,446,1019,425,1019,396,1016,368,1016,367,1015,365,1013,352,1013,339,1013,299,1014,260,1014,258,1014,256,1015,246,1016,236,1016,233,1016,230,1018,192,1018,155,1017,154,1016,153,1013,152,1011,151,1010,150,1010,149,1007,144,998,144,991,145,984,144,976,144,969,143,959,142,949,141,929,138,908,137,903,137,899,137,873,
136,847,137,808,137,768,138,728,138,689,136,656,134,623,132,"Q",586,131,549,131,"Z"]],label:"Washington",shortLabel:"WA",labelPosition:[54.5,44.8],labelAlignment:["center","middle"]},OR:{outlines:[["M",805,696,"Q",796,695,790,698,788,698,787,696,786,695,785,694,"L",782,694,776,694,"Q",773,701,764,702,761,702,759,703,755,704,751,705,744,707,737,709,729,712,722,714,707,719,692,721,667,725,641,727,629,728,617,731,615,731,611,731,603,731,595,732,577,734,560,739,528,747,500,763,489,759,484,752,478,743,
472,734,470,732,466,734,462,736,457,739,455,740,453,740,448,740,444,740,422,742,402,750,386,756,372,768,370,769,368,770,367,771,366,771,355,774,346,767,333,756,320,746,314,741,308,736,304,733,304,726,304,722,305,718,305,717,305,716,306,711,306,705,306,704,305,703,301,699,298,695,293,689,289,681,284,672,276,665,"L",276,664,"Q",274,660,270,656,266,652,258,651,255,651,252,649,247,644,240,644,236,644,233,645,228,647,223,649,221,650,220,651,216,653,210,654,205,655,200,654,184,659,164,669,162,671,160,672,
149,682,146,696,145,700,145,704,146,727,154,750,155,752,155,755,156,775,158,794,159,804,157,812,152,831,150,851,150,855,148,859,147,860,147,862,148,868,146,872,145,873,145,875,146,892,149,910,149,912,149,914,149,932,151,950,152,952,152,954,153,961,152,969,152,970,151,971,142,989,137,1007,136,1010,136,1013,136,1022,138,1030,140,1043,136,1056,131,1070,127,1085,124,1092,121,1099,123,1123,117,1147,116,1151,116,1155,117,1165,117,1175,116,1181,114,1183,110,1189,105,1195,99,1203,94,1212,89,1225,90,1240,
90,1247,91,1254,91,1255,92,1256,96,1270,100,1282,100,1284,102,1285,106,1292,108,1302,108,1304,108,1306,109,1315,106,1324,106,1325,106,1326,105,1331,104,1335,104,1336,104,1337,104,1339,104,1341,104,1350,112,1356,116,1360,120,1364,125,1368,128,1373,"L",129,1374,"Q",138,1384,157,1382,164,1381,171,1381,183,1382,190,1380,192,1379,195,1379,219,1379,243,1379,247,1379,249,1377,251,1376,252,1376,273,1375,291,1377,302,1379,313,1380,325,1381,333,1383,335,1383,337,1383,360,1382,378,1382,383,1382,389,1382,399,
1383,409,1383,414,1384,418,1384,437,1387,457,1387,470,1388,481,1386,486,1385,492,1385,501,1386,505,1386,512,1390,512,1395,539,1396,565,1390,566,1390,567,1390,586,1390,606,1391,607,1391,608,1391,612,1392,615,1391,616,1391,618,1391,627,1389,637,1389,638,1390,639,1389,640,1389,640,1389,664,1388,687,1393,689,1393,691,1393,699,1394,707,1394,775,1395,843,1392,845,1392,847,1392,873,1388,901,1388,909,1389,917,1387,924,1386,930,1385,937,1385,943,1384,967,1381,991,1384,995,1385,1E3,1385,1010,1387,1015,1379,
"L",1015,1379,"Q",1016,1378,1016,1376,1017,1373,1017,1370,1020,1348,1018,1324,1018,1323,1018,1322,1018,1321,1018,1319,1015,1305,1012,1291,1011,1283,1010,1274,1010,1273,1010,1271,1010,1268,1011,1265,1011,1261,1012,1256,1015,1241,1016,1225,1017,1214,1017,1203,1018,1187,1019,1173,1021,1167,1018,1158,1014,1144,1018,1125,1018,1124,1018,1123,1018,1122,1018,1120,1020,1113,1018,1105,1017,1101,1017,1097,1018,1096,1017,1094,1017,1092,1017,1088,1017,1087,1016,1086,1013,1082,1012,1075,1012,1074,1012,1072,1011,
1070,1010,1069,1008,1068,1009,1064,1009,1063,1010,1062,1017,1054,1022,1048,1023,1047,1024,1046,1029,1044,1033,1038,1036,1032,1035,1022,1035,1020,1036,1019,1038,1016,1033,1011,1032,1009,1031,1007,1028,1001,1022,999,1021,998,1019,998,1011,994,1004,992,996,991,995,983,994,980,993,976,993,974,994,973,996,971,997,963,998,953,1001,943,1001,942,1001,941,1001,937,1004,935,1013,928,1019,915,1022,909,1024,904,1025,903,1025,902,1028,896,1028,895,1032,888,1038,881,1047,871,1049,854,1050,846,1055,840,1068,820,
1080,799,1082,786,1078,773,1074,760,1067,746,1062,736,1057,725,1055,720,1049,718,1034,711,1020,703,1018,702,1016,698,989,697,961,697,959,697,958,698,957,698,956,698,951,695,941,696,939,696,936,696,934,696,930,696,928,695,926,696,923,696,921,697,902,697,884,696,857,694,831,701,828,701,823,700,818,699,812,698,810,698,808,697,"Q",807,696,805,696,"Z"]],label:"Oregon",shortLabel:"OR",labelPosition:[58.3,101.7],labelAlignment:["center","middle"]},CA:{outlines:[["M",729,1950,"Q",714,1940,705,1932,703,1931,
702,1930,690,1917,678,1912,674,1910,670,1908,664,1905,659,1901,655,1899,652,1896,647,1891,644,1884,"L",640,1389,"Q",640,1389,639,1389,638,1390,637,1389,627,1389,618,1391,616,1391,615,1391,612,1392,608,1391,607,1391,606,1391,586,1390,567,1390,566,1390,565,1390,539,1396,512,1395,512,1390,505,1386,501,1386,492,1385,486,1385,481,1386,470,1388,457,1387,437,1387,418,1384,414,1384,409,1383,399,1383,389,1382,383,1382,378,1382,360,1382,337,1383,335,1383,333,1383,325,1381,313,1380,302,1379,291,1377,273,1375,
252,1376,251,1376,249,1377,247,1379,243,1379,219,1379,195,1379,192,1379,190,1380,183,1382,171,1381,164,1381,157,1382,138,1384,129,1374,124,1385,122,1395,119,1410,123,1424,127,1440,136,1455,141,1462,142,1466,143,1469,144,1471,144,1472,144,1473,146,1488,143,1499,142,1502,141,1505,139,1514,140,1525,141,1535,139,1542,138,1544,137,1547,137,1548,136,1549,131,1555,131,1565,131,1571,130,1576,130,1577,129,1578,126,1592,121,1599,120,1600,119,1602,116,1613,117,1626,118,1635,116,1644,115,1652,117,1657,128,1681,
144,1701,148,1706,151,1711,152,1712,153,1713,162,1719,167,1727,170,1731,172,1737,183,1766,182,1795,181,1813,180,1830,179,1844,183,1857,184,1861,188,1864,188,1870,194,1872,199,1867,201,1869,200,1867,203,1865,206,1870,202,1872,205,1884,208,1898,210,1904,211,1910,214,1922,222,1932,222,1933,223,1933,235,1939,241,1951,243,1956,248,1957,254,1959,258,1963,264,1970,266,1980,271,1995,272,2011,272,2014,272,2016,272,2022,276,2025,282,2030,290,2034,300,2039,311,2045,313,2046,315,2048,320,2058,327,2064,333,2069,
334,2066,340,2057,337,2044,336,2035,336,2026,337,2016,343,2005,344,2004,345,2004,348,2004,350,2005,353,2007,355,2008,356,2009,356,2011,358,2017,360,2024,361,2026,362,2029,363,2035,369,2031,375,2028,383,2023,391,2019,398,2017,403,2016,407,2016,409,2015,411,2015,418,2013,427,2012,429,2012,431,2011,444,2009,446,2019,446,2020,444,2022,435,2031,420,2030,418,2030,416,2031,389,2038,361,2044,353,2045,355,2055,357,2062,363,2068,364,2070,364,2072,363,2078,366,2080,367,2081,368,2082,370,2087,371,2094,371,2095,
372,2095,379,2099,386,2102,387,2103,389,2103,390,2104,390,2105,392,2108,393,2112,393,2115,393,2116,392,2123,383,2121,382,2120,380,2119,373,2115,367,2110,359,2102,349,2093,348,2092,346,2091,340,2090,337,2087,333,2084,328,2083,335,2097,341,2110,347,2123,353,2135,353,2138,353,2140,352,2152,351,2164,350,2170,353,2175,354,2177,357,2179,360,2180,362,2182,366,2188,376,2192,378,2193,380,2193,384,2193,391,2196,400,2200,413,2201,414,2201,415,2201,420,2202,422,2206,425,2212,423,2222,423,2223,423,2224,421,2233,
424,2241,425,2243,423,2245,420,2250,413,2258,412,2260,410,2263,408,2269,407,2276,406,2290,409,2303,411,2314,417,2324,417,2325,418,2326,430,2336,447,2345,451,2347,452,2350,452,2352,453,2353,457,2361,459,2368,460,2369,461,2370,465,2376,470,2380,472,2382,473,2383,481,2394,488,2405,497,2417,508,2427,520,2436,530,2446,532,2447,533,2448,537,2453,537,2460,536,2465,539,2467,541,2468,542,2469,546,2478,560,2478,567,2477,568,2481,569,2487,569,2493,568,2512,566,2530,566,2540,569,2545,570,2547,570,2549,571,2550,
572,2552,573,2554,573,2556,577,2565,582,2573,587,2578,593,2578,605,2579,617,2577,620,2576,623,2576,624,2575,624,2575,633,2572,643,2573,645,2573,646,2575,654,2581,669,2581,676,2581,683,2581,684,2581,685,2581,691,2582,696,2582,698,2582,700,2583,710,2584,717,2592,721,2597,726,2600,738,2608,747,2617,762,2631,778,2639,789,2645,805,2644,814,2643,823,2646,830,2649,835,2655,839,2660,841,2667,847,2689,869,2689,870,2689,871,2689,881,2690,891,2690,896,2691,898,2693,899,2694,901,2694,902,2695,903,2695,905,2696,
905,2697,914,2708,921,2719,937,2743,959,2761,968,2768,975,2774,976,2775,976,2777,975,2784,977,2788,978,2790,979,2792,979,2798,981,2799,982,2799,981,2801,981,2802,980,2803,976,2807,979,2810,979,2822,981,2832,984,2844,988,2855,990,2861,994,2866,996,2868,999,2869,1003,2870,1007,2867,1008,2868,1008,2868,1017,2867,1026,2866,1027,2866,1028,2866,1035,2865,1042,2865,1047,2865,1052,2866,1061,2866,1070,2866,1073,2866,1076,2866,1082,2865,1088,2865,1091,2865,1094,2864,1098,2862,1102,2864,1103,2864,1105,2864,
1113,2863,1122,2863,1130,2863,1136,2860,1138,2860,1140,2859,1145,2858,1151,2858,1171,2858,1186,2853,1191,2851,1194,2853,1195,2854,1197,2855,1205,2858,1215,2859,1216,2859,1217,2859,1218,2859,1225,2860,1227,2861,1228,2861,1234,2862,1239,2861,1240,2861,1241,2861,1245,2860,1247,2856,1248,2855,1249,2854,1252,2850,1258,2847,1261,2845,1267,2844,1281,2843,1295,2842,1299,2842,1302,2843,1309,2845,1317,2844,1321,2843,1325,2841,1342,2830,1340,2817,1339,2811,1333,2807,1328,2804,1323,2800,1318,2797,1315,2792,1314,
2791,1313,2790,1310,2787,1307,2785,1305,2784,1304,2781,1304,2778,1304,2775,1303,2749,1320,2727,1329,2717,1334,2701,1334,2701,1335,2700,1339,2692,1340,2681,1340,2680,1340,2679,1341,2671,1344,2663,1346,2654,1351,2651,1353,2650,1354,2648,1357,2642,1366,2635,1369,2632,1370,2630,1375,2624,1378,2617,1379,2613,1379,2613,1380,2607,1379,2600,1378,2596,1377,2593,1370,2580,1364,2565,1360,2555,1350,2550,1331,2540,1316,2525,1314,2523,1313,2519,1312,2513,1313,2510,1315,2500,1320,2495,1321,2493,1323,2492,1325,2489,
1324,2482,1309,2479,1298,2476,1291,2474,1285,2469,1259,2444,1235,2420,1226,2412,1218,2402,1211,2393,1203,2384,1187,2366,1177,2357,1176,2356,1175,2355,1166,2350,1157,2342,1154,2340,1152,2338,1147,2332,1143,2326,1134,2315,1127,2309,1125,2308,1123,2306,1114,2301,1108,2297,1094,2286,1079,2272,1075,2268,1071,2264,1070,2263,1069,2261,1066,2257,1063,2254,1047,2232,1023,2209,1003,2188,980,2170,960,2154,939,2140,938,2139,937,2139,935,2138,934,2137,922,2131,912,2117,893,2092,870,2072,843,2048,812,2027,798,
2019,787,2007,774,1993,762,1978,"Q",748,1962,729,1950,"Z"]],label:"California",shortLabel:"CA",labelPosition:[66.8,224.1],labelAlignment:["center","middle"]},AK:{outlines:[["M",86,4407,"Q",70,4413,54,4420,57,4424,59,4424,80,4425,99,4420,117,4416,134,4409,139,4406,143,4401,141,4397,137,4393,132,4396,124,4398,"Q",105,4402,86,4407,"Z"],["M",984,4014,"Q",982,4007,980,3999,978,3994,974,3999,965,4008,959,4019,957,4023,954,4024,952,4024,950,4025,938,4032,923,4037,922,4037,921,4038,916,4044,904,4044,903,
4045,903,4045,899,4054,901,4064,901,4065,902,4066,903,4072,906,4079,907,4080,908,4082,912,4085,912,4090,912,4094,908,4097,900,4105,896,4114,896,4115,895,4115,893,4117,892,4121,890,4130,899,4131,905,4133,908,4131,920,4124,928,4113,929,4112,930,4110,935,4106,941,4101,943,4100,945,4099,980,4080,985,4039,"Q",987,4027,984,4014,"Z"],["M",263,4375,"Q",258,4376,254,4377,241,4381,227,4383,207,4386,193,4383,181,4380,175,4388,172,4394,168,4398,165,4401,163,4405,165,4408,171,4408,181,4409,190,4408,208,4407,227,
4402,244,4397,262,4392,264,4392,265,4392,271,4391,276,4390,"Q",272,4380,263,4375,"Z"],["M",372,4331,"Q",362,4335,345,4344,337,4348,330,4354,329,4355,328,4357,326,4358,325,4359,316,4366,311,4370,309,4372,304,4373,303,4373,302,4373,297,4375,297,4381,305,4384,315,4381,323,4378,328,4376,344,4370,353,4364,354,4363,355,4362,363,4359,365,4354,370,4346,373,4337,374,4332,375,4329,"Q",373,4329,372,4331,"Z"],["M",492,3860,"Q",476,3853,456,3859,447,3862,439,3866,429,3871,436,3878,450,3891,466,3901,478,3908,485,
3912,488,3914,491,3913,503,3908,509,3897,513,3892,511,3884,508,3874,501,3864,500,3863,496,3862,"Q",494,3861,492,3860,"Z"],["M",279,3858,"Q",277,3855,275,3851,274,3849,273,3847,269,3839,258,3843,256,3843,254,3843,239,3843,235,3856,234,3860,231,3861,230,3862,230,3864,230,3869,234,3870,249,3873,264,3876,267,3877,271,3877,277,3878,279,3874,"Q",281,3866,279,3858,"Z"],["M",300,3648,"Q",309,3651,319,3651,323,3651,328,3652,330,3653,332,3653,338,3655,342,3660,344,3661,345,3663,348,3668,352,3672,356,3677,363,
3677,367,3678,371,3675,375,3671,379,3669,385,3667,389,3665,393,3664,394,3662,395,3661,396,3661,409,3662,407,3648,406,3644,400,3642,397,3641,395,3639,386,3641,378,3641,376,3641,374,3640,370,3638,369,3632,369,3627,365,3624,364,3623,363,3621,359,3618,354,3619,334,3615,315,3611,312,3610,308,3610,304,3610,300,3608,298,3608,295,3608,289,3610,287,3613,280,3623,279,3635,279,3637,281,3638,289,3643,299,3647,"Q",300,3647,300,3648,"Z"],["M",426,3517,"Q",429,3517,433,3516,438,3515,431,3502,425,3499,418,3498,417,
3498,416,3498,402,3503,413,3511,"Q",418,3516,426,3517,"Z"],["M",1334,3058,"Q",1331,3053,1327,3049,1318,3039,1306,3032,1297,3026,1286,3022,1280,3020,1276,3022,1271,3023,1267,3027,1263,3030,1260,3035,1253,3048,1240,3048,1231,3047,1228,3043,1223,3036,1217,3031,1207,3024,1195,3021,1179,3018,1162,3017,1155,3017,1149,3013,1138,3007,1123,3E3,1122,3002,1119,3002,1119,3002,1118,3002,1117,3002,1115,3001,1112,3E3,1108,2998,1100,2992,1092,2986,1089,2983,1086,2984,1079,2986,1073,2989,1060,2994,1046,2996,1030,
2998,1013,2996,1011,2996,1009,2994,1009,2993,1008,2993,1006,2992,1004,2992,993,2993,986,2985,984,2982,985,2978,985,2977,985,2976,986,2974,987,2973,988,2972,987,2969,985,2965,982,2961,981,2959,980,2958,973,2954,965,2949,959,2945,952,2941,949,2940,945,2939,927,2935,922,2950,919,2959,910,2962,903,2961,903,2954,903,2952,902,2950,899,2944,893,2940,885,2941,877,2937,879,2935,879,2932,880,2926,877,2922,868,2911,855,2909,839,2906,824,2907,814,2909,806,2914,802,2916,804,2920,805,2922,805,2924,805,2931,805,
2937,805,2939,804,2940,802,2941,801,2944,797,2950,787,2949,785,2949,783,2949,758,2954,733,2951,732,2951,730,2951,729,2951,728,2951,726,2952,724,2952,717,2953,711,2955,709,2956,708,2957,703,2959,703,2968,703,2975,701,2980,697,2988,693,2994,689,3001,678,3004,675,3005,671,3004,663,3003,654,3003,645,3003,641,3007,640,3008,640,3009,638,3013,630,3020,621,3027,615,3033,615,3034,614,3035,606,3041,602,3047,591,3061,593,3084,594,3095,590,3103,590,3105,589,3106,585,3111,582,3118,577,3126,570,3133,556,3144,534,
3144,515,3144,496,3147,489,3148,487,3153,481,3163,480,3175,479,3191,469,3200,470,3208,475,3212,489,3224,507,3231,521,3237,532,3243,544,3249,554,3258,556,3260,557,3261,559,3262,561,3267,566,3278,569,3289,570,3291,571,3293,574,3306,583,3314,584,3316,584,3317,586,3321,589,3323,601,3329,615,3327,626,3326,634,3331,632,3331,631,3332,630,3333,628,3335,624,3338,622,3342,622,3343,622,3344,621,3351,624,3354,638,3368,654,3392,652,3395,650,3398,647,3404,648,3412,649,3426,635,3424,634,3423,632,3423,628,3422,626,
3421,615,3417,604,3415,593,3413,582,3414,576,3415,570,3417,568,3418,565,3418,561,3417,561,3411,562,3392,560,3374,559,3366,556,3361,544,3364,540,3374,540,3376,536,3378,534,3379,532,3381,524,3388,512,3396,502,3403,497,3410,493,3416,492,3423,492,3424,490,3424,488,3424,486,3423,471,3417,455,3426,448,3430,445,3435,445,3436,444,3436,432,3442,424,3448,421,3451,421,3457,422,3462,425,3464,429,3469,438,3471,463,3476,488,3484,490,3484,492,3484,494,3483,495,3483,496,3483,497,3484,494,3494,484,3501,477,3505,472,
3512,469,3515,471,3519,474,3524,474,3530,474,3531,474,3532,475,3536,476,3540,481,3542,488,3542,494,3541,499,3540,505,3539,509,3540,528,3546,545,3543,558,3541,569,3530,574,3525,579,3521,581,3519,584,3519,591,3520,595,3525,596,3527,597,3528,604,3538,607,3551,608,3553,609,3553,610,3554,611,3554,614,3554,616,3552,623,3544,630,3536,635,3532,641,3527,649,3520,658,3520,664,3519,666,3526,673,3543,670,3561,669,3567,664,3574,662,3577,663,3580,669,3596,675,3611,676,3613,676,3615,676,3627,670,3635,667,3640,662,
3636,658,3631,646,3630,635,3628,624,3628,622,3628,619,3628,615,3628,612,3628,610,3627,608,3626,605,3622,600,3626,601,3631,604,3635,606,3636,608,3638,610,3639,612,3639,610,3640,610,3643,610,3645,610,3647,611,3648,610,3649,"L",610,3649,"Q",610,3650,609,3652,609,3653,608,3653,605,3654,601,3651,595,3653,588,3654,577,3656,566,3657,565,3657,564,3657,553,3659,547,3655,545,3654,543,3654,536,3654,535,3661,535,3662,535,3663,533,3668,532,3673,531,3675,530,3677,527,3685,528,3696,528,3697,527,3698,522,3705,517,
3713,517,3714,516,3714,510,3715,509,3720,509,3721,509,3722,505,3729,503,3737,503,3738,502,3739,501,3742,501,3746,499,3752,497,3757,496,3759,495,3761,495,3763,493,3764,489,3770,486,3777,485,3781,487,3783,488,3785,488,3786,489,3794,494,3799,503,3807,508,3811,509,3812,510,3814,513,3820,512,3829,511,3844,523,3845,532,3845,532,3855,531,3864,534,3868,535,3870,537,3872,538,3874,540,3875,553,3882,559,3895,563,3901,568,3905,569,3906,571,3906,585,3905,597,3893,601,3889,603,3888,613,3881,624,3881,630,3881,636,
3885,637,3886,639,3886,641,3886,643,3887,645,3888,646,3889,647,3890,646,3891,644,3898,643,3904,642,3911,640,3916,639,3918,640,3921,640,3927,640,3934,640,3936,639,3937,633,3946,631,3958,631,3960,631,3961,632,3969,637,3974,638,3975,639,3976,639,3979,638,3982,639,3981,642,3985,649,3993,657,3983,659,3981,660,3980,667,3972,676,3966,677,3966,677,3965,681,3957,689,3960,702,3966,709,3972,710,3973,711,3974,713,3979,720,3980,722,3980,724,3981,736,3985,748,3988,759,3992,769,3990,775,3990,780,3986,789,3980,798,
3976,802,3973,803,3970,808,3976,808,3984,807,3999,802,4013,801,4016,800,4019,799,4022,797,4025,794,4035,790,4044,786,4052,782,4057,781,4059,779,4060,763,4070,756,4078,749,4085,743,4093,742,4095,741,4096,740,4097,738,4099,724,4126,691,4141,689,4142,687,4143,681,4146,675,4151,670,4155,663,4155,661,4155,658,4157,646,4164,635,4172,628,4177,622,4183,600,4202,576,4220,568,4227,558,4227,557,4227,556,4228,552,4231,547,4233,544,4235,540,4236,539,4236,538,4237,533,4245,524,4249,515,4256,511,4259,502,4264,494,
4270,492,4271,490,4272,477,4278,464,4284,464,4284,463,4285,457,4294,446,4296,437,4298,428,4303,424,4305,421,4309,420,4310,419,4311,418,4313,417,4315,416,4317,413,4318,407,4320,402,4322,"L",394,4325,"Q",384,4329,385,4340,385,4344,387,4347,387,4348,389,4348,403,4346,411,4341,413,4340,415,4339,429,4332,446,4325,460,4318,475,4314,487,4310,497,4302,510,4293,522,4282,536,4271,553,4262,571,4252,590,4247,596,4245,598,4249,599,4250,601,4251,607,4254,611,4257,612,4258,614,4258,616,4258,616,4257,620,4249,625,
4241,632,4231,641,4222,650,4214,659,4212,671,4210,684,4215,699,4220,714,4221,724,4223,727,4217,731,4210,725,4199,724,4198,723,4196,722,4195,722,4193,721,4188,720,4188,725,4182,733,4180,734,4179,735,4178,739,4173,749,4168,756,4164,760,4157,761,4155,763,4153,818,4098,872,4042,878,4036,887,4031,888,4031,890,4030,897,4029,901,4028,910,4024,914,4019,922,4010,922,3998,923,3992,924,3987,924,3986,925,3985,927,3983,928,3980,929,3979,930,3979,934,3977,938,3976,936,3972,934,3969,932,3967,930,3965,920,3958,912,
3950,915,3950,916,3946,919,3945,922,3944,924,3940,928,3937,940,3929,952,3920,965,3911,966,3897,966,3895,966,3893,971,3877,977,3864,980,3856,984,3847,986,3841,988,3839,1004,3831,1019,3818,1033,3806,1049,3798,1052,3797,1055,3799,1060,3802,1057,3808,1054,3815,1048,3819,1029,3830,1013,3844,1005,3852,1002,3862,997,3878,993,3894,990,3908,985,3921,984,3925,987,3926,988,3926,989,3927,995,3934,992,3941,992,3942,993,3943,997,3948,1004,3943,1006,3943,1007,3942,1009,3942,1011,3942,1023,3938,1029,3933,1037,3927,
1043,3923,1050,3918,1061,3918,1065,3918,1069,3916,1071,3915,1072,3913,1073,3912,1074,3911,1079,3906,1085,3899,1093,3890,1103,3889,1109,3889,1113,3890,1114,3891,1115,3890,1121,3883,1125,3874,1128,3867,1131,3860,1132,3873,1133,3886,1144,3885,1154,3881,1170,3875,1185,3864,1191,3860,1198,3857,1203,3855,1208,3857,1214,3859,1217,3862,1220,3864,1223,3865,1225,3866,1226,3867,1242,3882,1263,3888,1274,3891,1284,3895,1286,3896,1287,3895,1289,3895,1291,3894,1299,3892,1308,3888,1309,3887,1311,3887,1319,3886,1323,
3888,1324,3889,1326,3889,1337,3890,1346,3892,1355,3894,1361,3897,1362,3899,1368,3899,1369,3899,1370,3899,1379,3900,1386,3909,1388,3913,1394,3909,1402,3905,1411,3903,1413,3903,1414,3904,1420,3913,1423,3926,1424,3929,1424,3931,1426,3947,1442,3950,1444,3951,1446,3951,1457,3955,1465,3963,1468,3966,1473,3972,1484,3984,1493,3996,1494,3997,1494,3998,1497,4005,1504,4010,1506,4011,1507,4012,1512,4019,1516,4027,1518,4031,1518,4035,1519,4036,1519,4036,1533,4047,1545,4055,1546,4056,1547,4057,1556,4069,1559,4084,
1560,4087,1560,4090,1562,4099,1566,4107,1567,4108,1568,4110,1569,4117,1572,4118,1574,4119,1575,4121,1581,4126,1585,4131,1587,4132,1588,4134,1592,4141,1596,4146,1607,4160,1614,4169,1622,4179,1629,4194,1633,4204,1642,4212,1647,4216,1651,4220,1653,4222,1656,4224,1664,4227,1669,4231,1671,4233,1674,4234,1677,4235,1681,4237,1690,4239,1694,4232,1696,4229,1699,4224,1701,4221,1702,4219,1708,4210,1718,4214,1721,4215,1723,4217,1726,4221,1731,4224,1736,4227,1740,4227,1742,4228,1744,4228,1747,4229,1748,4228,1751,
4228,1752,4225,1759,4212,1766,4199,1772,4188,1774,4176,1774,4169,1776,4163,1779,4156,1779,4147,1780,4137,1775,4133,1771,4130,1766,4130,1765,4130,1764,4129,1752,4124,1735,4121,1733,4120,1731,4119,1716,4110,1707,4101,1703,4095,1701,4088,1701,4086,1700,4084,1698,4080,1698,4077,1695,4060,1694,4044,1692,4027,1676,4023,1674,4023,1672,4022,1666,4016,1660,4012,1658,4010,1655,4005,1652,4E3,1647,3995,1632,3983,1631,3963,1631,3960,1630,3957,1624,3941,1613,3932,1612,3931,1610,3930,1596,3924,1586,3916,1585,3915,
1584,3913,1580,3908,1576,3907,1570,3906,1560,3908,1549,3914,1540,3919,1535,3921,1533,3924,1532,3925,1531,3926,1525,3931,1519,3934,1512,3937,1505,3938,1499,3939,1496,3935,1487,3927,1479,3918,1477,3915,1474,3913,1458,3893,1444,3872,1442,3869,1441,3865,1439,3857,1430,3861,1429,3861,1427,3862,1422,3864,1416,3867,1415,3868,1414,3869,1410,3872,1402,3871,1397,3870,1394,3866,1391,3863,1387,3863,1381,3863,1376,3863,1380,3858,1379,3852,"L",1376,3077,"Q",1369,3069,1359,3069,1358,3069,1356,3069,"Q",1342,3069,
1334,3058,"Z"]],label:"Alaska",shortLabel:"AK",labelPosition:[102.4,346.5],labelAlignment:["center","middle"]},ID:{outlines:[["M",1210,456,"Q",1209,455,1208,455,1187,448,1183,425,1179,404,1175,384,1174,376,1170,371,1168,370,1168,368,1167,364,1164,362,1156,354,1147,344,1145,341,1144,336,1141,322,1141,307,1141,304,1139,300,1139,298,1139,296,1138,285,1137,274,1137,271,1137,268,1136,233,1136,198,1136,193,1137,187,1139,179,1140,169,1140,167,1141,166,1145,159,1142,152,1142,151,1141,150,1140,149,1138,148,
1131,145,1120,142,1115,140,1110,139,1105,138,1099,138,1098,139,1097,138,1087,138,1077,138,1076,139,1075,138,1064,137,1053,140,1035,144,1017,150,1013,153,1018,154,1018,192,1016,230,1016,232,1016,235,1015,246,1014,256,1014,258,1014,259,1013,299,1013,338,1013,351,1015,364,1016,366,1016,368,1019,396,1019,425,1018,445,1018,465,1018,466,1017,467,1010,475,1006,488,1002,503,1002,517,1001,534,1002,550,1002,551,1002,552,1004,557,1005,561,1006,567,1008,570,1009,571,1010,572,1011,577,1013,580,1013,582,1014,583,
1016,590,1016,591,1016,593,1017,594,1027,619,1030,644,1031,649,1030,653,1028,661,1027,668,1025,676,1021,686,1019,691,1020,698,1018,698,1016,697,1018,701,1020,702,1034,710,1049,717,1055,720,1057,724,1062,735,1067,746,1074,759,1078,773,1082,785,1080,799,1068,820,1055,840,1050,846,1049,854,1047,870,1038,881,1032,887,1028,895,1028,895,1025,902,1025,903,1024,904,1022,908,1019,915,1013,927,1004,935,1001,937,1001,940,1001,941,1001,942,998,952,997,963,996,970,994,973,993,974,993,975,994,979,995,983,996,990,
1004,992,1011,993,1019,997,1021,998,1022,998,1028,1E3,1031,1007,1032,1009,1033,1010,1038,1015,1036,1018,1035,1020,1035,1021,1036,1032,1033,1038,1029,1043,1024,1046,1023,1046,1022,1047,1017,1054,1010,1061,1009,1062,1009,1064,1008,1068,1010,1069,1011,1069,1012,1071,1012,1073,1012,1075,1013,1082,1016,1085,1017,1086,1017,1088,1017,1091,1017,1094,1018,1095,1017,1097,1017,1101,1018,1105,1020,1113,1018,1120,1018,1121,1018,1123,1018,1124,1018,1125,1014,1144,1018,1158,1021,1166,1019,1172,1018,1187,1017,1202,
1017,1213,1016,1224,1015,1241,1012,1256,1011,1260,1011,1265,1010,1267,1010,1270,1010,1272,1010,1274,1011,1283,1012,1291,1015,1305,1018,1318,1018,1320,1018,1322,1018,1323,1018,1324,1020,1348,1017,1370,1017,1372,1016,1375,"L",1016,1379,1764,1380,1764,954,"Q",1760,950,1753,947,1753,947,1752,946,1750,944,1749,940,1746,934,1736,931,1732,930,1732,927,1732,926,1731,925,1730,924,1730,922,1729,921,1729,921,1726,920,1724,921,1717,928,1712,937,1711,939,1709,939,1708,939,1707,940,1705,940,1703,940,1701,940,1698,
941,1697,941,1695,941,1693,941,1691,942,1690,942,1689,942,1688,943,1687,943,1682,943,1677,945,1676,946,1675,946,1668,946,1661,944,1655,943,1648,942,1647,941,1646,942,1645,942,1645,942,1641,943,1639,945,1638,946,1638,946,1634,947,1630,950,1629,950,1627,951,1627,951,1626,951,1625,952,1624,952,1621,954,1617,955,1611,956,1605,956,1600,956,1595,955,1584,954,1575,956,1567,958,1559,964,1552,969,1544,972,1537,975,1532,971,1525,966,1522,956,1520,952,1521,947,1521,946,1520,945,1519,941,1516,940,1515,939,1514,
939,1513,937,1510,936,1507,936,1508,931,1508,926,1506,922,1502,917,1499,912,1497,908,1498,905,1499,904,1498,903,1496,901,1492,902,1491,902,1490,902,1489,904,1486,904,1485,904,1484,905,1479,907,1474,906,1473,905,1472,905,1470,902,1466,900,1463,899,1462,896,1460,889,1460,880,1460,868,1454,859,1448,850,1442,841,1441,840,1441,838,1439,799,1412,772,1405,764,1397,762,1395,761,1393,764,1381,781,1359,795,1358,793,1356,791,1349,785,1341,780,1331,772,1325,761,1320,752,1323,741,1326,727,1333,715,1334,714,1336,
711,1337,710,1339,709,1349,703,1351,688,1352,682,1348,679,1343,674,1333,667,1331,666,1331,664,1330,663,1329,662,1327,659,1328,655,1331,649,1336,641,1336,640,1337,639,1338,637,1339,636,1351,630,1350,619,1350,617,1350,615,1356,603,1362,594,1367,589,1370,582,1364,580,1357,579,1332,575,1308,569,1306,568,1304,567,1300,564,1299,557,1298,556,1297,555,1291,549,1286,544,1284,543,1281,542,1266,534,1268,522,1269,519,1269,517,1269,509,1263,505,1260,503,1256,498,1253,495,1250,492,1246,489,1243,483,1238,475,1234,
467,1233,466,1232,466,"Q",1220,460,1210,456,"Z"]],label:"Idaho",shortLabel:"ID",labelPosition:[118.8,84.7],labelAlignment:["center","middle"]},NV:{outlines:[["M",1017,1379,"Q",1017,1380,1016,1381,1016,1380,1016,1379,1012,1387,1001,1385,997,1385,992,1384,968,1381,944,1384,938,1385,932,1385,925,1386,919,1387,911,1389,902,1388,874,1388,849,1392,847,1392,845,1392,777,1395,709,1394,701,1394,692,1393,690,1393,688,1393,665,1388,642,1389,"L",646,1884,"Q",649,1891,654,1896,657,1899,660,1901,665,1905,672,1908,
675,1910,679,1912,692,1917,703,1930,705,1931,706,1932,716,1940,730,1950,749,1962,763,1978,776,1993,789,2007,800,2019,813,2027,845,2048,872,2072,895,2092,913,2117,924,2131,935,2137,937,2138,939,2139,940,2139,940,2140,961,2154,981,2170,1004,2188,1025,2209,1049,2232,1064,2254,1067,2257,1070,2261,1071,2263,1073,2264,1077,2268,1081,2272,1095,2286,1109,2297,1116,2301,1124,2306,1127,2308,1128,2309,1136,2315,1144,2326,1148,2332,1154,2338,1155,2340,1158,2342,1168,2350,1176,2355,1177,2356,1178,2357,1189,2366,
1205,2384,1212,2393,1220,2402,1228,2412,1236,2420,1261,2444,1287,2469,1292,2474,1300,2476,1311,2479,1326,2482,1325,2474,1331,2472,1332,2471,1332,2469,1333,2463,1329,2457,1324,2448,1317,2443,1316,2442,1316,2440,1315,2422,1315,2405,1315,2395,1314,2387,1314,2386,1314,2385,1315,2380,1314,2375,1313,2369,1311,2366,1305,2355,1302,2346,1300,2339,1305,2338,1306,2338,1307,2337,1314,2334,1322,2333,1327,2333,1331,2333,1335,2333,1336,2328,1336,2327,1337,2326,1348,2324,1353,2330,1358,2335,1363,2339,1375,2347,1388,
2353,1389,2353,1389,2353,1389,2353,1389,2352,1388,2347,1387,2343,1384,2325,1383,2308,1383,2301,1382,2295,1382,2293,1382,2291,1380,2276,1380,2261,1379,2247,1381,2234,1381,2232,1381,2230,1384,2223,1385,2214,1387,2202,1386,2189,"L",1391,1380,"Z"]],label:"Nevada",shortLabel:"NV",labelPosition:[101.6,193.1],labelAlignment:["center","middle"]},AZ:{outlines:[["M",1398,2188,"Q",1390,2186,1385,2189,1385,2202,1384,2214,1383,2223,1380,2230,1379,2232,1379,2234,1378,2247,1378,2261,1378,2276,1380,2291,1380,2293,
1380,2295,1381,2301,1382,2308,1382,2325,1386,2343,1387,2347,1387,2352,1387,2353,1387,2353,1387,2353,1387,2353,1374,2347,1362,2339,1356,2335,1351,2330,1346,2324,1335,2326,1334,2327,1334,2328,1334,2333,1330,2333,1325,2333,1320,2333,1313,2334,1306,2337,1305,2338,1304,2338,1299,2339,1301,2346,1303,2355,1310,2366,1312,2369,1312,2375,1313,2380,1312,2385,1312,2386,1312,2387,1314,2395,1314,2405,1313,2422,1314,2440,1315,2442,1316,2443,1323,2448,1328,2457,1331,2463,1331,2469,1331,2471,1329,2472,1324,2474,1324,
2482,"L",1324,2482,"Q",1325,2489,1323,2492,1321,2493,1320,2495,1315,2500,1313,2510,1312,2513,1313,2519,1314,2523,1316,2525,1331,2540,1350,2550,1360,2555,1364,2565,1370,2580,1377,2593,1378,2596,1379,2600,1380,2607,1379,2613,1379,2613,1378,2617,1375,2624,1370,2630,1369,2632,1366,2635,1357,2642,1354,2648,1353,2650,1351,2651,1346,2654,1344,2663,1341,2671,1340,2679,1340,2680,1340,2681,1339,2692,1335,2700,1334,2701,1334,2701,1329,2717,1320,2727,1303,2749,1304,2775,1304,2778,1304,2781,1305,2784,1307,2785,
1310,2787,1313,2790,1314,2791,1315,2792,1318,2797,1323,2800,1328,2804,1333,2807,1339,2811,1340,2817,1342,2830,1325,2841,1321,2843,1317,2844,1309,2845,1302,2843,1299,2842,1295,2842,1293,2855,1295,2865,1296,2870,1296,2874,1295,2885,1300,2891,1302,2894,1307,2895,1316,2898,1326,2900,1330,2900,1335,2901,1351,2904,1366,2909,1378,2912,1390,2914,1399,2916,1407,2918,1433,2924,1449,2935,1453,2938,1458,2939,1463,2941,1467,2942,1499,2953,1532,2961,1553,2967,1574,2974,1601,2984,1627,2997,1635,3001,1643,3003,1655,
3007,1668,3011,1687,3017,1705,3026,1709,3028,1711,3030,1713,3031,1714,3031,1720,3035,1726,3038,1727,3038,1729,3038,1742,3039,1753,3035,1756,3035,1758,3035,1783,3033,1804,3041,1817,3046,1832,3045,1837,3045,1841,3044,1875,3040,1911,3041,1946,3043,1981,3043,1995,3043,2008,3043,"L",2014,2190,1435,2190,"Q",1433,2188,1429,2188,"Q",1414,2188,1398,2188,"Z"]],label:"Arizona",shortLabel:"AZ",labelPosition:[165.4,261.6],labelAlignment:["center","middle"]},MT:{outlines:[["M",1141,150,"Q",1142,151,1142,153,1145,
160,1141,166,1140,168,1140,169,1139,180,1137,188,1136,193,1136,199,1136,234,1137,269,1137,272,1137,274,1138,285,1139,296,1139,298,1139,300,1141,305,1141,307,1141,322,1144,337,1145,342,1147,344,1156,354,1164,362,1167,364,1168,368,1168,370,1170,372,1174,377,1175,385,1179,404,1183,425,1187,448,1208,455,1209,456,1210,456,1220,461,1232,466,1233,467,1234,468,1238,475,1243,484,1246,489,1250,492,1253,495,1256,499,1260,503,1263,505,1269,510,1269,517,1269,520,1268,523,1266,535,1281,542,1284,543,1286,545,1291,
549,1297,555,1298,556,1299,558,1300,564,1305,568,1306,569,1308,570,1332,576,1357,580,1364,581,1370,582,1367,589,1362,595,1356,604,1350,616,1350,617,1350,619,1351,630,1339,637,1338,637,1337,639,1336,640,1336,641,1331,649,1328,656,1327,660,1329,662,1330,663,1331,665,1331,666,1333,667,1343,675,1348,679,1352,682,1351,689,1349,704,1339,709,1337,710,1336,712,1334,714,1333,716,1326,728,1323,741,1320,753,1325,762,1331,773,1341,780,1349,786,1356,791,1358,793,1359,796,1381,781,1393,765,1395,762,1397,762,1405,
765,1412,772,1439,799,1441,838,1441,840,1442,842,1448,850,1454,860,1460,869,1460,881,1460,889,1462,897,1463,899,1466,900,1470,902,1472,905,1473,906,1474,906,1479,907,1484,905,1485,905,1486,905,1489,904,1490,903,1491,902,1492,902,1496,902,1498,904,1499,905,1498,906,1497,909,1499,912,1502,918,1506,922,1508,926,1508,931,1507,936,1510,937,1513,937,1514,939,1515,940,1516,940,1519,941,1520,945,1521,947,1521,948,1520,953,1522,957,1525,967,1532,972,1537,975,1544,973,1552,970,1559,964,1567,958,1575,956,1584,
954,1595,956,1600,957,1605,957,1611,957,1617,956,1621,955,1624,953,1625,952,1626,952,1627,952,1627,951,1629,951,1630,950,1634,948,1638,946,1638,946,1639,945,1641,944,1645,943,1645,943,1646,942,1647,942,1648,942,1655,944,1661,945,1668,946,1675,946,1676,946,1677,946,1682,944,1687,943,1688,943,1689,943,1690,943,1691,942,1693,942,1695,942,1697,941,1698,941,1701,941,1703,941,1705,941,1707,940,1708,940,1709,940,1711,939,1712,938,1717,929,1724,922,1726,920,1729,921,1729,922,1730,922,1730,924,1731,926,1732,
927,1732,928,1732,931,1736,932,1746,935,1749,941,1750,944,1752,947,1753,947,1753,948,1760,951,1764,955,"L",1764,865,2639,869,2639,149,1141,149,"Z"]],label:"Montana",shortLabel:"MT",labelPosition:[188.8,45.1],labelAlignment:["center","middle"]},WY:{outlines:[["M",1766,1560,"L",2641,1544,2641,869,1766,865,"Z"]],label:"Wyoming",shortLabel:"WY",labelPosition:[220.3,121.3],labelAlignment:["center","middle"]},UT:{outlines:[["M",1767,1382,"L",1392,1381,1387,2190,"Q",1392,2188,1400,2189,1416,2189,1432,2189,
1435,2189,1437,2191,"L",2016,2191,2016,1557,1767,1562,"Z"]],label:"Utah",shortLabel:"UT",labelPosition:[170.2,178.6],labelAlignment:["center","middle"]},CO:{outlines:[["M",2642,1544,"L",2016,1556,2016,2190,2903,2190,2886,1544,"Z"]],label:"Colorado",shortLabel:"CO",labelPosition:[246,186.7],labelAlignment:["center","middle"]},NM:{outlines:[["M",2014,2190,"L",2009,3043,"Q",2030,3044,2052,3045,2059,3046,2066,3048,2073,3050,2079,3051,2083,3052,2086,3050,2087,3049,2089,3049,2093,3048,2095,3045,2096,3044,
2098,3044,2109,3042,2119,3037,2121,3035,2121,3031,2125,3017,2125,3E3,2125,2992,2126,2985,2126,2984,2127,2983,2130,2980,2136,2978,2137,2977,2138,2978,2140,2977,2140,2979,2142,2979,2144,2979,2146,2979,2148,2978,2178,2977,2209,2979,2215,2979,2222,2979,2235,2978,2247,2980,2252,2981,2257,2981,2263,2980,2265,2982,2266,2982,2268,2982,2286,2981,2304,2980,2306,2980,2308,2982,2313,2986,2317,2984,"L",2320,2950,2758,2950,2758,2190,"Z"]],label:"New Mexico",shortLabel:"NM",labelPosition:[238.3,262.1],labelAlignment:["center",
"middle"]},ND:{outlines:[["M",3511,148,"L",2639,148,2639,701,3578,705,"Q",3578,687,3576,668,3576,657,3572,647,3571,645,3568,641,3565,636,3561,630,3559,626,3557,620,3554,603,3549,585,3542,561,3538,534,3537,530,3537,526,3535,521,3534,515,3533,510,3532,504,3531,490,3533,477,3533,472,3534,467,3535,466,3535,464,3537,455,3538,445,3539,444,3539,443,3538,441,3539,439,3539,438,3539,438,3540,436,3540,434,3541,422,3540,410,3538,394,3534,377,3526,339,3512,302,3507,288,3505,274,3503,264,3504,254,3507,239,3508,
224,3509,215,3515,213,3525,208,3523,195,3523,194,3523,193,3523,187,3518,184,3508,177,3500,169,3494,164,3489,156,"Q",3496,154,3511,148,"Z"]],label:"North Dakota",shortLabel:"ND",labelPosition:[310.7,42.7],labelAlignment:["center","middle"]},SD:{outlines:[["M",3565,725,"Q",3567,723,3572,721,3573,720,3574,719,3577,716,3579,713,3581,711,3581,707,3581,706,3581,705,"L",2642,702,2642,1206,3306,1227,"Q",3311,1227,3315,1227,3333,1229,3348,1235,3361,1241,3373,1251,3374,1252,3376,1252,3378,1252,3378,1253,3379,
1256,3383,1254,3391,1251,3394,1243,3395,1241,3397,1240,3398,1239,3400,1239,3404,1240,3409,1243,3410,1244,3411,1245,3419,1253,3435,1248,3436,1248,3437,1248,3442,1247,3448,1247,3450,1247,3451,1248,3454,1249,3461,1249,3463,1249,3463,1248,3470,1241,3481,1235,3482,1235,3483,1234,"L",3489,1233,"Q",3493,1240,3495,1249,3496,1252,3497,1254,3499,1261,3503,1259,3505,1258,3506,1257,3507,1256,3509,1255,3511,1252,3515,1250,3518,1248,3521,1250,3523,1251,3526,1253,3534,1258,3535,1269,3537,1277,3546,1281,3547,1282,
3548,1283,3550,1285,3557,1285,3560,1280,3563,1275,3564,1273,3566,1271,3566,1269,3567,1267,3573,1255,3576,1241,3578,1233,3582,1225,3583,1223,3584,1221,3593,1211,3595,1199,3595,1197,3594,1196,3590,1188,3582,1183,3577,1180,3573,1175,3568,1170,3569,1164,3572,1151,3580,1140,3583,1136,3583,1131,3582,1123,3581,1116,3581,1115,3581,1114,3575,1096,3579,1076,3579,1075,3580,1074,3582,1065,3584,1059,3585,1057,3585,1055,3586,1046,3583,1039,3582,1035,3580,1031,3579,1030,3579,1029,3579,1013,3583,998,3587,983,3585,
965,3582,941,3588,917,3589,916,3589,915,3589,914,3590,912,3592,909,3592,902,3591,894,3592,891,3592,889,3591,888,3589,885,3590,879,3591,870,3593,864,3593,861,3594,858,3594,857,3594,855,3595,848,3593,842,3590,833,3588,823,3588,821,3587,818,3586,816,3586,812,3587,806,3582,803,3582,802,3581,802,3574,800,3570,798,3562,793,3557,790,3555,789,3553,789,3547,788,3546,785,3545,783,3545,781,3547,773,3547,764,3547,742,3561,730,"Q",3563,728,3565,725,"Z"]],label:"South Dakota",shortLabel:"SD",labelPosition:[311.8,
99.3],labelAlignment:["center","middle"]},NE:{outlines:[["M",3305,1227,"L",2641,1207,2641,1544,2885,1544,2889,1708,3730,1715,3730,1715,"Q",3731,1714,3732,1714,3732,1713,3732,1713,3733,1711,3733,1709,3733,1704,3726,1703,3725,1704,3720,1702,3719,1701,3718,1700,3715,1692,3714,1682,3711,1679,3708,1675,3697,1661,3686,1645,3686,1644,3685,1643,3680,1640,3679,1634,3678,1625,3673,1615,3673,1614,3672,1612,3667,1602,3661,1598,3660,1597,3659,1595,3655,1584,3654,1573,3653,1561,3654,1549,3654,1530,3651,1511,3647,
1483,3638,1456,3637,1452,3634,1449,3623,1439,3622,1426,3622,1413,3619,1398,3615,1384,3608,1372,3600,1360,3595,1347,3581,1314,3565,1281,"L",3556,1285,"Q",3549,1286,3547,1283,3546,1282,3545,1282,3536,1278,3534,1269,3533,1259,3525,1253,3522,1252,3520,1250,3517,1249,3514,1250,3510,1253,3508,1255,3506,1256,3505,1257,3504,1258,3502,1259,3498,1261,3496,1255,3495,1252,3494,1249,3492,1240,3488,1234,"L",3482,1235,"Q",3481,1235,3480,1236,3469,1242,3462,1248,3462,1249,3460,1249,3453,1250,3450,1248,3449,1247,
3447,1247,3441,1247,3436,1248,3435,1248,3434,1249,3418,1254,3410,1245,3409,1245,3408,1244,3403,1240,3399,1239,3397,1239,3396,1240,3394,1242,3393,1244,3390,1251,3382,1254,3378,1256,3377,1253,3377,1253,3375,1253,3373,1253,3372,1252,3360,1242,3347,1236,3332,1229,3314,1228,"Q",3310,1227,3305,1227,"Z"]],label:"Nebraska",shortLabel:"NE",labelPosition:[318.8,146.3],labelAlignment:["center","middle"]},KS:{outlines:[["M",3741,1723,"Q",3734,1720,3731,1715,"L",2890,1708,2903,2190,3815,2192,"Q",3817,2152,3814,
2129,3813,2112,3813,2096,3813,2088,3813,2079,3813,2056,3813,2033,3814,2031,3813,2029,3812,2021,3812,2011,3812,2001,3813,1991,3813,1987,3812,1983,3810,1974,3811,1965,3811,1962,3810,1960,3808,1954,3809,1948,3811,1941,3811,1932,3811,1927,3812,1923,3815,1905,3815,1884,3814,1873,3810,1863,3809,1860,3804,1858,3799,1856,3797,1851,3792,1842,3786,1832,3774,1814,3758,1798,3754,1795,3761,1789,3765,1785,3771,1783,3773,1778,3774,1774,3775,1772,3776,1770,3777,1765,3777,1759,3777,1758,3776,1757,3763,1748,3763,1737,
3763,1735,3762,1733,3759,1728,3750,1726,"Q",3745,1726,3741,1723,"Z"]],label:"Kansas",shortLabel:"KS",labelPosition:[335.3,195.2],labelAlignment:["center","middle"]},OK:{outlines:[["M",3813,2192,"L",2758,2190,2758,2271,3146,2271,3148,2569,"Q",3153,2573,3158,2576,3161,2579,3164,2581,3167,2582,3168,2584,3183,2596,3187,2608,3198,2602,3216,2598,3219,2598,3222,2597,3233,2594,3240,2601,3245,2607,3252,2615,3254,2618,3258,2620,3260,2621,3261,2622,3262,2623,3264,2623,3274,2623,3284,2623,3285,2623,3286,2623,
3290,2624,3294,2625,3298,2627,3303,2628,3305,2628,3306,2629,3318,2631,3329,2634,3331,2635,3333,2636,3334,2637,3336,2637,3348,2638,3355,2634,3356,2634,3357,2632,3358,2629,3362,2629,3366,2628,3369,2630,3377,2638,3384,2646,3395,2657,3405,2668,3407,2670,3411,2671,3417,2672,3422,2670,3437,2662,3451,2653,"L",3454,2651,"Q",3462,2650,3466,2655,3470,2659,3471,2663,3473,2674,3481,2677,3490,2680,3502,2683,3503,2683,3504,2684,3508,2688,3512,2682,3513,2681,3514,2679,3516,2678,3517,2674,3517,2673,3517,2672,3517,
2671,3517,2669,3516,2666,3516,2663,3517,2662,3518,2662,3527,2662,3534,2664,3537,2665,3539,2667,3544,2673,3552,2670,3553,2669,3555,2668,3559,2666,3562,2665,"L",3569,2664,"Q",3570,2665,3571,2666,3573,2667,3573,2669,3578,2683,3593,2690,3595,2691,3596,2692,3598,2693,3599,2693,3600,2694,3601,2694,3604,2696,3608,2695,3618,2694,3626,2688,3635,2681,3645,2675,3655,2670,3666,2667,3670,2667,3675,2667,3688,2669,3701,2665,3710,2662,3719,2663,3732,2665,3745,2666,3753,2666,3761,2666,3770,2667,3776,2674,3781,2678,
3784,2683,3786,2688,3791,2690,3793,2691,3795,2691,3796,2692,3796,2692,3806,2699,3820,2698,3829,2698,3831,2699,3832,2700,3833,2701,3834,2702,3836,2703,3837,2704,3840,2703,3837,2699,3835,2695,3833,2692,3830,2691,3829,2690,3828,2689,3827,2685,3825,2681,3824,2680,3825,2678,3827,2676,3826,2672,3825,2671,3825,2669,3824,2661,3825,2654,3826,2645,3826,2636,3826,2622,3827,2608,3828,2588,3831,2567,3834,2548,3834,2529,3835,2510,3836,2490,3836,2484,3838,2479,3840,2472,3841,2466,3842,2464,3843,2462,3845,2454,3845,
2444,3845,2442,3844,2440,3843,2437,3841,2433,3841,2430,3840,2428,3837,2419,3837,2409,3837,2407,3838,2406,3839,2403,3839,2400,3835,2385,3831,2370,3828,2359,3826,2348,3824,2337,3825,2326,3825,2301,3823,2275,3822,2272,3822,2268,3821,2261,3819,2254,3817,2245,3817,2236,3817,2222,3814,2208,"Q",3813,2200,3813,2192,"Z"]],label:"Oklahoma",shortLabel:"OK",labelPosition:[347.1,245.6],labelAlignment:["center","middle"]},TX:{outlines:[["M",3666,2667,"Q",3655,2669,3645,2674,3635,2680,3626,2687,3618,2693,3608,2695,
3604,2695,3601,2694,3600,2693,3599,2693,3598,2692,3596,2691,3595,2690,3593,2689,3578,2682,3573,2668,3573,2667,3571,2666,3570,2665,3569,2664,"L",3562,2665,"Q",3559,2666,3555,2667,3553,2668,3552,2669,3544,2673,3539,2666,3537,2665,3534,2664,3527,2661,3518,2661,3517,2661,3516,2663,3516,2665,3517,2668,3517,2670,3517,2672,3517,2673,3517,2674,3516,2677,3514,2679,3513,2680,3512,2682,3508,2687,3504,2683,3503,2682,3502,2682,3490,2680,3481,2676,3473,2674,3471,2663,3470,2658,3466,2654,3462,2650,3454,2650,"L",
3451,2652,"Q",3437,2662,3422,2669,3417,2672,3411,2671,3407,2670,3405,2668,3395,2656,3384,2646,3377,2638,3369,2630,3366,2628,3362,2628,3358,2628,3357,2631,3356,2633,3355,2634,3348,2638,3336,2637,3334,2637,3333,2636,3331,2634,3329,2633,3318,2631,3306,2628,3305,2628,3303,2627,3298,2627,3294,2625,3290,2623,3286,2622,3285,2622,3284,2622,3274,2622,3264,2622,3262,2622,3261,2621,3260,2620,3258,2619,3254,2617,3252,2614,3245,2606,3240,2601,3233,2594,3222,2596,3219,2597,3216,2598,3198,2601,3187,2608,3183,2596,
3168,2583,3167,2582,3164,2581,3161,2579,3158,2576,3153,2573,3148,2569,"L",3146,2271,2758,2271,2758,2949,2320,2949,2317,2983,"Q",2321,2981,2325,2973,2338,2985,2349,2999,2352,3003,2355,3008,2361,3020,2369,3031,2371,3034,2374,3036,2381,3041,2389,3041,2391,3041,2393,3039,2395,3037,2400,3038,2403,3038,2406,3037,2408,3037,2409,3038,2420,3044,2420,3056,2421,3072,2432,3080,2443,3088,2456,3100,2467,3109,2475,3119,2498,3145,2528,3159,2532,3161,2535,3164,2540,3168,2542,3174,2544,3180,2546,3185,2548,3196,2548,
3202,2548,3203,2549,3204,2552,3216,2558,3226,2562,3233,2565,3246,2568,3261,2571,3275,2572,3284,2583,3287,2584,3288,2584,3288,2585,3288,2586,3288,2598,3295,2609,3300,2622,3306,2625,3320,2626,3326,2629,3329,2631,3333,2635,3334,2649,3339,2667,3339,2676,3340,2682,3344,2683,3345,2685,3345,2699,3347,2706,3354,2707,3355,2708,3357,2708,3358,2709,3358,2713,3367,2715,3379,2726,3385,2734,3381,2735,3380,2737,3380,2758,3371,2777,3359,2787,3352,2790,3341,2793,3329,2791,3316,2791,3312,2793,3310,2794,3309,2794,3307,
2792,3295,2799,3293,2802,3292,2805,3292,2806,3291,2807,3291,2812,3287,2820,3287,2828,3279,2836,3275,2842,3273,2849,3273,2851,3273,2853,3273,2859,3273,2871,3271,2873,3271,2875,3271,2891,3270,2908,3272,2910,3273,2912,3273,2919,3274,2925,3277,2927,3277,2928,3277,2932,3277,2934,3279,2936,3279,2937,3279,2944,3278,2950,3277,2960,3276,2966,3284,2972,3293,2976,3298,2980,3304,2989,3312,2995,3317,3002,3320,3019,3330,3036,3341,3042,3346,3046,3354,3050,3363,3052,3373,3054,3379,3054,3386,3054,3387,3055,3388,3052,
3392,3053,3394,3059,3401,3067,3407,3070,3409,3071,3412,3078,3429,3085,3446,3092,3461,3102,3472,3115,3487,3129,3500,3138,3508,3146,3516,3168,3535,3187,3556,3199,3569,3204,3586,3208,3598,3208,3610,3210,3629,3215,3647,3217,3654,3222,3660,3231,3671,3240,3682,3252,3696,3263,3710,3275,3725,3287,3737,3289,3738,3290,3739,3296,3744,3302,3749,3324,3766,3347,3779,3368,3790,3391,3796,3407,3801,3422,3807,3443,3815,3463,3820,3470,3821,3477,3820,3485,3820,3491,3817,3494,3815,3496,3811,3497,3810,3497,3809,3500,3802,
3503,3795,3505,3791,3505,3785,3505,3777,3503,3769,3501,3753,3497,3737,3497,3734,3496,3730,3494,3724,3491,3720,3490,3719,3490,3717,3489,3716,3488,3715,3485,3710,3480,3707,3479,3706,3477,3706,3476,3705,3475,3705,3464,3700,3468,3688,3467,3689,3466,3690,3472,3680,3472,3669,3472,3665,3473,3660,3473,3659,3474,3658,3475,3656,3476,3653,3478,3647,3480,3643,3476,3639,3475,3636,3474,3634,3472,3632,3471,3631,3469,3629,3467,3628,3465,3626,3460,3624,3456,3619,3454,3618,3453,3618,3457,3615,3463,3613,3467,3612,3470,
3612,3474,3612,3476,3609,3476,3608,3476,3607,3477,3600,3478,3594,3479,3591,3478,3588,3478,3587,3478,3586,3477,3585,3477,3583,3476,3580,3476,3577,3475,3574,3477,3572,3479,3570,3483,3569,3484,3569,3485,3569,3503,3564,3519,3555,3531,3550,3539,3540,3541,3538,3542,3535,3543,3534,3543,3533,3547,3528,3552,3522,3557,3516,3562,3511,3563,3510,3564,3509,3570,3506,3575,3504,3577,3504,3578,3503,3585,3500,3585,3493,3586,3486,3583,3481,3582,3480,3582,3478,3579,3462,3579,3447,3580,3437,3586,3435,3594,3433,3603,3441,
3610,3447,3616,3448,3627,3450,3639,3446,3645,3444,3650,3442,3652,3443,3654,3442,3660,3442,3665,3439,3670,3436,3674,3433,3677,3431,3680,3429,3684,3426,3689,3423,3696,3417,3702,3410,3713,3397,3731,3392,3733,3392,3735,3391,3751,3388,3759,3374,3761,3372,3762,3369,3767,3360,3773,3356,3779,3351,3784,3345,3787,3342,3789,3338,3789,3337,3789,3335,3789,3334,3789,3333,3790,3329,3785,3328,3784,3328,3783,3327,3773,3321,3764,3310,3763,3309,3762,3307,3760,3293,3769,3283,3774,3277,3781,3277,3794,3276,3807,3276,3808,
3277,3809,3277,3815,3281,3816,3287,3817,3289,3816,3290,3815,3298,3811,3302,3810,3303,3809,3305,3805,3311,3800,3317,3801,3321,3805,3321,3806,3321,3807,3321,3825,3327,3840,3318,3842,3317,3844,3316,3852,3312,3857,3307,3865,3300,3877,3295,3885,3292,3892,3287,3899,3283,3905,3282,3902,3282,3900,3280,3893,3275,3896,3269,3897,3268,3897,3267,3899,3254,3904,3246,3907,3242,3911,3237,3912,3236,3913,3235,3914,3235,3914,3234,3920,3218,3923,3202,3925,3188,3925,3173,3924,3161,3928,3151,3928,3150,3929,3149,3938,3137,
3947,3126,3948,3125,3949,3124,3951,3119,3949,3113,3948,3112,3947,3110,3943,3099,3941,3090,3937,3065,3933,3040,3928,3013,3912,2990,3909,2985,3903,2981,3894,2975,3889,2962,3887,2957,3890,2951,3890,2950,3890,2948,3893,2928,3885,2911,3885,2910,3884,2908,3882,2892,3885,2876,3886,2872,3886,2867,3886,2843,3885,2819,3885,2814,3886,2808,3886,2807,3886,2806,3887,2803,3887,2800,3887,2799,3887,2799,3891,2795,3893,2789,3894,2786,3894,2782,3895,2771,3894,2760,3894,2749,3891,2738,3891,2735,3891,2731,3892,2728,3891,
2722,3890,2717,3887,2714,3886,2713,3885,2713,3879,2712,3872,2712,3860,2712,3849,2710,3846,2709,3843,2705,3841,2704,3840,2702,3837,2703,3836,2702,3834,2702,3833,2701,3832,2700,3831,2699,3829,2697,3820,2698,3806,2698,3796,2692,3796,2691,3795,2691,3793,2690,3791,2690,3786,2687,3784,2683,3781,2678,3776,2673,3770,2666,3761,2666,3753,2666,3745,2665,3732,2665,3719,2662,3710,2661,3701,2664,3688,2668,3675,2667,"Q",3670,2666,3666,2667,"Z"]],label:"Texas",shortLabel:"TX",labelPosition:[333.3,304.5],labelAlignment:["center",
"middle"]},MN:{outlines:[["M",4518,359,"Q",4543,349,4563,332,4564,331,4565,329,4568,323,4570,318,4573,308,4577,299,4575,300,4572,300,4564,300,4559,303,4558,303,4557,304,4545,317,4521,324,4515,325,4510,329,4509,330,4508,331,4506,331,4505,332,4501,335,4495,341,4489,347,4497,352,4498,352,4498,353,4498,359,4506,360,"Q",4512,361,4518,359,"Z"],["M",4035,228,"Q",4023,224,4018,212,4018,211,4016,210,4012,209,4007,208,4E3,203,3989,211,3978,218,3965,224,3955,229,3944,234,3942,236,3939,235,3930,231,3925,235,
3924,236,3923,235,3919,233,3917,232,3914,228,3911,223,3905,214,3898,206,3897,206,3896,205,3861,195,3825,188,3820,187,3815,189,3814,190,3812,189,3807,188,3807,182,3806,169,3806,155,3804,120,3793,88,3790,79,3781,78,3769,76,3756,80,3753,81,3751,84,3747,93,3746,103,3746,111,3747,118,3747,120,3748,122,3748,123,3748,124,3749,129,3750,131,3750,135,3748,139,3743,148,3733,146,3729,146,3726,144,3724,144,3723,143,3722,142,3720,142,3680,143,3640,142,3611,141,3583,145,3582,145,3580,145,3570,146,3559,145,3537,
144,3516,149,3510,150,3504,152,3497,154,3489,157,3494,164,3500,170,3509,178,3519,184,3523,188,3523,193,3524,194,3524,195,3526,209,3515,214,3510,216,3509,225,3507,240,3505,254,3503,265,3505,274,3508,289,3513,302,3526,340,3535,378,3539,394,3540,411,3541,423,3540,435,3540,437,3540,438,3540,439,3539,439,3539,442,3539,443,3539,444,3539,445,3537,455,3535,464,3535,466,3535,468,3534,472,3533,477,3531,490,3533,505,3534,510,3535,516,3536,521,3537,527,3538,531,3538,534,3542,562,3549,586,3554,603,3558,621,3559,
627,3561,630,3566,637,3569,641,3571,645,3572,647,3576,658,3577,669,3578,687,3578,705,3578,706,3578,707,3579,711,3577,713,3574,716,3572,719,3571,720,3569,721,3565,723,3563,725,3561,728,3558,730,3544,742,3544,764,3544,773,3543,781,3542,783,3543,785,3545,788,3550,789,3552,789,3554,790,3560,793,3567,798,3572,800,3578,802,3579,802,3580,803,3584,806,3584,812,3583,816,3584,818,3585,821,3586,823,3587,833,3590,842,3592,848,3592,855,3592,857,3591,858,3591,861,3590,864,3589,870,3587,879,3587,885,3588,888,3589,
889,3589,891,3589,894,3589,902,3589,909,3587,912,3587,914,3586,915,3586,916,3586,917,3580,941,3582,965,3584,983,3580,998,3576,1013,3577,1029,3577,1030,3577,1031,3579,1035,3581,1039,3583,1046,3582,1055,3582,1057,3582,1059,3579,1065,3577,1074,3577,1075,3576,1076,3572,1096,3578,1114,3579,1115,3579,1116,3580,1123,3580,1131,"L",4232,1127,4232,1119,"Q",4228,1111,4232,1101,4236,1092,4238,1079,4239,1073,4239,1066,4239,1064,4238,1063,4232,1058,4230,1053,4229,1052,4228,1052,4211,1050,4199,1039,4197,1037,4193,
1036,4192,1036,4191,1035,4183,1032,4173,1029,4166,1028,4162,1023,4157,1018,4154,1011,4147,993,4136,978,4132,973,4125,970,4111,963,4097,956,4081,947,4065,936,4063,936,4063,934,4062,925,4056,919,4053,915,4055,913,4050,910,4049,902,4047,889,4048,876,4048,875,4049,873,4051,870,4051,865,4051,864,4052,862,4056,850,4051,838,4050,836,4050,834,4050,821,4055,812,4060,803,4062,794,4062,792,4061,791,4056,784,4049,779,4039,770,4032,759,4032,758,4032,757,4031,753,4032,749,4032,748,4032,747,4032,740,4038,735,4049,
727,4060,718,4075,704,4087,688,4096,677,4101,662,4111,627,4100,593,4099,590,4100,587,4100,585,4100,584,4100,583,4100,582,4101,575,4099,571,4114,568,4128,566,4133,566,4137,565,4142,559,4146,551,4150,539,4159,527,4160,526,4161,525,4163,522,4166,518,4178,507,4189,494,4203,477,4221,468,4235,461,4246,450,4275,424,4305,399,4317,389,4333,385,4353,380,4374,375,4391,372,4402,367,4403,367,4405,366,4406,366,4406,365,4409,358,4414,355,4415,354,4416,352,4418,345,4422,341,4427,335,4436,330,4440,328,4441,322,4441,
322,4440,321,4434,317,4427,318,4417,319,4407,318,4393,318,4389,305,4388,302,4387,302,4374,304,4362,306,4351,308,4340,306,4319,304,4301,295,4290,290,4279,284,4277,282,4273,284,4267,288,4263,294,4259,300,4253,302,4241,307,4228,308,4219,309,4210,309,4208,309,4206,309,4197,307,4189,306,4188,306,4186,305,4174,299,4163,292,4158,289,4154,286,4144,276,4136,264,4134,262,4134,258,4124,262,4118,272,4116,275,4113,277,4100,286,4094,274,4094,273,4093,271,4092,268,4088,264,4085,262,4083,260,4082,259,4081,258,4080,
257,4079,256,4072,246,4062,240,"Q",4050,232,4035,228,"Z"]],label:"Minnesota",shortLabel:"MN",labelPosition:[382.5,61.4],labelAlignment:["center","middle"]},IA:{outlines:[["M",4237,1127,"L",3580,1131,"Q",3581,1136,3578,1140,3570,1151,3566,1164,3565,1170,3570,1175,3574,1180,3579,1183,3587,1188,3592,1196,3592,1197,3592,1199,3591,1211,3582,1221,3581,1223,3579,1225,3575,1233,3573,1241,3571,1255,3565,1267,3564,1269,3563,1271,3562,1273,3561,1275,3562,1277,3563,1279,3563,1280,3564,1281,3580,1313,3593,1347,
3599,1360,3606,1372,3614,1384,3617,1398,3620,1412,3621,1425,3621,1439,3632,1449,3636,1452,3637,1455,3645,1482,3650,1510,3653,1529,3652,1549,3652,1561,3653,1572,3654,1584,3658,1595,3658,1597,3660,1598,3665,1602,3670,1612,"L",4154,1617,"Q",4161,1613,4163,1601,4167,1604,4171,1606,4190,1623,4202,1647,4204,1652,4209,1654,4210,1655,4211,1656,4212,1658,4213,1659,4215,1660,4218,1655,4219,1654,4219,1652,4222,1646,4225,1640,4237,1618,4245,1595,4245,1594,4246,1593,4247,1588,4250,1584,4258,1572,4264,1567,4267,
1566,4269,1564,4273,1562,4274,1556,4275,1555,4275,1554,4275,1553,4274,1551,4274,1549,4273,1548,4269,1540,4261,1532,4255,1525,4256,1516,4256,1514,4257,1512,4257,1510,4256,1509,4254,1506,4256,1499,4256,1496,4258,1495,4269,1493,4281,1492,4296,1492,4308,1485,4323,1477,4329,1466,4335,1456,4342,1447,4351,1436,4360,1424,4367,1417,4369,1407,4371,1399,4371,1391,4371,1386,4371,1380,4371,1372,4365,1368,4353,1357,4342,1345,4328,1328,4318,1309,4314,1302,4313,1294,4313,1290,4313,1287,4313,1280,4309,1275,"L",4309,
1275,"Q",4307,1273,4306,1272,4303,1270,4300,1269,4290,1264,4280,1257,4264,1245,4245,1237,4244,1237,4243,1236,4236,1226,4241,1212,4245,1200,4250,1189,4253,1183,4252,1175,4252,1173,4251,1172,4248,1166,4243,1160,4241,1158,4242,1155,4242,1154,4242,1153,4243,1151,4244,1150,4246,1148,4245,1140,4245,1138,4243,1136,"Q",4240,1132,4237,1127,"Z"]],label:"Iowa",shortLabel:"IA",labelPosition:[396.6,139.3],labelAlignment:["center","middle"]},MO:{outlines:[["M",4202,1700,"Q",4205,1685,4209,1670,4210,1668,4210,1666,
4211,1659,4213,1659,4212,1658,4211,1656,4210,1655,4209,1654,4204,1652,4202,1647,4190,1623,4171,1606,4167,1604,4163,1601,4161,1613,4154,1617,"L",3672,1612,3672,1615,"Q",3676,1625,3677,1633,3678,1640,3683,1643,3684,1643,3685,1644,3695,1660,3706,1675,3709,1678,3713,1682,"L",3713,1681,3713,1682,"Q",3714,1682,3714,1683,"L",3714,1685,"Q",3714,1684,3713,1682,"L",3713,1682,"Q",3714,1691,3717,1700,3717,1701,3718,1701,3723,1704,3725,1702,3731,1704,3732,1709,3732,1711,3731,1712,3731,1713,3730,1713,3730,1714,
3729,1715,3732,1720,3738,1723,3742,1726,3747,1726,3756,1728,3759,1733,3760,1735,3760,1737,3761,1748,3773,1757,3774,1758,3774,1759,3775,1765,3773,1770,3773,1772,3772,1774,3770,1778,3769,1783,3763,1785,3758,1789,3752,1795,3756,1798,3772,1814,3783,1832,3789,1842,3794,1851,3796,1856,3801,1858,3806,1860,3808,1863,3812,1873,3812,1884,3813,1905,3809,1923,3808,1927,3808,1932,3809,1941,3807,1948,3806,1954,3807,1960,3808,1962,3808,1965,3808,1974,3810,1983,3810,1987,3810,1991,3809,2001,3810,2011,3810,2021,3811,
2029,3811,2031,3811,2033,3810,2056,3811,2079,3811,2088,3810,2096,3810,2112,3812,2129,3814,2152,3813,2192,3812,2200,3814,2208,3817,2222,3816,2236,3816,2245,3818,2254,3820,2261,3821,2268,"L",4369,2273,"Q",4372,2276,4375,2278,4378,2280,4377,2286,4376,2291,4376,2297,4376,2299,4377,2299,4381,2300,4383,2304,4388,2314,4380,2321,4376,2324,4372,2325,4362,2330,4353,2336,4350,2338,4347,2343,4367,2346,4387,2348,4391,2349,4395,2349,4404,2349,4413,2350,4428,2351,4438,2343,4438,2342,4439,2341,4440,2339,4440,2337,
4442,2329,4441,2319,4441,2316,4441,2312,4442,2301,4447,2291,4450,2286,4449,2279,4448,2273,4449,2269,4450,2262,4455,2258,4458,2256,4460,2254,4466,2250,4472,2246,4483,2237,4488,2226,4493,2215,4485,2205,4482,2201,4483,2196,4483,2196,4482,2197,4480,2190,4475,2188,4470,2187,4469,2184,4462,2172,4456,2159,4455,2155,4451,2152,4448,2153,4447,2147,4447,2144,4449,2142,4452,2138,4454,2134,4458,2126,4459,2117,4460,2107,4456,2097,4444,2065,4414,2049,4398,2041,4385,2030,4374,2022,4363,2012,4358,2007,4353,2002,4350,
1998,4349,1992,4349,1991,4350,1989,4352,1983,4352,1976,4352,1975,4353,1974,4353,1972,4354,1970,4354,1969,4355,1967,4356,1956,4361,1951,4367,1944,4372,1938,4378,1932,4373,1924,4373,1923,4373,1921,4373,1911,4373,1900,4373,1899,4373,1897,4373,1888,4366,1886,4364,1886,4364,1885,4362,1882,4359,1882,4357,1882,4356,1882,4345,1888,4334,1893,4320,1899,4305,1902,4304,1890,4304,1878,4303,1862,4301,1845,4301,1844,4300,1844,4295,1843,4291,1840,4280,1833,4276,1823,4270,1810,4266,1797,4263,1788,4252,1786,4247,1785,
4243,1782,4242,1782,4241,1781,4237,1774,4235,1768,4233,1761,4226,1758,4225,1758,4224,1758,4217,1758,4211,1754,4209,1753,4207,1746,4207,1738,4204,1731,4202,1728,4202,1725,"Q",4200,1713,4202,1700,"Z"]],label:"Missouri",shortLabel:"MO",labelPosition:[408.1,197.5],labelAlignment:["center","middle"]},AR:{outlines:[["M",4369,2272,"L",3823,2267,3823,2275,"Q",3825,2300,3825,2326,3824,2337,3826,2347,3828,2359,3831,2370,3835,2385,3839,2399,3839,2403,3838,2405,3837,2407,3837,2409,3837,2419,3840,2427,3841,2430,
3841,2432,3843,2436,3844,2440,3845,2442,3845,2444,3845,2453,3843,2462,3842,2464,3841,2466,3840,2472,3838,2478,3836,2484,3836,2490,3835,2509,3834,2528,3834,2548,3831,2567,3828,2587,3827,2607,3826,2621,3826,2635,3826,2644,3825,2653,3824,2661,3825,2668,3825,2670,3826,2672,3827,2676,3825,2678,3824,2679,3825,2681,3827,2685,3828,2688,3829,2689,3830,2690,3833,2692,3835,2695,3837,2699,3840,2702,3841,2704,3843,2705,3846,2709,3849,2710,3860,2712,3872,2712,3879,2712,3885,2713,3886,2713,3887,2714,3890,2717,3891,
2722,3892,2728,3891,2731,3891,2735,3891,2738,3894,2749,3894,2760,3895,2771,3894,2782,"L",3894,2789,4242,2788,"Q",4242,2786,4243,2784,4244,2779,4242,2776,4242,2775,4241,2774,4239,2770,4239,2766,4239,2764,4237,2762,4238,2756,4238,2751,4237,2713,4255,2679,4256,2678,4256,2676,4258,2670,4260,2666,4262,2662,4266,2656,4275,2640,4282,2630,4286,2625,4289,2620,4300,2604,4305,2585,4306,2583,4307,2580,4328,2550,4347,2518,4349,2515,4350,2513,4356,2501,4365,2495,4366,2494,4367,2494,4366,2492,4366,2490,4367,2485,
4372,2482,4378,2477,4377,2470,4376,2460,4376,2457,4376,2450,4380,2447,4381,2447,4382,2446,4383,2443,4385,2441,4400,2431,4399,2409,4399,2400,4408,2394,4411,2392,4412,2389,4416,2373,4425,2361,4433,2350,4439,2342,4428,2351,4413,2349,4404,2349,4395,2348,4392,2348,4388,2348,4368,2345,4347,2342,4350,2338,4354,2335,4363,2330,4372,2325,4377,2323,4380,2320,4389,2314,4384,2304,4382,2300,4377,2298,4377,2298,4377,2296,4377,2290,4378,2285,4379,2279,4375,2277,"Q",4372,2275,4369,2272,"Z"]],label:"Arkansas",shortLabel:"AR",
labelPosition:[413.1,252.8],labelAlignment:["center","middle"]},LA:{outlines:[["M",4257,2894,"Q",4255,2885,4249,2876,4242,2866,4238,2855,4234,2842,4235,2828,4235,2815,4237,2801,4237,2800,4237,2799,4240,2794,4241,2788,"L",3892,2789,"Q",3891,2795,3886,2799,3886,2799,3886,2800,3886,2803,3886,2806,3885,2807,3885,2808,3884,2814,3884,2819,3885,2843,3885,2867,3885,2872,3884,2876,3881,2892,3884,2908,3884,2910,3885,2911,3892,2928,3890,2948,3890,2950,3889,2951,3887,2957,3889,2962,3894,2975,3903,2981,3908,2985,
3912,2990,3928,3013,3932,3040,3936,3065,3941,3090,3942,3099,3947,3110,3947,3112,3948,3113,3951,3119,3948,3124,3947,3125,3946,3126,3937,3137,3929,3149,3928,3150,3927,3151,3924,3161,3924,3173,3925,3188,3922,3202,3919,3218,3913,3234,3913,3235,3912,3235,3911,3236,3910,3237,3906,3242,3903,3246,3898,3254,3896,3267,3896,3268,3896,3269,3893,3275,3899,3280,3901,3282,3905,3282,3905,3282,3906,3282,3913,3281,3920,3282,3921,3282,3922,3282,3937,3283,3952,3283,3954,3283,3955,3283,3981,3279,4007,3281,4014,3282,4018,
3284,4031,3290,4042,3298,4049,3303,4058,3306,4068,3309,4079,3309,4086,3310,4090,3308,4092,3307,4094,3307,4099,3306,4101,3308,4103,3309,4104,3308,4112,3305,4117,3301,4120,3298,4123,3294,4128,3289,4134,3282,4136,3279,4139,3280,4156,3282,4167,3293,4175,3301,4178,3314,4181,3316,4186,3316,4189,3316,4191,3315,4195,3313,4200,3311,4200,3311,4201,3311,4207,3310,4211,3312,4212,3313,4213,3313,4217,3314,4218,3316,4219,3317,4219,3317,4221,3319,4222,3321,4224,3331,4226,3341,4227,3345,4229,3348,4229,3349,4230,3350,
4243,3353,4255,3359,4260,3362,4266,3362,4271,3363,4277,3363,4278,3363,4279,3364,4283,3366,4287,3368,4290,3370,4294,3370,4304,3371,4311,3369,4314,3368,4316,3366,4316,3366,4316,3365,4319,3356,4321,3349,4322,3347,4324,3346,4331,3343,4335,3345,4352,3352,4366,3364,4372,3368,4378,3370,4382,3372,4384,3369,4387,3366,4390,3363,4392,3360,4390,3356,4386,3346,4385,3335,4384,3326,4388,3319,4391,3315,4398,3315,4401,3315,4404,3317,4405,3318,4406,3318,4410,3321,4414,3324,4416,3326,4418,3328,4420,3329,4421,3331,4423,
3337,4425,3343,4425,3345,4426,3346,4439,3361,4455,3370,4463,3375,4471,3378,4474,3379,4476,3379,4480,3379,4484,3380,4491,3380,4495,3377,4505,3371,4508,3360,4511,3350,4506,3339,4503,3334,4498,3330,4486,3321,4475,3312,4463,3301,4453,3288,4450,3285,4451,3280,4453,3274,4457,3268,4459,3266,4462,3267,4465,3267,4467,3268,"L",4471,3266,"Q",4475,3262,4479,3259,4481,3256,4481,3253,4481,3253,4481,3252,4482,3249,4481,3246,4481,3246,4481,3245,4482,3240,4479,3237,4475,3233,4470,3231,4469,3230,4468,3230,4464,3229,
4459,3229,4452,3229,4445,3229,4439,3229,4437,3232,4436,3233,4435,3234,4434,3234,4434,3235,4433,3238,4429,3241,4427,3243,4423,3243,4421,3243,4419,3242,4417,3242,4414,3242,4411,3241,4407,3240,4400,3238,4393,3236,4391,3235,4389,3234,4388,3234,4386,3234,4381,3233,4376,3233,4372,3232,4368,3232,4350,3232,4336,3222,4332,3220,4331,3214,4331,3213,4331,3211,4338,3200,4346,3192,4353,3185,4362,3182,4371,3178,4380,3178,4383,3178,4386,3179,4391,3180,4394,3182,4395,3183,4397,3184,4400,3187,4402,3192,4404,3200,4410,
3203,4411,3204,4413,3204,4416,3206,4421,3207,4423,3208,4426,3209,4428,3210,4430,3212,4432,3213,4435,3215,4436,3215,4436,3215,4437,3214,4441,3214,4443,3215,4445,3215,4448,3215,4449,3215,"L",4449,3214,"Q",4432,3199,4428,3182,4425,3170,4421,3159,4419,3154,4418,3147,4417,3143,4419,3143,4419,3137,4415,3135,4414,3134,4412,3133,4408,3130,4412,3124,4418,3116,4425,3110,4429,3107,4430,3103,4431,3096,4427,3094,4418,3088,4405,3090,4402,3091,4400,3091,4381,3092,4363,3092,4351,3092,4341,3090,4331,3089,4321,3087,
4319,3087,4317,3087,4307,3085,4297,3083,4288,3082,4280,3081,4278,3081,4275,3081,4268,3083,4262,3083,4257,3084,4254,3085,4253,3086,4251,3086,4243,3087,4236,3088,4230,3088,4223,3087,4222,3087,4221,3087,4213,3085,4205,3083,4200,3081,4200,3078,4202,3056,4210,3035,4213,3027,4217,3020,4233,2993,4248,2967,4256,2953,4259,2938,"Q",4263,2916,4257,2894,"Z"]],label:"Louisiana",shortLabel:"LA",labelPosition:[406.6,300.4],labelAlignment:["center","middle"]},WI:{outlines:[["M",4407,647,"Q",4398,642,4393,637,4390,
634,4389,632,4384,628,4378,620,4375,616,4370,609,4370,608,4368,607,4364,602,4364,597,4364,595,4365,593,4364,593,4362,593,4348,587,4331,589,4325,590,4318,589,4311,588,4307,586,4302,584,4297,582,4288,577,4280,570,4277,568,4275,564,4270,558,4275,553,4280,549,4287,547,4288,547,4289,546,4292,543,4290,541,4289,541,4288,539,4286,535,4282,534,4274,530,4265,528,4258,527,4255,529,4254,530,4252,530,4242,531,4237,535,4228,545,4213,548,4205,550,4200,553,4191,558,4187,561,4186,561,4184,561,4175,560,4169,562,4167,
563,4164,563,4151,564,4143,565,4136,566,4133,566,4130,566,4122,567,4114,568,4099,570,4101,575,4100,581,4100,582,4100,583,4100,585,4100,587,4099,589,4100,592,4111,627,4101,662,4096,676,4087,688,4075,704,4060,717,4049,726,4038,734,4032,739,4032,747,4032,748,4032,749,4031,753,4032,756,4032,757,4032,758,4039,770,4049,778,4056,783,4061,790,4062,791,4062,793,4060,803,4055,811,4050,820,4050,834,4050,836,4051,837,4056,849,4052,861,4051,863,4051,865,4051,870,4049,873,4048,874,4048,876,4047,888,4049,902,4050,
909,4055,913,4053,915,4056,918,4062,925,4063,933,4063,935,4065,936,4081,946,4097,955,4111,963,4125,969,4132,973,4136,978,4147,993,4154,1010,4157,1018,4162,1023,4166,1027,4173,1029,4183,1031,4191,1035,4192,1035,4193,1036,4197,1037,4199,1038,4211,1049,4228,1052,4229,1052,4230,1053,4232,1057,4238,1063,4239,1064,4239,1066,4239,1072,4238,1079,4236,1091,4232,1101,4228,1110,4232,1119,4234,1123,4237,1127,4240,1131,4243,1136,4245,1138,4245,1140,4246,1147,4244,1150,4243,1151,4242,1152,4242,1153,4242,1154,4241,
1158,4243,1160,4248,1166,4251,1171,4252,1173,4252,1174,4253,1182,4250,1188,4245,1199,4241,1211,4236,1225,4243,1235,4244,1236,4245,1236,4264,1245,4280,1256,4290,1263,4300,1268,4303,1270,4306,1271,4308,1272,4309,1274,4313,1279,4313,1287,4313,1290,4313,1293,4319,1292,4324,1291,4330,1290,4335,1291,4339,1293,4344,1294,4352,1296,4360,1299,4365,1301,4368,1299,4370,1298,4372,1298,4393,1299,4412,1295,4424,1292,4436,1288,4440,1287,4445,1288,4464,1291,4482,1293,4508,1296,4534,1297,4536,1297,4537,1297,4548,1298,
4559,1298,4564,1299,4569,1299,4575,1300,4578,1298,4582,1296,4589,1295,4591,1295,4593,1294,4604,1292,4615,1293,4623,1294,4631,1294,4645,1295,4658,1299,"L",4658,1299,"Q",4659,1297,4660,1295,4664,1285,4668,1276,4671,1269,4669,1264,4665,1250,4655,1237,4652,1233,4647,1230,4642,1225,4640,1219,4640,1215,4638,1212,4635,1207,4637,1200,4638,1199,4638,1198,4639,1191,4640,1185,4641,1184,4641,1182,4646,1161,4648,1139,4650,1124,4652,1109,4656,1082,4662,1055,4667,1033,4682,1024,4685,1022,4687,1018,4689,1016,4689,
1014,4693,1002,4696,990,4701,966,4708,943,4714,927,4724,911,4735,894,4747,876,4750,872,4752,866,4755,859,4756,848,4756,847,4756,845,4757,837,4758,830,4754,830,4749,831,4748,831,4747,832,4741,839,4737,845,4736,847,4736,848,4733,853,4733,859,4733,868,4728,871,4726,872,4725,873,4715,880,4706,887,4694,896,4685,909,4672,927,4660,945,4657,949,4653,952,4651,946,4651,941,4653,929,4659,919,4666,907,4673,896,4685,878,4692,858,4688,852,4683,846,4677,839,4674,829,4673,822,4669,815,4668,813,4668,811,4671,805,
4672,799,4673,792,4674,786,4675,778,4671,771,4655,748,4638,735,4636,733,4636,729,4636,727,4635,725,4632,718,4627,715,4626,714,4624,714,4618,714,4613,712,4607,710,4602,709,4584,705,4572,694,4564,685,4550,685,4548,685,4546,685,4532,684,4517,682,4504,673,4491,671,4490,671,4489,670,4481,665,4475,663,4446,653,4412,649,"Q",4409,648,4407,647,"Z"]],label:"Wisconsin",shortLabel:"WI",labelPosition:[439.4,91.2],labelAlignment:["center","middle"]},IL:{outlines:[["M",4658,1299,"L",4658,1299,"Q",4645,1296,4631,
1295,4623,1294,4615,1293,4604,1292,4593,1295,4591,1295,4589,1295,4582,1296,4578,1299,4575,1301,4569,1300,4564,1299,4559,1299,4548,1298,4537,1297,4536,1297,4534,1297,4508,1296,4482,1293,4464,1291,4445,1288,4440,1287,4436,1289,4424,1293,4412,1295,4393,1299,4372,1298,4370,1298,4368,1299,4365,1301,4360,1300,4352,1297,4344,1295,4339,1293,4335,1292,4330,1290,4324,1292,4319,1293,4313,1293,4314,1302,4318,1309,4328,1328,4342,1345,4353,1357,4365,1368,4371,1372,4371,1380,4371,1386,4371,1391,4371,1399,4369,1407,
4367,1417,4360,1424,4351,1436,4342,1447,4335,1456,4329,1466,4323,1477,4308,1485,4296,1492,4281,1492,4269,1493,4258,1495,4256,1496,4256,1499,4254,1506,4256,1509,4257,1510,4257,1512,4256,1514,4256,1516,4255,1525,4261,1532,4269,1540,4273,1548,4274,1549,4274,1551,4275,1553,4275,1554,4275,1555,4274,1556,4273,1562,4269,1564,4267,1566,4264,1567,4258,1572,4250,1584,4247,1588,4246,1593,4245,1594,4245,1595,4237,1618,4225,1640,4222,1646,4219,1652,4219,1654,4218,1655,4215,1660,4213,1659,4211,1659,4210,1666,4210,
1668,4209,1670,4205,1685,4202,1700,4200,1713,4202,1725,4202,1728,4204,1731,4207,1738,4207,1746,4209,1753,4211,1754,4217,1758,4224,1758,4225,1758,4226,1758,4233,1761,4235,1768,4237,1774,4241,1781,4242,1782,4243,1782,4247,1785,4252,1786,4263,1788,4266,1797,4270,1810,4276,1823,4280,1833,4291,1840,4295,1843,4300,1844,4301,1844,4301,1845,4303,1862,4304,1878,4304,1890,4305,1902,4320,1899,4334,1893,4345,1888,4356,1882,4357,1882,4359,1882,4362,1882,4364,1885,4364,1886,4366,1886,4373,1888,4373,1897,4373,1899,
4373,1900,4373,1911,4373,1921,4373,1923,4373,1924,4378,1932,4372,1938,4367,1944,4361,1951,4356,1956,4355,1967,4354,1969,4354,1970,4353,1972,4353,1974,4352,1975,4352,1976,4352,1983,4350,1989,4349,1991,4349,1992,4350,1998,4353,2002,4358,2007,4363,2012,4374,2022,4385,2030,4398,2041,4414,2049,4444,2065,4456,2097,4460,2107,4459,2117,4458,2126,4454,2134,4452,2138,4449,2142,4447,2144,4447,2147,4448,2153,4451,2152,4455,2155,4456,2159,4462,2172,4469,2184,4470,2187,4475,2188,4480,2190,4482,2197,4483,2196,4483,
2196,4485,2193,4486,2186,4488,2181,4490,2178,4495,2170,4501,2164,4504,2162,4506,2160,4511,2156,4518,2161,4519,2162,4521,2163,4527,2166,4535,2168,4552,2173,4571,2173,4580,2173,4581,2170,4588,2153,4587,2132,4586,2129,4585,2125,4599,2123,4611,2120,4613,2119,4615,2119,4617,2119,4618,2117,4636,2094,4633,2067,4632,2060,4630,2053,4627,2045,4628,2035,4628,2032,4628,2029,4629,2028,4630,2027,4651,2003,4672,1984,4674,1983,4675,1980,4689,1950,4697,1920,4700,1911,4694,1899,4689,1890,4689,1880,4689,1866,4693,1852,
4696,1844,4698,1836,4699,1832,4697,1830,4696,1829,4696,1827,4696,1823,4696,1819,"L",4696,1818,"Q",4698,1817,4697,1815,4697,1813,4698,1807,4699,1801,4701,1790,4701,1787,4703,1783,4703,1781,4703,1779,4704,1767,4701,1757,4700,1755,4700,1753,4700,1735,4700,1716,4700,1706,4698,1696,4692,1675,4694,1652,4695,1627,4695,1602,4694,1564,4693,1525,4693,1523,4693,1521,4691,1484,4693,1449,4694,1447,4694,1445,4691,1443,4691,1438,4691,1436,4691,1434,4690,1420,4691,1405,4691,1403,4691,1401,"L",4691,1398,"Q",4690,
1398,4689,1396,4679,1383,4669,1370,4666,1366,4662,1361,4661,1360,4660,1358,4659,1357,4658,1356,4656,1352,4656,1350,4655,1343,4656,1337,4659,1325,4658,1315,4658,1310,4656,1307,4655,1306,4656,1304,"Q",4657,1302,4658,1299,"Z"]],label:"Illinois",shortLabel:"IL",labelPosition:[445.2,174.2],labelAlignment:["center","middle"]},KY:{outlines:[["M",5123,1914,"Q",5110,1915,5107,1907,5107,1905,5106,1904,5104,1901,5104,1898,5105,1886,5101,1878,5100,1877,5099,1876,5088,1873,5077,1868,5075,1868,5075,1866,5071,1855,
5060,1854,5059,1854,5057,1855,5055,1856,5049,1857,5046,1858,5042,1858,5036,1862,5035,1872,5035,1874,5035,1876,5035,1885,5037,1894,5037,1898,5035,1899,5034,1900,5034,1902,5033,1903,5033,1903,5030,1909,5023,1910,5020,1911,5017,1909,5016,1909,5014,1909,5005,1909,4997,1914,4996,1914,4994,1914,4985,1914,4977,1910,4955,1930,4935,1952,4929,1958,4926,1966,4925,1968,4922,1970,4917,1974,4917,1981,4917,1983,4917,1984,4915,1990,4909,1992,4903,1994,4901,1997,4901,1998,4900,1999,4898,2003,4899,2007,4903,2023,4891,
2032,4876,2042,4864,2032,4857,2026,4853,2018,4853,2017,4853,2016,"L",4852,2012,"Q",4842,2015,4834,2023,4819,2038,4806,2054,4799,2064,4791,2073,4783,2055,4778,2036,4767,2045,4757,2055,4749,2065,4739,2069,4735,2070,4729,2065,4716,2052,4699,2049,4695,2049,4693,2050,4692,2051,4690,2051,4681,2052,4676,2054,4663,2060,4648,2065,4643,2067,4638,2067,4637,2067,4635,2065,4634,2066,4633,2067,4633,2067,4633,2067,4636,2094,4618,2117,4617,2118,4615,2118,4613,2119,4611,2119,4599,2123,4585,2125,4586,2128,4587,2132,
4588,2152,4581,2169,4580,2172,4571,2172,4552,2172,4535,2168,4527,2165,4521,2163,4519,2162,4518,2161,4511,2155,4506,2160,4504,2162,4501,2164,4495,2170,4490,2178,4488,2181,4486,2185,4485,2193,4483,2196,4482,2200,4485,2204,4493,2215,4488,2225,4483,2237,4472,2245,4466,2250,4460,2254,4458,2255,4455,2258,4450,2261,4449,2268,"L",5209,2253,"Q",5212,2249,5215,2245,5226,2234,5239,2224,5251,2216,5263,2207,5265,2205,5271,2202,5272,2202,5273,2201,5284,2198,5292,2190,5293,2189,5294,2187,5296,2185,5299,2182,5310,
2173,5323,2169,5330,2167,5335,2162,5337,2160,5338,2159,5356,2145,5373,2129,5377,2126,5377,2121,5375,2118,5373,2114,5372,2111,5369,2107,5367,2103,5366,2101,5361,2095,5355,2090,5341,2078,5330,2063,5321,2050,5316,2034,5314,2027,5312,2020,5311,2013,5310,2007,5309,1997,5311,1987,5312,1983,5313,1980,5314,1979,5314,1979,5309,1974,5306,1967,5304,1961,5298,1958,5297,1958,5297,1957,5294,1951,5291,1950,5289,1949,5287,1947,5286,1946,5285,1944,5283,1942,5282,1937,5282,1932,5278,1931,5277,1930,5277,1929,5275,1922,
5269,1920,5268,1919,5267,1919,5266,1919,5265,1919,5259,1920,5256,1922,5246,1931,5234,1937,5231,1939,5226,1938,5211,1936,5195,1936,5190,1937,5184,1937,5182,1938,5181,1937,5175,1934,5172,1929,5172,1928,5172,1927,5171,1924,5169,1920,5165,1913,5154,1917,5154,1917,5153,1918,5151,1918,5149,1918,5145,1916,5142,1915,"Q",5133,1913,5123,1914,"Z"]],label:"Kentucky",shortLabel:"KY",labelPosition:[501.3,210.1],labelAlignment:["center","middle"]},TN:{outlines:[["M",5293,2357,"Q",5320,2335,5350,2328,5352,2327,5353,
2326,5354,2324,5359,2324,5361,2325,5363,2324,5371,2324,5377,2321,5391,2314,5407,2308,5417,2305,5419,2298,5420,2296,5420,2294,5426,2274,5440,2247,"L",4449,2268,"Q",4448,2273,4449,2278,4450,2286,4447,2291,4442,2300,4441,2311,4441,2315,4441,2319,4442,2328,4440,2337,4440,2339,4439,2341,4438,2341,4438,2342,4432,2350,4425,2361,4416,2373,4411,2389,4411,2392,4407,2394,4399,2400,4399,2409,4400,2431,4385,2441,4382,2443,4381,2446,4381,2447,4380,2447,4376,2450,4376,2457,4376,2460,4377,2470,4378,2477,4371,2482,
4366,2485,4365,2490,4365,2492,4366,2494,"L",5100,2493,"Q",5100,2490,5101,2488,5101,2486,5101,2484,5102,2482,5103,2481,5110,2473,5115,2466,5118,2463,5119,2456,5119,2455,5120,2454,5124,2446,5131,2441,5133,2439,5138,2438,5157,2432,5178,2421,5193,2413,5210,2405,5212,2404,5214,2403,5224,2402,5232,2397,5243,2389,5255,2378,5256,2376,5258,2375,5263,2370,5273,2366,5275,2365,5275,2364,5277,2360,5284,2360,5290,2361,5291,2359,"Q",5292,2358,5293,2357,"Z"]],label:"Tennessee",shortLabel:"TN",labelPosition:[490.2,
237],labelAlignment:["center","middle"]},MS:{outlines:[["M",4632,2494,"L",4366,2494,"Q",4365,2494,4364,2495,4356,2502,4350,2513,4348,2516,4347,2518,4328,2551,4307,2581,4305,2583,4304,2586,4300,2605,4289,2620,4285,2625,4282,2630,4275,2641,4266,2656,4262,2662,4260,2667,4257,2671,4256,2676,4255,2678,4254,2680,4237,2714,4238,2752,4238,2757,4236,2762,4239,2765,4239,2766,4239,2771,4241,2774,4241,2776,4242,2777,4244,2780,4242,2785,4242,2787,4241,2788,4240,2794,4237,2799,4237,2800,4237,2801,4235,2815,4235,
2829,4234,2843,4238,2856,4242,2867,4249,2877,4255,2885,4257,2894,4263,2916,4259,2938,4256,2953,4248,2967,4233,2994,4217,3020,4213,3028,4210,3036,4202,3057,4200,3078,4200,3081,4205,3083,4213,3086,4221,3088,4222,3088,4223,3088,4230,3089,4236,3088,4243,3087,4251,3087,4253,3087,4254,3086,4257,3084,4262,3084,4268,3083,4275,3082,4278,3081,4280,3082,4288,3083,4297,3084,4307,3085,4317,3087,4319,3088,4321,3088,4331,3089,4341,3091,4351,3093,4363,3093,4381,3092,4400,3091,4402,3091,4405,3091,4418,3088,4427,3094,
4431,3096,4430,3103,4429,3108,4425,3110,4418,3116,4412,3125,4408,3131,4412,3134,4414,3135,4415,3136,4419,3137,4419,3143,4417,3144,4418,3148,4419,3154,4421,3160,4425,3170,4428,3183,4432,3199,4449,3215,4450,3215,4450,3214,4456,3210,4465,3208,4477,3206,4489,3203,4500,3200,4511,3199,4525,3199,4539,3203,4544,3204,4548,3204,4565,3203,4581,3200,4583,3200,4585,3199,4588,3199,4590,3199,4590,3197,4590,3195,4590,3193,4591,3190,4593,3183,4591,3173,4590,3166,4588,3162,4588,3160,4587,3158,4586,3152,4586,3145,4585,
3136,4585,3125,4585,3123,4585,3121,4586,3113,4588,3107,4588,3105,4589,3103,4587,3093,4589,3088,"L",4585,3088,"Q",4588,3079,4589,3068,4589,3067,4589,3065,4583,3051,4576,3039,4567,3021,4569,3E3,4572,2982,4573,2962,4573,2960,4573,2959,4573,2958,4573,2958,4572,2957,4572,2956,4571,2954,4572,2952,4576,2940,4579,2925,4583,2910,4586,2895,4588,2890,4587,2884,4587,2882,4587,2880,4586,2872,4587,2864,4587,2858,4588,2853,4589,2841,4588,2838,4587,2829,4586,2820,4586,2817,4587,2814,4590,2804,4595,2793,4595,2792,
4596,2791,4604,2773,4602,2752,4602,2745,4601,2739,4601,2736,4600,2734,4597,2724,4598,2713,4598,2708,4600,2703,4606,2682,4609,2658,4610,2656,4610,2654,4616,2640,4614,2623,4614,2621,4613,2619,4611,2612,4612,2604,4617,2582,4621,2558,4624,2546,4628,2535,4631,2526,4631,2516,4631,2514,4631,2513,"Q",4630,2508,4632,2494,"Z"]],label:"Mississippi",shortLabel:"MS",labelPosition:[442.3,277.5],labelAlignment:["center","middle"]},AL:{outlines:[["M",4938,2494,"L",4632,2494,"Q",4630,2508,4631,2513,4631,2514,4631,
2516,4631,2526,4628,2535,4624,2546,4621,2558,4617,2582,4612,2604,4611,2612,4613,2619,4614,2621,4614,2623,4616,2640,4610,2654,4610,2656,4609,2658,4606,2682,4600,2703,4598,2708,4598,2713,4597,2724,4600,2734,4601,2736,4601,2739,4602,2745,4602,2752,4604,2773,4596,2791,4595,2792,4595,2793,4590,2804,4587,2814,4586,2817,4586,2820,4587,2829,4588,2838,4589,2841,4588,2853,4587,2858,4587,2864,4586,2872,4587,2880,4587,2882,4587,2884,4588,2890,4586,2895,4583,2910,4579,2925,4576,2940,4572,2952,4571,2954,4572,2956,
4572,2957,4573,2958,4573,2958,4573,2959,4573,2960,4573,2962,4572,2982,4569,3E3,4567,3021,4576,3039,4583,3051,4589,3065,4589,3067,4589,3068,4588,3079,4585,3088,"L",4588,3088,"Q",4586,3093,4589,3102,4588,3104,4587,3106,4585,3113,4585,3121,4585,3123,4585,3125,4584,3135,4585,3145,4586,3151,4587,3158,4587,3160,4588,3161,4589,3166,4590,3172,4592,3183,4590,3190,4589,3192,4590,3195,4590,3197,4590,3198,4596,3198,4601,3197,4608,3194,4613,3192,4616,3191,4616,3187,4617,3186,4617,3185,4618,3184,4618,3183,4618,
3181,4618,3180,4620,3174,4622,3178,4631,3174,4637,3163,4639,3158,4643,3155,4645,3154,4646,3153,4650,3147,4653,3145,4653,3156,4654,3167,4658,3173,4656,3182,4656,3183,4655,3184,4650,3188,4650,3195,4650,3197,4653,3200,4662,3207,4671,3208,4673,3209,4675,3209,4691,3211,4697,3200,4702,3193,4707,3186,4710,3181,4717,3181,4722,3181,4727,3182,4727,3179,4725,3175,4724,3171,4722,3167,4722,3166,4721,3165,4719,3164,4720,3159,4720,3159,4720,3158,4720,3153,4718,3149,4710,3136,4702,3123,4698,3116,4696,3109,4693,3099,
4692,3088,"L",5007,3088,5007,3084,"Q",5007,3083,5006,3082,5006,3081,5006,3079,5007,3069,5010,3057,5012,3050,5013,3043,5014,3032,5010,3022,5006,3014,5E3,3006,4993,2998,4992,2987,4992,2974,4997,2962,5E3,2956,5003,2950,5004,2946,5005,2943,5008,2936,5008,2926,5007,2913,5009,2904,5011,2897,5014,2891,5017,2884,5016,2875,5016,2870,5015,2866,5015,2864,5014,2863,5012,2860,5009,2857,5004,2850,5E3,2844,4992,2833,4984,2816,4976,2797,4971,2776,4967,2760,4968,2742,4968,2724,4967,2705,4965,2686,4962,2667,4960,2648,
4959,2628,4959,2625,4958,2623,4956,2612,4950,2604,4950,2603,4949,2603,4942,2599,4940,2593,4937,2586,4938,2578,4938,2577,4937,2575,4937,2572,4937,2569,4936,2541,4937,2512,"Q",4938,2510,4938,2494,"Z"]],label:"Alabama",shortLabel:"AL",labelPosition:[479.2,279.1],labelAlignment:["center","middle"]},GA:{outlines:[["M",5245,2517,"Q",5247,2516,5248,2514,5261,2501,5278,2493,"L",4938,2493,"Q",4938,2509,4937,2511,4936,2540,4937,2568,4937,2571,4937,2574,4938,2576,4938,2577,4937,2585,4940,2592,4942,2598,4949,
2602,4950,2602,4950,2603,4956,2611,4958,2622,4959,2624,4959,2627,4960,2647,4962,2666,4965,2685,4967,2704,4968,2723,4968,2741,4967,2759,4971,2775,4976,2796,4984,2815,4992,2832,5E3,2843,5004,2849,5009,2856,5012,2859,5014,2862,5015,2863,5015,2865,5016,2869,5016,2874,5017,2883,5014,2890,5011,2896,5009,2903,5007,2912,5008,2925,5008,2935,5005,2942,5004,2945,5003,2949,5E3,2955,4997,2961,4992,2973,4992,2986,4993,2997,5E3,3005,5006,3013,5010,3021,5014,3031,5013,3042,5012,3049,5010,3056,5007,3068,5006,3078,
5006,3080,5006,3081,5007,3082,5007,3083,5008,3085,5009,3087,5011,3090,5012,3095,5013,3097,5014,3098,5020,3105,5026,3116,5026,3117,5026,3119,5026,3125,5026,3132,5026,3138,5032,3140,5035,3141,5037,3141,5071,3142,5104,3144,5126,3145,5148,3146,5156,3146,5165,3145,5201,3144,5236,3151,5237,3151,5238,3152,5246,3162,5258,3158,5261,3158,5264,3158,5273,3157,5281,3155,5285,3154,5290,3154,5299,3154,5308,3155,5309,3155,5310,3156,5311,3159,5316,3161,5323,3165,5331,3168,5332,3169,5334,3169,5348,3171,5359,3177,5361,
3178,5364,3182,5367,3186,5371,3183,5379,3176,5385,3167,5390,3160,5394,3157,5385,3142,5374,3130,5379,3127,5384,3125,5387,3124,5389,3123,5393,3120,5400,3122,5403,3123,5406,3123,5419,3123,5420,3134,5431,3135,5441,3135,5445,3135,5450,3135,5454,3128,5458,3120,5459,3119,5459,3118,5458,3110,5454,3101,5454,3099,5453,3097,5454,3095,5455,3094,5456,3093,5457,3091,5458,3090,5459,3087,5463,3081,5467,3076,5468,3074,5469,3072,5470,3071,5471,3069,5474,3064,5477,3060,5486,3049,5491,3035,5498,3020,5502,3004,5511,2974,
5520,2944,5518,2948,5512,2944,5505,2938,5499,2931,5491,2923,5486,2912,5479,2896,5479,2879,5478,2864,5470,2855,5468,2854,5467,2851,5466,2850,5466,2848,5462,2840,5458,2833,5458,2832,5457,2831,5456,2825,5455,2819,5455,2817,5454,2815,5449,2806,5437,2798,5430,2793,5422,2785,5420,2783,5419,2778,5415,2763,5409,2750,5408,2749,5407,2747,5401,2740,5395,2732,5390,2726,5386,2721,5385,2720,5384,2719,5380,2714,5376,2710,5351,2690,5329,2667,5321,2659,5313,2651,5312,2650,5311,2649,5302,2636,5293,2625,5292,2624,5292,
2623,5291,2616,5286,2612,5281,2609,5276,2607,5275,2606,5273,2606,5270,2605,5267,2603,5258,2593,5250,2582,5234,2558,5222,2531,5223,2528,5227,2527,5228,2527,5229,2526,"Q",5239,2521,5245,2517,"Z"]],label:"Georgia",shortLabel:"GA",labelPosition:[522.9,283.8],labelAlignment:["center","middle"]},MI:{outlines:[["M",5027,556,"Q",5026,555,5025,554,5013,549,5001,554,4991,557,4979,558,4978,558,4977,558,4965,559,4953,559,4939,559,4928,568,4926,570,4923,572,4916,576,4907,577,4906,577,4904,577,4887,576,4876,581,
4874,582,4872,582,4864,583,4861,589,4855,600,4845,609,4843,611,4841,612,4832,616,4821,618,4820,617,4819,616,4815,610,4808,608,4782,603,4756,600,4733,598,4710,600,4709,600,4708,599,4705,592,4700,584,4692,571,4688,556,4687,554,4687,552,4688,538,4675,532,4666,527,4655,523,4642,522,4629,522,4616,521,4609,530,4606,534,4602,536,4601,537,4600,537,4596,538,4596,541,4595,540,4595,539,4594,537,4593,536,4592,534,4591,532,4586,527,4584,521,4583,519,4582,517,4579,511,4586,504,4588,502,4590,498,4591,497,4592,496,
4604,483,4625,470,4636,464,4645,457,4658,446,4663,431,4664,428,4657,424,4643,418,4627,415,4617,414,4609,421,4592,433,4574,446,4569,450,4564,455,4563,456,4562,457,4560,461,4560,467,4561,477,4556,484,4553,488,4550,489,4548,489,4546,490,4538,491,4530,492,4517,494,4506,504,4499,510,4491,513,4480,517,4474,526,4474,527,4473,527,4458,533,4443,532,4442,532,4441,531,4437,527,4432,531,4431,532,4429,533,4424,537,4419,542,4418,544,4416,544,4408,545,4401,548,4388,553,4379,563,4367,576,4365,593,4364,595,4364,597,
4364,602,4368,607,4370,608,4370,609,4375,616,4378,620,4384,628,4389,632,4390,634,4393,637,4398,642,4407,647,4409,648,4412,649,4446,653,4475,663,4481,665,4489,670,4490,671,4491,671,4504,673,4517,682,4532,684,4546,685,4548,685,4550,685,4564,685,4572,694,4584,705,4602,709,4607,710,4613,712,4618,714,4624,714,4626,714,4627,715,4632,718,4635,725,4636,727,4636,729,4636,733,4638,735,4655,748,4671,771,4675,778,4674,786,4673,792,4672,799,4671,805,4668,811,4668,813,4669,815,4673,822,4674,829,4677,839,4683,846,
4688,852,4692,858,4696,848,4698,837,4700,831,4702,824,4704,817,4707,810,4711,795,4723,783,4724,781,4726,779,4728,776,4730,772,4733,768,4735,760,4735,758,4737,756,4745,745,4758,739,4765,736,4772,733,4773,732,4775,732,4780,730,4784,730,4797,731,4809,734,4818,737,4823,744,4826,747,4825,753,4831,751,4837,748,4839,747,4840,746,4852,733,4860,718,4864,710,4874,707,4876,706,4878,704,4886,699,4895,703,4897,703,4898,703,4910,701,4922,697,4929,694,4935,693,4942,691,4946,689,4955,685,4963,685,4969,685,4976,687,
4994,693,5013,691,5017,691,5017,694,5017,695,5018,695,5024,698,5028,703,5029,705,5030,707,5031,712,5036,718,5032,720,5028,725,5023,735,5017,746,5014,753,5009,760,5007,763,5005,764,5004,766,5001,769,4997,772,4997,779,5001,780,5005,782,5010,785,5011,789,5014,797,5010,801,5003,806,4993,810,4981,814,4974,824,4965,837,4967,852,4967,854,4967,856,4966,871,4964,885,4964,886,4963,887,4958,894,4953,906,4951,910,4946,912,4945,913,4944,912,4940,910,4936,906,4935,906,4936,904,4936,902,4936,900,4937,895,4936,891,
4935,886,4936,882,4936,881,4936,880,4937,872,4938,867,4940,859,4935,856,4931,852,4927,855,4923,858,4920,865,4919,867,4918,869,4904,888,4883,901,4870,909,4863,921,4852,939,4848,959,4846,964,4848,967,4849,968,4849,970,4851,983,4850,998,4850,999,4849,999,4841,1011,4833,1024,4829,1028,4828,1033,4825,1045,4834,1055,4835,1056,4836,1056,4839,1057,4840,1059,4842,1067,4840,1074,4838,1081,4833,1088,4829,1094,4827,1104,4827,1108,4826,1112,4826,1113,4826,1114,4825,1120,4824,1126,4824,1131,4826,1131,4826,1133,
4826,1134,4827,1141,4830,1147,4838,1165,4850,1183,4857,1195,4860,1208,4862,1215,4862,1222,4863,1226,4862,1230,4862,1256,4862,1283,4862,1287,4863,1290,4865,1311,4851,1327,4842,1338,4836,1352,4829,1368,4822,1384,4820,1388,4818,1392,4815,1396,4812,1399,4811,1400,4810,1401,4806,1408,4799,1414,4800,1414,4802,1415,4805,1413,4812,1414,4814,1414,4815,1415,4818,1416,4821,1417,4831,1421,4841,1424,4845,1425,4849,1424,4856,1423,4865,1422,4871,1422,4880,1421,4882,1420,4884,1420,4897,1417,4911,1419,4920,1420,4928,
1418,4930,1418,4931,1419,4939,1424,4948,1423,4957,1422,4964,1423,4986,1426,5007,1424,5015,1423,5022,1424,5031,1426,5040,1427,5048,1429,5055,1430,5080,1435,5105,1436,5115,1437,5125,1435,5146,1432,5167,1428,5179,1426,5191,1427,5195,1428,5199,1428,5208,1429,5217,1430,5224,1430,5227,1427,5226,1420,5228,1414,5230,1411,5232,1408,5235,1401,5237,1394,5238,1387,5243,1381,5249,1373,5254,1368,5256,1365,5257,1361,5257,1357,5258,1353,5258,1352,5259,1351,5259,1348,5260,1344,5260,1342,5260,1340,5262,1315,5285,1300,
5296,1293,5307,1285,5311,1282,5314,1278,5326,1261,5335,1243,5341,1234,5335,1224,5330,1214,5328,1203,5325,1186,5325,1167,5325,1165,5324,1164,5320,1157,5318,1149,5315,1151,5316,1147,5316,1144,5316,1141,5315,1140,5315,1139,5314,1134,5314,1128,5314,1116,5311,1103,5311,1101,5310,1099,5308,1092,5309,1082,5310,1076,5309,1073,5309,1071,5308,1070,5301,1061,5290,1054,5290,1054,5289,1053,5288,1047,5285,1045,5281,1042,5277,1040,5272,1037,5267,1038,5253,1041,5240,1048,5232,1052,5226,1060,5218,1073,5209,1086,5201,
1097,5190,1105,5181,1112,5171,1118,5168,1120,5163,1119,5157,1116,5151,1111,5148,1109,5148,1103,5147,1090,5151,1079,5151,1076,5153,1074,5158,1067,5163,1058,5171,1047,5182,1039,5192,1031,5200,1022,5206,1015,5211,1008,5212,1007,5214,1005,5218,1001,5218,996,5219,990,5221,985,5219,979,5222,974,5228,961,5228,946,5229,932,5226,918,5225,907,5222,897,5220,893,5217,889,5212,883,5214,879,5218,871,5225,863,5228,861,5227,856,5224,844,5219,832,5216,826,5213,821,5200,800,5176,798,5174,798,5173,796,5166,788,5165,
777,5165,775,5164,774,5163,773,5162,769,5161,765,5156,765,5155,765,5154,765,5148,764,5143,764,5127,765,5117,761,5110,757,5101,757,5099,757,5097,757,5091,756,5084,757,5073,759,5069,751,5068,749,5066,745,5066,744,5065,742,5064,740,5063,737,5059,730,5054,724,5054,723,5053,722,5050,719,5046,717,5045,716,5043,714,5043,713,5042,712,5040,705,5043,702,5050,694,5054,688,5056,686,5057,686,5063,684,5069,684,5070,684,5071,684,5082,684,5093,685,5095,685,5097,686,5107,692,5117,695,5124,698,5130,696,5132,696,5134,
695,5139,694,5145,694,5153,695,5158,699,5159,700,5159,701,5164,716,5180,717,5197,717,5196,703,5195,694,5193,688,5190,680,5185,679,5183,679,5180,679,5170,678,5161,680,5160,681,5158,681,5154,684,5147,683,5145,683,5144,682,5139,679,5139,672,5139,671,5138,670,5131,669,5125,666,5116,662,5110,656,5109,655,5109,653,5110,641,5110,627,5110,624,5110,620,5109,613,5106,609,5098,599,5086,603,5080,605,5075,609,5074,610,5073,610,5062,614,5049,613,5041,613,5033,610,5031,610,5029,609,5026,609,5023,609,5014,608,5010,
604,5009,603,5008,602,5007,589,5016,581,5022,576,5028,569,5029,569,5029,567,5030,565,5030,563,"Q",5030,558,5027,556,"Z"]],label:"Michigan",shortLabel:"MI",labelPosition:[502.1,114],labelAlignment:["center","middle"]},IN:{outlines:[["M",4849,1424,"Q",4845,1425,4841,1424,4831,1421,4821,1417,4818,1416,4815,1415,4814,1414,4812,1414,4805,1413,4802,1415,4800,1414,4799,1414,4798,1415,4796,1416,4795,1417,4794,1418,4777,1430,4763,1446,4756,1453,4749,1457,4748,1458,4746,1458,4745,1458,4744,1458,4743,1459,4742,
1460,4734,1463,4727,1463,4727,1460,4725,1458,4724,1457,4723,1456,4723,1451,4718,1449,4712,1446,4701,1446,"L",4701,1446,"Q",4694,1444,4693,1449,4691,1484,4693,1521,4693,1523,4693,1524,4694,1563,4695,1602,4695,1627,4694,1651,4692,1675,4698,1696,4700,1705,4700,1716,4700,1734,4700,1753,4700,1755,4701,1756,4704,1766,4703,1778,4703,1780,4703,1782,4701,1787,4701,1790,4698,1801,4696,1809,4698,1813,4697,1815,4697,1817,4696,1819,4696,1823,4696,1826,4696,1828,4697,1829,4699,1832,4698,1835,4696,1844,4693,1852,
4689,1866,4689,1880,4689,1889,4694,1898,4700,1910,4697,1919,4689,1950,4675,1979,4674,1982,4672,1984,4651,2002,4630,2027,4629,2028,4628,2029,4628,2031,4628,2034,4627,2044,4630,2053,4632,2060,4633,2067,4633,2067,4633,2067,4634,2066,4635,2065,4637,2067,4638,2067,4643,2067,4648,2065,4663,2060,4676,2054,4681,2052,4690,2051,4692,2051,4693,2050,4695,2049,4699,2049,4716,2052,4729,2065,4735,2070,4739,2069,4749,2065,4757,2055,4767,2045,4778,2036,4783,2055,4791,2073,4799,2064,4806,2054,4819,2038,4834,2023,4842,
2015,4852,2012,"L",4853,2016,"Q",4853,2017,4853,2018,4857,2026,4864,2032,4876,2042,4891,2032,4903,2023,4899,2007,4898,2003,4900,1999,4901,1998,4901,1997,4903,1994,4909,1992,4915,1990,4917,1984,4917,1983,4917,1981,4917,1974,4922,1970,4925,1968,4926,1966,4929,1958,4935,1952,4955,1930,4977,1910,4985,1914,4994,1914,4996,1914,4997,1914,5005,1909,5014,1909,5016,1909,5017,1909,5020,1911,5023,1910,5030,1909,5033,1903,5033,1903,5034,1902,5034,1900,5035,1899,5037,1898,5037,1894,5035,1885,5035,1876,5035,1874,
5035,1872,5036,1862,5042,1858,5042,1856,5042,1854,5043,1852,5043,1850,5044,1848,5044,1845,5046,1840,5044,1834,5042,1827,5040,1821,5038,1808,5039,1795,5040,1778,5040,1760,5040,1729,5040,1698,5041,1683,5041,1668,5041,1639,5043,1609,5044,1593,5045,1576,5047,1557,5045,1538,5042,1520,5037,1504,5034,1498,5035,1491,5036,1486,5036,1480,5036,1477,5037,1475,5038,1471,5038,1467,5037,1466,5037,1464,5038,1446,5040,1427,5031,1426,5022,1424,5015,1423,5007,1424,4986,1426,4964,1423,4957,1422,4948,1423,4939,1424,4931,
1419,4930,1418,4928,1418,4920,1420,4911,1419,4897,1417,4884,1420,4882,1420,4880,1421,4871,1422,4865,1422,"Q",4856,1423,4849,1424,"Z"]],label:"Indiana",shortLabel:"IN",labelPosition:[483.7,174.3],labelAlignment:["center","middle"]},OH:{outlines:[["M",5539,1406,"Q",5518,1409,5501,1422,5485,1433,5468,1444,5459,1450,5447,1457,5437,1462,5426,1462,5425,1462,5424,1462,5423,1465,5419,1465,5407,1463,5397,1466,5392,1468,5384,1470,5374,1472,5369,1476,5361,1481,5352,1484,5341,1489,5330,1486,5306,1482,5283,1472,
5277,1469,5271,1466,5270,1465,5268,1465,5264,1464,5259,1463,5258,1463,5257,1463,5243,1460,5238,1451,5238,1450,5237,1449,5229,1443,5227,1432,5226,1430,5226,1427,5224,1430,5217,1430,5208,1429,5198,1428,5195,1428,5191,1427,5179,1426,5167,1428,5146,1432,5124,1435,5114,1437,5104,1436,5080,1435,5055,1430,5047,1429,5040,1427,5038,1446,5037,1464,5037,1466,5037,1467,5038,1471,5036,1475,5036,1477,5036,1480,5035,1486,5035,1491,5034,1498,5036,1504,5042,1520,5044,1538,5047,1557,5045,1576,5043,1593,5042,1609,5040,
1639,5040,1668,5040,1683,5040,1698,5039,1729,5039,1760,5039,1778,5038,1795,5038,1808,5040,1821,5041,1827,5043,1834,5045,1840,5044,1845,5043,1848,5043,1850,5042,1852,5042,1854,5041,1856,5041,1858,5045,1858,5049,1857,5054,1856,5057,1855,5058,1854,5060,1854,5071,1855,5074,1866,5075,1868,5077,1868,5088,1873,5099,1876,5100,1877,5100,1878,5105,1886,5103,1898,5103,1901,5105,1904,5106,1905,5107,1907,5110,1915,5123,1914,5132,1913,5141,1915,5144,1916,5149,1918,5150,1918,5152,1918,5153,1917,5154,1917,5164,1913,
5168,1920,5170,1924,5171,1927,5171,1928,5172,1929,5174,1934,5180,1937,5182,1938,5183,1937,5189,1937,5194,1936,5210,1936,5226,1938,5230,1939,5233,1937,5245,1931,5256,1922,5259,1920,5264,1919,5265,1919,5266,1919,5267,1919,5268,1920,5275,1922,5276,1929,5276,1930,5277,1931,5282,1932,5282,1937,5283,1942,5284,1944,5286,1946,5287,1947,5288,1949,5290,1950,5294,1951,5296,1957,5297,1958,5298,1958,5304,1961,5306,1967,5309,1974,5313,1978,5315,1974,5317,1971,5323,1962,5332,1955,5344,1947,5354,1938,5367,1928,5371,
1913,5373,1905,5370,1894,5369,1889,5370,1887,5374,1882,5378,1876,5379,1875,5380,1875,5385,1876,5387,1873,5388,1872,5390,1872,5399,1872,5402,1878,5407,1885,5415,1882,5423,1879,5422,1872,5422,1860,5425,1848,5429,1835,5438,1823,5439,1822,5441,1821,5455,1816,5472,1818,5476,1818,5479,1816,5480,1815,5481,1814,5492,1809,5502,1801,5504,1800,5506,1799,5509,1798,5510,1793,5510,1792,5511,1792,5518,1787,5522,1778,5522,1777,5523,1775,5529,1753,5529,1731,5529,1729,5529,1727,5531,1721,5534,1717,5535,1716,5535,1714,
5555,1701,5556,1679,5556,1676,5554,1671,"L",5554,1671,"Q",5553,1670,5553,1668,5551,1655,5553,1644,5554,1634,5559,1625,5562,1621,5568,1618,"L",5568,1396,5566,1396,"Q",5565,1397,5563,1397,5558,1400,5552,1402,5550,1403,5547,1404,5546,1405,5544,1405,5543,1405,5541,1405,"Q",5540,1406,5539,1406,"Z"]],label:"Ohio",shortLabel:"OH",labelPosition:[530.1,168.8],labelAlignment:["center","middle"]},PA:{outlines:[["M",6220,1396,"Q",6215,1393,6210,1387,6209,1384,6206,1382,"L",5662,1384,5662,1343,"Q",5662,1341,5658,
1343,5633,1357,5608,1370,5605,1372,5602,1374,5600,1375,5599,1376,5586,1386,5569,1395,"L",5568,1618,"Q",5564,1643,5562,1668,5562,1668,5562,1669,5562,1672,5564,1674,5565,1675,5566,1677,5572,1689,5572,1707,5572,1723,5574,1740,5574,1750,5579,1755,5585,1761,5596,1761,5633,1763,5670,1766,5684,1768,5697,1769,"L",6166,1755,"Q",6170,1749,6176,1741,6177,1741,6178,1740,6184,1739,6189,1737,6191,1737,6192,1737,6198,1741,6204,1745,6208,1748,6209,1751,6211,1750,6213,1747,"L",6216,1745,"Q",6221,1736,6235,1732,6237,
1732,6238,1730,6243,1724,6248,1718,6250,1717,6250,1715,6253,1711,6259,1710,6266,1709,6274,1708,6275,1707,6277,1706,6282,1704,6284,1700,6287,1692,6282,1686,6282,1686,6281,1685,6281,1682,6277,1681,6271,1680,6268,1674,6265,1668,6261,1666,6260,1665,6258,1663,6247,1655,6245,1637,6244,1634,6244,1631,6242,1618,6242,1605,6241,1593,6242,1580,6242,1578,6243,1576,6244,1575,6245,1574,6247,1572,6248,1571,6255,1565,6261,1550,6265,1538,6271,1527,6275,1518,6286,1513,6289,1512,6290,1510,6291,1509,6292,1508,6294,1508,
6295,1507,6297,1506,6299,1504,6292,1501,6287,1496,6284,1493,6282,1488,6276,1471,6268,1454,6263,1453,6259,1450,6252,1444,6248,1435,6244,1422,6238,1409,6237,1406,6233,1404,"Q",6226,1401,6220,1396,"Z"]],label:"Pennsylvania",shortLabel:"PA",labelPosition:[593.2,155.7],labelAlignment:["center","middle"]},NY:{outlines:[["M",6463,926,"Q",6465,925,6466,925,6472,928,6475,922,6478,917,6477,912,6472,896,6461,856,"L",6289,860,"Q",6264,873,6251,882,6237,891,6223,900,6213,906,6204,914,6195,923,6186,934,"L",6183,
937,"Q",6175,946,6170,957,6170,958,6169,959,6163,965,6159,976,6159,978,6158,979,6148,992,6138,1006,6132,1015,6130,1022,6129,1023,6129,1024,6127,1028,6119,1027,6118,1026,6117,1025,6112,1019,6104,1019,6097,1024,6097,1033,6098,1045,6110,1052,6115,1055,6121,1059,6125,1061,6125,1066,6126,1068,6124,1069,6119,1074,6114,1079,6111,1082,6112,1090,6113,1091,6113,1092,"L",6114,1094,"Q",6114,1097,6114,1099,6115,1109,6113,1119,6111,1124,6106,1126,6103,1128,6099,1128,6093,1129,6088,1131,6087,1131,6086,1131,6081,
1131,6077,1135,6069,1143,6065,1152,6064,1157,6064,1164,6061,1165,6057,1166,6056,1166,6055,1167,6051,1167,6047,1168,6046,1169,6044,1169,6030,1172,6020,1170,6018,1169,6017,1168,6014,1166,6011,1168,6010,1168,6009,1168,6005,1169,6001,1170,5992,1172,5981,1170,5980,1170,5979,1171,5975,1175,5970,1182,5968,1186,5965,1189,5964,1190,5963,1190,5957,1187,5944,1182,5927,1175,5911,1165,5901,1159,5893,1151,5890,1147,5882,1149,5877,1150,5873,1151,5860,1153,5847,1152,5840,1152,5834,1151,5832,1151,5831,1152,5823,1157,
5814,1163,5804,1165,5793,1164,5781,1162,5773,1165,5771,1166,5770,1168,5768,1170,5765,1172,5758,1177,5758,1186,5758,1190,5758,1193,5759,1203,5763,1211,5767,1219,5772,1226,5777,1232,5779,1239,5780,1241,5779,1242,5775,1251,5768,1259,5767,1260,5766,1261,5758,1275,5746,1286,5719,1313,5683,1331,5672,1336,5662,1341,"L",5662,1384,6206,1382,"Q",6209,1384,6210,1387,6215,1393,6220,1396,6226,1401,6233,1404,6237,1406,6238,1409,6244,1422,6248,1435,6252,1444,6259,1450,6263,1453,6268,1454,6276,1471,6282,1488,6284,
1493,6287,1496,6292,1501,6299,1504,6300,1504,6300,1504,6303,1503,6307,1502,6309,1502,6310,1503,6326,1512,6338,1518,6348,1523,6358,1530,6369,1538,6376,1549,6379,1552,6382,1555,6382,1556,6383,1556,6384,1556,6385,1556,6388,1559,6392,1565,6397,1571,6397,1579,6397,1586,6398,1588,6400,1589,6398,1592,6397,1596,6396,1596,6394,1597,6391,1599,6387,1601,6383,1603,6379,1606,6374,1609,6395,1622,6408,1624,6420,1626,6428,1624,6452,1618,6475,1609,6489,1605,6503,1603,6508,1603,6512,1603,6528,1602,6538,1595,6543,1592,
6548,1588,6556,1583,6564,1578,6567,1576,6569,1575,6576,1570,6586,1569,6595,1569,6605,1565,6615,1561,6622,1555,6630,1550,6636,1547,6629,1543,6622,1541,6612,1539,6601,1535,6587,1531,6574,1533,6563,1534,6552,1543,6546,1548,6538,1551,6536,1552,6534,1552,6528,1551,6522,1551,6509,1550,6496,1551,6495,1551,6494,1552,6469,1563,6443,1567,"L",6444,1563,"Q",6444,1565,6443,1565,6442,1566,6442,1566,6441,1566,6441,1565,6437,1556,6432,1549,"L",6432,1548,"Q",6437,1541,6439,1532,6439,1528,6441,1526,6442,1525,6443,
1525,6447,1523,6447,1519,6448,1505,6441,1493,6436,1483,6435,1472,6435,1466,6437,1458,6442,1444,6444,1430,6446,1421,6444,1413,6439,1388,6444,1361,6443,1355,6444,1349,6445,1343,6449,1337,6455,1327,6460,1316,6464,1308,6467,1300,6469,1293,6471,1287,6472,1283,6473,1279,6474,1277,6474,1274,6474,1270,6471,1265,6469,1262,6464,1261,6463,1259,6463,1258,6461,1252,6460,1248,6459,1240,6461,1235,6464,1227,6469,1223,6475,1218,6474,1211,6473,1207,6472,1202,6471,1193,6475,1186,6480,1181,6480,1175,6478,1163,6478,1151,
6478,1148,6479,1145,6480,1143,6481,1140,6483,1132,6478,1127,6476,1125,6474,1124,6471,1122,6465,1120,6458,1119,6459,1112,6460,1104,6458,1097,6450,1079,6449,1060,6449,1047,6456,1034,6459,1030,6459,1025,6459,1018,6461,1014,6461,1013,6462,1011,6469,1003,6473,993,6470,988,6473,981,6476,976,6475,971,6474,960,6470,950,"Q",6466,939,6463,926,"Z"]],label:"New York",shortLabel:"NY",labelPosition:[620.2,120.2],labelAlignment:["center","middle"]},VT:{outlines:[["M",6698,851,"L",6461,856,"Q",6472,896,6477,912,
6478,917,6475,922,6472,928,6466,925,6465,925,6463,926,6466,939,6470,950,6474,960,6475,971,6476,976,6473,981,6470,988,6473,993,6469,1003,6462,1011,6461,1013,6461,1014,6459,1018,6459,1025,6459,1030,6456,1034,6449,1047,6449,1060,6450,1079,6458,1097,6460,1104,6459,1112,6458,1119,6465,1120,6471,1122,6474,1124,6476,1125,6478,1127,6483,1132,6481,1140,6480,1143,6479,1145,6478,1148,6478,1151,6478,1163,6480,1175,6480,1181,6475,1186,6471,1193,6472,1202,6473,1207,6474,1211,6475,1218,6469,1223,6464,1227,6461,
1235,6459,1240,6460,1248,6461,1252,6463,1258,6463,1259,6464,1261,6469,1262,6471,1265,6474,1270,6474,1274,6474,1277,6473,1279,6475,1277,6476,1275,6481,1268,6487,1262,6492,1258,6498,1256,6500,1256,6501,1257,6507,1264,6515,1265,6517,1265,6518,1264,6524,1261,6528,1259,6538,1254,6552,1255,6563,1256,6567,1249,6567,1249,6567,1248,6568,1246,6567,1245,6567,1243,6567,1239,6571,1207,6586,1178,6586,1177,6587,1176,6592,1165,6591,1149,6591,1140,6592,1130,6595,1115,6601,1100,6608,1083,6617,1065,6620,1059,6622,1053,
6626,1037,6630,1022,6632,1014,6637,1007,6641,1001,6648,993,6650,991,6651,991,6657,990,6660,986,6665,982,6667,976,6667,975,6667,974,6669,965,6677,961,6679,960,6680,959,6682,956,6685,954,6695,949,6685,942,6684,942,6683,941,6681,938,6678,933,6676,930,6676,926,6676,920,6681,920,6682,920,6683,919,6694,919,6694,906,6695,889,6693,873,6693,870,6694,863,6695,859,6698,855,"Q",6701,850,6698,851,"Z"]],label:"Vermont",shortLabel:"VT",labelPosition:[654.9,95.8],labelAlignment:["center","middle"]},NH:{outlines:[["M",
6733,812,"Q",6724,816,6714,821,6711,823,6710,826,6706,836,6703,847,6702,849,6701,851,6700,853,6698,855,6695,859,6694,863,6693,870,6693,873,6695,889,6694,906,6694,919,6683,919,6682,920,6681,920,6676,920,6676,926,6676,930,6678,933,6681,938,6683,941,6684,942,6685,942,6695,949,6685,954,6682,956,6680,959,6679,960,6677,961,6669,965,6667,974,6667,975,6667,976,6665,982,6660,986,6657,990,6651,991,6650,991,6648,993,6641,1001,6637,1007,6632,1014,6630,1022,6626,1037,6622,1053,6620,1059,6617,1065,6608,1083,6601,
1100,6595,1115,6592,1130,6591,1140,6591,1149,6592,1165,6587,1176,6586,1177,6586,1178,6571,1207,6567,1239,6567,1243,6567,1245,6568,1246,6567,1248,6567,1249,6567,1249,6566,1253,6570,1254,6583,1258,6596,1257,6607,1256,6617,1252,6622,1251,6623,1251,6627,1248,6629,1251,6630,1252,6631,1252,6633,1253,6634,1254,6658,1275,6689,1263,6690,1263,6692,1262,6693,1262,6694,1261,6698,1258,6707,1259,6709,1259,6710,1260,6711,1260,6712,1260,6717,1261,6721,1260,6722,1260,6723,1260,6724,1260,6725,1260,6727,1260,6729,1260,
6734,1260,6737,1258,6738,1257,6740,1257,6746,1255,6750,1250,6759,1240,6766,1234,6768,1233,6769,1233,6770,1233,6771,1232,6775,1229,6780,1230,6783,1229,6786,1227,6787,1226,6787,1226,6789,1225,6791,1224,6791,1223,6792,1222,6795,1216,6797,1211,6798,1210,6799,1208,6798,1207,6797,1206,6796,1199,6790,1196,6789,1196,6788,1195,6783,1188,6780,1182,6778,1179,6779,1175,6781,1165,6776,1157,6765,1141,6759,1123,6755,1109,6756,1093,6758,1073,6764,1053,6766,1044,6766,1035,6766,1033,6765,1032,6762,1028,6759,1025,6755,
1020,6754,1014,6754,1013,6754,1012,6753,1007,6752,1001,6749,970,6747,939,6747,937,6748,936,6750,932,6750,924,6751,922,6751,920,6754,914,6755,907,6757,897,6757,885,6757,884,6757,882,6758,857,6750,837,6744,841,6746,834,6740,824,6738,814,6737,813,6736,812,"Q",6735,812,6733,812,"Z"]],label:"New Hampshire",shortLabel:"NH",labelPosition:[666.8,114],labelAlignment:["center","middle"]},ME:{outlines:[["M",7005,440,"Q",7001,434,6996,433,6994,433,6992,435,6984,441,6975,447,6962,455,6954,469,6945,484,6936,499,
6931,509,6922,518,6912,529,6906,543,6898,561,6889,575,6886,581,6882,584,6881,586,6880,587,6879,589,6879,591,6878,606,6877,621,6877,629,6876,637,6876,639,6874,640,6867,644,6862,649,6852,658,6848,671,6846,681,6847,691,6848,700,6851,705,6852,706,6854,707,6861,710,6862,718,6862,720,6861,721,6848,731,6835,740,6827,746,6823,754,6814,770,6805,784,6799,794,6791,803,6783,812,6774,818,6762,826,6748,832,6747,832,6746,834,6744,841,6750,837,6758,858,6757,882,6757,884,6757,886,6757,897,6755,908,6754,915,6751,921,
6751,923,6750,925,6750,933,6748,936,6747,938,6747,939,6749,970,6752,1002,6753,1007,6754,1013,6754,1014,6754,1015,6755,1021,6759,1025,6762,1028,6765,1032,6766,1033,6766,1035,6766,1045,6764,1054,6758,1074,6756,1094,6755,1110,6759,1124,6765,1142,6776,1158,6781,1166,6779,1175,6778,1180,6780,1183,6783,1189,6788,1195,6789,1196,6790,1197,6796,1199,6797,1206,6798,1207,6799,1208,"L",6799,1208,"Q",6800,1207,6801,1206,6803,1199,6807,1194,6818,1180,6831,1167,6832,1166,6841,1164,6844,1163,6848,1159,6854,1152,
6850,1142,6848,1138,6849,1133,6851,1124,6854,1118,6858,1112,6861,1105,6864,1099,6864,1092,6864,1091,6864,1090,6867,1081,6876,1080,6878,1080,6881,1081,6884,1081,6887,1082,6889,1082,6891,1083,6900,1088,6904,1095,6905,1097,6907,1097,6914,1098,6919,1094,6920,1094,6921,1093,6923,1088,6921,1081,6920,1079,6920,1076,6919,1071,6917,1066,6921,1056,6930,1062,6937,1066,6943,1069,6949,1071,6953,1068,6964,1060,6972,1050,6973,1048,6973,1046,6975,1046,6977,1047,6988,1050,6997,1047,7005,1045,7009,1035,7010,1033,7011,
1031,7013,1023,7014,1015,7016,1003,7021,996,7027,989,7034,982,7040,988,7046,993,7052,998,7058,1E3,7060,1001,7062,1001,7063,1001,7064,1001,7068,1001,7067,998,7077,1003,7085,1008,7088,1010,7091,1009,7093,1009,7094,1008,7097,1007,7099,1004,7101,1002,7102,1001,7104,1E3,7105,998,7106,997,7107,996,7111,989,7115,985,7116,984,7117,983,7127,974,7134,968,7135,968,7135,967,7139,959,7144,957,7145,956,7146,955,7151,951,7161,953,7162,953,7163,953,7170,953,7174,950,7175,949,7176,949,7182,947,7187,944,7198,937,7210,
934,7230,928,7249,924,7250,924,7250,922,7251,922,7251,921,7252,918,7252,915,7255,908,7255,900,7255,891,7250,886,7249,885,7248,884,7240,881,7238,873,7238,867,7239,862,7239,859,7235,856,7234,855,7234,854,7229,842,7211,843,7209,843,7209,842,7208,840,7204,841,7202,841,7201,840,7192,834,7191,826,7190,814,7197,801,7201,795,7203,789,7204,787,7204,783,7204,781,7203,779,7202,777,7202,773,"L",7198,773,"Q",7200,768,7196,762,7196,761,7195,761,7190,759,7184,758,7174,756,7167,750,7161,744,7160,735,7160,718,7160,
702,7160,666,7160,635,7160,632,7160,628,7160,625,7159,622,7157,614,7157,604,7158,590,7160,576,7164,542,7146,512,7142,505,7139,497,7135,484,7127,474,7123,468,7117,462,7113,458,7108,454,7108,454,7107,454,7104,455,7101,454,7099,454,7097,453,7092,452,7088,452,7087,452,7086,453,7085,454,7084,454,7080,456,7077,457,7073,459,7068,465,7061,474,7053,481,7047,486,7039,485,7029,484,7020,477,7012,472,7005,466,7002,464,6999,462,7E3,461,7E3,459,7001,456,7002,453,7005,448,7006,442,"Q",7006,441,7005,440,"Z"]],label:"Maine",
shortLabel:"ME",labelPosition:[700,82.1],labelAlignment:["center","middle"]},MA:{outlines:[["M",6570,1254,"Q",6566,1253,6567,1249,6563,1256,6552,1255,6538,1254,6528,1259,6524,1261,6518,1264,6517,1265,6515,1265,6507,1264,6501,1257,6500,1256,6498,1256,6492,1258,6487,1262,6481,1268,6476,1275,6475,1277,6473,1279,6472,1283,6471,1287,6469,1293,6467,1300,6464,1308,6460,1316,6455,1327,6449,1337,6445,1343,6444,1349,6443,1355,6444,1361,6445,1364,6446,1367,6450,1378,6457,1382,6466,1387,6478,1385,6482,1385,6485,
1384,6486,1384,6487,1384,6499,1382,6506,1388,6509,1391,6511,1397,6512,1399,6513,1399,6529,1397,6544,1390,6551,1387,6558,1384,6569,1379,6581,1378,6598,1376,6614,1378,6620,1378,6625,1379,6631,1381,6636,1382,6646,1385,6651,1390,6652,1391,6653,1392,6663,1390,6670,1388,6674,1387,6679,1387,6682,1386,6684,1386,6685,1385,6686,1385,6691,1384,6695,1385,6703,1387,6708,1388,6713,1389,6713,1395,6714,1406,6715,1416,6716,1433,6731,1439,6736,1441,6740,1447,6745,1454,6745,1461,6759,1457,6773,1452,6783,1449,6793,1446,
6796,1445,6799,1445,6800,1454,6797,1461,6791,1477,6788,1494,6787,1500,6793,1502,6803,1504,6815,1500,6820,1498,6823,1499,6832,1500,6830,1487,6830,1482,6830,1476,6831,1473,6833,1472,6838,1470,6840,1468,6857,1450,6881,1450,6891,1447,6898,1443,6899,1442,6900,1441,6902,1435,6906,1431,6907,1431,6908,1429,6908,1428,6909,1427,6913,1422,6911,1417,6903,1399,6898,1379,6897,1376,6897,1373,6896,1370,6895,1368,6895,1366,6893,1364,6891,1362,6887,1361,6876,1360,6870,1357,6866,1356,6865,1358,6865,1360,6865,1361,6861,
1372,6861,1383,6861,1393,6863,1403,6864,1407,6863,1412,6862,1417,6852,1416,6849,1416,6845,1415,6844,1415,6843,1414,6840,1405,6832,1402,6830,1402,6828,1402,6826,1402,6826,1401,6822,1397,6820,1391,6818,1380,6816,1368,6816,1366,6816,1364,6814,1360,6812,1356,6811,1355,6811,1353,6810,1349,6808,1349,6788,1347,6770,1338,6764,1336,6765,1329,6768,1318,6778,1310,6779,1309,6780,1308,6786,1307,6789,1310,6790,1311,6791,1311,6799,1312,6801,1308,6803,1302,6803,1294,6802,1280,6798,1266,6796,1260,6791,1255,6790,1255,
6789,1254,6786,1252,6784,1248,6784,1245,6793,1234,6809,1184,6787,1226,6787,1226,6786,1227,6783,1229,6780,1230,6775,1229,6771,1232,6770,1233,6769,1233,6768,1233,6766,1234,6759,1240,6750,1250,6746,1255,6740,1257,6738,1257,6737,1258,6734,1260,6729,1260,6727,1260,6725,1260,6724,1260,6723,1260,6722,1260,6721,1260,6717,1261,6712,1260,6711,1260,6710,1260,6709,1259,6707,1259,6698,1258,6694,1261,6693,1262,6692,1262,6690,1263,6689,1263,6658,1275,6634,1254,6633,1253,6631,1252,6630,1252,6629,1251,6627,1248,6623,
1251,6622,1251,6617,1252,6607,1256,6596,1257,"Q",6583,1258,6570,1254,"Z"]],label:"Massachusetts",shortLabel:"MA",labelPosition:[655.7,132],labelAlignment:["center","middle"]},CT:{outlines:[["M",6558,1384,"Q",6551,1387,6544,1390,6529,1397,6513,1399,6512,1399,6511,1397,6509,1391,6506,1388,6499,1382,6487,1384,6486,1384,6485,1384,6482,1385,6478,1385,6466,1387,6457,1382,6450,1378,6446,1367,6445,1364,6444,1361,6439,1388,6444,1413,6446,1421,6444,1430,6442,1444,6437,1458,6435,1466,6435,1472,6436,1483,6441,
1493,6448,1505,6447,1519,6447,1523,6443,1525,6442,1525,6441,1526,6439,1528,6439,1532,6437,1542,6431,1549,"L",6431,1550,6431,1550,6431,1550,"Q",6436,1557,6440,1566,6440,1567,6441,1568,6441,1567,6442,1567,6443,1566,6443,1565,"L",6443,1561,"Q",6443,1560,6445,1559,6449,1556,6452,1552,6453,1551,6454,1550,6473,1541,6491,1532,6508,1524,6523,1515,6533,1510,6544,1507,6548,1506,6552,1506,6558,1506,6565,1505,6570,1505,6576,1504,6596,1503,6614,1506,6620,1507,6620,1507,6622,1506,6624,1506,6629,1507,6635,1507,
6637,1507,6638,1507,6645,1506,6652,1506,6653,1504,6653,1503,6650,1492,6648,1482,6646,1475,6649,1469,6659,1447,6659,1421,6659,1413,6658,1405,6657,1398,6653,1392,6652,1391,6651,1390,6646,1385,6636,1382,6631,1381,6625,1379,6620,1378,6614,1378,6598,1376,6581,1378,"Q",6569,1379,6558,1384,"Z"]],label:"Connecticut",shortLabel:"CT",labelPosition:[654.5,146.5],labelAlignment:["center","middle"]},NJ:{outlines:[["M",6385,1557,"Q",6382,1556,6382,1555,6379,1552,6376,1549,6369,1538,6358,1530,6348,1523,6338,1518,
6326,1512,6310,1503,6309,1502,6307,1502,6303,1503,6300,1504,6300,1504,6299,1504,6297,1506,6295,1507,6294,1508,6292,1508,6291,1509,6290,1510,6289,1512,6286,1513,6275,1518,6271,1527,6265,1538,6261,1550,6255,1565,6248,1571,6247,1572,6245,1574,6244,1575,6243,1576,6242,1578,6242,1580,6241,1593,6242,1605,6242,1618,6244,1631,6244,1634,6245,1637,6247,1655,6258,1663,6260,1665,6261,1666,6265,1668,6268,1674,6271,1680,6277,1681,6281,1682,6281,1685,6282,1686,6282,1686,6287,1692,6284,1700,6282,1704,6277,1706,6275,
1707,6274,1708,6266,1709,6259,1710,6253,1711,6250,1715,6250,1717,6248,1718,6243,1724,6238,1730,6237,1732,6235,1732,6221,1736,6216,1745,"L",6213,1747,"Q",6211,1750,6209,1751,6210,1752,6211,1754,6212,1762,6209,1771,6209,1773,6208,1776,6208,1785,6206,1793,6203,1803,6203,1815,6203,1816,6204,1817,6206,1819,6211,1820,6215,1820,6217,1822,6218,1824,6217,1826,6217,1827,6217,1828,6224,1829,6231,1834,6241,1843,6249,1853,6250,1854,6251,1854,6271,1852,6273,1869,6274,1877,6279,1878,6289,1879,6295,1870,6297,1869,
6298,1867,6299,1863,6302,1858,6302,1856,6303,1854,6307,1843,6312,1833,6321,1815,6334,1800,6343,1790,6353,1781,6355,1780,6356,1778,6370,1765,6379,1748,6385,1737,6387,1725,6387,1724,6387,1723,6388,1716,6390,1709,6390,1707,6391,1705,6392,1684,6382,1665,6375,1653,6369,1640,6366,1633,6363,1625,6368,1617,6373,1611,6378,1607,6382,1605,6386,1603,6390,1600,6393,1599,6395,1598,6396,1597,6397,1596,6399,1590,6399,1589,6399,1587,6398,1579,6397,1570,6392,1564,"Q",6387,1558,6385,1557,"Z"]],label:"New Jersey",shortLabel:"NJ",
labelPosition:[630.1,168.9],labelAlignment:["center","middle"]},WV:{outlines:[["M",5553,1627,"Q",5550,1630,5550,1637,5550,1642,5552,1644,"L",5554,1642,5555,1641,5555,1641,"Q",5554,1643,5554,1644,5552,1649,5552,1657,"L",5553,1662,"Q",5555,1666,5558,1675,5558,1676,5558,1677,5558,1679,5558,1681,5559,1682,5559,1683,5557,1682,5556,1680,5555,1701,5536,1714,5536,1716,5535,1717,5532,1721,5530,1727,5529,1729,5529,1731,5530,1753,5523,1775,5523,1777,5522,1778,5519,1787,5512,1792,5511,1792,5510,1793,5509,1798,
5506,1799,5504,1800,5503,1801,5492,1809,5482,1814,5480,1815,5479,1816,5476,1818,5473,1818,5456,1816,5442,1821,5440,1822,5438,1823,5430,1835,5426,1848,5422,1860,5423,1872,5423,1879,5416,1882,5407,1885,5403,1878,5399,1872,5390,1872,5388,1872,5388,1873,5386,1876,5381,1875,5379,1875,5378,1876,5375,1882,5371,1887,5369,1889,5370,1894,5374,1905,5371,1913,5367,1928,5355,1938,5344,1947,5333,1955,5324,1962,5318,1971,5315,1974,5314,1978,5314,1979,5313,1979,5312,1983,5311,1987,5309,1997,5310,2007,5311,2013,5312,
2020,5314,2027,5316,2034,5321,2050,5330,2063,5341,2078,5355,2090,5361,2095,5366,2101,5367,2103,5369,2107,5372,2111,5373,2114,5375,2118,5377,2121,5379,2125,5381,2128,5382,2130,5383,2131,5397,2138,5410,2145,5427,2153,5445,2160,5449,2158,5452,2155,5459,2149,5465,2158,5466,2160,5468,2160,5469,2161,5471,2162,5474,2164,5478,2162,5493,2155,5508,2147,5510,2146,5512,2144,5513,2144,5513,2143,5515,2143,5517,2142,5524,2138,5536,2136,5542,2136,5548,2135,5549,2135,5550,2135,5560,2133,5566,2130,5579,2123,5590,2114,
5594,2112,5595,2108,5602,2092,5610,2077,5615,2069,5622,2064,5632,2057,5638,2050,5649,2040,5654,2025,5659,2010,5663,1994,5667,1981,5673,1970,5678,1959,5688,1956,5692,1955,5695,1962,5698,1967,5701,1972,5701,1974,5702,1974,5712,1976,5718,1968,5719,1967,5720,1966,5729,1960,5733,1954,5734,1952,5737,1950,5744,1943,5750,1928,5754,1919,5761,1915,5762,1915,5762,1914,5764,1912,5769,1914,5773,1913,5780,1910,5790,1907,5795,1902,5803,1895,5805,1885,5805,1884,5805,1883,5806,1878,5808,1874,5812,1870,5815,1864,5818,
1859,5821,1854,5833,1835,5850,1820,5853,1818,5857,1819,5860,1820,5862,1821,5864,1822,5870,1821,5873,1830,5881,1839,5889,1848,5896,1846,5902,1844,5909,1836,5911,1833,5914,1832,5915,1832,5920,1833,5925,1835,5928,1835,5932,1835,5929,1833,5926,1831,5923,1829,5918,1826,5915,1825,5913,1824,5909,1825,5903,1826,5903,1821,5903,1813,5905,1809,5906,1808,5906,1806,5908,1799,5906,1790,5906,1788,5904,1786,5899,1780,5889,1780,5880,1781,5879,1773,5878,1771,5880,1770,5882,1769,5884,1766,5885,1766,5886,1765,5881,1766,
5874,1765,5867,1765,5862,1768,5857,1771,5852,1773,5841,1779,5829,1784,5828,1787,5824,1788,5813,1790,5807,1784,5804,1781,5799,1780,5798,1779,5797,1779,5782,1776,5786,1791,5788,1796,5777,1802,5775,1802,5773,1803,5768,1806,5763,1808,5753,1812,5742,1814,5741,1814,5740,1815,5739,1816,5738,1817,5736,1818,5735,1819,5728,1829,5723,1837,5721,1841,5716,1842,5704,1844,5702,1830,5700,1821,5699,1812,5699,1810,5700,1808,5701,1804,5702,1799,5704,1791,5701,1782,5699,1779,5700,1775,5701,1770,5697,1769,5684,1768,5670,
1766,5633,1763,5596,1761,5585,1761,5579,1755,5574,1750,5574,1740,5572,1723,5572,1707,5572,1689,5566,1677,5565,1675,5564,1674,5564,1674,5563,1673,5563,1672,5563,1671,"L",5562,1671,"Q",5562,1671,5561,1672,5562,1666,5563,1659,5564,1653,5566,1645,"L",5568,1626,"Q",5568,1624,5568,1623,5568,1621,5566,1620,5565,1620,5564,1620,5562,1620,5555,1632,"L",5555,1627,"Z"]],label:"West Virginia",shortLabel:"WV",labelPosition:[544.5,199.9],labelAlignment:["center","middle"]},VA:{outlines:[["M",5850,1820,"Q",5833,
1835,5821,1854,5818,1859,5815,1864,5812,1870,5808,1874,5806,1878,5805,1883,5805,1884,5805,1885,5803,1895,5795,1902,5790,1907,5780,1910,5773,1913,5769,1914,5764,1912,5762,1914,5762,1915,5761,1915,5754,1919,5750,1928,5744,1943,5737,1950,5734,1952,5733,1954,5729,1960,5720,1966,5719,1967,5718,1968,5712,1976,5702,1974,5701,1974,5701,1972,5698,1967,5695,1962,5692,1955,5688,1956,5678,1959,5673,1970,5667,1981,5663,1994,5659,2010,5654,2025,5649,2040,5638,2050,5632,2057,5622,2064,5615,2069,5610,2077,5602,2092,
5595,2108,5594,2112,5590,2114,5579,2123,5566,2130,5560,2133,5550,2135,5549,2135,5548,2135,5542,2136,5536,2136,5524,2138,5517,2142,5515,2143,5513,2143,5513,2144,5512,2144,5510,2146,5508,2147,5493,2155,5478,2162,5474,2164,5471,2162,5469,2161,5468,2160,5466,2160,5465,2158,5459,2149,5452,2155,5449,2158,5445,2160,5427,2153,5410,2145,5397,2138,5383,2131,5382,2130,5381,2128,5379,2125,5377,2121,5377,2126,5373,2129,5356,2145,5338,2159,5337,2160,5335,2162,5330,2167,5323,2169,5310,2173,5299,2182,5296,2185,5294,
2187,5293,2189,5292,2190,5284,2198,5273,2201,5272,2202,5271,2202,5265,2205,5263,2207,5251,2216,5239,2224,5226,2234,5215,2245,5206,2253,5215,2252,"L",5440,2247,6148,2264,"Q",6149,2261,6149,2259,6149,2257,6148,2256,6148,2255,6147,2255,6148,2251,6148,2248,6149,2242,6150,2237,6150,2235,6150,2234,6141,2214,6127,2203,6122,2204,6119,2203,6118,2203,6117,2204,6112,2210,6105,2209,6095,2208,6087,2203,6089,2194,6085,2191,"L",6086,2189,"Q",6091,2182,6099,2173,6100,2173,6100,2171,6098,2164,6093,2156,6089,2150,
6079,2147,6077,2147,6075,2143,6079,2135,6088,2131,6095,2127,6099,2124,6100,2123,6101,2121,6101,2114,6102,2108,6102,2103,6100,2098,6099,2097,6098,2096,6095,2091,6094,2088,6092,2084,6086,2086,6089,2082,6094,2079,6095,2078,6097,2078,6103,2076,6107,2069,6108,2068,6108,2066,6111,2060,6110,2053,6110,2051,6109,2050,6106,2046,6101,2043,6087,2036,6071,2030,6065,2028,6066,2021,6067,2021,6067,2020,6073,2015,6071,2007,6071,2006,6069,2005,6064,2001,6054,2001,6047,2001,6044,1997,6042,1995,6039,1991,6038,1989,6036,
1988,6026,1983,6012,1985,6012,1981,6014,1978,6010,1977,6005,1978,5992,1980,5983,1969,5977,1962,5974,1954,5973,1948,5978,1941,5995,1922,6010,1901,6013,1897,6011,1895,5995,1882,5975,1874,5970,1872,5967,1868,5956,1855,5944,1843,5938,1837,5931,1833,5926,1834,5925,1835,5924,1834,5922,1833,5917,1831,5914,1832,5911,1833,5909,1836,5902,1844,5896,1846,5889,1848,5882,1839,5875,1831,5870,1821,5864,1821,5861,1820,5860,1819,5858,1818,"Q",5853,1818,5850,1820,"Z"]],label:"Virginia",shortLabel:"VA",labelPosition:[583.3,
210.1],labelAlignment:["center","middle"]},NC:{outlines:[["M",6123,2328,"Q",6113,2325,6109,2317,6115,2304,6121,2298,6124,2295,6126,2292,6129,2286,6135,2291,6141,2296,6149,2296,6148,2294,6145,2294,6143,2294,6144,2290,6144,2289,6144,2288,6145,2286,6145,2283,6148,2274,6148,2264,"L",5440,2247,"Q",5426,2274,5420,2294,5420,2296,5419,2298,5417,2305,5407,2308,5391,2314,5377,2321,5371,2324,5363,2324,5361,2325,5359,2324,5354,2324,5353,2326,5352,2327,5350,2328,5320,2335,5293,2357,5292,2358,5291,2359,5290,2361,
5284,2360,5277,2360,5275,2364,5275,2365,5273,2366,5263,2370,5258,2375,5256,2376,5255,2378,5243,2389,5232,2397,5224,2402,5214,2403,5212,2404,5210,2405,5193,2413,5178,2421,5157,2432,5138,2438,5133,2439,5131,2441,5124,2446,5120,2454,5119,2455,5119,2456,5118,2463,5115,2466,5110,2473,5103,2481,5102,2482,5101,2484,5101,2486,5101,2488,"L",5101,2493,5278,2493,"Q",5279,2492,5281,2492,5282,2491,5283,2491,5290,2487,5291,2493,5300,2483,5316,2478,5319,2477,5321,2477,5331,2477,5337,2472,5339,2472,5340,2470,5343,
2467,5351,2468,5364,2471,5380,2470,5385,2470,5389,2469,5391,2469,5393,2469,5417,2468,5441,2465,5448,2464,5454,2465,5467,2466,5479,2470,5486,2471,5494,2472,5495,2472,5496,2473,5509,2479,5517,2488,5532,2506,5542,2527,5544,2533,5551,2534,5561,2535,5570,2533,5579,2532,5588,2533,5628,2536,5667,2536,5677,2536,5685,2539,5690,2541,5692,2544,5702,2560,5713,2575,5722,2588,5732,2600,5746,2615,5763,2626,5777,2636,5793,2653,5802,2657,5806,2665,5806,2666,5807,2666,5814,2669,5819,2674,5820,2673,5820,2672,5820,2671,
5821,2670,5826,2668,5830,2669,5832,2670,5834,2670,5855,2670,5876,2667,5886,2666,5889,2655,5891,2650,5892,2646,5894,2640,5895,2635,5895,2633,5896,2631,5899,2628,5901,2623,5902,2621,5904,2620,5911,2616,5922,2612,5923,2612,5924,2611,5936,2604,5946,2591,5955,2578,5968,2569,5972,2565,5977,2565,5984,2566,5990,2565,5998,2564,6005,2561,6021,2555,6037,2553,6043,2553,6049,2558,6058,2565,6069,2559,6074,2556,6078,2553,"L",6078,2553,"Q",6079,2549,6082,2546,6087,2540,6092,2534,6094,2531,6093,2527,6093,2525,6093,
2524,6091,2511,6079,2509,6078,2509,6077,2509,6073,2508,6069,2507,6061,2506,6055,2503,6052,2502,6053,2499,6055,2496,6057,2493,6058,2492,6060,2491,6061,2489,6061,2487,6061,2474,6058,2462,6061,2462,6064,2461,6065,2461,6066,2461,6072,2460,6073,2454,6073,2453,6072,2451,6070,2449,6068,2446,6061,2440,6066,2430,6069,2424,6074,2428,6087,2440,6106,2432,6107,2431,6108,2431,6112,2431,6115,2430,"L",6115,2430,"Q",6115,2429,6116,2429,6117,2430,6120,2431,6127,2434,6137,2433,6138,2433,6139,2432,6139,2430,6140,2427,
6141,2421,6145,2416,6150,2410,6158,2408,6159,2407,6160,2407,6163,2405,6165,2404,6169,2401,6172,2398,6175,2395,6175,2392,6175,2387,6173,2382,6169,2376,6174,2371,6181,2366,6179,2357,6179,2356,6178,2355,6172,2349,6169,2344,6166,2336,6159,2331,6155,2328,6149,2326,6137,2327,6126,2328,"Q",6125,2328,6123,2328,"Z"]],label:"North Carolina",shortLabel:"NC",labelPosition:[574,240],labelAlignment:["center","middle"]},SC:{outlines:[["M",5685,2539,"Q",5676,2536,5667,2536,5627,2536,5588,2533,5579,2532,5569,2533,
5560,2535,5551,2534,5544,2533,5541,2527,5532,2506,5517,2488,5509,2479,5496,2473,5495,2472,5494,2472,5486,2471,5479,2470,5466,2466,5453,2465,5447,2464,5440,2465,5417,2468,5392,2469,5391,2469,5389,2469,5384,2470,5379,2470,5364,2471,5350,2468,5343,2467,5339,2470,5338,2472,5337,2472,5330,2477,5321,2477,5318,2477,5316,2478,5299,2483,5290,2493,5289,2487,5283,2491,5282,2491,5280,2492,5279,2492,5277,2493,5260,2502,5248,2515,5247,2516,5245,2517,5239,2522,5228,2527,5227,2527,5226,2528,5223,2528,5221,2531,5234,
2559,5250,2582,5258,2594,5267,2604,5269,2606,5272,2606,5274,2606,5276,2607,5281,2609,5285,2613,5290,2616,5291,2624,5292,2625,5292,2626,5302,2636,5310,2649,5311,2651,5312,2652,5321,2660,5328,2667,5351,2690,5375,2710,5380,2715,5383,2719,5385,2721,5386,2722,5389,2727,5394,2732,5401,2740,5407,2747,5408,2749,5409,2751,5415,2763,5419,2779,5420,2783,5422,2785,5430,2793,5437,2798,5448,2807,5454,2816,5455,2817,5455,2819,5456,2826,5457,2832,5457,2833,5458,2834,5462,2840,5465,2849,5466,2851,5466,2852,5468,2854,
5469,2856,5478,2865,5478,2880,5479,2896,5486,2912,5491,2923,5498,2932,5504,2939,5512,2944,5517,2949,5520,2944,5520,2943,5521,2942,5522,2938,5526,2937,5536,2935,5541,2930,5542,2929,5543,2929,5547,2927,5549,2922,5550,2920,5550,2918,5550,2917,5550,2916,5548,2908,5545,2901,5544,2900,5544,2898,5546,2892,5557,2892,5558,2892,5559,2892,5569,2893,5578,2897,5589,2895,5591,2883,5591,2882,5591,2880,5594,2873,5598,2871,5611,2864,5627,2861,5633,2859,5639,2856,5651,2847,5662,2837,5673,2828,5685,2821,5694,2815,5703,
2809,5717,2799,5729,2786,5737,2777,5745,2768,5749,2763,5754,2758,5755,2755,5756,2752,5759,2740,5760,2727,5762,2719,5765,2711,5767,2707,5771,2704,5773,2703,5774,2703,5785,2701,5798,2701,5800,2701,5802,2700,5804,2699,5806,2699,5810,2698,5812,2692,5813,2690,5814,2688,5815,2687,5815,2685,5818,2680,5819,2674,"L",5819,2674,"Q",5813,2669,5807,2666,5806,2666,5805,2665,5801,2657,5793,2653,5776,2636,5763,2626,5746,2615,5732,2600,5721,2588,5712,2575,5702,2560,5691,2544,"Q",5689,2541,5685,2539,"Z"]],label:"South Carolina",
shortLabel:"SC",labelPosition:[552.2,270.6],labelAlignment:["center","middle"]},FL:{outlines:[["M",5400,3122,"Q",5393,3120,5389,3123,5387,3124,5384,3125,5379,3127,5374,3130,5385,3142,5394,3157,5390,3160,5385,3167,5379,3176,5371,3183,5367,3186,5364,3182,5361,3178,5359,3177,5348,3171,5334,3169,5332,3169,5331,3168,5323,3165,5316,3161,5311,3159,5310,3156,5309,3155,5308,3155,5299,3154,5290,3154,5285,3154,5281,3155,5273,3157,5264,3158,5261,3158,5258,3158,5246,3162,5238,3152,5237,3151,5236,3151,5201,3144,
5165,3145,5156,3146,5148,3146,5126,3145,5104,3144,5071,3142,5037,3141,5035,3141,5032,3140,5026,3138,5026,3132,5026,3125,5026,3119,5026,3117,5026,3116,5020,3105,5014,3098,5013,3097,5012,3095,5011,3090,5009,3087,"L",4692,3087,"Q",4693,3098,4696,3109,4698,3116,4702,3122,4711,3135,4718,3148,4720,3152,4720,3157,4720,3158,4720,3159,4720,3163,4722,3165,4722,3165,4723,3166,4724,3170,4726,3174,4727,3178,4727,3182,4731,3183,4735,3185,4751,3192,4768,3193,4776,3194,4784,3193,4794,3192,4802,3188,4803,3188,4804,
3187,4815,3180,4829,3179,4838,3179,4847,3184,4850,3186,4852,3187,4859,3191,4864,3196,4874,3202,4884,3207,4891,3210,4898,3212,4904,3213,4908,3211,4913,3208,4918,3206,4922,3205,4923,3205,4924,3204,4926,3205,4938,3208,4943,3219,4946,3226,4951,3233,4958,3242,4962,3252,4966,3261,4968,3269,4970,3276,4973,3283,4974,3285,4979,3285,4987,3283,4991,3285,4992,3286,4994,3286,5008,3284,5022,3279,5031,3276,5044,3273,5046,3272,5048,3271,5056,3266,5061,3263,5083,3245,5109,3236,5116,3234,5123,3232,5124,3232,5125,3231,
5129,3225,5136,3223,5141,3221,5143,3224,5149,3230,5156,3239,5160,3244,5168,3251,5173,3256,5184,3262,5193,3267,5201,3270,5204,3272,5207,3274,5213,3277,5211,3283,5209,3308,5228,3324,5230,3326,5232,3328,5241,3339,5249,3345,5250,3346,5251,3347,5255,3353,5253,3357,5259,3360,5266,3363,5268,3363,5270,3363,5279,3363,5287,3364,5297,3366,5297,3376,5297,3377,5297,3378,5300,3395,5306,3411,5309,3418,5308,3426,5306,3437,5304,3449,5303,3460,5304,3472,5305,3480,5305,3489,5304,3494,5298,3495,5286,3497,5280,3501,5276,
3503,5276,3505,5276,3515,5280,3518,5281,3518,5282,3520,5282,3521,5283,3522,5286,3524,5284,3528,5283,3529,5283,3531,5283,3537,5282,3542,5282,3544,5284,3545,5290,3549,5300,3551,5311,3553,5315,3559,5316,3561,5316,3562,5315,3570,5315,3577,5314,3582,5313,3586,5309,3597,5312,3614,5312,3615,5312,3616,5315,3620,5320,3624,5321,3625,5322,3627,5325,3633,5328,3637,5329,3639,5331,3640,5334,3642,5334,3647,5333,3656,5337,3661,5340,3666,5342,3669,5347,3676,5352,3681,5366,3694,5381,3706,5382,3707,5383,3707,5387,3709,
5386,3715,5385,3726,5387,3736,5388,3742,5390,3748,5391,3754,5397,3754,5404,3757,5408,3760,5412,3763,5411,3769,5411,3770,5412,3771,5413,3772,5414,3773,"L",5414,3773,"Q",5420,3777,5423,3783,5424,3785,5424,3787,5426,3796,5421,3800,5422,3806,5430,3806,5434,3805,5437,3807,5455,3815,5471,3828,5482,3836,5487,3849,5495,3870,5504,3889,5510,3901,5523,3908,5530,3912,5536,3915,5554,3921,5571,3927,5572,3928,5574,3927,5581,3925,5586,3920,5587,3919,5589,3919,5592,3918,5594,3920,5598,3919,5600,3917,5608,3909,5606,
3895,5606,3894,5605,3893,5602,3886,5598,3879,5598,3878,5598,3877,5599,3869,5596,3865,5594,3860,5595,3853,5595,3852,5596,3851,5608,3842,5621,3834,5624,3833,5624,3829,5625,3827,5627,3825,5630,3824,5629,3820,5626,3798,5626,3776,5626,3765,5631,3754,5635,3746,5635,3739,5635,3738,5635,3736,5637,3716,5635,3696,5635,3689,5633,3682,5627,3660,5618,3638,5614,3627,5613,3615,5612,3610,5612,3606,5611,3601,5609,3597,5609,3595,5608,3593,5608,3591,5608,3589,5607,3587,5606,3584,5606,3581,5604,3578,5603,3577,5602,3575,
5599,3569,5592,3560,5591,3559,5590,3558,5576,3547,5573,3534,5573,3534,5572,3533,5565,3528,5566,3514,5566,3512,5566,3510,5562,3492,5554,3477,5554,3476,5554,3474,5557,3464,5548,3455,5544,3451,5542,3449,5538,3444,5537,3438,5535,3433,5535,3428,5534,3433,5535,3426,5536,3425,5537,3424,5542,3416,5539,3406,5537,3399,5534,3394,5534,3393,5534,3391,5533,3382,5529,3376,5527,3375,5527,3373,5521,3359,5514,3350,5513,3349,5513,3347,5511,3328,5501,3311,5497,3305,5494,3299,5492,3296,5491,3293,5481,3258,5470,3223,5466,
3211,5460,3198,5454,3183,5445,3168,5443,3166,5443,3161,5443,3152,5447,3143,5448,3139,5450,3135,5445,3135,5441,3135,5431,3135,5420,3134,5419,3123,5406,3123,"Q",5403,3123,5400,3122,"Z"]],label:"Florida",shortLabel:"FL",labelPosition:[539.3,350.8],labelAlignment:["center","middle"]}}}];d=e.length;if(a)for(;d--;)a=e[d],c(a.name.toLowerCase(),a,c.geo);else for(;d--;)a=e[d],g=a.name.toLowerCase(),b("maps",g,1),h.maps.unshift({cmd:"_call",obj:window,args:[function(a,b){c.geo?c(a,b,c.geo):f.raiseError(f.core,
"12052314141","run","JavaScriptRenderer~Maps._call()",Error("FusionCharts.HC.Maps.js is required in order to define vizualization"))},[g,a],window]})}]);

View File

@@ -0,0 +1,311 @@
/*
FusionCharts JavaScript Library
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
@author FusionCharts Technologies LLP
@meta package_map_pack core
@id fusionmaps.World.20.10-30-2012 07:55:31
*/
FusionCharts(["private","modules.renderer.js-world",function(){var f=this,b=f.hcLib,c=b.chartAPI,h=b.moduleCmdQueue,b=b.injectModuleDependency,a=!!c.geo,e,g,d;e=[{name:"World",revision:20,creditLabel:!1,standaloneInit:!0,baseWidth:715,baseHeight:405,baseScaleFactor:10,entities:{SA:{outlines:[["M",2090,3908,"Q",2087,3908,2087,3909,2087,3910,2087,3911,2087,3914,2089,3916,2091,3918,2092,3918,2095,3918,2094,3917,2095,3913,2093,3911,"Q",2093,3909,2090,3908,"Z"],["M",2142,3947,"Q",2143,3947,2144,3945,2145,
3943,2145,3942,2147,3940,2150,3939,2152,3938,2156,3937,2157,3937,2158,3937,2160,3936,2161,3936,2164,3936,2165,3934,2166,3933,2166,3932,2168,3931,2168,3928,2167,3924,2161,3925,2159,3924,2154,3921,2150,3921,2144,3921,2141,3920,2141,3922,2142,3924,2141,3924,2139,3924,2137,3924,2136,3923,2134,3923,2130,3923,2124,3924,2121,3924,2119,3923,2117,3923,2115,3922,2110,3921,2108,3924,2111,3925,2113,3928,2115,3929,2113,3931,2113,3932,2112,3933,2111,3934,2110,3937,2112,3938,2111,3940,2110,3942,2107,3942,2107,3942,
2105,3941,2103,3940,2100,3937,2099,3936,2096,3936,2094,3936,2094,3937,2095,3938,2096,3940,2098,3941,2101,3942,2104,3945,2107,3948,2109,3945,2112,3945,2115,3943,2115,3941,2119,3940,2121,3940,2123,3940,2126,3939,"L",2126,3939,"Q",2126,3944,2128,3946,2130,3948,2134,3950,2136,3950,2140,3948,"Q",2141,3948,2142,3947,"Z"],["M",2329,2575,"Q",2328,2574,2326,2574,2309,2575,2298,2564,2300,2564,2302,2561,2302,2560,2303,2559,2308,2553,2310,2545,2311,2544,2311,2543,2311,2541,2312,2541,2314,2540,2312,2536,2311,
2533,2309,2528,2309,2527,2308,2526,2308,2525,2307,2523,2306,2519,2305,2515,2305,2513,2304,2511,2304,2511,2303,2510,2303,2508,2302,2506,2301,2500,2300,2495,2300,2493,2299,2491,2299,2491,2299,2490,2298,2486,2295,2483,2289,2479,2286,2474,2284,2471,2282,2469,2277,2462,2270,2456,2267,2454,2264,2448,2264,2448,2263,2447,2257,2442,2254,2434,"L",2254,2433,"Q",2253,2433,2253,2433,2247,2431,2240,2429,2221,2425,2202,2426,2201,2426,2200,2425,2200,2423,2197,2424,2196,2425,2194,2425,2190,2426,2185,2427,2175,2429,
2165,2430,2160,2430,2156,2427,2149,2422,2143,2414,2136,2404,2129,2394,2127,2391,2126,2388,2126,2388,2126,2387,2125,2385,2125,2383,2125,2383,2125,2382,2126,2379,2125,2377,2122,2372,2119,2367,2116,2363,2111,2360,2102,2353,2093,2346,2087,2341,2080,2337,2072,2331,2063,2325,2054,2320,2045,2315,2031,2309,2017,2303,2016,2303,2015,2302,2015,2301,2014,2301,2013,2301,2012,2300,2011,2300,2009,2300,2007,2299,2005,2300,2003,2300,2002,2302,2001,2303,2E3,2303,1998,2305,1994,2307,1993,2308,1992,2307,1984,2307,1978,
2311,1975,2312,1973,2313,1967,2314,1960,2314,1952,2314,1943,2313,1933,2312,1923,2311,1919,2310,1915,2309,1910,2309,1908,2307,1906,2303,1904,2301,1898,2295,1893,2289,1888,2283,1883,2277,1882,2276,1882,2273,1883,2272,1882,2270,1876,2273,1872,2277,1868,2282,1863,2284,1858,2287,1851,2286,1843,2285,1835,2283,1835,2283,1834,2282,1832,2278,1834,2274,1836,2271,1836,2266,1836,2265,1836,2264,1836,2263,1836,2262,1836,2261,1835,2260,1830,2258,1829,2261,1828,2261,1828,2262,1823,2266,1818,2271,1814,2275,1810,2278,
1802,2286,1792,2291,1787,2295,1780,2294,1767,2294,1754,2293,1752,2293,1751,2294,1750,2299,1748,2303,1744,2313,1740,2323,1739,2326,1737,2328,1737,2329,1736,2329,1735,2332,1733,2334,1732,2335,1732,2336,1730,2343,1723,2346,1721,2347,1720,2348,1720,2349,1719,2349,1718,2350,1718,2350,1715,2351,1713,2352,1712,2353,1711,2353,1710,2353,1709,2353,1708,2353,1706,2353,1706,2353,1705,2352,1705,2351,1704,2351,1701,2349,1698,2346,"L",1698,2352,"Q",1700,2352,1702,2352,1701,2355,1700,2357,1699,2358,1699,2359,1700,
2362,1698,2363,1698,2364,1698,2365,"L",1698,2410,"Q",1698,2411,1698,2413,1699,2414,1699,2415,1699,2417,1699,2419,1701,2429,1701,2439,1703,2458,1703,2478,1703,2479,1703,2480,1704,2481,1704,2482,1705,2485,1703,2485,1703,2486,1702,2486,1700,2491,1697,2495,1692,2504,1685,2509,1685,2510,1685,2510,1684,2514,1680,2515,1680,2515,1679,2515,1678,2518,1674,2520,1661,2529,1648,2538,1639,2544,1632,2552,1629,2554,1629,2560,1629,2561,1628,2562,1628,2563,1628,2564,1626,2574,1627,2584,1627,2586,1626,2588,1626,2589,
1626,2590,1625,2593,1625,2595,1625,2600,1624,2604,1623,2614,1622,2623,1620,2639,1620,2654,1620,2664,1618,2674,1618,2676,1617,2677,1617,2677,1617,2678,1616,2683,1618,2688,1619,2689,1619,2689,1620,2690,1620,2690,1623,2694,1627,2697,1630,2700,1631,2704,1631,2705,1631,2705,1632,2707,1632,2708,1633,2712,1634,2714,1637,2718,1640,2722,1643,2724,1645,2726,1646,2727,1646,2728,1654,2735,1661,2743,1666,2749,1669,2756,1673,2762,1676,2768,1680,2773,1682,2779,1682,2781,1682,2782,1683,2784,1683,2785,1684,2787,1684,
2788,1685,2789,1685,2789,1685,2791,1684,2792,1684,2793,1684,2794,1683,2798,1685,2800,1685,2802,1685,2803,1685,2807,1686,2810,1687,2818,1690,2824,1690,2826,1691,2827,1693,2836,1698,2843,1699,2844,1699,2847,1700,2847,1700,2848,1702,2849,1704,2852,1706,2855,1710,2858,1711,2859,1711,2860,1712,2861,1712,2862,1713,2863,1713,2864,1714,2867,1715,2870,1716,2873,1718,2877,1719,2878,1719,2879,1720,2882,1721,2885,1722,2889,1723,2891,1724,2892,1724,2893,1726,2897,1727,2900,1729,2904,1733,2905,1734,2906,1735,2907,
1740,2911,1744,2916,1746,2920,1749,2922,1751,2924,1753,2925,1757,2927,1761,2929,1764,2931,1768,2931,1768,2931,1769,2931,1770,2932,1771,2932,1772,2932,1773,2933,1779,2935,1785,2938,1786,2939,1786,2939,1788,2940,1790,2941,1795,2944,1800,2948,1809,2956,1818,2964,1821,2966,1824,2968,1825,2969,1825,2969,1830,2975,1833,2979,1834,2980,1835,2981,1845,2990,1854,3E3,1860,3007,1864,3016,1866,3019,1866,3023,1868,3040,1870,3057,1871,3058,1871,3059,1871,3069,1871,3079,1872,3093,1872,3107,1872,3109,1872,3111,1873,
3115,1873,3119,1874,3120,1874,3121,1874,3121,1873,3122,1873,3123,1873,3124,1873,3129,1872,3133,1872,3134,1872,3134,1872,3147,1871,3159,1871,3161,1871,3162,1870,3163,1870,3164,1869,3168,1868,3172,1868,3173,1868,3174,1865,3190,1864,3207,1864,3224,1865,3241,1866,3254,1867,3267,1868,3283,1868,3298,1868,3308,1865,3317,1864,3318,1864,3319,1864,3322,1865,3323,1865,3325,1865,3327,1865,3331,1866,3336,1866,3336,1866,3337,1867,3338,1868,3339,1868,3341,1869,3342,1869,3343,1869,3344,1870,3350,1872,3357,1872,3358,
1872,3359,1872,3363,1870,3366,1869,3369,1869,3372,1869,3373,1868,3374,1868,3376,1868,3377,1867,3378,1867,3379,1868,3387,1868,3395,1868,3397,1868,3398,1867,3401,1868,3403,1868,3407,1866,3408,1865,3408,1865,3409,1864,3411,1862,3412,1858,3415,1857,3421,1857,3422,1856,3423,1855,3428,1852,3430,1851,3431,1850,3435,1850,3436,1849,3436,1849,3438,1848,3440,1848,3441,1848,3441,1847,3447,1845,3449,1844,3450,1843,3451,1841,3456,1842,3463,1842,3466,1842,3468,1840,3482,1840,3496,1840,3509,1839,3521,1838,3534,1835,
3548,1834,3554,1838,3560,1839,3562,1841,3563,1842,3563,1842,3564,1846,3570,1848,3577,1849,3579,1849,3581,1850,3582,1850,3582,1851,3585,1850,3587,1850,3592,1851,3594,1852,3596,1852,3597,1853,3606,1851,3612,1851,3614,1851,3616,1851,3619,1850,3621,1849,3622,1848,3624,1847,3629,1847,3635,1847,3636,1846,3637,1845,3642,1847,3645,1847,3648,1847,3650,1845,3673,1842,3695,1840,3711,1833,3726,1832,3729,1831,3732,1828,3738,1824,3745,1843,3751,1857,3761,1863,3765,1864,3776,1864,3781,1863,3783,1861,3786,1860,3790,
1860,3791,1859,3793,1857,3795,1857,3800,1857,3801,1856,3803,1854,3817,1847,3822,1843,3824,1841,3828,1841,3830,1840,3831,1840,3832,1839,3833,1839,3835,1838,3836,1838,3841,1840,3843,1843,3845,1846,3848,1847,3849,1849,3851,1852,3855,1854,3863,1855,3864,1855,3866,1855,3869,1854,3872,1854,3873,1855,3874,1858,3888,1867,3901,1873,3909,1880,3916,1887,3924,1895,3929,1896,3930,1896,3931,1900,3938,1905,3945,1906,3947,1908,3948,1909,3949,1910,3950,1918,3959,1924,3964,1929,3969,1934,3973,1942,3981,1952,3987,1965,
3996,1973,4009,1975,4012,1978,4008,1984,4001,1982,3991,1980,3970,1978,3949,1977,3938,1983,3927,1985,3922,1988,3917,1990,3914,1991,3909,1991,3906,1990,3903,1989,3901,1989,3900,1989,3888,1990,3876,1990,3876,1991,3875,1991,3873,1992,3871,1992,3871,1992,3870,1993,3868,1993,3866,1996,3856,2003,3848,2003,3848,2003,3848,2004,3847,2004,3846,2010,3837,2015,3827,2016,3825,2017,3823,2019,3822,2019,3820,2021,3817,2023,3815,2026,3811,2026,3806,2029,3791,2024,3777,2021,3768,2014,3761,2009,3756,2005,3751,2004,3750,
2004,3749,2003,3731,2011,3716,2012,3715,2013,3714,2016,3712,2019,3709,2023,3705,2029,3705,2030,3705,2031,3704,2036,3698,2040,3692,2042,3690,2043,3687,2044,3682,2047,3678,2047,3677,2048,3676,2049,3672,2050,3670,2051,3669,2051,3667,2050,3662,2049,3656,2049,3654,2049,3652,2048,3652,2048,3651,2040,3639,2040,3623,2040,3614,2034,3611,2036,3608,2038,3606,2039,3606,2041,3605,2052,3601,2064,3602,2067,3602,2069,3602,2071,3601,2072,3601,2073,3600,2074,3600,2078,3599,2080,3595,2080,3595,2081,3595,2082,3595,2082,
3595,2086,3595,2086,3591,2088,3573,2091,3556,2091,3554,2090,3553,2086,3546,2092,3544,2095,3544,2097,3542,2098,3542,2099,3542,2114,3541,2129,3541,2131,3541,2134,3541,2149,3539,2157,3524,2160,3520,2162,3516,2165,3510,2170,3507,2173,3506,2175,3505,2179,3505,2180,3503,2181,3502,2182,3502,2185,3501,2188,3500,2194,3496,2199,3493,2203,3490,2200,3485,2199,3483,2198,3480,2198,3479,2197,3478,2193,3475,2193,3471,2193,3471,2192,3470,2189,3464,2185,3460,2178,3452,2172,3441,2171,3440,2171,3438,2172,3434,2174,3430,
2178,3421,2188,3423,2190,3423,2192,3423,2198,3421,2205,3421,2234,3422,2263,3422,2264,3424,2264,3425,2266,3424,2267,3423,2270,3421,2272,3418,2273,3417,2274,3416,2274,3415,2275,3412,2275,3408,2276,3404,2279,3391,2285,3381,2293,3368,2302,3356,2310,3342,2317,3327,2323,3316,2329,3305,2337,3293,2345,3280,2351,3269,2353,3257,2356,3246,2355,3234,2354,3220,2356,3207,2358,3195,2364,3184,2373,3171,2384,3160,2392,3153,2401,3147,2406,3144,2412,3143,2420,3141,2429,3139,2430,3139,2431,3139,2433,3138,2436,3137,2448,
3132,2456,3128,2463,3124,2471,3121,2472,3121,2472,3121,2490,3120,2507,3120,2509,3120,2510,3119,2513,3118,2517,3118,2519,3121,2519,3119,"L",2520,3118,"Q",2521,3117,2521,3116,2522,3114,2525,3113,2527,3112,2528,3111,2532,3105,2528,3096,2528,3095,2528,3093,2529,3087,2532,3080,2536,3072,2538,3063,2538,3063,2538,3062,2540,3056,2543,3052,2544,3051,2545,3051,2548,3049,2549,3047,2550,3045,2550,3042,2552,3036,2551,3030,2551,3027,2552,3026,2553,3025,2553,3023,2554,3020,2555,3018,2555,3017,2555,3015,2555,3010,
2557,3005,2558,3004,2558,3002,2558,3001,2558,3E3,2558,2999,2559,2998,2561,2996,2562,2992,2563,2991,2564,2990,2566,2989,2567,2986,2569,2972,2569,2959,2569,2942,2566,2924,2565,2921,2566,2918,2566,2917,2566,2916,2570,2903,2575,2890,2578,2885,2581,2881,2585,2876,2588,2871,2600,2847,2613,2825,2614,2824,2615,2823,2617,2819,2619,2815,2620,2813,2621,2811,2625,2806,2631,2801,2632,2801,2633,2800,2634,2798,2635,2797,2639,2794,2641,2788,2642,2787,2644,2785,2646,2782,2646,2780,2646,2775,2646,2770,2646,2768,2647,
2767,2648,2764,2648,2758,2648,2757,2649,2756,2651,2754,2652,2748,2652,2748,2652,2747,2654,2741,2656,2736,2657,2734,2656,2728,2655,2725,2655,2722,2655,2720,2654,2718,2654,2718,2654,2717,2653,2713,2652,2710,2651,2709,2650,2707,2648,2704,2646,2699,2646,2698,2645,2697,2645,2693,2643,2689,2640,2685,2636,2681,2635,2680,2633,2680,2619,2682,2615,2675,2609,2675,2611,2678,"L",2612,2679,"Q",2611,2680,2611,2680,2610,2682,2610,2685,2609,2685,2608,2684,2606,2683,2605,2681,2593,2666,2576,2659,2569,2657,2565,2654,
2564,2653,2563,2652,2563,2652,2562,2651,2550,2646,2537,2637,2535,2637,2533,2636,2532,2636,2530,2635,2529,2635,2528,2635,2526,2634,2523,2634,2523,2633,2522,2633,2507,2630,2492,2629,2490,2629,2489,2629,2488,2628,2487,2628,2485,2627,2484,2627,2477,2627,2470,2627,2470,2627,2469,2627,2459,2628,2455,2621,2455,2619,2453,2617,2450,2612,2445,2607,2437,2599,2428,2595,2417,2589,2406,2586,2386,2580,2365,2576,2359,2574,2353,2574,2351,2574,2350,2575,2345,2578,2338,2577,2334,2576,2331,2576,"Q",2330,2575,2329,2575,
"Z"]],label:"South America",shortLabel:"SA",labelPosition:[212.7,283.6],labelAlignment:["center","middle"]},NA:{outlines:[["M",797,1293,"Q",806,1299,812,1304,813,1306,814,1307,817,1310,822,1312,824,1313,825,1313,830,1315,832,1310,832,1309,831,1308,828,1304,822,1300,821,1300,820,1299,801,1282,781,1262,777,1258,771,1258,768,1258,764,1259,771,1276,787,1286,"Q",792,1290,797,1293,"Z"],["M",707,1148,"Q",705,1148,704,1149,704,1149,703,1149,699,1152,698,1157,695,1170,696,1184,696,1195,697,1206,"L",697,1206,
"Q",697,1208,698,1209,698,1211,698,1213,699,1215,699,1216,699,1217,699,1218,708,1215,706,1204,706,1204,706,1203,707,1202,708,1201,708,1198,706,1197,"L",706,1196,"Q",707,1193,707,1192,709,1188,709,1183,709,1167,708,1151,708,1150,707,1148,"Z"],["M",704,1105,"Q",703,1109,701,1112,701,1113,701,1115,700,1122,706,1124,707,1124,708,1125,711,1128,714,1128,713,1127,715,1123,716,1122,716,1120,717,1119,717,1118,718,1117,718,1116,711,1114,709,1103,708,1104,706,1104,"Q",705,1105,704,1105,"Z"],["M",699,1055,"Q",
698,1049,695,1054,694,1055,692,1057,691,1058,691,1060,690,1065,691,1067,693,1072,693,1077,694,1078,694,1080,695,1081,695,1082,696,1084,696,1087,697,1088,698,1088,699,1088,699,1088,703,1078,703,1067,703,1064,701,1060,701,1059,700,1057,"Q",700,1056,699,1055,"Z"],["M",1699,2407,"Q",1699,2408,1699,2410,"L",1699,2365,"Q",1698,2385,1699,2404,"Q",1699,2406,1699,2407,"Z"],["M",1583,2001,"Q",1580,2003,1575,2006,1574,2006,1573,2007,1572,2008,1571,2009,1568,2012,1567,2017,1567,2019,1569,2021,1572,2022,1575,
2025,1578,2027,1583,2025,1584,2025,1584,2025,1586,2024,1587,2024,1590,2023,1594,2022,1599,2020,1605,2021,1615,2021,1625,2020,1630,2020,1633,2023,1635,2025,1638,2025,1649,2028,1660,2031,1668,2033,1676,2036,1693,2042,1704,2057,1712,2068,1721,2077,1727,2082,1734,2083,1746,2084,1757,2085,1764,2086,1772,2087,1784,2089,1796,2092,1803,2094,1807,2099,1808,2101,1805,2103,1798,2109,1789,2114,1789,2115,1788,2116,1788,2117,1788,2118,1789,2120,1790,2120,1795,2121,1800,2121,1804,2121,1808,2121,1808,2121,1809,2121,
1823,2123,1837,2122,1840,2121,1843,2121,1844,2121,1845,2120,1846,2120,1847,2120,1853,2119,1859,2118,1861,2118,1863,2118,1871,2116,1879,2113,1881,2113,1883,2113,1889,2114,1895,2117,1896,2118,1897,2118,1899,2119,1900,2119,1909,2119,1915,2115,1919,2113,1917,2108,1916,2103,1911,2099,1904,2093,1895,2088,1890,2085,1885,2084,1884,2083,1883,2083,1881,2082,1879,2081,1878,2081,1877,2080,1876,2080,1875,2080,1863,2080,1850,2078,1835,2076,1820,2075,1815,2074,1809,2073,1801,2072,1793,2070,1788,2069,1784,2066,1776,
2059,1769,2052,1763,2047,1757,2041,1753,2038,1749,2035,1741,2029,1732,2025,1721,2019,1709,2015,1692,2008,1675,2E3,1669,1997,1664,1994,1663,1993,1662,1993,1661,1991,1657,1991,1655,1991,1653,1990,1652,1990,1650,1990,1647,1989,1644,1989,1643,1989,1642,1989,1634,1989,1627,1989,1623,1989,1619,1989,1609,1987,1600,1992,1594,1995,1588,1999,1587,2E3,1585,2E3,"Q",1584,2001,1583,2001,"Z"],["M",2262,1229,"Q",2261,1229,2259,1228,2258,1228,2256,1227,2255,1226,2255,1224,2254,1223,2254,1222,"L",2252,1222,"Q",2251,
1224,2249,1224,2238,1229,2233,1240,2232,1242,2232,1243,2228,1249,2223,1256,2222,1257,2222,1257,2220,1258,2218,1259,2217,1260,2217,1260,2214,1261,2213,1264,2209,1270,2205,1275,2203,1280,2200,1284,2198,1286,2197,1289,2197,1290,2197,1290,2196,1291,2195,1293,2195,1294,2194,1295,2192,1296,2190,1299,2187,1303,2183,1306,2182,1308,2181,1309,2178,1315,2176,1320,2174,1326,2176,1330,2176,1331,2178,1333,"L",2178,1333,"Q",2179,1335,2180,1336,2182,1338,2185,1338,2194,1340,2203,1338,2215,1337,2227,1336,2234,1335,
2241,1334,2242,1334,2243,1334,2248,1333,2252,1334,2253,1335,2253,1335,2254,1340,2254,1345,2254,1346,2254,1346,2254,1348,2254,1349,2254,1350,2255,1351,2255,1353,2255,1354,2256,1355,2256,1356,2258,1357,2261,1357,2261,1357,2262,1357,2264,1356,2266,1356,2267,1355,2269,1355,2273,1354,2276,1352,2276,1352,2277,1351,2283,1344,2289,1341,2292,1339,2296,1338,2297,1337,2297,1337,2298,1338,2298,1338,2299,1338,2299,1339,2302,1341,2301,1345,2301,1346,2301,1347,2303,1351,2306,1354,2306,1354,2306,1354,2306,1355,2307,
1355,2308,1356,2309,1356,2310,1357,2311,1357,"L",2311,1357,"Q",2311,1358,2312,1358,2313,1359,2314,1359,2315,1359,2316,1359,2317,1359,2318,1358,2321,1357,2322,1355,2322,1354,2322,1352,2323,1352,2323,1351,2323,1350,2323,1349,2324,1346,2326,1344,2329,1340,2331,1336,2335,1327,2333,1318,2332,1313,2326,1309,2325,1308,2324,1308,"L",2324,1308,2316,1302,"Q",2313,1299,2309,1296,2308,1296,2309,1295,2309,1294,2309,1294,2309,1293,2310,1291,2310,1291,2311,1290,2313,1286,2315,1280,2316,1279,2315,1278,2314,1277,
2313,1276,2313,1276,2312,1275,2309,1274,2306,1272,2306,1272,2305,1272,2305,1272,2304,1272,2303,1271,2302,1271,2301,1271,2299,1270,2287,1267,2274,1264,2270,1264,2266,1262,2265,1262,2264,1261,2264,1261,2264,1260,2263,1259,2263,1257,2263,1257,2262,1256,2262,1255,2261,1254,2260,1252,2260,1249,2260,1245,2262,1242,2264,1239,2266,1237,2268,1236,2268,1235,2268,1234,2269,1232,2270,1230,2268,1227,2268,1228,2267,1228,"Q",2265,1230,2262,1229,"Z"],["M",1420,483,"Q",1417,485,1413,486,1408,487,1403,488,1400,489,
1398,490,1397,491,1397,491,1396,492,1394,492,1391,493,1387,494,1380,496,1373,500,1370,501,1368,503,1365,505,1363,507,1362,507,1362,508,1360,511,1355,514,1355,515,1355,515,1354,518,1353,519,1349,524,1344,524,1332,525,1319,524,1311,524,1303,524,1295,524,1290,520,1287,517,1286,512,1284,508,1281,507,1273,506,1264,507,1255,509,1245,511,1239,512,1233,513,1229,514,1231,510,1233,504,1234,497,1234,497,1233,497,1232,497,1230,496,1230,496,1229,496,1219,494,1208,491,1205,490,1201,488,1201,486,1202,484,1202,482,
1200,480,1197,478,1194,477,1193,477,1191,477,1189,478,1186,479,1178,480,1170,480,1166,480,1162,478,1156,476,1152,471,1146,465,1140,462,1137,460,1133,459,1131,458,1129,459,1128,459,1126,459,1125,459,1124,460,1123,460,1123,460,1122,461,1120,461,1119,462,1116,462,1115,462,1114,462,1113,463,1113,462,1105,462,1098,460,1090,459,1081,458,1074,458,1068,461,1061,465,1058,473,1055,483,1053,493,1052,501,1048,507,1044,516,1038,524,1032,532,1028,541,1026,545,1026,548,1026,550,1027,552,1027,553,1027,553,1028,555,
1028,555,1030,557,1031,561,1031,562,1032,563,1032,564,1032,564,1033,570,1039,573,1040,574,1040,574,1042,574,1043,575,1043,575,1044,575,1047,576,1050,576,1052,576,1052,576,1058,581,1063,586,1064,588,1065,588,1067,588,1068,588,1068,588,1069,587,1075,585,1080,581,1086,576,1089,572,1090,571,1090,571,1090,570,1091,570,1093,566,1096,563,1097,563,1098,562,1101,560,1104,558,1105,558,1105,557,1109,556,1113,554,1115,553,1116,552,1130,544,1144,536,1145,536,1145,536,1147,535,1148,534,1149,533,1153,533,1152,534,
1152,534,1151,535,1150,536,1149,538,1148,541,1147,544,1147,547,1146,549,1146,551,1145,552,1145,553,1145,554,1145,554,1145,556,1146,558,1147,560,1149,560,1150,560,1150,560,1153,561,1155,562,1157,563,1158,563,1160,563,1161,564,1165,566,1167,568,1168,568,1167,569,1165,579,1158,586,1157,586,1156,587,1153,588,1154,593,1155,594,1155,594,1157,598,1163,596,1163,596,1164,596,1174,596,1184,596,1187,596,1190,597,1192,597,1194,597,1195,598,1195,598,1198,599,1200,600,1205,600,1206,604,1206,606,1206,608,1206,610,
1205,611,1197,621,1186,624,1185,624,1184,625,1176,626,1172,632,1171,636,1171,639,1172,641,1173,641,1174,642,1175,642,"L",1175,642,"Q",1176,643,1176,643,1178,643,1179,643,1183,644,1188,644,1206,646,1225,646,1233,646,1240,646,1247,647,1253,647,1254,648,1255,648,1258,648,1260,649,1262,649,1263,649,1266,649,1269,650,1270,650,1271,650,1273,651,1275,651,1279,652,1281,653,1283,653,1284,653,1287,654,1290,654,1294,655,1296,656,1301,658,1306,658,1310,658,1314,659,1315,659,1315,659,1317,659,1318,660,1318,660,
1319,661,1320,661,1320,662,1322,663,1321,666,"L",1321,666,"Q",1321,666,1322,666,1322,666,1323,666,1326,664,1329,664,1330,664,1330,664,1332,666,1333,667,1333,666,1333,665,1335,665,1335,664,1339,656,1341,648,1342,648,1343,647,1344,647,1344,647,1348,647,1351,648,1359,650,1365,653,1367,654,1367,655,1371,661,1379,660,1392,660,1404,661,1407,661,1409,659,1410,658,1412,657,1414,656,1415,655,1416,654,1417,653,1419,651,1422,649,1423,649,1424,647,1425,647,1425,645,1425,643,1425,640,1425,639,1425,638,1425,637,
1425,635,1423,633,1426,631,1428,628,1434,625,1435,625,1435,624,1437,624,1438,623,1441,622,1441,617,1442,615,1441,613,1441,612,1440,611,1439,610,1438,609,1437,608,1437,607,1434,604,1433,599,1433,597,1432,595,1432,594,1432,593,1432,592,1432,590,1432,590,1432,589,1427,583,1422,577,1419,573,1416,568,1416,567,1416,567,1415,566,1414,565,1409,561,1409,557,1409,556,1409,554,1407,548,1405,539,1405,537,1404,536,1402,533,1403,528,1404,524,1406,520,1414,506,1423,492,1426,489,1427,484,1427,481,1422,482,"Q",1421,
482,1420,483,"Z"],["M",1418,411,"Q",1417,402,1407,397,1400,394,1393,392,1390,391,1389,390,1389,390,1388,389,1385,382,1380,379,1379,378,1378,378,1372,377,1365,377,1364,377,1363,377,1361,378,1359,378,1359,379,1358,379,1355,382,1353,384,1352,385,1352,385,1349,387,1347,389,1342,394,1337,398,1336,399,1334,399,1332,400,1329,400,1324,399,1323,395,1322,395,1322,395,1321,394,1320,394,1303,385,1284,382,1283,382,1282,381,1281,381,1279,381,1278,380,1277,380,1271,378,1264,377,1263,377,1262,376,1261,376,1260,376,
1260,376,1259,376,1258,377,1257,377,1256,377,1255,378,1252,380,1248,383,1237,394,1227,406,1222,412,1218,419,1218,420,1218,420,1217,422,1215,422,1214,423,1212,424,1213,425,1213,426,1215,429,1216,432,1219,437,1222,440,1223,442,1227,442,1228,443,1229,443,1230,444,1230,444,1233,445,1235,444,1240,442,1246,441,1256,438,1265,442,1269,444,1271,450,1272,454,1274,455,1287,462,1302,467,1302,467,1303,467,1304,467,1305,466,1307,464,1309,462,1310,461,1310,460,1315,454,1321,449,1327,444,1335,442,1344,440,1352,438,
1358,436,1364,434,1380,431,1395,427,1397,427,1398,426,1400,425,1403,425,1409,424,1413,420,"Q",1419,415,1418,411,"Z"],["M",1513,478,"Q",1509,480,1506,486,1503,493,1500,499,1497,504,1494,508,1493,509,1492,509,1491,510,1489,510,1484,511,1478,516,1472,520,1467,523,1466,524,1466,524,1465,526,1466,526,1467,529,1470,530,1476,535,1483,537,1491,539,1499,539,1501,539,1501,540,1510,544,1519,550,1526,554,1533,554,1541,555,1549,551,1557,548,1564,544,1565,544,1565,544,1567,543,1568,543,1569,543,1569,542,1571,540,
1576,540,1575,538,1574,534,1574,533,1575,533,1576,532,1575,529,1575,528,1576,528,1578,526,1577,522,1577,521,1576,520,1576,518,1575,517,1575,516,1575,514,1574,513,1574,511,1574,508,1574,506,1574,505,1573,503,1573,502,1573,501,1574,500,1574,499,1574,498,1574,497,1575,494,1574,491,1574,486,1570,483,1565,478,1558,478,1549,478,1540,478,1533,479,1525,477,"Q",1519,476,1513,478,"Z"],["M",2002,538,"Q",1997,529,1988,524,1972,515,1954,512,1952,512,1950,513,1949,513,1948,513,1947,514,1945,514,1944,514,1943,515,
1936,517,1932,520,1931,521,1930,522,1929,523,1927,523,1919,527,1910,526,1909,526,1908,526,1907,525,1904,524,1903,524,1902,524,1894,524,1888,521,1887,521,1885,520,1882,520,1882,517,1882,514,1882,510,1881,505,1881,499,1880,492,1878,485,1877,479,1871,476,1865,473,1858,473,1851,474,1844,476,1832,481,1819,485,1812,488,1805,492,1799,497,1793,502,1785,511,1781,522,1781,523,1781,524,1780,525,1780,526,1779,529,1776,534,1776,534,1776,535,1776,538,1772,539,1769,539,1767,537,1764,533,1762,526,1761,514,1758,502,
1757,496,1752,492,1749,489,1743,491,1732,496,1723,503,1717,508,1713,516,1712,518,1712,519,1709,529,1707,539,1706,547,1710,552,1714,559,1722,562,1717,576,1716,590,1715,595,1718,600,1719,601,1719,601,1721,602,1722,602,1723,602,1724,603,1725,605,1728,604,1733,603,1738,605,1746,609,1754,613,1755,613,1755,613,1757,614,1758,614,1759,615,1762,615,1763,615,1764,614,1765,614,1768,614,1769,614,1770,613,1771,613,1772,613,1773,612,1774,612,1777,611,1780,612,1781,613,1782,614,1785,616,1785,620,1786,620,1787,619,
1788,619,1789,619,1791,620,1791,620,"L",1785,620,"Q",1778,626,1774,631,1774,632,1773,632,1772,633,1771,634,1765,643,1756,654,1755,656,1753,658,1753,658,1752,659,1749,663,1745,669,1733,684,1718,695,1718,696,1717,696,1713,696,1709,696,1704,696,1703,691,1703,690,1703,689,1703,688,1702,688,1700,688,1700,685,1701,684,1700,683,1699,680,1698,676,1696,666,1699,656,1699,655,1699,654,1697,652,1698,648,1698,647,1699,645,1700,643,1698,640,1696,639,1693,639,1689,639,1686,641,1678,646,1674,654,1674,655,1673,655,
1672,656,1671,657,1670,658,1669,659,1669,660,1668,660,1665,660,1662,662,1661,662,1661,662,1660,662,1659,662,1656,660,1654,659,1654,658,1653,658,1649,652,1651,644,1651,643,1650,641,1650,641,1650,640,1649,639,1649,638,1648,636,1647,634,1645,631,1644,629,1643,628,1643,626,1643,626,1642,625,1642,624,1641,623,1641,622,1641,621,1641,620,1640,619,1640,618,1640,618,1639,615,1638,613,1634,607,1634,599,1634,590,1634,580,1634,575,1634,570,1634,556,1634,541,1634,540,1634,539,1632,536,1631,533,1628,528,1625,523,
1623,518,1625,512,1627,506,1632,502,1639,497,1648,496,1657,495,1666,493,1678,491,1687,485,1693,482,1692,475,1692,470,1687,466,1683,463,1679,461,1679,461,1678,461,1671,458,1663,459,1662,459,1661,458,1658,457,1653,458,1643,459,1638,466,1637,468,1636,468,1635,469,1633,469,1633,470,1632,470,1631,471,1629,472,1623,476,1617,482,1616,483,1616,484,1614,485,1612,487,1611,487,1611,487,1606,490,1601,494,1598,497,1595,503,1595,503,1595,504,1594,505,1595,506,1596,508,1596,510,1596,515,1597,519,1599,525,1601,530,
1603,537,1602,542,1601,555,1595,565,1589,577,1579,586,1574,591,1571,597,1567,604,1569,610,1570,614,1573,618,1579,628,1581,639,1585,656,1584,674,1584,677,1583,679,1580,682,1577,684,1576,685,1574,685,1565,687,1562,694,1560,697,1557,700,1553,703,1550,707,1546,710,1543,708,1543,708,1542,708,1537,708,1537,704,1537,703,1537,701,1538,697,1539,694,1539,693,1540,691,1540,691,1540,690,1540,688,1539,686,1538,684,1536,683,1536,682,1534,682,1532,681,1531,680,1529,679,1527,678,1526,678,1524,678,1518,678,1512,679,
1511,680,1511,680,1508,682,1503,683,1502,684,1501,684,1497,686,1492,685,1491,685,1489,686,1481,688,1472,688,1467,688,1463,688,1457,689,1451,688,1450,688,1449,688,1444,688,1439,688,1435,688,1431,688,1424,689,1417,688,1406,686,1394,683,1392,683,1389,682,1381,679,1372,676,1364,674,1356,672,1355,671,1354,671,1352,670,1348,670,1347,670,1346,670,1345,670,1344,669,1338,668,1333,670,1328,671,1323,674,1323,675,1322,675,1318,680,1314,681,1313,682,1313,684,1307,696,1304,708,1302,713,1301,718,1299,722,1298,721,
1290,715,1285,705,1284,703,1283,701,1282,700,1281,699,1281,699,1279,699,1279,699,1278,699,1274,701,1270,701,1269,701,1268,702,1267,702,1262,702,1257,701,1253,701,1244,701,1234,701,1232,701,1230,701,1214,701,1198,703,1195,701,1193,701,1190,700,1188,701,1187,701,1187,701,1183,702,1182,700,1179,697,1177,700,1176,700,1175,700,1173,700,1171,699,1169,697,1170,694,1170,691,1170,689,1169,686,1170,684,1170,683,1170,681,1170,680,1171,679,1171,678,1171,676,1172,674,1172,671,1171,666,1173,663,1174,662,1174,660,
1174,659,1173,658,1172,655,1171,654,1170,654,1171,653,1170,653,1168,653,1154,657,1140,656,1137,656,1134,657,1130,657,1128,656,1125,655,1122,654,1108,651,1097,643,1075,630,1049,633,1033,634,1016,634,1014,634,1012,634,1010,634,1010,633,1008,620,995,621,994,622,993,622,981,622,969,622,963,623,962,619,961,615,960,611,960,609,959,608,955,605,951,605,944,607,939,613,936,617,935,622,934,623,934,624,933,626,932,627,928,631,926,635,"L",923,635,"Q",922,637,920,639,916,642,911,642,891,643,871,645,867,645,862,
645,855,646,849,646,837,647,828,644,827,644,826,644,823,643,817,644,806,645,802,659,787,662,770,661,769,661,767,662,748,666,733,657,727,654,721,651,711,645,699,642,692,640,686,639,676,637,667,634,664,633,662,633,656,632,650,632,636,631,622,629,616,628,609,628,601,629,594,626,592,626,590,625,566,616,540,613,527,612,514,608,476,598,437,591,436,591,435,591,428,590,422,589,420,589,418,589,390,587,364,598,350,604,336,609,324,613,317,617,316,617,315,618,313,618,312,619,308,622,300,626,299,627,298,627,295,
628,293,629,283,631,275,637,266,643,257,647,256,647,255,648,251,649,248,651,245,653,242,655,232,661,229,667,227,672,222,673,216,676,213,679,212,679,211,679,207,679,205,681,204,682,202,683,202,683,201,684,201,684,201,684,200,683,200,682,199,682,199,682,192,682,186,683,185,683,184,684,179,695,185,712,187,726,197,736,208,748,223,754,228,755,228,759,229,761,228,762,224,768,212,767,180,766,148,773,136,775,128,787,127,789,127,791,126,797,125,804,124,811,128,817,133,825,139,828,"L",142,829,"Q",144,831,146,
831,150,832,154,834,156,834,158,835,177,842,195,832,203,828,210,825,214,823,218,824,220,825,221,827,221,828,220,829,218,831,217,833,213,844,201,852,199,853,198,855,194,862,182,868,179,869,175,870,174,870,173,871,171,871,169,872,162,873,156,872,155,872,152,872,138,870,133,882,132,884,131,886,127,889,123,891,108,901,98,918,96,922,95,926,94,937,93,952,93,958,95,963,97,974,111,979,118,981,126,982,129,982,132,981,136,980,141,981,142,981,142,982,147,1001,143,1019,143,1021,144,1022,146,1025,148,1025,150,
1024,152,1027,153,1028,154,1028,157,1031,165,1031,166,1031,167,1032,172,1034,175,1033,178,1031,182,1030,184,1030,185,1028,188,1026,191,1024,206,1017,220,1011,221,1011,222,1012,222,1017,220,1022,218,1029,213,1035,210,1038,207,1041,199,1049,186,1057,174,1064,163,1072,156,1077,150,1081,148,1082,147,1083,139,1091,126,1098,125,1099,124,1100,123,1103,120,1105,115,1107,113,1110,112,1112,110,1114,108,1117,106,1119,102,1127,103,1137,104,1141,111,1141,113,1141,113,1142,114,1144,118,1143,135,1137,152,1131,158,
1128,161,1126,164,1123,168,1121,179,1116,188,1109,199,1102,209,1093,222,1082,236,1073,244,1068,251,1064,259,1059,269,1052,274,1048,278,1044,290,1035,301,1021,303,1019,304,1018,310,1013,316,1004,320,999,324,995,325,994,326,993,328,988,332,982,350,959,366,939,"L",366,939,"Q",368,937,369,935,370,935,371,935,377,936,374,945,370,953,365,960,359,969,356,980,355,981,355,982,354,983,354,985,353,988,353,991,"L",354,999,"Q",363,1002,372,999,380,996,387,991,388,990,389,986,389,986,390,985,393,985,394,982,396,
976,402,974,403,974,405,974,411,974,415,971,417,970,418,969,424,968,430,965,432,964,433,963,438,960,446,956,447,956,448,955,450,951,452,945,454,942,458,941,459,940,460,940,466,940,468,942,470,943,471,943,479,943,487,946,488,947,489,947,497,947,502,951,505,954,506,957,507,958,508,958,512,960,517,966,518,967,519,967,522,968,524,969,527,970,529,969,533,969,535,971,536,972,538,972,543,971,548,970,553,968,559,968,560,968,561,967,566,966,569,968,571,968,572,969,573,969,574,969,592,974,605,989,608,992,610,
997,611,998,611,1E3,612,1002,613,1003,618,1009,625,1012,635,1017,645,1019,649,1020,652,1020,658,1021,661,1019,662,1018,664,1018,665,1017,667,1017,670,1016,674,1014,675,1014,675,1014,676,1014,677,1014,679,1015,681,1016,689,1024,696,1033,702,1040,705,1045,708,1049,710,1052,710,1053,710,1054,709,1061,710,1066,711,1068,711,1069,712,1071,712,1073,714,1078,714,1084,714,1085,715,1086,720,1091,726,1098,727,1099,728,1100,729,1100,729,1101,730,1103,730,1104,733,1115,733,1126,735,1127,736,1128,737,1130,736,
1134,735,1141,737,1146,738,1148,738,1149,741,1156,745,1162,748,1166,750,1172,750,1173,751,1174,755,1177,761,1179,764,1179,766,1181,776,1187,780,1201,781,1207,782,1214,783,1221,786,1225,787,1227,788,1229,793,1236,804,1246,810,1251,814,1257,815,1259,816,1260,821,1265,823,1270,825,1276,828,1279,829,1280,831,1281,832,1281,832,1282,838,1289,838,1298,838,1299,839,1300,839,1302,840,1303,840,1304,840,1305,841,1305,841,1306,845,1317,847,1327,848,1335,844,1339,833,1347,819,1348,817,1348,814,1346,814,1346,813,
1345,809,1347,809,1353,809,1354,808,1355,808,1358,807,1361,807,1363,806,1365,806,1368,806,1371,807,1377,805,1379,803,1384,801,1390,799,1394,796,1400,793,1406,792,1413,792,1414,791,1415,791,1418,791,1421,790,1435,788,1448,788,1451,787,1453,786,1455,785,1456,784,1461,782,1466,778,1477,777,1486,776,1489,775,1491,774,1493,773,1494,773,1495,773,1495,773,1498,773,1504,772,1530,775,1555,776,1567,781,1577,787,1591,797,1603,805,1612,811,1623,817,1633,818,1645,820,1661,817,1676,816,1685,821,1688,822,1689,822,
1689,823,1693,826,1693,829,1693,831,1695,831,1696,833,1697,840,1699,843,1706,844,1707,844,1707,849,1708,850,1713,850,1714,850,1714,850,1715,850,1716,849,1720,853,1723,856,1725,861,1725,865,1725,867,1727,868,1728,868,1729,872,1733,874,1738,874,1737,874,1736,875,1738,876,1740,876,1740,877,1740,"L",877,1741,"Q",879,1753,883,1764,886,1770,886,1777,886,1779,887,1781,888,1783,889,1786,899,1805,909,1824,916,1837,921,1849,922,1851,922,1852,923,1854,923,1855,924,1859,925,1862,926,1867,927,1872,928,1874,928,
1875,929,1878,928,1882,928,1884,928,1885,928,1886,928,1887,929,1889,929,1890,930,1895,934,1897,935,1898,935,1898,937,1899,938,1900,944,1905,948,1910,949,1911,950,1912,950,1914,951,1915,956,1929,964,1939,968,1946,972,1952,973,1953,973,1953,977,1957,979,1963,979,1964,980,1965,985,1970,992,1974,995,1975,997,1974,998,1973,1E3,1973,1001,1972,1002,1972,1003,1971,1004,1971,1007,1966,1007,1960,1007,1939,1006,1918,1006,1918,1006,1917,1004,1909,1E3,1903,999,1901,997,1900,989,1893,980,1885,979,1885,978,1884,
976,1882,974,1880,973,1879,971,1877,966,1871,963,1864,963,1863,962,1862,961,1861,960,1859,958,1855,957,1849,957,1844,954,1842,953,1842,953,1841,952,1839,951,1837,948,1832,945,1826,944,1822,945,1818,952,1805,960,1792,961,1792,962,1792,964,1792,965,1793,968,1795,968,1799,968,1801,968,1802,968,1807,969,1811,969,1812,970,1812,970,1815,971,1817,971,1824,975,1826,976,1827,977,1829,978,1831,979,1832,985,1837,991,1843,994,1845,995,1849,996,1850,996,1850,998,1852,999,1854,1012,1873,1026,1892,1031,1899,1034,
1906,1042,1921,1049,1937,1053,1945,1058,1952,1067,1965,1080,1975,1090,1983,1093,1992,1097,2002,1100,2013,1102,2021,1105,2030,1105,2031,1106,2031,1106,2033,1106,2035,1106,2038,1106,2041,1106,2043,1106,2044,1108,2063,1113,2081,1114,2085,1116,2088,1125,2097,1141,2101,1154,2103,1158,2109,1159,2110,1159,2111,1167,2118,1174,2124,1187,2134,1196,2139,1197,2140,1197,2140,1205,2144,1211,2148,1225,2156,1238,2165,1241,2167,1245,2169,1249,2171,1253,2173,1254,2174,1256,2173,1259,2173,1260,2175,1261,2176,1262,2176,
1266,2176,1270,2177,1276,2177,1282,2178,1284,2178,1285,2178,1293,2179,1295,2178,1297,2178,1299,2178,1304,2179,1309,2180,1310,2180,1312,2180,1314,2181,1317,2181,1322,2182,1329,2185,1333,2187,1337,2189,1343,2191,1348,2194,1350,2195,1352,2196,1354,2198,1355,2199,1358,2202,1361,2205,1362,2206,1364,2207,1366,2208,1368,2208,1369,2209,1371,2209,1372,2209,1373,2210,1375,2211,1376,2211,1377,2212,1378,2212,1389,2217,1400,2222,1408,2225,1416,2227,1428,2231,1440,2235,1450,2238,1458,2242,1469,2247,1480,2252,1484,
2253,1486,2255,1494,2260,1501,2266,1503,2268,1504,2271,1504,2272,1505,2272,1510,2279,1513,2289,1514,2293,1517,2295,1517,2296,1518,2297,1518,2298,1518,2299,1522,2303,1526,2307,1527,2308,1527,2309,1528,2313,1531,2316,1536,2323,1544,2329,1548,2332,1553,2335,1555,2336,1558,2337,1565,2338,1572,2341,"L",1571,2341,"Q",1575,2341,1575,2343,1576,2345,1577,2346,1582,2351,1585,2357,1588,2364,1597,2368,1600,2369,1603,2371,1605,2372,1606,2373,1607,2374,1608,2375,1609,2376,1610,2376,1614,2379,1620,2380,1627,2380,
1635,2378,1636,2378,1637,2378,1641,2377,1645,2375,1646,2375,1648,2374,1649,2374,1650,2374,1652,2371,1653,2370,1666,2364,1678,2357,1683,2355,1689,2353,1693,2352,1698,2352,"L",1698,2345,"Q",1698,2345,1697,2344,1693,2340,1688,2337,1686,2336,1683,2336,1680,2336,1677,2335,1676,2335,1676,2334,1675,2334,1673,2333,1672,2333,1672,2331,1671,2331,1671,2330,1667,2328,1664,2326,1663,2326,1662,2325,1661,2324,1658,2324,1651,2326,1645,2329,1639,2332,1634,2335,1628,2339,1621,2339,1613,2338,1606,2332,1591,2319,1581,
2303,1580,2301,1581,2299,1579,2290,1575,2280,1575,2280,1575,2279,1573,2274,1576,2273,1573,2272,1574,2269,1574,2268,1575,2267,1575,2265,1576,2264,1576,2263,1576,2261,1577,2260,1576,2258,1576,2257,1576,2256,1574,2242,1579,2228,1579,2227,1579,2226,1579,2225,1580,2224,1582,2222,1581,2219,1581,2217,1581,2215,1583,2209,1584,2201,1584,2198,1584,2194,1584,2189,1583,2184,1583,2180,1578,2179,1561,2175,1543,2175,1524,2176,1504,2175,1502,2175,1499,2176,1498,2176,1496,2176,1488,2177,1486,2171,1486,2170,1485,2169,
1485,2169,1485,2169,1485,2168,1485,2168,1484,2167,1484,2165,1484,2164,1484,2163,1485,2154,1484,2145,1484,2143,1485,2142,1486,2138,1488,2135,1488,2133,1489,2131,1493,2124,1496,2118,1496,2117,1496,2115,1497,2111,1498,2108,1499,2107,1499,2106,1499,2105,1500,2104,1502,2098,1506,2093,1512,2086,1513,2076,1513,2063,1513,2049,1513,2048,1512,2046,1511,2044,1508,2043,1505,2042,1499,2043,1495,2044,1490,2043,1490,2043,1489,2043,1485,2043,1487,2042,1484,2040,1480,2039,1467,2037,1454,2039,1448,2041,1443,2047,1438,
2056,1431,2063,1421,2076,1408,2085,1398,2093,1387,2100,1382,2104,1375,2107,1375,2107,1373,2108,1372,2108,1371,2108,1364,2110,1357,2110,1355,2110,1353,2109,1351,2109,1348,2109,1346,2109,1343,2108,1342,2108,1341,2108,1340,2107,1338,2107,1331,2105,1325,2102,1324,2102,1323,2101,1323,2101,1322,2100,1321,2100,1320,2099,1316,2098,1315,2095,1315,2094,1314,2092,1314,2092,1314,2091,1314,2085,1311,2081,1310,2080,1308,2079,1305,2074,1301,2065,1299,2059,1296,2054,1291,2043,1289,2032,1286,2014,1286,1995,1286,1993,
1286,1991,1287,1990,1287,1989,1287,1985,1289,1982,1289,1981,1290,1980,1290,1979,1290,1977,1291,1968,1291,1959,1291,1949,1293,1940,1294,1933,1297,1927,1297,1926,1296,1925,"L",1296,1926,"Q",1297,1925,1297,1924,1301,1919,1302,1913,1306,1901,1309,1889,1310,1886,1313,1884,1324,1879,1333,1871,"L",1333,1871,"Q",1334,1871,1334,1871,1337,1868,1340,1866,1348,1859,1355,1851,1359,1848,1363,1844,1365,1843,1366,1842,1366,1842,1367,1842,1370,1841,1373,1840,1375,1840,1376,1839,1377,1839,1378,1839,1379,1840,1379,
1840,1384,1841,1388,1842,1389,1842,1389,1842,1394,1843,1398,1843,1400,1843,1400,1842,1402,1842,1403,1841,1405,1841,1406,1841,1410,1840,1417,1840,1418,1840,1418,1840,1420,1838,1423,1839,1425,1839,1426,1839,1426,1840,1427,1840,1428,1841,1429,1841,1430,1841,1431,1841,1439,1840,1448,1840,1451,1840,1453,1840,1458,1839,1462,1838,1468,1837,1474,1834,1480,1833,1484,1831,1486,1830,1486,1830,1487,1828,1489,1827,1492,1826,1493,1826,1495,1825,1495,1825,1496,1823,1498,1823,1509,1820,1522,1818,1525,1818,1527,1816,
1528,1816,1528,1815,1528,1813,1531,1813,1532,1813,1533,1812,1534,1812,1534,1812,1537,1810,1539,1811,1550,1813,1561,1816,1565,1817,1567,1819,1568,1820,1568,1820,1573,1823,1577,1826,1578,1827,1578,1827,1580,1828,1581,1828,1583,1828,1586,1827,1587,1827,1588,1827,1590,1826,1591,1826,1592,1826,1593,1825,1595,1825,1596,1825,1597,1825,1598,1824,1605,1824,1608,1827,1616,1836,1620,1849,1622,1854,1622,1860,1622,1863,1622,1865,1623,1867,1623,1868,1623,1873,1624,1878,1625,1887,1627,1896,1629,1909,1632,1921,1632,
1923,1633,1924,1635,1925,1635,1926,1636,1927,1637,1929,1640,1934,1647,1937,1648,1937,1648,1937,1652,1937,1656,1936,1663,1934,1665,1926,1665,1925,1665,1924,1666,1923,1666,1921,1666,1920,1667,1919,1667,1918,1667,1916,1668,1916,1668,1915,1668,1914,1669,1913,1670,1908,1672,1903,1673,1901,1674,1899,1674,1898,1675,1896,1675,1896,1675,1895,1676,1893,1677,1891,1679,1886,1678,1880,1678,1878,1678,1876,1678,1875,1677,1874,1677,1870,1676,1866,1676,1865,1675,1864,1674,1863,1674,1860,1674,1859,1673,1858,1672,1857,
1671,1855,1667,1849,1665,1845,1664,1844,1664,1841,1664,1841,1664,1840,1663,1830,1663,1819,1663,1818,1663,1816,1663,1816,1663,1815,1663,1813,1663,1810,1665,1802,1668,1795,1669,1788,1669,1781,1669,1772,1677,1765,1684,1759,1691,1752,1696,1748,1700,1744,1711,1734,1723,1727,1733,1720,1744,1714,1746,1713,1748,1712,1750,1712,1750,1711,1753,1708,1755,1706,1766,1691,1777,1678,1778,1675,1779,1671,1779,1666,1779,1660,1779,1658,1780,1656,1780,1655,1780,1654,1779,1644,1779,1631,1779,1630,1780,1629,1780,1628,1780,
1628,1781,1624,1782,1620,1783,1620,1783,1619,1787,1617,1791,1616,1792,1615,1793,1615,1794,1615,1794,1614,1800,1611,1805,1608,1808,1606,1810,1602,1811,1599,1810,1596,1810,1592,1812,1591,1813,1591,1813,1590,1813,1589,1814,1589,1815,1588,1817,1587,1819,1585,1822,1584,1823,1583,1823,1582,1827,1578,1831,1574,1836,1570,1840,1569,1842,1568,1842,1567,1843,1566,1843,1566,1845,1565,1845,1562,1844,1561,1845,1560,1845,1559,1845,1558,1845,1557,1845,1555,1845,1553,1846,1551,1846,1550,1846,1549,1847,1545,1849,1545,
1851,1544,1852,1543,1852,1543,1853,1543,1856,1541,1859,1540,1860,1539,1860,1539,1864,1534,1867,1530,1874,1523,1882,1516,1882,1516,1883,1516,1884,1516,1887,1517,1887,1517,1888,1517,1888,1518,1888,1518,1889,1518,1889,1519,1891,1519,1892,1520,1900,1522,1909,1518,1917,1516,1925,1511,1925,1511,1925,1510,1925,1509,1926,1507,1926,1507,1926,1506,1929,1501,1934,1494,1935,1492,1935,1489,1935,1488,1935,1487,1934,1483,1935,1479,1935,1478,1935,1476,1934,1472,1935,1467,1935,1467,1935,1466,1935,1464,1936,1461,1937,
1457,1939,1453,1940,1452,1940,1450,1940,1449,1941,1448,1944,1446,1948,1444,1949,1443,1949,1443,1952,1442,1954,1442,1955,1442,1955,1442,1957,1441,1958,1441,1962,1439,1965,1438,1972,1435,1979,1432,1991,1427,2002,1424,2006,1423,2010,1423,2011,1422,2012,1422,"L",2012,1422,"Q",2014,1422,2015,1421,2017,1420,2020,1418,2021,1418,2021,1417,2022,1417,2023,1417,2023,1416,2024,1416,2025,1416,2025,1415,2026,1415,2026,1414,2027,1414,2027,1414,2029,1412,2030,1411,2031,1411,2032,1411,2033,1411,2034,1410,2034,1410,
2035,1409,2036,1409,2037,1409,2039,1407,2042,1405,2043,1405,2043,1404,2044,1404,2044,1404,2045,1404,2045,1403,2046,1403,2046,1402,2048,1401,2050,1401,2051,1400,2051,1400,2052,1400,2052,1399,2053,1399,2054,1399,2054,1398,2054,1398,2055,1398,2055,1397,2056,1397,2057,1397,"L",2057,1397,2058,1396,"Q",2058,1396,2059,1396,2060,1396,2061,1396,2061,1397,2062,1397,2062,1397,2062,1398,2063,1398,2063,1399,2064,1399,2063,1400,2059,1405,2055,1409,2050,1412,2045,1415,2040,1418,2034,1422,2032,1424,2029,1426,2027,
1427,2026,1430,2026,1431,2025,1431,2023,1432,2023,1435,2023,1436,2023,1436,2024,1437,2024,1437,2025,1439,2027,1441,2027,1442,2028,1442,2030,1444,2033,1444,2034,1445,2035,1445,2036,1446,2037,1445,2041,1444,2045,1442,2047,1441,2048,1440,2050,1439,2053,1436,2054,1436,2054,1435,2056,1435,2057,1435,2058,1434,2059,1434,2063,1433,2067,1431,2070,1430,2073,1429,2074,1429,2075,1428,2078,1426,2080,1425,2081,1424,2082,1424,2082,1423,2083,1423,2084,1422,2085,1422,2090,1420,2094,1419,2096,1419,2096,1418,2103,1413,
2109,1409,2110,1408,2110,1407,2111,1407,2112,1407,2113,1406,2114,1406,2115,1404,2117,1404,2118,1404,2119,1403,2127,1399,2139,1391,2143,1389,2148,1389,2149,1389,2150,1389,2153,1388,2155,1386,2165,1381,2158,1371,2157,1371,2157,1370,2153,1368,2152,1364,2152,1363,2151,1361,2151,1361,2150,1360,2150,1359,2150,1359,2150,1356,2150,1353,"L",2148,1353,"Q",2134,1354,2120,1361,"L",2120,1378,2100,1378,"Q",2091,1378,2084,1375,2084,1373,2083,1370,2082,1368,2081,1367,2081,1364,2080,1362,2080,1361,2078,1360,2074,
1356,2068,1349,2067,1349,2065,1348,2064,1347,2063,1347,2060,1344,2059,1339,2058,1339,2058,1338,2058,1335,2058,1333,2059,1329,2059,1324,2059,1323,2059,1322,2064,1318,2066,1315,2072,1311,2078,1307,2079,1306,2080,1304,2083,1300,2083,1297,2084,1296,2083,1294,2082,1292,2081,1290,2081,1289,2080,1289,2066,1283,2050,1283,2042,1282,2033,1284,2024,1286,2015,1291,2005,1297,1996,1304,1990,1308,1984,1313,1983,1314,1983,1314,1981,1315,1978,1317,"L",1979,1319,"Q",1979,1320,1978,1320,1970,1332,1962,1344,1961,1345,
1961,1346,1960,1349,1957,1351,1951,1355,1945,1357,1935,1361,1925,1363,1926,1362,1926,1361,1925,1361,1924,1362,1925,1360,1927,1358,1930,1355,1932,1351,1933,1350,1936,1348,1941,1345,1944,1343,1945,1342,1946,1341,1948,1340,1949,1339,1957,1332,1968,1323,1973,1320,1977,1316,1977,1316,1978,1315,1983,1311,1986,1307,1987,1306,1988,1306,1991,1305,1993,1303,1999,1297,2004,1293,2005,1292,2005,1292,2006,1291,2007,1290,2008,1288,2010,1286,2013,1284,2016,1281,2025,1272,2035,1264,2041,1260,2049,1257,2067,1251,2085,
1246,2087,1245,2088,1245,2088,1245,2089,1245,2090,1244,2091,1244,2092,1244,2093,1243,2094,1243,2096,1242,2103,1242,2110,1242,2120,1242,2129,1244,2136,1245,2144,1245,2155,1246,2165,1244,2177,1242,2188,1237,2192,1235,2196,1231,2203,1222,2211,1216,2217,1211,2224,1210,2235,1208,2246,1206,2248,1206,2251,1207,2253,1207,2253,1206,2254,1206,2255,1205,2257,1204,2260,1203,2260,1203,2260,1201,2261,1195,2264,1189,2268,1182,2270,1175,2272,1167,2272,1159,2272,1158,2271,1156,2269,1150,2264,1144,2257,1137,2249,1131,
2247,1130,2245,1128,2243,1126,2240,1124,2239,1123,2238,1122,2236,1119,2233,1118,2232,1117,2231,1116,2229,1112,2224,1110,2222,1110,2220,1108,2219,1108,2219,1106,2219,1106,2218,1106,2217,1105,2215,1105,2215,1105,2214,1104,2214,1103,2213,1103,2212,1102,2211,1101,2211,1100,2210,1098,2208,1096,2204,1094,2199,1091,2196,1088,2196,1087,2194,1087,2188,1085,2183,1081,2181,1080,2178,1078,2177,1077,2175,1077,2168,1076,2167,1069,2167,1068,2166,1066,2166,1066,2166,1065,2165,1064,2165,1063,2164,1054,2161,1045,2159,
1039,2158,1032,2156,1027,2155,1020,2154,1019,2154,1018,2152,1016,2152,1011,2151,1006,2149,1004,2149,1003,2148,1003,2146,1002,2145,999,2143,995,2141,993,2138,991,2134,988,2130,984,2126,979,2125,977,2124,975,2123,974,2123,973,2121,969,2122,964,2122,963,2122,961,2123,960,2123,959,2125,952,2123,949,2123,948,2122,948,2121,947,2121,947,2120,946,2119,947,2118,948,2117,949,2115,950,2114,951,2111,956,2107,959,2106,960,2106,960,2106,962,2105,962,2101,969,2097,976,2096,978,2094,980,2092,984,2088,988,2086,991,
2083,993,2083,994,2081,995,2076,998,2074,1001,2072,1005,2067,1005,2054,1007,2041,1006,2040,1006,2039,1004,2039,1003,2038,1003,2037,999,2032,997,2031,997,2031,997,2029,996,2028,996,2023,994,2022,986,2021,981,2021,976,2020,965,2019,953,2019,944,2018,935,2017,926,2011,919,2003,907,1990,898,1981,892,1970,886,1969,885,1967,885,1966,885,1964,884,1962,884,1961,883,1954,882,1948,880,1948,880,1947,879,1945,879,1943,879,1938,878,1934,876,1929,875,1923,873,1921,873,1919,873,1917,873,1916,872,1915,872,1913,872,
1907,871,1901,871,1900,871,1898,872,1896,873,1892,873,1891,873,1889,872,1889,872,1888,872,1887,871,1886,871,1885,871,1884,871,1883,870,1882,870,1881,870,1881,869,1877,869,1874,869,1873,869,1872,869,1868,872,1864,876,1864,877,1863,878,1863,879,1862,880,1863,882,1863,883,1864,889,1864,895,1864,901,1861,906,1857,915,1853,924,1852,929,1851,934,1851,947,1849,960,1848,963,1847,966,1844,970,1843,974,1843,975,1843,976,1843,977,1842,977,1842,985,1842,992,1842,996,1841,1E3,1840,1008,1841,1016,1841,1021,1842,
1026,1844,1031,1844,1035,1844,1036,1845,1037,1845,1038,1845,1039,1846,1043,1846,1046,1847,1054,1846,1062,1844,1073,1836,1081,1828,1090,1817,1098,1806,1106,1799,1116,1794,1123,1791,1131,1788,1142,1788,1152,1788,1161,1792,1167,1801,1183,1799,1202,1799,1203,1798,1204,1798,1204,1797,1205,1789,1217,1773,1220,1770,1221,1766,1219,1761,1217,1758,1216,1754,1213,1751,1211,1744,1206,1741,1202,1737,1198,1733,1194,1733,1193,1732,1191,1729,1188,1728,1185,1727,1182,1726,1180,1722,1171,1720,1161,1718,1153,1718,1144,
1719,1143,1719,1142,1720,1141,1722,1139,1726,1134,1730,1130,1731,1129,1731,1126,1731,1126,1731,1125,1731,1123,1731,1121,1731,1120,1730,1119,1729,1116,1728,1114,1727,1111,1724,1110,1722,1109,1720,1108,1719,1106,1717,1106,1712,1106,1707,1105,1691,1103,1676,1104,1675,1104,1673,1103,1673,1103,1672,1103,1666,1102,1663,1099,1663,1098,1662,1097,1658,1094,1653,1090,1641,1082,1628,1074,1624,1071,1620,1068,1617,1067,1614,1064,1611,1062,1608,1059,1608,1058,1607,1057,1607,1054,1603,1051,1598,1048,1593,1046,1593,
1046,1592,1045,1591,1044,1590,1043,1588,1041,1584,1040,1582,1040,1581,1039,1578,1039,1574,1038,1570,1038,1568,1036,1568,1035,1566,1034,1564,1032,1562,1030,1561,1029,1561,1029,1558,1027,1553,1025,1550,1023,1546,1020,1545,1019,1544,1019,1543,1019,1542,1018,1537,1015,1532,1010,1530,1007,1528,1005,1525,1002,1524,997,1524,997,1524,996,1523,993,1522,990,1519,979,1520,969,1521,958,1527,947,1531,939,1535,931,1539,925,1542,919,1546,911,1551,904,1559,894,1568,885,1578,877,1584,871,1588,867,1592,862,1593,862,
1593,861,1594,859,1595,857,1597,855,1598,854,1606,842,1617,832,1622,828,1626,823,1628,821,1632,820,1633,819,1633,819,1637,816,1642,812,1648,808,1653,804,1654,803,1654,803,1652,801,1656,800,1659,800,1661,799,1664,797,1668,796,1670,796,1670,795,1674,791,1674,786,1674,786,1674,785,1674,782,1674,778,1674,777,1674,776,1675,773,1677,771,1684,766,1691,763,1698,759,1701,755,1701,755,1702,754,1703,753,1704,750,1704,749,1704,748,1704,746,1705,744,1706,741,1707,739,1708,738,1708,738,1710,737,1711,737,1715,736,
1718,735,1719,735,1719,735,1725,735,1731,733,1732,733,1733,733,1741,734,1747,732,1752,730,1757,729,1761,728,1763,728,1764,728,1764,728,1771,728,1777,726,1778,726,1778,726,1780,725,1781,725,1783,725,1786,724,1787,723,1788,722,1789,722,1789,722,1795,718,1803,716,1804,716,1804,716,1806,715,1807,715,1808,715,1808,714,1810,713,1812,712,1813,712,1813,711,1816,708,1818,706,1819,706,1819,705,1819,704,1820,703,1820,702,1820,700,1820,697,1819,694,1815,687,1812,681,1807,674,1812,668,1813,667,1813,665,1814,662,
1817,661,1822,659,1826,654,1826,653,1826,653,1827,652,1827,651,1829,650,1828,646,1828,645,1828,644,1828,643,1827,643,1824,638,1821,634,1821,633,1819,632,1815,629,1808,625,1808,625,1807,624,1806,624,1805,623,1802,620,1797,620,1794,620,1792,620,1792,619,1792,619,1793,618,1793,618,1797,614,1805,611,1818,607,1831,604,1845,602,1859,602,1876,602,1893,604,1902,605,1910,609,1918,612,1926,616,1933,621,1941,625,1941,626,1942,626,1943,628,1946,628,1947,628,1948,629,1952,632,1957,635,1958,637,1959,639,1963,643,
1965,646,1966,647,1967,648,1970,653,1972,658,1973,659,1974,660,1976,663,1979,667,1979,668,1980,668,1984,675,1988,682,1993,691,1996,700,1998,707,1995,711,1995,712,1994,713,1992,714,1991,715,1988,715,1986,714,1985,717,1982,717,1981,717,1981,717,1978,719,1978,721,1975,725,1972,728,1967,736,1959,741,1934,762,1905,776,1892,783,1880,791,1879,791,1879,792,1879,793,1879,794,1879,794,1879,795,1879,798,1883,797,1899,797,1915,797,1935,798,1955,801,1962,803,1968,806,1974,809,1977,815,1977,816,1977,816,1978,818,
1978,819,1979,819,1979,820,1983,826,1988,831,1995,839,2003,846,2005,849,2008,851,2021,858,2032,862,2042,866,2053,871,2054,872,2055,873,2056,874,2058,875,2061,876,2065,878,2066,878,2067,878,2068,879,2069,879,2070,881,2073,880,2080,879,2086,876,2090,875,2091,872,2092,867,2091,862,2091,862,2091,861,2090,859,2089,858,2086,854,2084,851,2081,846,2079,841,2088,842,2097,843,2101,843,2105,843,2111,844,2117,845,"L",2117,845,"Q",2120,845,2123,846,2124,846,2124,846,2126,845,2127,845,2127,845,2128,844,2129,844,
2130,843,2133,843,2134,840,2138,835,2138,828,2137,817,2133,807,2129,797,2123,789,2111,775,2098,762,2091,755,2092,748,2092,743,2099,743,2115,742,2125,751,2126,752,2126,753,2127,757,2129,759,2131,760,2131,761,2132,762,2133,762,2134,763,2135,764,2141,769,2143,774,2144,775,2145,776,2149,780,2153,782,2161,785,2162,779,2162,778,2163,778,2164,777,2164,775,2164,773,2165,771,2165,770,2165,769,2165,768,2166,766,2167,763,2169,759,2170,755,2173,753,2174,752,2174,751,2174,750,2175,749,2179,741,2182,738,2182,737,
2183,736,2186,733,2188,730,2192,724,2191,719,2189,711,2182,705,2175,700,2167,696,2154,690,2140,685,2127,681,2119,675,2118,675,2117,674,2116,673,2114,672,2108,668,2102,663,2101,662,2100,661,2098,660,2097,659,2094,658,2092,656,2091,656,2090,655,2090,654,2091,651,2091,651,2091,650,2092,649,2092,648,2096,645,2098,639,2100,633,2099,627,2097,618,2093,609,2093,608,2092,606,2092,605,2092,602,2092,601,2091,600,2091,599,2091,599,2090,596,2090,594,2090,593,2089,592,2086,588,2082,585,2081,584,2081,584,2080,583,
2080,582,2080,581,2078,577,2060,557,2032,554,2022,553,2012,551,2008,551,2007,548,"Q",2004,543,2002,538,"Z"],["M",1633,358,"Q",1630,360,1629,364,1627,372,1631,379,1631,380,1632,380,1633,381,1635,381,1639,381,1643,381,1644,381,1644,382,1645,383,1648,384,1649,384,1649,384,1656,387,1662,388,1663,389,1664,389,1668,388,1672,389,1674,393,1674,397,1675,408,1676,418,1677,426,1680,433,1683,440,1684,446,1685,449,1685,453,1690,452,1695,452,1701,451,1707,450,1712,450,1717,449,1735,448,1753,447,1767,446,1782,445,
1790,445,1798,445,1809,445,1819,446,1837,448,1855,451,1857,451,1857,450,1860,448,1863,449,1865,449,1867,450,1868,450,1869,450,1870,450,1872,449,1877,447,1882,443,1893,436,1902,428,1904,426,1906,423,1907,420,1906,418,1905,414,1900,412,1893,408,1885,406,1879,403,1872,403,1871,403,1869,403,1865,401,1860,402,1859,402,1858,401,1855,400,1850,401,1848,401,1845,400,1844,400,1843,400,1841,400,1839,400,1838,401,1837,401,1836,401,1834,400,1834,400,1833,400,1830,399,1828,400,1827,400,1825,400,1824,400,1823,400,
1813,399,1803,399,1793,400,1783,400,1775,401,1768,401,1766,401,1764,400,1764,400,1763,400,1760,399,1757,399,1754,399,1752,398,1748,396,1743,394,1742,394,1741,393,1731,375,1714,366,1709,363,1703,363,1702,363,1701,363,1698,361,1693,361,1690,362,1687,362,1685,363,1683,363,1677,364,1674,361,1674,360,1673,360,1670,358,1668,356,1666,353,1662,353,1661,353,1659,353,1657,352,1655,351,1654,351,1653,351,"Q",1642,353,1633,358,"Z"],["M",1706,176,"Q",1702,176,1701,178,1701,179,1700,180,1695,184,1691,187,1685,192,
1681,197,1679,198,1678,200,1678,202,1677,203,1670,214,1665,222,1664,223,1663,225,1661,227,1660,229,1660,230,1659,230,1658,236,1659,241,1660,247,1664,250,1673,256,1684,258,1690,259,1692,262,1701,271,1705,283,1706,287,1708,291,1710,297,1714,301,1715,302,1718,303,1727,305,1735,307,1739,309,1744,311,"L",1744,311,"Q",1746,308,1745,304,1745,301,1744,299,1740,292,1733,286,1729,283,1724,280,1722,279,1720,278,1716,275,1720,270,1725,265,1730,258,1732,255,1731,254,1726,247,1718,244,1704,239,1689,233,1686,232,
1683,229,1685,228,1683,225,"L",1683,224,"Q",1686,219,1690,213,1691,212,1691,212,1692,211,1692,209,1693,206,1695,204,1701,199,1706,194,1707,193,1707,192,1708,188,1708,185,1708,185,1708,184,1709,180,1708,178,"Q",1707,177,1706,176,"Z"],["M",2250,362,"Q",2251,364,2252,364,2264,367,2277,369,2279,369,2280,369,2281,369,2282,369,"L",2282,370,"Q",2282,372,2286,373,2286,373,2287,373,2290,373,2294,372,2295,372,2295,372,2297,372,2299,371,2302,371,2304,371,2305,370,2307,370,2309,369,2311,369,2316,369,2317,373,
2316,373,2315,373,2309,374,2301,376,2299,376,2297,377,2296,377,2294,377,2290,378,2287,380,2286,380,2286,380,2282,381,2278,383,2269,389,2259,399,2258,400,2258,401,2258,402,2258,403,2257,404,2257,405,2257,410,2262,413,2263,414,2264,414,2266,414,2267,415,2268,416,2268,416,2275,418,2280,421,2281,421,2281,422,2284,426,2291,426,2295,426,2299,425,2301,425,2302,425,2305,425,2308,425,2312,425,2316,425,2334,425,2352,426,2350,425,2348,425,2351,425,2354,426,2353,426,2352,426,2356,426,2359,427,2370,427,2382,427,
2394,427,2406,425,2407,425,2408,425,2409,425,2409,425,2413,425,2417,427,2417,427,2418,427,2422,426,2427,427,2432,429,2436,432,2444,437,2454,440,2459,441,2463,442,2467,444,2471,445,2475,447,2478,448,2486,453,2493,455,2494,456,2494,457,2496,459,2500,463,2500,463,2501,464,2503,468,2505,471,2511,483,2517,495,2521,502,2524,509,2526,513,2526,518,2527,529,2527,541,2526,544,2526,546,"L",2526,546,"Q",2527,553,2528,560,2529,568,2528,575,2528,580,2528,584,2528,592,2530,599,2532,603,2535,605,2539,607,2543,606,
2549,604,2554,602,2563,598,2570,600,2577,602,2581,610,2585,616,2589,621,2595,627,2601,632,2603,635,2605,638,2608,645,2611,652,2613,660,2612,668,2610,674,2608,681,2608,681,2608,682,2605,686,2600,690,2595,695,2590,697,2589,698,2589,698,2585,704,2576,707,2573,709,2570,711,2570,711,2569,712,2561,718,2554,724,2550,727,2549,731,2547,740,2547,749,2547,752,2547,755,2547,765,2546,774,2545,776,2544,778,2542,780,2540,782,2539,783,2538,784,2533,788,2534,795,2534,796,2534,797,2535,799,2536,803,2536,805,2537,806,
2537,810,2538,813,2539,814,2539,815,2540,816,2540,816,2543,820,2545,824,2546,825,2547,825,2547,826,2548,827,2555,831,2559,840,2561,845,2562,849,2563,852,2565,856,2565,857,2566,857,2569,865,2574,873,2574,874,2575,875,2579,883,2581,892,2582,893,2582,895,2584,902,2586,909,2586,910,2586,911,2587,915,2587,918,2587,922,2590,925,2590,926,2590,927,2591,933,2595,937,2605,945,2615,949,2628,955,2640,961,2642,962,2643,963,2648,966,2653,974,2659,983,2666,988,2675,995,2685,996,2691,997,2696,995,2699,994,2702,992,
2705,990,2708,986,2712,983,2714,981,2715,980,2715,980,2718,972,2724,969,2724,969,2724,968,2726,961,2730,956,2731,955,2731,955,2733,951,2736,947,2740,942,2741,935,2744,929,2747,924,2750,920,2753,916,2754,914,2756,914,2762,912,2767,909,2768,909,2768,908,2773,904,2775,899,2779,890,2782,881,2788,867,2786,852,2786,850,2785,848,2785,847,2785,846,2785,842,2786,839,2787,836,2790,833,2793,830,2798,825,2799,824,2800,824,2803,821,2808,821,2813,822,2817,822,2827,821,2837,823,2839,823,2842,823,2843,823,2844,823,
2847,822,2849,821,2867,815,2883,802,2887,798,2890,794,2891,794,2891,794,2894,789,2896,786,2905,775,2915,765,2922,758,2929,751,2935,747,2940,744,2951,738,2961,732,2962,732,2963,731,2965,729,2967,728,2970,726,2974,726,2978,725,2983,725,2984,725,2985,724,2988,723,2989,723,2991,722,2993,722,2993,721,2994,721,2999,720,3004,719,3005,719,3006,719,3017,723,3030,724,3034,724,3035,723,3037,723,3040,724,3041,724,3042,723,3043,723,3044,723,3045,723,3046,722,3047,721,3050,720,3051,720,3052,720,3053,720,3054,719,
3056,718,3059,717,3059,717,3060,717,3077,709,3091,700,3092,700,3093,699,3096,698,3098,696,3099,696,3100,696,3103,696,3106,694,3117,689,3126,682,3127,681,3128,681,3133,678,3137,676,3138,676,3138,676,3140,675,3141,674,3145,672,3146,670,3146,669,3147,669,3151,669,3152,664,3149,660,3146,657,3143,653,3139,650,3142,648,3145,647,3154,641,3161,633,3164,630,3165,625,3165,620,3163,616,3161,614,3157,613,3157,613,3156,613,3153,611,3151,610,3150,610,3150,610,3138,602,3130,592,3127,589,3129,584,3132,577,3139,577,
3142,576,3145,576,3146,576,3147,576,3151,576,3153,574,3153,573,3154,572,3156,569,3157,565,3157,565,3157,564,3160,557,3164,551,3169,546,3173,540,3174,540,3174,539,3175,538,3175,536,3175,535,3175,535,3177,528,3180,523,3185,516,3191,511,3196,506,3199,500,3202,495,3199,491,3196,487,3191,483,3186,480,3185,475,3184,470,3188,464,3190,460,3195,459,3196,458,3196,458,3199,455,3200,452,3203,449,3204,446,3206,443,3208,438,3208,437,3209,436,3211,431,3206,428,3205,427,3204,427,3202,426,3200,425,3199,424,3198,423,
3197,420,3196,419,3196,418,3196,418,3199,414,3200,410,3200,409,3201,408,3207,400,3213,387,3213,386,3213,385,3214,383,3213,380,3213,379,3213,379,3213,376,3211,373,3208,373,3204,373,3201,373,3197,372,3188,371,3181,365,3179,363,3180,358,3182,352,3185,345,3186,343,3188,341,3192,336,3197,330,3201,324,3206,319,3219,305,3234,291,3244,282,3255,273,3262,268,3268,263,3269,261,3271,260,3273,258,3275,255,3276,254,3276,253,3280,250,3283,247,3288,240,3295,235,3298,234,3300,232,3305,229,3310,225,3314,223,3317,220,
3318,219,3318,219,3319,217,3320,215,3321,212,3319,208,3318,207,3317,205,3317,204,3316,203,3311,198,3304,198,3299,197,3296,199,3289,202,3284,206,3283,207,3282,208,3281,209,3279,210,3276,213,3273,214,"L",3272,214,"Q",3268,216,3264,218,3256,220,3248,221,3237,222,3226,223,3206,225,3186,228,3185,229,3183,229,3182,230,3181,230,3181,231,3180,231,3179,231,3178,231,3176,232,3175,232,3174,233,3173,233,3167,239,3158,240,3152,244,3148,249,3140,260,3126,258,3127,255,3129,252,3136,239,3149,224,3152,221,3151,215,
3149,205,3135,206,3133,206,3132,205,3129,202,3122,202,3115,203,3108,202,3095,201,3083,202,3058,204,3033,202,3021,201,3009,199,3020,196,3031,193,3033,192,3035,192,3047,188,3060,184,3074,180,3090,181,3097,181,3103,180,3109,179,3114,178,3117,179,3119,180,3125,182,3131,182,3134,182,3134,183,3137,193,3147,187,3153,184,3158,180,3159,179,3160,175,3159,173,3157,172,3145,165,3131,160,3122,156,3112,154,3093,149,3074,145,3073,144,3071,144,3069,144,3067,143,3062,142,3056,143,3054,142,3052,142,3050,142,3048,142,
3043,143,3040,138,3039,137,3036,136,3031,134,3027,132,3023,129,3017,128,3015,128,3014,128,3005,126,2995,127,2987,127,2980,126,2979,125,2978,125,2970,124,2963,123,2962,123,2960,123,2951,122,2941,121,2934,121,2926,122,2920,122,2914,125,2911,126,2908,128,2906,129,2904,130,2896,135,2886,136,2876,137,2865,139,2852,141,2839,143,2838,143,2837,143,2835,143,2834,144,2830,145,2826,145,2825,145,2824,145,2816,145,2807,146,2806,146,2804,146,2784,146,2765,147,2760,147,2758,150,2757,151,2756,152,2752,156,2754,163,
2754,164,2754,165,2760,174,2764,182,2764,183,2764,183,2765,192,2758,194,2755,193,2753,192,2745,186,2734,180,2733,180,2731,179,2717,172,2702,166,2694,163,2686,163,2682,163,2679,167,2673,173,2667,180,2665,183,2662,185,2659,188,2653,188,2653,187,2652,187,2650,183,2647,181,2642,178,2640,183,2640,184,2640,184,2639,186,2638,187,2636,189,2634,192,2630,195,2625,196,2620,197,2615,197,2613,197,2613,195,2613,194,2613,194,2612,190,2610,187,2605,183,2596,183,2586,183,2576,182,2575,182,2574,182,2563,182,2552,180,
2550,180,2548,180,2545,179,2541,179,2532,179,2523,180,2522,180,2521,180,2518,180,2516,181,2507,187,2498,192,2491,197,2484,202,2469,215,2451,223,2440,228,2431,234,2427,237,2423,239,2415,242,2406,247,2403,249,2400,251,2399,251,2398,252,2392,257,2383,259,2377,261,2374,267,2371,274,2370,281,"L",2372,281,"Q",2372,281,2373,281,2374,281,2374,281,2375,284,2374,285,2369,293,2360,296,2348,301,2334,304,2327,305,2319,307,2306,312,2293,316,2293,317,2292,317,2288,318,2285,321,2282,324,2277,325,2276,326,2275,326,
2272,329,2268,330,2259,332,2252,335,2249,336,2249,340,2248,342,2248,343,2248,344,2248,344,"Q",2247,354,2250,362,"Z"],["M",2165,92,"Q",2154,92,2143,91,2125,90,2106,90,2101,90,2096,90,2095,90,2094,91,2093,91,2091,91,2081,93,2070,98,2051,101,2032,103,2017,105,2002,106,1991,107,1980,109,1963,113,1946,119,1935,123,1925,128,1922,129,1919,130,1917,131,1914,131,1913,131,1912,131,1911,132,1910,132,1909,132,1908,133,1903,137,1893,138,1890,139,1887,140,1884,141,1882,141,1881,142,1879,142,1878,142,1877,142,1865,
144,1853,144,1847,144,1840,144,1829,144,1820,149,1807,157,1801,171,1800,174,1802,177,1803,179,1805,180,1806,180,1807,180,1808,181,1809,181,1810,182,1810,182,1812,182,1813,182,1815,183,1817,184,1820,186,1824,187,1826,187,1827,188,1831,190,1835,191,1836,192,1837,192,1841,193,1844,193,1846,193,1846,194,1848,194,1849,194,1853,195,1857,195,1859,195,1860,195,1869,197,1876,199,1888,202,1896,210,1899,214,1898,220,1898,220,1897,221,1896,222,1895,222,1894,223,1893,223,1892,223,1890,224,1890,224,1889,224,1880,
225,1872,226,1865,227,1863,233,1862,235,1862,236,1860,237,1860,240,1860,241,1861,242,1862,243,1864,246,1865,247,1865,247,1869,249,1873,253,1877,256,1880,258,1883,261,1882,265,1877,266,1872,266,1871,266,1870,266,1867,268,1862,268,1857,267,1853,267,1852,267,1851,267,1848,265,1844,265,1841,266,1837,265,1836,265,1834,265,1823,265,1812,271,1814,273,1816,275,1823,278,1830,281,1829,284,1826,287,1826,288,1826,288,1825,290,1824,291,1824,292,1824,293,1821,298,1824,302,1826,304,1826,305,1828,307,1830,308,1832,
309,1833,311,1834,312,1834,313,1834,316,1837,316,1837,319,1834,320,1833,320,1832,320,1830,320,1828,321,1826,321,1824,321,1818,322,1812,323,1801,326,1790,329,1778,333,1767,338,1765,339,1763,340,1757,343,1753,347,1752,348,1752,348,1750,352,1748,355,1749,355,1749,355,1750,356,1751,357,1751,357,1752,357,1755,358,1756,363,1757,365,1758,365,1759,366,1760,366,1761,367,1761,367,1763,367,1764,367,1765,367,1766,367,1770,367,1773,369,1774,369,1775,370,1777,370,1778,370,1778,370,1779,370,1780,371,1781,371,1782,
372,1783,372,1788,372,1793,373,1797,373,1801,373,1812,373,1823,375,1829,375,1835,376,1837,376,1838,376,1838,377,1839,377,1843,377,1845,378,1848,380,1853,380,1872,379,1891,375,1893,375,1893,375,1895,376,1899,376,1901,376,1904,376,1905,377,1906,377,1908,377,1910,378,1911,378,1913,378,1917,378,1921,378,1922,378,1923,378,1929,376,1935,374,1948,369,1959,362,1962,360,1961,357,1961,354,1958,353,1957,351,1956,350,1956,348,1955,348,1955,347,1954,347,1953,337,1959,334,1960,334,1960,333,1967,326,1975,322,1976,
322,1976,321,1984,316,1994,310,2002,305,2009,299,2018,293,2024,284,2027,280,2028,275,2029,272,2028,270,2028,269,2028,268,2029,265,2026,265,2026,265,2025,265,2024,262,2024,258,2024,257,2023,256,2022,255,2023,252,2023,252,2024,251,2028,250,2033,247,2035,246,2039,244,2043,243,2049,242,2050,242,2051,242,2052,240,2055,240,2057,240,2057,239,2058,238,2060,238,2062,237,2063,237,2063,237,2064,236,2069,234,2074,232,2077,231,2080,230,2082,230,2082,229,2085,228,2089,227,2090,227,2090,226,2093,226,2095,225,2098,
224,2100,223,2102,222,2102,222,2104,220,2105,220,2112,218,2118,215,2119,214,2120,214,2129,210,2138,207,2138,207,2139,206,2140,205,2141,205,2147,202,2153,199,2153,199,2154,199,2155,198,2156,198,2160,196,2165,195,2166,195,2166,195,2170,193,2174,192,2175,192,2175,191,2178,191,2180,190,2181,189,2181,189,2185,188,2188,186,2197,181,2205,176,2208,175,2210,173,2223,167,2236,162,2246,157,2253,152,2253,152,2254,151,2255,150,2255,150,2260,147,2265,143,2268,142,2271,140,2277,137,2282,134,2292,129,2300,122,2301,
121,2300,119,2296,110,2286,109,2281,108,2276,106,2276,105,2275,105,2273,105,2271,104,2270,104,2268,103,2265,103,2263,102,2245,100,2226,97,2212,95,2198,94,"Q",2182,93,2165,92,"Z"]],label:"North America",shortLabel:"NA",labelPosition:[130.4,135.4],labelAlignment:["center","middle"]},EU:{outlines:[["M",3757,335,"Q",3760,336,3760,338,3759,342,3763,345,3765,346,3768,346,3771,346,3773,347,3775,348,3777,350,3778,349,3777,347,3774,347,3772,343,3772,339,3768,337,3767,336,3765,334,3764,333,3761,332,3760,331,
3758,331,3756,331,3756,333,"Q",3756,334,3757,335,"Z"],["M",4018,402,"Q",4015,399,4011,399,4008,400,4003,402,4001,403,4E3,407,4E3,411,4004,415,4005,416,4007,417,4009,417,4010,418,4011,417,4014,416,4015,416,4017,415,4018,413,4020,412,4021,412,4021,410,4021,406,4019,403,"Q",4019,402,4018,402,"Z"],["M",4031,376,"L",4034,375,"Q",4033,375,4032,374,4031,374,4028,375,4022,376,4022,370,4019,370,4015,370,4016,371,4017,374,4018,375,4021,376,4022,379,4022,381,4023,383,4024,385,4025,382,4028,380,"Q",4028,376,
4031,376,"Z"],["M",3890,482,"Q",3888,484,3888,486,3887,487,3887,489,3889,491,3891,494,3893,495,3894,497,3900,497,3906,496,3906,492,3906,488,3906,486,3904,483,3904,482,3903,480,3902,477,3896,477,3895,478,3892,480,"Q",3891,482,3890,482,"Z"],["M",4020,345,"Q",4022,348,4027,348,4029,347,4031,346,4030,344,4029,342,4032,342,4035,341,4037,341,4038,339,4038,338,4039,337,4039,333,4034,332,4029,331,4025,331,4023,331,4021,331,4019,331,4019,333,4019,335,4018,339,4018,340,4018,343,"Q",4018,343,4020,345,"Z"],["M",
3946,342,"Q",3941,343,3938,340,3938,339,3938,338,3939,337,3938,333,3937,332,3934,332,3930,331,3926,332,3918,332,3915,327,3915,327,3913,326,3912,324,3908,323,3907,323,3906,322,3902,321,3898,320,3898,321,3896,319,3896,319,3895,317,3893,315,3893,311,3892,311,3891,308,3889,304,3885,304,3885,305,3885,306,3885,307,3885,308,3885,310,3883,311,3880,312,3876,312,3873,313,3873,311,3873,309,3874,308,3876,306,3876,302,3874,301,3874,300,3874,299,3873,296,3873,294,3870,293,3868,292,3863,293,3857,293,3851,289,3849,
289,3848,289,3846,289,3845,290,3845,293,3842,297,3843,299,3845,301,3847,302,3846,306,3844,310,3846,314,3847,315,3848,316,3849,318,3851,319,3852,321,3851,325,3849,325,3846,324,3843,323,3841,321,3840,319,3839,317,3838,315,3837,310,3836,308,3834,304,3834,301,3833,299,3833,298,3830,297,3827,297,3823,297,3822,297,3820,297,3817,298,3814,301,3814,301,3814,302,3814,305,3813,308,3813,310,3814,312,3814,316,3810,315,3811,314,3811,313,3811,310,3808,310,3806,311,3805,309,3805,308,3803,307,3801,304,3797,303,3798,
302,3800,301,3805,300,3810,300,3811,300,3812,299,3813,297,3810,296,3810,296,3808,294,3805,294,3800,294,3800,295,3797,296,3794,296,3791,296,3788,296,3785,296,3782,296,3780,298,3779,300,3777,300,3776,300,3775,298,3773,297,3772,296,3771,295,3769,296,3769,298,3766,299,3766,300,3764,302,3764,303,3763,304,3761,308,3764,310,3766,310,3765,315,3766,316,3766,317,3767,321,3771,320,3771,319,3771,318,3771,315,3773,315,3777,315,3778,317,3780,319,3782,321,3782,322,3781,323,3781,325,3780,325,3778,325,3778,326,3777,
327,3777,330,3779,331,3781,330,3784,330,3784,333,3782,333,3780,337,3780,338,3781,339,3782,340,3783,341,3785,341,3788,342,3791,341,3791,344,"L",3792,346,"Q",3792,350,3795,353,3797,356,3802,355,3804,353,3807,354,3813,355,3819,352,3823,348,3826,343,3826,336,3834,337,3834,342,3838,342,3841,341,3842,341,3848,339,3857,340,3862,341,3864,343,3867,348,3863,350,3858,352,3853,352,3848,351,3843,351,3833,349,3829,355,3830,359,3826,360,3825,366,3815,364,3809,362,3810,368,3813,369,3817,369,3822,369,3825,371,3828,
373,3831,374,3835,375,3833,382,3823,383,3814,383,3814,384,3815,387,3816,390,3823,394,3829,394,3838,395,3841,398,3846,399,3845,399,3845,403,3847,406,3848,409,3851,417,3861,414,3863,413,3864,410,3865,407,3868,405,3870,404,3869,401,3870,398,3870,394,3871,393,3872,391,3873,389,3874,387,3875,386,3876,385,3877,384,3878,381,3881,380,3883,379,3884,379,3885,378,3887,377,3889,377,3890,374,3886,370,3885,365,3888,362,3891,361,3896,361,3897,360,3896,358,3897,357,3896,355,3895,351,3897,345,3901,345,3901,341,3902,
340,3904,339,3908,339,3911,339,3917,340,3922,337,3925,337,3927,337,3931,336,3931,339,3932,344,3927,344,3924,348,3928,350,3930,352,3931,353,3933,354,3934,355,3935,357,3934,358,3934,359,3934,362,3938,362,3939,364,3939,365,3940,366,3940,370,3938,375,3936,376,3935,379,3935,382,3933,382,3940,382,3946,382,3949,383,3949,381,3950,381,3951,379,3952,378,3955,379,3958,380,3958,382,3957,384,3958,385,3960,387,3961,389,3966,389,3972,389,3974,388,3975,387,3980,382,3988,376,3989,376,3990,374,3991,374,3993,374,3995,
372,3994,369,3990,370,3984,370,3982,371,3980,369,3979,368,3975,368,3972,368,3970,366,3969,365,3969,363,3969,361,3968,358,3968,355,3963,354,3961,354,3958,355,3956,357,3951,357,3949,356,3948,354,3947,353,3947,351,"L",3948,349,"Q",3950,349,3951,349,3954,349,3953,346,3953,344,3951,343,"Q",3949,342,3946,342,"Z"],["M",4007,277,"Q",4005,276,4003,276,3998,277,3991,276,3988,276,3983,276,3979,276,3977,278,3976,279,3974,280,3972,280,3967,279,3963,278,3967,276,3969,276,3970,272,3970,269,3966,270,3965,275,3959,
274,3956,275,3955,279,3956,280,3956,281,3957,286,3953,285,3950,286,3945,283,3945,281,3941,280,3938,279,3934,279,3933,279,3931,279,3926,280,3923,276,3920,276,3918,272,3918,272,3916,271,3914,270,3911,270,3909,270,3908,272,3910,274,3911,276,3913,277,3913,280,3912,280,3911,280,3909,280,3908,279,3903,279,3902,283,3902,286,3901,286,3898,285,3896,284,3895,284,3892,282,3890,281,3886,281,3883,281,3879,281,3879,285,3883,285,3885,285,3886,286,3888,287,3888,287,3890,288,3889,289,3889,291,3889,293,3890,295,3892,
296,3893,297,3894,298,3898,298,3901,298,3907,299,3914,297,3915,297,3916,297,3919,297,3921,296,3932,296,3943,295,3947,295,3946,300,3945,300,3943,300,3939,301,3934,301,3932,303,3926,304,3920,305,3914,305,3914,306,3915,307,3915,310,3917,309,3920,309,3923,309,3926,309,3928,310,3930,312,3935,312,3937,313,3939,315,3940,317,3942,317,3946,316,3949,313,3950,313,3952,312,3959,311,3963,318,3964,320,3965,322,3969,325,3974,323,3979,322,3982,317,3984,316,3986,316,3987,316,3989,315,3990,314,3992,314,3995,313,3999,
313,4001,313,4002,313,4005,313,4007,313,4009,313,4009,311,4008,307,4012,305,4016,306,4018,303,4019,303,4020,301,4022,297,4027,296,4030,296,4034,295,4035,292,4034,288,4034,288,4032,287,4030,287,4029,286,4027,285,4026,284,4025,282,4024,282,4023,282,4021,282,4015,281,4009,280,"Q",4009,278,4007,277,"Z"],["M",4052,328,"Q",4049,327,4049,329,4049,331,4049,332,4050,333,4053,333,4055,333,4057,332,4059,332,4060,332,4067,333,4075,332,4077,332,4076,328,4074,327,4069,327,4067,327,4064,326,4061,326,4060,327,4059,
329,4056,328,"Q",4054,328,4052,328,"Z"],["M",4059,289,"Q",4060,285,4060,281,4060,277,4057,275,4054,272,4047,273,4045,273,4044,275,4042,278,4040,279,4039,283,4042,286,4043,287,4044,287,4047,289,4051,291,4053,292,4053,290,"Q",4055,289,4059,289,"Z"],["M",4118,288,"Q",4121,288,4124,286,4126,286,4127,286,4130,285,4134,285,4134,286,4136,284,4138,283,4141,282,4142,282,4144,282,4145,282,4146,279,4145,278,4144,277,4142,276,4143,273,4140,273,4135,274,4133,275,4131,279,4129,279,4126,282,4123,283,4119,282,4116,
282,4113,283,4110,285,4107,287,4111,290,4115,292,"Q",4117,290,4118,288,"Z"],["M",4207,290,"Q",4207,289,4209,288,4210,286,4210,283,4211,279,4208,275,4205,274,4202,272,4201,271,4198,272,4195,273,4193,275,4192,276,4190,278,4189,281,4189,286,4190,287,4191,287,4192,288,4193,289,4195,291,4197,293,4198,293,4200,295,4201,297,4203,296,4204,296,4205,295,"Q",4206,294,4207,290,"Z"],["M",3343,1065,"Q",3344,1061,3341,1059,3325,1053,3312,1065,3305,1071,3300,1079,3295,1088,3295,1099,3295,1108,3299,1115,3306,1130,
3315,1143,3320,1149,3324,1154,3336,1168,3348,1180,3349,1181,3349,1182,3350,1184,3351,1187,3352,1188,3352,1189,3352,1191,3353,1193,3353,1195,3354,1197,3355,1199,3354,1200,3354,1207,3350,1212,3345,1220,3339,1227,3337,1229,3335,1233,3331,1239,3328,1246,3323,1259,3323,1271,3323,1275,3324,1279,3327,1294,3317,1306,3308,1317,3298,1328,3311,1322,3324,1315,3333,1311,3342,1306,3351,1302,3360,1300,3361,1300,3365,1300,3389,1299,3412,1297,3414,1297,3415,1297,3425,1294,3438,1298,3438,1297,3437,1297,3435,1296,3435,
1294,3435,1292,3437,1289,3440,1284,3442,1277,3443,1276,3444,1275,3446,1273,3447,1270,3450,1264,3456,1257,3460,1254,3462,1249,3462,1247,3462,1246,3457,1239,3454,1235,3454,1234,3452,1233,3451,1233,3449,1233,3442,1232,3435,1230,3429,1228,3430,1220,3430,1217,3428,1216,3415,1210,3412,1200,3412,1200,3411,1199,3410,1187,3407,1177,3405,1172,3402,1169,3402,1168,3401,1167,3396,1163,3394,1159,3393,1157,3392,1156,3391,1155,3390,1152,3390,1150,3389,1149,3387,1142,3382,1137,3382,1137,3381,1136,3378,1127,3374,1123,
3373,1123,3373,1122,3372,1120,3372,1119,3369,1116,3369,1110,3369,1108,3370,1106,3371,1104,3371,1100,3371,1097,3371,1093,3372,1088,3369,1086,3366,1084,3363,1084,3350,1086,3335,1088,3338,1084,3339,1080,"Q",3343,1073,3343,1065,"Z"],["M",3223,1199,"Q",3216,1208,3209,1217,3206,1220,3207,1224,3208,1229,3211,1234,3216,1242,3213,1248,3213,1249,3213,1250,3212,1254,3212,1257,3211,1260,3211,1263,3211,1264,3210,1264,3210,1268,3212,1271,3215,1275,3221,1277,3223,1277,3225,1277,3239,1275,3249,1265,3253,1262,3257,
1260,3265,1257,3274,1255,3280,1254,3282,1249,3285,1241,3286,1231,3288,1217,3294,1204,3297,1195,3304,1189,3308,1185,3313,1182,3314,1182,3314,1180,3315,1176,3314,1175,3310,1171,3308,1165,3307,1165,3306,1164,3304,1163,3301,1164,3288,1165,3274,1167,3263,1169,3251,1169,3248,1170,3244,1171,3242,1176,3240,1180,3240,1182,3240,1183,3240,1188,3238,1193,3238,1193,3237,1194,3233,1196,3227,1198,"Q",3224,1198,3223,1199,"Z"],["M",3197,731,"Q",3196,731,3195,730,3193,730,3191,731,3192,733,3193,733,3195,734,3197,737,
3199,738,3198,740,3198,742,3198,742,3195,743,3192,742,3191,742,3190,742,3189,741,3188,740,3187,740,3185,739,3184,738,3181,738,3180,738,3180,739,3178,740,3178,742,3179,743,3180,744,3181,745,3180,746,3180,747,3179,748,3178,748,3176,748,3174,747,3173,750,3173,751,3171,751,3170,751,3169,753,3168,755,3170,755,"L",3171,756,"Q",3172,756,3173,756,3175,756,3177,756,3180,756,3182,755,3183,755,3184,754,3187,754,3191,754,3195,754,3198,754,3199,754,3200,754,3203,756,3203,760,3201,760,3202,763,3203,765,3205,766,
3206,769,3204,770,3201,771,3198,770,3197,770,3195,769,3194,768,3191,768,3187,769,3186,771,3189,771,3192,771,3195,771,3197,772,3198,774,3198,776,3197,779,3198,781,3200,781,3201,782,3203,783,3205,785,3206,786,3206,786,3207,789,3206,792,3205,793,3203,793,3202,794,3201,794,3200,794,3200,795,3199,798,3201,799,3202,799,3203,800,3206,801,3209,801,3210,802,3211,801,3214,801,3218,800,3222,799,3225,800,3226,800,3226,800,3228,802,3231,803,3233,804,3234,805,3235,806,3236,806,3240,808,3244,808,3246,807,3249,808,
3254,809,3259,810,3263,811,3267,811,3271,811,3274,810,3276,810,3277,809,3280,808,3283,805,3284,804,3286,803,3287,802,3287,800,3287,799,3287,798,3290,797,3292,797,3293,797,3294,797,3298,798,3302,798,3304,798,3305,797,3306,797,3306,796,3307,795,3307,795,3309,794,3310,793,3313,792,3315,789,3316,787,3318,787,3321,788,3323,786,3325,786,3326,786,3329,786,3330,785,3331,784,3332,783,3333,781,3333,780,3333,779,3334,778,3336,778,3337,777,3339,777,3341,775,3342,774,3344,772,3345,770,3346,770,3347,768,3346,765,
3346,764,3345,762,3345,762,3345,761,3345,760,3345,759,3345,757,3342,756,3342,755,3340,755,3337,754,3335,750,3335,749,3334,749,3333,748,3331,747,3328,747,3325,744,3325,741,3325,739,3325,739,3324,737,3323,737,3321,737,3319,736,3316,737,3316,737,3315,737,3315,736,3314,736,3312,735,3310,734,3309,734,3308,732,3307,730,3305,729,3304,728,3302,728,3300,728,3299,730,3298,731,3298,732,3298,734,3297,734,3295,735,3293,737,3292,737,3290,737,3289,736,3288,736,3286,735,3285,737,3284,738,3282,738,3281,739,3279,741,
3277,742,3275,740,3275,738,3272,737,3272,737,3271,737,3270,736,3268,737,3267,737,3266,738,3265,740,3264,742,3264,741,3264,740,3263,739,3260,737,3256,736,3254,739,3254,740,3254,741,3254,742,3252,742,3251,742,3250,742,3249,743,3247,744,3247,746,3245,745,3242,745,3240,742,3239,742,3239,741,3236,741,3234,741,3235,745,3234,749,3235,749,3235,750,3235,752,3234,752,3230,752,3227,752,3225,752,3226,755,3226,757,3223,758,3223,758,3221,758,3221,758,3220,757,3219,756,3219,755,3220,753,3218,751,3217,751,3216,751,
3213,751,3212,748,3215,748,3215,746,3216,742,3213,741,3213,741,3212,740,3212,740,3211,740,3211,739,3210,739,3208,735,3202,734,3200,734,3199,732,"Q",3199,732,3197,731,"Z"],["M",4411,664,"Q",4413,663,4414,661,4415,660,4417,658,4421,659,4419,654,4417,653,4412,650,4411,649,4410,649,4406,648,4402,647,4399,646,4398,648,4398,649,4397,650,4395,651,4393,653,4393,654,4391,654,4388,657,4390,662,4390,664,4392,663,4395,663,4397,664,4399,665,4401,666,4404,667,4405,665,"Q",4407,664,4411,664,"Z"],["M",4375,256,"Q",
4367,256,4360,256,4356,256,4352,256,4347,257,4342,261,4336,262,4330,262,4327,262,4325,264,4323,265,4323,267,4326,268,4330,267,4334,267,4340,268,4340,270,4340,271,4348,272,4355,272,4355,270,4355,268,4354,265,4356,263,4358,261,4361,261,4363,261,4365,261,4368,260,4372,260,4375,260,4376,259,"Q",4378,258,4375,256,"Z"],["M",4434,259,"Q",4437,260,4437,258,4436,257,4435,257,4433,257,4432,257,4431,257,4429,257,4427,258,4425,254,4425,254,4423,254,4419,253,4417,256,4415,261,4411,264,4408,264,4404,264,4402,263,
4400,263,4397,264,4395,262,4393,262,4390,259,4387,259,4385,262,4385,265,4383,265,4378,263,4373,263,"L",4372,263,"Q",4371,264,4370,264,4366,265,4368,269,4372,269,4376,270,4377,271,4376,273,4376,274,4374,275,4372,275,4370,276,4366,276,4367,280,4368,281,4369,282,4370,283,4373,283,4377,283,4380,282,4383,282,4384,283,4384,285,4382,286,4381,288,4382,289,4384,291,4387,291,4387,290,4387,287,4389,287,4390,287,4394,287,4396,285,4397,284,4397,281,4397,280,4397,278,4398,278,4401,277,4409,276,4417,276,4421,276,
4425,276,4426,274,4428,272,4429,271,4431,271,4435,271,4439,271,4440,271,4442,270,4444,270,4446,267,4449,266,4448,263,4445,262,4442,262,4438,262,4434,262,4432,262,4432,261,"Q",4431,258,4434,259,"Z"],["M",4470,282,"Q",4469,282,4467,281,4465,281,4465,285,4470,285,4475,285,4477,286,4478,286,4481,286,4481,285,4482,284,4482,283,4483,279,4479,279,4477,277,4473,278,"Q",4471,279,4470,282,"Z"],["M",4522,287,"Q",4524,289,4526,289,4530,290,4535,289,4536,288,4540,288,4541,287,4541,285,4541,283,4541,280,4542,277,
4538,278,4531,278,4522,279,4521,280,4521,282,"Q",4521,285,4522,287,"Z"],["M",4570,288,"Q",4569,289,4570,290,4571,293,4574,294,4575,294,4576,294,4579,294,4580,296,4582,297,4584,297,4585,294,4585,291,4584,289,4584,288,4583,286,4580,286,4576,286,4571,287,"Q",4571,287,4570,288,"Z"],["M",4568,281,"Q",4571,281,4571,280,4571,279,4569,276,4564,273,4556,274,4554,274,4551,274,4547,273,4545,276,4545,278,4545,280,4545,285,4547,289,4548,288,4549,287,4551,287,4554,286,4555,286,4557,285,4558,283,4558,282,4560,279,
4564,280,"Q",4566,281,4568,281,"Z"],["M",4554,256,"Q",4553,256,4550,255,4550,255,4548,254,4547,254,4545,253,4544,252,4542,252,4538,251,4532,252,4532,254,4528,253,4525,250,4521,252,4519,253,4516,253,4513,251,4507,249,4503,248,4499,250,4500,251,4501,253,4503,254,4504,254,4506,255,4509,255,4513,255,4517,255,4520,255,4523,258,4524,259,4523,260,4520,260,4515,260,4515,259,4513,258,4509,258,4504,258,4503,258,4503,258,4502,258,4500,257,4499,257,4496,257,4492,256,4493,261,4501,262,4508,262,4510,262,4512,261,
4515,261,4517,264,4518,266,4520,266,4526,268,4533,267,4533,267,4534,266,4536,263,4540,264,4542,264,4543,264,4546,265,4546,263,4546,261,4548,259,4549,258,4552,258,4556,257,4559,260,4561,262,4564,262,4566,262,4568,261,4570,261,4569,259,4568,257,4563,254,"Q",4559,257,4554,256,"Z"],["M",4609,248,"Q",4605,248,4601,248,4598,248,4596,250,4595,252,4596,254,4599,254,4601,254,4604,254,4603,257,4602,258,4601,259,4599,260,4597,259,4595,259,4593,259,4589,259,4585,262,4585,262,4584,264,4583,265,4582,266,4581,269,
4582,273,4583,276,4585,276,4586,276,4587,275,4589,275,4591,275,4593,276,4595,277,4596,279,4599,279,4603,278,4607,278,4609,278,4610,277,4611,275,4616,274,4618,269,4616,264,4619,264,4622,263,4625,263,4628,261,4629,261,4628,258,4626,257,4623,257,4622,257,4621,257,4619,258,4617,258,4614,258,4614,256,4615,252,4613,249,"Q",4611,248,4609,248,"Z"],["M",4756,562,"Q",4741,577,4721,579,4720,579,4719,580,4714,583,4711,587,4704,594,4704,606,4704,609,4704,611,4701,621,4702,631,4702,637,4704,642,4707,651,4712,661,
4717,672,4724,680,4728,685,4733,688,4726,686,4720,684,4718,684,4717,682,4714,679,4708,677,4695,671,4681,668,4675,666,4668,668,4664,670,4660,669,4657,669,4654,669,4651,668,4648,668,4647,668,4646,667,4637,667,4628,665,4611,661,4595,655,4580,650,4565,645,4561,644,4559,646,4553,652,4555,660,4556,671,4560,678,4561,680,4562,681,4564,685,4566,689,4568,691,4571,692,4575,693,4579,695,4584,697,4590,700,4591,701,4591,701,4595,707,4596,714,4592,718,4586,720,4583,721,4579,719,4578,719,4577,719,4576,718,4574,718,
4567,714,4557,715,4556,715,4555,715,4553,713,4547,713,4544,714,4540,714,4531,716,4520,718,4519,721,4513,719,4512,719,4510,719,4484,715,4456,710,4455,710,4453,710,4448,712,4445,714,4441,717,4436,719,4436,719,4435,719,4433,720,4431,722,4421,730,4409,734,4404,736,4398,741,4389,750,4371,760,4369,761,4367,762,4357,767,4346,770,4339,772,4334,769,4332,768,4330,764,4327,755,4321,746,4315,738,4307,730,4306,728,4304,727,4302,726,4301,725,4298,722,4296,719,4289,709,4279,707,4271,706,4267,710,"L",4267,712,"Q",
4268,719,4273,724,4277,729,4283,733,4285,734,4285,735,4287,743,4290,751,4290,752,4290,754,4291,767,4285,778,4281,787,4271,792,4270,793,4269,793,4267,794,4265,794,4264,795,4262,795,4251,796,4241,799,4233,801,4230,808,4229,809,4229,811,4226,818,4221,826,4220,827,4220,828,4218,833,4214,835,4208,838,4200,838,4186,838,4174,836,4172,836,4171,836,4165,835,4160,835,4159,835,4158,834,4152,833,4151,836,4151,841,4152,844,4154,848,4156,853,4158,857,4158,862,4158,864,4157,865,4157,870,4154,873,4148,878,4141,880,
4141,880,4140,880,4136,879,4134,876,4126,861,4119,846,4114,836,4106,827,4096,814,4085,800,4084,799,4083,798,4084,797,4084,797,4086,793,4088,791,4092,788,4097,787,4103,787,4108,787,4124,787,4140,787,4166,787,4192,786,4193,786,4194,786,4195,785,4197,785,4202,785,4205,781,4206,780,4207,780,4210,778,4212,774,4213,773,4214,773,4217,771,4219,767,4219,765,4220,765,4222,764,4221,761,4220,757,4219,754,4218,752,4218,751,4213,747,4204,741,4195,735,4185,731,4177,727,4168,723,4165,722,4161,723,4156,723,4154,721,
4149,718,4142,712,4137,708,4128,704,4124,702,4120,700,4118,700,4117,699,4113,697,4107,696,4104,695,4101,694,4097,691,4090,689,4088,689,4087,689,4083,688,4080,688,4071,686,4063,684,4062,684,4061,683,4058,683,4054,682,4051,681,4050,680,4049,679,4048,679,4046,678,4045,678,4040,676,4033,675,4029,675,4024,674,4021,674,4018,674,4012,672,4008,668,4008,668,4007,667,4007,659,4007,651,4008,647,4004,646,4003,646,4002,645,4001,643,3997,644,3989,645,3983,640,3984,641,3984,641,3981,639,3977,636,3969,631,3962,631,
3956,632,3954,638,3952,643,3949,644,3944,645,3940,646,3927,650,3914,650,3912,650,3909,646,3905,638,3899,631,3897,630,3895,631,3888,635,3877,639,3874,640,3871,642,3859,648,3848,655,3843,659,3838,664,3837,665,3836,666,3832,669,3829,670,3820,674,3813,678,3812,679,3810,679,3805,681,3801,682,3794,686,3789,691,3780,701,3771,712,3766,720,3761,724,3760,725,3759,726,3756,728,3753,729,3752,730,3751,731,3747,736,3742,739,3741,740,3740,741,3732,755,3720,767,3719,769,3718,770,3714,778,3708,784,3706,786,3702,790,
3701,791,3700,792,3693,804,3683,815,3680,820,3677,826,3672,835,3665,845,3662,847,3661,851,3656,859,3649,866,3646,869,3642,875,3640,879,3636,883,3628,893,3623,898,3615,906,3608,911,3597,918,3584,924,3567,932,3556,939,3555,940,3554,941,3552,944,3548,946,3540,950,3533,957,3528,961,3527,965,3526,972,3528,979,3530,989,3534,998,3537,1005,3541,1010,3542,1011,3542,1012,3542,1013,3543,1014,3547,1020,3547,1027,3549,1040,3550,1052,3552,1059,3555,1065,3556,1067,3559,1069,3561,1070,3565,1071,3566,1071,3566,1071,
3575,1073,3584,1075,3587,1076,3591,1077,3592,1077,3593,1077,3603,1073,3611,1066,3619,1058,3625,1052,3626,1051,3626,1050,3634,1045,3640,1033,3641,1032,3642,1031,3646,1028,3649,1024,3652,1027,3651,1032,3651,1035,3652,1038,3652,1040,3652,1042,3652,1044,3651,1045,3651,1051,3651,1056,3650,1063,3650,1069,3650,1076,3655,1078,3657,1079,3658,1079,3664,1084,3672,1085,3673,1086,3674,1086,3680,1091,3684,1098,3685,1099,3685,1099,3687,1108,3689,1116,3690,1122,3691,1128,3694,1136,3699,1141,3703,1145,3709,1144,3716,
1142,3723,1137,3724,1136,3725,1135,3728,1132,3732,1129,3733,1129,3733,1128,3734,1126,3737,1124,3738,1123,3739,1122,3739,1122,3739,1122,3747,1116,3749,1103,"L",3749,1102,"Q",3750,1099,3749,1094,"L",3749,1094,"Q",3749,1093,3749,1092,3751,1079,3756,1067,3756,1065,3757,1063,3759,1061,3761,1058,3763,1053,3766,1049,3769,1045,3776,1037,3790,1022,3795,1003,3796,1E3,3789,994,3784,990,3781,985,3776,977,3776,967,3776,962,3778,957,3779,955,3779,954,3782,942,3787,929,3791,920,3797,913,3802,907,3810,903,3811,903,
3812,903,3816,903,3818,902,3819,901,3820,901,3828,896,3832,888,3839,874,3844,858,3847,845,3849,831,3849,827,3851,826,3852,826,3852,825,3855,822,3859,818,3860,818,3862,817,3888,814,3913,821,3920,823,3924,826,3924,827,3925,828,3925,829,3925,830,3928,834,3925,838,3924,841,3923,845,3923,846,3922,847,3913,854,3905,861,3904,862,3903,863,3899,865,3895,868,3884,877,3879,885,3878,886,3878,887,3876,892,3872,896,3871,897,3870,898,3868,907,3860,909,3846,914,3843,925,3843,926,3842,927,3836,936,3836,948,3836,950,
3836,951,3839,962,3843,972,3843,974,3843,975,3842,987,3848,995,3849,997,3853,997,3871,997,3889,998,3900,998,3910,998,3912,999,3913,999,3920,999,3926,1E3,3927,1E3,3929,1E3,3935,1001,3942,1003,3948,1005,3950,1009,3950,1014,3947,1018,3945,1021,3940,1023,3938,1024,3936,1025,3923,1031,3911,1037,3910,1038,3908,1039,3906,1042,3903,1048,3900,1054,3899,1061,3897,1071,3896,1082,3896,1086,3892,1087,3891,1087,3890,1087,3883,1088,3879,1084,3878,1083,3878,1082,3876,1079,3873,1078,3866,1086,3859,1093,3849,1103,
3846,1115,3846,1116,3845,1118,3841,1138,3837,1156,3836,1159,3836,1162,3836,1169,3835,1176,3835,1180,3832,1181,3831,1182,3830,1183,3824,1189,3816,1190,3815,1190,3813,1191,3813,1191,3812,1191,3810,1191,3809,1190,3807,1189,3803,1188,3797,1186,3791,1182,3790,1181,3788,1180,3788,1179,3786,1179,3781,1179,3776,1180,3775,1181,3774,1182,3768,1189,3756,1202,3753,1205,3751,1207,3751,1208,3750,1208,3749,1210,3748,1211,3745,1213,3742,1213,3719,1213,3698,1207,3683,1203,3668,1201,3659,1200,3651,1197,3644,1195,3641,
1188,3636,1180,3634,1169,3633,1161,3637,1153,3637,1153,3637,1152,3638,1147,3637,1142,3636,1132,3633,1125,3630,1119,3624,1114,3620,1111,3614,1113,3608,1114,3604,1118,3597,1123,3600,1136,3605,1158,3612,1179,3615,1188,3617,1196,3619,1203,3617,1210,3617,1214,3613,1217,3612,1219,3609,1219,3609,1220,3608,1220,3603,1227,3599,1222,3597,1219,3592,1217,3592,1217,3591,1216,3590,1216,3589,1215,3589,1216,3588,1217,3586,1209,3574,1213,3567,1214,3561,1216,3556,1218,3549,1220,3544,1221,3539,1225,3529,1233,3523,1240,
3520,1244,3516,1247,3512,1250,3509,1254,3508,1256,3506,1258,3505,1260,3504,1261,3502,1264,3501,1267,3497,1278,3491,1284,3490,1284,3488,1285,3488,1285,3487,1286,3480,1289,3476,1295,3470,1302,3462,1306,3458,1309,3451,1308,3449,1307,3447,1306,3447,1306,3446,1306,3446,1306,3446,1307,3446,1312,3441,1318,3437,1322,3432,1324,3428,1326,3425,1329,3424,1330,3422,1330,3422,1331,3421,1331,3418,1335,3411,1335,3410,1335,3409,1335,3407,1337,3404,1337,3400,1337,3397,1338,3395,1338,3392,1339,3392,1339,3391,1340,3387,
1342,3384,1347,3383,1351,3385,1353,3385,1354,3386,1356,3386,1357,3387,1358,3390,1364,3384,1366,3381,1367,3378,1367,3377,1368,3375,1367,3371,1367,3367,1368,3359,1368,3352,1369,3349,1369,3345,1370,3340,1370,3337,1374,3330,1382,3331,1391,3331,1398,3338,1401,3350,1405,3362,1405,3371,1405,3379,1406,3381,1406,3382,1407,3387,1412,3392,1415,3393,1416,3393,1417,3394,1423,3394,1430,3395,1431,3395,1432,3396,1433,3397,1435,3400,1458,3395,1482,3394,1490,3389,1496,3380,1508,3368,1513,3357,1518,3345,1515,3338,1513,
3330,1511,3318,1508,3304,1509,3297,1509,3290,1509,3285,1509,3283,1509,3275,1506,3267,1506,3257,1507,3247,1508,3236,1510,3224,1511,3224,1512,3223,1512,3223,1533,3229,1554,3234,1572,3235,1589,3235,1594,3235,1598,3234,1607,3228,1611,3223,1615,3223,1622,3223,1628,3226,1632,3230,1638,3231,1643,3232,1648,3230,1651,3229,1654,3228,1658,3227,1670,3235,1675,3238,1677,3240,1679,3242,1680,3244,1682,3249,1685,3255,1682,3257,1682,3258,1682,3262,1681,3265,1680,3267,1680,3268,1680,3281,1677,3289,1687,3291,1688,3291,
1689,3292,1691,3293,1691,3304,1696,3315,1696,3323,1696,3329,1691,3334,1688,3338,1685,3344,1681,3355,1681,3375,1682,3391,1673,3394,1671,3398,1670,3400,1670,3401,1669,3407,1666,3410,1663,3411,1662,3411,1661,3412,1660,3412,1659,3421,1633,3419,1602,3419,1599,3420,1597,3421,1596,3421,1595,3424,1589,3428,1584,3428,1584,3429,1583,3430,1582,3434,1581,3435,1581,3437,1580,3445,1578,3457,1573,3458,1573,3459,1572,3468,1565,3476,1557,3476,1557,3477,1556,3484,1546,3490,1540,3492,1539,3492,1538,3494,1533,3495,1528,
3496,1521,3499,1514,3499,1513,3501,1513,3505,1512,3507,1510,3508,1509,3509,1509,3515,1509,3519,1510,3523,1511,3526,1510,3532,1510,3535,1512,3538,1513,3539,1511,3539,1511,3541,1511,3548,1510,3555,1509,3558,1508,3562,1508,3567,1507,3571,1506,3576,1503,3583,1501,3589,1498,3595,1496,3596,1496,3596,1495,3603,1491,3610,1490,3614,1490,3618,1490,3627,1491,3630,1500,3631,1502,3631,1503,3634,1506,3638,1509,3639,1509,3640,1510,3641,1510,3642,1511,3650,1519,3657,1528,3658,1529,3659,1531,3661,1538,3666,1541,3669,
1543,3671,1545,3672,1546,3673,1547,3676,1548,3677,1552,3677,1553,3677,1554,3678,1555,3679,1556,3687,1565,3696,1568,3697,1569,3697,1569,3703,1576,3713,1579,3715,1580,3716,1581,3725,1593,3732,1603,3735,1607,3739,1609,3746,1614,3752,1621,3754,1623,3754,1626,3754,1630,3753,1632,3750,1634,3747,1638,3741,1647,3743,1661,3743,1666,3746,1669,3747,1669,3749,1669,3754,1669,3759,1667,3763,1665,3766,1663,3770,1660,3773,1656,3793,1635,3799,1607,3800,1603,3806,1599,3807,1598,3809,1596,3804,1590,3797,1584,3796,1584,
3795,1583,3794,1582,3793,1581,3792,1579,3790,1578,3766,1561,3744,1542,3735,1534,3728,1526,3726,1523,3725,1519,3706,1504,3698,1484,3693,1475,3697,1463,3698,1459,3702,1455,3705,1453,3708,1451,3710,1450,3712,1452,3713,1452,3715,1453,3720,1456,3721,1460,3727,1479,3735,1497,3740,1509,3747,1516,3748,1517,3749,1518,3750,1520,3751,1520,3761,1529,3774,1531,3784,1533,3793,1538,3811,1547,3825,1560,3827,1562,3826,1571,3825,1579,3826,1588,3826,1594,3832,1597,3834,1598,3835,1599,3835,1600,3836,1601,3837,1601,3838,
1602,3840,1602,3840,1604,3840,1605,3840,1606,3845,1611,3850,1613,3857,1615,3859,1619,3860,1621,3861,1623,3868,1634,3874,1645,3880,1656,3886,1665,3892,1675,3896,1685,3897,1686,3897,1688,3898,1689,3898,1689,3904,1689,3908,1686,3917,1680,3925,1672,3928,1670,3931,1668,3924,1661,3921,1653,3918,1646,3920,1638,3923,1618,3933,1601,3938,1594,3944,1588,3948,1584,3953,1583,3954,1583,3954,1582,3957,1581,3962,1579,3965,1578,3967,1579,3976,1587,3982,1597,3986,1604,3988,1611,3991,1621,3991,1631,3991,1644,3995,1656,
3996,1663,4003,1666,4018,1674,4029,1685,4037,1693,4040,1706,4041,1711,4041,1715,4041,1716,4041,1716,4042,1716,4042,1715,4043,1715,4043,1715,4044,1713,4047,1710,4052,1704,4050,1699,4050,1697,4049,1695,4048,1691,4047,1688,4046,1685,4044,1683,4044,1682,4044,1680,4045,1673,4046,1668,4048,1660,4053,1657,4056,1654,4058,1654,4070,1650,4083,1648,4086,1647,4088,1643,4088,1641,4089,1639,4090,1634,4097,1635,4101,1635,4105,1637,4110,1638,4115,1638,4123,1638,4131,1638,4144,1639,4158,1637,4162,1636,4166,1632,4167,
1631,4167,1630,4176,1621,4189,1623,4195,1624,4199,1628,4201,1629,4204,1630,4204,1630,4205,1631,4214,1640,4223,1649,4224,1649,4225,1650,4234,1652,4243,1652,4244,1653,4245,1652,4249,1652,4252,1651,4253,1651,4255,1651,4280,1649,4305,1649,4317,1649,4325,1646,4329,1645,4330,1647,4330,1648,4332,1648,4333,1649,4333,1649,4334,1653,4337,1656,4338,1656,4338,1657,4339,1659,4340,1660,4344,1664,4349,1665,4351,1666,4351,1668,4357,1670,4363,1671,4365,1672,4366,1672,4370,1672,4373,1672,4377,1673,4379,1675,"L",4381,
1677,"Q",4381,1678,4381,1679,4382,1681,4382,1682,4383,1682,4383,1681,4386,1674,4387,1667,4387,1665,4387,1664,4387,1663,4387,1662,4387,1661,4386,1659,4385,1655,4385,1649,4386,1648,4386,1647,4386,1640,4387,1635,4388,1634,4388,1632,4389,1630,4393,1630,4395,1630,4396,1630,4403,1632,4410,1636,4415,1638,4419,1639,4422,1639,4422,1638,4426,1627,4426,1614,4427,1605,4430,1597,4432,1592,4431,1587,4431,1585,4431,1584,4430,1579,4431,1576,4433,1572,4435,1572,4460,1572,4484,1574,4486,1575,4487,1575,4493,1577,4500,
1577,4504,1577,4504,1581,4504,1587,4502,1589,4502,1590,4502,1591,4500,1596,4499,1600,4500,1601,4500,1601,4503,1601,4505,1601,4519,1601,4533,1601,4542,1601,4551,1603,4553,1603,4554,1604,4563,1607,4574,1608,4580,1608,4586,1608,4612,1609,4637,1606,4644,1605,4643,1598,4643,1595,4643,1591,4644,1584,4644,1581,4644,1573,4641,1565,4641,1565,4641,1564,4642,1558,4636,1556,4628,1554,4622,1548,4617,1541,4620,1535,4624,1527,4633,1522,4643,1517,4653,1513,4656,1512,4657,1509,4659,1506,4661,1504,4666,1499,4669,1493,
4670,1491,4671,1489,4674,1484,4678,1478,4681,1473,4684,1469,4687,1465,4687,1460,4687,1458,4688,1456,4688,1454,4688,1453,4687,1441,4691,1431,4691,1429,4691,1427,4690,1423,4690,1420,4688,1411,4687,1401,4685,1386,4684,1371,4684,1365,4684,1358,4688,1354,4688,1347,4688,1347,4688,1346,4688,1330,4688,1314,4688,1312,4687,1310,4687,1303,4684,1299,4684,1299,4683,1297,4680,1289,4678,1280,4678,1279,4677,1277,4677,1274,4677,1270,4678,1270,4678,1269,4678,1267,4679,1266,4679,1265,4679,1264,4679,1249,4686,1241,4687,
1240,4688,1239,4693,1237,4698,1237,4700,1237,4701,1236,4716,1236,4730,1233,4740,1232,4748,1227,4758,1223,4766,1216,4780,1205,4789,1189,4795,1181,4799,1171,4807,1148,4800,1125,4795,1109,4789,1093,4787,1085,4787,1077,4789,1063,4795,1051,4798,1046,4802,1041,4813,1029,4825,1021,4832,1016,4841,1013,4849,1011,4858,1010,4864,1009,4870,1005,4876,1003,4880,999,4883,999,4884,997,4888,995,4890,991,4893,988,4895,984,4902,973,4908,963,4913,954,4923,945,4928,941,4933,936,4934,934,4935,932,4936,931,4936,929,4936,
923,4934,918,4934,916,4934,915,4933,908,4934,903,4939,887,4933,871,4927,854,4913,848,4912,847,4911,847,4901,846,4894,841,4893,840,4892,840,4889,840,4889,836,4890,830,4895,826,4896,826,4896,825,4905,817,4915,808,4923,799,4933,791,4939,786,4942,783,4943,782,4944,781,4946,779,4949,775,4957,762,4964,748,4964,748,4964,747,4964,745,4964,744,4965,742,4965,740,4966,740,4966,739,4967,738,4968,736,4971,728,4968,720,4966,715,4961,713,4947,708,4933,702,4927,699,4922,693,4919,689,4917,687,4907,679,4893,667,4889,
664,4889,659,4888,645,4883,632,4879,625,4873,619,4867,614,4865,604,4861,587,4853,575,4853,573,4852,572,4852,561,4842,556,4836,553,4829,555,4808,559,4784,561,4776,560,4770,556,4770,556,4769,556,4766,557,4762,558,4760,559,4758,560,"Q",4757,561,4756,562,"Z"],["M",4726,405,"Q",4721,405,4715,405,4709,405,4703,405,4700,407,4697,407,4696,407,4695,408,4694,408,4693,409,4692,410,4690,411,4688,416,4684,418,4680,421,4676,424,4669,424,4662,424,4660,425,4659,425,4654,425,4649,425,4646,428,4644,430,4642,433,4638,
432,4637,432,4635,432,4630,432,4627,429,4625,428,4623,427,4619,425,4616,424,4613,424,4609,424,4608,425,4607,426,4607,431,4606,435,4603,436,4601,438,4599,437,4598,436,4597,435,4594,434,4589,436,4586,439,4581,442,4578,443,4577,444,4576,444,4573,445,4569,444,4567,444,4565,445,4562,447,4560,448,4559,449,4558,450,4558,451,4556,451,4554,453,4552,455,4553,460,4550,460,4545,461,4541,461,4539,461,4537,462,4535,462,4534,463,4532,465,4530,466,4524,466,4520,467,4515,468,4517,471,4520,473,4522,474,4523,477,4522,
478,4527,477,4529,480,4529,484,4526,483,4525,483,4523,483,4521,483,4519,483,4518,483,4517,484,4515,487,4515,489,4513,494,4513,497,4509,500,4505,502,4504,504,4503,507,"L",4503,507,"Q",4501,508,4500,508,4499,509,4497,510,4492,512,4488,512,4486,513,4486,514,4486,516,4489,515,4493,515,4493,517,4494,521,4495,524,4495,526,4493,527,4490,531,4486,530,4485,530,4483,529,4481,529,4479,529,4475,530,4474,531,4472,533,4472,537,4472,539,4471,541,4466,540,4462,542,4461,543,4461,544,4461,546,4463,546,4464,547,4466,
548,4471,547,4470,552,4468,554,4468,554,4466,556,4467,559,4468,562,4465,562,4462,561,4460,562,4460,564,4458,564,4457,565,4455,565,4450,565,4447,565,4445,568,4443,571,4442,573,4444,576,4446,579,4448,582,4449,587,4451,587,4455,588,4456,586,4459,583,4461,582,4462,580,4465,580,4468,581,4470,583,4473,584,4475,586,4476,587,4478,587,4481,589,4485,589,4486,593,4488,594,4489,595,4491,595,4494,595,4494,597,4495,600,4493,601,4489,600,4487,601,4490,605,4495,608,4496,609,4497,609,4502,609,4504,612,4505,613,4505,
613,4508,614,4508,612,4512,610,4512,609,4513,608,4515,608,4518,608,4520,608,4523,610,4524,610,4525,611,4526,612,4531,612,4536,612,4538,612,4539,611,4542,611,4542,610,4538,608,4535,605,4534,603,4533,602,4529,598,4525,594,4520,589,4517,583,4516,581,4515,579,4513,577,4513,577,4514,575,4513,574,4513,563,4513,553,4514,552,4514,551,4517,548,4520,546,4523,544,4524,542,4528,538,4527,534,4528,531,4528,530,4529,528,4530,528,4532,527,4535,525,4537,523,4538,522,4539,518,4541,518,4544,517,4544,516,4545,514,4545,
511,4550,510,4549,507,"L",4549,507,"Q",4549,505,4548,504,4548,502,4548,502,4553,501,4556,499,4558,501,4560,500,4565,499,4565,496,4566,492,4566,489,4571,489,4573,487,4575,482,4579,482,4582,482,4584,483,4586,483,4587,482,4588,481,4589,481,4592,478,4594,476,4596,474,4597,472,4599,470,4600,469,4604,467,4608,466,4611,466,4613,465,4616,464,4619,463,4622,461,4623,460,4627,457,4633,455,4637,454,4640,454,4643,453,4644,452,4648,451,4651,449,4653,448,4654,448,4657,446,4660,446,4661,446,4662,445,4664,445,4666,
444,4667,444,4669,443,4673,441,4676,440,4678,440,4680,440,4683,440,4685,439,4691,439,4694,438,4701,435,4706,434,4710,434,4714,432,4715,432,4716,432,4717,431,4718,430,4720,430,4722,429,4728,428,4735,424,4738,423,4740,419,4742,416,4739,414,4736,412,4734,410,4733,408,4731,407,"Q",4729,405,4726,405,"Z"],["M",4665,236,"Q",4658,236,4650,240,4649,241,4647,242,4645,244,4641,244,4640,245,4639,248,4638,250,4638,253,4640,254,4642,255,4643,256,4644,257,4649,258,4654,258,4657,258,4661,255,4663,254,4665,253,4668,
251,4672,252,4674,252,4676,252,4680,253,4680,250,4681,246,4675,246,4672,246,4671,243,4674,243,4675,242,4674,240,4672,237,"Q",4669,237,4665,236,"Z"],["M",4649,222,"Q",4650,221,4648,220,4644,220,4638,221,4636,221,4636,222,4636,223,4637,225,4639,225,4640,225,4645,227,4651,226,"Q",4649,224,4649,222,"Z"],["M",4557,219,"Q",4555,220,4555,223,4558,223,4561,223,4561,225,4563,224,4564,224,4566,223,4571,223,4575,221,4574,220,4573,219,4571,217,4569,218,"Q",4564,219,4557,219,"Z"],["M",4543,226,"Q",4540,228,4537,
230,4537,232,4537,234,4537,235,4533,235,4532,236,4530,238,4529,239,4526,239,4525,239,4524,241,4521,242,4520,240,4519,240,4515,241,4515,243,4516,244,4525,245,4533,245,4534,241,4541,242,4542,242,4543,242,4546,243,4551,242,4553,240,4553,235,4555,235,4558,234,4561,235,4561,233,4560,232,4555,231,4556,229,4554,228,4554,228,4553,227,4553,227,4551,226,"Q",4548,226,4543,226,"Z"]],label:"Europe",shortLabel:"EU",labelPosition:[424.8,122.8],labelAlignment:["center","middle"]},AS:{outlines:[["M",5058,2392,"Q",
5056,2394,5055,2397,5052,2402,5052,2411,5052,2414,5051,2417,5051,2422,5051,2426,5051,2431,5051,2437,"L",5051,2448,"Q",5051,2453,5052,2455,5055,2467,5066,2467,5067,2466,5068,2466,5072,2465,5086,2464,5087,2464,5089,2463,5091,2462,5094,2460,5099,2456,5100,2453,5100,2452,5100,2451,5100,2444,5100,2439,5100,2438,5100,2437,5100,2429,5098,2425,5097,2423,5096,2422,5091,2419,5086,2410,"L",5086,2410,"Q",5080,2407,5079,2402,5078,2395,5074,2393,5071,2392,5069,2390,5068,2386,5062,2381,5060,2380,5057,2378,5061,
2384,5061,2390,"Q",5059,2391,5058,2392,"Z"],["M",5404,2465,"Q",5401,2471,5404,2475,5406,2478,5409,2481,5415,2488,5420,2492,5424,2494,5426,2497,5427,2498,5428,2499,5438,2510,5445,2522,5447,2524,5449,2526,5459,2535,5467,2547,5468,2548,5468,2549,5471,2555,5475,2562,5480,2570,5487,2578,5495,2587,5504,2597,5515,2607,5522,2620,5530,2633,5537,2647,5545,2662,5555,2676,5565,2689,5576,2699,5587,2710,5597,2721,5615,2738,5635,2753,5637,2754,5638,2755,5648,2761,5654,2768,5656,2771,5659,2772,5661,2772,5662,2772,
5665,2771,5668,2771,5672,2771,5675,2771,5682,2769,5688,2771,5691,2772,5694,2773,5701,2776,5711,2775,5717,2774,5722,2773,5729,2771,5731,2774,5736,2781,5742,2786,5744,2787,5745,2788,5751,2792,5762,2791,5763,2791,5766,2790,5769,2790,5772,2789,5775,2788,5779,2789,5781,2789,5782,2789,5788,2790,5795,2790,5802,2789,5806,2792,5809,2793,5813,2794,5817,2794,5821,2796,5823,2798,5824,2799,5828,2802,5833,2802,5842,2802,5844,2799,5848,2793,5843,2786,5833,2773,5819,2764,5806,2755,5791,2749,5767,2740,5742,2752,5739,
2753,5733,2753,5732,2753,5731,2753,5726,2756,5721,2753,5714,2747,5706,2742,5699,2737,5690,2735,5672,2729,5652,2727,5647,2727,5645,2724,5639,2719,5639,2710,5640,2691,5643,2673,5644,2672,5643,2670,5642,2665,5638,2661,5635,2657,5633,2651,5632,2650,5632,2649,5628,2646,5627,2639,5626,2633,5623,2628,5614,2618,5605,2612,5604,2610,5602,2610,5593,2607,5588,2602,5588,2601,5587,2600,5587,2597,5586,2594,5586,2593,5586,2592,5585,2579,5583,2567,5583,2567,5582,2566,5582,2565,5580,2564,5575,2561,5570,2559,5568,2558,
5567,2558,5537,2550,5516,2528,5516,2527,5515,2526,5515,2525,5517,2523,5516,2518,5511,2514,5505,2509,5499,2504,5491,2496,5482,2488,5470,2478,5456,2469,5445,2463,5433,2456,5428,2453,5421,2453,5413,2452,5408,2456,5408,2457,5407,2458,"Q",5406,2462,5404,2465,"Z"],["M",5888,2405,"Q",5883,2409,5878,2416,5872,2425,5870,2435,5869,2437,5868,2440,5866,2443,5864,2446,5864,2447,5863,2448,5862,2451,5861,2452,5847,2461,5833,2471,5823,2478,5814,2486,5807,2492,5801,2500,5795,2508,5787,2513,5776,2521,5763,2524,5754,
2527,5749,2532,5745,2536,5740,2537,5733,2540,5728,2538,5727,2538,5726,2538,5717,2540,5715,2549,5713,2560,5715,2572,5716,2573,5716,2575,5716,2577,5715,2578,5711,2587,5708,2596,5705,2604,5705,2613,5705,2615,5708,2616,5714,2616,5718,2618,5719,2619,5720,2619,5727,2618,5730,2622,5733,2626,5733,2630,5733,2632,5733,2633,5736,2645,5739,2654,5741,2657,5745,2658,5746,2658,5747,2659,5751,2662,5757,2661,5758,2661,5759,2661,5763,2659,5767,2658,5771,2657,5772,2660,5773,2661,5773,2662,5777,2664,5780,2668,5780,2669,
5782,2669,5787,2670,5790,2668,5805,2660,5820,2657,5832,2655,5844,2659,5846,2660,5847,2660,5848,2661,5849,2662,5853,2664,5859,2664,5866,2664,5869,2659,5870,2658,5871,2657,5876,2651,5880,2639,5881,2634,5882,2630,5883,2629,5883,2627,5885,2620,5888,2613,5892,2605,5898,2601,5900,2599,5902,2597,5913,2587,5919,2574,5923,2567,5928,2560,5931,2556,5933,2551,5934,2550,5933,2549,5931,2542,5924,2540,5924,2540,5923,2539,5917,2526,5920,2510,5919,2504,5921,2501,5921,2501,5922,2499,5923,2496,5924,2492,5925,2489,5924,
2487,5924,2486,5924,2485,5926,2479,5931,2475,5943,2468,5937,2458,5936,2457,5934,2457,5932,2456,5930,2455,5925,2452,5919,2450,5913,2449,5911,2443,5909,2436,5906,2432,5906,2431,5906,2429,5906,2425,5907,2421,5907,2418,5908,2415,5908,2412,5906,2411,5897,2409,5889,2405,"Q",5888,2405,5888,2405,"Z"],["M",5933,2111,"Q",5936,2110,5930,2109,5929,2109,5927,2110,5922,2112,5923,2118,5924,2119,5924,2120,5927,2126,5929,2132,5931,2137,5934,2140,5934,2141,5935,2142,5935,2143,5935,2144,5936,2155,5935,2165,5935,2166,
5935,2167,5933,2172,5932,2177,5932,2178,5932,2178,5930,2183,5928,2186,5926,2188,5924,2190,5917,2201,5910,2212,5905,2222,5900,2232,5900,2234,5898,2235,5890,2242,5881,2250,5878,2252,5877,2254,5876,2257,5875,2261,5874,2264,5874,2266,5875,2273,5873,2277,5872,2279,5871,2282,5871,2284,5871,2285,5870,2290,5873,2295,5877,2302,5886,2300,5889,2299,5890,2298,5900,2290,5907,2281,5911,2276,5915,2271,5917,2268,5919,2265,5924,2258,5928,2251,5931,2243,5935,2238,5938,2233,5941,2228,5951,2214,5958,2198,5963,2189,5965,
2178,5966,2175,5965,2171,5964,2167,5963,2164,5963,2160,5963,2157,5963,2144,5955,2139,5948,2134,5948,2127,5948,2126,5948,2125,5948,2118,5940,2115,"Q",5935,2113,5933,2111,"Z"],["M",5887,2034,"Q",5887,2035,5887,2036,5889,2041,5892,2045,5892,2046,5893,2046,5898,2048,5903,2049,5905,2050,5906,2049,5915,2048,5919,2037,5921,2031,5924,2027,5931,2019,5925,2008,5921,2007,5916,2005,5912,2003,5906,2005,5904,2006,5902,2006,5901,2007,5900,2007,5891,2013,5888,2022,"Q",5885,2027,5887,2034,"Z"],["M",6295,1543,"Q",
6293,1543,6290,1544,6281,1546,6278,1555,6272,1573,6272,1594,6273,1607,6268,1621,6266,1627,6262,1630,6261,1631,6259,1632,6256,1635,6251,1637,6246,1640,6242,1647,6239,1653,6233,1652,6229,1651,6227,1653,6217,1661,6208,1671,6205,1674,6202,1679,6202,1680,6201,1681,6199,1684,6195,1686,6192,1689,6187,1688,6176,1687,6166,1690,6158,1692,6151,1695,6146,1697,6142,1700,6135,1708,6130,1714,6126,1719,6128,1725,6130,1725,6131,1724,6137,1723,6143,1721,6146,1719,6149,1717,6150,1716,6151,1715,6163,1709,6177,1705,6183,
1703,6190,1704,6199,1704,6207,1708,6215,1712,6218,1719,6222,1728,6223,1738,6223,1739,6223,1741,6229,1737,6235,1731,6239,1726,6240,1722,6242,1719,6243,1716,6245,1711,6250,1708,6256,1703,6264,1703,6265,1703,6267,1703,6268,1703,6268,1703,6278,1707,6288,1705,6290,1705,6292,1704,6295,1704,6297,1703,6306,1702,6311,1696,6322,1684,6325,1668,6327,1657,6324,1646,6322,1636,6318,1627,6317,1619,6322,1607,6326,1600,6329,1593,6332,1586,6331,1579,6330,1570,6325,1562,6321,1555,6315,1550,6310,1546,6304,1544,6301,1544,
6298,1544,6298,1544,6297,1544,"Q",6296,1543,6295,1543,"Z"],["M",6297,1417,"Q",6291,1424,6288,1432,6281,1448,6278,1464,6278,1468,6278,1471,6278,1476,6277,1480,6274,1487,6271,1493,6268,1499,6268,1505,6268,1507,6269,1508,6270,1509,6271,1510,6274,1511,6278,1513,6279,1513,6280,1514,6284,1517,6290,1515,6291,1515,6291,1514,6295,1508,6307,1508,6309,1508,6311,1508,6317,1509,6320,1512,6321,1514,6324,1514,6325,1515,6325,1515,6330,1515,6335,1515,6336,1515,6336,1514,6338,1510,6341,1507,6353,1490,6369,1481,6373,
1479,6375,1477,6378,1475,6379,1470,6380,1462,6375,1459,6375,1459,6374,1458,6372,1456,6369,1456,6358,1455,6347,1451,6335,1448,6325,1441,6317,1436,6310,1429,6306,1425,6301,1420,"Q",6298,1418,6297,1417,"Z"],["M",6010,543,"Q",6004,541,5997,542,5994,542,5990,543,5983,544,5976,543,5975,543,5973,543,5967,543,5962,545,5960,546,5959,547,5953,555,5949,562,5943,571,5936,575,5936,576,5935,576,5927,577,5920,579,5918,579,5916,580,5915,580,5913,580,5908,581,5902,581,5887,581,5872,580,5871,580,5869,580,5846,575,
5823,577,5811,578,5800,586,5791,593,5779,595,5771,597,5766,594,5766,593,5765,592,5764,588,5762,586,5749,568,5739,549,5738,546,5737,542,5734,534,5729,526,5727,523,5723,518,5723,517,5722,515,5718,507,5712,499,5709,495,5705,493,5701,492,5695,492,5695,492,5694,491,5692,491,5691,490,5682,487,5677,485,5676,485,5675,484,5670,483,5664,484,5662,484,5661,484,5658,486,5652,487,5652,488,5651,488,5649,488,5647,489,5637,493,5628,499,5618,505,5610,514,5596,531,5574,536,5571,539,5569,538,5562,534,5558,528,5554,522,
5547,520,5539,519,5531,520,5525,520,5520,518,5518,517,5517,517,5510,515,5502,513,5491,511,5480,509,5478,509,5477,509,5465,505,5450,506,5433,507,5417,510,5406,511,5396,515,5394,516,5393,516,5378,516,5368,509,5362,505,5363,493,5363,489,5366,486,5370,481,5373,473,5377,464,5387,456,5392,453,5397,448,5402,442,5405,435,5409,428,5406,422,5402,414,5392,410,5370,402,5347,399,5327,396,5306,396,5283,396,5261,396,5256,395,5251,393,5235,387,5223,376,5215,369,5207,361,5200,354,5189,353,5183,353,5178,357,5177,358,
5176,359,5172,362,5170,368,5165,378,5161,389,5160,394,5157,399,5151,411,5140,417,5134,420,5126,421,5125,421,5124,421,5120,423,5115,423,5113,423,5111,423,5097,428,5086,433,5086,433,5085,433,5080,435,5075,435,5074,435,5072,434,5068,434,5063,433,5050,431,5035,432,5012,432,4989,433,4974,434,4959,437,4946,440,4933,446,4925,451,4918,459,4914,465,4917,468,4920,473,4921,478,4922,484,4923,489,4923,490,4923,490,4922,491,4920,493,4918,496,4916,499,4914,502,4909,504,4901,506,4892,508,4891,509,4889,509,4885,509,
4881,509,4849,511,4821,523,4820,524,4818,525,4807,533,4798,544,4794,550,4787,551,4785,552,4783,552,4758,556,4784,561,4808,559,4829,555,4836,554,4842,557,4852,561,4852,573,4853,574,4853,575,4861,588,4865,605,4867,615,4873,620,4879,625,4883,633,4888,645,4889,660,4889,664,4893,667,4907,679,4917,688,4919,690,4922,694,4927,700,4933,702,4947,709,4961,714,4966,716,4968,720,4971,729,4968,737,4967,738,4966,739,4966,740,4965,741,4965,742,4964,745,4964,746,4964,747,4964,748,4964,749,4957,762,4949,775,4946,780,
4944,782,4943,783,4942,784,4939,787,4933,791,4923,800,4915,808,4905,818,4896,826,4896,826,4895,827,4890,831,4889,837,4889,840,4892,840,4893,841,4894,841,4901,846,4911,847,4912,848,4913,848,4927,855,4933,871,4939,887,4934,904,4933,909,4934,915,4934,917,4934,918,4936,924,4936,930,4936,931,4935,932,4934,935,4933,936,4928,941,4923,945,4913,954,4908,963,4902,974,4895,984,4893,988,4890,992,4888,995,4884,998,4883,999,4880,1E3,4876,1003,4870,1006,4864,1009,4858,1010,4849,1012,4841,1014,4832,1016,4825,1021,
4813,1030,4802,1041,4798,1046,4795,1051,4789,1064,4787,1077,4787,1085,4789,1094,4795,1110,4800,1125,4807,1149,4799,1172,4795,1182,4789,1190,4780,1205,4766,1217,4758,1224,4748,1228,4740,1232,4730,1234,4716,1236,4701,1237,4700,1237,4698,1237,4693,1238,4688,1239,4687,1240,4686,1241,4679,1250,4679,1265,4679,1266,4679,1266,4678,1268,4678,1269,4678,1270,4677,1271,4677,1274,4677,1278,4678,1279,4678,1281,4680,1289,4683,1298,4684,1299,4684,1300,4687,1304,4687,1310,4688,1313,4688,1315,4688,1331,4688,1346,4688,
1347,4688,1348,4688,1355,4684,1358,4684,1365,4684,1372,4685,1387,4687,1402,4688,1411,4690,1420,4690,1424,4691,1428,4691,1430,4691,1432,4687,1441,4688,1453,4688,1455,4688,1456,4687,1458,4687,1460,4687,1466,4684,1470,4681,1474,4678,1478,4674,1484,4671,1490,4670,1492,4669,1494,4666,1499,4661,1504,4659,1506,4657,1509,4656,1513,4653,1514,4643,1518,4633,1522,4624,1528,4620,1536,4617,1542,4622,1548,4628,1555,4636,1557,4642,1558,4641,1564,4641,1565,4641,1566,4644,1573,4644,1582,4644,1584,4643,1591,4643,1595,
4643,1599,4644,1606,4637,1607,4612,1609,4586,1609,4580,1609,4574,1608,4563,1607,4554,1604,4553,1604,4551,1603,4542,1602,4533,1602,4519,1602,4505,1602,4504,1604,4504,1607,4504,1610,4505,1613,4507,1618,4507,1626,"L",4507,1633,"Q",4509,1644,4512,1654,4514,1663,4515,1671,4516,1681,4515,1690,4513,1700,4509,1709,4506,1715,4501,1720,"L",4501,1719,"Q",4500,1721,4499,1722,4497,1716,4493,1714,4493,1714,4492,1714,4484,1713,4476,1711,4476,1711,4475,1711,4473,1710,4470,1710,4462,1709,4461,1702,4459,1690,4452,
1681,4446,1671,4435,1671,4429,1671,4424,1680,4418,1691,4412,1700,4412,1701,4411,1701,4406,1700,4403,1697,4402,1696,4401,1696,4393,1696,4385,1696,4382,1690,4381,1685,4380,1680,4381,1678,4381,1678,4381,1677,"L",4379,1674,"Q",4377,1672,4373,1672,4370,1672,4366,1671,4365,1671,4363,1671,4357,1670,4351,1667,"L",4351,1667,"Q",4350,1667,4349,1665,4344,1663,4340,1660,4339,1659,4338,1657,4338,1656,4337,1655,4334,1653,4333,1649,4333,1648,4332,1648,4330,1647,4330,1647,4329,1645,4325,1646,4317,1648,4305,1648,
4280,1649,4255,1650,4253,1650,4252,1651,4249,1652,4245,1652,4244,1652,4243,1652,4234,1651,4225,1649,4224,1649,4223,1648,4214,1640,4205,1630,4204,1630,4204,1629,4201,1629,4199,1627,4195,1623,4189,1622,4176,1621,4167,1630,4167,1631,4166,1632,4162,1636,4158,1636,4144,1638,4131,1638,4123,1638,4115,1638,4110,1638,4105,1636,4101,1635,4097,1634,4090,1634,4089,1639,4088,1640,4088,1642,4086,1647,4083,1647,4070,1650,4058,1653,4056,1654,4053,1656,4048,1659,4046,1667,4045,1673,4044,1680,4044,1681,4044,1682,4046,
1684,4047,1687,4048,1691,4049,1695,4050,1696,4050,1698,4052,1704,4047,1710,4044,1712,4043,1714,4043,1715,4042,1715,4042,1715,4041,1716,4043,1718,4045,1719,4046,1719,4047,1719,4051,1721,4055,1722,4058,1723,4060,1723,4061,1724,4062,1724,4065,1725,4068,1726,4070,1729,4070,1730,"L",4070,1728,"Q",4074,1734,4081,1738,4082,1738,4084,1739,4087,1740,4091,1742,4098,1746,4108,1750,4109,1751,4109,1751,4112,1755,4117,1756,4120,1757,4122,1758,4125,1760,4126,1762,4127,1763,4128,1764,4129,1765,4131,1766,4137,1770,
4143,1775,4146,1778,4148,1784,4148,1784,4149,1784,4155,1785,4157,1783,4158,1783,4159,1782,4162,1781,4165,1778,4169,1774,4171,1771,4172,1771,4172,1770,4177,1765,4185,1758,4187,1756,4191,1757,4192,1757,4192,1757,4196,1756,4196,1760,4196,1761,4196,1761,4197,1765,4195,1768,4194,1770,4194,1771,4192,1783,4191,1795,4191,1797,4191,1798,4193,1821,4188,1843,4186,1851,4181,1858,4175,1866,4171,1875,4165,1886,4164,1898,4164,1906,4163,1914,4163,1915,4163,1917,4163,1928,4158,1933,4157,1934,4156,1935,4156,1936,4156,
1939,4155,1941,4155,1944,4155,1948,4162,1954,4169,1960,4180,1970,4192,1980,4195,1990,4198,2001,4195,2017,4195,2022,4197,2024,4200,2027,4206,2028,4206,2028,4207,2028,4207,2029,4207,2029,4207,2030,4208,2031,4209,2032,4208,2032,4212,2035,4215,2038,4220,2044,4221,2051,4222,2059,4220,2068,4219,2077,4221,2086,4222,2093,4227,2097,4240,2107,4248,2121,4249,2122,4249,2123,4250,2124,4250,2125,4253,2131,4258,2133,4259,2133,4261,2134,4271,2138,4276,2147,4277,2148,4278,2149,4283,2159,4288,2169,4289,2171,4290,2171,
4299,2178,4305,2190,4306,2192,4306,2193,4307,2198,4307,2202,4309,2222,4315,2242,4319,2255,4324,2266,4332,2285,4347,2295,4353,2300,4354,2307,4355,2309,4355,2310,4356,2311,4357,2312,4360,2315,4363,2313,4366,2311,4368,2309,4375,2303,4383,2298,4396,2291,4409,2285,4415,2282,4420,2278,4430,2271,4440,2264,4457,2253,4474,2241,4480,2238,4485,2235,4506,2225,4523,2213,4525,2212,4527,2211,4533,2207,4540,2205,4544,2203,4547,2202,4571,2196,4594,2190,4597,2189,4600,2188,4601,2188,4602,2186,4603,2186,4603,2185,4605,
2180,4610,2177,4611,2177,4612,2177,4616,2177,4618,2176,4619,2175,4620,2175,4621,2173,4626,2174,4627,2174,4628,2173,4634,2170,4636,2165,4638,2158,4640,2151,4640,2149,4641,2149,4644,2146,4646,2142,4647,2142,4647,2141,4652,2139,4655,2136,4664,2129,4670,2119,4671,2118,4671,2117,4672,2110,4674,2104,4675,2100,4673,2096,4666,2084,4655,2079,4646,2075,4637,2071,4636,2070,4635,2069,4633,2063,4627,2061,4620,2058,4613,2054,4612,2054,4610,2053,4605,2051,4603,2047,4603,2046,4602,2045,4602,2044,4601,2042,4599,2036,
4600,2028,4600,2027,4599,2025,4597,2019,4590,2018,4589,2018,4588,2019,4585,2022,4581,2024,4574,2030,4566,2032,4551,2036,4535,2038,4521,2039,4508,2038,4505,2038,4502,2033,4502,2033,4502,2031,4501,2026,4501,2024,4502,2023,4502,2021,4502,2010,4493,2007,4488,2005,4484,2002,4477,1996,4473,1988,4471,1985,4469,1982,4463,1975,4457,1970,4450,1964,4442,1954,4438,1950,4437,1944,4436,1940,4436,1936,4434,1919,4446,1907,4449,1904,4455,1904,4456,1904,4458,1905,4462,1907,4465,1908,4478,1915,4487,1927,4499,1943,4510,
1959,4518,1971,4525,1983,4526,1984,4525,1984,4525,1988,4529,1987,4535,1985,4540,1986,4542,1986,4543,1986,4547,1987,4551,1989,4557,1993,4559,2E3,4560,2001,4560,2001,4563,2002,4565,2002,4572,2002,4574,1997,4579,1995,4582,1991,4588,1986,4591,1986,4602,1987,4611,1996,4620,2006,4629,2015,4635,2021,4643,2023,4655,2025,4667,2027,4674,2028,4681,2029,4698,2032,4711,2027,4717,2025,4724,2026,4731,2027,4736,2029,4738,2030,4739,2031,4743,2034,4748,2035,4751,2032,4754,2029,4755,2028,4755,2026,4754,2012,4757,1997,
4757,1995,4761,1995,4762,1995,4763,1996,4764,1997,4764,1998,4765,1998,4765,1998,4765,1999,4764,1999,4765,2E3,4765,2002,4765,2006,4766,2009,4767,2010,4767,2011,4770,2017,4776,2022,4777,2023,4778,2023,4781,2023,4784,2024,4786,2024,4786,2024,4798,2020,4807,2027,4802,2030,4799,2035,4795,2039,4796,2045,4796,2050,4797,2056,4797,2058,4797,2060,4799,2064,4802,2067,4803,2068,4804,2069,4807,2073,4811,2073,4823,2075,4835,2074,4845,2074,4855,2074,4861,2075,4864,2080,4867,2086,4865,2093,4864,2095,4865,2099,4865,
2101,4865,2103,4863,2107,4866,2112,4872,2121,4874,2130,4874,2132,4874,2133,4874,2141,4873,2149,4873,2150,4873,2150,4872,2152,4872,2153,4872,2155,4872,2157,4874,2152,4873,2157,4871,2161,4873,2168,4874,2175,4879,2184,4883,2194,4888,2203,4889,2205,4891,2207,4896,2213,4902,2220,4903,2221,4903,2222,4905,2226,4908,2230,4912,2237,4915,2243,4923,2262,4931,2279,4935,2288,4939,2296,4949,2314,4956,2333,4957,2334,4957,2336,4958,2340,4960,2342,4961,2344,4962,2346,4964,2350,4966,2354,4967,2355,4968,2356,4974,2367,
4983,2377,4992,2388,5002,2398,5004,2401,5008,2400,5011,2400,5015,2396,5016,2396,5017,2395,5025,2388,5036,2377,5037,2376,5037,2376,5038,2374,5038,2373,5046,2366,5050,2354,5050,2353,5051,2352,5053,2347,5055,2342,5061,2328,5062,2312,5064,2294,5063,2274,5063,2273,5062,2271,5062,2270,5062,2269,5060,2264,5060,2259,5059,2255,5059,2250,5058,2245,5057,2242,5056,2240,5057,2239,5066,2222,5076,2205,5083,2194,5090,2182,5096,2172,5104,2163,5112,2155,5120,2148,5129,2140,5138,2131,5153,2118,5165,2103,5175,2093,5184,
2082,5200,2064,5220,2049,5227,2045,5232,2040,5234,2039,5236,2037,5237,2036,5239,2035,5247,2033,5254,2036,5264,2039,5271,2046,5280,2054,5290,2060,5304,2068,5319,2074,5321,2076,5324,2079,5327,2084,5330,2088,5345,2109,5357,2130,5360,2135,5360,2142,5361,2163,5368,2183,5369,2188,5375,2186,5395,2183,5415,2176,5425,2173,5432,2176,5438,2178,5439,2186,5443,2206,5447,2225,5450,2240,5453,2255,5455,2267,5456,2280,5456,2284,5455,2287,5453,2301,5453,2316,5453,2318,5453,2320,5454,2328,5450,2335,5449,2337,5448,2338,
5449,2351,5447,2363,5447,2364,5446,2365,5445,2366,5446,2369,5449,2376,5453,2381,5466,2396,5479,2409,5481,2411,5484,2413,5486,2413,5488,2414,5502,2419,5515,2431,5517,2433,5517,2435,5517,2437,5517,2438,5521,2448,5523,2458,5523,2464,5525,2468,5528,2478,5532,2487,5536,2496,5540,2505,5543,2512,5548,2517,5550,2519,5552,2521,5556,2524,5558,2527,5559,2528,5560,2528,5561,2528,5562,2529,5569,2534,5576,2537,5591,2545,5604,2541,5607,2540,5604,2530,5600,2520,5595,2510,5590,2499,5585,2487,5576,2468,5563,2451,5555,
2441,5545,2433,5536,2425,5525,2419,5513,2407,5511,2391,5511,2385,5512,2379,5514,2371,5517,2364,5522,2354,5517,2344,5511,2333,5505,2321,5503,2316,5501,2311,5497,2298,5496,2284,5495,2276,5501,2273,5512,2268,5525,2272,5528,2273,5531,2275,5541,2287,5552,2297,5570,2313,5590,2325,5602,2332,5608,2342,5609,2344,5609,2345,5609,2347,5610,2348,5612,2353,5613,2357,5613,2358,5613,2358,5613,2364,5618,2368,5619,2369,5621,2369,5622,2369,5622,2369,5624,2368,5626,2368,5631,2366,5634,2363,5649,2352,5665,2341,5676,2334,
5681,2321,5691,2299,5701,2277,5704,2269,5704,2261,5704,2252,5702,2246,5695,2227,5691,2206,5691,2203,5688,2201,5686,2200,5684,2199,5681,2197,5680,2193,5680,2192,5680,2192,5680,2192,5680,2191,5680,2190,5680,2190,5676,2186,5673,2181,5664,2169,5659,2156,5654,2145,5645,2141,5643,2141,5641,2139,5633,2135,5630,2126,5629,2123,5627,2120,5627,2120,5627,2119,5626,2115,5625,2112,5622,2096,5641,2090,5642,2090,5643,2088,5644,2086,5646,2084,5654,2075,5662,2067,5670,2058,5681,2051,5682,2052,5682,2052,5686,2057,5688,
2062,5689,2063,5690,2064,5693,2066,5693,2070,5693,2074,5695,2077,5696,2078,5695,2079,5695,2083,5697,2084,5698,2084,5700,2086,5705,2090,5712,2089,5723,2085,5733,2079,5739,2075,5743,2069,5744,2068,5744,2067,5745,2065,5747,2063,5756,2052,5767,2043,5776,2036,5787,2033,5799,2029,5811,2024,5829,2017,5844,2005,5852,1999,5866,1991,5872,1987,5875,1980,5875,1980,5876,1979,5877,1978,5878,1977,5879,1976,5879,1975,5880,1974,5882,1973,5894,1964,5898,1949,5899,1947,5899,1945,5900,1943,5900,1942,5901,1935,5905,1931,
5911,1925,5914,1919,5917,1916,5919,1911,5927,1895,5932,1878,5938,1862,5942,1846,5944,1840,5940,1837,5931,1831,5921,1825,5917,1823,5917,1818,5917,1816,5918,1815,5920,1813,5922,1810,5924,1809,5925,1808,5926,1807,5927,1805,5927,1802,5929,1800,5930,1798,5930,1794,5930,1793,5929,1792,5929,1791,5929,1789,5928,1783,5926,1778,5926,1777,5925,1776,5922,1770,5916,1766,5913,1763,5912,1759,5911,1756,5911,1754,5909,1748,5908,1744,5907,1742,5907,1741,5907,1740,5906,1739,5906,1737,5905,1735,5903,1732,5901,1728,5895,
1727,5888,1724,5883,1722,5882,1715,5879,1700,5881,1685,5881,1683,5885,1679,5886,1678,5887,1677,5890,1672,5896,1668,5906,1662,5910,1656,5911,1655,5912,1654,5916,1651,5917,1646,5918,1644,5918,1643,5921,1638,5920,1631,5920,1630,5919,1629,5919,1623,5913,1622,5911,1622,5909,1622,5895,1623,5882,1619,5880,1618,5878,1618,5870,1620,5862,1622,5851,1624,5843,1632,5838,1636,5832,1639,5825,1642,5823,1636,5820,1629,5821,1622,5822,1620,5822,1619,5823,1612,5829,1607,5834,1603,5837,1598,5845,1589,5853,1582,5856,1580,
5857,1576,5861,1564,5864,1553,5865,1552,5865,1551,5866,1549,5868,1549,5874,1548,5875,1556,5876,1557,5876,1557,5876,1564,5877,1570,5878,1579,5882,1583,5886,1589,5891,1593,5895,1595,5898,1599,5900,1602,5903,1602,5906,1602,5908,1600,5911,1598,5914,1595,5915,1594,5916,1594,5928,1594,5935,1587,5942,1580,5954,1573,5959,1575,5962,1582,5963,1584,5963,1587,5967,1601,5967,1617,5967,1620,5969,1621,5970,1622,5971,1623,5973,1626,5979,1626,5980,1627,5980,1627,5984,1627,5987,1626,5992,1624,5997,1624,5998,1624,5999,
1623,6E3,1623,6001,1623,6005,1629,6009,1636,6011,1640,6010,1644,6010,1646,6009,1647,6009,1661,6009,1674,6009,1676,6009,1677,6013,1687,6015,1698,6016,1701,6017,1702,6019,1708,6020,1713,6020,1714,6021,1716,6022,1719,6026,1719,6031,1720,6036,1720,6043,1720,6050,1720,6052,1721,6053,1720,6061,1720,6065,1722,6066,1723,6067,1722,6071,1718,6073,1712,6078,1699,6081,1686,6084,1674,6082,1662,6081,1655,6076,1648,6060,1625,6043,1603,6039,1597,6033,1593,6032,1592,6031,1590,6028,1587,6026,1585,6025,1585,6025,1583,
6023,1574,6027,1569,6028,1567,6029,1566,6040,1556,6054,1543,6056,1541,6056,1536,6056,1531,6056,1527,6057,1527,6057,1526,6057,1520,6057,1515,6057,1506,6058,1496,6059,1493,6062,1490,6073,1481,6089,1483,6102,1485,6111,1481,6131,1471,6150,1458,6157,1453,6161,1446,6164,1443,6166,1438,6169,1434,6171,1430,6171,1429,6172,1428,6175,1425,6176,1419,6177,1414,6179,1410,6180,1408,6181,1407,6186,1404,6191,1402,6199,1400,6200,1393,6201,1383,6205,1373,6205,1372,6205,1371,6209,1359,6211,1348,6214,1337,6214,1325,6214,
1319,6215,1314,6215,1313,6215,1312,6216,1307,6216,1302,6217,1295,6217,1288,6218,1273,6215,1258,6213,1247,6209,1236,6206,1226,6208,1216,6209,1211,6215,1209,6216,1209,6216,1209,6217,1210,6218,1211,6220,1215,6222,1218,6227,1225,6232,1231,6239,1238,6242,1246,6247,1259,6250,1272,6253,1285,6257,1297,6259,1304,6261,1308,6262,1309,6263,1309,6264,1310,6264,1311,6267,1317,6270,1321,6271,1322,6271,1322,6271,1327,6271,1331,6269,1344,6268,1359,6268,1361,6267,1363,6266,1365,6267,1368,6270,1379,6275,1388,6279,1394,
6285,1398,6286,1399,6287,1399,6294,1399,6297,1395,6298,1394,6298,1393,6301,1379,6297,1368,6296,1366,6296,1365,6294,1358,6292,1353,6291,1349,6292,1347,6291,1338,6285,1333,6285,1333,6284,1332,6284,1331,6283,1329,6282,1326,6282,1323,6282,1319,6285,1316,6293,1310,6297,1302,6299,1298,6296,1291,6281,1262,6271,1231,6269,1225,6267,1222,6256,1206,6247,1194,6244,1189,6242,1185,6236,1174,6230,1169,6226,1166,6224,1171,6223,1177,6222,1184,6221,1197,6221,1209,6221,1210,6221,1210,"L",6220,1209,"Q",6218,1209,6217,
1208,6216,1208,6216,1207,6202,1200,6194,1185,6190,1177,6185,1170,6177,1160,6166,1152,6162,1150,6157,1152,6147,1159,6135,1164,6129,1167,6124,1162,6116,1155,6107,1151,6092,1143,6076,1150,6078,1143,6081,1135,6086,1121,6092,1107,6092,1106,6092,1105,6093,1103,6093,1101,6095,1094,6103,1090,6104,1089,6105,1088,6108,1084,6111,1081,6126,1068,6139,1054,6145,1048,6147,1043,6148,1041,6149,1040,6152,1035,6153,1031,6155,1023,6158,1015,6162,1006,6168,1E3,6174,997,6181,997,6184,997,6186,996,6190,995,6196,996,6218,
1001,6241,998,6243,998,6244,999,6250,1E3,6257,999,6270,998,6280,1006,6282,1008,6285,1008,6289,1008,6292,1007,6304,1005,6317,1005,6327,1005,6335,1009,6340,1011,6345,1012,6359,1017,6375,1017,6377,1017,6378,1017,6379,1018,6381,1018,6383,1018,6384,1016,6386,1017,6389,1018,6390,1019,6391,1019,6395,1023,6401,1019,6409,1015,6415,1009,6421,1003,6423,995,6426,987,6427,980,6430,970,6435,960,6439,953,6441,948,6442,947,6442,945,6445,939,6447,932,6448,928,6450,925,6452,920,6458,916,6461,914,6465,917,6466,918,
6466,918,6468,918,6468,918,6471,916,6475,916,6480,917,6484,918,6486,918,6486,920,6487,921,6488,921,6494,923,6499,928,6500,929,6500,929,6507,931,6511,934,6514,937,6517,937,6522,937,6526,935,6531,933,6537,931,6542,929,6547,925,6556,917,6560,904,6562,895,6569,893,6572,892,6573,890,6576,889,6576,891,6576,893,6576,893,6579,896,6579,902,6579,905,6578,907,6577,915,6572,924,6569,930,6564,936,6557,942,6550,946,6545,948,6541,952,6525,965,6510,978,6509,979,6508,980,6507,982,6505,984,6499,988,6493,995,6490,998,
6489,1001,6488,1002,6487,1003,6486,1005,6485,1006,6478,1016,6472,1025,6471,1026,6471,1027,6472,1039,6472,1051,6472,1059,6472,1068,6473,1069,6473,1071,6477,1103,6486,1133,6486,1135,6487,1136,6489,1143,6494,1150,6495,1152,6495,1154,6496,1158,6500,1161,6505,1166,6510,1176,6519,1192,6529,1206,6536,1216,6546,1222,6555,1228,6566,1231,6569,1232,6570,1228,6575,1218,6579,1210,6584,1200,6591,1194,6594,1193,6595,1190,6597,1186,6600,1182,6605,1174,6609,1165,6615,1151,6619,1135,6620,1131,6622,1129,6622,1128,6623,
1127,6629,1122,6630,1112,6630,1111,6631,1109,6639,1091,6636,1074,6636,1072,6635,1071,6631,1060,6625,1056,6621,1052,6617,1047,6612,1040,6611,1032,6610,1030,6610,1028,6609,1024,6608,1021,6604,1007,6607,994,6607,992,6608,991,6614,982,6620,976,6621,975,6622,974,6625,965,6634,964,6637,963,6640,962,6645,961,6649,960,6650,960,6651,960,6667,959,6683,959,6684,959,6686,959,6692,960,6697,961,6709,963,6721,964,6732,964,6741,961,6742,960,6742,960,6743,957,6747,956,6748,956,6748,955,6750,952,6752,950,6755,949,
6756,948,6758,947,6759,946,6765,940,6771,932,6772,931,6773,930,6778,925,6785,921,6787,921,6788,919,6793,912,6803,907,6804,907,6805,906,6806,905,6807,905,6810,903,6813,902,6815,901,6817,900,6818,900,6819,899,6824,897,6830,894,6839,890,6849,889,6855,888,6860,891,6870,897,6882,895,6882,894,6882,893,6882,891,6883,890,6884,888,6883,885,6883,881,6881,877,6878,871,6874,864,6868,856,6863,847,6858,838,6857,827,6855,814,6855,801,6855,796,6856,790,6856,789,6856,788,6857,786,6857,784,6860,779,6867,777,6868,777,
6870,776,6876,775,6882,776,6900,779,6917,782,6934,785,6949,793,6958,798,6966,804,6977,813,6989,821,6994,824,6997,821,7007,814,7006,805,7005,793,6996,781,7006,779,7015,777,7021,775,7024,771,7024,771,7025,770,7026,769,7028,768,7034,763,7037,755,7038,754,7038,753,7040,750,7037,748,7033,744,7026,743,7023,743,7019,742,7014,741,7011,738,7008,736,7005,734,7004,734,7002,732,6997,728,6986,727,6983,726,6979,726,6974,727,6972,726,6970,726,6969,725,6967,726,6964,726,6957,727,6956,733,6955,734,6955,735,6951,738,
6953,746,6954,752,6955,759,6954,759,6953,758,6951,754,6944,752,6937,750,6931,746,6927,744,6926,740,6926,739,6925,738,6922,735,6919,732,6913,725,6907,719,6900,712,6893,708,6882,702,6871,698,6870,697,6868,697,6867,697,6865,696,6862,696,6860,694,6851,690,6842,687,6842,687,6841,686,6828,683,6815,680,6814,680,6812,679,6807,678,6801,677,6800,677,6798,676,6794,676,6791,675,6785,672,6782,665,6780,658,6776,653,6775,652,6774,650,6774,647,6771,646,6760,643,6748,641,6726,638,6704,637,6686,636,6667,635,6652,635,
6637,634,6635,634,6633,634,6621,633,6610,634,6604,634,6600,636,6593,641,6588,645,6583,649,6578,651,6577,652,6577,653,6573,656,6566,655,6561,654,6556,654,6552,653,6550,652,6549,651,6549,648,6549,648,6549,647,6549,647,6548,646,6547,645,6546,645,6543,645,6540,644,6537,646,6532,646,6530,646,6528,646,6521,649,6513,647,6499,644,6485,641,6474,638,6462,639,6447,640,6432,642,6418,644,6404,641,6396,640,6389,635,6389,634,6388,633,6381,627,6374,620,6369,616,6367,610,6366,609,6365,607,6365,607,6364,606,6361,605,
6357,600,6356,599,6354,598,6352,596,6348,595,6346,593,6344,592,6335,589,6325,587,6325,587,6324,587,6310,586,6295,588,6279,589,6262,592,6250,595,6238,596,6231,597,6224,594,6216,591,6207,586,6190,577,6172,568,6166,565,6161,563,6151,559,6140,557,6139,556,6137,557,6133,557,6128,558,6127,558,6126,558,6116,558,6111,561,6107,559,6103,556,6101,555,6099,555,6098,555,6097,554,6092,554,6086,553,6084,553,6083,553,6080,552,6077,552,6076,552,6074,551,6068,550,6062,548,6052,548,6042,548,6040,548,6039,547,6037,546,
6034,546,"Q",6021,547,6010,543,"Z"]],label:"Asia",shortLabel:"AS",labelPosition:[539,129.7],labelAlignment:["center","middle"]},AU:{outlines:[["M",6388,3582,"Q",6387,3583,6387,3584,6386,3594,6391,3601,6391,3602,6392,3603,6392,3606,6394,3609,6394,3610,6395,3611,6396,3612,6396,3613,6399,3620,6398,3627,6398,3629,6399,3634,6399,3639,6400,3644,6400,3646,6400,3647,6401,3648,6402,3649,6409,3656,6419,3655,6423,3654,6426,3654,6429,3653,6431,3652,6437,3649,6440,3644,6440,3643,6441,3641,6446,3635,6451,3628,
6453,3627,6454,3626,6459,3622,6464,3618,6466,3616,6467,3614,6467,3614,6467,3613,6468,3611,6469,3610,6470,3610,6470,3608,6471,3608,6471,3607,6471,3606,6472,3604,6473,3600,6472,3594,6471,3589,6468,3584,6468,3584,6467,3583,6464,3581,6459,3579,6456,3578,6451,3577,6450,3578,6448,3578,6447,3577,6446,3578,6445,3578,6444,3578,6432,3579,6420,3579,6419,3579,6419,3578,6414,3576,6409,3574,6409,3573,6407,3573,6406,3573,6405,3572,6404,3571,6401,3571,6401,3571,6400,3571,6397,3572,6396,3573,6394,3575,6393,3576,"Q",
6389,3579,6388,3582,"Z"],["M",6960,3600,"Q",6948,3610,6934,3617,6925,3623,6916,3631,6906,3641,6897,3650,6887,3661,6876,3671,6876,3671,6870,3676,6866,3678,6860,3681,6839,3689,6828,3710,6827,3713,6827,3715,6827,3723,6835,3723,6837,3723,6838,3723,6855,3723,6862,3734,6865,3739,6870,3741,6876,3744,6876,3743,6877,3742,6879,3742,6881,3742,6882,3741,6895,3729,6908,3717,6917,3710,6922,3702,6927,3697,6930,3689,6936,3675,6947,3663,6949,3661,6952,3660,6963,3655,6972,3650,6983,3645,6985,3635,6986,3632,6989,3630,
6990,3629,6991,3628,6996,3621,7006,3616,7011,3613,7014,3608,7017,3603,7018,3600,7019,3592,7012,3587,7008,3559,6984,3571,6975,3576,6969,3588,"Q",6966,3596,6960,3600,"Z"],["M",7051,3379,"Q",7046,3376,7043,3383,7043,3385,7043,3387,7044,3393,7047,3398,7051,3406,7053,3413,7055,3419,7056,3426,7056,3434,7060,3440,7063,3445,7070,3448,7072,3449,7073,3449,7074,3454,7074,3458,7076,3471,7072,3477,7071,3479,7071,3481,7070,3492,7067,3501,7064,3510,7057,3514,7051,3518,7042,3520,7035,3521,7028,3525,7024,3527,7026,
3531,7027,3533,7026,3534,7025,3549,7035,3553,7037,3553,7039,3553,7047,3553,7048,3561,7048,3564,7047,3564,7040,3568,7036,3575,7036,3576,7035,3577,7035,3580,7037,3584,7040,3584,7042,3588,7047,3594,7055,3594,7061,3593,7061,3587,7062,3574,7076,3567,7083,3564,7090,3563,7099,3563,7095,3552,7093,3548,7094,3544,7097,3533,7105,3529,7110,3526,7119,3529,7119,3526,7120,3522,7121,3520,7121,3518,7124,3510,7126,3499,7126,3497,7125,3496,7124,3495,7122,3494,7118,3491,7108,3493,7100,3495,7101,3488,7103,3476,7100,3469,
7099,3468,7098,3467,7095,3465,7092,3464,7090,3464,7087,3463,7085,3463,7083,3462,7081,3461,7079,3459,7076,3455,7076,3449,7076,3447,7076,3445,7076,3442,7077,3440,7082,3433,7081,3422,7079,3411,7072,3407,7070,3406,7068,3404,7065,3402,7063,3396,"Q",7061,3386,7051,3379,"Z"],["M",6451,2806,"Q",6448,2810,6449,2815,6450,2815,6450,2814,6450,2816,6450,2817,6450,2816,6449,2815,6448,2819,6446,2822,6444,2827,6443,2832,6441,2840,6439,2848,6437,2856,6432,2863,6430,2866,6429,2868,6427,2871,6424,2877,6424,2878,6423,
2878,6421,2879,6422,2882,6424,2886,6425,2889,6426,2890,6426,2891,6428,2894,6427,2898,6427,2900,6428,2901,6429,2903,6430,2906,6431,2907,6431,2908,6433,2911,6434,2914,6438,2918,6434,2923,6433,2924,6433,2924,6433,2927,6431,2927,6431,2928,6430,2928,6430,2930,6429,2930,6428,2931,6427,2933,6421,2948,6412,2961,6411,2963,6409,2964,6408,2965,6407,2965,6405,2966,6402,2967,6402,2968,6401,2968,6399,2969,6396,2969,6394,2969,6392,2970,6391,2970,6390,2970,6389,2971,6387,2971,6386,2972,6384,2972,6383,2972,6381,2972,
6381,2973,6380,2973,6379,2973,6377,2973,6377,2973,6376,2972,6374,2972,6371,2971,6371,2971,6370,2971,6369,2971,6368,2970,6366,2968,6363,2966,6356,2960,6349,2954,6341,2947,6334,2939,6326,2932,6316,2926,6306,2920,6298,2912,6294,2908,6293,2902,6291,2890,6290,2878,6289,2875,6291,2873,6299,2867,6306,2861,6313,2855,6314,2848,6315,2843,6310,2837,6306,2834,6301,2833,6290,2832,6279,2831,6264,2831,6250,2828,6244,2827,6237,2825,6236,2825,6235,2825,6234,2824,6232,2824,6229,2824,6226,2823,6222,2823,6219,2826,6213,
2833,6206,2839,6200,2843,6192,2846,6191,2846,6190,2847,6189,2847,6188,2847,6186,2848,6184,2849,6183,2849,6181,2850,6181,2850,6180,2850,6176,2852,6173,2855,6164,2868,6157,2882,6157,2883,6156,2884,6156,2886,6156,2887,6156,2888,6155,2888,6155,2891,6153,2893,6153,2894,6153,2894,6152,2896,6152,2896,6149,2898,6147,2900,6147,2900,6146,2900,6139,2904,6132,2903,6123,2903,6115,2897,6109,2892,6103,2887,6095,2881,6086,2879,6079,2877,6072,2880,6063,2886,6053,2893,6051,2894,6049,2896,6048,2896,6047,2897,6046,2898,
6044,2899,6040,2902,6038,2907,6038,2908,6038,2908,6035,2918,6032,2927,6032,2928,6031,2929,6024,2937,6020,2948,6019,2951,6016,2953,6014,2954,6012,2957,6011,2958,6009,2959,6008,2959,6006,2959,6002,2960,6E3,2958,5998,2957,5996,2954,5996,2953,5995,2952,5994,2948,5992,2944,5992,2946,5992,2946,5987,2952,5984,2958,5984,2959,5984,2959,5984,2961,5983,2962,5983,2963,5982,2963,5977,2973,5971,2983,5971,2985,5970,2986,5969,2987,5969,2988,5966,2998,5959,3008,5958,3010,5956,3011,5953,3016,5947,3019,5940,3023,5932,
3027,5931,3028,5930,3028,5928,3031,5925,3031,5922,3032,5920,3034,5917,3036,5914,3035,5912,3036,5910,3036,5908,3037,5906,3037,5905,3038,5904,3038,5903,3038,5901,3039,5897,3040,5892,3041,5891,3042,5890,3042,5887,3044,5884,3045,5876,3050,5869,3053,5864,3055,5860,3055,5859,3056,5857,3055,5856,3055,5855,3055,5851,3054,5849,3054,5844,3054,5840,3053,5836,3052,5834,3054,5834,3054,5832,3055,5832,3055,5831,3056,5827,3059,5822,3063,5818,3067,5816,3071,5816,3072,5814,3073,5813,3074,5813,3074,5810,3079,5802,3080,
5801,3080,5800,3080,5797,3081,5795,3081,5794,3081,5794,3081,5792,3082,5790,3081,5787,3081,5786,3083,5786,3083,5785,3084,5783,3084,5781,3086,5778,3089,5774,3092,5773,3093,5773,3093,5771,3104,5770,3114,5769,3126,5770,3138,5771,3145,5772,3152,5773,3154,5773,3156,5775,3158,5775,3159,5777,3163,5780,3164,5784,3167,5789,3171,5790,3172,5789,3174,5788,3176,5786,3177,5773,3183,5759,3186,5755,3187,5752,3185,5748,3183,5744,3179,5743,3183,5744,3184,5751,3193,5758,3201,5763,3205,5766,3209,5768,3211,5769,3214,5770,
3215,5770,3216,5770,3225,5769,3234,5768,3240,5769,3246,5770,3248,5769,3251,5769,3254,5771,3255,5772,3256,5772,3257,5773,3259,5773,3261,5774,3262,5774,3263,5774,3265,5774,3266,5775,3268,5774,3269,5774,3272,5774,3274,5774,3275,5774,3276,5775,3278,5776,3280,5776,3281,5776,3282,5778,3292,5776,3302,5776,3303,5776,3304,5776,3305,5775,3306,5775,3307,5775,3308,5774,3310,5774,3311,5774,3312,5773,3313,5773,3315,5773,3316,5772,3317,5772,3319,5772,3326,5773,3332,5773,3333,5774,3334,5775,3336,5775,3339,5776,3340,
5776,3341,5776,3342,5776,3343,5776,3346,5777,3349,5777,3350,5777,3351,5777,3354,5777,3356,5776,3357,5776,3358,5776,3359,5775,3359,5775,3361,5774,3362,5774,3365,5773,3367,5772,3368,5772,3369,5771,3375,5772,3381,5772,3383,5772,3384,5773,3388,5772,3392,5772,3398,5773,3402,5776,3406,5783,3406,5784,3406,5785,3407,5793,3410,5802,3416,5807,3421,5813,3422,5818,3423,5823,3420,5825,3420,5825,3418,5828,3416,5831,3413,5832,3413,5833,3412,5835,3411,5836,3408,5837,3405,5840,3404,5842,3403,5843,3402,5844,3402,5845,
3401,5846,3401,5846,3401,5848,3401,5849,3400,5850,3400,5850,3400,5853,3398,5856,3398,5858,3398,5859,3397,5860,3395,5863,3395,5863,3395,5864,3395,5875,3388,5883,3381,5884,3380,5885,3379,5889,3377,5894,3376,5898,3376,5901,3378,5902,3378,5903,3378,5905,3378,5906,3379,5908,3379,5909,3380,5910,3380,5910,3380,5912,3381,5914,3382,5917,3383,5920,3383,5924,3384,5926,3382,5928,3382,5929,3381,5930,3381,5930,3381,5941,3381,5951,3381,5965,3381,5975,3375,5980,3371,5983,3364,5987,3355,5992,3348,5994,3346,5996,3344,
5998,3343,6E3,3343,6008,3341,6015,3341,6029,3340,6043,3339,6057,3339,6070,3337,6077,3336,6084,3336,6103,3336,6123,3338,6128,3338,6134,3339,6145,3341,6156,3343,6169,3347,6181,3352,6185,3353,6188,3354,6188,3354,6188,3354,6189,3355,6189,3355,6190,3356,6190,3358,6198,3367,6205,3373,6207,3375,6208,3377,6208,3378,6209,3378,6213,3385,6216,3394,6216,3396,6217,3397,6223,3404,6229,3407,6232,3409,6236,3408,6237,3408,6237,3407,6241,3405,6243,3402,6243,3401,6244,3401,6250,3395,6254,3387,6256,3383,6257,3379,6258,
3378,6259,3377,6259,3376,6260,3376,6264,3376,6268,3377,6269,3377,6269,3378,6270,3383,6269,3388,6269,3393,6268,3398,6268,3400,6268,3401,6267,3402,6267,3403,6266,3406,6264,3410,6264,3411,6264,3412,6263,3417,6267,3418,6269,3418,6270,3419,6275,3419,6280,3419,6284,3419,6285,3422,6286,3423,6286,3423,6288,3426,6290,3428,6291,3429,6291,3429,6291,3431,6291,3432,6291,3433,6290,3434,6288,3438,6289,3443,6289,3446,6289,3449,6289,3450,6289,3451,6290,3453,6290,3456,6291,3457,6291,3458,6291,3461,6292,3462,6294,3464,
6297,3469,6297,3470,6297,3471,6298,3475,6300,3478,6301,3483,6304,3487,6305,3488,6306,3489,6307,3490,6307,3491,6309,3494,6315,3496,6328,3500,6341,3504,6343,3504,6344,3504,6349,3503,6353,3505,6354,3506,6355,3506,6359,3505,6363,3508,6364,3508,6365,3508,6367,3509,6369,3509,6370,3510,6371,3510,6374,3511,6375,3511,6379,3511,6384,3510,6391,3509,6398,3507,6399,3508,6400,3507,6407,3503,6414,3504,6421,3505,6427,3511,6428,3512,6429,3513,6429,3514,6430,3515,6431,3519,6436,3520,6437,3520,6437,3519,6440,3518,6442,
3514,6442,3513,6443,3512,6443,3511,6443,3510,6445,3506,6446,3504,6447,3502,6448,3500,6448,3499,6449,3498,6449,3497,6450,3497,6454,3494,6458,3491,6459,3490,6460,3490,6464,3489,6470,3489,6471,3489,6471,3488,6473,3488,6475,3487,6476,3487,6476,3487,6478,3487,6479,3486,6480,3486,6481,3486,6483,3485,6485,3485,6499,3484,6511,3478,6524,3472,6532,3457,6532,3457,6532,3455,6531,3447,6527,3442,6524,3440,6526,3439,6527,3439,6527,3438,6529,3438,6530,3438,6537,3436,6541,3433,6545,3429,6547,3427,6548,3426,6549,3425,
6549,3424,6550,3423,6555,3417,6560,3410,6562,3408,6565,3407,6566,3407,6566,3407,6570,3403,6574,3400,6577,3398,6579,3395,6579,3395,6580,3394,6585,3389,6589,3384,6592,3379,6596,3374,6605,3364,6613,3354,6621,3344,6625,3332,6629,3322,6630,3310,6631,3309,6631,3308,6631,3305,6632,3303,6632,3300,6632,3294,6632,3294,6632,3293,6635,3287,6642,3285,6644,3284,6646,3282,6648,3280,6647,3275,6646,3270,6644,3265,6643,3264,6642,3263,"L",6642,3262,"Q",6640,3262,6639,3260,6639,3259,6639,3258,6638,3251,6642,3247,6643,
3246,6643,3246,6644,3245,6644,3244,6648,3238,6650,3233,6653,3225,6653,3217,6653,3201,6652,3184,6651,3182,6652,3179,6652,3178,6653,3177,6653,3176,6653,3176,6654,3175,6653,3173,6652,3171,6652,3168,6652,3166,6652,3164,6651,3160,6649,3157,6649,3156,6648,3153,6648,3152,6647,3151,6644,3150,6641,3148,6631,3145,6624,3139,6616,3133,6614,3123,6612,3113,6612,3102,6612,3099,6610,3096,6609,3094,6606,3092,6605,3090,6604,3089,6596,3085,6592,3077,6588,3069,6583,3062,6583,3061,6582,3060,6580,3060,6578,3059,6577,3056,
6575,3053,6572,3047,6568,3040,6567,3038,6565,3035,6564,3033,6563,3030,6563,3029,6562,3028,6562,3027,6562,3027,6559,3021,6553,3018,6547,3015,6543,3010,6534,2997,6527,2983,6526,2982,6526,2980,6526,2980,6526,2979,6525,2978,6525,2977,6522,2973,6521,2970,6521,2969,6520,2968,6518,2964,6516,2960,6514,2954,6512,2947,6509,2934,6504,2921,6501,2912,6494,2904,6490,2899,6485,2894,6476,2884,6471,2871,6464,2853,6470,2837,6470,2836,6470,2834,6470,2834,6469,2833,6469,2831,6468,2829,6468,2829,6468,2828,6468,2827,6467,
2826,6463,2820,6460,2814,6460,2814,6459,2813,6458,2811,6457,2808,6456,2806,6452,2806,"Q",6451,2806,6451,2806,"Z"],["M",6248,2588,"Q",6247,2588,6245,2589,6245,2589,6244,2589,6229,2594,6216,2606,6213,2608,6213,2611,6213,2617,6217,2620,6229,2628,6239,2636,6243,2640,6242,2648,6241,2659,6243,2669,6243,2674,6247,2680,6250,2684,6253,2689,6265,2681,6278,2674,6284,2671,6289,2673,6297,2676,6303,2681,6308,2685,6314,2688,6323,2691,6331,2695,6332,2695,6333,2695,6335,2697,6339,2697,6340,2698,6340,2698,6344,2700,
6345,2706,6345,2707,6346,2708,6346,2709,6346,2709,6349,2711,6354,2713,6355,2714,6355,2714,6356,2717,6357,2719,6358,2721,6358,2722,6359,2724,6361,2727,6363,2729,6366,2730,6368,2731,6369,2731,6370,2731,6370,2731,6372,2732,6373,2732,6373,2733,6374,2733,6376,2734,6379,2733,"L",6379,2733,"Q",6380,2739,6380,2744,6380,2745,6379,2746,6377,2749,6377,2754,6378,2758,6376,2760,6375,2761,6374,2762,6370,2765,6371,2769,6376,2776,6385,2779,6391,2781,6399,2781,6401,2780,6402,2779,6403,2778,6404,2778,6405,2778,6405,
2777,6408,2774,6411,2769,6412,2767,6412,2764,6412,2763,6412,2762,6413,2758,6412,2754,6412,2754,6412,2753,6411,2752,6411,2751,6411,2748,6408,2747,6407,2747,6406,2746,6404,2743,6401,2742,6407,2742,6413,2743,6414,2743,6415,2744,6416,2745,6416,2746,6416,2746,6416,2747,6419,2749,6419,2752,6420,2753,6420,2753,6422,2754,6422,2755,6423,2756,6424,2757,6425,2758,6425,2758,6427,2761,6430,2761,6437,2761,6444,2760,6445,2760,6447,2760,6448,2759,6449,2759,6456,2760,6462,2756,6472,2751,6481,2743,6482,2743,6483,2742,
6487,2737,6490,2735,6491,2735,6491,2733,6492,2732,6494,2729,6498,2725,6503,2726,6507,2726,6509,2728,6510,2728,6511,2729,6515,2729,6519,2731,6522,2733,6525,2735,6527,2736,6528,2737,6529,2738,6530,2738,6528,2737,6528,2739,6528,2740,6529,2741,6530,2743,6533,2744,6539,2749,6545,2753,6546,2754,6546,2754,6548,2757,6551,2757,6552,2758,6553,2758,6558,2760,6563,2761,6563,2761,6564,2762,6567,2765,6569,2769,6572,2774,6576,2778,6577,2780,6579,2780,6581,2782,6584,2782,6585,2783,6586,2783,6591,2784,6596,2785,6597,
2785,6598,2785,6601,2787,6605,2787,6609,2787,6612,2785,6613,2785,6613,2783,6613,2783,6613,2782,6613,2781,6613,2781,6612,2774,6608,2771,6606,2770,6605,2768,6605,2768,6604,2767,6602,2766,6601,2763,6600,2760,6599,2758,6587,2735,6579,2711,6576,2701,6573,2692,6569,2683,6562,2676,6555,2669,6546,2665,6544,2663,6540,2663,6540,2663,6539,2662,6538,2662,6536,2662,6530,2661,6528,2657,6526,2652,6525,2647,6524,2642,6522,2638,6519,2634,6515,2632,6514,2632,6513,2631,6512,2631,6511,2631,6508,2630,6506,2630,6505,2629,
6504,2629,6500,2628,6500,2624,6500,2624,6499,2623,6495,2619,6489,2618,6482,2616,6475,2616,6469,2616,6464,2619,6462,2621,6462,2624,6453,2630,6447,2637,6444,2640,6441,2644,6438,2643,6436,2642,6429,2636,6423,2631,6422,2631,6420,2629,6416,2627,6410,2626,6409,2626,6408,2625,6407,2625,6405,2624,6396,2618,6385,2618,6382,2618,6378,2618,6374,2619,6373,2620,6373,2621,6371,2621,6367,2623,6363,2624,6361,2625,6360,2625,6359,2626,6358,2626,6353,2628,6346,2631,6346,2631,6345,2632,6343,2634,6341,2636,6339,2639,6335,
2641,6331,2643,6326,2643,6318,2645,6317,2653,6317,2656,6315,2658,6314,2660,6314,2660,"L",6313,2660,"Q",6309,2661,6305,2660,6305,2660,6304,2660,6298,2658,6296,2655,6295,2654,6294,2653,6294,2652,6294,2651,6293,2650,6293,2648,6293,2646,6292,2644,6292,2643,6291,2642,6290,2638,6290,2633,6290,2633,6289,2632,6285,2625,6278,2620,6276,2619,6275,2616,6275,2615,6274,2614,6274,2613,6274,2612,6273,2611,6273,2609,6273,2607,6272,2604,6272,2603,6272,2602,6271,2596,6269,2592,6267,2587,6264,2585,6263,2585,6263,2585,
6262,2585,6260,2585,6258,2586,6255,2586,"Q",6251,2586,6248,2588,"Z"]],label:"Australia",shortLabel:"AU",labelPosition:[622.5,314.9],labelAlignment:["center","middle"]},AF:{outlines:[["M",4457,2936,"Q",4451,2935,4449,2938,4449,2940,4448,2941,4446,2943,4445,2944,4445,2946,4444,2947,4442,2949,4441,2952,4439,2954,4439,2957,4436,2968,4429,2977,4429,2978,4428,2978,4424,2985,4419,2988,4416,2991,4412,2994,4411,2995,4410,2995,4405,2997,4403,3001,4403,2997,4400,2996,4400,2996,4399,2996,4396,2997,4393,2999,
4380,3006,4368,3015,4362,3019,4356,3024,4355,3025,4353,3026,4349,3027,4345,3028,4345,3029,4344,3029,4343,3029,4343,3030,4339,3035,4335,3041,4333,3044,4332,3048,4330,3058,4329,3069,4329,3083,4329,3096,4329,3097,4329,3098,4329,3101,4330,3104,4330,3106,4330,3107,4330,3109,4331,3110,4334,3118,4336,3127,4336,3128,4336,3129,4337,3137,4337,3144,4337,3147,4336,3149,4336,3151,4336,3152,4335,3153,4335,3154,4333,3159,4332,3163,4332,3165,4331,3166,4329,3169,4329,3174,4329,3176,4329,3177,4328,3180,4328,3184,4328,
3186,4327,3188,4326,3193,4326,3198,4327,3209,4333,3214,4335,3216,4338,3221,4339,3221,4339,3222,4344,3233,4350,3243,4351,3245,4351,3246,4352,3252,4357,3253,4361,3255,4365,3255,4370,3255,4373,3253,4377,3251,4380,3249,4381,3249,4382,3248,4387,3246,4392,3244,4395,3243,4400,3240,4401,3239,4401,3238,4402,3237,4403,3236,4406,3230,4409,3226,4419,3211,4427,3193,4427,3192,4428,3191,4430,3189,4430,3184,4430,3184,4430,3183,4431,3179,4432,3176,4434,3171,4435,3167,4436,3159,4437,3151,4437,3150,4437,3149,4437,3147,
4437,3146,4437,3145,4437,3143,4438,3141,4438,3139,4439,3138,4439,3137,4439,3136,4439,3134,4440,3130,4440,3124,4440,3123,4441,3122,4441,3121,4441,3121,4442,3117,4443,3113,4444,3108,4445,3103,4447,3096,4450,3090,4451,3089,4452,3087,4453,3083,4455,3082,4456,3081,4456,3081,4457,3080,4457,3079,4461,3073,4460,3063,4460,3058,4462,3053,4462,3053,4462,3052,4463,3051,4463,3049,4464,3049,4464,3048,4465,3047,4466,3046,4470,3042,4470,3037,4470,3036,4471,3034,4471,3033,4471,3032,4472,3031,4472,3029,4472,3029,4472,
3028,4472,3023,4474,3018,4476,3016,4477,3014,4477,3013,4478,3013,4480,3012,4482,3011,4482,3010,4482,3009,4484,3003,4483,2996,4480,2984,4475,2972,4472,2963,4469,2953,4467,2947,4464,2943,4463,2942,4462,2939,4462,2938,4461,2937,4461,2937,4459,2937,"Q",4458,2936,4457,2936,"Z"],["M",3801,1832,"Q",3796,1841,3788,1847,3783,1851,3776,1851,3761,1852,3747,1849,3722,1843,3699,1831,3685,1823,3670,1816,3663,1814,3655,1812,3633,1806,3617,1792,3608,1784,3610,1770,3613,1742,3611,1714,3610,1711,3609,1708,3608,1707,
3607,1705,3606,1704,3606,1703,3604,1700,3602,1697,3598,1687,3589,1682,3587,1681,3583,1681,3577,1682,3571,1683,3569,1683,3566,1684,3559,1685,3552,1687,3539,1691,3526,1692,3525,1692,3523,1693,3520,1694,3516,1693,3516,1693,3515,1693,3512,1692,3509,1692,3508,1692,3506,1691,3496,1690,3488,1693,3487,1693,3468,1696,3449,1699,3419,1693,3389,1688,3379,1688,3368,1688,3347,1697,"L",3339,1704,"Q",3330,1710,3320,1716,3314,1721,3310,1729,3279,1737,3264,1734,3255,1732,3249,1728,3249,1728,3249,1727,3244,1730,3237,
1733,3236,1734,3235,1734,3230,1741,3224,1746,3223,1748,3222,1749,3219,1754,3217,1760,3216,1765,3213,1768,3205,1777,3195,1784,3190,1788,3184,1792,3180,1796,3178,1799,3176,1801,3175,1804,3174,1810,3170,1814,3168,1816,3167,1819,3165,1822,3164,1824,3161,1826,3161,1830,3159,1838,3156,1845,3156,1847,3156,1848,3155,1853,3154,1858,3151,1882,3143,1898,3142,1900,3142,1901,3137,1907,3133,1910,3130,1912,3128,1915,3127,1915,3126,1916,3122,1917,3120,1918,3112,1919,3107,1921,3094,1926,3085,1935,3084,1936,3083,1936,
3075,1939,3073,1944,3061,1973,3055,1996,3054,1998,3054,1999,3052,2008,3049,2016,3048,2018,3047,2019,3042,2024,3042,2031,"L",3042,2032,"Q",3042,2033,3041,2034,3041,2038,3037,2042,3030,2047,3020,2049,3017,2050,3013,2052,3007,2054,3E3,2055,2994,2056,2996,2065,2997,2066,2997,2067,2997,2078,2998,2089,2998,2090,2998,2090,2998,2095,3E3,2099,3002,2105,3006,2112,3009,2116,3009,2122,3011,2136,3012,2150,3013,2168,3012,2186,3011,2195,3008,2204,3005,2217,3E3,2230,2998,2233,2997,2237,2993,2255,2993,2276,2993,2277,
2993,2278,2994,2286,2992,2293,2992,2294,2992,2296,2992,2298,2993,2300,2993,2301,2994,2303,2995,2312,3002,2317,3004,2319,3005,2321,3008,2326,3012,2330,3017,2336,3020,2340,3024,2347,3029,2350,3030,2351,3030,2351,3033,2356,3040,2360,3046,2363,3050,2368,3054,2372,3057,2378,3066,2393,3073,2410,3074,2412,3076,2415,3078,2418,3079,2424,3080,2425,3080,2425,3092,2436,3106,2444,3114,2450,3121,2457,3121,2458,3122,2460,3122,2461,3123,2462,3128,2469,3129,2477,3129,2478,3129,2478,3131,2481,3132,2484,3146,2492,3162,
2504,3179,2515,3198,2522,3202,2523,3207,2522,3210,2521,3212,2520,3213,2519,3214,2519,3219,2517,3223,2514,3228,2510,3232,2504,3232,2503,3233,2502,3237,2499,3244,2498,3257,2498,3268,2500,3270,2500,3271,2500,3273,2501,3274,2501,3283,2502,3286,2504,3291,2508,3297,2508,3303,2509,3308,2507,3317,2504,3327,2505,3335,2506,3343,2503,3358,2498,3372,2492,3391,2483,3409,2474,3422,2467,3434,2463,3438,2462,3442,2462,3442,2465,3440,2467,3442,2466,3444,2468,3445,2468,3446,2468,3458,2470,3467,2478,3472,2482,3477,2486,
3478,2488,3481,2490,3488,2497,3494,2504,3502,2512,3510,2520,3511,2522,3512,2522,3519,2526,3526,2521,3540,2512,3550,2503,3553,2500,3562,2504,3574,2509,3576,2517,3579,2528,3585,2539,3587,2543,3587,2547,3587,2548,3587,2549,3587,2554,3587,2558,3587,2572,3587,2585,3587,2594,3587,2602,3587,2604,3586,2605,3586,2606,3585,2606,3585,2607,3584,2609,3584,2610,3584,2611,3584,2612,3584,2613,3585,2621,3583,2629,3583,2631,3582,2631,3580,2632,3579,2632,3578,2633,3577,2634,3568,2640,3564,2653,3567,2659,3570,2662,3571,
2663,3572,2663,3577,2665,3579,2670,3585,2683,3592,2695,3604,2711,3619,2724,3627,2731,3636,2736,3646,2742,3650,2753,3657,2775,3662,2798,3666,2817,3665,2837,3664,2854,3668,2871,3668,2874,3668,2876,3669,2882,3670,2887,3670,2889,3671,2890,3672,2893,3672,2896,3675,2907,3675,2919,3675,2920,3675,2921,3675,2933,3667,2939,3667,2939,3666,2940,3662,2945,3658,2951,3653,2961,3648,2970,3648,2971,3647,2972,3646,2973,3644,2974,"L",3644,2974,"Q",3644,2977,3644,2979,3643,2981,3643,2983,3641,2996,3639,3009,3636,3034,
3634,3060,3633,3070,3637,3078,3640,3088,3647,3096,3656,3108,3663,3116,3667,3120,3669,3125,3670,3127,3671,3128,3674,3132,3678,3135,3679,3136,3680,3137,3681,3138,3682,3140,3685,3144,3685,3150,3686,3155,3687,3159,3688,3160,3689,3161,"L",3689,3161,"Q",3688,3179,3694,3192,3695,3194,3696,3195,3696,3198,3698,3201,3698,3202,3698,3202,3699,3207,3700,3211,3701,3212,3701,3214,3701,3227,3701,3241,3701,3242,3701,3243,3699,3246,3700,3251,3701,3253,3701,3255,3702,3262,3704,3269,3707,3276,3706,3285,3706,3293,3709,
3301,3713,3310,3717,3319,3722,3329,3727,3339,3740,3363,3750,3387,3754,3398,3754,3409,3754,3434,3756,3458,3756,3459,3757,3459,3776,3469,3794,3477,3796,3478,3797,3478,3803,3478,3810,3478,3825,3480,3840,3484,3843,3485,3845,3484,3851,3483,3857,3479,3858,3478,3859,3477,3861,3475,3865,3472,3880,3462,3897,3471,3898,3472,3901,3472,3905,3471,3908,3470,3909,3470,3910,3469,3918,3466,3927,3461,3928,3461,3928,3461,3939,3460,3949,3455,3951,3455,3952,3454,3954,3453,3958,3452,3962,3450,3967,3448,3976,3444,3985,3437,
3995,3430,4002,3422,4022,3401,4039,3379,4046,3372,4053,3364,4065,3351,4077,3337,4079,3335,4081,3333,4081,3332,4081,3330,4082,3321,4084,3311,4088,3288,4094,3265,4096,3259,4099,3253,4103,3245,4106,3241,4107,3238,4111,3237,4129,3231,4138,3217,4139,3215,4139,3214,4145,3207,4150,3198,4149,3187,4147,3175,4147,3172,4148,3168,4150,3163,4151,3157,4152,3151,4153,3147,4154,3145,4153,3144,4150,3141,4148,3137,4147,3136,4146,3136,4142,3133,4138,3130,"L",4132,3123,"Q",4133,3116,4137,3111,4144,3101,4155,3094,4166,
3087,4177,3079,4184,3073,4192,3068,4200,3062,4209,3056,4226,3046,4240,3032,4241,3031,4244,3032,4244,3032,4245,3032,4248,3026,4255,3021,4261,3017,4265,3013,4267,3010,4270,3008,4273,3004,4275,3E3,4276,2999,4275,2998,4275,2984,4273,2970,4270,2947,4270,2924,4270,2908,4268,2891,4268,2883,4265,2874,4257,2852,4260,2827,4260,2822,4258,2817,4258,2816,4257,2815,4253,2808,4251,2797,4250,2795,4250,2793,4249,2789,4247,2785,4246,2783,4245,2780,4243,2776,4242,2771,4241,2772,4240,2770,4239,2768,4238,2765,4238,2764,
4238,2763,4237,2755,4236,2748,4236,2744,4240,2740,4243,2738,4246,2735,4247,2734,4247,2734,4247,2732,4248,2731,4249,2728,4251,2726,4253,2723,4255,2721,4258,2715,4260,2708,4262,2699,4264,2689,4264,2688,4264,2686,4265,2684,4266,2682,4269,2677,4271,2674,4274,2669,4280,2667,4286,2666,4290,2662,4291,2662,4292,2661,4296,2654,4302,2648,4307,2644,4310,2637,4316,2624,4325,2613,4327,2612,4328,2611,4329,2610,4329,2609,4331,2607,4333,2606,4339,2602,4344,2597,4354,2587,4366,2579,4377,2571,4384,2565,4387,2563,4389,
2561,4395,2553,4401,2548,4402,2548,4403,2547,4405,2543,4409,2538,4415,2531,4419,2523,4425,2513,4433,2507,4437,2503,4441,2501,4445,2499,4448,2495,4451,2491,4454,2484,4454,2473,4457,2463,4463,2448,4466,2431,4471,2411,4476,2392,4478,2384,4486,2380,4494,2375,4499,2366,4500,2364,4501,2362,4503,2356,4505,2349,4510,2335,4512,2320,4504,2324,4495,2327,4485,2331,4473,2332,4458,2334,4442,2338,4432,2340,4422,2344,4406,2350,4390,2353,4377,2356,4364,2354,4359,2353,4355,2351,4353,2351,4352,2350,4345,2347,4336,2347,
4336,2347,4335,2346,4333,2346,4333,2345,4326,2337,4319,2331,4319,2331,4318,2330,4317,2327,4315,2326,4310,2325,4309,2319,4309,2318,4309,2317,4313,2305,4311,2304,4309,2302,4312,2293,4315,2284,4314,2283,4312,2282,4311,2282,4302,2281,4298,2276,4297,2275,4296,2274,4294,2270,4288,2264,4278,2255,4269,2245,"L",4249,2214,4233,2202,4212,2163,"Q",4203,2147,4197,2133,4189,2113,4189,2110,4189,2110,4188,2109,4187,2103,4187,2096,"L",4187,2096,"Q",4186,2094,4185,2092,4184,2089,4183,2085,"L",4183,2083,"Q",4184,2082,
4183,2078,4183,2077,4181,2073,4181,2073,4180,2072,4177,2067,4172,2066,4167,2064,4162,2061,4158,2059,4154,2055,4151,2051,4154,2045,4156,2041,4156,2035,4156,2033,4155,2032,4155,2027,4153,2023,4153,2023,4152,2022,4149,2022,4149,2019,4144,2002,4135,1985,4134,1984,4133,1982,4130,1975,4126,1971,4122,1968,4118,1964,4112,1959,4106,1954,"L",4106,1954,4105,1953,"Q",4106,1943,4110,1923,"L",4126,1922,"Q",4145,1985,4159,1984,4174,1983,4159,1951,4158,1949,4156,1948,4155,1947,4155,1946,4155,1941,4156,1937,4156,
1937,4156,1936,4157,1934,4158,1933,4163,1928,4163,1917,4163,1916,4163,1914,4164,1907,4164,1899,4164,1896,4171,1875,4150,1893,4138,1892,"L",4083,1880,"Q",4083,1877,4081,1874,4078,1866,4073,1862,4031,1831,3978,1846,3966,1848,3962,1847,3960,1847,3958,1846,3951,1845,3943,1843,3929,1840,3915,1834,3891,1824,3866,1820,3863,1819,3860,1819,3857,1818,3853,1818,3851,1817,3849,1817,3840,1814,3830,1813,3823,1813,3816,1815,3814,1815,3809,1818,3808,1819,3808,1819,"Q",3806,1825,3801,1832,"Z"]],label:"Africa",shortLabel:"AF",
labelPosition:[359.4,213.3],labelAlignment:["center","middle"]}}}];d=e.length;if(a)for(;d--;)a=e[d],c(a.name.toLowerCase(),a,c.geo);else for(;d--;)a=e[d],g=a.name.toLowerCase(),b("maps",g,1),h.maps.unshift({cmd:"_call",obj:window,args:[function(a,b){c.geo?c(a,b,c.geo):f.raiseError(f.core,"12052314141","run","JavaScriptRenderer~Maps._call()",Error("FusionCharts.HC.Maps.js is required in order to define vizualization"))},[g,a],window]})}]);

View File

@@ -0,0 +1 @@
To download all the map definition files (965+) for other countries/regions, please visit http://www.fusioncharts.com/download/maps/definition

View File

@@ -0,0 +1,18 @@
/*
Carbon Theme v0.0.3
FusionCharts JavaScript Library
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
*/
FusionCharts.register("theme",{name:"carbon",theme:{base:{chart:{paletteColors:"#444444,#666666,#888888,#aaaaaa,#cccccc,#555555,#777777,#999999,#bbbbbb,#dddddd",labelDisplay:"auto",baseFontColor:"#333333",baseFont:"Helvetica Neue,Arial",captionFontSize:"14",subcaptionFontSize:"14",subcaptionFontBold:"0",showBorder:"0",bgColor:"#ffffff",showShadow:"0",canvasBgColor:"#ffffff",showCanvasBorder:"0",useplotgradientcolor:"0",useRoundEdges:"0",showPlotBorder:"0",showAlternateHGridColor:"0",showAlternateVGridColor:"0",
toolTipColor:"#ffffff",toolTipBorderThickness:"0",toolTipBgColor:"#000000",toolTipBgAlpha:"80",toolTipBorderRadius:"2",toolTipPadding:"5",legendBgAlpha:"0",legendBorderAlpha:"0",legendShadow:"0",legendItemFontSize:"10",legendItemFontColor:"#666666",legendCaptionFontSize:"9",divlineAlpha:"100",divlineColor:"#999999",divlineThickness:"1",divLineIsDashed:"1",divLineDashLen:"1",divLineGapLen:"1",scrollheight:"10",flatScrollBars:"1",scrollShowButtons:"0",scrollColor:"#cccccc",showHoverEffect:"1",valueFontSize:"10",
showXAxisLine:"1",xAxisLineThickness:"1",xAxisLineColor:"#999999"},dataset:[{}],trendlines:[{}]},geo:{chart:{showLabels:"0",fillColor:"#444444",showBorder:"1",borderColor:"#eeeeee",borderThickness:"1",borderAlpha:"50",entityFillhoverColor:"#444444",entityFillhoverAlpha:"80",connectorColor:"#cccccc",connectorThickness:"1.5",markerFillHoverAlpha:"90"}},pie2d:{chart:{placeValuesInside:"0",use3dlighting:"0",valueFontColor:"#333333",captionPadding:"15"},data:function(c,a,b){a=window.Math;return{alpha:100-
(50<b?a.round(100/a.ceil(b/10)):20)*a.floor(c/10)}}},doughnut2d:{chart:{placeValuesInside:"0",use3dlighting:"0",valueFontColor:"#333333",centerLabelFontSize:"12",centerLabelBold:"1",centerLabelFontColor:"#333333",captionPadding:"15"},data:function(c,a,b){a=window.Math;return{alpha:100-(50<b?a.round(100/a.ceil(b/10)):20)*a.floor(c/10)}}},line:{chart:{lineThickness:"2"}},spline:{chart:{lineThickness:"2"}},column2d:{chart:{paletteColors:"#444444",valueFontColor:"#ffffff",placeValuesInside:"1",rotateValues:"1"}},
bar2d:{chart:{paletteColors:"#444444",valueFontColor:"#ffffff",placeValuesInside:"1"}},column3d:{chart:{paletteColors:"#444444",valueFontColor:"#ffffff",placeValuesInside:"1",rotateValues:"1"}},bar3d:{chart:{paletteColors:"#444444",valueFontColor:"#ffffff",placeValuesInside:"1"}},area2d:{chart:{valueBgColor:"#ffffff",valueBgAlpha:"90",valueBorderPadding:"-2",valueBorderRadius:"2"}},splinearea:{chart:{valueBgColor:"#ffffff",valueBgAlpha:"90",valueBorderPadding:"-2",valueBorderRadius:"2"}},mscolumn2d:{chart:{valueFontColor:"#ffffff",
placeValuesInside:"1",rotateValues:"1"}},mscolumn3d:{chart:{showValues:"0"}},msstackedcolumn2dlinedy:{chart:{showValues:"0"}},stackedcolumn2d:{chart:{showValues:"0"}},stackedarea2d:{chart:{valueBgColor:"#ffffff",valueBgAlpha:"90",valueBorderPadding:"-2",valueBorderRadius:"2"}},stackedbar2d:{chart:{showValues:"0"}},msstackedcolumn2d:{chart:{showValues:"0"}},mscombi3d:{chart:{showValues:"0"}},mscombi2d:{chart:{showValues:"0"}},mscolumn3dlinedy:{chart:{showValues:"0"}},stackedcolumn3dline:{chart:{showValues:"0"}},
stackedcolumn2dline:{chart:{showValues:"0"}},scrollstackedcolumn2d:{chart:{valueFontColor:"#ffffff"}},scrollcombi2d:{chart:{showValues:"0"}},scrollcombidy2d:{chart:{showValues:"0"}},logstackedcolumn2d:{chart:{showValues:"0"}},logmsline:{chart:{showValues:"0"}},logmscolumn2d:{chart:{showValues:"0"}},msstackedcombidy2d:{chart:{showValues:"0"}},scrollcolumn2d:{chart:{valueFontColor:"#ffffff",placeValuesInside:"1",rotateValues:"1"}},pareto2d:{chart:{paletteColors:"#444444",showValues:"0"}},pareto3d:{chart:{paletteColors:"#444444",
showValues:"0"}},angulargauge:{chart:{pivotFillColor:"#ffffff",pivotRadius:"4",gaugeFillMix:"{light+0}",showTickValues:"1",majorTMHeight:"12",majorTMThickness:"2",majorTMColor:"#000000",minorTMNumber:"0",tickValueDistance:"10",valueFontSize:"24",valueFontBold:"1",gaugeInnerRadius:"50%",showHoverEffect:"0"},dials:{dial:[{baseWidth:"10",rearExtension:"7",bgColor:"#000000",bgAlpha:"100",borderColor:"#666666",bgHoverAlpha:"20"}]}},hlineargauge:{chart:{pointerFillColor:"#ffffff",gaugeFillMix:"{light+0}",
showTickValues:"1",majorTMHeight:"3",majorTMColor:"#000000",minorTMNumber:"0",valueFontSize:"18",valueFontBold:"1"},pointers:{pointer:[{}]}},bubble:{chart:{use3dlighting:"0",showplotborder:"0",showYAxisLine:"1",yAxisLineThickness:"1",yAxisLineColor:"#999999",showAlternateHGridColor:"0",showAlternateVGridColor:"0"},categories:[{verticalLineDashed:"1",verticalLineDashLen:"1",verticalLineDashGap:"1",verticalLineThickness:"1",verticalLineColor:"#000000",category:[{}]}],vtrendlines:[{line:[{alpha:"0"}]}]},
scatter:{chart:{use3dlighting:"0",showYAxisLine:"1",yAxisLineThickness:"1",yAxisLineColor:"#999999",showAlternateHGridColor:"0",showAlternateVGridColor:"0"},categories:[{verticalLineDashed:"1",verticalLineDashLen:"1",verticalLineDashGap:"1",verticalLineThickness:"1",verticalLineColor:"#000000",category:[{}]}],vtrendlines:[{line:[{alpha:"0"}]}]},boxandwhisker2d:{chart:{valueBgColor:"#ffffff",valueBgAlpha:"90",valueBorderPadding:"-2",valueBorderRadius:"2"}},thermometer:{chart:{gaugeFillColor:"#444444"}},
cylinder:{chart:{cylFillColor:"#444444"}},sparkline:{chart:{linecolor:"#444444"}},sparkcolumn:{chart:{plotFillColor:"#444444"}},sparkwinloss:{chart:{winColor:"#444444",lossColor:"#666666",drawColor:"#888888",scoreLessColor:"#aaaaaa"}},hbullet:{chart:{plotFillColor:"#444444",targetColor:"#666666"}},vbullet:{chart:{plotFillColor:"#444444",targetColor:"#666666"}}}});

View File

@@ -0,0 +1,18 @@
/*
Fint Theme v0.0.3
FusionCharts JavaScript Library
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
*/
FusionCharts.register("theme",{name:"fint",theme:{base:{chart:{paletteColors:"#0075c2,#1aaf5d,#f2c500,#f45b00,#8e0000,#0e948c,#8cbb2c,#f3de00,#c02d00,#5b0101",labelDisplay:"auto",baseFontColor:"#333333",baseFont:"Helvetica Neue,Arial",captionFontSize:"14",subcaptionFontSize:"14",subcaptionFontBold:"0",showBorder:"0",bgColor:"#ffffff",showShadow:"0",canvasBgColor:"#ffffff",showCanvasBorder:"0",useplotgradientcolor:"0",useRoundEdges:"0",showPlotBorder:"0",showAlternateHGridColor:"0",showAlternateVGridColor:"0",
toolTipColor:"#ffffff",toolTipBorderThickness:"0",toolTipBgColor:"#000000",toolTipBgAlpha:"80",toolTipBorderRadius:"2",toolTipPadding:"5",legendBgAlpha:"0",legendBorderAlpha:"0",legendShadow:"0",legendItemFontSize:"10",legendItemFontColor:"#666666",legendCaptionFontSize:"9",divlineAlpha:"100",divlineColor:"#999999",divlineThickness:"1",divLineIsDashed:"1",divLineDashLen:"1",divLineGapLen:"1",scrollheight:"10",flatScrollBars:"1",scrollShowButtons:"0",scrollColor:"#cccccc",showHoverEffect:"1",valueFontSize:"10",
showXAxisLine:"1",xAxisLineThickness:"1",xAxisLineColor:"#999999"},dataset:[{}],trendlines:[{}]},geo:{chart:{showLabels:"0",fillColor:"#0075c2",showBorder:"1",borderColor:"#eeeeee",borderThickness:"1",borderAlpha:"50",entityFillhoverColor:"#0075c2",entityFillhoverAlpha:"80",connectorColor:"#cccccc",connectorThickness:"1.5",markerFillHoverAlpha:"90"}},pie2d:{chart:{placeValuesInside:"0",use3dlighting:"0",valueFontColor:"#333333",captionPadding:"15"},data:function(c,a,b){a=window.Math;return{alpha:100-
(50<b?a.round(100/a.ceil(b/10)):20)*a.floor(c/10)}}},doughnut2d:{chart:{placeValuesInside:"0",use3dlighting:"0",valueFontColor:"#333333",centerLabelFontSize:"12",centerLabelBold:"1",centerLabelFontColor:"#333333",captionPadding:"15"},data:function(c,a,b){a=window.Math;return{alpha:100-(50<b?a.round(100/a.ceil(b/10)):20)*a.floor(c/10)}}},line:{chart:{lineThickness:"2"}},spline:{chart:{lineThickness:"2"}},column2d:{chart:{paletteColors:"#0075c2",valueFontColor:"#ffffff",placeValuesInside:"1",rotateValues:"1"}},
bar2d:{chart:{paletteColors:"#0075c2",valueFontColor:"#ffffff",placeValuesInside:"1"}},column3d:{chart:{paletteColors:"#0075c2",valueFontColor:"#ffffff",placeValuesInside:"1",rotateValues:"1"}},bar3d:{chart:{paletteColors:"#0075c2",valueFontColor:"#ffffff",placeValuesInside:"1"}},area2d:{chart:{valueBgColor:"#ffffff",valueBgAlpha:"90",valueBorderPadding:"-2",valueBorderRadius:"2"}},splinearea:{chart:{valueBgColor:"#ffffff",valueBgAlpha:"90",valueBorderPadding:"-2",valueBorderRadius:"2"}},mscolumn2d:{chart:{valueFontColor:"#ffffff",
placeValuesInside:"1",rotateValues:"1"}},mscolumn3d:{chart:{showValues:"0"}},msstackedcolumn2dlinedy:{chart:{showValues:"0"}},stackedcolumn2d:{chart:{showValues:"0"}},stackedarea2d:{chart:{valueBgColor:"#ffffff",valueBgAlpha:"90",valueBorderPadding:"-2",valueBorderRadius:"2"}},stackedbar2d:{chart:{showValues:"0"}},msstackedcolumn2d:{chart:{showValues:"0"}},mscombi3d:{chart:{showValues:"0"}},mscombi2d:{chart:{showValues:"0"}},mscolumn3dlinedy:{chart:{showValues:"0"}},stackedcolumn3dline:{chart:{showValues:"0"}},
stackedcolumn2dline:{chart:{showValues:"0"}},scrollstackedcolumn2d:{chart:{valueFontColor:"#ffffff"}},scrollcombi2d:{chart:{showValues:"0"}},scrollcombidy2d:{chart:{showValues:"0"}},logstackedcolumn2d:{chart:{showValues:"0"}},logmsline:{chart:{showValues:"0"}},logmscolumn2d:{chart:{showValues:"0"}},msstackedcombidy2d:{chart:{showValues:"0"}},scrollcolumn2d:{chart:{valueFontColor:"#ffffff",placeValuesInside:"1",rotateValues:"1"}},pareto2d:{chart:{paletteColors:"#0075c2",showValues:"0"}},pareto3d:{chart:{paletteColors:"#0075c2",
showValues:"0"}},angulargauge:{chart:{pivotFillColor:"#ffffff",pivotRadius:"4",gaugeFillMix:"{light+0}",showTickValues:"1",majorTMHeight:"12",majorTMThickness:"2",majorTMColor:"#000000",minorTMNumber:"0",tickValueDistance:"10",valueFontSize:"24",valueFontBold:"1",gaugeInnerRadius:"50%",showHoverEffect:"0"},dials:{dial:[{baseWidth:"10",rearExtension:"7",bgColor:"#000000",bgAlpha:"100",borderColor:"#666666",bgHoverAlpha:"20"}]}},hlineargauge:{chart:{pointerFillColor:"#ffffff",gaugeFillMix:"{light+0}",
showTickValues:"1",majorTMHeight:"3",majorTMColor:"#000000",minorTMNumber:"0",valueFontSize:"18",valueFontBold:"1"},pointers:{pointer:[{}]}},bubble:{chart:{use3dlighting:"0",showplotborder:"0",showYAxisLine:"1",yAxisLineThickness:"1",yAxisLineColor:"#999999",showAlternateHGridColor:"0",showAlternateVGridColor:"0",plotFillHoverColor:"#2b8ecf"},categories:[{verticalLineDashed:"1",verticalLineDashLen:"1",verticalLineDashGap:"1",verticalLineThickness:"1",verticalLineColor:"#000000",category:[{}]}],vtrendlines:[{line:[{alpha:"0"}]}]},
scatter:{chart:{use3dlighting:"0",showYAxisLine:"1",yAxisLineThickness:"1",yAxisLineColor:"#999999",showAlternateHGridColor:"0",showAlternateVGridColor:"0"},categories:[{verticalLineDashed:"1",verticalLineDashLen:"1",verticalLineDashGap:"1",verticalLineThickness:"1",verticalLineColor:"#000000",category:[{}]}],vtrendlines:[{line:[{alpha:"0"}]}]},boxandwhisker2d:{chart:{valueBgColor:"#ffffff",valueBgAlpha:"90",valueBorderPadding:"-2",valueBorderRadius:"2"}},thermometer:{chart:{gaugeFillColor:"#0075c2"}},
cylinder:{chart:{cylFillColor:"#0075c2"}},sparkline:{chart:{linecolor:"#0075c2"}},sparkcolumn:{chart:{plotFillColor:"#0075c2"}},sparkwinloss:{chart:{winColor:"#0075c2",lossColor:"#1aaf5d",drawColor:"#f2c500",scoreLessColor:"#f45b00"}},hbullet:{chart:{plotFillColor:"#0075c2",targetColor:"#1aaf5d"}},vbullet:{chart:{plotFillColor:"#0075c2",targetColor:"#1aaf5d"}}}});

View File

@@ -0,0 +1,18 @@
/*
Ocean Theme v0.0.3
FusionCharts JavaScript Library
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
*/
FusionCharts.register("theme",{name:"ocean",theme:{base:{chart:{paletteColors:"#04476c,#4d998d,#77be99,#a7dca6,#cef19a,#0e948c,#64ad93,#8fcda0,#bbe7a0,#dcefc1",labelDisplay:"auto",baseFontColor:"#333333",baseFont:"Helvetica Neue,Arial",captionFontSize:"14",subcaptionFontSize:"14",subcaptionFontBold:"0",showBorder:"0",bgColor:"#ffffff",showShadow:"0",canvasBgColor:"#ffffff",showCanvasBorder:"0",useplotgradientcolor:"0",useRoundEdges:"0",showPlotBorder:"0",showAlternateHGridColor:"0",showAlternateVGridColor:"0",
toolTipColor:"#ffffff",toolTipBorderThickness:"0",toolTipBgColor:"#000000",toolTipBgAlpha:"80",toolTipBorderRadius:"2",toolTipPadding:"5",legendBgAlpha:"0",legendBorderAlpha:"0",legendShadow:"0",legendItemFontSize:"10",legendItemFontColor:"#666666",legendCaptionFontSize:"9",divlineAlpha:"100",divlineColor:"#999999",divlineThickness:"1",divLineIsDashed:"1",divLineDashLen:"1",divLineGapLen:"1",scrollheight:"10",flatScrollBars:"1",scrollShowButtons:"0",scrollColor:"#cccccc",showHoverEffect:"1",valueFontSize:"10",
showXAxisLine:"1",xAxisLineThickness:"1",xAxisLineColor:"#999999"},dataset:[{}],trendlines:[{}]},geo:{chart:{showLabels:"0",fillColor:"#04476c",showBorder:"1",borderColor:"#eeeeee",borderThickness:"1",borderAlpha:"50",entityFillhoverColor:"#04476c",entityFillhoverAlpha:"80",connectorColor:"#cccccc",connectorThickness:"1.5",markerFillHoverAlpha:"90"}},pie2d:{chart:{placeValuesInside:"0",use3dlighting:"0",valueFontColor:"#333333",captionPadding:"15"},data:function(c,a,b){a=window.Math;return{alpha:100-
(50<b?a.round(100/a.ceil(b/10)):20)*a.floor(c/10)}}},doughnut2d:{chart:{placeValuesInside:"0",use3dlighting:"0",valueFontColor:"#333333",centerLabelFontSize:"12",centerLabelBold:"1",centerLabelFontColor:"#333333",captionPadding:"15"},data:function(c,a,b){a=window.Math;return{alpha:100-(50<b?a.round(100/a.ceil(b/10)):20)*a.floor(c/10)}}},line:{chart:{lineThickness:"2"}},spline:{chart:{lineThickness:"2"}},column2d:{chart:{paletteColors:"#04476c",valueFontColor:"#ffffff",placeValuesInside:"1",rotateValues:"1"}},
bar2d:{chart:{paletteColors:"#04476c",valueFontColor:"#ffffff",placeValuesInside:"1"}},column3d:{chart:{paletteColors:"#04476c",valueFontColor:"#ffffff",placeValuesInside:"1",rotateValues:"1"}},bar3d:{chart:{paletteColors:"#04476c",valueFontColor:"#ffffff",placeValuesInside:"1"}},area2d:{chart:{valueBgColor:"#ffffff",valueBgAlpha:"90",valueBorderPadding:"-2",valueBorderRadius:"2"}},splinearea:{chart:{valueBgColor:"#ffffff",valueBgAlpha:"90",valueBorderPadding:"-2",valueBorderRadius:"2"}},mscolumn2d:{chart:{valueFontColor:"#ffffff",
placeValuesInside:"1",rotateValues:"1"}},mscolumn3d:{chart:{showValues:"0"}},msstackedcolumn2dlinedy:{chart:{showValues:"0"}},stackedcolumn2d:{chart:{showValues:"0"}},stackedarea2d:{chart:{valueBgColor:"#ffffff",valueBgAlpha:"90",valueBorderPadding:"-2",valueBorderRadius:"2"}},stackedbar2d:{chart:{showValues:"0"}},msstackedcolumn2d:{chart:{showValues:"0"}},mscombi3d:{chart:{showValues:"0"}},mscombi2d:{chart:{showValues:"0"}},mscolumn3dlinedy:{chart:{showValues:"0"}},stackedcolumn3dline:{chart:{showValues:"0"}},
stackedcolumn2dline:{chart:{showValues:"0"}},scrollstackedcolumn2d:{chart:{valueFontColor:"#ffffff"}},scrollcombi2d:{chart:{showValues:"0"}},scrollcombidy2d:{chart:{showValues:"0"}},logstackedcolumn2d:{chart:{showValues:"0"}},logmsline:{chart:{showValues:"0"}},logmscolumn2d:{chart:{showValues:"0"}},msstackedcombidy2d:{chart:{showValues:"0"}},scrollcolumn2d:{chart:{valueFontColor:"#ffffff",placeValuesInside:"1",rotateValues:"1"}},pareto2d:{chart:{paletteColors:"#04476c",showValues:"0"}},pareto3d:{chart:{paletteColors:"#04476c",
showValues:"0"}},angulargauge:{chart:{pivotFillColor:"#ffffff",pivotRadius:"4",gaugeFillMix:"{light+0}",showTickValues:"1",majorTMHeight:"12",majorTMThickness:"2",majorTMColor:"#000000",minorTMNumber:"0",tickValueDistance:"10",valueFontSize:"24",valueFontBold:"1",gaugeInnerRadius:"50%",showHoverEffect:"0"},dials:{dial:[{baseWidth:"10",rearExtension:"7",bgColor:"#000000",bgAlpha:"100",borderColor:"#666666",bgHoverAlpha:"20"}]}},hlineargauge:{chart:{pointerFillColor:"#ffffff",gaugeFillMix:"{light+0}",
showTickValues:"1",majorTMHeight:"3",majorTMColor:"#000000",minorTMNumber:"0",valueFontSize:"18",valueFontBold:"1"},pointers:{pointer:[{}]}},bubble:{chart:{use3dlighting:"0",showplotborder:"0",showYAxisLine:"1",yAxisLineThickness:"1",yAxisLineColor:"#999999",showAlternateHGridColor:"0",showAlternateVGridColor:"0"},categories:[{verticalLineDashed:"1",verticalLineDashLen:"1",verticalLineDashGap:"1",verticalLineThickness:"1",verticalLineColor:"#000000",category:[{}]}],vtrendlines:[{line:[{alpha:"0"}]}]},
scatter:{chart:{use3dlighting:"0",showYAxisLine:"1",yAxisLineThickness:"1",yAxisLineColor:"#999999",showAlternateHGridColor:"0",showAlternateVGridColor:"0"},categories:[{verticalLineDashed:"1",verticalLineDashLen:"1",verticalLineDashGap:"1",verticalLineThickness:"1",verticalLineColor:"#000000",category:[{}]}],vtrendlines:[{line:[{alpha:"0"}]}]},boxandwhisker2d:{chart:{valueBgColor:"#ffffff",valueBgAlpha:"90",valueBorderPadding:"-2",valueBorderRadius:"2"}},thermometer:{chart:{gaugeFillColor:"#04476c"}},
cylinder:{chart:{cylFillColor:"#04476c"}},sparkline:{chart:{linecolor:"#04476c"}},sparkcolumn:{chart:{plotFillColor:"#04476c"}},sparkwinloss:{chart:{winColor:"#04476c",lossColor:"#4d998d",drawColor:"#77be99",scoreLessColor:"#a7dca6"}},hbullet:{chart:{plotFillColor:"#04476c",targetColor:"#4d998d"}},vbullet:{chart:{plotFillColor:"#04476c",targetColor:"#4d998d"}}}});

View File

@@ -0,0 +1,18 @@
/*
Zune Theme v0.0.3
FusionCharts JavaScript Library
Copyright FusionCharts Technologies LLP
License Information at <http://www.fusioncharts.com/license>
*/
FusionCharts.register("theme",{name:"zune",theme:{base:{chart:{paletteColors:"#0075c2,#1aaf5d,#f2c500,#f45b00,#8e0000,#0e948c,#8cbb2c,#f3de00,#c02d00,#5b0101",labelDisplay:"auto",baseFontColor:"#333333",baseFont:"Helvetica Neue,Arial",captionFontSize:"14",subcaptionFontSize:"14",subcaptionFontBold:"0",showBorder:"0",bgColor:"#ffffff",showShadow:"0",canvasBgColor:"#ffffff",showCanvasBorder:"0",useplotgradientcolor:"0",useRoundEdges:"0",showPlotBorder:"0",showAlternateHGridColor:"0",showAlternateVGridColor:"0",
toolTipColor:"#ffffff",toolTipBorderThickness:"0",toolTipBgColor:"#000000",toolTipBgAlpha:"80",toolTipBorderRadius:"2",toolTipPadding:"5",legendBgAlpha:"0",legendBorderAlpha:"0",legendShadow:"0",legendItemFontSize:"10",legendItemFontColor:"#666666",legendCaptionFontSize:"9",divlineAlpha:"100",divlineColor:"#999999",divlineThickness:"1",divLineIsDashed:"1",divLineDashLen:"1",divLineGapLen:"1",scrollheight:"10",flatScrollBars:"1",scrollShowButtons:"0",scrollColor:"#cccccc",showHoverEffect:"1",valueFontSize:"10",
showXAxisLine:"1",xAxisLineThickness:"1",xAxisLineColor:"#999999"},dataset:[{}],trendlines:[{}]},geo:{chart:{showLabels:"0",fillColor:"#0075c2",showBorder:"1",borderColor:"#eeeeee",borderThickness:"1",borderAlpha:"50",entityFillhoverColor:"#0075c2",entityFillhoverAlpha:"80",connectorColor:"#cccccc",connectorThickness:"1.5",markerFillHoverAlpha:"90"}},pie2d:{chart:{placeValuesInside:"0",use3dlighting:"0",valueFontColor:"#333333",captionPadding:"15"},data:function(c,a,b){a=window.Math;return{alpha:100-
(50<b?a.round(100/a.ceil(b/10)):20)*a.floor(c/10)}}},doughnut2d:{chart:{placeValuesInside:"0",use3dlighting:"0",valueFontColor:"#333333",centerLabelFontSize:"12",centerLabelBold:"1",centerLabelFontColor:"#333333",captionPadding:"15"},data:function(c,a,b){a=window.Math;return{alpha:100-(50<b?a.round(100/a.ceil(b/10)):20)*a.floor(c/10)}}},line:{chart:{lineThickness:"2"}},spline:{chart:{lineThickness:"2"}},column2d:{chart:{paletteColors:"#0075c2",valueFontColor:"#ffffff",placeValuesInside:"1",rotateValues:"1"}},
bar2d:{chart:{paletteColors:"#0075c2",valueFontColor:"#ffffff",placeValuesInside:"1"}},column3d:{chart:{paletteColors:"#0075c2",valueFontColor:"#ffffff",placeValuesInside:"1",rotateValues:"1"}},bar3d:{chart:{paletteColors:"#0075c2",valueFontColor:"#ffffff",placeValuesInside:"1"}},area2d:{chart:{valueBgColor:"#ffffff",valueBgAlpha:"90",valueBorderPadding:"-2",valueBorderRadius:"2"}},splinearea:{chart:{valueBgColor:"#ffffff",valueBgAlpha:"90",valueBorderPadding:"-2",valueBorderRadius:"2"}},mscolumn2d:{chart:{valueFontColor:"#ffffff",
placeValuesInside:"1",rotateValues:"1"}},mscolumn3d:{chart:{showValues:"0"}},msstackedcolumn2dlinedy:{chart:{showValues:"0"}},stackedcolumn2d:{chart:{showValues:"0"}},stackedarea2d:{chart:{valueBgColor:"#ffffff",valueBgAlpha:"90",valueBorderPadding:"-2",valueBorderRadius:"2"}},stackedbar2d:{chart:{showValues:"0"}},msstackedcolumn2d:{chart:{showValues:"0"}},mscombi3d:{chart:{showValues:"0"}},mscombi2d:{chart:{showValues:"0"}},mscolumn3dlinedy:{chart:{showValues:"0"}},stackedcolumn3dline:{chart:{showValues:"0"}},
stackedcolumn2dline:{chart:{showValues:"0"}},scrollstackedcolumn2d:{chart:{valueFontColor:"#ffffff"}},scrollcombi2d:{chart:{showValues:"0"}},scrollcombidy2d:{chart:{showValues:"0"}},logstackedcolumn2d:{chart:{showValues:"0"}},logmsline:{chart:{showValues:"0"}},logmscolumn2d:{chart:{showValues:"0"}},msstackedcombidy2d:{chart:{showValues:"0"}},scrollcolumn2d:{chart:{valueFontColor:"#ffffff",placeValuesInside:"1",rotateValues:"1"}},pareto2d:{chart:{paletteColors:"#0075c2",showValues:"0"}},pareto3d:{chart:{paletteColors:"#0075c2",
showValues:"0"}},angulargauge:{chart:{pivotFillColor:"#ffffff",pivotRadius:"4",gaugeFillMix:"{light+0}",showTickValues:"1",majorTMHeight:"12",majorTMThickness:"2",majorTMColor:"#000000",minorTMNumber:"0",tickValueDistance:"10",valueFontSize:"24",valueFontBold:"1",gaugeInnerRadius:"50%",showHoverEffect:"0"},dials:{dial:[{baseWidth:"10",rearExtension:"7",bgColor:"#000000",bgAlpha:"100",borderColor:"#666666",bgHoverAlpha:"20"}]}},hlineargauge:{chart:{pointerFillColor:"#ffffff",gaugeFillMix:"{light+0}",
showTickValues:"1",majorTMHeight:"3",majorTMColor:"#000000",minorTMNumber:"0",valueFontSize:"18",valueFontBold:"1"},pointers:{pointer:[{}]}},bubble:{chart:{use3dlighting:"0",showplotborder:"0",showYAxisLine:"1",yAxisLineThickness:"1",yAxisLineColor:"#999999",showAlternateHGridColor:"0",showAlternateVGridColor:"0"},categories:[{verticalLineDashed:"1",verticalLineDashLen:"1",verticalLineDashGap:"1",verticalLineThickness:"1",verticalLineColor:"#000000",category:[{}]}],vtrendlines:[{line:[{alpha:"0"}]}]},
scatter:{chart:{use3dlighting:"0",showYAxisLine:"1",yAxisLineThickness:"1",yAxisLineColor:"#999999",showAlternateHGridColor:"0",showAlternateVGridColor:"0"},categories:[{verticalLineDashed:"1",verticalLineDashLen:"1",verticalLineDashGap:"1",verticalLineThickness:"1",verticalLineColor:"#000000",category:[{}]}],vtrendlines:[{line:[{alpha:"0"}]}]},boxandwhisker2d:{chart:{valueBgColor:"#ffffff",valueBgAlpha:"90",valueBorderPadding:"-2",valueBorderRadius:"2"}},thermometer:{chart:{gaugeFillColor:"#0075c2"}},
cylinder:{chart:{cylFillColor:"#0075c2"}},sparkline:{chart:{linecolor:"#0075c2"}},sparkcolumn:{chart:{plotFillColor:"#0075c2"}},sparkwinloss:{chart:{winColor:"#0075c2",lossColor:"#1aaf5d",drawColor:"#f2c500",scoreLessColor:"#f45b00"}},hbullet:{chart:{plotFillColor:"#0075c2",targetColor:"#1aaf5d"}},vbullet:{chart:{plotFillColor:"#0075c2",targetColor:"#1aaf5d"}}}});