/*
 FusionCharts JavaScript Library
 Copyright FusionCharts Technologies LLP
 License Information at <http://www.fusioncharts.com/license>

 @version 3.11.2
 FusionCharts JavaScript Library
 Copyright FusionCharts Technologies LLP
 License Information at <http://www.fusioncharts.com/license>

 @version 3.11.2
 FusionCharts JavaScript Library
 Copyright FusionCharts Technologies LLP
 License Information at <http://www.fusioncharts.com/license>
*/
(function(Gb,Ib){"object"===typeof module&&module.exports?module.exports=Gb.document?Ib(Gb):function(d){if(!d.document)throw Error("Window with document not present");return Ib(d,!0)}:Gb.FusionCharts=Ib(Gb,!0)})("undefined"!==typeof window?window:this,function(Gb,Ib){"undefined"===typeof Gb&&"object"===typeof window&&(Gb=window);(function(d){if(!d.FusionCharts||!d.FusionCharts.version){var m=d.document,E=d.navigator,n={window:d},C=n.modules={},B=n.interpreters={},K=Object.prototype.toString,a=/msie/i.test(E.userAgent)&&
!d.opera,M=/loaded|complete/,f=!1,l=function(){var a=n.ready;n.ready=!0;n.raiseEvent&&(n.readyNotified=!0,n.raiseEvent("ready",{version:n.core.version,now:!a},n.core));n.readyNow=!a},O=function(a,f){var A,q;if(f instanceof Array)for(A=0;A<f.length;A+=1)"object"!==typeof f[A]?a[A]=f[A]:("object"!==typeof a[A]&&(a[A]=f[A]instanceof Array?[]:{}),O(a[A],f[A]));else for(A in f)"object"===typeof f[A]?(q=K.call(f[A]),"[object Object]"===q?("object"!==typeof a[A]&&(a[A]={}),O(a[A],f[A])):"[object Array]"===
q?(a[A]instanceof Array||(a[A]=[]),O(a[A],f[A])):a[A]=f[A]):a[A]=f[A];return a};n.extend=function(a,f,A,q){var c;A&&a.prototype&&(a=a.prototype);if(!0===q)O(a,f);else for(c in f)a[c]=f[c];return a};n.uniqueId=function(){return"chartobject-"+(n.uniqueId.lastId+=1)};n.uniqueId.lastId=0;n.policies={options:{chartTypeSourcePath:["typeSourcePath",""],product:["product","v3"],insertMode:["insertMode","replace"],safeMode:["safeMode",!0],overlayButton:["overlayButton",void 0],containerBackgroundColor:["containerBackgroundColor",
"#ffffff"],containerBackgroundOpacity:["containerBackgroundOpacity",1],containerClassName:["containerClassName","fusioncharts-container"],chartType:["type",void 0],baseChartMessageFont:["baseChartMessageFont","Verdana,sans"],baseChartMessageFontSize:["baseChartMessageFontSize","10"],baseChartMessageColor:["baseChartMessageColor","#666666"],baseChartMessageImageHAlign:["baseChartMessageImageHAlign","middle"],baseChartMessageImageVAlign:["baseChartMessageImageVAlign","middle"],baseChartMessageImageAlpha:["baseChartMessageImageAlpha",
100],baseChartMessageImageScale:["baseChartMessageImageScale",100],dataLoadStartMessage:["dataLoadStartMessage","Retrieving data. Please wait."],dataLoadErrorMessage:["dataLoadErrorMessage","Error in loading data."],dataInvalidMessage:["dataInvalidMessage","Invalid data."],dataEmptyMessage:["dataEmptyMessage","No data to display."],typeNotSupportedMessage:["typeNotSupportedMessage","Chart type not supported."],browserNotSupportedMessage:["browserNotSupportedMessage","This browser is not supported."],
loadMessage:["loadMessage","Loading chart. Please wait."],renderErrorMessage:["renderErrorMessage","Unable to render chart."]},attributes:{lang:["lang","EN"],id:["id",void 0]},width:["width","400"],height:["height","300"],src:["swfUrl",""]};B.stat="swfUrl id width height debugMode registerWithJS backgroundColor scaleMode lang detectFlashVersion autoInstallRedirect".split(" ");n.parsePolicies=function(a,f,A){var q,c,v;for(c in f)if(n.policies[c]instanceof Array)v=A[f[c][0]],a[c]=void 0===v?f[c][1]:
v;else for(q in"object"!==typeof a[c]&&(a[c]={}),f[c])v=A[f[c][q][0]],a[c][q]=void 0===v?f[c][q][1]:v};n.parseCommands=function(a,f,A){var q,c;"string"===typeof f&&(f=B[f]||[]);q=0;for(c=f.length;q<c;q++)a[f[q]]=A[q];return a};n.registrars={module:function(){return n.core.apply(n.core,arguments)}};n.core=function(a){if(!(this instanceof n.core)){if(1===arguments.length&&a instanceof Array&&"private"===a[0]){if(C[a[1]])return;C[a[1]]={};a[3]instanceof Array&&(n.core.version[a[1]]=a[3]);return"function"===
typeof a[2]?a[2].call(n,C[a[1]]):n}if(1===arguments.length&&"string"===typeof a)return n.core.items[a];n.raiseError&&n.raiseError(this,"25081840","run","",new SyntaxError('Use the "new" keyword while creating a new FusionCharts object'))}var f={};this.__state={};1===arguments.length&&"object"===typeof arguments[0]?f=arguments[0]:n.parseCommands(f,B.stat,arguments);1<arguments.length&&"object"===typeof arguments[arguments.length-1]&&(delete f[B.stat[arguments.length-1]],n.extend(f,arguments[arguments.length-
1]));this.id="undefined"===typeof f.id?this.id=n.uniqueId():f.id;this.args=f;n.core.items[this.id]instanceof n.core&&n.raiseWarning(this,"06091847","param","",Error('A FusionCharts object with the specified id "'+this.id+'" already exists. Renaming it to '+(this.id=n.uniqueId())));n.parsePolicies(this,n.policies,f);this.attributes.id=this.id;this.resizeTo&&this.resizeTo(f.width,f.height,!0);this.chartType&&this.chartType(f.type||f.swfUrl,!0);n.raiseEvent("beforeInitialize",f,this);n.core.items[this.id]=
this;n.core.defaultOptions=n.core.options;n.raiseEvent("initialized",f,this);return this};n.core.prototype={};n.core.prototype.constructor=n.core;n.extend(n.core,{id:"FusionCharts",version:["3","11","2"],items:{},options:{},getObjectReference:function(a){return n.core.items[a].ref},register:function(a){return n.registrars[a=a&&a.toString&&a.toString().toLowerCase()]&&n.registrars[a].apply(n.core,Array.prototype.slice.call(arguments,1))},get:function(a){return n.registrars[a=a&&a.toString&&a.toString().toLowerCase()]&&
n.registrars[a].apply(n.core,Array.prototype.slice.call(arguments,1))}});FusionCharts=d.FusionCharts=n.core;d.FusionMaps&&d.FusionMaps.legacy&&(n.core(["private","modules.core.geo",d.FusionMaps.legacy,d.FusionMaps.version]),f=!0);M.test(m.readyState)||m.loaded?(n.ready=!0,setTimeout(l,1)):function(){function O(){arguments.callee.done||(arguments.callee.done=!0,A&&clearTimeout(A),f||(d.FusionMaps&&d.FusionMaps.legacy&&n.core(["private","modules.core.geo",d.FusionMaps.legacy,d.FusionMaps.version]),
d.FusionMaps=n.core),setTimeout(l,1))}function t(){M.test(m.readyState)?O():A=setTimeout(t,10)}var A,q;m.addEventListener?m.addEventListener("DOMContentLoaded",O,!1):m.attachEvent&&d.attachEvent("onLoad",O);if(a)try{"https:"===d.location.protocol?m.write('<script id="__ie_onload_fusioncharts" defer="defer" src="//:">\x3c/script>'):m.write('<script id="__ie_onload_fusioncharts" defer="defer" src="javascript:void(0)">\x3c/script>'),q=m.getElementById("__ie_onload_fusioncharts"),q.onreadystatechange=
function(){"complete"==this.readyState&&O()}}catch(c){}/WebKit/i.test(E.userAgent)&&(A=setTimeout(t,10));d.onload=function(a){return function(){O();a&&a.call&&a.call(d)}}(d.onload)}();d.FusionMaps=n.core}})(Gb);FusionCharts.register("module",["private","modules.mantle.errormanager",function(){var d=this,m=d.window,E={type:"TypeException",range:"ValueRangeException",impl:"NotImplementedException",param:"ParameterException",run:"RuntimeException",comp:"DesignTimeError",undefined:"UnspecifiedException"},
n=function(B,n,a,M,f,l){var O="#"+n+" "+(B?B.id:"unknown-source")+M+" "+l+" >> ";f instanceof Error?(f.name=E[a],f.module="FusionCharts"+M,f.level=l,f.message=O+f.message,O=f.message,m.setTimeout(function(){throw f;},0)):O+=f;n={id:n,nature:E[a],source:"FusionCharts"+M,message:O};d.raiseEvent(l,n,B);if("function"===typeof m["FC_"+l])m["FC_"+l](n)},C;d.raiseError=function(d,m,a,M,f){n(d,m,a,M,f,"Error")};d.raiseWarning=function(d,m,a,M,f){n(d,m,a,M,f,"Warning")};C={outputHelpers:{text:function(d,m){C.outputTo("#"+
d.eventId+" ["+(d.sender.id||d.sender).toString()+'] fired "'+d.eventType+'" event. '+("error"===d.eventType||"warning"===d.eventType?m.message:""))},event:function(d,m){this.outputTo(d,m)},verbose:function(d,m){C.outputTo(d.eventId,d.sender.id,d.eventType,m)}},outputHandler:function(m,n){"function"!==typeof C.outputTo?d.core["debugger"].outputFailed=!0:(d.core["debugger"].outputFailed=!1,C.currentOutputHelper(m,n))},currentOutputHelper:void 0,outputTo:void 0,enabled:!1};C.currentOutputHelper=C.outputHelpers.text;
d.extend(d.core,{"debugger":{syncStateWithCharts:!0,outputFormat:function(d){return d&&"function"===typeof d.toLowerCase&&"function"===typeof C.outputHelpers[d=d.toLowerCase()]?(C.currentOutputHelper=C.outputHelpers[d],!0):!1},outputTo:function(m){"function"===typeof m?C.outputTo=m:null===m&&(d.core["debugger"].enable(!1),delete C.outputTo)},enable:function(m,n,a){var M;"object"===typeof m&&1===arguments.length&&(M=m,m=M.state,n=M.outputTo,a=M.outputFormat);"function"===typeof m&&("string"!==typeof n||
2!==arguments.length&&!M||(a=n),n=m,m=!0);if("boolean"===typeof m&&m!==C.enabled)d.core[(C.enabled=m)?"addEventListener":"removeEventListener"]("*",C.outputHandler);"function"===typeof n&&(C.outputTo=n);d.core["debugger"].outputFormat(a);return C.enabled},enableFirebugLite:function(){var B;m.console&&m.console.firebug?d.core["debugger"].enable(m.console.log,"verbose"):((B=m.document.getElementsByTagName("html"))&&B[0].setAttribute("debug","true"),d.loadScript("https://getfirebug.com/firebug-lite.js#overrideConsole=false,startOpened=true",
function(){d.core["debugger"].enable(m.console.log,"verbose")},"{ startOpened: true }",!0,!0))}},debugMode:{enabled:function(){m.setTimeout(function(){throw Error("Deprecated! Please use FusionCharts.debugger.enable instead.");},0);return d.core["debugger"].enable.apply(d.core["debugger"],arguments)}}},!1)}]);FusionCharts.register("module",["private","modules.mantle.eventmanager",function(){var d=this,m=d.window,E=d.core,n=Object.prototype.toString,C=n.call([]),B=function(a,f,l,A){try{a[0].call(f,
l,A||{})}catch(q){setTimeout(function(){throw q;},0)}},K=function(a,f,l){if(a instanceof Array)for(var A=0,q;A<a.length;A+=1){if(a[A][1]===f.sender||void 0===a[A][1])q=a[A][1]===f.sender?f.sender:d.core,B(a[A],q,f,l),!0===f.detached&&(a.splice(A,1),--A,f.detached=!1);if(!0===f.cancelled)break}},a={unpropagator:function(){return!1===(this.cancelled=!0)},detacher:function(){return!1===(this.detached=!0)},undefaulter:function(){return!1===(this.prevented=!0)},listeners:{},lastEventId:0,addListener:function(f,
l,t){var A,q;if(n.call(f)===C){A=[];for(q=0;q<f.length;q+=1)A.push(a.addListener(f[q],l,t));return A}if("string"!==typeof f)d.raiseError(t||d.core,"03091549","param","::EventTarget.addListener",Error("Unspecified Event Type"));else if("function"!==typeof l)d.raiseError(t||d.core,"03091550","param","::EventTarget.addListener",Error("Invalid Event Listener"));else return f=f.toLowerCase(),a.listeners[f]instanceof Array||(a.listeners[f]=[]),a.listeners[f].push([l,t]),l},removeListener:function(f,l,t){var A;
if("function"!==typeof l)d.raiseError(t||d.core,"03091560","param","::EventTarget.removeListener",Error("Invalid Event Listener"));else if(f instanceof Array)for(A=0;A<f.length;A+=1)a.removeListener(f[A],l,t);else if("string"!==typeof f)d.raiseError(t||d.core,"03091559","param","::EventTarget.removeListener",Error("Unspecified Event Type"));else if(f=f.toLowerCase(),f=a.listeners[f],f instanceof Array)for(A=0;A<f.length;A+=1)f[A][0]===l&&f[A][1]===t&&(f.splice(A,1),--A)},triggerEvent:function(f,l,
t,A,q,c){if("string"!==typeof f)d.raiseError(l,"03091602","param","::EventTarget.dispatchEvent",Error("Invalid Event Type"));else{f=f.toLowerCase();var v={eventType:f,eventId:a.lastEventId+=1,sender:l||Error("Orphan Event"),cancelled:!1,stopPropagation:this.unpropagator,prevented:!1,preventDefault:this.undefaulter,detached:!1,detachHandler:this.detacher};K(a.listeners[f],v,t);K(a.listeners["*"],v,t);switch(v.prevented){case !0:if("function"===typeof c)try{c.call(A||l||m,v,t||{})}catch(M){setTimeout(function(){throw M;
},0)}break;default:if("function"===typeof q)try{q.call(A||l||m,v,t||{})}catch(M){setTimeout(function(){throw M;},0)}}return!0}}},M=d.raiseEvent=function(f,l,t,A,q,c){return a.triggerEvent(f,t,l,A,q,c)},f=d.legacyEventList={},l={};d.disposeEvents=function(f){var l,t;for(l in a.listeners)for(t=0;t<a.listeners[l].length;t+=1)a.listeners[l][t][1]===f&&a.listeners[l].splice(t,1)};d.raiseEventWithLegacy=function(a,l,t,A,q,c,v){var d=f[a];M(a,l,t,q,c,v);d&&"function"===typeof m[d]&&setTimeout(function(){m[d].apply(q||
m,A)},0)};d.raiseEventGroup=function(a,f,d,A,q,c,v){var m=A.id,e=a+m;l[e]?(clearTimeout(l[e]),delete l[e]):m&&e?l[e]=setTimeout(function(){M(f,d,A,q,c,v);delete l[e]},0):M(f,d,A,q,c,v)};d.addEventListener=function(f,l){return a.addListener(f,l)};d.removeEventListener=function(f,l){return a.removeListener(f,l)};d.extend(E,{addEventListener:function(f,l){return a.addListener(f,l)},removeEventListener:function(f,l){return a.removeListener(f,l)},ready:function(a,f,l){d.ready?(E.ready=function(a,q){"function"===
typeof a&&setTimeout(function(){a.call(q||E,f||E)},0)},E.ready(a,l)):"function"===typeof a&&E.addEventListener("ready",function(){E.ready(a,f,l)});return this}});E.on=E.addEventListener;d.extend(E.prototype,{addEventListener:function(f,l){return a.addListener(f,l,this)},removeEventListener:function(f,l){return a.removeListener(f,l,this)}});E.prototype.on=E.prototype.addEventListener;d.policies.options.events=["events",{}];d.addEventListener("beforeInitialize",function(a){a=a.sender;var f=a.options.events,
l;if(f)for(l in f)"function"===typeof f[l]&&a.addEventListener(l,f[l])});d.ready&&!d.readyNotified&&(d.readyNotified=!0,d.raiseEvent("ready",{version:d.core.version,now:d.readyNow},d.core))}]);FusionCharts.register("module",["private","modules.mantle.ajax",function(){var d=this,m=d.window,E=parseFloat(m.navigator.appVersion.split("MSIE")[1]),n=5.5<=E&&7>=E?!0:!1,C=/mozilla/i.test(m.navigator.userAgent),B="file:"===m.location.protocol,K=m.ActiveXObject,a=(!K||!B)&&m.XMLHttpRequest,M={objects:0,xhr:0,
requests:0,success:0,failure:0,idle:0},f=function(){var l;if(a)return f=function(){M.xhr++;return new a},f();try{l=new K("Msxml2.XMLHTTP"),f=function(){M.xhr++;return new K("Msxml2.XMLHTTP")}}catch(d){try{l=new K("Microsoft.XMLHTTP"),f=function(){M.xhr++;return new K("Microsoft.XMLHTTP")}}catch(m){l=!1}}return l};d.core.ajax={stats:function(a){return a?M[a]:d.extend({},M)},headers:{"If-Modified-Since":"Sat, 29 Oct 1994 19:43:31 GMT","X-Requested-With":"XMLHttpRequest","X-Requested-By":"FusionCharts",
Accept:"text/plain, */*","Content-Type":"application/x-www-form-urlencoded; charset=UTF-8"}};E=d.ajax=function(a,f){this.onSuccess=a;this.onError=f;this.open=!1;M.objects++;M.idle++};d.extend(E.prototype,{headers:d.core.ajax.headers,transact:function(a,O,X,t){var A=this,q=A.xmlhttp,c=A.headers,v=A.onError,L=A.onSuccess;a="POST"===a;var e,r=Object.prototype.hasOwnProperty,H;-1!==O.search(/^(http:\/\/|https:\/\/)/)&&m.location.hostname!==/(http:\/\/|https:\/\/)([^\/\:]*)/.exec(O)[2]?delete c["X-Requested-By"]:
!r.call(c,"X-Requested-By")&&(c["X-Requested-By"]="FusionCharts");if(!q||n||C)q=f(),A.xmlhttp=q;q.onreadystatechange=function(){try{4===q.readyState&&(!q.status&&B||200<=q.status&&300>q.status||304===q.status||1223===q.status||0===q.status?(L&&L(q.responseText,A,t,O),M.success++):v&&(v(Error("XmlHttprequest Error"),A,t,O),M.failure++),M.idle--,A.open=!1)}catch(a){v&&v(a,A,t,O),m.FC_DEV_ENVIRONMENT&&setTimeout(function(){throw a;},0),M.failure++}};try{q.open(a?"POST":"GET",O,!0);q.overrideMimeType&&
q.overrideMimeType("text/plain");if(a)if("string"===typeof X)e=X;else{e=[];for(H in X)e.push(H+"="+(X[H]+"").replace(/\=/g,"%3D").replace(/\&/g,"%26"));e=e.join("&")}else e=null;for(H in c)q.setRequestHeader(H,c[H]);q.send(e);M.requests++;M.idle++;A.open=!0}catch(z){d.raiseError(d.core,"1110111515A","run","XmlHttprequest Error",z.message)}return q},get:function(a,f){return this.transact("GET",a,void 0,f)},post:function(a,f,d){return this.transact("POST",a,f,d)},abort:function(){var a=this.xmlhttp;
this.open=!1;return a&&"function"===typeof a.abort&&a.readyState&&0!==a.readyState&&a.abort()},dispose:function(){this.open&&this.abort();delete this.onError;delete this.onSuccess;delete this.xmlhttp;delete this.open;M.objects--;return null}})}]);FusionCharts.register("module",["private","modules.mantle.runtime;1.1",function(){var d=this,m=d.window,E=/(^|[\/\\])(fusioncharts\.js)([\?#].*)?$/ig,n=/[\\\"<>;&]/,C=/^[^\S]*?(sf|f|ht)(tp|tps):\/\//i,B={},K={},a={},M={},f=d.purgeDOM=function(a){var l=a.attributes,
A,q;if(l)for(A=l.length-1;0<=A;--A)q=l[A].name,"function"===typeof a[q]&&(a[q]=null);if(l=a.childNodes)for(l=l.length,A=0;A<l;A+=1)f(a.childNodes[A])},l=function(a,f,A){var q,c;for(q in a)if(a[q]instanceof Array)f[a[q][0]]=A[q];else for(c in a[q])f[a[q][c][0]]=A[q][c]},O=/^(FusionCharts|FusionWidgets|FusionMaps)/;d.getScriptBaseUri=function(a){var f=m.document.getElementsByTagName("script"),A=f.length,q,c;for(c=0;c<A;c+=1)if(q=f[c].getAttribute("src"),void 0!==q&&null!==q&&null!==q.match(a))return q.replace(a,
"$1")};d.core.options.scriptBaseUri=function(){var a=d.getScriptBaseUri(E);return void 0===a?(d.raiseError(FusionCharts,"1603111624","run",">GenericRuntime~scriptBaseUri","Unable to locate FusionCharts script source location (URL)."),""):a}();d.isXSSSafe=function(a,f){return f&&null!==C.exec(a)?!1:null===n.exec(a)};d.xssEncode=function(a){return null===a||void 0===a||"function"!==typeof a.toString?"":a=a.toString().replace(/&/g,"&amp;").replace(/\'/g,"&#39;").replace(/\"/g,"&quot;").replace(/</g,
"&lt;").replace(/>/g,"&gt;")};d.loadScript=function(f,l,A,q,c){if(!f)return!1;var v=l&&l.success||l,L=l&&l.failure,e,r=d.hcLib,H=r.priorityList,z=r.schedular.addJob,P={type:"script",success:!1},G=function(){M[e]=clearTimeout(M[e]);P.success?v&&v(f,e):L&&L(f,e);d.raiseEvent("externalresourceload",P,d.core)};c=c?"":d.core.options.scriptBaseUri;e=c+f;d.isXSSSafe(e,!1)||(e="function"===typeof m.encodeURIComponent?m.encodeURIComponent(e):m.escape(e));P.path=c;P.src=e;P.file=f;if(!0===a[e]&&q)return P.success=
!0,P.notReloaded=!0,"function"===typeof l&&(l(),d.raiseEvent("externalresourceload",P,d.core)),!0;if(B[e]&&q)return!1;B[e]=!0;K[e]&&K[e].parentNode&&K[e].parentNode.removeChild(K[e]);l=K[e]=m.document.createElement("script");l.type="text/javascript";l.src=e;A&&(l["\v"==="v"?"text":"innerHTML"]=A);"function"===typeof v&&(a[e]=!1,M[e]=clearTimeout(M[e]),l.onload=function(){a[e]=!0;P.success=!0;z(G,void 0,void 0,H.render)},l.onerror=function(){a[e]=!1;B[e]=!1;z(G,void 0,void 0,H.render)},l.onreadystatechange=
function(){if("complete"===this.readyState||"loaded"===this.readyState)a[e]=!0,P.success=!0,z(G,void 0,void 0,H.render)});m.document.getElementsByTagName("head")[0].appendChild(l);"function"===typeof L&&(M[e]=setTimeout(function(){a[e]||G()},d.core.options.html5ResourceLoadTimeout||15E3));return!0};d.capitalizeString=function(a,f){return a?a.replace(f?/(^|\s)([a-z])/g:/(^|\s)([a-z])/,function(a,q,c){return q+c.toUpperCase()}):a};d.extend(d.core,{clone:function(a,f){var A=typeof a,q,c=d.extend({},
this.args,!1,!1);l(d.policies,c,this);l(d.renderer.getRendererPolicy(this.options.renderer),c,this);delete c.id;delete c.animate;delete c.stallLoad;q=c.link;c=d.extend({},c,!1,!1);c.link=q;switch(A){case "object":d.extend(c,a);break;case "boolean":f=a}return f?c:new d.core(c)},isActive:function(){if(!this.ref||m.document.getElementById(this.id)!==this.ref)return!1;try{return O.test(this.ref.signature())}catch(a){return!1}},chartType:function(a,f){var A=this.src,q=!0===f,c=this.options,v;"string"===
typeof a&&(f="object"===typeof f?f:{},A=a.replace(/[\?\#][\s\S]*$/g,""),v=null!==A.match(/\.swf\s*?$/ig),A=A.replace(/\.swf\s*?$/ig,""),c.chartType=A.replace(/^[\s\S]*\//ig,"").replace(/^fcmap_/i,""),c.chartTypeSourcePath=-1===A.indexOf("/")?f.chartTypeSourcePath||this.options.chartTypeSourcePath||d.core.options.chartTypeSourcePath||"":A.replace(/[^\/]*?$/ig,""),this.src=((d.core.options.scriptBaseUri||"")+(c.chartTypeSourcePath||d.core.options.chartTypeSourcePath||"")).replace(/\/\s*$/g,"")+"/"+
c.chartType.replace(/\.swf\s*?$/ig,"")+".swf",v&&(d.raiseWarning(this,"08101320181","comp","FusionCharts#chartType",'Chart type has ".swf" in alias and as such has been deprecated. Please use chart type alias.'),c.chartTypeSourcePath=d.core.options.chartTypeSourcePath||""),void 0!==f.dataSource&&null!==f.dataSource?this.setChartData(f.dataSource,f.dataFormat,f.dataConfiguration):this.isActive()&&!q&&this.render());return(c.chartType||"").toLowerCase()}},!0);m.getChartFromId=function(a){d.raiseWarning(this,
"11133001041","comp","GenericRuntime~getObjectFromId()",'Use of deprecated getChartFromId() or getMapFromId(). Replace with "FusionCharts()" or FusionCharts.items[].');return d.core.items[a]instanceof d.core?d.core.items[a].ref:m.swfobject&&m.swfobject.getObjectById(a)};m.getMapFromId=m.getChartFromId}]);FusionCharts.register("module",["private","api.printmanager",function(){var d=this;d.extend(d.core,{printManager:{configure:function(){d.raiseWarning(d.core,"28141714","impl",".printManager.configure",
"PrintManager is deprecated")},isReady:function(){d.raiseWarning(d.core,"28141714","impl",".printManager.isReady","PrintManager is deprecated");return!1},enabled:function(){d.raiseWarning(d.core,"28141714","impl",".printManager.enabled","PrintManager is deprecated");return!1},managedPrint:function(){d.raiseWarning(d.core,"28141714","impl",".printManager.managedPrint","PrintManager is deprecated")}}},!1)}]);FusionCharts.register("module",["private","modules.interface.renderer",function(){var d=this,
m=d.window,E=m.document,n=function(){d.raiseError(this,"25081845","run","::RendererManager",Error("No active renderer"))},C=d.FusionChartsDOMInsertModes={REPLACE:"replace",APPEND:"append",PREPEND:"prepend"},B={undefined:{render:n,remove:n,update:n,resize:n,config:n,policies:{}}},K={},a=function(a){return function(){var q=this.ref;if(void 0===q||null===q||"function"!==typeof q[a])d.raiseError(this,"25081617","run","#"+a+"()","ExternalInterface call failed. Check whether chart has been rendered.");
else return q[a].apply(q,arguments)}},M=function(a,q){return"function"===typeof a[q]?function(){return a[q].apply(a,arguments)}:a[q]},f=function(a,q){var c=E.getElementById(a),f=q.id||q.getAttribute("id"),l,e;if(null===c)return!1;if(a===f)return!0;f=q.getElementsByTagName("*");l=0;for(e=f.length;l<e;l++)if(f[l]===c)return!1;return!0},l=/[^\%\d]*$/ig,O=function(){var a=function(q){var c=q.parentNode;if(9===c.nodeType)return!1;var f="display";m.getComputedStyle?f=m.getComputedStyle(q)[f]:q.currentStyle&&
(f=q.currentStyle[f]);return"none"===f?!0:c?a(c):!1};return a}(),X=function(){var a={},q,c=function(){var f=0,l=parseInt(d.core.options.visibilityTrackingInterval,10)||300,e,r,H,z,M;for(e in a)if(f+=1,r=a[e].chart,H=a[e].container,z=a[e].insertMode,M=a[e].callback,r.disposed||!O(H))delete a[e],--f,!r.disposed&&r.renderChart.call(r,H,z,M);q=f?setTimeout(c,l):clearTimeout(q)};return function(f,l,e,r){a[f.id]={chart:f,container:l,insertMode:e,callback:r};q||(q=setTimeout(c,parseInt(d.core.options.visibilityTrackingInterval,
10)||300))}}(),t;d.policies.options.containerElementId=["renderAt",void 0];d.policies.options.renderer=["renderer",void 0];d.policies.options.containerElementType=["containerElementType",void 0];d.policies.options.visibilityTrackingInterval=300;d.normalizeCSSDimension=function(a,q,c){a=void 0===a?c.offsetWidth||parseFloat(c.style.width):a;q=void 0===q?c.offsetHeight||parseFloat(c.style.height):q;var f={},l=c.style,e;l.width=a=a.toString?a.toString():"0";l.height=q=q.toString?q.toString():"0";if((f.widthIsRelative=
a.match(/^\s*\d*\.?\d*\%\s*$/)&&!a.match(/^\s*0\%\s*$/))&&0===c.offsetWidth)for(e=c;e=e.offsetParent;)if(0<e.offsetWidth){a=(e.offsetWidth*parseFloat(a.match(/\d*/)[0])/100).toString();break}if((f.heightIsRelative=q.match(/^\s*\d*\.?\d*\%\s*$/)&&!q.match(/^\s*0\%\s*$/))&&20>=c.offsetHeight)for(e=c;e=e.offsetParent;)if(0<e.offsetHeight){q=(e.offsetHeight*parseFloat(q.match(/\d*/)[0])/100).toString();break}f.width=a.replace?a.replace(/^\s*(\d*\.?\d*)\s*$/ig,"$1px"):a;f.height=q.replace?q.replace(/^\s*(\d*\.?\d*)\s*$/ig,
"$1px"):q;l.width=f.width;l.height=f.height;f.pixelWidth=f.widthIsRelative?c.offsetWidth:parseInt(f.width,10)||0;f.pixelHeight=f.heightIsRelative?c.offsetHeight:parseInt(f.height,10)||0;return f};t=d.renderer={register:function(a,q){if(!a||"function"!==typeof a.toString)throw Error("#03091436 ~renderer.register() Invalid value for renderer name.");a=a.toString().toLowerCase();if(void 0!==B[a])return d.raiseError(d.core,"03091438","param","::RendererManager>register",'Duplicate renderer name specified in "name"'),
!1;B[a]=q;return!0},userSetDefault:!1,setDefault:function(a){if(!a||"function"!==typeof a.toString)return d.raiseError(d.core,"25081731","param","::RendererManager>setDefault",'Invalid renderer name specified in "name"'),!1;if(void 0===B[a=a.toString().toLowerCase()])return d.raiseError(d.core,"25081733","range","::RendererManager>setDefault","The specified renderer does not exist."),!1;this.userSetDefault=!1;d.policies.options.renderer=["renderer",a];return!0},notifyRender:function(a){var q=d.core.items[a&&
a.id];q&&(!1!==a.success||a.silent)||d.raiseError(d.core.items[a.id],"25081850","run","::RendererManager",Error("There was an error rendering the chart. Enable FusionCharts JS debugger for more information."));if(q.ref=a.ref)a.ref.FusionCharts=d.core.items[a.id];d.raiseEvent("internal.DOMElementCreated",{},q)},protectedMethods:{options:!0,attributes:!0,src:!0,ref:!0,constructor:!0,signature:!0,link:!0,addEventListener:!0,removeEventListener:!0},getRenderer:function(a){return B[a]},getRendererPolicy:function(a){a=
B[a].policies;return"object"===typeof a?a:{}},currentRendererName:function(){return d.policies.options.renderer[1]},update:function(a){K[a.id].update.apply(a,Array.prototype.slice.call(arguments,1))},render:function(a){K[a.id].render.apply(a,Array.prototype.slice.call(arguments,1))},remove:function(a){K[a.id].remove.apply(a,Array.prototype.slice.call(arguments,1))},resize:function(a){K[a.id].resize.apply(a,Array.prototype.slice.call(arguments,1))},config:function(a){K[a.id].config.apply(a,Array.prototype.slice.call(arguments,
1))},dispose:function(a){K[a.id].dispose.apply(a,Array.prototype.slice.call(arguments,1))}};d.addEventListener("beforeInitialize",function(a){a=a.sender;var q=a.options.renderer.toLowerCase(),c;"string"===typeof a.options.renderer&&void 0===B[q]&&(a.options.renderer=d.policies.options.renderer[1]);a.options.renderer=q;K[a.id]=B[a.options.renderer];!0!==K[a.id].initialized&&"function"===typeof K[a.id].init&&(K[a.id].init(),K[a.id].initialized=!0);d.parsePolicies(a,K[a.id].policies||{},a.args);for(c in K[a.id].prototype)a[c]=
K[a.id].prototype[c];for(c in K[a.id].events)a.addEventListener(c,K[a.id].events[c])});d.addEventListener(["rendered","dataloaderror","nodatatodisplay","rendercancelled"],function(a,q){var c=a.sender;c instanceof d.core&&c.__state&&c.__state.rendering&&(d.raiseEvent("internal.rendered",q,c),delete c.__state.rendering)});d.addEventListener("loaded",function(f){var q=f.sender;f=f.sender.ref;var c,v;if(void 0!==f&&null!==f&&"function"===typeof f.getExternalInterfaceMethods){try{c=f.getExternalInterfaceMethods(),
c="string"===typeof c?c.split(","):[]}catch(l){c=[],d.raiseError(q,"13111126041","run","RendererManager^Loaded",Error("Error while retrieving data from the chart-object."+(l.message&&0<=l.message.indexOf("NPObject")?" Possible cross-domain security restriction.":"")))}for(f=0;f<c.length;f+=1)v=c[f],void 0===q[v]&&(q[v]=a(v));if(q.ref)for(v in c=t.protectedMethods,f=t.getRenderer(q.options.renderer).protectedMethods,q)if(f&&!c[v]&&!f[v]&&void 0===q.ref[v])try{q.ref[v]=M(q,v)}catch(l){}}});d.legacyEventList.resized=
"FC_Resized";d.extend(d.core.prototype,{render:function(a,f,c){var v=d.hcLib;c?"function"!==typeof c&&(c=void 0):"function"===typeof f?(c=f,f=void 0):f||"function"!==typeof a||(c=a,a=void 0);void 0===a&&(a=this.options.containerElementId);"string"===typeof a&&(a=E.getElementById(a));if(void 0===a||null===a)return d.raiseError(this,"03091456","run",".render()",Error("Unable to find the container DOM element.")),this;O(a)?X(this,a,f,c):this.args.asyncRender?v.schedular.addJob(this.renderChart,this,
[a,f,c],v.priorityList.render):this.renderChart.call(this,a,f,c);return this},renderChart:function(a,q,c){var v=this,l,e,r;if(!this.disposed){if((r=m[this.id])&&r.FusionCharts&&r.FusionCharts===this||(r=this.ref)&&r.FusionCharts&&r.FusionCharts===this)d.renderer.dispose(this),r===m[this.id]&&(m[this.id]=void 0);void 0!==m[this.id]&&d.raiseError(this,"25081843","comp",".render",Error("#25081843:IECompatibility() Chart Id is same as a JavaScript variable name. Variable naming error. Please use unique name forchart JS variable, chart-id and container id."));
c?"function"!==typeof c&&(c=void 0):"function"===typeof q?(c=q,q=void 0):q||"function"!==typeof a||(c=a,a=void 0);q=(q||this.options.insertMode).toLowerCase()||C.REPLACE;void 0===a&&(a=this.options.containerElementId);"string"===typeof a&&(a=E.getElementById(a));if(void 0===a||null===a)return d.raiseError(this,"03091456","run",".render()",Error("Unable to find the container DOM element.")),this;if(f(this.id,a))return d.raiseError(this,"05102109","run",".render()",Error("A duplicate object already exists with the specific Id: "+
this.id)),this;l=E.createElement(this.options.containerElementType||"span");l.setAttribute("id",this.id);if("append"!==q&&"prepend"!==q)for(;a.hasChildNodes();)a.removeChild(a.firstChild);"prepend"===q&&a.firstChild?a.insertBefore(l,a.firstChild):a.appendChild(l);this.options.containerElement=a;this.options.containerElementId=a.id;if(q=l.style)q.position="relative",q.textAlign="left",q.lineHeight="normal",q.display="inline-block",q.zoom="1",q["vertical-align"]="middle",q.fontWeight="normal",q.fontVariant=
"normal",q.fontStyle="normal",q.textDecoration="none",q["*DISPLAY"]="inline",q.padding="0",q.margin="0",q.border="none",q.direction="ltr";this.options.containerClassName&&(l.className=this.options.containerClassName);q=d.normalizeCSSDimension(this.width,this.height,l);this.__state.renderedWidth=q.pixelWidth;this.__state.renderedHeight=q.pixelHeight;this.__state.rendering=!0;d.raiseEvent("beforeRender",e={container:a,width:this.width,height:this.height,renderer:this.options.renderer},this,void 0,function(a,
e){!0!==this.disposed&&d.renderer.render(v,l,function(){d.renderer.notifyRender.apply(this,arguments);if(c)try{c.call(a.sender,e.container)}catch(r){setTimeout(function(){throw r;})}})},function(){d.raiseEvent("renderCancelled",e,v)});return this}},remove:function(){d.renderer.remove(this);return this},resizeTo:function(a,f,c){var v=this,M=v.width,e=v.height,r=v.__state;(v.apiInstance&&v.apiInstance.config||{}).resize=!0;"object"===typeof a&&(c=f,f=a.h,a=a.w);a=null===a||void 0===a?M:a.toString().replace(l,
"");f=null===f||void 0===f?e:f.toString().replace(l,"");!0!==c?d.raiseEvent("beforeresize",{currentWidth:M,currentHeight:e,newWidth:a,newHeight:f},v,void 0,function(){v.width=a;v.height=f;d.renderer.resize(v,{width:a,height:f});d.raiseEventWithLegacy("resized",{width:v.width,height:v.height,prevWidth:M,prevHeight:e,pixelWidth:v.ref&&v.ref.offsetWidth||0,pixelHeight:v.ref&&v.ref.offsetHeight||0,originalWidth:r.renderedWidth,originalHeight:r.renderedHeight},v,[v.id,v.width,v.height])},function(){d.raiseEvent("resizecancelled",
{currentWidth:M,currentHeight:e,cancelledTargetWidth:a,cancelledTargetHeight:f},v)}):(v.width=a,v.height=f);return this},dispose:function(){var a=this,f={};d.raiseEvent("beforeDispose",f,a,void 0,function(){d.renderer.dispose(a);d.raiseEvent("disposed",f,a);d.disposeEvents(a);delete d.core.items[a.id];for(var c in a)a.hasOwnProperty(c)&&delete a[c];a.disposed=!0},function(){d.raiseEvent("disposeCancelled",f,a)})},configure:function(a,f){var c;a&&("string"===typeof a?(c={},c[a]=f):c=a,d.renderer.config(this,
c))}});d.extend(d.core,{setCurrentRenderer:function(){var a=t.setDefault.apply(t,arguments);t.userSetDefault=!0;return a},getCurrentRenderer:function(){return t.currentRendererName.apply(t,arguments)},render:function(a,f){return a instanceof d.core?(a.render(f),a):(new d.core(a)).render(f)}},!1)}]);FusionCharts.register("module",["private","modules.interface.transcoder",function(){var d=this,m=d.window,E=d.transcoders={},n={},C={},B=/url$/i,K=d._interactiveCharts={selectscatter:[!0,!1],dragcolumn2d:[!0,
!0],dragarea:[!0,!0],dragline:[!0,!0],dragnode:[!0,!0]},a=function(a,c,v,A){var e=v.obj;v=v.args;v.dataSource=a;v.xmlHttpRequestObject=c;v.source="XmlHttpRequest";v.url=A;d.raiseEvent("dataLoadRequestCompleted",v,e,void 0,f,l)},M=function(a,c,f){var l=f.obj;f=f.args;f.error=a;f.httpStatus=c.xhr&&c.xhr.status?c.xhr.status:-1;f.xmlHttpRequestObject=c;d.raiseEvent("dataLoadError",f,l);"function"===typeof m.FC_DataLoadError&&m.FC_DataLoadError(l.id,f)},f=function(a,c){a.sender.setChartData(c.dataSource,
c.dataFormat,c.config,c.successcallback,c.silent)},l=function(a,c){d.raiseEvent("dataLoadCancelled",c,a.sender);c.xmlHttpRequestObject.abort()},O=function(f,c){var v=f.sender,l=v.__state,e=c.url;v.options.dataSource=c.url;l.dhmXhrObj||(l.dhmXhrObj=new d.ajax(a,M));l.dhmXhrObj.get("function"===typeof m.decodeURIComponent?m.decodeURIComponent(e):m.unescape(e),{obj:v,args:c})},X=function(a,c){var f=a.sender,l=f.__state;d.raiseEvent("dataLoadRequestCancelled",c,f);l&&l.dhmXhrObj&&l.dhmXhrObj.abort()},
t=function(a,c){var f=a.sender,l=f.__state,e=f.id;n[e]=c;C[e]&&delete C[e];C[e]={};l.dataReady=void 0;l.dataAvailable=!0;!0!==c.silent&&(!0!==f.options.safeMode||!0!==l.rendering||f.isActive()?(delete l.args,d.renderer.update(f,c)):(l.updatePending=c,d.raiseWarning(f,"23091255","run","::DataHandler~update","Renderer update was postponed due to async loading.")));d.raiseEvent("dataUpdated",c,f,void 0,c.successcallback)},A=function(a,c){d.raiseEvent("dataUpdateCancelled",c,a.sender,void 0,c.failurecallback)};
d.dataFormats={};d.policies.options.dataSource=["dataSource",void 0];d.policies.options.dataFormat=["dataFormat",void 0];d.policies.options.dataConfiguration=["dataConfiguration",void 0];d.policies.options.showDataLoadingMessage=["showDataLoadingMessage",!1];d.addDataHandler=function(a,c){if("string"!==typeof a||void 0!==E[a.toLowerCase()])d.raiseError(d.core,"03091606","param","::DataManager.addDataHandler",Error("Invalid Data Handler Name"));else{var f={},l=a.toLowerCase();E[l]=c;c.name=a;f["set"+
a+"Data"]=function(c,f,v){return this.setChartData(c,a,f,v)};c.transportable&&(f["set"+a+"Url"]=function(c,f,v){return this.setChartDataUrl(c,a,f,v)},d.dataFormats[a+"URL"]=l+"Url");f["get"+a+"Data"]=function(){return this.getChartData(a)};d.dataFormats[a]=l;d.extend(d.core,f,!0)}};d.extend(d.core.prototype,{setChartDataUrl:function(a,c,f,l,e){if(void 0===c||null===c||"function"!==typeof c.toString)c=this.options.dataFormat,d.raiseWarning(this,"03091609","param","FusionCharts#setChartDataUrl","Invalid Data Format. Reverting to current data format - "+
c);c=c.toString().toLowerCase();c=B.test(c)?c.slice(0,-3):c;d.raiseEvent("dataLoadRequested",{source:"XmlHttpRequest",url:a,dataFormat:c,silent:!!e,config:f,successcallback:l},this,void 0,O,X)},setChartData:function(a,c,f,l,e){var r=this.options,H,z;if(void 0===c||null===c||"function"!==typeof c.toString)c=r.dataFormat,d.raiseWarning(this,"03091610","param","FusionCharts#setChartData","Invalid Data Format. Reverting to current data format - "+c);c=c.toString().toLowerCase();B.test(c)?this.setChartDataUrl(a,
c,f,l,e):(r.dataSource=a,H=c,r.dataFormat=c,z=E[H],"undefined"===typeof z?d.raiseError(d.core,"03091611","param","FusionCharts#setChartData",Error("Data Format not recognized")):(c=(c=d.renderer&&d.renderer.getRenderer(r.renderer||d.renderer.currentRendererName()))&&c.dataFormat,f=c===H?z.passthrough?z.passthrough(a,f,r.chartType):{data:a}:z.encode(a,this,f||r.dataConfiguration)||{},f["native"]=c===H,f.format=f["native"]?c:"xml",f.dataFormat=H,f.dataSource=a,f.silent=!!e,"function"===typeof l&&(f.successcallback=
l),d.raiseEvent("beforeDataUpdate",f,this,void 0,t,A)))},getChartData:function(a,c){var f=this.options,l=this.id,e;if(void 0===a||"function"!==typeof a.toString||void 0===(e=E[a=a.toString().toLowerCase()]))d.raiseError(this,"25081543","param","::transcoder~getChartData()",Error('Unrecognized data-format specified in "format"'));else return C[l][a]&&(C[l][a]=null),C[l][a]?f=C[l][a]:n[l]?(a===n[l].format?C[l][a]=n[l]:(C[l].xml||(C[l].xml="xml"===n[l].format?n[l]:E[n[l].format].encode(n[l].data,this,
f.dataConfiguration)),C[l][a]||(C[l][a]=e.decode(C[l].xml.data,this,f.dataConfiguration))),f=C[l][a]):f={error:Error("Data not defined")},!0===!!c?f:f.data},dataReady:function(a){return a?this.__state.dataAvailable:this.__state.dataReady}});d.extend(d.core,{transcodeData:function(a,c,f,l,e){if(c&&"function"===typeof c.toString&&f&&"function"===typeof f.toString&&void 0!==E[f=f.toString().toLowerCase()]&&void 0!==E[c=c.toString().toLowerCase()])return a=E[c].encode(a,this,e),c=E[f].decode(a.data,this,
e,c),c.error instanceof Error||(c.error=a.error),l?c:c.data;d.raiseError(this,"14090217","param",".transcodeData()",Error("Unrecognized data-format specified during transcoding."))}},!1);d.getRenderer&&!d.getRenderer("flash")||d.addEventListener("DataLoadRequested",function(a){var c=a.sender;c.options&&"flash"===c.options.renderer&&c.options.useLegacyXMLTransport&&a.preventDefault()});d.addEventListener("beforeInitialize",function(a){a=a.sender;var c=a.options,f=c.dataSource,l=d.renderer&&d.renderer.getRenderer(c.renderer);
delete n[a.id];C[a.id]={};if(void 0!==f&&null!==f){a.__state.dataSetDuringConstruction=!0;if("string"!==typeof c.dataFormat)switch(typeof f){case "function":f=c.dataSource=f.call(a,c.dataConfiguration);c.dataFormat="JSON";break;case "string":c.dataFormat=/^\s*?\{[\s\S]*\}\s*?$/g.test(a.options.dataFormat)?"JSON":"XML";break;case "object":c.dataFormat="JSON"}c.dataFormat&&c.dataFormat.toString&&(a.__state.dataFetchDuringConstruction=B.test(c.dataFormat.toString()));a.setChartData(f,c.dataFormat,void 0,
void 0,!0)}else l&&(a.__state.dataSetDuringConstruction=!1,d.raiseWarning(a,"1810131922A","param",":dataHandler~event:beforeInitialize","Data source was not defined during construction, hence set to blank renderer default - "+l.dataFormat),a.setChartData("",l.dataFormat,void 0,void 0,!0),a.__state.dataAvailable=!1)});d.addEventListener("beforeDispose",function(a){var c=a.sender;delete n[a.sender.id];delete C[a.sender.id];c&&c.__state&&c.__state.dhmXhrObj&&c.__state.dhmXhrObj.abort()});d.addEventListener("disposed",
function(a){delete C[a.sender.id]});d.addEventListener("loaded",function(a){a=a.sender;var c=a.__state.updatePending;a instanceof d.core&&void 0!==c&&(delete a.__state.updatePending,d.renderer.update(a,c))});d.addEventListener("dataUpdated",function(a,c){var f=a.sender,l=f.__state;l.rendering&&(l.dataFetchDuringConstruction||l.updatePending)&&(delete l.dataFetchDuringConstruction,delete l.updatePending,d.renderer.update(f,c))});d.addEventListener(["dataLoadError","dataInvalid"],function(a){a.sender.__state.dataAvailable=
!1});d.addEventListener("loaded",function(a){a=a.sender;var c=a.__state,f,l,e;e=function(a,c){return function(e){return!1===e?c.apply(this):this.ref.getUpdatedXMLData?d.core.transcodeData(this.ref.getUpdatedXMLData(),"xml",a):this.getData?this.getData(a):c.apply(this)}};if(a.chartType&&K[a.chartType()]&&K[a.chartType()][0]){for(f in d.transcoders)l=d.transcoders[f].name,l="get"+l+"Data",a[l]=e(f,a.constructor.prototype[l]),a[l]._dynamicdatarouter=!0;c.dynamicDataRoutingEnabled=!0}else if(c.dynamicDataRoutingEnabled){for(f in d.transcoders)l=
d.transcoders[f].name,l="get"+l+"Data",a.hasOwnProperty(l)&&a[l]._dynamicdatarouter&&delete a[l];c.dynamicDataRoutingEnabled=!1}})}]);"object"!==typeof JSON&&(JSON={});(function(){function d(a){return 10>a?"0"+a:a}function m(f){C.lastIndex=0;return C.test(f)?'"'+f.replace(C,function(f){var d=a[f];return"string"===typeof d?d:"\\u"+("0000"+f.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+f+'"'}function E(a,l){var d,n,t,A,q=B,c,v=l[a];v&&"object"===typeof v&&"function"===typeof v.toJSON&&(v=v.toJSON(a));
"function"===typeof M&&(v=M.call(l,a,v));switch(typeof v){case "string":return m(v);case "number":return isFinite(v)?String(v):"null";case "boolean":case "null":return String(v);case "object":if(!v)return"null";B+=K;c=[];if("[object Array]"===Object.prototype.toString.apply(v)){A=v.length;for(d=0;d<A;d+=1)c[d]=E(d,v)||"null";t=0===c.length?"[]":B?"[\n"+B+c.join(",\n"+B)+"\n"+q+"]":"["+c.join(",")+"]";B=q;return t}if(M&&"object"===typeof M)for(A=M.length,d=0;d<A;d+=1)"string"===typeof M[d]&&(n=M[d],
(t=E(n,v))&&c.push(m(n)+(B?": ":":")+t));else for(n in v)Object.prototype.hasOwnProperty.call(v,n)&&(t=E(n,v))&&c.push(m(n)+(B?": ":":")+t);t=0===c.length?"{}":B?"{\n"+B+c.join(",\n"+B)+"\n"+q+"}":"{"+c.join(",")+"}";B=q;return t}}"function"!==typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+d(this.getUTCMonth()+1)+"-"+d(this.getUTCDate())+"T"+d(this.getUTCHours())+":"+d(this.getUTCMinutes())+":"+d(this.getUTCSeconds())+"Z":
null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var n=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,C=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,B,K,a={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},M;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,
l,d){var m;K=B="";if("number"===typeof d)for(m=0;m<d;m+=1)K+=" ";else"string"===typeof d&&(K=d);if((M=l)&&"function"!==typeof l&&("object"!==typeof l||"number"!==typeof l.length))throw Error("JSON.stringify");return E("",{"":a})});"function"!==typeof JSON.parse&&(JSON.parse=function(a,l){function d(a,f){var q,c,v=a[f];if(v&&"object"===typeof v)for(q in v)Object.prototype.hasOwnProperty.call(v,q)&&(c=d(v,q),void 0!==c?v[q]=c:delete v[q]);return l.call(a,f,v)}var M;a=String(a);n.lastIndex=0;n.test(a)&&
(a=a.replace(n,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return M=eval("("+a+")"),"function"===typeof l?d({"":M},""):M;throw new SyntaxError("JSON.parse");})})();FusionCharts.register("module",["private","modules.data.json",function(){var d=this,m=d.window,E=m.document,n=d.xssEncode,
C,B,K=function(a){var d,f;for(d in a)a.hasOwnProperty(d)&&(f=d.toLowerCase(),d!==f&&(a[f]=a[d],delete a[d]),"object"===typeof a[f]&&"data"!==f&&K(a[f]))};void 0===m.JSON&&d.raiseError(this,"1113062012","run","JSONDataHandler",Error("Could not find library support for JSON parsing."));d.policies.options.allowIESafeXMLParsing=["_allowIESafeXMLParsing",!0];C=function(){var a={set:!0,trendlines:!0,vtrendlines:!0,line:{trendlines:!0,vtrendlines:!0},data:!0,dataset:!0,lineset:!0,categories:!0,category:!0,
tasks:!0,linkeddata:!0,application:!0,definition:!0,axis:!0,connectors:!0,connector:{connectors:!0},trendset:!0,row:{rows:!0},column:{columns:!0},label:{labels:!0},color:{colorrange:!0},dial:{dials:!0},pointer:{pointers:!0},point:{trendpoints:!0},process:{processes:!0},task:{tasks:!0},milestone:{milestones:!0},datacolumn:{datatable:!0},text:{datacolumn:!0},item:{legend:!0},alert:{alerts:!0},groups:{annotations:!0},items:{groups:!0,data:!0},shapes:!0,shape:{shapes:!0},entitydef:!0,entity:{entitydef:!0}},
M={chart:"linkedchart",map:"linkedmap",set:"data",vline:{chart:"data",graph:"data",dataset:"data",categories:"category",linkedchart:"data"},apply:{application:"application"},style:{definition:"definition"},marker:{application:"application",definition:"definition",data:"items"},entity:{entitydef:"entitydef",data:"data"},shape:{shapes:"shapes"},connector:{connectors:{chart:"connector",linkedchart:"connector",map:"connectors",linkedmap:"connectors"}},annotationgroup:{annotations:"groups"},annotation:{groups:"items"}},
f={vline:{vline:"true"}},l={chart:!0,map:!0,graph:!0},O={dataset:"data",categories:"category"},B={target:"target",value:"value"},t={styles:{definition:!0,application:!0},chart:{value:!0,target:!0},graph:{value:!0,target:!0},linkedchart:{value:!0,target:!0},markers:{definition:!0,application:!0,shapes:!0,connectors:!0,data:!0},map:{entitydef:!0,data:!0},linkedmap:{entitydef:!0,data:!0}},A,q,c;A={append:function(c,f,e,r){!a[e]||!0!==a[e]&&!0!==a[e][r]?f[e]=c:(f[e]instanceof Array||(f[e]=[]),f[e].push(c))},
child:function(a,c,e,r){var q,z,m,G,n,W;for(q=0;q<c.length;q+=1)switch(m=c[q],z=m.nodeName.toLowerCase(),m.nodeType){case 1:G=A.attr(m.attributes);W=l[z];!0===W&&(n=G,G={},G[z]=n);W=f[z];"object"===typeof W&&d.extend(G,W);if(W=M[z])if("object"===typeof W&&"object"===typeof W[e])for(n in n=void 0,W[e]){if(r[n]){z=W[e][n];break}}else"object"===typeof W&&"string"===typeof W[e]?z=W[e]:"string"===typeof W&&(z=W);m.childNodes.length&&((W=t[e])&&W[z]?A.child(a,m.childNodes,z,r):A.child(G,m.childNodes,z,
r));(W=t[e])&&W[z]||A.append(G,a,z,e);break;case 3:if(W=B[e])z=W,G=m.data,A.append(G,a,z,e);W=O[e];"string"===typeof W&&r.chart&&parseInt(r.chart.compactdatamode,10)&&(z=W,G=m.data,a[z]=a[z]?a[z]+G:G)}},attr:function(a){var f,e={};if(!a||!a.length)return e;for(f=0;f<a.length;f+=1)"xml"===c&&(a[f].value?a[f].value=a[f].value.replace(/</g,"&lt;").replace(/>/g,"&gt;"):a[f].nodeValue&&(a[f].nodeValue=a[f].nodeValue.replace(/</g,"&lt;").replace(/>/g,"&gt;"))),e[a[f].nodeName.toLowerCase()]=a[f].value||
a[f].nodeValue;return e}};q=function(a){var c={},e,f,l,z,M,G,t,O,n;if("object"!==typeof a&&a&&"function"!==typeof a.toString)return q.errorObject=new TypeError("xml2json.parse()"),c;a=a.toString().replace(/<\!--[\s\S]*?--\x3e/g,"").replace(/<\?xml[\s\S]*?\?>/ig,"").replace(/&(?!([^;\n\r]+?;))/g,"&amp;$1");a=a.replace(/^\s\s*/,"");for(var B=/\s/,X=a.length;B.test(a.charAt(--X)););a=a.slice(0,X+1);if(!a)return c;try{m.DOMParser?e=(new m.DOMParser).parseFromString(a,"text/xml"):E.body&&d.core.options.allowIESafeXMLParsing?
(f=E.createElement("xml"),f.innerHTML=a,E.body.appendChild(f),e=f.XMLDocument,E.body.removeChild(f)):(e=new m.ActiveXObject("Microsoft.XMLDOM"),e.async="false",e.loadXML(a));if(!(e&&e.childNodes&&1===e.childNodes.length&&(l=e.childNodes[0])&&l.nodeName&&(z=l.nodeName.toLowerCase()))||"chart"!==z&&"map"!==z&&"graph"!==z)return q.errorObject=new TypeError("xml2json.parse()"),c;if("graph"===z){M=e.createElement("chart");for(n=(t=l.attributes)&&t.length||0;n--;)M.setAttribute(t[n].name,t[n].value),t.removeNamedItem(t[n].name);
if(n=(O=l.childNodes)&&O.length||0)--n,G=l.removeChild(O[n]),M.appendChild(G);for(;n--;)G=l.removeChild(O[n]),M.insertBefore(G,M.firstChild);e.replaceChild(M,l);l=M}}catch(J){q.errorObject=J}l?(l.attributes&&(c[z]=A.attr(l.attributes)),l.childNodes&&A.child(c,l.childNodes,z,c),delete q.errorObject):q.errorObject=new TypeError("xml2json.parse()");return c};return function(a){delete q.errorObject;c=arguments[arguments.length-1];return{data:q(a),error:q.errorObject}}}();B=function(){var a,d;a={items:{explode:{data:"set",
groups:{annotations:"annotationgroup"},items:{groups:"annotation"}},text:{chart:{target:"target",value:"value"},graph:{target:"target",value:"value"}},dsv:{dataset:{data:"dataset"},categories:{category:"categories"}},attr:{chart:{chart:"chart"},graph:{graph:"graph"},map:{map:"map"},linkedmap:{map:"map"},linkedchart:{chart:"chart"}},group:{styles:{definition:"style",application:"apply"},map:{data:"entity",entitydef:"entity"},markers:{definition:"marker",application:"marker",shapes:"shape",connectors:"connector",
items:"marker"}},tag:{markers:{items:"data"}}},qualify:function(a,l,d){return"object"===typeof this.items[a][d]?this.items[a][d][l]:this.items[a][d]}};d=function(f,l,m,B){var t="",A="",q="",c="",v,L,e;l&&"function"===typeof l.toLowerCase&&(l=l.toLowerCase());if(void 0===m&&f[l])for(v in f[l])L=v.toLowerCase(),"compactdatamode"===L&&(B.applyDSV=1==f[l][v]);if(f instanceof Array)for(v=0;v<f.length;v+=1)q="string"===typeof f[v]?q+n(f[v]):q+d(f[v],l,m,B);else{for(v in f)L=v.toLowerCase().replace(/[`~!@#$%^&*()|+\=?;:'", <>\{\}\[\]\\\/]/gi,
""),f[v]instanceof Array&&(e=a.qualify("group",L,l))?(q=a.qualify("tag",L,l)||L,A+="<"+q+">"+d(f[v],e,l,B)+"</"+q+">"):"object"===typeof f[v]?(e=a.qualify("attr",L,l))?(c=d(f[v],e,l,B).replace(/\s*\/\>/ig,""),l=L):A+=d(f[v],L,l,B):B.applyDSV&&(e=a.qualify("dsv",L,l))?A+=f[v]:(e=a.qualify("text",L,l))?(q=a.qualify("tag",L,l)||e,A+="<"+q+">"+f[v]+"</"+q+">"):"vline"===L&&f[v]?l="vline":t+=" "+L+'="'+n(f[v]).toString().replace(/\"/ig,"&quot;")+'"';if(e=a.qualify("explode",m,l))l=e;q=l;q=(""!==c?c:"<"+
q)+t+(""!==A?">"+A+"</"+q+">":" />")}return q};return function(a){delete d.errorObject;if(a&&"string"===typeof a)try{a=JSON.parse(a)}catch(l){d.errorObject=l}return{data:d(a,a&&a.graph?"graph":a&&a.map?"map":"chart",void 0,{}),error:d.errorObject}}}();d.addDataHandler("JSON",{encode:B,decode:C,passthrough:function(a,d,f){d={data:{}};f=!!/zoomscatter/ig.test(f);if(!a)return d;if("string"!==typeof a)try{a=JSON.stringify(a)}catch(l){return d.error=l,d}try{f?(d.data=JSON.parse(a),K(d.data)):d.data=JSON.parse(a.replace(/"([^"]+)"[\s]*:/g,
function(a,f){return'"'+f.toLowerCase()+'":'}))}catch(l){console.log(l),d.error=l}return d},transportable:!0})}]);FusionCharts.register("module",["private","modules.data.xml",function(){var d=function(d){return{data:d,error:void 0}};this.addDataHandler("XML",{encode:d,decode:d,transportable:!0})}]);FusionCharts.register("module",["private","modules.data.csv",function(){var d=this,m=d.window,E=d.core,n=m.parseInt,C=m.parseFloat,B=function(a){return a},K;K=function(a){this.data=[];this.columnCount=
this.rowCount=0;this.configure(a)};K.decodeLiterals=function(a,d){return void 0!==a&&null!==a&&a.toString?a.replace("{tab}","\t").replace("{quot}",'"').replace("{apos}","'"):d};K.prototype.set=function(a,d,f){var l;if(this.rowCount<=a){for(l=this.rowCount;l<=a;l+=1)this.data[l]=[];this.rowCount=a+1}this.columnCount<=d&&(this.columnCount=d+1);this.data[a][d]=f};K.prototype.setRow=function(a,d){var f;if(this.rowCount<=a){for(f=this.rowCount;f<=a;f+=1)this.data[f]=[];this.rowCount=a+1}this.columnCount<
d.length&&(this.columnCount=d.length);this.data[a]=d};K.prototype.get=function(a,d){var f=this.data;return f[a]&&f[a][d]};K.prototype.configure=function(a){var d=K.decodeLiterals;this.delimiter=d(a.delimiter,",");this.qualifier=d(a.qualifier,'"');this.eolCharacter=d(a.eolCharacter,"\r\n");this.numberFormatted=!!n(a.numberFormatted,0)};K.prototype.clear=function(){this.data=[];this.columnCount=this.rowCount=0};K.prototype.toString=function(){var a,d,f="";for(a=0;a<this.rowCount;a+=1)d=this.qualifier+
this.data[a].join(this.qualifier+this.delimiter+this.qualifier)+this.qualifier,f+='""'===d?this.eolCharacter:d+this.eolCharacter;0<this.rowCount&&(f=f.slice(0,f.length-2));return f};d.addDataHandler("CSV",{encode:function(a,m){d.raiseError(m,"0604111215","run","::CSVDataHandler.encode()","FusionCharts CSV data-handler only supports encoding of data.");throw Error("FeatureNotSupportedException()");},decode:function(a,d){var f=E.transcodeData(a,"xml","json")||{},l=d.jsVars,m=l&&l.instanceAPI,n=m&&m.components,
t,A,q,c,v,L,e=f.chart||f.map||f.graph||{},r=!!e.exporterrorcolumns,H=f.categories&&f.categories[0]&&f.categories[0].category||[],z=f.map&&!f.chart||l&&l.instanceAPI&&"geo"===l.instanceAPI.defaultSeriesType,P=!1,G=!1,ga=!1,W=!1;q=!1;var Y=B,T={},ka,J,ha,F,wa,Da,fa,ma,ja,R,qa;A=0;var bb=-1;t=new K({separator:e.exportdataseparator,qualifier:e.exportdataqualifier,numberFormatted:e.exportdataformattedval});E.formatNumber&&t.numberFormatted&&(Y=function(a){return E.formatNumber(a,e)});if(z)for(R in T.geo=
!0,H=(l=n&&l.instanceAPI.components.dataset&&l.instanceAPI.components.dataset[0])&&l.components.data||[],t.setRow(0,["Id"," Short Name","Long Name","Value","Formatted Value"]),l=0,H)G=H[R],qa=G.config,A=qa.cleanValue,!0!==G.hidden&&t.setRow(++l,[R,qa.shortLabel,qa.label,null===A?"":A,qa.formattedValue]);else if(void 0!==(ka=f.dials&&f.dials.dial||f.pointers&&f.pointers.pointer||f.value))if(T.gauge=!0,"string"===typeof ka)t.set(0,0,Y(ka)),T.singlevalue=!0,"string"===typeof f.target&&(t.set(0,1,Y(f.target)),
T.bullet=!0);else for(t.setRow(0,["Id","Value"]),T.multivalue=!0,l=0,L=1,v=ka.length;l<v;l+=1,L+=1)t.setRow(L,[L,Y(ka[l].value)]);else if(ka=f.dataset||!(f.data instanceof Array)&&[]){T.multiseries=!0;q=1;if(J=f.lineset)ka=ka.concat(J),T.lineset=!0;if(ha=f.axis)ka=ka.concat(ha),T.multiaxis=!0;R=m.defaultDatasetType&&m.defaultDatasetType.toLowerCase();"dragnode"!==R&&"dragcolumn"!==R&&"dragline"!==R&&"dragarea"!==R||!m.getJSONData||(ka=m.getJSONData().dataset);Da=ka.length;wa=H.length;if(!(Da=ka.length)){for(l=
0;l<wa;l+=1)fa=H[l],t.set(l+1,0,fa.label||fa.name);T.multilevel=!0}for(l=0;l<Da;l+=1)for(ma=ka,ma[l].dataset?(ma=ma[l].dataset,c=0,F=ma.length):(ma=ka,c=l,F=c+1);c<F&&!P&&!ga;c+=1)if(z=ma[c],bb++,!(n&&n.dataset&&n.dataset[bb]&&!1===n.dataset[bb].visible)){t.set(0,q,z.seriesname);"string"===typeof z.data&&(T.compactdata=!0,z.data=z.data.split(e.dataseparator||"|"));L=v=0;for(ja=z.data&&z.data.length||0;v<ja||v<wa;v+=1){fa=H[v];A=L+1;R=z.data&&z.data[L]||{};if(void 0!==R.x&&void 0!==R.y){P=T.xy=!0;
break}if(void 0!==R.open||void 0!==R.high||void 0!==R.close||void 0!==R.low){W=T.ohlc=!0;break}if(void 0!==R.rowid&&void 0!==R.columnid){ga=T.heatmap=!0;break}if(v<wa&&!fa.vline){t.set(A,0,fa.label||fa.name);fa=C(R?R.value:"");fa=isNaN(fa)?"":Y(fa);t.set(A,q,fa);if(G||r||R.errorvalue)G||t.set(0,q+1,"Error"),qa=1,t.set(A,q+1,Y(R.errorvalue));L+=1}}qa&&(q+=qa,qa=0);q+=1}J&&(ka=ka.slice(0,-J.length));ha&&(ka=ka.slice(0,-ha.length))}else if(ka=f.data){t.set(0,1,e.yaxisname||"Value");T.singleseries=!0;
q="1"==e.showsumatend;l=0;for(wa=ka.length;l<wa;l+=1)R=ka[l],R.vline||(fa=C(R.value?R.value:""),t.setRow(l+1,[R.label||R.name,isNaN(fa)?"":(A+=fa,Y(fa))]));q&&(T.summation=!0,t.setRow(l+1,[e.sumlabel||"Total",Y(A)]))}if(W)for(t.clear(),t.setRow(0,["Open","Close","High","Low"]),l=0,A=1,ka=f.dataset,F=ka.length;l<F;l+=1)for(v=0,z=ka[l]&&ka[l].data||[],Da=z.length;v<Da;v+=1,A+=1)R=z[v]||{},t.setRow(v+1,[Y(R.open),Y(R.close),Y(R.high),Y(R.low)]);else if(P)for(t.clear(),G=!1,qa=0,t.setRow(0,["Series",
"x","y"]),l=0,A=1,ka=f.dataset,F=ka.length;l<F;l+=1){if(!(n&&n.dataset&&n.dataset[l]&&!1===n.dataset[l].visible))for(R=m.defaultDatasetType&&m.defaultDatasetType.toLowerCase(),"dragnode"===R&&m.getJSONData&&(ka=m.getJSONData().dataset),v=0,z=ka[l]&&ka[l].data||[],Da=z.length;v<Da;v+=1,A+=1){R=z[v]||{};fa=[ka[l].seriesname,Y(R.x),Y(R.y)];void 0!==R.z&&(fa.push(Y(R.z)),qa||(t.set(0,3,"z"),qa=1));if(G||r||void 0!==R.errorvalue||void 0!==R.horizontalerrorvalue||void 0!==R.verticalerrorvalue)f=Y(R.errorvalue),
fa.push(R.errorvalue,void 0===R.horizontalerrorvalue?f:Y(R.horizontalerrorvalue),void 0===R.verticalerrorvalue?f:Y(R.verticalerrorvalue)),G||(t.set(0,qa+3,"Error"),t.set(0,qa+4,"Horizontal Error"),t.set(0,qa+5,"Vertical Error")),G=T.error=!0;t.setRow(A,fa)}}else if(ga){t.clear();r={};P={};l=0;v=1;H=f.rows&&f.rows.row||[];for(m=H.length;l<m;l+=1,v+=1)fa=H[l],fa.id&&(r[fa.id.toLowerCase()]=v,t.set(v,0,fa.label||fa.id));l=0;v=1;H=f.columns&&f.columns.column||[];for(m=H.length;l<m;l+=1,v+=1)fa=H[l],fa.id&&
(P[fa.id.toLowerCase()]=v,t.set(0,v,fa.label||fa.id));z=f.dataset&&f.dataset[0]&&f.dataset[0].data||[];n=n&&n.dataset&&n.dataset[0]&&n.dataset[0].components&&n.dataset[0].components.data||[];l=0;for(m=z.length;l<m;l+=1)R=z[l],A=R.rowid.toLowerCase(),q=R.columnid.toLowerCase(),n[l]&&!1===n[l].visible||(r[A]||(r[A]=t.rowCount,t.set(t.rowCount,0,R.rowid)),P[q]||(P[q]=t.columnCount,t.set(0,t.columnCount,R.columnid)),t.set(r[A],P[q],Y(R.value)))}ka=H=J=ha=null;0<t.rowCount&&void 0===t.get(0,0)&&t.set(0,
0,e.xaxisname||"Label");return{data:t.toString(),error:void 0,predictedFormat:T}},transportable:!1});E.addEventListener("Loaded",function(a){a=a.sender;"javascript"!==a.options.renderer||a.getDataAsCSV||(a.getDataAsCSV=a.ref.getDataAsCSV=a.getCSVData)})}]);FusionCharts.register("module",["private","modules.renderer.js",function(){var d=this,m=d.window,E=m.document,n=d.core.options,C=/msie/i.test(m.navigator.userAgent)&&!m.opera,B=!(!m.SVGAngle&&!E.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure",
"1.1")),K=function(){},a=d.hcLib={cmdQueue:[]},M=a.moduleCmdQueue={base:[],charts:[],powercharts:[],widgets:[],maps:[]},f=a.moduleDependencies={},l=a.moduleMeta={base:"fusioncharts.js",charts:"fusioncharts.charts.js",powercharts:"fusioncharts.powercharts.js",widgets:"fusioncharts.widgets.js",maps:"fusioncharts.maps.js"},O={},X=a.getMetaSentence=function(){var a={};return function(c){c=c&&c.replace(/(^\s*)|(\s*$)/g,"")||"";return a[c]||(a[c]={key:c,subject:c.replace(/[^\/]*?$/ig,""),predicate:c.replace(/^.*\//ig,
"")})}}(),t=a.getDependentModuleName=function(a){var c=[],e,l;a=X(a).predicate;for(e in f)void 0!==(l=f[e][a])&&(c[l]=e);return c},A=a.hasModule=function(a){var c,e;if(a instanceof Array){c=0;for(e=a.length;c<e;c+=1)if(!d.modules["modules.renderer.js-"+X(a[c]).predicate])return!1;return!0}return!!d.modules["modules.renderer.js-"+X(a).predicate]},q=a.loadModule=function(a,c,e,f){a instanceof Array||(a=[a]);var q=a.length,v=0,m;m=function(){if(v>=q)c&&c();else{var t=a[v],M=t&&t.match(/[^\/]*$/i)[0],
n=l[t];v+=1;if(t){if(A(M)){m();return}if(O[M]){d.raiseError(f||d.core,"1112201445A","run","JavaScriptRenderer~loadModule() ","required resources are absent or blocked from loading.");e&&e(M);return}}else e&&e(M);t=d.core.options["html5"+d.capitalizeString(M)+"Src"];d.loadScript(void 0===t?n:t,{success:function(){A(M)?m():e&&e(M)},failure:e&&function(){e(M)}},void 0,!0)}};m()},c=a.executeWaitingCommands=function(a){for(var c;c=a.shift();)"object"===typeof c&&K[c.cmd].apply(c.obj,c.args)},v=function(a){delete a.sender.jsVars._reflowData;
a.sender.jsVars._reflowData={};delete a.sender.jsVars._reflowClean},L=function(){var a=function(){};a.prototype={LoadDataErrorText:"Error in loading data.",XMLLoadingText:"Retrieving data. Please wait",InvalidXMLText:"Invalid data.",ChartNoDataText:"No data to display.",ReadingDataText:"Reading data. Please wait",ChartNotSupported:"Chart type not supported.",PBarLoadingText:"",LoadingText:"Loading chart. Please wait",RenderChartErrorText:"Unable to render chart."};return a.prototype.constructor=a}(),
e=a.getContainerBackgroundColor=function(c){c=c.chartInstance;var e=c.options,f=e.containerBackgroundColor,e=e.containerBackgroundOpacity,l=c.jsVars.transparent;void 0!==l&&null!==l?e=c.jsVars.transparent?0:1:(e=parseFloat(e),0>e?e=0:1<e&&(e=1));f||(f="#ffffff");if(C&&!B)return e?f:"transparent";f=f.replace(/^#?([a-f0-9]+)/ig,"$1");f=a.graphics.HEXtoRGB(f);f[3]=e.toString();return"rgba("+f.join(",")+")"};a.injectModuleDependency=function(c,e,z){var l=!1,q=X(c).subject;c=X(c).predicate;e=void 0===
e?c:X(e).predicate;f[c]||(f[c]={},M[c]||(M[c]=[],a.moduleMeta[c]=q+n.html5ScriptNamePrefix+(e&&e.replace&&e.replace(/^[\s\S]*\//ig,"").replace(/\?/g,"%3F").replace(/\#/g,"%23").replace(/\:/g,"%3A")||"")+n.html5ScriptNameSuffix),l=!0);f[c][e]=z||0;return l};a.needsModule=function(c,e){c=X(c).predicate;e=X(e).predicate;return void 0!==(a.moduleDependencies[c]&&a.moduleDependencies[c][e])};a.cleanupWaitingCommands=function(a){for(var c=a.chartType(),c=t(c),e,f=[],l;e=c.shift();){for(e=M[e]||[];l=e.shift();)"object"===
typeof l&&l.obj!==a&&f.push(l);e.concat(f);f=[]}};d.extend(d.core.options,{html5ScriptNameSuffix:".js",html5ScriptNamePrefix:"fusioncharts."});d.extend(K,{dataFormat:"json",ready:!1,policies:{jsVars:{},options:{showChartLoadingMessage:["showChartLoadingMessage",!0]}},init:function(){A("base")?K.ready=!0:q("base",function(){K.ready=!0;c(a.cmdQueue)},void 0,d.core)},render:function(c){var f=c,l=this.jsVars.msgStore;f&&this.options.showChartLoadingMessage&&(f.innerHTML='<small style="display: inline-block; *zoom:1; *display:inline; width: 100%; font-family: Verdana,sans; font-size: 10px; color: #666666; text-align: center; padding-top: '+
(parseInt(f.style.height,10)/2-5)+'px">'+(l.PBarLoadingText||l.LoadingText)+"</small>",f.style.backgroundColor=e(this));a.cmdQueue.push({cmd:"render",obj:this,args:arguments})},update:function(){a.cmdQueue.push({cmd:"update",obj:this,args:arguments})},resize:function(){a.cmdQueue.push({cmd:"resize",obj:this,args:arguments})},dispose:function(){var c=a.cmdQueue,e,f;e=0;for(f=c.length;e<f;e+=1)c[e].obj===this&&(c.splice(e,1),--f,--e)},load:function(){a.cmdQueue.push({cmd:"load",obj:this,args:arguments})},
config:function(a,c){var e,f=this.jsVars,l=f.msgStore,f=f.cfgStore,q=this.options,d;d={LoadingText:"loadMessage",ChartNotSupported:"typeNotSupportedMessage",RenderChartErrorText:"renderErrorMessage",XMLLoadingText:"dataLoadStartMessage",ChartNoDataText:"dataEmptyMessage",LoadDataErrorText:"dataLoadErrorMessage",InvalidXMLText:"dataInvalidMessage"};"string"===typeof a&&1<arguments.length&&(e=a,a={},a[e]=c);for(e in a)void 0!==l[e]?l[e]=a[e]:f[e.toLowerCase()]=a[e],d[e]?q[d[e]]=a[e]:q[e]=a[e]},protectedMethods:{},
events:{beforeInitialize:function(c){var e=c.sender;c=e.jsVars;var f;c.fcObj=e;c.msgStore=c.msgStore||new L;c.cfgStore=c.cfgStore||{};c.previousDrawCount=-1;c.drawCount=0;c._reflowData={};e.addEventListener("beforeRender",function(c){c.sender.jsVars.smartLabel=new a.SmartLabelManager(e.id,E.body||E.getElementsByTagName("body")[0]);c.detachHandler()});c.userModules instanceof Array||(f=c.userModules,c.userModules=[],"string"===typeof f&&(c.userModules=c.userModules.concat(f.split(","))));a.chartAPI&&
a.chartAPI[void 0]||(c.needsLoaderCall=!0)},initialized:function(a){a=a.sender;var c=a.jsVars;c.needsLoaderCall&&(delete c.needsLoaderCall,K.load.call(a))},beforeDataUpdate:v,beforeDispose:function(a){var c=a.sender.jsVars;c.smartLabel&&!c.smartLabel.disposed&&c.smartLabel.dispose();v.apply(this,arguments)},beforeRender:function(a){var c=a.sender.jsVars;delete c.drLoadAttempted;delete c.waitingModule;delete c.waitingModuleError;v.apply(this,arguments)},dataLoadRequested:function(a){a=a.sender;var c=
a.jsVars;delete c.loadError;a.ref&&a.options.showDataLoadingMessage?c.hcObj&&!c.hasNativeMessage&&c.hcObj.showLoading?c.hcObj.showMessage(c.msgStore.XMLLoadingText):a.ref.showChartMessage?a.ref.showChartMessage("XMLLoadingText"):c.stallLoad=!0:c.stallLoad=!0},dataLoadRequestCompleted:function(a){delete a.sender.jsVars.stallLoad},dataLoadError:function(a){var c=a.sender,e=c.jsVars,f=c.args,l=c.options;delete e.stallLoad;e.loadError=!0;c._chartMessageImageStyle={imageHAlign:f.dataLoadErrorMessageImageHAlign||
l.baseChartMessageImageHAlign,imageVAlign:f.dataLoadErrorMessageImageVAlign||l.baseChartMessageImageVAlign,imageAlpha:f.dataLoadErrorMessageImageAlpha||l.baseChartMessageImageAlpha,imageScale:f.dataLoadErrorMessageImageScale||l.baseChartMessageImageScale};c._chartMessageStyle={color:f.dataLoadErrorMessageColor||l.baseChartMessageColor,fontFamily:f.dataLoadErrorMessageFont||l.baseChartMessageFont,fontSize:f.dataLoadErrorMessageFontSize||l.baseChartMessageFontSize};c.apiInstance.setChartMessage&&(c.apiInstance.setChartMessage(l.dataLoadErrorMessage,
c),c.apiInstance.drawChartMessage());c.__state.dataFetchDuringConstruction&&delete c.__state.dataFetchDuringConstruction;v.apply(this,arguments)}},_call:function(a,c,e){a.apply(e||m,c||[])}});d.extend(K.prototype,{getSWFHTML:function(){d.raiseWarning(this,"11090611381","run","JavaScriptRenderer~getSWFHTML()","getSWFHTML() is not supported for JavaScript charts.")},addVariable:function(){d.raiseWarning(this,"11090611381","run","JavaScriptRenderer~addVariable()",'Use of deprecated "addVariable()". Replace with "configure()".');
d.core.prototype.configure.apply(this,arguments)},getXML:function(){d.raiseWarning(this,"11171116291","run","JavaScriptRenderer~getXML()",'Use of deprecated "getXML()". Replace with "getXMLData()".');return this.getXMLData.apply(this,arguments)},setDataXML:function(){d.raiseWarning(this,"11171116292","run","JavaScriptRenderer~setDataXML()",'Use of deprecated "setDataXML()". Replace with "setXMLData()".');return this.setXMLData.apply(this,arguments)},setDataURL:function(){d.raiseWarning(this,"11171116293",
"run","JavaScriptRenderer~setDataURL()",'Use of deprecated "SetDataURL()". Replace with "setXMLUrl()".');return this.setXMLUrl.apply(this,arguments)},hasRendered:function(){return!(!this.jsVars.hcObj||!this.jsVars.hcObj.hasRendered)},setTransparent:function(a){var c;if(c=this.jsVars)"boolean"!==typeof a&&null!==a&&(a=!0),c.transparent=null===a?!1:!0===a?!0:!1}});d.extend(d.core,{_fallbackJSChartWhenNoFlash:function(){m.swfobject.hasFlashPlayerVersion(d.core.options.requiredFlashPlayerVersion)||d.renderer.setDefault("javascript")},
_enableJSChartsForSelectedBrowsers:function(a){void 0!==a&&null!==a&&d.renderer.setDefault((new RegExp(a)).test(m.navigator.userAgent)?"javascript":"flash")},_doNotLoadExternalScript:function(a){var c,e;for(c in a)e=c.toLowerCase(),l[e]&&(O[e]=!!a[c])},_preloadJSChartModule:function(){throw"NotImplemented()";}});d.renderer.register("javascript",K);B||C?d.renderer.setDefault("javascript"):m.swfobject&&m.swfobject.hasFlashPlayerVersion&&!m.swfobject.hasFlashPlayerVersion(d.core.options.requiredFlashPlayerVersion)&&
(d.raiseWarning(d.core,"1204111846","run","JSRenderer","Switched to JavaScript as default rendering due to absence of required Flash Player."),d.renderer.setDefault("javascript"))}]);FusionCharts.register("module",["private","modules.renderer.polyfill",function(){"function"!=typeof Object.create&&(Object.create=function(){function d(){}var m=Object.prototype.hasOwnProperty;return function(E){var n,C,B;if("object"!=typeof E)throw new TypeError("Object prototype may only be an Object or null");d.prototype=
E;B=new d;d.prototype=null;if(1<arguments.length)for(C in n=Object(arguments[1]),n)m.call(n,C)&&(B[C]=n[C]);return B}}());Array.prototype.indexOf||(Array.prototype.indexOf=function(d,m){var E,n,C;if(null==this)throw new TypeError('"this" is null or not defined');n=Object(this);C=n.length>>>0;if(0===C)return-1;E=+m||0;Infinity===Math.abs(E)&&(E=0);if(E>=C)return-1;for(E=Math.max(0<=E?E:C-Math.abs(E),0);E<C;){if(E in n&&n[E]===d)return E;E++}return-1});Array.prototype.forEach||(Array.prototype.forEach=
function(d,m){var E,n,C,B,K;if(null==this)throw new TypeError(" this is null or not defined");C=Object(this);B=C.length>>>0;if("function"!==typeof d)throw new TypeError(d+" is not a function");1<arguments.length&&(E=m);for(n=0;n<B;)n in C&&(K=C[n],d.call(E,K,n,C)),n++});Array.prototype.indexOf||(Array.prototype.indexOf=function(d,m){var E;if(null==this)throw new TypeError('"this" is null or not defined');var n=Object(this),C=n.length>>>0;if(0===C)return-1;E=+m||0;Infinity===Math.abs(E)&&(E=0);if(E>=
C)return-1;for(E=Math.max(0<=E?E:C-Math.abs(E),0);E<C;){if(E in n&&n[E]===d)return E;E++}return-1});"function"!=typeof Object.create&&(Object.create=function(){function d(){}var m=Object.prototype.hasOwnProperty;return function(E){var n,C,B;if("object"!=typeof E)throw TypeError("Object prototype may only be an Object or null");d.prototype=E;n=new d;d.prototype=null;if(1<arguments.length)for(B in C=Object(arguments[1]),C)m.call(C,B)&&(n[B]=C[B]);return n}}());Function.prototype.bind||(Function.prototype.bind=
function(d){if("function"!==typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var m=Array.prototype.slice.call(arguments,1),E=this,n=function(){},C=function(){return E.apply(this instanceof n?this:d,m.concat(Array.prototype.slice.call(arguments)))};this.prototype&&(n.prototype=this.prototype);C.prototype=new n;return C});Array.prototype.reduce||(Array.prototype.reduce=function(d){if(null==this)throw new TypeError("Array.prototype.reduce called on null or undefined");
if("function"!==typeof d)throw new TypeError(d+" is not a function");var m=Object(this),E=m.length>>>0,n=0,C;if(2==arguments.length)C=arguments[1];else{for(;n<E&&!(n in m);)n++;if(n>=E)throw new TypeError("Reduce of empty array with no initial value");C=m[n++]}for(;n<E;n++)n in m&&(C=d(C,m[n],n,m));return C});Object.keys||(Object.keys=function(){var d=Object.prototype.hasOwnProperty,m=!{toString:null}.propertyIsEnumerable("toString"),E="toString toLocaleString valueOf hasOwnProperty isPrototypeOf propertyIsEnumerable constructor".split(" "),
n=E.length;return function(C){if("object"!==typeof C&&("function"!==typeof C||null===C))throw new TypeError("Object.keys called on non-object");var B=[],K;for(K in C)d.call(C,K)&&B.push(K);if(m)for(K=0;K<n;K++)d.call(C,E[K])&&B.push(E[K]);return B}}())}]);FusionCharts&&FusionCharts.register("module",["private","vendor.svgdecanvo",function(){var d=this.window,m=this.hcLib;(function(d){var m=d.document,C={},B={},K;K=function(a,d,f,l,m,n,t){var A={svg:"",context:"",callBack:"",imageArr:[],canvas:"",
dimention:{}};if(!(this instanceof K))throw"This function should be used as class";this._getStore=function(a){return"undefined"!=typeof A[a]?A[a]:!1};this._setStore=function(a,c){"undefined"!=typeof A[a]&&(A[a]=c)};this._setStore("dimention",{x:f,y:l,width:m,height:n});a&&this.setSVG(a);d&&this.setContext(d);t&&this.setCallback(t);this.drawOnCanvas()};K.prototype.setContext=function(a){var d;if(a.getContext&&a.getContext("2d"))d=a.getContext("2d"),this._setStore("canvas",a),this._setStore("context",
d);else throw"Please provide valid canvas";};K.prototype.getContext=function(){return this._getStore("context")};K.prototype.setSVG=function(a){if("undefined"!=typeof a.documentElement)this._setStore("svg",a);else if("<"==a.substr(0,1))a=B.StrToDom(a),this._setStore("svg",a);else throw"Please provide valid SVG";};K.prototype.getSVG=function(){return this._getStore("svg")};K.prototype.setCallback=function(a){"function"===typeof a&&this._setStore("callBack",a)};K.prototype.getCallback=function(){return this._getStore("callBack")};
K.prototype.drawOnCanvas=function(a,d,f,l,m,n,t){var A,q,c,v;a&&this.setSVG(a);d&&this.setContext(d);t&&this.setCallback(t);d=d||this._getStore("canvas");c=this._getStore("dimention");t=this.getCallback();A=this.getContext();(a=this.getSVG())&&A&&(v=B.getSvgDimention(a),q=v.width,d=v.height,f=f||c.x||0,l=l||c.y||0,m=m||c.width||q,n=n||c.height||d,q=v.width?m/q:1,d=v.height?n/d:1,B.startTransform("translate("+f+","+l+") scale("+q+","+d+")",A),A.save(),A.fillStyle="#ffffff",A.fillRect(0,0,m,n),A.restore(),
B.storeImagesInArr(this),B.drawNodes([a],[],this,A,function(){"function"===typeof t&&t();B.resetTransform(A)}))};C.common=function(a,d,f,l,m){var n=a.childNodes,t,A=function(){a.attributes&&l.restore();m&&m()};for(t in d)d.hasOwnProperty(t)&&"class"!=d[t].name&&"id"!=d[t].name&&"transform"!=d[t].name&&"clip-path"!=d[t].name&&"object"==typeof d[t]&&a.attributes&&!a.attributes[d[t].name]&&a.setAttribute([d[t].name],d[t].value);if(a.attributes&&a.attributes.style)for(t in styleArr=a.attributes.style.value.replace(/;$/,
"").split(";"),styleArr)if(styleArr.hasOwnProperty(t)&&(styleName=styleArr[t].split(":")[0].trim(),!a.attributes[styleName]||"undefined"==a.attributes[styleName].value))try{a.setAttribute(styleName,styleArr[t].split(":")[1].trim())}catch(q){}a.attributes&&(l.save(),a.attributes.transform&&B.startTransform(a.attributes.transform.value,l),a.attributes["clip-path"]&&B.applyClip(a.attributes["clip-path"].value,l,f));if(0===n.length||1===n.length&&!n[0].tagName)if("undefined"!==typeof a.tagName)if(d="draw"+
a.tagName,C[d])if(a.attributes.display&&"none"==a.attributes.display.value)A();else C[d](a,l,f,"draw",A);else A();else A();else B.drawNodes(n,"svg"==a.tagName?[]:a.attributes,f,l,A)};C.drawtext=function(a,d,f,l,m){this.drawtspan(a,d,f,l,m)};C.drawtspan=function(a,M,f,l,O){var C=a.innerHTML||a.textContent,t=a.attributes.x?a.attributes.x.value:0,A=a.attributes.y?a.attributes.y.value:0,q=a.attributes.dx?a.attributes.dx.value:0,c=a.attributes.dy?a.attributes.dy.value:0,v="serief",L="normal",e="16px",
r=[],H;m.getElementsByTagName("body")[0]&&(H=d.getComputedStyle(m.getElementsByTagName("body")[0],null),H.getPropertyValue("font-family")&&(v=H.getPropertyValue("font-family")),H.getPropertyValue("font-weight")&&(L=H.getPropertyValue("font-weight")),H.getPropertyValue("font-size")&&(e=H.getPropertyValue("font-size")));v=a.attributes["font-family"]?a.attributes["font-family"].value:v;L=a.attributes["font-weight"]?a.attributes["font-weight"].value:L;H=a.attributes["text-anchor"]?a.attributes["text-anchor"].value:
"start";e=a.attributes["font-size"]?a.attributes["font-size"].value:e;t=Number(t)+Number(q);A=Number(A)+Number(c);C=C.trim();H="middle"==H?"center":H;M.save();M.font=L+" "+e+" "+v;M.textAlign=H;if("draw"===l){if(!a.attributes.fill||a.attributes.fill&&"none"!=a.attributes.fill.value)B.applyFillEffect(a,M,f,r),M.fillText(C,t,A),B.endFillEffect(a,M);if(!a.attributes.stroke||a.attributes.stroke&&"none"!=a.attributes.stroke.value)B.applyStrokeEffect(a,M,f,r),M.strokeText(C,t,A),B.endStrokeEffect(a,M)}M.restore();
"function"===typeof O&&O()};C.drawcircle=function(a,d,f,l,m){var n=Number(a.attributes.cx.value),t=Number(a.attributes.cy.value),A=Number(a.attributes.r.value),q=[];d.beginPath();d.arc(n,t,A,0,2*Math.PI);B.bBoxFromPoint([n,1*n+1*A,1*n-1*A],[t,1*t+1*A,1*t-1*A],q);if("draw"===l){if(!a.attributes.fill||a.attributes.fill&&"none"!=a.attributes.fill.value)B.applyFillEffect(a,d,f,q),d.fill(),B.endFillEffect(a,d);if(!a.attributes.stroke||a.attributes.stroke&&"none"!=a.attributes.stroke.value)B.applyStrokeEffect(a,
d,f,q),d.stroke(),B.endStrokeEffect(a,d)}d.closePath();"function"===typeof m&&m()};C.drawrect=function(a,d,f,l,m){var n=Number(a.attributes.x.value),t=Number(a.attributes.y.value),A=a.attributes.rx?Number(a.attributes.rx.value):0,q=a.attributes.ry?Number(a.attributes.ry.value):0,c=Number(a.attributes.height.value),v=Number(a.attributes.width.value),L=[];B.bBoxFromPoint([n,n+v],[t,t+c],L);d.beginPath();d.moveTo(n+A,t);d.lineTo(n+v-A,t);d.quadraticCurveTo(n+v,t,n+v,t+q);d.lineTo(n+v,t+c-q);d.quadraticCurveTo(n+
v,t+c,n+v-A,t+c);d.lineTo(n+A,t+c);d.quadraticCurveTo(n,t+c,n,t+c-q);d.lineTo(n,t+q);d.quadraticCurveTo(n,t,n+A,t);if("draw"===l){if(!a.attributes.fill||a.attributes.fill&&"none"!=a.attributes.fill.value)B.applyFillEffect(a,d,f,L),d.fill(),B.endFillEffect(a,d);if(!a.attributes.stroke||a.attributes.stroke&&"none"!=a.attributes.stroke.value)B.applyStrokeEffect(a,d,f,L),d.stroke(),B.endStrokeEffect(a,d)}d.closePath();"function"===typeof m&&m()};C.drawellipse=function(a,d,f,l,m){var n=Number(a.attributes.cx.value),
t=Number(a.attributes.cy.value),A=Number(a.attributes.rx.value),q=Number(a.attributes.ry.value),c=.5522848*A,v=.5522848*q,L=n+A,e=t+q,r=[];d.beginPath();d.moveTo(n-A,t);d.bezierCurveTo(n-A,t-v,n-c,t-q,n,t-q);d.bezierCurveTo(n+c,t-q,L,t-v,L,t);d.bezierCurveTo(L,t+v,n+c,e,n,e);d.bezierCurveTo(n-c,e,n-A,t+v,n-A,t);B.bBoxFromPoint([n+A,n-A],[t+q,t-q],r);if("draw"===l){if(!a.attributes.fill||a.attributes.fill&&"none"!=a.attributes.fill.value)B.applyFillEffect(a,d,f,r),d.fill(),B.endFillEffect(a,d);if(!a.attributes.stroke||
a.attributes.stroke&&"none"!=a.attributes.stroke.value)B.applyStrokeEffect(a,d,f,r),d.stroke(),B.endStrokeEffect(a,d)}d.closePath();"function"===typeof m&&m()};C.drawimage=function(a,d,f,l,m){var n=a.attributes.x?Number(a.attributes.x.value):0,t=a.attributes.y?Number(a.attributes.y.value):0,A=a.attributes.height?Number(a.attributes.height.value):0,q=a.attributes.width?Number(a.attributes.width.value):0,c,v=f._getStore("imageArr");d.save();a.attributes.opacity&&(d.globalAlpha=a.attributes.opacity.value);
a.attributes["xlink:href"]?(c=a.attributes["xlink:href"].value,"complete"===v[c].status?(d.drawImage(v[c].obj,n,t,q,A),d.globalAlpha=1,d.restore(),"function"===typeof m&&m()):"error"===v[c].status?(d.globalAlpha=1,d.restore(),"function"===typeof m&&m()):"progress"===v[c].status?(v[c].callback=function(){d.drawImage(v[c].obj,n,t,q,A);d.globalAlpha=1;d.restore();"function"===typeof m&&m()},v[c].errCallback=function(){d.globalAlpha=1;d.restore();"function"===typeof m&&m()}):(d.globalAlpha=1,d.restore(),
"function"===typeof m&&m())):(d.globalAlpha=1,d.restore(),"function"===typeof m&&m())};C.drawpath=function(a,d,f,l,m){var n=a.attributes.d.value.match(/[a-z][^a-z"]*/ig),t=[],A,q,c,v=0,L=0,e;d.beginPath();for(A in n)if(n.hasOwnProperty(A))switch(q=n[A].substring(0,1),c=B.getArgsAsArray(n[A].substring(1,n[A].length)),q){case "M":v=Number(c[0]);L=Number(c[1]);d.moveTo(v,L);break;case "m":v+=Number(c[0]);L+=Number(c[1]);d.moveTo(v,L);break;case "L":for(e=0;c[e];e+=2)B.bBoxFromPoint([v,c[e]],[L,c[e+1]],
t),v=Number(c[e]),L=Number(c[e+1]),d.lineTo(v,L);break;case "l":for(e=0;c[e];e+=2)B.bBoxFromPoint([v,1*v+1*c[e]],[L,1*L+1*c[e+1]],t),v+=Number(c[e]),L+=Number(c[e+1]),d.lineTo(v,L);break;case "V":for(e=0;c[e];e+=1)B.bBoxFromPoint([v],[L,c[e]],t),L=Number(c[e]),d.lineTo(v,L);break;case "v":for(e=0;c[e];e+=1)B.bBoxFromPoint([v],[L,1*L+1*c[e]],t),L+=Number(c[e]),d.lineTo(v,L);break;case "H":for(e=0;c[e];e+=1)B.bBoxFromPoint([v,c[e]],[L],t),v=Number(c[e]),d.lineTo(v,L);break;case "h":for(e=0;c[e];e+=
1)B.bBoxFromPoint([v,1*v+1*c[e]],[L],t),v+=Number(c[e]),d.lineTo(v,L);break;case "Q":for(e=0;c[e];e+=4)B.qBezierBBox(v,L,c[e],c[e+1],c[e+2],c[e+3],t),d.quadraticCurveTo(Number(c[e]),Number(c[e+1]),Number(c[e+2]),Number(c[e+3])),v=Number(c[e+2]),L=Number(c[e+3]);break;case "q":for(e=0;c[e];e+=4)B.qBezierBBox(v,L,v+1*c[e],L+1*c[e+1],1*v+1*c[e+2],1*L+1*c[e+3],t),d.quadraticCurveTo(v+1*c[e],L+1*c[e+1],v+=Number(c[e+2]),L+=Number(c[e+3]));break;case "C":for(e=0;c[e];e+=6)B.cBezierBBox(v,L,c[e],c[e+1],
c[e+2],c[e+3],c[e+4],c[e+5],t),d.bezierCurveTo(c[e],c[e+1],c[e+2],c[e+3],c[e+4],c[e+5]),v=Number(c[e+4]),L=Number(c[e+5]);break;case "c":for(e=0;c[e];e+=6)B.cBezierBBox(v,L,v+1*c[e],1*L+1*c[e+1],v+1*c[e+2],1*L+1*c[e+3],v+1*c[e+4],1*L+1*c[e+5],t),d.bezierCurveTo(v+Number(c[e]),L+Number(c[e+1]),v+Number(c[e+2]),L+Number(c[e+3]),v+=Number(c[e+4]),L+=Number(c[e+5]));break;case "a":case "A":for(e=0;c[e];e+=7){var r=Number(c[e]),H=Number(c[e+1]),z,P,G,C,W,Y,E,K,J,ha,F,wa,Da,fa;z=Math.PI/180*Number(c[e+
2]);P=Number(c[e+3]);G=Number(c[e+4]);C=Number(c[e+5]);W=Number(c[e+6]);Y=Math.cos(z)*(v-C)/2+Math.sin(z)*(L-W)/2;E=-Math.sin(z)*(v-C)/2+Math.cos(z)*(L-W)/2;r=0>r?-r:r;H=0>H?-H:H;wa=Math.pow(Y,2)/Math.pow(r,2)+Math.pow(E,2)/Math.pow(H,2);1<wa&&(r*=Math.sqrt(wa),H*=Math.sqrt(wa));wa=r>H?r:H;Da=r>H?1:r/H;fa=r>H?H/r:1;P=(P==G?-1:1)*Math.sqrt((Math.pow(r,2)*Math.pow(H,2)-Math.pow(r,2)*Math.pow(E,2)-Math.pow(H,2)*Math.pow(Y,2))/(Math.pow(r,2)*Math.pow(E,2)+Math.pow(H,2)*Math.pow(Y,2)));isNaN(P)&&(P=0);
K=P*r*E/H;J=-P*H*Y/r;ha=K*Math.cos(z)-J*Math.sin(z)+(v+C)/2;F=K*Math.sin(z)+J*Math.cos(z)+(L+W)/2;P=B.angleBetweenVectors(1,0,(Y-K)/r,(E-J)/H);Y=B.angleBetweenVectors((Y-K)/r,(E-J)/H,(-Y-K)/r,(-E-J)/H);0===G&&0<Y&&(Y-=Math.PI/180*360);1==G&&0>Y&&(Y+=Math.PI/180*360);if(0===r&&0===H){d.lineTo(C,W);break}d.save();r=B.combineTransformMatrix([[1,0,ha,0,1,F],[Math.cos(z),Math.sin(z),0,Math.sin(z),Math.cos(z),0],[Da,0,0,0,fa,0]]);d.transform(r[0],r[3],r[1],r[4],r[2],r[5]);d.arc(0,0,wa,P,P+Y,1-G);d.restore();
B.arcBBox(0,0,wa,P,P+Y,1-G,[r[0],r[3],r[1],r[4],r[2],r[5]],t);"A"==q?(v=Number(c[e+5]),L=Number(c[e+6])):(v+=Number(c[e+5]),L+=Number(c[e+6]))}break;case "Z":case "z":d.closePath()}if("draw"===l){if(!a.attributes.fill||a.attributes.fill&&"none"!=a.attributes.fill.value)B.applyFillEffect(a,d,f,t),d.fill(),B.endFillEffect(a,d);if(!a.attributes.stroke||a.attributes.stroke&&"none"!=a.attributes.stroke.value)B.applyStrokeEffect(a,d,f,t),d.stroke(),B.endStrokeEffect(a,d);m()}};B.drawNodes=function(a,d,
f,l,m){var n=a.length,t=-1,A=0,q=0,c=function(){var v;t+=1;t<n?(v=a[t],v.tagName&&"defs"===v.tagName&&(t+=1,v=a[t]),v.attributes&&(v.attributes.dy&&(q=v.attributes.dy.value=1*v.attributes.dy.value+1*q),v.attributes.dx&&(A=v.attributes.dx.value=1*v.attributes.dx.value+1*A)),C.common(v,d,f,l,c)):m&&m()};c()};B.getSvgDimention=function(a){var d={width:0,height:0};node=a.childNodes&&a.childNodes[0]&&a.childNodes[0].attributes;d.width=Number(node.width&&node.width.value||0);d.height=Number(node.height&&
node.height.value||0);return d};B.storeImagesInArr=function(a){var d=a.getSVG(),f,l;f=a._getStore("imageArr");a=d.getElementsByTagName("image");for(l in a)a.hasOwnProperty(l)&&a[l].attributes&&a[l].attributes["xlink:href"]&&(d=a[l].attributes["xlink:href"].value,f[d]||(f[d]=[],f[d].status="progress",f[d].callback=null,f[d].obj=new Image,f[d].obj.onload=function(a){return function(){var d=f[a].callback;d?(f[a].status="complete",d()):f[a].status="complete"}}(d),f[d].obj.onerror=function(a){return function(){var d=
f[a].errCallback;d?(f[a].status="error",d()):f[a].status="error"}}(d),f[d].obj.src=d))};B.startTransform=function(a,d){var f=a.match(/[^\s][a-z,0-9.\-(\s]+\)/gi),l,m;for(m in f)f.hasOwnProperty(m)&&(-1<f[m].indexOf("matrix")&&(l=B.stringToArgs(f[m]),d.transform(l[0],l[1],l[2],l[3],l[4],l[5])),-1<f[m].indexOf("translate")&&(l=B.stringToArgs(f[m]),d.translate(l[0]||0,l[1]||0)),-1<f[m].indexOf("rotate")&&(l=B.stringToArgs(f[m]),3==l.length?(d.translate(l[1],l[2]),d.rotate(Math.PI/180*l[0]),d.translate(-l[1],
-l[2])):d.rotate(Math.PI/180*l[0])),-1<f[m].indexOf("scale")&&(l=B.stringToArgs(f[m]),1==l.length?d.scale(l[0]||1,l[0]||1):d.scale(l[0]||1,l[1]||1)),-1<f[m].indexOf("skewX")&&(l=B.stringToArgs(f[m]),d.transform(1,0,Math.tan(Math.PI/180*l[0]),1,0,0)),-1<f[m].indexOf("skewY")&&(l=B.stringToArgs(f[m]),d.transform(1,Math.tan(Math.PI/180*l[0]),0,1,0,0)))};B.resetTransform=function(a){a.setTransform(1,0,0,1,0,0)};B.stringToArgs=function(a){a=/\(([^\)]+)/.exec(a)[1];return B.getArgsAsArray(a)};B.getArgsAsArray=
function(a){var d;a=a.trim().split(/[\s,]+/);for(d=0;d<a.length;d++)a[d].trim(),0===a[d].length&&a.splice(d,1);return a};B.applyFillEffect=function(a,d,f,l){d.globalAlpha=a.attributes["fill-opacity"]&&"none"!=a.attributes["fill-opacity"].value?a.attributes["fill-opacity"].value:1;a.attributes.fill&&-1<a.attributes.fill.value.indexOf("url(")?(a=B.getFillStyleById(/url\(.*#([^\)'"]+)/.exec(a.attributes.fill.value)[1],d,f,l),d.fillStyle=a):d.fillStyle=a.attributes.fill?a.attributes.fill.value:"#000000"};
B.endFillEffect=function(a,d){d.globalAlpha=1};B.applyStrokeEffect=function(a,d,f,l){a.attributes["stroke-opacity"]&&"none"!=a.attributes["stroke-opacity"].value&&(d.globalAlpha=a.attributes["stroke-opacity"].value);a.attributes["stroke-width"]&&(d.lineWidth=a.attributes["stroke-width"].value,0===a.attributes["stroke-width"].value&&(d.globalAlpha=0));a.attributes["stroke-linecap"]&&"none"!=a.attributes["stroke-linecap"].value&&(d.lineCap=a.attributes["stroke-linecap"].value);a.attributes["stroke-linejoin"]&&
"none"!=a.attributes["stroke-linejoin"].value&&(d.lineJoin=a.attributes["stroke-linejoin"].value);a.attributes["stroke-dasharray"]&&"none"!=a.attributes["stroke-dasharray"].value&&d.setLineDash&&d.setLineDash(B.getArgsAsArray(a.attributes["stroke-dasharray"].value));d.strokeStyle=a.attributes.stroke?a.attributes.stroke.value:"#000000"};B.endStrokeEffect=function(a,d){a.attributes["stroke-opacity"]&&"none"!=a.attributes["stroke-opacity"].value&&(d.globalAlpha=1,d.setLineDash&&d.setLineDash([]),d.lineWidth=
1);d.globalAlpha=1};B.applyClip=function(a,d,f){var l=f.getSVG(),m,n;if(-1!==a.indexOf("url(")){a=/url\(.*#([^\)'"]+)/.exec(a)[1];l=l.getElementById(a);l.attributes&&(d.save(),l.attributes.transform&&B.startTransform(l.attributes.transform.value,d));a=l.childNodes;for(m in a)a.hasOwnProperty(m)&&a[m].tagName&&a[m].constructor!==Array&&(n="draw"+a[m].tagName,a[m].attributes&&(d.save(),a[m].attributes.transform&&B.startTransform(a[m].attributes.transform.value,d)),C[n]&&(C[n](a[m],d,f,"clip"),d.closePath()),
a[m].attributes&&d.restore());l.attributes&&d.restore();d.clip()}};B.getFillStyleById=function(a,d,f,l){a=f.getSVG().getElementById(a);return"linearGradient"==a.tagName?B.getLinearGradient(a,d,l):"radialGradient"==a.tagName?B.getRadialGradient(a,d,l):"#FFFFFF"};B.getLinearGradient=function(a,d,f){var l=a.attributes.x1?B.getPercentValue(a.attributes.x1.value,f.xMax-f.xMin,f.xMin):0,m=a.attributes.y1?B.getPercentValue(a.attributes.y1.value,f.yMax-f.yMin,f.yMin):0,n=a.attributes.x2?B.getPercentValue(a.attributes.x2.value,
f.xMax-f.xMin,f.xMin):0;f=a.attributes.y2?B.getPercentValue(a.attributes.y2.value,f.yMax-f.yMin,f.yMin):0;var t;linGrad=d.createLinearGradient(l,m,n,f);a=a.childNodes;for(t in a)a.hasOwnProperty(t)&&a[t].attributes&&a[t].attributes["stop-color"]&&(d=B.toRGB(a[t].attributes["stop-color"].value),l=a[t].attributes["stop-opacity"]?a[t].attributes["stop-opacity"].value:1,d.status?linGrad.addColorStop(B.getPercentValue(a[t].attributes.offset.value,1,0),"rgba("+d.r+","+d.g+","+d.b+","+Number(l)+")"):linGrad.addColorStop(B.getPercentValue(a[t].attributes.offset.value,
1,0),a[t].attributes["stop-color"].value));return linGrad};B.getRadialGradient=function(a,d,f){var l=a.attributes.cx?B.getPercentValue(a.attributes.cx.value,f.xMax-f.xMin,f.xMin):f.xMin+.5*(f.xMax-f.xMin),m=a.attributes.cy?B.getPercentValue(a.attributes.cy.value,f.yMax-f.yMin,f.yMin):f.yMin+.5*(f.yMax-f.yMin),n=a.attributes.fx?B.getPercentValue(a.attributes.fx.value,f.xMax-f.xMin,f.xMin):f.xMin+.5*(f.xMax-f.xMin),t=a.attributes.fy?B.getPercentValue(a.attributes.fy.value,f.yMax-f.yMin,f.yMin):f.yMin+
.5*(f.yMax-f.yMin);f=a.attributes.r?B.getPercentValue(a.attributes.r.value,(f.yMax-f.yMin+f.xMax-f.xMin)/2,0):B.getPercentValue("50%",(f.yMax-f.yMin+f.xMax-f.xMin)/2,0);var A;d=d.createRadialGradient(n,t,0,l,m,f);a=a.childNodes;for(A in a)a.hasOwnProperty(A)&&a[A].attributes&&a[A].attributes["stop-color"]&&(l=B.toRGB(a[A].attributes["stop-color"].value),m=a[A].attributes["stop-opacity"]?a[A].attributes["stop-opacity"].value:1,l.status?d.addColorStop(B.getPercentValue(a[A].attributes.offset.value,
1,0),"rgba("+l.r+","+l.g+","+l.b+","+Number(m)+")"):d.addColorStop(B.getPercentValue(a[A].attributes.offset.value,1,0),a[A].attributes["stop-color"].value));return d};B.getPercentValue=function(a,d,f){return-1!=a.indexOf("%")?(a=/(\d.*)%/.exec(a)[1],100<a&&(a=100),a*d/100+1*f):1<a?a:a*d+1*f};B.bBoxFromPoint=function(a,d,f){"undefined"!==typeof f.xMin&&(a.push(f.xMin,f.xMax),d.push(f.yMin,f.yMax));f.xMin=Math.min.apply(this,a);f.xMax=Math.max.apply(this,a);f.yMin=Math.min.apply(this,d);f.yMax=Math.max.apply(this,
d)};B.arcBBox=function(a,d,f,l,m,n,t,A){var q,c,v;t instanceof Array&&(a=a*t[0]+a*t[2]+t[4],d=d*t[1]+d*t[3]+t[5]);v=function(a,c,f){a=(a+2*Math.PI)%(2*Math.PI);c=(c+2*Math.PI)%(2*Math.PI);if(a<=c)return a<=f&&f<=c?!0:!1;if(a>=c)return a>=f&&f>=c?!1:!0};t=l%(2*Math.PI);q=m%(2*Math.PI);n&&(t=m%(2*Math.PI),q=l%(2*Math.PI));n=a+f*Math.cos(t);l=d+f*Math.sin(t);c=a+f*Math.cos(q);m=d+f*Math.sin(q);n=[n,c];l=[l,m];v(t,q,0)&&(n.push(1*a+1*f),l.push(d));v(t,q,.5*Math.PI)&&(n.push(a),l.push(1*d+1*f));v(t,q,
Math.PI)&&(n.push(a-1*f),l.push(d));v(t,q,1.5*Math.PI)&&(n.push(a),l.push(d-1*f));a=Math.max.apply(this,n);d=Math.min.apply(this,n);f=Math.max.apply(this,l);t=Math.min.apply(this,l);"undefined"!==typeof A.xMin?(A.xMin=Math.min(d,A.xMin),A.xMax=Math.max(a,A.xMax),A.yMin=Math.min(t,A.yMin),A.yMax=Math.max(f,A.yMax)):(A.xMin=d,A.xMax=a,A.yMin=t,A.yMax=f)};B.qBezierBBox=function(a,d,f,l,m,n,t){var A=1*a-2*f+1*m,q=1*d-2*l+1*n;0===A||0===q?(l=Math.max(a,m),a=Math.min(a,m),m=Math.max(d,n),d=Math.min(d,n)):
(A=(a-f)/A,q=(d-l)/q,f=a*Math.pow(1-A,2)+2*f*(1-A)*A+m*Math.pow(A,2),q=d*Math.pow(1-q,2)+2*l*(1-q)*q+n*Math.pow(q,2),l=Math.max(a,m,f),a=Math.min(a,m,f),m=Math.max(d,n,q),d=Math.min(d,n,q));"undefined"!==typeof t.xMin?(t.xMin=Math.min(a,t.xMin),t.xMax=Math.max(l,t.xMax),t.yMin=Math.min(d,t.yMin),t.yMax=Math.max(m,t.yMax)):(t.xMin=a,t.xMax=l,t.yMin=d,t.yMax=m)};B.cBezierBBox=function(a,d,f,l,m,n,t,A,q){var c,v,B,e,r,H,z;null===m&&null===n&&(f=a+2/3*(f-a),m=d+2/3*(l-d),l=f+1/3*(t-a),n=m+1/3*(A-d));
z=function(a,c,e,f,d){return a*Math.pow(1-d,3)+3*c*d*Math.pow(1-d,2)+3*e*d*d*(1-d)+f*d*d*d};B=3*t-9*m+9*f-3*a;e=6*a-12*f+6*m;r=Math.pow(e,2)-4*B*(3*f-3*a);v=c=a;t<c&&(c=t);t>v&&(v=t);0<=r&&(H=(-e+Math.sqrt(r))/(2*B),0<H&&1>H&&(H=z(a,f,m,t,H),H<c&&(c=H),H>v&&(v=H)),B=(-e-Math.sqrt(r))/(2*B),0<B&&1>B&&(H=z(a,f,m,t,B),H<c&&(c=H),H>v&&(v=H)));B=3*A-9*n+9*l-3*d;e=6*d-12*l+6*n;r=Math.pow(e,2)-4*B*(3*l-3*d);f=a=d;A<a&&(a=A);A>f&&(f=A);0<=r&&(H=(-e+Math.sqrt(r))/(2*B),0<H&&1>H&&(m=z(d,l,n,A,H),m<a&&(a=m),
m>f&&(f=m)),B=(-e-Math.sqrt(r))/(2*B),0<B&&1>B&&(m=z(d,l,n,A,B),m<a&&(a=m),m>f&&(f=m)));"undefined"!==typeof q.xMin?(q.xMin=Math.min(c,q.xMin),q.xMax=Math.max(v,q.xMax),q.yMin=Math.min(a,q.yMin),q.yMax=Math.max(f,q.yMax)):(q.xMin=c,q.xMax=v,q.yMin=a,q.yMax=f)};B.combineTransformMatrix=function(a){var d=a.length-1,f;if(0>=d)return a[0];f=a[0];for(i=1;i<=d;i++)f[0]=f[0]*a[i][0]+f[1]*a[i][3],f[1]=f[0]*a[i][1]+f[1]*a[i][4],f[2]=f[0]*a[i][2]+f[1]*a[i][5]+1*f[2],f[3]=f[3]*a[i][0]+f[4]*a[i][3],f[4]=f[3]*
a[i][1]+f[4]*a[i][4],f[5]=f[3]*a[i][2]+f[4]*a[i][5]+1*f[5];return f};B.angleBetweenVectors=function(a,d,f,l){return(a*l<d*f?-1:1)*Math.acos((a*f+d*l)/(Math.sqrt(Math.pow(a,2)+Math.pow(d,2))*Math.sqrt(Math.pow(f,2)+Math.pow(l,2))))};B.toRGB=function(a){var d={r:0,g:0,b:0,status:0},f,l;f=function(a){for(l in a)a.hasOwnProperty(l)&&(0>a[l]||isNaN(a[l])?a[l]=0:255<a[l]&&(a[l]=255));return d={r:a[0],g:a[1],b:a[2],status:1}};a=a.trim();a.match(/^rgb\(|^rgba\(/i)?(a=/\(\s*(\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})/.exec(a),
f([parseInt(a[1]),parseInt(a[2]),parseInt(a[3])])):a.match(/^#/)&&(a=/(\w{2})(\w{2})(\w{2})/.exec(a),f([parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]));return d};B.StrToDom=function(a){var m;d.DOMParser?(m=new DOMParser,m=m.parseFromString(a,"text/xml")):(m=new ActiveXObject("Microsoft.XMLDOM"),m.async=!1,m.loadXML(a));return m};d.SvgDeCanvo=K})(this.window||window);d.SvgDeCanvo&&(m.SvgDeCanvo=d.SvgDeCanvo,d.SvgDeCanvo=void 0)}]);FusionCharts.register("module",["private","modules.renderer.js-lib-attr",
function(){var d={},m=this.hcLib||(this.hcLib={}),E=Math.max,n=m.attrTypeNum=1,C=m.attrTypeBool=2;m.parseConfiguration=function(B,E,a,M,f,l){var O=m.attribDefs||d,X,t,A,q=1,c;M=M||d;l=l||d;f=f||{};for(X in B)if(!M[X]&&((t=B[X])||!1===t||0===t))switch(A=(c=l[X]||O[X])&&c.type,A){case n:t=Number(t);isNaN(t)||(E[X]=t);break;case C:t=Number(t);isNaN(t)||(E[X]=!!t);break;default:E[X]=t}if(a)for(X in E)void 0===E[X]&&(c=l[X]||O[X])&&c.pAttr&&(E[X]=a[c.pAttr]);for(;q;)for(X in q=0,E)void 0===E[X]&&(c=l[X]||
O[X])&&(c.attr?void 0!==(t=E[c.attr])&&(E[X]=t,q+=1):c.parser&&void 0!==(t=c.parser(E,a,f))&&(E[X]=t,q+=1))};m.setAttribDefs=function(d,n){var a=m.attribDefs,C,f;"string"===typeof d?(C={},C[d]=n):C=d;for(f in C)a[f]||(a[f]=C[f])};m.hasAttribDefs=function(d){return!!m.attribDefs[d]};m.attribDefs={setBorderWidth:{type:n,pAttr:"plotborderthickness"},plotborderthickness:{type:n,pAttr:"plotborderthickness"},showBorderEffect:{parser:function(d,m){return 1===+m.showplotborder&&.1===m.plotborderthickness?
1:0}},alphaanimation:{type:n},showplotborder:{type:n,pAttr:"showplotborder"},zeroplanethickness:{type:n},showzeroplaneontop:{type:n},usemessagelog:{type:n},showtooltip:{type:n,pAttr:"showtooltip"},seriesnameintooltip:{type:n},plothovereffect:{type:n,attr:"anchorhovereffect"},anchorhovereffect:{type:n,attr:"showhovereffect"},showhovereffect:{type:n},linethickness:{type:n,pAttr:"linethickness"},dashed:{type:n,pAttr:"linedashed"},linedashed:{type:n,attr:"plotborderdashed"},plotborderdashed:{type:n,pAttr:"plotborderdashed"},
linedashlen:{type:n,pAttr:"linedashlen"},linedashgap:{type:n,pAttr:"linedashgap"},anchoralpha:{pAttr:"anchoralpha"},anchorsides:{type:n,pAttr:"anchorsides"},anchorradius:{type:n,pAttr:"anchorradius"},anchorbgalpha:{pAttr:"anchorbgalpha"},anchorbgcolor:{pAttr:"anchorbgcolor"},anchorbordercolor:{pAttr:"anchorbordercolor"},anchorstartangle:{type:n,pAttr:"anchorstartangle"},anchorimageurl:{pAttr:"anchorimageurl"},anchorimagescale:{type:n,pAttr:"anchorimagescale"},anchorimagealpha:{pAttr:"anchorimagealpha"},
anchorimagepadding:{type:n,pAttr:"anchorimagepadding"},anchorborderthickness:{type:n,pAttr:"anchorborderthickness"},anchorshadow:{type:n,pAttr:"anchorshadow"},valuepadding:{type:n,pAttr:"valuepadding"},valueposition:{pAttr:"valueposition"},plotfillangle:{type:n,pAttr:"plotfillangle"},useplotgradientcolor:{type:n},rotatevalues:{type:n,pAttr:"rotatevalues"},includeinlegend:{type:n},connectnulldata:{type:n},plotfillalpha:{pAttr:"plotfillalpha"},alpha:{pAttr:"linealpha"},linealpha:{pAttr:"plotfillalpha"},
showvalues:{type:n,pAttr:"showvalues"},showpercentvalues:{type:n,parser:function(d){return d.isstacked&&d.stack100percent?1:0}},showpercentintooltip:{type:n,parser:function(d){return d.isstacked&&d.stack100percent?1:0}},stack100percent:{type:n,attr:"usepercentdistribution"},drawfullareaborder:{type:n},use3dlineshift:{type:n},parentyaxis:{type:n},radarborderthickness:{type:n},radarborderradius:{type:n},gaugeoriginx:{type:n},hasgaugeoriginx:{attr:"gaugeoriginx"},gaugeoriginy:{type:n},hasgaugeoriginy:{attr:"gaugeoriginy"},
gaugeradius:{type:n},hasgaugeradius:{attr:"gaugeradius"},showgaugeborder:{type:n},setAdaptiveMin:{type:n},adjustDiv:{type:n},axisNameWidth:{type:n},rotateAxisName:{type:n},useEllipsesWhenOverflow:{type:n},showZeroPlane:{type:n},zeroPlaneAlpha:{type:n},showZeroPlaneValue:{type:n},zeroPlaneOnTop:{type:n},trendlineThickness:{type:n},showTrendlinesOnTop:{type:n},trendlinesAreDashed:{type:n},trendlinesDashLen:{type:n},trendlinesDashGap:{type:n},showTrendlines:{type:n},showTrendlineLabels:{type:n},showLabels:{type:n},
rotateLabels:{type:n},slantLabel:{type:n},showAxisValues:{type:n},showTooltip:{type:n},maxLabelHeight:{type:n},useroundedges:{type:n,pAttr:"useroundedges"},placevaluesinside:{type:n},plotpaddingpercent:{type:n},use3dlighting:{type:n,pAttr:"use3dlighting"},usedataplotcolorforlabels:{type:n},plotspacepercent:{type:n,parser:function(d){return E(d.plotspacepercent%100,0)}},ratio:{pAttr:"plotfillratio"},base:{type:n},showMinorDivLineValues:{type:n},numMinorDivLines:{type:n},majorTMNumber:{type:n},majorTMHeight:{type:n},
showTickMarks:{type:n},majorTMThickness:{type:n},adjustTM:{type:C},minorTMNumber:{type:n},minorTMThickness:{type:n},tickMarkDistance:{type:n},placeTicksInside:{type:n},placeValuesInside:{type:n},axisValuePadding:{type:n},gridLineWidth:{type:n},showRadarBorder:{type:n},radarBorderThickness:{type:n},maxcolwidth:{type:n,parser:function(d){return Math.abs(d.maxcolwidth)}},maxbarheight:{type:n,parser:function(d){return Math.abs(d.maxbarheight)}},plotborderalpha:{parser:function(d,m){return m.plotborderalpha||
d.plotfillalpha}},autoscale:{type:n},plotborderdashlen:{type:n,pAttr:"plotborderdashlen"},plotborderdashgap:{type:n,pAttr:"plotborderdashgap"},plotfillratio:{pAttr:"plotfillratio"},drawverticaljoins:{type:n,pAttr:"drawverticaljoins"},useforwardsteps:{type:n,pAttr:"useforwardsteps"},minimizetendency:{type:n},usepercentdistribution:{type:n},stepatmiddle:{type:n}}}]);FusionCharts.register("module",["private","modules.renderer.js-lib",function(){var d=this,m=d.window,E,n=m.document,C=m.navigator,B=!(!m.SVGAngle&&
!n.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure","1.1")),K=/msie/i.test(C.userAgent)&&!m.opera,a=m.parseFloat,M=/\s+/g,f=/^#?/,l=/^rgba/i,O=/[#\s]/ig,X=/\{br\}\s*/ig,t=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i,A=Math.abs,q=Math.pow,c=Math.round,v=q(2,-24),L=Object.prototype.toString,e="ontouchstart"in n,C=e&&!(C.maxTouchPoints||C.msMaxTouchPoints),r="http://www.fusioncharts.com?BS=FCHSEvalMark&utm_source=FCS_trial&pver="+escape(d.core.version),H=!/fusioncharts\.com$/i.test(m.location.hostname);
E=Math;var z=E.max,P=E.min,G=m.Image,ga={pageX:0,pageY:0},W="createTouch"in n,Y=W&&!(m.navigator.maxTouchPoints||m.navigator.msMaxTouchPoints),T=d.hcLib||(d.hcLib={}),ka=T.SvgDeCanvo,J=function(b){var k=b.data,h=k.chart,u=h.components.paper,p=b.state,g=Ga(bb(b.originalEvent)),a=g.target||g.originalTarget||g.srcElement||g.relatedTarget||g.fromElement,w=h.components.resizeBox,D=k.layerX=g.pageX-k.chartPosLeft,I=k.layerY=g.pageY-k.chartPosTop,c=D-k.ox,e=I-k.oy,f=k.bBox,d=k.ox,R=k.oy,l=k.zoomX,r=k.zoomY,
f=k.canvasY,q=k.canvasX,m=k.canvasW,v=k.canvasH,qa=k.canvasX2,S=k.canvasY2,F=k.strokeWidth,c=k.attr;switch(p){case "start":b=wa(this);k.chartPosLeft=b.left;k.chartPosTop=b.top;D=g.pageX-k.chartPosLeft;I=g.pageY-k.chartPosTop;k.oy=I;k.ox=D;k.allowMove=!1;w||(w=h.components.resizeBox=u.rect(h.graphics.trackerGroup).attr(c));D>q&&D<qa&&I>f&&I<S&&(k.allowMove=!0);a&&a.ishot&&(k.allowMove=!1);w.attr({x:0,y:0,width:0,height:0}).show();break;case "end":f=w.getBBox();h={chart:h,selectionLeft:f.x,selectionTop:f.y,
selectionHeight:f.height,selectionWidth:f.width,originalEvent:b.originalEvent};k.isDragged&&(k.selectionEnd&&k.selectionEnd(h),k.isDragged=0);w.hide();delete k.oy;delete k.ox;break;default:k.allowMove&&(c=D-k.ox,e=I-k.oy,d=k.ox,R=k.oy,k.isDragged||(h={chart:h,selectionLeft:(l?P(d,d+c):q)+.5*F,selectionTop:(r?P(R,R+e):f)+.5*F,selectionHeight:0,selectionWidth:0,originalEvent:b.originalEvent},k.selectionStart&&k.selectionStart(h),k.isDragged=1),c=-(d-P(d-(d-z(d+c,q)),qa)),e=-(R-P(R-(R-z(R+e,f)),S)),
w.attr({x:(l?P(d,d+c):q)+.5*F,y:(r?P(R,R+e):f)+.5*F,width:l?A(c):m,height:r?A(e):v}))}},ha=function(b){var k=b.data;b=b.originalEvent;var h=b.target||b.originalTarget||b.srcElement||b.relatedTarget||b.fromElement,u=b.type,p=b.layerX,g=b.layerY;void 0===p&&(p=b.pageX-k.chartPosLeft,g=b.pageY-k.chartPosTop);"mousedown"===u&&(h.ishot=p>k.canvasX&&p<k.canvasX2&&g>k.canvasY&&g<k.canvasY2);"mouseup"===u&&setTimeout(function(){h.ishot=!1},1)},F=function(){var b="innerWidth",k="innerHeight",h=n.documentElement||
n.body,u=h;"innerWidth"in m?u=m:(b="clientWidth",k="clientHeight");return function(){return{width:u[b],height:u[k],scrollTop:h.scrollTop,scrollLeft:h.scrollLeft}}}(),wa=function(b,k){var h={left:b.offsetLeft||0,top:b.offsetTop||0};for(b=b.offsetParent;b;)h.left+=b.offsetLeft||0,h.top+=b.offsetTop||0,b===n.body||b===n.documentElement||k||(h.left-=b.scrollLeft,h.top-=b.scrollTop),b=b.offsetParent;return h},Da=function(b){return b&&b.replace(/\$/g,"$$$$")},fa=function(b,k){return b||!1===b||0===b?b:
k},ma=function(){var b,k,h;k=0;for(h=arguments.length;k<h;k+=1)if((b=arguments[k])||!1===b||0===b)return b;return""},ja=function(){var b,k,h;k=0;for(h=arguments.length;k<h;k+=1)if((b=arguments[k])||!1===b||0===b)return b},R=function(b,k,h,u){return T.dem.listen(b,k,h,u)},qa=function(b,k,h){return T.dem.unlisten(b,k,h)},bb=function(b){b=b.sourceEvent||b.originalEvent||b;return e&&b&&b.touches&&b.touches[0]||b||ga},Ga=function(){var b;return function(k){void 0===k.pageX&&(k.pageX=k.clientX+(b||(b=m.document.body||
m.document.documentElement)).scrollLeft,k.pageY=k.clientY+b.scrollTop);return k}}(),Ca=function(b,k){k=Ga(bb(k));var h=k.pageX,u=k.pageY,p=wa(b);return{chartX:h-p.left,chartY:u-p.top,pageX:h,pageY:u}},Oa=function(b,k,h){b=n.createElement(b);for(var u in k)b.setAttribute(u,k[u]);h&&h.appendChild&&h.appendChild(b);return b},Pa=function(b){return b&&b.replace(/^#?([a-f0-9]+)/ig,"#$1")||"none"},Fa=function(){var b,k,h;k=0;for(h=arguments.length;k<h;k+=1)if(((b=arguments[k])||!1===b||0===b)&&!isNaN(b=
Number(b)))return b},Wa=function(b,k){b=b||!1===b||0===b?Number(b):NaN;return isNaN(b)?null:k?A(b):b},Na=function(b){return"string"===typeof b?b.replace(X,"<br />"):""},Va=function(b,k){b=b.split(",")[k||0];b=b.replace(M,"");""==b&&(b="000000");return b.replace(f,"#")},Ra=function(b){b=parseInt(b,10);if(isNaN(b)||100<b||0>b)b=100;return b},da=function(b,k){for(var h=k.length,u=-1;h--;)if(b===k[h]){u=h;break}return u},Ma=function(){if(Array.isArray)return Array.isArray;var b=Object.prototype.toString,
k=b.call([]);return function(h){return b.call(h)===k}}(),Ia=function(b,k,h,u,p){var g,a,w,D;p?(u.push(b),p.push(k)):(u=[b],p=[k]);if(k instanceof Array)for(g=0;g<k.length;g+=1){try{a=b[g],w=k[g]}catch(I){continue}if("object"!==typeof w)h&&void 0===w||(b[g]=w);else{if(null===a||"object"!==typeof a)a=b[g]=w instanceof Array?[]:{};D=da(w,p);-1!==D?a=b[g]=u[D]:Ia(a,w,h,u,p)}}else for(g in k){try{a=b[g],w=k[g]}catch(I){continue}if(null!==w&&"object"===typeof w)if(D=L.call(w),"[object Object]"===D){if(null===
a||"object"!==typeof a)a=b[g]={};D=da(w,p);-1!==D?a=b[g]=u[D]:Ia(a,w,h,u,p)}else"[object Array]"===D?(null!==a&&a instanceof Array||(a=b[g]=[]),D=da(w,p),-1!==D?a=b[g]=u[D]:Ia(a,w,h,u,p)):b[g]=w;else b[g]=w}return b},Ka=function(b,k,h){if("object"!==typeof b&&"object"!==typeof k)return null;if("object"!==typeof k||null===k)return b;"object"!==typeof b&&(b=k instanceof Array?[]:{});Ia(b,k,h);return b},ya=function(b,k){var h;if(k instanceof Array)for(h=k.length-1;0<=h;--h)"object"!==typeof k[h]?!0===
k[h]&&b&&b.splice&&b.splice(h,1):L.call(k[h])===L.call(b[h])&&ya(b[h],k[h]);else for(h in k)"object"!==typeof k[h]?!0===k[h]&&b&&b.splice&&b.splice(h,1):L.call(k[h])===L.call(b[h])&&ya(b[h],k[h]);return b},gb=function(){var b=/^@window_/g;return function(k,h){var u=k.replace(/\[[\'\"]/g,".").replace(/[\'\"]\]/g,"").replace(/\[/g,".@window_").replace(/\]/g,"").split("."),p=m,g,a;a="";var w,D,I;D=u.length;for(I=0;I<D;I+=1){w=u[I];g=p;if(w.match(b))a=m[w.replace(b,"")],p=p[a];else{if(void 0===p||null===
p)throw(a||w).replace(b,"")+" is not defined";p=p[w]}a=w}!p||"function"!==typeof p.call&&p!==m.alert?setTimeout(function(){throw w.replace(b,"")+"() is not a function";},0):p===m.alert?p(h):p.call(g,h)}}(),Ya=function(){var b="FusionChartslinkEval"+parseInt(+new Date,10);return function(k){try{m[b]=new Function(k),eval('window["'+b+'"]();')}catch(h){setTimeout(function(){throw h;},0)}B?delete m[b]:m[b]=null}}(),Db=function(b){var k={image:!1};void 0!==b&&(b=b.replace(/^\s+/,"").replace(/\s+$/,""),
/^i\s*[\-]\s*/i.test(b)?(k.image=!0,k.string=b.replace(/^i\s*[\-]\s*/i,"")):k.string=b.replace(/^\\/,""));return k},Ab=function(b,k){b=Number(b);b=isNaN(b)?100:b;void 0!==k&&(b=b*k/100);return b%101},Eb=function(b,k,h){b=b.split(",");var u;void 0!==h&&(h=Fa(h.split(",")[0]));b[0]=Ab(b[0],h);for(u=1;u<k;u+=1)b[u]=b[0]*Ab(b[u],h)/100;return b.join(",")},Bb=function(b,k,h){var u=0,p=0,g=0;h&&h.match(l)&&(h=h.split(","),u=h[0].slice(h[0].indexOf("(")+1),p=h[1],g=h[2],k||0===k||(k=parseInt(100*h[3].slice(0,
h[3].indexOf(")")),10)));if(b)if(b.match(l))h=b.split(","),u=h[0].slice(h[0].indexOf("(")+1),p=h[1],g=h[2];else{b=b.replace(O,"").split(",")[0];switch(b.length){case 3:b=b.charAt(0)+b.charAt(0)+b.charAt(1)+b.charAt(1)+b.charAt(2)+b.charAt(2);break;case 6:break;default:b=(b+"FFFFFF").slice(0,6)}u=parseInt(b.slice(0,2),16);p=parseInt(b.slice(2,4),16);g=parseInt(b.slice(4,6),16)}k||0===k||(k=100);"string"===typeof k&&(k=k.split(",")[0]);k=parseInt(k,10)/100;return"rgba("+u+","+p+","+g+","+k+")"},hb=
function(){var b={};return function(k){var h=(k=k||this)&&k.FCcolor||k,u=h.color,p=h.ratio,g=h.angle,w=h.alpha,ca=h.r,D=h.cx,I=h.cy,c=h.fx,e=h.fy,f=h.gradientUnits,d=h.x1,R=h.y1,l=h.x2,r=h.y2,z=1,q,m,v,qa;if("string"===typeof k)return b[qa="~"+k]||(b[qa]=k.replace(/^#?([a-f0-9]{3,6})/ig,"#$1"));u=u||"";if(!u)return q;qa=[u,w,p,g,ca,D,I,f,c,e,d,l,R,r].join("_").replace(/[\(\)\s,\xb0#]/g,"_");if(b[qa])return b[qa];p=p&&(p+"").split(",")||[];w=(w||0===w)&&(w+"").split(",")||[];if(u=u.split(","))if(q=
"",1===u.length)v=u[0].replace(/^#?([a-f0-9]{3,6})/ig,"$1"),q=w.length?"rgba("+Za(v).join(",")+","+.01*a(w[0])+")":v.replace(/^#?([a-f0-9]{3,6})/ig,"#$1");else{k=0;for(m=u.length;k<m;k++)v=u[k].replace(/^#?([a-f0-9]{3,6})/ig,"$1"),isNaN(p[k])||(p[k]=a(p[k]),v+=":"+p[k],isNaN(p[k+1])||(p[k+1]=a(p[k+1])+p[k])),isNaN(w[k])||""===w[k]||(z=.01*w[k]),u[k]="rgba("+Za(v).join(",")+","+z+")",isNaN(p[k])||(u[k]=u[k]+":"+p[k]);q+=u.join("-");if(void 0!==ca||void 0!==c||void 0!==D||h.radialGradient)q="xr("+[c,
e,ca,D,I,f].join()+")"+q;else{q="-"+q;if(void 0!==d||void 0!==R||void 0!==l||void 0!==r)q="("+[d,R,l,r,f].join()+")"+q;void 0===g&&(g=0);q=360-a(g)%360+q}}return b[qa]=q}}(),Ta=function(){return function(){return""}}(),Ua=function(b){return b.replace(O,"").replace(f,"#")},mb=function(b,k){k=(0>k||100<k?100:k)/100;b=b.replace(O,"");var h=parseInt(b,16),u=Math.floor(h/65536),p=Math.floor((h-65536*u)/256);return("000000"+(u*k<<16|p*k<<8|(h-65536*u-256*p)*k).toString(16)).slice(-6)},$a=function(b,k){k=
(0>k||100<k?100:k)/100;b=b.replace(O,"");var h=parseInt(b,16),u=Math.floor(h/65536),p=Math.floor((h-65536*u)/256);return("000000"+(256-(256-u)*k<<16|256-(256-p)*k<<8|256-(256-(h-65536*u-256*p))*k).toString(16)).slice(-6)},Za=function(b){b=parseInt(b,16);var k=Math.floor(b/65536),h=Math.floor((b-65536*k)/256);return[k,h,Math.floor(b-65536*k-256*h)]},sb=function(b,k){if("object"!==typeof b)return"";if(b.fontSize||b["font-size"])!b.fontSize&&b["font-size"]&&(b.fontSize=b["font-size"],delete b["font-size"]),
b.lineHeight=(parseFloat(b.fontSize)||k||10)*T.lineHeightFactor+"px",delete b["line-height"];!b.lineHeight&&b["line-height"]&&(b.lineHeight=b["line-height"],delete b["line-height"]);return b.lineHeight},vb=function(b,k,h,u,p){var g=ma(b.labelbordercolor,k.bordercolor,h.labelbordercolor,""),a=ja(b.labelbgcolor,k.bgcolor,h.labelbgcolor),w=Fa(b.labelborderthickness,k.borderthickness,h.labelborderthickness,1);p=Fa(h.usedataplotcolorforlabels,0)?p||u.color:u.color;g=g?Bb(g,Fa(b.labelborderalpha,k.borderalpha,
h.labelborderalpha,b.labelalpha,k.alpha,h.labelalpha,100)):"";b={fontFamily:ja(b.labelfont,k.font,h.labelfont,u.fontFamily),fontSize:ja(b.labelfontsize,k.fontsize,h.labelfontsize,parseInt(u.fontSize,10))+"px",color:Bb(ja(b.labelfontcolor,k.fontcolor,h.labelfontcolor,p),Fa(b.labelfontalpha,k.fontalpha,h.labelfontalpha,b.labelalpha,k.alpha,h.labelalpha,100)),fontWeight:Fa(b.labelfontbold,k.fontbold,h.labelfontbold)?"bold":"normal",fontStyle:Fa(b.labelfontitalic,k.fontitalic,h.labelfontitalic)?"italic":
"normal",border:g||a?w+"px solid":"",borderColor:g,borderThickness:w,borderPadding:Fa(b.labelborderpadding,k.borderpadding,h.labelborderpadding,2),borderRadius:Fa(b.labelborderradius,k.borderradius,h.labelborderradius,0),backgroundColor:a?Bb(a,Fa(b.labelbgalpha,k.bgalpha,h.labelbgalpha,b.labelalpha,k.alpha,h.labelalpha,100)):"",borderDash:Fa(b.labelborderdashed,k.borderdashed,h.labelborderdashed,0)?Sa(Fa(b.labelborderdashlen,k.borderdashlen,h.labelborderdashlen,4),Fa(b.labelborderdashgap,k.borderdashgap,
h.labelborderdashgap,2),w):"none"};b.lineHeight=sb(b);return b},eb=function(){var b={top:{align:"center",verticalAlign:"top",textAlign:"center"},right:{align:"right",verticalAlign:"middle",textAlign:"left"},bottom:{align:"center",verticalAlign:"bottom",textAlign:"center"},left:{align:"left",verticalAlign:"middle",textAlign:"right"}},k=/([^\,^\s]+)\)$/g,h=function(b,k){var h;/^(bar|bar3d)$/.test(b)&&(this.isBar=!0,this.yPos="bottom",this.yOppPos="top",this.xPos="left",this.xOppPos="right");h=parseInt(k.labelstep,
10);this.labelStep=1<h?h:1;this.showLabel=Fa(k.showlabels,k.shownames,1);this.is3D=/3d$/.test(b)};h.prototype={isBar:!1,yPos:"left",yOppPos:"right",xPos:"bottom",xOppPos:"top",addAxisGridLine:function(h,p,g,a,w,D,I,c){var e=""===g?!1:!0,f=0<a||0<D.match(k)[1]?!0:!1,d;if(e||f)f||(D="rgba(0,0,0,0)",a=.1),d={isGrid:!0,width:a,dashStyle:w,color:D,value:p,zIndex:void 0===I?2:I},e&&(p=h.opposite?c?this.xOppPos:this.yOppPos:c?this.xPos:this.yPos,p=b[p],d.label={text:g,style:h.labels.style,textAlign:p.textAlign,
align:p.align,verticalAlign:p.verticalAlign,rotation:0,x:0,y:0}),h.plotLines.push(d);return d},addAxisAltGrid:function(b,k){if(!this.is3D){var h=Fa(b._lastValue,b.min),N=ja(b._altGrid,!1);N&&b.plotBands.push({isGrid:!0,color:b.alternateGridColor,to:k,from:h,zIndex:1});b._lastValue=k;b._altGrid=!N}},addXaxisCat:function(k,h,g,a,w,D,I,c){var e=b[k.opposite?this.xOppPos:this.xPos];h={isGrid:!0,isDataLabel:!0,width:.1,color:"rgba(0,0,0,0)",value:h,label:{text:a,link:ja(w.labellink,D.link,I.labellink),
style:vb(w,D,I,k.labels.style,c),textAlign:e.textAlign,align:e.align,verticalAlign:e.verticalAlign,rotation:0,x:0,y:0}};0!==g%this.labelStep&&(h.stepped=!0,h.label.style=k.steppedLabels.style);k.plotLines.push(h)},addVline:function(b,k,h,N){N=N._FCconf;var a=N.isBar,w=N.divlineStyle,D=Na(k.label),I=!!Fa(k.showlabelborder,N.showVLineLabelBorder,1),c=!!Fa(k.showlabelbackground,1),e=ja(k.labelhalign,a?"left":"center"),f=ja(k.labelvalign,a?"middle":"bottom").toLowerCase(),d=Fa(k.labelposition,0),R=Fa(k.lineposition,
.5),l=Fa(k.showvlines,N.showVLines,1),r=Fa(k.alpha,N.vLineAlpha,80),q=ja(k.color,N.vLineColor).replace(/^#?/,"#"),z=c?ja(k.labelbgcolor,N.vLineLabelBgColor,"333333").replace(/^#?/,"#"):"",m=ja(k.labelcolor,N.vLineLabelColor,k.color,N.vLineColor).replace(/^#?/,"#"),v=Fa(k.thickness,N.vLineThickness,1),qa=.5*v,A=!!Number(ja(k.dashed,0)),Ga=Fa(k.dashlen,5),F=Fa(k.dashgap,2),H=N.smartLabel,t=parseInt(w.fontSize,10)+2,n=0,G=Fa(k.rotatelabel,N.rotateVLineLabels)?270:0,R=0>R||1<R?.5:R,d=0>d||1<d?0:d;H.setStyle(w);
H=H.getOriSize(D);q=Bb(q,l?r:"0");if(a){switch(f){case "top":t-=H.height+qa+2;break;case "middle":t-=.5*H.height+1;break;default:t+=qa}k.labelhalign||(n-=H.width*d)}else{switch(f){case "top":t=.5*-H.height+1;break;case "middle":t=0;break;default:t=.5*H.height}switch(e){case "left":n+=v;break;case "right":n-=v+1}}b.plotLines.push({isVline:!0,color:q,width:v,value:h-1+R,zIndex:Fa(k.showontop,N.showVLinesOnTop)?5:3,dashStyle:A?Sa(Ga,F,v):"none",label:{text:D,align:a?"left":"center",offsetScale:d,rotation:G,
y:t,x:n,textAlign:e,backgroundColor:z,borderWidth:l&&I?1:0,borderType:l&&I?"solid":"",borderColor:l&&I?m:"",backgroundOpacity:l&&c?ja(k.labelbgalpha,N.vLineLabelBgAlpha)/100:0,style:{color:l?m:q,fontSize:w.fontSize,fontFamily:w.fontFamily,lineHeight:w.lineHeight,backgroundColor:z}}})}};return h.prototype.constructor=h}(),za=function(){var b=function(b,h,g,N,a){b=Math.abs(h-b);h=b/(g+1);k(b,g,N)||(a&&Number(h)/Number(N)<(1<N?2:.5)&&(N/=10),h=(Math.floor(h/N)+1)*N,b=h*(g+1));return b},k=function(b,
k,g){return h(b/(k+1))>h(g)?!1:!0},h=function(b){b=Math.abs(b);b=String(b);var k=0,h=b.indexOf(".");-1!=h&&(k=b.length-h-1);return k};return function(h,p,g,a,w,D,I,c){var e,f,d,R,l,r,q,z=0;h=!0===isNaN(h)||void 0===h?.1:h;p=!0===isNaN(p)||void 0===p?0:p;h===p&&0===h&&(h=.1);f=Math.max(Math.floor(Math.log(Math.abs(p))/Math.LN10),Math.floor(Math.log(Math.abs(h))/Math.LN10));e=Math.pow(10,f);2>Math.abs(h)/e&&2>Math.abs(p)/e&&(f--,e=Math.pow(10,f));f=Math.floor(Math.log(h-p)/Math.LN10);d=Math.pow(10,
f);0<h-p&&10<=e/d&&(e=d);f=(Math.floor(h/e)+1)*e;0>p?d=-1*(Math.floor(Math.abs(p/e))+1)*e:D?d=0:(d=Math.floor(Math.abs(p/e)-1)*e,d=0>d?0:d);w&&0>=h&&(f=0);w=g||0===g?!0:!1;D=a||0===a?!0:!1;h=!1===w||!0===w&&Number(g)<h&&h-Number(g)>v?f:Number(g);p=!1===D||!0===D&&Number(a)>p&&Number(a)-p>v?d:Number(a);a=Math.abs(h-p);if(!1===D&&!1===w&&c)if(0<h&&0>p)for(g=!1,w=10<e?e/10:e,c=b(p,h,I,w,!1),D=c-(I+1)*w;!1===g;){if(D+=(I+1)*w,k(D,I,w))if(c=D-a,f=D/(I+1),R=Math.min(Math.abs(p),h),d=R==Math.abs(p)?-1:1,
0===I)g=!0;else for(r=1;r<=Math.floor((I+1)/2);r++)l=f*r,!(l-R>c)&&l>R&&(q=D-l,q/f==Math.floor(q/f)&&l/f==Math.floor(l/f)&&(a=D,h=-1==d?q:l,p=-1==d?-l:-q,g=!0))}else g=b(p,h,I,e,!0),c=g-a,a=g,0<h?h+=c:p-=c;else c&&(g=function(b,h,g){for(var u=0,p=1,N;;){N=b+u*p;N=0===N?1:N;if(k(h,N,g))break;u=-1==p||u>b?++u:u;if(25<u){N=0;break}p=u<=b?-1*p:1}return N},0<I&&(c=g(I,a,e),0===c&&(c=g(I,a+1,e),z=1),I=c));return{Max:h,Min:p,Range:a,interval:e,divGap:(h-p+z)/(I+1)}}}(),zb=function(){var b=function(b,h,u){var p=
u.jsVars&&u.jsVars.smartLabel,g=b.offsetWidth,N=b.offsetHeight,a=this.chart;b=this.title;var w=u._chartMessageImageStyle,D=Db(h);b.y=N/2;b.x=g/2;a.bgSWF=b.text=void 0;h=D.string;D.image?(a.bgSWF=h,a.bgImageHAlign=w.imageHAlign,a.bgImageVAlign=w.imageVAlign,a.bgImageScale=w.imageScale,a.bgSWFAlpha=w.imageAlpha):void 0!==h&&(p?(sb(b.style),p.setStyle(b.style),h=p.getSmartText(Na(h),g,N),b.text=h.text):b.text=Na(h),b.verticalAlign="middle");b.style=u._chartMessageStyle;delete u._chartMessageImageStyle;
delete u._chartMessageStyle};b.prototype={chart:{events:{},margin:[0,0,0,0],backgroundColor:{FCcolor:{alpha:0}}},credits:{href:r,text:"",enabled:H},legend:{enabled:!1},title:{text:"",style:{fontFamily:"Verdana,sans",fontSize:"10px",color:"#666666"}},plotOptions:{series:{}},series:[{}],exporting:{enabled:!1},nativeMessage:!0};return b.prototype.constructor=b}(),ob={"true":{"true":{"true":"center","false":"center"},"false":{"true":"center","false":"center"}},"false":{"true":{"true":"right",
"false":"left"},"false":{"true":"left","false":"right"}}},ab=function(){return function(b,k,h,u,p,g,a){var w,D=h.trendStyle,I,c,e,f,d,R,l,r,q,z,m,v,qa,A=g?"xAxis":"dataLabels";if(g?h.showVLines:h.showTrendlines)for(w=0,c=b.length;w<c;w+=1)if((qa=b[w])&&qa.line)for(I=0,e=qa.line.length;I<e;I+=1)f=qa.line[I],z=h.numberFormatter.getCleanValue(ja(f.startvalue,f.value,0)),m=h.numberFormatter.getCleanValue(ja(f.endvalue,ja(f.startvalue,f.value,0))),g?r=k:u&&f.parentyaxis&&/^s$/i.test(f.parentyaxis)?(r=
k[1],v=1):r=k[0],R=r.max,l=r.min,d=!1,R>=z&&R>=m&&l<=z&&l<=m&&(u&&f.parentyaxis&&/^s$/i.test(f.parentyaxis)?d="1"!==ja(f.valueonleft,h.trendlineValuesOnOpp):u||(d="1"===ja(f.valueonright,h.trendlineValuesOnOpp)),R=!!Fa(f.istrendzone,g?1:0),(l=(g?h.showVLineLabels:h.showTrendlineLabels)?Na(ja(f.displayvalue,h.numberFormatter[A](d?m:z,v))):"")?(q=z<m,d={text:l,textAlign:p?"center":d?"left":"right",align:p?ob[R][!a][q]:d?"right":"left",verticalAlign:p?"bottom":"middle",rotation:0,x:0,y:0,style:D},l=
ja(f.color,h.trendlineColor),f.alwaysVisible=R,l&&(d.style=Ka({},D),d.style.color=Bb(l,Fa(f.alpha,100)))):d=void 0,l=fa(Na(ja(f.tooltext,qa.tooltext,h.trendLineToolText))),l=lb(l,[7,15,16,17,18,19],{startValue:z,startDataValue:h.numberFormatter[A](z,v),endValue:m,endDataValue:h.numberFormatter[A](m,v),axisName:r.title&&r.title.text},f),q=Fa(f.thickness,h.trendlineThickness,1),R?r.plotBands.push({isTrend:!0,color:Bb(ja(f.color,h.trendlineColor),ja(f.alpha,h.trendlineAlpha,40)),from:z,to:m,label:d,
zIndex:h.is3d||"1"!==ja(f.showontop,h.showTrendlinesOnTop)?3:5,tooltext:l,alwaysVisible:f.alwaysVisible}):r.plotLines.push({isTrend:!0,color:Bb(ja(f.color,h.trendlineColor,h.trendlineColor),ja(f.alpha,h.trendlineAlpha,99)),value:z,to:m,width:q,dashStyle:"1"==ja(f.dashed,h.trendlinesAreDashed)?Sa(Fa(f.dashlen,h.trendlinesDashLen),Fa(f.dashgap,h.trendlinesDashGap),q):"none",label:d,zIndex:h.is3d||"1"!==ja(f.showontop,h.showTrendlinesOnTop)?3:5,tooltext:l}))}}(),Sa=function(b,k,h,u){return u||void 0===
u?[b,k]:"none"},La=function(){},Qa=function(b,k,h,u,p){var g,a=Qa[b],w;a||(w=function(){},w.prototype=h instanceof La?h:new La,w.prototype.constructor=w,a=Qa[b]=new w,h&&(a.base=h),a.name=b,a.config={},null!==p&&(b=(p instanceof La?p:h instanceof La?h:{}).config)&&Ka(a.config,b));u&&Ka(a.config,u);for(g in k)switch(typeof k[g]){case "object":if(k[g]instanceof La){a[g]=k[g][g];break}default:a[g]=k[g];break;case "undefined":delete a[g]}return this instanceof Qa?(k=function(){this.config={};this.__setDefaultConfig=
function(){a&&a.config&&Ka(this.config,a.config)};this.__setDefaultConfig()},k.prototype=a,k.prototype.constructor=k,new k):a},lb=function(){var b=[{regex:/((^|[^\\])((\\)\\)*\$cleanvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cleanvalue))/ig,argIndex:2,argKey:"cleanvalue"},{regex:/((^|[^\\])((\\)\\)*\$datavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$datavalue))/ig,argIndex:2,argKey:"formattedValue"},{regex:/((^|[^\\])((\\)\\)*\$value)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$value))/ig,argIndex:3,
argKey:"value"},{regex:/((^|[^\\])((\\)\\)*\$label)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$label))/ig,argIndex:2,argKey:"label"},{regex:/((^|[^\\])((\\)\\)*\$seriesname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$seriesname))/ig,argIndex:5,argKey:"seriesname"},{regex:/((^|[^\\])((\\)\\)*\$yaxisname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$yaxisname))/ig,argIndex:2,argKey:"yaxisName"},{regex:/((^|[^\\])((\\)\\)*\$xaxisname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xaxisname))/ig,argIndex:2,argKey:"xaxisName"},
{regex:/((^|[^\\])((\\)\\)*\$displayvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$displayvalue))/ig,argIndex:3,argKey:"displayvalue"},{regex:/((^|[^\\])((\\)\\)*\$xdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xdatavalue))/ig,argIndex:2,argKey:"xDataValue"},{regex:/((^|[^\\])((\\)\\)*\$ydatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$ydatavalue))/ig,argIndex:2,argKey:"yDataValue"},{regex:/((^|[^\\])((\\)\\)*\$xvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xvalue))/ig,argIndex:3,argKey:"x"},
{regex:/((^|[^\\])((\\)\\)*\$yvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$yvalue))/ig,argIndex:3,argKey:"y"},{regex:/((^|[^\\])((\\)\\)*\$zvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$zvalue))/ig,argIndex:3,argKey:"z"},{regex:/((^|[^\\])((\\)\\)*\$name)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$name))/ig,argIndex:3,argKey:"name"},{regex:/((^|[^\\])((\\)\\)*\$percentValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentValue))/ig,argIndex:2,argKey:"percentValue"},{regex:/((^|[^\\])((\\)\\)*\$startValue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$startValue))/ig,argIndex:2,argKey:"startValue"},{regex:/((^|[^\\])((\\)\\)*\$startDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$startDataValue))/ig,argIndex:2,argKey:"startDataValue"},{regex:/((^|[^\\])((\\)\\)*\$endValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$endValue))/ig,argIndex:2,argKey:"endValue"},{regex:/((^|[^\\])((\\)\\)*\$endDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$endDataValue))/ig,argIndex:2,argKey:"endDataValue"},{regex:/((^|[^\\])((\\)\\)*\$axisName)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$axisName))/ig,argIndex:2,argKey:"axisName"},{regex:/((^|[^\\])((\\)\\)*\$cumulativevalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativevalue))/ig,argIndex:2,argKey:"cumulativeValue"},{regex:/((^|[^\\])((\\)\\)*\$cumulativedatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativedatavalue))/ig,argIndex:2,argKey:"cumulativeDataValue"},{regex:/((^|[^\\])((\\)\\)*\$cumulativePercentValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativePercentValue))/ig,
argIndex:2,argKey:"cumulativePercentValue"},{regex:/((^|[^\\])((\\)\\)*\$cumulativepercentdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$cumulativepercentdatavalue))/ig,argIndex:2,argKey:"cumulativePercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$sum)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$sum))/ig,argIndex:2,argKey:"sum"},{regex:/((^|[^\\])((\\)\\)*\$unformattedsum)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedsum))/ig,argIndex:2,argKey:"unformattedSum"},{regex:/((^|[^\\])((\\)\\)*\$targetvalue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$targetvalue))/ig,argIndex:2,argKey:"targetValue"},{regex:/((^|[^\\])((\\)\\)*\$targetdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$targetdatavalue))/ig,argIndex:2,argKey:"targetDataValue"},{regex:/((^|[^\\])((\\)\\)*\$processname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$processname))/ig,argIndex:2,argKey:"processName"},{regex:/((^|[^\\])((\\)\\)*\$start)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$start))/ig,argIndex:2,argKey:"start"},{regex:/((^|[^\\])((\\)\\)*\$end)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$end))/ig,argIndex:2,argKey:"end"},{regex:/((^|[^\\])((\\)\\)*\$percentcomplete)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentcomplete))/ig,argIndex:2,argKey:"percentComplete"},{regex:/((^|[^\\])((\\)\\)*\$taskpercentcomplete)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$taskpercentcomplete))/ig,argIndex:2,argKey:"taskPercentComplete"},{regex:/((^|[^\\])((\\)\\)*\$taskstartdate)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$taskstartdate))/ig,argIndex:2,argKey:"taskStartDate"},
{regex:/((^|[^\\])((\\)\\)*\$taskenddate)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$taskenddate))/ig,argIndex:2,argKey:"taskEndDate"},{regex:/((^|[^\\])((\\)\\)*\$tasklabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tasklabel))/ig,argIndex:2,argKey:"taskLabel"},{regex:/((^|[^\\])((\\)\\)*\$date)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$date))/ig,argIndex:2,argKey:"date"},{regex:/((^|[^\\])((\\)\\)*\$percentofprevvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentofprevvalue))/ig,argIndex:2,argKey:"percentOfPrevValue"},
{regex:/((^|[^\\])((\\)\\)*\$sname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$sname))/ig,argIndex:2,argKey:"sName"},{regex:/((^|[^\\])((\\)\\)*\$lname)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$lname))/ig,argIndex:2,argKey:"lName"},{regex:/((^|[^\\])((\\)\\)*\$fromid)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromid))/ig,argIndex:2,argKey:"fromId"},{regex:/((^|[^\\])((\\)\\)*\$fromlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromlabel))/ig,argIndex:2,argKey:"fromLabel"},{regex:/((^|[^\\])((\\)\\)*\$toid)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toid))/ig,argIndex:2,argKey:"toId"},{regex:/((^|[^\\])((\\)\\)*\$tolabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tolabel))/ig,argIndex:2,argKey:"toLabel"},{regex:/((^|[^\\])((\\)\\)*\$fromxvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromxvalue))/ig,argIndex:2,argKey:"fromXValue"},{regex:/((^|[^\\])((\\)\\)*\$fromyvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromyvalue))/ig,argIndex:2,argKey:"fromYValue"},{regex:/((^|[^\\])((\\)\\)*\$fromxdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromxdatavalue))/ig,
argIndex:2,argKey:"fromXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromydatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromydatavalue))/ig,argIndex:2,argKey:"fromYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromlabel))/ig,argIndex:2,argKey:"fromLabel"},{regex:/((^|[^\\])((\\)\\)*\$toxvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toxvalue))/ig,argIndex:2,argKey:"toXValue"},{regex:/((^|[^\\])((\\)\\)*\$toyvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toyvalue))/ig,
argIndex:2,argKey:"toYValue"},{regex:/((^|[^\\])((\\)\\)*\$toxdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toxdatavalue))/ig,argIndex:2,argKey:"toXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$toydatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toydatavalue))/ig,argIndex:2,argKey:"toYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$tolabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tolabel))/ig,argIndex:2,argKey:"toLabel"},{regex:/((^|[^\\])((\\)\\)*\$openvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$openvalue))/ig,
argIndex:2,argKey:"openValue"},{regex:/((^|[^\\])((\\)\\)*\$closevalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$closevalue))/ig,argIndex:2,argKey:"closeValue"},{regex:/((^|[^\\])((\\)\\)*\$highvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$highvalue))/ig,argIndex:2,argKey:"highValue"},{regex:/((^|[^\\])((\\)\\)*\$lowvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$lowvalue))/ig,argIndex:2,argKey:"lowValue"},{regex:/((^|[^\\])((\\)\\)*\$opendatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$opendatavalue))/ig,
argIndex:2,argKey:"openDataValue"},{regex:/((^|[^\\])((\\)\\)*\$closedatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$closedatavalue))/ig,argIndex:2,argKey:"closeDataValue"},{regex:/((^|[^\\])((\\)\\)*\$highdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$highdatavalue))/ig,argIndex:2,argKey:"highDataValue"},{regex:/((^|[^\\])((\\)\\)*\$lowdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$lowdatavalue))/ig,argIndex:2,argKey:"lowDataValue"},{regex:/((^|[^\\])((\\)\\)*\$maxvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$maxvalue))/ig,
argIndex:2,argKey:"maxValue"},{regex:/((^|[^\\])((\\)\\)*\$maxdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$maxdatavalue))/ig,argIndex:2,argKey:"maxDataValue"},{regex:/((^|[^\\])((\\)\\)*\$minvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$minvalue))/ig,argIndex:2,argKey:"minValue"},{regex:/((^|[^\\])((\\)\\)*\$mindatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$mindatavalue))/ig,argIndex:2,argKey:"minDataValue"},{regex:/((^|[^\\])((\\)\\)*\$q1)/ig,argIndex:2,argKey:"Q1"},{regex:/((^|[^\\])((\\)\\)*\$unformattedQ1)/ig,
argIndex:2,argKey:"unformattedQ1"},{regex:/((^|[^\\])((\\)\\)*\$q3)/ig,argIndex:2,argKey:"Q3"},{regex:/((^|[^\\])((\\)\\)*\$unformattedQ3)/ig,argIndex:2,argKey:"unformattedQ3"},{regex:/((^|[^\\])((\\)\\)*\$median)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$median))/ig,argIndex:2,argKey:"median"},{regex:/((^|[^\\])((\\)\\)*\$unformattedMedian)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMedian))/ig,argIndex:2,argKey:"unformattedMedian"},{regex:/((^|[^\\])((\\)\\)*\$SD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$SD))/ig,
argIndex:2,argKey:"SD"},{regex:/((^|[^\\])((\\)\\)*\$unformattedsd)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedsd))/ig,argIndex:2,argKey:"unformattedsd"},{regex:/((^|[^\\])((\\)\\)*\$QD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$QD))/ig,argIndex:2,argKey:"QD"},{regex:/((^|[^\\])((\\)\\)*\$unformattedQD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedQD))/ig,argIndex:2,argKey:"unformattedQD"},{regex:/((^|[^\\])((\\)\\)*\$MD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$MD))/ig,argIndex:2,argKey:"MD"},
{regex:/((^|[^\\])((\\)\\)*\$unformattedMD)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMD))/ig,argIndex:2,argKey:"unformattedMD"},{regex:/((^|[^\\])((\\)\\)*\$mean)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$mean))/ig,argIndex:2,argKey:"mean"},{regex:/((^|[^\\])((\\)\\)*\$unformattedMean)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMean))/ig,argIndex:2,argKey:"unformattedMean"},{regex:/((^|[^\\])((\\)\\)*\$unformattedMean)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$unformattedMean))/ig,argIndex:2,
argKey:"unformattedMean"},{regex:/((^|[^\\])((\\)\\)*\$volumeValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$volumeValue))/ig,argIndex:2,argKey:"volumeValue"},{regex:/((^|[^\\])((\\)\\)*\$volumeDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$volumeDataValue))/ig,argIndex:2,argKey:"volumeDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromXValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromXValue))/ig,argIndex:2,argKey:"fromXValue"},{regex:/((^|[^\\])((\\)\\)*\$fromYValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromYValue))/ig,
argIndex:2,argKey:"fromYValue"},{regex:/((^|[^\\])((\\)\\)*\$fromXDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromXDataValue))/ig,argIndex:2,argKey:"fromXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromYDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromYDataValue))/ig,argIndex:2,argKey:"fromYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$fromLabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$fromLabel))/ig,argIndex:2,argKey:"fromLabel"},{regex:/((^|[^\\])((\\)\\)*\$toXValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toXValue))/ig,
argIndex:2,argKey:"toXValue"},{regex:/((^|[^\\])((\\)\\)*\$toYValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toYValue))/ig,argIndex:2,argKey:"toYValue"},{regex:/((^|[^\\])((\\)\\)*\$toXDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toXDataValue))/ig,argIndex:2,argKey:"toXDataValue"},{regex:/((^|[^\\])((\\)\\)*\$toYDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$toYDataValue))/ig,argIndex:2,argKey:"toYDataValue"},{regex:/((^|[^\\])((\\)\\)*\$tolabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tolabel))/ig,
argIndex:2,argKey:"toLabel"},{regex:/((^|[^\\])((\\)\\)*\$tlLabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tlLabel))/ig,argIndex:5,argKey:"tlLabel"},{regex:/((^|[^\\])((\\)\\)*\$trlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$trlabel))/ig,argIndex:5,argKey:"trLabel"},{regex:/((^|[^\\])((\\)\\)*\$bllabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$bllabel))/ig,argIndex:5,argKey:"blLabel"},{regex:/((^|[^\\])((\\)\\)*\$brlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$brlabel))/ig,argIndex:5,argKey:"brLabel"},
{regex:/((^|[^\\])((\\)\\)*\$rowlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$rowlabel))/ig,argIndex:5,argKey:"rowLabel"},{regex:/((^|[^\\])((\\)\\)*\$columnlabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$columnlabel))/ig,argIndex:5,argKey:"columnLabel"},{regex:/((^|[^\\])((\\)\\)*\$errorvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errorvalue))/ig,argIndex:2,argKey:"errorValue"},{regex:/((^|[^\\])((\\)\\)*\$errordatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errordatavalue))/ig,argIndex:2,argKey:"errorDataValue"},
{regex:/((^|[^\\])((\\)\\)*\$errorpercentvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errorpercentvalue))/ig,argIndex:2,argKey:"errorPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$errorpercentdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$errorpercentdatavalue))/ig,argIndex:2,argKey:"errorPercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorValue))/ig,argIndex:2,argKey:"horizontalErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorDataValue)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorDataValue))/ig,argIndex:2,argKey:"horizontalErrorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorValue))/ig,argIndex:2,argKey:"verticalErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorDataValue))/ig,argIndex:2,argKey:"verticalErrorDataValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorPercent)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorPercentValue))/ig,
argIndex:2,argKey:"horizontalErrorPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$horizontalErrorPercentDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$horizontalErrorPercentDataValue))/ig,argIndex:2,argKey:"horizontalErrorPercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorPercent)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorPercentValue))/ig,argIndex:2,argKey:"verticalErrorPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$verticalErrorPercentDataValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$verticalErrorPercentDataValue))/ig,
argIndex:2,argKey:"verticalErrorPercentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$xaxispercentvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$xaxispercentvalue))/ig,argIndex:2,argKey:"xAxisPercentValue"},{regex:/((^|[^\\])((\\)\\)*\$percentdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$percentdatavalue))/ig,argIndex:2,argKey:"percentDataValue"},{regex:/((^|[^\\])((\\)\\)*\$trType)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$trType))/ig,argIndex:4,argKey:"trtype"},{regex:/((^|[^\\])((\\)\\)*\$tlType)/ig,
escapeRegex:/((^|[^\\])((\\)\\)*\\(\$tlType))/ig,argIndex:4,argKey:"tltype"},{regex:/((^|[^\\])((\\)\\)*\$brType)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$brType))/ig,argIndex:4,argKey:"brtype"},{regex:/((^|[^\\])((\\)\\)*\$blType)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$blType))/ig,argIndex:4,argKey:"bltype"},{regex:/((^|[^\\])((\\)\\)*\$colorRangeLabel)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$colorRangeLabel))/ig,argIndex:5,argKey:"colorRangeLabel"},{regex:/((^|[^\\])((\\)\\)*\$zdatavalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$zdatavalue))/ig,
argIndex:2,argKey:"zDataValue"},{regex:/((^|[^\\])((\\)\\)*\$svalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$svalue))/ig,argIndex:3,argKey:"svalue"},{regex:/((^|[^\\])((\\)\\)*\$positiveErrorValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$positiveErrorValue))/ig,argIndex:2,argKey:"positiveErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$negativeErrorValue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$negativeErrorValue))/ig,argIndex:2,argKey:"negativeErrorValue"},{regex:/((^|[^\\])((\\)\\)*\$datasvalue)/ig,escapeRegex:/((^|[^\\])((\\)\\)*\\(\$datasvalue))/ig,
argIndex:2,argKey:"formattedsValue"}],k=[],h,u=b.length;for(h=0;h<u;h+=1)k.push(h);return function(){var h=arguments[0],g=arguments[1],u,a,w,D,I;Ma(g)||(g=k);if(h)for(I=g.length,D=0;D<I;D+=1)if(w=b[g[D]])u=Da(fa((a=arguments[w.argIndex])&&a[w.argKey],"")+""),h=h.replace(w.regex,"$2$4"+(w.parsingMethod?w.parsingMethod(u):u)),h=h.replace(w.escapeRegex,"$2$4$5");return h}}(),fb=function(){var b=n.createElement("canvas");return!(!b.getContext||!b.getContext("2d"))},xb=function(b){var k,h,u;k=0<=b.split(",")[0].indexOf("base64")?
m.atob(b.split(",")[1]):m.unescape(b.split(",")[1]);b=b.split(",")[0].split(":")[1].split(";")[0];h=new Uint8Array(k.length);for(u=0;u<k.length;u++)h[u]=k.charCodeAt(u);return new m.Blob([h],{type:b})},ib=function(){var b=m.navigator.userAgent,k;return-1!==(k=b.indexOf("Edge"))?{name:"Edge",version:b.substring(k+5,k+11)}:-1!==(k=b.indexOf("Chrome"))?{name:"Chrome",version:b.substring(k+7,k+11)}:-1!==(k=b.indexOf("MSIE"))?{name:"ie",version:b.substring(k+5,k+9)}:-1!==(k=b.indexOf("rv"))&&-1!==b.indexOf("Trident")?
{name:"ie",version:b.substring(k+5,k+9)}:-1!==(k=b.indexOf("Firefox"))?{name:"Firefox",version:b.substring(k+8,k+12)}:-1!==(k=b.indexOf("Safari"))?{name:"Safari",version:b.substring(k+7,k+11)}:{name:"default",version:"Not Known"}},Cb=function(b){return b.replace(/<image [^\>]*\>/gi,function(b){return b.match(/href=["']\s*["']/)||b.match(/href=["']http:\/\/|href=["']https:\/\//)&&/(href=["']http:\/\/|href=["']https:\/\/)([^\/\:]*)/.exec(b)[2]&&m.location.hostname!==/(href=["']http:\/\/|href=["']https:\/\/)([^\/\:]*)/.exec(b)[2]?
"":b})},yb=function(b,k,h){var u=ib(),p;"Chrome"===u.name||"Firefox"===u.name?("blob"===b&&(k=m.URL.createObjectURL(k)),p=n.createElement("a"),p.download=h,p.href=k,n.body.appendChild(p),p.onclick=function(){p.parentNode.removeChild(p)},p.click()):"ie"!==u.name&&"Edge"!==u.name||!m.navigator.msSaveBlob||(b="url"===b?xb(k):k,m.navigator.msSaveBlob(b,h))},jb=function(b,k){var h,u,p,g;g=k.exportTargetWindow;var a=k.exportCallback,w=k.fusionCharts,D=k.paper,I=k.chartId;u=k.exportHandler;var c;if("download"===
k.exportAction){/webkit/ig.test(m.navigator.userAgent)&&"_self"===g&&(g=p=I+"export_iframe",c||(c=p=Oa("IFRAME",{name:p,width:"1px",height:"1px"},n.body),p.style.cssText="position:absolute;left:-10px;top:-10px;"));u=Oa("form",{method:"POST",action:u,target:g,style:"display:none;"},n.body);for(h in b)Oa("input",{type:"hidden",name:h,value:b[h]},u);u.submit();n.body.removeChild(u);u=void 0;return!0}g=new d.ajax(function(b){var h={};b.replace(RegExp("([^?=&]+)(=([^&]*))?","g"),function(b,k,g,u){h[k]=
u});a&&m[a]&&"function"===typeof m[a]&&m[a].call(m,h);d.raiseEvent("exported",h,w)},function(b){b={statusCode:0,statusMessage:"failure",error:b,DOMId:I,width:D&&D.width,height:D&&D.height};a&&m[a]&&"function"===typeof m[a]&&m[a].call(m,b);d.raiseEvent("exported",b,w,[b])});for(h in b)b.hasOwnProperty(h)&&(b[h]=encodeURIComponent(b[h]));g.post(u,b)},tb=function(b,k){var h=0,u,p=0,g;b=b.replace(/NS\d+:/gi,"xlink:");b=Cb(b);-1===b.indexOf("<image ")?k(b):(u=b.match(/<image [^\>]*\>/gi).length,b=b.replace(/<image [^\>]*\>/gi,
function(a){a=a.replace(/(:href=")([^"]*)(")/gi,function(b,k,u,p){g=u;return k+"{{{"+h+"}}}"+p});var w=n.createElement("canvas"),D,I;D=w.getContext("2d");I=new G;I.src=g;I.ind=h;I.onload=function(){w.width=this.width;w.height=this.height;D.drawImage(this,0,0);var h=w.toDataURL("image/png");(new G).src=h;b=b.replace(new RegExp("\\{\\{\\{"+I.ind+"\\}\\}\\}","g"),h);p++;u===p&&k(b)};h++;return a}))},nb=function(b,k){tb(b,function(b){k("data:image/svg+xml;base64,"+m.btoa(m.unescape(encodeURIComponent('<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">'+
b))))})},b=function(){var a,k,h,u,p,g,w,D;if(this&&this!==m){this.disposing=!0;if(a=this.components)for(h in a)if(k=a[h],k instanceof Array)for(u=k.length,p=0;p<u;p++)(D=k[p])&&!this.disposing&&(D.dispose?D.dispose():b.call(D));else k&&!k.disposing&&(k.dispose?k.dispose():b.call(k));a=this.graphics;for(g in a)if(k=a[g])if(k.hide)k.hide(),k.followers&&k.followers[0]&&(k=k.followers[0].el)&&k.hide&&k.hide();else for(w in k)u=k[w],u.hide&&u.hide();for(h in this)delete this[h]}},w=function(b,k){return(b.pIndex||
0)-(k.pIndex||0)},D={},I=ib();I.hasCanvas=fb();I.hasSvg=B;d.registrars.component=function(b){var k,h,u,p,g,a,w,I,c;if(b&&b.length&&b[0]&&b[0].toLowerCase&&(a=b[0].toLowerCase(),I=D[a]||(D[a]={}),b[1]&&b[1].toLowerCase)){a=b[1].toLowerCase();if(2==b.length){if("undefined"===typeof I[a])return}else{u=I[a]=I[a]||{constructor:function(){this.config={};this.__setDefaultConfig=function(){u&&u.defConfig&&Ka(this.config,u.defConfig)};this.__setDefaultConfig()},defConfig:{}};p=u.constructor;c=u.defConfig;
"undefined"!==typeof b[3]&&(w=b[3].toLowerCase(),h=I[w]);if(w&&h){k=new h.constructor;p.prototype=k;p.prototype.constructor=p;w=b[2]||{};for(g in w)p.prototype[g]="undefined"!==typeof w[g]?w[g]:k[g];p.prototype.__base__=new h.constructor}else if(I[a])for(k in g=b[2],g)p.prototype[k]=g[k];else p.prototype=b[2],p.prototype.constructor=p;null!==b[5]&&("undefined"!==typeof b[5]&&(w=b[5].toLowerCase(),h=I[w]),h&&(h=h.defConfig,Ka(c,h)));"undefined"!==typeof b[4]&&Ka(c,b[4])}return I[a]&&I[a].constructor}};
d.core._setLineHeightFactor=function(b){!(b=a(b))||0>b||(T.lineHeightFactor=b)};T.ColorRange=E=function(b){this.linkedItems={iapi:b};this.configure()};E.prototype={configure:function(){var b=this.linkedItems.iapi,k=b.jsonData,h=k.colorrange&&Ka({},k.colorrange).color,k=P(z(Fa(k.chart.palette,0)-1,0),4),k=b.defaultPaletteOptions&&b.defaultPaletteOptions.paletteColors[k||0]||T.defaultPaletteOptions.paletteColors[k||0],u=function(b,h){return b.minvalue-h.minvalue},p=b.components,g,a,w,D,I;delete this.defaultAsigned;
k instanceof Array||(k=p.colorManager.getPlotColor(0));if(h&&0<h.length){for(a=w=h.length-1;0<=a;--a)if(b=h[a])b.minvalue=p.numberFormatter.getCleanValue(b.minvalue),b.maxvalue=p.numberFormatter.getCleanValue(b.maxvalue),null===b.minvalue&&(null!==b.maxvalue?b.minvalue=b.maxvalue:a!==w&&h.splice(a,1)),void 0!==b.label&&(b.label=Na(b.label)),void 0!==b.name&&(b.name=Na(b.name)),null!==b.maxvalue&&b.minvalue>b.maxvalue&&(D=b.minvalue,b.minvalue=b.maxvalue,b.maxvalue=D);h.sort(u);h[0].code||(h[0].code=
k[0]);void 0===fa(h[0].alpha)&&(h[0].alpha="100");a=0;for(w=h.length-1;a<w;a+=1)if(p=a+1,b=h[a],u=h[p],u.code||(u.code=k[p]),void 0===fa(u.alpha)&&(u.alpha="100"),null===b.maxvalue&&(b.maxvalue=u.minvalue),b.maxvalue>u.minvalue){if(b.maxvalue>u.maxvalue){p=Ka(b);p.maxvalue=b.maxvalue;I=p.minvalue=u.maxvalue;for(D=a+2;D<w&&h[D].minvalue<I;D+=1);h.splice(D,0,p);w+=1}b.maxvalue=u.minvalue}b=h[a];null===b.maxvalue&&(b.maxvalue=b.minvalue)}h&&0<h.length||(g||(g={code:"CCCCCC",alpha:"100",bordercolor:"000000",
borderalpha:"100"}),h=[g],this.defaultAsigned=!0);this.colorArr=h},getColorObj:function(b){for(var k=this.colorArr,h=0,u=k.length,p,g,a={};h<u;h+=1){a.index=h;p=k[h];g=k[h+1];if(b<p.minvalue)return a.nextObj=p,a;if(b>=p.minvalue&&b<=p.maxvalue)return a.colorObj=p,g&&b==g.minvalue&&(a.nextObj=g,a.isOnMeetPoint=!0),a;a.prevObj=p}a.index=h-1;return a},getColorRangeArr:function(b,k){var h,u=this.colorArr,p,g,a=[],w,D;if(!this.defaultAsigned&&(b>k&&(h=b,b=k,k=h),b<k&&(p=this.getColorObj(b),g=this.getColorObj(k),
p&&g))){h=b;p=p.index;for(g=g.index;p<=g;p+=1)w=Ka({},u[p]),w.minvalue!==h&&(w.minvalue=h),a.push(w),D=w,h=w.maxvalue;D.maxvalue=k}return a}};E.prototype.constructor=E;T.nonGradientColorRange=E=function(b){var k=b.sortLegend||!1,h=b.mapByCategory||!1,u=b.numberFormatter;b=(b.colorRange||{}).color;var p=this.colorArr=[],g,a,w,D,I,c,e=function(b,h){return b.maxvalue-h.maxvalue};this.mapByCategory=h;if(b&&(g=b.length)){for(a=0;a<g;a+=1)D=b[a],w=ja(D.color,D.code),I=Fa(D.maxvalue),c=Fa(D.minvalue),D=
ja(D.label,D.displayvalue,h?"":u.dataLabels(c)+" - "+u.dataLabels(I)),(w&&I>c||h&&D)&&p.push({code:w,maxvalue:I,minvalue:c,label:Na(D),labelId:D.toLowerCase()});p.length?k&&p.sort(e):this.noValidRange=!0}};E.prototype={getColorObj:function(b){var k=this.colorArr,h=this.gradient?1:0,u=k[h],p;if(this.mapByCategory){for(b=Na(b).toLowerCase();u;){if(u.labelId===b)return{code:u.code,seriesIndex:h};h+=1;u=k[h]}return{outOfRange:!0}}if(this.gradient){if(this.scaleMin<=b&&this.scaleMax>=b){for(;u&&u.maxvalue<
b;)h+=1,u=k[h];b=(b-u.minvalue)/u.range;k=k[h-1].codeRGB;u=u.codeRGB;h=k[0];p=k[1];k=k[2];return{code:("000000"+(h+(u[0]-h)*b<<16|p+(u[1]-p)*b<<8|k+(u[2]-k)*b).toString(16)).slice(-6)}}return{outOfRange:!0}}for(;u;){if(u.maxvalue>b&&u.minvalue<=b)return{code:u.code,seriesIndex:h};u.maxvalue===b&&(p=h);h+=1;u=k[h]}return(u=k[p])&&u.maxvalue===b?{code:u.code,seriesIndex:p}:{outOfRange:!0}}};E.prototype.constructor=E;d.extend(T,{BLANKSTRINGPLACEHOLDER:"#BLANK#",BLANKSTRING:"",COLOR_BLACK:"000000",COLOR_GLASS:"rgba(255, 255, 255, 0.3)",
COLOR_WHITE:"FFFFFF",COLOR_TRANSPARENT:"rgba(0,0,0,0)",HASHSTRING:"#",BREAKSTRING:"<br />",STRINGSTRING:"string",OBJECTSTRING:"object",COMMASTRING:",",ZEROSTRING:"0",SAMPLESTRING:"Ay0",TESTSTR:"Ag",ONESTRING:"1",DECIMALSTRING:".",STRINGUNDEFINED:"undefined",POSITION_TOP:"top",POSITION_RIGHT:"right",POSITION_BOTTOM:"bottom",POSITION_LEFT:"left",POSITION_CENTER:"center",POSITION_MIDDLE:"middle",POSITION_START:"start",POSITION_END:"end",FC_CONFIG_STRING:"_FCconf",SHAPE_RECT:"rect",HUNDREDSTRING:"100",
PXSTRING:"px",COMMASPACE:", ",TEXTANCHOR:"text-anchor",TOUCH_THRESHOLD_PIXELS:15,CLICK_THRESHOLD_PIXELS:5,regex:{stripWhitespace:M,dropHash:f,startsRGBA:l,cleanColorCode:O,breakPlaceholder:X,hexcode:/^#?[0-9a-f]{6}/i},fireEvent:function(b,k,h,u){T.dem.fire(b,k,h,u)},plotEventHandler:function(b,k,h){k=k||{};var u=k.type,p=Ca(b.linkedItems.container,k),p=Ka(p,this.data("eventArgs")),g=b.fireGroupEvent,a=this.data("groupId"),w=function(b,h){k.FusionChartsPreventEvent=!0;K&&h.toolText&&T.toolTip&&T.toolTip.preventTooltip()};
"index"in p&&!("dataIndex"in p)&&(p.dataIndex=p.index);"value"in p&&!("dataValue"in p)&&(p.dataValue=p.value);h=ja(h,"dataplotclick").toLowerCase();"dataplotrollover"===h?(k.FusionChartsPreventEvent=!1,g?d.raiseEventGroup(a,h,p,b.chartInstance,void 0,void 0,w):d.raiseEvent(h,p,b.chartInstance,void 0,void 0,w)):g&&"dataplotclick"!==h?d.raiseEventGroup(a,h,p,b.chartInstance):d.raiseEvent(h,p,b.chartInstance);if(("click"===u||"mouseup"===u||"touchend"===u)&&/click/i.test(h)){if(W&&!Y){h=(new Date).getTime();
if(this.lastClickTimeStamp&&400>h-this.lastClickTimeStamp){k&&(k.originalEvent||k).preventDefault();return}this.lastClickTimeStamp=h}b.linkedItems&&b.linkedItems.linkClickFN.call({link:p.link},b)}},getEventCoordinate:Ga,getMouseCoordinate:Ca,addEvent:R,removeEvent:qa,getTouchEvent:bb,extend2:Ka,deltend:function(b,k){if("object"!==typeof b||"object"!==typeof k)return null;ya(b,k);return b},imprint:function(b,k,h){var u;if("object"!==typeof b||null===b)return k;if("object"!==typeof k||null===k)return b;
for(u in k)if(void 0===b[u]||!h&&null===b[u])b[u]=k[u];return b},pluck:ja,pluckNumber:Fa,getFirstDefinedValue:function(){var b,k,h;k=0;for(h=arguments.length;k<h;k+=1)if((b=arguments[k])||!1===b||0===b||""==b)return b},createElement:Oa,hashify:Pa,dehashify:function(b){return b&&b.replace(/^#?([a-f0-9]+)/ig,"$1")||"none"},pluckFontSize:function(){var b,k,h;k=0;for(h=arguments.length;k<h;k+=1)if(((b=arguments[k])||!1===b||0===b)&&!isNaN(b=Number(b)))return 1>b?1:b;return 1},getValidValue:fa,getPosition:wa,
getViewPortDimension:F,bindSelectionEvent:function(b,k){k=k||{};var h=b.config,u=b.linkedItems.container,p=h.zoomType,g=Ka({},k.attr||{}),a=g["stroke-width"]=Fa(g.strokeWidth,g["stroke-width"],1),w=wa(u),D=b.eventListeners||(b.eventListeners=[]);k=Ka({chart:b,zoomX:/x/.test(p),zoomY:/y/.test(p),canvasY:h.canvasTop,canvasX:h.canvasLeft,canvasW:h.canvasWidth,canvasH:h.canvasHeight,canvasX2:h.canvasLeft+h.canvasWidth,canvasY2:h.canvasTop+h.canvasHeight,strokeWidth:a,chartPosLeft:w.left,chartPosTop:w.top,
attr:g},k);g.stroke=ma(g.stroke,"rgba(51,153,255,0.8)");g.fill=ma(g.fill,"rgba(185,213,241,0.3)");g.ishot=!0;u&&(qa(u,"pointerdrag",J),D.push(R(u,"pointerdrag",J,k)));h.link&&(qa(b.linkedItems.container,"mouseup mousedown",ha),D.push(R(b.linkedItems.container,"mouseup mousedown",ha,k)))},createContextMenu:function(b){var k=b.chart,h=k.smartLabel,u=k.logic.hcJSON&&k.logic.hcJSON.chart.useRoundEdges,p=T.Raphael,g=function(b){var h=b.menufillcolor&&Pa(b.menufillcolor),k=b.menulabelcolor&&Pa(b.menulabelcolor),
g=b.menufillhovercolor&&Pa(b.menufillhovercolor);b=b.menulabelhovercolor&&Pa(b.menulabelhovercolor);return{attrs:{backgroundColor:h,color:k},hover:{backgroundColor:g,color:b}}}(k.definition.chart),a=function(b,h,k){h=h||{};b=(b=(b=b&&p.tintshade(b.color,.7))&&p.getRGB(b))&&"rgb("+[b.r,b.g,b.b].join()+")";return{backgroundColor:h.backgroundHoverColor||k.backgroundColor||b||"rgb(64, 64, 64)",color:h.hoverColor||k.color||"#FFFFFF"}}(b.basicStyle,b.hover,g.hover),w=function(b,h,k){h=Ka({},h||{});h=Ka(h,
b);return{fontFamily:h.fontFamily||"Verdana,sans",fontSize:h.fontSize||"10px",color:h.color||k.color||"#000000",backgroundColor:h.backgroundColor||k.backgroundColor||"rgb(255, 255, 255)"}}(b.basicStyle,b.attrs,g.attrs),D={textAlign:"left",align:"left",paddingLeft:"5px",paddingRight:"5px",paddingTop:"5px",cursor:"pointer",borderWidth:"0px"},I=b.items,c=b.position,e=b.verticalPadding||3,f=b.horizontalPadding||6,d={},R,l,r,q,m,v,qa,A,Ga,F,ja,H,t;if(k)R=wa(k.linkedItems.container);else return!1;q=function(){var b=
d.items,k=b.length,g=0,p=0,a=0,N,I;d.menuItems||(d.menuItems=[]);for(h.setStyle(w);k--;)N=b[k],N=h.getOriSize(N.text),a||(a=N.height+2*e),g+=a,p=z(p,N.width+2*f);d.height=g;d.width=p;d.itemH=a;this.style.width=p+"px";d.menuRect||(g=d.menuRect=n.createElement("div"),g.style.border="1px solid rgb(100, 100, 100)",u&&(g.style.mozBorderRadius="4px",g.style.webkitBorderRadius="4px",g.style.borderRadius="4px",g.style.overflow="hidden"),K&&!B?g.style.filter="progid:DXImageTransform.Microsoft.Shadow(Color=#999999,direction=135,strength=3)":
(g.style.mozBoxShadow="3px 3px 3px #999",g.style.webkitBoxShadow="3px 3px 3px #999",g.style.boxShadow="3px 3px 3px #999"),this.appendChild(g));p=b.length;for(k=0;k<p;k+=1)if(N=b[k],d.menuItems[k])d.menuItems[k].label.innerHTML=N.text;else{d.menuItems[k]={};g=d.menuItems[k].box=n.createElement("div");g.style.height=a+"px";g.style.lineHeight=a+"px";for(I in D)g.style[I]=D[I];for(I in w)g.style[I]=w[I];d.menuRect.appendChild(g);g.innerHTML=N.text;T.dem.listen(g,"click",t);T.dem.listen(g,"pointerhover",
F);d.menuItems[k].box._itemIdx=k}for(;d.menuItems[k];)d.menuItems[k].box.parentNode.removeChild(d.menuItems[k].box),d.menuItems.splice(k,1)};m=function(){r||(r=n.createElement("div"),r.style.position="absolute",r.style.zIndex="50",r.style.display="none",k.linkedItems.container.appendChild&&k.linkedItems.container.appendChild(r));return r};v=function(){l=setTimeout(d.hide,800)};qa=function(){l&&clearTimeout(l)};A=function(b){var h=b.x;b=b.y;var g={x:h,y:b},u=d.width,p=d.height,a=k.chartHeight,w=k.chartWidth;
h+u>w&&0<h-u?g.x-=u:h+u>w&&(g.x=0);b+p>a&&0<b-p&&(g.y-=p);return g};Ga=function(){d.hide()};F=function(b){b.target&&b.target.parentNode&&("start"===b.state?ja:H).call(b.target)};ja=function(){var b=d.menuItems[this._itemIdx],h;qa();for(h in a)b.box.style[h]=a[h]};H=function(){var b=d.menuItems[this._itemIdx],h;for(h in w)b.box.style[h]=w[h];v()};t=function(b){var h=d.items[this._itemIdx];h.onclick&&h.onclick.call(h,b);b.originalEvent.stopPropagation?b.originalEvent.stopPropagation():b.originalEvent.cancelBubble=
!0;d.hide()};d.showItem=function(b){b=this.menuItems[b];var h=this.height,k=this.itemH;b&&b._isHidden&&(b.box.style.display="",this.height=h+k,b._isHidden=!1,b=A(c),this.left=b.x,this.top=b.y)};d.hideItem=function(b){b=this.menuItems[b];var h=this.height,k=this.itemH;b&&!b._isHidden&&(b.box.style.display="none",this.height=h-k,b._isHidden=!0,b=A(c),this.left=b.x,this.top=b.y)};d.redraw=function(){var b=this.menuContainer;this.items=I;b?q.call(this.menuContainer):c&&void 0!==c.x&&void 0!==c.y?(this.menuContainer=
m(),q.call(this.menuContainer),b=A(c),this.left=b.x,this.top=b.y,this.menuContainer.style.left=this.left+"px",this.menuContainer.style.top=this.top+"px"):(this.menuContainer=m(),q.call(this.menuContainer))};d.show=function(b){var h=this;b&&void 0!==b.x&&void 0!==b.y?(b=A(b),h.menuContainer.style.left=b.x+"px",h.menuContainer.style.top=b.y+"px"):(h.menuContainer.style.left=h.left+"px",h.menuContainer.style.top=h.top+"px");h.menuContainer.style.display="";setTimeout(function(){h.visible=!0;p.click(Ga)},
400)};d.hide=function(){this.visible&&(this.visible=!1,d.menuContainer.style.display="none",d.menuContainer.style.left=-d.width+"px",d.menuContainer.style.top=-d.height+"px",p.unclick(Ga))};d.update=function(b){b&&b.length&&(this.items=b,this.redraw())};d.updatePosition=function(b){var h=R.left,g=R.top;R=wa(k.linkedItems.container);b?(c=b,b=A(b),this.left=b.x,this.top=b.y):(this.left-=h-R.left,this.top-=g-R.top)};d.add=function(b){var k=this.menuItems,g=k.length,u;h.setStyle(w);this.width=z(this.width,
h.getOriSize(b.text).width);k[g]={};k=k[g].box=n.createElement("div");k.style.height=this.itemH+"px";k.style.lineHeight=this.itemH+"px";for(u in D)k.style[u]=D[u];for(u in w)k.style[u]=w[u];d.menuRect.appendChild(k);k.innerHTML=b.text;T.dem.listen(k,"click",t);T.dem.listen(k,"pointerhover",F);d.menuItems[g].box._itemIdx=g;this.height+=this.itemH};d.removeItems=function(){for(var b=this.menuItems,h=b&&b.length,k;h--;)k=b[h],T.dem.unlisten(k.box,"click",t),T.dem.unlisten(k.box,"pointerhover",F),k.box&&
k.box.parentNode&&k.box.parentNode.removeChild(k.box);delete this.menuItems;delete this.items};d.setPosition=function(b){void 0!==b.x&&void 0!==b.y&&(this.menuContainer.style.x=b.x,this.menuContainer.style.y=b.y)};d.destroy=function(){this.removeItems();this.menuContainer.parentNode.removeChild(this.menuContainer)};I&&I.length&&(d.redraw(),d.hide());return d},each:function(b,k,h,u){var p;h||(h=b);u||(u={});if(Ma(b))for(p=0;p<b.length;p+=1){if(!1===k.call(h,b[p],p,b,u))return p}else if(null!==b&&void 0!==
b)for(p in b)if(!1===k.call(h,b[p],p,b,u))return p},getDefinedColor:function(b,k){return b||0===b||""===b?b:k},getFirstValue:ma,getFirstColor:Va,getColorCodeString:function(b,k){var h="",u,p,g=0,a=k.split(",");for(p=a.length;g<p;g+=1)u=a[g].split("-"),h=2===u.length?"-1"!==u[0].indexOf("dark")?h+($a(b,100-parseInt(u[1],10))+","):h+(mb(b,100-parseInt(u[1],10))+","):h+(a[g]+",");return h.substring(0,h.length-1)},pluckColor:function(b){if(fa(b))return b=b.split(",")[0],b=b.replace(M,""),""==b&&(b="000000"),
b.replace(f,"#")},toRaphaelColor:hb,gradientify:Ta,trimString:function(b){b=b.replace(/^\s\s*/,"");for(var k=/\s/,h=b.length;k.test(b.charAt(--h)););return b.slice(0,h+1)},getFirstAlpha:Ra,parsePointValue:Wa,parseUnsafeString:Na,parseTooltext:lb,toPrecision:function(b,k){var h=q(10,k);return c(b*h)/h},hasTouch:C,CREDIT_HREF:r,CREDIT_STRING:"",getSentenceCase:function(b){b=b||"";return b.charAt(0).toUpperCase()+b.substr(1)},getCrispValues:function(b,k,h){var u=h%2/2;h=c(b+u)-u;
b=c(b+k+u)-u-h;return{position:h,distance:b}},regescape:function(b){return b&&b.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},regReplaceEscape:Da,getImageURL:Db,isArray:Ma,preDefStr:{colors:{B90000:"B90000",FFFFFF:"FFFFFF",AAAAAA:"AAAAAA",c000000:"000000"},defaultFontStr:"Verdana,sans",line:"line",bar:"bar",column:"column",volume:"volume",HUNDREDSTRING:"100",SEVENTYSTRING:"70",NINETYSTRING:"90",AUTOSTRING:"auto",configStr:"config",animationObjStr:"animationObj",showHoverEffectStr:"showHoverEffect",
hiddenStr:"hidden",visibleStr:"visible",columnStr:"columns",barStr:"bars",barHotStr:"bar-hot",colHotStr:"col-hot",shadowStr:"shadow",dataLabelStr:"datalabel",errorBarStr:"errorBar",errorHotStr:"error-hot",errorShadowStr:"error-shadow",negativeValueStr:"negative-values",positiveValueStr:"positive-values",zeroPlaneStr:"zero-plane",categoryPlotsStr:"categoryplots",noneStr:"NONE",setRolloverAttrStr:"setRolloverAttr",setRolloutAttrStr:"setRolloutAttr",elementStr:"element",hotElementStr:"hotElement",strokeWidthStr:"stroke-width",
strokeDashStr:"stroke-dasharray",strokeLineJoinStr:"stroke-linejoin",miterStr:"miter",visiblilityStr:"visibility",ROUND:"round",PERCENTAGESTRING:"%",pStr:"p",sStr:"s",divLineAlpha3DStr:"divLineAlpha3D",divLineAlphaStr:"divLineAlpha",altVGridColorStr:"altVGridColor",altVGridAlphaStr:"altVGridAlpha",altHGridColorStr:"altHGridColor",altHGridAlphaStr:"altHGridAlpha",PLOTFILLCOLOR_STR:"plotFillColor",UNDERSCORE:"_",gaugeFillColorStr:"gaugeFillColor",gaugeBorderColorStr:"gaugeBorderColor",NORMAL:"normal",
BOLD:"bold",POINTER:"pointer",POSITION_MIDDLE:"middle",POSITION_START:"start",POSITION_TOP:"top",POSITION_BOTTOM:"bottom",POSITION_END:"end"},stubFN:function(){},falseFN:function(){return!1},stableSort:function(b,k){var h=b.length,u;for(u=0;u<h;u++)b[u].ssI=u;b.sort(function(b,h){var u=k(b,h);return 0===u?b.ssI-h.ssI:u});for(u=0;u<h;u++)delete b[u].ssI},hasSVG:B,isIE:K,lineHeightFactor:1.2,getLinkAction:function(b,k){var h=function(b){return b};return function(u){var p=b.chart||b.map||{},g=Fa(p.unescapelinks,
1),p=Fa(p.clickurloverridesplotlinks,0),a=ma(this.link,"");u=u.config&&u.config.link||"";var w=p?ja(u,a):ja(a,u),D=w,I,c,e,f,R,l,r,q,z,v;void 0!==w&&(g&&(w=m.decodeURIComponent?m.decodeURIComponent(w):m.unescape(w)),w=w.replace(/^\s+/,"").replace(/\s+$/,""),-1!==w.search(/^[a-z]*\s*[\-\:]\s*/i)&&(R=w.split(/\s*[\-\:]\s*/)[0].toLowerCase(),v=R.length),setTimeout(function(){switch(R){case "j":w=w.replace(/^j\s*\-/i,"j-");I=w.indexOf("-",2);-1===I?gb(w.slice(2)):gb(w.substr(2,I-2).replace(/\s/g,""),
w.slice(I+1));break;case "javascript":Ya(w.replace(/^javascript\s*\:/i,""));break;case "n":w.replace(/^n\s*\-/i,"n-");m.open(h(w.slice(2),g));break;case "f":w=w.replace(/^f\s*\-/i,"f-");I=w.indexOf("-",2);-1!==I?(c=w.substr(2,I-2))&&m.frames[c]?m.frames[c].location=h(w.slice(I+1),g):m.open(h(w.slice(I+1),g),c):m.open(h(w.slice(2),g));break;case "p":w=w.replace(/p\s*\-/i,"p-");I=w.indexOf("-",2);e=w.indexOf(",",2);-1===I&&(I=1);f=h(w.slice(I+1),g);m.open(f,w.substr(2,e-2),w.substr(e+1,I-e-1)).focus();
break;case "newchart":case "newmap":":"===w.charAt(v)&&(I=w.indexOf("-",v+1),z=w.substring(v+1,I),v=I);I=w.indexOf("-",v+1);l=w.substring(v+1,I).toLowerCase();switch(l){case "xmlurl":case "jsonurl":q=w.substring(I+1,w.length);break;case "xml":case "json":var u=r=w.substring(I+1,w.length),p={chart:{}},a,u=u.toLowerCase();if(b.linkeddata)for(a=0;a<b.linkeddata.length;a+=1)b.linkeddata[a].id.toLowerCase()===u&&(p=b.linkeddata[a].linkedchart||b.linkeddata[a].linkedmap);q=p;l="json"}d.raiseEvent("linkedChartInvoked",
{alias:z,linkType:l.toUpperCase(),data:q},k);break;default:m.location.href=w}d.raiseEvent("linkClicked",{linkProvided:D,linkInvoked:w,linkAction:R&&R.toLowerCase()},k)},0))}},graphics:{parseAlpha:Eb,convertColor:Bb,getDarkColor:mb,getLightColor:$a,mapSymbolName:function(b,k){var h="circle";b=Wa(b);3<=b&&(h=(k?"spoke_":"poly_")+b);return h},getColumnColor:function(b,k,h,u,p,g,a,w,D){var I,c;I=b.split(",");c=k.split(",");g=g.split(",");a=a.split(",");b=b.replace(/\s/g,"").replace(/\,$/,"");D?w={FCcolor:{color:I[0],
alpha:c[0]}}:p?(b=I[0],c=c[0],w={FCcolor:{color:mb(b,75)+","+$a(b,10)+","+mb(b,90)+","+$a(b,55)+","+mb(b,80),alpha:c+","+c+","+c+","+c+","+c,ratio:"0,11,14,57,18",angle:w?"90":"0"}},g=[mb(b,70)]):(k=Eb(k,I.length),w={FCcolor:{color:b,alpha:k,ratio:h,angle:w?-u:u}});return[w,{FCcolor:{color:g[0],alpha:a[0]}}]},getPointColor:function(b,k){var h,u;b=Va(b);k=Ra(k);h=$a(b,70);u=mb(b,50);return{FCcolor:{gradientUnits:"objectBoundingBox",cx:.4,cy:.4,r:"100%",color:h+","+u,alpha:k+","+k,ratio:void 0,radialGradient:!0}}},
getAngle:function(b,k,h){b=180*Math.atan(k/b)/Math.PI;2==h?b=180-b:3==h?b+=180:4==h&&(b=360-b);return b},parseColor:Ua,getValidColor:function(b){return t.test(Ua(b))&&b},HSBtoRGB:function(b){var k=b[0],h=0,u=0,p=0,g=[],g=b[1]/100;b=b[2]/100;var a=k/60-Math.floor(k/60),w=b*(1-g),D=b*(1-a*g),g=b*(1-(1-a)*g);switch(Math.floor(k/60)%6){case 0:h=b;u=g;p=w;break;case 1:h=D;u=b;p=w;break;case 2:h=w;u=b;p=g;break;case 3:h=w;u=D;p=b;break;case 4:h=g;u=w;p=b;break;case 5:h=b,u=w,p=D}return g=[c(255*h),c(255*
u),c(255*p)]},RGBtoHSB:function(b){var k=b[0],h=b[1];b=b[2];var u=Math.max(Math.max(k,h),b),p=Math.min(Math.min(k,h),b),g=0,a=0;u==p?g=0:u==k?g=(60*(h-b)/(u-p)+360)%360:u==h?g=60*(b-k)/(u-p)+120:u==b&&(g=60*(k-h)/(u-p)+240);a=0===u?0:(u-p)/u;return[c(g),c(100*a),c(u/255*100)]},RGBtoHex:function(b){return("000000"+(b[0]<<16|b[1]<<8|b[2]).toString(16)).slice(-6)},rawRGBtoHEX:function(b){b=b.match(/[\d+]+/g).splice(0,3);return("000000"+(b[0]<<16|b[1]<<8|b[2]).toString(16)).slice(-6)},HEXtoRGB:Za,getCubePathOutline:function(b){var k=
b[2]||0,h=b[4]||0,u=b[5]||0;return["M",b[0]||0,b[1]||0,"l",h,-u,k,0,0,b[3]||0,-h,u,-k,0,"Z"]}},appliedCSS:["fontFamily","fontSize","fontWeight","fontStyle"],setImageDisplayMode:function(b,k,h,u,p,g,a,w){var D=u/100*w.width;u=u/100*w.height;w={};var I,c=g-2*p;I=a-2*p;var e=function(b,h,k,g,u,w){var a={};switch(b){case "top":a.y=p;break;case "bottom":a.y=w-g-p;break;case "middle":a.y=(w-g)/2}switch(h){case "left":a.x=p;break;case "right":a.x=u-k-p;break;case "middle":a.x=(u-k)/2}return a};switch(b){case "center":w.width=
D;w.height=u;w.y=a/2-u/2;w.x=g/2-D/2;break;case "stretch":w.width=g-2*p;w.height=a-2*p;w.y=p;w.x=p;break;case "tile":w.width=D;w.height=u;w.tileInfo={};w.tileInfo.xCount=b=Math.ceil(c/D);w.tileInfo.yCount=I=Math.ceil(I/u);k=e(k,h,D*b,u*I,g,a);w.y=k.y;w.x=k.x;break;case "fit":b=D/u>c/I?c/D:I/u;w.width=D*b;w.height=u*b;k=e(k,h,w.width,w.height,g,a);w.y=k.y;w.x=k.x;break;case "fill":b=D/u>c/I?I/u:c/D;w.width=D*b;w.height=u*b;k=e(k,h,w.width,w.height,g,a);w.y=k.y;w.x=k.x;break;default:k=e(k,h,D,u,g,a),
w.width=D,w.height=u,w.y=k.y,w.x=k.x}return w},setLineHeight:sb,parsexAxisStyles:vb,supportedStyle:{font:"font",fontFamily:"font-family","font-family":"font-family",fontWeight:"font-weight","font-weight":"font-weight",fontSize:"font-size","font-size":"font-size",lineHeight:"line-height","line-height":"line-height",textDecoration:"text-decoration","text-decoration":"text-decoration",color:"color",whiteSpace:"white-space","white-space":"white-space",padding:"padding",margin:"margin",background:"background",
backgroundColor:"background-color","background-color":"background-color",backgroundImage:"background-image","background-image":"background-image",backgroundPosition:"background-position","background-position":"background-position",backgroundPositionLeft:"background-position-left","background-position-left":"background-position-left",backgroundPositionTop:"background-position-top","background-position-top":"background-position-top",backgroundRepeat:"background-repeat","background-repeat":"background-repeat",
border:"border",borderColor:"border-color","border-color":"border-color",borderStyle:"border-style","border-style":"border-style",borderThickness:"border-thickness","border-thickness":"border-thickness",borderTop:"border-top","border-top":"border-top",borderTopColor:"border-top-color","border-top-color":"border-top-color",borderTopStyle:"border-top-style","border-top-style":"border-top-style",borderTopThickness:"border-top-thickness","border-top-thickness":"border-top-thickness",borderRight:"border-right",
"border-right":"border-right",borderRightColor:"border-right-color","border-right-color":"border-right-color",borderRightStyle:"border-right-style","border-right-style":"border-right-style",borderRightThickness:"border-right-thickness","border-right-thickness":"border-right-thickness",borderBottom:"border-bottom","border-bottom":"border-bottom",borderBottomColor:"border-bottom-color","border-bottom-color":"border-bottom-color",borderBottomStyle:"border-bottom-style","border-bottom-style":"border-bottom-style",
borderBottomThickness:"border-bottom-thickness","border-bottom-thickness":"border-bottom-thickness",borderLeft:"border-left","border-left":"border-left",borderLeftColor:"border-left-color","border-left-color":"border-left-color",borderLeftStyle:"border-left-style","border-left-Style":"border-left-style",borderLeftThickness:"border-left-thickness","border-left-thickness":"border-left-thickness"},getAxisLimits:za,createTrendLine:ab,getDashStyle:Sa,axisLabelAdder:eb,chartAPI:Qa,createDialog:zb,isCanvasElemSupported:fb,
componentDispose:b,componentConfigurer:function(b){var k,h,u=[],p,g,a,D={};b=b||this;k=b.components;for(a in k)if(h=k[a],h instanceof Array)for(g=h.length,p=0;p<g;p+=1)u.push(h[p]);else u.push(h);u.sort(w);g=u.length;for(p=0;p<g;p+=1)h=u[p],k=h.customConfigFn,null!==k&&(k&&b[k]?D[k]||(b[k](),D[k]=!0):h.configure&&h.configure())},getSvgDataurl:nb,removeCrossDomainImages:Cb,getBrowserDetails:ib,dataurlToBlob:xb,downloadCharts:function(b,k,h,u,p){k?yb(b,k,h):jb(u,p)},browserDetails:I,drawSvgOnCanvas:function(b,
k,h,u,p,g,w){"ie"==I.name?(b=Cb(b),new ka(b,k,h,u,p,g,function(){w()})):nb(b,function(b){var a,D;a=k.getContext("2d");D=new G;D.src=b;D.onload=function(){a.drawImage(D,h,u,p,g);w()}})},priorityList:{render:1,animation:2,entitydraw:2,label:3,tracker:4}})}]);FusionCharts.register("module",["private","modules.renderer.js-schedular",function(){var d=[],m={},E=[],n={},C=0,B=this.window,K=this.hcLib.schedular={},a=B.requestAnimationFrame||B.webkitRequestAnimationFrame||B.mozRequestAnimationFrame||B.oRequestAnimationFrame||
B.msRequestAnimationFrame||function(a){setTimeout(a,16)},M=function(){for(var f,l=!1;!l;)(f=d[0])?(d.splice(0,1),--E[f.priority],0<d.length&&a(M),n[f.jobID]&&!f.executed&&(l=!0,f.scope?f.job.apply(f.scope,f.args):f.job(),f.callback&&"function"===typeof f.callback&&f.callback(),f.executed=!0,delete n[f.jobID])):l=!0};K.addJob=function(f,l,m,B,t,A){var q,c=0;t=t?B-1:B;"function"===typeof f&&(q="JOB"+ ++C+(B||1),f={job:f,scope:l,args:m,priority:B,callback:A,jobID:q});for(l=0;l<=t;l++)c+=E[l]||0;d.splice(c,
0,f);n[q]=f;E[B]=(E[B]||0)+1;1===d.length&&a(M);return q};K.removeJob=function(a){n[a]&&delete n[a]};K.pauseExecution=function(a){if(n[a])m[n[a]]=n[a],delete n[a];else return!1};K.resumeExecution=function(a){var d;if(d=m[a])K.addJob(d),delete m[a];else return!1}}]);FusionCharts&&FusionCharts.register("module",["private","vendor.redraphael",function(){var d=this.hcLib,m=this.window,E=m.Raphael,n;(function(m){(function(d,m){var a=/[\.\/]/,n=function(){},f=function(a,d){return a-d},l,C,E={n:{}},t=function(a,
d){a=String(a);var c=C,m=Array.prototype.slice.call(arguments,2),n=t.listeners(a),e=0,r,H=[],z={},B=[],G=l;l=a;for(var E=C=0,W=n.length;E<W;E++)"zIndex"in n[E]&&(H.push(n[E].zIndex),0>n[E].zIndex&&(z[n[E].zIndex]=n[E]));for(H.sort(f);0>H[e];)if(r=z[H[e++]],B.push(r.apply(d,m)),C)return C=c,B;for(E=0;E<W;E++)if(r=n[E],"zIndex"in r)if(r.zIndex==H[e]){B.push(r.apply(d,m));if(C)break;do if(e++,(r=z[H[e]])&&B.push(r.apply(d,m)),C)break;while(r)}else z[r.zIndex]=r;else if(B.push(r.apply(d,m)),C)break;C=
c;l=G;return B.length?B:null};t._events=E;t.listeners=function(d){d=d.split(a);var f=E,c,l,m,e,r,H,z,t=[f],n=[];m=0;for(e=d.length;m<e;m++){z=[];r=0;for(H=t.length;r<H;r++)for(f=t[r].n,c=[f[d[m]],f["*"]],l=2;l--;)if(f=c[l])z.push(f),n=n.concat(f.f||[]);t=z}return n};t.on=function(d,f){d=String(d);if("function"!=typeof f)return function(){};for(var c=d.split(a),l=E,m=0,e=c.length;m<e;m++)l=l.n,l=l.hasOwnProperty(c[m])&&l[c[m]]||(l[c[m]]={n:{}});l.f=l.f||[];m=0;for(e=l.f.length;m<e;m++)if(l.f[m]==f)return n;
l.f.push(f);return function(a){+a==+a&&(f.zIndex=+a)}};t.f=function(a){var d=[].slice.call(arguments,1);return function(){t.apply(null,[a,null].concat(d).concat([].slice.call(arguments,0)))}};t.stop=function(){C=1};t.nt=function(a){return a?(new RegExp("(?:\\.|\\/|^)"+a+"(?:\\.|\\/|$)")).test(l):l};t.nts=function(){return l.split(a)};t.off=t.unbind=function(d,f){if(d){var c=d.split(a),l,m,e,r,H,z,n=[E];r=0;for(H=c.length;r<H;r++)for(z=0;z<n.length;z+=e.length-2){e=[z,1];l=n[z].n;if("*"!=c[r])l[c[r]]&&
e.push(l[c[r]]);else for(m in l)l.hasOwnProperty(m)&&e.push(l[m]);n.splice.apply(n,e)}r=0;for(H=n.length;r<H;r++)for(l=n[r];l.n;){if(f){if(l.f){z=0;for(c=l.f.length;z<c;z++)if(l.f[z]==f){l.f.splice(z,1);break}!l.f.length&&delete l.f}for(m in l.n)if(l.n.hasOwnProperty(m)&&l.n[m].f){e=l.n[m].f;z=0;for(c=e.length;z<c;z++)if(e[z]==f){e.splice(z,1);break}!e.length&&delete l.n[m].f}}else for(m in delete l.f,l.n)l.n.hasOwnProperty(m)&&l.n[m].f&&delete l.n[m].f;l=l.n}}else t._events=E={n:{}}};t.once=function(a,
d){var c=function(){t.unbind(a,c);return d.apply(this,arguments)};return t.on(a,c)};t.version="0.4.2";t.toString=function(){return"You are running Eve 0.4.2"};"undefined"!=typeof module&&module.exports?module.exports=t:m||"undefined"==typeof define?d.eve=t:define("eve",[],function(){return t})})(this,!0);"undefined"===typeof m&&"object"===typeof window&&(m=window);(function(d,m,a){!a&&"function"===typeof define&&define.amd?define(["eve"],function(a){return m(d,a)}):m(d,"object"===typeof module&&"undefined"!==
typeof module.exports?module.exports:d.eve)})(m,function(d,E){function a(b){var h,k;void 0===a._url&&(a._url="");if(a.is(b,"function"))return e?b():E.on("raphael.DOMload",b);if(a.is(b,z))return a._engine.create[r](a,b.splice(0,3+a.is(b[0],H))).add(b);h=Array.prototype.slice.call(arguments,0);return a.is(h[h.length-1],"function")?(k=h.pop(),e?k.call(a._engine.create[r](a,h)):E.on("raphael.DOMload",function(){k.call(a._engine.create[r](a,h))})):a._engine.create[r](a,arguments)}function M(){return this.hex}
function f(b,h){for(var k=[],g=0,u=b.length;u-2*!h>g;g+=2){var p=[{x:+b[g-2],y:+b[g-1]},{x:+b[g],y:+b[g+1]},{x:+b[g+2],y:+b[g+3]},{x:+b[g+4],y:+b[g+5]}];h?g?u-4==g?p[3]={x:+b[0],y:+b[1]}:u-2==g&&(p[2]={x:+b[0],y:+b[1]},p[3]={x:+b[2],y:+b[3]}):p[0]={x:+b[u-2],y:+b[u-1]}:u-4==g?p[3]=p[2]:g||(p[0]={x:+b[g],y:+b[g+1]});k.push(["C",(-p[0].x+6*p[1].x+p[2].x)/6,(-p[0].y+6*p[1].y+p[2].y)/6,(p[1].x+6*p[2].x-p[3].x)/6,(p[1].y+6*p[2].y-p[3].y)/6,p[2].x,p[2].y])}return k}function l(b,h,k,g,u,p,a,w,D){null==D&&
(D=1);D=(1<D?1:0>D?0:D)/2;for(var I=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],N=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],ca=0,c=0;12>c;c++)var pa=D*I[c]+D,e=pa*(pa*(-3*b+9*k-9*u+3*a)+6*b-12*k+6*u)-3*b+3*k,pa=pa*(pa*(-3*h+9*g-9*p+3*w)+6*h-12*g+6*p)-3*h+3*g,ca=ca+N[c]*Ma(e*e+pa*pa);return D*ca}function O(b,h,k,g,u,p,a,w,D){if(!(0>D||l(b,h,k,g,u,p,a,w)<D)){var I=.5,N=1-I,ca;for(ca=l(b,h,k,g,u,p,a,w,N);.01<Na(ca-D);)I/=2,N+=(ca<D?
1:-1)*I,ca=l(b,h,k,g,u,p,a,w,N);return N}}function X(b,h,k){b=a._path2curve(b);h=a._path2curve(h);for(var g,u,p,w,D,I,N,ca,c,pa,e=k?0:[],Ea=0,d=b.length;Ea<d;Ea++)if(c=b[Ea],"M"==c[0])g=D=c[1],u=I=c[2];else{"C"==c[0]?(c=[g,u].concat(c.slice(1)),g=c[6],u=c[7]):(c=[g,u,g,u,D,I,D,I],g=D,u=I);for(var Ja=0,f=h.length;Ja<f;Ja++)if(pa=h[Ja],"M"==pa[0])p=N=pa[1],w=ca=pa[2];else{"C"==pa[0]?(pa=[p,w].concat(pa.slice(1)),p=pa[6],w=pa[7]):(pa=[p,w,p,w,N,ca,N,ca],p=N,w=ca);var oa;var R=c,Ba=pa;oa=k;var r=a.bezierBBox(R),
pb=a.bezierBBox(Ba);if(a.isBBoxIntersect(r,pb)){for(var r=l.apply(0,R),pb=l.apply(0,Ba),r=Fa(~~(r/5),1),pb=Fa(~~(pb/5),1),m=[],z=[],q={},db=oa?0:[],ub=0;ub<r+1;ub++){var qb=a.findDotsAtSegment.apply(a,R.concat(ub/r));m.push({x:qb.x,y:qb.y,t:ub/r})}for(ub=0;ub<pb+1;ub++)qb=a.findDotsAtSegment.apply(a,Ba.concat(ub/pb)),z.push({x:qb.x,y:qb.y,t:ub/pb});for(ub=0;ub<r;ub++)for(R=0;R<pb;R++){var qa=m[ub],v=m[ub+1],Ba=z[R],qb=z[R+1],Ob=.001>Na(v.x-qa.x)?"y":"x",Ga=.001>Na(qb.x-Ba.x)?"y":"x",rb;rb=qa.x;var F=
qa.y,A=v.x,Hb=v.y,kb=Ba.x,ja=Ba.y,S=qb.x,t=qb.y;if(Fa(rb,A)<Wa(kb,S)||Wa(rb,A)>Fa(kb,S)||Fa(F,Hb)<Wa(ja,t)||Wa(F,Hb)>Fa(ja,t))rb=void 0;else{var n=(rb*Hb-F*A)*(kb-S)-(rb-A)*(kb*t-ja*S),H=(rb*Hb-F*A)*(ja-t)-(F-Hb)*(kb*t-ja*S),Q=(rb-A)*(ja-t)-(F-Hb)*(kb-S);if(Q){var n=n/Q,H=H/Q,Q=+n.toFixed(2),G=+H.toFixed(2);rb=Q<+Wa(rb,A).toFixed(2)||Q>+Fa(rb,A).toFixed(2)||Q<+Wa(kb,S).toFixed(2)||Q>+Fa(kb,S).toFixed(2)||G<+Wa(F,Hb).toFixed(2)||G>+Fa(F,Hb).toFixed(2)||G<+Wa(ja,t).toFixed(2)||G>+Fa(ja,t).toFixed(2)?
void 0:{x:n,y:H}}else rb=void 0}rb&&q[rb.x.toFixed(4)]!=rb.y.toFixed(4)&&(q[rb.x.toFixed(4)]=rb.y.toFixed(4),qa=qa.t+Na((rb[Ob]-qa[Ob])/(v[Ob]-qa[Ob]))*(v.t-qa.t),Ba=Ba.t+Na((rb[Ga]-Ba[Ga])/(qb[Ga]-Ba[Ga]))*(qb.t-Ba.t),0<=qa&&1.001>=qa&&0<=Ba&&1.001>=Ba&&(oa?db++:db.push({x:rb.x,y:rb.y,t1:Wa(qa,1),t2:Wa(Ba,1)})))}oa=db}else oa=oa?0:[];if(k)e+=oa;else{r=0;for(pb=oa.length;r<pb;r++)oa[r].segment1=Ea,oa[r].segment2=Ja,oa[r].bez1=c,oa[r].bez2=pa;e=e.concat(oa)}}}return e}function t(b,h,k,g,u,p){null!=
b?(this.a=+b,this.b=+h,this.c=+k,this.d=+g,this.e=+u,this.f=+p):(this.a=1,this.c=this.b=0,this.d=1,this.f=this.e=0)}function A(){return this.x+" "+this.y+" "+this.width+" × "+this.height}function q(b,h,k,g,u,p){function a(b,h){var k,g,u,p;u=b;for(g=0;8>g;g++){p=((I*u+D)*u+w)*u-b;if(Na(p)<h)return u;k=(3*I*u+2*D)*u+w;if(1E-6>Na(k))break;u-=p/k}k=0;g=1;u=b;if(u<k)return k;if(u>g)return g;for(;k<g;){p=((I*u+D)*u+w)*u;if(Na(p-b)<h)break;b>p?k=u:g=u;u=(g-k)/2+k}return u}var w=3*h,D=3*(g-h)-w,I=1-w-D,N=
3*k,ca=3*(u-k)-N,c=1-N-ca;return function(b,h){var k=a(b,h);return((c*k+ca)*k+N)*k}(b,1/(200*p))}function c(b,h){var k=[],g={};this.ms=h;this.times=1;if(b){for(var u in b)b.hasOwnProperty(u)&&(g[Ca(u)]=b[u],k.push(Ca(u)));k.sort(ab)}this.anim=g;this.top=k[k.length-1];this.percents=k}function v(b,h,k,g,u,p,w){k=Ca(k);var D,I,N,ca,c,pa,e,Ea=b.ms,d={},Ja={},f={};if(g)for(oa=0,R=va.length;oa<R;oa++){if(pa=va[oa],pa.el.id==h.id&&pa.anim==b){pa.percent!=k?(delete pa.el.e,delete pa.el,va.splice(oa,1),N=
1):I=pa;h.attr(pa.totalOrigin);break}}else g=+Ja;for(var oa=0,R=b.percents.length;oa<R;oa++)if(b.percents[oa]==k||b.percents[oa]>g*b.top){k=b.percents[oa];c=b.percents[oa-1]||0;Ea=Ea/b.top*(k-c);ca=b.percents[oa+1];D=b.anim[k];break}else g&&h.attr(b.anim[b.percents[oa]]);if(D){if(I)I.initstatus=g,I.start=new Date-I.ms*g;else{for(var Ba in D)if(D.hasOwnProperty(Ba))if(zb.hasOwnProperty(Ba)||h.ca[Ba]){d[Ba]=h.attr(Ba);null==d[Ba]&&(d[Ba]=za[Ba]);Ja[Ba]=D[Ba];pa=!1;switch(zb[Ba]){case H:((e=Ja[Ba]-d[Ba])||
isNaN(e))&&(pa=!0);f[Ba]=e/Ea;break;case "colour":d[Ba]=a.getRGB(d[Ba]);oa=a.getRGB(Ja[Ba]);e={};e.r=oa.r-d[Ba].r;e.g=oa.g-d[Ba].g;e.b=oa.b-d[Ba].b;(e.r||e.g||e.b)&&(pa=!0);f[Ba]={r:e.r/Ea,g:e.g/Ea,b:e.b/Ea};break;case "path":var l;if((d[Ba].join?d[Ba].join():d[Ba])===(Ja[Ba].join?Ja[Ba].join():Ja[Ba])){pa=!1;break}e=db(d[Ba],Ja[Ba]);l=e[1];pa=!0;d[Ba]=e[0];f[Ba]=[];oa=0;for(R=d[Ba].length;oa<R;oa++){f[Ba][oa]=[0];for(var r=1,pb=d[Ba][oa].length;r<pb;r++)e=l[oa][r]-d[Ba][oa][r],f[Ba][oa][r]=e/Ea}break;
case "transform":e=h._;oa=kb(e[Ba],Ja[Ba]);pa=!0;if(oa)for(d[Ba]=oa.from,Ja[Ba]=oa.to,f[Ba]=[],f[Ba].real=!0,oa=0,R=d[Ba].length;oa<R;oa++)for(f[Ba][oa]=[d[Ba][oa][0]],r=1,pb=d[Ba][oa].length;r<pb;r++)f[Ba][oa][r]=(Ja[Ba][oa][r]-d[Ba][oa][r])/Ea;else oa=h.matrix||new t,e={_:{transform:e.transform},getBBox:function(){return h.getBBox(1)}},d[Ba]=[oa.a,oa.b,oa.c,oa.d,oa.e,oa.f],qb(e,Ja[Ba]),Ja[Ba]=e._.transform,f[Ba]=[(e.matrix.a-oa.a)/Ea,(e.matrix.b-oa.b)/Ea,(e.matrix.c-oa.c)/Ea,(e.matrix.d-oa.d)/Ea,
(e.matrix.e-oa.e)/Ea,(e.matrix.f-oa.f)/Ea];break;case "csv":R=Ga(D[Ba]).split(Eb);l=Ga(d[Ba]).split(Eb);if("clip-rect"==Ba)for(d[Ba]=l,f[Ba]=[],oa=l.length;oa--;)((e=R[oa]-d[Ba][oa])||isNaN(e))&&(pa=!0),f[Ba][oa]=e/Ea;Ja[Ba]=R;break;default:for(R=[].concat(D[Ba]),l=[].concat(d[Ba]),f[Ba]=[],oa=h.ca[Ba].length;oa--;)((e=(R[oa]||0)-(l[oa]||0))||isNaN(e))&&(pa=!0),f[Ba][oa]=e/Ea}pa||(delete d[Ba],delete Ja[Ba],delete D[Ba],delete f[Ba])}else if(a._availableAttrs.hasOwnProperty(Ba)||"text"===Ba||h.ca[Ba])h.attr(Ba,
D[Ba]),delete D[Ba];pa=D.easing;Ba=a.easing_formulas[pa];if(!Ba)if((Ba=Ga(pa).match(Ta))&&5==Ba.length){var m=Ba;Ba=function(b){return q(b,+m[1],+m[2],+m[3],+m[4],Ea)}}else Ba=La;pa=D.start||b.start||+new Date;h.e=pa={anim:b,percent:k,timestamp:pa,start:pa+(b.del||0),status:0,initstatus:g||0,stop:!1,ms:Ea,easing:Ba,from:d,diff:f,to:Ja,el:h,callback:D.callback,prev:c,next:ca,repeat:p||b.times,origin:h.attr(),totalOrigin:u,parentEl:w};va.push(pa);if(g&&!I&&!N&&(pa.stop=!0,pa.start=new Date-Ea*g,1==
va.length))return ac();N&&(pa.start=new Date-pa.ms*g);1==va.length&&(na||gc())(ac)}!1!==a.stopEvent&&E("raphael.anim.start."+h.id,h,b)}}function L(b){for(var h=0;h<va.length;h++)va[h].el.paper==b&&va.splice(h--,1)}a.upgrade="1.0.0";a.version="2.1.0";a.eve=E;n=a;var e,r="apply",H="number",z="array",P=Array.prototype.slice,G=Array.prototype.splice,ga=Array.prototype.shift,W=function(){return function(){}.hasOwnProperty("prototype")}(),Y={doc:d.document,win:d},T=Object.prototype.hasOwnProperty.call(Y.win,
"Raphael"),ka=Y.win.Raphael,J=Y.doc,ha=Y.win,F=a.supportsTouch="createTouch"in J,wa=a.supportsOnlyTouch=F&&!(ha.navigator.maxTouchPoints||ha.navigator.msMaxTouchPoints),Da=function(){};a.ca=a.customAttributes=Da.prototype;var fa=function(){this.ca=this.customAttributes=new Da;this._CustomAttributes=function(){};this._CustomAttributes.prototype=this.ca;this._elementsById={};this.id=a._oid++;E("raphael.new",this)},ma=a.fn=fa.prototype=a.prototype,ja={circle:1,rect:1,path:1,ellipse:1,text:1,image:1,
group:1},R="click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel dragstart dragmove dragend".split(" "),qa=a._touchMap={mousedown:"touchstart",mousemove:"touchmove",mouseup:"touchend"},bb=a._dragEventMap={dragstart:"mousedown",dragmove:"mousemove",dragend:"mouseup"},Ga=String,Ca=ha.parseFloat,Oa=ha.parseInt,Pa=Math,Fa=Pa.max,Wa=Pa.min,Na=Pa.abs,Va=Pa.pow,Ra=Pa.cos,da=Pa.sin,Ma=Pa.sqrt,Ia=Pa.round,Ka=Pa.PI,ya=Ka/180,gb=180/Ka,Ya=Ga.prototype.toLowerCase,
Db=Ga.prototype.toUpperCase,Ab=Object.prototype.toString,Eb=/[, ]+/,Bb=/\{(\d+)\}/g;a._ISURL=/^url\(['"]?([^\)]+?)['"]?\)$/i;var hb=/^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i,Ta=/^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/,Ua=
/[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/,mb=/,?([achlmqrstvxz]),?/gi,$a=/([achlmrqstvz])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig,
Za=/([rstm])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig,sb=/(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/ig;
a._radial_gradient=/^x?r(?:\(([^\)]*?)\))?/;var vb={NaN:1,Infinity:1,"-Infinity":1},eb={hs:1,rg:1},za=a._availableAttrs={"arrow-end":"none","arrow-start":"none",blur:0,"clip-rect":"0 0 1e9 1e9","clip-path":"",cursor:"default",cx:0,cy:0,fill:"#fff","fill-opacity":1,font:'10px "Arial"',"font-family":'"Arial"',"font-size":"10","font-style":"normal","font-weight":400,gradient:0,height:0,href:"about:blank","letter-spacing":0,"line-height":12,"vertical-align":"middle",opacity:1,path:"M0,0",r:0,rx:0,ry:0,
src:"",stroke:"#000","stroke-dasharray":"","stroke-linecap":"butt","stroke-linejoin":"butt","stroke-miterlimit":0,"stroke-opacity":1,"stroke-width":1,target:"_blank","text-anchor":"middle",visibility:"",title:"",transform:"",rotation:0,width:0,x:0,y:0},zb=a._availableAnimAttrs={blur:H,"clip-rect":"csv","clip-path":"path",cx:H,cy:H,fill:"colour","fill-opacity":H,"font-size":H,height:H,opacity:H,path:"path",r:H,rx:H,ry:H,stroke:"colour","stroke-opacity":H,"stroke-width":H,transform:"transform",width:H,
x:H,y:H},ob={},ab=function(b,h){return Ca(b)-Ca(h)},Sa=function(){},La=function(b){return b},Qa=a._rectPath=function(b,h,k,g,u){return u?[["M",b+u,h],["l",k-2*u,0],["a",u,u,0,0,1,u,u],["l",0,g-2*u],["a",u,u,0,0,1,-u,u],["l",2*u-k,0],["a",u,u,0,0,1,-u,-u],["l",0,2*u-g],["a",u,u,0,0,1,u,-u],["z"]]:[["M",b,h],["l",k,0],["l",0,g],["l",-k,0],["z"]]},lb=function(b,h,k,g){null==g&&(g=k);return[["M",b,h],["m",0,-g],["a",k,g,0,1,1,0,2*g],["a",k,g,0,1,1,0,-2*g],["z"]]},fb=a._getPath={group:function(){return!1},
path:function(b){return b.attr("path")},circle:function(b){b=b.attrs;return lb(b.cx,b.cy,b.r)},ellipse:function(b){b=b.attrs;return lb(b.cx,b.cy,b.rx,b.ry)},rect:function(b){b=b.attrs;return Qa(b.x,b.y,b.width,b.height,b.r)},image:function(b){b=b.attrs;return Qa(b.x,b.y,b.width,b.height)},text:function(b){b=b._getBBox();return Qa(b.x,b.y,b.width,b.height)}},xb=a.mapPath=function(b,h){if(!h)return b;var k,g,u,p,a,w,D;b=db(b);u=0;for(a=b.length;u<a;u++)for(D=b[u],p=1,w=D.length;p<w;p+=2)k=h.x(D[p],
D[p+1]),g=h.y(D[p],D[p+1]),D[p]=k,D[p+1]=g;return b};a.pick=function(){for(var b,h=0,k=arguments.length;h<k;h+=1)if((b=arguments[h])||!1===b||0===b)return b};var ib=a._lastArgIfGroup=function(b,h){var k=b.length-1,g=b[k];if(g&&g.constructor===a.el.constructor&&"group"===g.type)return h&&(b[k]=void 0,delete b[k],G.call(b,k,1)),g},Cb=a._serializeArgs=function(b){var h=b[0],k,g;if(a.is(h,"object")&&!a.is(h,"array")&&"group"!==h.type)for(k=h,h.path&&(h=h.path)&&!a.is(h,"string")&&a.is(h[0],z),h=1,g=arguments.length;h<
g;h+=2)k[arguments[h]]||(k[arguments[h]]=arguments[h+1]);else for(k={},h=1,g=arguments.length;h<g;h+=2)k[arguments[h]]=b[(h-1)/2]||arguments[h+1];return k},yb=a.merge=function(b,h,k,g,u){var p,a,w,D;u?(g.push(b),u.push(h)):(g=[b],u=[h]);if(h instanceof Array)for(p=0;p<h.length;p+=1){try{a=b[p],w=h[p]}catch(I){continue}if("object"!==typeof w)k&&void 0===w||(b[p]=w);else{if(null===a||"object"!==typeof a)a=b[p]=w instanceof Array?[]:{};D=checkCyclicRef(w,u);-1!==D?a=b[p]=g[D]:yb(a,w,k,g,u)}}else for(p in h){try{a=
b[p],w=h[p]}catch(I){continue}if(null!==w&&"object"===typeof w)if(D=Ab.call(w),"[object Object]"===D){if(null===a||"object"!==typeof a)a=b[p]={};D=checkCyclicRef(w,u);-1!==D?a=b[p]=g[D]:yb(a,w,k,g,u)}else"[object Array]"===D?(null!==a&&a instanceof Array||(a=b[p]=[]),D=checkCyclicRef(w,u),-1!==D?a=b[p]=g[D]:yb(a,w,k,g,u)):b[p]=w;else b[p]=w}return b};a.extend=function(b,h,k){if("object"!==typeof b&&"object"!==typeof h)return null;if("object"!==typeof h||null===h)return b;"object"!==typeof b&&(b=h instanceof
Array?[]:{});yb(b,h,k);return b};var jb=a.is=function(b,h){h=Ya.call(h);return"finite"==h?!vb.hasOwnProperty(+b):h==z?b instanceof Array:"object"!==h||void 0!==b&&null!==b?"null"==h&&null===b||h==typeof b&&null!==b||"object"==h&&b===Object(b)||"array"==h&&Array.isArray&&Array.isArray(b)||Ab.call(b).slice(8,-1).toLowerCase()==h:!1};a.createUUID=function(b,h){return function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(b,h).toUpperCase()}}(/[xy]/g,function(b){var h=16*Pa.random()|0;return("x"==
b?h:h&3|8).toString(16)});a.getElementID=function(b){return"rr-"+b};var tb=a.clone=W?function(b){if(Object(b)!==b)return b;var h=new b.constructor,k;for(k in b)"prototype"!==k&&b.hasOwnProperty(k)&&(h[k]=tb(b[k]));return h}:function(b){if(Object(b)!==b)return b;var h=new b.constructor,k;for(k in b)b.hasOwnProperty(k)&&(h[k]=tb(b[k]));return h};a._g=Y;a.type=ha.ENABLE_RED_CANVAS&&(ha.CanvasRenderingContext2D||J.createElement("canvas").getContext)?"CANVAS":ha.SVGAngle||J.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure",
"1.1")?"SVG":"VML";if("VML"==a.type){var nb=J.createElement("div"),b;nb.innerHTML='<v:shape adj="1"/>';b=nb.firstChild;b.style.behavior="url(#default#VML)";if(!b||"object"!=typeof b.adj)return a.type="";nb=null}a.svg=!((a.vml="VML"==a.type)||(a.canvas="CANVAS"==a.type));a._Paper=fa;a._id=0;a._oid=0;a.angle=function(b,h,k,g,u,p){return null==u?(b-=k,h-=g,b||h?(Pa.atan2(-h,-b)*gb+540)%360:0):a.angle(b,h,u,p)-a.angle(k,g,u,p)};a.rad=function(b){return b%360*ya};a.deg=function(b){return b*gb%360};a.snapTo=
function(b,h,k){var g;jb(k,"finite")||(k=10);if(jb(b,z))for(g=b.length;g--;){if(Na(b[g]-h)<=k)return b[g]}else{b=+b;g=h%b;if(g<k)return h-g;if(g>b-k)return h-g+b}return h};a.setWindow=function(b){E("raphael.setWindow",a,Y.win,b);ha=Y.win=b;J=Y.doc=Y.win.document;a._engine.initWin&&a._engine.initWin(Y.win)};var w=function(b){if(a.vml){var h=/^\s+|\s+$/g,k;try{var g=new ActiveXObject("htmlfile");g.write("<body>");g.close();k=g.body}catch(p){k=createPopup().document.body}var D=k.createTextRange();w=
u(function(b){try{k.style.color=Ga(b).replace(h,"");var g=D.queryCommandValue("ForeColor");return"#"+("000000"+((g&255)<<16|g&65280|(g&16711680)>>>16).toString(16)).slice(-6)}catch(u){return"none"}})}else{var I=Y.doc.createElement("i");I.title="Raphaël Colour Picker";I.style.display="none";Y.doc.body.appendChild(I);w=u(function(b){I.style.color=b;return Y.doc.defaultView.getComputedStyle(I,"").getPropertyValue("color")})}return w(b)},D=function(){return"hsb("+[this.h,this.s,this.b]+")"},I=function(){return"hsl("+
[this.h,this.s,this.l]+")"},N=function(){return this.hex},k=function(b,h,k){null==h&&jb(b,"object")&&"r"in b&&"g"in b&&"b"in b&&(k=b.b,h=b.g,b=b.r);null==h&&jb(b,"string")&&(k=a.getRGB(b),b=k.r,h=k.g,k=k.b);if(1<b||1<h||1<k)b/=255,h/=255,k/=255;return[b,h,k]},h=function(b,h,k,g){var u={r:b*=255,g:h*=255,b:k*=255,hex:a.rgb(b,h,k),toString:N};jb(g,"finite")&&(u.opacity=g);return u};a.color=function(b){var h;a.is(b,"object")&&"h"in b&&"s"in b&&"b"in b?(h=a.hsb2rgb(b),b.r=h.r,b.g=h.g,b.b=h.b,b.hex=h.hex):
a.is(b,"object")&&"h"in b&&"s"in b&&"l"in b?(h=a.hsl2rgb(b),b.r=h.r,b.g=h.g,b.b=h.b,b.hex=h.hex):(a.is(b,"string")&&(b=a.getRGB(b)),a.is(b,"object")&&"r"in b&&"g"in b&&"b"in b?(h=a.rgb2hsl(b),b.h=h.h,b.s=h.s,b.l=h.l,h=a.rgb2hsb(b),b.v=h.b):(b={hex:"none"},b.r=b.g=b.b=b.h=b.s=b.v=b.l=-1));b.toString=N;return b};a.hsb2rgb=function(b,k,g,u){this.is(b,"object")&&"h"in b&&"s"in b&&"b"in b&&(g=b.b,k=b.s,b=b.h,u=b.o);var p,a,w;b=360*b%360/60;w=g*k;k=w*(1-Na(b%2-1));g=p=a=g-w;b=~~b;g+=[w,k,0,0,k,w][b];p+=
[k,w,w,k,0,0][b];a+=[0,0,k,w,w,k][b];return h(g,p,a,u)};a.hsl2rgb=function(b,k,g,u){this.is(b,"object")&&"h"in b&&"s"in b&&"l"in b&&(g=b.l,k=b.s,b=b.h);if(1<b||1<k||1<g)b/=360,k/=100,g/=100;var p,a,w;b=360*b%360/60;w=2*k*(.5>g?g:1-g);k=w*(1-Na(b%2-1));g=p=a=g-w/2;b=~~b;g+=[w,k,0,0,k,w][b];p+=[k,w,w,k,0,0][b];a+=[0,0,k,w,w,k][b];return h(g,p,a,u)};a.rgb2hsb=function(b,h,g){g=k(b,h,g);b=g[0];h=g[1];g=g[2];var u,p;u=Fa(b,h,g);p=u-Wa(b,h,g);b=((0==p?null:u==b?(h-g)/p:u==h?(g-b)/p+2:(b-h)/p+4)+360)%6*
60/360;return{h:b,s:0==p?0:p/u,b:u,toString:D}};a.rgb2hsl=function(b,h,g){g=k(b,h,g);b=g[0];h=g[1];g=g[2];var u,p,a;u=Fa(b,h,g);p=Wa(b,h,g);a=u-p;b=((0==a?null:u==b?(h-g)/a:u==h?(g-b)/a+2:(b-h)/a+4)+360)%6*60/360;u=(u+p)/2;return{h:b,s:0==a?0:.5>u?a/(2*u):a/(2-2*u),l:u,toString:I}};a._path2string=function(){return this.join(",").replace(mb,"$1")};var u=a._cacher=function(b,h,k){function g(){var u=P.call(arguments,0),p=u.join("␀"),a=g.cache=g.cache||{},w=g.count=g.count||[];if(a.hasOwnProperty(p)){a:for(var u=
w,w=p,D=0,I=u.length;D<I;D++)if(u[D]===w){u.push(u.splice(D,1)[0]);break a}return k?k(a[p]):a[p]}1E3<=w.length&&delete a[w.shift()];w.push(p);a[p]=b[r](h,u);return k?k(a[p]):a[p]}return g};a._preload=function(b,h){var k=J.createElement("img");k.style.cssText="position:absolute;left:-9999em;top:-9999em";k.onload=function(){h.call(this);this.onload=null;J.body.removeChild(this)};k.onerror=function(){J.body.removeChild(this)};J.body.appendChild(k);k.src=b};a.getRGB=u(function(b){var h,k,g,u,p;b&&jb(b,
"object")&&"opacity"in b&&(h=b.opacity);if(!b||(b=Ga(b)).indexOf("-")+1)return{r:-1,g:-1,b:-1,hex:"none",error:1,toString:M};if("none"==b)return{r:-1,g:-1,b:-1,hex:"none",toString:M};!eb.hasOwnProperty(b.toLowerCase().substring(0,2))&&"#"!==b.charAt()&&(b=w(b));if(b=b.match(hb)){b[2]&&(u=Oa(b[2].substring(5),16),g=Oa(b[2].substring(3,5),16),k=Oa(b[2].substring(1,3),16));b[3]&&(u=Oa((p=b[3].charAt(3))+p,16),g=Oa((p=b[3].charAt(2))+p,16),k=Oa((p=b[3].charAt(1))+p,16));b[4]&&(p=b[4].split(Ua),k=Ca(p[0]),
"%"==p[0].slice(-1)&&(k*=2.55),g=Ca(p[1]),"%"==p[1].slice(-1)&&(g*=2.55),u=Ca(p[2]),"%"==p[2].slice(-1)&&(u*=2.55),"rgba"==b[1].toLowerCase().slice(0,4)&&(h=Ca(p[3])),p[3]&&"%"==p[3].slice(-1)&&(h/=100));if(b[5])return p=b[5].split(Ua),k=Ca(p[0]),"%"==p[0].slice(-1)&&(k*=2.55),g=Ca(p[1]),"%"==p[1].slice(-1)&&(g*=2.55),u=Ca(p[2]),"%"==p[2].slice(-1)&&(u*=2.55),"deg"!=p[0].slice(-3)&&"°"!=p[0].slice(-1)||(k/=360),"hsba"==b[1].toLowerCase().slice(0,4)&&(h=Ca(p[3])),p[3]&&"%"==p[3].slice(-1)&&(h/=100),
a.hsb2rgb(k,g,u,h);if(b[6])return p=b[6].split(Ua),k=Ca(p[0]),"%"==p[0].slice(-1)&&(k*=2.55),g=Ca(p[1]),"%"==p[1].slice(-1)&&(g*=2.55),u=Ca(p[2]),"%"==p[2].slice(-1)&&(u*=2.55),"deg"!=p[0].slice(-3)&&"°"!=p[0].slice(-1)||(k/=360),"hsla"==b[1].toLowerCase().slice(0,4)&&(h=Ca(p[3])),p[3]&&"%"==p[3].slice(-1)&&(h/=100),a.hsl2rgb(k,g,u,h);b={r:k,g:g,b:u,toString:M};b.hex="#"+(16777216|u|g<<8|k<<16).toString(16).slice(1);a.is(h,"finite")&&(b.opacity=h);return b}return{r:-1,g:-1,b:-1,hex:"none",error:1,
toString:M}},a);a.tintshade=u(function(b,h){var k=a.getRGB(b),g;g=255;0>h&&(h*=-1,g=0);1<h&&(h=1);g=0===h?k:{r:g-(g-k.r)*h,g:g-(g-k.g)*h,b:g-(g-k.b)*h,toString:M};g.hex=a.rgb(g.r,g.g,g.b);k.error&&(g.error=k.error);"opacity"in k?(g.rgba="rgba("+[g.r,g.g,g.b,k.opacity].join()+")",g.opacity=k.opacity):g.rgba="rgb("+[g.r,g.g,g.b].join()+")";return g},a);a.hsb=u(function(b,h,k){return a.hsb2rgb(b,h,k).hex});a.hsl=u(function(b,h,k){return a.hsl2rgb(b,h,k).hex});a.rgb=u(function(b,h,k){return"#"+(16777216|
k|h<<8|b<<16).toString(16).slice(1)});a.getColor=function(b){b=this.getColor.start=this.getColor.start||{h:0,s:1,b:b||.75};var h=this.hsb2rgb(b.h,b.s,b.b);b.h+=.075;1<b.h&&(b.h=0,b.s-=.2,0>=b.s&&(this.getColor.start={h:0,s:1,b:b.b}));return h.hex};a.getColor.reset=function(){delete this.start};a.parsePathString=function(b){if(!b)return null;var h=p(b);if(h.arr)return pa(h.arr);var k={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},g=[];a.is(b,z)&&a.is(b[0],z)&&(g=pa(b));g.length||Ga(b).replace($a,function(b,
h,u){var p=[];b=h.toLowerCase();u.replace(sb,function(b,h){h&&p.push(+h)});"m"==b&&2<p.length&&(g.push([h].concat(p.splice(0,2))),b="l",h="m"==h?"l":"L");if("r"==b)g.push([h].concat(p));else for(;p.length>=k[b]&&(g.push([h].concat(p.splice(0,k[b]))),k[b]););});g.toString=a._path2string;h.arr=pa(g);return g};a.parseTransformString=u(function(b){if(!b)return null;var h=[];a.is(b,z)&&a.is(b[0],z)&&(h=pa(b));h.length||Ga(b).replace(Za,function(b,k,g){var u=[];Ya.call(k);g.replace(sb,function(b,h){h&&
u.push(+h)});h.push([k].concat(u))});h.toString=a._path2string;return h});var p=function(b){var h=p.ps=p.ps||{};h[b]?h[b].sleep=100:h[b]={sleep:100};setTimeout(function(){for(var k in h)h.hasOwnProperty(k)&&k!=b&&(h[k].sleep--,!h[k].sleep&&delete h[k])});return h[b]};a.findDotsAtSegment=function(b,h,k,g,u,p,a,w,D){var I=1-D,N=Va(I,3),ca=Va(I,2),pa=D*D,c=pa*D,e=N*b+3*ca*D*k+3*I*D*D*u+c*a,N=N*h+3*ca*D*g+3*I*D*D*p+c*w,ca=b+2*D*(k-b)+pa*(u-2*k+b),c=h+2*D*(g-h)+pa*(p-2*g+h),Ea=k+2*D*(u-k)+pa*(a-2*u+k),
pa=g+2*D*(p-g)+pa*(w-2*p+g);b=I*b+D*k;h=I*h+D*g;u=I*u+D*a;p=I*p+D*w;w=90-180*Pa.atan2(ca-Ea,c-pa)/Ka;(ca>Ea||c<pa)&&(w+=180);return{x:e,y:N,m:{x:ca,y:c},n:{x:Ea,y:pa},start:{x:b,y:h},end:{x:u,y:p},alpha:w}};a.bezierBBox=function(b,h,k,g,u,p,w,D){a.is(b,"array")||(b=[b,h,k,g,u,p,w,D]);b=ub.apply(null,b);return{x:b.min.x,y:b.min.y,x2:b.max.x,y2:b.max.y,width:b.max.x-b.min.x,height:b.max.y-b.min.y}};a.isPointInsideBBox=function(b,h,k){return h>=b.x&&h<=b.x2&&k>=b.y&&k<=b.y2};a.isBBoxIntersect=function(b,
h){var k=a.isPointInsideBBox;return k(h,b.x,b.y)||k(h,b.x2,b.y)||k(h,b.x,b.y2)||k(h,b.x2,b.y2)||k(b,h.x,h.y)||k(b,h.x2,h.y)||k(b,h.x,h.y2)||k(b,h.x2,h.y2)||(b.x<h.x2&&b.x>h.x||h.x<b.x2&&h.x>b.x)&&(b.y<h.y2&&b.y>h.y||h.y<b.y2&&h.y>b.y)};a.pathIntersection=function(b,h){return X(b,h)};a.pathIntersectionNumber=function(b,h){return X(b,h,1)};a.isPointInsidePath=function(b,h,k){var g=a.pathBBox(b);return a.isPointInsideBBox(g,h,k)&&(1==X(b,[["M",h,k],["H",g.x2+10]],1)%2||1==X(b,[["M",h,k],["V",g.y2+10]],
1)%2)};a._removedFactory=function(b){return function(){E("raphael.log",null,"Raphaël: you are calling to method “"+b+"” of removed object",b)}};var g=a.pathBBox=function(b){var h=p(b);if(!b)return{x:0,y:0,width:0,height:0,x2:0,y2:0};b=db(b);for(var k=0,g=0,u=[],a=[],w,D=0,I=b.length;D<I;D++)w=b[D],"M"==w[0]?(k=w[1],g=w[2],u.push(k),a.push(g)):(k=ub(k,g,w[1],w[2],w[3],w[4],w[5],w[6]),u=u.concat(k.min.x,k.max.x),a=a.concat(k.min.y,k.max.y),k=w[5],g=w[6]);b=Wa[r](0,u);w=Wa[r](0,a);u=Fa[r](0,u);a=Fa[r](0,
a);a={x:b,y:w,x2:u,y2:a,width:u-b,height:a-w};h.bbox=tb(a);return a},pa=function(b){b=tb(b);b.toString=a._path2string;return b},ca=a._pathToRelative=function(b){var h=p(b);if(h.rel)return pa(h.rel);a.is(b,z)&&a.is(b&&b[0],z)||(b=a.parsePathString(b));var k=[],g=0,u=0,w=0,D=0,I=0;"M"==b[0][0]&&(g=b[0][1],u=b[0][2],w=g,D=u,I++,k.push(["M",g,u]));for(var N=b.length;I<N;I++){var ca=k[I]=[],c=b[I];if(c[0]!=Ya.call(c[0]))switch(ca[0]=Ya.call(c[0]),ca[0]){case "a":ca[1]=c[1];ca[2]=c[2];ca[3]=c[3];ca[4]=
c[4];ca[5]=c[5];ca[6]=+(c[6]-g).toFixed(3);ca[7]=+(c[7]-u).toFixed(3);break;case "v":ca[1]=+(c[1]-u).toFixed(3);break;case "m":w=c[1],D=c[2];default:for(var e=1,Ea=c.length;e<Ea;e++)ca[e]=+(c[e]-(e%2?g:u)).toFixed(3)}else for(k[I]=[],"m"==c[0]&&(w=c[1]+g,D=c[2]+u),ca=0,e=c.length;ca<e;ca++)k[I][ca]=c[ca];c=k[I].length;switch(k[I][0]){case "z":g=w;u=D;break;case "h":g+=+k[I][c-1];break;case "v":u+=+k[I][c-1];break;default:g+=+k[I][c-2],u+=+k[I][c-1]}}k.toString=a._path2string;h.rel=pa(k);return k},
Ja=a._pathToAbsolute=function(b){var h=p(b),k;if(h.abs)return pa(h.abs);a.is(b,z)&&a.is(b&&b[0],z)||(b=a.parsePathString(b));if(!b||!b.length)return k=["M",0,0],k.toString=a._path2string,k;var g=0,u=0,w=0,D=0,I=0;k=[];"M"==b[0][0]&&(g=+b[0][1],u=+b[0][2],w=g,D=u,I++,k[0]=["M",g,u]);for(var N=3==b.length&&"M"==b[0][0]&&"R"==b[1][0].toUpperCase()&&"Z"==b[2][0].toUpperCase(),ca,c=I,e=b.length;c<e;c++){k.push(I=[]);ca=b[c];if(ca[0]!=Db.call(ca[0]))switch(I[0]=Db.call(ca[0]),I[0]){case "A":I[1]=ca[1];
I[2]=ca[2];I[3]=ca[3];I[4]=ca[4];I[5]=ca[5];I[6]=+(ca[6]+g);I[7]=+(ca[7]+u);break;case "V":I[1]=+ca[1]+u;break;case "H":I[1]=+ca[1]+g;break;case "R":for(var Ea=[g,u].concat(ca.slice(1)),d=2,Ja=Ea.length;d<Ja;d++)Ea[d]=+Ea[d]+g,Ea[++d]=+Ea[d]+u;k.pop();k=k.concat(f(Ea,N));break;case "M":w=+ca[1]+g,D=+ca[2]+u;default:for(d=1,Ja=ca.length;d<Ja;d++)I[d]=+ca[d]+(d%2?g:u)}else if("R"==ca[0])Ea=[g,u].concat(ca.slice(1)),k.pop(),k=k.concat(f(Ea,N)),I=["R"].concat(ca.slice(-2));else for(Ea=0,d=ca.length;Ea<
d;Ea++)I[Ea]=ca[Ea];switch(I[0]){case "Z":g=w;u=D;break;case "H":g=I[1];break;case "V":u=I[1];break;case "M":w=I[I.length-2],D=I[I.length-1];default:g=I[I.length-2],u=I[I.length-1]}}k.toString=a._path2string;h.abs=pa(k);return k},Ea=function(b,h,k,g){return[b,h,k,g,k,g]},Ba=function(b,h,k,g,u,p){var w=1/3,a=2/3;return[w*b+a*k,w*h+a*g,w*u+a*k,w*p+a*g,u,p]},oa=function(b,h,k,g,p,w,a,D,I,ca){var N=120*Ka/180,c=ya*(+p||0),pa=[],e,Ea=u(function(b,h,k){var g=b*Ra(k)-h*da(k);b=b*da(k)+h*Ra(k);return{x:g,
y:b}});if(ca)f=ca[0],e=ca[1],w=ca[2],d=ca[3];else{e=Ea(b,h,-c);b=e.x;h=e.y;e=Ea(D,I,-c);D=e.x;I=e.y;Ra(ya*p);da(ya*p);e=(b-D)/2;f=(h-I)/2;d=e*e/(k*k)+f*f/(g*g);1<d&&(d=Ma(d),k*=d,g*=d);var d=k*k,Ja=g*g,d=(w==a?-1:1)*Ma(Na((d*Ja-d*f*f-Ja*e*e)/(d*f*f+Ja*e*e)));w=d*k*f/g+(b+D)/2;var d=d*-g*e/k+(h+I)/2,f=Pa.asin(((h-d)/g).toFixed(9));e=Pa.asin(((I-d)/g).toFixed(9));f=b<w?Ka-f:f;e=D<w?Ka-e:e;0>f&&(f=2*Ka+f);0>e&&(e=2*Ka+e);a&&f>e&&(f-=2*Ka);!a&&e>f&&(e-=2*Ka)}if(Na(e-f)>N){var pa=e,Ja=D,Ba=I;e=f+N*(a&&
e>f?1:-1);D=w+k*Ra(e);I=d+g*da(e);pa=oa(D,I,k,g,p,0,a,Ja,Ba,[e,pa,w,d])}w=e-f;p=Ra(f);N=da(f);a=Ra(e);e=da(e);w=Pa.tan(w/4);k=4/3*k*w;w*=4/3*g;g=[b,h];b=[b+k*N,h-w*p];h=[D+k*e,I-w*a];D=[D,I];b[0]=2*g[0]-b[0];b[1]=2*g[1]-b[1];if(ca)return[b,h,D].concat(pa);pa=[b,h,D].concat(pa).join().split(",");ca=[];D=0;for(I=pa.length;D<I;D++)ca[D]=D%2?Ea(pa[D-1],pa[D],c).y:Ea(pa[D],pa[D+1],c).x;return ca},pb=function(b,h,k,g,u,p,w,a,D){var I=1-D;return{x:Va(I,3)*b+3*Va(I,2)*D*k+3*I*D*D*u+Va(D,3)*w,y:Va(I,3)*h+
3*Va(I,2)*D*g+3*I*D*D*p+Va(D,3)*a}},ub=u(function(b,h,k,g,u,p,w,a){var D=u-2*k+b-(w-2*u+k),I=2*(k-b)-2*(u-k),ca=b-k,N=(-I+Ma(I*I-4*D*ca))/2/D,D=(-I-Ma(I*I-4*D*ca))/2/D,pa=[h,a],c=[b,w];"1e12"<Na(N)&&(N=.5);"1e12"<Na(D)&&(D=.5);0<N&&1>N&&(N=pb(b,h,k,g,u,p,w,a,N),c.push(N.x),pa.push(N.y));0<D&&1>D&&(N=pb(b,h,k,g,u,p,w,a,D),c.push(N.x),pa.push(N.y));D=p-2*g+h-(a-2*p+g);I=2*(g-h)-2*(p-g);ca=h-g;N=(-I+Ma(I*I-4*D*ca))/2/D;D=(-I-Ma(I*I-4*D*ca))/2/D;"1e12"<Na(N)&&(N=.5);"1e12"<Na(D)&&(D=.5);0<N&&1>N&&(N=
pb(b,h,k,g,u,p,w,a,N),c.push(N.x),pa.push(N.y));0<D&&1>D&&(N=pb(b,h,k,g,u,p,w,a,D),c.push(N.x),pa.push(N.y));return{min:{x:Wa[r](0,c),y:Wa[r](0,pa)},max:{x:Fa[r](0,c),y:Fa[r](0,pa)}}}),db=a._path2curve=u(function(b,h){var k=!h&&p(b);if(!h&&k.curve)return pa(k.curve);var g=Ja(b),u=h&&Ja(h),w={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},a={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null},D=function(b,h){var k,g;if(!b)return["C",h.x,h.y,h.x,h.y,h.x,h.y];b[0]in{T:1,Q:1}||(h.qx=h.qy=null);switch(b[0]){case "M":h.X=
b[1];h.Y=b[2];break;case "A":b=["C"].concat(oa[r](0,[h.x,h.y].concat(b.slice(1))));break;case "S":k=h.x+(h.x-(h.bx||h.x));g=h.y+(h.y-(h.by||h.y));b=["C",k,g].concat(b.slice(1));break;case "T":h.qx=h.x+(h.x-(h.qx||h.x));h.qy=h.y+(h.y-(h.qy||h.y));b=["C"].concat(Ba(h.x,h.y,h.qx,h.qy,b[1],b[2]));break;case "Q":h.qx=b[1];h.qy=b[2];b=["C"].concat(Ba(h.x,h.y,b[1],b[2],b[3],b[4]));break;case "L":b=["C"].concat(Ea(h.x,h.y,b[1],b[2]));break;case "H":b=["C"].concat(Ea(h.x,h.y,b[1],h.y));break;case "V":b=["C"].concat(Ea(h.x,
h.y,h.x,b[1]));break;case "Z":b=["C"].concat(Ea(h.x,h.y,h.X,h.Y))}return b},I=function(b,h){if(7<b[h].length){b[h].shift();for(var k=b[h];k.length;)b.splice(h++,0,["C"].concat(k.splice(0,6)));b.splice(h,1);c=Fa(g.length,u&&u.length||0)}},ca=function(b,h,k,p,w){b&&h&&"M"==b[w][0]&&"M"!=h[w][0]&&(h.splice(w,0,["M",p.x,p.y]),k.bx=0,k.by=0,k.x=b[w][1],k.y=b[w][2],c=Fa(g.length,u&&u.length||0))},N=0,c=Fa(g.length,u&&u.length||0);for(;N<c;N++){g[N]=D(g[N],w);I(g,N);u&&(u[N]=D(u[N],a));u&&I(u,N);ca(g,u,
w,a,N);ca(u,g,a,w,N);var e=g[N],d=u&&u[N],f=e.length,R=u&&d.length;w.x=e[f-2];w.y=e[f-1];w.bx=Ca(e[f-4])||w.x;w.by=Ca(e[f-3])||w.y;a.bx=u&&(Ca(d[R-4])||a.x);a.by=u&&(Ca(d[R-3])||a.y);a.x=u&&d[R-2];a.y=u&&d[R-1]}u||(k.curve=pa(g));return u?[g,u]:g},null,pa);a._parseDots=u(function(b){for(var h=[],k=0,g=b.length;k<g;k++){var u={},p=b[k].match(/^([^:]*):?([\d\.]*)/);u.color=a.getRGB(p[1]);if(u.color.error)return null;u.opacity=u.color.opacity;u.color=u.color.hex;p[2]&&(u.offset=p[2]+"%");h.push(u)}k=
1;for(g=h.length-1;k<g;k++)if(!h[k].offset){b=Ca(h[k-1].offset||0);p=0;for(u=k+1;u<g;u++)if(h[u].offset){p=h[u].offset;break}p||(p=100,u=g);p=Ca(p);for(p=(p-b)/(u-k+1);k<u;k++)b+=p,h[k].offset=b+"%"}return h});var Hb=a._tear=function(b,h){b==h.top&&(h.top=b.prev);b==h.bottom&&(h.bottom=b.next);b.next&&(b.next.prev=b.prev);b.prev&&(b.prev.next=b.next)};a._tofront=function(b,h){if(h.top===b)return!1;Hb(b,h);b.next=null;b.prev=h.top;h.top.next=b;h.top=b;return!0};a._toback=function(b,h){if(h.bottom===
b)return!1;Hb(b,h);b.next=h.bottom;b.prev=null;h.bottom.prev=b;h.bottom=b;return!0};a._insertafter=function(b,h,k,g){Hb(b,k);b.parent=g;h===g.top&&(g.top=b);h.next&&(h.next.prev=b);b.next=h.next;b.prev=h;h.next=b};a._insertbefore=function(b,h,k,g){Hb(b,k);b.parent=g;h===g.bottom&&(g.bottom=b);h.prev&&(h.prev.next=b);b.prev=h.prev;h.prev=b;b.next=h};var Ob=a.toMatrix=function(b,h){var k=g(b),u={_:{transform:""},getBBox:function(){return k}};qb(u,h);return u.matrix};a.transformPath=function(b,h){return xb(b,
Ob(b,h))};var qb=a._extractTransform=function(b,h){if(null==h)return b._.transform;h=Ga(h).replace(/\.{3}|\u2026/g,b._.transform||"");var k=a.parseTransformString(h),g=0,u=0,p=0,w=1,D=1,I=b._,p=new t;I.transform=k||[];if(k)for(var u=0,N=k.length;u<N;u++){var ca=k[u],c=ca.length,pa=Ga(ca[0]).toLowerCase(),e=ca[0]!=pa,Ea=e?p.invert():0;"t"==pa&&3==c?e?(c=Ea.x(0,0),pa=Ea.y(0,0),e=Ea.x(ca[1],ca[2]),Ea=Ea.y(ca[1],ca[2]),p.translate(e-c,Ea-pa)):p.translate(ca[1],ca[2]):"r"==pa?2==c?(Ea=I.bb||(I.bb=b.getBBox(1)),
p.rotate(ca[1],Ea.x+Ea.width/2,Ea.y+Ea.height/2),g+=ca[1]):4==c&&(e?(e=Ea.x(ca[2],ca[3]),Ea=Ea.y(ca[2],ca[3]),p.rotate(ca[1],e,Ea)):p.rotate(ca[1],ca[2],ca[3]),g+=ca[1]):"s"==pa?2==c||3==c?(Ea=I.bb||(I.bb=b.getBBox(1)),p.scale(ca[1],ca[c-1],Ea.x+Ea.width/2,Ea.y+Ea.height/2),w*=ca[1],D*=ca[c-1]):5==c&&(e?(e=Ea.x(ca[3],ca[4]),Ea=Ea.y(ca[3],ca[4]),p.scale(ca[1],ca[2],e,Ea)):p.scale(ca[1],ca[2],ca[3],ca[4]),w*=ca[1],D*=ca[2]):"m"==pa&&7==c&&p.add(ca[1],ca[2],ca[3],ca[4],ca[5],ca[6]);I.dirtyT=1;b.matrix=
p}b.matrix=p;I.sx=w;I.sy=D;I.deg=g;I.dx=u=p.e;I.dy=p=p.f;1==w&&1==D&&!g&&I.bbox?(I.bbox.x+=+u,I.bbox.y+=+p):I.dirtyT=1},rb=function(b){var h=b[0];switch(h.toLowerCase()){case "t":return[h,0,0];case "m":return[h,1,0,0,1,0,0];case "r":return 4==b.length?[h,0,b[2],b[3]]:[h,0];case "s":return 5==b.length?[h,1,1,b[3],b[4]]:3==b.length?[h,1,1]:[h,1]}},kb=a._equaliseTransform=function(b,h){h=Ga(h).replace(/\.{3}|\u2026/g,b);b=a.parseTransformString(b)||[];h=a.parseTransformString(h)||[];for(var k=Fa(b.length,
h.length),g=[],u=[],p=0,w,D,I,ca;p<k;p++){I=b[p]||rb(h[p]);ca=h[p]||rb(I);if(I[0]!=ca[0]||"r"==I[0].toLowerCase()&&(I[2]!=ca[2]||I[3]!=ca[3])||"s"==I[0].toLowerCase()&&(I[3]!=ca[3]||I[4]!=ca[4]))return;g[p]=[];u[p]=[];w=0;for(D=Fa(I.length,ca.length);w<D;w++)w in I&&(g[p][w]=I[w]),w in ca&&(u[p][w]=ca[w])}return{from:g,to:u}};a._getContainer=function(b,h,k,g){var u;u=null!=g||a.is(b,"object")?b:Y.doc.getElementById(b);if(null!=u)return u.tagName?null==h?{container:u,width:u.style.pixelWidth||u.offsetWidth,
height:u.style.pixelHeight||u.offsetHeight}:{container:u,width:h,height:k}:{container:1,x:b,y:h,width:k,height:g}};a.pathToRelative=ca;a._engine={};a.path2curve=db;a.matrix=function(b,h,k,g,u,p){return new t(b,h,k,g,u,p)};(function(b){function h(b){return b[0]*b[0]+b[1]*b[1]}function k(b){var g=Ma(h(b));b[0]&&(b[0]/=g);b[1]&&(b[1]/=g)}b.add=function(b,h,k,g,u,p){var w=[[],[],[]],a=[[this.a,this.c,this.e],[this.b,this.d,this.f],[0,0,1]];h=[[b,k,u],[h,g,p],[0,0,1]];b&&b instanceof t&&(h=[[b.a,b.c,b.e],
[b.b,b.d,b.f],[0,0,1]]);for(b=0;3>b;b++)for(k=0;3>k;k++){for(g=u=0;3>g;g++)u+=a[b][g]*h[g][k];w[b][k]=u}this.a=w[0][0];this.b=w[1][0];this.c=w[0][1];this.d=w[1][1];this.e=w[0][2];this.f=w[1][2]};b.invert=function(){var b=this.a*this.d-this.b*this.c;return new t(this.d/b,-this.b/b,-this.c/b,this.a/b,(this.c*this.f-this.d*this.e)/b,(this.b*this.e-this.a*this.f)/b)};b.clone=function(){return new t(this.a,this.b,this.c,this.d,this.e,this.f)};b.translate=function(b,h){this.add(1,0,0,1,b,h)};b.scale=function(b,
h,k,g){null==h&&(h=b);(k||g)&&this.add(1,0,0,1,k,g);this.add(b,0,0,h,0,0);(k||g)&&this.add(1,0,0,1,-k,-g)};b.rotate=function(b,h,k){b=a.rad(b);h=h||0;k=k||0;var g=+Ra(b).toFixed(9);b=+da(b).toFixed(9);this.add(g,b,-b,g,h,k);this.add(1,0,0,1,-h,-k)};b.x=function(b,h){return b*this.a+h*this.c+this.e};b.y=function(b,h){return b*this.b+h*this.d+this.f};b.get=function(b){return+this[Ga.fromCharCode(97+b)].toFixed(4)};b.toString=function(){return a.svg?"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),
this.get(4),this.get(5)].join()+")":[this.get(0),this.get(2),this.get(1),this.get(3),0,0].join()};b.toMatrixString=function(){return"matrix("+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)].join()+")"};b.toFilter=function(){return"progid:DXImageTransform.Microsoft.Matrix(M11="+this.get(0)+", M12="+this.get(2)+", M21="+this.get(1)+", M22="+this.get(3)+", Dx="+this.get(4)+", Dy="+this.get(5)+", sizingmethod='auto expand')"};b.offset=function(){return[this.e.toFixed(4),this.f.toFixed(4)]};
b.split=function(){var b={};b.dx=this.e;b.dy=this.f;var g=[[this.a,this.c],[this.b,this.d]];b.scalex=Ma(h(g[0]));k(g[0]);b.shear=g[0][0]*g[1][0]+g[0][1]*g[1][1];g[1]=[g[1][0]-g[0][0]*b.shear,g[1][1]-g[0][1]*b.shear];b.scaley=Ma(h(g[1]));k(g[1]);b.shear/=b.scaley;var u=-g[0][1],g=g[1][1];0>g?(b.rotate=a.deg(Pa.acos(g)),0>u&&(b.rotate=360-b.rotate)):b.rotate=a.deg(Pa.asin(u));b.isSimple=!+b.shear.toFixed(9)&&(b.scalex.toFixed(9)==b.scaley.toFixed(9)||!b.rotate);b.isSuperSimple=!+b.shear.toFixed(9)&&
b.scalex.toFixed(9)==b.scaley.toFixed(9)&&!b.rotate;b.noRotation=!+b.shear.toFixed(9)&&!b.rotate;return b};b.toTransformString=function(b){b=b||this.split();return b.isSimple?(b.scalex=+b.scalex.toFixed(4),b.scaley=+b.scaley.toFixed(4),b.rotate=+b.rotate.toFixed(4),(b.dx||b.dy?"t"+[b.dx,b.dy]:"")+(1!=b.scalex||1!=b.scaley?"s"+[b.scalex,b.scaley,0,0]:"")+(b.rotate?"r"+[b.rotate,0,0]:"")):"m"+[this.get(0),this.get(1),this.get(2),this.get(3),this.get(4),this.get(5)]}})(t.prototype);var Tb=ha.navigator,
S=Tb.userAgent.match(/Version\/(.*?)\s/)||Tb.userAgent.match(/Chrome\/(\d+)/);"Apple Computer, Inc."==Tb.vendor&&(S&&4>S[1]||"iP"==Tb.platform.slice(0,2))||"Google Inc."==Tb.vendor&&S&&8>S[1]?ma.safari=function(){var b=this.rect(-99,-99,this.width+99,this.height+99).attr({stroke:"none"});setTimeout(function(){b.remove()});return!0}:ma.safari=Sa;for(var Q=function(){this.returnValue=!1},mc=function(){return this.originalEvent.preventDefault()},wb=function(){this.cancelBubble=!0},Pb=function(){return this.originalEvent.stopPropagation()},
la=a.addEvent=function(){if(Y.doc.addEventListener)return function(b,h,k,g){var u=wa&&qa[h]||h,p;qa[bb[h]]&&(u=qa[bb[h]]);p=function(u){var p=Y.doc.documentElement.scrollTop||Y.doc.body.scrollTop,w=Y.doc.documentElement.scrollLeft||Y.doc.body.scrollLeft,a;if(F&&qa.hasOwnProperty(wa?h:bb[h]))for(var D=0,I=u.targetTouches&&u.targetTouches.length;D<I;D++)if(a=u.targetTouches[D].target,a==b||"tspan"==a.nodeName&&a.parentNode==b){a=u;u=u.targetTouches[D];u.originalEvent=a;u.preventDefault=mc;u.stopPropagation=
Pb;break}return k.call(g,u,u.clientX+w,u.clientY+p)};b.addEventListener(u,p,!1);return function(){b.removeEventListener(u,p,!1);return!0}};if(Y.doc.attachEvent)return function(b,h,k,g){var u=function(b){b=b||Y.win.event;var h=b.clientX+(Y.doc.documentElement.scrollLeft||Y.doc.body.scrollLeft),u=b.clientY+(Y.doc.documentElement.scrollTop||Y.doc.body.scrollTop);b.preventDefault=b.preventDefault||Q;b.stopPropagation=b.stopPropagation||wb;return k.call(g,b,h,u)};b.attachEvent("on"+h,u);return function(){b.detachEvent("on"+
h,u);return!0}}}(),Z=[],xa=function(b){for(var h=b.clientX,k=b.clientY,g=Y.doc.documentElement.scrollTop||Y.doc.body.scrollTop,u=Y.doc.documentElement.scrollLeft||Y.doc.body.scrollLeft,p,w=Z.length;w--;){p=Z[w];if(F&&"touchmove"===b.type)for(var D=b.touches.length,I;D--;){if(I=b.touches[D],I.identifier==p.el._drag.id){h=I.clientX;k=I.clientY;(b.originalEvent?b.originalEvent:b).preventDefault();break}}else b.preventDefault();if(!p.el.removed){var D=a._engine.getNode(p.el),ca=D.nextSibling,N=D.parentNode,
c=D.style.display;Y.win.opera&&N.removeChild(D);D.style.display="none";I=p.el.paper.getElementByPoint(h,k);D.style.display=c;Y.win.opera&&(ca?N.insertBefore(D,ca):N.appendChild(D));I&&E("raphael.drag.over."+p.el.id,p.el,I);h+=u;k+=g;E("raphael.drag.move."+p.el.id,p.move_scope||p.el,h-p.el._drag.x,k-p.el._drag.y,h,k,b)}}},Kb=function(b){a.undragmove(xa).undragend(Kb);a.unmousemove(xa).unmouseup(Kb);for(var h=Z.length,k;h--;)k=Z[h],k.el._drag={},E("raphael.drag.end."+k.el.id,k.end_scope||k.start_scope||
k.move_scope||k.el,b);Z=[]},U=a.el={},ba=R.length;ba--;)(function(b){a[b]=U[b]=function(h,k){a.is(h,"function")&&(this.events=this.events||[],this.events.push({name:b,f:h,unbind:la(this.shape||this.node||Y.doc,b,h,k||this)}));return this};a["un"+b]=U["un"+b]=function(h){for(var k=this.events||[],g=k.length;g--;)if(k[g].name==b&&k[g].f==h){k[g].unbind();k.splice(g,1);!k.length&&delete this.events;break}return this}})(R[ba]);U.data=function(b,h){var k=ob[this.id]=ob[this.id]||{};if(1==arguments.length){if(a.is(b,
"object")){for(var g in b)b.hasOwnProperty(g)&&this.data(g,b[g]);return this}E("raphael.data.get."+this.id,this,k[b],b);return k[b]}k[b]=h;E("raphael.data.set."+this.id,this,h,b);return this};U.removeData=function(b){null==b?delete ob[this.id]:ob[this.id]&&delete ob[this.id][b];return this};U.getData=function(){return tb(ob[this.id]||{})};var aa=[],V=function(){this.untrack=la(Y.doc,"mouseup",nc,this)},nc=function(){this.untrack();this.untrack=null;return this.fn&&this.fn.apply(this.scope||this.el,
arguments)};U.mouseup=function(b,h,k){if(!k)return a.mouseup.apply(this,arguments);aa.push(k={el:this,fn:b,scope:h});k.unbind=la(this.shape||this.node||Y.doc,"mousedown",V,k);return this};U.unmouseup=function(b){for(var h=aa.length,k;h--;)aa[h].el===this&&aa[h].fn===b&&(k=aa[h],k.unbind(),k.untrack&&k.untrack(),aa.splice(h,1));return k?this:a.unmouseup.apply(this,arguments)};U.hover=function(b,h,k,g){return this.mouseover(b,k).mouseout(h,g||k)};U.unhover=function(b,h){return this.unmouseover(b).unmouseout(h)};
var Rb=[];U.drag=function(b,h,k,g,u,p){function w(D){var I=Y.doc.documentElement.scrollTop||Y.doc.body.scrollTop,ca=Y.doc.documentElement.scrollLeft||Y.doc.body.scrollLeft;this._drag.x=D.clientX+ca;this._drag.y=D.clientY+I;this._drag.id=D.identifier;F&&!wa&&!Z.length&&a.dragmove(xa).dragend(Kb);!Z.length&&a.mousemove(xa).mouseup(Kb);Z.push({el:this,move_scope:g,start_scope:u,end_scope:p});h&&E.on("raphael.drag.start."+this.id,h);b&&E.on("raphael.drag.move."+this.id,b);k&&E.on("raphael.drag.end."+
this.id,k);E("raphael.drag.start."+this.id,u||g||this,D.clientX+ca,D.clientY+I,D)}this._drag={};Rb.push({el:this,start:w});F&&!wa&&this.dragstart(w);this.mousedown(w);return this};U.onDragOver=function(b){b?E.on("raphael.drag.over."+this.id,b):E.unbind("raphael.drag.over."+this.id)};U.undrag=function(){for(var b=Rb.length;b--;)Rb[b].el==this&&(this.unmousedown(Rb[b].start),Rb.splice(b,1),E.unbind("raphael.drag.*."+this.id));!Rb.length&&a.unmousemove(xa).unmouseup(Kb);delete this._drag};U.follow=function(b,
h,k){if(b.removed||b.constructor!==a.el.constructor)return this;b.followers.push({el:this,stalk:k={before:"insertBefore",after:"insertAfter"}[k],cb:h});k&&this[k](b);return this};U.unfollow=function(b){if(b.removed||b.constructor!==a.el.constructor)return this;for(var h=0,k=b.followers.length;h<k;h++)if(b.followers[h].el===this){b.followers.splice(h,1);break}return this};ma.hide=function(){this.canvas.style.visibility="hidden";return this};ma.show=function(){this.canvas.style.visibility="";return this};
ma.group=function(){var b=arguments,h=ib(b,!0),b=a._engine.group(this,b[0],h);return this.__set__&&this.__set__.push(b),this._elementsById[b.id]=b};ma.circle=function(){var b=arguments,h=ib(b,!0),b=Cb(b,"cx",0,"cy",0,"r",0,"fill","none","stroke","#000"),h=a._engine.circle(this,b,h);return this.__set__&&this.__set__.push(h),this._elementsById[h.id]=h};ma.rect=function(){var b=arguments,h=ib(b,!0),b=Cb(b,"x",0,"y",0,"width",0,"height",0,"r",0,"fill","none","stroke","#000"),h=a._engine.rect(this,b,h);
return this.__set__&&this.__set__.push(h),this._elementsById[h.id]=h};ma.ellipse=function(){var b=arguments,h=ib(b,!0),b=Cb(b,"x",0,"y",0,"rx",0,"ry",0,"fill","none","stroke","#000"),h=a._engine.ellipse(this,b,h);return this.__set__&&this.__set__.push(h),this._elementsById[h.id]=h};ma.path=function(){var b=arguments,h=ib(b,!0),k=this.config,b=Cb(b,"path","","fill","none","stroke","#000","stroke-linecap",k&&k["stroke-linecap"]||"butt"),h=a._engine.path(this,b,h);return this.__set__&&this.__set__.push(h),
this._elementsById[h.id]=h};ma.image=function(){var b=arguments,h=ib(b,!0),b=Cb(b,"src","","x",0,"y",0,"width",0,"height",0);out=a._engine.image(this,b,h);return this.__set__&&this.__set__.push(out),this._elementsById[out.id]=out};ma.text=function(){var b=arguments,h=ib(b,!0),k=Cb(b,"x",0,"y",0,"text","","stroke","none","fill","#000","text-anchor","middle","vertical-align","middle"),b=a._engine.text(this,k,h,b[1]);return this.__set__&&this.__set__.push(b),this._elementsById[b.id]=b};ma.set=function(b){!a.is(b,
"array")&&(b=G.call(arguments,0,arguments.length));var h=new ta(b);this.__set__&&this.__set__.push(h);return h};ma.setConfig=function(b,h){void 0!==b&&void 0!==h&&(this.config=this.config||{},this.config[b]=h);return this.config};ma.setStart=function(b){this.__set__=b||this.set()};ma.setFinish=function(b){b=this.__set__;delete this.__set__;return b};ma.setSize=function(b,h){return a._engine.setSize.call(this,b,h)};ma.setDimension=function(b,h){"object"===typeof b?this.setSize(b.width,b.height):this.setSize(b,
h)};ma.attr=function(b){if(null==b)return{width:this.width,height:this.height};if(a.is(b,"string"))return this[b];this.setDimension(b);return this};ma.status=function(b,h){return U.status.call(this,b,h)};ma.animateWith=function(b,h,k,g,u,p){return U.animateWith.call(this,b,h,k,g,u,p)};ma.animate=function(b,h,k,g){return U.animate.call(this,b,h,k,g)};ma.setViewBox=function(b,h,k,g,u){return a._engine.setViewBox.call(this,b,h,k,g,u)};ma.top=ma.bottom=null;ma.raphael=a;ma.getElementByPoint=function(b,
h){var k,g,u=this.canvas,p=Y.doc.elementFromPoint(b,h);if(Y.win.opera&&"svg"==p.tagName){g=u.getBoundingClientRect();k=u.ownerDocument;var w=k.body,a=k.documentElement;k=g.top+(Y.win.pageYOffset||a.scrollTop||w.scrollTop)-(a.clientTop||w.clientTop||0);g=g.left+(Y.win.pageXOffset||a.scrollLeft||w.scrollLeft)-(a.clientLeft||w.clientLeft||0);w=u.createSVGRect();w.x=b-g;w.y=h-k;w.width=w.height=1;k=u.getIntersectionList(w,null);k.length&&(p=k[k.length-1])}if(!p)return null;for(;p.parentNode&&p!=u.parentNode&&
!p.raphael;)p=p.parentNode;p==this.canvas.parentNode&&(p=u);return p=p&&p.raphael?this.getById(p.raphaelid):null};ma.getElementsByBBox=function(b){var h=this.set();this.forEach(function(k){a.isBBoxIntersect(k.getBBox(),b)&&h.push(k)});return h};ma.getById=function(b){return this._elementsById[b]||null};ma.forEach=function(b,h){for(var k=this.bottom;k&&!1!==b.call(h,k);)k=k.next;return this};ma.getElementsByPoint=function(b,h){var k=this.set();this.forEach(function(g){g.isPointInside(b,h)&&k.push(g)});
return k};U.isPointInside=function(b,h){var k=this.realPath=this.realPath||fb[this.type](this),g;return a.isPointInsidePath((g=this.attr("transform"))&&g.length&&a.transformPath(k,g)||k,b,h)};U.getBBox=function(b){if(this.removed)return{};var h=this._;if(b){if(h.dirty||!h.bboxwt)this.realPath=fb[this.type](this),h.bboxwt=g(this.realPath),h.bboxwt.toString=A,h.dirty=0;return h.bboxwt}if(h.dirty||h.dirtyT||!h.bbox){if(h.dirty||!this.realPath)h.bboxwt=0,this.realPath=fb[this.type](this);h.bbox=g(xb(this.realPath,
this.matrix));h.bbox.toString=A;h.dirty=h.dirtyT=0}return h.bbox};U.clone=function(){if(this.removed)return null;var b=this.paper[this.type]().attr(this.attr());this.__set__&&this.__set__.push(b);return b};U.glow=function(b){if("text"==this.type)return null;b=b||{};var h=(b.width||10)+(+this.attr("stroke-width")||1),k=b.fill||!1,g=b.opacity||.5,u=b.offsetx||0,p=b.offsety||0;b=b.color||"#000";for(var w=h/2,a=this.paper,D=a.set(),I=this.realPath||fb[this.type](this),I=this.matrix?xb(I,this.matrix):
I,ca=1;ca<w+1;ca++)D.push(a.path(I).attr({stroke:b,fill:k?b:"none","stroke-linejoin":"round","stroke-linecap":"round","stroke-width":+(h/w*ca).toFixed(3),opacity:+(g/w).toFixed(3)}));return D.insertBefore(this).translate(u,p)};var Xa=function(b,h,k,g,u,p,w,D,I){return null==I?l(b,h,k,g,u,p,w,D):a.findDotsAtSegment(b,h,k,g,u,p,w,D,O(b,h,k,g,u,p,w,D,I))},ea=function(b,h){return function(k,g,u){k=db(k);for(var p,w,D,I,ca="",N={},c=0,pa=0,e=k.length;pa<e;pa++){D=k[pa];if("M"==D[0])p=+D[1],w=+D[2];else{I=
Xa(p,w,D[1],D[2],D[3],D[4],D[5],D[6]);if(c+I>g){if(h&&!N.start){p=Xa(p,w,D[1],D[2],D[3],D[4],D[5],D[6],g-c);ca+=["C"+p.start.x,p.start.y,p.m.x,p.m.y,p.x,p.y];if(u)return ca;N.start=ca;ca=["M"+p.x,p.y+"C"+p.n.x,p.n.y,p.end.x,p.end.y,D[5],D[6]].join();c+=I;p=+D[5];w=+D[6];continue}if(!b&&!h)return p=Xa(p,w,D[1],D[2],D[3],D[4],D[5],D[6],g-c),{x:p.x,y:p.y,alpha:p.alpha}}c+=I;p=+D[5];w=+D[6]}ca+=D.shift()+D}N.end=ca;p=b?c:h?N:a.findDotsAtSegment(p,w,D[0],D[1],D[2],D[3],D[4],D[5],1);p.alpha&&(p={x:p.x,
y:p.y,alpha:p.alpha});return p}},hc=ea(1),cb=ea(),bc=ea(0,1);a.getTotalLength=hc;a.getPointAtLength=cb;a.getSubpath=function(b,h,k){if(1E-6>this.getTotalLength(b)-k)return bc(b,h).end;b=bc(b,k,1);return h?bc(b,h).end:b};U.getTotalLength=function(){if("path"==this.type)return this.node.getTotalLength?this.node.getTotalLength():hc(this.attrs.path)};U.getPointAtLength=function(b){if("path"==this.type)return cb(this.attrs.path,b)};U.getSubpath=function(b,h){if("path"==this.type)return a.getSubpath(this.attrs.path,
b,h)};var ia=a.easing_formulas={linear:function(b){return b},"<":function(b){return Va(b,1.7)},">":function(b){return Va(b,.48)},"<>":function(b){var h=.48-b/1.04,k=Ma(.1734+h*h);b=k-h;b=Va(Na(b),1/3)*(0>b?-1:1);h=-k-h;h=Va(Na(h),1/3)*(0>h?-1:1);b=b+h+.5;return 3*(1-b)*b*b+b*b*b},backIn:function(b){return b*b*(2.70158*b-1.70158)},backOut:function(b){--b;return b*b*(2.70158*b+1.70158)+1},elastic:function(b){return b==!!b?b:Va(2,-10*b)*da(2*(b-.075)*Ka/.3)+1},bounce:function(b){b<1/2.75?b*=7.5625*b:
b<2/2.75?(b-=1.5/2.75,b=7.5625*b*b+.75):b<2.5/2.75?(b-=2.25/2.75,b=7.5625*b*b+.9375):(b-=2.625/2.75,b=7.5625*b*b+.984375);return b}};ia.easeIn=ia["ease-in"]=ia["<"];ia.easeOut=ia["ease-out"]=ia[">"];ia.easeInOut=ia["ease-in-out"]=ia["<>"];ia["back-in"]=ia.backIn;ia["back-out"]=ia.backOut;var va=[],na,gc=function(){return na=a.requestAnimFrame||d.webkitRequestAnimationFrame||d.mozRequestAnimationFrame||d.oRequestAnimationFrame||d.msRequestAnimationFrame||function(b){setTimeout(b,16)}},ac=function(){for(var b=
+new Date,h=0;h<va.length;h++){var k=va[h];if(!(k.el.removed||k.paused||k.parentEl&&k.parentEl.e.paused)){var g=b-k.start,u=k.ms,p=k.easing,w=k.from,D=k.diff,I=k.to,ca=k.el,N={},c,pa={},e=!1!==a.stopEvent,Ea;k.initstatus?(g=(k.initstatus*k.anim.top-k.prev)/(k.percent-k.prev)*u,k.status=k.initstatus,delete k.initstatus,k.stop&&(delete k.el,va.splice(h--,1))):k.status=(k.prev+g/u*(k.percent-k.prev))/k.anim.top;if(!(0>g))if(g<u){var d=p(g/u),f;for(f in w)if(w.hasOwnProperty(f)){switch(zb[f]){case H:c=
+w[f]+d*u*D[f];break;case "colour":c="rgb("+[cc(Ia(w[f].r+d*u*D[f].r)),cc(Ia(w[f].g+d*u*D[f].g)),cc(Ia(w[f].b+d*u*D[f].b))].join()+")";break;case "path":c=[];g=0;for(p=w[f].length;g<p;g++){c[g]=[w[f][g][0]];I=1;for(pa=w[f][g].length;I<pa;I++)c[g][I]=(+w[f][g][I]+d*u*D[f][g][I]).toFixed(4);c[g]=c[g].join(" ")}c=c.join(" ");break;case "transform":if(D[f].real)for(c=[],g=0,p=w[f].length;g<p;g++)for(c[g]=[w[f][g][0]],I=1,pa=w[f][g].length;I<pa;I++)c[g][I]=w[f][g][I]+d*u*D[f][g][I];else c=function(b){return+w[f][b]+
d*u*D[f][b]},c=[["m",c(0),c(1),c(2),c(3),c(4),c(5)]];break;case "csv":if("clip-rect"==f)for(c=[],g=4;g--;)c[g]=+w[f][g]+d*u*D[f][g];break;default:for(p=[].concat(w[f]),c=[],g=ca.ca[f].length;g--;)c[g]=+p[g]+d*u*D[f][g]}N[f]=c}ca.attr(N);e&&function(b,h,k){setTimeout(function(){E("raphael.anim.frame."+b,h,k)})}(ca.id,ca,k.anim)}else{(function(b,h,k){setTimeout(function(){e&&E("raphael.anim.frame."+h.id,h,k);e&&E("raphael.anim.finish."+h.id,h,k);a.is(b,"function")&&b.call(h)})})(k.callback,ca,k.anim);
ca.attr(I);delete k.el;va.splice(h--,1);if(1<k.repeat&&!k.next){for(Ea in I)I.hasOwnProperty(Ea)&&(pa[Ea]=k.totalOrigin[Ea]);k.el.attr(pa);v(k.anim,k.el,k.anim.percents[0],null,k.totalOrigin,k.repeat-1)}k.next&&!k.stop&&v(k.anim,k.el,k.next,null,k.totalOrigin,k.repeat)}}}a.svg&&ca&&ca.paper&&ca.paper.safari();va.length&&(na||gc())(ac)},cc=function(b){return 255<b?255:0>b?0:b};U.animateWith=function(b,h,k,g,u,p){var w=this;if(w.removed)return p&&p.call(w),w;if(0==g)return setTimeout(function(){a.is(p,
"function")&&p.call(w)},0),w.attr(k);k=k instanceof c?k:a.animation(k,g,u,p);v(k,w,k.percents[0],null,w.attr(),void 0,b);k=0;for(g=va.length;k<g;k++)if(va[k].anim==h&&va[k].el==b){va[g-1].start=va[k].start;break}return w};U.onAnimation=function(b){b?E.on("raphael.anim.frame."+this.id,b):E.unbind("raphael.anim.frame."+this.id);return this};c.prototype.delay=function(b){var h=new c(this.anim,this.ms);h.times=this.times;h.del=+b||0;return h};c.prototype.repeat=function(b){var h=new c(this.anim,this.ms);
h.del=this.del;h.times=Pa.floor(Fa(b,0))||1;return h};a.animation=function(b,h,k,g,u){if(b instanceof c)return b;if(a.is(k,"function")||!k)g=g||k||null,k=null;void 0===a.stopEvent&&(a.stopEvent=u);b=Object(b);h=+h||0;u={};var p,w;for(w in b)b.hasOwnProperty(w)&&Ca(w)!=w&&Ca(w)+"%"!=w&&(p=!0,u[w]=b[w]);return p?(k&&(u.easing=k),g&&(u.callback=g),new c({100:u},h)):new c(b,h)};U.animate=function(b,h,k,g){if(this.removed)return g&&g.call(this),this;b=b instanceof c?b:a.animation(b,h,k,g);v(b,this,b.percents[0],
null,this.attr());return this};U.setTime=function(b,h){b&&null!=h&&this.status(b,Wa(h,b.ms)/b.ms);return this};U.status=function(b,h){var k=[],g=0,u,p;if(null!=h)return v(b,this,-1,Wa(h,1)),this;for(u=va.length;g<u;g++)if(p=va[g],p.el.id==this.id&&(!b||p.anim==b)){if(b)return p.status;k.push({anim:p.anim,status:p.status})}return b?0:k};U.pause=function(b,h){var k=+new Date,g,u;for(u=0;u<va.length;u++)g=va[u],!(g.el.id===this.id||h&&g.parentEl&&g.parentEl.e.el&&g.parentEl.e.el.id===this.id)||b&&g.anim!=
b||!1===E("raphael.anim.pause."+this.id,this,g.anim)||(g.paused=!0,g.pauseStart=k);return this};U.resume=function(b,h){var k=+new Date,g,u;for(u=0;u<va.length;u++)g=va[u],!(g.el.id===this.id||h&&g.parentEl&&g.parentEl.e.el&&g.parentEl.e.el.id===this.id)||b&&g.anim!=b||!1===E("raphael.anim.resume."+this.id,this,g.anim)||(delete g.paused,g.el.status(g.anim,g.status),g.pauseEnd=k,g.start+=(g.parentEl&&g.parentEl.e.pauseEnd||g.pauseEnd)-(g.parentEl&&g.parentEl.e.pauseStart||g.pauseStart)||0);return this};
U.stop=function(b,h,k){var g;if(h)for(g=va.length-1;0<=g;g--)h=va[g],!(h.el.id===this.id||h.parentEl&&h.parentEl.id===this.id)||b&&va[g].anim!=b||(ele=h.el,k&&ele.attr(h.to),h.callback&&h.callback.call(ele),delete ele.e,delete h.el,va.splice(g,1));else for(g=0;g<va.length;g++)h=va[g],h.el.id!==this.id||b&&h.anim!==b||!1!==E("raphael.anim.stop."+this.id,this,h.anim)&&va.splice(g--,1);return this};E.on("raphael.remove",L);E.on("raphael.clear",L);U.toString=function(){return"Raphaël’s object"};U.toFront=
function(){if(this.removed)return this;var b=a._engine.getNode(this),h=this.parent,k=this.followers,g;a._tofront(this,h)&&h.canvas.appendChild(b);b=0;for(h=k.length;b<h;b++)(g=k[b]).stalk&&g.el[g.stalk](this);return this};U.toBack=function(){if(this.removed)return this;var b=a._engine.getNode(this),h=this.parent,k=this.followers,g;a._toback(this,h)&&h.canvas.insertBefore(b,h.canvas.firstChild);b=0;for(h=k.length;b<h;b++)(g=k[b]).stalk&&g.el[g.stalk](this);return this};U.insertAfter=function(b){if(this.removed)return this;
var h=a._engine.getNode(this),k=a._engine.getLastNode(b),g=b.parent.canvas,u=this.followers,p;k.nextSibling?g.insertBefore(h,k.nextSibling):g.appendChild(h);a._insertafter(this,b,this.parent,b.parent);h=0;for(k=u.length;h<k;h++)(p=u[h]).stalk&&p.el[p.stalk](b);return this};U.insertBefore=function(b){if(this.removed)return this;var h=a._engine.getNode(this),k=a._engine.getNode(b),g=this.followers,u;b.parent.canvas.insertBefore(h,k);a._insertbefore(this,b,this.parent,b.parent);this.parent=b.parent;
h=0;for(k=g.length;h<k;h++)(u=g[h]).stalk&&u.el[u.stalk](b);return this};U.appendChild=function(b){if(this.removed||"group"!==this.type)return this;var h=this.followers,k,g,u;if(b.parent===this)return b.toFront(),this;g=a._engine.getNode(b);a._tear(b,b.parent);this.canvas.appendChild(g);b.parent=this;!this.bottom&&(this.bottom=b);b.prev=this.top;b.next=null;this.top&&(this.top.next=b);this.top=b;g=0;for(u=h.length;g<u;g++)(k=h[g]).stalk&&k.el[k.stalk](b);return this};U.removeChild=function(b){if(this.removed||
"group"!==this.type||b.parent!==this)return this;var h=a._engine.getNode(b),k=this.paper;a._tear(b,this);k.canvas.appendChild(h);this.parent=k;!k.bottom&&(k.bottom=this);(this.prev=k.top)&&(k.top.next=this);k.top=this;this.next=null;return this};var ta=function(b){this.items=[];this.length=0;this.type="set";if(b)for(var h=0,k=b.length;h<k;h++)!b[h]||b[h].constructor!=U.constructor&&b[h].constructor!=ta||(this[this.items.length]=this.items[this.items.length]=b[h],this.length++)},ra=ta.prototype;ra.push=
function(){for(var b,h,k=0,g=arguments.length;k<g;k++)!(b=arguments[k])||b.constructor!=U.constructor&&b.constructor!=ta||(h=this.items.length,this[h]=this.items[h]=b,this.length++);return this};ra.pop=function(){this.length&&delete this[this.length--];return this.items.pop()};ra.forEach=function(b,h){for(var k=0,g=this.items.length;k<g&&!1!==b.call(h,this.items[k],k);k++);return this};for(var sa in U)U.hasOwnProperty(sa)&&(ra[sa]=function(b){return function(){var h=arguments;return this.forEach(function(k){k[b][r](k,
h)})}}(sa));ra.attr=function(b,h){if(b&&a.is(b,z)&&a.is(b[0],"object"))for(var k=0,g=b.length;k<g;k++)this.items[k].attr(b[k]);else for(k=0,g=this.items.length;k<g;k++)this.items[k].attr(b,h);return this};ra.clear=function(){for(;this.length;)this.pop()};ra.splice=function(b,h,k){b=0>b?Fa(this.length+b,0):b;h=Fa(0,Wa(this.length-b,isNaN(h)&&this.length||h));var g=[],u=[],p=[],w;for(w=2;w<arguments.length;w++)p.push(arguments[w]);for(w=0;w<h;w++)u.push(this[b+w]);for(;w<this.length-b;w++)g.push(this[b+
w]);var a=p.length;for(w=0;w<a+g.length;w++)this.items[b+w]=this[b+w]=w<a?p[w]:g[w-a];for(w=this.items.length=this.length-=h-a;this[w];)delete this[w++];return new ta(u)};ra.exclude=function(b){for(var h=0,k=this.length;h<k;h++)if(this[h]==b)return this.splice(h,1),!0};ra.animate=function(b,h,k,g){!a.is(k,"function")&&k||(g=k||null);var u=this.items.length,p=u,w=this,D;if(!u)return this;g&&(D=function(){!--u&&g.call(w)});k=a.is(k,"string")?k:D;h=a.animation(b,h,k,D);for(b=this.items[--p].animate(h);p--;)this.items[p]&&
!this.items[p].removed&&this.items[p].animateWith(b,h,h);return this};ra.insertAfter=function(b){for(var h=this.items.length;h--;)this.items[h].insertAfter(b);return this};ra.getBBox=function(){for(var b=[],h=[],k=[],g=[],u=this.items.length;u--;)if(!this.items[u].removed){var p=this.items[u].getBBox();b.push(p.x);h.push(p.y);k.push(p.x+p.width);g.push(p.y+p.height)}b=Wa[r](0,b);h=Wa[r](0,h);k=Fa[r](0,k);g=Fa[r](0,g);return{x:b,y:h,x2:k,y2:g,width:k-b,height:g-h}};ra.clone=function(b){b=new ta;for(var h=
0,k=this.items.length;h<k;h++)b.push(this.items[h].clone());return b};ra.toString=function(){return"Raphaël‘s set"};ra.glow=function(b){var h=this.paper.set();this.forEach(function(k,g){var u=k.glow(b);null!=u&&u.forEach(function(b,k){h.push(b)})});return h};a.registerFont=function(b){if(!b.face)return b;this.fonts=this.fonts||{};var h={w:b.w,face:{},glyphs:{}},k=b.face["font-family"],g;for(g in b.face)b.face.hasOwnProperty(g)&&(h.face[g]=b.face[g]);this.fonts[k]?this.fonts[k].push(h):this.fonts[k]=
[h];if(!b.svg){h.face["units-per-em"]=Oa(b.face["units-per-em"],10);for(var u in b.glyphs)if(b.glyphs.hasOwnProperty(u)&&(k=b.glyphs[u],h.glyphs[u]={w:k.w,k:{},d:k.d&&"M"+k.d.replace(/[mlcxtrv]/g,function(b){return{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[b]||"M"})+"z"},k.k))for(var p in k.k)k.hasOwnProperty(p)&&(h.glyphs[u].k[p]=k.k[p])}return b};ma.getFont=function(b,h,k,g){g=g||"normal";k=k||"normal";h=+h||{normal:400,bold:700,lighter:300,bolder:800}[h]||400;if(a.fonts){var u=a.fonts[b];if(!u){b=new RegExp("(^|\\s)"+
b.replace(/[^\w\d\s+!~.:_-]/g,"")+"(\\s|$)","i");for(var p in a.fonts)if(a.fonts.hasOwnProperty(p)&&b.test(p)){u=a.fonts[p];break}}var w;if(u)for(p=0,b=u.length;p<b&&(w=u[p],w.face["font-weight"]!=h||w.face["font-style"]!=k&&w.face["font-style"]||w.face["font-stretch"]!=g);p++);return w}};ma.print=function(b,h,k,g,u,p,w){p=p||"middle";w=Fa(Wa(w||0,1),-1);var D=Ga(k).split(""),I=0,ca=0,N="";a.is(g,k)&&(g=this.getFont(g));if(g){k=(u||16)/g.face["units-per-em"];var c=g.face.bbox.split(Eb);u=+c[0];var pa=
c[3]-c[1],e=0;p=+c[1]+("baseline"==p?pa+ +g.face.descent:pa/2);for(var c=0,Ea=D.length;c<Ea;c++){if("\n"==D[c])ca=f=I=0,e+=pa;else var d=ca&&g.glyphs[D[c-1]]||{},f=g.glyphs[D[c]],I=I+(ca?(d.w||g.w)+(d.k&&d.k[D[c]]||0)+g.w*w:0),ca=1;f&&f.d&&(N+=a.transformPath(f.d,["t",I*k,e*k,"s",k,k,u,p,"t",(b-u)/k,(h-p)/k]))}}return this.path(N).attr({fill:"#000",stroke:"none"})};ma.add=function(b){if(a.is(b,"array"))for(var h=this.set(),k=0,g=b.length,u;k<g;k++)u=b[k]||{},ja.hasOwnProperty(u.type)&&h.push(this[u.type]().attr(u));
return h};a.format=function(b,h){var k=a.is(h,z)?[0].concat(h):arguments;b&&a.is(b,"string")&&k.length-1&&(b=b.replace(Bb,function(b,h){return null==k[++h]?"":k[h]}));return b||""};a.fullfill=function(){var b=/\{([^\}]+)\}/g,h=/(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g,k=function(b,k,g){var u=g;k.replace(h,function(b,h,k,g,p){h=h||g;u&&(h in u&&(u=u[h]),"function"==typeof u&&p&&(u=u()))});return u=(null==u||u==g?b:u)+""};return function(h,g){return String(h).replace(b,function(b,h){return k(b,
h,g)})}}();a.ninja=function(){T?Y.win.Raphael=ka:delete Raphael;return a};var ua=a.vml&&.5||0;a.crispBound=u(function(b,h,k,g,u){var p={},w;b=b||0;h=h||0;k=k||0;g=g||0;u=u||0;w=u%2/2+ua;p.x=Ia(b+w)-w;p.y=Ia(h+w)-w;p.width=Ia(b+k+w)-w-p.x;p.height=Ia(h+g+w)-w-p.y;p["stroke-width"]=u;0===p.width&&0!==k&&(p.width=1);0===p.height&&0!==g&&(p.height=1);return p},a);U.crisp=function(){var b=this.attrs,h,k=this.attr(["x","y","width","height","stroke-width"]),k=a.crispBound(k.x,k.y,k.width,k.height,k["stroke-width"]);
for(h in k)b[h]===k[h]&&delete k[h];return this.attr(k)};a.st=ra;a.define=function(b,h,k,g,u,p){var w;if(a.is(b,z))for(p=0,w=b.length;p<w;p++)a.define(b[p]);else if(a.is(b,"object"))a.define(b.name,b[b.name],b.ca,b.fn,b.e,b.data);else if(b&&!a.fn[b])return a.fn[b]=function(){var p=arguments,w=h.apply(this,p),D;if(g&&a.is(g,"object"))for(D in g)w[D]=g[D];if(u&&a.is(u,"object"))for(D in u)w[D]&&w[D](u[D]);if(k){if(a.is(k,"function"))w.ca[b]=k;else for(D in k)w.ca[D]=k[D];w.ca[b]&&(a._lastArgIfGroup(p,
!0),p.length&&w.attr(b,P.call(p)))}return w},k&&(a.fn[b].ca=k),g&&(a.fn[b].fn=g),u&&(a.fn[b].e=u),p&&(a.fn[b].data=p),a.fn[b]};(function(b,h,k){function g(){/in/.test(b.readyState)?setTimeout(g,9):a.eve("raphael.DOMload")}null==b.readyState&&b.addEventListener&&(b.addEventListener(h,k=function(){b.removeEventListener(h,k,!1);b.readyState="complete"},!1),b.readyState="loading");g()})(J,"DOMContentLoaded");E.on("raphael.DOMload",function(){e=!0});"undefined"===typeof m&&"object"===typeof window&&(m=
window);(function(){function b(h){for(var k={},g=h,u=k;g;)g.node&&g.node.style&&"none"===g.node.style.display&&(g.show(),u._doHide=!0),g=g.parent,u.parent={},u=u.parent;return function(){for(var b=h,g=k;b;)g._doHide&&b.hide(),b=b.parent,g=g.parent}}if(a.svg){var h=String,k=parseFloat,g=parseInt,u=Math,p=u.max,w=u.abs,D=u.pow,I=u.sqrt,ca=/[, ]+/,N=!(!/AppleWebKit/.test(a._g.win.navigator.userAgent)||/Chrome/.test(a._g.win.navigator.userAgent)&&!(29>a._g.win.navigator.appVersion.match(/Chrome\/(\d+)\./)[1])),
c=a.eve,pa={block:"M5,0 0,2.5 5,5z",classic:"M5,0 0,2.5 5,5 3.5,3 3.5,2z",diamond:"M2.5,0 5,2.5 2.5,5 0,2.5z",open:"M6,1 1,3.5 6,6",oval:"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z"},e={};a.toString=function(){return"Your browser supports SVG.\nYou are running Raphaël "+this.version};a._url="";var Ea=function(b,h){var k=b.gradient;if(k){if(k===h)return;k.refCount--;k.refCount||k.parentNode.removeChild(k);delete b.gradient}h&&(b.gradient=h,h.refCount++)},d=a._createNode=function(b,k){if(k){"string"==
typeof b&&(b=d(b));for(var g in k)k.hasOwnProperty(g)&&("xlink:"==g.substring(0,6)?b.setAttributeNS("http://www.w3.org/1999/xlink",g.substring(6),h(k[g])):b.setAttribute(g,h(k[g])))}else b=a._g.doc.createElementNS("http://www.w3.org/2000/svg",b);return b},f={userSpaceOnUse:"userSpaceOnUse",objectBoundingBox:"objectBoundingBox"},Ja={pad:"pad",redlect:"reflect",repeat:"repeat"},oa=function(b,g){if(!b.paper||!b.paper.defs)return 0;var ca="linear",N=b.paper,c=a.getElementID((N.id+"-"+g).replace(/[\(\)\s%:,\xb0#]/g,
"_")),pa=.5,e=.5,oa,Ba,R,l,r,pb=b.node,m=pb.style,z=a._g.doc.getElementById(c);if(!z){g=h(g).replace(a._radial_gradient,function(b,h){ca="radial";h=h&&h.split(",")||[];l=h[5];r=h[6];var g=h[0],u=h[1],p=h[2],w=h[3],a=h[4],N=g&&u,c;p&&(oa=/\%/.test(p)?p:k(p));if(l===f.userSpaceOnUse)return N&&(pa=g,e=u),w&&a&&(Ba=w,R=a,N||(pa=Ba,e=R)),"";N&&(pa=k(g),e=k(u),g=2*(.5<e)-1,.25<(c=D(pa-.5,2))+D(e-.5,2)&&.25>c&&(e=I(.25-c)*g+.5)&&.5!==e&&(e=e.toFixed(5)-1E-5*g));w&&a&&(Ba=k(w),R=k(a),g=2*(.5<R)-1,.25<(c=
D(Ba-.5,2))+D(R-.5,2)&&.25>c&&(R=I(.25-c)*g+.5)&&.5!==R&&(R=R.toFixed(5)-1E-5*g),N||(pa=Ba,e=R));return""});g=g.split(/\s*\-\s*/);if("linear"==ca){var z=g.shift(),q=z.match(/\((.*)\)/),db,q=q&&q[1]&&q[1].split(/\s*\,\s*/),z=-k(z);if(isNaN(z))return null;q&&q.length?(q[0]in f?(l=q.shift(),q[0]in Ja&&(r=q.shift())):(q[4]&&(l=q[4]),q[5]&&(r=q[5])),db=[q[0]||"0%",q[1]||"0%",q[2]||"100%",q[3]||"0%"]):(db=[0,0,u.cos(a.rad(z)),u.sin(a.rad(z))],z=1/(p(w(db[2]),w(db[3]))||1),db[2]*=z,db[3]*=z,0>db[2]&&(db[0]=
-db[2],db[2]=0),0>db[3]&&(db[1]=-db[3],db[3]=0))}q=a._parseDots(g);if(!q)return null;z=d(ca+"Gradient",{id:c});z.refCount=0;l in f&&z.setAttribute("gradientUnits",h(l));r in Ja&&z.setAttribute("spreadMethod",h(r));"radial"===ca?(void 0!==oa&&z.setAttribute("r",h(oa)),void 0!==Ba&&void 0!==R&&(z.setAttribute("cx",h(Ba)),z.setAttribute("cy",h(R))),z.setAttribute("fx",h(pa)),z.setAttribute("fy",h(e))):d(z,{x1:db[0],y1:db[1],x2:db[2],y2:db[3]});db=0;for(var ub=q.length;db<ub;db++)z.appendChild(d("stop",
{offset:q[db].offset?q[db].offset:db?"100%":"0%","stop-color":q[db].color||"#fff","stop-opacity":void 0===q[db].opacity?1:q[db].opacity}));N.defs.appendChild(z)}Ea(b,z);d(pb,{fill:"url('"+a._url+"#"+c+"')",opacity:1,"fill-opacity":1});m.fill="";m.opacity=1;return m.fillOpacity=1},Ba=function(b){var h=b.getBBox(1);d(b.pattern,{patternTransform:b.matrix.invert()+" translate("+h.x+","+h.y+")"})},R=function(b,k,g){if("path"==b.type){for(var u=h(k).toLowerCase().split("-"),p=b.paper,w=g?"end":"start",
D=b.node,I=b.attrs,ca=I["stroke-width"],N=u.length,c="classic",Ea,f,Ja=3,oa=3,Ba=5;N--;)switch(u[N]){case "block":case "classic":case "oval":case "diamond":case "open":case "none":c=u[N];break;case "wide":oa=5;break;case "narrow":oa=2;break;case "long":Ja=5;break;case "short":Ja=2}"open"==c?(Ja+=2,oa+=2,Ba+=2,Ea=1,f=g?4:1,u={fill:"none",stroke:I.stroke}):(f=Ea=Ja/2,u={fill:I.stroke,stroke:"none"});b._.arrows?g?(b._.arrows.endPath&&e[b._.arrows.endPath]--,b._.arrows.endMarker&&e[b._.arrows.endMarker]--):
(b._.arrows.startPath&&e[b._.arrows.startPath]--,b._.arrows.startMarker&&e[b._.arrows.startMarker]--):b._.arrows={};if("none"!=c){var N="raphael-marker-"+c,R="raphael-marker-"+w+c+Ja+oa+"-obj"+b.id;a._g.doc.getElementById(N)?e[N]++:(p.defs.appendChild(d(d("path"),{"stroke-linecap":"round",d:pa[c],id:N})),e[N]=1);var l=a._g.doc.getElementById(R);l?(e[R]++,Ja=l.getElementsByTagName("use")[0]):(l=d(d("marker"),{id:R,markerHeight:oa,markerWidth:Ja,orient:"auto",refX:f,refY:oa/2}),Ja=d(d("use"),{"xlink:href":"#"+
N,transform:(g?"rotate(180 "+Ja/2+" "+oa/2+") ":"")+"scale("+Ja/Ba+","+oa/Ba+")","stroke-width":(1/((Ja/Ba+oa/Ba)/2)).toFixed(4)}),l.appendChild(Ja),p.defs.appendChild(l),e[R]=1);d(Ja,u);p=Ea*("diamond"!=c&&"oval"!=c);g?(g=b._.arrows.startdx*ca||0,ca=a.getTotalLength(I.path)-p*ca):(g=p*ca,ca=a.getTotalLength(I.path)-(b._.arrows.enddx*ca||0));u={};u["marker-"+w]="url('"+a._url+"#"+R+"')";if(ca||g)u.d=a.getSubpath(I.path,g,ca);d(D,u);b._.arrows[w+"Path"]=N;b._.arrows[w+"Marker"]=R;b._.arrows[w+"dx"]=
p;b._.arrows[w+"Type"]=c;b._.arrows[w+"String"]=k}else g?(g=b._.arrows.startdx*ca||0,ca=a.getTotalLength(I.path)-g):(g=0,ca=a.getTotalLength(I.path)-(b._.arrows.enddx*ca||0)),b._.arrows[w+"Path"]&&d(D,{d:a.getSubpath(I.path,g,ca)}),delete b._.arrows[w+"Path"],delete b._.arrows[w+"Marker"],delete b._.arrows[w+"dx"],delete b._.arrows[w+"Type"],delete b._.arrows[w+"String"];for(u in e)e.hasOwnProperty(u)&&!e[u]&&(b=a._g.doc.getElementById(u))&&b.parentNode.removeChild(b)}},l={"":["none"],none:["none"],
"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},r=function(b,k,g){var u=l[h(k).toLowerCase()],p,w,D;if(k=u||void 0!==k&&[].concat(k)){p=b.attrs["stroke-width"]||1;g={round:p,square:p,butt:0}[g["stroke-linecap"]||b.attrs["stroke-linecap"]]||0;w=k.length;D=u?p:1;if("none"==k[0])u=k;else for(u=[];w--;)u[w]=k[w]*D+(w%2?1:-1)*g,0>=u[w]&&(u[w]=.01+(1>=p?g:0)),isNaN(u[w])&&(u[w]=0);a.is(k,"array")&&d(b.node,{"stroke-dasharray":u.join(",")})}},
pb=function(b,h){for(var k in h)c("raphael.attr."+k+"."+b.id,b,h[k],k),b.ca[k]&&b.attr(k,h[k])},m=a._setFillAndStroke=function(b,k){if(b.paper.canvas){var u=b.node,D=b.attrs,I=b.paper,c=u.style,pa=c.visibility;k&&k.text&&k.text.replace&&(k.text=k.text.replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&<br\/>lt;|&l<br\/>t;|&lt<br\/>;/g,"<<br/>").replace(/&<br\/>gt;|&g<br\/>t;|&gt<br\/>;/g,"><br/>"));c.visibility="hidden";for(var e in k)if(k.hasOwnProperty(e)&&a._availableAttrs.hasOwnProperty(e)){var f=
k[e];D[e]=f;switch(e){case "blur":b.blur(f);break;case "href":case "title":case "target":var Ja=u.parentNode;if("a"!=Ja.tagName.toLowerCase()){if(""==f)break;var l=d("a");l.raphael=!0;l.raphaelid=u.raphaelid;Ja.insertBefore(l,u);l.appendChild(u);Ja=l}"target"==e?Ja.setAttributeNS("http://www.w3.org/1999/xlink","show","blank"==f?"new":f):Ja.setAttributeNS("http://www.w3.org/1999/xlink",e,f);u.titleNode=Ja;break;case "cursor":c.cursor=f;break;case "transform":b.transform(f);break;case "rotation":a.is(f,
"array")?b.rotate.apply(b,f):b.rotate(f);break;case "arrow-start":R(b,f);break;case "arrow-end":R(b,f,1);break;case "clip-path":var pb=!0;case "clip-rect":Ja=!pb&&h(f).split(ca);b._.clipispath=!!pb;if(pb||4==Ja.length){b.clip&&b.clip.parentNode.parentNode.removeChild(b.clip.parentNode);var l=d("clipPath"),z=d(pb?"path":"rect");l.id=a.getElementID(a.createUUID());d(z,pb?{d:f?D["clip-path"]=a._pathToAbsolute(f):a._availableAttrs.path,fill:"none"}:{x:Ja[0],y:Ja[1],width:Ja[2],height:Ja[3],transform:b.matrix.invert()});
l.appendChild(z);I.defs.appendChild(l);d(u,{"clip-path":"url('"+a._url+"#"+l.id+"')"});b.clip=z}!f&&(f=u.getAttribute("clip-path"))&&((f=a._g.doc.getElementById(f.replace(/(^url\(#|\)$)/g,"")))&&f.parentNode.removeChild(f),d(u,{"clip-path":""}),delete b.clip);break;case "path":"path"==b.type&&(d(u,{d:f?D.path=a._pathToAbsolute(f):a._availableAttrs.path}),b._.dirty=1,b._.arrows&&("startString"in b._.arrows&&R(b,b._.arrows.startString),"endString"in b._.arrows&&R(b,b._.arrows.endString,1)));break;case "width":if(u.setAttribute(e,
f),b._.dirty=1,D.fx)e="x",f=D.x;else break;case "x":D.fx&&(f=-D.x-(D.width||0));case "rx":if("rx"==e&&"rect"==b.type)break;case "cx":u.setAttribute(e,f);b.pattern&&Ba(b);b._.dirty=1;break;case "height":if(u.setAttribute(e,f),b._.dirty=1,D.fy)e="y",f=D.y;else break;case "y":D.fy&&(f=-D.y-(D.height||0));case "ry":if("ry"==e&&"rect"==b.type)break;case "cy":u.setAttribute(e,f);b.pattern&&Ba(b);b._.dirty=1;break;case "r":"rect"==b.type?d(u,{rx:f,ry:f}):u.setAttribute(e,f);b._.dirty=1;break;case "src":"image"==
b.type&&u.setAttributeNS("http://www.w3.org/1999/xlink","href",f);break;case "stroke-width":if(1!=b._.sx||1!=b._.sy)f/=p(w(b._.sx),w(b._.sy))||1;I._vbSize&&(f*=I._vbSize);N&&0===f&&(f=1E-6);u.setAttribute(e,f);D["stroke-dasharray"]&&r(b,D["stroke-dasharray"],k);b._.arrows&&("startString"in b._.arrows&&R(b,b._.arrows.startString),"endString"in b._.arrows&&R(b,b._.arrows.endString,1));break;case "stroke-dasharray":r(b,f,k);break;case "fill":var q=h(f).match(a._ISURL);if(q){var l=d("pattern"),m=d("image");
l.id=a.getElementID(a.createUUID());d(l,{x:0,y:0,patternUnits:"userSpaceOnUse",height:1,width:1});d(m,{x:0,y:0,"xlink:href":q[1]});l.appendChild(m);(function(b){a._preload(q[1],function(){var h=this.offsetWidth,k=this.offsetHeight;d(b,{width:h,height:k});d(m,{width:h,height:k});I.safari()})})(l);I.defs.appendChild(l);c.fill="url('"+a._url+"#"+l.id+"')";d(u,{fill:c.fill});b.pattern=l;b.pattern&&Ba(b);break}Ja=a.getRGB(f);if(!Ja.error)delete k.gradient,delete D.gradient,!a.is(D.opacity,"undefined")&&
a.is(k.opacity,"undefined")&&d(u,{opacity:D.opacity}),!a.is(D["fill-opacity"],"undefined")&&a.is(k["fill-opacity"],"undefined")&&d(u,{"fill-opacity":D["fill-opacity"]}),b.gradient&&Ea(b);else if(("circle"==b.type||"ellipse"==b.type||"r"!=h(f).charAt())&&oa(b,f)){if("opacity"in D||"fill-opacity"in D)if(Ja=a._g.doc.getElementById(u.getAttribute("fill").replace(/^url\(#|\)$/g,"")))Ja=Ja.getElementsByTagName("stop"),d(Ja[Ja.length-1],{"stop-opacity":("opacity"in D?D.opacity:1)*("fill-opacity"in D?D["fill-opacity"]:
1)});D.gradient=f;D.fill="none";c.fill="";break}Ja.hasOwnProperty("opacity")?(d(u,{"fill-opacity":c.fillOpacity=1<Ja.opacity?Ja.opacity/100:Ja.opacity}),b._.fillOpacityDirty=!0):b._.fillOpacityDirty&&a.is(D["fill-opacity"],"undefined")&&a.is(k["fill-opacity"],"undefined")&&(u.removeAttribute("fill-opacity"),c.fillOpacity="",delete b._.fillOpacityDirty);case "stroke":Ja=a.getRGB(f);u.setAttribute(e,Ja.hex);c[e]=Ja.hex;"stroke"==e&&(Ja.hasOwnProperty("opacity")?(d(u,{"stroke-opacity":c.strokeOpacity=
1<Ja.opacity?Ja.opacity/100:Ja.opacity}),b._.strokeOpacityDirty=!0):b._.strokeOpacityDirty&&a.is(D["stroke-opacity"],"undefined")&&a.is(k["stroke-opacity"],"undefined")&&(u.removeAttribute("stroke-opacity"),c.strokeOpacity="",delete b._.strokeOpacityDirty),b._.arrows&&("startString"in b._.arrows&&R(b,b._.arrows.startString),"endString"in b._.arrows&&R(b,b._.arrows.endString,1)));break;case "gradient":"circle"!=b.type&&"ellipse"!=b.type&&"r"==h(f).charAt()||oa(b,f);break;case "line-height":case "vertical-align":break;
case "visibility":"hidden"===f?b.hide():b.show();break;case "opacity":D.gradient&&!D.hasOwnProperty("stroke-opacity")&&d(u,{"stroke-opacity":1<f?f/100:f});case "fill-opacity":if(D.gradient){if(Ja=a._g.doc.getElementById(u.getAttribute("fill").replace(/^url\(#|\)$/g,"")))Ja=Ja.getElementsByTagName("stop"),d(Ja[Ja.length-1],{"stop-opacity":f});break}default:"font-size"==e&&(f=g(f,10)+"px"),Ja=e.replace(/(\-.)/g,function(b){return b.substring(1).toUpperCase()}),c[Ja]=f,b._.dirty=1,u.setAttribute(e,f)}}"text"===
b.type&&!k["_do-not-tune"]&&db(b,k);c.visibility=pa}},z=a._updateFollowers=function(){var b,h,k,g=arguments,u=ga.call(g),p=ga.call(g);b=0;for(h=u.followers.length;b<h;b++)k=u.followers[b].el,k[p].apply(k,g)},db=function(b,g){if("text"==b.type&&(g.hasOwnProperty("text")||g.hasOwnProperty("font")||g.hasOwnProperty("font-size")||g.hasOwnProperty("x")||g.hasOwnProperty("y")||g.hasOwnProperty("line-height")||g.hasOwnProperty("vertical-align"))){var p=b.attrs,w=b.node,D=w.firstChild&&a._g.doc.defaultView.getComputedStyle(w.firstChild,
""),I=D?k(a._g.doc.defaultView.getComputedStyle(w.firstChild,"").getPropertyValue("font-size")):10,ca=k(g["line-height"]||p["line-height"])||1.2*I,N=p.hasOwnProperty("vertical-align")?p["vertical-align"]:"middle",c=(g.direction||(D?D.getPropertyValue("direction"):"initial")).toLowerCase(),pa=!!document.documentMode;isNaN(ca)&&(ca=1.2*I);a.is(g.text,"array")&&(g.text=g.text.join("<br>"));N="top"===N?-.5:"bottom"===N?.5:0;if(g.hasOwnProperty("text")&&(g.text!==p.text||b._textdirty)){for(p.text=g.text;w.firstChild;)w.removeChild(w.firstChild);
for(var e=h(g.text).split(/\n|<br\s*?\/?>/ig),I=[],Ea=0,f=e.length;Ea<f;Ea++)D=d("tspan"),Ea?d(D,{dy:ca,x:p.x}):d(D,{dy:ca*e.length*N,x:p.x}),e[Ea]||(D.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),e[Ea]=" "),D.appendChild(a._g.doc.createTextNode(e[Ea])),w.appendChild(D),I[Ea]=D,!pa&&"rtl"===c&&Ea<f-1&&(D=d("tspan"),d(D,{visibility:"hidden","font-size":"0px"}),D.appendChild(a._g.doc.createTextNode("i")),w.appendChild(D));b._textdirty=!1}else for(I=w.getElementsByTagName("tspan"),
Ea=pa=0,f=I.length;Ea<f;Ea++)if(D=I[Ea],c=D.attributes[0],!c||"visibility"!==c.name&&"visibility"!==c.nodeName||"hidden"!==c.value&&"hidden"!==c.nodeValue)Ea?d(D,{dy:ca,x:p.x}):(c=I[1]&&I[1].attributes[0],!c||"visibility"!==c.name&&"visibility"!==c.nodeName||"hidden"!==c.value&&"hidden"!==c.nodeValue||(pa=u.floor(.5*I.length)),d(I[0],{dy:ca*(I.length-pa)*N,x:p.x}));d(w,{x:p.x,y:p.y});b._.dirty=1;w=b._getBBox();ca=p.y-(w.y+w.height/2);if(w.isCalculated)switch(p["vertical-align"]){case "top":ca=.75*
w.height;break;case "bottom":ca=-(.25*w.height);break;default:ca=p.y-(w.y+.25*w.height)}ca&&a.is(ca,"finite")&&I[0]&&d(I[0],{dy:ca})}},q=function(b,h,k){k=k||h;k.canvas&&k.canvas.appendChild(b);this.node=this[0]=b;b.raphael=!0;b.raphaelid=this.id=a._oid++;this.matrix=a.matrix();this.realPath=null;this.attrs=this.attrs||{};this.followers=this.followers||[];this.paper=h;this.ca=this.customAttributes=this.customAttributes||new h._CustomAttributes;this._={transform:[],sx:1,sy:1,deg:0,dx:0,dy:0,dirty:1};
this.parent=k;!k.bottom&&(k.bottom=this);(this.prev=k.top)&&(k.top.next=this);k.top=this;this.next=null},ub=a.el;q.prototype=ub;ub.constructor=q;a._engine.getNode=function(b){b=b.node||b[0].node;return b.titleNode||b};a._engine.getLastNode=function(b){b=b.node||b[b.length-1].node;return b.titleNode||b};ub.rotate=function(b,g,u){if(this.removed)return this;z(this,"rotate",b,g,u);b=h(b).split(ca);b.length-1&&(g=k(b[1]),u=k(b[2]));b=k(b[0]);null==u&&(g=u);if(null==g||null==u)u=this.getBBox(1),g=u.x+
u.width/2,u=u.y+u.height/2;this.transform(this._.transform.concat([["r",b,g,u]]));return this};ub.scale=function(b,g,u,p){var w;if(this.removed)return this;z(this,"scale",b,g,u,p);b=h(b).split(ca);b.length-1&&(g=k(b[1]),u=k(b[2]),p=k(b[3]));b=k(b[0]);null==g&&(g=b);null==p&&(u=p);if(null==u||null==p)w=this.getBBox(1);u=null==u?w.x+w.width/2:u;p=null==p?w.y+w.height/2:p;this.transform(this._.transform.concat([["s",b,g,u,p]]));return this};ub.translate=function(b,g){if(this.removed)return this;z(this,
"translate",b,g);b=h(b).split(ca);b.length-1&&(g=k(b[1]));b=k(b[0])||0;this.transform(this._.transform.concat([["t",b,+g||0]]));return this};ub.transform=function(b){var h=this._;if(null==b)return h.transform;a._extractTransform(this,b);this.clip&&!h.clipispath&&d(this.clip,{transform:this.matrix.invert()});this.pattern&&Ba(this);this.node&&d(this.node,{transform:this.matrix});if(1!=h.sx||1!=h.sy)b=this.attrs.hasOwnProperty("stroke-width")?this.attrs["stroke-width"]:1,this.attr({"stroke-width":b});
return this};ub.hide=function(){z(this,"hide");!this.removed&&this.paper.safari(this.node.style.display="none");return this};ub.show=function(){z(this,"show");!this.removed&&this.paper.safari(this.node.style.display="");return this};ub.remove=function(){if(!this.removed&&this.parent.canvas){var b=a._engine.getNode(this),h=this.paper,k=h.defs;h.__set__&&h.__set__.exclude(this);c.unbind("raphael.*.*."+this.id);for(this.gradient&&k&&Ea(this);k=this.followers.pop();)k.el.remove();for(;k=this.bottom;)k.remove();
this._drag&&this.undrag();if(this.events)for(;k=this.events.pop();)k.unbind();this.parent.canvas.removeChild(b);this.removeData();delete h._elementsById[this.id];a._tear(this,this.parent);for(k in this)this[k]="function"===typeof this[k]?a._removedFactory(k):null;this.removed=!0}};ub._getBBox=function(){var h,k=this.node,g={},u=this.attrs,p,w,a="text"===this.type,D=!!document.documentMode;D&&a?h=b(this):"none"===k.style.display&&(this.show(),w=!0);try{g=k.getBBox(),a&&(void 0===g.x&&(g.isCalculated=
!0,p=u["text-anchor"],g.x=(u.x||0)-g.width*("start"===p?0:"middle"===p?.5:1)),void 0===g.y&&(g.isCalculated=!0,p=u["vertical-align"],g.y=(u.y||0)-g.height*("bottom"===p?1:"middle"===p?.5:0)))}catch(I){}finally{g=g||{}}D&&a?h&&h():w&&this.hide();return g};ub.attr=function(b,h){if(this.removed)return this;if(null==b){var k={},g;for(g in this.attrs)this.attrs.hasOwnProperty(g)&&(k[g]=this.attrs[g]);k.gradient&&"none"==k.fill&&(k.fill=k.gradient)&&delete k.gradient;k.transform=this._.transform;k.visibility=
"none"===this.node.style.display?"hidden":"visible";return k}if(null==h&&a.is(b,"string")){if("fill"==b&&"none"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;if("transform"==b)return this._.transform;if("visibility"==b)return"none"===this.node.style.display?"hidden":"visible";var k=b.split(ca),u={},p=0;for(g=k.length;p<g;p++)b=k[p],b in this.attrs?u[b]=this.attrs[b]:a.is(this.ca[b],"function")?u[b]=this.ca[b].def:u[b]=a._availableAttrs[b];return g-1?u:u[k[0]]}if(null==h&&a.is(b,
"array")){u={};p=0;for(g=b.length;p<g;p++)u[b[p]]=this.attr(b[p]);return u}null!=h?(k={},k[b]=h):null!=b&&a.is(b,"object")&&(k=b);if(!1!==a.stopEvent)for(p in k)c("raphael.attr."+p+"."+this.id,this,k[p],p);var w={};for(p in this.ca)if(this.ca[p]&&k.hasOwnProperty(p)&&a.is(this.ca[p],"function")&&!this.ca["_invoked"+p]){this.ca["_invoked"+p]=!0;g=this.ca[p].apply(this,[].concat(k[p]));delete this.ca["_invoked"+p];for(u in g)g.hasOwnProperty(u)&&(k[u]=g[u]);this.attrs[p]=k[p];!1===g&&(w[p]=k[p],delete k[p])}m(this,
k);var D,p=0;for(g=this.followers.length;p<g;p++)D=this.followers[p],D.cb&&!D.cb.call(D.el,k,this)||D.el.attr(k);for(u in w)k[u]=w[u];return this};ub.blur=function(b){if(0!==+b){var h=d("filter"),k=d("feGaussianBlur");this.attrs.blur=b;h.id=a.getElementID(a.createUUID());d(k,{stdDeviation:+b||1.5});h.appendChild(k);this.paper.defs.appendChild(h);this._blur=h;d(this.node,{filter:"url('"+a._url+"#"+h.id+"')"})}else this._blur&&(this._blur.parentNode.removeChild(this._blur),delete this._blur,delete this.attrs.blur),
this.node.removeAttribute("filter")};ub.on=function(b,h){if(this.removed)return this;var k=h;a.supportsTouch&&(b=a._touchMap[b]||"click"===b&&"touchstart"||b,k=function(b){b.preventDefault();h()});this.node["on"+b]=k;return this};a._engine.path=function(b,h,k){var g=d("path");b=new q(g,b,k);b.type="path";m(b,h);pb(b,h);return b};a._engine.group=function(b,h,k){var g=d("g");b=new q(g,b,k);b.type="group";b.canvas=b.node;b.top=b.bottom=null;b._id=h||"";h&&g.setAttribute("class","raphael-group-"+b.id+
"-"+h);return b};a._engine.circle=function(b,h,k){var g=d("circle");b=new q(g,b,k);b.type="circle";m(b,h);pb(b,h);return b};a._engine.rect=function(b,h,k){var g=d("rect");b=new q(g,b,k);b.type="rect";h.rx=h.ry=h.r;m(b,h);pb(b,h);return b};a._engine.ellipse=function(b,h,k){var g=d("ellipse");b=new q(g,b,k);b.type="ellipse";m(b,h);pb(b,h);return b};a._engine.image=function(b,h,k){var g=d("image");b=new q(g,b,k);b.type="image";g.setAttribute("preserveAspectRatio","none");m(b,h);pb(b,h);return b};a._engine.text=
function(b,h,k,g){var u=d("text");b=new q(u,b,k);b.type="text";b._textdirty=!0;g&&b.css&&b.css(g,void 0,!0);m(b,h);pb(b,h);return b};a._engine.setSize=function(b,h){this.width=b||this.width;this.height=h||this.height;this.canvas.setAttribute("width",this.width);this.canvas.setAttribute("height",this.height);this._viewBox&&this.setViewBox.apply(this,this._viewBox);return this};a._engine.create=function(){var b=a._getContainer.apply(0,arguments),h=b&&b.container,k=b.x,g=b.y,u=b.width,b=b.height;if(!h)throw Error("SVG container not found.");
var p=d("svg"),w;w="overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:-moz-none;-khtml-user-select:none;-ms-user-select:none;user-select:none;-o-user-select:none;cursor:default;vertical-align:middle;";var D,k=k||0,g=g||0,u=u||512,b=b||342;d(p,{height:b,version:1.1,width:u,xmlns:"http://www.w3.org/2000/svg"});1==h?(p.style.cssText=w+"position:absolute;left:"+k+"px;top:"+g+"px",a._g.doc.body.appendChild(p),D=1):(p.style.cssText=w+"position:relative",
h.firstChild?h.insertBefore(p,h.firstChild):h.appendChild(p));h=new a._Paper;h.width=u;h.height=b;h.canvas=p;d(p,{id:"raphael-paper-"+h.id});h.clear();h._left=h._top=0;D&&(h.renderfix=function(){});h.renderfix();return h};a._engine.setViewBox=function(b,h,k,g,u){c("raphael.setViewBox",this,this._viewBox,[b,h,k,g,u]);var w=p(k/this.width,g/this.height),a=this.top,D=u?"meet":"xMinYMin",I;null==b?(this._vbSize&&(w=1),delete this._vbSize,I="0 0 "+this.width+" "+this.height):(this._vbSize=w,I=b+" "+h+
" "+k+" "+g);for(d(this.canvas,{viewBox:I,preserveAspectRatio:D});w&&a;)D="stroke-width"in a.attrs?a.attrs["stroke-width"]:1,a.attr({"stroke-width":D}),a._.dirty=1,a._.dirtyT=1,a=a.prev;this._viewBox=[b,h,k,g,!!u];return this};a.prototype.renderfix=function(){var b=this.canvas,h=b.style,k;try{k=b.getScreenCTM()||b.createSVGMatrix()}catch(g){k=b.createSVGMatrix()}b=-k.e%1;k=-k.f%1;if(b||k)b&&(this._left=(this._left+b)%1,h.left=this._left+"px"),k&&(this._top=(this._top+k)%1,h.top=this._top+"px")};a.prototype._desc=
function(b){var h=this.desc;if(h)for(;h.firstChild;)h.removeChild(h.firstChild);else this.desc=h=d("desc"),this.canvas.appendChild(h);h.appendChild(a._g.doc.createTextNode(a.is(b,"string")?b:"Created with Red Raphaël "+a.version))};a.prototype.clear=function(){var b;for(c("raphael.clear",this);b=this.bottom;)b.remove();for(b=this.canvas;b.firstChild;)b.removeChild(b.firstChild);this.bottom=this.top=null;b.appendChild(this.desc=d("desc"));b.appendChild(this.defs=d("defs"))};a.prototype.remove=function(){var b;
for(c("raphael.remove",this);b=this.bottom;)b.remove();this.defs&&this.defs.parentNode.removeChild(this.defs);this.desc&&this.desc.parentNode.removeChild(this.desc);this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas);for(b in this)this[b]="function"==typeof this[b]?a._removedFactory(b):null;this.removed=!0};var qb=a.st,qa;for(qa in ub)ub.hasOwnProperty(qa)&&!qb.hasOwnProperty(qa)&&(qb[qa]=function(b){return function(){var h=arguments;return this.forEach(function(k){k[b].apply(k,
h)})}}(qa))}})();"undefined"===typeof m&&"object"===typeof window&&(m=window);(function(){if(a.vml){var b=String,h=parseFloat,k=Math,g=k.round,u=k.max,p=k.min,w=k.sqrt,D=k.abs,I=/[, ]+/,ca=a.eve,N={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},c=/([clmz]),?([^clmz]*)/gi,pa=/ progid:\S+Blur\([^\)]+\)/g,e=/-?[^,\s-]+/g,Ea={path:1,rect:1,image:1},d={circle:1,ellipse:1},f=function(h){var k=/[ahqstv]/ig,u=a._pathToAbsolute;b(h).match(k)&&(u=a._path2curve);k=/[clmz]/g;if(u==a._pathToAbsolute&&!b(h).match(k))return(h=
b(h).replace(c,function(b,h,k){var u=[],p="m"==h.toLowerCase(),w=N[h];k.replace(e,function(b){p&&2==u.length&&(w+=u+N["m"==h?"l":"L"],u=[]);u.push(g(21600*b))});return w+u}))||"m0,0";var k=u(h),p;h=[];for(var w=0,D=k.length;w<D;w++){u=k[w];p=k[w][0].toLowerCase();"z"==p&&(p="x");for(var I=1,ca=u.length;I<ca;I++)p+=g(21600*u[I])+(I!=ca-1?",":"");h.push(p)}return h.length?h.join(" "):"m0,0"},Ja=function(b,h,k){var g=a.matrix();g.rotate(-b,.5,.5);return{dx:g.x(h,k),dy:g.y(h,k)}},oa=function(b,h,k,g,
u,p){var w=b._,a=b.matrix,I=w.fillpos;b=b.node;var ca=b.style,N=1,c="",pa=21600/h,e=21600/k;ca.visibility="hidden";if(h&&k){b.coordsize=D(pa)+" "+D(e);ca.rotation=p*(0>h*k?-1:1);p&&(u=Ja(p,g,u),g=u.dx,u=u.dy);0>h&&(c+="x");0>k&&(c+=" y")&&(N=-1);ca.flip=c;b.coordorigin=g*-pa+" "+u*-e;if(I||w.fillsize)if(g=(g=b.getElementsByTagName("fill"))&&g[0])b.removeChild(g),I&&(u=Ja(p,a.x(I[0],I[1]),a.y(I[0],I[1])),g.position=u.dx*N+" "+u.dy*N),w.fillsize&&(g.size=w.fillsize[0]*D(h)+" "+w.fillsize[1]*D(k)),b.appendChild(g);
ca.visibility="visible"}};a._url="";a.toString=function(){return"Your browser doesn’t support SVG. Falling down to VML.\nYou are running Raphaël "+this.version};var Ba=function(h,k,g){k=b(k).toLowerCase().split("-");g=g?"end":"start";for(var u=k.length,p="classic",w="medium",a="medium";u--;)switch(k[u]){case "block":case "classic":case "oval":case "diamond":case "open":case "none":p=k[u];break;case "wide":case "narrow":a=k[u];break;case "long":case "short":w=k[u]}h=h.node.getElementsByTagName("stroke")[0];
h[g+"arrow"]=p;h[g+"arrowlength"]=w;h[g+"arrowwidth"]=a},R=function(b,h){for(var k in h)ca("raphael.attr."+k+"."+b.id,b,h[k],k),b.ca[k]&&b.attr(k,h[k])},l=a._setFillAndStroke=function(k,w){if(k.paper.canvas){k.attrs=k.attrs||{};var D=k.node,ca=k.attrs,N=D.style,c=Ea[k.type]&&(w.x!=ca.x||w.y!=ca.y||w.width!=ca.width||w.height!=ca.height||w.cx!=ca.cx||w.cy!=ca.cy||w.rx!=ca.rx||w.ry!=ca.ry||w.r!=ca.r),pa=d[k.type]&&(ca.cx!=w.cx||ca.cy!=w.cy||ca.r!=w.r||ca.rx!=w.rx||ca.ry!=w.ry),e="group"===k.type,Ja;
for(Ja in w)w.hasOwnProperty(Ja)&&(ca[Ja]=w[Ja]);c&&(ca.path=a._getPath[k.type](k),k._.dirty=1);w.href&&(D.href=w.href);w.title&&(D.title=w.title);w.target&&(D.target=w.target);w.cursor&&(N.cursor=w.cursor);"blur"in w&&k.blur(w.blur);if(w.path&&"path"==k.type||c)D.path=f(~b(ca.path).toLowerCase().indexOf("r")?a._pathToAbsolute(ca.path):ca.path),"image"==k.type&&(k._.fillpos=[ca.x,ca.y],k._.fillsize=[ca.width,ca.height],oa(k,1,1,0,0,0));"transform"in w&&k.transform(w.transform);"rotation"in w&&(N=
w.rotation,a.is(N,"array")?k.rotate.apply(k,N):k.rotate(N));"visibility"in w&&("hidden"===w.visibility?k.hide():k.show());pa&&(N=+ca.cx,pa=+ca.cy,c=+ca.rx||+ca.r||0,Ja=+ca.ry||+ca.r||0,D.path=a.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x",g(21600*(N-c)),g(21600*(pa-Ja)),g(21600*(N+c)),g(21600*(pa+Ja)),g(21600*N)));"clip-rect"in w&&(N=b(w["clip-rect"]).split(I),4==N.length&&(N[0]=+N[0],N[1]=+N[1],N[2]=+N[2]+N[0],N[3]=+N[3]+N[1],c=e?D:D.clipRect||a._g.doc.createElement("div"),pa=c.style,e?(k.clip=N.slice(),
c=k.matrix.offset(),c=[h(c[0]),h(c[1])],N[0]-=c[0],N[1]-=c[1],N[2]-=c[0],N[3]-=c[1],pa.width="1px",pa.height="1px"):D.clipRect||(pa.top="0",pa.left="0",pa.width=k.paper.width+"px",pa.height=k.paper.height+"px",D.parentNode.insertBefore(c,D),c.appendChild(D),c.raphael=!0,c.raphaelid=D.raphaelid,D.clipRect=c),pa.position="absolute",pa.clip=a.format("rect({1}px {2}px {3}px {0}px)",N)),w["clip-rect"]||(e&&k.clip?(D.style.clip="rect(0px 10800px 10800px 0px)",delete k.clip):D.clipRect&&(D.clipRect.style.clip=
"rect(0px 10800px 10800px 0px)")));if(k.textpath||e)e=e?D.style:k.textpath.style,w.font&&(e.font=w.font),w["font-family"]&&(e.fontFamily='"'+w["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g,"")+'"'),w["font-size"]&&(e.fontSize=w["font-size"]),w["font-weight"]&&(e.fontWeight=w["font-weight"]),w["font-style"]&&(e.fontStyle=w["font-style"]);"arrow-start"in w&&Ba(k,w["arrow-start"]);"arrow-end"in w&&Ba(k,w["arrow-end"],1);if(null!=w.opacity||null!=w["stroke-width"]||null!=w.fill||null!=w.src||
null!=w.stroke||null!=w["stroke-width"]||null!=w["stroke-opacity"]||null!=w["fill-opacity"]||null!=w["stroke-dasharray"]||null!=w["stroke-miterlimit"]||null!=w["stroke-linejoin"]||null!=w["stroke-linecap"]){e=D.getElementsByTagName("fill");N=-1;e=e&&e[0];!e&&(e=q("fill"));"image"==k.type&&w.src&&(e.src=w.src);w.fill&&(e.on=!0);if(null==e.on||"none"==w.fill||null===w.fill)e.on=!1;e.on&&w.fill&&((pa=b(w.fill).match(a._ISURL))?(e.parentNode==D&&D.removeChild(e),e.rotate=!0,e.src=pa[1],e.type="tile",
c=k.getBBox(1),e.position=c.x+" "+c.y,k._.fillpos=[c.x,c.y],a._preload(pa[1],function(){k._.fillsize=[this.offsetWidth,this.offsetHeight]})):(pa=a.getRGB(w.fill),e.color=pa.hex,e.src="",e.type="solid",pa.error&&(k.type in{circle:1,ellipse:1}||"r"!=b(w.fill).charAt())&&pb(k,w.fill,e)?(ca.fill="none",ca.gradient=w.fill,e.rotate=!1):"opacity"in pa&&!("fill-opacity"in w)&&(N=pa.opacity)));if(-1!==N||"fill-opacity"in w||"opacity"in w)pa=((+ca["fill-opacity"]+1||2)-1)*((+ca.opacity+1||2)-1)*((+N+1||2)-
1),pa=p(u(pa,0),1),e.opacity=pa,e.src&&(e.color="none");D.appendChild(e);e=D.getElementsByTagName("stroke")&&D.getElementsByTagName("stroke")[0];N=!1;!e&&(N=e=q("stroke"));if(w.stroke&&"none"!=w.stroke||w["stroke-width"]||null!=w["stroke-opacity"]||w["stroke-dasharray"]||w["stroke-miterlimit"]||w["stroke-linejoin"]||w["stroke-linecap"])e.on=!0;"none"!=w.stroke&&null!==w.stroke&&null!=e.on&&0!=w.stroke&&0!=w["stroke-width"]||(e.on=!1);pa=a.getRGB("stroke"in w?w.stroke:ca.stroke);e.on&&w.stroke&&(e.color=
pa.hex);pa=((+ca["stroke-opacity"]+1||2)-1)*((+ca.opacity+1||2)-1)*((+pa.opacity+1||2)-1);c=.75*(h(w["stroke-width"])||1);pa=p(u(pa,0),1);null==w["stroke-width"]&&(c=ca["stroke-width"]);w["stroke-width"]&&(e.weight=c);c&&1>c&&(pa*=c)&&(e.weight=1);e.opacity=pa;w["stroke-linejoin"]&&(e.joinstyle=w["stroke-linejoin"])||N&&(N.joinstyle="miter");e.miterlimit=w["stroke-miterlimit"]||8;w["stroke-linecap"]&&(e.endcap="butt"==w["stroke-linecap"]?"flat":"square"==w["stroke-linecap"]?"square":"round");w["stroke-dasharray"]&&
(pa={"-":"shortdash",".":"shortdot","-.":"shortdashdot","-..":"shortdashdotdot",". ":"dot","- ":"dash","--":"longdash","- .":"dashdot","--.":"longdashdot","--..":"longdashdotdot"},e.dashstyle=pa.hasOwnProperty(w["stroke-dasharray"])?pa[w["stroke-dasharray"]]:w["stroke-dasharray"].join&&w["stroke-dasharray"].join(" ")||"");N&&D.appendChild(e)}if("text"==k.type){k.paper.canvas.style.display="";D=k.paper.span;e=ca.font&&ca.font.match(/\d+(?:\.\d*)?(?=px)/);pa=ca["line-height"]&&(ca["line-height"]+"").match(/\d+(?:\.\d*)?(?=px)/);
N=D.style;ca.font&&(N.font=ca.font);ca["font-family"]&&(N.fontFamily=ca["font-family"]);ca["font-weight"]&&(N.fontWeight=ca["font-weight"]);ca["font-style"]&&(N.fontStyle=ca["font-style"]);e=h(ca["font-size"]||e&&e[0])||10;N.fontSize=100*e+"px";pa=h(ca["line-height"]||pa&&pa[0])||12;ca["line-height"]&&(N.lineHeight=100*pa+"px");a.is(w.text,"array")&&(w.text=k.textpath.string=w.text.join("\n").replace(/<br\s*?\/?>/ig,"\n"));k.textpath.string&&(D.innerHTML=b(k.textpath.string).replace(/</g,"&#60;").replace(/&/g,
"&#38;").replace(/\n/g,"<br>"));D=D.getBoundingClientRect();k.W=ca.w=(D.right-D.left)/100;k.H=ca.h=(D.bottom-D.top)/100;k.X=ca.x;k.Y=ca.y;switch(ca["vertical-align"]){case "top":k.bby=k.H/2;break;case "bottom":k.bby=-k.H/2;break;default:k.bby=0}("x"in w||"y"in w||void 0!==k.bby)&&(k.path.v=a.format("m{0},{1}l{2},{1}",g(21600*ca.x),g(21600*(ca.y+(k.bby||0))),g(21600*ca.x)+1));D="x y text font font-family font-weight font-style font-size line-height".split(" ");e=0;for(N=D.length;e<N;e++)if(D[e]in w){k._.dirty=
1;break}switch(ca["text-anchor"]){case "start":k.textpath.style["v-text-align"]="left";k.bbx=k.W/2;break;case "end":k.textpath.style["v-text-align"]="right";k.bbx=-k.W/2;break;default:k.textpath.style["v-text-align"]="center",k.bbx=0}k.textpath.style["v-text-kern"]=!0}}},r=a._updateFollowers=function(){var b,h,k,g=arguments,u=ga.call(g),p=ga.call(g);b=0;for(h=u.followers.length;b<h;b++)k=u.followers[b].el,k[p].apply(k,g)},pb=function(k,g,u){k.attrs=k.attrs||{};var p=Math.pow,D="linear",I=".5 .5";
k.attrs.gradient=g;g=b(g).replace(a._radial_gradient,function(b,k){D="radial";k=k&&k.split(",")||[];var g=k[3],u=k[4];g&&u&&(g=h(g),u=h(u),.25<p(g-.5,2)+p(u-.5,2)&&(u=w(.25-p(g-.5,2))*(2*(.5<u)-1)+.5),I=g+" "+u);return""});g=g.split(/\s*\-\s*/);if("linear"==D){var ca=g.shift(),ca=-h(ca);if(isNaN(ca))return null}g=a._parseDots(g);if(!g)return null;k=k.shape||k.node;if(g.length){u.parentNode==k&&k.removeChild(u);u.on=!0;u.method="none";u.color=g[0].color;u.color2=g[g.length-1].color;for(var N=[],c=
1,pa=void 0===g[0].opacity?1:g[0].opacity,e=0,Ea=g.length;e<Ea;e++)g[e].offset&&N.push(g[e].offset+" "+g[e].color),void 0!==g[e].opacity&&(c=g[e].opacity);u.colors=N.length?N.join():"0% "+u.color;u.opacity=c;u["o:opacity2"]=pa;"radial"==D?(u.type="gradientTitle",u.focus="100%",u.focussize="0 0",u.focusposition=I,u.angle=0):(u.type="gradient",u.angle=(270-ca)%360);k.appendChild(u)}return 1},z=function(b,h,k){k=k||h;var g;k.canvas&&k.canvas.appendChild(b);g=q("skew");g.on=!0;b.appendChild(g);this.skew=
g;this.node=this[0]=b;b.raphael=!0;b.raphaelid=this.id=a._oid++;this.Y=this.X=0;this.attrs=this.attrs||{};this.followers=this.followers||[];this.paper=h;this.ca=this.customAttributes=this.customAttributes||new h._CustomAttributes;this.matrix=a.matrix();this._={transform:[],sx:1,sy:1,dx:0,dy:0,deg:0,dirty:1,dirtyT:1};this.parent=k;!k.bottom&&(k.bottom=this);(this.prev=k.top)&&(k.top.next=this);k.top=this;this.next=null},k=a.el;z.prototype=k;k.constructor=z;k.transform=function(h){if(null==h)return this._.transform;
var k=this.paper._viewBoxShift,g=k?"s"+[k.scale,k.scale]+"-1-1t"+[k.dx,k.dy]:"",u;k&&(u=h=b(h).replace(/\.{3}|\u2026/g,this._.transform||""));a._extractTransform(this,g+h);var k=this.matrix.clone(),p=this.skew;h=this.node;var g=~b(this.attrs.fill).indexOf("-"),w=!b(this.attrs.fill).indexOf("url(");k.translate(-.5,-.5);w||g||"image"==this.type?(p.matrix="1 0 0 1",p.offset="0 0",p=k.split(),g&&p.noRotation||!p.isSimple?(h.style.filter=k.toFilter(),k=this.getBBox(),g=this.getBBox(1),w=k.x2&&g.x2&&"x2"||
"x",p=k.y2&&g.y2&&"y2"||"y",w=k[w]-g[w],k=k[p]-g[p],h.coordorigin=-21600*w+" "+-21600*k,oa(this,1,1,w,k,0)):(h.style.filter="",oa(this,p.scalex,p.scaley,p.dx,p.dy,p.rotate))):(h.style.filter="",p.matrix=b(k),p.offset=k.offset());u&&(this._.transform=u);return this};k.rotate=function(k,g,u){if(this.removed)return this;r(this,"rotate",k,g,u);if(null!=k){k=b(k).split(I);k.length-1&&(g=h(k[1]),u=h(k[2]));k=h(k[0]);null==u&&(g=u);if(null==g||null==u)u=this.getBBox(1),g=u.x+u.width/2,u=u.y+u.height/2;this._.dirtyT=
1;this.transform(this._.transform.concat([["r",k,g,u]]));return this}};k.translate=function(k,g){if(this.removed)return this;r(this,"translate",k,g);k=b(k).split(I);k.length-1&&(g=h(k[1]));k=h(k[0])||0;g=+g||0;this._.bbox&&(this._.bbox.x+=k,this._.bbox.y+=g);this.transform(this._.transform.concat([["t",k,g]]));return this};k.scale=function(k,g,u,p){if(this.removed)return this;r(this,"scale",k,g,u,p);k=b(k).split(I);k.length-1&&(g=h(k[1]),u=h(k[2]),p=h(k[3]),isNaN(u)&&(u=null),isNaN(p)&&(p=null));
k=h(k[0]);null==g&&(g=k);null==p&&(u=p);if(null==u||null==p)var w=this.getBBox(1);u=null==u?w.x+w.width/2:u;p=null==p?w.y+w.height/2:p;this.transform(this._.transform.concat([["s",k,g,u,p]]));this._.dirtyT=1;return this};k.hide=function(b){r(this,"hide",b);!this.removed&&(this.node.style.display="none");return this};k.show=function(b){r(this,"show",b);!this.removed&&(this.node.style.display="");return this};k._getBBox=function(){return this.removed?{}:{x:this.X+(this.bbx||0)-this.W/2,y:this.Y+(this.bby||
0)-this.H/2,width:this.W,height:this.H}};k.remove=function(){if(!this.removed&&this.parent.canvas){var b=a._engine.getNode(this),h=this.paper,k=this.shape;h.__set__&&h.__set__.exclude(this);ca.unbind("raphael.*.*."+this.id);k&&k.parentNode.removeChild(k);for(b.parentNode&&b.parentNode.removeChild(b);b=this.followers.pop();)b.el.remove();for(;b=this.bottom;)b.remove();this._drag&&this.undrag();if(this.events)for(;b=this.events.pop();)b.unbind();this.removeData();delete h._elementsById[this.id];a._tear(this,
this.parent);for(b in this)this[b]="function"===typeof this[b]?a._removedFactory(b):null;this.removed=!0}};k.attr=function(b,h){if(this.removed)return this;if(null==b){var k={},g;for(g in this.attrs)this.attrs.hasOwnProperty(g)&&(k[g]=this.attrs[g]);k.gradient&&"none"==k.fill&&(k.fill=k.gradient)&&delete k.gradient;k.transform=this._.transform;k.visibility="none"===this.node.style.display?"hidden":"visible";return k}if(null==h&&a.is(b,"string")){if("fill"==b&&"none"==this.attrs.fill&&this.attrs.gradient)return this.attrs.gradient;
if("visibility"==b)return"none"===this.node.style.display?"hidden":"visible";var k=b.split(I),u={},p=0;for(g=k.length;p<g;p++)b=k[p],b in this.attrs?u[b]=this.attrs[b]:a.is(this.ca[b],"function")?u[b]=this.ca[b].def:u[b]=a._availableAttrs[b];return g-1?u:u[k[0]]}if(this.attrs&&null==h&&a.is(b,"array")){u={};p=0;for(g=b.length;p<g;p++)u[b[p]]=this.attr(b[p]);return u}null!=h&&(k={},k[b]=h);null==h&&a.is(b,"object")&&(k=b);if(!1!==a.stopEvent)for(p in k)ca("raphael.attr."+p+"."+this.id,this,k[p],p);
if(k){var w={};for(p in this.ca)if(this.ca[p]&&k.hasOwnProperty(p)&&a.is(this.ca[p],"function")&&!this.ca["_invoked"+p]){this.ca["_invoked"+p]=!0;g=this.ca[p].apply(this,[].concat(k[p]));delete this.ca["_invoked"+p];for(u in g)g.hasOwnProperty(u)&&(k[u]=g[u]);this.attrs[p]=k[p];!1===g&&(w[p]=k[p],delete k[p])}"text"in k&&"text"==this.type&&(a.is(k.text,"array")&&(k.text=k.text.join("\n")),this.textpath.string=k.text.replace(/<br\s*?\/?>/ig,"\n"));l(this,k);var D,p=0;for(g=this.followers.length;p<
g;p++)D=this.followers[p],D.cb&&!D.cb.call(D.el,k,this)||D.el.attr(k);for(u in w)k[u]=w[u]}return this};k.blur=function(b){var k=this.node.runtimeStyle,h=k.filter,h=h.replace(pa,"");0!==+b?(this.attrs.blur=b,k.filter=h+"  progid:DXImageTransform.Microsoft.Blur(pixelradius="+(+b||1.5)+")",k.margin=a.format("-{0}px 0 0 -{0}px",g(+b||1.5))):(k.filter=h,k.margin=0,delete this.attrs.blur);return this};k.on=function(b,k){if(this.removed)return this;this.node["on"+b]=function(){var b=a._g.win.event;b.target=
b.srcElement;k(b)};return this};a._engine.getNode=function(b){b=b.node||b[0].node;return b.clipRect||b};a._engine.getLastNode=function(b){b=b.node||b[b.length-1].node;return b.clipRect||b};a._engine.group=function(b,k,h){var g=a._g.doc.createElement("div"),u=new z(g,b,h);g.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px";u._id=k||"";k&&(g.className="raphael-group-"+u.id+"-"+k);(h||b).canvas.appendChild(g);u.type="group";u.canvas=u.node;u.transform=a._engine.group.transform;u.top=
null;u.bottom=null;return u};a._engine.group.transform=function(k){if(null==k)return this._.transform;var g=this.node.style,u=this.clip,p=this.paper._viewBoxShift,w=p?"s"+[p.scale,p.scale]+"-1-1t"+[p.dx,p.dy]:"";p&&(k=b(k).replace(/\.{3}|\u2026/g,this._.transform||""));a._extractTransform(this,w+k);k=this.matrix;w=k.offset();p=h(w[0])||0;w=h(w[1])||0;g.left=p+"px";g.top=w+"px";g.zoom=(this._.tzoom=k.get(0))+"";u&&(g.clip=a.format("rect({1}px {2}px {3}px {0}px)",[u[0]-p,u[1]-w,u[2]-p,u[3]-w]));return this};
a._engine.path=function(b,k,h){var g=q("shape");g.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px";g.coordsize="21600 21600";g.coordorigin=b.coordorigin;b=new z(g,b,h);b.type=k.type||"path";b.path=[];b.Path="";k.type&&delete k.type;l(b,k);R(b,k);return b};a._engine.rect=function(b,k,h){var g=a._rectPath(k.x,k.y,k.w,k.h,k.r);k.path=g;k.type="rect";b=b.path(k,h);k=b.attrs;b.X=k.x;b.Y=k.y;b.W=k.width;b.H=k.height;k.path=g;return b};a._engine.ellipse=function(b,k,h){k.type="ellipse";
b=b.path(k,h);k=b.attrs;b.X=k.x-k.rx;b.Y=k.y-k.ry;b.W=2*k.rx;b.H=2*k.ry;return b};a._engine.circle=function(b,k,h){k.type="circle";b=b.path(k,h);k=b.attrs;b.X=k.x-k.r;b.Y=k.y-k.r;b.W=b.H=2*k.r;return b};a._engine.image=function(b,k,h){var g=a._rectPath(k.x,k.y,k.w,k.h);k.path=g;k.type="image";k.stroke="none";b=b.path(k,h);h=b.attrs;var g=b.node,u=g.getElementsByTagName("fill")[0];h.src=k.src;b.X=h.x=k.x;b.Y=h.y=k.y;b.W=h.width=k.w;b.H=h.height=k.h;u.parentNode==g&&g.removeChild(u);u.rotate=!0;u.src=
h.src;u.type="tile";b._.fillpos=[h.x,h.y];b._.fillsize=[h.w,h.h];g.appendChild(u);oa(b,1,1,0,0,0);return b};a._engine.text=function(k,h,u,p){var w=q("shape"),D=q("path"),I=q("textpath");x=h.x||0;y=h.y||0;text=h.text;D.v=a.format("m{0},{1}l{2},{1}",g(21600*h.x),g(21600*h.y),g(21600*h.x)+1);D.textpathok=!0;I.string=b(h.text).replace(/<br\s*?\/?>/ig,"\n");I.on=!0;w.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px";w.coordsize="21600 21600";w.coordorigin="0 0";k=new z(w,k,u);k.shape=
w;k.path=D;k.textpath=I;k.type="text";k.attrs.text=b(h.text||"");k.attrs.x=h.x;k.attrs.y=h.y;k.attrs.w=1;k.attrs.h=1;p&&k.css&&k.css(p,void 0,!0);l(k,h);R(k,h);w.appendChild(I);w.appendChild(D);return k};a._engine.setSize=function(b,k){var h=this.canvas.style;this.width=b;this.height=k;b==+b&&(b+="px");k==+k&&(k+="px");b&&(h.width=b);k&&(h.height=k);h.clip="rect(0 "+h.width+" "+h.height+" 0)";this._viewBox&&a._engine.setViewBox.apply(this,this._viewBox);return this};a._engine.setViewBox=function(b,
k,h,g,p){ca("raphael.setViewBox",this,this._viewBox,[b,k,h,g,p]);var w=this.width,a=this.height,D=1/u(h/w,g/a),I,N;p&&(I=a/g,N=w/h,h*I<w&&(b-=(w-h*I)/2/I),g*N<a&&(k-=(a-g*N)/2/N));this._viewBox=[b,k,h,g,!!p];this._viewBoxShift={dx:-b,dy:-k,scale:D};this.forEach(function(b){b.transform("...")});return this};var q;a._engine.initWin=function(k){var h=k.document;h.createStyleSheet().addRule(".rvml","behavior:url(#default#VML)");try{!h.namespaces.rvml&&h.namespaces.add("rvml","urn:schemas-microsoft-com:vml"),
q=a._createNode=function(k,g){var u=h.createElement("<rvml:"+k+' class="rvml">'),p;for(p in g)u[p]=b(g[p]);return u}}catch(g){q=a._createNode=function(k,g){var u=h.createElement("<"+k+' xmlns="urn:schemas-microsoft.com:vml" class="rvml">'),p;for(p in g)u[p]=b(g[p]);return u}}};a._engine.initWin(a._g.win);a._engine.create=function(){var b=a._getContainer.apply(0,arguments),k=b.container,h=b.height,g=b.width,u=b.x,b=b.y;if(!k)throw Error("VML container not found.");var p=new a._Paper,w=p.canvas=a._g.doc.createElement("div"),
D=w.style,u=u||0,b=b||0,g=g||512,h=h||342;p.width=g;p.height=h;g==+g&&(g+="px");h==+h&&(h+="px");p.coordsize="21600000 21600000";p.coordorigin="0 0";w.id="raphael-paper-"+p.id;p.span=a._g.doc.createElement("span");p.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;";w.appendChild(p.span);D.cssText=a.format("top:0;left:0;width:{0};height:{1};display:inline-block;cursor:default;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden",g,h);1==k?(a._g.doc.body.appendChild(w),
D.left=u+"px",D.top=b+"px",D.position="absolute"):k.firstChild?k.insertBefore(w,k.firstChild):k.appendChild(w);p.renderfix=function(){};return p};a.prototype.clear=function(){var b;for(ca("raphael.clear",this);b=this.bottom;)b.remove();this.canvas.innerHTML="";this.span=a._g.doc.createElement("span");this.span.style.cssText="position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";this.canvas.appendChild(this.span);this.bottom=this.top=null};a.prototype.remove=
function(){var b;for(ca("raphael.remove",this);b=this.bottom;)b.remove();this.canvas.parentNode.removeChild(this.canvas);for(b in this)this[b]="function"==typeof this[b]?a._removedFactory(b):null;return!0};var m=a.st,db;for(db in k)k.hasOwnProperty(db)&&!m.hasOwnProperty(db)&&(m[db]=function(b){return function(){var k=arguments;return this.forEach(function(h){h[b].apply(h,k)})}}(db))}})();T?Y.win.Raphael=a:Raphael=a;return a},!0);d.Raphael=n;d.Raphael.desc="";E&&E!==n?m.Raphael=E:m.Raphael===n&&(m.Raphael=
void 0)})(m||window)}]);FusionCharts.register("module",["private","fusioncharts.redraphael.helper",function(){var d=this.hcLib,m=d.Raphael,E={};m.fn._elementFromEvent=function(d){if(!d||this.removed)return null;var m=d.srcElement||d.target||(d=d.originalEvent)&&(d.srcElement||d.target)||E;"tspan"===m.nodeName&&(m=m.parentNode);return this.getById(m.raphaelid)};m.requestAnimFrame=d.schedular.addJob&&function(m){d.schedular.addJob(m,void 0,void 0,d.priorityList.animation)}}]);FusionCharts.register("module",
["private","fusioncharts.redraphael.css",function(){var d=this.hcLib,m=d.Raphael,E=m.eve,n=m._g,C=m.fn,B=m.el,K=/[, ]+/,a=/\B([A-Z]{1})/g,M,f;M=function(a){this.styleSheet="";this.rules={};this.ns=a||""};f=M.prototype;f.getSheet=function(){var a=this.node;this.styleSheet=f.getStyleSheet("fusioncharts-raphael-stylesheet");this.styleSheet||(a=this.node=n.doc.createElement("style"),a.setAttribute("id",m.format("raphael-stylesheet-{0}",m._oid++)),a.setAttribute("type","text/css"),a.setAttribute("title",
"fusioncharts-raphael-stylesheet"),(n.doc.head||n.doc.getElementsByTagName("head")[0]).appendChild(this.node),this.styleSheet=f.getStyleSheet("fusioncharts-raphael-stylesheet"));return this.styleSheet};f.getStyleSheet=function(a){for(var d=n.doc.styleSheets,f=d.length,m;f--;)if(m=d[f],m.title===a)return m};f.applyCSSRule=function(a,d){var f=this.styleSheet,m;if(!f)if(a&&d)f=this.getSheet();else return;m=(f.rules||f.cssRules||{}).length||0;f.insertRule?f.insertRule(a+"{"+d+"}",m):f.addRule&&f.addRule(a,
d,m)};f.removeCSS=function(a){var d=this.styleSheet,f=d.rules||d.cssRules||{},m=f.length||0,A;for(a=a||this.ns;m--;)A=f[m],(new RegExp(a)).test(A.selectorText)&&(d.removeRule?d.removeRule(m):d.deleteRule(m))};f.destroy=function(){this.removeCSS();delete this.node;delete this.styleSheet;delete this.ns;delete this.rules};f.clear=function(){this.removeCSS();this.rules={}};f.add=function(d,f,m){var t,A="",q=this.rules[d]||(this.rules[d]={}),c=m?"":"\t";m=m?":":": ";for(t in f)(q[t]=f[t])&&(A+=c+t.replace(a,
"-$1").toLowerCase()+m+q[t]+";");this.applyCSSRule(d,A)};f.render=function(){this.setCssText()};f.setCssText=function(d){var f=d?"":"\t";d=d?":":": ";var m="",t="",A,q;for(A in this.rules){m="";t=A.replace(/(^|\,)/g,"$1"+this.ns+" ");A=this.rules[A];for(q in A)A[q]&&(m+=f+q.replace(a,"-$1").toLowerCase()+d+A[q]+";");this.applyCSSRule(t,m)}};E.on("raphael.new",function(){this._stylesheet=this._stylesheet||new M;this.cssNamespace("")});E.on("raphael.remove",function(){this._stylesheet&&this._stylesheet.destroy();
delete this._stylesheet});C.cssNamespace=function(a){arguments.length&&(this._stylesheet.ns=m.format("{0}#raphael-paper-{1}",a&&a+" "||"",this.id));return this._stylesheet.ns};C.cssAddRule=function(a,d){if(1===arguments.length&&"object"===typeof a){for(var f in a)this.cssAddRule(f,a[f]);return this}return this._stylesheet.add(a,d),this};C.cssRender=function(){return m.svg&&this._stylesheet.render(),this};C.cssClear=function(){return this._stylesheet.clear(),this};m.ca["class"]=function(a){var d=this.node,
f=this.paper,t="."+a,f=f._stylesheet&&f._stylesheet.rules,A=this.parent,q=this.attrs,c={},v;if(m.svg)a=a||"",d.setAttribute("class","group"===this.type&&this._id?"raphael-group-"+this.id+"-"+this._id+" "+a:a);else if(m.vml&&(d.className="group"===this.type?a&&this._id+" "+a||this._id:"rvml "+a,t&&f)){a=f[t];for(v in a)"color"===v&&"text"===this.type&&(v="fill"),!q[v]&&(c[v]=a[v]);for(;A&&A.attr;){if(a=A.attr("class"))for(v in t="."+a+" "+t,a=f[t],a)"color"===v&&"text"===this.type&&(v="fill"),q[v]||
c[v]||(c[v]=a[v]);A=A.parent}this.css(c)}};B.css=function(a,d,f){var t,A;if(this.removed)return this;this.styles||(this.styles={});if(null==d&&m.is(a,"string")){f=a.split(K);t={};A=0;for(d=f.length;A<d;A++)a=f[A],a in this.styles&&(t[a]=this.styles[a]);return d-1?t:t[f[0]]}if(null==d&&m.is(a,"array")){t={};A=0;for(d=a.length;A<d;A++)t[a[A]]=this.styles(a[A]);return t}null!=d?(t={},t[a]=d):null!=a&&m.is(a,"object")&&(t=a);a={};for(A in t)d=A.replace(/\B([A-Z]{1})/g,"-$1").toLowerCase(),m._availableAttrs.hasOwnProperty(d)||
"color"===d?("color"===d&&"text"===this.type&&(d="fill"),a[d]=t[A],a.dirty=!0):(E("raphael.css."+d+"."+this.id,this,t[A],d),this.node.style[d]=t[A],this.styles[d]=t[A]);A=0;for(d=this.followers.length;A<d;A++)this.followers[A].el.attr(t);a.hasOwnProperty("dirty")&&(delete a.dirty,f&&(a["_do-not-tune"]=!0),this.attr(a));return this};B.removeCSS=function(a){var f,n,t;!a&&(a=d.appliedCSS);if(this.removed)return this;m.is(a,"string")&&(a=a.split(","));if(m.is(a,"array"))for(t=a.length,n=0;n<t;n++)f=a[n].replace(/\B([A-Z]{1})/g,
"-$1").toLowerCase(),this.node.removeAttribute(f),this.node.style[f]="";return this}}]);FusionCharts.register("module",["private","modules.renderer.js-raphaelexport",function(){var d=this.hcLib,m=d.Raphael,E=d.pluckNumber,n=d.pluck,C=m._availableAttrs,B=/^matrix\(|\)$/g,K=/\,/g,a=/\n|<br\s*?\/?>/ig,M=/[^\d\.]/ig,f=/[\%\(\)\s,\xb0#]/g,l=/group/ig,O=/&/g,X=/"/g,t=/'/g,A=/</g,q=/>/g,c=0;(function(d){var m=Math,e=parseFloat,r=m.max,H=m.abs,z=m.pow,P=String,G=/[, ]+/,ga=[{reg:/xmlns\=\"http\:\/\/www.w3.org\/2000\/svg\"/ig,
repStr:""},{reg:/^.*<svg /,repStr:'<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" '},{reg:/\/svg>.*$/,repStr:"/svg>"},{reg:/<desc\>[^<]*<\/desc\>/,repStr:""},{reg:/zIndex="[^"]+"/g,repStr:""},{reg:/url\((\\?[\'\"])[^#]+#/g,repStr:"url($1#"},{reg:/ href=/g,repStr:" xlink:href="},{reg:/(id|class|width|height)=([^" >]+)/g,repStr:'$1="$2"'},{reg:/:(path|rect)/g,repStr:"$1"},{reg:/<ima?ge? ([^\>]+?[^\/])\>/gi,repStr:"<image $1 />"},{reg:/<\/ima?ge?\>/g,repStr:""},{reg:/style="([^"]+)"/g,
repStr:function(a){return a.toLowerCase()}}],W={blur:function(){},transform:function(){},src:function(a,c){c.attrSTR+=' xlink:href="'+c.attrs.src+'"'},path:function(a,c){var e=c.attrs.path,e=d._pathToAbsolute(e||"");c.attrSTR+=' d="'+(e.toString&&e.toString()||"").replace(K," ")+'"'},gradient:function(a,c,l){var q=a.attrs.gradient,A="linear",n,t,ja,R=.5,qa=.5,G=t="",Ga="",Ca,Oa,B,E;n=q.replace(f,"_");if(!l[n]){q=P(q).replace(d._radial_gradient,function(a,c){var d,f,r,l,q,v,Ga;c=c&&c.split(",")||[];
A="radial";d=c[0];f=c[1];r=c[2];l=c[3];q=c[4];E=c[5];Ga=d&&f;r&&(B=/\%/.test(r)?r:e(r));if("userSpaceOnUse"===E)return Ga&&(R=d,qa=f),l&&q&&(Ca=l,Oa=q,Ga||(R=Ca,qa=Oa)),"";Ga&&(R=e(d),qa=e(f),d=2*(.5<qa)-1,.25<(v=z(R-.5,2))+z(qa-.5,2)&&.25>v&&(qa=m.sqrt(.25-v)*d+.5)&&.5!==qa&&(qa=qa.toFixed(5)-1E-5*d));l&&q&&(Ca=e(l),Oa=e(q),d=2*(.5<Oa)-1,.25<(v=z(Ca-.5,2))+z(Oa-.5,2)&&.25>v&&(Oa=m.sqrt(.25-v)*d+.5)&&.5!==Oa&&(Oa=Oa.toFixed(5)-1E-5*d),Ga||(R=Ca,qa=Oa));return""});q=q.split(/\s*\-\s*/);if("linear"===
A){t=q.shift();t=-e(t);if(isNaN(t))return null;ja=[0,0,m.cos(d.rad(t)),m.sin(d.rad(t))];t=1/(r(H(ja[2]),H(ja[3]))||1);ja[2]*=t;ja[3]*=t;0>ja[2]&&(ja[0]=-ja[2],ja[2]=0);0>ja[3]&&(ja[1]=-ja[3],ja[3]=0)}q=d._parseDots(q);if(!q)return null;"radial"===A?(t='<radialGradient fx = "'+R+'" fy = "'+qa+'" cy = "'+Oa+'" cx = "'+Ca+'" r = "'+B+'" gradientUnits = "'+E+'" id = "'+n+'">',G="</radialGradient>"):(t='<linearGradient x1 = "'+ja[0]+'" y1 = "'+ja[1]+'" x2 = "'+ja[2]+'" y2 = "'+ja[3]+'" gradientTransform ="matrix('+
a.matrix.invert()+')" id = "'+n+'">',G="</linearGradient>");a=0;for(ja=q.length;a<ja;a++)Ga+='<stop offset="'+(q[a].offset?q[a].offset:a?"100%":"0%")+'" stop-color="'+(q[a].color||"#fff")+'" stop-opacity="'+(void 0===q[a].opacity?1:q[a].opacity)+'" />';l[n]=!0;l.str+=t+Ga+G}c.attrSTR+=" fill=\"url('#"+n+"')\""},fill:function(a,c){var e=c.attrs,f=e.fill,r;a.attrs.gradient||(f=d.color(f),r=f.opacity,"text"===a.type?c.styleSTR+="fill:"+f+"; stroke-opacity:0; ":(c.attrSTR+=' fill="'+f+'"',e["fill-opacity"]||
!r&&0!==r||(c.attrSTR+=' fill-opacity="'+r+'"')))},stroke:function(a,c){var e=c.attrs,f,r;f=d.color(e.stroke);r=f.opacity;"text"!==a.type&&(c.attrSTR+=' stroke="'+f+'"',e["stroke-opacity"]||!r&&0!==r||(c.attrSTR+=' stroke-opacity="'+r+'"'))},"clip-rect":function(a,e,d){var r=P(e.attrs["clip-rect"]),l=r.split(G),r=r.replace(f,"_")+"__"+c++;4===l.length&&(d[r]||(d[r]=!0,d.str+='<clipPath id="'+r+'"><rect x="'+l[0]+'" y="'+l[1]+'" width="'+l[2]+'" height="'+l[3]+'" transform="matrix('+a.matrix.invert().toMatrixString().replace(B,
"")+')"/></clipPath>'),e.attrSTR+=' clip-path="url(#'+r+')"')},cursor:function(a,c){var e=c.attrs.cursor;e&&(c.styleSTR+="cursor:"+e+"; ")},font:function(a,c){c.styleSTR+="font:"+c.attrs.font.replace(/\"/ig," ")+"; "},"font-size":function(a,c){var e=n(c.attrs["font-size"],"10");e&&e.replace&&(e=e.replace(M,""));c.styleSTR+="font-size:"+e+"px; "},"font-weight":function(a,c){c.styleSTR+="font-weight:"+c.attrs["font-weight"]+"; "},"font-family":function(a,c){c.styleSTR+="font-family:"+c.attrs["font-family"]+
"; "},"line-height":function(){},"clip-path":function(){},visibility:function(){},"vertical-align":function(){},"text-anchor":function(a,c){var e=c.attrs["text-anchor"]||"middle";"text"===a.type&&(c.attrSTR+=' text-anchor="'+e+'"')},title:function(){},text:function(c,e){var d=e.attrs,f=d.text,r=n(d["font-size"],d.font,"10"),l=n(d["line-height"]),m,z,R;r&&r.replace&&(r=r.replace(M,""));r=E(r);l&&l.replace&&(l=l.replace(M,""));l=E(l,r&&1.2*r);m=r?.85*r:.75*l;r=d.x;z=n(d["vertical-align"],"middle").toLowerCase();
f=P(f).split(a);R=f.length;d=0;for(m="top"===z?m:"bottom"===z?m-l*R:m-l*R*.5;d<R;d++)e.textSTR+="<tspan ",z=(f[d]||"").replace(O,"&amp;").replace(X,"&quot;").replace(t,"&#39;").replace(A,"&lt;").replace(q,"&gt;"),e.textSTR=d?e.textSTR+('dy="'+l+'" x="'+r+'" '):e.textSTR+('dy="'+m+'"'),e.textSTR+=">"+z+"</tspan>"}},Y=function(a,c){var e="",d={attrSTR:"",styleSTR:"",textSTR:"",attrs:a.attr()},f=a.isShadow,r="",m="",q,R,z=d.attrs;if("none"===a.node.style.display||f)a.next&&(e+=Y(a.next,c));else{for(q in z)if("gradient"!==
q&&(void 0!==C[q]||W[q])&&void 0!==z[q])if(W[q])W[q](a,d,c);else d.attrSTR+=" "+q+'="'+z[q]+'"';a.attrs.gradient&&W.gradient(a,d,c);"rect"===a.type&&z.r&&(d.attrSTR+=' rx="'+z.r+'" ry="'+z.r+'"');for(R in a.styles)d.styleSTR+=R+":"+a.styles[R]+"; ";"image"===a.type&&(d.attrSTR+=' preserveAspectRatio="none"');if("text"===a.type&&!z["text-anchor"])W["text-anchor"](a,d);a.bottom&&(r=Y(a.bottom,c));a.next&&(m=Y(a.next,c));f=a.type;f.match(l)&&(f="g");e+="<"+f+' transform="matrix('+a.matrix.toMatrixString().replace(B,
"")+')" style="'+d.styleSTR+'"'+d.attrSTR+">"+d.textSTR+r+"</"+f+">"+m}return e},T=function(a){a=JSON.stringify(a);a=a.replace(/([a-z]+)([A-Z]+)([a-z]+)/g,function(a,c,e,d){return c+"-"+e.toLowerCase()+d});a=a.replace(/\"\,\"/g,'";"');a=a.replace(/\"/g," ");return a=a=a.replace(/\{|\}/g,"")},ka=function(a,c){var e,d,f,r,l,m=function(a){return a=a.match(/style\s*=/)?a.replace(/(style\s*=")([^"]+)/g,function(a,c,e){return c+f+e}):a.replace(/class\s*="[^"]*"/i,function(a){return a+' style="'+f+'" '})};
for(e in c)if(c.hasOwnProperty(e))for(l in d=/\s+/,d=e.split(d),f=T(c[e]),d)d.hasOwnProperty(l)&&(r=d[l].trim().replace(".",""),r=new RegExp("<[^>]+("+r+")[^>]+","g"),a=a.replace(r,m));return a};d.fn.toSVG=function(a){var c="",e={str:""},f=0,r=ga.length,l="";if(d.svg){if(this.canvas&&this.canvas.parentNode){for(c=this.canvas.parentNode.innerHTML;f<r;f+=1)e=ga[f],c=c.replace(e.reg,e.repStr);this._stylesheet&&this._stylesheet.rules&&(c=ka(c,this._stylesheet.rules))}a||(c=c.replace(/<image[^\>]*\>/gi,
function(a){return a.match(/href=\"data\:image/i)?a:""}))}else c='<svg style="overflow: hidden; position: relative;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+this.width+'" version="1.1" height="'+this.height+'">',this.bottom&&(l=Y(this.bottom,e)),c+="<defs>"+e.str+"</defs>"+l+"</svg>",a||(c=c.replace(/<image[^\>]*\>[^\>]*\>/gi,function(a){return a.match(/href=\"data\:image/i)?a:""}));return c}})(m)}]);FusionCharts.register("module",["private","modules.renderer.js-raphaelshadow",
function(){var d=this.window,m=Math.sqrt,E=d.parseFloat,n=d.parseInt,d=d.SVGFilterElement||d.SVGFEColorMatrixElement&&2===d.SVGFEColorMatrixElement.SVG_FECOLORMATRIX_TYPE_SATURATE,C=this.hcLib.Raphael,B={"drop-shadow":"drop-shadow",stroke:"stroke",fill:"fill","stroke-width":"stroke-width","stroke-opacity":"stroke-opacity","stroke-linecap":"stroke-linecap","stroke-linejoin":"stroke-linejoin","shape-rendering":"shape-rendering",transform:"transform"},K=C._createNode,a;C.svg?(d&&(C.el.dropshadow=function(a,
d,l,n){var B=this.node,t=this._.shadowFilter,A=this.paper.cacheShadows||(this.paper.cacheShadows={}),q="drop-shadow"+[a,d,l,n].join(" "),c;if("none"===a){if(t){--t.use;this.node.removeAttribute("filter");if(!t.use){q=t.hash;for(c in t)a=t[c],a.parentNode&&a.parentNode.removeChild(a),delete t[c];delete A[q]}delete this._.shadowFilter}}else t&&A[q]===t||(t=this.paper.defs.appendChild(K("filter",{id:C.getElementID(C.createUUID()),width:"200%",height:"200%"})),n=C.color(n),n.error&&(n=C.color("rgba(0,0,0,1)")),
c=C.pick(n.opacity,1),this._.shadowFilter=A[q]={use:1,filter:t,hash:q,offset:t.appendChild(K("feOffset",{result:"offOut","in":"SourceGraphic",dx:E(a),dy:E(d)})),matrix:t.appendChild(K("feColorMatrix",{result:"matrixOut","in":"offOut",type:"matrix",values:"0 0 0 0 "+n.r/255+" 0 0 0 0 "+n.g/255+" 0 0 0 0 "+n.b/255+" 0 0 0 "+c+" 0"})),blur:t.appendChild(K("feGaussianBlur",{result:"blurOut","in":"matrixOut",stdDeviation:m(E(l))})),blend:t.appendChild(K("feComposite",{"in":"SourceGraphic",in2:"blurOut",
operator:"over"}))},B.setAttribute("filter",'url("'+C._url+"#"+t.id+'")'));return this}),a=function(a,d){var l=this.__shadowscale,m={},n,t;for(t in a)switch(B[t]&&(m[t]=a[t],delete a[t]),t){case "transform":n=d.matrix.clone();n.translate(this.__shadowx,this.__shadowy);this.transform(n.toTransformString());break;case "stroke-width":a[t]=((m[t]||1)+6-2*this.__shadowlevel)*l}this.attr(a);for(t in m)a[t]=m[t]},C.ca["drop-shadow"]=function(d,f,l,m,B,t){l=this._.shadows||(this._.shadows=[]);var A,q,c,v,
E;if(!this.__shadowblocked)if("none"===d)for(;q=l.pop();)q.remove();else for(m=C.color(m),m.error&&(m=C.color("rgba(0,0,0,1)")),B instanceof Array?(A=B[0],B=B[1]):A=B,A=1/C.pick(A,1),B=1/C.pick(B,1),d=C.pick(d,1)*A,f=C.pick(f,1)*A,A=.05*C.pick(m.opacity,1),c=n(this.attr("stroke-width")||1,10)+6,v=this.matrix.clone(),v.translate(d,f),E=1;3>=E;E++)q=(l[E-1]||this.clone().follow(this,a,!t&&"before")).attr({stroke:m.hex,"stroke-opacity":A*E,"stroke-width":(c-2*E)*B,transform:v.toTransformString(),"stroke-linecap":"round",
"stroke-linejoin":"round",fill:"none"}),q.__shadowlevel=E,q.__shadowscale=B,q.__shadowx=d,q.__shadowy=f,t&&t.appendChild(q),l.push(q);return!1},C.el.shadow=function(a,d,l,m){var n;l&&l.constructor===C.el.constructor&&(m=l,l=void 0);"object"===typeof a&&(d&&d.constructor===C.el.constructor&&(m=d),d=a.opacity,l=a.scalefactor,n=!!a.useFilter,a=void 0===a.apply?!!d:a.apply);void 0===d&&(d=1);if(this.dropshadow){if(n)return a&&this.dropshadow(1,1,3,"rgb(64,64,64)")||this.dropshadow("none"),this;this._.shadowFilter&&
this.dropshadow("none")}return this.attr("drop-shadow",a?[1,1,3,"rgba(64,64,64,"+d+")",l,m]:"none")}):C.vml?(C.ca["drop-shadow"]=function(a,d,l,m,n,t){var A=this._.shadow,q,c;if(this.isShadow)return!1;"none"===a?A&&(this._.shadow=A.remove()):(A||(A=this._.shadow=this.clone(),t&&t.appendChild(A.follow(this))||A.follow(this,void 0,"before"),A.attr({fill:"none","fill-opacity":.5,"stroke-opacity":1}).isShadow=!0,0>=A.attr("stroke-width")&&A.attr("stroke-width",1)),t=A.node.runtimeStyle,q=t.filter.replace(/ progid:\S+Blur\([^\)]+\)/g,
""),m=C.color(m),m.error&&(m=C.color("rgba(0,0,0,1)")),c=C.pick(m.opacity,1)/5,n=1/C.pick(n,1),a=C.pick(a,1)*n,d=C.pick(d,1)*n,A.translate(a,d),t.filter=q+" progid:DXImageTransform.Microsoft.Blur(pixelRadius="+E(.4*l)+" makeShadow=True Color="+m.hex+' shadowOpacity="'+c+'");');return!1},C.el.shadow=function(a,d,l,m){l&&l.constructor===C.el.constructor&&(m=l,l=void 0);"object"===typeof a&&(d&&"group"===d.type&&(m=d),d=a.opacity,l=a.scalefactor,a=void 0===a.apply?!!d:a.apply);void 0===d&&(d=1);return this.attr("drop-shadow",
a||!d?[1,1,5,"rgba(64,64,64,"+d+")",l,m]:"none")}):C.canvas&&(C.el.shadow=function(){return this})}]);FusionCharts.register("module",["private","modules.renderer.js-raphaelshapes",function(){var d=this.window,m="createTouch"in d.document,E=/msie/i.test(d.navigator.userAgent)&&!d.opera,n=Math,C=n.cos,B=n.sin,K=n.abs,a=n.pow,M=n.atan2,f=n.tan,l=n.acos,O=n.min,X=n.round,t=n.PI,A=n.sqrt,q=2*t,c=d.parseInt,v=d.parseFloat,L=String,e=Array.prototype.slice,r=a(2,-24),H="rgba(192,192,192,"+(E?.002:1E-6)+")",
z=this.hcLib.Raphael,P=z.eve,G=z._createNode,ga=z._setFillAndStroke,W=z.el.constructor,Y={speed:"optimizeSpeed",crisp:"crispEdges",precision:"geometricPrecision"},T={enabled:!1,"false":!1,0:!1,disabled:!0,"true":!0,1:!0},ka={Q:"L",Z:"X",q:"l",z:"x",",":" "},J=/,?([achlmqrstvxz]),?/gi,ha=/\s*\,\s*/g,F,wa=function(){return this.join(",").replace(J,F)},Da,fa,ma=z._cacher(function(c,e,d,f){return A(a(d-c,2)+a(f-e,2))}),ja=z._cacher(function(a,c,e,d,f){var r=e-a,l=d-c;e=ma(a,c,e,d);return{x:a+r/e*f,y:c+
l/e*f}});if(z.svg)P.on("raphael.attr.shape-rendering",function(a,c){var e=this.node;this.attrs[c]=a=Y[a]||a||"auto";e.setAttribute(c,a);e.style.shapeRendering=a});else if(z.vml)P.on("raphael.attr.shape-rendering",function(a){this.node.style.antialias="crisp"!==a});z.define&&z.define([{name:"polypath",polypath:function(){return this.path(void 0,z._lastArgIfGroup(arguments))},ca:{polypath:function(a,e,d,f,r,l){var m,q,A;m=[];a=c(a,10)||0;e=v(e)||0;d=v(d)||0;f=v(f)||0;r=null===r||isNaN(r)?.5*t:z.rad(r);
l=null===l||isNaN(l)?0:v(l);q=r;if(2<a)switch(r=2*t/a,l){case 0:for(l=0;l<a;l++)m.push("L",e+f*C(-q),d+f*B(-q)),q+=r;m[0]="M";m.push("Z");break;case 1:for(l=0;l<a;l++)m.push("M",e,d,"L",e+f*C(-q),d+f*B(-q)),q+=r;break;default:r*=.5;A=f*C(r)*(1-l);for(l=0;l<a;l++)m.push("L",e+f*C(-q),d+f*B(-q)),q+=r,m.push("L",e+A*C(-q),d+A*B(-q)),q+=r;m[0]="M";m.push("Z")}else 0===f?m.push("M",e,d,"L",e,d,"Z"):m.push("M",e-f,d,"A",f,f,0,0,0,e+f,d,"A",f,f,0,0,0,e-f,d,"Z");return{path:m}},r:function(a){var c=this.attrs.polypath;
c[3]=a;this.attr("polypath",c);return!1}}},{name:"ringpath",ringpath:function(){return this.path(void 0,z._lastArgIfGroup(arguments))},ca:function(a,c,e,d,f,l){var m=l%q-f%q,z=l-f,v,A,n,H,ja,F;this._.ringangle=.5*(f+l);K(z)<r?(v=C(f),z=B(f),e=["M",a+e*v,c+e*z,"L",a+d*v,c+d*z,"Z"]):(K(z)>r&&+(K(z)%q<r||q-K(z)%q<r)?(e=["M",a-e,c,"A",e,e,0,0,0,a+e,c,"A",e,e,0,0,0,a-e,c],0!==d&&(e=e.concat(["M",a-d,c,"A",d,d,0,0,1,a+d,c,"A",d,d,0,0,1,a-d,c]))):(v=C(f),z=B(f),A=C(l),l=B(l),m%=q,0>m&&(m+=q),m=m<t?0:1,n=
a+e*v,ja=c+e*z,H=a+e*A,F=c+e*l,A=a+d*A,l=c+d*l,.01>K(n-H)&&.01>K(ja-F)&&(n=a+e*C(f+1.745329E-4),ja=c+e*B(f+1.745329E-4)),e=["M",n,ja,"A",e,e,0,m,1,H,F,"L",A,l],0!==d&&(v=a+d*v,z=c+d*z,.01>K(A-v)&&.01>K(l-z)&&(v=a+d*C(f+1.745329E-4),z=c+d*B(f+1.745329E-4)),e.push("A",d,d,0,m,0,v,z))),e.push("Z"));return{path:e}}},{name:"cubepath",cubepath:function(){var a={"stroke-linejoin":"round","shape-rendering":"precision",stroke:"none"},c=arguments,e=c.length-1,d=c[e],f,r;d&&d.constructor===z.el.constructor?
c[e]=void 0:d=void 0;e=this.path(a,d);f=this.path(a,d);a=this.path(a,d);a._.cubetop=e.follow(a,void 0,"before");a._.cubeside=f.follow(a,void 0,"before");for(r in z.fn.cubepath.ca)a.ca[r]=z.fn.cubepath.ca[r];return a.attr("cubepath",[c[0],c[1],c[2],c[3],c[4],c[5]])},fn:{_getBBox2:function(){var a=this._.cubeside.getBBox(),c=this._.cubetop.getBBox(),e=this.getBBox();return{x:e.x+c.height,y:e.y-a.width,width:e.width,height:e.height}}},ca:{cubepath:function(a,c,e,d,f,r){var l=this._.cubetop,m=this._.cubeside;
a=a||0;c=c||0;e=e||0;d=d||0;f=f||0;r=r||0;this.attr("path",["M",a+e,c,"l",0,d,-e,0,0,-d,"z"]);l.attr("path",["M",a,c,"l",1,1,e-1,0,0,-1,f,-r,-e,0,"z"]);m.attr("path",["M",a+e-1,c+1,"l",0,d-1,1,0,f,-r,0,-d,-f,r]);return!1},"stroke-linejoin":function(){return{"stroke-linejoin":"round"}},"drop-shadow":function(a,c,e,d){var f=this._.cubetop,r=this._.cubeside;this.dropshadow&&(f.dropshadow(a,-c,e,d),r.dropshadow(a,-c,e,d));return!1},fill:function(a,c){var e=this._.cubetop,d=this._.cubeside,f=this.attr("cubepath")||
[0,0,0,0,0,0],r=f[2],l=f[4],f=f[5],m;a=z.color(a);c?(this.attr("fill",a),e.attr("fill",z.tintshade(a,-.78).rgba),d.attr("fill",z.tintshade(a,-.65).rgba)):(m="opacity"in a?"rgba("+[a.r,a.g,a.b,a.opacity]+")":"rgb("+[a.r,a.g,a.b]+")",this.attr("fill",[270,z.tintshade(m,.55).rgba,z.tintshade(m,-.65).rgba].join("-")),d.attr("fill",[270,z.tintshade(m,-.75).rgba,z.tintshade(m,-.35).rgba].join("-")),e.attr("fill",[45+z.deg(M(f,l+r)),z.tintshade(m,-.78).rgba,z.tintshade(m,.22).rgba].join("-")));return!1}}},
{name:"arcpath",arcpath:function(){return this.path(void 0,z._lastArgIfGroup(arguments))},ca:function(a,c,e,d){var f=(d-90)/180*Math.PI;return{path:["M",a,c-e,"A",e,e,0,180<d?1:0,1,a+e*Math.cos(f),c+e*Math.sin(f)]}}},{name:"scroller",scroller:function(a,c,e,d,f,r,l){var m=this.group("scroller",l),q=m.attrs,A=m._.scroller={};f=f&&"horizontal"||"vertical";var n,t={},H,ja,F;A.track=this.rect(m).mousedown(function(a){var c=q["scroll-position"];a="horizontal"===q["scroll-orientation"]?a.layerX||a.x:a.layerY||
a.y;a=(a-A.anchorOffset)/A.trackLength;n=z.animation({"scroll-position":a},2E3*K(c-a),"easeIn");m.animate(n);P("raphael.scroll.start."+m.id,m,c)}).mouseup(A._mouseupTrack=function(){this.stop(n);P("raphael.scroll.end."+this.id,this,q["scroll-position"])},m,!0);A.anchor=this.rect(m).drag(function(){t["scroll-position"]=H+arguments[ja]/A.trackLength;m.animate(t,0)},function(a,c,e){ja="horizontal"===q["scroll-orientation"]?0:1;P("raphael.scroll.start."+m.id,m,H=q["scroll-position"]);e.stopPropagation()},
function(){P("raphael.scroll.end."+m.id,m,H=q["scroll-position"])});for(F in z.fn.scroller.fn)m[F]=z.fn.scroller.fn[F];for(F in z.fn.scroller.ca)m.ca[F]=z.fn.scroller.ca[F];q["scroll-orientation"]=f;q["stroke-width"]=1;m.ca["scroll-repaint"]=m.ca["scroll-repaint-"+f];!z.is(r,"object")&&(r={});return m.attr({ishot:!0,"scroll-display-buttons":r.showButtons&&"arrow"||"none","scroll-display-style":r.displayStyleFlat&&"flat"||"3d","scroll-ratio":v(r.scrollRatio)||1,"scroll-position":v(r.scrollPosition)||
0,"scroll-repaint":[a,c,e,d]})},fn:{scroll:function(a,c){var e=this._.scroller;c=c||this;e.callback=function(){return a.apply(c,arguments)};return this},remove:function(){var a=this._.scroller,c;this.attr("scroll-display-buttons","none");a.track.unmouseup(a._mouseupTrack);for(c in a)a[c]&&a[c].remove&&a[c].remove(),a[c]=null;delete this._.scroller;z.el.remove.apply(this,arguments)}},ca:{"stroke-width":function(){return!1},"drop-shadow":function(a,c,e,d,f,r){this._.scroller.track.attr("drop-shadow",
[a,c,e,d,f,r]);return!1},"scroll-display-style":function(a){var c=this.attrs,e=c["scroll-display-style"],d=c.fill;a={flat:"flat","3d":"3d",transparent:"transparent"}[a]||e;d&&a!==e&&(c["scroll-display-style"]=a,this.attr("fill",d));return{"scroll-display-style":a}},"scroll-display-buttons":function(a){var c=this,e=c.paper,d=c._.scroller,f=c.attrs,r=f["scroll-display-buttons"],m=f["scroll-repaint"],l,q;void 0===r&&(r="none");a={none:"none",arrow:"arrow"}[a]||r;a!==r&&(f["scroll-display-buttons"]=a,
"none"===a&&d.start?(d.arrowstart.remove(),delete d.arrowstart,d.arrowend.remove(),delete d.arrowend,d.start.unmouseup(d._mouseupStart),d.start.remove(),delete d.start,d.end.unmouseup(d._mouseupEnd),d.end.remove(),delete d.end):(d.arrowstart=e.polypath(c),d.arrowend=e.polypath(c),d.start=e.rect(c).mousedown(function(){var a;0!==(a=f["scroll-position"])&&(c.animate({"scroll-position":a-.1},100).animate(l=z.animation({"scroll-position":0},4500*a,"easeIn")),P("raphael.scroll.start."+c.id,c,a))}).mouseup(d._mouseupStart=
function(){c.stop(l);P("raphael.scroll.end."+c.id,c,f["scroll-position"])},c,!0),d.end=e.rect(c).mousedown(function(){var a;1!==(a=f["scroll-position"])&&(c.animate({"scroll-position":a+.1},100).animate(q=z.animation({"scroll-position":1},4500*(1-a),"easeIn")),P("raphael.scroll.start."+c.id,c,a))}).mouseup(d._mouseupEnd=function(){c.stop(q);P("raphael.scroll.end."+c.id,c,f["scroll-position"])},c,!0),f.fill&&c.attr("fill",f.fill)),m&&c.attr("scroll-repaint",m));return{"scroll-display-buttons":a}},
"scroll-orientation":function(a){var c=this.attrs,e=c["scroll-repaint"],d=c["scroll-orientation"];a={horizontal:"horizontal",vertical:"vertical"}[a]||d;d!==a&&(this.ca["scroll-repaint"]=this.ca["scroll-repaint-"+a],e&&(e[2]+=e[3],e[3]=e[2]-e[3],e[2]-=e[3],this.attr("scroll-repaint",e)),c.fill&&this.attr("fill",c.fill));return{"scroll-orientation":a}},"scroll-ratio":function(a){var c=this.attrs,e=c["scroll-ratio"],d=c["scroll-repaint"];a=1<a?1:.01>a?.01:v(a);d&&a!==e&&(c["scroll-ratio"]=a,this.attr("scroll-repaint",
d));return{"scroll-ratio":a}},"scroll-position":function(a,c){var e=this.attrs,d="horizontal"===e["scroll-orientation"],f=e["scroll-repaint"],r=e["scroll-position"],m=this._.scroller,l=m.anchor;a=1<a?1:0>a?0:v(a);isNaN(a)&&(a=r);f&&(r!==a||c)&&(r=m.start&&m.start.attr(d&&"width"||"height")||0,d&&l.attr("x",f[0]+r+(f[2]-2*r-l.attr("width"))*a+.5)||l.attr("y",f[1]+r+(f[3]-2*r-l.attr("height"))*a+.5),!c&&1>e["scroll-ratio"]&&(P("raphael.scroll.change."+this.id,this,a),m.callback&&m.callback(a)));return{"scroll-position":a}},
r:function(a){var c=this._.scroller;c.track.attr("r",a);c.anchor.attr("r","none"===this.attrs["scroll-display-buttons"]&&a||0);return!1},"scroll-repaint-horizontal":function(a,c,e,d){var f=this.attrs,r=this._.scroller,m=f["scroll-ratio"],l=f["scroll-position"],q=0,z=e*m,f="none"===f["scroll-display-buttons"];e&&--e;a&&(a+=.5);d&&--d;c&&(c+=.5);r.track.attr({width:e,height:d,y:c,x:a}).crisp();f||(q=O(d,.5*e),z-=2*q*m,r.start.attr({width:q,height:d,x:a,y:c}),r.arrowstart.attr("polypath",[3,a+.5*q,c+
.5*d,.25*q,180]),r.end.attr({width:q,height:d,x:a+e-q,y:c}),r.arrowend.attr("polypath",[3,a+e-.5*q,c+.5*q,.25*q,0]));r.trackLength=e-2*q-z;r.trackOffset=a+q+.5;r.anchorOffset=r.trackOffset+.5*(z-1);r.anchor.attr({height:d,width:z-1,y:c,x:r.trackOffset+r.trackLength*l}).crisp()},"scroll-repaint-vertical":function(a,c,e,d){var f=this.attrs,r=this._.scroller,m=f["scroll-ratio"],l=f["scroll-position"],q=0,z=d*m,f="none"===f["scroll-display-buttons"];e&&--e;a&&(a+=.5);d&&--d;c&&(c+=.5);r.track.attr({width:e,
height:d,y:c,x:a}).crisp();f||(q=O(e,.5*d),z-=2*q*m,r.start.attr({width:e,height:q,x:a,y:c}),r.arrowstart.attr("polypath",[3,a+.5*e,c+.5*q,.25*q,90]),r.end.attr({width:e,height:q,x:a,y:c+d-q}),r.arrowend.attr("polypath",[3,a+.5*e,c+d-.5*q,.25*q,-90]));r.trackLength=d-2*q-z;r.trackOffset=c+q+.5;r.anchorOffset=r.trackOffset+.5*(z-1);r.anchor.attr({height:0>z-1?0:z-1,width:e,y:r.trackOffset+r.trackLength*l,x:a}).crisp()},fill:function(a){var c=this.attrs,e=this._.scroller,d=c["scroll-repaint"],f="flat"===
c["scroll-display-style"],r="horizontal"===c["scroll-orientation"],l={stroke:"none"},q;m&&d&&3<(q=16-d[r&&3||2])&&(l.stroke=H,l["stroke-width"]=q);a=z.color(a);a.error&&(a=z.color("#000000"));a="opacity"in a?"rgba("+[a.r,a.g,a.b,a.opacity]+")":"rgb("+[a.r,a.g,a.b]+")";l.fill=f&&a||[90*r,z.tintshade(a,.15).rgba,a].join("-");l.stroke=z.tintshade(a,-.75).rgba;e.track.attr(l);l.fill=f&&z.tintshade(a,-.6).rgba||[270*r,z.tintshade(a,.3).rgba+":40",z.tintshade(a,-.7).rgba].join("-");l.stroke=z.tintshade(a,
-.6).rgba;e.anchor.attr(l);l.stroke="none";"none"!==c["scroll-display-buttons"]&&(l.fill=H,e.start.attr(l),e.end.attr(l),l.fill=z.tintshade(a,-.4).rgba,e.arrowstart.attr(l),e.arrowend.attr(l));return!1}}},{name:"button",button:function(a,c,e,d,f,r){r=this.group("button",r);var m;r._.button={bound:this.rect(r),tracker:this.rect(r).attr({fill:H,stroke:H,cursor:"pointer"}).data("compositeButton",r)};!z.is(f,"object")&&(f={});for(m in z.fn.button.fn)r[m]=z.fn.button.fn[m];for(m in z.fn.button.ca)r.ca[m]=
z.fn.button.ca[m];return r.attr({ishot:!0,"button-padding":[f.horizontalPadding,f.verticalPadding],"button-label":e,"button-symbol":d,"button-disabled":f.disabled||"false","button-symbol-position":f.symbolPosition,"button-symbol-padding":f.symbolPadding}).attr("button-repaint",[a,c,f.width,f.height,f.r])},data:{hoverin:function(){var a=this._.button,c=a.hoverbackIn,e=this._hover||{};e.fill||e.stroke||e["stroke-width"]||e.cursor?(e.fill&&this.bottom.attr("fill",e.fill)&&a.symbol.attr("fill",e.fill),
e.stroke&&this.bottom.attr("stroke",e.stroke)&&a.symbol.attr("stroke",e.stroke),e["stroke-width"]&&this.bottom.attr("stroke-width",e["stroke-width"])&&a.symbol.attr("stroke-width",e["stroke-width"]),e.cursor&&a.tracker.attr("cursor",e.cursor),c&&c()):c&&!1===c(arguments)||this.attr("fill","hover");this.hovered=!0},hoverout:function(){var a=this._.button,c=a.hoverbackOut,e=this._normal||{};e.fill||e.stroke||e["stroke-width"]||e.cursor?(e.fill&&this.bottom.attr("fill",e.fill)&&a.symbol.attr("fill",
e.fill),e.stroke&&this.bottom.attr("stroke",e.stroke)&&a.symbol.attr("stroke",e.stroke),e["stroke-width"]&&this.bottom.attr("stroke-width",e["stroke-width"])&&a.symbol.attr("stroke-width",e["stroke-width"]),e.cursor&&a.tracker.attr("cursor",e.cursor),c&&c()):c&&!1===c(arguments)||this.attr("fill",(this.pressed||this.active)&&"active"||"normal");this.hovered=!1},mousedown:function(){var a=this._.button,c=this._pressed||{};c.fill||c.stroke||c["stroke-width"]||c.cursor?(c.fill&&this.bottom.attr("fill",
c.fill)&&a.symbol.attr("fill",c.fill),c.stroke&&this.bottom.attr("stroke",c.stroke)&&a.symbol.attr("stroke",c.stroke),c["stroke-width"]&&this.bottom.attr("stroke-width",c["stroke-width"])&&a.symbol.attr("stroke-width",c["stroke-width"]),c.cursor&&a.tracker.attr("cursor",c.cursor)):this.attr("fill","active");this.pressed=!0},mouseup:function(){var a=this._.button,c=a.callback,e=this._normal||{};e.fill||e.stroke||e["stroke-width"]||e.cursor?(e.fill&&this.bottom.attr("fill",e.fill)&&a.symbol.attr("fill",
e.fill),e.stroke&&this.bottom.attr("stroke",e.stroke)&&a.symbol.attr("stroke",e.stroke),e["stroke-width"]&&this.bottom.attr("stroke-width",e["stroke-width"])&&a.symbol.attr("stroke-width",e["stroke-width"]),e.cursor&&a.tracker.attr("cursor",e.cursor)):this.attr("fill",this.hovered&&"hover"||this.active&&"active"||"normal");this.pressed=!1;c&&c(arguments)},mousemove:function(){var a=this._.button.mousemove;a&&a(arguments)}},fn:{tooltip:function(){z.el.tooltip&&z.el.tooltip.apply(this._.button.tracker,
arguments);return this},buttonclick:function(a,c){var e=this._.button;c=c||this;e.callback=function(){return a.apply(c,arguments)};return this},labelcss:function(){var a=this._.button,c=a.label;a.cssArg=arguments;c&&c.css.apply(c,arguments);return this.attr("button-repaint",this.attrs["button-repaint"])},buttonhover:function(a,c,e,d,f,r){var m=this._.button;e=e||this;d=d||this;r=r||this;f&&(m.mousemove=function(){return f.apply(r,arguments)});m.hoverbackIn=function(){return a.apply(e,arguments)};
m.hoverbackOut=function(){return c.apply(d,arguments)};return this},remove:function(){var a=this._.button,c;this.attr("button-disabled","true");for(c in a)a[c]&&a[c].remove&&a[c].remove(),a[c]=null;delete this._.button;z.el.remove.apply(this,arguments)}},ca:{"button-active":function(a){this.attr("fill",(this.active=!!a)?"active":this.hovered&&"hover"||"normal")},"button-disabled":function(a){var c=this._.button,e=c.tracker,d=this.attrs["button-disabled"],f=this.paper.button.data,r=this._disabled||
{};a=T[a];d=T[d];if(void 0!==a&&a!==d)switch(a){case !0:r.fill||r.stroke||r["stroke-width"]||r.cursor?(r.fill&&this.bottom.attr("fill",r.fill)&&c.symbol.attr("fill",r.fill),r.stroke&&this.bottom.attr("stroke",r.stroke)&&c.symbol.attr("stroke",r.stroke),r["stroke-width"]&&this.bottom.attr("stroke-width",r["stroke-width"]&&c.symbol.attr("fill",r.fill)),r.cursor&&c.tracker.attr("cursor",r.cursor)):e.attr("fill","rgba(204,204,205,.5)");e.unmousedown(f.mousedown).unmouseup(f.mouseup).unhover(f.hoverin,
f.hoverout).unmousemove(f.mousemove);break;case !1:e.attr("fill",H).mousedown(f.mousedown,this).mouseup(f.mouseup,this,!0).hover(f.hoverin,f.hoverout,this,this).mousemove(f.mousemove,this)}},"button-label":function(a){var c=this._.button,e=this.attrs,d=c.label,f=c.cssArg,r=this.attrs["button-repaint"];a=L(a||"");"none"===a?d&&(c.label=d.remove()):a&&(!d&&(d=c.label=this.paper.text(this).insertBefore(c.tracker)),d.attr({text:a,"text-anchor":"middle","vertical-align":"middle"}),f&&f.length&&d.css.apply(d,
f));r&&e["button-label"]!==a&&this.attr("button-repaint",r)},"button-symbol":function(a){var c=this._.button,e=c.symbol,d=this.attrs["button-repaint"];a=L(a||"");"none"===a?(e&&(c.symbol=e.remove()),delete c.symbol):a&&!e&&(c.symbol=this.paper.symbol(this).insertAfter(c.bound));d&&this.attr("button-repaint",d)},"button-symbol-position":function(a){return{"button-symbol-position":{top:"top",right:"right",bottom:"bottom",left:"left",none:"none"}[L(a).toLowerCase()]||"none"}},"button-symbol-padding":function(a){return{"button-symbol-padding":v(a)}},
"button-padding":function(a,c){return{"button-padding":[null==a&&(a=5)||v(a),null==c&&a||v(c)]}},"button-repaint":function(a,c,e,d,f){var r=this._.button,m=r.bound,l=r.label,q=r.symbol,v=this.attrs,A=v["button-padding"],n=A[0],t=A[1],H,ja;void 0===a&&(a=0);void 0===c&&(c=0);if(void 0===e||void 0===d)H=l&&l.getBBox()||{width:0,height:0},void 0===e&&(e=2*n+H.width),void 0===d&&(d=2*t+H.height);m=z.crispBound(a,c,e,d,m.attr("stroke-width"));m.r=z.pick(f,X(.1*O(d,e)));a=m.x;c=m.y;e=m.width;d=m.height;
l&&l.attr({x:a+e/2,y:c+d/2});if(q){!z.is(ja=v["button-symbol-padding"],"finite")&&(ja=.2*d);f=d-t;H=.5*f;switch(v["button-symbol-position"]+(l&&"+"||"-")){case "right+":a=a+(e+(2*H+t))-H-n;c+=.5*d;l.attr("transform",["t",-(f+ja),0]);break;case "left+":a=a+n+H;c+=.5*d;l.attr("transform",["t",f+ja,0]);break;case "top+":a+=.5*e;c=c+A[1]+H;l.attr("transform",["t",0,f+ja]);break;case "bottom+":a+=.5*e;c=c+(d+(2*H+ja))-t-H;l.attr("transform",["t",0,-(f+ja)]);break;default:a+=.5*e,c+=.5*d}q.attr("symbol",
[v["button-symbol"],a,c,H])}r.bound.attr(m);r.tracker.attr(m)},fill:function(a,c,e,d,f){var r=this._.button,m=r.bound,l=r.symbol,q=r.label,v={normal:r.gradient,active:r.gradientActive,hover:r.gradientHover}[a];v||(f||(a=z.getRGB(a),a.error&&(a=z.color("#cccccc")),a="opacity"in a?"rgba("+[a.r,a.g,a.b,a.opacity]+")":"rgb("+[a.r,a.g,a.b]+")"),r.gradient=f?a:[90,z.tintshade(a,-.8).rgba+":0",z.tintshade(a,.8).rgba+":100"].join("-"),r.gradientActive=[270,z.tintshade(a,-.8).rgba+":0",z.tintshade(a,.8).rgba+
":100"].join("-"),d=z.getRGB(d),d.error&&(d=a)||(d="opacity"in d?"rgba("+[d.r,d.g,d.b,d.opacity]+")":"rgb("+[d.r,d.g,d.b]+")"),r.gradientHover=f?d:[90,z.tintshade(d,-.9).rgba+":0",z.tintshade(d,.7).rgba+":100"].join("-"),e=e||z.tintshade(a,.2).rgba,c=c||z.tintshade(a,-.2).rgba,r.symbolFill=e,r.labelFill=c,v=(this.pressed||this.active)&&r.gradientActive||this.hovered&&r.gradienthover||r.gradient);m.attr("fill",v);l&&l.attr("fill",r.symbolFill);q&&q.attr("fill",r.labelFill);return!1},stroke:function(a,
c){var e=this._.button,d=e.symbol;a=z.color(a);a.error&&(a=z.color("#999999"));e.bound.attr("stroke",a);d&&d.attr("stroke",c||a);return!1},"stroke-width":function(a,c){var e=this._.button,d=e.symbol;e.bound.attr("stroke-width",a);e.tracker.attr("stroke-width",a);d&&d.attr("stroke-width",c);return!1},config:function(a){a.hover&&(this._hover={fill:a.hover.fill,stroke:a.hover.stroke,"stroke-width":a.hover["stroke-width"],cursor:a.hover.cursor});a.disabled&&(this._disabled={fill:a.disabled.fill,stroke:a.disabled.stroke,
"stroke-width":a.disabled["stroke-width"],cursor:a.disabled.cursor});a.pressed&&(this._pressed={fill:a.pressed.fill,stroke:a.pressed.stroke,"stroke-width":a.pressed["stroke-width"],cursor:a.pressed.cursor});a.normal&&(this._normal={fill:a.normal.fill,stroke:a.normal.stroke,"stroke-width":a.normal["stroke-width"],cursor:a.normal.cursor});a.symbol&&(a.symbol={stroke:a.normal.stroke,"stroke-width":a.normal["stroke-width"]})}}},{name:"trianglepath",trianglepath:function(){var a=arguments,c=z._lastArgIfGroup(a);
return this.path(c).attr("trianglepath",[a[0],a[1],a[2],a[3],a[4],a[5],a[6]||0,a[7]||0,a[8]||0])},fn:{sides:function(){var a=this._args;return[ma(a[0],a[1],a[2],a[3]),ma(a[2],a[3],a[4],a[5]),ma(a[4],a[5],a[0],a[1])]},enclosedAngles:function(){var c=this._sides;return[l((a(c[0],2)+a(c[2],2)-a(c[1],2))/(2*c[0]*c[2])),l((a(c[0],2)+a(c[1],2)-a(c[2],2))/(2*c[0]*c[1])),l((a(c[2],2)+a(c[1],2)-a(c[0],2))/(2*c[2]*c[1]))]},semiperimeter:function(){var a=this._sides||this.sides();return(a[0]+a[1]+a[2])/2}},
ca:{trianglepath:function(a,c,e,d,r,m,l,q,z){if(l||q||z){this._args=arguments;this._sides=this.sides();var v=this.enclosedAngles(),n;n=this.semiperimeter();n=A(n*(n-this._sides[0])*(n-this._sides[1])*(n-this._sides[2]))/n;v=[O(l,n)/f(v[0]/2),O(q,n)/f(v[1]/2),O(z,n)/f(v[2]/2)];v=[ja(a,c,r,m,v[0]),ja(a,c,e,d,v[0]),ja(e,d,a,c,v[1]),ja(e,d,r,m,v[1]),ja(r,m,e,d,v[2]),ja(r,m,a,c,v[2])];this.attr({path:["M",v[0].x,v[0].y,"Q",a,c,v[1].x,v[1].y,"L",v[2].x,v[2].y,"Q",e,d,v[3].x,v[3].y,"L",v[4].x,v[4].y,"Q",
r,m,v[5].x,v[5].y,"L",v[0].x,v[0].y]})}else this.attr({path:["M",a,c,"L",e,d,r,m,"Z"]})}}}]);z.ca["text-bound"]=function(a,c,e,d,f,r){var m=this.paper,l=this._.textbound;if("text"===this.type){if(!(c&&"none"!==c||a&&"none"!==a))return this._.textbound=l&&l.unfollow(this).remove(),!1;this.attrs["text-bound"]=arguments;e&&z.is(e,"finite")||(e=0);f&&z.is(f,"finite")||(f=0);!l&&(l=this._.textbound=m.rect(0,0,0,0,this.group).follow(this,z.ca["text-bound"].reposition,"before"));l.attr({stroke:c,"stroke-width":e,
fill:a,"shape-rendering":1===e&&"crisp"||"",r:f});r&&l.attr("stroke-dasharray",r);z.ca["text-bound"].reposition.call(l,this.attr(),this);return!1}};z.ca["text-bound"].reposition=function(a,c){var e={},d,f,r,m,l;a.hasOwnProperty("visibility")&&this.attr("visibility",a.visibility);if(a.hasOwnProperty("text-bound")||a.hasOwnProperty("x")||a.hasOwnProperty("y")||a.hasOwnProperty("text")||a.hasOwnProperty("text-anchor")||a.hasOwnProperty("text-align")||a.hasOwnProperty("font-size")||a.hasOwnProperty("line-height")||
a.hasOwnProperty("vertical-align")||a.hasOwnProperty("transform")||a.hasOwnProperty("rotation"))d=c.attrs["text-bound"],f=L(d&&d[3]||"0").split(ha),d=v(f[0])||0,f=z.pick(v(f[1]),d),r=c.getBBox(),m=r.width,l=r.height,isNaN(m)||(e.x=r.x-d,e.y=r.y-f,e.width=m+2*d,e.height=l+2*f),this.attr(e)};z.fn.symbol=function(){var a=arguments,c=a.length-1,e=a[c];e&&e.constructor===z.el.constructor?a[c]=void 0:e=void 0;c=this.path(void 0,e);c.ca.symbol=z.fn.symbol.ca.symbol;return a.length===!!e+0?c:c.attr("symbol",
a)};z.fn.getSuggestiveRotation=function(){var a,c,e;a=arguments[0];1===arguments.length?(c=a.angle,e=a.x,a=a.y):(c=a,e=arguments[1],a=arguments[2]);return"r"+(c||0)+","+e+","+a};z.fn.symbol.cache={"":z._cacher(function(a,c,e,d){return 3<arguments.length?["M",a,c,"h",e,"v",d,"h",-e,"v",-d,"z"]:["M",a-e,c-e,"h",e*=2,"v",e,"h",-e,"v",-e,"z"]})};z.fn.symbol.ca={symbol:function(a){var c=z.is(a,"object")&&1===arguments.length&&!z.is(a,"function")?a:arguments,d;c===a&&(a=c[0]);c=(d=z.is(a,"function")&&a||
z.fn.symbol.cache[a]||z.fn.symbol.cache[""])&&d.apply(z,e.call(c,1));z.is(c,"array")||z.is(c,"string")?this.attr("path",c):c&&this.attr(c)}};z.addSymbol=function(a,c){var e=z.is(c,"function")&&(e={},e[a]=c,e)||a,d=z.fn.symbol.cache,f=[],r;for(r in e)c=e[r],d[r]=z.is(c,"function")&&z._cacher(c,z)||(f.push(r),c);for(;r=f.pop();)d[r]=d[d[r]]};z.svg?(F="$1",Da=function(a){a?"string"===typeof a?a=a.replace(J,F):a.toString=wa:a="M0,0";this.node.setAttribute("d",a.toString())},z._engine.litepath=function(a,
c,e,d){a=G("path");(d||c).canvas.appendChild(a);c=new W(a,c,d);c.type="litepath";c.id=a.raphaelid=z._oid++;a.raphael=!0;ga(c,{fill:"none",stroke:"#000"});return c},z._getPath.litepath=function(a){return z.parsePathString(a.node.getAttribute("d"))}):z.vml&&(F=function(a,c){return ka[c]||c},fa=function(){this._transform.apply(this,arguments);this._.bcoord&&(this.node.coordsize=this._.bcoord);return this},Da=function(a){a?"string"===typeof a?a=a.replace(J,F):a.toString=wa:a="M0,0";this.node.path=a;return this},
z._engine.litepath=function(a,c,e,d){a=G("shape");var f=a.style,r=new W(a,c,d);f.cssText="position:absolute;left:0;top:0;width:21600px;height:21600px;";e=v(e);isNaN(e)?a.coordsize="21600 21600":(r._.bzoom=e,f.width="1px",f.height="1px",a.coordsize=r._.bcoord=e+" "+e);a.coordorigin=c.coordorigin;r.type="litepath";r.id=a.raphaelid=z._oid++;a.raphael=!0;r._transform=r.transform;r.transform=fa;z._setFillAndStroke(r,{fill:"none",stroke:"#000"});(d||c).canvas.appendChild(a);c=G("skew");c.on=!0;a.appendChild(c);
r.skew=c;return r},z._getPath.litepath=function(a){return z.parsePathString(a.node.path||"")});z.fn.litepath=function(a,c,e){c&&c.constructor===W&&(e=c,c=void 0);a&&a.constructor===W&&(e=a,a="");c=z._engine.litepath(a,this,c,e);c.ca.litepath=Da;a&&c.attr("litepath",z.is(a,"array")?[a]:a);return this.__set__&&this.__set__.push(c),this._elementsById[c.id]=c}}]);FusionCharts.register("module",["private","modules.renderer.js-htmlrenderer",function(){var d=this.hcLib,m=d.Raphael,E=d.dem,n=this.window,
C=n.document,B=/msie/i.test(n.navigator.userAgent)&&!n.opera,K="VML"===m.type,a=d.hasTouch,M={cursor:"cursor"},f={x:"left",y:"top",strokeWidth:"borderThickness","stroke-width":"borderThickness",width:"width",height:"height"},l={fill:"backgroundColor",stroke:"borderColor",color:"color"},O={left:0,top:0,padding:0,border:"none",margin:0,outline:"none","-webkit-apperance":"none",position:"absolute",zIndex:20},X,t=function(a,c,d,m){a=C.createElement(a);for(var e in c)f[e]?a.style[e]=c[e]:a.setAttribute(e,
c[e]);for(e in d)a.style[e]=d[e];m&&m.appendChild&&m.appendChild(a);return a},A;A=function(a,c,d){c&&c instanceof A&&(c=c.element);(this.element=t(a,d,O,c)).ishot="true";this.nodeName=a.toLowerCase();this.added=!!c};A.prototype={attr:function(a){var c=this.element,d={},m,e,r,A,z,n,t;if("object"!==typeof a){if(!(d=this[a])){if("string"===typeof a)c&&c.getAttribute&&(A=c.getAttribute(a));else if(void 0!==a&&null!==a&&"object"===typeof a)for(r in a)c.setAttribute(r,a[r]);d=A}return d}for(m in a){r=a[m];
if(M[m]){switch(m){case "cursor":"pointer"===r&&K&&(r="hand")}c.style[M[m]]=r;e=!0}else if(f[m])c.style[f[m]]=r+"px",e=!0;else if(l[m])c.style[l[m]]=r&&r.replace(/^#?([a-f0-9]+)/ig,"#$1")||"none",e=!0;else if(/^visibility$/i.test(m))e="hidden"===r,c.style.display=e?"none":"",this.hidden=e,e=!0;else if(/^opacity$/i.test(m))c.style.opacity=r,B&&(e=100*Number(r),c.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity="+e+")"),e=!0;else if(/^innerhtml$/i.test(m)){if(K&&"select"==c.nodeName.toLowerCase()){for(e=
r.match(/<option\s?[\s\S]*?(\/>|><\/option>|>[\s\S]*?<\/option>)/ig);c.firstChild;)c.removeChild(c.firstChild);z=0;for(n=e.length;z<n;z+=1)A=e[z],t=C.createElement("option"),/<option\s([\s\S]*[\'\"])\s*?(\/>|>[\s\S]*<\/option>)/ig.test(A)&&(t.value=A.replace(/<option\s([\s\S]*[\'\"])\s*?(\/>|>[\s\S]*<\/option>)/ig,"$1").replace(/[\s\S]*value\s*\=\s*[\'\"]([\s\S]*)[\'\"]/,"$1")),t.text=A.replace(/<option\s*[\s\S]*[\'\"]?\s*?[\/>|\>]([\s\S]*)<\/option>/ig,"$1 "),c.options.add(t)}else"input"!==c.nodeName.toLowerCase()&&
void 0!==r&&(c.innerHTML=r||"");e=!0}else/^text$/i.test(m)?("input"!==c.nodeName.toLowerCase()&&(c.innerHTML="",void 0!==r&&c.appendChild(C.createTextNode(r))),e=!0):/^type$/i.test(m)&&B&&this.added&&(e=!0);e&&(d[m]=r,delete a[m],e=!1)}for(m in a)c.setAttribute(m,a[m]);for(m in d)this[m]=a[m]=d[m],delete d[m];return this},val:function(a){var c=this.element,d=void 0===a;return"input"===this.nodeName&&"checkbox"===c.getAttribute("type")?d?this.checked()?1:0:this.checked(a):d?c.value:(c.value=a,this)},
checked:function(a){var c=this.element;return void 0===a?c.checked:(a?c.setAttribute("checked","checked"):c.removeAttribute("checked"),this)},css:function(a,c){var d=this.element.style,f;if("object"===typeof a)for(f in a)d[f]=a[f];else f&&void 0!==c&&(d[f]=c);return this},translate:function(a,c){var d=this.element;void 0!==a&&(d.style.left=a+"px");void 0!==c&&(d.style.top=c+"px");return this},add:function(a,c){var d=this.element,f=a.element;c?f.insertBefore(d,f.firstChild):f.appendChild(d);this.added=
!0;return this},hide:function(){this.element.style.display="none";return this},show:function(){this.element.style.display="";return this},focus:function(){"function"===typeof this.element.focus?this.element.focus():d.dem.fire(this.element,"focus")},destroy:function(){var a=this.element||{};a.onclick=a.onmouseout=a.onmouseover=a.onmousemove=a.onblur=a.onfocus=null;X||(X=t("div"));a&&X.appendChild(a);X.innerHTML="";delete this.element;return null},on:K?function(a,c){this.element["on"+a]=function(){var a=
n.event;a.target=a.srcElement;c(a)};return this}:function(d,c){var f=c;a&&"click"===d&&(d="touchstart",f=function(a){a.preventDefault();c()});this.element["on"+d]=f;return this},bind:function(a,c,d){E.listen(this.element,a,c,d);return this},unbind:function(a,c){E.unlisten(this.element,a,c);return this},trigger:function(a,c){E.fire(this.element,a,c);return this},fadeIn:function(a,c){var f="fast"===a?400:1E3;this.show();this.attr({opacity:0});d.danimate.animate(this.element,{opacity:1},f,"linear",c)},
animate:function(a,c,f,m){d.danimate.animate(this.element,a,c,f,m)}};A.prototype.constructor=A;m.fn.html=function(a,c,d,f){var e={},r;c&&"type"in c&&(e.type=c.type,delete c.type);a=(new A(a,f,e)).css(d).attr(c);for(r in e)c[r]=e[r];return a}}]);FusionCharts.register("module",["private","modules.renderer.js-raphaeltooltip",function(){var d=this,m=d.window,E=m.document,n=E.body||E.getElementsByTagName("body")[0],C=d.hcLib,B=C.Raphael,K=B.eve,a=C.createElement,M=C.addEvent,f=C.removeEvent,l=C.getPosition,
O=C.hasTouch,X=C.getTouchEvent,t=Math,A=t.ceil,q=t.floor,c={},v=m.screen.availHeight,L=m.screen.availWidth,e={E:1,moz:1,webkit:1,o:1,ms:1},r={borderRadius:"borderRadius",boxShadow:"boxShadow"},H=/\-([a-z])/ig,z=function(a,c){return c.toUpperCase()},P=function(a){var c=G.forbiddenStyle,d,f,m;for(d in a)f=H.test(d)?d.replace(H,z):d,void 0!==a[d]&&!c[f]&&(this[f]=a[d]),B.vml&&/color/ig.test(f)&&(this[f]=B.getRGB(this[f]).toString());for(d in r)if(this[d])for(m in e)this[m+d]=this[d]},G=C.toolTip={elementId:"fusioncharts-tooltip-element",
element:null,lastTarget:null,currentTarget:null,currentPaper:null,pointeroffset:12,prevented:!1,defaultStyle:C.extend2(P.prototype,{backgroundColor:"#ffffee",borderColor:"#000000",borderWidth:"1px",color:"#000000",fontSize:"10px",lineHeight:"12px",padding:"3px",borderStyle:"solid"}),defaultContainerStyle:{position:"absolute",textAlign:"left",margin:"0",zIndex:"99999",pointer:"default",display:"block"},forbiddenStyle:{}},ga=function(a){!0===G._oobready?G._oobready=!1:(f(n,"touchstart",ga),!G.hidden&&
G.currentTarget&&(a=a.srcElement||a.target||c,a.raphael&&G.currentTarget.paper.getById(a.raphaelid)===G.currentTarget||G.hide()))};B.svg&&(G.defaultContainerStyle.pointerEvents="none",G.defaultStyle.borderRadius="0",G.defaultStyle.boxShadow="none");B.vml&&(G.forbiddenStyle.borderRadius=!0,G.forbiddenStyle.boxShadow=!0,G.defaultStyle.filter="");G.setup=function(){var c=G.container,e=G.textElement,f=G.style,r=G.defaultContainerStyle,m=G.forbiddenStyle,l;c||(c=G.element=a("span"),(E.body||E.getElementsByTagName("body")[0]).appendChild(c),
c.setAttribute("id",G.elementId),f=G.containerStyle=c.style,e=G.textElement=a("span"),c.appendChild(e),G.style=B.vml?e.runtimeStyle:e.style,G.style.overflow="hidden",G.style.display="block",G.hidden=!1,G.hide());for(l in r)!m[l]&&(f[l]=r[l]);G.scatted=!0;K.on("raphael.drag.start.*",function(){G.scatted&&(G.waitingScat=!0)});K.on("raphael.drag.move.*",function(){G.waitingScat&&(G.block(),G.waitingScat=!1)});K.on("raphael.drag.end.*",function(){G.waitingScat=!1;G.scatted&&G.unblock(!0)});K.on("raphael.remove",
function(){if(G.currentPaper===this||G.currentTarget&&G.currentTarget.paper===this)G.hide(),G.currentTarget=G.currentPaper=null});d.addEventListener("LinkedChartInvoked",function(a){G.currentPaper===a.sender.apiInstance.components.paper&&G.hide()});d.addEventListener("realTimeUpdateComplete",function(a){G.currentPaper===a.sender.apiInstance.components.paper&&G.hide()})};G.restyle=function(a){var c=G.style,e;for(e in a)c[e]=a[e]};G.onelement=function(a){if(!a.__tipProcessed){var c=this.paper,e="group"===
this.type?c&&c._elementFromEvent(a):this,d=c.__tipStyle;e&&d&&e.__tipNeeded&&((a.originalEvent||a).FusionChartsPreventEvent&&G.preventTooltip(),G.hiding&&(G.hiding=clearTimeout(G.hiding)),G.currentPaper!==c&&(c.__tipCp=c.canvas&&l(c.canvas.parentNode,!0)||{},G.restyle(c.__tipStyle),G.currentPaper=c),G.lastTarget=G.currentTarget,G.currentTarget=e,(G.scatted=e.__tipScatted)&&G.unblock(!0),G.onredraw.call(this,a),a.__tipProcessed=!0,O&&(G._oobready=!0,M(n||(n=E.body||E.getElementsByTagName("body")[0]),
"touchstart",ga)))}};G.onredraw=function(a){a.__tipProcessed||(a.__tipProcessed=!0,(this.paper&&this.paper._elementFromEvent(a))===G.currentTarget&&(a=X(a),G.x=q(a.pageX||a.clientX+E.body.scrollLeft+E.documentElement.scrollLeft||0),G.y=q(a.pageY||a.clientY+E.body.scrollTop+E.documentElement.scrollTop||0),G.redraw()))};G.onhide=function(a){a.__tipProcessed||(a.__tipProcessed=!0,(this.paper&&this.paper._elementFromEvent(a))===G.currentTarget&&(G.hiding=setTimeout(G.hide,200)))};G.redraw=function(){if(!G.prevented&&
!G.blocked&&G.currentTarget&&G.currentTarget.__tipNeeded){var a=G.currentTarget,c=a.paper,e=G.textElement,d=G.containerStyle,f=G.style,r=a.__tipText,a=G.pointeroffset,m=c.__tipCp,l=E.documentElement||E.body,z=l.scrollLeft,l=l.scrollTop,q=G.x,n=G.y,t,H=c.width,B=c.height,c=c.__tipConstrain;if(100>H||100>B)c=!1;G.hidden&&(G.containerStyle.top="-999em",G.show());r!==G.text&&(G.text=r,d.width=d.height="",e.innerHTML=r,f.whiteSpace="nowrap",t=A(f.pixelWidth||e.offsetWidth||0),r=A(f.pixelHeight||e.offsetHeight||
0),(G.textWidthOverflow=q+t>m.left+H)?(t=H-2*a>t?d.width:H-2*a||0,d.width=t&&t+"px"||"",f.whiteSpace="normal"):d.width="",(G.textHeightOverflow=r>B)?(d.height=(B||0)-2*a+"px",f.whiteSpace="normal"):d.height="");t=A(f.pixelWidth||e.offsetWidth||0);r=A(f.pixelHeight||e.offsetHeight||0);c?(G.textWidthOverflow?q=(q-t<m.left?m.left:q-t)-z:q+a+t>m.left-z+H-a&&(q=q-t-a),G.textHeightOverflow?n=m.top-l:n+a+r>m.top-l+B-a&&(n=n-r-1.5*a)):(z+L<q+a+t&&(q=q-t-a),l+v<n+a+r&&(n=n-r-1.5*a));d.left=(q+a||0)+"px";d.top=
(n+a||0)+"px";G.hidden&&G.show()}};G.hide=function(){G.hiding&&(G.hiding=clearTimeout(G.hiding));G.containerStyle.display="none";G.hidden=!0;G.prevented=!1};G.show=function(){G.blocked||(G.hiding&&(G.hiding=clearTimeout(G.hiding)),G.containerStyle.display="inline",G.hidden=!1)};G.preventTooltip=function(){G.prevented=!0};G.block=function(){G.blocked=!0;G.containerStyle.display="none"};G.unblock=function(a){G.blocked=!1;a&&(G.containerStyle.display=G.hidden&&"none"||"inline")};B.fn.tooltip=function(a,
c,e){c&&(c=.4*(void 0===c.opacity?1:c.opacity),B.svg?a.boxShadow="1px 1px 3px rgba(64,64,64,"+c+")":a.filter='progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=135, Color="#404040", shadowOpacity="'+c/2+'")');this.__tipStyle=new P(a);this.__tipCp=this.canvas&&l(this.canvas.parentNode,!0)||{};this.__tipConstrain=!!e;G.style&&G.restyle(this.__tipStyle);G.containerStyle&&G.hide();return this};B.el.trackTooltip=function(a){var c=!!this.__tiptracking;if(void 0===a||(a=!!a)===c)return this;
a?O?this.touchstart(G.onelement):(this.mouseover(G.onelement),this.mousemove(G.onredraw),this.mouseout(G.onhide)):O?this.untouchstart(G.onelement):(this.unmouseover(G.onelement),this.unmousemove(G.onredraw),this.unmouseout(G.onhide));this.__tiptracking=a;return this};B.el.tooltip=function(a,c,e,d,f){G.setup();B.el.tooltip=function(a,c,e,d,f){c=!1===a||void 0===a||""===a;this.__tipScatted=void 0===d?this.__tipScatted:!d;void 0===this.__tipScatted&&(this.__tipScatted=!0);null!==f&&(this.__tip_blocked=
f);c^!this.__tipText&&(this.__tipNeeded=!c);this.__tipText=a;if(G.currentTarget===this&&a!==G.text&&!G.hidden)G[c?"hide":"redraw"]();return this};return B.el.tooltip.call(this,a,c,e,d,f)};d.core._setTooltipZIndex=function(a){a=parseInt(a,10);G&&!isNaN(a)&&(G.defaultContainerStyle.zIndex=a,G.containerStyle&&(G.containerStyle.zIndex=a))}}]);FusionCharts.register("module",["private","modules.renderer.js-smartlabel",function(){var d=this.hcLib,m=d.isIE,E=d.hasSVG,n=Math.max,C=this.window,B=/ HtmlUnit/.test(C.navigator.userAgent),
K=C.document,a=/ AppleWebKit\//.test(C.navigator.userAgent),M=!!K.createElement("canvas").getContext,f=(C=!(!M||!K.createElement("canvas").getContext("2d")))&&C.measureText,l=/<br\/>/ig,O=/&lt;|&gt;/g,X=[],t={" ":"&nbsp;"},C=function(){function A(a,c,e){if(!a||!a.length)return 0;var d=e.getWidthFunction(),f=0,r=0,r=d(a),m=r/a.length;e=c;f=Math.ceil(c/m);if(r<c)return a.length-1;f>a.length&&(e=c-r,f=a.length);for(;0<e;)if(e=c-d(a.substr(0,f)),r=Math.floor(e/m))f+=r;else return f;for(;0>e;)if(e=c-d(a.substr(0,
f)),r=Math.floor(e/m))f+=r;else break;return f}function q(a,c){c=5<c?c:5;this.maxContainers=20>c?c:20;this.last=this.first=null;this.containers={};this.length=0;this.rootNode=a;if(Y){var e=K.createElementNS("http://www.w3.org/2000/svg","svg");e.setAttributeNS("http://www.w3.org/2000/svg","xlink","http://www.w3.org/1999/xlink");e.setAttributeNS("http://www.w3.org/2000/svg","height","0");e.setAttributeNS("http://www.w3.org/2000/svg","width","0");this.svgRoot=e;this.rootNode.appendChild(e)}}function c(a,
c,d){if("undefined"!==typeof a&&"object"!==typeof a){this.id=a;var f;"string"===typeof c&&(c=K.getElementById(c));a:{if(c&&(c.offsetWidth||c.offsetHeight)){if(c.appendChild){c.appendChild(c=K.createElement("div"));c.className="fusioncharts-smartlabel-container";c.setAttribute("aria-hidden","true");c.setAttribute("role","presentation");a=c;break a}}else if((a=K.getElementsByTagName("body")[0])&&a.appendChild){c=K.createElement("div");c.className="fusioncharts-smartlabel-container";c.setAttribute("aria-hidden",
"true");c.setAttribute("role","presentation");a.appendChild(c);a=c;break a}a=void 0}a=this.parentContainer=a;a.innerHTML="WgI";if(B||!m&&!a.offsetHeight&&!a.offsetWidth)Y=!0;a.innerHTML="";for(f in e)a.style[f]=e[f];this.containerManager=new q(a,10);this.showNoEllipses=!d;this.init=!0;this.style={};this.setStyle()}}var v=d.supportedStyle,C={fontWeight:1,"font-weight":1,fontStyle:1,"font-style":1,fontSize:1,"font-size":1,fontFamily:1,"font-family":1},e={position:"absolute",top:"-9999em",whiteSpace:"nowrap",
padding:"0px",width:"1px",height:"1px",overflow:"hidden"},r=a?0:4.5,H=0,z=/\b_SmartLabel\b/,P=/\b_SmartLabelBR\b/,G=/(<[^<\>]+?\>)|(&(?:[a-z]+|#[0-9]+);|.)/ig,ga=RegExp("\\<span[^\\>]+?_SmartLabel[^\\>]{0,}\\>(.*?)\\<\\/span\\>","ig"),W=/<[^>][^<]*[^>]+>/i,Y=!1,T=0,ka=0,J,ha,F;K.getElementsByClassName?(J="getElementsByClassName",ha="_SmartLabel",F=!0):(J="getElementsByTagName",ha="span",F=!1);q.prototype={get:function(a){var c=this.containers,e=this.length,d=this.maxContainers,f,r="",m="",m=this.getCanvasFont(a);
for(f in v)void 0!==a[f]&&(r+=v[f]+":"+a[f]+";");if(!r)return!1;if(c[r])r=c[r],this.first!==r&&(r.prev&&(r.prev.next=r.next),r.next&&(r.next.prev=r.prev),r.next=this.first,r.next.prev=r,this.last===r&&(this.last=r.prev),r.prev=null,this.first=r);else{if(e>=d)for(a=e-d+1;a--;)this.removeContainer(this.last);r=this.addContainer(r,m)}return r},getCanvasFont:function(a){var c,e=[];if(!M||!f)return!1;for(c in C)void 0!==a[c]&&e.push(a[c]);return e.join(" ")},setMax:function(a){var c=this.length;a=5<a?
a:5;a=20>a?a:20;if(a<c){for(c-=a;c--;)this.removeContainer(this.last);this.length=a}this.maxContainers=a},addContainer:function(a,c){var e,d;this.containers[a]=d={next:null,prev:null,node:null,ellipsesWidth:0,lineHeight:0,dotWidth:0,avgCharWidth:4,keyStr:a,canvasStr:c,charCache:{}};d.next=this.first;d.next&&(d.next.prev=d);this.first=d;this.last||(this.last=d);this.length+=1;e=d.node=K.createElement("div");this.rootNode.appendChild(e);m&&!E?e.style.setAttribute("cssText",a):e.setAttribute("style",
a);e.setAttribute("aria-hidden","true");e.setAttribute("role","presentation");e.style.display="inline-block";e.innerHTML="WgI";d.lineHeight=e.offsetHeight;d.avgCharWidth=e.offsetWidth/3;Y?(e=d.svgText=K.createElementNS("http://www.w3.org/2000/svg","text"),e.setAttribute("style",a),this.svgRoot.appendChild(e),e.textContent="WgI",d.lineHeight=e.getBBox().height,d.avgCharWidth=(e.getBBox().width-r)/3,e.textContent="...",d.ellipsesWidth=e.getBBox().width-r,e.textContent=".",d.dotWidth=e.getBBox().width-
r):c?(e=d.canvas=K.createElement("canvas"),e.style.height=e.style.width="0px",this.rootNode.appendChild(e),d.context=e=e.getContext("2d"),e.font=c,d.ellipsesWidth=e.measureText("...").width,d.dotWidth=e.measureText(".").width):(e.innerHTML="...",d.ellipsesWidth=e.offsetWidth,e.innerHTML=".",d.dotWidth=e.offsetWidth,e.innerHTML="");return d},removeContainer:function(a){var c=a.keyStr;c&&this.length&&a&&(--this.length,a.prev&&(a.prev.next=a.next),a.next&&(a.next.prev=a.prev),this.first===a&&(this.first=
a.next),this.last===a&&(this.last=a.prev),a.node.parentNode.removeChild(a.node),a.canvas&&a.canvas.parentNode.removeChild(a.canvas),delete this.containers[c])},dispose:function(){var a,c=this.containers;this.maxContainers=null;for(a in c)this.removeContainer(c[a]);this.rootNode.parentNode.removeChild(this.rootNode);this.last=this.first=this.rootNode=null}};q.prototype.constructor=q;c.prototype={dispose:function(){this.init&&(this.containerManager&&this.containerManager.dispose&&this.containerManager.dispose(),
delete this.container,delete this.context,delete this.cache,delete this.containerManager,delete this.containerObj,delete this.id,delete this.style,delete this.parentContainer,delete this.showNoEllipses)},useEllipsesOnOverflow:function(a){this.init&&(this.showNoEllipses=!a)},getWidthFunction:function(){var a=this.context,c=this.container,e=this.containerObj.svgText;return e?function(a){var c;e.textContent=a;a=e.getBBox();c=a.width-r;1>c&&(c=a.width);return c}:a?function(c){c=c&&c.split?c.split(l):
X;for(var e=0,d=c.length,f=0,e=0;e<d;e+=1)f=n(a.measureText(c[e]||"").width,f);return f}:function(a){c.innerHTML=a;return c.offsetWidth}},getSmartText:function(a,c,e,d){if(!this.init)return!1;if(void 0===a||null===a)a="";var f={text:a,maxWidth:c,maxHeight:e,width:null,height:null,oriTextWidth:null,oriTextHeight:null,oriText:a,isTruncated:!1},r=!1,m,l,q=0,v,t,B,E,C,L=-1,M=E=-1;l=this.container;var X=this.context,da=0;C=0;var Ma,Ia,Ka;Ka=[];var ya=0,gb=this.showNoEllipses?"":"...";B=this.lineHeight;
var Ya,da=[],L=m=-1;Ya=function(a){a=a.replace(/^\s\s*/,"");for(var c=/\s/,e=a.length;c.test(a.charAt(--e)););return a.slice(0,e+1)};E=-1;Ia=this.getWidthFunction();e===B&&(e*=1.2);if(l){if(!Y){(r=W.test(a))?(l.innerHTML=a,f.oriTextWidth=E=l.offsetWidth,f.oriTextHeight=C=l.offsetHeight):(t=a.replace(O,function(a){return"&lt;"===a?"<":">"}),t=this.getOriSizeImprove(t,!0),f.oriTextWidth=E=t.width,f.oriTextHeight=C=t.height);if(C<=e&&E<=c)return f.width=f.oriTextWidth=E,f.height=f.oriTextHeight=C,f;
if(B>e)return f.text="",f.width=f.oriTextWidth=0,f.height=f.oriTextHeight=0,f}a=Ya(a).replace(/(\s+)/g," ");B=this.showNoEllipses?c:c-H;if(r){q=a.replace(G,"$2");a=a.replace(G,'$1<span class="_SmartLabel">$2</span>');a=a.replace(/(<br\s*\/*\>)/g,'<span class="_SmartLabel _SmartLabelBR">$1</span>');l.innerHTML=a;ya=l[J](ha);X=0;for(Ia=ya.length;X<Ia;X+=1)if(a=ya[X],F||z.test(a.className))Ya=a.innerHTML,""!==Ya&&(" "===Ya?L=da.length:"-"===Ya&&(m=da.length),da.push({spaceIdx:L,dashIdx:m,elem:a}),Ka.push(Ya));
ya=0;m=da.length;T=da[0].elem.offsetWidth;if(T>c)return f.text="",f.width=f.oriTextWidth=f.height=f.oriTextHeight=0,f;T>B&&!this.showNoEllipses&&(B=c-2*ka,B>T?gb="..":(B=c-ka,B>T?gb=".":(B=0,gb="")));Ka=da[0].elem.offsetLeft;X=da[0].elem.offsetTop;if(d)for(;ya<m;ya+=1)a=da[ya].elem,Ia=a.offsetLeft-Ka+a.offsetWidth,Ia>B&&(Ma||(Ma=ya),l.offsetWidth>c&&(v=ya,ya=m));else for(;ya<m;ya+=1)a=da[ya].elem,Ya=a.offsetHeight+(a.offsetTop-X),Ia=a.offsetLeft-Ka+a.offsetWidth,d=null,Ia>B?(Ma||(Ma=ya),Ia>c&&(E=
da[ya].spaceIdx,L=da[ya].dashIdx,E>M?(da[E].elem.innerHTML="<br/>",M=E):L>M?(da[L].elem.innerHTML=L===ya?"<br/>-":"-<br/>",M=L):a.parentNode.insertBefore(d=K.createElement("br"),a),a.offsetHeight+a.offsetTop>e?(d?d.parentNode.removeChild(d):M===L?da[L].elem.innerHTML="-":da[E].elem.innerHTML=" ",v=ya,ya=m):Ma=null)):Ya>e&&(v=ya,ya=m);if(v<m){f.isTruncated=!0;Ma=Ma?Ma:v;for(ya=m-1;ya>=Ma;--ya)a=da[ya].elem,a.parentNode.removeChild(a);for(;0<=ya;--ya)a=da[ya].elem,P.test(a.className)?a.parentNode.removeChild(a):
ya=0}f.text=l.innerHTML.replace(ga,"$1").replace(/\&amp\;/g,"&");f.isTruncated&&(f.text+=gb,f.tooltext=q)}else{Ka=a.split("");m=Ka.length;l="";v=[];Ma=Ka[0];this.cache[Ma]?T=this.cache[Ma].width:(T=Ia(Ma),this.cache[Ma]={width:T});if(B>T)v=a.substr(0,A(a,B,this)).split(""),ya=v.length;else{if(T>c)return f.text="",f.width=f.oriTextWidth=f.height=f.oriTextHeight=0,f;gb&&(B=c-2*ka,B>T?gb="..":(B=c-ka,B>T?gb=".":(B=0,gb="")))}da=Ia(v.join(""));C=this.lineHeight;if(d){for(;ya<m;ya+=1)if(Ma=v[ya]=Ka[ya],
this.cache[Ma]?T=this.cache[Ma].width:(t&&(T=t.detailObj[Ma])||(T=Ia(Ma)),this.cache[Ma]={width:T}),da+=T,da>B&&(l||(l=v.slice(0,-1).join("")),da>c))return f.text=Ya(l)+gb,f.tooltext=f.oriText,f.width=Ia(f.text),f.height=this.lineHeight,f;f.text=v.join("");f.width=da;f.height=this.lineHeight}else{for(;ya<m;ya+=1)if(Ma=v[ya]=Ka[ya]," "!==Ma||X||(Ma="&nbsp;"),this.cache[Ma]?T=this.cache[Ma].width:(t&&(T=t.detailObj[Ma])||(T=Ia(Ma)),this.cache[Ma]={width:T}),da+=T,da>B&&(l||(l=v.slice(0,-1).join("")),
da>c)){E=a.substr(0,v.length).lastIndexOf(" ");L=a.substr(0,v.length).lastIndexOf("-");E>M?(da=Ia(v.slice(M+1,E).join("")),v.splice(E,1,"<br/>"),M=E,d=E+1):L>M?(L===v.length-1?(da=Ia(v.slice(M+1,E).join("")),v.splice(L,1,"<br/>-")):(da=Ia(v.slice(M+1,E).join("")),v.splice(L,1,"-<br/>")),M=L,d=L+1):(v.splice(v.length-1,1,"<br/>"+Ka[ya]),E=v.length-2,da=Ia(v.slice(M+1,E+1).join("")),M=E,d=ya);C+=this.lineHeight;if(C>e)return f.text=Ya(l)+gb,f.tooltext=f.oriText,f.width=c,f.height=C-this.lineHeight,
f;q=n(q,da);l=null;Ma=A(a.substr(d),B,this);da=Ia(a.substr(d,Ma||1));v.length<d+Ma&&(v=v.concat(a.substr(v.length,d+Ma-v.length).split("")),ya=v.length-1)}q=n(q,da);f.text=v.join("");f.width=q;f.height=C}return f}f.height=l.offsetHeight;f.width=l.offsetWidth}else f.error=Error("Body Tag Missing!");return f},setStyle:function(a){if(!this.init)return!1;if(a!==this.style||this.styleNotSet){a||(a=this.style);var c=a,e=c.fontSize=c.fontSize||"12px";c.lineHeight=c.lineHeight||c["line-height"]||1.2*parseInt(e,
10)+"px";this.style=a;(this.containerObj=a=this.containerManager.get(a))?(this.container=a.node,this.context=a.context,this.cache=a.charCache,this.lineHeight=a.lineHeight,H=a.ellipsesWidth,ka=a.dotWidth,this.styleNotSet=!1):this.styleNotSet=!0}},getTextSize:function(a,c,e){if(!this.init)return!1;var d={text:a,width:null,height:null,oriTextWidth:null,oriTextHeight:null,isTruncated:!1},f=this.container;f&&(f.innerHTML=a,d.oriTextWidth=f.offsetWidth,d.oriTextHeight=f.offsetHeight,d.width=Math.min(d.oriTextWidth,
c),d.height=Math.min(d.oriTextHeight,e),d.width<d.oriTextWidth||d.height<d.oriTextHeight)&&(d.isTruncated=!0);return d},getOriSize:function(a){if(!this.init)return!1;var c={text:a,width:null,height:null},e=this.container,d=this.getWidthFunction(),f=0;if(Y){a=a.split(/(<br\s*\/*\>)/g);e=a.length;for(c.height=this.lineHeight*e;e--;)f=n(f,d(a[e]));c.width=f}else e&&(e.innerHTML=a,c.width=e.offsetWidth,c.height=e.offsetHeight);return c},getOriSizeImprove:function(a,c){if(!this.init)return!1;var e,d,f,
r=0,m=0,l={},z,q;if(!c)return this.calCharDimWithCache(a);e=a.split("");z=0;for(q=e.length;z<q;z++)d=e[z],f=this.calCharDimWithCache(d,!0,e.length),m=Math.max(m,f.height),r+=f.width,l[d]=f.width;return{width:r,height:m,detailObj:l}},calCharDimWithCache:function(a,c,e){if(!this.init)return!1;var d=this.container,f=this.style||{},r=this.advancedCache||(this.advancedCache={}),m=this.advancedCacheKey||(this.advancedCacheKey=[]),l=a+(f.fontSize||"")+(f.fontFamily||"")+(f.fontWeight||"")+(f.fontStyle||
""),f=a+"init"+(f.fontSize||"")+(f.fontFamily||"")+(f.fontWeight||"")+(f.fontStyle||""),z;t[a]&&(a=t[a]);c?void 0===(c=r[f])&&(d.innerHTML=a.repeat?a.repeat(e):Array(e+1).join(a),c=d.offsetWidth,d.innerHTML=a,z=d.offsetWidth,c=r[f]=(c-e*z)/(e+1),m.push(f),500<m.length&&delete r[m.shift()]):c=0;if(e=r[l])return r=e.split(","),{width:parseFloat(r[0],10),height:parseFloat(r[1],10)};d.innerHTML=a;a={height:d.offsetHeight,width:d.offsetWidth+c};r[l]=a.width+","+a.height;m.push(l);500<m.length&&delete r[m.shift()];
return a}};return c.prototype.constructor=c}();d.SmartLabelManager=C}]);FusionCharts.register("module",["private","modules.renderer.js-numberformatter",function(){var d=this,m=d.hcLib,E=m.pluckNumber,n=m.extend2,C=m.getValidValue,B=m.pluck,K=m.getFirstValue,a=Math.abs,M=Math.pow,f=Math.round,l=function(a){return a&&a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},O={},X=function(a){var d=[],c;for(c in a)d.push(c+"_"+a[c]);d.sort();return d.join(",")},t=function(a){var d={},c;for(c in a)d[c.toLowerCase()]=
a[c];return d};m.NumberFormatter=function(){function d(a,c,e){var m;if(0>=c)return f(a)+"";if(isNaN(c))return a+="",12<a.length&&-1!=a.indexOf(".")&&(c=12-a.split(".")[0].length,m=M(10,c),a=f(a*m)/m+""),a;m=M(10,c);a=f(a*m)/m+"";if(1==e)for(-1==a.indexOf(".")&&(a+=".0"),e=a.split("."),c-=e[1].length,e=1;e<=c;e++)a+="0";return a}function m(a,c,e,d,f){var l=Number(a),q="",v=!1,n="",A="",t=n=0;if(isNaN(l))return"";if(1E15<l)return l.toExponential(f?1:14);n=0;t=a.length;-1!=a.indexOf(".")&&(q=a.substring(a.indexOf(".")+
1,a.length),t=a.indexOf("."));0>l&&(v=!0,n=1);n=a.substring(n,t);a=n.length;f=d.length-1;l=d[f];if(a<l)A=n;else for(;a>=l;)A=(a-l?e:"")+n.substr(a-l,l)+A,a-=l,l=0>=--f?d[0]:d[f],a<l&&(A=n.substring(a,0)+A);""!=q&&(A=A+c+q);!0===v&&(A="-"+A);return A}var c,v={formatnumber:"1",formatnumberscale:"1",forcenumberscale:"0",defaultnumberscale:"",numberscaleunit:["K","M"],numberscalevalue:[1E3,1E3],numberprefix:"",numbersuffix:"",decimals:"",forcedecimals:"0",yaxisvaluedecimals:"2",decimalseparator:".",thousandseparator:",",
thousandseparatorposition:[3],indecimalseparator:"",inthousandseparator:"",sformatnumber:"1",sformatnumberscale:"0",sforcenumberscale:"0",sdefaultnumberscale:"",snumberscaleunit:["K","M"],snumberscalevalue:[1E3,1E3],snumberprefix:"",snumbersuffix:"",sdecimals:"2",sforcedecimals:"0",syaxisvaluedecimals:"2",xFormatNumber:"0",xFormatNumberScale:"0",xforcenumberscale:"0",xDefaultNumberScale:"",xNumberScaleUnit:["K","M"],xNumberScaleValue:[1E3,1E3],xNumberPrefix:"",xNumberSuffix:""},t={mscombidy2d:{formatnumberscale:"1"}},
e=function(a,c){var e=a.name,d=this.csConf=n({},v);(e=t[e])&&n(d,e);this.linkedItems={iapi:a};this.configure(c)};e.prototype={configure:function(a){var c=this.linkedItems.iapi,e=c.jsonData;a=a||e.chart;var e=c.name,d=this.csConf,f,m,q,A,t,L,J,M,F,O,X,fa,ma,ja,R,qa,bb,Ga,Ca,Oa;this.csConf=d;this.useScaleRecursively=c.useScaleRecursively;C(a.numberscaleunit)&&(f=a.numberscaleunit.split(","));if(m=C(a.snumberscaleunit,a.numberscaleunit))m=m.split(",");if(q=C(a.xnumberscaleunit,a.numberscaleunit))q=q.split(",");
if(A=C(a.ticknumberscaleunit,a.numberscaleunit))A=A.split(",");if(t=C(a.ynumberscaleunit,a.numberscaleunit))t=t.split(",");C(a.numberscalevalue)&&(L=a.numberscalevalue.split(","));if(X=C(a.snumberscalevalue,a.numberscalevalue))X=X.split(",");if(J=C(a.xnumberscalevalue,a.numberscalevalue))J=J.split(",");if(M=C(a.ticknumberscalevalue,a.numberscalevalue))M=M.split(",");if(F=C(a.ynumberscalevalue,a.numberscalevalue))F=F.split(",");if(C(a.thousandseparatorposition))for(O=a.thousandseparatorposition.split(","),
fa=O.length,ja=v.thousandseparatorposition[0];fa--;)ma=parseInt(O[fa],10),0>=ma&&(ma=ja),ja=O[fa]=ma;c||(c={});fa=E(a.scalerecursively,0);ma=E(a.sscalerecursively,fa);ja=E(a.xscalerecursively,fa);R=E(a.maxscalerecursion,-1);qa=E(a.smaxscalerecursion,R);bb=E(a.xmaxscalerecursion,R);Ga=C(a.scaleseparator," ");Ca=C(a.sscaleseparator,Ga);Oa=C(a.xscaleseparator,Ga);R||(R=-1);this.baseConf=O={cacheStore:[],formatnumber:B(a.formatnumber,c.formatnumber,d.formatnumber),formatnumberscale:B(a.formatnumberscale,
c.formatnumberscale,d.formatnumberscale),forcenumberscale:B(a.forcenumberscale,c.forcenumberscale,d.forcenumberscale),defaultnumberscale:K(a.defaultnumberscale,c.defaultnumberscale,d.defaultnumberscale),numberscaleunit:B(f,c.numberscaleunit,d.numberscaleunit).concat(),numberscalevalue:B(L,c.numberscalevalue,d.numberscalevalue).concat(),numberprefix:K(a.numberprefix,c.numberprefix,d.numberprefix),numbersuffix:K(a.numbersuffix,c.numbersuffix,d.numbersuffix),decimalprecision:parseInt("auto"===a.decimals?
d.decimalprecision:B(a.decimals,a.decimalprecision,c.decimals,d.decimals,c.decimalprecision,d.decimalprecision),10),forcedecimals:B(a.forcedecimals,c.forcedecimals,d.forcedecimals),decimalseparator:B(a.decimalseparator,c.decimalseparator,d.decimalseparator),thousandseparator:B(a.thousandseparator,c.thousandseparator,d.thousandseparator),thousandseparatorposition:B(O,c.thousandseparatorposition,d.thousandseparatorposition),indecimalseparator:K(a.indecimalseparator,c.indecimalseparator,d.indecimalseparator),
inthousandseparator:K(a.inthousandseparator,c.inthousandseparator,d.inthousandseparator),scalerecursively:fa,maxscalerecursion:R,scaleseparator:Ga};C(O.inthousandseparator)&&(this.baseConf._REGinthousandseparator=new RegExp(l(O.inthousandseparator),"g"));C(O.indecimalseparator)&&(this.baseConf._REGindecimalseparator=new RegExp(l(O.indecimalseparator)));this.Y=[];f={cacheStore:[],formatnumber:O.formatnumber,formatnumberscale:O.formatnumberscale,forcenumberscale:O.forcenumberscale,defaultnumberscale:O.defaultnumberscale,
numberscaleunit:O.numberscaleunit.concat(),numberscalevalue:O.numberscalevalue.concat(),numberprefix:O.numberprefix,numbersuffix:O.numbersuffix,decimalprecision:O.decimalprecision,forcedecimals:O.forcedecimals,decimalseparator:O.decimalseparator,thousandseparator:O.thousandseparator,thousandseparatorposition:O.thousandseparatorposition,indecimalseparator:O.indecimalseparator,inthousandseparator:O.inthousandseparator,scalerecursively:fa,maxscalerecursion:R,scaleseparator:Ga};c.useScaleRecursively&&
(f.numberscalevalue&&f.numberscalevalue.length)==(f.numberscaleunit&&f.numberscaleunit.length)||(f.scalerecursively=fa=0);L={cacheStore:[],formatnumber:f.formatnumber,formatnumberscale:f.formatnumberscale,forcenumberscale:f.forcenumberscale,defaultnumberscale:f.defaultnumberscale,numberscaleunit:f.numberscaleunit.concat(),numberscalevalue:f.numberscalevalue.concat(),numberprefix:f.numberprefix,numbersuffix:f.numbersuffix,decimalprecision:parseInt(B(a.yaxisvaluedecimals,f.decimalprecision,2),10),forcedecimals:B(a.forceyaxisvaluedecimals,
f.forcedecimals),decimalseparator:f.decimalseparator,thousandseparator:f.thousandseparator,thousandseparatorposition:f.thousandseparatorposition.concat(),indecimalseparator:f.indecimalseparator,inthousandseparator:f.inthousandseparator,scalerecursively:fa,maxscalerecursion:R,scaleseparator:Ga};X={cacheStore:[],formatnumber:B(a.sformatnumber,c.sformatnumber,v.sformatnumber),formatnumberscale:B(a.sformatnumberscale,c.sformatnumberscale,v.sformatnumberscale),forcenumberscale:B(a.sforcenumberscale,c.sforcenumberscale,
v.sforcenumberscale),defaultnumberscale:K(a.sdefaultnumberscale,c.sdefaultnumberscale,f.defaultnumberscale),numberscaleunit:B(m,c.snumberscaleunit,v.snumberscaleunit).concat(),numberscalevalue:B(X,c.snumberscalevalue,v.snumberscalevalue).concat(),numberprefix:K(a.snumberprefix,c.snumberprefix,v.snumberprefix),numbersuffix:K(a.snumbersuffix,c.snumbersuffix,v.snumbersuffix),decimalprecision:parseInt(B(a.syaxisvaluedecimals,a.sdecimals,a.decimals,c.sdecimals,v.sdecimals),10),forcedecimals:B(a.forcesyaxisvaluedecimals,
a.sforcedecimals,a.forcedecimals,c.sforcedecimals,v.sforcedecimals),decimalseparator:B(a.decimalseparator,c.decimalseparator,v.decimalseparator),thousandseparator:B(a.thousandseparator,c.thousandseparator,v.thousandseparator),thousandseparatorposition:f.thousandseparatorposition.concat(),indecimalseparator:B(a.indecimalseparator,c.indecimalseparator,v.indecimalseparator),inthousandseparator:B(a.inthousandseparator,c.inthousandseparator,v.inthousandseparator),scalerecursively:ma,maxscalerecursion:qa,
scaleseparator:Ca};m=n({},X);m.decimalprecision=parseInt(B(a.sdecimals,a.decimals,a.syaxisvaluedecimals,c.sdecimals,v.sdecimals),10);m.forcedecimals=B(a.sforcedecimals,a.forcedecimals,a.forcesyaxisvaluedecimals,c.sforcedecimals,v.sforcedecimals);m.cacheStore=[];c.useScaleRecursively&&(X.numberscalevalue&&X.numberscalevalue.length)==(X.numberscaleunit&&X.numberscaleunit.length)||(X.scalerecursively=ma=0);/^(bubble|scatter|selectscatter|zoomscatter)$/.test(e)&&(L.formatnumber=B(a.yformatnumber,L.formatnumber),
L.formatnumberscale=B(a.yformatnumberscale,L.formatnumberscale),L.forcenumberscale=B(a.yforcenumberscale,L.forcenumberscale),L.defaultnumberscale=K(a.ydefaultnumberscale,L.defaultnumberscale),L.numberscaleunit=B(t,L.numberscaleunit),L.numberscalevalue=B(F,L.numberscalevalue),L.numberprefix=B(a.ynumberprefix,L.numberprefix),L.numbersuffix=B(a.ynumbersuffix,L.numbersuffix),f.formatnumber=B(a.yformatnumber,f.formatnumber),f.formatnumberscale=B(a.yformatnumberscale,f.formatnumberscale),f.forcenumberscale=
B(a.yforcenumberscale,f.forcenumberscale),f.defaultnumberscale=K(a.ydefaultnumberscale,f.defaultnumberscale),f.numberscaleunit=B(a.ynumberscaleunit,f.numberscaleunit.concat()),f.numberscalevalue=B(a.ynumberscalevalue,f.numberscalevalue.concat()),f.numberprefix=B(a.ynumberprefix,f.numberprefix),f.numbersuffix=B(a.ynumbersuffix,f.numbersuffix));/^(pie2d|pie3d|doughnut2d|doughnut3d|marimekko|pareto2d|pareto3d)$/.test(e)&&(f.decimalprecision=B(a.decimals,"2"));fa&&(f.numberscalevalue.push(1),f.numberscaleunit.unshift(f.defaultnumberscale),
L.numberscalevalue.push(1),L.numberscaleunit.unshift(L.defaultnumberscale));ma&&(X.numberscalevalue.push(1),X.numberscaleunit.unshift(X.defaultnumberscale),m.numberscalevalue.push(1),m.numberscaleunit.unshift(m.defaultnumberscale));this.Y[0]={yAxisLabelConf:L,dataLabelConf:f};this.Y[1]={yAxisLabelConf:X,dataLabelConf:m};this.paramLabels=f;this.param1=L;this.param2=X;this.paramLabels2=m;this.paramX={cacheStore:[],formatnumber:B(a.xformatnumber,O.formatnumber),formatnumberscale:B(a.xformatnumberscale,
O.formatnumberscale),forcenumberscale:B(a.xforcenumberscale,O.forcenumberscale),defaultnumberscale:K(a.xdefaultnumberscale,O.defaultnumberscale),numberscaleunit:B(q,O.numberscaleunit.concat()),numberscalevalue:B(J,O.numberscalevalue.concat()),numberprefix:B(a.xnumberprefix,O.numberprefix),numbersuffix:B(a.xnumbersuffix,O.numbersuffix),decimalprecision:parseInt(B(a.xaxisvaluedecimals,a.xaxisvaluesdecimals,O.decimalprecision,2),10),forcedecimals:B(a.forcexaxisvaluedecimals,0),decimalseparator:O.decimalseparator,
thousandseparator:O.thousandseparator,thousandseparatorposition:O.thousandseparatorposition.concat(),indecimalseparator:O.indecimalseparator,inthousandseparator:O.inthousandseparator,scalerecursively:ja,maxscalerecursion:bb,scaleseparator:Oa};this.paramLegend=n(n({},O),{cacheStore:[],decimalprecision:parseInt(E(a.legendvaluedecimals,O.decimalprecision,2),10),forcedecimals:E(a.legendvalueforcedecimals,O.forcedecimals,0),formatnumberscale:B(a.legendvalueformatnumberscale,O.formatnumberscale),forcenumberscale:B(a.legendvalueforcenumberscale,
O.forcenumberscale),formatnumber:B(a.legendvalueformatnumber,O.formatnumber)});fa&&(this.paramLegend.numberscalevalue.push(1),this.paramLegend.numberscaleunit.unshift(this.paramLegend.defaultnumberscale));c.useScaleRecursively&&(this.paramX.numberscalevalue&&this.paramX.numberscalevalue.length)==(this.paramX.numberscaleunit&&this.paramX.numberscaleunit.length)||(this.paramX.scalerecursively=ja=0);ja&&(this.paramX.numberscalevalue.push(1),this.paramX.numberscaleunit.unshift(this.paramX.defaultnumberscale));
this.paramScale={cacheStore:[],formatnumber:B(a.tickformatnumber,O.formatnumber),formatnumberscale:B(a.tickformatnumberscale,O.formatnumberscale),forcenumberscale:B(a.tickforcenumberscale,O.forcenumberscale),defaultnumberscale:K(a.tickdefaultnumberscale,O.defaultnumberscale),numberscaleunit:B(A,O.numberscaleunit.concat()),numberscalevalue:B(M,O.numberscalevalue.concat()),numberprefix:B(a.ticknumberprefix,O.numberprefix),numbersuffix:B(a.ticknumbersuffix,O.numbersuffix),decimalprecision:parseInt(B(a.tickvaluedecimals,
O.decimalprecision,"2"),10),forcedecimals:B(a.forcetickvaluedecimals,O.forcedecimals,0),decimalseparator:O.decimalseparator,thousandseparator:O.thousandseparator,thousandseparatorposition:O.thousandseparatorposition.concat(),indecimalseparator:O.indecimalseparator,inthousandseparator:O.inthousandseparator,scalerecursively:fa,maxscalerecursion:R,scaleseparator:Ga};fa&&(this.paramScale.numberscalevalue.push(1),this.paramScale.numberscaleunit.unshift(this.paramScale.defaultnumberscale));this.timeConf=
{inputDateFormat:B(a.inputdateformat,a.dateformat,"mm/dd/yyyy"),outputDateFormat:B(a.outputdateformat,a.inputdateformat,a.dateformat,"mm/dd/yyyy"),days:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),months:"January February March April May June July August September October November December".split(" "),daySuffix:" st nd rd th th th th th th th th th th th th th th th th th st nd rd th th th th th th th st".split(" ")};this.cleaneValueCacheStore={};this.percentStrCacheStore=
{}},cleaneValueCacheStore:{},percentStrCacheStore:{},dispose:function(){this.Y&&delete this.Y;this.cleaneValueCacheStore&&delete this.cleaneValueCacheStore;this.percentStrCacheStore&&delete this.percentStrCacheStore;this.paramLabels&&delete this.paramLabels;this.param1&&delete this.param1;this.param2&&delete this.param2;this.paramLabels2&&delete this.paramLabels2;this.csConf&&delete this.csConf;this.iapi&&delete this.iapi;this.baseConf&&delete this.baseConf;this.timeConf&&delete this.timeConf;this.paramX&&
delete this.paramX;this.paramScale&&delete this.paramScale},parseMLAxisConf:function(c,e){var d=this.baseConf,f=this.csConf,m=E(c.scalerecursively,d.scalerecursively),l=E(c.maxscalerecursion,d.maxscalerecursion),q=C(c.scaleseparator,d.scaleseparator),A,n,t,J,L,F;e=E(e,this.Y.length);C(c.numberscaleunit)&&(A=c.numberscaleunit.split(","));C(c.numberscalevalue)&&(n=c.numberscalevalue.split(","));l||(l=-1);if(C(c.thousandseparatorposition))for(t=c.thousandseparatorposition.split(","),J=t.length,F=v.thousandseparatorposition[0];J--;)(L=
E(a(t[J])))?F=L:L=F,t[J]=L;d={cacheStore:[],formatnumber:B(c.formatnumber,d.formatnumber),formatnumberscale:B(c.formatnumberscale,d.formatnumberscale),forcenumberscale:B(c.forcenumberscale,d.forcenumberscale),defaultnumberscale:K(c.defaultnumberscale,d.defaultnumberscale),numberscaleunit:B(A,d.numberscaleunit).concat(),numberscalevalue:B(n,d.numberscalevalue).concat(),numberprefix:K(c.numberprefix,d.numberprefix),numbersuffix:K(c.numbersuffix,d.numbersuffix),forcedecimals:B(c.forcedecimals,d.forcedecimals),
decimalprecision:parseInt("auto"===c.decimals?f.decimalprecision:B(c.decimals,d.decimalprecision),10),decimalseparator:B(c.decimalseparator,d.decimalseparator),thousandseparator:B(c.thousandseparator,d.thousandseparator),thousandseparatorposition:B(t,d.thousandseparatorposition),indecimalseparator:K(c.indecimalseparator,d.indecimalseparator),inthousandseparator:K(c.inthousandseparator,d.inthousandseparator),scalerecursively:m,maxscalerecursion:l,scaleseparator:q};this.useScaleRecursively&&(d.numberscalevalue&&
d.numberscalevalue.length)==(d.numberscaleunit&&d.numberscaleunit.length)||(d.scalerecursively=m=0);l={cacheStore:[],formatnumber:d.formatnumber,formatnumberscale:d.formatnumberscale,forcenumberscale:d.forcenumberscale,defaultnumberscale:d.defaultnumberscale,numberscaleunit:d.numberscaleunit.concat(),numberscalevalue:d.numberscalevalue.concat(),numberprefix:d.numberprefix,numbersuffix:d.numbersuffix,decimalprecision:parseInt(B(c.yaxisvaluedecimals,d.decimalprecision,2),10),forcedecimals:B(c.forceyaxisvaluedecimals,
d.forcedecimals),decimalseparator:d.decimalseparator,thousandseparator:d.thousandseparator,thousandseparatorposition:d.thousandseparatorposition.concat(),indecimalseparator:d.indecimalseparator,inthousandseparator:d.inthousandseparator,scalerecursively:m,maxscalerecursion:l,scaleseparator:q};m&&(d.numberscalevalue.push(1),d.numberscaleunit.unshift(d.defaultnumberscale),l.numberscalevalue.push(1),l.numberscaleunit.unshift(l.defaultnumberscale));this.Y[e]={dataLabelConf:d,yAxisLabelConf:l}},percentValue:function(a){var c=
this.percentStrCacheStore[a];void 0===c&&(c=isNaN(this.paramLabels.decimalprecision)?"2":this.paramLabels.decimalprecision,c=this.percentStrCacheStore[a]=m(d(a,c,this.paramLabels.forcedecimals),this.paramLabels.decimalseparator,this.paramLabels.thousandseparator,this.paramLabels.thousandseparatorposition)+"%");return c},getCleanValue:function(c,e){var d=this.cleaneValueCacheStore[c];if(void 0===d||e){var f=this.baseConf,d=c+"";f._REGinthousandseparator&&(d=d.replace(f._REGinthousandseparator,""));
f._REGindecimalseparator&&(d=d.replace(f._REGindecimalseparator,"."));d=parseFloat(d);d=isFinite(d)?d:NaN;this.cleaneValueCacheStore[c]=d=isNaN(d)?null:e?a(d):d}return d},dataLabels:function(a,e){var d=this.Y[e]||(e?this.Y[1]:this.Y[0]),f,d=d&&d.dataLabelConf||this.baseConf;f=d.cacheStore[a];void 0===f&&(f=d.cacheStore[a]=c(a,d));return f},yAxis:function(a,e){var d=this.Y[e]||(e?this.Y[1]:this.Y[0]),f,d=d&&d.yAxisLabelConf||this.baseConf;f=d.cacheStore[a];void 0===f&&(f=d.cacheStore[a]=c(a,d,!0));
return f},xAxis:function(a){var e=this.paramX.cacheStore[a];void 0===e&&(e=this.paramX.cacheStore[a]=c(a,this.paramX,!0));return e},sYAxis:function(a){var e=this.Y[1],d,e=e&&e.yAxisLabelConf||this.baseConf;d=e.cacheStore[a];void 0===d&&(d=e.cacheStore[a]=c(a,e));return d},scale:function(a){var e=this.paramScale.cacheStore[a];void 0===e&&(e=this.paramScale.cacheStore[a]=c(a,this.paramScale));return e},getCleanTime:function(a){var c;this.timeConf.inputDateFormat&&Date.parseExact&&(c=Date.parseExact(a,
this.timeConf.inputDateFormat));return c&&c.getTime()},legendValue:function(a){var e=this.paramLegend.cacheStore[a];void 0===e&&(e=this.paramLegend.cacheStore[a]=c(a,this.paramLegend));return e},legendPercentValue:function(a){var c=this.percentStrCacheStore[a],e=this.paramLegend;void 0===c&&(c=isNaN(e.decimalprecision)?"2":e.decimalprecision,c=this.percentStrCacheStore[a]=m(d(a,c,e.forcedecimals),e.decimalseparator,e.thousandseparator,e.thousandseparatorposition)+"%");return c},getDateValue:function(a){var c,
e,d;a&&!/\//.test(this.timeConf.inputDateFormat)&&(a=a.replace(new RegExp(this.timeConf.inputDateFormat.replace(/[a-z]/ig,"").slice(0,1),"g"),"/"));a=/^dd/.test(this.timeConf.inputDateFormat)&&a&&a.replace(/(\d{1,2})\/(\d{1,2})\/(\d{2,4})/,"$2/$1/$3")||a;c=new Date(a);e=c.getTime();!e&&a&&/\:/.test(a)&&(a=a.split(":"),e=E(a[0],0),d=E(a[1],0),a=E(a[2],0),e=23<e?24===e&&0===d&&0===a?e:23:e,d=59<d?59:d,a=59<a?59:a,c=new Date,c.setHours(e),c.setMinutes(d),c.setSeconds(a),e=c.getTime());return{ms:e,date:c}},
getFormattedDate:function(a,c){var e="object"===typeof a&&a||new Date(a),d=this.timeConf,f=B(c,d.outputDateFormat),m=e.getFullYear(),l=e.getMonth(),q=e.getDate(),v=e.getDay(),A=e.getMinutes(),n=e.getSeconds(),e=e.getHours(),A=9<A?""+A:"0"+A,n=9<n?""+n:"0"+n,e=9<e?""+e:"0"+e;f.match(/dnl/)&&(f=f.replace(/dnl/ig,d.days[v]));f.match(/dns/)&&(f=f.replace(/dns/ig,d.days[v]&&d.days[v].substr(0,3)));f.match(/dd/)&&(f=f.replace(/dd/ig,q));f.match(/mnl/)&&(f=f.replace(/mnl/ig,d.months[l]));f.match(/mns/)&&
(f=f.replace(/mns/ig,d.months[l]&&d.months[l].substr(0,3)));f.match(/mm/)&&(f=f.replace(/mm/ig,l+1));f.match(/yyyy/)&&(f=f.replace(/yyyy/ig,m));f.match(/yy/)&&(f=f.replace(/yy/ig,(m%1E3%100+"").replace(/^(\d)$/,"0$1")));f.match(/hh12/)&&(f=f.replace(/hh12/ig,e%12||12));f.match(/hh/)&&(f=f.replace(/hh/ig,e));f.match(/mn/)&&(f=f.replace(/mn/ig,A));f.match(/ss/)&&(f=f.replace(/ss/ig,n));f.match(/ampm/)&&(f=f.replace(/ampm/ig,12>e?"AM":"PM"));f.match(/ds/)&&(f=f.replace(/ds/ig,d.daySuffix[q]));return f}};
e.prototype.constructor=e;c=function(a,c,e){if(null!==a){a=Number(a);var f=a+"",l,v,n,t,C;l=1==c.formatnumberscale?c.defaultnumberscale:"";C=(C=f.split(".")[1])?C.length:c.forcedecimals?"2":"";if(1==c.formatnumberscale){f=a;v=c.defaultnumberscale;a=c.numberscalevalue;l=c.numberscaleunit;var L=c.scalerecursively;n=c.forcenumberscale;t={};var J=v,M=0,F=[],O=[],K;n=E(n)||0;if(L){J=E(a[0])||1E3;for(M=0;M<a.length;M++)if(L=E(a[M])||1E3,Math.abs(Number(f))>=L&&M<a.length-1)K=f%L,f=(f-K)/L,0===M&&0!==K&&
""===l[M]&&n?(F.push(K/J),O.push(l[1]||"")):0!==K&&(1===M&&""===v&&n?(L=K+(F.length?F.pop():0),O.pop(),F.push(L)):F.push(K),O.push(l[M]));else{0===M&&""===v&&n?(f=Number(f)/J,F.push(f),O.push(l[1]||"")):(1===M&&""===v&&n?(L=f+(F.length?F.pop():0),O.pop(),F.push(L)):F.push(f),O.push(l[M]));break}F.reverse();O.reverse();t.value=F;t.scale=O}else{if(a.length===l.length)for(M=0;M<a.length;M++)if(L=E(a[M])||1E3,Math.abs(Number(f))>=L)J=l[M]||"",f=Number(f)/L;else{0===M&&""===v&&n&&(J=l[0]||"",f=Number(f)/
L);break}t.value=f;t.scale=J}v=t;a=f=v.value;l=v.scale}if(c.scalerecursively&&0!==c.formatnumberscale&&"0"!==c.formatnumberscale){e=v.value;v=v.scale;a=-1==c.maxscalerecursion?e.length:Math.min(e.length,c.maxscalerecursion);if(1==c.formatnumber)for(f="",t=0;t<a;t++)l=0===t?e[t]:Math.abs(e[t]),n=l+"",t==a-1&&(n=d(l,B(c.decimalprecision,C),c.forcedecimals)),f=f+m(n,c.decimalseparator,c.thousandseparator,c.thousandseparatorposition)+v[t]+(t<a-1?c.scaleseparator:"");else for(f="",t=0;t<a;t++)f=f+(0===
t?e[t]:Math.abs(e[t])+"")+v[t]+(t<a-1?c.scaleseparator:"");f=(c.numberprefix||"")+f+(c.numbersuffix||"")}else 1==c.formatnumber&&(f=d(a,B(c.decimalprecision,C),c.forcedecimals),f=m(f,c.decimalseparator,c.thousandseparator,c.thousandseparatorposition,e)),f=(c.numberprefix||"")+f+l+(c.numbersuffix||"");return f}};return e}();d.extend(d.core,{formatNumber:function(a,d){d=d&&t(d)||{};var c=X(d),f;O[c]?f=O[c]:O[c]=f=new m.NumberFormatter(d,{useScaleRecursively:!0});return f.dataLabels(a)}},!1);d.extend(d.core,
{formatNumber:function(a,f,c,l){c=c&&t(c)||{};var B=this.jsVars.instanceAPI||{},e=B.numberFormatter,r;""===X(c)?e?r=e:(e=this.getChartData(d.dataFormats.JSON,!0),e=e.data||{},e=e.chart||{},c=X(e),O[c]?r=O[c]:O[c]=r=new m.NumberFormatter(e,B)):(e=this.getChartData(d.dataFormats.JSON,!0),e=e.data||{},e=e.chart||{},e=n(n({},e),c),c=X(e),O[c]?r=O[c]:O[c]=r=new m.NumberFormatter(e,B));switch((f&&f.toLowerCase?f:"").toLowerCase()){case "yaxisvalues":a=r.yAxis(a,l);break;case "xaxisvalues":a=r.xAxis(a);
break;case "scale":a=r.scale(a);break;default:a=r.dataLabels(a,l)}return a}},!0)}]);FusionCharts.register("module",["private","modules.renderer.js-dom",function(){var d=this.hcLib,m=this.window,E=m.document,n=d.extend2,C="ontouchstart"in m;(function(d){var K=function(){var a={},d;a.pointerdrag={start:["mousedown"],end:["mouseup"],onStart:["mousemove"],postHandlers:{},preHandlers:{}};a.pointerhover={start:["mouseover"],end:["mouseout"]};a.click={start:["click"]};a.escape={start:["keydown"],preHandlers:{start:function(a){a=
a||m.event;return a.keyCode&&27===a.keyCode?!0:!1}}};C&&(d=a.pointerdrag,d.start.push("touchstart"),d.end.push("touchend"),d.onStart.push("touchmove"),d.postHandlers.onStart=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1});return a}(),a;a=n({},K);d.dem=new function(){var d={},f={},l=E.addEventListener?function(a,c,d){a.addEventListener(c,d,!1)}:function(a,c,d){a.attachEvent("on"+c,d)},B=E.removeEventListener?function(a,c,d){a.removeEventListener(c,d,!1)}:function(a,c,d){a.detachEvent("on"+
c,d)},C=function(d,c,f){var l=[],e,r,n;n=a[c];f.start=function(a){a=a||m.event;for(var c=n.onStart,e=n.end,l=[],r=[],A=c&&c.length||0;A--;)l.push(t(d,c[A],f,"onStart"));for(A=e&&e.length||0;A--;)r.push(t(d,e[A],f,"end"));f.startUn=f.startUn?f.startUn.concat(l):l;f.endUn=f.endUn?f.endUn.concat(r):r;f.state="start";f.closure(a)};f.onStart=function(a){a=a||m.event;f.state="on";if(f.gDef&&f.gDef.preHandlers&&"function"===typeof f.gDef.preHandlers.onStart)f.gDef.preHandlers.onStart(a);f.closure(a);if(f.gDef&&
f.gDef.postHandlers&&"function"===typeof f.gDef.postHandlers.onStart)f.gDef.postHandlers.onStart(a)};f.end=function(a){a=a||m.event;for(var c=f.startUn,e=f.endUn,d=c&&c.length||0;d--;)c[d]();delete f.startUn;f.startUn=[];for(d=e&&e.length||0;d--;)e[d]();delete f.endUn;f.endUn=[];f.state="end";f.closure(a)};if(n)for(c=n.start,r=c.length;r--;)(e=c[r])&&l.push(t(d,e,f,"start"));return l},t=function(a,c,d,f){f=f||"closure";l(a,c,d[f]);return function(){B(a,c,d[f])}},A=function(a){return function(c){c=
c||m.event;a.handler.call(a.context||a.elem,{data:a.data,type:a.type,state:a.state,isGesture:a.isGesture,target:c.target||c.srcElement,originalEvent:c})}};return{listen:function(m,c,l,n,e){var r=this;c="string"===typeof c?c.split(" "):c;var B=c.length,z=[],P=function(a,c,e){z.push(function(){r.unlisten(a,c,e)})},G,O,K,Y,T;if(m.ownerDocument&&m.ownerDocument===E)for(;B--;)O=c[B],Y=!!a[O],T="function"===typeof l?l:l[B],K={handler:T,elem:m,type:O,isGesture:Y,gDef:Y?a[O]:null,data:n,context:e,start:[],
end:[],links:{prev:null,next:null}},K.closure=A(K),Y?((G=f[O])||(G=f[O]=[]),G.push(K),C(m,O,K)):((G=d[O])||(G=d[O]=[]),G.push(K),t(m,O,K)),P(m,O,T);else for(;B--;)O=c[B],T="function"===typeof l?l:l[B],K={handler:T,elem:m,type:O,isGesture:Y,data:n,context:e,start:[],end:[],links:{prev:null,next:null}},K.closure=A(K),(G=d[O])||(G=d[O]=[]),G.push(K),t(m,O,K),P(m,O,T);return{unlisten:function(){for(var a=z.length;a--;)z[a]();z.length=0;z=null}}},unlisten:function(m,c,l){var n,e=!1,r,t;if(a[c])for(r=(n=
f[c])&&n.length||0;r--;){if(t=n[r],t.handler===l&&t.elem===m){var e=m,z=void 0,A=void 0,E=void 0,z=void 0;if(z=a[c])for(z=z.start,E=z.length;E--;)(A=z[E])&&B(e,A,t.start);n.splice(r,1);e=!0}}else for(r=(n=d[c])&&n.length||0;r--;)t=n[r],t.handler===l&&t.elem===m&&(B(m,c,t.closure),n.splice(r,1),e=!0);return e},fire:function(a,c,f,m){var e;if(a.ownerDocument&&a.ownerDocument===E)E.createEvent?(e=E.createEvent("HTMLEvents"),e.initEvent(c,!0,!0),f&&(f.originalEvent?f.originalEvent=e:n(e,f)),"function"===
typeof a[c]&&a[c].call(a),a.dispatchEvent(e)):(e=E.createEventObject(),e.eventType=c,f&&(f.originalEvent?f.originalEvent=e:n(e,f)),"function"===typeof a[c]&&a[c].call(a),a.fireEvent("on"+c,e)),m&&!e.returnValue&&m(e);else for(m=(c=d[c])&&c.length||0;m--;)e=c[m],e.elem===a&&e.closure(f)}}}})(d||m);(function(d){function C(a,d){var f="";E.defaultView&&E.defaultView.getComputedStyle?f=E.defaultView.getComputedStyle(a,"").getPropertyValue(d):a.currentStyle&&(d=d.replace(/\-(\w)/g,function(a,d){return d.toUpperCase()}),
f=a.currentStyle[d]);f=parseInt(f,10);return isNaN(f)?0:f}function a(a,d,n,A,q,c,v,B){var e=d/40,r=f[c||"linear"](A-n,e),H=0,z,E,G=m.requestAnimationFrame||m.webkitRequestAnimationFrame||m.mozRequestAnimationFrame||m.oRequestAnimationFrame||m.msRequestAnimationFrame||function(a){setTimeout(a,40)},C=function(c){var f;f=!1;c?(z||(z=c),E=c-z,c=Math.abs(n-A),f=(f=0>n-A?!1:!0)?Math.max(n-c/d*E,A)+B:Math.min(n+c/d*E,A)+B,a.style[q]=f,l&&"opacity"===q&&(f=100*Number(f),a.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity="+
f+")"),E<d?G(C):v&&v()):H<e?(f=r[H],a.style[q]=n+f+B,l&&"opacity"===q&&(f=100*Number(f),a.style.filter="progid:DXImageTransform.Microsoft.Alpha(Opacity="+f+")"),H+=1,setTimeout(C,40)):v&&v()};B=B||"";G(C)}var M={width:{suffix:"px"},height:{suffix:"px"},opacity:!0,top:{suffix:"px"},left:{suffix:"px"}},f={linear:function(a,d){for(var f=[],m=a/d,l=0;l<d;l+=1)f[l]=m*(l+1);return f}},l=/msie/i.test(m.navigator.userAgent)&&!m.opera;d.danimate=n({animate:function(d,f,m,l,q){l={};var c={},n=function(){e+=
1;e===B&&"function"===typeof q&&q()},B=0,e=0,r,H;if(40>m){for(H in f)d.style[H]=f[H];q&&q()}else for(H in f)r=null,"x"===H?(r=H,H="left"):"y"===H&&(r=H,H="top"),M[H]&&(B+=1,l[H]=f[r||H],c[H]=C(d,H),r="object"===typeof M[H]&&M[H].suffix,a(d,m,c[H],l[H],H,"linear",n,r))}},{})})(d||m)}]);FusionCharts.register("module",["private","modules.renderer.js-colormanager",function(){var d=this.hcLib,m=d.pluckNumber,E=d.graphics.getDarkColor,n=d.graphics.getLightColor,C="AFD8F8 F6BD0F 8BBA00 FF8E46 008E8E D64646 8E468E 588526 B3AA00 008ED6 9D080D A186BE CC6600 FDC689 ABA000 F26D7D FFF200 0054A6 F7941C CC3300 006600 663300 6DCFF6".split(" "),
B="8BBA00 F6BD0F FF654F AFD8F8 FDB398 CDC309 B1D0D2 FAD1B9 B8A79E D7CEA5 C4B3CE E9D3BE EFE9AD CEA7A2 B2D9BA".split(" "),K=d.defaultPaletteOptions={paletteColors:[C,C,C,C,C],bgColor:["CBCBCB,E9E9E9","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:["50,50","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:["","","","",""],canvasBorderColor:["545454","545454","415D6F","845001","68001B"],canvasBorderAlpha:[100,100,100,90,100],showShadow:[0,1,1,1,1],divLineColor:["717170","7B7D6D","92CDD6","965B01","68001B"],divLineAlpha:[40,45,65,40,30],altHGridColor:["EEEEEE","D8DCC5","99C4CD","DEC49C","FEC1D0"],altHGridAlpha:[50,35,10,20,15],altVGridColor:["767575","D8DCC5","99C4CD","DEC49C","FEC1D0"],altVGridAlpha:[10,20,10,15,10],anchorBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF",
"FFFFFF"],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:["545454","545454","415D6F","845001","D55979"],plotGradientColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],plotBorderColor:["333333",
"8A8A8A","FFFFFF","FFFFFF","FFFFFF"],plotFillColor:["767575","D8DCC5","99C4CD","DEC49C","FEC1D0"],bgColor3D:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],bgAlpha3D:["100","100","100","100","100"],bgAngle3D:[90,90,90,90,90],bgRatio3D:["","","","",""],canvasBgColor3D:["DDE3D5","D8D8D7","EEDFCA","CFD2D8","FEE8E0"],canvasBaseColor3D:["ACBB99","BCBCBD","C8A06C","96A4AF","FAC7BC"],divLineColor3D:["ACBB99","A4A4A4","BE9B6B","7C8995","D49B8B"],divLineAlpha3D:[100,100,100,100,100],legendBgColor3D:["F0F3ED",
"F3F3F3","F7F0E8","EEF0F2","FEF8F5"],legendBorderColor3D:["C6CFB8","C8C8C8","DFC29C","CFD5DA","FAD1C7"],toolTipbgColor3D:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor3D:["49563A","666666","49351D","576373","681C09"],baseFontColor3D:["49563A","4A4A4A","49351D","48505A","681C09"],anchorBgColor3D:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"]},C=d.colorManager=function(a){this.linkedItems={iapi:a};this.configure()};C.prototype={configure:function(){var a=this.linkedItems.iapi,B=a.jsonData.chart||
{},f=d.extend2({},K),l=a.defaultPaletteOptions||{},C;f||(f={});for(C in l)f[C]=l[C];f=this.paletteOptions=f;l=this.themeEnabled=B.palettethemecolor;this.paletteIndex=(0<B.palette&&6>B.palette?B.palette:m(a.paletteIndex,1))-1;this.iterator=0;this.paletteColors=f.paletteColors[this.themeEnabled?0:this.paletteIndex];C=B.palettecolors;void 0!==C&&null!==C&&""!==B.palettecolors&&(this.paletteColors=B.palettecolors.split(/\s*\,\s*/));this.paletteLen=this.paletteColors.length;this.useFlatColors=m(B.useflatdataplotcolor,
a.useFlatColor,0);l&&(this.paletteIndex=5,f.bgColor[5]=n(l,35)+","+n(l,10),f.bgAngle[5]=270,f.bgRatio[5]="0,100",f.bgAlpha[5]="50,50",f.canvasBgColor[5]="FFFFFF",f.canvasBgAngle[5]=0,f.canvasBgAlpha[5]="100",f.canvasBgRatio[5]="",f.canvasBorderColor[5]=E(l,80),f.canvasBorderAlpha[5]=100,f.showShadow[5]=1,f.divLineColor[5]=E(l,20),f.divLineAlpha[5]=40,f.altHGridColor[5]=n(l,20),f.altHGridAlpha[5]=15,f.altVGridColor[5]=n(l,80),f.altVGridAlpha[5]=10,f.anchorBgColor[5]="FFFFFF",f.toolTipBgColor[5]="FFFFFF",
f.toolTipBorderColor[5]=E(l,80),f.baseFontColor[5]=l.split&&l.split(",")[0],f.borderColor[5]=E(l,60),f.borderAlpha[5]=50,f.legendBgColor[5]="FFFFFF",f.legendBorderColor[5]=E(l,80),f.plotGradientColor[5]="FFFFFF",f.plotBorderColor[5]=E(l,85),f.plotFillColor[5]=E(l,85),f.bgColor3D[5]="FFFFFF",f.bgAlpha3D[5]="100",f.bgAngle3D[5]=90,f.bgRatio3D[5]="",f.canvasBgColor3D[5]=n(l,20),f.canvasBaseColor3D[5]=n(l,40),f.divLineColor3D[5]=E(l,20),f.divLineAlpha3D[5]=40,f.legendBgColor3D[5]="FFFFFF",f.legendBorderColor3D[5]=
E(l,80),f.toolTipbgColor3D[5]="FFFFFF",f.toolTipBorderColor3D[5]=E(l,80),f.baseFontColor3D[5]=l.split&&l.split(",")[0],f.anchorBgColor3D[5]="FFFFFF",f.tickColor&&(f.tickColor[5]=E(l,90)),f.trendDarkColor&&(f.trendDarkColor[5]=E(l,90)),f.trendLightColor&&(f.trendLightColor[5]=n(l,f.TrendLightShadeOffset)),f.msgLogColor&&(f.msgLogColor[5]=n(l,80)),f.dialColor&&(f.dialColor[5]=E(l,95)+",FFFFFF,"+E(l,95)),f.dialBorderColor&&(f.dialBorderColor[5]=E(l,95)+",FFFFFF,"+E(l,95)),f.pivotColor&&(f.pivotColor[5]=
n(l,95)+",FFFFFF,"+n(l,95)),f.pivotBorderColor&&(f.pivotBorderColor[5]=E(l,95)+",FFFFFF,"+E(l,95)),f.pointerBorderColor&&(f.pointerBorderColor[5]=E(l,75)),f.pointerBgColor&&(f.pointerBgColor[5]=E(l,75)),f.thmBorderColor&&(f.thmBorderColor[5]=E(l,90)),f.thmFillColor&&(f.thmFillColor[5]=n(l,55)),f.gaugeBorderColor&&(f.gaugeBorderColor[5]=E(l,90)),f.gaugeFillColor&&(f.gaugeFillColor[5]=n(l,55)),f.cylFillColor&&(f.cylFillColor[5]=n(l,55)),f.periodColor&&(f.periodColor[5]=n(l,10)),f.winColor&&(f.winColor[5]=
"666666"),f.lossColor&&(f.lossColor[5]="CC0000"),f.drawColor&&(f.drawColor[5]="666666"),f.scorelessColor&&(f.scorelessColor[5]="FF0000"),f.gridColor&&(f.gridColor[5]=n(l,30)),f.categoryBgColor&&(f.categoryBgColor[5]=n(l,10)),f.dataTableBgColor&&(f.dataTableBgColor[5]=n(l,10)),f.gridResizeBarColor&&(f.gridResizeBarColor[5]=E(l,90)),f.scrollBarColor&&(f.scrollBarColor[5]=n(l,50)))},getColor:function(a){return this.paletteOptions[a][this.paletteIndex]},getPlotColor:function(a){var d=this.paletteColors;
a=this.useFlatColors?this.getColor("plotFillColor"):d[a%this.paletteLen];a||(this.iterator===this.paletteLen&&(this.iterator=0),a=d[this.iterator],this.iterator+=1);return a},parseColorMix:function(a,d){var f=[],m,B,C,t,A,q,c,v,L,e;d=d.replace(/\s/g,"");d=d.toLowerCase();if(""===d||null===d||void 0===d)f=[a];else for(B=d.split(","),C=a.split(","),t=Math.max(B.length,C.length,1),A=B[0],q=C[0],L=/[\{\}]/ig,e=0;e<t;e++)c=(B[e]||A).replace(L,""),v=C[e]||q,"color"==c?f.push(v):"light"==c.substr(0,5)?(m=
c.indexOf("-"),m=-1==m?1:c.substr(m+1,c.length-m),m=100-m,f.push(n(v,m))):"dark"==c.substr(0,4)?(m=c.indexOf("-"),m=-1==m?1:c.substr(m+1,c.length-m),m=100-m,f.push(E(v,m))):f.push(c);return f},parseAlphaList:function(a,d){var f=a.split(","),l=[],n,B=100,t;for(t=0;t<d;t++)n=m(f[t]),void 0!==n&&null!==n&&(B=n),l[t]=B;return l.join()},parseRatioList:function(a,d){var f=a.split(","),m=[],n=0,B,t;for(t=0;t<d;t++)B=f[t],B=isNaN(B)||void 0===B?0:Math.abs(Number(B)),B=100<B?100:B,m[t]=B,n+=B;n=100<n?100:
n;if(f.length<d)for(t=f.length;t<d;t++)m[t]=(100-n)/(d-f.length);m[-1]=0;return m.join()}};C.prototype.constructor=C;d.defaultGaugePaletteOptions={paletteColors:[B,B,B,B,B],bgColor:["CBCBCB,E9E9E9","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:["50,50","60,50","40,20","20,10","30,30"],toolTipBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor:["545454","545454","415D6F",
"845001","68001B"],baseFontColor:["555555","60634E","025B6A","A15E01","68001B"],tickColor:["333333","60634E","025B6A","A15E01","68001B"],trendDarkColor:["333333","60634E","025B6A","A15E01","68001B"],trendLightColor:["f1f1f1","F3F5DD","EDFBFE","FFF5E8","FFD1DD"],pointerBorderColor:["545454","60634E","415D6F","845001","68001B"],pointerBgColor:["545454","60634E","415D6F","845001","68001B"],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],altHGridColor:["EEEEEE","D8DCC5","99C4CD","DEC49C","FEC1D0"],altHGridAlpha:[50,35,10,20,15],altVGridColor:["767575","D8DCC5","99C4CD","DEC49C","FEC1D0"],altVGridAlpha:[10,20,10,15,10],borderColor:["767575","545454","415D6F","845001","68001B"],borderAlpha:[50,50,50,50,50],legendBgColor:["ffffff","ffffff","ffffff","ffffff","ffffff"],legendBorderColor:["545454",
"545454","415D6F","845001","D55979"],plotFillColor:["767575","D8DCC5","99C4CD","DEC49C","FEC1D0"],plotBorderColor:["999999","8A8A8A","6BA9B6","C1934D","FC819F"],msgLogColor:["717170","7B7D6D","92CDD6","965B01","68001B"],TrendLightShadeOffset:30}}]);FusionCharts.register("module",["private","modules.renderer.js-annotations",function(){var d=this,m=d.core,E=d.hcLib,n=d.window,C=/msie/i.test(n.navigator.userAgent)&&!n.opera,B=E.addEvent,K=E.removeEvent,a=E.hasTouch,M=n.Number,f=a?6:5,l="rgba(192,192,192,"+
(C?.002:1E-6)+")",C=Math,O=C.min,X=C.max,t=C.sin,A=C.cos,q=C.PI,c=q/180,v=C.abs,L=d.extend,e=E.pluck,r=E.pluckNumber,H=E.graphics.convertColor,z=E.getValidValue,P=E.parseUnsafeString,G=E.setImageDisplayMode,ga=E.graphics.parseColor,W=E.setLineHeight,Y=E.getMouseCoordinate,T={style:{}},ka=E.toRaphaelColor,J=function(a,c){return{start:-a,end:-c,angle:a-c}},ha=function(a,c){var e=0;switch(a){case "startx":e=c.x;break;case "starty":e=c.y;break;case "x":case "middlex":case "centerx":e=c.x+c.width/2;break;
case "y":case "middley":case "centery":e=c.y+c.height/2;break;case "endx":e=c.x+c.width;break;case "endy":e=c.y+c.height;break;default:e=0}return e},F=function(a,c,e,d,f){var m,l,r=0,q=0;l=void 0===c||null===c?1:c;var z;if(!a||!a.toString)return{value:e,hasDynamicMacros:!1};a=a.toString();a=a.toLowerCase().replace(/\s/g,"");if(e=a.match(/^[\+\-]?\d+(\.\d+)?|[\+\-]\d+(\.\d+)?/g)){for(c=0;c<e.length;c+=1)r+=Number(e[c])||0;r*=l}if(e=a.match(/^[\+\-]?(\$[a-z0-9\.]+)|[\+\-](\$[a-z0-9\.]+)/g))for(c=0;c<
e.length;c+=1){m=e[c];var n=d,A=f,t=m.split("."),v=void 0,F=void 0,B=0;for(l=void 0;v=t.shift();)switch(typeof(F=n[v])){case "object":n=F[v];break;case "function":F=F(t,A),"-"===m.charAt()&&(F*=-1),l=!0;default:B+=M(F)||0,t.length=0}m=B;l&&(z=!0);q+=m}if(e=a.match(/^[\+\-]?\$\d+(\.\d+)?|[\+\-]\$\d+(\.\d+)?/g))for(c=0;c<e.length;c+=1)q=q+Number(e[c].replace("$",""))||0;return{value:r+q,hasDynamicMacros:z}},wa=function(a,c,e){if(!c.removed){c=c.data("annotation");var f=c.getRenderer(),m=Y(f.linkedItems.container,
e),l=m.annotationOptions=c.options,r=m.groupOptions=c.group.options;m._shape=c;"id"in l&&(m.annotationId=l.id);"id"in r&&(m.groupId=r.id);d.raiseEvent(a,m,f.chartInstance,e)}},Da,fa,ma;fa=function(a,c,e,d,f,m){this.options=a;this.attrs={};this.css={};this.bounds={};this.shared=c;this.snaps=e||{};this.annotations=f;this.items=c=[];this._idstore=d;a.id&&(this._id=a.id,d[a.id]=this);if(a=a.items)for(d=0,e=a.length;d<e;d+=1)c.push(new ma(a[d],this)),c[d].chart=m};L(fa.prototype,{scaleImageX:1,scaleImageY:1,
scaleText:1,scaleValue:1,scaleValueComplement:1,scaleX:1,scaleY:1});fa.prototype.setup=function(){var a=this.options,c=this.shared,e=this.getRenderer();e&&(this.isBelow=0!==r(a.showbelow,a.showbelowchart,c.showbelow),this.useTracker=!this.isBelow&&e.graphics.trackerGroup&&this.shared.useTracker,this.raiseOwnEvents=c.interactionevents)};fa.prototype.scale=function(){var a=this.options,c=this.shared,d=this.bounds,f=this.snaps,m=this.getRenderer(),l=c.rootxscale,q=c.rootyscale,z=d.xs=r(a.xscale,c.xscale,
100)/100,n=d.ys=r(a.yscale,c.yscale,100)/100,t,A,v;t=(t=this.annotations)&&t.resetScale;m&&(t&&(this.scaleText=1),this.scaleText*=n,this.scaleImageX*=z,this.scaleImageY*=n,0!==r(a.autoscale,c.autoscale)&&(z=r(a.origw,c.origw),n=r(a.origh,c.origh),z=m.config.width/z,n=m.config.height/n,m=0!==r(a.constrainedscale,c.constrainedscale),t=z<n?z:n,A=m?t:z,v=m?t:n,this.scaleValue=fa.prototype.scaleValue*t,this.scaleValueComplement=fa.prototype.scaleValueComplement*(m?t:z<n?n:z),this.scaleX=fa.prototype.scaleX*
A,this.scaleY=fa.prototype.scaleX*v,d.xs*=A,d.ys*=v,l*=A,q*=v,"1"==e(a.scaletext,c.scaletext)&&(this.scaleText=fa.prototype.scaleText*v),"1"==e(a.scaleimages,c.scaleimages)&&(this.scaleImageX=fa.prototype.scaleImageX*A,this.scaleImageY=fa.prototype.scaleImageY*v)),d.x=F(e(a.x,a.xpos),l,0,f,this.isBelow).value+r(a.grpxshift,c.grpxshift,0),d.y=F(e(a.y,a.ypos),q,0,f,this.isBelow).value+r(a.grpyshift,c.grpyshift,0),this.xshift=r(a.xshift,c.xshift,0),this.yshift=r(a.yshift,c.yshift,0))};fa.prototype.draw=
function(){var a=this.getRenderer(),c=this.options,e=this.bounds,d=this.items,f=a&&a.graphics,m,l=this.wrapper,q,z=[],n,t,A=this.chart,v=A&&A.config||{},A=v.annRenderDelay,v=v.resize,F=function(){n=0;for(t=z.length;n<t;n++)q=z[n],q.draw()},B=(m=this.annotations)&&m.resetScale;if(a){a.annotationRelativeLayer&&"axis"===a.annotationRelativeLayer?(m=f.axisTopGroup||f.datasetGroup,f=f.axisBottomGroup||f.datasetGroup):m=f=f.datasetGroup;l||(this.wrapper=l=a.components.paper.group("annotations"),m&&f&&(this.isBelow?
l.insertBefore(f):l.insertAfter(a.graphics.datalabelsGroup||m)));B&&this.wrapper.attr({transform:""});this.wrapper.attr({x:0,y:0,visibility:r(c.visible,1)?"":"hidden"}).translate(e.x,e.y);n=0;for(t=d.length;n<t;n+=1)q=d[n],q.scale(!0),q.queueDraw?q.queue():(z.push(q),q.setup());A&&!v?setTimeout(function(){F()},A):F();return this}};fa.prototype.destroy=function(){for(var a=this.wrapper,c=this.items,e;e=c.shift();)e.destroy();a&&(this.wrapper=a.remove());this._idstore[this._id]===this&&delete this._idstore[this._id]};
fa.prototype.addItem=function(a,c,e){var d=this.items,f=this._idstore;this.chart=e;d.push(a=new ma(a,this,f));c&&null!==this.getRenderer()&&(a.scale(),a.setup(),a.draw());return a};fa.prototype.removeItem=function(a){for(var c=this.items,e=c.length;e--;)if(a===c[e]._id)return c.splice(e,1)};fa.prototype.getRenderer=function(){return this.annotations&&this.annotations.getRenderer()||null};ma=function(a,c){var e=!1,d;this.options=a;this.chart=(this.group=c)&&c.chart;this.args=[];this.attrs={};this.attrsTracker=
{};this.style={};this.bounds={};this._idstore=c._idstore;a.id&&(this._id=a.id,c._idstore[a.id]=this);this.type=a.type&&a.type.toLowerCase&&a.type.toLowerCase();for(d in ma.eventNames)"function"===typeof a[d]&&(this[d]=a[d],e=!0);this.hasEvents=e;"function"===typeof a.onload&&(this.onload=a.onload)};d.extend(ma.prototype,{getAbsoluteBounds:function(){var a=this.bounds,c=a.x1,e=a.y1,d=a.x2,f=a.y2,m=O(c,d),l=O(e,f),c=X(c,d)-m,e=X(e,f)-l;return{x:m,width:c,y:l,height:e,r:a.r,unscaled:{width:c/a.xs,height:e/
a.ys}}},queue:function(){this.group.annotations.shapesToDraw.push(this)},scale:function(a){var c=this,d=c.group,f=d.bounds,m=c.bounds,l=c.options,q=d.snaps,z=e(l.x,l.xpos),n=e(l.y,l.ypos),t=e(l.tox,l.toxpos),A=e(l.toy,l.toypos),v=m.xs=f.xs,f=m.ys=f.ys,B=r(l.xshift,d.xshift,0),H=r(l.yshift,d.yshift,0),E;E=function(e,f,m,l){e=F(e,f,m,l,d.isBelow);e.hasDynamicMacros&&a&&(c.queueDraw=!0);return e.value};c.hasDimension=!0;c.hasDimensionX=!0;c.hasDimensionY=!0;m.x1=E(z,v,0,q)+B;void 0===t?(c.hasDimension=
!1,c.hasDimensionX=!1,m.x2=m.x1):m.x2=E(t,v,0,q)+B;m.y1=E(n,f,0,q)+H;void 0===A?(c.hasDimension=!1,c.hasDimensionY=!1,m.y2=m.y1):m.y2=E(A,f,0,q)+H;ma.angularShapeTypes[c.type]&&(m.angles=J(E(l.startangle,1,0,q),E(l.endangle,1,360,q)));m.r=E(l.radius,d.scaleValue,0,q)},setup:function(){var a=this.options,c=this.group,d=c.options,f=this.attrs,m=this.style,q=c.scaleValue,n=r(d.fillalpha,d.alpha,100),t=this.fillAlpha=e(a.fillalpha,a.alpha,n),A=this.fillColor=e(a.fillcolor,a.color,d.color),v=this.fillPattern=
e(a.fillpattern&&a.fillpattern.toLowerCase&&a.fillpattern.toLowerCase(),d.fillpattern&&d.fillpattern.toLowerCase&&d.fillpattern.toLowerCase()),F=this.bordered=r(a.showborder,ma.borderedShapeTypes[this.type],!!z(a.bordercolor)),B=this.borderColor=e(a.bordercolor,d.bordercolor,A),n=this.borderAlpha=r(a.borderalpha,a.alpha,d.borderalpha,n),E=this.dashed=!!r(a.dashed,0),G=r(a.borderthickness,a.thickness,2)*q;this.link=e(a.link,d.link);this.shadow="1"==e(a.showshadow,d.showshadow);void 0===A&&(A=ma.borderedShapeTypes[this.type]&&
"none"||"#ff0000",void 0===B&&(B="#ff0000"));F&&G?(f.stroke=H(B,n),f["stroke-linecap"]="round",f["stroke-width"]=G,E&&(f["stroke-dasharray"]=[r(a.dashlen,5)*q,r(a.dashgap,3)*q])):f.stroke="none";this.fillOptions={gradientUnits:"objectBoundingBox",color:A,alpha:t,ratio:e(a.fillratio,d.fillratio),angle:360-r(a.fillangle,0),radialGradient:"radial"===v};this.link&&(m.cursor="pointer",m._cursor="hand");f.visibility=r(a.visible,1)?"":"hidden";this.useTracker=c.useTracker;this.toolText=P(e(a.tooltext,d.tooltext));
if(this.useTracker||this.link||this.toolText)L(this.attrsTracker,{stroke:l,fill:l}),this.link&&(this.attrsTracker.ishot=+new Date);this.raiseOwnEvents=c.raiseOwnEvents},draw:function(){var a=this.getRenderer(),c=this.type,e=this.attrs,d=this.style,f=a&&a.components.paper,m=ma.types[c]&&ma.types[c].call&&ma.types[c].call(this,a),l=ma.imageShapeTypes[m],r=ma.textShapeTypes[m],q=l||r||ma.trackerShapeTypes[m],z=this.link||this.toolText,n=this.wrapper,c=this.tracker,t=a&&a.graphics.trackerGroup||this.group.wrapper,
A=!1,v=c||n,F=ma.eventNames,H=ma.ownEvents,E,G;if(a){if(m){if(n)if(n.elemType!==m){if(this.ownEventsAttached){for(G in H)v["un"+G].apply(n,H[G]);this.ownEventsAttached=!1}n=n.remove()}else if(this.hasEvents)for(E in F)(G=this[E])&&G.eventAttached&&(K(v.node,F[E],G),G.eventAttached=!1);l||(e.fill=ka(this.fillOptions));n?n.attr(e).css(d):(this.args.push(this.group.wrapper),n=this.wrapper="text"===m?f[m].call(f,e,d,this.group.wrapper):f[m].apply(f,this.args).attr(e).css(d),n.elemType=m,n.data("annotation",
this),A=!0,this.args.pop());!this.shadow||this.shadowAdded||l||r?n.shadow(this.shadowAdded=!1):n.shadow(this.shadowAdded=!0,X(this.borderAlpha,this.fillOptions.alpha)/100);z?this.useTracker&&(c||(this.args.push(t),c=this.tracker=q?f.rect(0,0,0,0,0,t):f[m].apply(f,this.args),this.args.pop()),c.attr(e).attr(this.attrsTracker)):c&&(c=c.remove());v=c||n;if(this.raiseOwnEvents&&!this.ownEventsAttached){for(G in H)v[G].apply(n,H[G]);this.ownEventsAttached=!0}this.link&&v.click(a.linkedItems.linkClickFN,
this);this.toolText&&(v.tooltip(this.toolText||""),this.group.wrapper.trackTooltip(!0));if(this.hasEvents)for(E in F)(G=this[E])&&!G.eventAttached&&(B(v.node,F[E],G,this),G.eventAttached=!0);l||(c&&q&&(a=n.getBBox(),c.attr({x:a.x,y:a.y,width:a.width,height:a.height})),A&&this.onload&&this.onload(e))}return this}},destroy:function(){var a=this.wrapper,c=this.tracker,e=c||a,d=ma.eventNames,f=ma.ownEvents,m,l;if(a){if(this.ownEventsAttached){for(l in f)e["un"+l].apply(a,f[l]);this.ownEventsAttached=
!1}if(this.hasEvents)for(m in d)(l=this[m])&&l.eventAttached&&(K(e.node,d[m],l),l.eventAttached=!1);c&&(this.tracker=c.remove());this.wrapper=a.remove()}this._idstore[this._id]===this&&delete this._idstore[this._id]},getRenderer:function(){return this.group&&this.group.getRenderer()||null}});d.extend(ma,{imageShapeTypes:{image:!0},angularShapeTypes:{circle:!0,arc:!0},textShapeTypes:{text:!0},trackerShapeTypes:{image:!0,text:!0},borderedShapeTypes:{path:!0,line:!0},eventNames:{onmouseover:a?"touchstart":
"mouseover",onmouseout:"mouseout",onmousemove:a?"touchmove":"mousemove",onclick:"click"},ownEvents:{click:[function(a){wa("annotationClick",this,a)}],hover:[function(a){wa("annotationRollOver",this,a)},function(a){wa("annotationRollOut",this,a)}]},textAlignOptions:{left:"start",right:"end",center:"middle"},textVerticalAlignOptions:{top:"bottom",middle:"middle",bottom:"top"},textRotationOptions:{0:"0",1:"270",right:"90",cw:"90",left:"270",ccw:"270"},types:{rectangle:function(){var a=this.args,c=this.attrs,
e=this.getAbsoluteBounds(),d=.5*e.width;e.r>d&&(e.r=d);a[0]=c.x=e.x;a[1]=c.y=e.y;a[2]=c.width=e.width;a[3]=c.height=e.height;a[4]=c.r=e.r;return"rect"},line:function(){var a=this.attrs,c=this.bounds;this.args[0]=a.path=["M",c.x1,c.y1,"L",c.x2,c.y2];1===a["stroke-width"]&&(a["shape-rendering"]="crisp");a["stroke-width"]<f&&(this.attrsTracker["stroke-width"]=f);this.bordered&&this.dashed&&(this.attrsTracker["stroke-dasharray"]="solid");return"path"},path:function(){var a=this.attrs,c=this.bounds;this.args[0]=
a.path=this.options.path;a.transform=["T",c.x1,c.y1,"S",c.xs,c.ys,c.x1,c.y1];1===a["stroke-width"]&&(a["shape-rendering"]="crisp");return"path"},polygon:function(){var a=this.args,c=this.attrs,e=this.options,d=this.bounds,f=this.group,m=f.snaps;a[0]=F(e.sides,1,5,m,f.isBelow).value;a[1]=d.x1;a[2]=d.y1;a[3]=d.r;a[4]=F(e.startangle,1,0,m,f.isBelow).value;a[5]=0;c.polypath=a.slice(0);return"polypath"},circle:function(a){var d=this.args,f=this.attrs,m=this.options,l=this.bounds,r=a.config.width,n=a.config.height,
z=this.group.scaleValueComplement,B=this.group.snaps,E=l.angles,H=this.group;a=l.r;e(m.radius)||(l.r=r<n?r*l.xs:n*l.ys,l.r=a=.3*l.r);m=F(m.yradius,z,a,B,H.isBelow).value;this.fillPattern||(this.fillOptions.radialGradient=!0,this.fillPattern="radial");"radial"===this.fillPattern&&(this.fillOptions.cx=this.fillOptions.cy=.5);n=E.angle%360;if(!n&&a===m)return d[0]=f.cx=l.x1,d[1]=f.cy=l.y1,d[2]=f.r=l.r,"circle";n||(E.angle=0<E.angle?E.angle-.001:E.angle+.001,E.start=E.end-E.angle);n||n==E.angle||(n=360);
r=E.start*c;E=E.end*c;n*=c;B=l.x1;H=l.y1;l=B+A(r)*a;z=H+t(r)*m;B+=A(E)*a;H+=t(E)*m;a=["M",l,z,"A",a,m,0,v(n)>=q?1:0,r<E?1:0,B,H,"Z"];d[0]=f.path=a;return"path"},arc:function(a){var d=this.options,f=this.args,m=this.attrs,l=this.bounds,r=a.config.width;a=a.config.height;var q=this.group,n=q.scaleValue,z=l.angles;e(d.radius)||(l.r=r<a?r*l.xs:a*l.ys,l.r*=.3);l.innerR=F(d.innerradius,n,.8*l.r,this.group.snaps,q.isBelow).value;l.innerR>l.r&&(l.innerR+=l.r,l.r=l.innerR-l.r,l.innerR-=l.r);this.fillPattern||
(this.fillOptions.radialGradient=!0,this.fillPattern="radial");"radial"===this.fillPattern&&(this.fillOptions.cx=this.fillOptions.cy=.5);f[0]=l.x1;f[1]=l.y1;f[2]=l.r;f[3]=l.innerR;f[4]=z.end*c;f[5]=z.start*c;m.ringpath=f.slice(0);return"ringpath"},text:function(a){var c=this.args,d=this.style,f=this.attrs,m=this.group,l=this.bounds,q=this.options,n=this.getAbsoluteBounds(),z=e(q.align,m.options.textalign,"center").toLowerCase(),t=e(q.valign,m.options.textvalign,"middle").toLowerCase(),A=P(e(q.text,
q.label)),v=a.linkedItems.smartLabel,F=r(q.wrap,m.options.wraptext,1),B,E,H=e(q.rotatetext,m.options.rotatetext,"0").toLowerCase(),H=ma.textRotationOptions[H],G="0"!==H?"y":"x",C=a.config.orphanStyles;a=L({},C.defaultStyle.style||{});C=m.id&&C[m.id.toLowerCase()]||T;a=L(a,C.style);var C=parseFloat(a.fontSize),J=e(q.font,m.options.font,a.fontFamily),m=r(q.fontsize,m.options.fontsize,C)*m.scaleText;F&&(B=r(q.wrapwidth,this.hasDimensionX?n.width/l.xs:void 0),E=r(q.wrapheight,this.hasDimensionY?n.height/
l.ys:void 0),B&&(B*=l.xs),E&&(E*=l.ys));d.fontFamily=J;d.fontWeight=r(q.bold,q.isbold,0)?"bold":"normal";r(q.italic,q.isitalic,0)&&(d.fontStyle="italic");q.bgcolor&&(!f["text-bound"]&&(f["text-bound"]=[]),f["text-bound"][0]=ga(q.bgcolor));q.bordercolor&&(!f["text-bound"]&&(f["text-bound"]=[]),f["text-bound"][1]=ga(q.bordercolor),f["text-bound"][2]=r(q.borderthickness,1),f["text-bound"][3]=r(q.padding,1));q.fontcolor&&(f.fill=ga(q.fontcolor),this.fillOptions&&(this.fillOptions.color=f.fill));d.fontSize=
m+"px";m===C?d.lineHeight=a.lineHeight:W(d);f["text-anchor"]=ma.textAlignOptions[z]||ma.textAlignOptions.center;v.setStyle(d);d=v.getSmartText(A,B,E,!1);f["vertical-align"]=ma.textVerticalAlignOptions[t]||ma.textVerticalAlignOptions.middle;f["text-anchor"]===ma.textAlignOptions.left?n[G]+=r(q.leftmargin,0):f["text-anchor"]===ma.textAlignOptions.center&&(n[G]+=.5*r(q.leftmargin,0));"0"!==H&&(f.rotation=[parseFloat(H),n.x,n.y]);c[0]=f.x=n.x;c[1]=f.y=n.y;c[2]=f.text=d.text;d.tooltext&&(f.title=d.tooltext);
delete f.stroke;delete f["stroke-weight"];return"text"},image:function(a){var c=this,d=c.style,f=a.config.width,m=a.config.height;a=c.options;var l=c.attrs,q=c.args,t=z(a.url),A=c.group.scaleImageX*e(Number(a.xscale),100)/100,v=c.group.scaleImageY*e(Number(a.yscale),100)/100,F=c.getAbsoluteBounds(),B={width:1,height:1},E;if(!t)return q[0]=l.x=F.x,q[1]=l.y=F.y,q[2]=l.width=F.width,q[3]=l.height=F.height,q[4]=l.r=F.r,"rect";E=new n.Image;E.onload=function(){B=G("none","top","left",100,0,f,m,E);delete B.x;
delete B.y;B=L(B,{width:(c.hasDimensionX?F.unscaled.width:B.width)*A,height:(c.hasDimensionY?F.unscaled.height:B.height)*v});setTimeout(function(){var a,e,f;if(a=c.wrapper){a.attr(B);if(e=c.tracker)f=a.getBBox(),e.attr({x:f.x,y:f.y,width:f.width,height:f.height});a.css({opacity:d.opacity=X(r(c.fillAlpha,c.borderAlpha),c.borderAlpha)/100})}c.onload&&c.onload(B)},0)};E.src=t;q[0]=l.src=t;q[1]=l.x=F.x;q[2]=l.y=F.y;q[3]=l.width=(c.hasDimensionX?F.unscaled.width:B.width)*A;q[4]=l.height=(c.hasDimensionY?
F.unscaled.height:B.height)*v;d.opacity=X(r(c.fillAlpha,c.borderAlpha),c.borderAlpha)/100;delete l.stroke;delete l.fill;delete l["stroke-linecap"];return"image"}}});Da=function(){this.groups=[];this._idstore={};this._options={}};E.Annotations=Da;d.extend(Da.prototype,{reset:function(a,c,e){var d=this.groups,f,m;this.chart=e;this.clear();if(m=this.setSnapPoints()){f={};for(var l in m)switch(typeof m[l]){case "object":case "function":f["-$"+l]=f["$"+l]=f["+$"+l]=m[l];break;default:f["$"+l]=f["+$"+l]=
m[l],f["-$"+l]=-1*m[l]}f=this._literals=f}c&&(this._options=c);if(a&&a.groups&&d)for(m=0;m<a.groups.length;m+=1)d.push(new fa(a.groups[m],c,f,this._idstore,this,e)),d[m].chart=e},getRenderer:function(){return this._renderer},addGroup:function(a){var c=this.getRenderer();this.groups.push(a=new fa(a,this._options,this._literals,this._idstore,this,this.chart));c&&(a.setup(),a.scale(),a.draw());return a},addItem:function(a,c,e){var f,m=this.getRenderer();"string"===typeof a?f=this._idstore[a]:(e=c,c=
a);if(f&&f.addItem){if(!m&&e){d.raiseWarning(this,"04031411430","run","Annotations~addItem()","Cannot draw the shapeif the group has not been drawn. Use Annotations~draw() to draw the group and pass the renderer to it.");return}a=f.addItem(c,e)}else a=this.addGroup({}).addItem(c,e);return a},draw:function(a,c){var e=this.groups,d,f,m;if(e&&(this._renderer=a||this._renderer))for(this.resetScale=c,f=0,m=e.length;f<m;f++)d=e[f],d.setup(),d.scale(),d.draw()},clear:function(){var a=this.groups,c;if(a){for(;c=
a.shift();)c.destroy();this.shapesToDraw=[]}},dispose:function(){var a;this.disposing=!0;this.clear();for(a in this)delete this[a];this.disposed=!0},hide:function(a){if(a=this._idstore[a])return a.attrs.visibility="hidden",a.wrapper&&a.wrapper.hide(),a},show:function(a){if(a=this._idstore[a])return a.attrs.visibility="",a.wrapper&&a.wrapper.show(),a},update:function(a,c,e){a=this._idstore[a];var d;if(a&&c){if("object"===typeof c)for(d in c.id&&delete c.id,c.type&&delete c.type,c)a.options[(d+"").toLowerCase()]=
c[d]+"";else a.options[(c+"").toLowerCase()]=e+"";a.wrapper&&(a.scale(),a.setup(),a.draw());return a}},destroy:function(a){var c=this._idstore[a],e=c.group;c&&"function"===typeof c.destroy&&(e&&e.removeItem(a),c.destroy())},shapesToDraw:[],setSnapPoints:function(){var a=this.chart,c=a.config,e=a.components,d=e.legend,f=e.gradientLegend,m=e.caption.config,e=e.subCaption.config,l=m.width||0,r=e.width||0,q,n=this.datasetFunction.bind(a),z=this.xAxisFunction.bind(a),t=this.yAxisFunction.bind(a);"end"===
m.align?(a=m.x-l,q=m.x-r):"start"===m.align?a=q=m.x:(a=m.x-l/2,q=m.x-r/2);d=c.gLegendEnabled?f.conf:d.config;return{canvasendx:c.canvasRight,canvasendy:c.canvasBottom,canvasheight:c.canvasHeight,canvasstartx:c.canvasLeft,canvasstarty:c.canvasTop,canvaswidth:c.canvasWidth,canvascenterx:c.canvasCenterX||c.canvasLeft+(c.canvasRight-c.canvasLeft)/2,canvascentery:c.canvasCenterY||c.canvasTop+(c.canvasBottom-c.canvasTop)/2,chartcenterx:c.width/2,chartcentery:c.height/2,chartstartx:0,chartstarty:0,chartendx:c.width,
chartendy:c.height,chartheight:c.height,chartwidth:c.width,chartleftmargin:c.marginLeft,chartrightmargin:c.marginRight,chartbottommargin:c.marginBottom,charttopmargin:c.marginTop,captionendx:a+m.width,captionendy:m.y+m.height,captionheight:m.height,captionstartx:a,captionstarty:m.y,captionwidth:l,subcaptionendx:q+e.width,subcaptionendy:e.y+e.height,subcaptionheight:e.height,subcaptionstartx:q,subcaptionstarty:e.y,subcaptionwidth:r,legendendx:d.xPos+d.width,legendendy:d.yPos+d.height,legendheight:d.height,
legendstartx:d.xPos,legendstarty:d.yPos,legendwidth:d.width,dataset:n,xaxis:z,yaxis:t,gaugestartx:c.gaugeStartX,gaugestarty:c.gaugeStartY,gaugeendx:c.gaugeEndX,gaugeendy:c.gaugeEndY,gaugecenterx:c.gaugeCenterX,gaugecentery:c.gaugeCenterY,gaugestartangle:c.gaugeStartAngle,gaugeendangle:c.gaugeEndAngle,gaugeradius:c.gaugeRadius,plotwidth:c.plotWidth,plotsemiwidth:c.plotSemiWidth}},datasetFunction:function(a,c){var e=this.components.dataset,d,f,m,l;m=this.is3D;if(!e||!e.length)return 0;isNaN(a[0])?d=
0:(d=Number(a[0]),a=a.slice(1));f=a[0];if("set"===f){isNaN(a[1])?(l=0,a=a.slice(1)):(l=Number(a[1]),a=a.slice(2));f=a[0];e=(e=e[d]&&e[d].components.data[l])&&(e.graphics.element||e.graphics.hotElement||e.graphics.upperBoxElem);if(!e)return 0;m=c&&m?e._getBBox2():e.getBBox();l=ha(f,m)}return l},xAxisFunction:function(a){var c=this.components&&this.components.xAxis&&this.components.xAxis[0],e,d;if(!c)return 0;d=a[0];if("label"===d){isNaN(a[1])?(e=0,a=a.slice(1)):(e=Number(a[1]),a=a.slice(2));d=a[0];
a=c._getLabelElement(e);if(!a)return 0;a=a.getBBox();e=ha(d,a)}return e},yAxisFunction:function(a){var c=this.components&&this.components.yAxis,e,d;if(!c||!c.length)return 0;isNaN(a[0])?e=0:(e=Number(a[0]),a=a.slice(1));e=c[e];if(!e)return 0;c=a[0];if("label"===c){isNaN(a[1])?(d=0,a=a.slice(1)):(d=Number(a[1]),a=a.slice(2));c=a[0];a=e._getLabelElement(d);if(!a)return 0;a=a.getBBox();d=ha(c,a)}return d}});d.core.addEventListener("beforeinitialize",function(a){"javascript"===a.sender.options.renderer&&
(a.sender.annotations=new Da)});d.core.addEventListener("disposed",function(a){a.sender.annotations&&a.sender.annotations.dispose()});d.addEventListener("internal.animationComplete",function(a){a=a.sender;var c=a.annotations,e=c&&c.shapesToDraw,d=e&&e.length,f,m;a=a.apiInstance.config;var l=a.annRenderDelay,r=a.resize,q=(new Date).getTime(),n,z=function(){for(m=0;m<d;m++)f=e[m],f.draw()};if(d){for(m=0;m<d;m++)f=e[m],f.queueDraw=!1,f.scale(),f.setup();n=(new Date).getTime();l&&!r?setTimeout(function(){z();
c.shapesToDraw=[]},l-(n-q)):(z(),c.shapesToDraw=[])}a.resize=!1});m.addEventListener("rendered",function(a,c){if("javascript"===c.renderer){var e=a.sender;e.apiInstance&&(e.apiInstance.showAnnotation||(e.apiInstance.showAnnotation=function(){e.annotations.show.apply(e.annotations,arguments)}),e.apiInstance.hideAnnotation||(e.apiInstance.hideAnnotation=function(){e.annotations.hide.apply(e.annotations,arguments)}))}})}]);FusionCharts.register("module",["private","modules.renderer.jpegtopdf",function(){var d=
this.window,m=d.btoa,E=d.atob;this.hcLib.JpegToPdf=function(d,C){var B=[],K=0,a=d||500,M=C||500,f,l,O;f=function(a){K+=a.length+1;B.push(a)};this.addImage=function(a){a=/base64,(.+?)$/g.exec(a);O=E(a[1])};l=function(){var d=[],m,l;f("%PDF-1.7");d[1]=K;f("1 0 obj");f("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]");f("endobj");d[4]=K;f("4 0 obj");f("<< /Length 36>>");f("stream");f("q "+M+" 0 0 "+a+" 0 0 cm /Im3 Do Q");f("endstream");f("endobj");d[5]=K;f("5 0 obj");f("<</Type /Page /Parent 2 0 R /MediaBox [0 0 "+
M+" "+a+"] /Contents [4 0 R ] /Resources <</ProcSet 1 0 R /Font <<>> /XObject <</Im3 3 0 R >> >> >>");f("endobj");d[3]=K;f("3 0 obj");f("<</Type /XObject /Subtype /Image /Width "+M+" /Height "+a+" /ColorSpace /DeviceRGB /BitsPerComponent 8 /Filter /DCTDecode /Length "+O.length+">>");f("stream");f(O);f("endstream");f("endobj");d[2]=K;f("2 0 obj");f("<</Type /Pages /Kids [5 0 R ] /Count 1>>");f("endobj");d[6]=K;f("6 0 obj");f("<</Type /Catalog /Pages 2 0 R >>");f("endobj");m=K;f("xref");f("0 7");f("0000000000 65535 f ");
for(l=1;6>=l;l++)f(("0000000000"+d[l]).slice(-10)+" 00000 n ");f("trailer");f("<</Size 7 /Root 6 0 R >>");f("startxref");f(m);f("%%EOF");return B.join("\n")};this.getDataUrl=function(){return"data:application/pdf;base64,"+m(l())}}}]);FusionCharts.register("module",["private","modules.exporter.batch-export",function(){var d=this.window,m=this.hcLib,E=Math.max,n=d.Image,C=m.drawSvgOnCanvas,B=m.downloadCharts,K=m.browserDetails,a=m.pluckNumber,M=m.pluck,f=m.JpegToPdf,l=d.navigator.userAgent.match(/ (iPad|iPhone|iPod)/g),
O="https:"===d.location.protocol?"https://export.api3.fusioncharts.com/":"http://export.api3.fusioncharts.com/";FusionCharts.batchExport=function(m){var t=m||{},A,q,c,v,L,e=0,r=!1,H,z,P,G={exportTargetWindow:M(t.exportTargetWindow,l?"_blank":"_self"),exportAction:t.exportAction&&"save"===t.exportAction.toString().toLowerCase()&&"save"||"download",exportFileName:M(t.exportFileName,"FusionCharts"),exportHandler:M(t.exportHandler,O),exportParameters:M(t.exportParameters,""),exportFormat:M(t.exportFormat,
"PNG"),exportCallBack:M(t.exportCallBack,""),exportAtClientSide:a(t.exportAtClientSide,1)},ga=G.exportFormat.toLowerCase(),W=0,Y=0,T,ka=d.document,J=FusionCharts.items,ha=function(a){return a.match(/http:\/\/|https:\/\//)&&/(http:\/\/|https:\/\/)([^\/\:]*)/.exec(a)[2]&&d.location.hostname!==/(http:\/\/|https:\/\/)([^\/\:]*)/.exec(a)[2]?!1:!0},F=function(c,e,d,f){var m=c,l=e;isNaN(m)&&(m=a(e,f)*(d/f));isNaN(l)&&(l=a(c,d)*(f/d));return{width:m,height:l}},wa=function(a){!G.exportAtClientSide||"undefined"===
typeof d.btoa||"Chrome"!==K.name&&"Firefox"!==K.name&&"Edge"!==K.name&&"ie"!==K.name?(a={charttype:"combined",stream:a,stream_type:"IMAGE-DATA",parameters:["exportfilename="+G.exportFileName,"exportformat="+ga,"exportaction="+G.exportAction,"exportparameters="+G].join("|")},B(null,null,null,a,G)):B("url",a,G.exportFileName+"."+ga)},Da=function(a){var d;C(a,c,this.x,this.y,this.width,this.height,function(){--e;if(0===e&&r)switch(ga){case "png":wa(c.toDataURL("image/png"));break;case "jpeg":wa(c.toDataURL("image/jpeg"));
break;case "pdf":d=new f(W,Y);d.addImage(c.toDataURL("image/jpeg"));wa(d.getDataUrl());break;default:wa(c.toDataURL("image/png"))}})};m=function(e){var d=t.background;c=ka.createElement("canvas");c.id="newCanvas";c.width=Y;c.height=W;c.style.border="1px solid black";v=c.getContext("2d");v.fillStyle=d&&d.bgColor||"#ffffff";v.fillRect(0,0,Y,W);d&&d.bgImage&&ha(d.bgImage)?(z=new n,z.src=d.bgImage,z._userData=d,v.globalAlpha=a(d.bgImageAlpha,100)/100,z.onload=function(){var c=this._userData,d=a(c.bgImageX,
0),f=a(c.bgImageY,0),m=F(Number(c.bgImageWidth),Number(c.bgImageHeight),this.width,this.height),c=m.width,m=m.height;try{v.drawImage(this,d,f,c,m)}finally{v.globalAlpha=1,e()}},z.onerror=function(){e()}):e()};if(K.hasCanvas){(function(){var a=t.charts,c,e,d,f;q=[];if(a)for(d in a)a.hasOwnProperty(d)&&(c=J[a[d].id])&&(e=a[d],f=F(Number(e.width),Number(e.height),c.width,c.height),q.push({id:c.id,width:f.width,height:f.height,x:e.x,y:e.y}));else for(d in J)J.hasOwnProperty(d)&&(c=J[d],q.push({id:c.id,
width:c.width,height:c.height}))})();T=0;for(H=q.length;T<H;T+=1)P=q[T],P.x=a(P.x,5),P.y=a(P.y,W+5),P.height=a(P.height),P.width=a(P.width),W=E(W,P.y+P.height),Y=E(Y,P.x+P.width);W=t.imageHeight||W+5;Y=t.imageWidth||Y+5;m(function(){return function(){T=0;for(H=q.length;T<H;T+=1){P=q[T];T===H-1&&(r=!0);var a=P;A=FusionCharts.items[P.id];L=A.jsVars.instanceAPI.components.paper.toSVG(!0);e+=1;Da.call(a?a:A,L)}}}())}}}]);FusionCharts.register("module",["private","modules.exporter.main",function(){var d=
this,m=d.window,E=d.hcLib,n=E.extend2,C=E.BLANKSTRING,B=E.graphics.RGBtoHex,K=/\s\bx\b=['"][^'"]+?['"]/ig,a=/\s\by\b=['"][^'"]+?['"]/ig,M=m.document,f=m.Image,l=E.JpegToPdf,O=E.browserDetails;E.exportChart=function(X){var t=this,A=t.config,q=t.components,c=t.chartInstance,v=E.getSvgDataurl,L=E.removeCrossDomainImages,e=E.downloadCharts,r=A.exportOption;X="object"===typeof X&&function(a){var c={},e;for(e in a)c[e.toLowerCase()]=a[e];return c}(X)||{};var H=n(n({},r),X),z=(H.exportformat||"png").toLowerCase(),
P=H.exporthandler,G=(H.exportaction||C).toLowerCase(),ga=H.exporttargetwindow||C,W=H.exportfilename,Y=H.exportparameters,T=H.exportcallback,ka=H.exportwithimages,J=H.exportatclientside,ha,F,wa;if(!r||!r.enabled||!P)return!1;d.raiseEvent("beforeExport",H,c,void 0,function(){function r(){var a,c,d;c=function(a){Ca.stream=a;Ca.stream_type="IMAGE-DATA";e(null,null,null,Ca,Ya)};O.hasCanvas&&"undefined"!==typeof m.btoa?(a=M.createElement("canvas"),a.width=Ga.width,a.height=Ga.height,"svg"===z?v(Pa,function(a){c(a)}):
E.drawSvgOnCanvas(Pa,a,0,0,Ga.width,Ga.height,function(){switch(z){case "png":c(a.toDataURL("image/png"));break;case "jpeg":c(a.toDataURL("image/jpeg"));break;case "pdf":d=new l(Ga.height,Ga.width);d.addImage(a.toDataURL("image/jpeg"));c(d.getDataUrl());break;default:c(a.toDataURL("image/jpeg"))}})):-1!==Oa.indexOf("<image ")?Fa?(Na=(Wa=Oa.match(/<image [^\>]*\>/gi))&&Wa.length,da=function(a){var c,e;(e=a.match(/data:image\/(.*);/))?a=e[1]:(c=a&&a.split("/"),c=c[c.length-1],a=c.split("."),c=a[0],
a=a[1]||"png","jpg"===a&&(a="jpeg"));return{name:c,type:a}},Ma=function(a,c,e,d,m){var l=new f;l.onload=function(){var f="image/"+e,r=M.createElement("canvas"),q=r.getContext("2d"),n="";r.width=l.width;r.height=l.height;q.drawImage(l,0,0);n=r.toDataURL(f);ya[a]=n;Ka(n,c,e,d,m)};l.onerror=function(){Ia()};l.src=a},Ka=function(a,c,e,d,f){Ra["image_"+Va]={name:c,type:e,encodedData:a,width:d,height:f};Ia()},Ia=function(){var a={},c,d,f,m,l,r=!1;Va<Na?(c=Wa[Va].replace(/\"/g,""),c.split(" ").forEach(function(c){c=
c.split(/=(.+)?/);a[c[0]]=c[1]}),a["xlink:href"]&&(c=(d=da(a["xlink:href"]))&&d.name||"temp_image_"+Va,f=d&&d.type||"png",m=parseInt(a.width,10),l=parseInt(a.height,10),d=c+"."+f,ya[a["xlink:href"]]?r=!0:Ma(a["xlink:href"],c,f,m,l)),c='xlink:href="'+a["xlink:href"],Oa=Oa.replace(c,'xlink:href="temp/'+d),Va+=1,r&&Ia()):(Ca.encodedImgData=JSON.stringify(Ra),Ca.stream=Oa,e(null,null,null,Ca,Ya))},Ia()):e(null,null,null,Ca,Ya):e(null,null,null,Ca,Ya)}function n(){var a=W+"."+z;"svg"===z?v(Pa,function(c){e("url",
c,a)}):qa(z,R)}function X(){var a=0;ha=[];F.replace(/[^\r\n]+/g,function(c){ha[a]=[];c.replace(/"([^",]+)/g,function(c,e){ha[a].push(e)});a+=1})}function ja(){return"data:application/vnd.ms-excel;base64,"+function(a){return m.btoa(m.unescape(encodeURIComponent(a)))}("<html xmlns:o='urn:schemas-microsoft-com:office:office'xmlns:x='urn:schemas-microsoft-com:office:excel'xmlns='http://www.w3.org/TR/REC-html40'><head>\x3c!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--\x3e</head><body>"+
function(){var a,c,e,d,f,m;if(!ha.length)return"";e=0;for(m=ha.length;e<m;e+=1)if(0===e){a="<thead valign='top'><tr>";d=0;for(f=ha[e].length;d<f;d+=1)a+="<th>"+ha[e][d]+"</th>";a+="</tr></thead>";c="<tbody>"}else{c+="<tr>";d=0;for(f=ha[e].length;d<f;d+=1)c+="<td>"+ha[e][d]+"</td>";c+="</tr>"}return"<table align='center' >"+a+(c+"</tbody>")+"</table>"}()+"</body></html>")}function R(a,c,d){d=d+"."+a;switch(a){case "pdf":a=new E.JpegToPdf(Ga.height,Ga.width);a.addImage(c);c=a.getDataUrl();e("url",c,
d);break;default:e("url",c,d)}}function qa(a,c){var e;e=M.createElement("canvas");e.width=Ga.width;e.height=Ga.height;E.drawSvgOnCanvas(Pa,e,0,0,Ga.width,Ga.height,function(){switch(a){case "png":c(a,e.toDataURL("image/png"),W);break;case "jpeg":c(a,e.toDataURL("image/jpeg"),W);break;default:c(a,e.toDataURL("image/jpeg"),W)}})}var bb=c.id,Ga=q.paper,Ca,Oa,Pa,Fa=E.isCanvasElemSupported(),Wa,Na,Va=0,Ra={},da,Ma,Ia,Ka,ya={},gb={DOMId:bb,height:Ga.height,width:Ga.width,fileName:W+"."+z,statusCode:void 0,
statusMessage:void 0,notice:void 0},Ya={exportAction:G,exportTargetWindow:ga,exportCallback:T,fusionCharts:t,paper:Ga,chartId:bb,exportHandler:P};if("xls"===z)if("undefined"!==typeof m.btoa)F=c.getCSVData();else return d.raiseEvent("exportCancelled",H,c),!1;else q.chartMenuBar&&q.chartMenuBar.group.attr("visibility","hidden"),Oa=Ga.toSVG(ka&&Fa&&"svg"!==z),Pa=Ga.toSVG(ka&&Fa),q.chartMenuBar&&q.chartMenuBar.group.attr("visibility","visible"),Oa=Oa.replace(/(\sd\s*=\s*["'])[M\s\d\.]*(["'])/ig,"$1M 0 0 L 0 0$2"),
Oa=Oa.replace(/NS\d+:/gi,"xlink:"),Oa=L(Oa),Pa=Pa.replace(/NS\d+:/gi,"xlink:"),Pa=Pa.replace(/(\sd\s*=\s*["'])[M\s\d\.]*(["'])/ig,"$1M 0 0 L 0 0$2"),Pa=Pa.replace(/(xlink:title\s*=\s*)['"].*["']/ig,""),Oa=Oa.replace(/[\w\-]+\=\"undefined\"/ig,""),Oa=Oa.replace(/(xlink:title\s*=\s*)['"].*["']/ig,""),Oa=Oa.replace(/rgba\(([^\)]+)\)/ig,function(a,c){return"#"+new B(c.split(","))}),Oa=Oa.replace(/<svg[^>]+/i,function(a){a.match(/height/i)||!Ga.height&&!A.height||(a+=' height="'+(Ga.height||A.height)+
'"');a.match(/width/i)||!Ga.width&&!A.width||(a+=' width="'+(Ga.width||A.width)+'"');return a}),Oa=Oa.replace(/(([\w]+\-)?opacity\s*=\s*)['"][\d\.]+e[\-\+][\d]+["']/ig,'$1"0.001"'),Oa=Oa.replace(/(([\w]+\-)?opacity\s*:\s*)[\d\.]+e[\-\+][\d]+/ig,"$10.001"),Oa=Oa.replace(/<text[^\>]+/ig,function(a){a=a.replace(/stroke\=[\"\']([a-z0-9\#]+)?[\"\']/ig,"");a=a.replace(/stroke\s*\:\s*([a-z0-9\#]+)?;?/ig,"");a=a.replace(/stroke-opacity\=[\"\']([a-z0-9\#]+)?[\"\']/ig,"");a=a.replace(/stroke-opacity\s*\:\s*([a-z0-9\#]+)?;?/ig,
"");a=a.replace(/(<text[^\>]+fill\=)([\"\'][^\"\']+[\"\'])([^\>]+)/ig,'$1$2 stroke=$2 stroke-width="0.2"$3');return a=a.replace(/(<text[^\>]+fill-opacity\=)([\"\'][^\"\']+[\"\'])([^\>]+)/ig,"$1$2 stroke-opacity=$2 $3")}),Oa=Oa.replace(/<(\b[^<>s\s]+\b)[^\>]+?opacity\s*=\s*['"][^1][^\>]+?(\/>|>[\s\r\n]*?<\/\1>)/ig,function(c,e){var d=K.exec(c)||C,f=a.exec(c)||C;return c+"<"+e+d+f+' opacity="1" stroke-opacity="1" fill="#cccccc" stroke-width="0" r="0" height="0.5" width="0.5" d="M 0 0 L 1 1" />'}),Ca=
{charttype:c.chartType(),stream:Oa,stream_type:"svg",meta_bgColor:H.bgcolor||"",meta_bgAlpha:H.bgalpha||"1",meta_DOMId:c.id,meta_width:Ga.width||A.width,meta_height:Ga.height||A.height,parameters:["exportfilename="+W,"exportformat="+z,"exportaction="+G,"exportparameters="+Y].join("|")};d.raiseEvent("exportDataReady",Ca,c);"xls"===z?(X(),wa=ja(),!J||"download"!==G||"undefined"===typeof m.btoa||"Chrome"!==O.name&&"Firefox"!==O.name&&"Edge"!==O.name&&"ie"!==O.name?(Ca={charttype:"combined",stream:wa,
stream_type:"IMAGE-DATA",parameters:["exportfilename="+W,"exportformat="+z,"exportaction="+G,"exportparameters="+Ya].join("|")},e(null,null,null,Ca,Ya)):(e("url",wa,W+"."+z),d.raiseEvent("exported",gb,c))):J&&"download"===G?"undefined"===typeof m.btoa||"Chrome"!==O.name&&"Firefox"!==O.name&&"Edge"!==O.name&&"ie"!==O.name?(d.raiseWarning(this,"14038823867","run","Export Feature","Client side export requirement not fulfiled so exporting through server side"),r()):(n(),d.raiseEvent("exported",gb,c)):
r()},function(){d.raiseEvent("exportCancelled",H,c)})}}]);FusionCharts.register("module",["private","modules.renderer.js-component-toolbox",function(){function d(a){"number"===typeof a&&(a="'"+a+"'");return a.split("").reduce(function(a,c){a=(a<<5)-a+c.charCodeAt(0);return a&a},0)}function m(a,c){var e;if(a.getBBox)return a;e=a.getBoundingClientRect();a.getBBox=function(){return{x:c.x,y:c.y,width:e.right-e.left,height:e.bottom-e.top,isArtificial:!0}};return a}function E(a,c,e){var d,f;for(d in a)f=
a[d],void 0!==f&&null!==f&&(e?c[d]||(c[d]=f):c[d]=f)}function n(a,c){switch(a){case "click":return function(a){C.dem.listen(c,"click",function(c){c.target&&c.target.parentNode&&a.call(c.target)})};case "hover":return function(a,e){C.dem.listen(c,"pointerhover",function(c){c.target&&c.target.parentNode&&("start"===c.state?a:e).call(c.target)})}}}var C=this.hcLib,B=C.Raphael,K=this.window.document,a=C.graphics,M=a.convertColor,f=a.getLightColor,l=a.rawRGBtoHEX,O=C.pluckNumber,X=C.pluck,t={},A={},q=
{},c=C.extend2,v,L,e,r,H=function(){},z=M("FFFFFF",0),P=0,G;v=function(a,c,e){return["M",a-e,c-e]};L=function(a,c,e){var d=e/4;return["M",a-3*d,c,"L",a-d,c+e,a+e,c-e]};e=function(){B.addSymbol("Internal_CB",v);return{register:function(){var a,c,e;if(1===arguments.length){c=arguments[0];if(null==c||"object"!==typeof c)return;e=c}else if(1<arguments.length){a=arguments[0];c=arguments[1];if("string"!==typeof a||"function"!==typeof c)return;e={};e[a]=c}else return;for(a in e)c=e[a],{}.hasOwnProperty.call(e,
a)&&B.addSymbol(a,c)}}}();G=function(){function a(){this.pool={}}function c(a){var e,d,f,m,l,r;if(a)for(e in a)for(d in f=a[e],f)if(m=f[d],m instanceof Array)for(l=0,r=m.length;l<r;l++)m[l].hide&&m[l].hide();else m.hide&&m.hide()}var e={},d,f,m,l,r={};a.prototype.constructor=a;f={KEY_RECT:"rect",KEY_TEXT:"text",KEY_GROUP:"group",KEY_SCROLLER:"scoller",KEY_BUTTON:"button",KEY_PATH:"path",KEY_DIV:"div"};e[f.KEY_DIV]=function(){return K.createElement("div")};e[f.KEY_RECT]=function(a){return l.paper.rect(a)};
e[f.KEY_TEXT]=function(a){return l.paper.text(a)};e[f.KEY_GROUP]=function(a,c){return l.paper.group(a,c)};e[f.KEY_SCROLLER]=function(a,c,e,d,f,m,r){return l.paper.scroller(a,c,e,d,f,m,r)};e[f.KEY_BUTTON]=function(a,c,e,d,f,m){return l.paper.button(a,c,e,d,f,m)};e[f.KEY_PATH]=function(a,c){return l.paper.path(a,c)};return{init:function(e,f){var m;l=e;m=r[f]||(r[f]={});c(m.pool);m.initialized||(d=m.pool=(new a).pool,d._tmp=f,m.initialized=!0)},isInitialized:function(){},getCreationStatus:function(){return m},
emptyPool:function(a){a=r[a]||{};a.pool&&(a.pool={})},hideRecursive:function(a){c((r[a]||{}).pool)},getComponent:function(a,c,d,f){c=(r[c||0]||{}).pool;var l=c[a],q,n,z,t=0;l||(l=c[a]={});return(n=l[d])&&!(n instanceof Array)||n instanceof Array&&0<n.length?function(){m=!1;return f?(z=n[t++])?z.show():n[t]=e[d].apply(this,arguments):n.show&&"function"===typeof n.show&&n.show()||n}:function(){m=!0;return f?(q=l[d]||(l[d]=[]),n=e[d].apply(this,arguments),q.push(n),n.show&&"function"===typeof n.show&&
n.show()||n):l[d]=e[d].apply(this,arguments)}},getKeys:function(){return f}}}();r=function(){function a(c){c=c||{};this.name=c.name;this.handler=c.handler||H;this.action=c.action&&c.action.toLowerCase()||"click";this.eventMap={};this.style={padding:"3px 8px",margin:"2px 0px",fontFamily:q.baseFontFamily,fontSize:q.baseFontSize+"px"};this.hoverOverStyle=c.hoverOverStyle||{};this.hoverOutStyle=c.hoverOutStyle||{};E(c.style||{},this.style);this.node=this.subConRef=void 0}function r(a,c){var e=this,d,
f;d=c&&c.top||0;var m=c&&c.left,l=c&&c.right;this.container=a;this.position=r.POSITION_BOTTOM;this.atomicLists=[];this.refContainers=[];this.parentListCon=void 0;this.hideFnIds=[];this.target=void 0;m&&l||(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===d?"auto":d+"px",right:void 0===l?"auto":l+"px",left:void 0===m?"auto":
m+"px",overflow:"hidden",background:"#ffffff",border:"1px solid #646464","box-shadow":"#999999 2px 2px 5px",padding:"5px 3px",display:"none"};d=this.container.style;for(f in this._defaultStyle)d[f]=this._defaultStyle[f];bb.linkedItems&&(bb.linkedItems.container.appendChild(this.container),f=n("hover",this.container),f(function(){e.show(this)},function(){e.hide(300,this)}))}function B(a){this.listContainer=this.container=void 0;this.measurement=a}function C(a,c,e,d){this.symbol=a;this._id="TB_SYMBOL"+
(e||0);this.node=void 0;this.pId=d;this.isPlaintext=c;this.conf={btnTextStyle:{"stroke-width":"1px",stroke:"none"}};this.evt={tooltext:void 0,click:H,hover:[H,H]}}function P(a,c,e,d){C.call(this,"Internal_CB");this._id="TB_CBSYMBOL"+(e||0);this.symbol="Internal_CB";this.text={plaintext:a,node:void 0,style:ja};this.pId=d;this.checked=!!c;this.textNode=void 0;this.interPadding=3;this.pos={};this.regSymbolCmd=void 0;this.checked?this.check():this.uncheck()}function J(a,c,e){C.call(this);this._id="TB_SCROLLER"+
(c||0);this.pId=e;this.conf={};this.userConf=A;this.setConfiguaration(a);this.evt.scroll=H;return this}function X(a,c,e){var d;C.call(this,a,void 0,c,e);this.rawContextDefinitation=void 0;this.listContainerManager=(new B(this.position)).init(e);d=this.listContainerManager.getFirstContainer();this.evt.hover=[function(a){d.show(m(a.target||a.fromElement,a))},function(a){d.hide(300,a.target)}]}function F(a,e){this.preId=a||0;this.id=void 0;this.symbolList=[];this.groupRect=void 0;this.pId=e;c(this.btnConfig=
{},t);c(this.groupConfig={},fa)}function wa(a,c){Da[this.id="TB_MASTER"+a||d((new Date).getTime())]=this;this.toolbarRect=void 0;this.componentGroups=[];this.toolbarConfig=ma;this.group=void 0;this.pId=c}var Da={},fa={hPadding:3,vPadding:3,borderRadius:2,fill:M("DBDBDB",100),borderColor:M("B2B1B1",100),borderThickness:1,offsetAdjustment:1,radius:1,spacing:6},ma={hPadding:3,vPadding:3,borderRadius:0,fill:M("EBEBEB",100),borderColor:M("D1D0D0",100),borderThickness:1,offsetAdjustment:1,radius:0},ja=
{fontFamily:"Verdana,sans",fontSize:"12px",fill:void 0,fontStyle:"normal",fontWeight:"normal"},R,qa,bb;a.prototype.updateName=function(a){this.name=a;this.node&&(this.node.innerHTML=a)};a.prototype.assignSubContainer=function(a){a instanceof r&&(this.subConRef=a)};a.prototype.stickIntoContainer=function(a,c){var e=this.node=K.createElement("div"),d=this.style,f,m,l,r=this;this.handler&&(this.eventMap[this.action]=this.handler);a.appendChild(e);e.innerHTML=this.name;m=e.style;for(f in d)m[f]=d[f];
d=n("hover",e);n("click",e)(function(){r.handler&&((l=r.eventMap.click)&&l.apply(r,[bb]),c.hide())});d(function(){var a,c=e.style,d=r.hoverOverStyle;for(a in d)c[a]=d[a];r.subConRef&&r.subConRef.show(this)},function(){var a,c=e.style,d=r.hoverOutStyle;for(a in d)c[a]=d[a];r.subConRef&&r.subConRef.hide(300,this)})};a.prototype.setStyle=function(a){E(a||{},this.style)};a.prototype.dispose=function(){var a=this.node;a&&a.remove&&a.remove();this.node=void 0};r.POSITION_TOP="top";r.POSITION_BOTTOM="bottom";
r.prototype.addAtomicListItem=function(c){c instanceof a&&(this.atomicLists.push(c),c.stickIntoContainer(this.container,this))};r.prototype.show=function(a){var c=this.hideFnIds,e=bb.config.width,d=this.positionCalculation,f=0,m;this.target=this.target||a;for(m=c.length;f<m;f++)clearTimeout(c[f]);c.length=0;(c=this.parentListCon)?(c.show(this.target),this.container.style.left=c.container.offsetLeft+c.container.offsetWidth+"px",this.container.style.top=c.container.offsetTop+this.target.offsetTop+"px"):
(c=a&&a.nodeName&&"DIV"===a.nodeName.toUpperCase()?!0:!1,c||(a=a.getBBox(),d&&(this.container.style.display="block",d=this.container.offsetWidth,d+a.x>e?(this.container.style.left="auto",this.container.style.right=e-a.x-a.width+"px"):(this.container.style.left=a.x+"px",this.container.style.right="auto"),this.container.style.display="none"),this.position===X.POSITION_BOTTOM?(e=a.isArtificial?.5:1.5,this.container.style.top=a.y+a.height*e+"px",this.container.style.bottom="auto"):(this.container.style.bottom=
bb.config.height-a.y+"px",this.container.style.top="auto")));this.container.style.display="block"};r.prototype.hide=function(a){var c=this.container,e;(e=this.parentListCon)&&e.hide(300);this.hideFnIds.push(setTimeout(function(){c.style.display="none"},a))};r.prototype.dispose=function(){var a=this.atomicLists,c=this.refContainers,e,d;e=this.hideFnIds.length=0;for(d=a.length;e<d;e++)a[e].dispose();e=a.length=0;for(d=c.length;e<d;e++)c[e].dispose();c.length=0};B.prototype.init=function(a){var c=G.getKeys();
this.container||(a=G.getComponent("div0",a,c.KEY_DIV),(a=a())&&(a.innerHTML=""),this.container=new r(a,this.measurement));return this};B.prototype.getFirstContainer=function(){return this.container};B.prototype.appendAsList=function(c,e){var d=this,f,m=this.container.hoverOverStyle,l=this.container.hoverOutStyle;(function Va(c,e){var q,n=0,z,t,A,v,F,B,E,C;E=e?e:d.container;q=c instanceof Array?c:[c];for(z=q.length;n<z;n++){t=q[n];A=new a({hoverOverStyle:m,hoverOutStyle:l});for(v in t)A.name=v,F=t[v],
A.action=F.action,A.setStyle(F.style),-1!==v.search(/^<[^<]+>$/)&&(A.hoverOverStyle={},A.hoverOutStyle={},F.handler=H),B=F.handler,"function"!==typeof B?C=Va(B,new r(K.createElement("div"))):A.handler=F.handler;E.addAtomicListItem(A);C&&(C.parentListCon=E,E.refContainers.push(C),A.assignSubContainer(C));C=void 0}return f=E})(c,e);return f};B.prototype.dispose=function(){this.container.dispose();this.container=void 0};C.prototype.registerSymbol=function(a){e.register(this.symbol,a)};C.prototype._setConfiguaration=
function(a){this.conf?E(a,this.conf,!0):this.conf=a};C.prototype.attachEventHandlers=function(a,c){var e=this.evt,d=a.tooltext,f=a.click||H,m=a.hover,l=c&&c.click||H,r=this;d&&(e.tooltext=d);e.click="function"===typeof f?function(){l();f.apply(r,arguments)}:function(){var a=f.fn,c=f.context,e=(f.args||[]).slice(0);f.hasOwnProperty("context")?e.push(r):c=r;[].push.apply(e,arguments);l();a.apply(c,e)};m&&m instanceof Array&&(e.hover=m);this.node&&this.node.tooltip(this.evt.tooltext).buttonclick(this.evt.click).hover(this.evt.hover[0],
this.evt.hover[1]);return r};C.prototype.getLogicalSpace=function(){return{width:this.conf.width,height:this.conf.height}};C.prototype.show=function(){var a=this.node;a&&a.css({display:"block"})};C.prototype.hide=function(){var a=this.node;a&&a.css({display:"none"})};C.prototype.draw=function(a,c,e){var d=this.conf||{},m,r,q=G.getKeys(),n=bb.get("config","animationObj"),z=n.animObj,t=n.dummyObj,A=n.duration;this.isPlaintext?r=this.symbol:m=this.symbol;void 0!==e.idCount&&(this._id+=e.idCount);d.hoverFill=
d.hoverFill?M(d.hoverFill):M(f(l(d.fill),80));e=this.node=G.getComponent(this._id,this.pId,q.KEY_BUTTON,!0)(a,c,r,m,{width:d.width,height:d.height,r:d.radius,verticalPadding:d.symbolHPadding*d.scale,horizontalPadding:d.symbolHPadding},e.parentLayer).labelcss(this.conf.btnTextStyle);e.attr({ishot:!0,fill:[d.fill,d.labelFill,d.symbolFill,d.hoverFill,!0],stroke:[d.stroke,d.symbolStroke],"stroke-width":[d.strokeWidth,d.symbolStrokeWidth]}).tooltip(this.evt.tooltext).buttonclick(this.evt.click).hover(this.evt.hover[0],
this.evt.hover[1]);G.getCreationStatus()||(this.node.unclick(),this.node.animateWith(t,z,{"button-repaint":[a,c,d.width,d.height,d.radius]},A,n.animType),this.node.attr({"button-label":r,"button-padding":[d.symbolHPadding,d.symbolHPadding*d.scale]}),this.node.buttonclick(this.evt.click));e.getBBox=function(){return{x:a,y:c,width:d.width,height:d.height}};return e};C.prototype.dispose=function(){var a=this.node;a&&a.remove();this.node=void 0};P.prototype=Object.create(C.prototype);P.prototype.constructor=
P;P.prototype.check=function(){var a=this.pos;this.checked=!0;this.regSymbolCmd=L;this.node&&(this.registerSymbol(this.regSymbolCmd),this.node.attr({"button-repaint":[a.x,a.y,a.width,a.height,a.r]}))};P.prototype.uncheck=function(){var a=this.pos;this.checked=!1;this.regSymbolCmd=v;this.node&&(this.registerSymbol(this.regSymbolCmd),this.node.attr({"button-repaint":[a.x,a.y,a.width,a.height,a.r]}))};P.prototype.click=function(){this.checked?this.uncheck():this.check()};P.prototype.attachEventHandlers=
function(a){var c=this;C.prototype.attachEventHandlers.apply(this,[a,{click:function(){c.click()}}])};P.prototype.getLogicalSpace=function(){var a=bb.linkedItems.smartLabel,c=this.text.style,e;e=C.prototype.getLogicalSpace.apply(this,arguments);a.useEllipsesOnOverflow(bb.config.useEllipsesWhenOverflow);a.setStyle(c);a=a.getSmartText(this.text.plaintext);return{width:a.width+this.interPadding+e.width,height:Math.max(e.height,a.height)}};P.prototype.draw=function(a,c,e){var d,f=this.conf,m;m=bb.linkedItems.smartLabel;
var l=R.colorManager,r=this.text.plaintext,q,n=G.getKeys();this.registerSymbol(this.regSymbolCmd);d=this.node=C.prototype.draw.apply(this,arguments);this.pos={x:a,y:c,width:f.width,height:f.height,r:f.radius};q=this.text.style;q.fill=q.fill||"#"+l.getColor("baseFontColor");m.useEllipsesOnOverflow(bb.config.useEllipsesWhenOverflow);m.setStyle(q);m=m.getSmartText(r);d=d.getBBox();l=G.getComponent(this._id,this.pId,n.KEY_TEXT);this.textNode=l(e.parentLayer).attr({text:r,x:d.x+d.width+m.width/2+this.interPadding,
y:d.y+d.height/2}).css(q);f=f.height>m.height?f.height:m.height;l=G.getComponent(this._id,this.pId,n.KEY_RECT);return l(e.parentLayer).attr({height:f,width:d.width+m.width+this.interPadding,x:a,y:c,stroke:z})};P.prototype.dispose=function(){this.textNode&&this.textNode.remove();this.textNode=void 0;C.prototype.dispose.call(this)};J.prototype=Object.create(C.prototype);J.prototype.constructor=P;J.prototype.setConfiguaration=function(a){var c=R.colorManager;A.color||(A.color="#"+c.getColor("altHGridColor"));
E(A,this.conf);E(a,this.conf)};J.prototype.getLogicalSpace=function(){var a=this.conf,c={};E(A,c);E(c,a);return C.prototype.getLogicalSpace.call(this)};J.prototype.getDefaultLayer=function(){var a=G.getKeys();return G.getComponent(this._id,this.pId,a.KEY_GROUP)("scroll")};J.prototype.registerSymbol=void 0;J.prototype._setConfiguaration=function(){};J.prototype.attachEventHandlers=function(a){a&&a.scroll&&"function"===typeof a.scroll&&(this.evt.scroll=a.scroll);C.prototype.attachEventHandlers.apply(this,
arguments);return this};J.prototype.draw=function(){var a,c,e,d,f,m,l,r,q,n,z,t,v,F,B,H;B=this.conf;var C,J=G.getKeys(),P={},L=bb.get("config","animationObj"),K=L.animObj,M=L.dummyObj;e={};var R=L.duration;1===arguments.length?(B=arguments[0],a=B.x,c=B.y,l=B.parentLayer,f=!!B.sepLayer):(a=arguments[0],c=arguments[1],f=arguments[2],B&&f?E(f,B):f={},l=f.parentLayer,f=!!f.sepLayer);E(A,e);B.isHorizontal?delete e.width:delete e.height;E(e,B);c+=B.padding;e=B.height;d=B.width;m=B.isHorizontal;H=B.startPercent;
r=B.scrollRatio;q=B.showButtons;n=B.displayFlat;z=B.fullCanvasWidth;t=B.windowedCanvasWidth;v=B.color;F=B.roundEdges;P["scroll-repaint"]=[a,c,d,e];l=l?l:this.getDefaultLayer();C=G.getComponent(this._id,this.pId,J.KEY_RECT);l=f?C("scroll-child"):l;C=G.getComponent(this._id,this.pId,J.KEY_SCROLLER);this.node=C(a,c,d,e,m,{scrollPosition:B.scrollPosition||O(H,0),displayStyleFlat:n,showButtons:q},l).data("fullCanvasWidth",z).data("windowedCanvasWidth",t).attr({"scroll-ratio":r,fill:v,r:F&&2||0}).scroll(this.evt.scroll);
G.getCreationStatus()||(this.node.undrag(),this.node.animateWith(M,K,P,R,L.animType),this.node.attr({"scroll-display-style":n?"flat":"3d","scroll-position":B.scrollPosition||O(H,0)}).scroll(this.evt.scroll));return this.node};X.POSITION_TOP="top";X.POSITION_BOTTOM="bottom";X.prototype=Object.create(C.prototype);X.prototype.constructor=X;X.allNodes=[];X.prototype.getListRefernce=function(){return this.listContainerManager};X.prototype.attachEventHandler=function(a){var c=this.evt;if(a=a.tooltext)c.tooltext=
a};X.prototype.getLogicalSpace=function(){var a=this.listContainerManager.getFirstContainer().atomicLists;return a&&0===a.length?{width:0,height:0}:C.prototype.getLogicalSpace.call(this)};X.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=C.prototype.draw.apply(this,arguments);X.allNodes.push(this.node);return a};X.prototype.dispose=function(){this.listContainerManager&&
this.listContainerManager.dispose();this.listContainerManager=void 0;C.prototype.dispose.call(this)};F.prototype.addSymbol=function(a,c){var e=this.symbolList;c?e.unshift(a):e.push(a)};F.prototype.setConfiguaration=function(a){var c=a.buttons;a=a.group;c&&E(c,this.btnConfig);a&&E(a,this.groupConfig)};F.prototype.draw=function(a,c,e){var d=this.preId,f=this.symbolList,m,l,r=this.groupConfig,q=this.btnConfig,n=c.x,z=c.y,t=0,A=0,v=Number.NEGATIVE_INFINITY;m=G.getKeys();d=this.id=d.toString()+e;qa.toolbarGroup=
qa.toolbar||{};e=G.getComponent(this.id,this.pId,m.KEY_GROUP);a=e("toolbar-group"+d,a).trackTooltip(!0);e=G.getComponent(this.id,this.pId,m.KEY_RECT);d=this.groupRect=e(a).attr({height:0,width:0,x:n,y:z});n+=r.hPadding;z+=r.vPadding;A+=r.hPadding;t+=r.vPadding;m=0;for(e=f.length;m<e;m++)l=f[m],l._setConfiguaration(q),l=l.draw(n,z,{parentLayer:a}),l=l.getBBox(),v<l.height&&(v=l.height),n+=l.width+(l=q.spacing);A+=n+r.hPadding-c.x-l-r.offsetAdjustment;t+=v+r.vPadding+r.offsetAdjustment;isFinite(t)||
(t=0);isFinite(A)||(A=0);d.attr({height:t,width:A}).attr({fill:r.fill,r:r.radius,stroke:r.borderColor,"stroke-width":r.borderThickness});l=d.getBBox();return{height:l.height,width:l.width}};F.prototype.getLogicalSpace=function(){var a=this.symbolList,c,e,d,f=0,m=0,l=Number.NEGATIVE_INFINITY,r=0;e=0;for(d=a.length;e<d;e++)c=a[e],c._setConfiguaration(this.btnConfig),c=c.getLogicalSpace(),m+=c.width+this.btnConfig.spacing,r+=c.width,l=l<c.height?c.height:l;if(!r)return{width:0,height:0};l!==Number.NEGATIVE_INFINITY&&
m&&(m-=this.btnConfig.spacing-2*this.groupConfig.hPadding-this.groupConfig.offsetAdjustment,f=l+2*this.groupConfig.vPadding+this.groupConfig.offsetAdjustment);return{width:m,height:f}};F.prototype.dispose=function(){for(var a=this.symbolList,c=0,e=a.length;c<e;c++)a[c].dispose();a.length=0;this.groupRect.remove()};wa.prototype.getId=function(){return this.id};wa.prototype.addComponent=function(a){this.componentGroups.push(a)};wa.prototype.draw=function(a,c,e){var d=this.componentGroups,f,m,l;l=this.id;
var r=a,q=c,n;c=this.toolbarConfig;var z,t=Number.NEGATIVE_INFINITY;n=G.getKeys();e=e||{};m=qa.toolbar=e.parentGroup||qa.toolbar||{};e=G.getComponent(this.id,this.pId,n.KEY_GROUP,!0);this.group=l=e(l,m);e=G.getComponent(this.id,this.pId,n.KEY_RECT,!0);n=this.toolbarRect=e(l).attr({height:0,width:0,x:r,y:q});r+=c.hPadding;q+=c.vPadding;e=0;for(m=d.length;e<m;e++)f=d[e],z=f.groupConfig.spacing||1,f=f.draw(l,{x:r,y:q},e),r+=f.width+z,t=t>f.height?t:f.height;d=t;a=r-z-c.hPadding-a;isFinite(d)||(d=0);
isFinite(a)||(a=0);n.attr({height:d+=2*c.vPadding,width:a+=2*c.hPadding}).attr({fill:c.fill,r:c.radius,stroke:c.borderColor,"stroke-width":c.borderThickness});return{height:d,width:a}};wa.prototype.getLogicalSpace=function(){var a=this.componentGroups,c,e,d,f=c=0,m=Number.NEGATIVE_INFINITY,l,r=0;c=0;for(e=a.length;c<e;c++)d=a[c],l=d.getLogicalSpace(),d=d.groupConfig.spacing||1,f+=l.width+d,r+=l.width,m=m<l.height?l.height:m;if(!r)return{width:0,height:0};f-=d-2*this.toolbarConfig.hPadding;c=m+2*this.toolbarConfig.vPadding;
return{width:f,height:c}};wa.prototype.dispose=function(){for(var a=this.componentGroups,c=0,e=a.length;c<e;c++)a[c].dispose();a.length=0;this.toolbarRect.remove();G.emptyPool(this.pId)};return{init:function(a){qa=a.graphics;bb=a.chart;R=a.components},HorizontalToolbar:wa,ComponentGroup:F,Symbol:C,CheckboxSymbol:P,Scroller:J,SymbolWithContext:X,getInstanceById:function(a){return Da[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;r.init(a);this._options=a;this._chart=a.chart;this._iCount=++P;this.configure();this.onceInitialized=!0;return this._iCount},configure:function(){var a=this._chart.jsonData.chart,c;r.init(this._options);t.scale=O(a.toolbarbuttonscale,1.15);t.width=O(a.toolbarbuttonwidth,15);t.height=O(a.toolbarbuttonheight,15);t.radius=O(a.toolbarbuttonradius,2);t.spacing=
O(a.toolbarbuttonspacing,5);t.fill=M(X(a.toolbarbuttoncolor,"ffffff"));t.labelFill=M(X(a.toolbarlabelcolor,"cccccc"));t.symbolFill=M(X(a.toolbarsymbolcolor,"ffffff"));t.hoverFill=X(a.toolbarbuttonhovercolor);t.stroke=M(X(a.toolbarbuttonbordercolor,"bbbbbb"));t.symbolStroke=M(X(a.toolbarsymbolbordercolor,"9a9a9a"));t.strokeWidth=O(a.toolbarbuttonborderthickness,1);t.symbolStrokeWidth=O(a.toolbarsymbolborderthickness,1);c=t.symbolPadding=O(a.toolbarsymbolpadding,5);t.symbolHPadding=O(a.toolbarsymbolhpadding,
c);t.symbolVPadding=O(a.toolbarsymbolvpadding,c);A.color=a.scrollcolor&&M(a.scrollcolor);A.padding=O(a.scrollpadding,0);A.height=O(a.scrollheight,12);A.width=O(a.scrollwidth,12);A.displayFlat=O(a.flatscrollbars,0);A.scrollBar3DLighting=O(a.scrollbar3dlighting,1);A.startPercent=Math.min(1,Math.max(0,parseFloat(a.scrolltoend)||0));A.showButtons=!!O(a.scrollshowbuttons,1);A.buttonPadding=O(a.scrollbtnpadding,0);q.baseFontFamily=X(a.basefont,"Verdana,sans");q.baseFontSize=O(a.basefontsize,10);q.baseFontColor=
X(a.basefontcolor,"595959")},getAPIInstances:function(a){var c=this._chart,d={};switch(a){case this.ALIGNMENT_HORIZONTAL:d.Toolbar=r.HorizontalToolbar}G.init(c.components,this._iCount);d.ComponentGroup=r.ComponentGroup;d.Symbol=r.Symbol;d.Scroller=r.Scroller;d.SymbolWithContext=r.SymbolWithContext;d.SymbolStore=e;d.CheckboxSymbol=r.CheckboxSymbol;return d},getDefaultConfiguration:function(){return t},clean:function(){G.hideRecursive(this._iCount)}}])}]);FusionCharts.register("module",["private","modules.renderer.js-base",
function(){var d=this,m=d.hcLib,E=m.Raphael,n=E._availableAnimAttrs,C="VML"===E.type,B=d.window,K=B.document,a=m.BLANKSTRING,M=m.HUNDREDSTRING,f=m.preDefStr,l=f.configStr,O=f.animationObjStr,X=f.NORMAL,t=f.BOLD,A=f.hiddenStr,q=f.visibleStr,c=f.ROUND,v=f.miterStr,L=f.POSITION_START,e=f.POSITION_TOP,r=f.POSITION_END,H=f.POSITION_BOTTOM,z=f.POSITION_MIDDLE,P=f.POINTER,G=f.noneStr,ga=f.SEVENTYSTRING,f=f.AUTOSTRING,W=m.parseConfiguration,Y=m.componentConfigurer,T=m.BLANKSTRING,ka="https:"===B.location.protocol?
"https://export.api3.fusioncharts.com/":"http://export.api3.fusioncharts.com/",J=m.pluck,ha=m.getValidValue,F=m.pluckNumber,wa=m.getFirstValue,Da=m.parseUnsafeString,fa=m.extend2,ma=m.getDashStyle,ja=m.graphics.mapSymbolName,R=m.regex.dropHash,qa=m.HASHSTRING,bb=B.Image,Ga=m.setImageDisplayMode,Ca=m.removeEvent,Oa=m.getPosition,Pa=m.getMouseCoordinate,Fa=m.addEvent,Wa=8===B.document.documentMode?q:T,Na=m.toRaphaelColor,Va=Math,Ra=Va.min,da=Va.max,Ma=Va.abs,Ia=Va.ceil,Ka=Va.floor,ya=Va.round,gb=Va.sin,
Ya=Va.cos,Db=Math.PI,Ab=Db/2,Eb=2*Db,Bb=Db+Ab,hb=m.getFirstColor,Ta=m.setLineHeight,Ua=m.pluckFontSize,mb=m.graphics.getDarkColor,$a=m.graphics.getLightColor,Za=m.graphics.convertColor,sb=m.POSITION_CENTER,vb=m.POSITION_RIGHT,eb=m.POSITION_LEFT,za=m.chartAPI,zb=m.COMMASTRING,ob=m.PXSTRING,ab=m.componentDispose,Sa,La=B.navigator.userAgent.match(/ (iPad|iPhone|iPod)/g),Qa={left:L,right:r,center:z},lb=m.each,fb="rgba(255,0,0,"+(m.isIE?.002:1E-6)+")",xb=m.BGRATIOSTRING,ib=m.graphics.getAngle,Cb=m.NumberFormatter,
yb=m.getLinkAction,jb=m.hasTouch=void 0!==K.documentElement.ontouchstart,tb={1:t,0:X},nb=function(b){b=b.replace("rgba(",T).split(",");return"#"+("000000"+(b[0]<<16|b[1]<<8|b[2]).toString(16)).slice(-6)},b=!/fusioncharts\.com$/i.test(B.location.hostname),w=m.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"}},D=function(){var b={},a,u=function(){var c,g,w,e,D=0,f,I,N=parseInt(d.core.options.resizeTrackingInterval,10)||300,m={},l=function(){m.itemVar._containerOffsetW=m.parentEle.offsetWidth;m.itemVar._containerOffsetH=m.parentEle.offsetHeight},r;for(c in b)D+=1,g=b[c],w=g.jsVars,f=g.ref,!g.disposed&&(e=f&&f.parentNode)&&(I=f.style)&&(/\%/g.test(I.width)||/\%/g.test(I.height))?(f=e.offsetWidth,r=e.offsetHeight,!w.resizeLocked&&(f&&w._containerOffsetW!==f||r&&w._containerOffsetH!==
r)&&(g.resizeTo&&g.resizeTo(),m.itemVar=w,m.parentEle=e,setTimeout(l,1))):(delete b[c],--D);a=D?setTimeout(u,N):clearTimeout(a)};return function(c,g){var w=c.jsVars,e=g||c.ref&&c.ref.parentNode||{};w._containerOffsetW=e.parentNode.offsetWidth;w._containerOffsetH=e.parentNode.offsetHeight;b[c.id]=c;a||(a=setTimeout(u,parseInt(d.core.options.resizeTrackingInterval,10)||300))}}(),I=m.schedular,N={getExternalInterfaceMethods:function(){var b=za[this.jsVars.type],b=b&&b.eiMethods,a="saveAsImage,print,exportChart,getXML,hasRendered,signature,cancelExport,getSVGString,lockResize,showChartMessage,",
u;if("string"===typeof b)a+=b+zb;else if(void 0!==b||null!==b)for(u in b)a+=u+zb;return a.substr(0,a.length-1)},drawOverlayButton:function(b){var a=this.jsVars,u=a.overlayButton,c,g;if(b&&b.show){u||(u=a.overlayButton=K.createElement("span"),m.dem.listen(u,"click",function(){d.raiseEvent("OverlayButtonClick",b,a.fcObj)}));for(c=b.message?b.message:"Back";u.firstChild;)u.removeChild(u.firstChild);u.appendChild(K.createTextNode(c));a.overlayButtonMessage=c;c={border:"1px solid "+(b.borderColor?b.borderColor.replace(R,
qa):"#7f8975"),backgroundColor:b.bgColor?b.bgColor.replace(R,qa):"#edefec",fontFamily:b.font?b.font:"Verdana,sans",color:"#"+b.fontColor?b.fontColor:"49563a",fontSize:(b.fontSize?b.fontSize:"10")+ob,padding:(b.padding?b.padding:"3")+ob,fontWeight:0===parseInt(b.bold,10)?X:t,position:"absolute",top:"0",right:"0",_cursor:"hand",cursor:P};for(g in c)u.style[g]=c[g];a.hcObj.container.appendChild(u);a.overlayButtonActive=!0}else u&&(a.overlayButton=u.parentNode.removeChild(u),a.overlayButtonActive=!1,
delete a.overlayButtonMessage)},print:function(b){var a=this.apiInstance,u=fa({},b);if(a.config.isPrinting||!a.config.hasRendered)return!1;d.raiseEvent("BeforePrint",u,a.chartInstance,void 0,function(){var b=a.linkedItems.container,k=[],c=b.parentNode,w=K.body||K.getElementsByTagName("body")[0],e=w.childNodes,D,f,I,N;a.config.isPrinting=!0;lb(e,function(b,a){1==b.nodeType&&(k[a]=b.style.display,b.style.display="none")});if(!1!==u.hideButtons){f=a.components.chartMenuBar.componentGroups[0].symbolList;
N=0;for(D=f.length;N<D;N++)if((I=f[N])instanceof a.components.toolBoxAPI.SymbolWithContext){I=I.getListRefernce().getFirstContainer();break}I.container.style.display=G}w.appendChild(a.linkedItems.container);B.print();setTimeout(function(){I.container.style.display=q;c.appendChild(b);lb(e,function(b,a){1==b.nodeType&&(b.style.display=k[a])});!1!==u.hideButtons&&(I.container.style.display=q);a.config.isPrinting=!1;d.raiseEvent("PrintComplete",u,a.chartInstance)},1E3)},function(){d.raiseEvent("PrintCancelled",
u,a.chartInstance)})},exportChart:function(b){return m.exportChart.call(this.apiInstance,b)},getSVGString:function(){return this.jsVars&&this.jsVars.instanceAPI&&this.jsVars.instanceAPI.components&&this.jsVars.instanceAPI.components.paper&&this.jsVars.instanceAPI.components.paper.toSVG()},resize:function(){var b=this.jsVars,a=b.container;b.instanceAPI&&b.instanceAPI.redraw?b.instanceAPI.redraw():m.createChart(b.fcObj,a,b.type,void 0,void 0,!1,!0);delete b.isResizing},lockResize:function(b){return"boolean"!==
typeof b?!!this.jsVars.resizeLocked:this.jsVars.resizeLocked=b},showChartMessage:function(b,a,u){var c=this.jsVars,g=this.FusionCharts.apiInstance;c.msgStore[b]&&(b=c.msgStore[b]);a&&g&&g.config.hasRendered?(g._show(),this.showMessage(b,u)):(g._hide(),g.setChartMessage(b),g.drawChartMessage());return b},showMessage:function(b,a){var u=this.apiInstance,c=u.config,g=u.components,w=u.graphics.messageGroup,e=g.chartMessage||(g.chartMessage={}),e=e.graphics||(e.graphics={}),d=g.paper,D=u.linkedItems.smartLabel,
g=e.messageText,f=e.messageVeil,I=e.message,N=d.width,m=d.height;w||(u.graphics.messageGroup=w=d.group("messageGroup"));f||(f=e.messageVeil=d.rect(0,0,N,m,w).attr({fill:"rgba(0,0,0,0.2)",stroke:G}));f.show().toFront().attr("cursor",a?P:"default")[a?"click":"unclick"](u._hideChartMessage,u);g||(g=e.messageText=d.text(N/2,m/2,T,w).attr({fill:"rgba(255,255,255,1)","font-family":"Verdana,sans","font-size":10,"line-height":14,ishot:!0}));I&&I.hide();b=b||T;D.setStyle({"line-height":"14px","font-family":"Verdana,sans",
"font-size":"10px"});c=D.getSmartText(b,N-(c.marginRight||0)-(c.marginLeft||0),m-(c.marginTop||0)-(c.marginBotton||0));g.attr({text:c.text,ishot:!0,cursor:a?P:"default"})[a?"click":"unclick"](u._hideChartMessage,u).show().toFront()},signature:function(){return"FusionCharts/3.4.0 (XT)"}};delete n.fill;delete n.stroke;d.core.options.resizeTrackingInterval=300;d.core.options.preventTrackResize=!1;d.core.options.SVGDefinitionURL="relative";m.createChart=function(b,h,u,c,g,w,e){var f=b.jsVars,I,l=za[u||
(u=b.chartType())],oa=b.apiInstance,r=f.hasNativeMessage;w=b.options;var q=b.args,n;h.offsetWidth&&h.offsetHeight&&(/^\s*absolute\s*$/i.test(d.core.options.SVGDefinitionURL)&&(E._url=(E._g&&E._g.win||B).location.href.replace(/#.*?$/,a)),n=function(a){var g={renderer:"javascript"},w=f.fcObj,I=w.width,pa=w.height,Ea=l&&l.eiMethods,q=f.overlayButton,n;h.jsVars=b.jsVars;r=f.hasNativeMessage;f.container=h;f.hcObj=a;f.type=u;f.width=h.offsetWidth;f.height=h.offsetHeight;f.instanceAPI=oa;if(a.hasRendered){d.extend(h,
N);if(Ea&&"string"!==typeof Ea)for(n in Ea)h[n]=Ea[n];f.overlayButtonActive&&q&&(q.innerHTML=T,q.appendChild(K.createTextNode(f.overlayButtonMessage)),a.container.appendChild(q))}(/\%/g.test(I)||/\%/g.test(pa))&&h&&h.parentNode&&!d.core.options.preventTrackResize&&D(w,h);if(c&&(c({success:a.hasRendered,ref:h,id:b.id}),a.hasRendered)){m.raiseEvent("loaded",{type:u,renderer:"javascript"},b,[b.id]);oa.config.hasRendered=!0;if(!0===b.disposed)return;r||(w.__state.firstRenderNotified=!0,setTimeout(function(){m.raiseEvent("rendered",
{renderer:"javascript"},w,[w.id])},0))}a.hasRendered&&f.previousDrawCount<f.drawCount&&(g.width=f.width,g.height=f.height,g.drawCount=f.drawCount,g.displayingMessage=r,g.renderer=w.options.renderer,m.raiseEvent("drawcomplete",g,w,[w.id]),r||e||setTimeout(function(){w.__state&&!w.__state.firstRenderNotified&&m.raiseEvent("rendered",{renderer:"javascript"},w,[w.id]);d.raiseEvent("renderComplete",g,w)},0))},oa&&oa.inited?(d.raiseEvent("internal.drawStart",{chartType:u,logicName:oa.name,logicBase:oa.base&&
oa.base.name,defaultSeriesType:oa.defaultSeriesType},b),g=b.jsVars&&b.jsVars.themeObject&&b.jsVars.themeObject.getThemedJSONData()||b.getChartData(d.dataFormats.JSON,!0),I=g.data,oa.config&&oa.config.hasChartMessage&&oa._hideChartMessage(),oa.jsonData=I,e||m.raiseEvent("dataloaded",{},b,[b.id]),oa.configure(),oa._feedAxesRawData(),oa._setCategories(),Y(oa),oa.draw(),n({hasRendered:!0,container:h})):oa&&"base"===u?(oa.setChartMessage(g,b,h),oa.drawChartMessage()):(oa&&"base"===oa.name&&"base"!==u&&
(oa.dispose(),oa=void 0),oa?oa.config&&oa.config.hasChartMessage&&oa._hideChartMessage():oa=b.apiInstance=l?new za(u):new za("base"),oa.chartInstance=b,oa.origRenderWidth=b.__state.renderedWidth,oa.origRenderHeight=b.__state.renderedHeight,"base"===u?(oa.setChartMessage(g,b,h),oa.drawChartMessage()):void 0!==g?"string"===typeof g&&(oa.setChartMessage(g,b,h),oa.drawChartMessage(),r=f.hasNativeMessage=!0):!oa||!oa.init||oa&&"base"===oa.name?(b._chartMessageImageStyle={imageHAlign:J(q.typeNotSupportedMessageImageHAlign,
w.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:J(q.typeNotSupportedMessageImageVAlign,w.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:F(q.typeNotSupportedMessageImageAlpha,w.baseChartMessageImageAlpha),imageScale:F(q.typeNotSupportedMessageImageScale,w.baseChartMessageImageScale)},b._chartMessageStyle={color:q.typeNotSupportedMessageColor||w.baseChartMessageColor,fontFamily:q.typeNotSupportedMessageFont||w.baseChartMessageFont,fontSize:q.typeNotSupportedMessageFontSize||w.baseChartMessageFontSize},
oa.setChartMessage(w.typeNotSupportedMessage,b,h),oa.drawChartMessage(),r=f.hasNativeMessage=!0):f.message?(oa.setChartMessage(f.message,b,h),oa.drawChartMessage(),r=f.hasNativeMessage=!0):f.loadError?(b._chartMessageImageStyle={imageHAlign:J(q.dataLoadErrorMessageImageHAlign,w.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:J(q.dataLoadErrorMessageImageVAlign,w.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:F(q.dataLoadErrorMessageImageAlpha,w.baseChartMessageImageAlpha),imageScale:F(q.dataLoadErrorMessageImageScale,
w.baseChartMessageImageScale)},b._chartMessageStyle={color:q.dataLoadErrorMessageColor||w.baseChartMessageColor,fontFamily:q.dataLoadErrorMessageFont||w.baseChartMessageFont,fontSize:q.dataLoadErrorMessageFontSize||w.baseChartMessageFontSize},oa.setChartMessage(w.dataLoadErrorMessage,b,h),oa.drawChartMessage(),r=f.hasNativeMessage=!0):f.stallLoad?(b._chartMessageImageStyle={imageHAlign:J(q.dataLoadStartMessageImageHAlign,w.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:J(q.dataLoadStartMessageImageVAlign,
w.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:F(q.dataLoadStartMessageImageAlpha,w.baseChartMessageImageAlpha),imageScale:F(q.dataLoadStartMessageImageScale,w.baseChartMessageImageScale)},b._chartMessageStyle={fontFamily:q.dataLoadStartMessageFont||w.baseChartMessageFont,fontSize:q.dataLoadStartMessageFontSize||w.baseChartMessageFontSize,color:q.dataLoadStartMessageColor||w.baseChartMessageColor},oa.setChartMessage(w.dataLoadStartMessage,b,h),oa.drawChartMessage(),r=f.hasNativeMessage=!0,
n({hasRendered:!0,container:h})):"zoomscatter"!==u||K.createElement("canvas").getContext?(d.raiseEvent("internal.drawStart",{chartType:u,logicName:oa.name,logicBase:oa.base&&oa.base.name,defaultSeriesType:oa.defaultSeriesType},b),g=b.jsVars&&b.jsVars.themeObject&&b.jsVars.themeObject.getThemedJSONData()||b.getChartData(d.dataFormats.JSON,!0),I=g.data,g.error instanceof Error?(b._chartMessageImageStyle={imageHAlign:J(q.dataInvalidMessageImageHAlign,w.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:J(q.dataInvalidMessageImageVAlign,
w.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:F(q.dataInvalidMessageImageAlpha,w.baseChartMessageImageAlpha),imageScale:F(q.dataInvalidMessageImageScale,w.baseChartMessageImageScale)},b._chartMessageStyle={fontFamily:q.dataInvalidMessageFont||w.baseChartMessageFont,fontSize:q.dataInvalidMessageFontSize||w.baseChartMessageFontSize,color:q.dataInvalidMessageColor||w.baseChartMessageColor},oa.setChartMessage(w.dataInvalidMessage,b,h),oa.drawChartMessage(),r=f.hasNativeMessage=!0,b.__state.dataReady=
!1,e||d.raiseEvent("dataInvalid",{error:g.error},f.fcObj,void 0,function(){m.raiseEvent("dataxmlinvalid",{},b,[b.id])})):(e||m.raiseEvent("dataloaded",{},b,[b.id]),!0!==oa.chartInstance.disposed&&oa.init(h,I,b,n))):(b._chartMessageImageStyle={imageHAlign:J(q.browserNotSupportedMessageImageHAlign,w.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:J(q.browserNotSupportedMessageImageVAlign,w.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:F(q.browserNotSupportedMessageImageAlpha,w.baseChartMessageImageAlpha),
imageScale:F(q.browserNotSupportedMessageImageScale,w.baseChartMessageImageScale)},b._chartMessageStyle={color:q.browserNotSupportedMessageColor||w.baseChartMessageColor,fontFamily:q.browserNotSupportedMessageFont||w.baseChartMessageFont,fontSize:q.browserNotSupportedMessageFontSize||w.baseChartMessageFontSize},oa.setChartMessage(J(q.browserNotSupportedMessage,w.browserNotSupportedMessage),b,h),oa.drawChartMessage(),r=f.hasNativeMessage=!0)))};FusionCharts.register("component",["legend","legend",
{customConfigFn:null,init:function(){this.graphics||(this.graphics={});this.item||(this.items=[]);this.components||(this.components={})},drawLegend:function(b,a){var u,c,g,w=this.chart,d=w.config;u=w.components;var D=u.paper,f=this.config,I=this.graphics||(this.graphics={}),N=w.graphics.legendGroup,m;c=I.box;var q=I.caption,n,t=d.height-d.canvasBottom,A=d.canvasLeft,v=d.canvasWidth,rb=f.chartMarginLeft||0,kb=f.chartMarginRight||0,B=f.chartMarginBottom||0,S=d.actionBarHeight||0,Q=f.actualCanvasMarginLeft||
0,H=d.actualCanvasMarginBottom||0,C=d.actualCanvasMarginRight||0,G=f.alignLegendWithCanvas,la=d.height,Z=d.canvasTop,xa=f.width,J=f.height,U=d.borderWidth;g=f.borderRadius;var ba=f.backgroundColor,aa=f.borderColor,q=f.borderWidth||0,V=f.legendPos,P=.5*q,K=.5*q+2,Xa=F(f.padding,4),ea=.5*Xa,M=f.scroll.enabled,R=f.drawn,w=w.get(l,O),Y=w.dummyObj,ia=w.animObj,va=w.transposeAnimDuration,na=w.animType,W,ga,X,ta,ra,w=u.legendScrollBar,sa=0,ua=0,sa=d.oriCanvasLeft,Aa=d.oriTopSpace,ua=d.oriBottomSpace,ka=
u.tb,Ha=u.toolBoxAPI.Scroller;V===vb&&(f.align=vb,f.verticalAlign=z,n=f.layout="vertical");n?(void 0===b&&(b=d.width-kb-C-xa-U),void 0===a&&(sa=F(Aa,Z),ua=F(ua,t),a=sa+.5*(la-ua-sa-J)+(f.y||0))):(void 0===b&&(n=d.width-(rb+Q+(kb+C)),n=G?v-xa:n-xa,A=G?F(sa,A):rb+Q,b=A+n/2),void 0===a&&(a=la-J-H-B-S));J=E.crispBound(b,a,xa,J,q);b=J.x;a=J.y;xa=J.width;J=J.height;R?(f.xL&&(f.xL=Ra(da(f.xL,K),d.width-f.width-K)),f.yL&&(f.yL=Ra(da(f.yL,K),d.height-f.height-K)),N.show().animateWith(Y,ia,{transform:["T",
f.xL||b,f.yL||a]},va,na)):N.show().transform(["T",b,a]);f.xPos=b;f.yPos=a;N.attr({cursor:f.legendAllowDrag?"move":T});f.legendAllowDrag&&!f._dragEvtListenerBinded&&(N.drag(function(b,a){f.legendAllowDrag&&(ta=ga+b,ra=X+a,ta=Ra(da(ta,K),d.width-f.width-K),ra=Ra(da(ra,K),d.height-f.height-K),N.transform("t"+ta+","+ra),f.xPos=f.xL=ta,f.yPos=f.yL=ra)},function(){f.legendAllowDrag&&(ga=f.xL||f.xPos,X=f.yL||f.yPos)}),f._dragEvtListenerBinded=!0);R={x:0,y:0,width:xa,height:J,r:g,stroke:aa,"stroke-width":q,
fill:ba||"none",ishot:f.legendAllowDrag};c?(c.animateWith(Y,ia,{x:0,y:0,width:xa,height:J,r:g},va,na),c.attr({stroke:aa,"stroke-width":q,fill:ba||"none"})):c=I.box=D.rect(R,N);R=f.drawn=!0;c.shadow(f&&f.shadow);m=I.itemGroup||(I.itemGroup=D.group("item",N));M?(c={isHorizontal:!1},g={scroll:function(b){m.transform(["T",0,(W-f.totalHeight)*b])},mousedown:function(b){b.preventDefault();b.stopPropagation()}},w=u.legendScrollBar,w||(u.legendScrollBar=w=(new Ha(c,(ka.idCount||0)+1,ka.pId)).attachEventHandlers(g)),
W=J-Xa,m.attr({"clip-rect":"0,"+ea+(","+xa+","+W)}),u=(W+Xa)/f.totalHeight,w.draw(xa-10+ea-q,P,{height:J-q,scrollRatio:u,startPercent:0,color:f.legendScrollBgColor}),N.appendChild(w.node)):(w&&w.node&&w.node.hide(),m.attr({"clip-rect":null}),m.node&&m.node.removeAttribute("clip-path"));q=I.caption;if(f.title&&f.title.text!==T&&f.validLegendItem){switch(f.title.align){case L:M=Xa;break;case r:M=xa-Xa-(M?10:0);break;default:M=.5*xa}N.trackTooltip(!0);xa=f.title.style;R={text:f.title.text,title:f.title.originalText||
T,x:M,y:Xa,fill:f.title.style.color,direction:f.textDirection,"line-height":xa.lineHeight,"vertical-align":e,"text-anchor":f.title.align};Xa={"font-weight":xa.fontWeight,"font-style":xa.fontStyle,"font-family":xa.fontFamily,"font-size":xa.fontSize};q?(q.show().attr(R),q.css(Xa)):q=I.caption=D.text(R,Xa,m);q.tooltip(f.title.originalText)}else q&&q.hide();f.showLegend&&!1!==f.enabled?this._drawPointLegendItem():N.hide()},reverseLegendFn:function(){var b=this.components.items||[],a,u=[],c,g=0,w=this.config;
for(a=b.length-1;0<=a;a--)b[a].configuration.mainDS?(c=a,u=u.concat(b.splice(c,g+1)),g=0):g++;u.length&&(w.orderReversed=!0,this.components.items=u.slice(0))},_manageLegendPosition:function(b){var a=this.config,u=this.chart.hasSubDataset,c=a.legendPos,g=this.components.items;a.reversed?u?!a.orderReversed&&this.reverseLegendFn():g&&g.reverse():u&&a.orderReversed&&this.reverseLegendFn();return c===vb?this._placeLegendBlockRight(b):this._placeLegendBlockBottom(b)},_placeLegendBlockBottom:function(b){var h=
this.chart,u=this.components,c=h.config,g=m.TESTSTR,w=c.width,e=c.height,d=c.canvasLeft,f=c.width-(c.canvasRight||0),D=h.linkedItems.smartLabel,I=this.config,N=I.chartMarginLeft,l=I.chartMarginRight,r=I.chartMarginTop,q=I.alignLegendWithCanvas,n=I.minimiseWrappingInLegend,z=I.legendScale,t=I.numColumns,A=I.padding,v=2*b,B=2*A,Q=B,E=I.title,H=E.padding,C=parseInt(I.itemStyle.fontSize,10)||10,G=u.items||[],Z=G.length,u=I.oriSymbolPadding,J=I.textPadding,P=I.legendPadding,U=c.canvasMarginRight,ba=c.canvasMarginLeft,
aa=h.components.yAxis||[],h=aa[0],aa=aa[1],h=h&&h.config||{},aa=aa&&aa.config||{},V=h.nameMaxW,L=aa.nameMaxW,K=h.name&&h.name.style||{},Xa=aa.name&&aa.name.style||{},ea=h.axisName||T,M=aa.axisName||T,O=0,R=0,ia=0,Y=0,na=aa=0,W=0,ga=0,X=[],ta=!1,ra=0,sa=0,ua,Aa,ka=h=c.canvasWidth-c.canvasMarginLeft-c.canvasMarginRight,Ha;I.paddingBottom=c.height-c.canvasBottom;D.useEllipsesOnOverflow(c.useEllipsesWhenOverflow);D.setStyle(K);Y=D.getOriSize(ea);D.setStyle(Xa);Xa=D.getOriSize(M);C+=1;0>=C&&(C=1);h-=B;
u*=z;C=Ra(C*z,h);0>=C&&(u=C=0);I.symbolWidth=C;I.textPadding=4;I.legendHeight=c=C+2*u;I.rowHeight=z=da(parseInt(I.itemStyle.lineHeight,10)||12,c);A=J+u+A;D.setStyle(I.itemStyle);K=D.getOriSize(g).height;g=P+I.borderWidth/2+1;g=Ra(g,b-K-8);P=.05*z;if(Y||Xa)ua=F(Y.height,0)>F(Xa.height,0)?(Ha=V)&&Y.width:(Ha=L)&&Xa.width;h=q?h:w-(ua+r>e-b?2*Ha+l+N+U+ba:l+N+ba+U);I.initialItemY=0;I.initialItemX=0;if(I.showLegend&&0!==Z){for(w=0;w<Z;w+=1)ua=G[w],e=ua.config||(ua.config={}),r=ua.configuration,ua=e.name=
Da(r.label),ua===a||0===r.enabled||!1===r.enabled?e.enabled=0:(e.enabled=1,ia+=1,Aa=!0,ua=D.getOriSize(ua),O=da(O,ua.width),na=da(na,Ra(ua.height,v)),R+=ua.width);I.validLegendItem=Aa;Y=R/ia;r=c+P+J+u+B;R+=r*ia;I.x=(d-N-f+l)/2;I.x=!q&&R>ka?0:I.x;if(Aa){Y+=r;O+=r;0<t&&ia<t&&(t=ia);R<=h&&(0>=t||t===ia)?(t=ia,aa=R/ia,ta=!0,na>z&&(ga=(na-z)/2,z=na)):0<t&&(aa=h/t)>Y?aa>O&&(aa=O):h>O&&(n||1.5*Y>O)?(t=Ka(h/O),ia<t&&(t=ia),aa=O):h>=2*Y?(t=Ka(h/Y),ia<t&&(t=ia),aa=Ka(h/t),aa>O&&(aa=O)):(t=1,aa=h);I.itemWidth=
aa;d=Ia(aa-r);0>d&&(u=d=J=0);I.symbolPadding=u;I.textPadding=J;I.width=aa*t-P;E.oriText!==a&&(D.setStyle(E.style),ua=D.getSmartText(E.oriText,h,v),E.text=ua.text,ua.tooltext&&(E.originalText=ua.tooltext),E=ua.width+B,I.width<E&&(I.initialItemX=(E-I.width)/2,I.width=E),I.initialItemY=W=ua.height+H);D.setStyle(I.itemStyle);for(w=0;w<Z;w+=1)if(ua=G[w],e=ua.config,0!==e.enabled){0===d&&(X[sa]=!0,e.name=a,H=1,E=parseInt(sa/t,10),f=sa%t,e._legendX=f*aa,e._legendY=E*z+B,e._legendH=H*z,e._totalWidth=C+u);
if(ta)ua=D.getOriSize(e.name),ua.height<z&&(e._legendTestY=(z-ua.height)/2),e._markerYGutter=ga,e._legendX=ra,e._legendY=B,e._legendH=z,e._totalWidth=C+A+ua.width,ra+=ua.width+r;else{ua=D.getSmartText(e.name,d,v);e.name=ua.text;for(ua.tooltext&&(e.originalText=ua.tooltext);!0===X[sa];)sa+=1;E=ua.height/z;f=sa;for(H=0;H<E;H+=1,f+=t)X[f]=!0;ua.height<z&&(e._legendTestY=(z-ua.height)/2);E=parseInt(sa/t,10);f=sa%t;e._legendX=f*aa;e._legendY=E*z+B;e._legendH=H*z;e._totalWidth=C+A+ua.width}sa++}D=ta?1:
Ia(X.length/t);I.height=I.totalHeight=Q+(D*z+W);I.rowHeight=z;I.legendNumColumns=t;I.height-2*u>b?(I.height=b,b=I.scroll||(I.scroll={}),b.enabled=!0,b.flatScrollBars=I.flatScrollBars,b.scrollBar3DLighting=I.scrollBar3DLighting,I.width=I.width+12>h?I.width:I.width+12):I.scroll.enabled=!1;g+=I.height;I.isActive=!0;I.enabled=!0}else I.enabled=!1,g=I.width=0}else g=0,I.height=0,I.width=0;return{bottom:g,right:0}},_placeLegendBlockRight:function(b){var h=this.config,u=this.components,c=this.chart,g=c.config,
w=c.linkedItems.smartLabel,e=c.components.canvas.config.canvasBorderThickness||0,d=h.textPadding,c=h.title.padding,D=h.oriSymbolPadding,f=h.legendPadding,I=h.legendScale,N=parseInt(h.itemStyle.fontSize,10),m=2*g.canvasHeight,l=0,r=2*h.padding,q=r,n={},z=!1,u=u.items||[],t=u.length,A,v,B,F=0;b-=r+f;N+=1;0>=N&&(N=1);D*=I;N=Ra(N*I,b);0>=N&&(D=N=0);h.symbolPadding=D;h.symbolWidth=N;h.legendHeight=I=N+2*D;h.rowHeight=da(parseInt(h.itemStyle.lineHeight,10)||12,I);e=f+h.borderWidth/2+e;v=b-I-f-d;0>v&&(v=
0);w.useEllipsesOnOverflow(g.useEllipsesWhenOverflow);w.setStyle(h.itemStyle);if(h.showLegend&&0!==t){for(F=0;F<t;F+=1)A=u[F],g=A.config||(A.config={}),B=A.configuration,A=g.name=Da(B.label),g._legendX=0,g._legendY=q,0===B.enabled||!1===B.enabled||A===a?g.enabled=0:(g.enabled=1,z=!0,0===v?(q+=g._legendH=I,g.name=a,g._totalWidth=N+D):(A=w.getSmartText(A,v,m),g.name=A.text,A.tooltext&&(g.originalText=A.tooltext),A.height<I&&(g._legendTestY=(I-A.height)/2),g._totalWidth=N+D+d+A.width+f,q+=g._legendH=
da(A.height,I),l=da(A.width,l)));(h.validLegendItem=z)?(h.itemWidth=l+I+f+d,h.width=h.itemWidth+r,h.title.oriText!==a&&(w.setStyle(h.title.style),A=w.getSmartText(h.title.oriText,b,m),h.title.text=A.text,A.tooltext&&(h.title.originalText=A.tooltext),w=A.width+r,h.width<w&&(h.initialItemX=(w-h.width)/2,h.width=w),h.initialItemY=A.height+c,q+=h.initialItemY),h.height=h.totalHeight=q,e=Ra(h.width+e,b),n.right=e+f,h.isActive=!0,h.enabled=!0):(h.enabled=!1,h.width=0,n.right=0)}else n.right=0,h.height=
0,h.width=0;return n},postSpaceManager:function(){var b=this.config,a=this.chart.config.canvasHeight;b.legendPos===vb&&(b.height>a?(b.height=a,b.scroll.enabled=!0,b.scroll.flatScrollBars=b.flatScrollBars,b.scroll.scrollBar3DLighting=b.scrollBar3DLighting,b.width+=(b.scroll.scrollBarWidth=10)+(b.scroll.scrollBarPadding=2)):b.scroll.enabled=!1)},configure:function(){var b=this.chart,h=this.config,c=b.config,p=c.style,g=b.jsonData.chart||b.jsonData.map,e=b.components.colorManager,d=b.is3D?w.chart3D:
w.chart2D,D,f,I=F(g.useroundedges,0);D=p.outCancolor;f=F(g.legendpadding,7);var N=J(g.legenditemfont,p.outCanfontFamily),m=F(g.legendiconscale,1),l=Ua(g.legenditemfontsize,p.fontSize),r=J(g.legenditemfontcolor,D).replace(/^#?([a-f0-9]+)/ig,"#$1"),q=J(g.legendiconbgcolor),n=J(g.legendiconbordercolor),z=J(g.legendiconbgalpha,g.legendiconalpha,100),t=J(g.legendiconborderalpha,g.legendiconalpha,100),A=F(g.legendiconsides,4),v=F(g.legendiconborderthickness),B=F(g.legendiconstartangle,45),Q=hb(J(g.legenditemhoverfontcolor,
r)),E=tb[F(g.legenditemfontbold,0)]||T,p=Ua(g.legendcaptionfontsize,p.fontSize)+"px";h.isActive=!1;h.chartMarginTop=c.origMarginTop;h.chartMarginRight=c.origMarginRight;h.chartMarginBottom=c.origMarginBottom;h.chartMarginLeft=c.origMarginLeft;h.showLegend=F(g.showlegend,!b.dontShowLegendByDefault,1);l+="px";h.legendPos=J(g.legendposition,b.legendposition,H).toLowerCase();h.numColumns=F(g.legendnumcolumns,0);h.xL=h.yL=0;if(0>=m||5<m)m=1;h.drawCustomLegendIcon=F(g.drawcustomlegendicon,0);h.customLegendConfig=
{bgColor:q,borderColor:n,bgAlpha:z,borderAlpha:t,borderThickness:v,startAngle:B,sides:A};h.legendScale=m;h.legendPadding=f;h.oriSymbolPadding=3;h.textPadding=4;h.alignLegendWithCanvas=F(g.alignlegendwithcanvas,1);h.itemStyle={color:Za(r),fontFamily:N,fontSize:l,fontWeight:E};Ta(h.itemStyle);h.itemHiddenStyle={fontFamily:N,fontSize:l,color:Za(J(g.legenditemhiddencolor,"cccccc").replace(/^#?([a-f0-9]+)/ig,"#$1")),fontWeight:E};Ta(h.itemHiddenStyle);h.title.style={fontFamily:J(g.legendcaptionfont,N),
fontSize:p,color:J(g.legendcaptionfontcolor,D).replace(/^#?([a-f0-9]+)/ig,"#$1"),fontWeight:tb[F(g.legendcaptionfontbold,1)]||T};h.title.align=Qa[g.legendcaptionalignment&&g.legendcaptionalignment.toLowerCase()||Qa.center]||Qa.center;h.itemHoverStyle={color:Za(Q.replace(/^#?([a-f0-9]+)/ig,"#$1"))};h.title.style["text-anchor"]=h.title.align;h.padding=4;c=J(g.legendbordercolor,e.getColor(d.legendBorderColor));D=F(g.legendborderalpha,100);f=F(g.legendbgalpha,100);h.backgroundColor=Za(J(g.legendbgcolor,
e.getColor(d.legendBgColor)),f);h.borderColor=Za(c,D);h.borderWidth=F(g.legendborderthickness,!I||g.legendbordercolor?1:0);h.borderRadius=F(I,0);h.shadow=!!F(g.legendshadow,1);h.symbol3DLighting=!!F(g.use3dlighting,g.useplotgradientcolor,1);h.shadow&&(h.shadow={enabled:h.shadow,opacity:da(D,f)/100});h.reversed=!!F(g.reverselegend,0);h.style={padding:4};h.lineWidth=F(g.linethickness,2);(h.interactiveLegend=!1!==b.hasInteractiveLegend&&!!F(g.interactivelegend,1))?(h.interactiveLegend=!0,h.symbolStyle=
{_cursor:"hand",cursor:P}):(h.interactiveLegend=!1,h.itemStyle.cursor="default",h.itemHoverStyle.cursor="inherit");h.borderRadius=F(g.legendborderradius,I?3:0);h.legendAllowDrag=!!F(g.legendallowdrag,0);h.title.text=h.title.oriText=Da(wa(g.legendcaption,a));h.legendScrollBgColor=hb(J(g.legendscrollbgcolor,g.scrollcolor,e.getColor("altHGridColor")));h.legendScrollBarColor=J(g.legendscrollbarcolor,c);h.legendScrollBtnColor=J(g.legendscrollbtncolor,c);h.minimiseWrappingInLegend=F(g.minimisewrappinginlegend,
0);h.flatScrollBars=F(g.flatscrollbars,0);h.scrollBar3DLighting=F(g.scrollbar3dlighting,1);h.orderReversed=!1},_drawPointLegendItem:function(){var b=this,a=b.chart,c=a.hasSubDataset,p=a.config,g=a.get(l,O),w=g.transposeAnimDuration,D=g.animType,f=g.dummyObj,g=g.animObj,I=a.components.dataset,N=a.components.paper,oa=b.config,r=oa.reversed,q=b.components.items||[],n=oa.legendHeight,z=oa.symbolPadding,t=oa.symbolWidth,A=oa.interactiveLegend,v=oa.textPadding||2,B=F(oa.padding,4),p=p.textDirection,E=oa.itemHiddenStyle,
S=oa.itemStyle,Q=oa.itemHoverStyle,H=oa.lineWidth,C=S.color,G=E&&E.color||"#CCCCCC",E=b.graphics,la=E.itemGroup,Z=oa.drawCustomLegendIcon,xa=oa.customLegendConfig,Kb,U,ba,aa,V,K,M,Xa,ea,Y,cb,T,ia,W,na,ga,X,da,ta,ra,sa,ua,Aa,ka,Ha,fa,ha,ma,ya,wa=m.hashify,Da=function(b){var k=this.data("legendItem"),g=k.configuration.datasetObj||k.dataset,g=g.getEventArgs?g.getEventArgs(k):{};b=Pa(a.chartInstance,b);g.chartX=b.chartX;g.chartY=b.chartY;g.pageX=b.pageX;g.pageY=b.pageY;g.legendItemIndex=k.index;g.legendItemId=
k.legendItemId;g.preventDefaults=function(){};d.raiseEvent("LegendItemClicked",g,a.chartInstance)},La=function(b){var k=this.data("legendItem")||{},g=k.configuration.datasetObj||k.dataset,c=this.data("interactive"),g=g.getEventArgs?g.getEventArgs(k):{};b=Pa(a.chartInstance,b);var u=this.data("itemHoverStyle"),p=k.graphics&&k.graphics.legendItemText;!1!==k.dataset.visible&&c&&p&&p.attr({fill:u.color});g.chartX=b.chartX;g.chartY=b.chartY;g.pageX=b.pageX;g.pageY=b.pageY;g.legendItemIndex=k.index;g.legendItemId=
k.legendItemId;d.raiseEvent("LegendItemRollover",g,a.chartInstance)},Ga=function(b){var k=this.data("legendItem")||{},g=k.configuration.datasetObj||k.dataset,c=this.data("interactive"),g=g.getEventArgs?g.getEventArgs(k):{};b=Pa(a.chartInstance,b);var u=!1!==k.dataset.visible,p=this.data("itemStyle"),w=k.graphics&&k.graphics.legendItemText;u&&c&&w&&w.attr({fill:p.color});g.chartX=b.chartX;g.chartY=b.chartY;g.pageX=b.pageX;g.pageY=b.pageY;g.legendItemIndex=k.index;g.legendItemId=k.legendItemId;d.raiseEvent("LegendItemRollout",
g,a.chartInstance)},Fa=function(a){var h=this.data("legendItem"),g=h.dataset;this.data("interactive")&&h.legendClickFN.call(b,g,h,I);Da.call(this,a)},Ia=function(){da=.5*t;X=Xa+z+da;aa=ea+(na._markerYGutter||0)+z+da;Oa&&(da*=.6);ma=ja(ua.anchorSide);ra=ua.symbol=ma&&ma.split("_")||[];ta="spoke"===ra[0]?1:0;Ma={polypath:[ra[1]||2,X,aa,da,ua.startAngle,ua.spoke||ta]};Ca={cursor:S.cursor||P,stroke:ba?Aa:G,fill:ba?ka:G,"stroke-width":sa,ishot:A}},Ka,Ca,Sa={},Oa,Ma,za;Kb=oa.initialItemX||0;U=oa.initialItemY||
0;if(!1!==oa.enabled&&oa.showLegend){la.css(S);cb=0;for(T=q.length;cb<T;cb+=1)oa=q[cb],oa.index=cb,ua=oa.configuration,K=ua.type,na=oa.config=oa.config||(oa.config={}),E=oa.graphics||(oa.graphics={}),ia=oa.dataset,ia.graphics&&(ia.graphics.legendGraphics=E),Aa=na.strokeColor=ua.strokeColor||"000000",ka=na.fillColor=ua.fillColor||"000000",na.interactiveLegend=ua.interactiveLegend,na.legendBackgroundColor=ua.legendBackgroundColor?Na({color:ua.legendBackgroundColor,alpha:20}):Na(fb),Ha=ua.anchorSide,
fa=na.drawLine=ua.drawLine,H=ua.lineWidth||H,ha=ua.lineColor||Aa,Xa=Kb+na._legendX+B,ea=U+na._legendY-B,sa=na.strokeWidth=ua.strokeWidth||.5,Y=na._legendH,ba=!1!==ia.visible,ia=E.legendItemBackground,V=E.legendItemText,W=E.legendItemLine,ga=E.legendItemSymbol,A=J(na.interactiveLegend,A),!A&&(S.cursor="default"),0!==na.enabled?(ya=Xa+n+v-2,za=ea+(na._legendTestY||0),M={text:na.name,fill:ba?C:G,"text-anchor":L,"vertical-align":e,cursor:S.cursor||P,direction:p,"line-height":S.lineHeight},Ka=Ma=null,
na.textAttr=M,V?(V.show().animateWith(f,g,{x:ya,y:za},w,D),V.attr(M)):(M.x=ya,M.y=za,V=E.legendItemText=N.text(M,la).data("legendItem",na)),Oa=!1,Z&&!1!==ua.customLegendIcon?(ya=xa.borderColor,V=J(xa.borderAlpha),ha=xa.bgColor,M=J(xa.bgAlpha,"100"),Ha||"line"===K||fa||"spline"===K?(K=wa(ua.rawStrokeColor),ua.rawFillColor=wa(ua.rawFillColor),ka=J(ha,ua.rawFillColor,na.color),/^#/.test(ka)&&(ka=Za(ka,M)),ha=J(ya,K,na.strokeColor),ha=Za(ha,V),na.anchorSide=xa.sides):(K=J(ua.rawFillColor,na.fillColor),
ka=J(ha,K),ka=Za(ka,M),xa.borderColor?ha=Za(xa.borderColor,V):(/rgb/.test(K)&&(K=nb(K)),ha=$a(K,60).replace(R,qa),ha=Za(ha,V))),na.fillColor=ka,na.strokeColor=ha,da=.5*t,X=Xa+z+da,aa=ea+(na._markerYGutter||0)+z+da,ra=(ma=ja(xa.sides))&&ja(xa.sides).split("_")||[],ta="spoke"===ra[0]?1:0,Ma={polypath:[ra[1]||2,X,aa,da,xa.startAngle,ta]},Ca={cursor:S.cursor||P,stroke:ba?ha:G,fill:ba?ka:G,"stroke-width":F(xa.borderThickness,1),ishot:A}):"line"===K||fa?(aa=ea+(na._markerYGutter||0)+z+.5*t,Ka={path:["M",
Xa+z,aa,"L",Xa+z+t,aa]},Oa=!0,Sa={"stroke-width":H,stroke:ba?ha:G,cursor:S.cursor||P,ishot:A},Ha&&Ia()):Ha?Ia():"line"!==K&&(ga=E.legendItemSymbol,K=b._getSymbolPath(Xa+z,ea+(na._markerYGutter||0)+z,t,t,K),Ma={path:K.path},Ca={"stroke-width":.5,stroke:ba?Aa:G,fill:ba?ka:G,cursor:S.cursor||P,ishot:A}),Ka&&Oa?(na.lineAttr=Sa,W||(W=E.legendItemLine=N.path(la),W.attr(Ka)),W.show().animateWith(f,g,Ka,w,D),W.attr(Sa).data("legendItem",na)):W&&W.hide(),Ma?(na.symbolAttr=Ca,ga||(ga=E.legendItemSymbol=N.polypath(la),
ga.attr(Ma)),ga.show().animateWith(f,g,Ma,w,D),ga.attr(Ca),ga.data("legendItem",na)):ga&&ga.hide(),Y={x:Xa,y:ea,width:na._totalWidth,height:Y},W={r:0,fill:na.legendBackgroundColor,"stroke-width":1,stroke:"none",cursor:S.cursor||P,ishot:A},ia||(ia=E.legendItemBackground=N.rect(la),ia.attr(Y).mouseover(La).mouseout(Ga).click(Fa)),ia.show().animateWith(f,g,Y,w,D),ia.attr(W),ia.data("legendItem",oa).data("interactive",A).data("itemHoverStyle",Q).data("itemStyle",S)):(V&&V.hide(),ia&&ia.hide(),ga&&ga.hide(),
W&&W.hide());!c&&r&&q.reverse()}},_getSymbolPath:function(b,a,c,p,g){var w=["M"],e,d,D;switch(g){case "column":case "dragcolumn":case "column3d":e=.25*c;g=.5*e;d=.7*p;D=.4*p;w=w.concat([b,a+p,"l",0,-d,e,0,0,d,"z","m",e+g,0,"l",0,-p,e,0,0,p,"z","m",e+g,0,"l",0,-D,e,0,0,D,"z"]);break;case "bar":case "bar3d":e=.3*c;g=.6*c;d=p/4;D=d/2;w=w.concat([b,a,"L",b+g,a,b+g,a+d,b,a+d,"Z","M",b,a+d+D,"L",b+c,a+d+D,b+c,a+d+D+d,b,a+2*d+D,"Z","M",b,a+2*(d+D),"L",b+e,a+2*(d+D),b+e,a+p,b,a+p,"Z"]);break;case "area":case "area3d":case "areaspline":case "dragarea":d=
.6*p;D=.2*p;g=.8*p;w=w.concat([b,a+g,"L",b,a+d,b+.3*c,a+D,b+.6*c,a+d,b+c,a+D,b+c,a+g,"Z"]);break;case "pie2d":case "pie3d":case "doughnut2d":case "doughnut3d":e=.5*c;g=.9*e;c=b+e+1;p=a+e-1;b=b+e-1;a=a+e+1;w=w.concat(["M",c,p,"L",c,p-g+1,"A",g-1,g-1,0,0,1,c+g-1,p,"Z","M",b,a,"L",b,a-g,"A",g,g,0,1,0,b+g,a,"Z"]);break;case "boxandwhisker2d":w=w.concat([b,a,"L",b+c,a,b+c,a+p,b,a+p,"Z"]);break;default:w=w.concat([b,a,"L",b+c,a,b+c,a+p,b,a+p,"Z"])}return{path:w}},emptyItems:function(b,a){var c=this.components,
p=c.items||(c.items=[]),g,w,c=void 0!==a?a:p.length,e=p.splice(b,c);b=0;for(c=e.length;b<c;b+=1)for(g in p=(e[b]||(e[b]={})).graphics,p)(w=p[g])&&w.remove&&"function"===typeof w.remove&&w.remove()},removeItem:function(b){var a=this.getItems()||[],c,p,g,w=a.length;for(c=0;c<w;c++)if(p=a[c],g=p.legendItemId,b===g){ab.call(p);a.splice(c,1);break}},addItems:function(b,a,c){var p,g=this.components;p=this.lastItemId;var w=J(b.legendItemId,c.legendItemId),g=g.items||(g.items=[]);void 0!==w?(this.configureItems(w,
{legendClickFN:a,configuration:c,dataset:b}),p=w):(void 0===p?this.lastItemId=p="FCLEGEND_0":(p=(p=p.split("_"))&&p[1],this.lastItemId=p="FCLEGEND_"+ ++p),g.push({legendItemId:p,dataset:b,legendClickFN:a,configuration:c||{}}));return p},configureItems:function(b,a){var c=this.components.items,p,g,w=c.length,e,d;for(g=0;g<w&&(d=c[g],!d.dataset||(e=J(d.dataset.legendItemId,d.legendItemId),e!==b));g++);for(p in d)if(p in a)switch(p){case "configuration":this.mergeConf(a[p],d[p]);break;default:d[p]=a[p]}},
mergeConf:function(b,a){var c,p;for(c in b)p=b[c],void 0!==p&&null!==p&&(a[c]=p)},getItems:function(){return this.components.items},hide:function(){this.chart.graphics.legendGroup.hide()}},void 0,{enabled:!0,symbolWidth:12,borderRadius:1,backgroundColor:"#FFFFFF",initialItemX:0,title:{text:T,x:0,y:0,padding:2},scroll:{},itemStyle:{}}]);FusionCharts.register("component",["toolbox","horizontaltoolbox",{init:function(b){this.config={type:b};this.components={};this.graphics={};this._configure()},_getPosition:function(){var b=
this.config.type,a=b.frame,c=b.orientation,p=b.placement,g={chart:{outer:{left:0,right:0,top:0,bottom:0},inner:{left:0,right:0,top:0,bottom:0}},canvas:{outer:{left:0,right:0,top:0,bottom:0},inner:{left:0,right:0,top:0,bottom:0}}};!b&&(b={});return a&&p&&c?g[a][p][c]:b},_configure:function(){var b,h,c=this.config,p=this.chart,g=p.jsonData.chart,w=p.config,p=w.width,w=w.height;c.scale=F(g.toolbarbuttonscale,1.15);c.width=F(g.toolbarbuttonwidth,15);c.height=F(g.toolbarbuttonheight,15);c.radius=F(g.toolbarbuttonradius,
2);c.spacing=F(g.toolbarbuttonspacing,5);c.fill=Za(J(g.toolbarbuttoncolor,"ffffff"));c.labelFill=Za(J(g.toolbarlabelcolor,"cccccc"));c.symbolFill=Za(J(g.toolbarsymbolcolor,"ffffff"));c.hoverFill=Za(J(g.toolbarbuttonhovercolor,"ffffff"));c.stroke=Za(J(g.toolbarbuttonbordercolor,"bbbbbb"));c.symbolStroke=Za(J(g.toolbarsymbolbordercolor,"9a9a9a"));c.strokeWidth=F(g.toolbarbuttonborderthickness,1);c.symbolStrokeWidth=F(g.toolbarsymbolborderthickness,1);b=c.symbolPadding=F(g.toolbarsymbolpadding,5);c.symbolHPadding=
F(g.toolbarsymbolhpadding,b);c.symbolVPadding=F(g.toolbarsymbolvpadding,b);h=c.position=J(g.toolbarposition,"tr").toLowerCase();switch(h){case "tr":case "rt":case "top right":case "right top":h="tr";break;case "br":case "rb":case "bottom right":case "right bottom":h="br";break;case "tl":case "lt":case "top left":case "left top":h="tl";break;case "bl":case "lb":case "bottom left":case "left bottom":h="bl";break;default:h="tr"}b=c.hAlign=(a+g.toolbarhalign).toLowerCase()===eb?"l":h.charAt(1);h=c.vAlign=
(a+g.toolbarvalign).toLowerCase()===H?"b":h.charAt(0);c.hDirection=F(g.toolbarhdirection,"r"===b?-1:1);c.vDirection=F(g.toolbarvdirection,"b"===h?-1:1);c.vMargin=F(g.toolbarvmargin,6);c.hMargin=F(g.toolbarhmargin,10);c.x=F(g.toolbarx,"l"===b?0:p);c.y=F(g.toolbary,"t"===h?0:w)},_manageToolBoxPosition:function(b,a){var c,p,g=0,w=this.components;for(c in w)w.hasOwnProperty(c)&&(p=w[c],p=p._spaceOccupied(),g=da(g,p.height));g>a&&this._postSpaceManager();return{top:0,bottom:g,left:0,right:0}},addItem:function(b){var a,
c,p,g=this.components;for(a=0;a<b.length;a+=1)p=b[a],c=g[p.name]=new (FusionCharts.register("component",["toolButton","button"])),c.init(this,p),c.chart=this.chart},draw:function(){var b,a,c=this.components,p=this.x,g=this.y;for(b in c)c.hasOwnProperty(b)&&(a=c[b],a.draw(p,g))},_postSpaceManager:function(){}}]);FusionCharts.register("component",["toolBox","verticalToolBox",{},"horizontaltoolbox"]);FusionCharts.register("component",["toolButton","button",{init:function(){this.config={};this.components=
{};this.graphics={};this._configure.apply(this,arguments)},_configure:function(b,a){var c=b.config,p=this.config;p.type=a.type;p.scale=F(a.scale,c.scale);p.width=F(a.width,c.width);p.height=F(a.height,c.height);p.radius=F(a.radius,c.radius);p.spacing=F(a.spacing,c.spacing);p.fill=Za(J(a.fill,c.fill));c.x=F(a.x,c.x);c.y=F(a.y,c.y)},draw:function(){this["_draw"+this.config.type]()},_drawScroller:function(){var b=this.chart,a=b.components,c=b.config,p=b.jsonData.chart,g=a.paper,w=b.graphics,e=a.xAxis["0"]||
{},D=e.config||{},f=D.rawAttr.axisLineThickness,a=c.scrollOptions||{},I=c.canvasTop,N=c.canvasLeft,l=c.canvasWidth,r=c.canvasHeight,q=c.canvasBorderWidth,D=q||(D.showLine?f:0),n=q||f,f=q||f,p=c.useRoundEdges||(c.useRoundEdges=F(p.useroundedges,0)),z,t,A,v,B,S,Q,H,C,G,la,Z=w.scroller,q=w.datasetGroup,J;a.enabled&&(J=w.scroll=w.scroll||g.group("scroll").insertAfter(q),q=a.scrollRatio,v=F(a.startPercent),B=a.viewPortMax,S=a.viewPortMin,t=a.vxLength,Ia(t),Q=a.showButtons,H=a.height,C=a.padding,G=a.color,
la=a.flatScrollBars,t=a.windowedCanvasWidth=e.getAxisPosition(t),z=a.fullCanvasWidth=e.getAxisPosition(B-S)-t,A=ya(v*z),Z||(Z=w.scroller=g.scroller(N-n,I+r+D+C-!!D,l+n+f,H,!0,{showButtons:Q,displayStyleFlat:la,scrollRatio:q,scrollPosition:v},J).data("fullCanvasWidth",z).data("windowedCanvasWidth",t).attr({"scroll-display-style":la,fill:G,r:p&&2||0}).scroll(function(a){var h=c.viewPortConfig;A=-ya(a*z);h.x=-A/h.scaleX;m.chartAPI.mscolumn2d._drawDataset.call(b);e.draw()})),function(){var a;E.eve.on("raphael.scroll.start."+
Z.node.id,function(h){a=h;d.raiseEvent("scrollstart",{scrollPosition:h},b.chartInstance)});E.eve.on("raphael.scroll.end."+Z.node.id,function(h){d.raiseEvent("scrollend",{prevScrollPosition:a,scrollPosition:h},b.chartInstance)})}());this._finalizeScrollPlots();return a.enabled},_finalizeScrollPlots:function(){var b=this.chart,a=b.config,c=b.container,w=b.graphics,g=w.scroller,e=w.datasetGroup,D=w.datalabelsGroup,f=w.trackerGroup,I,N={},l,q,n=b.components.xAxis["0"]||{};l=a.scrollOptions||{};var z=
F(l.startPercent),t=l.fullCanvasWidth,A,v=a.animation,B=l.startPercent,a=[da(0,a.canvasLeft),da(0,a.canvasTop),da(1,a.canvasWidth),da(1,a.canvasHeight)];l.enabled&&(e.attr({"clip-rect":a}),D.attr({"clip-rect":a}),f.attr({"clip-rect":a}),l=function(a){var h=w.canvas,c=I.left,u=I.top,e={pageX:0,pageY:0},D=a.state,e=jb&&m.getTouchEvent(a)||e;a=a.originalEvent;c=(a.clientX||a.pageX||e.pageX)-c;u=(a.clientY||a.pageY||e.pageY)-u;switch(D){case L:q=h.isPointInside(c,u);N.ox=q&&c||null;if(!q)return!1;N.prevScrollPosition=
g.attrs["scroll-position"];d.raiseEvent("scrollstart",{scrollPosition:N.prevScrollPosition},b.logic.chartInstance);break;case r:d.raiseEvent("scrollend",{prevScrollPosition:N.prevScrollPosition,scrollPosition:N.scrollPosition},b.logic.chartInstance);q=!1;N={};break;default:q&&(h=c-N.ox,N.ox=c,N.scrollPosition=g.attrs["scroll-position"]-h/t,g.attr({"scroll-position":N.scrollPosition}))}},jb&&(I=Oa(c),c&&(Ca(c,"pointerdrag",l),Fa(c,"pointerdrag",l))),0<z&&(A=-ya(z*t),e&&e.transform(["T",A,0]),f&&f.transform(["T",
A,0]),n.setOffset&&n.setOffset(A),v&&B?b.animationCompleteQueue.push({fn:function(){D&&D.transform(["T",A,0])},scope:b}):D&&D.transform(["T",A,0])))},_spaceOccupied:function(){var b=this.config;return{x:b.x,y:b.y,width:b.width,height:b.height}}}]);za("base",{creditLabel:b,setChartMessage:function(b,a,u){var w=this.components||(this.components={}),g=this.chartInstance,e=g.options,d=g.args,D=this.config||(this.config={}),f=this.linkedItems&&this.linkedItems.smartLabel||g.jsVars.smartLabel,I=m.getImageURL(void 0!==
b?b:e.dataEmptyMessage),N,l;u&&!this.linkedItems?this.linkedItems={container:u}:u=this.linkedItems.container;N=D.prevWidth=u.offsetWidth;l=D.prevHeight=u.offsetHeight;b=D.height=Number(l);g=D.width=Number(N);D.hasChartMessage=!0;w.paper?w.paper.setSize(N,l):(u=w.paper=new E(u,N,l),u.setConfig("stroke-linecap",c));I.image?(b=I.string,a=a?{imageHAlign:J(a._chartMessageImageStyle.imageHAlign,e.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:J(a._chartMessageImageStyle.imageVAlign,e.baseChartMessageImageVAlign).toLowerCase(),
imageAlpha:F(a._chartMessageImageStyle.imageAlpha,e.baseChartMessageImageAlpha),imageScale:F(a._chartMessageImageStyle.imageScale,e.baseChartMessageImageScale)}:{imageHAlign:J(d.dataEmptyMessageImageHAlign,e.baseChartMessageImageHAlign).toLowerCase(),imageVAlign:J(d.dataEmptyMessageImageVAlign,e.baseChartMessageImageVAlign).toLowerCase(),imageAlpha:F(d.dataEmptyMessageImageAlpha,e.baseChartMessageImageAlpha),imageScale:F(d.dataEmptyMessageImageScale,e.baseChartMessageImageScale)},D.chartMessageType=
"image"):(a=a?{"font-family":a._chartMessageStyle.fontFamily||e.baseChartMessageFont,"font-size":a._chartMessageStyle.fontSize||e.baseChartMessageFontSize,fill:a._chartMessageStyle.color||e.baseChartMessageColor}:{"font-family":d.dataEmptyMessageFont||e.baseChartMessageFont,"font-size":d.dataEmptyMessageFontSize||e.baseChartMessageFontSize,fill:d.dataEmptyMessageColor||e.baseChartMessageColor},f.setStyle(a),e=f.getSmartText(Da(I.string),g,b),b={text:e.text,x:g/2,y:b/2},D.chartMessageType="text");
D.chartMessageAttr=b;D.chartMessageStyle=a},_hideChartMessage:function(){var b=this.config,a=this.components.chartMessage.graphics,c;"image"===b.chartMessageType&&!a.backgroundImage&&a.backgroundElement&&(b.stopImageDraw=!0);b&&(b.hasChartMessage=!1);for(c in a)a[c].hide?a[c].hide():a[c][0]&&a[c][0].hide()},drawChartMessage:function(){var b=this.config,a=this.components,c=a.paper,w,a=a.chartMessage||(a.chartMessage={}),a=a.graphics||(a.graphics={});w=this.graphics||(this.graphics={});var g=fa(b.chartMessageAttr,
b.chartMessageStyle);w=w.messageGroup||(w.messageGroup=c.group("messageGroup"));this._hideChartMessage();b.hasChartMessage=!0;"image"===b.chartMessageType?this._drawBackground(b.chartMessageAttr,b.chartMessageStyle):a.message||"text"!==b.chartMessageType?(a.message=a.message.attr(g),a.message.show()):a.message=c.text(g,w);this._drawCreditLabel()},dispose:function(){var b=this.components,b=b&&b.paper,a=this.linkedItems&&this.linkedItems.eventListeners,c=a&&a.length;for(this._clearTimers&&this._clearTimers();c--;)a[c].unlisten();
this._removeWaitingJobs();b&&(b.clear(),b.remove());this.chartInstance&&delete this.chartInstance.apiInstance;ab.call(this)},_removeWaitingJobs:function(){var b=this.jobList,a,c,w,g;for(g in b)for(w=b[g],c=w.length,a=0;a<c;a++)I.removeJob(w[a])},_drawBackground:function(b,h){var c=this,w=c.components,g=c.graphics,D=c.jsonData&&c.jsonData.chart||{},f=w.paper,I=b?w.chartMessage:w.background,N=I.graphics,w=N.backgroundElement,r=N.borderElement,I=I.config||{},oa=c.config,q=oa.width,n=oa.height,t,A,v,
qb,B,kb,E,S=c.get&&c.get(l,O)||{},Q=S.animType,C=S.animObj,wb=S.dummyObj,Pb=S.duration,la,Z,xa=b?g.messageGroup:g.backgroundGroup,P=I.borderWidth||0,g=I.borderRadius,S=I.borderDashStyle,U=I.borderColor,ba=I.bgSWF=J(b,D.bgimage,D.bgswf),aa=I.bgSWFAlpha=F(h&&h.imageAlpha,D.bgimagealpha,D.bgswfalpha,100),V=I.imgClipRect=P+","+P+","+(q-2*P)+","+(n-2*P),L=J(D.bgimagedisplaymode,G).toLowerCase(),K=(h&&ha(h.imageVAlign)||ha(D.bgimagevalign,a)).toLowerCase(),M=(h&&h.imageHAlign||D.bgimagehalign||a).toLowerCase(),
ea=I.bgImageScale=F(h&&h.imageScale,D.bgimagescale,100),D=I.containerBackgroundColor=m.getContainerBackgroundColor(c);f.canvas.style.backgroundColor=D;"tile"==L||"fill"==L||"fit"==L?(K!=e&&K!=z&&K!=H&&(K=z),M!=eb&&M!=z&&M!=vb&&(M=z)):(K!=e&&K!=z&&K!=H&&(K=e),M!=eb&&M!=z&&M!=vb&&(M=eb));I.bgSWFAlpha=aa;I.bgImageVAlign=K;I.bgImageHAlign=M;I.backgroundColor=I=!b&&c._getBackgroundCosmetics();D={x:P,y:P,width:q-2*P,height:n-2*P,stroke:"none",fill:Na(I)};w?(w.animateWith(wb,C,{x:P,y:P,width:q-2*P,height:n-
2*P},Pb,Q),w.attr({stroke:"none",fill:Na(I)})):N.backgroundElement=f.rect(D,xa);D={x:P/2,y:P/2,width:q-P,height:n-P,stroke:U,"stroke-width":P,"stroke-dasharray":S,fill:"none",r:g||0};r||b?b||(r.animateWith(wb,C,{x:P/2,y:P/2,width:q-P,height:n-P,r:g||0},Pb,Q),r.attr({stroke:U,"stroke-width":P,"stroke-dasharray":S,fill:"none"})):N.borderElement=f.rect(D,xa);if(ba)t=new bb,v=A=1,t.onload=function(){if(oa.stopImageDraw)oa.stopImageDraw=!1;else{!N.backgroundImage&&(N.backgroundImage=[]);if(N.backgroundImage)for(Z=
0,la=N.backgroundImage.length;Z<la;Z++)N.backgroundImage[Z].hide();qb=Ga(L,K,M,ea,P,q,n,t);qb["clip-rect"]=V;if(qb.tileInfo)for(A=qb.tileInfo.xCount,v=kb=qb.tileInfo.yCount,B=qb.y,delete qb.tileInfo,E=0;A&&qb.width&&qb.height;)--kb,N.backgroundImage[E]||(N.backgroundImage[E]=f.image(ba,xa)),N.backgroundImage[E].show(),N.backgroundImage[E].animateWith(wb,C,qb,Pb,Q),N.backgroundImage[E].attr({src:ba}).css({opacity:.01*aa}),qb.y+=qb.height,0===kb&&(kb=v,--A,qb.x+=qb.width,qb.y=B),E++;else N.backgroundImage[0]||
(N.backgroundImage[0]=f.image(ba,xa),N.backgroundImage[0].attr(qb)),N.backgroundImage[0].show(),N.backgroundImage[0].animateWith(wb,C,qb,Pb,Q),N.backgroundImage[0].css({opacity:.01*aa}).attr({src:ba,visibility:Wa,"clip-rect":V});d.raiseEvent("BackgroundLoaded",{url:ba,bgImageAlpha:100*aa,bgImageDisplayMode:L,bgImageVAlign:K,bgImageHAlign:M,bgImageScale:ea,imageWidth:t.width,imageHeight:t.height},c.chartInstance)}},t.onerror=function(b){d.raiseEvent("BackgroundLoadError",{url:ba,bgImageAlpha:100*aa,
error:b,bgImageDisplayMode:L,bgImageVAlign:K,bgImageHAlign:M,bgImageScale:ea},c.chartInstance)},t.src=ba;else if(N.backgroundImage)for(Z=0,la=N.backgroundImage.length;Z<la;Z++)N.backgroundImage[Z].hide()},redraw:function(){var b=this.graphics.dummyObj;b&&b.stop(void 0,!0,!0);this.draw&&this.draw()},_drawCreditLabel:function(){var b=this.creditLabel,a=this.config.height,c=this.graphics,w=c.creditLabel,g=c.creditGroup,e=c.parentGroup||c.messageGroup,d=this.components.paper,D={href:m.CREDIT_HREF,text:m.CREDIT_STRING};
g||(g=c.creditGroup=d.group("creditgroup"));e&&g.insertAfter(e);a={text:D.text,x:6,y:a-4,"vertical-align":H,"text-anchor":L,fill:"rgba(0,0,0,0.5)",title:D.title||T};c={fontSize:9,fontFamily:"Verdana,sans",cursor:P,_cursor:"hand"};b&&(w?w.attr(a).css(c):w=this.graphics.creditLabel=d.text(a,c,g).click(function(){try{B.open(D.href)}catch(b){(B.top||B).location.href=D.href}}))},eiMethods:{hideChartMessage:function(){var b=this.apiInstance;b._show.apply(b);b._hideChartMessage(b)}}});za("mscartesian",{standaloneInit:!1,
tooltipConstraint:"chart",annotationInteractionEvents:!0,useScaleRecursively:!0,init:function(b,a,c,w){c=this.chartInstance||c;var g=c.jsVars,e=a.colorrange,d;a.chart=a.chart||a.graph||a.map||{};this.jsonData=a;a=this.components||(this.components={});a.background||(a.background={graphics:{},config:{}});a.canvas||(a.canvas={graphics:{},config:{}});d=FusionCharts.register("component",["caption","caption"]);a.caption||(a.caption=new d);a.caption.init();a.caption.chart=this;d=FusionCharts.register("component",
["caption","subCaption"]);a.subCaption||(a.subCaption=new d);a.subCaption.init();a.dataset||(a.dataset=[]);this.linkedItems={container:b,smartLabel:g.smartLabel};a.colorManager=new m.colorManager(this);a.numberFormatter=new Cb(this);e&&(a.colorRange=new m.ColorRange(this));this._checkInvalidData()?m.raiseEvent("nodatatodisplay",{},c,[c.id]):(this._createLegend(),this._createGradientLegend(),this.configure(),this.disposeChartStyleSheet(),this._createAxes(),this._feedAxesRawData(),this.config.realtimeEnabled&&
(c=FusionCharts.get("component",["manager","alert"]))&&(a.alertManager=new c,a.alertManager.init(this),a.alertManager.configure()),this._createDatasets(),this._createQuadrant&&this._createQuadrant(),this.draw(),this.setChartEvents());w({hasRendered:!0,container:b})},_checkInvalidData:function(){var b=this.jsonData,a=this.chartInstance;if(!(this.isWidget||this.isMap||b.data&&0!==b.data.length||b.dataset||b.value||b.lineset||b.annotations||b.category||b.tasks||b.process||b.axis))return this.setChartMessage(),
this.drawChartMessage(),a.__state.dataReady=!1,a.jsVars.hasNativeMessage=!0,a.jsVars.drawCount+=1,!0},_createToolBox:function(){var b,a,c,w,g,e,d,D;g=!!B.btoa;var f=this,I=f.jsonData.chart,N=F(I.exportshowmenuitem),l=I.exportformats,r=f.chartMenuTools,I=r.get,q=r.set,r=this.components,n=f.config,z=n.exportOption.enabled;b=r.chartMenuBar;var n=n.printOption.enabled,t={PNG:"Export As PNG",JPG:"Export As JPG",PDF:"Export As PDF",SVG:"Export As SVG",XLS:"Export As XLS"},A={},v=[],E;if(!b||!b.drawn){b=
r.tb||(r.tb=new (FusionCharts.register("component",["toolbox","toolbox"])));D=b.init({graphics:f.graphics||(f.graphics={}),chart:f,components:r});r.toolBoxAPI=c=r.toolBoxAPI||(r.toolBoxAPI=b.getAPIInstances(b.ALIGNMENT_HORIZONTAL));w=c.SymbolWithContext;a=c.SymbolStore;e=c.ComponentGroup;d=c.Toolbar;b.idCount=b.idCount||0;b.pId=D;c=b.getDefaultConfiguration();a.register("ContextIcon",function(b,a,h){var k=2*h;h=ya(k/4);var g=.7*ya(k/2),k=b-g;b+=g;g=a+h;h=a-h;return["M",k,a,"L",b,a,"M",k,g,"L",b,g,
"M",k,h,"L",b,h]});a=new w("ContextIcon",b.idCount++,D);w=a.getListRefernce();if(z&&0!==N){if(l)for(N=l.split("|"),A=0,z=N.length;A<z;A++)l=N[A].split("="),E=l[0].toUpperCase(),t[E]&&(t[E]=l[1]);N=function(b){return function(){m.exportChart.call(f,b)}};for(E in t)if("XLS"!==E||g)A={},A[t[E]]={handler:N({exportformat:E}),action:"click"},v.push(A);q(v)}n&&q([{Print:{handler:function(b){f.chartInstance.print.call(f.chartInstance,b)},action:"click"}}]);w.appendAsList(I());g=new e(b.idCount++,D);g.setConfiguaration({buttons:c,
group:{fill:fb,borderColor:fb}});g.addSymbol(a);b=r.chartMenuBar=new d(b.idCount++,b.pId);b.addComponent(g)}},chartMenuTools:function(){var b=[];return{get:function(){return b},set:function(a){var c,w=a.length||0;for(c=0;c<w;c+=1)b.push(a[c])},reset:function(a,c){var w=c.components.chartMenuBar;w&&(w.drawn=!1);b.length=0;a&&(a.idCount=0,a.clean())},update:function(b,a,k){var g=k.components.toolBoxAPI.SymbolWithContext,c=k.components.chartMenuBar.componentGroups,w,e,d,D,f;k=0;for(d=c.length;k<d;k++)for(e=
c[k],e=e.symbolList||[],D=0,f=e.length;D<f;D++)e[D]instanceof g&&(w=e[D],w=w.getListRefernce().getFirstContainer().atomicLists);w=w||[];k=0;for(d=w.length;k<d;k++)if(g=w[k],g.name===b){g.updateName(a);break}}}}(),getConfig:function(b){return b?this.config[b]:this.config},get:function(b,a){var c=this[b];return a?c&&c[a]:c},disposeChartStyleSheet:function(){var b=this.components.paper;b&&b.cssClear()},createChartStyleSheet:function(){this.components.paper.cssRender()},configure:function(){var b,h,c,
p=this.components,g=this.jsonData,e,d=this.chartInstance,D=p.colorManager,f=this.is3D,I=f?w.chart3D:w.chart2D,N=this.isBar,l,r;l=!1;var q=p.legend,n={linear:"linear",easein:"easeIn",easeout:"easeOut",easeinout:"easeInOut",backin:"backIn",backout:"backOut",elastic:"elastic",bounce:"bounce"};g.chart=g.chart||g.graph||g.map||{};delete g.map;delete g.graph;e=g.chart;!e&&(e=g.chart={});p.colorRange||(p.colorRange=new m.ColorRange(this));g=this.config||(this.config={});this.__setDefaultConfig();W(e,g);
g.snapLiterals={};g.viewPortConfig={scaleY:1,scaleX:1,x:0,y:0};f&&(N?(g.xDepth=5,g.yDepth=5):(g.xDepth=10,g.yDepth=10),g.showCanvasBase=N=!!F(e.showcanvasbase,1),g.canvasBasePadding=F(e.canvasbasepadding,2),g.canvasBaseDepth=N?F(e.canvasbasedepth,10):0,g.canvasBgDepth=F(e.canvasbgdepth,3));p.colorManager&&p.colorManager.configure();g.placeAxisLabelsOnTop=F(e.placexaxislabelsontop,0);g.enableAnimation=N=F(e.animation,e.defaultanimation,1);p=F(e.transposeanimation,0);N=N?1E3*F(e.animationduration,1):
0;p=p?1E3*F(e.transposeanimduration,.2):0;g.animationObj&&(l=!0);g.animationObj=p={initAnimDuration:N,transposeAnimDuration:p};p.duration=l||void 0!==p.duration?p.transposeAnimDuration:p.initAnimDuration;for(r in n)r===J(e.animationeffect)&&(g.animationeffect=n[r]);g.showToolTip=F(e.showtooltip,1);g.exportOption={enabled:F(e.exportenabled,0),bgcolor:d.jsVars.transparent||0===F(d.options.containerBackgroundOpacity,1)?a:d.options.containerBackgroundColor||"#ffffff",bgalpha:(d.jsVars.transparent?0:F(d.options.containerBackgroundOpacity,
1))+a,exporttargetwindow:J(e.exporttargetwindow,La?"_blank":"_self"),exportaction:e.exportaction&&"save"===e.exportaction.toString().toLowerCase()&&"save"||"download",exportfilename:J(e.exportfilename,"FusionCharts"),exporthandler:J(e.html5exporthandler,e.exporthandler,ka),exportparameters:J(e.exportparameters,a),exportformat:J(e.exportformat,"PNG"),exportcallback:J(e.exportcallback,a),exportwithimages:F(e.exportwithimages,1),exportatclientside:F(e.exportatclientside,0)};g.printOption={enabled:F(e.printshowbutton,
e.showprintmenuitem,0)};g.chartMenuOptions={position:b=J(e.toolbarposition,"tr").toLowerCase(),hAlign:h=(a+e.toolbarhalign).toLowerCase()===eb?"l":b.charAt(1),vAlign:c=(a+e.toolbarvalign).toLowerCase()===H?"b":b.charAt(0),hDirection:F(e.toolbarhdirection,"r"===h?-1:1),vDirection:F(e.toolbarvdirection,"b"===c?-1:1),vMargin:F(e.toolbarvmargin,6),hMargin:F(e.toolbarhmargin,10),x:F(e.toolbarx,"l"===h?0:g.width),y:F(e.toolbary,"t"===c?0:g.height)};b=g.style={};g.textDirection="1"===e.hasrtltext?"rtl":
T;b.inCanfontFamily=h=J(e.basefont,"Verdana,sans");b.inCanfontSize=c=Ua(e.basefontsize,10);b.inCancolor=d=J(e.basefontcolor,D.getColor(I.baseFontColor));b.outCanfontFamily=J(e.outcnvbasefont,h);b.fontSize=l=Ua(e.outcnvbasefontsize,c);b.outCanfontSize=l+ob;b.outCancolor=J(e.outcnvbasefontcolor,d).replace(/^#? ([a-f0-9]+)/ig,"#$1");b.baseFontSize=c;b.inCanfontSize=c+ob;b.inCancolor=d.replace(/^#? ([a-f0-9]+)/ig,"#$1");b.inCanvasStyle=l={fontFamily:h,fontSize:c,color:d};b.inCanLineHeight=l=Ta(l);r=(r=
wa(e.valuebordercolor,a))?Za(r,F(e.valueborderalpha,e.valuealpha,100)):a;g.showBorder=F(e.showborder,f?0:1);g.borderWidth=da(g.showBorder?F(e.borderthickness,1):0,0);g.valuefontbold=F(e.valuefontbold,g.valuefontbold);g.dataLabelStyle=f={fontFamily:J(e.valuefont,h),fontSize:J(e.valuefontsize,parseInt(c,10))+ob,lineHeight:l,color:Za(J(e.valuefontcolor,d),F(e.valuefontalpha,e.valuealpha,100)),fontWeight:g.valuefontbold?t:X,fontStyle:F(e.valuefontitalic)?"italic":X,border:r||e.valuebgcolor?F(e.valueborderthickness,
1)+"px solid":T,borderColor:r,borderThickness:F(e.valueborderthickness,1),borderPadding:F(e.valueborderpadding,2),borderRadius:F(e.valueborderradius,0),backgroundColor:e.valuebgcolor?Za(e.valuebgcolor,F(e.valuebgalpha,e.valuealpha,100)):a,borderDash:F(e.valueborderdashed,0)?ma(F(e.valueborderdashlen,4),F(e.valueborderdashgap,2),F(e.valueborderthickness,1)):"none"};Ta(f);g.orphanStyles={defaultStyle:{style:fa({},b.inCanvasStyle)},connectorlabels:{style:fa({},g.dataLabelStyle)},vyaxisname:{style:fa({},
b.inCanvasStyle)}};g.legendPosition=J(e.legendposition,H);g.logoURL=ha(e.logourl);g.logoPosition=J(e.logoposition,"tl").toLowerCase();g.logoAlpha=F(e.logoalpha,100);g.logoLink=ha(e.logolink);g.logoScale=F(e.logoscale,100);g.logoLeftMargin=F(e.logoleftmargin,0);g.logoTopMargin=F(e.logotopmargin,0);g.minChartWidthPercent=F(e.minchartwidth,50)/100;g.minChartHeightPercent=F(e.minchartheight,50)/100;g.minCanvasWidthPercent=F(e.mincanvaswidth,60)/100;g.minCanvasHeightPercent=F(e.mincanvasheight,30)/100;
this._parseBackgroundCosmetics();this.components.caption.configure();this._parseCanvasCosmetics();g.origMarginTop=F(e.charttopmargin,this.chartTopMargin,15);g.origMarginLeft=F(e.chartleftmargin,this.chartLeftMargin,15);g.origMarginBottom=F(e.chartbottommargin,this.chartBottomMargin,15);g.origMarginRight=F(e.chartrightmargin,this.chartRightMargin,15);I=J(e.zeroplanecolor,e.divlinecolor,D.getColor(I.divLineColor));D=J(e.zeroplanealpha,e.divlinealpha,D.getColor("divLineAlpha"));g.zeroPlaneColor=Za(I,
D);g.zeroPlaneBorderColor=Za(J(e.zeroplanebordercolor,I),F(e.zeroplaneshowborder,1)?D:0);g.zeroPlaneShowBorder=F(e.zeroplaneshowborder,1);g.dataStreamURL=Da(e.datastreamurl);g.realtimeEnabled=D=F(e.realtimeenabled,this.isRealTime);g.showLegend=F(e.showlegend,this.showLegend,1);g.link=e.clickurl;g.annRenderDelay=1E3*F(e.annrenderdelay,0);g.transposeAxis=F(this.transposeAxis,e.transposeaxis,0);g.useEllipsesWhenOverflow=F(e.useellipseswhenoverflow,e.useellipsewhenoverflow,1);this.chartMenuTools.reset(this.components.tb,
this);g.gLegendPadding=F(e.legendpadding,10);D&&this._realTimeConfigure();this._setToolTipOptions();q.configure();this.linkedItems.linkClickFN=yb(this.jsonData,this.chartInstance);this._createConfigurableComponents()},_createConfigurableComponents:function(){var b=this.config,a=this.components,c;b.realtimeEnabled&&b.usemessagelog&&(b=FusionCharts.get("component",["logger","message"]))&&(c=a.messageLogger,c||(a.messageLogger=new b,a.messageLogger.init(this)),a.messageLogger.configure())},_parseBackgroundCosmetics:function(){var b=
this.is3D,a=this.components.background.config,c=this.components.colorManager,w=this.jsonData.chart,g;g=a.showBorder=F(w.showborder,this.showBorder,b?0:1);a.borderWidth=g=da(g?F(w.borderthickness,1):0,0);a.borderRadius=a.borderRadius=F(w.borderradius,0);a.borderDashStyle=a.borderDashStyle=F(w.borderdashed,0)?ma(F(w.borderdashlen,4),F(w.borderdashgap,2),g):"none";a.borderAlpha=J(w.borderalpha,b?"100":c&&c.getColor("borderAlpha"));a.borderColor=a.borderColor=Za(J(w.bordercolor,b?"#666666":c&&c.getColor("borderColor")),
a.borderAlpha)},_parseCanvasCosmetics:function(){var b,a,c=this.config;a=this.components;var p=a.canvas.config,g=this.jsonData.chart;a=a.colorManager;var e,d=this.is3D?w.chart3D:w.chart2D,D=p.isRoundEdges=F(g.useroundedges,0);b=F(g.showxaxisline,g.showyaxisline,g.showaxislines,0)?0:1;p.canvasBorderRadius=F(g.plotborderradius,D?2:0);b=p.showCanvasBorder=!!F(g.showcanvasborder,b,void 0,D?0:1);e=p.oriCanvasBorderThickness=da(F(g.canvasborderthickness,D?0:F(this.canvasborderthickness,2),0));p.canvasBorderWidth=
this.is3D?0:b?e:0;p.canvasBorderColor=Za(J(g.canvasbordercolor,a.getColor("canvasBorderColor")),J(g.canvasborderalpha,a.getColor("canvasBorderAlpha")));b=p.canBGAlpha=J(g.canvasbgalpha,a.getColor("canvasBgAlpha"));p.canBGColor={FCcolor:{color:J(g.canvasbgcolor,a.getColor(d.canvasBgColor)),alpha:J(g.canvasbgalpha,100),angle:J(g.canvasbgangle,0),ratio:J(g.canvasbgratio)}};a=p.shadow=F(g.showshadow,D,0)&&D?{enabled:!0,opacity:b/100}:0;p.shadowOnCanvasFill=a&&a.enabled;c.origMarginTop=F(g.charttopmargin,
15);c.origMarginLeft=F(g.chartleftmargin,15);c.origMarginBottom=F(g.chartbottommargin,15);c.origMarginRight=F(g.chartrightmargin,15);c.origCanvasLeftMargin=F(g.canvasleftmargin,0);c.origCanvasRightMargin=F(g.canvasrightmargin,0);c.origCanvasTopMargin=F(g.canvastopmargin,0);c.origCanvasBottomMargin=F(g.canvasbottommargin,0);p.canvasPadding=F(g.canvaspadding,0);p.origCanvasTopPad=F(g.canvastoppadding,0);p.origCanvasBottomPad=F(g.canvasbottompadding,0);p.origCanvasLeftPad=F(g.canvasleftpadding,0);p.origCanvasRightPad=
F(g.canvasrightpadding,0)},_preDraw:function(){this.config.realtimeEnabled&&this._setRealTimeCategories&&this._setRealTimeCategories();this._setAxisValuePadding();this._setAxisLimits()},_manageSpace:function(){var b=this.components.canvas.config,a=this.linkedItems.container,c=this.config,w,g,e,d,D,f,I,N,m,l,r;c.width=w=a.offsetWidth;c.height=r=a.offsetHeight;c.minChartHeight=m=c.minChartHeightPercent*r;c.minChartWidth=l=c.minChartWidthPercent*w;c.minCanvasWidth=a=c.minCanvasWidthPercent*l;c.minCanvasHeight=
g=c.minCanvasHeightPercent*m;c.marginTop=e=c.origMarginTop;c.marginLeft=d=c.origMarginLeft;c.marginBottom=D=c.origMarginBottom;c.marginRight=f=c.origMarginRight;c.canvasMarginTop=c.origCanvasTopMargin;c.canvasMarginLeft=c.origCanvasLeftMargin;c.canvasMarginBottom=c.origCanvasBottomMargin;c.canvasMarginRight=c.origCanvasRightMargin;c.canvasHeight=I=c.height-c.marginTop-c.marginBottom;c.canvasWidth=N=c.width-c.marginLeft-c.marginRight;c.availableHeight=I-g;c.availableWidth=N-a;I<m&&(I=r-m,c.canvasHeight=
m,r=e+D,c.marginTop=I*e/r,c.marginBottom=I*D/r,c.availableHeight=m-g);N<l&&(I=w-l,r=f+d,c.canvasWidth=l,c.marginLeft=I*d/r,c.marginRight=I*f/r,c.availableWidth=l-a);c.canvasLeft=c.marginLeft;c.canvasTop=c.marginTop;b.canvasPaddingLeft=Ra(b.origCanvasLeftPad,ya(.1*c.height));b.canvasPaddingRight=Ra(b.origCanvasRightPad,ya(.1*c.height));b.canvasPaddingTop=Ra(b.origCanvasTopPad,ya(.1*c.height));b.canvasPaddingBottom=Ra(b.origCanvasBottomPad,ya(.1*c.height));this._spaceManager()},_postSpaceManagement:function(){var b=
this.config,a=this.components,c=a.xAxis&&a.xAxis[0],w=a.yAxis&&a.yAxis[0],g=a.legend,e=b.xDepth,d=a.canvas.config,a=d.canvasBorderWidth,D=d.canvasPadding||0,f=d.canvasPaddingLeft,I=d.canvasPaddingRight,N=d.canvasPaddingTop,d=d.canvasPaddingBottom;c&&c.setAxisDimention({x:b.canvasLeft+(e||0)+da(f,D),y:b.canvasBottom+(b.shift||0)+a,opposite:b.canvasTop-a,axisLength:b.canvasWidth-(e||0)-da(f,D)-da(I,D)});c&&this._allocateXAxisLabelSpace(c);w&&w.setAxisDimention({x:b.canvasLeft-a,y:b.canvasTop+N,opposite:b.canvasRight+
a,axisLength:b.canvasHeight-N-d});c&&c.shiftLabels(-e,0);g.postSpaceManager();this._adjustCanvasPadding()},_allocateXAxisLabelSpace:function(b){var a=this.config,c=b.getAxisEndLabelDisplaySpace();b=c.left;var w=c.right,g=c.top,c=c.bottom,e=a.availableWidth,d=a.availableHeight,D=a.canvasLeft,f=a.canvasRight,I=a.canvasTop,N=a.canvasBottom,m=a.width,l=a.height,r=function(b,a){return b<a&&0<a?a-b:0};g+c>d&&(a=g+c,g=d*g/a,c=d*c/a);b+w>e&&(a=b+w,b=e*b/a,w=e*w/a);b=r(D,b);w=r(m-f,w);g=r(I,g);c=r(l-N,c);
this._allocateSpace({left:b,right:w,top:g,bottom:c})},_animCallBack:function(){var b=this.config;b.animationStarted&&(d.raiseEvent("internal.animationComplete",{},this.chartInstance),b.animationStarted=!1)},_setAnimDuration:function(){var b=this.config.animationObj;b&&(b.duration=b.transposeAnimDuration)},_setDataLabelStyle:function(){var b=this.config.dataLabelStyle;this.graphics.datalabelsGroup.css({fontFamily:b.fontFamily,fontSize:b.fontSize,fontWeight:b.fontWeight,fontStyle:b.fontStyle})},_updateVisuals:function(){var b=
this.linkedItems.container,a=this.components,w=a.paper,e=a.tooltip,g=this.chartInstance,d=this.get(l,O),D=d.animType,f=d.dummyObj,I=d.animObj,d=d.duration,N=this.config,m,r=N.prevWidth,q=N.prevHeight;N.animationStarted=!0;w?((r||q)&&w.setSize(r,q),r={width:b.offsetWidth,height:b.offsetHeight},m=!0,this._chartAnimation(!0),w.animateWith(f,I,r,d,D)):(w=a.paper=new E(b,b.offsetWidth,b.offsetHeight),w.setConfig("stroke-linecap",c));N.prevWidth=b.offsetWidth;N.prevHeight=b.offsetHeight;w.tooltip(e.style,
e.config.shadow,e.config.constrain);this.setChartCursor();this._createLayers();this._setDataLabelStyle();!m&&this._chartAnimation(!0);this._drawBackground();!1!==this.hasCanvas&&this._drawCanvas();this._drawChartMenuBar();this._manageCaptionPosition();a.caption&&a.caption.draw();this.drawLegend();this.drawActionBar&&this.drawActionBar();this._drawAxis&&this._drawAxis();this._drawDataset();this._drawQuadrant&&this._drawQuadrant();this._drawCreditLabel();this._drawLogo();g.annotations&&this._drawAnnotations();
this.drawAxisUpdateUI&&this.drawAxisUpdateUI();a.messageLogger&&a.messageLogger.isDrawn()&&a.messageLogger.draw();this.drawScrollBar&&this.drawScrollBar();this.showRTvalue&&N.realTimeConfig.showRTValue&&this._drawRealTimeValue()},_chartAnimation:function(b){var a=this,c=a.graphics,w=a.components.paper,g=a.config.animationObj,e,d=g.duration||g.transposeAnimDuration,D=a.config,f=D.animationeffect,I=function(){a._animCallBack()};!d||D.parentElementPause?setTimeout(a._animCallBack.bind(a),0):(g.animObj=
d=E.animation({x:0},d,f,I,!1),g.animType=f,(e=c.dummyObj)?e.attr({x:100}):(c.dummyObj=e=w.rect({x:100,y:0,width:10,height:30}),e.hide()),g.dummyObj=c.dummyObj,b?(e.stop(void 0,!0,!0),e.animate(d),e.pause(void 0,!0),D.parentElementPause=!0,setTimeout(function(){D.parentElementPause=!1;a._setAnimDuration();e.resume(void 0,!0)},0)):(setTimeout(function(){a._setAnimDuration()},0),e.animate(d)))},draw:function(){var b=this.chartInstance;this.config.hasChartMessage?(this._hide(),this.drawChartMessage(),
m.raiseEvent("nodatatodisplay",{},b,[b.id]),this.chartInstance.jsVars.drawCount+=1,this.chartInstance.__state.dataReady=!1,this.chartInstance.jsVars.hasNativeMessage=!0):(this._clearTimers&&this._clearTimers(),this._show(),this._preDraw(),this._createToolBox(),this._manageSpace(),this._postSpaceManagement(),this._updateVisuals(),this.inited=!0,this.chartInstance.jsVars.drawCount+=1,this.chartInstance.__state.dataReady=!0,this.chartInstance.jsVars.hasNativeMessage=!1)},drawLegend:function(){var b=
this.components,a=b.legend,b=b.gradientLegend,c=this.hasLegend;this.config.gLegendEnabled?(a&&a.hide(),this.drawGradientLegend&&this.drawGradientLegend()):(b&&b.elem&&b.elem.gl.carpet&&b.elem.gl.carpet.node&&b.elem.gl.carpet.group.hide(),!1!==c&&a.drawLegend())},manageGradientLegendSpace:function(b){var a=this.components.gradientLegend,c=a&&a.conf,w;w=Ra(this.config.gLegendPadding,.5*b);c?(c=c.legendPosition,b=a.getLogicalSpace(b),w=c===H?{bottom:(b.height||0)+w}:{right:(b.width||0)+w}):w={bottom:0,
right:0};return w},drawGradientLegend:function(){var b=this.components,a=this.config,c=this.jsonData.colorrange,w=b.gradientLegend||{},g=(w.conf||{}).legendPosition,e=a.canvasLeft,d=a.canvasTop,D=a.canvasWidth,f=a.canvasHeight,I=a.marginBottom,N=a.marginRight,m=this.hasGradientLegend,l,r,q;l=w.getLogicalSpace();r=l.width;q=l.height;g===H?(g=D-r,N=e+(0>g?0:g/2),I=a.height-l.height-I):(g=f-q,I=d+(0>g?0:g/2),N=a.width-l.width-N);c&&m&&w.draw(N,I,{paper:b.paper,parentGroup:this.graphics.parentGroup})},
_drawAxis:function(){var b=this.components,a=b.yAxis||[],c=b.xAxis||[],b=b.scale,w,g;w=0;for(g=c.length;w<g;w++)c[w].draw();w=0;for(g=a.length;w<g;w++)a[w].draw();b&&b.draw()},_drawAnnotations:function(){var b=this.jsonData,a=b.chart,c=this.config,w=c.width,g=c.height,c=b&&b.annotations||{},e=this.chartInstance.annotations;if(b&&a&&F(a.showannotations,1)){var b=F(c.scaleonresize,a.scaleonresize,1),a={interactionevents:J(this.annotationInteractionEvents,!0),showbelow:J(c.showbelow,c.showbelowchart),
autoscale:c.autoscale,scaletext:c.scaletext,scaleimages:c.scaleimages,constrainedscale:c.constrainedscale,scaleonresize:b,origw:J(c.origw,a.origw,this.origRenderWidth,w),origh:J(c.origh,a.origh,this.origRenderHeight,g),xshift:c.xshift,yshift:c.yshift,grpxshift:c.grpxshift,grpyshift:c.grpyshift,xscale:c.xscale,yscale:c.yscale,rootxscale:F(c.xscale,100)/100,rootyscale:F(c.yscale,100)/100},d;a||(a={});for(d in void 0)a[d]=(void 0)[d];e.reset(c,a,this)}else e.clear();e.draw(this)},_clearTimers:function(){var b=
this.config&&this.config.realTimeConfig,a=this.linkedItems.timers,c=a&&a.setTimeout,a=a&&a.setInterval,w;b&&(b.refreshIntervalFlag=!1);for(w in c)clearTimeout(c[w]);for(w in a)clearInterval(a[w])},_createLayers:function(){var b=this.graphics||(this.graphics={}),a,c,w=this.components.paper,b=this.graphics;b.parentGroup=a=b.parentGroup||w.group("parentgroup");b.backgroundGroup=b.backgroundGroup||w.group("background",a);b.canvasGroup=b.canvasGroup||w.group("canvas",a);b.axisBottomGroup=b.axisBottomGroup||
w.group("axisbottom",a);b.datasetGroup=c=b.datasetGroup||w.group("dataset",a);b.axisTopGroup=b.axisTopGroup||w.group("axistop",a);b.sumLabelsLayer=b.sumLabelsLayer||w.group("sumlabels",a);b.datalabelsGroup=b.datalabelsGroup||w.group("datalabel",a);b.legendGroup=b.legendGroup||w.group("legend",a);b.captionGroup=b.captionGroup||w.group("caption",a);b.captionGroup.trackTooltip(!0);b.columnGroup=b.columnGroup||w.group("column",c);b.areaGroup=b.areaGroup||w.group("area",c);b.lineGroup=b.lineGroup||w.group("line",
c);b.trackerGroup||(b.trackerGroup=w.group("tracker",a),b.trackerGroup.trackTooltip(!0));b.buttonGroup=b.buttonGroup||w.group("buttons")},_spaceManager:function(){var b,a,c=this.config,w=this.components,g=w.xAxis&&w.xAxis[0],e=w.yAxis&&w.yAxis||[],d,D;a=w.legend.config.legendPos;var f=c.xDepth,I=c.yDepth,N=c.canvasBgDepth,m=c.canvasBaseDepth,l=c.canvasBasePadding,r=w.canvas.config.canvasBorderWidth,q=c.realTimeConfig&&c.realTimeConfig.showRTValue,n=c.borderWidth,z=c.canvasMarginTop,t=c.canvasMarginBottom,
A=c.canvasMarginLeft,v=c.canvasMarginRight,w=c.minCanvasHeight,B=c.minCanvasWidth;b=c.minChartWidth;var F=c.minChartHeight,E=c.height,C=c.width,G=!1,la=!1,Z,J=c.origCanvasTopMargin,P=c.origCanvasBottomMargin,U=c.origCanvasLeftMargin,ba=c.origCanvasRightMargin,aa,V,K=[];c.canvasWidth-2*n<b&&(D=(c.canvasWidth-b)/2);c.canvasHeight-2*n<F&&(d=(c.canvasHeight-F)/2);this._allocateSpace({top:d||n,bottom:d||n,left:D||n,right:D||n});n=0;for(D=e.length;n<D;n++)d=e[n],b=.7*c.availableWidth,b=d&&d.placeAxis(b)||
{},K.push({axisIndex:n,spaceTaken:b}),d&&this._allocateSpace(b);c.yAxisSpaceAllocation=K;e=.225*c.availableHeight;e=this._manageActionBarSpace&&this._manageActionBarSpace(e)||{};this._allocateSpace(e);this._manageLegendSpace(void 0);a=a===H?.6*c.availableHeight:.6*c.availableWidth;I&&(this._allocateSpace({bottom:I}),c.shift=f+l+m);N&&this._allocateSpace({right:N});c.canvasWidth-2*r<B&&(V=(c.canvasWidth-B)/2);this._allocateSpace({left:V||r,right:V||r});B>C-A-v&&(la=!0,I=c.canvasWidth-B,f=A+v,A=c.canvasMarginLeft=
I*A/f,v=c.canvasMarginRight=I*v/f);A=A>c.canvasLeft?A-c.canvasLeft:0;v=v>C-c.canvasRight?v+c.canvasRight-C:0;this._allocateSpace({left:A,right:v});la&&(f=U+ba,la=c.canvasWidth,la>B&&(I=la-B,A=I*U/f,v=I*ba/f),this._allocateSpace({left:A,right:v}));c.actualCanvasMarginRight=v;c.actualCanvasMarginBottom=Z;this._manageChartMenuBar(a);a=.2*c.availableHeight;this._allocateSpace(this._getSumValueSpace(a));a=.3*c.availableHeight;c.realtimeEnabled&&(q?this._allocateSpace(this._realTimeValuePositioning(a)):
this._hideRealTimeValue());this._resetViewPortConfig&&this._resetViewPortConfig();this._setAxisScale&&this._setAxisScale();a=.6*c.availableHeight;c.xAxisSpaceAllocation=Z=g&&g.placeAxis(a);g&&this._allocateSpace(Z);this._getDSspace&&this._allocateSpace(this._getDSspace(.4*c.canvasWidth));a=.3*c.availableHeight;this._manageScrollerPosition&&this._manageScrollerPosition(a);c.canvasHeight-2*r<w&&(aa=(c.canvasHeight-w)/2);this._allocateSpace({top:aa||r,bottom:aa||r});this._allocateSpace({bottom:m});w>
E-z-t&&(G=!0,I=c.canvasHeight-w,f=z+t,z=c.canvasMarginTop=I*z/f,t=c.canvasMarginBottom=I*t/f);g=z>c.canvasTop?z-c.canvasTop:0;Z=t>E-c.canvasBottom?t+c.canvasBottom-E:0;this._allocateSpace({top:g,bottom:Z});G&&(f=J+P,m=c.canvasHeight,m>w&&(I=m-w,g=I*J/f,Z=I*P/f),this._allocateSpace({top:g,bottom:Z}));c.actualCanvasMarginTop=g;c.actualCanvasMarginLeft=A},_manageLegendSpace:function(){var b=this.config,a=this.components,c=a.legend,w=a.gradientLegend,g;g=this.jsonData.colorrange;var a=this.hasLegend,
e={},d=this.hasGradientLegend,D=F(this.jsonData.chart.mapbycategory,0);d&&g&&F(g.gradient)&&!D?(g=w.conf,d=!0,b.gLegendEnabled=!0,w=.5,g=g.legendPosition):(g=c.config,d=!1,b.gLegendEnabled=!1,g=g.legendPos,w=g===vb?.8:.4);b=g===vb?b.availableWidth*w:b.availableHeight*w;d?e=this.manageGradientLegendSpace(b):!1!==a&&(e=c._manageLegendPosition(b));this._allocateSpace({bottom:e.bottom||0,right:e.right||0})},_getSumValueSpace:function(b){var a={},c=this.isBar,w=this.jsonData.chart,a=0!==this.showsum?F(w.showsum,
this.showsum,0):0,g=this.config.stack100percent,e=this.config.isstacked,w=0,d=this.components["datasetGroup_"+this.defaultDatasetType],D=0;a&&g&&e&&d&&(a=d.getMaxSumValueSpace(),c?w=a.maxWidth:D=a.maxHeight,D>b&&(D=b),w>b&&(w=b));return{top:D,right:w}},_setAxisValuePadding:function(){var b=this.components.dataset,a=b.length,c,w,g=-Infinity,e=-Infinity,d=this.components.xAxis;for(c=0;c<a;c++)w=b[c],w=w.getAxisValuePadding&&w.getAxisValuePadding()||{},g=da(g,w.left||-Infinity),e=da(e,w.right||-Infinity);
-Infinity===g&&(g=0);-Infinity===e&&(e=0);d&&d[0].setAxisPadding(g,e)},_fetchCaptionPos:function(b){var a=this.config,c=this.components,w=c.chartMenuBar.getLogicalSpace(),c=c.caption.config;return c.align===z?a.width-b-c.width/2-a.origMarginRight-w.width:c.align===L?a.width-a.canvasLeft-c.width-a.origMarginRight-w.width+c.horizontalPadding:-1},_manageChartMenuBar:function(b){var a=this.config,c=this.components,w=c.chartMenuBar.getLogicalSpace(),c=c.caption.config,g=a.width/2,e=a.canvasRight,e=e?(a.canvasLeft+
e)/2:g,a=0,g=c.alignWithCanvas?e:g;c.isOnTop?(b=this._manageCaptionSpacing(b),a=this._fetchCaptionPos(g),c._offsetHeight=0>a?w.height:0,b.top=0>a?F(b.top,0)+w.height:da(b.top,w.height)):(this._allocateSpace({top:w.height}),b=this._manageCaptionSpacing(b));this._allocateSpace(b);return{top:da(w.height,b.top),bottom:b.bottom}},_getDSspace:function(b){var a=this.components.dataset,c,w=a.length,g,e,d={},D={left:0,right:0,top:0,bottom:0,paddingLeft:0,paddingRight:0,paddingBottom:0,paddingTop:0},f;for(g=
0;g<w;g++)if(c=a[g],e=c.groupManager)d[c.type]=e;else if(c.manageSpace)for(f in c=c.manageSpace&&c.manageSpace(),c)D[f]=da(c[f],D[f]);for(f in d)if(e=d[f],e.manageSpace)for(f in c=e.manageSpace&&e.manageSpace(b),c)D[f]=da(c[f],D[f]);a=D.paddingLeft;w=D.paddingRight;g=a+w;b<g&&(D.paddingLeft=b*a/g,D.paddingRight=b*w/g);return D},_adjustCanvasPadding:function(){for(var b=this.config,a=this.components,c=a.dataset,w=c.length,g=a.xAxis&&a.xAxis[0],e=b.xDepth,d={},D,f,I,N=a.canvas.config,m=N.canvasBorderWidth,
l=N.canvasPadding,a=0;a<w;a++)D=c[a],(f=D.groupManager)&&(d[D.type]=f);for(I in d)f=d[I],f.preDrawCalculate&&f.preDrawCalculate();this._getDSspace&&(this._allocateSpace(this._getDSspace(.4*b.canvasWidth)),g&&g.setAxisDimention({x:b.canvasLeft+(e||0)+da(N.canvasPaddingLeft,l),y:b.canvasBottom+(b.shift||0)+m,opposite:b.canvasTop-m,axisLength:b.canvasWidth-(e||0)-da(N.canvasPaddingLeft,l)-da(N.canvasPaddingRight,l)}))},_setAxisLimits:function(){var b=this.components,a=b.dataset,c=b.yAxis,b=b.xAxis,w,
g=a.length,e,d=-Infinity,D=Infinity,f=Infinity,I=-Infinity,N,m,l,r={},q=[],n=function(b){m=J(b.xMax,-Infinity);l=J(b.xMin,Infinity);d=da(d,b.max);D=Ra(D,b.min);I=da(I,m);f=Ra(f,l)};for(e=0;e<g;e++)w=a[e],(N=w.groupManager)?r[w.type]=N:q.push(w);for(N in r)a=r[N].getDataLimits(),n(a);g=q.length;for(e=0;e<g;e++)a=q[e].getDataLimits(),n(a);-Infinity===d&&(d=0);Infinity===D&&(D=0);this.config.yMax=d;this.config.yMin=D;c[0].setAxisConfig({isPercent:this.config.isstacked?this.config.stack100percent:0});
c[0].setDataLimit(d,D);if(-Infinity!==I||Infinity!==f)b[0].config.xaxisrange={max:I,min:f},b[0].setDataLimit(I,f)},_setToolTipOptions:function(){var b=this.components,a=this.components.colorManager,c=this.jsonData.chart,w=b.tooltip||(w=b.tooltip={}),b=w.config||(b=w.config={}),g=this.config,e=g.style,g=g.style.inCanvasStyle,d,D,f;d=Za(J(c.tooltipbgcolor,a.getColor("toolTipBgColor")),J(c.tooltipbgalpha,100));a=Za(J(c.tooltipbordercolor,a.getColor("toolTipBorderColor")),J(c.tooltipborderalpha,100));
D=F(c.tooltipborderthickness,1)+"px";f=F(c.tooltippadding,3)+"px";w=w.style={fontFamily:e.inCanfontFamily,fontSize:e.inCanfontSize,lineHeight:g.lineHeight,color:Za(e.inCancolor),backgroundColor:d,borderColor:a,borderWidth:D,padding:f};c.tooltipcolor&&(w.color=hb(c.tooltipcolor));if(c.tooltipborderradius||c.useroundedges)w.borderRadius=F(c.tooltipborderradius,2)+"px";b.shadow=F(c.showtooltipshadow,c.showshadow,1)?{enabled:!0,opacity:da(F(c.tooltipbgalpha,100),F(c.tooltipborderalpha,100))/100}:!1;b.constrain=
F(c.constraintooltip,1)},_createAxes:function(){var b=this.components,a=FusionCharts.register("component",["axis","cartesian"]),c;b.yAxis=[];b.xAxis=[];b.yAxis[0]=c=new a;b.xAxis[0]=b=new a;c.chart=this;b.chart=this;c.init();b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.config,a=this.components,c=a.colorManager,e=this.jsonData,g=e.chart,d,D=this.is3d,f=D?w.chart3D:w.chart2D;d={outCanfontFamily:J(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Ua(g.outcnvbasefontsize,
g.basefontsize,10),outCancolor:J(g.outcnvbasefontcolor,g.basefontcolor,c.getColor(f.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisBreaks:g.xaxisbreaks,axisNamePadding:g.xaxisnamepadding,axisValuePadding:g.labelpadding,axisNameFont:g.xaxisnamefont,axisNameFontSize:g.xaxisnamefontsize,axisNameFontColor:g.xaxisnamefontcolor,axisNameFontBold:g.xaxisnamefontbold,axisNameFontItalic:g.xaxisnamefontitalic,axisNameBgColor:g.xaxisnamebgcolor,axisNameBorderColor:g.xaxisnamebordercolor,axisNameAlpha:g.xaxisnamealpha,
axisNameFontAlpha:g.xaxisnamefontalpha,axisNameBgAlpha:g.xaxisnamebgalpha,axisNameBorderAlpha:g.xaxisnameborderalpha,axisNameBorderPadding:g.xaxisnameborderpadding,axisNameBorderRadius:g.xaxisnameborderradius,axisNameBorderThickness:g.xaxisnameborderthickness,axisNameBorderDashed:g.xaxisnameborderdashed,axisNameBorderDashLen:g.xaxisnameborderdashlen,axisNameBorderDashGap:g.xaxisnameborderdashgap,useEllipsesWhenOverflow:g.useellipseswhenoverflow,divLineColor:J(g.vdivlinecolor,g.divlinecolor,c.getColor(f.divLineColor)),
divLineAlpha:J(g.vdivlinealpha,g.divlinealpha,D?c.getColor("divLineAlpha3D"):c.getColor("divLineAlpha")),divLineThickness:F(g.vdivlinethickness,g.divlinethickness,1),divLineIsDashed:!!F(g.vdivlinedashed,g.vdivlineisdashed,g.divlinedashed,g.divlineisdashed,0),divLineDashLen:F(g.vdivlinedashlen,g.divlinedashlen,4),divLineDashGap:F(g.vdivlinedashgap,g.divlinedashgap,2),showAlternateGridColor:F(g.showalternatevgridcolor,0),alternateGridColor:J(g.alternatevgridcolor,c.getColor("altVGridColor")),alternateGridAlpha:J(g.alternatevgridalpha,
c.getColor("altVGridAlpha")),numDivLines:F(g.numvdivlines,this.numVDivLines),labelFont:g.labelfont,labelFontSize:g.labelfontsize,labelFontColor:g.labelfontcolor,labelFontAlpha:g.labelalpha,labelFontBold:g.labelfontbold,labelFontItalic:g.labelfontitalic,maxLabelHeight:g.maxlabelheight,axisName:g.xaxisname,axisMinValue:g.xaxisminvalue,axisMaxValue:g.xaxismaxvalue,setAdaptiveMin:F(g.setadaptivexmin,this.setadaptivexmin,b.setadaptivexmin),adjustDiv:g.adjustvdiv,labelDisplay:g.labeldisplay,showLabels:g.showlabels,
rotateLabels:g.rotatelabels,slantLabel:F(g.slantlabels,g.slantlabel),labelStep:F(g.labelstep,g.xaxisvaluesstep),showAxisValues:F(g.showxaxisvalues,g.showxaxisvalue),showLimits:F(g.showvlimits,this.showvlimits),showDivLineValues:F(g.showvdivlinevalues,g.showvdivlinevalues,this.showvdivlinevalues),showZeroPlane:F(g.showvzeroplane,this.showzeroplane),zeroPlaneColor:g.vzeroplanecolor,zeroPlaneThickness:F(g.vzeroplanethickness,g.vdivlinethickness,b.zeroplanethickness,2),zeroPlaneAlpha:F(g.vzeroplanealpha,
g.vdivlinealpha,b.zeroplanealpha),showZeroPlaneValue:F(g.showvzeroplanevalue,this.showzeroplanevalue),trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:D?0:F(g.showxaxisline,g.showaxislines,g.drawAxisLines,this.showxaxisline,0),axisLineThickness:F(g.xaxislinethickness,g.axislinethickness,1),axisLineAlpha:F(g.xaxislinealpha,g.axislinealpha,100),axisLineColor:J(g.xaxislinecolor,
g.axislinecolor,"#000000")};b={outCanfontFamily:J(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Ua(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:J(g.outcnvbasefontcolor,g.basefontcolor,c.getColor(f.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisBreaks:g.yaxisbreaks,axisNamePadding:g.yaxisnamepadding,axisValuePadding:g.yaxisvaluespadding,axisNameFont:g.yaxisnamefont,axisNameFontSize:g.yaxisnamefontsize,axisNameFontColor:g.yaxisnamefontcolor,axisNameFontBold:g.yaxisnamefontbold,
axisNameFontItalic:g.yaxisnamefontitalic,axisNameBgColor:g.yaxisnamebgcolor,axisNameBorderColor:g.yaxisnamebordercolor,axisNameAlpha:g.yaxisnamealpha,axisNameFontAlpha:g.yaxisnamefontalpha,axisNameBgAlpha:g.yaxisnamebgalpha,axisNameBorderAlpha:g.yaxisnameborderalpha,axisNameBorderPadding:g.yaxisnameborderpadding,axisNameBorderRadius:g.yaxisnameborderradius,axisNameBorderThickness:g.yaxisnameborderthickness,axisNameBorderDashed:g.yaxisnameborderdashed,axisNameBorderDashLen:g.yaxisnameborderdashlen,
axisNameBorderDashGap:g.yaxisnameborderdashgap,axisNameWidth:g.yaxisnamewidth,useEllipsesWhenOverflow:g.useellipseswhenoverflow,rotateAxisName:F(g.rotateyaxisname,1),axisName:g.yaxisname,divLineColor:J(g.divlinecolor,c.getColor(f.divLineColor)),divLineAlpha:J(g.divlinealpha,D?c.getColor("divLineAlpha3D"):c.getColor("divLineAlpha")),divLineThickness:F(g.divlinethickness,1),divLineIsDashed:!!F(g.divlinedashed,g.divlineisdashed,0),divLineDashLen:F(g.divlinedashlen,4),divLineDashGap:F(g.divlinedashgap,
2),showAlternateGridColor:F(g.showalternatehgridcolor,1),alternateGridColor:J(g.alternatehgridcolor,c.getColor("altHGridColor")),alternateGridAlpha:J(g.alternatehgridalpha,c.getColor("altHGridAlpha")),numDivLines:F(g.numdivlines,this.numDivLines),axisMinValue:g.yaxisminvalue,axisMaxValue:g.yaxismaxvalue,setAdaptiveMin:F(g.setadaptivesymin,g.setadaptiveymin),adjustDiv:g.adjustdiv,labelStep:g.yaxisvaluesstep,showAxisValues:F(g.showyaxisvalues,g.showyaxisvalue,this.showyaxisvalues),showLimits:F(g.showyaxislimits,
g.showlimits,this.showLimits),showDivLineValues:F(g.showdivlinevalues,g.showdivlinevalue,this.showdivlinevalues),showZeroPlane:F(g.showzeroplane,this.showzeroplane),zeroPlaneColor:g.zeroplanecolor,zeroPlaneThickness:F(g.zeroplanethickness,g.divlinethickness,b.zeroplanethickness,2),zeroPlaneAlpha:F(g.zeroplanealpha,g.divlinealpha,b.zeroplanealpha),showZeroPlaneValue:F(g.showzeroplanevalue,this.showzeroplanevalue),showZeroPlaneOnTop:b.showzeroplaneontop,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,
trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:D?0:F(g.showyaxisline,g.showaxislines,g.drawAxisLines,this.showyaxisline,0),axisLineThickness:F(g.yaxislinethickness,g.axislinethickness,1),axisLineAlpha:F(g.yaxislinealpha,g.axislinealpha,100),axisLineColor:J(g.yaxislinecolor,g.axislinecolor,"#000000")};d.vtrendlines=e.vtrendlines;b.trendlines=e.trendlines;e=a.yAxis&&a.yAxis[0];a=a.xAxis&&a.xAxis[0];e&&(e.setCommonConfigArr(b,
!0,!1,!1),e.configure());a&&(a.setCommonConfigArr(d,!1,!1,!1),a.configure())},_createLegend:function(){var b=this.components,a=FusionCharts.register("component",["legend","legend"]);Sa=b.legend=new a;Sa.chart=this;Sa.init()},_createGradientLegend:function(){var b=this.components,a;this.hasGradientLegend&&(a=b.gradientLegend=b.gradientLegend||new (FusionCharts.register("component",["gradientLegend","gradientLegend"])),b.postLegendInitFn=a.init({chart:this}))},_setCategories:function(){var b=this.jsonData,
a=this.components.xAxis,b=b.categories&&b.categories[0].category;a&&a[0].setCategory(b)},_getDiff:function(b,a,c,w){c>b&&(b=c,a=w);return{diff:b,startIndex:a}},_createDatasets:function(){var b,a=this.components,c=a.xAxis[0],w=this.jsonData,g=w.dataset,e=g&&g.length,d,D,f,I=this.defaultDatasetType,N=this.applicableDSList,m=this.components.legend.components.items||[],l,r,q,n=this.config.isstacked,z,A,t=[],v=this.isRealTime,B=this.config.catLen,F={};g&&0!==g.length||this.setChartMessage();this.config.categories=
w.categories&&w.categories[0].category;d=a.dataset||(a.dataset=[]);D=d.length;for(w=0;w<e;w++)if(q=g[w],q.seriesname&&(q.seriesname=Da(q.seriesname)),f=q.parentyaxis||T,r=(r=this.isDual&&"s"===f.toLowerCase()?J(q.renderas,this.sDefaultDatasetType):J(q.renderas,I))&&r.toLowerCase(),N[r]||(r=I),b=FusionCharts.get("component",["dataset",r]))void 0===F[r]?F[r]=0:F[r]++,z="datasetGroup_"+r,f=FusionCharts.register("component",["datasetGroup",r]),(l=a[z])&&t.push(l),f&&!l&&(l=a[z]=new f,l.chart=this,l.init()),
(f=d[w])?(r=c.getCategoryLen(),b=B-r,z=v?f.components:f.JSONData,A=z.data&&z.data.length,z=v?0:q.data&&q.data.length||0,A-=z,b=this._getDiff(A,z,b,r),r=b.diff,b=b.startIndex,this.config._dataUpdated=!0,0<r&&f.removeData(b,r,!1),this.config._dataUpdated=!1,d[w].JSONData=q,d[w].configure(),d[w]._deleteGridImages&&d[w]._deleteGridImages()):(f=new b,d.push(f),f.chart=this,f.index=w,l&&(n?l.addDataSet(f,0,F[r]):l.addDataSet(f,F[r],0)),f.init(q));if(D>e){r=D-e;l&&n&&l.removeDataSet(0,w,r);a=w;for(e=r+w;a<
e;a++)l&&!n&&l.removeDataSet(w,0,1),ab.call(d[a]);d.splice(w,r);m.splice(w,r)}this.config.catLen=c.getCategoryLen()},_drawDataset:function(){var b=this.components.dataset,a,c=b.length,w,g,e={},d=[];for(w=0;w<c;w++)a=b[w],(g=a.groupManager)?e[a.type]=g:d.push(a);for(g in e)e[g].draw();c=d.length;for(w=0;w<c;w++)d[w].draw()},_drawCanvas:function(){var b=this.jsonData.chart,a=this.components,w=this.config,e=this.graphics,g=a.paper,d=a.canvas,a=d.graphics,D=d.config,d=D.clip={},f=a.canvasBorderElement,
I=this.get(l,O),N=I.animType,m=I.animObj,r=I.dummyObj,I=I.duration,q=a.canvasElement,n=w.canvasLeft,z=w.canvasTop,A=w.canvasWidth,t=w.canvasHeight,B=D.xDepth=w.xDepth||0,w=D.yDepth=w.yDepth||0,e=e.canvasGroup,kb=D.canvasBorderRadius,E=D.canvasBorderWidth,S=.5*E,Q=D.canvasBorderColor,H=D.canBGColor,C=D.canBGAlpha,G=D.shadow,b=D.showCanvasBG=!!F(b.showcanvasbg,1),la=D.shadowOnCanvasFill,Z=D.showCanvasBorder,D={x:n-S,y:z-S,width:A+E,height:t+E,r:kb,"stroke-width":E,stroke:Q,"stroke-linejoin":2<E?c:v};
Z?f?(f.show(),f.animateWith(r,m,{x:n-S,y:z-S,width:A+E,height:t+E,r:kb},I,N),f.attr({"stroke-width":E,stroke:Q,"stroke-linejoin":2<E?c:v}),f.shadow(G)):a.canvasBorderElement=g.rect(D,e).shadow(G):f&&f.hide();d["clip-canvas"]=[da(0,n-B),da(0,z-w),da(1,A+2*B),da(1,t+w)];d["clip-canvas-init"]=[da(0,n-B),da(0,z-w),1,da(1,t+2*w)];b?(D={x:n,y:z,width:A,height:t,r:kb,"stroke-width":0,stroke:"none",fill:Na(H)},q?(q.show(),q.animateWith(r,m,{x:n,y:z,width:A,height:t,r:kb},I,N),q.attr({"stroke-width":0,stroke:"none",
fill:Na(H)})):q=a.canvasElement=g.rect(D,e),la?q.shadow({opacity:C/100}):q.shadow(!1)):q&&q.hide()},_getBackgroundCosmetics:function(){var b=this.jsonData.chart,a=this.components.colorManager,c=this.is3D?w.chart3D:w.chart2D;return{FCcolor:{color:J(b.bgcolor,this.bgColor,a.getColor(c.bgColor)),alpha:J(b.bgalpha,this.bgAlpha,a.getColor(c.bgAlpha)),angle:J(b.bgangle,a.getColor(c.bgAngle)),ratio:J(b.bgratio,a.getColor(c.bgRatio))}}},_manageCaptionSpacing:function(b,a){return this.components.caption.manageSpace(b,
a)},_manageCaptionPosition:function(){this.components.caption.managePosition()},_drawChartMenuBar:function(){var b=this.config,a=this.components.chartMenuBar,c=a.getLogicalSpace();a.toolbarConfig.fill=fb;a.toolbarConfig.borderColor=fb;a.draw(b.width-(b.marginRight+c.width),b.marginTop);a.drawn=!0},_drawLogo:function(){var b=this,a=b.components.paper,c=b.config,w=c.borderWidth||0,g=c.height,D=c.width,f=b.graphics.logoImage,I=c.logoURL,N=c.logoAlpha/100,m=c.logoPosition,r=c.logoLink,q=c.logoScale,n=
c.logoLeftMargin,A=c.logoTopMargin,t,v,c=b.get(l,O),B=c.animType,F=c.animObj,kb=c.dummyObj,E=c.duration,c={tr:{vAlign:e,hAlign:vb},bl:{vAlign:H,hAlign:eb},br:{vAlign:H,hAlign:vb},cc:{vAlign:z,hAlign:z}},S,Q,G;I?(S=new bb,(G=c[m])||(G={vAlign:e,hAlign:eb}),S.onload=function(){Q=Ga("none",G.vAlign,G.hAlign,q,w,D,g,S);C&&(Q.w=Q.width||0,Q.h=Q.height||0);Q.src=I;f?f.animateWith(kb,F,Q,E,B):f=b.graphics.logoImage=a.image(Q);f.show();f.translate(n,A).css("opacity",N);r?f.css({cursor:P,_cursor:"hand"}):
f.css({cursor:"default",_cursor:X});if(f.events&&f.events.length)for(v=0,t=f.events.length;v<t;v++)f.events[v].unbind(),f.events.splice(v,1),--t,--v;f.mouseover(function(a){a=Pa(b.chartInstance.ref,a);d.raiseEvent("LogoRollover",{logoURL:I,logoAlpha:100*N,logoPosition:m||"tl",logoScale:q,logoLink:r,chartX:a.chartX,chartY:a.chartY,pageX:a.pageX,pageY:a.pageY},b.chartInstance)});f.mouseout(function(a){a=Pa(b.chartInstance.ref,a);d.raiseEvent("LogoRollout",{logoURL:I,logoAlpha:100*N,logoPosition:m||
"tl",logoScale:q,logoLink:r,chartX:a.chartX,chartY:a.chartY,pageX:a.pageX,pageY:a.pageY},b.chartInstance)});f.click(function(a){a=Pa(b.chartInstance.ref,a);d.raiseEvent("LogoClick",{logoURL:I,logoAlpha:100*N,logoPosition:m||"tl",logoScale:q,logoLink:r,chartX:a.chartX,chartY:a.chartY,pageX:a.pageX,pageY:a.pageY},b.chartInstance,void 0,function(){r&&b.linkedItems.linkClickFN.call({link:r},b)})});d.raiseEvent("LogoLoaded",{logoURL:I,logoAlpha:100*N,logoPosition:m||"tl",logoScale:q,logoLink:r},b.chartInstance)},
S.onerror=function(a){d.raiseEvent("LogoLoadError",{logoURL:I,logoAlpha:100*N,logoPosition:m||"tl",logoScale:q,logoLink:r,error:a},b.chartInstance)},S.src=I):f&&f.hide()},_addCSSDefinition:function(b,a){var c=this.components.paper;a.color&&(a.fill=a.color);c.cssAddRule(b,a)},_allocateSpace:function(b){var a=this.components.canvas.config,c=this.config,w=c.canvasHeight,g=c.canvasWidth,e=c.availableHeight,d=c.availableWidth;c.canvasLeft+=b.left||0;c.canvasTop+=b.top||0;g=c.canvasWidth=g-((b.left||0)+
(b.right||0));w=c.canvasHeight=w-((b.top||0)+(b.bottom||0));c.availableHeight=da(e-((b.top||0)+(b.bottom||0)),0);c.availableWidth=da(d-((b.left||0)+(b.right||0)),0);c.canvasRight=c.canvasLeft+g;c.canvasBottom=c.canvasTop+w;a.canvasPaddingLeft=da(a.canvasPaddingLeft,b.paddingLeft||0);a.canvasPaddingRight=da(a.canvasPaddingRight,b.paddingRight||0);a.canvasPaddingTop=da(a.canvasPaddingTop,b.paddingTop||0);a.canvasPaddingBottom=da(a.canvasPaddingBottom,b.paddingBottom||0)},_updateCategory:function(b){var a=
this.jsonData,a=a.categories&&a.categories[0].category,c=b.category,w=c.length,g=b.index,e=b.prepend;b=b.add;var d;for(d=0;d<w;d++)g?(b&&a.splice(g-1+d,0,c[d]),!b&&(a[g-1+d]=c[d])):e?(b&&a.splice(d,0,c[d]),!b&&(a[d]=c[d])):(b&&a.push(c),!b&&(a[a.length-1]=c))},realTimeUpdate:function(b){var a=this.components,c=a.xAxis&&a.xAxis[0],a=a.dataset,w=b.dataset;b=b.categories&&b.categories.category||[];var g=c&&c.getCategoryLen(),e=this.config.realTimeConfig=this.config.realTimeConfig||(this.config.realTimeConfig=
{}),d=0,D;if(a){if(c){c.categoryInsert(g,b,!0);g=0;for(D=b.length;g<D;g++)b[g].vline||(d+=1);c.categoryDelete(0,d,!0)}this.config._sumValuesUpdated=!1;g=0;for(D=a.length;g<D;g++)d=w[g],a[g].addData(d),a[g].removeData(0,d.data.length),a[g].maxminFlag&&(e.maxminFlag=a[g].maxminFlag)}},_RTmanageSpace:function(){var b=this.config,a=this.components,c=a.xAxis[0],w=a.yAxis[0],g=a.yAxis[1],e,d=a.canvas.config,a=d.canvasBorderWidth,D=d.canvasPaddingTop,f=d.canvasPaddingBottom,I=d.canvasPadding||0,N=d.canvasPaddingLeft,
d=d.canvasPaddingRight,m;e=b.xAxisSpaceAllocation;m=b.yAxisSpaceAllocation||[];var l=m[0]&&m[0].spaceTaken||{},r=m[1]&&m[1].spaceTaken||{},q=b.primaryAxisOnleft,n,z,A;e=(b.xAxisSpaceAllocation=c.placeAxis(b.availableHeight+e.bottom)).bottom-e.bottom;0!==e&&(this._allocateSpace({bottom:e}),e=b.availableWidth,m[0].spaceTaken=e=w.placeAxis(e+l.left),this._allocateSpace({left:e.left-l.left}),e=b.availableWidth,l=b.canvasLeft-a,z=b.canvasRight+a,g&&(n=z,A=l,0===q&&(q=l,l=n,n=q,q=z,z=A,A=q),m[1].spaceTaken=
m=g.placeAxis(e+(r.right||0)),this._allocateSpace({right:(m.right||0)-(r.right||0)}),g.setAxisDimention({x:n,y:b.canvasTop+D,opposite:A,axisLength:b.canvasHeight-D-f})),c&&c.setAxisDimention({x:b.canvasLeft+da(N,I),y:b.canvasBottom+(b.shift||0)+a,opposite:b.canvasTop-a,axisLength:b.canvasWidth-da(N,I)-da(d,I)}),w&&w.setAxisDimention({x:l,y:b.canvasTop+D,opposite:z,axisLength:b.canvasHeight-D-f}),w.draw(),this._drawCanvas())},realTimeDraw:function(b,a,c,w,g){var e=this.components,D=e.xAxis&&e.xAxis[0],
f=e.yAxis&&e.yAxis[0],I=e.yAxis&&e.yAxis[1],N=e.scale,e=e.dataset,m=this.config.realTimeConfig,l=m.sync,r=m.showRTValue,q=m.maxminFlag,n,z,A=e.length;z=(new Date).getTime();this._chartAnimation(l);this.rtManageSpace&&this._RTmanageSpace();if(e){D&&D.draw();this._setAxisLimits();q&&f&&f.draw();I&&I.draw();q&&N&&N.draw();for(D=0;D<A;D++)n=e[D].groupManager,!n&&e[D].draw();r&&this._drawRealTimeValue&&this._drawRealTimeValue();n&&n.draw()}z=(new Date).getTime()-z;a={data:a,updateObject:m.legacyUpdateObj,
prevData:c,source:b?"XmlHttpRequest":"feedData",latency:z};b&&(a.networkLatency=g,a.url=w);d.raiseEvent("realTimeUpdateComplete",a,this.chartInstance)},_getPrevData:function(){return this.config.realTimeConfig&&this.config.realTimeConfig.prevData},feedData:function(b,a,c,w){var g=this,e=g.config.realtimeEnabled,d=g.config.realTimeConfig||(g.config.realTimeConfig={}),D,f=g.components,I=f.xAxis,N=g.components.dataset,m,l,r=d.clearInterval,q=d.refreshInterval,n=d.updateInterval,z=g.linkedItems.timers||
(g.linkedItems.timers={setTimeout:{},setInterval:{}}),A=N.length,t=d.prevData;D=g._linearDataParser(b);if(e&&g.chartInstance.isActive()){if(d.clear){for(e=0;e<A;e++)N[e]._realTimeConfigure(!0);d.clear=!1}q<n&&(q=d.refreshInterval=d.updateInterval);f.messageLogger&&f.messageLogger.addLog(D);f.alertManager&&f.alertManager.processRTData(D);g.realTimeUpdate(D);g.canvasPadding&&g._adjustCanvasPadding();q&&!1===d.clearIntervalFlag?(g.realTimeDraw(a,b,t,c,w),d.refreshIntervalFlag=!1):q&&!d.refreshIntervalFlag?
(d.refreshIntervalFlag=!0,z.setTimeout.loadData=setTimeout(function(){m=(new Date).getTime();g.realTimeDraw(a,b,t,c,w);l=(new Date).getTime();d.refreshIntervalFlag=!1;d.refreshIntervalTimeDifference=l-m},1E3*q-(d.refreshIntervalTimeDifference||0)-(w||0))):q||g.realTimeDraw(a,b,t,c,w);r&&!d.clearIntervalFlag&&I&&(d.clearIntervalFlag=!0,z.setTimeout.clearData=setTimeout(function(b){m=(new Date).getTime();try{clearTimeout(b.setTimeout.loadData)}catch(a){clearTimeout(z.setTimeout.loadData)}g._clearChart();
l=(new Date).getTime();d.clearIntervalTimeDifference=l-m;d.clearIntervalFlag=!1},1E3*r-(d.clearIntervalTimeDifference||0)-(w||0),z));return!0}return!1},_clearChart:function(b){var a=this.components,c=a.xAxis&&a.xAxis[0],a=a.dataset,w=c.getCategoryLen(),g=this.config.realTimeConfig||(this.config.realTimeConfig={}),e=a.length;g.clear=!0;if(a){c&&c.categoryDelete(0,w,!0);this.config._sumValuesUpdated=!1;for(w=0;w<e;w++)c=a[w],a[w].removeData(0,c.components.data.length),a[w].maxminFlag&&(g.maxminFlag=
a[w].maxminFlag);this.realTimeDraw()}this._setRealTimeCategories();m.raiseEvent("ChartCleared",{source:b},this.chartInstance,[this.id,b])},_linearDataParser:function(b,c){var w,e,g,d,D,f,I,N,m,l,r,q,n,z,A,t,v,B,F,E,H,C,G=this.components.dataset,G=G&&G.length;z=this.config.realTimeConfig;var la=z.prevData=[],Z=z.legacyUpdateObj={},J=Z.values=[],P=Z.target=[],U=Z.valueVisibility=[],ba=Z.toolTexts=[],aa=Z.toolTextsTarget=[],V=Z.colors=[],K=Z.links=[],L=0,M={categories:{category:[]},dataset:[]},ea=M.categories.category,
O=M.dataset,R,Y=b,ia;b=b&&b.toString&&b.toString()||T;this.rtParserModify&&(Y=Y.replace(/([^\\])(\|)/g,"$1,"),b=b.replace(/\|/g,","));w=b.split("&");z=0;for(A=w.length;z<A;z+=1)if(e=w[z].split("="),g=e[1],e=e[0],e!==a&&void 0!==e&&void 0!==g&&(g!==a||c))switch(R=e.toLowerCase(),R){case "label":Z.labels=t=g.split(",");break;case "vline":Z.vlines=v=g.split(",");break;case "vlinelabel":Z.vlineLabels=m=g.split(",");break;case "vlinecolor":Z.vlineColors=l=g.split(",");break;case "vlinethickness":Z.vlineThickness=
r=g.split(",");break;case "vlinedashed":Z.vlineDashed=q=g.split(",");break;case "value":B=g.split("|");break;case "target":F=g.split("|");break;case "showlabel":Z.showLabels=n=g.split(",");break;case "showvalue":d=g.split("|");break;case "tooltext":D=(D=(D=Y.match(/tooltext=(.*?\\&)*.*?[^\\]&/i))?D[0].substr(9,D[0].length-10):Y.match(/(tooltext=)(.*)/i)[2])&&D.replace(/([^\\])(\|)/g,"$1_FC@@**");D=D.split("_FC@@**");break;case "targettooltext":f=g.split("|");break;case "link":N=g.split("|");break;
case "color":I=g.split("|");break;case "datastamp":Z.dataStamp=E=g;break;case "stopupdate":Z.pause=H="1"==g;break;case "clear":Z.clear=C="1"==g;break;default:Z[e]=M[e]=g}w=B&&B.length;for(z=0;z<w;z++)J[z]=B[z].split(","),P[z]=F&&F[z]&&F[z].split(","),U[z]=d&&d[z]&&d[z].split(","),aa[z]=f&&f[z]&&f[z].split(","),V[z]=I&&I[z]&&I[z].split(","),K[z]=N&&N[z]&&N[z].split(","),D&&(ia=D[z])&&(ia=ia.replace(/([^\\])(\,)/g,"$1_FC@@**"),ba[z]=ia.split("_FC@@**")),L=da(L,J[z].length);d=da(t&&t.length||0,L||0);
for(z=0;z<d;z++)ea.push({label:t&&t[z],color:l&&l[z],showlabel:n&&n[z]});v&&ea.push({label:m&&m[0],vline:v&&v[0],color:l&&l[0],thickness:r&&r[0],dashed:q&&q[0],showlabel:n&&n[0]});for(z=0;z<G;z++){r={};m=r.data=[];q=la[z]=[];for(l=0;l<d;l++)m.push({value:J[z]&&J[z][l],target:P[z]&&P[z][l],showvalue:U[z]&&U[z][l],tooltext:ba[z]&&ba[z][l]&&ba[z][l].replace(/\\/g,""),tooltexttarget:aa[z]&&aa[z][l],color:V[z]&&V[z][l],link:K[z]&&K[z][l]}),q.push(J[z]&&J[z][l]);O.push(r)}H&&this._stopUpdate();C&&this._clearChart();
E&&(this.config.dataStamp=E);return M},exportChart:function(b){return m.exportChart.call(this,b)},chartHoverManager:function(){return function(b){var a=b.type,c=b.data,w=c.linkedItems.eventListeners||(c.linkedItems.eventListeners=[]);"mouseover"!==a&&"touchstart"!==a||!1!==c.mouseStateIn||(c.mouseStateIn=!0,c.onContainerRollOver(b),w.push(Fa(C?K:B,"mouseover",c.winMouseHover,c)))}}(),setChartEvents:function(){var b=this.linkedItems.eventListeners||(this.linkedItems.eventListeners=[]),a=this.components.paper.canvas,
c=this.linkedItems.container,w=F(this.jsonData.chart.enablechartmousemoveevent,0);Ca(c,"click",this.onContainerClick);b.push(Fa(c,"click",this.onContainerClick,this));Ca(a,"mouseover",this.chartHoverManager,this);Ca(a,"touchstart",this.chartHoverManager,this);Ca(a,"mouseout",this.chartHoverManager,this);Ca(a,"touchend",this.chartHoverManager,this);b.push(Fa(a,"mouseover touchstart mouseout touchend",this.chartHoverManager,this));Ca(c,"mousemove",this.onContainerMouseMove,this);Ca(c,"touchmove",this.onContainerMouseMove,
this);w&&b.push(Fa(c,"mousemove touchmove",this.onContainerMouseMove,this))},setChartCursor:function(){var b=this.config.link,a=this.components.paper.canvas.style;E.svg?a.cursor=b?P:"default":this.components.paper.canvas.style.cursor=b?"hand":"default"},onContainerClick:function(b){var a=b.target||b.originalTarget||b.srcElement||b.relatedTarget||b.fromElement,c=a&&a.parentElement,w=a&&a.nodeName.toLowerCase(),g=b.data,e=g.chartInstance;b=m.getMouseCoordinate(g.linkedItems.container,b.originalEvent);
e.ref&&(e=fa({height:e.args.height,width:e.args.width,pixelHeight:e.ref.offsetHeight,pixelWidth:e.ref.offsetWidth,id:e.args.id,renderer:e.args.renderer,container:e.options.containerElement},b),d.raiseEvent("chartclick",e,g.chartInstance),a&&a.ishot&&g||"tspan"===w&&c&&c.ishot&&g||g.config.link&&g.linkedItems.linkClickFN.call(g,g))},onContainerMouseMove:function(b){var a=b.data,c=a.chartInstance;b=m.getMouseCoordinate(a.linkedItems.container,b.originalEvent);c.ref&&(c=fa({height:c.args.height,width:c.args.width,
pixelHeight:c.ref.offsetHeight,pixelWidth:c.ref.offsetWidth,id:c.args.id,renderer:c.args.renderer,container:c.options.containerElement},b),d.raiseEvent("chartMouseMove",c,a.chartInstance))},onContainerRollOver:function(b){var a=b.data,c=a.chartInstance;b=m.getMouseCoordinate(a.linkedItems.container,b.originalEvent);c.ref&&(c=fa({height:c.args.height,width:c.args.width,pixelHeight:c.ref.offsetHeight,pixelWidth:c.ref.offsetWidth,id:c.args.id,renderer:c.args.renderer,container:c.options.containerElement},
b),d.raiseEvent("chartRollOver",c,a.chartInstance))},onContainerRollOut:function(b){var a=b.chart,c=a.chartInstance;b=m.getMouseCoordinate(a.linkedItems.container,b.event);c.ref&&(c=fa({height:c.args.height,width:c.args.width,pixelHeight:c.ref.offsetHeight,pixelWidth:c.ref.offsetWidth,id:c.args.id,renderer:c.args.renderer,container:c.options.containerElement},b),d.raiseEvent("chartRollOut",c,a.chartInstance))},mouseStateIn:!1,winMouseHover:function(b){var a=b.originalEvent,a=a.target||a.originalTarget||
a.srcElement||a.relatedTarget||a.fromElement,c=b.data,w=c.components.paper;b={chart:c,event:b.originalEvent};C?w.getById(a.parentNode.raphaelid)||(c.onContainerRollOut(b),c.mouseStateIn=!1,Ca(K,"mouseover",c.winMouseHover)):a.viewportElement||(c.mouseStateIn=!1,c.onContainerRollOut(b),Ca(B,"mouseover",c.winMouseHover))},_show:function(){this.graphics&&this.graphics.parentGroup&&this.graphics.parentGroup.show()},_hide:function(){this.graphics&&this.graphics.parentGroup&&this.graphics.parentGroup.hide()},
getJobList:function(){this.jobList||(this.jobList={trackerDrawID:[],labelDrawID:[],entityDrawID:[]});return this.jobList}},za.base,{valuefontbold:0,usemessagelog:0,zeroplanethickness:void 0,animationeffect:"easeIn",showshadow:1,showhovereffect:void 0,plothovereffect:void 0,anchorhovereffect:void 0,plotborderdashed:void 0,stack100percent:void 0,showpercentvalues:void 0,showpercentintooltip:void 0,plotbordercolor:void 0,showtooltip:1,seriesnameintooltip:1,rotatevalues:0,minimizetendency:0,plotfillangle:270,
valuepadding:2,useplotgradientcolor:1,plotborderthickness:1,plotfillalpha:ga,showvalues:1,valueposition:f,tooltipsepchar:", ",usedataplotcolorforlabels:0,placevaluesinside:0,showplotborder:1,use3dlighting:1,useroundedges:0,plotspacepercent:20,plotpaddingpercent:void 0,plotfillratio:void 0,maxcolwidth:50,plotborderdashlen:5,plotborderdashgap:4});FusionCharts.register("component",["caption","caption",{pIndex:2,customConfigFn:null,init:function(){var b=this.graphics;!this.components&&(this.components=
{});!b&&(this.graphics={})},configure:function(){var b=this.chart,a=b.jsonData.chart,c=b.components,w=c.caption,g=w.config,d=b.config.style,D=d.outCanfontFamily,f=d.outCancolor,d=d.fontSize,c=c.subCaption,I=c.config;w.components.text=Da(a.caption);c.components.text=Da(a.subcaption);g.style={fontFamily:J(a.captionfont,D),color:Za(J(a.captionfontcolor,f).replace(/^#? ([a-f0-9]+)/ig,"#$1")),fontSize:F(a.captionfontsize,d+3)+ob,fontWeight:0===F(a.captionfontbold)?X:t};g.align=I.align=J(a.captionalignment,
sb);switch(g.align){case vb:g.align=r;break;case eb:g.align=L;break;default:g.align=z}g.isOnTop=I.isOnTop=F(a.captionontop,1);g.isOnLeft=!F(a.captiononright,0);g.captionPosition=ha(a.captionposition,e).toLowerCase();g.alignWithCanvas=I.alignWithCanvas=F(b.aligncaptionwithcanvas,a.aligncaptionwithcanvas,1);g.horizontalPadding=I.horizontalPadding=F(a.captionhorizontalpadding,g.alignWithCanvas?0:15);g.drawCaption=!0;Ta(g.style);I.style={fontFamily:J(a.subcaptionfont,a.captionfont,D),color:Za(J(a.subcaptionfontcolor,
a.captionfontcolor,f).replace(/^#? ([a-f0-9]+)/ig,"#$1")),fontSize:F(a.subcaptionfontsize,F(da(F(a.captionfontsize)-3,-1),d)+F(b.subTitleFontSizeExtender,1))+ob,fontWeight:0===F(a.subcaptionfontbold,b.subTitleFontWeight,a.captionfontbold)?X:t};Ta(I.style)},draw:function(){var b=this.chart,a=b.config,c=b.components,w=b.config.textDirection,g=b.graphics,d=g.captionGroup,D=c.paper,f=b.linkedItems.smartLabel,I=c.caption,N=I.graphics,m=N.captionElement,r=c.subCaption,c=r.graphics,n=c.subCaptionElement,
t=I.components,I=I.config,v=r.config,B=I.style,F=v.style,r=r.components,rb=t.text,kb=r.text,E=I.x,S=I.align,Q,H=a.showToolTip;Q=b.get(l,O);var b=Q.animType,C=Q.animObj,G=Q.dummyObj,J=Q.duration;!rb&&!kb||d||(d=g.captionGroup=D.group("caption"),d.trackTooltip(!0),g.tracker?d.insertBefore(g.trackerGroup):d.insertAfter(g.datasetGroup));rb?(Q={text:t.text,fill:B.color,x:E,y:I.y,"text-anchor":S||z,"vertical-align":I.verticalAlign||e,visibility:I.drawCaption?q:A,direction:w},m?(m.animateWith(G,C,{x:E,y:I.y,
"text-anchor":S||z,"vertical-align":I.verticalAlign||e,direction:w},J,b),m.attr({"text-anchor":S||z,text:t.text,fill:B.color,visibility:I.drawCaption?q:A}),m.css(B)):m=N.captionElement=D.text(Q,B,d),m.tooltip(t.originalText),f&&(f.useEllipsesOnOverflow(a.useEllipsesWhenOverflow),f.setStyle(B),f.getOriSize(t.text))):m&&(N.captionElement=m.remove());kb?(Q={text:r.text,fill:F.color,x:E,y:v.y,"text-anchor":S||z,"vertical-align":e,direction:w,visibility:I.drawCaption?q:A},n?(n.animateWith(G,C,{x:E,y:v.y,
"text-anchor":S||z,"vertical-align":e,direction:w},J,b),n.attr({"text-anchor":S||z,text:r.text,fill:F.color,visibility:I.drawCaption?q:A}),n.css(F)):n=c.subCaptionElement=D.text(Q,F,d),n.tooltip(r.originalText)):n&&(c.subCaptionElement=n.remove());d&&d.trackTooltip(H?!0:!1);rb||kb||!d||(g.captionGroup=d.remove())},manageSpace:function(b,c){var w=this.chart,e=w.config,g=w.components,d=g.caption,D=g.subCaption,f=d.config,I=D.config,d=d.components,D=D.components,N=w.jsonData.chart,w=w.linkedItems.smartLabel,
m=b,l=Da(N.caption),r=Da(N.subcaption),q=N=F(N.captionpadding,10),n=e.canvasWidth,z=!1,t,A,v=0,B=0,E=0,Q=0,H=0,B=da(g.canvas.config.canvasBorderThickness,0),C=g=0;!c&&(c=n);if(3<m){N<B&&(N=B+2);l!==a&&(t=f.style,Q=Ia(F(parseFloat(t.fontHeight,10),parseFloat(t.lineHeight,10),12)));r!==a&&(A=I.style,H=F(parseInt(A.fontHeight,10),parseInt(A.lineHeight,10),12));if(0<Q||0<H)m=da(m,0),v=Q+H+N,v>m?(B=m-v,z=!0,B<N?N=da(B,5):(B-=N,N=0,H>B?(E=H-B+10,H=0,D._originalText=D.text,D.text=T):(B-=H,H=0,Q>B&&(E=Q-
B)))):E=m-v,w.useEllipsesOnOverflow(e.useEllipsesWhenOverflow),0<Q&&(w.setStyle(t),Q+=E,t=w.getSmartText(l,c,Q),E=Q-t.height,f.height=Q=t.height,d.text=t.text,d.originalText=t.tooltext?t.tooltext:!1,g=t.width),0<H&&(w.setStyle(A),H+=E,A=w.getSmartText(r,c,H),E=H-A.height,H=A.height,D.text=A.text,I.height=A.height,D.originalText=A.tooltext?A.tooltext:!1,C=A.width),z&&0<E&&(N+=Ra(q-N,E)),f.captionPadding=N,f.height=Q,f.width=g,I.width=C,I.height=H,v=Q+H+N;v>e.canvasHeight?(v=0,f.drawCaption=!1):f.drawCaption=
!0;e=f.isOnTop?{top:v}:{bottom:v,top:5}}else e={bottom:0,top:0},f.drawCaption=!1;return e},managePosition:function(){var b=this.chart,a=b.config,c=b.components,w=c.caption,g=w.config,e=g.widgetValueHeight||0,d=c.subCaption.config,D=g.x,f=a.canvasWidth,D=g.align,w=w.components.text,I=g.alignWithCanvas,N=g.horizontalPadding,m=a.width,l=a.canvasLeft,q=a.canvasRight,n=a.marginRight,z=a.marginLeft,a=a.marginTop,t=(ya(l)||0)+F(f,m)/2,f=g.height,A=d.height,v=c.legend.config,B=v.height,E=v.legendPadding,
Q=v.legendPos,H=c.gradientLegend||{},C=0,G=!!(H.conf||{}).showLegend,J=b.config.borderWidth,c=c.actionBar,Z=0;v.isActive||(B=0);G&&b.config.gLegendEnabled&&(C=H.getLogicalSpace().height);switch(D){case r:D=I?q-N:m-N;break;case L:D=I?l+N:N;break;default:D=I?t:z+.5*(m-z-n)||m/2}g.x=D;g.isOnTop?g.y=(J||0)+(a||0)+(g._offsetHeight||0):(Q===vb&&(C=B=E=0),c&&(D=c.getLogicalSpace()||{},Z=D.height,void 0===Z||Infinity===Z||0>Z)&&(Z=0),g.y=b.config.height-b.config.marginBottom-f-(A||0)-(J||0)-(E||0)-(B||0)-
C-e-Z);d.y=w?g.y+f+2:g.y||a||0}}]);FusionCharts.register("component",["caption","subcaption",{pIndex:2,init:function(){var b=this.graphics;!this.components&&(this.components={});!b&&(this.graphics={})}}]);za("scrollbase",{standaloneInit:!1,_scrollBar:function(){var b=[];return{get:function(){return b},clear:function(){b.length=0},add:function(a,c){b.push({conf:a,handler:c})}}}()},za.mscartesian);za("msinversecartesian",{standaloneInit:!1,_createAxes:function(){var b=this.components,a=FusionCharts.register("component",
["axis","cartesian"]),c;b.yAxis=[];b.xAxis=[];b.yAxis[0]=c=new a;b.xAxis[0]=b=new a;c.chart=this;b.chart=this;c.init();b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.components,a=this.config,c=b.colorManager,e=this.jsonData,g=e.chart,d,D=(d=this.is3d)?w.chart3D:w.chart2D;d={outCanfontFamily:J(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Ua(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:J(g.outcnvbasefontcolor,g.basefontcolor,c.getColor(D.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,
"#$1"),axisNamePadding:g.xaxisnamepadding,axisValuePadding:g.labelpadding,axisNameFont:g.xaxisnamefont,axisNameFontSize:g.xaxisnamefontsize,axisNameFontColor:g.xaxisnamefontcolor,axisNameFontBold:g.xaxisnamefontbold,axisNameFontItalic:g.xaxisnamefontitalic,axisNameBgColor:g.xaxisnamebgcolor,axisNameBorderColor:g.xaxisnamebordercolor,axisNameAlpha:g.xaxisnamealpha,axisNameFontAlpha:g.xaxisnamefontalpha,axisNameBgAlpha:g.xaxisnamebgalpha,axisNameBorderAlpha:g.xaxisnameborderalpha,axisNameBorderPadding:g.xaxisnameborderpadding,
axisNameBorderRadius:g.xaxisnameborderradius,axisNameBorderThickness:g.xaxisnameborderthickness,axisNameBorderDashed:g.xaxisnameborderdashed,axisNameBorderDashLen:g.xaxisnameborderdashlen,axisNameBorderDashGap:g.xaxisnameborderdashgap,useEllipsesWhenOverflow:g.useellipseswhenoverflow,divLineColor:J(g.vdivlinecolor,g.divlinecolor,c.getColor(D.divLineColor)),divLineAlpha:J(g.vdivlinealpha,g.divlinealpha,d?c.getColor("divLineAlpha3D"):c.getColor("divLineAlpha")),divLineThickness:F(g.vdivlinethickness,
g.divlinethickness,1),divLineIsDashed:!!F(g.vdivlinedashed,g.vdivlineisdashed,g.divlinedashed,g.divlineisdashed,0),divLineDashLen:F(g.vdivlinedashlen,g.divlinedashlen,4),divLineDashGap:F(g.vdivlinedashgap,g.divlinedashgap,2),showAlternateGridColor:F(g.showalternatevgridcolor,0),alternateGridColor:J(g.alternatevgridcolor,c.getColor("altVGridColor")),alternateGridAlpha:J(g.alternatevgridalpha,c.getColor("altVGridAlpha")),numDivLines:g.numvdivlines,maxLabelHeight:g.maxlabelheight,labelFont:g.labelfont,
labelFontSize:g.labelfontsize,labelFontColor:g.labelfontcolor,labelFontAlpha:g.labelalpha,labelFontBold:g.labelfontbold,labelFontItalic:g.labelfontitalic,axisName:g.xaxisname,axisMinValue:g.xaxisminvalue,axisMaxValue:g.xaxismaxvalue,setAdaptiveMin:g.setadaptivexmin,adjustDiv:g.adjustvdiv,labelDisplay:g.labeldisplay,showLabels:g.showlabels,rotateLabels:g.rotatelabels,slantLabel:F(g.slantlabels,g.slantlabel),labelStep:F(g.labelstep,g.xaxisvaluesstep),showAxisValues:F(g.showxaxisvalues,g.showxaxisvalue),
showLimits:g.showvlimits,showDivLineValues:F(g.showvdivlinevalues,g.showvdivlinevalues),showZeroPlane:g.showvzeroplane,zeroPlaneColor:g.vzeroplanecolor,zeroPlaneThickness:g.vzeroplanethickness,zeroPlaneAlpha:g.vzeroplanealpha,showZeroPlaneValue:g.showvzeroplanevalue,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:F(g.showxaxisline,g.showaxislines,g.drawAxisLines,
0),axisLineThickness:F(g.xaxislinethickness,g.axislinethickness,1),axisLineAlpha:F(g.xaxislinealpha,g.axislinealpha,100),axisLineColor:J(g.xaxislinecolor,g.axislinecolor,"#000000")};a={outCanfontFamily:J(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Ua(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:J(g.outcnvbasefontcolor,g.basefontcolor,c.getColor(D.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:g.yaxisnamepadding,axisValuePadding:g.yaxisvaluespadding,axisNameFont:g.yaxisnamefont,
axisNameFontSize:g.yaxisnamefontsize,axisNameFontColor:g.yaxisnamefontcolor,axisNameFontBold:g.yaxisnamefontbold,axisNameFontItalic:g.yaxisnamefontitalic,axisNameBgColor:g.yaxisnamebgcolor,axisNameBorderColor:g.yaxisnamebordercolor,axisNameAlpha:g.yaxisnamealpha,axisNameFontAlpha:g.yaxisnamefontalpha,axisNameBgAlpha:g.yaxisnamebgalpha,axisNameBorderAlpha:g.yaxisnameborderalpha,axisNameBorderPadding:g.yaxisnameborderpadding,axisNameBorderRadius:g.yaxisnameborderradius,axisNameBorderThickness:g.yaxisnameborderthickness,
axisNameBorderDashed:g.yaxisnameborderdashed,axisNameBorderDashLen:g.yaxisnameborderdashlen,axisNameBorderDashGap:g.yaxisnameborderdashgap,axisNameWidth:g.yaxisnamewidth,useEllipsesWhenOverflow:g.useellipseswhenoverflow,rotateAxisName:F(g.rotateyaxisname,1),axisName:g.yaxisname,divLineColor:J(g.divlinecolor,c.getColor(D.divLineColor)),divLineAlpha:J(g.divlinealpha,c.getColor("divLineAlpha")),divLineThickness:F(g.divlinethickness,1),divLineIsDashed:!!F(g.divlinedashed,g.divlineisdashed,0),divLineDashLen:F(g.divlinedashlen,
4),divLineDashGap:F(g.divlinedashgap,2),showAlternateGridColor:F(g.showalternatehgridcolor,1),alternateGridColor:J(g.alternatehgridcolor,c.getColor("altHGridColor")),alternateGridAlpha:J(g.alternatehgridalpha,c.getColor("altHGridAlpha")),numDivLines:g.numdivlines,axisMinValue:g.yaxisminvalue,axisMaxValue:g.yaxismaxvalue,setAdaptiveMin:g.setadaptiveymin,adjustDiv:g.adjustdiv,labelStep:g.yaxisvaluesstep,showAxisValues:F(g.showyaxisvalues,g.showyaxisvalue),showLimits:F(g.showyaxislimits,g.showlimits,
this.showLimits),showDivLineValues:F(g.showdivlinevalues,g.showdivlinevalue),showZeroPlane:g.showzeroplane,zeroPlaneColor:g.zeroplanecolor,zeroPlaneThickness:F(g.zeroplanethickness,g.divlinethickness,a.zeroplanethickness,2),zeroPlaneAlpha:F(g.zeroplanealpha,g.zeroplanealpha,a.zeroplanealpha,80),showZeroPlaneValue:g.showzeroplanevalue,showZeroPlaneOnTop:a.showzeroplaneontop,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,
showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:F(g.showyaxisline,g.showaxislines,g.drawAxisLines,0),axisLineThickness:F(g.yaxislinethickness,g.axislinethickness,1),axisLineAlpha:F(g.yaxislinealpha,g.axislinealpha,100),axisLineColor:J(g.yaxislinecolor,g.axislinecolor,"#000000")};d.vtrendlines=e.vtrendlines;a.trendlines=e.trendlines;e=b.yAxis&&b.yAxis[0];b=b.xAxis&&b.xAxis[0];e&&(e.setCommonConfigArr(a,!0,!0,!1),e.configure());b&&(b.setCommonConfigArr(d,!1,!1,!1),b.configure(),b.setAxisConfig({isRelativeAxisInverse:!0}))}},
za.mscartesian);za("sscartesian",{standaloneInit:!1,hasLegend:!1,_createDatasets:function(){var b=this.components,a=b.legend,c=this.jsonData,w=c.dataset,g=c.data||w&&w[0].data,e=this.defaultDatasetType,d,D,c=this._dataSegregator(g);this.config.categories=c.data;w=b.dataset||(b.dataset=[]);if(!g||0===g.length)this.setChartMessage();else if(e&&(D=FusionCharts.get("component",["dataset",e])))if(g="datasetGroup_"+e,d=FusionCharts.register("component",["datasetGroup",e]),e=b[g],d&&!e&&(e=b[g]=new d,e.chart=
this,e.init()),w[0]){b=w[0];e=b.JSONData;w=b.components.data||[];g=e.data.length-(b.config.showSum||0);D=c.data&&c.data.length||0;if(g>D){if(a)for(e=D;e<g;e++)w[e]&&w[e].legendItemId&&a.removeItem(w[e].legendItemId);b.removeData(D,g-D,!1)}b.JSONData=c;b.configure()}else b=new D,w.push(b),b.chart=this,e&&e.addDataSet(b,0,0),b.index=0,b.init(c)},_dataSegregator:function(b){var a=[];lb(b,function(b){"true"!==b.vline&&!0!==b.vline&&1!==b.vline&&"1"!==b.vline&&a.push(b)});return{data:a}},_setCategories:function(){var b=
this.jsonData,a=b.dataset;this.components.xAxis[0].setCategory(b.data||a&&a[0].data)}},za.mscartesian,{linethickness:4});za("msdybasecartesian",{standaloneInit:!1,_createAxes:function(){var b=this.components,a,c=FusionCharts.register("component",["axis","cartesian"]),w;b.yAxis=[];b.xAxis=[];b.yAxis[0]=w=new c;b.yAxis[1]=a=new c;b.xAxis[0]=b=new c;w.chart=this;a.chart=this;b.chart=this;w.init();a.init();b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.config,a=this.components,
c=a.colorManager,e=this.jsonData,g=e.chart,d,D,f=this.is3d,I=f?w.chart3D:w.chart2D,N,m=b.primaryAxisOnleft=F(g.primaryaxisonleft,1),l=F(g.syncaxislimits,0);D=[{line:[]}];N=[{line:[]}];var r,q=e.trendlines||[];d={outCanfontFamily:J(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Ua(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:J(g.outcnvbasefontcolor,g.basefontcolor,c.getColor(I.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:g.xaxisnamepadding,axisValuePadding:g.labelpadding,
axisNameFont:g.xaxisnamefont,axisNameFontSize:g.xaxisnamefontsize,axisNameFontColor:g.xaxisnamefontcolor,axisNameFontBold:g.xaxisnamefontbold,axisNameFontItalic:g.xaxisnamefontitalic,axisNameBgColor:g.xaxisnamebgcolor,axisNameBorderColor:g.xaxisnamebordercolor,axisNameAlpha:g.xaxisnamealpha,axisNameFontAlpha:g.xaxisnamefontalpha,axisNameBgAlpha:g.xaxisnamebgalpha,axisNameBorderAlpha:g.xaxisnameborderalpha,axisNameBorderPadding:g.xaxisnameborderpadding,axisNameBorderRadius:g.xaxisnameborderradius,
axisNameBorderThickness:g.xaxisnameborderthickness,axisNameBorderDashed:g.xaxisnameborderdashed,axisNameBorderDashLen:g.xaxisnameborderdashlen,axisNameBorderDashGap:g.xaxisnameborderdashgap,useEllipsesWhenOverflow:g.useellipseswhenoverflow,divLineColor:J(g.vdivlinecolor,g.divlinecolor,c.getColor(I.divLineColor)),divLineAlpha:J(g.vdivlinealpha,g.divlinealpha,f?c.getColor("divLineAlpha3D"):c.getColor("divLineAlpha")),divLineThickness:F(g.vdivlinethickness,g.divlinethickness,1),divLineIsDashed:!!F(g.vdivlinedashed,
g.vdivlineisdashed,g.divlinedashed,g.divlineisdashed,0),divLineDashLen:F(g.vdivlinedashlen,g.divlinedashlen,4),divLineDashGap:F(g.vdivlinedashgap,g.divlinedashgap,2),showAlternateGridColor:F(g.showalternatevgridcolor,0),alternateGridColor:J(g.alternatevgridcolor,c.getColor("altVGridColor")),alternateGridAlpha:J(g.alternatevgridalpha,c.getColor("altVGridAlpha")),numDivLines:g.numvdivlines,maxLabelHeight:g.maxlabelheight,labelFont:g.labelfont,labelFontSize:g.labelfontsize,labelFontColor:g.labelfontcolor,
labelFontAlpha:g.labelalpha,labelFontBold:g.labelfontbold,labelFontItalic:g.labelfontitalic,axisName:g.xaxisname,axisMinValue:g.xaxisminvalue,axisMaxValue:g.xaxismaxvalue,setAdaptiveMin:g.setadaptivexmin,adjustDiv:g.adjustvdiv,labelDisplay:g.labeldisplay,showLabels:g.showlabels,rotateLabels:g.rotatelabels,slantLabel:F(g.slantlabels,g.slantlabel),labelStep:F(g.labelstep,g.xaxisvaluesstep),showAxisValues:F(g.showxaxisvalues,g.showxaxisvalue),showLimits:g.showvlimits,showDivLineValues:F(g.showvdivlinevalues,
g.showvdivlinevalues),zeroPlaneColor:g.vzeroplanecolor,zeroPlaneThickness:F(g.vzeroplanethickness,g.vdivlinethickness,2),zeroPlaneAlpha:F(g.vzeroplanealpha,g.vdivlinealpha,b.zeroplanealpha),showZeroPlaneValue:g.showvzeroplanevalue,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:f?0:F(g.showxaxisline,g.showaxislines,g.drawAxisLines,0),axisLineThickness:F(g.xaxislinethickness,
g.axislinethickness,1),axisLineAlpha:F(g.xaxislinealpha,g.axislinealpha,100),axisLineColor:J(g.xaxislinecolor,g.axislinecolor,"#000000")};b={outCanfontFamily:J(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Ua(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:J(g.outcnvbasefontcolor,g.basefontcolor,c.getColor(I.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:F(g.pyaxisnamepadding,g.yaxisnamepadding),axisValuePadding:F(g.pyaxisvaluespadding,g.yaxisvaluespadding),axisNameFont:J(g.pyaxisnamefont,
g.yaxisnamefont),axisNameFontSize:F(g.pyaxisnamefontsize,g.yaxisnamefontsize),axisNameFontColor:J(g.pyaxisnamefontcolor,g.yaxisnamefontcolor),axisNameFontBold:F(g.pyaxisnamefontbold,g.yaxisnamefontbold),axisNameFontItalic:F(g.pyaxisnamefontitalic,g.yaxisnamefontitalic),axisNameBgColor:J(g.pyaxisnamebgcolor,g.yaxisnamebgcolor),axisNameBorderColor:J(g.pyaxisnamebordercolor,g.yaxisnamebordercolor),axisNameAlpha:F(g.pyaxisnamealpha,g.yaxisnamealpha),axisNameFontAlpha:F(g.pyaxisnamefontalpha,g.yaxisnamefontalpha),
axisNameBgAlpha:F(g.pyaxisnamebgalpha,g.yaxisnamebgalpha),axisNameBorderAlpha:F(g.pyaxisnameborderalpha,g.yaxisnameborderalpha),axisNameBorderPadding:F(g.pyaxisnameborderpadding,g.yaxisnameborderpadding),axisNameBorderRadius:F(g.pyaxisnameborderradius,g.yaxisnameborderradius),axisNameBorderThickness:F(g.pyaxisnameborderthickness,g.yaxisnameborderthickness),axisNameBorderDashed:F(g.pyaxisnameborderdashed,g.yaxisnameborderdashed),axisNameBorderDashLen:F(g.pyaxisnameborderdashlen,g.yaxisnameborderdashlen),
axisNameBorderDashGap:F(g.pyaxisnameborderdashgap,g.yaxisnameborderdashgap),axisNameWidth:F(g.pyaxisnamewidth,g.yaxisnamewidth),useEllipsesWhenOverflow:g.useellipseswhenoverflow,rotateAxisName:F(g.rotateyaxisname,1),axisName:J(g.pyaxisname,g.yaxisname),divLineColor:J(g.divlinecolor,c.getColor(I.divLineColor)),divLineAlpha:J(g.divlinealpha,c.getColor("divLineAlpha")),divLineThickness:F(g.divlinethickness,1),divLineIsDashed:!!F(g.divlinedashed,g.divlineisdashed,0),divLineDashLen:F(g.divlinedashlen,
4),divLineDashGap:F(g.divlinedashgap,2),showAlternateGridColor:F(g.showalternatehgridcolor,1),alternateGridColor:J(g.alternatehgridcolor,c.getColor("altHGridColor")),alternateGridAlpha:J(g.alternatehgridalpha,c.getColor("altHGridAlpha")),numDivLines:g.numdivlines,axisMinValue:l?F(g.syaxisminvalue,g.pyaxisminvalue,g.yaxisminvalue):F(g.pyaxisminvalue,g.yaxisminvalue),axisMaxValue:l?F(g.syaxismaxvalue,g.pyaxismaxvalue,g.yaxismaxvalue):F(g.pyaxismaxvalue,g.yaxismaxvalue),setAdaptiveMin:g.setadaptiveymin,
adjustDiv:g.adjustdiv,labelStep:g.yaxisvaluesstep,showAxisValues:F(g.showyaxisvalues,g.showyaxisvalue),showLimits:F(g.showyaxislimits,g.showlimits,this.showLimits),showDivLineValues:F(g.showdivlinevalues,g.showdivlinevalue),zeroPlaneColor:g.zeroplanecolor,zeroPlaneThickness:F(g.zeroplanethickness,g.divlinethickness,b.zeroplanethickness,2),zeroPlaneAlpha:F(g.zeroplanealpha,g.divlinealpha,b.zeroplanealpha),showZeroPlaneValue:g.showzeroplanevalue,showZeroPlaneOnTop:b.showzeroplaneontop,trendlineColor:g.trendlinecolor,
trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:f?0:F(g.showyaxisline,g.showaxislines,g.drawAxisLines,0),axisLineThickness:F(g.yaxislinethickness,g.axislinethickness,1),axisLineAlpha:F(g.yaxislinealpha,g.axislinealpha,100),axisLineColor:J(g.yaxislinecolor,g.axislinecolor,"#000000")};c={outCanfontFamily:J(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Ua(g.outcnvbasefontsize,
g.basefontsize,10),outCancolor:J(g.outcnvbasefontcolor,g.basefontcolor,c.getColor(I.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:g.yaxisnamepadding,axisValuePadding:g.yaxisvaluespadding,axisNameFont:g.syaxisnamefont,axisNameFontSize:g.syaxisnamefontsize,axisNameFontColor:g.syaxisnamefontcolor,axisNameFontBold:g.syaxisnamefontbold,axisNameFontItalic:g.syaxisnamefontitalic,axisNameBgColor:g.syaxisnamebgcolor,axisNameBorderColor:g.syaxisnamebordercolor,axisNameAlpha:g.syaxisnamealpha,
axisNameFontAlpha:g.syaxisnamefontalpha,axisNameBgAlpha:g.syaxisnamebgalpha,axisNameBorderAlpha:g.syaxisnameborderalpha,axisNameBorderPadding:g.syaxisnameborderpadding,axisNameBorderRadius:g.syaxisnameborderradius,axisNameBorderThickness:g.syaxisnameborderthickness,axisNameBorderDashed:g.syaxisnameborderdashed,axisNameBorderDashLen:g.syaxisnameborderdashlen,axisNameBorderDashGap:g.syaxisnameborderdashgap,axisNameWidth:g.syaxisnamewidth,useEllipsesWhenOverflow:g.useellipseswhenoverflow,rotateAxisName:F(g.rotateyaxisname,
1),axisName:g.syaxisname,divLineColor:J(g.divlinecolor,c.getColor(I.divLineColor)),divLineAlpha:J(g.divlinealpha,c.getColor("divLineAlpha")),divLineThickness:F(g.divlinethickness,1),divLineIsDashed:!!F(g.divlinedashed,g.divlineisdashed,0),divLineDashLen:F(g.divlinedashlen,4),divLineDashGap:F(g.divlinedashgap,2),showAlternateGridColor:F(g.showalternatehgridcolor,1),alternateGridColor:J(g.alternatehgridcolor,c.getColor("altHGridColor")),alternateGridAlpha:J(g.alternatehgridalpha,c.getColor("altHGridAlpha")),
numDivLines:g.numdivlines,axisMinValue:l?F(g.syaxisminvalue,g.pyaxisminvalue,g.yaxisminvalue):g.syaxisminvalue,axisMaxValue:l?F(g.syaxismaxvalue,g.pyaxismaxvalue,g.yaxismaxvalue):g.syaxismaxvalue,setAdaptiveMin:g.setadaptivesymin||g.setadaptiveymin,adjustDiv:g.adjustdiv,labelStep:g.yaxisvaluesstep,showAxisValues:F(g.showsyaxisvalues,g.showsyaxisvalue,g.showyaxisvalues,g.showyaxisvalue),showLimits:F(g.showsecondarylimits,g.showyaxislimits,g.showlimits),showDivLineValues:F(g.showdivlinesecondaryvalue,
g.showyaxisvalues,g.showyaxisvalue,1),zeroPlaneColor:g.zeroplanecolor,zeroPlaneThickness:F(g.zeroplanethickness,g.divlinethickness,2),zeroPlaneAlpha:g.zeroplanealpha,showZeroPlaneValue:g.showzeroplanevalue,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:f?0:F(g.showsyaxisline,g.showaxislines,g.drawAxisLines,0),axisLineThickness:F(g.syaxislinethickness,
g.axislinethickness,1),axisLineAlpha:F(g.syaxislinealpha,g.axislinealpha,100),axisLineColor:J(g.syaxislinecolor,g.axislinecolor,"#000000")};d.vtrendlines=e.vtrendlines;l=0;for(I=q.length;l<I;l++)for(e=q[l]&&q[l].line||[],f=e.length,r=0;r<f;r++)g=e[r]||{},g.parentyaxis&&g.parentyaxis.toLowerCase(),"s"===g.parentyaxis?D[0].line.push(g):N[0].line.push(g);b.trendlines=N;c.trendlines=D;N=a.yAxis[0];D=a.yAxis[1];a=a.xAxis[0];1===m?(N.setCommonConfigArr(b,!0,!1,!1),D.setCommonConfigArr(c,!0,!1,!0)):(N.setCommonConfigArr(b,
!0,!1,!0),D.setCommonConfigArr(c,!0,!1,!1));a.setCommonConfigArr(d,!1,!1,!1);N.configure();D.configure();a.configure();D.setAxisConfig({isActive:!1,isPercent:this.isPercentage,axisIndex:1,uniqueClassName:1})},_setAxisLimits:function(){var b=this.components,a=b.dataset,c=b.yAxis,b=b.xAxis,w,g=a.length,e,d=-Infinity,D=Infinity,f=-Infinity,I=Infinity,N=Infinity,m=-Infinity,l,r=F(this.jsonData.chart.syncaxislimits,0),q={},n=function(b){return-Infinity===b||Infinity===b?null:b},z=function(b){t?(f=da(f,
b.sYMax||b.max),I=Ra(I,b.sYMin||b.min)):(d=da(d,b.max),D=Ra(D,b.min));m=da(m,b.xMax||-Infinity);N=Ra(N,b.xMin||Infinity)},t=0;for(e=0;e<g;e++)w=a[e],l=w.groupManager,t=w.config.parentYAxis,l?(q[w.type]=l,q[w.type].yAxisIndex=t):(w=w.getDataLimits(),z(w));for(l in q)t=q[l].yAxisIndex,w=q[l].getDataLimits(),d=da(d,w.max),D=Ra(D,w.min),f=da(f,w.sYMax),I=Ra(I,w.sYMin);r?(a=da(d,f),l=Ra(D,I),c[0].setDataLimit(a,l),c[1].setDataLimit(a,l)):(d=n(d),D=n(D),f=n(f),I=n(I),c[0].setDataLimit(d,D),c[1].setDataLimit(f,
I));c[0].getDivLineCount();if(-Infinity!==m||Infinity!==N)b[0].config.xaxisrange={max:m,min:N},b[0].setDataLimit(m,N)},_postSpaceManagement:function(){var b=this.config,a=this.components,c=a.yAxis,w=a.xAxis&&a.xAxis[0],g=c[0],c=c[1],e=a.legend,d=b.xDepth,D=a.canvas.config,f=D.canvasBorderWidth,I=D.canvasPadding,N=D.canvasPaddingLeft,m=D.canvasPaddingRight,a=D.canvasPaddingTop,l=b.primaryAxisOnleft,D=D.canvasPaddingBottom;w&&w.setAxisDimention({x:b.canvasLeft+(d||0)+da(N,I),y:b.canvasBottom+(b.shift||
0)+f,opposite:b.canvasTop-f,axisLength:b.canvasWidth-(d||0)-da(N,I)-da(m,I)});l?(b.yAxisStartXPos=b.canvasLeft-f,b.sYAxisStartXPos=b.canvasRight+f):(b.yAxisStartXPos=b.canvasRight+f,b.sYAxisStartXPos=b.canvasLeft-f);f=b.yAxisStartXPos;I=b.sYAxisStartXPos;g&&g.setAxisDimention({x:f,y:b.canvasTop+a,opposite:I,axisLength:b.canvasHeight-a-D});c&&c.setAxisDimention({x:I,y:b.canvasTop+a,opposite:f,axisLength:b.canvasHeight-a-D});w&&w.shiftLabels(-d,0);e.postSpaceManager();this.config.realtimeEnabled&&this._setRealTimeCategories&&
this._setRealTimeCategories();this._adjustCanvasPadding()}},za.mscartesian);za("mscartesian3d",{standaloneInit:!1,is3d:!0,_createDatasets:function(){var b=this.components,a=b.xAxis[0],c=this.jsonData,w=c.dataset,g=w&&w.length,e,d,D,f=this.defaultDatasetType,I=this.applicableDSList,N=this.components.legend,m,l,r,q,n=this.config.isstacked,z,t,A=[],v=this.isRealTime,B=this.config.catLen,F={};w||this.setChartMessage();this.config.categories=c.categories&&c.categories[0].category;e=b.dataset||(b.dataset=
[]);d=e.length;for(c=0;c<g;c++)if(q=w[c],q.seriesname&&(q.seriesname=Da(q.seriesname)),D=q.parentyaxis||T,l=(l=this.isDual&&"s"===D.toLowerCase()?J(q.renderas,this.sDefaultDatasetType):J(q.renderas,f))&&l.toLowerCase(),I[l]||(l=f),r=FusionCharts.get("component",["dataset",l]))void 0===F[l]?F[l]=0:F[l]++,z="datasetGroup_"+l,D=FusionCharts.register("component",["datasetGroup",l]),(m=b[z])&&A.push(m),D&&!m&&(m=b[z]=new D,m.chart=this,m.init()),(D=e[c])?(l=a.getCategoryLen(),z=B-l,r=v?D.components:D.JSONData,
t=r.data&&r.data.length||0,r=q.data&&q.data.length||0,t-=r,z>t||(z=t,l=r),0<z&&D.removeData(l,z,!1),e[c].JSONData=q,e[c].configure(),e[c]._deleteGridImages&&e[c]._deleteGridImages()):(D=new r,e.push(D),D.chart=this,D.index=c,m&&(n?m.addDataSet(D,0,F[l]):m.addDataSet(D,F[l],0)),D.init(q));if(d>g){z=d-g;m&&n&&m.removeDataSet(0,c,z);b=c;for(g=z+c;b<g;b++)m&&!n&&m.removeDataSet(c,0,1),e[b].visible=!1,e[b].draw(),N.removeItem(e[b].legendItemId);e.splice(c,z)}this.config.catLen=a.getCategoryLen()},_drawCanvas:function(){var b=
this.config,a=b.canvasLeft,c=b.canvasTop,e=b.canvasWidth,g=b.canvasHeight,d=this.jsonData.chart,D=this.components,f=D.canvas,I=D.colorManager,D=D.paper,N=f.graphics,m=N.canvasBorderElement,r=N.canvasElement,q=f.config,n=q.clip={},f=this.graphics.canvasGroup,z=N.canvasBg,t=N.canvas3DBase,A=this.get(l,O),B=A.animType,kb=A.animObj,H=A.dummyObj,A=A.duration,S=N.canvas3dbaseline,Q=q.canvasBgColor,C=q.showCanvasBG=!!F(d.showcanvasbg,1),G=b.canvasBgDepth,P=b.showCanvasBase,la=b.canvasBaseDepth,Z=q.canvasBaseColor3D=
J(d.canvasbasecolor,I.getColor("canvasBaseColor3D")),xa=q.use3DLighting=F(d.use3dlighting,1),Q=w.chart3D,K=q.canvasBorderRadius=F(d.plotborderradius,0),U=q.canvasBorderColor=Za(J(d.canvasbordercolor,I.getColor("canvasBorderColor"))),ba=q.canBGAlpha=J(d.canvasbgalpha,I.getColor("canvasBgAlpha")),aa=q.canBGColor=J(d.canvasbgcolor,I.getColor(Q.canvasBgColor)),V=b.xDepth,d=b.yDepth,I=b.canvasBasePadding||2,Q=xa?q.canvasBgColor={FCcolor:{color:mb(aa,85)+zb+$a(aa,55),alpha:ba+zb+ba,ratio:xb,angle:ib(b.width-
(b.marginLeft+b.marginRight),b.height-(b.marginTop+b.marginBottom),1)}}:q.canvasBgColor=Za(aa,ba);aa.split(zb);ba.split(zb);V=q.xDepth=10;d=q.yDepth=10;b={x:a-0,y:c-0,width:e+0,height:g+0,r:K,"stroke-width":0,stroke:U,"stroke-linejoin":v};m?(m.animateWith(H,kb,{x:a-0,y:c-0,width:e+0,height:g+0,r:K},A,B),m.attr({"stroke-width":0,stroke:U,"stroke-linejoin":v})):N.canvasBorderElement=D.rect(b,f);n["clip-canvas"]=[da(0,a-V),da(0,c),da(1,e+V),da(1,g+d)];n["clip-canvas-init"]=[da(0,a-V),da(0,c-d),1,da(1,
g+2*d)];b={x:a,y:c,width:e,height:g,r:K,"stroke-width":0,stroke:"none",fill:Na(Q)};C?(r?(r.show(),r.animateWith(H,kb,{x:a,y:c,width:e,height:g,r:K},A,B),r.attr({"stroke-width":0,stroke:"none",fill:Na(Q)})):N.canvasElement=D.rect(b,f),b=["M",a+e,",",c,"L",a+e+G,",",c+1.2*G,",",a+e+G,",",c+g-G,",",a+e,",",c+g,"Z"],z?(z.show(),z.animateWith(H,kb,{path:b},A,B),z.attr({path:b})):z=N.canvasBg=D.path(b,f),z.attr({"stroke-width":0,stroke:"none",fill:Na(Q)})):(r&&r.hide(),z&&z.hide());P?(b=a-V-I,m=c+g+d+I,
r=V+I,z=d+I,t?(t.show(),t._.cubeside.show(),t._.cubetop.show(),t.animateWith(H,kb,{cubepath:[b,m,e,la,r,z]},A,B),t.attr({cubepath:[b,m,e,la,r,z]})):t=N.canvas3DBase=D.cubepath(b,m,e,la,r,z,f),t.attr({stroke:"none","stroke-width":0,fill:[Z.replace(R,qa),!xa]}),S?(S.show(),S.animateWith(H,kb,{path:["M",a,c+g,"H",e+a]},A,B)):S=N.canvas3dbaseline=D.path(void 0,f),S.attr({path:["M",a,c+g,"H",e+a],stroke:E.tintshade(Z.replace(R,qa),.05).rgba})):(t&&(t.hide(),t._.cubeside.hide(),t._.cubetop.hide()),S&&S.hide())}},
za.mscartesian,{showplotborder:0});za("msdybasecartesian3d",{standaloneInit:!1,is3d:!0,_drawCanvas:za.mscartesian3d},za.msdybasecartesian);za("sscartesian3d",{standaloneInit:!1,hasLegend:!1,is3d:!0,_drawCanvas:za.mscartesian3d},za.sscartesian,{showplotborder:0});za("msbarcartesian",{standaloneInit:!1,_createAxes:function(){var b=this.components,a=FusionCharts.get("component",["axis","cartesian"]),c;b.yAxis=[];b.xAxis=[];b.yAxis[0]=c=new a;b.xAxis[0]=b=new a;c.chart=this;b.chart=this;c.init();b.init();
this._setCategories()},_feedAxesRawData:function(){var b=this.config,a=this.components,c=a.colorManager,e=this.jsonData,g=e.chart,d,D=this.is3d,f=D?w.chart3D:w.chart2D;d={outCanfontFamily:J(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Ua(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:J(g.outcnvbasefontcolor,g.basefontcolor,c.getColor(f.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:g.xaxisnamepadding,maxLabelWidthPercent:g.maxlabelwidthpercent,axisValuePadding:g.labelpadding,
axisNameFont:g.xaxisnamefont,axisNameFontSize:g.xaxisnamefontsize,axisNameFontColor:g.xaxisnamefontcolor,axisNameFontBold:g.xaxisnamefontbold,axisNameFontItalic:g.xaxisnamefontitalic,axisNameBgColor:g.xaxisnamebgcolor,axisNameBorderColor:g.xaxisnamebordercolor,axisNameAlpha:g.xaxisnamealpha,axisNameFontAlpha:g.xaxisnamefontalpha,axisNameBgAlpha:g.xaxisnamebgalpha,axisNameBorderAlpha:g.xaxisnameborderalpha,axisNameBorderPadding:g.xaxisnameborderpadding,axisNameBorderRadius:g.xaxisnameborderradius,
axisNameBorderThickness:g.xaxisnameborderthickness,axisNameBorderDashed:g.xaxisnameborderdashed,axisNameBorderDashLen:g.xaxisnameborderdashlen,axisNameBorderDashGap:g.xaxisnameborderdashgap,axisNameWidth:g.xaxisnamewidth,useEllipsesWhenOverflow:g.useellipseswhenoverflow,divLineColor:J(g.vdivlinecolor,g.divlinecolor,c.getColor(f.divLineColor)),divLineAlpha:J(g.vdivlinealpha,g.divlinealpha,D?c.getColor("divLineAlpha3D"):c.getColor("divLineAlpha")),divLineThickness:F(g.vdivlinethickness,g.divlinethickness,
1),divLineIsDashed:!!F(g.vdivlinedashed,g.vdivlineisdashed,g.divlinedashed,g.divlineisdashed,0),divLineDashLen:F(g.vdivlinedashlen,g.divlinedashlen,4),divLineDashGap:F(g.vdivlinedashgap,g.divlinedashgap,2),showAlternateGridColor:F(g.showalternatehgridcolor,1),alternateGridColor:J(g.alternatehgridcolor,c.getColor("altHGridColor")),alternateGridAlpha:J(g.alternatehgridalpha,c.getColor("altHGridAlpha")),numDivLines:g.numvdivlines,labelFont:g.labelfont,labelFontSize:g.labelfontsize,labelFontColor:g.labelfontcolor,
labelFontAlpha:g.labelalpha,labelFontBold:g.labelfontbold,labelFontItalic:g.labelfontitalic,axisName:g.xaxisname,axisMinValue:g.xaxisminvalue,axisMaxValue:g.xaxismaxvalue,setAdaptiveMin:g.setadaptivexmin,adjustDiv:g.adjustvdiv,labelDisplay:g.labeldisplay,showLabels:g.showlabels,rotateLabels:g.rotatelabels,slantLabel:F(g.slantlabels,g.slantlabel),labelStep:F(g.labelstep,g.xaxisvaluesstep),showAxisValues:F(g.showxaxisvalues,g.showxaxisvalue),showLimits:g.showvlimits,showDivLineValues:F(g.showvdivlinevalues,
g.showvdivlinevalues),zeroPlaneColor:g.vzeroplanecolor,zeroPlaneThickness:F(g.vzeroplanethickness,g.vdivlinethickness,2),zeroPlaneAlpha:F(g.vzeroplanealpha,g.vdivlinealpha,b.zeroplanealpha),showZeroPlaneValue:g.showvzeroplanevalue,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,rotateAxisName:F(g.rotatexaxisname,1),trendlineAlpha:g.trendlinealpha,showTrendlinesOnTop:g.showtrendlinesontop,showAxisLine:D?0:F(g.showxaxisline,g.showaxislines,
g.drawAxisLines,0),axisLineThickness:F(g.xaxislinethickness,g.axislinethickness,1),axisLineAlpha:F(g.xaxislinealpha,g.axislinealpha,100),axisLineColor:J(g.xaxislinecolor,g.axislinecolor,"#000000")};b={outCanfontFamily:J(g.outcnvbasefont,g.basefont,"Verdana,sans"),outCanfontSize:Ua(g.outcnvbasefontsize,g.basefontsize,10),outCancolor:J(g.outcnvbasefontcolor,g.basefontcolor,c.getColor(f.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:g.yaxisnamepadding,axisValuePadding:g.yaxisvaluespadding,
axisNameFont:g.yaxisnamefont,axisNameFontSize:g.yaxisnamefontsize,axisNameFontColor:g.yaxisnamefontcolor,axisNameFontBold:g.yaxisnamefontbold,axisNameFontItalic:g.yaxisnamefontitalic,axisNameBgColor:g.yaxisnamebgcolor,axisNameBorderColor:g.yaxisnamebordercolor,axisNameAlpha:g.yaxisnamealpha,axisNameFontAlpha:g.yaxisnamefontalpha,axisNameBgAlpha:g.yaxisnamebgalpha,axisNameBorderAlpha:g.yaxisnameborderalpha,axisNameBorderPadding:g.yaxisnameborderpadding,axisNameBorderRadius:g.yaxisnameborderradius,
axisNameBorderThickness:g.yaxisnameborderthickness,axisNameBorderDashed:g.yaxisnameborderdashed,axisNameBorderDashLen:g.yaxisnameborderdashlen,axisNameBorderDashGap:g.yaxisnameborderdashgap,axisNameWidth:g.yaxisnamewidth,useEllipsesWhenOverflow:g.useellipseswhenoverflow,axisName:g.yaxisname,divLineColor:J(g.divlinecolor,c.getColor(f.divLineColor)),divLineAlpha:J(g.divlinealpha,D?c.getColor("divLineAlpha3D"):c.getColor("divLineAlpha")),divLineThickness:F(g.divlinethickness,1),divLineIsDashed:!!F(g.divlinedashed,
g.divlineisdashed,0),divLineDashLen:F(g.divlinedashlen,4),divLineDashGap:F(g.divlinedashgap,2),showAlternateGridColor:F(g.showalternatevgridcolor,1),alternateGridColor:J(g.alternatevgridcolor,c.getColor("altVGridColor")),alternateGridAlpha:J(g.alternatevgridalpha,c.getColor("altVGridAlpha")),numDivLines:g.numdivlines,axisMinValue:g.yaxisminvalue,axisMaxValue:g.yaxismaxvalue,setAdaptiveMin:g.setadaptiveymin,adjustDiv:g.adjustdiv,labelStep:g.yaxisvaluesstep,showAxisValues:F(g.showyaxisvalues,g.showyaxisvalue),
showLimits:F(g.showyaxislimits,g.showlimits,this.showLimits),showDivLineValues:F(g.showdivlinevalues,g.showdivlinevalue),zeroPlaneColor:g.zeroplanecolor,zeroPlaneThickness:F(g.zeroplanethickness,g.divlinethickness,2),zeroPlaneAlpha:F(g.zeroplanealpha,g.divlinealpha,b.zeroplanealpha),showZeroPlaneValue:g.showzeroplanevalue,trendlineColor:g.trendlinecolor,trendlineToolText:g.trendlinetooltext,trendlineThickness:g.trendlinethickness,trendlineAlpha:g.trendlinealpha,isTrendZone:0,showTrendlinesOnTop:g.showtrendlinesontop,
showAxisLine:D?0:F(g.showyaxisline,g.showaxislines,g.drawAxisLines,0),axisLineThickness:F(g.yaxislinethickness,g.axislinethickness,1),axisLineAlpha:F(g.yaxislinealpha,g.axislinealpha,100),axisLineColor:J(g.yaxislinecolor,g.axislinecolor,"#000000"),numberFormatterFn:"yAxis"};b.vtrendlines=e.trendlines;d.trendlines=e.vtrendlines;e=a.yAxis[0];a=a.xAxis[0];e.setCommonConfigArr(b,!1,!1,!1);a.setCommonConfigArr(d,!0,!0,!1);e.configure();a.configure()},_spaceManager:function(){var b,a,c=this.config,w=this.components,
g=w.yAxis&&w.yAxis[0],e=w.xAxis&&w.xAxis||[];a=w.legend.config.legendPos;var d=c.xDepth,D=c.yDepth,f=c.canvasBgDepth,I=c.canvasBaseDepth,N=c.canvasBasePadding,m=w.canvas.config.canvasBorderWidth,l=c.realTimeConfig&&c.realTimeConfig.showRTValue,r=c.borderWidth,q=c.canvasMarginTop,n=c.canvasMarginBottom,z=c.canvasMarginLeft,t=c.canvasMarginRight,w=c.minCanvasHeight,A=c.minCanvasWidth,v=c.minChartWidth,B=c.minChartHeight,F=c.height,E=c.width,C=!1,G=!1,J,Z=c.origCanvasTopMargin,P=c.origCanvasBottomMargin,
K=c.origCanvasLeftMargin,U=c.origCanvasRightMargin,ba,aa,V;c.canvasWidth-2*r<v&&(ba=(c.canvasWidth-v)/2);c.canvasHeight-2*r<B&&(b=(c.canvasHeight-B)/2);this._allocateSpace({top:b||r,bottom:b||r,left:ba||r,right:ba||r});e=e[0];b=.7*c.availableWidth;c.yAxisSpaceAllocation=b=e&&e.placeAxis(b);e&&this._allocateSpace(b);e=.225*c.availableHeight;e=this._manageActionBarSpace&&this._manageActionBarSpace(e)||{};this._allocateSpace(e);this._manageLegendSpace();a=a===H?.6*c.availableHeight:.6*c.availableWidth;
D&&(this._allocateSpace({left:D}),c.shift=d+N+I);f&&this._allocateSpace({top:f});c.canvasWidth-2*m<A&&(V=(c.canvasWidth-A)/2);this._allocateSpace({left:V||m,right:V||m});A>E-z-t&&(G=!0,D=c.canvasWidth-A,d=z+t,z=c.canvasMarginLeft=D*z/d,t=c.canvasMarginRight=D*t/d);z=z>c.canvasLeft?z-c.canvasLeft:0;t=t>E-c.canvasRight?t+c.canvasRight-E:0;this._allocateSpace({left:z,right:t});this._allocateSpace({left:I});G&&(d=K+U,I=c.canvasWidth,I>A&&(D=I-A,z=D*K/d,t=D*U/d),this._allocateSpace({left:z,right:t}));
c.actualCanvasMarginRight=t;c.actualCanvasMarginBottom=J;this._manageChartMenuBar(a);a=.2*c.availableHeight;this._allocateSpace(this._getSumValueSpace(a));a=.3*c.availableHeight;c.realtimeEnabled&&(l?this._allocateSpace(this._realTimeValuePositioning(a)):this._hideRealTimeValue());a=.6*c.availableHeight;c.xAxisSpaceAllocation=J=g&&g.placeAxis(a);g&&this._allocateSpace(J);a=.3*c.availableHeight;this._manageScrollerPosition&&this._manageScrollerPosition(a);c.canvasHeight-2*m<w&&(aa=(c.canvasHeight-
w)/2);this._allocateSpace({top:aa||m,bottom:aa||m});w>F-q-n&&(C=!0,D=c.canvasHeight-w,d=q+n,q=c.canvasMarginTop=D*q/d,n=c.canvasMarginBottom=D*n/d);g=q>c.canvasTop?q-c.canvasTop:0;J=n>F-c.canvasBottom?n+c.canvasBottom-F:0;this._allocateSpace({top:g,bottom:J});C&&(d=Z+P,n=c.canvasHeight,n>w&&(D=n-w,g=D*Z/d,J=D*P/d),this._allocateSpace({top:g,bottom:J}));c.actualCanvasMarginTop=g;c.actualCanvasMarginLeft=z},_postSpaceManagement:function(){var b=this.config,a=this.components,c=a.xAxis&&a.xAxis[0],w=
a.yAxis&&a.yAxis[0],g=a.legend,e=b.xDepth,d=a.canvas.config,a=d.canvasBorderWidth,D=d.canvasPadding,f,I,N;w&&this._allocateXAxisLabelSpace(w);f=d.canvasPaddingLeft;I=d.canvasPaddingRight;N=d.canvasPaddingTop;d=d.canvasPaddingBottom;w&&w.setAxisDimention({x:b.canvasLeft+f,y:b.canvasBottom+a,opposite:b.canvasTop-a,axisLength:b.canvasWidth-f-I});c&&c.setAxisDimention({x:b.canvasLeft-(b.shift||0)-a,y:b.canvasTop+(e||0)+da(N,D),opposite:b.canvasRight+a,axisLength:b.canvasHeight-(e||0)-da(N,D)-da(d,D)});
g.postSpaceManager()}},za.mscartesian,{maxbarheight:50});za("ssbarcartesian",{standaloneInit:!1,_createAxes:za.msbarcartesian,_feedAxesRawData:za.msbarcartesian,_spaceManager:za.msbarcartesian,_postSpaceManagement:za.msbarcartesian,_allocateXAxisLabelSpace:za.msbarcartesian},za.sscartesian);za("msbarcartesian3d",{standaloneInit:!1,_createDatasets:za.mscartesian3d,is3d:!0,_drawCanvas:function(){var b=this.config,a=b.canvasLeft,e=b.canvasTop,d=b.canvasWidth,g=b.canvasHeight,D=this.jsonData.chart,f=
this.components,I=f.canvas,N=f.colorManager,f=f.paper,m=I.graphics,r=m.canvasBorderElement,q=m.canvasElement,z=I.config,n=z.clip={},I=this.graphics.canvasGroup,t=m.canvasBg,A=m.canvas3DBase,B=this.get(l,O),rb=B.animType,kb=B.animObj,H=B.dummyObj,B=B.duration,S=m.canvas3dbaseline,Q=z.canvasBgColor,C=z.showCanvasBG=!!F(D.showcanvasbg,1),G=b.canvasBgDepth,P=b.showCanvasBase,la=b.canvasBaseDepth,Z=z.canvasBaseColor3D=J(D.canvasbasecolor,N.getColor("canvasBaseColor3D")),xa=z.use3DLighting=F(D.use3dlighting,
1),Q=w.chart3D,K=z.canvasBorderRadius=F(D.plotborderradius,0),U=z.canvasBorderWidth=0,ba=.5*U,aa=z.canvasBorderColor=Za(J(D.canvasbordercolor,N.getColor("canvasBorderColor"))),V=z.canBGAlpha=J(D.canvasbgalpha,N.getColor("canvasBgAlpha")),L=z.canBGColor=J(D.canvasbgcolor,N.getColor(Q.canvasBgColor)),N=z.xDepth,D=z.yDepth,Q=xa?z.canvasBgColor={FCcolor:{color:mb(L,85)+zb+$a(L,55),alpha:V+zb+V,ratio:xb,angle:ib(b.width-(b.marginLeft+b.marginRight),b.height-(b.marginTop+b.marginBottom),1)}}:z.canvasBgColor=
Za(L,V);L.split(zb);V.split(zb);N=z.xDepth=5;D=z.yDepth=5;b={x:a-ba,y:e-ba,width:d+U,height:g+U,r:K,"stroke-width":U,stroke:aa,"stroke-linejoin":2<U?c:v};r?(r.animateWith(H,kb,{x:a-ba,y:e-ba,width:d+U,height:g+U,r:K},B,rb),r.attr({"stroke-width":U,stroke:aa,"stroke-linejoin":2<U?c:v})):m.canvasBorderElement=f.rect(b,I);n["clip-canvas"]=[da(0,a-N),da(0,e),da(1,d+N),da(1,g+D)];n["clip-canvas-init"]=[da(0,a-N),da(0,e-D),1,da(1,g+2*D)];b={x:a,y:e,width:d,height:g,r:K,"stroke-width":0,stroke:"none",fill:Na(Q)};
C?(q?(q.show(),q.animateWith(H,kb,{x:a,y:e,width:d,height:g,r:K},B,rb),q.attr({"stroke-width":0,stroke:"none",fill:Na(Q)})):m.canvasElement=f.rect(b,I),d=["M",a,",",e,"L",a+1.2*G,",",e-G,",",a+d-G,",",e-G,",",a+d,",",e,"Z"],t?(t.show(),t.animateWith(H,kb,{path:d},B,rb),t.attr({path:d})):t=m.canvasBg=f.path(d,I),t.attr({"stroke-width":0,stroke:"none",fill:Na(Q)})):(q&&q.hide(),t&&t.hide());P?(d=a-N-la-1,b=e+D+1,r=N+1,q=D+1,A?(A.show(),A._.cubeside.show(),A._.cubetop.show(),A.animateWith(H,kb,{cubepath:[d,
b,la,g,r,q]},B,rb),A.attr({cubepath:[d,b,la,g,r,q]})):A=m.canvas3DBase=f.cubepath(d,b,la,g,r,q,I),A.attr({stroke:"none","stroke-width":0,fill:[Z.replace(R,qa),!xa]}),S?(S.show(),S.animateWith(H,kb,{path:["M",a,e,"V",g+e]},B,rb)):S=m.canvas3dbaseline=f.path(void 0,I),S.attr({path:["M",a,e,"V",g+e],stroke:E.tintshade(Z.replace(R,qa),.05).rgba})):(A&&(A.hide(),A._.cubeside.hide(),A._.cubetop.hide()),S&&S.hide())}},za.msbarcartesian,{showplotborder:0});za("ssbarcartesian3d",{standaloneInit:!1,_createAxes:za.msbarcartesian,
_feedAxesRawData:za.msbarcartesian,_drawCanvas:za.msbarcartesian3d,_spaceManager:za.msbarcartesian,_postSpaceManagement:za.msbarcartesian,_allocateXAxisLabelSpace:za.msbarcartesian},za.sscartesian3d);za("mspolar",{standaloneInit:!1,hasCanvas:!1,_createAxes:function(){var b=this.components,a=FusionCharts.register("component",["axis","polarcartesan"]),c=FusionCharts.register("component",["axis","polar"]);b.yAxis=[];b.xAxis=[];b.yAxis[0]=a=new a;b.xAxis[0]=b=new c;a.chart=this;b.chart=this;a.init();
b.init();a.setAxisConfig({polarAxis:b});this._setCategories()},_feedAxesRawData:function(){var b=this.components,a=b.colorManager,c=this.jsonData,e=c.chart,g,d=(g=this.is3d)?w.chart3D:w.chart2D;g={outCanfontFamily:J(e.outcnvbasefont,e.basefont,"Verdana,sans"),outCanfontSize:Ua(e.outcnvbasefontsize,e.basefontsize,10),outCancolor:J(e.outcnvbasefontcolor,e.basefontcolor,a.getColor(d.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:e.xaxisnamepadding,axisValuePadding:e.labelpadding,
axisNameFont:e.xaxisnamefont,axisNameFontSize:e.xaxisnamefontsize,axisNameFontColor:e.xaxisnamefontcolor,axisNameFontBold:e.xaxisnamefontbold,axisNameFontItalic:e.xaxisnamefontitalic,axisNameBgColor:e.xaxisnamebgcolor,axisNameBorderColor:e.xaxisnamebordercolor,axisNameAlpha:e.xaxisnamealpha,axisNameFontAlpha:e.xaxisnamefontalpha,axisNameBgAlpha:e.xaxisnamebgalpha,axisNameBorderAlpha:e.xaxisnameborderalpha,axisNameBorderPadding:e.xaxisnameborderpadding,axisNameBorderRadius:e.xaxisnameborderradius,
axisNameBorderThickness:e.xaxisnameborderthickness,axisNameBorderDashed:e.xaxisnameborderdashed,axisNameBorderDashLen:e.xaxisnameborderdashlen,axisNameBorderDashGap:e.xaxisnameborderdashgap,useEllipsesWhenOverflow:e.useellipseswhenoverflow,divLineColor:J(e.vdivlinecolor,e.divlinecolor,a.getColor(d.divLineColor)),divLineAlpha:J(e.vdivlinealpha,e.divlinealpha,g?a.getColor("divLineAlpha3D"):a.getColor("divLineAlpha")),divLineThickness:F(e.vdivlinethickness,e.divlinethickness,1),divLineIsDashed:!!F(e.vdivlinedashed,
e.vdivlineisdashed,e.divlinedashed,e.divlineisdashed,0),divLineDashLen:F(e.vdivlinedashlen,e.divlinedashlen,4),divLineDashGap:F(e.vdivlinedashgap,e.divlinedashgap,2),showAlternateGridColor:F(e.showalternatevgridcolor,1),alternateGridColor:J(e.alternatevgridcolor,a.getColor("altVGridColor")),alternateGridAlpha:J(e.alternatevgridalpha,a.getColor("altVGridAlpha")),numDivLines:e.numvdivlines,labelFont:e.labelfont,labelFontSize:e.labelfontsize,labelFontColor:e.labelfontcolor,labelFontAlpha:e.labelalpha,
labelFontBold:e.labelfontbold,labelFontItalic:e.labelfontitalic,axisName:e.yaxisname,axisMinValue:e.xaxisminvalue,axisMaxValue:e.xaxismaxvalue,setAdaptiveMin:e.setadaptivexmin,adjustDiv:e.adjustvdiv,labelDisplay:e.labeldisplay,showLabels:e.showlabels,rotateLabels:e.rotatelabels,slantLabel:F(e.slantlabels,e.slantlabel),labelStep:F(e.labelstep,e.xaxisvaluesstep),showAxisValues:F(e.showxaxisvalues,e.showxaxisvalue),showLimits:e.showvlimits,showDivLineValues:F(e.showvdivlinevalues,e.showvdivlinevalues),
zeroPlaneColor:e.vzeroplanecolor,zeroPlaneThickness:e.vzeroplanethickness,zeroPlaneAlpha:e.vzeroplanealpha,showZeroPlaneValue:e.showvzeroplanevalue,trendlineColor:e.trendlinecolor,trendlineToolText:e.trendlinetooltext,trendlineThickness:e.trendlinethickness,trendlineAlpha:e.trendlinealpha,showTrendlinesOnTop:e.showtrendlinesontop,showAxisLine:F(e.showxaxisline,e.showaxislines,e.drawAxisLines,0),axisLineThickness:F(e.xaxislinethickness,e.axislinethickness,1),axisLineAlpha:F(e.xaxislinealpha,e.axislinealpha,
100),axisLineColor:J(e.xaxislinecolor,e.axislinecolor,"#000000"),showRadarBorder:e.showradarborder,radarBorderColor:e.radarbordercolor,radarBorderThickness:e.radarborderthickness,radarBorderAlpha:e.radarborderalpha,radarFillColor:e.radarfillcolor,radarFillAlpha:e.radarfillalpha,radarSpikeColor:e.radarspikecolor,radarSpikeThickness:e.radarspikethickness,radarSpikeAlpha:e.radarspikealpha,radarInLineAlpha:e.radarinlinealpha};a={outCanfontFamily:J(e.outcnvbasefont,e.basefont,"Verdana,sans"),outCanfontSize:Ua(e.outcnvbasefontsize,
e.basefontsize,10),outCancolor:J(e.outcnvbasefontcolor,e.basefontcolor,a.getColor(d.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:e.yaxisnamepadding,axisValuePadding:e.yaxisvaluespadding,axisNameFont:e.yaxisnamefont,axisNameFontSize:e.yaxisnamefontsize,axisNameFontColor:e.yaxisnamefontcolor,axisNameFontBold:e.yaxisnamefontbold,axisNameFontItalic:e.yaxisnamefontitalic,axisNameBgColor:e.yaxisnamebgcolor,axisNameBorderColor:e.yaxisnamebordercolor,axisNameAlpha:e.yaxisnamealpha,axisNameFontAlpha:e.yaxisnamefontalpha,
axisNameBgAlpha:e.yaxisnamebgalpha,axisNameBorderAlpha:e.yaxisnameborderalpha,axisNameBorderPadding:e.yaxisnameborderpadding,axisNameBorderRadius:e.yaxisnameborderradius,axisNameBorderThickness:e.yaxisnameborderthickness,axisNameBorderDashed:e.yaxisnameborderdashed,axisNameBorderDashLen:e.yaxisnameborderdashlen,axisNameBorderDashGap:e.yaxisnameborderdashgap,axisNameWidth:e.yaxisnamewidth,useEllipsesWhenOverflow:e.useellipseswhenoverflow,rotateAxisName:F(e.rotateyaxisname,1),axisName:e.xaxisname,divLineColor:J(e.divlinecolor,
a.getColor(d.divLineColor)),divLineAlpha:J(e.divlinealpha,a.getColor("divLineAlpha")),divLineThickness:F(e.divlinethickness,1),divLineIsDashed:!!F(e.divlinedashed,e.divlineisdashed,0),divLineDashLen:F(e.divlinedashlen,4),divLineDashGap:F(e.divlinedashgap,2),showAlternateGridColor:F(e.showalternatehgridcolor,1),alternateGridColor:J(e.alternatehgridcolor,a.getColor("altHGridColor")),alternateGridAlpha:J(e.alternatehgridalpha,a.getColor("altHGridAlpha")),numDivLines:e.numdivlines,axisMinValue:e.yaxisminvalue,
axisMaxValue:e.yaxismaxvalue,setAdaptiveMin:e.setadaptiveymin,adjustDiv:e.adjustdiv,labelStep:e.yaxisvaluesstep,showAxisValues:F(e.showyaxisvalues,e.showyaxisvalue),showLimits:F(e.showyaxislimits,e.showlimits,this.showLimits),showDivLineValues:F(e.showdivlinevalues,e.showdivlinevalue),zeroPlaneColor:e.zeroplanecolor,zeroPlaneThickness:F(e.zeroplanethickness,e.divlinethickness,2),zeroPlaneAlpha:e.zeroplanealpha,showZeroPlaneValue:e.showzeroplanevalue,trendlineColor:e.trendlinecolor,trendlineToolText:e.trendlinetooltext,
trendlineThickness:e.trendlinethickness,trendlineAlpha:e.trendlinealpha,showTrendlinesOnTop:e.showtrendlinesontop,showAxisLine:F(e.showyaxisline,e.showaxislines,e.drawAxisLines,0),axisLineThickness:F(e.yaxislinethickness,e.axislinethickness,1),axisLineAlpha:F(e.yaxislinealpha,e.axislinealpha,100),axisLineColor:J(e.yaxislinecolor,e.axislinecolor,"#000000")};g.vtrendlines=c.trendlines;a.trendlines=c.vtrendlines;c=b.yAxis[0];b=b.xAxis[0];c.setCommonConfigArr(a,!0,!1,!1);b.setCommonConfigArr(g,!1,!1,
!1);c.configure();b.configure()},_spaceManager:function(){var b,a,c=this.config;a=this.components;var e=c.radarborderthickness,g=c.legendPosition,w=a.xAxis&&a.xAxis[0],d=a.yAxis&&a.yAxis[0];b=this.hasLegend;a=a.legend;var D;D=g===H?.3*c.canvasHeight:.3*c.canvasWidth;!1!==b&&w&&this._allocateSpace(a._manageLegendPosition(D));a=.7*c.canvasHeight;b=.7*c.canvasWidth;w&&this._allocateSpace(w.placeAxis(b,a));b=.7*c.canvasWidth;d&&d.placeAxis(b);b=0<c.radarradius?2*c.radarradius:Ra(c.canvasHeight,c.canvasWidth);
c.canvasHeight>b&&(a=Ma((c.canvasHeight-b)/2),this._allocateSpace({top:a,bottom:a}));c.canvasWidth>b&&(a=Ma((c.canvasWidth-b)/2),this._allocateSpace({left:a,right:a}));a=g===H?.6*c.availableHeight:.6*c.availableWidth;this._manageChartMenuBar(a);d.setAxisDimention({x:c.canvasLeft+c.canvasWidth/2-e/2,y:c.canvasTop,axisLength:c.canvasHeight/2});w.setAxisConfig({centerX:c.canvasLeft+c.canvasWidth/2,centerY:c.canvasTop+c.canvasHeight/2,radius:Ra(c.canvasWidth/2,c.canvasHeight/2)-e/2})}},za.mscartesian);
za("mslog",{standaloneInit:!1,_createAxes:function(){var b=this.components,a=FusionCharts.register("component",["axis","cartesian"]),c=FusionCharts.register("component",["axis","log"]);b.yAxis=[];b.xAxis=[];b.yAxis[0]=c=new c;b.xAxis[0]=b=new a;c.chart=this;b.chart=this;c.init();b.init();this._setCategories()},_feedAxesRawData:function(){var b=this.components,a=b.colorManager,c=this.jsonData,e=c.chart,g,d=(g=this.is3d)?w.chart3D:w.chart2D,D=1===F(e.invertyaxis,0)?!0:!1;g={outCanfontFamily:J(e.outcnvbasefont,
e.basefont,"Verdana,sans"),outCanfontSize:Ua(e.outcnvbasefontsize,e.basefontsize,10),outCancolor:J(e.outcnvbasefontcolor,e.basefontcolor,a.getColor(d.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:e.xaxisnamepadding,axisValuePadding:e.labelpadding,axisNameFont:e.xaxisnamefont,axisNameFontSize:e.xaxisnamefontsize,axisNameFontColor:e.xaxisnamefontcolor,axisNameFontBold:e.xaxisnamefontbold,axisNameFontItalic:e.xaxisnamefontitalic,axisNameBgColor:e.xaxisnamebgcolor,axisNameBorderColor:e.xaxisnamebordercolor,
axisNameAlpha:e.xaxisnamealpha,axisNameFontAlpha:e.xaxisnamefontalpha,axisNameBgAlpha:e.xaxisnamebgalpha,axisNameBorderAlpha:e.xaxisnameborderalpha,axisNameBorderPadding:e.xaxisnameborderpadding,axisNameBorderRadius:e.xaxisnameborderradius,axisNameBorderThickness:e.xaxisnameborderthickness,axisNameBorderDashed:e.xaxisnameborderdashed,axisNameBorderDashLen:e.xaxisnameborderdashlen,axisNameBorderDashGap:e.xaxisnameborderdashgap,useEllipsesWhenOverflow:e.useellipseswhenoverflow,divLineColor:J(e.vdivlinecolor,
e.divlinecolor,a.getColor(d.divLineColor)),divLineAlpha:J(e.vdivlinealpha,e.divlinealpha,g?a.getColor("divLineAlpha3D"):a.getColor("divLineAlpha")),divLineThickness:F(e.vdivlinethickness,e.divlinethickness,1),divLineIsDashed:!!F(e.vdivlinedashed,e.vdivlineisdashed,e.divlinedashed,e.divlineisdashed,0),divLineDashLen:F(e.vdivlinedashlen,e.divlinedashlen,4),divLineDashGap:F(e.vdivlinedashgap,e.divlinedashgap,2),showAlternateGridColor:F(e.showalternatevgridcolor,0),alternateGridColor:J(e.alternatevgridcolor,
a.getColor("altVGridColor")),alternateGridAlpha:J(e.alternatevgridalpha,a.getColor("altVGridAlpha")),numDivLines:e.numvdivlines,maxLabelHeight:e.maxlabelheight,labelFont:e.labelfont,labelFontSize:e.labelfontsize,labelFontColor:e.labelfontcolor,labelFontAlpha:e.labelalpha,labelFontBold:e.labelfontbold,labelFontItalic:e.labelfontitalic,axisName:e.xaxisname,axisMinValue:e.xaxisminvalue,axisMaxValue:e.xaxismaxvalue,setAdaptiveMin:e.setadaptivexmin,adjustDiv:e.adjustvdiv,labelDisplay:e.labeldisplay,showLabels:e.showlabels,
rotateLabels:e.rotatelabels,slantLabel:F(e.slantlabels,e.slantlabel),labelStep:F(e.labelstep,e.xaxisvaluesstep),showAxisValues:F(e.showxaxisvalues,e.showxaxisvalue),showLimits:e.showvlimits,showDivLineValues:F(e.showvdivlinevalues,e.showvdivlinevalues),showZeroPlane:e.showvzeroplane,zeroPlaneColor:e.vzeroplanecolor,zeroPlaneThickness:e.vzeroplanethickness,zeroPlaneAlpha:e.vzeroplanealpha,showZeroPlaneValue:e.showvzeroplanevalue,trendlineColor:e.trendlinecolor,trendlineToolText:e.trendlinetooltext,
trendlineThickness:e.trendlinethickness,trendlineAlpha:e.trendlinealpha,showTrendlinesOnTop:e.showtrendlinesontop,showAxisLine:F(e.showxaxisline,e.showaxislines,e.drawAxisLines,0),axisLineThickness:F(e.xaxislinethickness,e.axislinethickness,1),axisLineAlpha:F(e.xaxislinealpha,e.axislinealpha,100),axisLineColor:J(e.xaxislinecolor,e.axislinecolor,"#000000")};a={outCanfontFamily:J(e.outcnvbasefont,e.basefont,"Verdana,sans"),outCanfontSize:Ua(e.outcnvbasefontsize,e.basefontsize,10),outCancolor:J(e.outcnvbasefontcolor,
e.basefontcolor,a.getColor(d.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,"#$1"),axisNamePadding:e.yaxisnamepadding,axisValuePadding:e.yaxisvaluespadding,axisNameFont:e.yaxisnamefont,axisNameFontSize:e.yaxisnamefontsize,axisNameFontColor:e.yaxisnamefontcolor,axisNameFontBold:e.yaxisnamefontbold,axisNameFontItalic:e.yaxisnamefontitalic,axisNameBgColor:e.yaxisnamebgcolor,axisNameBorderColor:e.yaxisnamebordercolor,axisNameAlpha:e.yaxisnamealpha,axisNameFontAlpha:e.yaxisnamefontalpha,axisNameBgAlpha:e.yaxisnamebgalpha,
axisNameBorderAlpha:e.yaxisnameborderalpha,axisNameBorderPadding:e.yaxisnameborderpadding,axisNameBorderRadius:e.yaxisnameborderradius,axisNameBorderThickness:e.yaxisnameborderthickness,axisNameBorderDashed:e.yaxisnameborderdashed,axisNameBorderDashLen:e.yaxisnameborderdashlen,axisNameBorderDashGap:e.yaxisnameborderdashgap,axisNameWidth:e.yaxisnamewidth,useEllipsesWhenOverflow:e.useellipseswhenoverflow,rotateAxisName:F(e.rotateyaxisname,1),axisName:e.yaxisname,divLineColor:J(e.divlinecolor,a.getColor(d.divLineColor)),
divLineAlpha:J(e.divlinealpha,a.getColor("divLineAlpha")),divLineThickness:F(e.divlinethickness,2),divLineIsDashed:!!F(e.divlinedashed,e.divlineisdashed,0),divLineDashLen:F(e.divlinedashlen,4),divLineDashGap:F(e.divlinedashgap,2),showAlternateGridColor:F(e.showalternatehgridcolor,1),alternateGridColor:J(e.alternatehgridcolor,a.getColor("altHGridColor")),alternateGridAlpha:J(e.alternatehgridalpha,a.getColor("altHGridAlpha")),numDivLines:e.numdivlines,axisMinValue:e.yaxisminvalue,axisMaxValue:e.yaxismaxvalue,
setAdaptiveMin:e.setadaptiveymin,adjustDiv:e.adjustdiv,labelStep:e.yaxisvaluesstep,showAxisValues:F(e.showyaxisvalues,e.showyaxisvalue),showLimits:F(e.showyaxislimits,e.showlimits,this.showLimits),showDivLineValues:F(e.showdivlinevalues,e.showdivlinevalue),showZeroPlane:e.showzeroplane,zeroPlaneColor:e.zeroplanecolor,zeroPlaneThickness:e.zeroplanethickness,zeroPlaneAlpha:e.zeroplanealpha,showZeroPlaneValue:e.showzeroplanevalue,trendlineColor:e.trendlinecolor,trendlineToolText:e.trendlinetooltext,
trendlineThickness:e.trendlinethickness,trendlineAlpha:e.trendlinealpha,showTrendlinesOnTop:e.showtrendlinesontop,showAxisLine:F(e.showyaxisline,e.showaxislines,e.drawAxisLines,0),axisLineThickness:F(e.yaxislinethickness,e.axislinethickness,1),axisLineAlpha:F(e.yaxislinealpha,e.axislinealpha,100),base:e.base,logBase:e.logbase,axisLineColor:J(e.yaxislinecolor,e.axislinecolor,"#000000"),showMinorDivLineValues:F(e.showminordivlinevalues,0),numMinorDivLines:e.numminordivlines};"1"===a.base&&(a.base=10,
a.logBase=10);a.minorDivlinecolor=J(e.minordivlinecolor,a.divLineColor);a.minorDivLineThickness=J(e.minordivlinethickness,1);a.minorDivLineAlpha=J(e.minordivlinealpha,a.divLineAlpha/2);g.vtrendlines=c.vtrendlines;a.trendlines=c.trendlines;c=b.yAxis[0];b=b.xAxis[0];c.setCommonConfigArr(a,!0,D,!1);b.setCommonConfigArr(g,!1,!1,!1);c.configure();b.configure()},_setAxisLimits:function(){var b=this.components,a=b.dataset,c=b.yAxis,b=b.xAxis,e,g=a.length,w,d=-Infinity,D=Infinity,f=Infinity,I=-Infinity,N,
m={},l=[],r=function(b){d=da(d,b.max);D=Ra(D,b.min);I=da(I,b.xMax||-Infinity);f=Ra(f,b.xMin||Infinity)};for(w=0;w<g;w++)e=a[w],(N=e.groupManager)?m[e.type]=N:l.push(e);for(N in m)a=m[N].getDataLimits(),r(a);g=l.length;for(w=0;w<g;w++)a=l[w].getDataLimits(),r(a);-Infinity===d&&(d=1);Infinity===D&&(D=1);c[0].setDataLimit(d,D);if(-Infinity!==I||Infinity!==f)b[0].config.xaxisrange={max:I,min:f},b[0].setDataLimit(I,f)}},za.mscartesian);za("guageBase",{standaloneInit:!1,hasCanvas:!1,_createAxes:function(){},
_feedAxesRawData:function(){},_setCategories:function(){},_setAxisLimits:function(){},_adjustCanvasPadding:function(){},placeDataLabels:function(){var b=function(b,a){return b.point.value-a.point.value},a=function(b,a){return b.angle-a.angle},c=[L,L,r,r],e=[-1,1,1,-1],g=[1,1,-1,-1];return function(w,d,D,f){var I=this.config,N=this.components.dataset[0].conf,m=I.canvasLeft,l=I.canvasTop,r=I.canvasWidth,q=m+.5*I.canvasWidth,n=l+.5*I.canvasHeight,t=this.linkedItems.smartLabel,v=N.dataLabelOptions,B=
v.style,E=F(Ia(parseFloat(B.lineHeight)),12),S=wa(v.placeLabelsInside,1===d.length?!0:!1),Q=v.skipOverlapLabels,H=v.manageLabelOverflow,C=v.connectorPadding,G;G=f&&f.metrics||[q,n,2*N.pieMinRadius,N.innerSize||0];var J=G[1],Z=G[0];f=.5*G[2];var P=[[],[],[],[]],N=D.labelsRadius=f+v.distance,n=q=parseInt(B.fontSize,10),K=n/2,C=[C,C,-C,-C];D=D.labelsMaxInQuadrant||(D.labelsMaxInQuadrant=Ka(N/n));var v=v.isSmartLineSlanted,U=G[3]/2,ba,aa,V,L,M,O,ea,R,Y,W,ia,T,na,ga,X,ka;G=Number.POSITIVE_INFINITY;var ta,
ra;V=[];aa=[];t.useEllipsesOnOverflow(I.useEllipsesWhenOverflow);w||t.setStyle(B);if(1==d.length&&!U&&S)V=d[0],(ia=V.dataLabel)&&ia.show(),V.slicedTranslation=[m,l],ia&&(ia.attr({visibility:Wa,align:z,transform:["t",Z,J]}),ia.x=Z);else if(S)ka=U+(f-U)/2,lb(d,function(b){ta=b.config;ra=b.graphics;(ia=ra.label)&&ia.show();ia&&(W=ta.angle,Y=J+ka*gb(W),M=Z+ka*Ya(W),ia.x=M,ia._x=M,ia.y=Y,b.sliced&&(X=b.slicedTranslation,na=X[0]-m,ga=X[1]-l,M+=na,Y+=ga),ia.attr({visibility:Wa,align:z,transform:["t",M,Y]}))});
else{lb(d,function(b){ta=b.config;ra=b.graphics;(ia=ra.label)&&ia.show();ia&&(W=ta.angle%Eb,0>W&&(W=Eb+W),T=0<=W&&W<Ab?1:W<Db?2:W<Bb?3:0,P[T].push({point:b,angle:W}))});for(d=w=4;d--;){if(Q&&(I=P[d].length-D,0<I))for(P[d].sort(b),B=P[d].splice(0,I),I=0,aa=B.length;I<aa;I+=1)V=B[I].point,V.dataLabel.attr({visibility:A}),V.connector&&V.connector.attr({visibility:A});P[d].sort(a)}d=da(P[0].length,P[1].length,P[2].length,P[3].length);I=da(Ra(d,D)*n,N+n);aa=P[0].concat(P[1]);V=P[2].concat(P[3]);for(d=
aa.length-1;0<=d;d--)B=aa[d].point.config,delete B.clearance,delete B.clearanceShift,U=Ma(I*gb(B.angle)),Math.abs(G-U)<2*E&&(B.clearance=0,aa[d+1].point.clearanceShift=E/2),G=U;G=Number.POSITIVE_INFINITY;d=0;for(aa=V.length;d<aa;d++)B=V[d].point.config,delete B.clearance,delete B.clearanceShift,U=Ma(I*gb(B.angle)),Math.abs(G-U)<2*E&&(B.clearance=0,V[d-1].point.clearanceShift=E/2),G=U;P[1].reverse();for(P[3].reverse();w--;){B=P[w];aa=B.length;Q||(n=aa>D?I/aa:q,K=n/2);E=aa*n;G=I;for(d=0;d<aa;d+=1,E-=
n)U=Ma(I*gb(B[d].angle)),G<U?U=G:U<E&&(U=E),G=(B[d].oriY=U)-n;S=c[w];aa=I-(aa-1)*n;G=0;for(d=B.length-1;0<=d;--d,aa+=n)if(V=B[d].point,W=B[d].angle,ta=V.config,ra=V.graphics,V=ta.sliced,ia=ra.label,U=Ma(I*gb(W)),U<G?U=G:U>aa&&(U=aa),G=U+n,E=void 0===ta.clearance?2*Ia(F(parseFloat(ta.style.border),12),12):2*Ia(F(parseFloat(ta.style.border),ta.clearance)),ea=(U+B[d].oriY)/2,U=Z+g[w]*N*Ya(Va.asin(ea/I)),ea*=e[w],ea+=J,R=J+f*gb(W),L=Z+f*Ya(W),(2>w&&U<L||1<w&&U>L)&&(U=L),M=U+C[w],Y=ea-K-2,O=M+C[w],ia.x=
O,ia._x=O,H&&(ba=1<w?O-this.canvasLeft:this.canvasLeft+r-O,t.setStyle(ta.style),E=F(Ia(parseFloat(ta.style.lineHeight)),12)+E,E=t.getSmartText(ta.labelText,ba,E),void 0===ta.clearance&&E.height>n&&(ea+=n),ia.attr({text:E.text}).tooltip(E.tooltext)),ia.y=Y,V&&(na=ta.transX,ga=ta.transY,M+=na,U+=na,L+=na,R+=ga,O+=na),ia.attr({visibility:Wa,"text-anchor":S,vAlign:z,x:O,y:ea}),E=ra.connector)ra.connectorPath=V=["M",L,R,"L",v?U:L,ea,M,ea],E.attr({path:V,visibility:Wa})}}}}()},za.sscartesian);za("scatterBase",
{standaloneInit:!1,_setCategories:function(){var b=this.jsonData,a=this.components.xAxis,c=J(b.chart.xaxislabelmode,"categories"),b=b.categories&&b.categories[0].category;a[0].setAxisConfig({xAxisLabelMode:"categories"});"auto"!==c&&"mixed"!==c&&b&&0<b.length?a[0].setCategory(b):"auto"!==c?(a[0].setCategory(b,!1),a[0].setAxisConfig({xAxisLabelMode:"mixed"})):a[0].setAxisConfig({xAxisLabelMode:"auto"})},_setAxisLimits:function(){var b=this.components,a=this.jsonData,c=b.xAxis,e=J(a.chart.xaxislabelmode,
"categories"),a=a.categories&&a.categories[0],a=(a&&a.category||[]).slice(),g,w,d,D,f;g=Infinity;d=-Infinity;var I,N;za("mscartesian")._setAxisLimits.call(this);w=c[0].getLimit();D=w.tickInterval;for(f=0;f<a.length;f+=1)if(I=a[f].x)I<g&&(g=I),I>d&&(d=I);if(d>w.max||g<w.min)d=da(d,w.max),g=Ra(g,w.min),c[0].setDataLimit(d,g);if("mixed"===e||"auto"===e||!(a&&0<a.length)){d=[];g=b.numberFormatter.xAxis;if("mixed"===e)for(f=0,e=a.length;f<e;f+=1)d[a[f].x||a[f].y||f]=!0;else a=[];I=c[0].getAxisConfig();
N=f=w.min;for(e=w.max;f<=e;)d[f]||a.push({label:T+g.call(b.numberFormatter,f),x:f,showverticalline:0===f?I.showZeroPlane:1,isNumeric:!0,linecolor:0===f?I.zeroPlaneColor:I.divLineColor,linealpha:0===f?I.zeroPlaneAlpha:I.divLineAlpha,linethickness:0===f?I.zeroPlaneThickness:I.divLineThickness,linedashed:I.divLineIsDashed,linedashLen:I.divLineDashLen,linedashgap:I.divLineDashGap}),0>f&&0<f+D?(f=0,N+=D):f<N?f=N:(f+=D,N+=D);c[0].setCategory(a,!1)}},_createQuadrant:function(){var b;b=this.components;var a=
FusionCharts.register("component",["quadrant","cartesian"]);b.quadrant=b=new a;b.chart=this;b.init()},_drawQuadrant:function(){this.components.quadrant.draw()},_getDiff:function(b,a){return{diff:b,startIndex:a}}},za.mscartesian,{zeroplanethickness:1,zeroplanealpha:40,showzeroplaneontop:0,setadaptivexmin:1});za("areabase",{standaloneInit:!1},za.mscartesian,{anchorborderthickness:1,anchorimageurl:void 0,anchorimagepadding:1,anchorsides:1,anchoralpha:void 0,anchorbgalpha:M,anchorimagealpha:M,anchorimagescale:100,
anchorstartangle:90,anchorshadow:0,anchorbgcolor:void 0,anchorbordercolor:void 0,anchorradius:3,showvalues:1,plotfillalpha:ga,linedashlen:5,linedashgap:4,linedashed:void 0,linealpha:M,linethickness:2,drawfullareaborder:1,connectnulldata:0})}]);FusionCharts.register("module",["private","modules.renderer.js-renderer",function(){var d=this.window,m=this.hcLib,E=m.Raphael,n=m.parseConfiguration,C=/msie/i.test(d.navigator.userAgent)&&!d.opera,B=d.Image,K="VML"===E.type,a=m.BLANKSTRING,M=m.getPosition,
f=m.COMMASPACE,l=m.ZEROSTRING,O=m.BGRATIOSTRING,X=m.hasSVG,t="rgba(192,192,192,"+(C?.002:1E-6)+")",C=m.TOUCH_THRESHOLD_PIXELS,A=m.CLICK_THRESHOLD_PIXELS,q=m.extend2,c=m.pluck,v=m.parsexAxisStyles,L=m.toPrecision,e=m.pluckNumber,r=m.setLineHeight,H=m.pluckFontSize,z=m.toRaphaelColor,P=m.graphics.convertColor,G=m.parseUnsafeString,ga=m.getDefinedColor,W=m.graphics.getDarkColor,Y=m.ONESTRING,T=m.getFirstAlpha,ka=m.HUNDREDSTRING,J=m.getDashStyle,ha=m.plotEventHandler,F=m.hasTouch?C:A,wa=m.getCrispValues,
Da=m.getValidValue,fa=m.getFirstValue,ma=m.parseTooltext,ja=m.regex.dropHypeash,R=m.HASHSTRING,C=m.preDefStr,qa=C.noneStr,bb=C.configStr,Ga=C.animationObjStr,Ca=C.showHoverEffectStr,Oa=C.columnStr,Pa=C.barStr,Fa=C.barHotStr,Wa=C.shadowStr,Na=C.visibleStr,Va=C.hiddenStr,Ra=C.negativeValueStr,da=C.positiveValueStr,Ma=C.zeroPlaneStr,Ia=C.categoryPlotsStr,Ka=C.setRolloverAttrStr,ya=C.setRolloutAttrStr,gb=C.elementStr,Ya=C.hotElementStr,Db=C.dataLabelStr,Ab=C.strokeWidthStr,Eb=C.strokeDashStr,Bb=C.miterStr,
hb=C.POSITION_MIDDLE,Ta=C.POSITION_START,Ua=C.POSITION_TOP,mb=C.POSITION_BOTTOM,$a=C.POSITION_END,Za=m.graphics.getCubePathOutline,sb=function(b,a){var c=!1,e=a%2,d;b[1]===b[4]&&(c=b[1],d=ab(c),b[1]=b[4]=e?d>c?d-.5:d+.5:d,c=!0);b[2]===b[5]&&(c=b[2],d=ab(c),b[2]=b[5]=e?d>c?d-.5:d+.5:d,c=!0);return{path:b,isCrisped:c}},vb=8===d.document.documentMode?Na:"",eb=Math,za=eb.sqrt,zb=eb.sin,ob=eb.cos,ab=eb.round,Sa=eb.min,La=eb.max,Qa=eb.abs,lb=eb.ceil,fb=eb.floor,xb=eb.pow,ib=eb.log,Cb=eb.PI,yb=2*Cb,jb=m.getFirstColor,
tb=m.graphics.getLightColor,nb=m.schedular;E.ca.ishot=function(b){if(this.removed)return!1;var a=this.node;b=b||"";a.ishot=b;switch(this.type){case "group":for(a=this.bottom;a;)a.attr("ishot",b),a=a.next;break;case "text":if(E.svg)for(a=a.getElementsByTagName("tspan")[0];a;)a.ishot=b,a=a.nextSibling}return!1};E.addSymbol({printIcon:function(b,a,c){var e=.75*c,d=.5*c,k=.33*c,h=ab(b-c)+.5,f=ab(a-c)+.5,p=ab(b+c)+.5;c=ab(a+c)+.5;var g=ab(b-e)+.5,m=ab(a-e)+.5,e=ab(b+e)+.5,l=ab(a+d)+.5,r=ab(b+d)+.5,q=ab(a+
k)+.5;b=ab(b-d)+.5;k=ab(a+k+k)+.5;return["M",g,f,"L",e,f,e,m,g,m,"Z","M",h,m,"L",h,l,g,l,g,a,e,a,e,l,p,l,p,m,"Z","M",g,a,"L",g,c,e,c,e,a,"Z","M",r,q,"L",b,q,"M",r,k,"L",b,k]},exportIcon:function(b,a,c){var e=.66*c,d=.5*e,k=ab(b-c)+.5,h=ab(a-c)+.5,f=ab(b+c)+.5;c=ab(a+c)-.5;var p=ab(b-d)+.5,g=a<c-3?c-3:ab(a)+.5,d=ab(b+d)-.5,m=ab(b+e)-.5,e=ab(b-e)+.5;return["M",k,g,"L",k,c,f,c,f,g,f,c,k,c,"Z","M",b,c-1,"L",e,a,p,a,p,h,d,h,d,a,m,a,"Z"]}});FusionCharts.register("component",["axis","cartesian",{pIndex:2,
customConfigFn:"_feedAxesRawData",init:function(b,a,c,e){var d;this.graphics={};this.components={};d=this.config;d.isVertical=a;d.isReverse=c;d.isOpposit=e;d.isActive=!0;d.drawLabels=!0;d.drawOnlyCategoryLine=!1;d.drawLabelsOpposit=!1;d.drawLabelOnBothSide=!1;d.drawPlotlines=!0;d.drawAxisLine=!0;d.drawPlotBands=!0;d.drawAxisName=!0;d.drawAxisNameOpposit=!1;d.axisNameAlignCanvas=!1;d.drawAxisNameFromBottom=!1;d.drawTrendLines=!0;d.drawTrendLabels=!0;d.drawTick=!0;d.drawTickMinor=!0;d.animateAxis=!0;
d.drawAxisLineWRTCanvas=!0;d.isRelativeAxisInverse=!1;d.axisIndex=0;d.uniqueClassName=0;d.viewPortRatio={};d.canvas={};d.rawAttr=b;d.axisRange={};d.isConfigured=!0;d.axisDimention={};d.extremeLabels={firstLabel:{},lastLabel:{}};d._setRangeAgain=!1},setCommonConfigArr:function(b,a,c,e){var d=this.config;d.rawAttr=b;d.isVertical=a;d.isReverse=c;d.isOpposit=e},configure:function(){var b=this.config,a=b.rawAttr,d=this.chart,f=d.components,N=this.chart.is3D,d=d.jsonData.chart,k=f.numberFormatter;b.trendLines=
a.trendlines;b.vTrendLines=a.vtrendlines;this.__setDefaultConfig();n(a,b);b.axisName=G(a.axisName);b.axisValuePadding=b.axisNamePadding||e(a.axisValuePadding,4);b.axisNamePadding=b.axisNamePadding||e(a.axisNamePadding,5);b.maxLabelWidthPercent=e(a.maxLabelWidthPercent);b.maxLabelWidthPercent=Qa(b.maxLabelWidthPercent);b.numDivLines=e(a.numDivLines,4);0>b.numDivLines&&(b.numDivLines=0);b.categoryNumDivLines=e(a.numDivLines,0);0>b.axisValuePadding&&(b.axisValuePadding=0);b.categoryDivLinesFromZero=
1;b.axisMinValue=k.getCleanValue(a.axisMinValue);b.axisMaxValue=k.getCleanValue(a.axisMaxValue);b.zeroPlaneColor=c(a.zeroPlaneColor,a.divLineColor);b.zeroPlaneThickness=c(a.zeroPlaneThickness,a.divLineThickness);b.axisLineColor=P(a.axisLineColor,a.axisLineAlpha);b.tickAlpha=e(a.tickAlpha,b.axisLineAlpha);b.tickColor=P(c(a.tickColor,a.axisLineColor),b.tickAlpha);b.tickWidth=e(a.tickWidth,b.axisLineThickness);b.showVLines=e(d.showvlines,1);b.showVLinesOnTop=e(d.showvlinesontop,0);b.showVLineLabels=
e(d.showvlinelabels,this.showVLineLabels,1);b.showVLineLabelBorder=e(d.showvlinelabelborder,1);b.rotateVLineLabels=e(d.rotatevlinelabels,0);b.vLineColor=c(d.vlinecolor,"333333");b.vLineLabelColor=c(d.vlinelabelcolor);b.vLineThickness=c(d.vlinethickness,1);b.vLineAlpha=e(d.vlinealpha,80);b.vLineLabelBgColor=c(d.vlinelabelbgcolor,"ffffff");b.vLineLabelBgAlpha=e(d.vlinelabelbgalpha,N?50:100);b.staggerLines=Math.max(e(d.staggerlines,2),2);1>b.staggerlines&&(b.staggerlines=1);b.trendlineValuesOnOpp=c(a.trendlineValuesOnOpp,
a.trendlineValuesOnOpp,0);b.labelDisplay=c(a.labelDisplay,"auto").toLowerCase();b.labelStep=e(a.labelStep,0);b.labelStep=ab(b.labelStep);0>b.labelStep&&(b.labelStep=0);b._oriLabelStep=b.labelStep;b.showLimits=e(a.showLimits,b.showAxisValues);b.showUpperLimit=a.showLimits;b.showDivLineValues=e(a.showDivLineValues,b.showAxisValues);b.showCanvasBorder=f.canvas.config.showCanvasBorder?1:0;b.axisBreak=a.axisBreaks;b.isBreak=!!b.axisBreak;b.isBreak&&this._processAxisBreak();f=(f=fa(a.axisNameBorderColor,
""))?P(f,e(a.axisNameBorderAlpha,a.axisNameAlpha,100)):"";b.name=b.name||{};b.name.style={fontFamily:c(a.axisNameFont,a.outCanfontFamily),fontSize:c(a.axisNameFontSize,parseInt(a.outCanfontSize,10))+"px",color:P(c(a.axisNameFontColor,a.outCancolor),e(a.axisNameFontAlpha,a.axisNameAlpha,100)),fontWeight:e(a.axisNameFontBold,1)?"bold":"normal",fontStyle:e(a.axisNameFontItalic)?"italic":"normal",border:f||a.axisNameBgColor?e(a.axisNameBorderThickness,1)+"px solid":void 0,borderColor:f,borderThickness:e(a.axisNameBorderThickness,
1),borderPadding:e(a.axisNameBorderPadding,2),borderRadius:e(a.axisNameBorderRadius,0),backgroundColor:a.axisNameBgColor?P(a.axisNameBgColor,e(a.axisNameBgAlpha,a.axisNameAlpha,100)):"",borderDash:e(a.axisNameBorderDashed,0)?J(e(a.axisNameBorderDashLen,4),e(a.axisNameBorderDashGap,2),e(a.axisNameBorderThickness,1)):"none"};b.name.style.lineHeight=r(b.name.style);f=(f=fa(d.trendvaluebordercolor,""))?P(f,e(d.trendvalueborderalpha,d.trendvaluealpha,100)):"";b.trend=b.trend||{};b.trend.trendStyle={fontFamily:c(d.trendvaluefont,
a.outCanfontFamily),color:c(d.trendvaluefontcolor,a.trendlineColor,a.outCancolor,"333333"),fontSize:H(d.trendvaluefontsize,parseInt(a.outCanfontSize,10))+"px",fontWeight:e(d.trendvaluefontbold)?"bold":"normal",fontStyle:e(d.trendvaluefontitalic)?"italic":"normal",border:f||d.trendvaluebgcolor?e(d.trendvalueborderthickness,1)+"px solid":"",borderColor:f,borderThickness:e(d.trendvalueborderthickness,1),borderPadding:e(d.trendvalueborderpadding,2),borderRadius:e(d.trendvalueborderradius,0),backgroundColor:d.trendvaluebgcolor?
P(d.trendvaluebgcolor,e(d.trendvaluebgalpha,d.trendvaluealpha,100)):"",borderDash:e(d.trendvalueborderdashed,0)?J(e(d.trendvalueborderdashlen,4),e(d.trendvalueborderdashgap,2),e(d.trendvalueborderthickness,1)):"none"};b.trend.trendStyle.lineHeight=r(b.trend.trendStyle);b.labels=b.labels||{};b.lines=b.lines||{};b.band=b.band||{};f=(f=fa(d.labelbordercolor,""))?P(f,e(d.labelborderalpha,d.labelalpha,100)):"";b.labels.style={fontFamily:c(a.labelFont,a.outCanfontFamily),fontSize:e(a.labelFontSize,parseInt(a.outCanfontSize,
10))+"px",fontWeight:e(a.labelFontBold)?"bold":"normal",fontStyle:e(a.labelFontItalic)?"italic":"normal",color:P(c(a.labelFontColor,a.outCancolor),e(a.labelFontAlpha,100)),labelLink:d.labellink,border:f||d.labelbgcolor?e(d.labelborderthickness,1)+"px solid":"",borderColor:f,borderThickness:e(d.labelborderthickness,1),borderPadding:e(d.labelborderpadding,2),borderRadius:e(d.labelborderradius,0),backgroundColor:d.labelbgcolor?P(d.labelbgcolor,e(d.labelbgalpha,d.labelalpha,100)):"",borderDash:e(d.labelborderdashed,
0)?J(e(d.labelborderdashlen,4),e(d.labelborderdashgap,2),e(d.labelborderthickness,1)):"none"};b.labels.style.lineHeight=r(b.labels.style);b.numberFormatterFn=c(a.numberFormatterFn);b.axisEndLabelDisplaySpace={left:0,right:0,top:0,bottom:0};b.isConfigured=!0},_processAxisBreak:function(){var b=this.config,a,c,d,f;b.breakPoints=[];a=b.axisBreak.split("|");d=0;f=a.length;for(c=0;d<f;d+=1)a[d]=a[d].split(","),isNaN(a[d][0])||isNaN(a[d][1])||(b.breakPoints[c]={start:e(a[d][0]),end:e(a[d][1]),length:e(a[d][2],
0)},c+=1);b.breakPoints.sort(function(b,a){return b.start-a.start});b.hasBreakPoints=!0;this._validateBreakPoints()},_validateBreakPoints:function(){var b=this.config,a=b.breakPoints,c=0,e,d=a.length;for(e=0;e<d;e+=1)c+=a[e].end-a[e].start;b.totalBreakAmount=c},_getRelativeBreakValue:function(b){var a=this.config.breakPoints,c,e=a.length,d=0;for(c=0;c<e;c+=1){if(b>=a[c].start&&b<=a[c].end)return a[c].start-d;if(b<a[c].start)break;d+=a[c].end-a[c].start}return b-d},_getRealBreakValue:function(b){var a=
this.config.breakPoints,c,e=a.length;for(c=0;c<e;c+=1)if(b>=a[c].start)b+=a[c].end-a[c].start;else if(b<a[c].start)break;return b},getBreakPoints:function(){var b=this.config;return b.hasBreakPoints?b.breakPoints:!1},setCanvas:function(b){this.config.canvas=b},getAxisBase:function(){var b=this.config,a=b.axisRange.min,c=b.axisRange.max;return 0>a&&0<c?0:b.isReverse?c:0>=c?c:a},getValue:function(b){var a=this.config,c=a.axisRange,e=a.canvas,d=a.axisDimention||{},k=this.chart.config,h=k.viewPortConfig,
f=d.axisLength||e.canvasWidth||k.canvasWidth,d=d.axisLength||e.canvasHeight||k.canvasHeight,e=c.max,c=c.min,k=e-c;a.isVertical?(f=d*h.scaleY/k,b=a.isReverse?c+(h.y*h.scaleY+Number(b))/f:e-(h.y*h.scaleY+Number(b))/f):(f=f*h.scaleX/k,b=a.isReverse?e-(h.x*h.scaleX+Number(b))/f:c+(h.x*h.scaleX+Number(b))/f);return b},_getLabelElement:function(b){var a=this.components;return this.config.hasCategory?a&&a.categoryLabel&&a.categoryLabel[b]&&a.categoryLabel[b].graphics&&a.categoryLabel[b].graphics.label:this.graphics&&
this.graphics.labels&&this.graphics.labels[b]},_getVisibleConfig:function(){var b=this.config,a=b.axisRange,c=b.canvas,e=b.axisDimention||{},d=this.chart.config,k=d.viewPortConfig,h=e.axisLength||c.canvasWidth||d.canvasWidth,c=e.axisLength||c.canvasHeight||d.canvasHeight,e=a.max,a=a.min,d=e-a;b.isVertical?(d/=c,b=k.scaleY,h=e-d*k.y,c=e-d*(k.y+c/b)):(d/=h,b=k.scaleX,c=a+d*k.x,h=a+d*(k.x+h/b));return{maxValue:h,minValue:c}},_setTickIntervalAfterZoom:function(){var b=this.config,a=this.chart.config.viewPortConfig,
c=b.isVertical,d=b.axisRange,f=m.getAxisLimits,k=b.numDivLines,h=b.setAdaptiveMin,u=b.adjustDiv,u=b.rawAttr,p,g,l,ca;b.hasCategory||(c=c?a.scaleY:a.scaleX,a=e(u.axisrange?u.axisrange.max:d.max),ca=e(u.axisrange?u.axisrange.min:d.min),g=d.max,l=d.min,h=p=!h,u=e(1===c?b.adjustDiv:0),b=f(a,ca,g,l,p,h,k*c,u),d.min=Number(L(b.Min,10)),d.max=Number(L(b.Max,10)),d.tickInterval=Number(L(b.divGap,10)),0===d.tickInterval&&(d.tickInterval=1))},_getAttribAsObj:function(b){var a,c={};for(a in b)b.hasOwnProperty(a)&&
"string"===typeof b[a]&&b[a]&&(c[a]=b[a]);return c},_extractAttribToEnd:function(b,a){var c;b._attrib=q({},a);b._attrib=q(b._attrib,this._getAttribAsObj(b));for(c in b)b.hasOwnProperty(c)&&b[c]&&"object"===typeof b[c]&&"_attrib"!==c&&this._extractAttribToEnd(b[c],b._attrib)},setCategory:function(b,a){var c;function d(b){var a={labelfont:["fontFamily"],labelfontcolor:["fontColor"],labelfontsize:["fontSize",function(b){return b?e(b)+"px":void 0}],labelfontbold:["fontWeight",function(b){return b?"bold":
"normal"}],labelfontitalic:["fontStyle",function(b){return b?"italic":"normal"}],labelfontalpha:["fontAlpha"]},c=function(b){return b},g=!1,w,h,f,D={},I,u;for(w in k)"category"===w||w in b||(h=k[w],b[w]=h);for(w in a){f=a[w];I=f[0];u=f[1]||c;h=b[w];f=b[I.toLowerCase()];if(void 0!==h||void 0!==f)if(void 0!==(h=u(h))||void 0!==(h=u(f)))D[I]=h,g=!0;g&&(b.style=D)}}var f=this.chart.jsonData.categories,k=f&&f[0]||{},f=this.config,h=f.axisRange;c=b&&b.length;var u=f.startPad||0,p=f.endPad||0,g=0,m=void 0!==
a?a:!0,l,r,q,n,z,t;f.hasCategory=1;f.categories={};n=f.categories.category=[];z=f.categories.vline=[];r=f.categories.catIdMap={};f.isCategoryAnimate=!1;f.isCategoryVlineAnimate=!1;for(q=0;q<c;q+=1)(l=b[q])||(l={}),t=Number(l.x),"true"!==l.vline&&!0!==l.vline&&1!==l.vline&&"1"!==l.vline?(l.id&&(r[l.id.toLowerCase()]={catObj:l,index:q}),d(l),t===t&&(l.x=t,f.irregularCatAxis=!0),n.push(l),n[g].label=G(n[g].label),g+=1):(l.startIndex=n.length-1,z.push(l));f.oriCatLen=g-1;1===g&&(0===u&&(u=.5),0===p&&
(p=.5));m&&(c=g-1+p,h.min=Number(L(-u,10)),h.max=Number(L(c,10)),h.tickInterval=Number(L(1,10)));f.isConfigured=!0},updateCategory:function(b,a){var c=this.config,e,d;e=c.categories.category;if(e[b])for(d in a)a.hasOwnProperty(d)&&(e[b][d]=a[d]);c.isConfigured=!0},categoryInsert:function(b,a,c){var e=this.config,d=e.axisRange,k=a.length,h=e.endPad||0,f,p,g,m,l;f=e.categories.category;g=e.categories.catIdMap;p=e.categories.vline;for(m=0;m<k;m+=1)l=a[m],"true"!==l.vline&&!0!==l.vline&&1!==l.vline&&
"1"!==l.vline?(l.id&&(g[l.id]={catObj:l,i:b}),f.splice(b,0,l),b+=1):(l.startIndex=b-2,p.push(l));c&&(d.max=Number(L(f.length-1+h,10)));e.isConfigured=!0},categoryDelete:function(b,a,c){var e=this.config,d=e.axisRange,k,h,f;e.isCategoryAnimate=!0;k=e.animateCategories=e.categories.category.slice();h=0;for(f=k.length;h<f;h++)k[h].animate=!0,k[h].leftShift=a,k[h]["delete"]=h<a;e.isCategoryVlineAnimate=!0;k=e.animateCategoriesVline=e.categories.vline.slice();h=0;for(f=k.length;h<f;h++)k[h].animate=!0,
k[h].leftShift=a;e.categories.category.splice(b,a);this._shiftVline(b,a,"left");c&&(d.max-=a);e.isConfigured=!0},categoryUpdate:function(b,a){var c=this.config,e;e=c.categories.category;e[b]&&(e[b]=a);c.isConfigured=!0},_getRotateTextTransformString:function(b,a,c){var e,d="";b=b.matrix.toMatrixString();b.replace(/\(([^\)]*)/,function(b,h){e=h.split(",");e[4]=Number(e[4])+a;e[5]=Number(e[5])+c;d=e.join();return b});d="m"+d;""===b&&(d="t"+a+","+c);return d},_shiftVline:function(b,a,c){var e=this.config,
d=e.categories.vline,e=e.categories.category.length,k=d.length,h,f;for(h=0;h<k;h+=1)if(f=d[h],f.startIndex>=b&&(f.startIndex="right"===c?f.startIndex+a:f.startIndex-a,0>f.startIndex-a||f.startIndex-a>=e))d.splice(h,1),--k,--h},shiftLabels:function(b,a){var c=this.config.labels;c.shiftX=b;c.shiftY=a},setAxisPadding:function(b,a){var c=this.config;b=c.startPad=e(b,0);a=c.endPad=e(a,0);0===c.oriCatLen&&(0===b&&(b=.5),0===a&&(a=.5));c.hasCategory?0<=c.oriCatLen&&this.setAxisRange({max:c.oriCatLen+a,min:-b}):
c.originalMax&&c.originalMin&&this.setDataLimit(c.originalMax,c.originalMin)},setAxisConfig:function(b){var a=this.config,c;for(c in b)b.hasOwnProperty(c)&&(a[c]=b[c])},getAxisConfig:function(b){var a=this.config;return b?a[b]:a},setLabelConfig:function(b){var a=this.config.labels,c;for(c in b)b.hasOwnProperty(c)&&(a[c]=b[c])},setAxisRange:function(b){var a=this.config.axisRange,c;for(c in b)b.hasOwnProperty(c)&&void 0!==a[c]&&(a[c]=b[c])},getAxisEndLabelDisplaySpace:function(){return this.config.axisEndLabelDisplaySpace||
{}},getDivLineCount:function(){var b=this.config.axisRange;return Qa((b.max-b.min)/b.tickInterval)-1},getLabel:function(b){var a=this.config;b=a.categories&&a.categories.category[b];return{label:b&&(b.oriLabel||b.label),tooltext:b&&b.tooltext}},getCategoryFromId:function(b){var a=this.config;return(b=a.categories&&a.categories.catIdMap[b])?b:{}},getCategoryPositionById:function(b){var a=this.config;return(b=a.categories&&a.categories.catIdMap[b])?b.catObj.x||b.index:!1},getClosestDiv:function(b,a){var c=
this.config,e=c.axisRange,d=e.tickInterval,k=e.min,e=b;c.hasCategory&&(k=0,d=1);a=a||d/2;k=(b-k)%d;d-=k;c.showZeroPlaneValue&&0>b-k&&0<b&&(k=b);c.showZeroPlaneValue&&0<b+d&&0>b&&(d=-b);k<=d?k<=a&&(e=b-k):d<=a&&(e=b+d);return e},setAxisDimention:function(b){var a=this.config,a=a.axisDimention||(a.axisDimention={});a.x=e(b.x,a.x);a.y=e(b.y,a.y);a.opposite=e(b.opposite,a.opposite);a.axisLength=e(b.axisLength,a.axisLength)},setDataLimit:function(b,a){var c=this.config,d=c.axisRange,f=m.getAxisLimits,
k=c.isPercent?100:c.axisMaxValue,h=c.isPercent?0:c.axisMinValue,u=c.numDivLines,p=c.setAdaptiveMin,g=c.adjustDiv,l=c.startPad||0,ca=c.endPad||0;c.originalMax=b;c.originalMin=a;b=c.isPercent?100:b+ca;a=c.isPercent?0:a-l;p=l=!p;c.hasBreakPoints&&(b-=c.totalBreakAmount);c=f(e(b,k),e(a,h),k,h,l,p,u,g);d.min=Number(L(c.Min,10));d.max=Number(L(c.Max,10));d.tickInterval=Number(L(c.divGap,10));0===d.tickInterval&&(d.tickInterval=1)},getPixel:function(b){var a=this.config,c=a.canvas,e=this.chart.config,d=
a.axisDimention||{},k=e.viewPortConfig,h=d.axisLength||c.canvasHeight||e.canvasHeight,f=d.y||c.canvasTop||e.canvasTop,p=d.x||c.canvasLeft||e.canvasLeft,g=d.y+d.axisLength||c.canvasBottom||e.canvasBottom,c=d.x+d.axisLength||c.canvasRight||e.canvasRight,e=a.axisRange.min;a.hasBreakPoints&&(b=this._getRelativeBreakValue(b));k||(k={x:p,y:f,scaleX:1,scaleY:1});a.isVertical?(d=-this.getPVR(),b=a.isReverse?g-((b-e)*d+(h*k.scaleY-k.y*k.scaleY)):f+((b-e)*d+(h*k.scaleY-k.y*k.scaleY))):(d=this.getPVR(),b=a.isReverse?
c-((b-e)*d-k.x*k.scaleX):p+((b-e)*d-k.x*k.scaleX));return b},_getCustomPixel:function(b,a){var c=this.config,e=c.canvas,d=this.chart.config,k=c.axisRange,h=d.viewPortConfig,f=a||e.canvasHeight||d.canvasHeight,p=a||e.canvasWidth||d.canvasWidth,g=e.canvasTop||d.canvasTop,m=e.canvasLeft||d.canvasLeft,l=l||d.canvasBottom,e=e.canvasRight||d.canvasRight,d=k.min,k=k.max-d;c.hasBreakPoints&&(b=this._getRelativeBreakValue(b));h||(h={x:m,y:g,scaleX:1,scaleY:1});c.isVertical?(p=-(f*h.scaleY/k),c=c.isReverse?
l-((b-d)*p+(f*h.scaleY-h.y*h.scaleY)):g+((b-d)*p+(f*h.scaleY-h.y*h.scaleY))):(p=p*h.scaleX/k,c=c.isReverse?e-((b-d)*p-h.x*h.scaleX):m+((b-d)*p-h.x*h.scaleX));return c},getLimit:function(){var b=this.config.axisRange;return{min:b.min,max:b.max,tickInterval:b.tickInterval}},getAxisPosition:function(b){return this.getPixel(b)},getPVR:function(){var b=this.config,a=b.canvas,c=b.isVertical,e=b.axisRange,d=b.axisDimention||{},k=this.chart.config,b=k.viewPortConfig,h=d.axisLength||a.canvasHeight||k.canvasHeight,
a=d.axisLength||a.canvasWidth||k.canvasWidth,e=e.max-e.min,e=0<e?e:1;return c?h*b.scaleY/e:a*b.scaleX/e},_isZoomed:function(){var b=this.chart.config;if(this.config.isVertical){if(b.viewPortConfig&&1===b.viewPortConfig.scaleY)return!1}else if(b.viewPortConfig&&1===b.viewPortConfig.scaleX)return!1;return!0},draw:function(){var b=this.config,a=b.canvas,c=this.chart,e=c.config,d=b.isVertical,k=c.graphics,h=c.components.paper,f=e.viewPortConfig,p=b.viewPortRatio||{},g=a.canvasLeft||e.canvasLeft,m=a.canvasTop||
e.canvasTop,l=a.canvasWidth||e.canvasWidth,r=a.canvasHeight||e.canvasHeight,a=b.axisContainer,e=b.axisLabelContainerTop,q=b.axisPlotLineContainer,n=b.axisPlotLineContainerTop,z=b.vlineLabelContainer,t=b.axisBandContainer,A=b.axisNameContainer,v=b.axisTrendContainerTop,B=b.axisTrendContainerBottom,F=b.axisTrendLabelContainer,E=b.axisAxisLineContainer,H=b.axisAxisLineContainerBottom,C=b.divLineThickness||0,G=k.axisBottomGroup,S=k.axisTopGroup,Q=b.animateAxis,J,P,K,la,Z,L,M,U,ba,aa,V,O,R;ba=f.y*f.scaleY;
aa=f.x*f.scaleX;c=c.get("config","animationObj");V=c.animObj;O=c.dummyObj;J=c.transposeAnimDuration;R=d?g+","+(m-C)+","+l+","+(r+2*C):g-C+","+m+","+(l+2*C)+","+r;C=k.axisBandGroup=k.axisBandGroup||h.group("dataset-Band-group",G);P=k.axisPlotLineGroup=k.axisPlotLineGroup||h.group("dataset-Line-group",G);U=k.axisTrendGroupBottom=k.axisTrendGroupBottom||h.group("dataset-Trend-group-bottom",G);K=k.axisPlotLineGroupTop=k.axisPlotLineGroupTop||h.group("dataset-Line-group-top",S);Z=k.axisNameGroup=k.axisNameGroup||
h.group("dataset-Name-group",G);la=k.axisLineGroup=k.axisLineGroup||h.group("axis-Line-group",S);M=k.axisTrendGroupTop=k.axisTrendGroupTop||h.group("dataset-Trend-group-top",S);L=k.axisLabelGroup=k.axisLabelGroup||h.group("dataset-Label-group",G);k=k.axisLabelGroupTop=k.axisLabelGroupTop||h.group("dataset-Label-group",S);a||(b.axisContainer=a=h.group("dataset-axis",L));e||(b.axisLabelContainerTop=e=h.group("dataset-top-label",k));E||(b.axisAxisLineContainer=h.group("axis-line-tick",la));z||(b.vlineLabelContainer=
z=h.group("axis-vline-label",la));t?J&&Q?t.animateWith(O,V,{"clip-rect":g+","+m+","+l+","+r},J,c.animType):t.attr({"clip-rect":g+","+m+","+l+","+r}):(b.axisBandContainer=t=h.group("dataset-axis-bands",C),t.attr({"clip-rect":g+","+m+","+l+","+r}));q?J&&Q?q.animateWith(O,V,{"clip-rect":R},J,c.animType):q.attr({"clip-rect":R}):(b.axisPlotLineContainer=q=h.group("dataset-axis-lines",P),q.attr({"clip-rect":R}));n?J&&Q?n.animateWith(O,V,{"clip-rect":R},J,c.animType):n.attr({"clip-rect":R}):(b.axisPlotLineContainerTop=
n=h.group("dataset-axis-lines-top",K),n.attr({"clip-rect":R}));v?J&&Q?v.animateWith(O,V,{"clip-rect":g+","+m+","+l+","+r},J,c.animType):v.attr({"clip-rect":g+","+m+","+l+","+r}):(b.axisTrendContainerTop=v=h.group("dataset-axis-trend-top",M),v.attr({"clip-rect":g+","+m+","+l+","+r}));B?J&&Q?B.animateWith(O,V,{"clip-rect":g+","+m+","+l+","+r},J,c.animType):B.attr({"clip-rect":g+","+m+","+l+","+r}):(b.axisTrendContainerBottom=B=h.group("dataset-axis-trend-bottom",U),B.attr({"clip-rect":g+","+m+","+l+
","+r}));F||(b.axisTrendLabelContainer=h.group("dataset-axis-trend-label",M));A||(b.axisNameContainer=h.group("dataset-axis-name",Z));H||(b.axisAxisLineContainerBottom=h.group("axis-line-tick-bottom",G));p.scaleX!==f.scaleX||p.scaleY!==f.scaleY?(p.scaleX=f.scaleX,p.scaleY=f.scaleY):d?(b=ba-f.y*f.scaleY,z.transform("t0,"+b),a.transform("t0,"+b),e.transform("t0,"+b),q.transform("t0,"+b),n.transform("t0,"+b),t.transform("t0,"+b),v.transform("t0,"+b),B.transform("t0,"+b)):(b=aa-f.x*f.scaleX,z.transform("t"+
b+",0"),a.transform("t"+b+",0"),e.transform("t"+b+",0"),q.transform("t"+b+",0"),n.transform("t"+b+",0"),t.transform("t"+b+",0"),v.transform("t"+b+",0"),B.transform("t"+b+",0"));this._drawComponents()},hide:function(){var b=this.config;b.axisContainer&&(b.axisLabelContainerTop.hide(),b.axisContainer.hide(),b.axisPlotLineContainer.hide(),b.axisPlotLineContainerTop.hide(),b.axisBandContainer.hide(),b.axisNameContainer.hide(),b.axisTrendContainerTop.hide(),b.axisTrendContainerBottom.hide(),b.axisTrendLabelContainer.hide(),
b.axisAxisLineContainer.hide(),b.axisAxisLineContainerBottom.hide())},show:function(){var b=this.config;b.axisContainer&&(b.axisLabelContainerTop.show(),b.axisContainer.show(),b.axisPlotLineContainer.show(),b.axisPlotLineContainerTop.show(),b.axisBandContainer.show(),b.axisNameContainer.show(),b.axisTrendContainerTop.show(),b.axisTrendContainerBottom.show(),b.axisTrendLabelContainer.show(),b.axisAxisLineContainer.show(),b.axisAxisLineContainerBottom.show())},_drawComponents:function(){var b=this.config,
a=this.chart.is3D,c,e;b.drawAxisName&&this._drawAxisName();b.drawAxisLine&&this._drawAxisLine();b.drawAxisLine&&b.hasBreakPoints&&this._drawBreakPoints();b.isActive||(c=b.lines.isDraw,e=b.band.isDraw,b.lines.isDraw=0,b.band.isDraw=0);b.hasCategory?(b.drawLabels&&this._drawCategory(),b.drawOnlyCategoryLine&&this._drawCategoryLine()):(b.drawLabels&&this._drawLabel(),b.drawPlotlines&&this._drawPlotLine());b.hasCategory&&"auto"!==b.xAxisLabelMode?(b.drawPlotlines&&this._drawCategoryVline(),b.drawPlotlines&&
!a&&this._drawCategoryPlotLine(),b.drawPlotBands&&!b.hasBreakPoints&&!a&&this._drawCategoryPlotBand(),"mixed"===b.xAxisLabelMode&&b.drawPlotBands&&!b.hasBreakPoints&&!a&&this._drawPlotBand()):b.drawPlotBands&&!b.hasBreakPoints&&!a&&this._drawPlotBand();b.isActive||(b.lines.isDraw=c,b.band.isDraw=e);b.drawTrendLines&&this._drawTrendLine();b.isConfigured=!1},_manageReuseableElement:function(b,a,c){var e=this.config.isConfigured,d=this.chart.components.paper,k,h,f,p;k=b._graphicElem||(b._graphicElem=
[]);h=b._freeElem||(b._freeElem=[]);f=b._usedElem||(b._usedElem={});p=b._drawnIds={};return{getElement:function(b,m){var l=m||{};p[b]=!0;if(f[b])return f[b]._applyAllAttr=e,f[b]._firstTimeDraw=!1,f[b];if(0<h.length)return f[b]=h.pop(),f[b]._applyAllAttr=!0,f[b]._firstTimeDraw=!1,f[b];k.push(d[a](l,c));f[b]=k[k.length-1];f[b]._firstTimeDraw=!0;f[b]._applyAllAttr=!1;return f[b]},freeUnusedElement:function(){for(var b in f)f.hasOwnProperty(b)&&!p[b]&&(f[b].attr({visibility:"hidden"}),h.push(f[b]),delete f[b])}}},
_drawLabel:function(){var b=this.config,a=b.canvas,c=b.axisDimention||{},e=this.chart,d=e.config,k=e.components,h=b.axisRange,f=b.isOpposit,p,g=b.labels,m=g.style,l,r,q=b.isVertical,n=b.animateAxis,z=h.max,t=h.min,A=a.canvasTop||d.canvasTop,v=a.canvasLeft||d.canvasLeft,B=a.canvasBottom||d.canvasBottom,a=a.canvasRight||d.canvasRight,d=b.axisNameContainer,F=b.labelPadding,E=b.showUpperLimit,H=k.paper,C=b.labelMaxH,G=b.labelMaxW,S=b.extremeLabels,Q=q?c.x:c.y,c=c.opposite,J=b.drawLabelOnBothSide,P=this.graphics.labels||
[],K=0,la=!0,Z=!1,xa,M,U,ba={fontFamily:m.fontFamily,fontSize:m.fontSize,fontWeight:m.fontWeight,fontStyle:m.fontStyle,lineHeight:m.lineHeight},aa,V,O,R,Y,ea=function(){(E||!E&&1>=b.labels.step)&&!Z&&l<z&&l+p>z&&(r=l=z-p,Z=!0);b.showZeroPlane&&0>l&&0<l+p?(l=0,r+=p):l<r?l=r:(l+=p,r+=p)};m.lineHeight&&(xa=m.lineHeight,-1!==xa.indexOf("px")&&(xa=xa.replace("px",""),xa=parseFloat(xa)));if(b.labels.isDraw){!J&&b.drawLabelsOpposit&&(f=!f,Q=c);la=e.get("config","animationObj");O=la.animObj;R=la.dummyObj;
e=la.transposeAnimDuration;Y=la.animType;la=Qa(this.getPixel(t)-this.getPixel(t+h.tickInterval));q?(b.labelMaxH>la&&!b.hasCategory&&(M=lb(b.labelMaxH/la)),M>b.labels.step&&(b.labels.step=M)):(b.labelMaxW>la&&!b.hasCategory&&(M=lb(b.labelMaxW/la)),M>b.labels.step&&(b.labels.step=M,E=!0));b.labels.step?p=h.tickInterval*b.labels.step:p=h.tickInterval;U=b.labels.rotation;h=this._getVisibleConfig();la=this._isZoomed();K=t+p*fb((h.minValue-3*p-t)/p);M=t+p*fb((h.maxValue+3*p-t)/p);K=K<t?t:K;M=M>z?z:M;aa=
{fill:m.color,"line-height":xa,"font-size":m.fontSize};J&&(V={fill:m.color,"line-height":xa,"font-size":m.fontSize});q||(U?(aa["text-anchor"]=f?Ta:$a,aa["vertical-align"]="center",J&&(V["text-anchor"]=f?$a:Ta,V["vertical-align"]="center")):(aa["vertical-align"]=f?mb:Ua,J&&(V["vertical-align"]=f?Ua:mb)));d.css(ba);S.firstLabel={};S.lastLabel={};r=l=K;for(K=0;l<=M;){if(!la||!(l<h.minValue||l>h.maxValue))if(b.labels.drawNormalVal||b.labels.drawLimitVal&&(l===t||l===z))if(b.labels.drawNormalVal||l===
t||l===z)if(b.labels.drawLimitVal||l!==t&&l!==z)if(0!==b.showZeroPlane&&0!==b.showZeroPlaneValue||0!==l){if(1===b.showZeroPlane&&1===b.showZeroPlaneValue&&(0>l&&0<l+p||0<l&&0>l-p)&&l!==t&&l!==z)if(q){if(this.getPixel(l)+C>=this.getPixel(0)&&this.getPixel(0)>=this.getPixel(l)-C){ea();continue}}else if(this.getPixel(l)+G>=this.getPixel(0)&&this.getPixel(0)>=this.getPixel(l)-G){ea();continue}m=b.hasBreakPoints?L(this._getRealBreakValue(l),10):L(l,10);if(q)xa=b.numberFormatterFn?k.numberFormatter[b.numberFormatterFn]:
b.isPercent?k.numberFormatter.percentValue:k.numberFormatter.yAxis,xa=""+xa.call(k.numberFormatter,m,b.axisIndex),aa["text-anchor"]=f?Ta:$a,aa.text=xa,aa.x=f?(Q||a)+F:(Q||v)-F,aa.y=this.getPixel(m),J&&(V["text-anchor"]=f?$a:Ta,V.text=xa,V.x=f?(c||v)-F:(c||a)+F,V.y=this.getPixel(m));else{xa=b.numberFormatterFn?k.numberFormatter[b.numberFormatterFn]:b.isPercent?k.numberFormatter.percentValue:k.numberFormatter.xAxis;xa=""+xa.call(k.numberFormatter,m);aa.text=xa;aa.x=this.getPixel(m);aa.y=f?(Q||A)-F:
(Q||B)+F;if(l!==z&&E&&aa.x+b.labelMaxW>a){ea();continue}J&&(V.text=xa,V.x=this.getPixel(m),V.y=f?(c||B)+F:(c||A)-F)}g.shiftX&&(aa.x+=g.shiftX);g.shiftY&&(aa.y+=g.shiftY);aa.transform=H.getSuggestiveRotation(U,aa.x,aa.y);P[K]?(m=P[K],e&&n?m.animateWith(R,O,aa,e,Y):m.attr(aa)):P[K]=m=H.text(aa,d);K+=1;J&&(V.transform=H.getSuggestiveRotation(U,V.x,V.y),P[K]?(m=P[K],e&&n?m.animateWith(R,O,V,e,Y):m.attr(V)):P[K]=m=H.text(V,d),K+=1);l===z?S.lastLabel.graphic=m:l===t&&(S.firstLabel.graphic=m)}ea()}if(P[K])for(l=
K;l<P.length;l++)P[l].attr({text:""});this.graphics.labels=P}else if(P[K])for(l=K;l<P.length;l++)P[l].attr({text:""})},_drawAxisName:function(){var b=this.config,a=b.canvas,c=this.chart,d=c.config,f=c.components,k=b.axisDimention||{},h=b.name.style,u=b.name.value,p=b.isVertical,g=b.isOpposit,m=c.linkedItems.smartLabel,l=a.canvasBottom||d.canvasBottom,r=a.canvasLeft||d.canvasLeft,q=a.canvasRight||d.canvasRight,z=a.canvasTop||d.canvasTop,n=a.canvasHeight||d.canvasHeight,t=a.canvasWidth||d.canvasWidth,
a=b.axisNameContainer,A=b.axisNamePadding,v=b.nameMaxH,B=b.nameMaxW,F=p?k.x:k.y,E=k.opposite,H=this.graphics.axisName||{},k=e(b.name.rotation,p?270:90),f=f.paper,C={fontFamily:h.fontFamily,fontSize:h.fontSize,lineHeight:h.lineHeight,fontWeight:h.fontWeight,fontStyle:h.fontStyle},G=b.animateAxis,S,Q,J,P;b.name.isDraw?(S=c.get("config","animationObj"),Q=S.animObj,J=S.dummyObj,c=S.transposeAnimDuration,P=S.animType,S={fontFamily:h.fontFamily,fill:h.color,"vertical-align":"center","font-size":h.fontSize,
"line-height":h.lineHeight},m.useEllipsesOnOverflow(d.useEllipsesWhenOverflow),m.setStyle({fontSize:h.fontSize,fontFamily:h.fontFamily,lineHeight:h.lineHeight,fontWeight:h.fontWeight}),!b.drawLabelOnBothSide&&b.drawAxisNameOpposit&&(g=!g,F=E),p?(b.relativeAxis&&b.relativeAxis.config&&b.relativeAxis.config.axisNamePadding&&(A=La(b.relativeAxis.config.axisNamePadding,A)),g&&d.canvasMarginRight&&(A=La(A,d.canvasMarginRight-d.marginLeft-B)),!g&&d.canvasMarginLeft&&(A=La(A,d.canvasMarginLeft-d.marginRight-
B)),t=b.axisNameAlignCanvas||d.captionalignment&&"left"==d.captionalignment?n:La(n,b.oriCanvasHeight||0),k?(u=m.getSmartText(u,t,B),m=u.tooltext,t=u.width):(u=m.getSmartText(u,B,t),m=u.tooltext,t=u.height),d=b.drawAxisNameFromBottom?l-t/2:t>n?d.height/2:z+n/2,S.text=u.text,S.x=g?(F||q)+A+B/2:(F||r)-A-B/2,S.y=d):(u=m.getSmartText(u,t,v),m=u.tooltext,g&&d.canvasMarginTop&&(A=La(A,d.canvasMarginTop-d.marginTop-v)),!g&&d.canvasMarginBottom&&(A=La(A,d.canvasMarginBottom-d.marginBottom-v)),S.text=u.text,
S.x=r+t/2,S.y=g?(F||z)-A-v/2:(F||l)+A+v/2),S.transform=f.getSuggestiveRotation(p?k:0,S.x,S.y),this.graphics.axisName?(S.visibility=Na,c&&G?H.animateWith(J,Q,S,c,P):H.attr(S),b.showTooltip&&m&&H.trackTooltip(!0),H.css(C)):(H=f.text(S,C,a).tooltip(m),b.showTooltip&&m&&H.trackTooltip(!0)),""!==u.text?H.attr({"text-bound":[h.backgroundColor,h.borderColor,h.borderThickness,h.borderPadding,h.borderRadius,h.borderDash]}):H.attr({"text-bound":[]}),this.graphics.axisName=H):this.graphics.axisName&&this.graphics.axisName.attr({visibility:Va})},
_drawPlotLine:function(){var b=this.config,a=b.axisRange,c=a.tickInterval,e=b.isVertical,d=b.canvas,k=this.chart,h=this.chart.is3D,f=k.config,p=d.canvasBottom||f.canvasBottom,g=d.canvasLeft||f.canvasLeft,m=d.canvasRight||f.canvasRight,d=d.canvasTop||f.canvasTop,f=a.max,a=a.min,l=b.axisPlotLineContainer,r=b.axisPlotLineContainerTop,q=b.showCanvasBorder,n=k.components.paper,z=this.graphics.line||[],t=0,A=P(b.divLineColor,b.divLineAlpha),v=b.divLineThickness,B=b.divLineIsDashed?J(b.divLineDashLen,b.divLineDashGap,
v):"none",F=P(b.zeroPlaneColor,b.zeroPlaneAlpha),E=b.zeroPlaneThickness,H=b.animateAxis,C,G,S,Q,K,wb,L,la,B={stroke:A,"stroke-width":v,"stroke-dasharray":B};2>Qa(this.getPixel(a)-this.getPixel(a+c))&&(b.lines.isDraw=0);if(b.lines.isDraw){t=k.get("config","animationObj");wb=t.animObj;L=t.dummyObj;k=t.transposeAnimDuration;la=t.animType;G=this._getVisibleConfig();t=a+c*fb((G.minValue-3*c-a)/c);G=a+c*fb((G.maxValue+3*c-a)/c);t=t<a?a:t;G=G>f?f:G;K=l;Q=S=t;for(t=0;S<=G;)0===b.showZeroPlane&&0===S||q&&
(S===f||S===a)||(0===S&&S!==a&&S!==f&&(B.stroke=F,B["stroke-width"]=E,b.showZeroPlaneOnTop&&!h&&(K=r)),C=b.hasBreakPoints?this._getRealBreakValue(S):S,C=e?sb(["M",g,this.getPixel(C),"L",m,this.getPixel(C)],v):sb(["M",this.getPixel(C),d,"L",this.getPixel(C),p],v),B.path=C.path,B["shape-rendering"]=C.isCrisped?"crisp":void 0,z[t]?(C=z[t],K.appendChild(C),k&&H?C.animateWith(L,wb,B,k,la):C.attr(B)):(C=n.path(B,K),z[t]=C),0===S&&S!==a&&S!==f&&(B.stroke=A,B["stroke-width"]=v,K=l),t+=1),b.showZeroPlane&&
0>S&&0<S+c?(S=0,Q+=c):S<Q?S=Q:(S+=c,Q+=c);if(z[t])for(S=t;S<z.length;S++)z[S].attr({path:[]});this.graphics.line=z}else if(z[t])for(S=t;S<z.length;S++)z[S].attr({path:[]})},_drawAxisLine:function(){var b=this.config,a=b.axisRange,c=b.isVertical,d=b.isOpposit,f=b.canvas,k=this.chart,h=k.config,u=b.breakPoints,p=f.canvasBottom||h.canvasBottom,g=f.canvasLeft||h.canvasLeft,m=f.canvasRight||h.canvasRight,l=f.canvasTop||h.canvasTop,f=b.axisDimention||{},r=c?f.x:f.y,q=b.drawAxisLineWRTCanvas,z=k.jsonData.chart,
f=k.components.paper,h=this.graphics.axisLine||[],n=!1,t=0,A=a.max,v=a.min,a=a.tickInterval,B=b.axisAxisLineContainerBottom,F={},E=b.animateAxis,H,C,G,F=1===e(z.showyaxisline,z.showyaxisline)?e(z.yaxislinethickness,z.pyaxislinethickness,1):0;if(b.showAxisLine){H=k.get("config","animationObj");z=H.animObj;G=H.dummyObj;k=H.transposeAnimDuration;H=H.animType;if(c)if(d?r=(q?m:r||m)+b.axisLineThickness/2:(r=q?g:r||g,r-=b.axisLineThickness/2),b.hasBreakPoints){F=["M",r,p,"L"];p=0;for(q=u.length;p<q;p+=
1)g=this.getPixel(u[p].start),F.push(r,g,"M",r,g-4,"L");F.push(r,l)}else C=sb(["M",r,p,"L",r,l],b.axisLineThickness),F=C.path;else if(d?(r=q?l:r||l,r-=b.axisLineThickness/2):(r=q?p:r||p,r+=b.axisLineThickness/2),b.hasBreakPoints){F=["M",g-F,r,"L"];p=0;for(q=u.length;p<q;p+=1)g=this.getPixel(u[p].start),F.push(g,r,"M",g-4,r,"L");F.push(m,r)}else C=sb(["M",g-F,r,"L",m,r],b.axisLineThickness),F=C.path;h[t]?(u=h[t],k&&E?u.animateWith(G,z,{path:F,stroke:b.axisLineColor,"stroke-linecap":"butt","stroke-width":b.axisLineThickness,
"shape-rendering":C.isCrisped?"crisp":void 0},k,H):u.attr({path:F,"stroke-linecap":"butt",stroke:b.axisLineColor,"stroke-width":b.axisLineThickness,"shape-rendering":C.isCrisped?"crisp":void 0})):(u=f.path({path:F,"stroke-linecap":"butt",stroke:b.axisLineColor,"stroke-width":b.axisLineThickness},B),h[t]=u);t+=1;if(b.drawTick&&b.tickLength)for(F={stroke:b.tickColor,"stroke-width":b.tickWidth},d=c?d?r+b.tickLength:r-b.tickLength:d?r-b.tickLength:r+b.tickLength,C=this._getVisibleConfig(),t=v+a*fb((C.minValue-
3*a-v)/a),C=v+a*fb((C.maxValue+3*a-v)/a),C=C>A?A:C,p=t<v?v:t,t=1;p<=C;p+=a)v=b.hasBreakPoints?this._getRealBreakValue(p):p,v=this.getPixel(v),F.path=c?"M"+r+" "+v+"L"+d+" "+v:"M"+v+" "+r+"L"+v+" "+d,h[t]?(v=h[t],k&&E?v.animateWith(G,z,F,k,H):v.attr(F)):(v=f.path(F,B),h[t]=v),!n&&p<A&&p+a>A&&(p=A-a,n=!0),t+=1}if(h[t])for(p=t;p<h.length;p++)h[p].attr({path:[]});this.graphics.axisLine=h},_drawBreakPoints:function(){var b=this.config,a=b.isVertical,c=this.chart,e=c.config,d=b.breakPoints,e=b.canvas.canvasLeft||
e.canvasLeft,k=c.components.paper,h=this.graphics.brokeLine||[],f=c.graphics,p=b.animateAxis,g,m,l,r,q,z,n,t;if(b.showAxisLine)for(g=c.get("config","animationObj"),z=g.animObj,n=g.dummyObj,c=g.transposeAnimDuration,t=g.animType,g=0,r=d.length;g<r;g+=1)a?(m=e-b.axisLineThickness/2,l=this.getPixel(d[g].start),l=["M",m-4,l+4/3,"L",m+4,l-4/3,"M",m-4,l-8/3,"L",m+4,l-16/3]):l=["M",0,0],h[g]?(m=h[g],c&&p?m.animateWith(n,z,{path:l,stroke:b.axisLineColor,"stroke-width":b.axisLineThickness},c,t):m.attr({path:l,
stroke:b.axisLineColor,"stroke-width":b.axisLineThickness})):(m=k.path({path:l,stroke:b.axisLineColor,"stroke-width":b.axisLineThickness},f.axisLineGroup),h[g]=m),q+=1;if(h[q])for(g=q;g<h.length;g++)h[g].attr({path:[]});this.graphics.brokeLine=h},_drawPlotBand:function(){var b=this.config,a=b.axisRange,c=b.canvas,e=this.chart,d=e.config,k=c.canvasLeft||d.canvasLeft,h=c.canvasTop||d.canvasTop,f=c.canvasHeight||d.canvasHeight,c=c.canvasWidth||d.canvasWidth,d=a.tickInterval,p=b.isVertical,g=b.isReverse,
m=a.max,l=a.min,a=b.axisBandContainer,r=e.components.paper,q=this.graphics.band||[],n=0,t=b.showAlternateGridColor,A=b.alternateGridColor,v=b.alternateGridAlpha,B=b.animateAxis,F,E,C,H,G;2>Qa(this.getPixel(l)-this.getPixel(l+d))&&(b.band.isDraw=0);if(t&&b.band.isDraw){n=e.get("config","animationObj");t=n.animObj;H=n.dummyObj;e=n.transposeAnimDuration;G=n.animType;F=this._getVisibleConfig();n=l+d*fb((F.minValue-3*d-l)/d);F=l+d*fb((F.maxValue+3*d-l)/d);n=n<l?l:n;F=F>m?m:F;m=ab((n-l)/d)+1;A={fill:z(P(A,
v)),"stroke-width":0};l=this.getPVR();E=v=n;for(n=0;v<F;m+=1)0===m%2&&(C=b.showZeroPlane&&0>v&&0<v+d?v:v!==E?E-v:d,p?(A.x=k,A.y=this.getPixel(g?v:v+Qa(C)),A.width=c,A.height=Qa(C*l)):(A.x=this.getPixel(v),A.y=h,A.width=Qa(C*l),A.height=f),q[n]?(C=q[n],e&&B?C.animateWith(H,t,A,e,G):C.attr(A)):(C=r.rect(A,a),q[n]=C),n+=1),b.showZeroPlane&&0>v&&0<v+d?(v=0,E+=d):v<E?v=E:(v+=d,E+=d);if(q[n])for(v=n;v<q.length;v++)q[v].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0});this.graphics.band=q}else if(q[n])for(v=
n;v<q.length;v++)q[v].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0})},_drawTrendLine:function(){var b=this.config,a=b.canvas,d=this.chart,f=d.config,N=d.components,k=b.isOpposit,h=b.isVertical,u=d.is3D,p=b.axisIndex,g=N.numberFormatter,m=a.canvasBottom||f.canvasBottom,l=a.canvasLeft||f.canvasLeft,r=a.canvasRight||f.canvasRight,q=a.canvasTop||f.canvasTop,n=a.canvasHeight||f.canvasHeight,a=a.canvasWidth||f.canvasWidth,z=b.axisRange,f=z.max,z=z.min,t,A,v=b.trend.trendStyle,B=b.labelPadding,
F=b.axisTrendContainerTop,E=b.axisTrendContainerBottom,C=b.axisTrendLabelContainer,N=N.paper,H=this.components.trendObj||[],K={fontFamily:v.fontFamily,fontSize:v.fontSize,lineHeight:v.lineHeight,fontWeight:v.fontWeight,fontStyle:v.fontStyle},S=b.vTrendLines,Q=b.trendLines,L=!0,wb=b.drawTrendLabels,M=b.axisDimention||{},la=b.animateAxis,Z,xa,O,U,ba,aa,V=0,R,W,Xa,ea,T,cb,ga,ia,X,na,da;T=this._getVisibleConfig();b.hasBreakPoints&&(T.minValue=this._getRealBreakValue(T.minValue),T.maxValue=this._getRealBreakValue(T.maxValue));
(L=this._isZoomed())?(t=La(this.getPixel(T.minValue),this.getPixel(T.maxValue)),A=Sa(this.getPixel(T.minValue),this.getPixel(T.maxValue))):(T.minValue=z,T.maxValue=f);S?X=k?(M.opposite||m)-(b.trendBottomPadding||0):(M.y||m)+(b.trendBottomPadding||0):(X=k?(M.opposite||l)+(B||0):(M.x||l)-(B||0),na=k?(M.x||r)+(B||0):(M.opposite||r)+(B||0));if(k=Q||S){Z=d.get("config","animationObj");B=Z.animObj;M=Z.dummyObj;d=Z.transposeAnimDuration;da=Z.animType;O=0;for(U=k.length;O<U;O+=1)for(Z=0,xa=k[O].line&&k[O].line.length;Z<
xa;Z+=1)cb=k[O].line[Z],R=h?"yAxis":"xAxis",W=g.getCleanValue(c(cb.startvalue,cb.value,0)),aa=Number(cb.endvalue)||void 0,ba=Da(G(c(cb.tooltext,k[0].tooltext,b.trendlineToolText))),ba=ma(ba,[7,15,16,17,18,19],{startValue:W,startDataValue:g[R](W,p),endValue:aa||W,endDataValue:g[R](aa||W,p),axisName:b.axisName},cb),W>f||W<z||aa>f||aa<z||!(S&&W>=T.minValue&&W<=T.maxValue||aa&&aa>=T.minValue&&aa<=T.maxValue||aa&&W<=T.minValue&&aa>=T.maxValue||Q&&W>T.minValue&&W<=T.maxValue||aa&&aa>=T.minValue&&aa<=T.maxValue||
aa&&W>=T.minValue&&aa<=T.maxValue)||(S?(ea=G(cb.displayvalue||""),ga=this.getPixel(b.hasBreakPoints?this._getRelativeBreakValue(W):W),Xa=e(cb.istrendzone,b.isTrendZone,1),ia=aa?this.getPixel(b.hasBreakPoints?this._getRelativeBreakValue(aa):aa):0,void 0!==aa&&""!==aa&&aa!==W&&Xa?(Xa={fill:P(c(cb.color,b.trendlineColor),c(cb.alpha,b.trendlineAlpha,40)),"stroke-width":0,path:["M",ga,q,"L",ga,m,"L",ia,m,"L",ia,q,"Z"]},ea={fill:P(c(cb.color,v.color),c(cb.alpha,b.trendlineAlpha,99)),"vertical-align":Ua,
text:ea,x:ga+(ia-ga)/2,y:X}):(Xa=e(cb.thickness,b.trendlineThickness,1),Xa=Xa>a?1:Xa,W=aa?sb(["M",ga,q,"L",ia,m],Xa):sb(["M",ga,q,"L",ga,m],Xa),Xa={stroke:P(c(cb.color,b.trendlineColor),c(cb.alpha,b.trendlineAlpha,99)),"stroke-width":Xa,"stroke-dasharray":c(cb.dashed,b.trendlinesAreDashed)===Y?J(e(cb.dashlen,b.trendlinesDashLen),e(cb.dashgap,b.trendlinesDashGap),Xa):"none","shape-rendering":W.isCrisped?"crisp":void 0,path:W.path},ea={fill:P(c(cb.color,v.color),c(cb.alpha,b.trendlineAlpha,99)),"vertical-align":Ua,
text:ea,x:aa?ia:ga,y:X}),L&&(!wb||ea.x>t||ea.x<A)&&(ea.text="")):Q&&(ea=G(cb.displayvalue||""),R=e(cb.valueonright,0),Xa=e(cb.istrendzone,b.isTrendZone,0),ga=this.getPixel(W),ia=aa?this.getPixel(aa):0,void 0!==aa&&""!==aa&&aa!==W&&Xa?(Xa={fill:P(c(cb.color,b.trendlineColor),c(cb.alpha,b.trendlineAlpha,40)),"stroke-width":0,path:["M",l,ga,"L",r,ga,"L",r,ia,"L",l,ia,"Z"]},ea={"text-anchor":R?Ta:$a,fill:P(c(cb.color,v.color),c(cb.alpha,b.trendlineAlpha,99)),text:ea,x:R?na:X,y:ga+(ia-ga)/2}):(Xa=e(cb.thickness,
b.trendlineThickness,1),Xa=Xa>n?1:Xa,W=aa?sb(["M",l,ga,"L",r,ia],Xa):sb(["M",l,ga,"L",r,ga],Xa),Xa={stroke:P(c(cb.color,b.trendlineColor),c(cb.alpha,b.trendlineAlpha,99)),"stroke-width":Xa,"stroke-dasharray":c(cb.dashed,b.trendlinesAreDashed)===Y?J(e(cb.dashlen,b.trendlinesDashLen),e(cb.dashgap,b.trendlinesDashGap),Xa):"none","shape-rendering":W.isCrisped?"crisp":void 0,path:W.path},ea={"text-anchor":R?Ta:$a,fill:P(c(cb.color,v.color),c(cb.alpha,b.trendlineAlpha,99)),text:ea,x:R?na:X,y:aa?R?ia:ga:
ga}),L&&(!wb||ea.y>t||ea.y<A)&&(ea.text="")),aa=e(cb.showontop),aa=u||1!==aa&&1!==b.showTrendlinesOnTop?E:F,H[V]?(R=H[V].graphics.drawing,W=H[V].graphics.label,aa.appendChild(R),H[V].graphics.config.text=ea.text,d&&la?(R.animateWith(M,B,Xa,d,da),W.animateWith(M,B,ea,d,da)):(R.attr(Xa),W.attr(ea)),W.css(K),W.tooltip(cb.valueToolText)):(R=N.path(Xa,aa),W=N.text(ea,K,C),W.tooltip(cb.valueToolText),H[V]={},H[V].graphics={},H[V].graphics.drawing=R,H[V].graphics.label=W,H[V].graphics.config={text:ea.text}),
b.showTooltip&&cb.valueToolText?W.trackTooltip(!0):W.trackTooltip(!1),b.showTooltip&&ba?R.tooltip(ba).trackTooltip(!0):R.trackTooltip(!1),V+=1);if(H[V])for(Z=V;Z<H.length;Z++)H[Z].graphics.drawing.attr({path:["M",0,0]}),H[Z].graphics.label.attr({text:"","text-bound":[]});this.components.trendObj=H;for(Z=0;Z<V;Z++)H[Z].graphics.label.attr({"text-bound":H[Z].graphics.config.text?[v.backgroundColor,v.borderColor,v.borderThickness,v.borderPadding,v.borderRadius,v.borderDash]:[]})}if(H[V])for(Z=V;Z<H.length;Z++)H[Z].graphics.drawing.attr({path:["M",
0,0]}),H[Z].graphics.label.attr({text:"","text-bound":[]})},_drawCategory:function(){var b,a,d,f,N,k,h=this.config,u=h.axisDimention||{},p=h.canvas,g=this.chart,m=g.config,l=h.isOpposit,q=h.labels,n=q.style,z=h.isVertical,t=p.canvasBottom||m.canvasBottom,A=p.canvasLeft||m.canvasLeft,v=p.canvasRight||m.canvasRight,p=p.canvasTop||m.canvasTop,B=h.axisContainer,m=h.labelPadding,F=g.components.paper,E=z?u.x:u.y,u=u.opposite,H=h.drawLabelOnBothSide,C=this.components.categoryLabel||(this.components.categoryLabel=
[]),G=g.jsonData.categories,K,S,Q,L=function(b){return function(a){ha.call(this,g,a,b)}},wb=0,wb=0,M=h.animateAxis,la,Z,xa,O,U,ba,aa,V,R,W,Y,ea,T,ga,X;U=(xa=h.isCategoryAnimate&&h.animateCategories?h.animateCategories:h.categories.category)?xa.length-1:0;ea=0<h.labels.step?h.labels.step:1;this._drawCategoryLine(xa,0,U);if(h.labels.isDraw){la=g.get("config","animationObj");ga=la.animObj;X=la.dummyObj;Z=la.transposeAnimDuration;la=la.animType;z&&(O=Qa(this.getPixel(0)-this.getPixel(1)),h.labelMaxH>
O&&(wb=lb(h.labelMaxH/O)),wb>h.labels.step&&(h.labels.step=wb));O=this.getPVR();T=this._isZoomed();aa=this._getVisibleConfig();V=h.labels.rotation;!h.drawLabelOnBothSide&&h.drawLabelsOpposit&&(l=!l,E=u);G&&G[0]&&"auto"!==h.xAxisLabelMode&&(K=G[0].font,S=G[0].fontsize,Q=G[0].fontcolor);K={fontFamily:c(K,n.fontFamily),fontSize:c(S,n.fontSize),fontWeight:c(n.fontWeight),fontStyle:c(n.fontStyle)};K.lineHeight=r(K);B.css(K);G=this._manageReuseableElement(this.components.categoryLabel,"text",B);for(wb=
S=0;S<=U;S+=ea)if(B=xa[S])if(a=e(B.x,B.y,S),!(0===e(B.showlabel,h.showLabels,1)||T&&(a<aa.minValue||a>aa.maxValue))&&("auto"!==h.xAxisLabelMode&&"mixed"!==h.xAxisLabelMode||0!==h.showZeroPlane&&0!==h.showZeroPlaneValue||0!==a)&&(h.labels.drawNormalVal||h.labels.drawLimitVal&&(0===S||S===U))&&(h.labels.drawNormalVal||0===S||S===U)&&(h.labels.drawLimitVal||0!==S&&S!==U)){f=c(B.font,B.labelfont);N=c(B.fontsize,B.labelfontsize);k=c(B.fontbold,B.labelfontbold)?e(B.fontbold,B.labelfontbold,0)?"bold":"normal":
void 0;W=c(B.fontitalic,B.labelfontitalic)?e(B.fontitalic,B.labelfontitalic,0)?"italic":"normal":void 0;d=P(c(B.fontcolor,B.labelfontcolor,Q,n.color),e(B.labelalpha,h.rawAttr.labelFontAlpha,g.singleseries?void 0:B.alpha,100));f||N||k||W?(b={},f&&(b.fontFamily=f),N&&(b.fontSize=N),k&&(b.fontWeight=k),W&&(b.fontStyle=W),b.lineHeight=N?r(b):K.lineHeight):b=void 0;if(b||K)f=(b||K).lineHeight,-1!==f.indexOf("px")&&(R=f.replace(/px/i,""),R=parseFloat(R));W=this.getPixel(a);z?(N=B.label||"",k=Number(B.labelPadding)||
0,f={fill:d,"line-height":R,opacity:1,"text-anchor":l?Ta:$a,text:N,cursor:B.link||B.labellink||n.labelLink?"pointer":"",x:l?(E||v)+m:(E||A)-m,y:k?W+k:W},H&&(Y={fill:d,"line-height":R,opacity:1,"text-anchor":l?$a:Ta,text:N,cursor:B.link||B.labellink||n.labelLink?"pointer":"",x:l?(u||A)-m:(u||v)+m,y:k?W+k:W})):(N=B.label||"",k=Number(B.labelPadding)||0,f={fill:d,"line-height":R,opacity:1,text:N,cursor:B.link||B.labellink||n.labelLink?"pointer":"",x:W,y:l?(E||p)-m:(E||t)+m},H&&(Y={fill:d,"line-height":R,
opacity:1,text:N,cursor:B.link||B.labellink||n.labelLink?"pointer":"",y:l?(u||t)+m:(u||p)-m}),V?(f["text-anchor"]=l?Ta:$a,f["vertical-align"]="center",H&&(Y["text-anchor"]=l?$a:Ta,Y["vertical-align"]="center")):(f["text-anchor"]=hb,f["vertical-align"]=l?mb:Ua,H&&(Y["vertical-align"]=l?Ua:mb,Y["text-anchor"]=hb)),k&&(f.y=l?f.y-k:f.y+k,H&&(Y.y=l?Y.y+k:Y.y-k)));q.shiftX&&(f.x+=q.shiftX,H&&(Y.x+=q.shiftX));q.shiftY&&(f.y+=q.shiftY,H&&(Y.y+=q.shiftY));f.transform=F.getSuggestiveRotation(V,f.x,f.y);H&&
(Y.transform=F.getSuggestiveRotation(V,Y.x,Y.y));C[wb]||(C[wb]={},C[wb].graphics={},C[wb].config={});d=C[wb].graphics.label=G.getElement("p"+a,f);d._applyAllAttr&&d.attr(f);b&&d._firstTimeDraw?(d.css(b),d._appliedCss=!0):d._applyAllAttr&&!d._firstTimeDraw&&b?(d.css({fontFamily:b&&b.fontFamily?b.fontFamily:K.fontFamily,fontSize:b&&b.fontSize?b.fontSize:K.fontSize,fontWeight:b&&b.fontWeight?b.fontWeight:K.fontWeight,fontStyle:b&&b.fontStyle?b.fontStyle:K.fontStyle}),d._appliedCss=!0):d._appliedCss&&
!b&&(d.removeCSS(),delete d._appliedCss);d._firstTimeDraw||(d._applyAllAttr?(N=f,N.visibility=vb):N={x:f.x,y:f.y,transform:f.transform,visibility:vb},Z&&M&&!B.animate?d.animateWith(X,ga,N,Z,la):d.attr(N));h.showTooltip&&B.labelTooltext?(d.tooltip(B.labelTooltext),d.trackTooltip(!0)):d.trackTooltip(!1);H&&(ba=C[wb].graphics.secondLabel=G.getElement("s"+a,Y),ba.css(b),ba._firstTimeDraw||(ba._applyAllAttr?(N=Y,N.visibility=vb):N={x:Y.x,y:Y.y,transform:f.transform,visibility:vb},Z&&M&&!B.animate?ba.animateWith(X,
ga,N,Z,la):ba.attr(N)),h.showTooltip&&B.labelTooltext?(ba.tooltip(B.labelTooltext),ba.trackTooltip(!0)):ba.trackTooltip(!1));d._firstTimeDraw&&d.click(L("dataLabelClick")).hover(L("dataLabelRollOver"),L("dataLabelRollOut"));d.data("eventArgs",{link:B.link||B.labellink||n.labelLink,text:f.text,index:wb});H&&(ba._firstTimeDraw&&ba.click(L("dataLabelClick")).hover(L("dataLabelRollOver"),L("dataLabelRollOut")),C[wb].graphics.secondLabel.data("eventArgs",{link:B.link||B.labellink||n.labelLink,text:f.text,
index:wb}));B.animate&&!z&&(b={x:f.x-B.leftShift*O},B["delete"]&&(b.opacity=0),b.transform=F.getSuggestiveRotation(V,b.x,f.y),C[wb].graphics.label.animateWith(X,ga,b,Z,la),H&&(b={x:Y.x-B.leftShift*O},B["delete"]&&(b.opacity=0),b.transform=F.getSuggestiveRotation(V,b.x,Y.y),C[wb].graphics.secondLabel.animateWith(X,ga,b,Z,la)));if(d._applyAllAttr||d._firstTimeDraw)e(B.borderthickness,B.labelborderthickness)&&e(B.borderthickness,B.labelborderthickness,1),b=B.bordercolor||B.labelbordercolor?P(B.bordercolor||
B.labelbordercolor,e(B.borderalpha,B.labelborderalpha,B.alpha,B.labelalpha,100)):"",a=e(B.borderthickness,B.labelborderthickness),d=e(B.borderpadding,B.labelborderpadding),f=e(B.borderradius,B.labelborderradius),N=B.bgcolor||B.labelbgcolor?P(B.bgcolor||B.labelbgcolor,e(B.bgalpha,B.labelbgalpha,B.alpha,B.labelalpha,h.rawAttr.labelFontAlpha,100)):"",k=e(B.borderdashed,B.labelborderdashed,0)?J(e(B.borderdashlen,B.labelborderdashlen,4),e(B.borderdashgap,B.labelborderdashgap,2),e(B.borderthickness,B.labelborderthickness,
1)):0===e(B.borderdashed,B.labelborderdashed)?"none":n.borderDash,B.label?(C[wb].graphics.label.attr({"text-bound":[c(N,n.backgroundColor),c(b,n.borderColor),c(a,n.borderThickness),c(d,n.borderPadding),c(f,n.borderRadius),c(k,n.borderDash)]}),H&&C[wb].graphics.secondLabel.attr({"text-bound":[c(N,n.backgroundColor),c(b,n.borderColor),c(a,n.borderThickness),c(d,n.borderPadding),c(f,n.borderRadius),c(k,n.borderDash)]})):(C[wb].graphics.label.attr({"text-bound":[]}),H&&C[S].graphics.secondLabel.attr({"text-bound":[]}));
wb+=1}this.components.categoryLabel=C;G.freeUnusedElement()}},_drawCategoryLine:function(b,a,d){var f=this.config,N=f.canvas,k=this.chart,h=k.config,u=k.components,p=f.isVertical,g=N.canvasBottom||h.canvasBottom,m=N.canvasLeft||h.canvasLeft,l=N.canvasRight||h.canvasRight,N=N.canvasTop||h.canvasTop,h=f.axisPlotLineContainer,r=f.showCanvasBorder,q=f.xAxisLabelMode,n=u.paper,u=u.colorManager,z=this.components.categoryLabelLine||[],t=k.jsonData.categories,A,v,B,F,E,H,C=0,G=f.animateAxis,S,Q,K,L,M,la,
Z,xa;b||(b=f.isCategoryAnimate&&f.animateCategories?f.animateCategories:f.categories.category);a=a||0;d=d||b?b.length-1:0;if(f.drawPlotlines){C=k.get("config","animationObj");la=C.animObj;Z=C.dummyObj;k=C.transposeAnimDuration;xa=C.animType;this.getPVR();M=this._isZoomed();Q=this._getVisibleConfig();t&&t[0]&&(A=t[0].verticallinecolor,v=t[0].verticallinealpha,B=t[0].verticallinethickness,F=t[0].verticallinedashed,E=t[0].verticallinedashlen,H=t[0].verticallinedashgap);t=a;for(C=0;t<=d;t+=1)(S=b[t])&&
(!r||"auto"!==q&&"mixed"!==q||t!==d&&t!==a)&&(L=e(S.x,S.y,t),1!==Number(S.showverticalline)||M&&(L<Q.minValue||L>Q.maxValue)||(K=this.getPixel(L),L={stroke:P(c(S.linecolor,A,f.divLineColor,u.getColor("divLineColor")),c(S.linealpha,v,u.getColor("divLineAlpha"))),"stroke-width":e(S.linethickness,B,1)},L["stroke-dasharray"]=e(S.linedashed,F,0)?J(e(S.linedashLen,E,4),e(S.linedashgap,H,2),L["stroke-width"]):"none",K=p?sb(["M",m,K,"L",l,K],L["stroke-width"]):sb(["M",K,N,"L",K,g],L["stroke-width"]),L.path=
K.path,L["shape-rendering"]=K.isCrisped?"crisp":void 0,z[C]?(K=z[C].graphics.line,K.attr(L),k&&G&&!S.animate?K.animateWith(Z,la,L,k,xa):K.attr(L)):(K=n.path(L,h),z[C]={},z[C].graphics={},z[C].config={},z[C].graphics.line=K),C+=1));this.components.categoryLabelLine=z}if(z[C])for(t=C;t<z.length;t++)z[t].graphics.line.attr({path:["M",0,0]})},_drawCategoryVline:function(){var b=this.config,d=b.axisRange,f=d.min,d=d.max,I=b.canvas,N=this.chart,k=N.config,h=k.style||{},u=N.components.paper,p=I.canvasBottom||
k.canvasBottom,g=I.canvasLeft||k.canvasLeft,m=I.canvasRight||k.canvasRight,l=I.canvasTop||k.canvasTop,r=I.canvasHeight||k.canvasHeight,I=I.canvasWidth||k.canvasWidth,q=b.categories.category,n=b.isVertical,z=N.linkedItems.smartLabel,t=b.axisPlotLineContainerTop,A=b.axisPlotLineContainer,v=b.vlineLabelContainer,B=b.isRelativeAxisInverse,F={fontFamily:k.style.inCanfontFamily,fontSize:k.style.inCanfontSize,color:k.style.inCancolor,lineHeight:k.style.inCanLineHeight},E=this.components.categoryVline||[],
C=this.components.categoryVlineLabel||[],H=0,K=0,S=b.animateAxis,Q,L,M,O,la,Z,xa,R,U,ba,aa,V,W,Y,T,ea,ga,X,da,ia,va,na,ka,ha,fa,ta,ra,sa,ua,Aa,ja,Ha;L=b.isCategoryVlineAnimate&&b.animateCategoriesVline?b.animateCategoriesVline:b.categories.vline;Q=N.get("config","animationObj");sa=Q.animObj;ua=Q.dummyObj;N=Q.transposeAnimDuration;Q=Q.animType;O=L.length;M=this.getPVR();Aa=this._isZoomed();ja=this._getVisibleConfig();for(xa=0;xa<O;xa++)la=L[xa],Z=G(la.label),R=!!e(la.showlabelborder,b.showVLineLabelBorder,
1),U=!!e(la.showlabelbackground,1),ba=c(la.labelhalign,n?Ta:hb),"center"==ba?ba=hb:"left"==ba?ba=Ta:"right"==ba&&(ba=$a),aa=c(la.labelvalign,n?hb:mb).toLowerCase(),aa==hb?aa="center":aa==Ua?aa=mb:aa==mb&&(aa=Ua),V=e(la.labelposition,0),W=e(la.lineposition,.5),Y=e(la.showvlines,b.showVLines,1),T=e(la.alpha,b.vLineAlpha,80),ea=c(la.color,b.vLineColor).replace(/^#?/,"#"),U=U?c(la.labelbgcolor,b.vLineLabelBgColor,"333333").replace(/^#?/,"#"):a,na=c(la.labelcolor,b.vLineLabelColor,la.color,h.inCancolor,
b.vLineColor).replace(/^#?/,"#"),ga=e(la.thickness,b.vLineThickness,1),X=!!Number(c(la.dashed,0)),da=e(la.dashlen,5),va=e(la.dashgap,2),ia=F.fontSize,parseInt(ia.replace(/px/i,""),10),ia=e(la.rotatelabel,b.rotateVLineLabels)?270:0,W=0>W||1<W?.5:W,V=0>V||1<V?0:V,z.useEllipsesOnOverflow(k.useEllipsesWhenOverflow),z.setStyle(F),z.getOriSize(Z),ea=P(ea,Y?T:"0"),T=1===Number(la.showontop)||1===b.showVLinesOnTop?t:A,ta=!1,Ha=la.animate&&!n?la.startIndex+1:la.startIndex,ka=q[Ha],ha=q[Ha+1],ka?ha||(fa=q[0]&&
q[0].x?d:b.oriCatLen,ta=!0):(fa=q[0]&&q[0].x?f:-1,ta=!0),ta||(fa=e(ka.x,ka.y,Ha),W*=fa-e(ha.x,ha.y,Ha+1)),W=fa+Qa(W),Aa&&(W<ja.minValue||W>ja.maxValue)||!la.animate&&(W<f||W>d)||la.animate&&(W<f||W>d+ra)||(W=this.getPixel(W),da={opacity:1,stroke:ea,"stroke-width":ga,"stroke-dasharray":X?J(da,va,ga):"none"},X={opacity:1,text:Z,"text-anchor":ba,"vertical-align":aa,"text-bound":[]},na={fill:Y?na:ea,fontSize:F.fontSize,fontFamily:F.fontFamily,lineHeight:F.lineHeight,backgroundColor:U},n?(ga=sb(["M",g,
W,"L",m,W],ga),da.path=ga.path,X.x=g+I*(B?1-V:V),X.y=W):(ga=sb(["M",W,l,"L",W,p],ga),da.path=ga.path,X.x=W,X.y=l+r*(B?1-V:V)),da["shape-rendering"]=ga.isCrisped?"crisp":void 0,ba==Ta?X.x+=2:ba==$a&&(X.x-=2),aa==Ua?X.Y+=2:aa==mb&&(X.Y-=2),E[H]?(ba=E[H].graphics.drawing,T.appendChild(ba),N&&S&&!la.animate?ba.animateWith(ua,sa,da,N):ba.attr(da)):(ba=u.path(da,T),E[H]={},E[H].graphics={},E[H].config={},E[H].graphics.drawing=ba),Z&&(X.transform=u.getSuggestiveRotation(ia,X.x,X.y),C[K]?(ba=C[K].graphics.label,
ba.css(na),N&&S&&!la.animate?ba.animateWith(ua,sa,X,N,Q):ba.attr(X)):(ba=u.text(X,na,v).css(na),C[K]={},C[K].graphics={},C[K].config={},C[K].graphics.label=ba)),la.animate&&!n&&(ra=la.leftShift*M,ba={x:X.x-ra},aa={path:["M",W-ra,l,"L",W-ra,p]},la["delete"]&&(ba.opacity=0,ba["text-bound"]=[],aa.opacity=0),Z&&C[K].graphics.label.animateWith(ua,sa,ba,N,Q),E[H].graphics.drawing.animateWith(ua,sa,aa,N,Q)),Z&&(C[K].graphics.label.attr({"text-bound":[U,Y&&R?ea:a,Y&&R?1:0,2,void 0,Y&&R?"solid":a]}),K++),
H++);if(E[H])for(xa=H;xa<E.length;xa++)E[xa].graphics.drawing.attr({path:["M",0,0]});if(C[K])for(xa=K;xa<C.length;xa++)C[xa].graphics.label.attr({text:"","text-bound":[]});this.components.categoryVline=E;this.components.categoryVlineLabel=C},_drawCategoryPlotLine:function(){var b=this.config,a=b.isVertical,c=b.axisRange,e=c.max,d=c.min,k=b.canvas,h=this.chart,f=h.config,p=b.categories.category,g=p.length,c=k.canvasBottom||f.canvasBottom,m=k.canvasLeft||f.canvasLeft,l=k.canvasRight||f.canvasRight,
k=k.canvasTop||f.canvasTop,f=b.axisPlotLineContainer,r=h.components.paper,q=this.graphics.line||[],n=0,z=P(b.divLineColor,b.divLineAlpha),t=b.divLineThickness,A=b.divLineIsDashed?J(b.divLineDashLen,b.divLineDashGap,t):"none",v=b.animateAxis,B,F,z={stroke:z,"stroke-width":t,"stroke-dasharray":A};if(p[0]&&(void 0!==p[0].x||void 0!==p[0].y)){if(q[n]&&"categories"===b.xAxisLabelMode)for(e=n;e<q.length;e++)q[e].attr({path:[]})}else if(b.lines.isDraw&&b.categoryNumDivLines){n=h.get("config","animationObj");
p=n.animObj;A=n.dummyObj;h=n.transposeAnimDuration;F=n.animType;b.categoryDivLinesFromZero&&(d=0,e=g-1);g=Qa(e-d)/(b.categoryNumDivLines+1);g=0===g?1:g;B=this._getVisibleConfig();n=d+g*fb((B.minValue-3*g-d)/g);B=d+g*fb((B.maxValue+3*g-d)/g);n=(n<d?d:n)+g;B=(B>e?e:B)-g;e=n;for(n=0;e<=B;e+=g)d=b.hasBreakPoints?this._getRealBreakValue(e):e,d=a?sb(["M",m,this.getPixel(d),"L",l,this.getPixel(d)],t):sb(["M",this.getPixel(d),k,"L",this.getPixel(d),c],t),z.path=d.path,z["shape-rendering"]=d.isCrisped?"crisp":
void 0,q[n]?(d=q[n],h&&v?d.animateWith(A,p,z,h,F):d.attr(z)):(d=r.path(z,f),q[n]=d),n+=1;if(q[n])for(e=n;e<q.length;e++)q[e].attr({path:[]});this.graphics.line=q}else if(q[n])for(e=n;e<q.length;e++)q[e].attr({path:[]})},_drawCategoryPlotBand:function(){var b=this.config,a=b.axisRange,c=a.max,e=a.min,d=b.canvas,k=this.chart,h=k.config,f=b.categories.category,p=f.length,a=d.canvasLeft||h.canvasLeft,g=d.canvasRight||h.canvasRight,m=d.canvasTop||h.canvasTop,l=d.canvasHeight||h.canvasHeight,d=d.canvasWidth||
h.canvasWidth,h=b.isVertical,r=b.axisBandContainer,q=k.components.paper,n=this.graphics.band||[],t=0,A=b.showAlternateGridColor,B=b.alternateGridColor,v=b.alternateGridAlpha,F=b.categoryDivLinesFromZero,E=b.animateAxis,C,H,G;if(f[0]&&(void 0!==f[0].x||void 0!==f[0].y)){if(n[t])for(v=t;v<n.length;v++)n[v].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0})}else if(A&&b.band.isDraw&&b.categoryNumDivLines){t=k.get("config","animationObj");f=t.animObj;A=t.dummyObj;k=t.transposeAnimDuration;G=
t.animType;F&&(e=0,c=p-1);b=Qa(c-e)/(b.categoryNumDivLines+1);b=0===b?1:b;t=this._getVisibleConfig();p=e+b*fb((t.minValue-3*b-e)/b);F=e+b*fb((t.maxValue+3*b-e)/b);p=p<e?e:p;F=F>c?c:F;e=ab((p-e)/b);p+=b;B={fill:z(P(B,v)),"stroke-width":0};H=this.getPVR();v=p;for(t=0;v-b<F;e+=1,v+=b)0===e%2&&(C=v===p?b+Qa(this.getValue(0))+1:v===F?b+Qa(this.getValue(g-a)-c):b,h?(B.x=a,B.y=v===F?this.getPixel(v-Qa(b)):this.getPixel(v-Qa(C)),B.width=d,B.height=Qa(C*H)):(B.x=v===F?this.getPixel(v-Qa(b)):this.getPixel(v-
Qa(C)),B.y=m,B.width=Qa(C*H),B.height=l),n[t]?(C=n[t],k&&E?C.animateWith(A,f,B,k,G):C.attr(B)):(C=q.rect(B,r),n[t]=C),t+=1);if(n[t])for(v=t;v<n.length;v++)n[v].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0});this.graphics.band=n}else if(n[t])for(v=t;v<n.length;v++)n[v].attr({x:0,y:0,width:0,height:0,fill:null,"stroke-width":0})},resetNumericAxisComponents:function(){var b=this.graphics.line,a=this.graphics.labels,c;if(b&&b[0])for(c=0;c<b.length;c+=1)b[c].attr({path:[]});if(a&&a[0])for(c=
0,b=a.length;c<b;c+=1)a[c].attr({text:""})},resetCategoryAxisComponents:function(){var b=this.graphics.line,a=this.components.categoryVline,c=this.components.categoryLabel,e=this.components.categoryLabelLine,d;if(b&&b[0])for(d=0;d<b.length;d+=1)b[d].attr({path:[]});if(c&&c[0])for(d=0,b=c.length;d<b;d+=1)c[d].graphics.label.attr({text:"","text-bound":[]}),c[d].graphics.secondLabel&&c[d].graphics.secondLabel.attr({text:"","text-bound":[]});if(e&&e[0])for(d=0,b=e.length;d<b;d+=1)e[d].graphics.line.attr({path:["M",
0,0]});if(a&&a[0])for(d=0,b=a.length;d<b;d+=1)a[d].graphics.drawing.attr({path:["M",0,0]}),a[d].graphics.label.attr({text:"","text-bound":[]})},placeAxis:function(b){return this.config.isVertical?this._placeVerticalAxis(b):this._placeHorizontalAxis(b)},_placeVerticalAxis:function(b){var a=this.config,d=this.chart,f=d.config,m=d.components,k=d.linkedItems.smartLabel,h=a.axisRange,u=a.name,p=a.isOpposit,g=m.numberFormatter,l=f.canvasHeight,r=a.labelPadding=e(a.rawAttr.axisValuePadding,4),q=e(a.rawAttr.axisNamePadding,
5),n=a.useEllipsesWhenOverflow,z=a.name.style,t=a.trend.trendStyle,A=a.axisName,v=a.trendLines,B=a.drawLabelsOpposit,F=a.drawAxisNameOpposit,E=a.drawLabelOnBothSide,C=0,H=0,J=0,K=0,S=0,Q={left:0,right:0},P="",L="",M=0,la,Z,xa,O,U,ba,aa;f.viewPortConfig&&1!==f.viewPortConfig.scaleY&&(a._setRangeAgain=!0);a._setRangeAgain&&this._setTickIntervalAfterZoom();a.oriCanvasHeight=l;0>r&&(a.labelPadding=2);M=a.drawTick&&a.tickLength?a.axisLineThickness+a.tickLength:a.axisLineThickness;a.showAxisLine?(a.labelPadding=
e(r,2)+M,0>a.labelPadding&&(a.labelPadding=(0>a.axisLineThickness?0:M)+2),b-=a.axisLineThickness):(a.labelPadding=e(r,2),0>a.labelPadding&&(a.labelPadding=2));r=h.max;Z=h.min;a.name.rotation=0;a.labels.step=a.labelStep;a.labels.isDraw=1;a.lines.isDraw=1;a.band.isDraw=1;a.labels.drawNormalVal=a.showDivLineValues;a.labels.drawLimitVal=a.showLimits;M=z.lineHeight;M=Number(M.replace(/px/i,""));M<b&&(b-=M);1!==a.showLimits&&1!==a.showDivLineValues&&(a.labels.isDraw=0);la=a.drawLabels?this._getVMaxLabelDimention(E?
b-2*a.labelPadding/2:b-a.labelPadding):{width:0,height:0};if(la.width+a.labelPadding>b&&!a.hasCategory||0===la.width)a.labels.isDraw=0;a.labels.isDraw&&(a.labelMaxW=la.width,a.labelMaxH=la.height,C=la.width+a.labelPadding,H=E?2*C:C);if(a.drawTrendLines&&a.drawTrendLabels&&v){h=a.isPercent?m.numberFormatter.percentValue:a.isVertical?m.numberFormatter.yAxis:m.numberFormatter.xAxis;k.useEllipsesOnOverflow(f.useEllipsesWhenOverflow);k.setStyle({fontSize:t.fontSize,fontFamily:t.fontFamily,lineHeight:t.lineHeight,
fontWeight:t.fontWeight});f=0;for(t=v.length;f<t;f+=1)for(la=0,O=v[f].line&&v[f].line.length;la<O;la+=1)U=v[f].line[la],ba=g.getCleanValue(c(U.startvalue,U.value,0)),aa=e(U.endvalue,ba),ba<=r&&ba>=Z&&aa<=r&&aa>=Z&&(a.isOpposit&&(U.valueonright=1),ba=e(U.valueonright,0),K=1===ba?U.endvalue||U.startvalue:U.startvalue||U.endvalue,xa=G(U.origText||U.displayvalue||K||""),xa===K&&(xa=""+h.call(m.numberFormatter,xa)),ba?xa.length>L.length&&(L=xa):xa.length>P.length&&(P=xa));la=k.getOriSize(L);S=la.width+
a.labelPadding;la=k.getOriSize(P);K=la.width+a.labelPadding;p?(S>H&&S>b&&(S=b),H=La(H,S+a.labelPadding),K>b-H&&(K=Sa(K,b-H))):(K>H&&K>b&&(K=b),H=La(H,K+a.labelPadding),S>b-H&&(S=Sa(S,b-H)));f=0;for(t=v.length;f<t;f+=1)for(la=0,O=v[f].line&&v[f].line.length;la<O;la+=1){U=v[f].line[la];ba=g.getCleanValue(c(U.startvalue,U.value,0));aa=e(U.endvalue,ba);xa=1===Number(U.valueonright)?U.origText||U.displayvalue||""+aa||"":U.origText||U.displayvalue||""+ba||"";xa=G(""+xa);if(Number(xa)===aa||Number(xa)===
ba)xa=""+h.call(m.numberFormatter,xa);U.origText=xa;P=(ba=e(U.valueonright,0))?k.getSmartText(xa,S,d.canvasHeight,n):k.getSmartText(xa,H,d.canvasHeight,n);U.displayvalue=P.text;P.tooltext?U.valueToolText=P.tooltext:delete U.valueToolText}}b+=M;!a.drawAxisName||0>=b-H-S||""===A?(u.isDraw=!1,u.value=""):(k.setStyle({fontSize:z.fontSize,fontFamily:z.fontFamily,lineHeight:z.lineHeight,fontWeight:z.fontWeight}),u.isDraw=!0,a.rotateAxisName?(a.name.rotation=p?90:270,d=k.getSmartText(A,l,b-H-S),u.value=
A,a.nameMaxW=Sa(d.height)):(d=k.getSmartText(A,b-H-S,l),u.value=A,a.nameMaxW=Sa(d.width,b-H),a.nameMaxH=d.height,0<=a.axisNameWidth&&(a.nameMaxW=Sa(a.nameMaxW,a.axisNameWidth))),J=a.nameMaxW+q);p?(E?(Q.left+=La(C,K),Q.right+=La(C,S)):B?(Q.left+=La(C,K),Q.right+=S):(Q.left+=K,Q.right+=La(C,S)),F?(a.axisNamePadding=Q.left+q,Q.left+=J):(a.axisNamePadding=Q.right+q,Q.right+=J)):(E?(Q.left+=La(C,K),Q.right+=La(C,S)):B?(Q.left+=K,Q.right+=La(C,S)):(Q.left+=La(C,K),Q.right+=S),F?(a.axisNamePadding=Q.right+
q,Q.right+=J):(a.axisNamePadding=Q.left+q,Q.left+=J));u.isDraw&&a.axisNamePadding+a.nameMaxW>b&&(a.axisNamePadding=b-a.nameMaxW);return Q},_placeHorizontalAxis:function(b){var a=this.config,d=this.chart,f=d.config,m=d.components,k=d.linkedItems.smartLabel,h=a.axisRange,u=a.name,p=a.isOpposit,g=m.numberFormatter,l=a.drawLabelsOpposit,r=a.drawAxisNameOpposit,q=a.drawLabelOnBothSide,n=0,z=f.canvasWidth,t=a.labelPadding=e(a.rawAttr.axisValuePadding,4),A=e(a.rawAttr.axisNamePadding,5),v=a.useEllipsesWhenOverflow,
B=a.name.style,F=a.trend.trendStyle,E=a.axisName,C=a.vTrendLines,H,J,K=0,S=0,Q={top:0,bottom:0},P=0,L=0,M,la,Z,xa,O,U;f.viewPortConfig&&1!==f.viewPortConfig.scaleX&&(a._setRangeAgain=!0);a._setRangeAgain&&this._setTickIntervalAfterZoom();0>t&&(a.labelPadding=2);L=a.drawTick&&a.tickLength?a.axisLineThickness+a.tickLength:a.axisLineThickness;a.showAxisLine?(a.labelPadding=e(t,2)+L,0>a.labelPadding&&(a.labelPadding=(0>a.axisLineThickness?0:L)+2),b-=a.axisLineThickness):(a.labelPadding=e(t,2),0>a.labelPadding&&
(a.labelPadding=2));t=h.max;h=h.min;a.labels.rotation=0;a.labels.step=a.labelStep;a.labels.isDraw=1;a.lines.isDraw=1;a.band.isDraw=1;a.labels.drawNormalVal=a.showDivLineValues;a.labels.drawLimitVal=a.showLimits;L=B.lineHeight;L=Number(L.replace(/px/i,""));L<b&&(b-=L);a.rotateLabels&&"stagger"!==a.labelDisplay&&"none"!==a.labelDisplay&&(a.labelDisplay="rotate");1!==a.showLimits&&1!==a.showDivLineValues&&(a.labels.isDraw=0);xa=a.drawLabels?this._getHMaxLabelDimention(q?(b-2*a.labelPadding)/2:b-a.labelPadding):
{width:0,height:0};a.labels.rotation?xa.width+a.labelPadding>b&&!a.hasCategory&&(a.labels.isDraw=0):xa.height+a.labelPadding>b&&!a.hasCategory&&(a.labels.isDraw=0);a.labels.isDraw&&(a.labels.rotation?(a.labelMaxW=xa.height,a.labelMaxH=xa.width,n=xa.width+a.labelPadding):(a.labelMaxW=xa.width,a.labelMaxH=xa.height,n=xa.height+a.labelPadding),K=q?2*n:n);K=La(K,a.labelPadding);xa=K<=b?b-K:b;if(a.drawTrendLines&&a.drawTrendLabels&&C&&a.isActive)for(U=a.isPercent?m.numberFormatter.percentValue:a.isVertical?
m.numberFormatter.yAxis:m.numberFormatter.xAxis,k.useEllipsesOnOverflow(f.useEllipsesWhenOverflow),k.setStyle({fontSize:F.fontSize,fontFamily:F.fontFamily,lineHeight:F.lineHeight,fontWeight:F.fontWeight}),f=0,J=C.length;f<J;f+=1)for(M=0,Z=C[f].line&&C[f].line.length;M<Z;M+=1)O=C[f].line[M],H=g.getCleanValue(c(O.startvalue,O.value,0)),la=e(O.endvalue,H),H<=t&&H>=h&&la<=t&&la>=h&&(H=e(O.valueonright,0),H=1===H?O.endvalue||O.startvalue:O.startvalue||O.endvalue,la=G(O.origText||O.displayvalue||H||""),
la===H&&(la=""+U.call(m.numberFormatter,la)),O.origText=la,H=k.getSmartText(la,d.canvasWidth,F.lineHeight,v),la=H.height+2,0>xa-la?O.displayvalue="":(O.displayvalue=H.text,P=P<H.height?H.height:P),H.tooltext?O.valueToolText=H.tooltext:delete O.valueToolText);K+=P;xa=xa-P+L;b+=L;!a.drawAxisName||0>=xa||""===E?(u.isDraw=!1,u.value=""):(k.setStyle({fontSize:B.fontSize,fontFamily:B.fontFamily,lineHeight:B.lineHeight,fontWeight:B.fontWeight}),u.isDraw=!0,d=k.getSmartText(E,z,xa),u.value=E,a.nameMaxW=z,
a.nameMaxH=d.height,S=d.height+A,a.axisNamePadding=A+K,a.axisNamePadding+d.height>b&&(a.axisNamePadding=b-d.height,S=d.height+a.axisNamePadding-K));p?(q?(Q.bottom+=n+P,Q.top+=n):l?Q.bottom+=n+P:(Q.top+=n,Q.bottom+=P),a.trendBottomPadding=Q.bottom-P+2,r?Q.bottom+=S:Q.top+=S):(q?(Q.bottom+=n+P,Q.top+=n):l?(Q.top+=n,Q.bottom+=P):Q.bottom+=n+P,a.trendBottomPadding=Q.bottom-P+2,r?Q.top+=S:Q.bottom+=S);return Q},_getHMaxLabelDimention:function(b){function a(b,e){switch(e.toLowerCase()){case "left":return Math.abs(c._getCustomPixel(b));
case "right":return Math.abs(k.width-c._getCustomPixel(b))}}var c=this,d=c.config,f=c.chart,k=f.config,h=f.components,u=f.linkedItems.smartLabel,p=d.axisRange,g=d.labels,f=d.labelDisplay,m=d.slantLabel,l=g.style,n=d.maxLabelHeight,z=p.tickInterval,t=d.staggerLines,A=d.labelStep,v=k.canvasLeft,B=k.canvasRight,F=t-2,E,H,C=p.max,G=p.min,A=0,K=d.categories&&d.categories.category,J=0,S,Q,P,M={text:void 0,width:Number.NEGATIVE_INFINITY,style:void 0},p=Number.NEGATIVE_INFINITY,O,la,Z,xa,W=function(){},U=
W,ba=W,aa=W,V={},R,Y,T,ea,ga,X=0,da=!1,ia=0,va,na=!1,ka,ha,fa,ta=Number.POSITIVE_INFINITY,ra,sa=Number.POSITIVE_INFINITY;if(d.hasCategory&&(!K||0===K.length))return{width:0,height:0};"rotate"===f&&(d.rotateLabels=1);d.hasCategory||(d.irregularCatAxis=!1);E=0===F?1:1===F?1.5:F;u.useEllipsesOnOverflow(k.useEllipsesWhenOverflow);u.setStyle({fontSize:l.fontSize,fontFamily:l.fontFamily,lineHeight:l.lineHeight,fontWeight:l.fontWeight});if(d.irregularCatAxis){K.sort(function(b,a){return b.x-a.x});F=0;for(J=
K.length;F<J;F++){S=K[F];if(void 0!==ea){sa=Math.abs(S.x-ea);ha=Qa(c._getCustomPixel(G)-c._getCustomPixel(G+sa));u.setStyle(S.style||{});ka=u.getOriSize("W");ka=ka.width;if(ha<1.2*ka){S.label="";sa=ta;continue}fa._individualIWR=ha;S._individualIWL=ha;ta=sa}fa=S;ea=S.x}sa===Number.POSITIVE_INFINITY&&(sa=Math.floor(Math.min(S.x,C-S.x)),sa=Math.max(sa,4));F=0;for(J=K.length;F<J;F++)S=K[F],F||(S._individualIWL=Infinity),F===J-1&&(S._individualIWR=Infinity),S.individualIW=Math.min(S._individualIWL,S._individualIWR);
P=Qa(c._getCustomPixel(G)-c._getCustomPixel(G+sa));P=Math.min(2*a(K[0].x,"left"),2*a(K[J-1].x,"right"),P)}else P=Qa(c._getCustomPixel(G)-c._getCustomPixel(G+z));b=n?n:b;V.__root__={getHeight:function(b){return parseInt(K[b]._ovrStyle.lineHeight.replace(/(\d+)px/,"$1"),10)},getWidth:function(){return b},getCalculatedLabelStep:function(b){var a=0,e=b.length,g=Number.NEGATIVE_INFINITY,h,k=0,f;if(d.irregularCatAxis)return d.labelStep;for(;a<e;a++)if(h=b[a])h.label||(h.label=""),Q={fontSize:l.fontSize,
fontFamily:l.fontFamily,lineHeight:l.lineHeight,fontWeight:l.fontWeight},k++,h.style=h.style||{},q(Q,h.style),Q.lineHeight=r(Q),u.setStyle(Q),d.rotateLabels&&(f=parseInt(Q.lineHeight.replace(/(\d+)px/,"$1"),10)),O=u.getSmartText(h.label,void 0,f),h=0===d.rotateLabels?60<O.width?60:O.width:O.height,g=Math.max(h,g);b=Math.floor(Qa(c._getCustomPixel(C)-c._getCustomPixel(G))/g);if(k<=b)return d.labelStep;k=Math.max(Math.ceil(k/b),d.labelStep);P=Qa(c._getCustomPixel(G)-c._getCustomPixel(G+k));return k}};
V._inProp={};V.getCopyById=function(b){var a=this.__root__,c=this._inProp.copyStore,e,c=c||{};if(e=c[b])return e;q(e=c[b]={},a);return e};if(d.hasCategory){switch(f){case "rotate":g.rotation=m?300:270;xa=V.getCopyById("rotate");break;case "stagger":xa=V.getCopyById("stagger");xa.getHeight=function(b){var a;a=(b=d.categories.category[b])&&b.style||(b.style={});Q={fontSize:l.fontSize,fontFamily:l.fontFamily,lineHeight:l.lineHeight,fontWeight:l.fontWeight};q(Q,a);u.setStyle(Q);return u.getOriSize(b.label).height};
xa.getWidth=function(b){return b.individualIW?b.individualIW:2*P*E-4};aa=function(a){var c,e=a.length,g=0,d,h,k;u.setStyle(l);c=u.getOriSize("WWW").height;if(Math.floor(a[e-1]._cumulativeSum)<=Math.ceil(e*(c+2)))h=Math.floor(b/c),t=0>h-t?h:t;else{h=Math.floor(b/(c+4));do for(g=0,k=h,d=k-1,e=a.length;d<e;){e-d<h&&(d=e-1);c=a[d];g=c._cumulativeSum-g;if(~~g>-~b){da=!0;break}else da=!1;g=c._cumulativeSum;d+=k}while(h--&&da);h++;t=Math.min(t,h)}};U=function(b){var a,c,e,g,d=0;g=0;for(e=b.length;g<e;g++)a=
b[g],a.stepSkipped||(c=a&&a.style||{},(c=c.lineHeight)||(c=l.lineHeight),(H=d++%t)?a.labelPadding=c.replace(/px/i,"")*H:a.labelPadding=0)};break;case "none":xa=V.getCopyById("none");xa.getHeight=W;ba=xa.getWidth=W;d.rotateLabels&&(g.rotation=m?300:270,va=b);xa.getCalculatedLabelStep=function(){return d.labelStep};break;default:xa=V.getCopyById("auto"),xa.getHeight=function(){return b},xa.getWidth=function(b){return b.individualIW?b.individualIW:P-8},ba=function(b,a){var c,h,k,f;if(!d.irregularCatAxis&&
(u.setStyle(b),c=u.getOriSize("WWW"),c=c.width,c>=P&&0!==d.rotateLabels)){g.rotation=m?300:270;g.forceRotate=!0;xa=V.getCopyById("rotate");la=xa.getWidth;Z=xa.getHeight;c=M.width=0;for(h=a.length;c<h;c++)(k=a[c])&&(k.label||k.oriLabel)&&0!==e(k.showlabel,d.showLabels,1)&&(f=k._ovrStyle,u.setStyle({fontSize:f.fontSize,fontFamily:f.fontFamily,lineHeight:f.lineHeight,fontWeight:f.fontWeight}),O=u.getSmartText(k.oriLabel,la(k),Z(c)),k.label=O.text,k.labelTooltext=O.tooltext,k._sLabel=O,M.width<O.width&&
(M.text=O.text,M.width=O.width,M.style=f));R=M.text}}}la=xa.getWidth;Z=xa.getHeight;A=d.labels.step=d.labelStep=d._oriLabelStep;A=d.labels.step=d.labelStep=xa.getCalculatedLabelStep(K);F=0;for(J=K.length;F<J;F++)(S=K[F])&&(S.label||S.oriLabel)&&0!==e(S.showlabel,d.showLabels,1)&&(na=!0,Q={fontSize:l.fontSize,fontFamily:l.fontFamily,lineHeight:l.lineHeight,fontWeight:l.fontWeight},q(Q,S.style),Q.lineHeight=r(Q),u.setStyle(Q),F%A&&(S.stepSkipped=!0,ia++),S._ovrStyle=Q,O=u.getSmartText(S.oriLabel||S.label,
la(S),Z(F)),X+=S._nLineHeight=O.height+2,S._cumulativeSum=X,S.oriLabel=S.oriLabel||S.label,S.label=O.text,S.labelTooltext=O.tooltext,S._sLabel=O,M.width<O.oriTextWidth&&(q(M,O),M.style=Q),p<O.height&&(p=O.height));if(!na)return{height:0,width:0};aa(K,ia);U(K,ia);ba(M.style,K);R=M.text||"";if("mixed"===d.xAxisLabelMode)for(S=d.isPercent?h.numberFormatter.percentValue:h.numberFormatter.xAxis,A=R.length,F=G;F<=C;F+=z)ea=d.hasBreakPoints?c._getRealBreakValue(F):F,ea=""+S.call(h.numberFormatter,ea,d.axisIndex),
ea.length>A&&(R=ea,A=ea.length);M.height=Math.max(p,M.height||0);Y=K.length;F=0;for(J=K.length;F<J&&(ga=K[F],!ga._sLabel);F++);J=K.length;for(F=J-1;0<=F&&(ra=K[F],!ra._sLabel);F--);T=c._isZoomed();g.rotation||T?(d.axisEndLabelDisplaySpace.left=0,d.axisEndLabelDisplaySpace.right=0):(d.axisEndLabelDisplaySpace.left=Math.max(v-(c._getCustomPixel(ga.x||0)-ga._sLabel.width/2),0),d.axisEndLabelDisplaySpace.right=Math.max(c._getCustomPixel(ra.x||Y-1)+ra._sLabel.width/2-B,0));ga=M}else{S=d.numberFormatterFn?
h.numberFormatter[d.numberFormatterFn]:d.isPercent?h.numberFormatter.percentValue:h.numberFormatter.xAxis;for(F=G;F<=C;F+=z)ea=d.hasBreakPoints?L(c._getRealBreakValue(F),10):L(F,10),ea=""+S.call(h.numberFormatter,ea,d.axisIndex),F===G&&(Y=ea),F===C&&(T=ea),ea.length>A&&(R=ea,A=ea.length);u.setStyle({fontSize:l.fontSize,fontFamily:l.fontFamily,lineHeight:l.lineHeight,fontWeight:l.fontWeight});ga=u.getOriSize(R||"");"rotate"===f&&(g.rotation=270);d.rotateLabels&&(g.rotation=m?300:270);g.rotation||(Y=
u.getOriSize(Y||""),T=u.getOriSize(T||""),d.axisEndLabelDisplaySpace.left=Y.width/2+2,d.axisEndLabelDisplaySpace.right=T.width/2+2)}d.hasCategory&&"stagger"===f&&(ga.height=t*M.height);ga.width=va?Math.min(va,ga.width):ga.width;return ga},_getVMaxLabelDimention:function(b){var a,d,f,m,k=this.config,h=this.chart,u=h.components,p=h.config,g=h.linkedItems.smartLabel,l=k.axisRange,q=k.labels.style,n=l.tickInterval,z=k.useEllipsesWhenOverflow;d=k.maxLabelWidthPercent;var t=l.max;f=l.min;l=0;m=h.jsonData.categories;
var h={height:0,width:0},A,v;g.useEllipsesOnOverflow(p.useEllipsesWhenOverflow);g.setStyle({fontSize:q.fontSize,fontFamily:q.fontFamily,lineHeight:q.lineHeight,fontWeight:q.fontWeight});if(k.hasCategory){m&&(A=m[0].font,v=m[0].fontsize);d&&(p=d/100*p.width,p<b&&(b=p));u=k.categories.category;p=0;for(n=u.length;p<n;p++)t=u[p],0!==e(t.showlabel,k.showLabels)&&(a=c(t.font,t.labelfont,A,q.fontFamily),d=c(t.fontsize,t.labelfontsize,v,q.fontSize).replace(/px/i,"")+"px",f="normal"==q.fontWeight?e(t.fontbold,
t.labelfontbold,0)?"bold":"normal":q.fontWeight,m="normal"==q.fontStyle?e(t.fontitalic,t.labelfontitalic,0)?"italic":"normal":q.fontStyle,a={fontFamily:c(a,A,q.fontFamily),fontSize:c(d,v,q.fontSize),fontWeight:c(f,q.fontWeight),fontStyle:c(m,q.fontStyle)},a.lineHeight=r(a),g.setStyle(a),a=g.getSmartText(t.oriLabel||t.label,b,q.lineHeight,z),t.oriLabel=t.oriLabel||t.label,t.label=a.text,t.labelTooltext=a.tooltext,a.width>l&&(h=a,l=a.width));return h}b=k.numberFormatterFn?u.numberFormatter[k.numberFormatterFn]:
k.isPercent?u.numberFormatter.percentValue:u.numberFormatter.yAxis;for(p=f;p<=t;p+=n)q=k.hasBreakPoints?L(this._getRealBreakValue(p),10):L(p,10),q=""+b.call(u.numberFormatter,q,k.axisIndex),q.length>l&&(a=q,l=q.length);return g.getOriSize(a)},getLogAxisLimits:function(b,a,c,e,d,k){var h=function(b){return null===b||void 0===b||""===b||isNaN(b)?!1:!0},f=0,p=[],g,m,l,r,q,n,z,t;b===a&&(a-=a/100);h(c)&&Number(c)>=b?b=Number(c):(c=1<d?lb(ib(b)/ib(d)):fb(ib(b)/ib(d)),b=xb(d,c),m=c);m||(m=1<d?lb(ib(b)/ib(d)):
fb(ib(b)/ib(d)));h(e)&&Number(e)<=a?a=Number(e):(c=1<d?fb(ib(a)/ib(d)):lb(ib(a)/ib(d)),a=xb(d,c),g=c);g||(g=1<d?fb(ib(a)/ib(d)):lb(ib(a)/ib(d)));e=Number(String(ib(d)/ib(10)));k=Number(k)||(fb(e)==e?8:4);1<d?(l=m,r=g):0<d&&1>d&&(l=g,r=m);e=m;for(g=l;g>=r;--g)if(l=xb(d,e),a<=l&&b>=l&&(p[f++]={value:l,ismajor:!0}),g!=r){m=1<d?-1:1;l=xb(d,e)-xb(d,e+m);c=l/(k+1);for(h=1;h<=k;++h)l=xb(d,e+m)+c*h,a<=l&&b>=l&&(p[f++]={value:l,ismajor:!1});1<d?e--:e++}for(z in p)for(t in p[z])"value"==t&&(q||(q=p[z][t]==
a&&(p[z].isextreme=p[z].isMin=!0)),n||(n=p[z][t]==b&&(p[z].isextreme=p[z].isMax=!0)));q||(p[f++]={value:a,ismajor:!0,isMin:!0,isextreme:!0});n||(p[f]={value:b,ismajor:!0,isMax:!0,isextreme:!0});return{Max:b,Min:a,divArr:p}},getCategoryLen:function(){return this.config.categories?this.config.categories.category.length:0},getCleanValue:function(b,a){var c=this.chart;return(this.components.numberFormatter||c.components.numberFormatter).getCleanValue(b,a)},dataLabels:function(b){var a=this.chart;return(this.components.numberFormatter||
a.components.numberFormatter).dataLabels(b,this.config.axisIndex)},setNumberFormatter:function(b){this.components.numberFormatter=b}},void 0,{setAdaptiveMin:0,adjustDiv:1,axisNameWidth:void 0,rotateAxisName:0,useEllipsesWhenOverflow:1,divLineColor:void 0,divLineAlpha:void 0,divLineThickness:void 0,divLineIsDashed:void 0,divLineDashLen:void 0,divLineDashGap:void 0,showAlternateGridColor:void 0,alternateGridColor:void 0,alternateGridAlpha:void 0,showZeroPlane:1,zeroPlaneAlpha:80,showZeroPlaneValue:1,
showZeroPlaneOnTop:1,showAxisLine:void 0,axisLineThickness:void 0,axisLineAlpha:void 0,tickLength:void 0,trendlineToolText:void 0,trendlineColor:"333333",trendlineThickness:1,trendlineAlpha:void 0,showTrendlinesOnTop:0,trendlinesAreDashed:0,trendlinesDashLen:5,trendlinesDashGap:2,isTrendZone:void 0,showTrendlines:1,showTrendlineLabels:1,showLabels:1,maxLabelHeight:void 0,rotateLabels:void 0,slantLabel:0,showAxisValues:1,showTooltip:1}]);FusionCharts.register("component",["axis","log",{configure:function(){var b=
this.config,a=b.rawAttr,d=this.chart.components,f=d.numberFormatter,d=d.colorManager;FusionCharts.register("component",["axis","cartesian"]).prototype.configure.call(this);b.minorDivlinecolor=P(c(a.minorDivlinecolor,d.getColor("divLineColor")),e(a.minorDivLineAlpha,d.getColor("divLineAlpha")/2));b.axisMinValue=f.getCleanValue(a.axisMinValue);b.axisMaxValue=f.getCleanValue(a.axisMaxValue);0>=b.axisMinValue&&(b.axisMinValue=void 0);0>=b.axisMaxValue&&(b.axisMaxValue=void 0);b.minorDivLineThickness=
e(a.minorDivLineThickness,1)},setDataLimit:function(b,a){var c=this.config,d=c.axisRange,f=this.getLogAxisLimits,k=c.axisMaxValue,h=c.axisMinValue,c=f(e(b,k),e(a,h),k,h,c.base,c.numMinorDivLines);d.min=Number(L(c.Min,10));d.max=Number(L(c.Max,10));d.divArr=c.divArr||{}},_setTickIntervalAfterZoom:function(){var b=this.config,a=this.chart.config.viewPortConfig,c=b.isVertical,d=b.axisRange,f=this.getLogAxisLimits,k=b.rawAttr,h,u;b.hasCategory||(c=c?a.scaleY:a.scaleX,a=e(k.axisrange?k.axisrange.max:d.max),
u=e(k.axisrange?k.axisrange.min:d.min),k=1===c?b.axisMaxValue:d.max,h=1===c?b.axisMinValue:d.min,e(1===c?b.adjustDiv:0),b=f(a,u,k,h,b.base,b.numMinorDivLines),d.min=Number(L(b.Min,10)),d.max=Number(L(b.Max,10)),d.divArr=b.divArr||{})},getPixel:function(b){var a=this.config,c=this.chart.config,e=a.axisRange,d=c.viewPortConfig,k=c.canvasHeight,h=c.canvasWidth,f=c.canvasTop,p=c.canvasLeft,g=c.canvasBottom,c=c.canvasRight,m=e.max,e=e.min,l=a.base,r=ib(m)/l,q=ib(e)/l;b=ib(b)/l-q;d||(d={x:p,y:f,scaleX:1,
scaleY:1});a.isVertical?(h=-k*d.scaleY/(r-q),a=a.isReverse?g-(b*h+(k*d.scaleY-d.y*d.scaleY)):f+(b*h+(k*d.scaleY-d.y*d.scaleY))):(h=h*d.scaleX/(ib(m-e)/l),a=a.isReverse?c-(b*h-d.x*d.scaleX):p+(b*h-d.x*d.scaleX));return a},_drawPlotLine:function(){var b=this.config,a=b.axisRange,c=b.isVertical,e=this.chart,d=e.config,k=d.canvasLeft,h=d.canvasRight,f=d.canvasTop,d=d.canvasBottom,p=b.showCanvasBorder,g=a.max,m=a.min,l=b.axisPlotLineContainer,r=e.components.paper,q=this.graphics.line||[],n=0,z=P(b.divLineColor,
b.divLineAlpha),t=b.divLineThickness,A=b.divLineIsDashed?J(b.divLineDashLen,b.divLineDashGap,t):"none",v=P(b.zeroPlaneColor,b.zeroPlaneAlpha),B=b.zeroPlaneThickness,F=b.animateAxis,E,H,C,G,S,Q,K,L,M;G={stroke:z,"stroke-width":t,"stroke-dasharray":A};A={stroke:b.minorDivlinecolor,"stroke-width":b.minorDivLineThickness,"stroke-dasharray":A};if(b.lines.isDraw){E=e.get("config","animationObj");L=E.animObj;M=E.dummyObj;e=E.transposeAnimDuration;E=E.animType;this._getVisibleConfig();S=a.divArr;Q=S.length;
for(a=0;a<Q;a++)if(C=S[a],K=C.value,H=this.getPixel(K),C=C.ismajor?G:A,!p||K!==m&&K!==g)if(0!==b.showZeroPlaneValue||0!==b.showZeroPlane||0!==K)0===K&&1===b.showZeroPlane&&1===b.showZeroPlaneValue&&(C.stroke=v,C["stroke-width"]=B),C.path=c?"M"+k+" "+H+"L"+h+" "+H:"M"+H+" "+f+"L"+H+" "+d,q[n]?(H=q[n],e&&F?H.animateWith(M,L,C,e,E):H.attr(C)):(H=r.path(C,l),q[n]=H),0===K&&1===b.showZeroPlane&&1===b.showZeroPlaneValue&&(C.stroke=z,C["stroke-width"]=t),n+=1;if(q[n])for(a=n;a<q.length;a++)q[a].attr({path:[]});
this.graphics.line=q}else if(q[n])for(a=n;a<q.length;a++)q[a].attr({path:[]})},_drawLabel:function(){var b=this.config,a=this.chart,c=a.config,e=a.components,d=b.axisRange,k=b.isOpposit,h,f=b.labels,p=f.style,g=b.isVertical,m=d.max,l=d.min,r=c.canvasBottom,q=c.canvasLeft,n=c.canvasRight,c=c.canvasTop,z=b.axisContainer,t=b.labelPadding,A=e.paper,v=b.labelMaxH,B=b.labelMaxW,F=b.axisStartPosition,E=this.graphics.labels||[],C=0,H=b.animateAxis,G,S,Q,K,J,P,L,Z={fontFamily:p.fontFamily,fontSize:p.fontSize,
fontWeight:p.fontWeight,fontStyle:p.fontStyle,lineHeight:p.lineHeight},M,O,U,ba;p.lineHeight&&(P=p.lineHeight,-1!==P.indexOf("px")&&(P=P.replace("px",""),parseFloat(P)));if(b.labels.isDraw){G=a.get("config","animationObj");a=G.animObj;P=G.dummyObj;U=G.animType;G=G.transposeAnimDuration;Qa(this.getPixel(l)-this.getPixel(l+d.tickInterval));ba=this._isZoomed();b.labels.step?h=d.tickInterval*b.labels.step:h=d.tickInterval;J=b.labels.rotation;K=this._getVisibleConfig();p={fill:p.color,"font-size":p.fontSize};
z.css(Z);Z=d.divArr;M=Z.length;for(d=0;d<M;d++)if(O=Z[d],L=O.value,S=this.getPixel(L),!(!O.ismajor&&!b.showMinorDivLineValues||Q&&S>Q-b.labelMaxH&&S<Q+b.labelMaxH||ba&&(L<K.minValue||L>K.maxValue)||!b.labels.drawNormalVal&&(!b.labels.drawLimitVal||L!==l&&L!==m)||!b.labels.drawNormalVal&&L!==l&&L!==m||!(b.labels.drawLimitVal||L!==l&&L!==m)||0===b.showZeroPlaneValue&&0===b.showZeroPlane&&0===L)){if(1===b.showZeroPlane&&1===b.showZeroPlaneValue&&(0>L&&0<L+h||0<L&&0>L-h))if(g){if(S+v>=this.getPixel(0)&&
this.getPixel(0)>=S-v)continue}else if(S+B>=this.getPixel(0)&&this.getPixel(0)>=S-B)continue;g?(Q=b.numberFormatterFn?e.numberFormatter[b.numberFormatterFn]:b.isPercent?e.numberFormatter.percentValue:e.numberFormatter.yAxis,Q=""+Q.call(e.numberFormatter,L),L=b.hasCategory?b.categories.category[d].labelPadding||0:0,p["text-anchor"]=k?Ta:$a,p.text=Q,p.x=k?(F||n)+t:(F||q)-t,p.y=L?S+L:S,Q=p.y):(Q=b.numberFormatterFn?e.numberFormatter[b.numberFormatterFn]:b.isPercent?e.numberFormatter.percentValue:e.numberFormatter.xAxis,
Q=""+Q.call(e.numberFormatter,L),L=b.hasCategory?Number(b.categories.category[d].labelPadding)||0:0,p.text=Q,p.x=S,p.y=k?(F||c)-t:(F||r)+t,L&&(p.y+=L),J?(p["text-anchor"]=k?Ta:$a,p["vertical-align"]="center"):p["vertical-align"]=k?mb:Ua,Q=p.x);f.shiftX&&(p.x+=f.shiftX);f.shiftY&&(p.y+=f.shiftY);p.transform=A.getSuggestiveRotation(J,p.x,p.y);E[C]?(S=E[C],G&&H?S.animateWith(P,a,p,G,U):S.attr(p)):E[C]=A.text(p,z);C+=1}if(E[C])for(d=C;d<E.length;d++)E[d].attr({text:""});this.graphics.labels=E}else if(E[C])for(d=
C;d<E.length;d++)E[d].attr({text:""})},_drawPlotBand:function(){},_getVMaxLabelDimention:function(){var b=this.config,a=this.chart,c=a.components,e=a.linkedItems.smartLabel,d=b.labels.style,k=0,h=b.axisRange.divArr,f=h.length,p;e.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow);e.setStyle({fontSize:d.fontSize,fontFamily:d.fontFamily,lineHeight:d.lineHeight,fontWeight:d.fontWeight});a=b.isPercent?c.numberFormatter.percentValue:c.numberFormatter.xAxis;for(b=0;b<f;b++)d=h[b],d=""+a.call(c.numberFormatter,
d.value),d.length>k&&(p=d,k=d.length);return e.getOriSize(p)},_getHMaxLabelDimention:function(){var b=this.config,a=this.chart,c=a.components,e=a.linkedItems.smartLabel,d=b.labels.style,k=0,h=b.axisRange.divArr,f=h.length,p;e.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow);e.setStyle({fontSize:d.fontSize,fontFamily:d.fontFamily,lineHeight:d.lineHeight,fontWeight:d.fontWeight});a=b.isPercent?c.numberFormatter.percentValue:c.numberFormatter.xAxis;for(b=0;b<f;b++)d=h[b],d=""+a.call(c.numberFormatter,
d.value),d.length>k&&(p=d,k=d.length);return e.getOriSize(p)},getCleanValue:function(b){var a=null,c=this.chart.components.numberFormatter;b=Qa(b);0<b&&(a=c.getCleanValue(b));return a}},"cartesian",{base:10,showMinorDivLineValues:1,numMinorDivLines:void 0}]);FusionCharts.register("component",["axis","polarcartesan",{_drawComponents:function(){var b=this.config;b.drawLabels&&this._drawLabel();b.drawPlotlines&&this._drawPlotLine()},_drawPlotLine:function(){var b=this.config,a=b.axisRange,c=a.tickInterval,
e=this.chart,d=a.max,a=a.min,k=b.axisPlotLineContainer,h=e.components.paper,f=this.graphics.line||[],p=0,g=P(b.divLineColor,b.divLineAlpha),m=b.divLineThickness,l=b.divLineIsDashed?J(b.divLineDashLen,b.divLineDashGap,m):"none",r=P(b.zeroPlaneColor,b.zeroPlaneAlpha),q=b.zeroPlaneThickness,n=b.animateAxis,z,t,A,v,B,F,E,C,H,l={stroke:g,"stroke-width":m,"stroke-dasharray":l};z=e.get("config","animationObj");C=z.animObj;H=z.dummyObj;e=z.transposeAnimDuration;z=z.animType;if(b.lines.isDraw){A=this._getVisibleConfig();
p=a+c*fb((A.minValue-3*c-a)/c);A=a+c*fb((A.maxValue+3*c-a)/c);p=p<a?a:p;A=A>d?d:A;B=d=p;for(p=0;d<A;){if(d!==a&&(0!==b.showZeroPlane||0!==d)){0===d&&1===b.showZeroPlane&&(l.stroke=r,l["stroke-width"]=q);l.path=["M"];t=b.polarAxis;v=t.config.categories.category;F=v.length;for(v=0;v<F;v++)E=t.getPixel(v,t.config.centerY-this.getPixel(d)),l.path.push(E.x,E.y,"L");l.path.pop();l.path.push("Z");f[p]?(t=f[p],e&&n?t.animateWith(H,C,l,e,z):t.attr(l)):(t=h.path(l,k),f[p]=t);0===d&&1===b.showZeroPlane&&(l.stroke=
g,l["stroke-width"]=m);p+=1}b.showZeroPlane&&0>d&&0<d+c?(d=0,B+=c):d<B?d=B:(d+=c,B+=c)}if(f[p])for(d=p;d<f.length;d++)f[d].attr({path:[]});this.graphics.line=f}else if(f[p])for(d=p;d<f.length;d++)f[d].attr({path:[]})}},"cartesian"]);FusionCharts.register("component",["axis","gauge",{configure:function(){var b=this.config,a=b.rawAttr,d=this.chart.components.colorManager;FusionCharts.register("component",["axis","cartesian"]).prototype.configure.call(this);b.majorTMColor=P(c(a.majorTMColor,d.getColor("tickColor")),
e(a.majorTMAlpha,100));b.tickValueStep=e(a.tickValueStep,1);b.tickValueStep=ab(b.tickValueStep);0>=b.tickValueStep&&(b.tickValueStep=1);b.connectTickMarks=b.showTickMarks?e(a.connectTickMarks,1):0;b.showTickValues=e(a.showTickValues,b.showTickMarks);b.reverseScale=1==e(a.reverseScale,0);b.minorTMColor=P(c(a.minorTMColor,b.majorTMColor),e(a.minorTMAlpha,b.majorTMAlpha,100));b.minorTMHeight=b.showTickMarks?e(a.minorTMHeight,ab(b.majorTMHeight/2)):0;b.tickValueDistance=e(a.tickValueDistance,0)+2;b.upperLimitDisplay=
G(a.upperLimitDisplay)||"";b.lowerLimitDisplay=G(a.lowerLimitDisplay)||"";b.drawTickMarkConnector=a.drawTickMarkConnector||0},setDataLimit:function(b,a){var c=this.config,d=c.axisRange,f=this.getGaugeAxisLimit,k=c.upperlimit,h=c.lowerlimit,u=c.setAdaptiveMin,p=c.majorTMNumber,c=c.adjustTM,g;g=!u;f=f.call(this,e(b,k),e(a,h),k,h,u,g,p,c);d.min=Number(L(f.min,10));d.max=Number(L(f.max,10));d.tickInterval=f.majorTickInt||1;d.numMajorTM=f.numMajorTM},_setTickIntervalAfterZoom:function(){},_drawComponents:function(){var b=
this.config;b.drawTick&&this._drawTick();b.drawLabels&&this._drawLabel();b.drawTrendLines&&this._drawTrendLine()},_drawTick:function(){var b=this.config,a=b.axisRange,c=a.tickInterval,e=b.isVertical,d=b.isOpposit,k=b.drawTick,h=b.drawTickMinor,f=b.canvas,p=this.chart,g=p.config,m=f.canvasBottom||g.canvasBottom,l=f.canvasLeft||g.canvasLeft,r=f.canvasRight||g.canvasRight,q=f.canvasTop||g.canvasTop,f=a.max,g=a.min,n=p.components.paper,z=this.graphics.tick||[],t=b.minorTMNumber,a=a.numMajorTM||b.majorTMNumber,
A=b.axisAxisLineContainer,v=0,B=b.animateAxis,F,E,C,H,G,S;C={stroke:b.majorTMColor,"stroke-width":b.majorTMThickness,"stroke-linecap":"round"};E={stroke:b.minorTMColor,"stroke-width":b.minorTMThickness,"stroke-linecap":"round"};if(b.lines.isDraw&&k){F=p.get("config","animationObj");p=F.animObj;G=F.dummyObj;k=F.transposeAnimDuration;F=F.animType;e?d?b.placeTicksInside?(d=r-b.tickMarkDistance,m=d-b.majorTMHeight,l=d-b.minorTMHeight):(d=r+b.tickMarkDistance,m=d+b.majorTMHeight,l=d+b.minorTMHeight):b.placeTicksInside?
(d=l+b.tickMarkDistance,m=d+b.majorTMHeight,l=d+b.minorTMHeight):(d=l-b.tickMarkDistance,m=d-b.majorTMHeight,l=d-b.minorTMHeight):d?b.placeTicksInside?(d=q+b.tickMarkDistance,m=d+b.majorTMHeight,l=d+b.minorTMHeight):(d=q-b.tickMarkDistance,m=d-b.majorTMHeight,l=d-b.minorTMHeight):b.placeTicksInside?(d=m-b.tickMarkDistance,m=d-b.majorTMHeight,l=d-b.minorTMHeight):(d=m+b.tickMarkDistance,m=d+b.majorTMHeight,l=d+b.minorTMHeight);b=b.drawTickMarkConnector?e?["M",d,this.getPixel(g),"L",d,this.getPixel(f)]:
["M",this.getPixel(g),d,"L",this.getPixel(f),d]:[];C.path=b;z[v]?(b=z[v],k&&B?b.animateWith(G,p,{path:C},k,F):b.attr({path:C})):(b=n.path(C,A),z[v]=b);v+=1;for(q=0;q<a;q+=1)if(S=q<a-1?L(Number(g+c*q),10):f,C.path=e?"M"+d+" "+this.getPixel(S)+"L"+m+" "+this.getPixel(S):"M"+this.getPixel(S)+" "+d+"L"+this.getPixel(S)+" "+m,z[v]?(b=z[v],k&&B?b.animateWith(G,p,C,k,F):b.attr(C)):(b=n.path(C,A),z[v]=b),v+=1,S!==f&&h)for(r=c/(t+1),H=1;H<=t;H+=1)E.path=e?"M"+d+" "+this.getPixel(S+r*H)+"L"+l+" "+this.getPixel(S+
r*H):"M"+this.getPixel(S+r*H)+" "+d+"L"+this.getPixel(S+r*H)+" "+l,z[v]?(b=z[v],k&&B?b.animateWith(G,p,E,k,F):b.attr(E)):(b=n.path(E,A),z[v]=b),v+=1;if(z[v])for(q=v;q<z.length;q++)z[q].attr({path:[]});this.graphics.tick=z}else if(z[v])for(q=v;q<z.length;q++)z[q].attr({path:[]})},_drawLabel:function(){var b=this.config,a=b.canvas,c=b.axisDimention||{},e=this.chart,d=e.config,k=e.components,h=e.linkedItems.smartLabel,f=b.axisRange,p=b.isOpposit,g=b.isReverse,m=f.numMajorTM||b.majorTMNumber,l=b.labels,
r=l.style,q=b.isVertical,n=f.max,z=f.min,t=a.canvasTop||d.canvasTop,A=a.canvasLeft||d.canvasLeft,v=a.canvasBottom||d.canvasBottom,a=a.canvasRight||d.canvasRight,B=b.axisLabelContainerTop,F=b.labelPadding,E=k.paper,C=b.labelMaxH,H=b.labelMaxW,c=q?c.x:c.y,G=this.graphics.labels||[],S=0,Q=b.animateAxis,K,J,P,M,Z,O;O={fontFamily:r.fontFamily,fontSize:r.fontSize,fontWeight:r.fontWeight,fontStyle:r.fontStyle,lineHeight:r.lineHeight};var W,U,ba,aa;r.lineHeight&&(M=r.lineHeight,-1!==M.indexOf("px")&&(M=M.replace("px",
""),M=parseFloat(M)));if(b.labels.isDraw){K=e.get("config","animationObj");W=K.animObj;U=K.dummyObj;e=K.transposeAnimDuration;K=K.animType;J=Qa(this.getPixel(z)-this.getPixel(z+f.tickInterval));q?(b.labelMaxH>J&&!b.hasCategory&&(Z=lb(b.labelMaxH/J)),Z>b.labels.step&&(b.labels.step=Z)):(b.labelMaxW>J&&!b.hasCategory&&(Z=lb(b.labelMaxW/J)),Z>b.labels.step&&(b.labels.step=Z),ba=A,aa=d.width-a);Z=(q?H:J/2)*b.labels.step;C=q?J/2:C;f=f.tickInterval;H=b.labels.step?b.labels.step:1;h.useEllipsesOnOverflow(d.useEllipsesWhenOverflow);
h.setStyle({fontSize:r.fontSize,fontFamily:r.fontFamily,lineHeight:r.lineHeight,fontWeight:r.fontWeight});B.css(O);for(d=0;d<m;d+=H)if(J=d<m-H?L(Number(z+f*d),10):n,b.labels.drawNormalVal||b.labels.drawLimitVal&&(J===z||J===n))if(b.labels.drawNormalVal||J===z||J===n)if(b.labels.drawLimitVal||J!==z&&J!==n)O=k.numberFormatter.scale,J===z&&b.lowerLimitDisplay?(O=h.getSmartText(b.lowerLimitDisplay,Z,C+M/2),P=O.text):J===n&&b.upperLimitDisplay?(O=h.getSmartText(b.upperLimitDisplay,Z,C+M/2),P=O.text):(P=
O.call(k.numberFormatter,J),O=h.getOriSize(""+P)),q?(P={fill:r.color,"line-height":M,"text-anchor":p?Ta:$a,text:P,x:p?(c||a)+F:(c||A)-F,y:this.getPixel(J)},(!g&&J===z&&b.lowerLimitDisplay||g&&J===n&&b.upperLimitDisplay)&&O.height>M&&(P["vertical-align"]=mb),(!g&&J===n&&b.upperLimitDisplay||g&&J===z&&b.lowerLimitDisplay)&&O.height>M&&(P["vertical-align"]=Ua),b.placeValuesInside&&(P["text-anchor"]=p?$a:Ta)):(P={fill:r.color,"line-height":M,text:P,"text-anchor":hb,x:this.getPixel(J),y:p?(c||t)-F:(c||
v)+F},(!g&&J===z||g&&J===n)&&O.width>2*ba&&(P["text-anchor"]=Ta),(!g&&J===n||g&&J===z)&&O.width>2*aa&&(P["text-anchor"]=$a),P["vertical-align"]=b.placeValuesInside?p?Ua:mb:p?mb:Ua),l.shiftX&&(P.x+=l.shiftX),l.shiftY&&(P.y+=l.shiftY),G[S]?(J=G[S],e&&Q?J.animateWith(U,W,P,e,K):J.attr(P)):G[S]=J=E.text(P,B),O&&O.tooltext?(J.tooltip(O.tooltext),J.trackTooltip(!0)):J.trackTooltip(!1),S+=1;if(G[S])for(d=S;d<G.length;d++)G[d].attr({text:""});this.graphics.labels=G}else if(G[S])for(d=S;d<G.length;d++)G[d].attr({text:""})},
placeAxis:function(b){var a=this.chart,c=a.components,e=a.linkedItems.smartLabel,d=this.config,f=d.axisRange,h=d.isVertical,u=d.isOpposit,p=d.labels.style,g=f.tickInterval,m=f.max,l=f.min,r=0,q=0,f="",n,z;n={left:0,right:0,top:0,bottom:0};if(0>=b)return n;d.labels.isDraw=!0;d.labels.drawNormalVal=d.showTickValues;d.labels.drawLimitVal=d.showLimits;d.lines.isDraw=!0;d.labels.step=d.tickValueStep;d.labelPadding=0;e.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow);e.setStyle({fontSize:p.fontSize,
fontFamily:p.fontFamily,lineHeight:p.lineHeight,fontWeight:p.fontWeight});d.drawTick&&d.showTickMarks&&d.lines.isDraw?(b-=d.tickMarkDistance,q=La(d.minorTMHeight,d.majorTMHeight),d.placeTicksInside?(b+=d.tickMarkDistance,d.placeValuesInside&&(d.labelPadding=d.tickMarkDistance+q)):q>b?d.lines.isDraw=!1:(h?u?n.right+=q+d.tickMarkDistance:n.left+=q+d.tickMarkDistance:u?n.top+=q+d.tickMarkDistance:n.bottom+=q+d.tickMarkDistance,b-=q,d.placeValuesInside||(d.labelPadding=d.tickMarkDistance+q))):d.lines.isDraw=
!1;b-=d.tickValueDistance;if(d.drawLabels&&(d.showTickValues||d.showLimits)){a=Qa(this._getCustomPixel(l)-this._getCustomPixel(l+g))/2;d.labelPadding+=d.tickValueDistance;b-=d.tickValueDistance;q=c.numberFormatter.scale;for(p=l+g;p<m;p+=g)z=""+q.call(c.numberFormatter,L(p,10)),z.length>r&&(f=z,r=z.length);r=e.getOriSize(f);h?r.width>b&&(d.labels.isDraw=!1):r.height>b&&(d.labels.isDraw=!1);d.showLimits?(p=d.upperLimitDisplay||""+q.call(c.numberFormatter,m),c=d.lowerLimitDisplay||""+q.call(c.numberFormatter,
l),q=e.getOriSize(p),q.width>r.width&&(f=p,r=e.getOriSize(f)),p=e.getOriSize(c),p.width>r.width&&(f=c)):d.labels.drawLimitVal=!1;c=h?b:a;q=h?a:b;if(h)e.getSmartText(f,c,q);else for(p=l;p<=m;p+=g)if(l=e.getSmartText(f,c,q),""===l.text)c+=a;else break;l=e.getSmartText(f,c,q);d.labelMaxW=La(l.width,r.width);d.labelMaxH=La(l.height,r.height);!d.placeValuesInside&&d.labels.isDraw?h?(d.labelMaxW=Sa(d.labelMaxW,b),u?n.right+=d.labelMaxW+d.tickValueDistance:n.left+=d.labelMaxW+d.tickValueDistance):(d.labelMaxH=
Sa(d.labelMaxH,b),u?n.top+=d.labelMaxH+d.tickValueDistance:n.bottom+=d.labelMaxH+d.tickValueDistance):d.labelPadding=-d.labelPadding}else d.labels.isDraw=!1;return d.spaceTaken=n},getGaugeAxisLimit:function(b,a,c,e,d,f,h,u){var p=!0,g=!0,m=Number(c),l=Number(e),r,q;q={max:0,min:0,MajorTickInterval:1,numMajorTM:h};if(c&&e)m>b&&(b=m),l<a&&(a=l);else if(isNaN(b)&&(b=.9,g=!1),isNaN(a)&&(a=0,p=!1),b===a&&0===b&&(isNaN(m)||(b=m),isNaN(m)||0===m))b=.9;r=Math.max(Math.floor(Math.log(Math.abs(a))/Math.LN10),
Math.floor(Math.log(Math.abs(b))/Math.LN10));h=xb(10,r);2>Math.abs(b)/h&&2>Math.abs(a)/h&&(r--,h=xb(10,r));r=xb(10,Math.floor(Math.log(b-a)/Math.LN10));0<b-a&&10<=h/r&&(h=r);r=(Math.floor(b/h)+1)*h;0>a?f=-1*(Math.floor(Math.abs(a/h))+1)*h:f?f=0:(f=Math.floor(Math.abs(a/h)-1)*h,f=0>f?0:f);d&&0>=b&&(r=0);q.max=!c||c&&m<b&&g?r:m;q.min=!e||e&&l>a&&p?f:l;q.min>q.max?q.min==l&&q.max==m?(b=q.min,q.min=q.max,q.max=b):q.min==l?q.max=q.min+1:q.max==m&&(q.min=q.max-1):q.min==q.max&&(q.max=q.min+1);q.range=Math.abs(q.max-
q.min);q.MajorTickInterval=h;this.calcTickInterval(q,c,u);return q},calcTickInterval:function(b,a,c){var e=0;-1!=b.numMajorTM&&2>b.numMajorTM&&(b.numMajorTM=2);a||a||-1===b.numMajorTM?(b.numMajorTM=-1==b.numMajorTM?5:b.numMajorTM,c&&(a=function(b,a){for(var c=0,e=1,d;;){d=b.numMajorTM+c*e;d=0===d?1:d;if(a.isRangeDivisible(b.range,d,b.MajorTickInterval))break;c=-1==e||c>b.numMajorTM?++c:c;if(25<c){d=b.numMajorTM;break}e=c<=b.numMajorTM?-1*e:1}b.numMajorTM=1<d?d:b.numMajorTM},c=b.numMajorTM,a(b,this),
2===b.numMajorTM&&(b.numMajorTM=c,1<b.range&&(b.range+=1,0>b.min?--b.min:b.max+=1),a(b,this),e=0))):(b.numMajorTM=-1==b.numMajorTM?5:b.numMajorTM,a=this.getDivisibleRange(b.min,b.max,b.range,b.numMajorTM,b.MajorTickInterval,!0),c=a-b.range,b.range=a,0<b.max?b.max+=c:b.min-=c);b.majorTickInt=(b.max-b.min+e)/(b.numMajorTM-1)},isRangeDivisible:function(b,a,c){b/=a-1;a=new m.MathExt;return a.numDecimals(b)>a.numDecimals(c)?!1:!0},getDivisibleRange:function(b,a,c,e,d,f){if(3>e)return c;b=Math.abs(a-b);
a=b/(e-1);this.isRangeDivisible(b,e,d)||(f&&Number(a)/Number(d)<(1<d?2:.5)&&(d/=10),a=(Math.floor(a/d)+1)*d,b=a*(e-1));return b}},"cartesian",{majorTMNumber:-1,majorTMHeight:6,showTickMarks:1,majorTMThickness:1,upperlimit:void 0,lowerlimit:void 0,adjustTM:1,minorTMNumber:4,minorTMThickness:1,tickMarkDistance:3,placeTicksInside:0,placeValuesInside:0}]);FusionCharts.register("component",["axis","polarGauge",{configure:function(){var b=this.config,a=b.rawAttr;FusionCharts.register("component",["axis",
"gauge"]).prototype.configure.call(this);b.upperLimitDisplay=a.upperLimitDisplay||"";b.lowerLimitDisplay=a.lowerLimitDisplay||"";b.polarPadding=4},_drawComponents:function(){var b=this.config;b.drawTick&&this._drawTick();b.drawLabels&&this._drawLabel();b.drawTrendLines&&this._drawTrendLine()},getAxisPosition:function(b,a){return this.getPixel(b,a)},getPixel:function(b,a){var c=this.config,d=c.axisRange,f=d.min,k=d.max-f,h=c.startAngle||yb/2,u=c.totalAngle||yb/2,p=c.centerX||0,d=c.centerY||0;a=e(a,
c.radius,0);c=h+u/k*(b-f);f=p+a*ob(c);d+=a*zb(c);return{x:f,y:d,angle:c}},getAngle:function(b){var a=this.config,c=a.axisRange,e=c.min;return(a.startAngle||yb/2)+(a.totalAngle||yb/2)/(c.max-e)*(b-e)},placeAxis:function(b){var a=this.config,c=this.chart,e=c.components,d=c.linkedItems.smartLabel,f=a.axisRange,h=a.labels.style,u=f.tickInterval,p=a.upperLimitDisplay,g=a.lowerLimitDisplay,m=f.max,l=f.min,f=0,r,q;q={left:0,right:0,top:0,bottom:0};d.useEllipsesOnOverflow(c.config.useEllipsesWhenOverflow);
d.setStyle({fontSize:h.fontSize,fontFamily:h.fontFamily,lineHeight:h.lineHeight,fontWeight:h.fontWeight});a.labels.isDraw=1;a.labels.drawNormalVal=1;a.labels.drawLimitVal=1;a.lines.isDraw=1;a.labels.step=a.tickValueStep;a.labelPadding=0;if(a.drawLabels&&a.showTickValues&&0<b){Qa(this.getPixel(l)-this.getPixel(l+u));a.labelPadding+=a.tickValueDistance;c=e.numberFormatter.scale;for(h=l;h<=m;h+=u)l=""+c.call(e.numberFormatter,L(h,10)),l.length>f&&(r=l,f=l.length);e=d.getOriSize(r);if(e.width>b/2)return a.labels.isDraw=
!1,q;a.showLimits?(p.length>f&&(r=p,f=p.length),g.length>f&&(r=g)):a.labels.drawLimitVal=!1;e=d.getOriSize(r);a.labelMaxW=e.width;a.labelMaxW>b/2&&(a.labelMaxW=b/2);a.labelMaxH=e.height;a.placeValuesInside?a.labelPadding=-a.labelPadding:(q.right+=a.labelMaxW+a.tickValueDistance,q.left+=a.labelMaxW+a.tickValueDistance,q.top+=a.labelMaxH+a.tickValueDistance,q.bottom+=a.labelMaxH+a.tickValueDistance)}else a.labels.isDraw=!1;return q},_drawLabel:function(){var b=this.config,a=this.chart,c=a.components,
d=b.axisRange,f=a.linkedItems.smartLabel,k,h=b.labels.style,u=b.labelPadding||0,p=!1,g=b.radius,m=e(b.gaugeOuterRadius,g),g=e(b.gaugeInnerRadius,g),l=b.centerX,r=b.centerY,q=b.placeValuesInside,n=b.labelMaxH,z=b.labelMaxW,t=d.max,A=d.min,v=b.axisLabelContainerTop,B=c.paper,F=this.graphics.labels||[],E=0,C=b.animateAxis,H,G,S;H={fontFamily:h.fontFamily,fontSize:h.fontSize,fontWeight:h.fontWeight,fontStyle:h.fontStyle,lineHeight:h.lineHeight};var Q,J,K;h.lineHeight&&(S=h.lineHeight,-1!==S.indexOf("px")&&
(S=S.replace("px",""),S=parseFloat(S)));f.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow);f.setStyle({fontSize:h.fontSize,fontFamily:h.fontFamily,lineHeight:h.lineHeight,fontWeight:h.fontWeight});if(b.labels.isDraw){E=a.get("config","animationObj");Q=E.animObj;J=E.dummyObj;a=E.transposeAnimDuration;K=E.animType;b.labels.step?k=d.tickInterval*b.labels.step:k=d.tickInterval;v.css(H);d=A;for(E=0;d<=t;d+=k)if(b.labels.drawNormalVal||b.labels.drawLimitVal&&(d===A||d===t))if(b.labels.drawNormalVal||
d===A||d===t)if(b.labels.drawLimitVal||d!==A&&d!==t)if(0!==b.showZeroPlaneValue||0!==b.showZeroPlane||0!==d)H=c.numberFormatter.scale,d===A&&b.lowerLimitDisplay?(H=f.getSmartText(b.lowerLimitDisplay,z,n),H=H.text):d===t&&b.upperLimitDisplay?(H=f.getSmartText(b.upperLimitDisplay,z,n),H=H.text):H=H.call(c.numberFormatter,L(d,10)),G=q?this.getPixel(d,g+u-b.polarPadding):this.getPixel(d,m+u+b.polarPadding),H={fill:h.color,"line-height":S,text:H,x:G.x,y:G.y},G.x>l-10&&G.x<l+10&&G.y<r?(H["text-anchor"]=
hb,H["text-valign"]=q?Ua:mb):G.x>l-10&&G.x<l+10&&G.y<r?(H["text-anchor"]=hb,H["text-valign"]=q?mb:Ua):(H["text-anchor"]=G.x<l?q?Ta:$a:q?$a:Ta,H["text-valign"]="center"),F[E]?(G=F[E],a&&C?G.animateWith(J,Q,H,a,K):G.attr(H)):F[E]=B.text(H,v),E+=1,!p&&d<t&&d+k>t&&(d=t-k,p=!0);if(F[E])for(d=E;d<F.length;d++)F[d].attr({text:""});this.graphics.labels=F}else if(F[E])for(d=E;d<F.length;d++)F[d].attr({text:""})},_drawTick:function(){var b=this.config,a=b.axisRange,c=a.tickInterval,d=b.drawTick,f=b.drawTickMinor,
k=this.chart,h=k.components,u=a.max,p=a.min,g=b.radius,a=e(b.gaugeOuterRadius,g),g=e(b.gaugeInnerRadius,g),h=h.paper,l=this.graphics.tick||[],m=b.minorTMNumber,r=0,q=b.animateAxis,n=!1,z,t,A,v,B,F,E,H,C,G;H=b.axisAxisLineContainer;v={stroke:b.majorTMColor,"stroke-width":b.majorTMThickness,"stroke-linecap":"round"};A={stroke:b.minorTMColor,"stroke-width":b.minorTMThickness,"stroke-linecap":"round"};if(b.lines.isDraw&&d){r=k.get("config","animationObj");k=r.animObj;C=r.dummyObj;d=r.transposeAnimDuration;
G=r.animType;t=this._getVisibleConfig();r=p+c*eb.floor((t.minValue-3*c-p)/c);t=p+c*eb.floor((t.maxValue+3*c-p)/c);t=t>u?u:t;p=r<p?p:r;for(r=0;p<=t;p+=c)if(b.placeTicksInside?(z=this.getPixel(p,g),B=this.getPixel(p,g+b.majorTMHeight)):(z=this.getPixel(p,a),B=this.getPixel(p,a-b.majorTMHeight)),v.path="M"+z.x+" "+z.y+"L"+B.x+" "+B.y,l[r]?(z=l[r],d&&q?z.animateWith(C,k,v,d,G):z.attr(v)):(z=h.path(v,H),l[r]=z),r+=1,!n&&p<u&&p+c>u&&(p=u-c,n=!0),p<u&&f)for(B=c/(m+1),E=1;E<=m;E+=1)F=p+B*E,b.placeTicksInside?
(z=this.getPixel(F,g),F=this.getPixel(F,g+b.minorTMHeight)):(z=this.getPixel(F,a),F=this.getPixel(F,a-b.minorTMHeight)),A.path="M"+z.x+" "+z.y+"L"+F.x+" "+F.y,l[r]?(z=l[r],d&&q?z.animateWith(C,k,A,d,G):z.attr(A)):(z=h.path(A,H),l[r]=z),r+=1;if(l[r])for(p=r;p<l.length;p++)l[p].attr({path:[]});this.graphics.tick=l}else if(l[r])for(p=r;p<l.length;p++)l[p].attr({path:[]})},_drawPlotBand:function(){},_drawPlotLine:function(){},_drawTrendLine:function(){var b,a,d,f,l,k,h,u,p,g,m,r,q,n,z,t,A,v,B=this.config,
F=B.axisRange,E=F.max,F=F.min,H=this.chart;r=H.config;var C=H.linkedItems.smartLabel,K=H.components,L=K.colorManager,S=B.scaleFactor,Q=B.centerX||0,M=B.centerY||0,O=B.canvas.canvasWidth||r.canvasWidth,W=B.trend.trendStyle,la=B.axisTrendContainerTop,Z=B.axisTrendContainerBottom,xa=B.axisTrendLabelContainer,R=K.paper,U=this.components.trendObj||[],ba={fontFamily:W.fontFamily,fontSize:W.fontSize,lineHeight:W.lineHeight,fontWeight:W.fontWeight,fontStyle:W.fontStyle},aa=B.trendPoints,V=eb.PI/180,Y={},
T=B.animateAxis,ga,ea,X;ga=0;var da;f={};u={};d={};l={};var ka={},ia,va,na,ha,ja,ma,ta,ra,sa,ua,Aa,qa;if(aa){ga=H.get("config","animationObj");ua=ga.animObj;Aa=ga.dummyObj;H=ga.transposeAnimDuration;qa=ga.animType;C.useEllipsesOnOverflow(r.useEllipsesWhenOverflow);C.setStyle(ba);ga=ea=0;for(X=aa.point.length;ea<X;ea+=1)ia=aa.point[ea],va=e(ia.startvalue,ia.value),na=e(ia.endvalue,va),da=va!==na,va<=E&&va>=F&&na<=E&&na>=F&&(b=va,a=na,Da(G(ia.markertooltext)),d=Da(G(ia.displayvalue),da?"":K.numberFormatter.scale(va)),
e(ia.showontop,B.ticksBelowGauge,B.ticksBelowGraph,1),f=c(ia.color,L.getColor("trendLightColor")),l=e(ia.alpha,99),k=e(ia.thickness,1),h=ia.dashed?J(ia.dashlen||2,ia.dashgap||2,ia.thickness||1):"",u=e(ia.usemarker,0),p=P(c(ia.markercolor,ia.color,L.getColor("trendLightColor")),100),g=P(c(ia.markerbordercolor,ia.bordercolor,L.getColor("trendDarkColor")),100),m=e(e(ia.markerradius)*S,5),r=fa(ia.markertooltext),q=e(e(ia.trendvaluedistance,B.trendValueDistance)*S,B.tickValueDistance),n=e(ia.valueinside,
B.placeValuesInside,0),z=e(ia.showborder,1),t=P(c(ia.bordercolor,ia.color,L.getColor("trendDarkColor")),e(ia.borderalpha,ia.alpha,100)),A=e(e(ia.radius)*S),v=e(e(ia.innerradius)*S),ha=Math.cos(89.99*V),ja=-ha,A=e(A,B.gaugeOuterRadius),v=e(v,da?Math.max(B.gaugeInnerRadius-15,0):B.gaugeInnerRadius),ma=this.getPixel(va,A),ta=this.getPixel(va,v),ra=ma.x,ma=ma.y,sa=ta.x,ta=ta.y,na=this.getAngle(na),va=this.getAngle(va),da?(va>na&&(va+=na,na=va-na,va-=na),f={fill:P(f,l),"stroke-width":z?k:0,stroke:t,"stroke-dasharray":h},
l={ringpath:[Q,M,A,v,va,na]}):(f={"stroke-width":z?k:0,stroke:t,"stroke-linecap":"round","stroke-dasharray":h},l={path:["M",ra,ma,"L",sa,ta]}),u?(u={fill:p,"stroke-width":1,stroke:g},ka={polypath:[3,ra,ma,m,(-va+Math.PI)/V,0]}):u={},""!==d?(Y=(a+b)/2,na=this.getAngle(Y-F),b=Math.cos(na),a=Math.sin(na),m=C.getOriSize(d).width,n?(Y=v-2-q,q=b>ha?$a:b<ja?Ta:hb):(Y=A+2+q,q=b>ha?Ta:b<ja?$a:hb),ra=Q+Y*b,ma=M+Y*a,Y=C.getOriSize(d).height,Y=C.getSmartText(d,O,Y),ra=O<ra+m?O-m/2:ra<m?m/2:ra,m>O&&(ra=O/2),d=
{fill:ia.color||W.color,text:Y.text,"text-anchor":q,"vertical-align":Ua,x:ra,y:ma},ia=Y.height,ma=b>ha||b<ja?ma+(-(ia/2)+.4*ia*a*(n?-1:1)):n?ma+-(0>a?0:ia):ma+-(0<a?0:ia),d.y=ma):d={text:""},U[ga]?(n=U[ga].graphics.drawing,da=U[ga].graphics.label,ha=U[ga].graphics.marker,n.attr(f),ha.attr(u),ha.tooltip(r),da.css(ba).tooltip(Y.oriText),H&&T?(n.animateWith(Aa,ua,l,H,qa),ha.animateWith(Aa,ua,ka,H,qa),da.animateWith(Aa,ua,d,H,qa)):(n.attr(l),ha.attr(ka),da.attr(d)),B.showTooltip&&Y.oriText?da.trackTooltip(!0):
da.trackTooltip(!1),ha.trackTooltip(B.showTooltip&&""!==r)):(n=da?R.ringpath(Q,M,A,v,va,na,Z):R.path(la),da=R.text(d,ba,xa),ha=R.polypath(la),n.attr(f),n.attr(l),ha.attr(u),ha.attr(ka),ha.tooltip(r),da.tooltip(Y.oriText),B.showTooltip&&Y.oriText?da.trackTooltip(!0):da.trackTooltip(!1),ha.trackTooltip(B.showTooltip&&""!==r),U[ga]={},U[ga].graphics={},U[ga].graphics.drawing=n,U[ga].graphics.label=da,U[ga].graphics.marker=ha),ga+=1);this.components.trendObj=U}if(U[ga])for(ea=ga;ea<U.length;ea++)U[ea].graphics.drawing.attr({path:["M",
0,0]}),U[ea].graphics.marker.attr({polypath:["M",0,0]}),U[ea].graphics.label.attr({text:"","text-bound":[]});for(ea=0;ea<ga;ea++)U[ea].graphics.label.attr({"text-bound":[W.backgroundColor,W.borderColor,W.borderThickness,W.borderPadding,W.borderRadius,W.borderDash]})}},"gauge",{trendPoints:void 0,ticksBelowGauge:void 0,ticksBelowGraph:void 0,trendValueDistance:void 0}]);FusionCharts.register("component",["axis","polar",{configure:function(){var b=this.config,a=b.rawAttr,d=this.chart.components.colorManager;
FusionCharts.register("component",["axis","cartesian"]).prototype.configure.call(this);b.gridLineColor=P(c(a.radarSpikeColor,d.getColor("divLineColor")),e(a.radarSpikeAlpha,a.radarInLineAlpha,d.getColor("divLineAlpha")));b.radarBorderColor=P(c(a.radarBorderColor,d.getColor("divLineColor")),e(a.radarBorderAlpha,100));b.radarFillColor=P(c(a.radarFillColor,d.getColor("altHGridColor")),e(a.radarFillAlpha,d.getColor("altHGridAlpha")))},_drawComponents:function(){var b=this.config;b.drawLabels&&b.hasCategory&&
this._drawCategory()},getAxisPosition:function(b,a){return this.getPixel(b,a)},getPixel:function(b,a){var c=this.config,d=c.axisRange,f=d.min,k=d.max-f+1,h=c.startAngle||-(yb/4),u=c.totalAngle||-yb,p=c.centerX||0,d=c.centerY||0;a=e(a,c.radius,0);c=h+u/k*(b-f);f=p+a*ob(c);d+=a*zb(c);return{x:f,y:d}},_drawCategory:function(){var b=this.config,a=this.chart,d=b.isOpposit,f=b.labels,l=f.style,k=b.axisContainer,h=b.axisPlotLineContainer,u=a.components.paper,p=this.components.categoryLabel||[],g=this.graphics.radarBorder||
[],m=a.jsonData.categories,q=b.categories.category,n=b.labelPadding,z,t,A,v,B,F,E=b.gridLineColor,H=b.gridLineWidth,C=function(b){return function(c){ha.call(this,a,c,b)}},G=0,K=b.centerX,L=b.centerY,S=b.animateAxis,Q,M,O,W,la,Z,R,Y,U,ba,aa;Y=e(b.radius,0);O=q?q.length-1:0;Q=a.get("config","animationObj");U=Q.animObj;ba=Q.dummyObj;M=Q.transposeAnimDuration;aa=Q.animType;v={stroke:b.radarBorderColor,fill:b.radarFillColor,"stroke-width":b.radarBorderThickness,path:["M"]};if(0!==b.showRadarBorder){for(G=
Q=0;Q<=O;Q++)Z=this.getPixel(Q,Y),v.path.push(Z.x,Z.y,"L");v.path.pop();v.path.push("Z")}g[0]?M&&S?g[0].animate(v,M):g[0].attr(v):g[0]=u.path(v,h);this.graphics.radarBorder=g;if(b.labels.isDraw){m&&(z=m[0].font,t=m[0].fontsize,A=m[0].fontcolor);for(G=Q=0;Q<=O;Q++)if(g=q[Q],Z=e(g.x,g.y,Q),b.labels.drawNormalVal||b.labels.drawLimitVal&&(0===Q||Z===O))if(b.labels.drawNormalVal||0===Z||Z===O)if(b.labels.drawLimitVal||0!==Z&&Z!==O){m=c(g.font,g.labelfont);v=c(g.fontsize,g.labelfontsize);B=e(g.fontbold,
g.labelfontbold,0)?"bold":void 0;F=e(g.fontitalic,g.labelfontitalic,0)?"italic":void 0;la=P(c(g.fontcolor,g.labelfontcolor,A,l.color),e(g.labelalpha,b.rawAttr.labelFontAlpha,100));m={fontFamily:c(m,z,l.fontFamily),fontSize:c(v,t,l.fontSize),fontWeight:c(B,l.fontWeight),fontStyle:c(F,l.fontStyle)};m.lineHeight=r(m);m.lineHeight&&(W=m.lineHeight,-1!==W.indexOf("px")&&(W=W.replace(/px/i,""),W=parseFloat(W)));v=this.getPixel(Z,Y+n);F=v.x;R=v.y;v=g.label||"";if(0===e(g.showlabel,1)||0===b.showLabels)v=
"";B=Number(g.labelPadding)||0;la={fill:la,"line-height":W,"font-size":l.fontSize,text:v,cursor:g.link?"pointer":"",x:F,y:R};B&&(la.y+=B);la["vertical-align"]=d?mb:Ua;0===Q?(la["text-anchor"]=hb,la["vertical-align"]=mb):Q===(O+1)/2?(la["text-anchor"]=hb,la["vertical-align"]=Ua):(la["text-anchor"]=Q<(O+1)/2?$a:Ta,la["vertical-align"]="center");Z=this.getPixel(Z,Y);B={stroke:E,"stroke-width":H,"stroke-dasharray":"none",path:["M",K,L,"L",Z.x,Z.y]};f.shiftX&&(la.x+=f.shiftX);f.shiftY&&(la.y+=f.shiftY);
p[G]?(Z=p[G].graphics.line,M&&S?Z.animateWith(ba,U,B,M,aa):Z.attr(B),B=p[G].graphics.label,M&&S?B.animateWith(ba,U,la,M,aa):B.attr(la),B.css(m),b.showTooltip&&g.tooltext?(B.tooltip(g.tooltext),B.trackTooltip(!0)):B.trackTooltip(!1)):(Z=u.path(B,h),B=u.text(la,m,k),b.showTooltip&&g.tooltext?(B.tooltip(g.tooltext),B.trackTooltip(!0)):B.trackTooltip(!1),B.click(C("datalabelclick")).hover(C("dataLabelRollOver"),C("dataLabelRollOut")),p[G]={},p[G].graphics={},p[G].config={},p[G].graphics.line=Z,p[G].graphics.label=
B);p[G].config.labelBox={label:v,lineHeight:m.lineHeight,border:e(g.borderthickness,g.labelborderthickness)?e(g.borderthickness,g.labelborderthickness,1)+"px solid":"",borderColor:g.bordercolor||g.labelbordercolor?P(g.bordercolor||g.labelbordercolor,e(g.borderalpha,g.labelborderalpha,g.alpha,g.labelalpha,100)):"",borderThickness:e(g.borderthickness,g.labelborderthickness),borderPadding:e(g.borderpadding,g.labelborderpadding),borderRadius:e(g.borderradius,g.labelborderradius),backgroundColor:g.bgcolor||
g.labelbgcolor?P(g.bgcolor||g.labelbgcolor,e(g.bgalpha,g.labelbgalpha,g.alpha,g.labelalpha,100)):"",borderDash:e(g.borderdashed,g.labelborderdashed,0)?J(e(g.borderdashlen,g.labelborderdashlen,4),e(g.borderdashgap,g.labelborderdashgap,2),e(g.borderthickness,g.labelborderthickness,1)):0===e(g.borderdashed,g.labelborderdashed)?"none":l.borderDash};p[G].graphics.label.data("eventArgs",{link:g.link||g.labellink||l.labelLink,text:la.text,index:G});G+=1}if(p[G])for(Q=G;Q<p.length;Q++)p[Q].graphics.line.attr({path:["M",
0,0]}),p[Q].graphics.label.attr({text:"","text-bound":[]});this.components.categoryLabel=p}else if(p[G])for(Q=G;Q<p.length;Q++)p[Q].graphics.line.attr({path:["M",0,0]}),p[Q].graphics.label.attr({text:"","text-bound":[]});for(Q=0;Q<G;Q++)b=p[Q].config.labelBox,b.label?p[Q].graphics.label.attr({"text-bound":[c(b.backgroundColor,l.backgroundColor),c(b.borderColor,l.borderColor),c(b.borderThickness,l.borderThickness),c(b.borderPadding,l.borderPadding),c(b.borderRadius,l.borderRadius),c(b.borderDash,l.borderDash)]}):
p[Q].graphics.label.attr({"text-bound":[]})},placeAxis:function(b,a){var d,f,l,k,h,u,p=this.config,g=this.chart,m=g.linkedItems.smartLabel,q=p.labels.style,n=g.jsonData.categories,z=p.labelPadding=e(p.rawAttr.axisValuePadding,10),t=p.useEllipsesWhenOverflow,A=0,v=0,B=0,F=0,E=a/2,H=a/2,C=b/2,G=b/2,K,J;K=p.categories.category;p.labels.isDraw=1;p.labels.drawNormalVal=1;p.labels.drawLimitVal=1;if(p.showLabels)for(n&&(h=n[0].font,u=n[0].fontsize),p=0,n=K.length;p<n;p++)J=K[p],d=J.font,f=J.fontsize,l=J.fontbold?
"bold":"normal",k=J.fontitalic?"italic":"normal",d={fontFamily:c(d,h,q.fontFamily),fontSize:c(f,u,q.fontSize),fontWeight:c(l,q.fontWeight),fontStyle:c(k,q.fontStyle)},f=r(d),m.useEllipsesOnOverflow(g.config.useEllipsesWhenOverflow),m.setStyle(d),0===p?(d=m.getSmartText(J.label,b,Sa(f,E),t),J.oriLabel=J.label,J.label=d.text,d.width+=z,d.height+=z,d.height>A&&(F=A=d.height)):p===n/2?(d=m.getSmartText(J.label,b,Sa(f,H),t),J.oriLabel=J.label,J.label=d.text,d.width+=z,d.height+=z,d.height>F&&(F=d.height)):
p<n/2?(d=m.getSmartText(J.label,G,f,t),J.oriLabel=J.label,J.label=d.text,d.width+=z,d.height+=z,d.width>v&&(v=d.width)):(d=m.getSmartText(J.label,C,f,t),J.oriLabel=J.label,J.label=d.text,d.width+=z,d.height+=z,d.width>B&&(B=d.width));return{top:A,left:v,right:B,bottom:F}}},"cartesian",{axisValuePadding:10,gridLineWidth:1,showRadarBorder:1,radarBorderThickness:2}]);FusionCharts.register("component",["dataset","Column",{type:"column",pIndex:2,customConfigFn:"_createDatasets",configure:function(){var b=
this.chart,a=this.config,d=this.JSONData,f=b.singleseries,l=b.config.isdual,k=b.config,h=b.jsonData.chart,u=b.components,p=u.colorManager,g=a.plotColor=p.getPlotColor(this.index||this.positionIndex),r=e(d.dashed,h.plotborderdashed),q=e(h.useplotgradientcolor,1),z,t,A=m.getDashStyle;t=b.isBar;var v=b.is3D,B;this.__setDefaultConfig();n(d,a,k,{data:!0});a.showplotborder=e(h.showplotborder,v?0:1);z=k.plotborderdashlen;k=k.plotborderdashgap;a.plotfillangle=e(360-h.plotfillangle,t?180:90);a.plotfillalpha=
t=c(d.alpha,h.plotfillalpha,ka);a.plotColor=c(d.color,g);a.legendSymbolColor=a.plotColor;a.plotgradientcolor=m.getDefinedColor(h.plotgradientcolor,p.getColor("plotGradientColor"));!q&&(a.plotgradientcolor="");a.plotborderalpha=c(h.plotborderalpha,t,ka);a.plotbordercolor=c(h.plotbordercolor,v&&!f?"#ffffff":p.getColor("plotBorderColor"));a.plotborderdashstyle=r?A(z,k,void 0):"none";a.showShadow=v?e(h.showshadow,1):e(h.showshadow,p.getColor("showShadow"));a.definedGroupPadding=La(e(h.plotspacepercent),
0);a.parentYAxis=l?B="s"===c(d.parentyaxis&&d.parentyaxis.toLowerCase(),"p")?1:0:B=0;this.yAxis=u.yAxis[B];this.visible=1===e(d.visible,!Number(d.initiallyhidden),1);!0===this.visible?this._conatinerHidden=!1:this._containerHidden=!0;this._setConfigure();this._realTimeConfigure&&this._realTimeConfigure();!1!==b.hasLegend&&this._addLegend()},_setConfigure:function(b,a){var d=this.chart,f=d.config,l=this.config,k=this.JSONData,h=b||k.data,u=d.singleseries,p=d.components,g=p.xAxis[0],r=g.getCategoryLen(),
r=b?b.data.length:r,q=d.jsonData.chart,p=p.colorManager,n=l.showplotborder,t=l.plotColor,A=f.showtooltip,v=m.parseUnsafeString,B=f.yaxisname,F=f.xaxisname,E=f.tooltipsepchar,H=f.seriesnameintooltip,C=m.parseTooltext,G,J,K,L,S,Q,M=l.plotborderdashlen,O=l.plotborderdashgap,W=f.plotborderthickness,la=f.useroundedges,Z=f.plothovereffect,R=l.plotfillangle,Y,U,ba,aa=l.plotborderdashstyle,V,ga,T,X,ea,da,ka,ha,ia,va=m.getDashStyle,na=this.components.data,ja=d.isBar,ma=d.is3D,qa,ta=-Infinity,ra=Infinity,sa=
this.yAxis,ua=f.use3dlighting,Aa=f.usedataplotcolorforlabels,ya;na||(na=this.components.data=[]);this.visible=1===e(this.visible,this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);for(qa=0;qa<r;qa++)b?(Q=b&&b.data[qa]||{},ya=void 0!==a?a+qa:na.length-r+qa,J=na[ya]):(J=na[qa],Q=h&&h[qa]||{}),d=J&&J.config,J||(J=na[qa]={}),J.config||(d=na[qa].config={}),d.showValue=e(Q.showvalue,l.showvalues),d.setValue=J=sa.getCleanValue(Q.value,f.stack100percent),d.setLink=c(Q.link),d.toolTipValue=t=
sa.dataLabels(J),d.setDisplayValue=L=v(Q.displayvalue),d.displayValue=c(L,t),t=e(Q.dashed),L=e(Q.dashlen,M),G=O=e(Q.dashgap,O),null!==J&&(ta=La(ta,J),ra=Sa(ra,J)),d.plotBorderDashStyle=L=1===t?va(L,G,W):0===t?"none":aa,u?(t=p.getPlotColor(e(ya-r,qa)),t=c(Q.color,t),Aa&&g.updateCategory(qa,{labelfontcolor:P(t)}),ba=c(Q.alpha,Q.borderalpha,l.plotborderalpha,Y).toString()):(t=c(Q.color,l.plotColor),ba=c(Q.alpha,l.plotborderalpha,Y).toString()),U=c(Q.ratio,l.ratio),Y=c(Q.alpha,l.plotfillalpha),d.shadow=
{opacity:l.showShadow?Y/100:0},0>J&&!la&&(S=l.plotfillangle,R=ja?180-R:360-R),d.colorArr=G=m.graphics.getColumnColor(t+","+l.plotgradientcolor,Y,U,R,la,l.plotbordercolor,ba,ja?1:0,ma?!0:!1),V=g.getLabel(e(ya-r,qa)),d.origLabel=J=Da(v(V.label)),J=d.label=Da(v(V.tooltext))||J,0!==Z&&(V=c(Q.hovercolor,k.hovercolor,q.plotfillhovercolor,q.columnhovercolor,t),ga=c(Q.hoveralpha,k.hoveralpha,q.plotfillhoveralpha,q.columnhoveralpha,Y),T=c(Q.hovergradientcolor,k.hovergradientcolor,q.plothovergradientcolor,
l.plotgradientcolor),!T&&(T=""),U=c(Q.hoverratio,k.hoverratio,q.plothoverratio,U),X=e(360-Q.hoverangle,360-k.hoverangle,360-q.plothoverangle,R),ea=c(Q.borderhovercolor,k.borderhovercolor,q.plotborderhovercolor,l.plotbordercolor),da=c(Q.borderhoveralpha,k.borderhoveralpha,q.plotborderhoveralpha,q.plotfillhoveralpha,q.columnhoveralpha,ba,Y),ba=e(Q.borderhoverthickness,k.borderhoverthickness,q.plotborderhoverthickness,l.showplotborder&&W),ka=Q.borderhoverdashed||k.borderhoverdashed||q.plotborderhoverdashed,
ha=e(Q.borderhoverdashgap,k.borderhoverdashgap,q.plotborderhoverdashgap,M),ia=e(Q.borderhoverdashlen,k.borderhoverdashlen,q.plotborderhoverdashlen,O),ka=void 0!==ka?Number(ka)?va(ia,ha,ba):"":L,1==Z&&V===t&&(V=tb(V,70)),t=m.graphics.getColumnColor(V+","+T,ga,U,X,la,ea,da.toString(),ja?1:0,ma?!0:!1),d.setRolloutAttr={fill:ma?[z(G[0]),!ua]:z(G[0]),stroke:n&&z(G[1]),"stroke-width":W,"stroke-dasharray":L},d.setRolloverAttr={fill:ma?[z(t[0]),!ua]:z(t[0]),stroke:z(t[1]),"stroke-width":ba,"stroke-dasharray":ka}),
G=d.toolTipValue,d.origToolText=t=Da(v(c(Q.tooltext,k.plottooltext,q.plottooltext))),A?null===G?Q=!1:void 0!==t?(L=[1,2,3,4,5,6,7],J={yaxisName:B,xaxisName:F,formattedValue:G,label:J},Q=C(t,L,J,Q,q,k)):(H&&(K=fa(k&&k.seriesname)),Q=K?K+E:"",Q+=J?J+E:""):Q=!1,d.toolText=Q,d.setTooltext=Q,S&&(R=S),ya++;l.maxValue=ta;l.minValue=ra},init:function(b){var a=this.chart;if(!b)return!1;this.JSONData=b;this.chartGraphics=a.chartGraphics;this.components={};this.graphics={};this.configure()},_addLegend:function(){var b=
this.chart,a=b.isBar,c=b.jsonData.chart,d,f;f=this.config;var k=jb(f.legendSymbolColor),b=b.components.legend;d=e(c.use3dlighting,c.useplotgradientcolor,1);c=tb(k,60).replace(ja,R);d?(d=tb(k,40),a={FCcolor:{color:k+","+k+","+d+","+k+","+k,ratio:"0,30,30,30,10",angle:a?0:270,alpha:"100,100,100,100,100"}}):a={FCcolor:{color:k,angle:a?0:270,ratio:"0",alpha:"100"}};f={enabled:f.includeinlegend,type:this.type,fillColor:z(a),strokeColor:z(c),rawFillColor:k,rawStrokeColor:k,label:fa(this.JSONData.seriesname)};
this.legendItemId=b.addItems(this,this.legendInteractivity,f)},legendInteractivity:function(b,a){var c=this.config,d=b.visible,e=a.config,f=a.graphics,h=c.itemHiddenStyle.color,c=c.itemStyle.color,u=e.fillColor,p,e=e.strokeColor;d?b.hide():b.show();d={legendItemSymbol:{fill:d?h:u,stroke:d?h:e},legendItemText:{fill:d?h:c},legendItemLine:{stroke:d?h:e}};for(p in f)(h=f[p])&&d[p]&&h.attr(d[p])},draw:function(){var b=this,a=b.JSONData,d=b.chart.jsonData.chart,f=b.config,l=f.legendInteractivity,k=b.groupManager,
h=b.index,u,p,g=b.visible,r=b.chart,q=r.getJobList(),n=r.config,A=r.components,v=A.paper,B=A.xAxis[0],E=B.getCategoryLen(),H=b.yAxis,C=r.graphics.columnGroup,G=n.isstacked,J,K,P,L=r.graphics,M=L.sumLabelsLayer,S=m.parseUnsafeString,Q=m.getValidValue,O=m.Raphael,W=n.showtooltip,R=r.get("config","animationObj"),la=R.animObj,Z=R.dummyObj,Y=R.duration,ga=R.animType,U=B.getAxisPosition(0),ba=B.getAxisPosition(1),aa=f.groupMaxWidth=ba-U,V=n.definedgrouppadding,T=n.plotspacepercent/200,X=k.getDataSetPosition(b),
da=k.stackSumValue[b.positionIndex],ea=n.maxcolwidth,ka=(1-.01*V)*aa||Sa(aa*(1-2*T),1*ea),ha=e(X.columnWidth,ka/1),fa,ia=X.xPosOffset||0,va=X.height,na,ja,ma=b.components,qa=ma.data,ta,ra,sa,ua,Aa,ya,Ha,wa=b.drawn,Da=ma.removeDataArr,La=Da&&Da.length,Ga=ma.addDataArr,Fa=Ga&&Ga.length,Ka,Ia=H.getLimit(),Ca=Ia.min,Na=0<Ia.max&&0>Ca,Ma,Oa=H.getAxisBase(),za=H.yBasePos=H.getAxisPosition(Oa),Va,Ra,Pa=n.plotborderthickness,Ua=n.useroundedges,Za=b.graphics,Ta=Za.container,$a=Za.trackerContainer,ab=Za.dataLabelContainer,
Wa=Za.shadowContainer,bb=ma.pool,ib=L.trackerGroup,jb,gb=1,Ya,mb,eb,tb=B.getAxisPosition(E-1)+ia,zb=B.getAxisPosition(0)+ia,ob,hb=!0,sb,vb=b.startPosition,xb=r.isInverse,yb,lb=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(Ta.hide(),$a.hide(),Wa.hide(),ab&&ab.hide(),b._conatinerHidden=!0);this.show()},$b=function(){M.show()},Bb=function(){return vb?function(b,a){b.x=zb-aa*(Fa-a);b.y=K;b.height=na}:!1===vb?function(b){b.x=tb+aa*gb++;b.y=K;b.height=na}:function(b){b.width=
0}},Fb,Cb=r.config.viewPortConfig,Db=Cb.x,Ab=Cb.scaleX,Eb=n.showplotborder;wa&&(Bb=Bb());Ta||(Ta=b.graphics.container=v.group("columns",C),g?Ta.show():Ta.hide());$a||($a=b.graphics.trackerContainer=v.group("col-hot",ib),g||$a.hide());Wa||(Wa=b.graphics.shadowContainer=v.group("shadow",C).toBack(),g||Wa.hide());g&&(Ta.show(),$a.show(),Wa.show());for(p=0;p<E;p++)if(Aa=(Ha=(ta=qa[p])&&ta.config)&&Ha.setValue,void 0===ta||void 0===Aa||null===Aa){if(Ya=ta&&ta.graphics)for(mb in Ya)Ya[mb].hide()}else if(sb=
ta.trackerConfig={},Ma=0<=Aa,ua=Ha.setLink,jb=Ha.colorArr,ta.graphics||(qa[p].graphics={}),ya=Ha.displayValue,Va=Ma?Ha.previousPositiveY:Ha.previousNegativeY,ra=Q(S(c(Ha.origToolText,a.plottooltext,d.plottooltext))),G&&(Va=b._parseValues(p,Va,da[p],ra),Aa=Ha.value),Ra=H.getAxisPosition(Va||Oa),J=B.getAxisPosition(p)+ia+Db*Ab,0!==va?(K=H.getAxisPosition(Aa+(Va||0)),na=Qa(Ra-K)):(na=0,K=Ra),K=Sa(K,Ra),k.isCrisp?(P=O.crispBound(J,K,ha,na,Pa),J=P.x,yb=fb(na)===P.height,eb=fb(K)!==P.y,K=P.y,fa=P.width,
na=P.height):fa=ha,g&&0<Pa&&(0===Pa%2&&(xb&&Na?Ma?!eb&&(na+=1):!yb&&--K:Ma?eb&&--K:yb&&(na+=1)),Ka=Math.floor(Pa/2),xb&&Na?Ma?na-=Ka:K+=Ka:Ma?K+=Ka:na-=Ka),Fb=Ha.shadow,ja=!1!==Ha.toolText?Ha.toolText+(ra?"":Ha.toolTipValue):"",ob=Ha.plotBorderDashStyle,sb.eventArgs={index:p,link:ua,value:Aa,displayValue:ya,categoryLabel:Ha.origLabel,toolText:ja,id:"",datasetIndex:h,datasetName:a.seriesname,visible:g},ta._xPos=J,ta._yPos=K,ta._height=na,ta._width=fa,ta._index=p,(sa=ta.graphics.element)||(u={x:J,y:za,
width:fa,height:1,r:Ua,ishot:!W,fill:z(jb[0]),stroke:z(jb[1]),"stroke-width":Eb?Pa:0,"stroke-dasharray":ob,"stroke-linejoin":"miter",visibility:g},wa&&(Bb(u,p),bb&&bb.element[0]&&(sa=ta.graphics.element=bb.element[0],sa.attr(u),bb.element.splice(0,1)),ta._newXPos=u.x),sa?Ha.elemCreated=!1:(sa=ta.graphics.element=v.rect(u,Ta),Ha.elemCreated=!0),wa||(sa.animateWith(Z,la,{y:K,height:na||1},Y,ga,hb&&$b),hb=!1)),(sa=ta.graphics.element)&&wa&&(Ha.elemCreated=!1,u={x:J,y:K,width:fa,height:na||1,r:Ua},G||
!1!==b.visible||0===va||(delete u.y,delete u.height),l||sa.attr({fill:z(jb[0]),stroke:z(jb[1]),"stroke-width":Eb?Pa:0,"stroke-linejoin":"miter","stroke-dasharray":ob,ishot:!W,visibility:g}),sa.animateWith(Z,la,u,Y,ga,hb&&lb),hb=!1),sa.shadow(Fb,Wa).data("BBox",P),ua||W)na<F&&(K-=(F-na)/2,na=F),sb.attr={x:J,y:K,width:fa,height:na,r:Ua,cursor:ua?"pointer":"",stroke:t,"stroke-width":Eb?Pa:0,fill:t,ishot:!0,visibility:g};wa?b.drawTracker():q.trackerDrawID.push(nb.addJob(b.drawTracker,b,[],m.priorityList.tracker));
wa?b.drawLabel():q.labelDrawID.push(nb.addJob(b.drawLabel,b,[],m.priorityList.label));!wa&&M.hide();k.drawSumValueFlag&&k.drawSumValueFlag&&k.drawSumValue();b.drawn=!0;La&&b.remove()},drawTracker:function(){var b=this.chart,a=this.components,c=a.pool,a=a.data,d=b.config.plothovereffect,e=b.components,f=e.paper,e=e.xAxis[0].getCategoryLen(),h=this.graphics.trackerContainer,u,p,g,l,m,r,q,n,z=function(a){ha.call(this,b,a)},t=function(a){return function(c){var d=this.getData();0!==d.showHoverEffect&&
!0!==d.draged&&(a.attr(this.getData().setRolloverAttr),ha.call(this,b,c,"DataPlotRollOver"))}},A=function(a){return function(c){var d=this.getData();0!==d.showHoverEffect&&!0!==d.draged&&(a.attr(this.getData().setRolloutAttr),ha.call(this,b,c,"DataPlotRollOut"))}};for(g=0;g<e;g++)if(l=a[g],void 0!==l&&(p=l.config,u=l.trackerConfig,(m=l.graphics)&&m.element)){m=m.element;q=l.graphics.hotElement;if(n=u.attr)q?q.attr(n):c&&c.hotElement[0]?(q=l.graphics.hotElement=c.hotElement[0],q.attr(n),c.hotElement.splice(0,
1)):(q=l.graphics.hotElement=f.rect(n,h),r=!0);(q||m).data("eventArgs",u.eventArgs).data(Ca,d).data(Ka,p.setRolloverAttr||{}).data(ya,p.setRolloutAttr||{}).tooltip(u.eventArgs&&u.eventArgs.toolText);(r||p.elemCreated)&&(q||m).click(z).hover(t(m),A(m))}},show:function(){var b=this.graphics&&this.graphics.container,a=this.graphics&&this.graphics.trackerContainer,c=this.graphics&&this.graphics.dataLabelContainer,d=this.graphics&&this.graphics.shadowContainer,e=this.chart.is3D,f=this.components.data,
h=this.chart.config.categories,u=this.yAxis,p=this.chart,g=p.components.xAxis[0],h=Sa(this.JSONData.data&&this.JSONData.data.length,h&&h.length);this.config.legendInteractivity=!0;p._chartAnimation();this.visible=!0;this._conatinerHidden=!1;if(e)for(b=0;b<h;b++)f[b]&&f[b].graphics&&f[b].graphics.element&&f[b].graphics.element.attr({visibility:Na}),f[b]&&f[b].graphics&&f[b].graphics.hotElement&&f[b].graphics.hotElement.attr({visibility:Na});else b.show(),a.show();d.show();c&&c.show();p.config.transposeAxis&&
(p._setAxisLimits(),u.draw());p.isRealTime&&g.draw();p._drawDataset();this.config.legendInteractivity=!1},hide:function(){var b=this.yAxis,a=this.chart,c=a.components.xAxis[0];a._chartAnimation();this.visible=!1;this.config.legendInteractivity=!0;a.config.transposeAxis&&(a._setAxisLimits(),b.draw());a.isRealTime&&c.draw();a._drawDataset();this.config.legendInteractivity=!1},drawLabel:function(b,a){var c=this.chart,d=c.config,f=c.graphics,k=c.components,h=c.get("config","animationObj"),u=h.dummyObj,
p=h.animObj,g=h.animType,h=h.duration,l=k.paper,m=c.linkedItems.smartLabel,r=c.config.dataLabelStyle,n=this.config.legendInteractivity,z=k.xAxis[0].getCategoryLen(),t=this.components,k=t.data,t=t.pool,A=this.visible,v,B,d=d.rotatevalues?270:0,F,H,E,C,G,J=this.graphics.dataLabelContainer,S=this.labelDrawn;v=e(b,0);z=e(a,z);f=f.datalabelsGroup;J||(J=this.graphics.dataLabelContainer=l.group("datalabel",f));A?J.show():J.hide();m.useEllipsesOnOverflow(c.config.useEllipsesWhenOverflow);m.setStyle(r);for(f=
v;f<z;f++)if(v=k[f],void 0!==v&&(A=v.graphics))G=v&&v.config,E=v._yPos,C=v._xPos,H=G.setValue,B=G.displayValue,(F=G.showValue)&&null!==H?(n&&G._state||(F=m.getOriSize(B),G._state=d?{labelWidth:F.height,labelHeight:F.width}:{labelWidth:F.width,labelHeight:F.height}),H=this._getValuePosition({labelWidth:G._state.labelWidth,labelHeight:G._state.labelHeight,width:v._width,height:v._height,yPos:E,xPos:C,value:H}),E=H.textX,H=H.textY,B={x:E,y:H,text:B},n||(B=q(B,{visibility:Na,"line-height":r.lineHeight,
fill:r.color,"text-bound":[r.backgroundColor,r.borderColor,r.borderThickness,r.borderPadding,r.borderRadius,r.borderDash]})),!A.label&&S&&c.isRealTime&&(G=q({},B),G.x=B.x-C+(v._newXPos||0),G.transform=l.getSuggestiveRotation(d,G.x,H),t&&t.label[0]?(A.label=t.label[0].attr(G),t.label.splice(0,1)):A.label=l.text(G,J)),B.transform=l.getSuggestiveRotation(d,E,H),(v=A.label)||(v=A.label=l.text(B,J)),v.show(),S&&v.animateWith(u,p,B,h,g)):A.label&&(A.label.attr({"text-bound":[]}),A.label.hide());this.labelDrawn=
!0},_getValuePosition:function(b){var a=this.chart,d=a.components,e=a.config,f=d.canvas.config,k=d.yAxis[0],d=f.xDepth,f=f.yDepth,h=e.canvasTop,u=e.canvasHeight+f,p,g,l,m=b.yPos,r=a.is3D,a=a.config.isstacked,q=e.valuepadding+2,n=b.height;p=b.width;e=e.placevaluesinside;l=b.labelHeight;var z=k.getAxisConfig("isReverse"),t=k.getAxisConfig("axisRange"),A=t.min,k=b.value,t=0<t.max&&0>A;b=b.xPos;z&&t&&(g=0>k?!1:!0);g=c(g,0>k);l=z=l+q;q=.5*z+q;p=b+.5*p;b=g?h+u-(m+n+f):m-h;a?(u=Sa(h+u-.5*l,m+.5*n+(f||0)),
u=La(h+.5*l,u),p-=d):e?n>=l?(u=m+(g?n-q:q),r&&(p-=d,u+=f)):b>=l?(u=m+(g?n+q:-q),r&&g&&(p-=d,u+=f)):(u=m+(g?n-q:q),r&&(p-=d,u+=f)):b>=l?(u=m+(g?n+q:-q),r&&(g?(p-=d,u+=f):p-=d/2)):(u=m+(g?n-q:q),r&&(p-=d,u+=f));return{textX:p,textY:u}},_parseValues:function(b,a,c,d){var e=this.chart.config;b=this.components.data[b].config;var f=e.showpercentvalues,h=e.showpercentintooltip,u=b.setValue,e=e.stack100percent,p=this.chart.components.numberFormatter,g=this.yAxis,l=b.setDisplayValue,u=(this.visible?u||0:0)/
c*100,p=p.percentValue(u);e&&(b.value=u,a=(a||0)/c*100);h&&(b.toolTipValue=p);f&&!l&&(b.displayValue=p);d&&(b.toolText=ma(b.setTooltext,[14,24,25,112],{percentValue:p,sum:g.dataLabels(c),unformattedSum:c}));return a},getDataLimits:function(){return{max:this.config.maxValue,min:this.config.minValue}},addData:function(b,a,c){var d=this.components,e=this.chart.components.numberFormatter,f=d.data,h=b.data,u=h.length,p=this.config,g=p.maxValue,p=p.minValue,l=this.maxminFlag,m;d.addDataArr=b.data;if(0===
a)this.startPosition=!0;else if(a+u===f.length||void 0===a)this.startPosition=!1;for(m=0;m<u;m++)if(void 0!==a?f.splice(a+m,0,{config:{}}):f.push({config:{}}),!l&&(d=e.getCleanValue(h[m].value),d>g||d<p))l=this.maxminFlag=!0;this._setConfigure(b,a);l&&this.setMaxMin();c&&this.draw()},hideElements:function(b){b.hide()},removeData:function(b,a,c){var d=this.components,e=d.data,f=d.removeDataArr||(d.removeDataArr=[]),h=this.config,l=this.groupManager,p=this.maxminFlag;void 0===a&&(a=1);b=b||0;if(b+a===
e.length)this.endPosition=!0;else if(0===b||void 0===b)this.endPosition=!1;d.removeDataArr=f=f.concat(e.splice(b,a));l&&l.removeSumLabels&&l.removeSumLabels(b,a,this.positionIndex);d=f.length;for(b=0;b<d;b++)if(f[b]){a=f[b].config;if(a.setValue===h.maxValue||a.setValue===h.minValue)p=this.maxminFlag=!0;if(p)break}p&&this.setMaxMin();c&&this.draw()},updateData:function(b,a,c){var d=this.config,e=d.maxValue,f=d.prevMin,h=this.chart,l=this.groupManager||this,p=h.components,g=p.xAxis||p.yAxis,m=g&&p.xAxis[0],
p=g&&p.yAxis[0];this._setConfigure(b,a);this.setMaxMin();if(d.maxValue!==e||d.minValue!==f)this.maxminFlag=!0;c&&(h._setAxisLimits(),g&&m.draw(),g&&p.draw(),l.draw())},setMaxMin:function(){var b=this.components.data,a=this.config,c,d,e=b.length,f=-Infinity,h=Infinity;for(c=0;c<e;c++)b[c]&&(d=b[c].config,d=d.setValue,void 0!==d&&(f=La(f,d),h=Sa(h,d)));a.maxValue=f;a.minValue=h},hidingPosition:function(){var b=this.components.removeDataArr.length,a=this.config.groupMaxWidth;return!1===this.endPosition?
function(c){return{x:c._xPos-a*b,y:c._yPos}}:!0===this.endPosition?function(c){return{x:c._xPos+a*b||0,y:c._yPos}}:function(){return{width:0}}},remove:function(){var b=this.components,a=b.removeDataArr,c=b.pool||(b.pool={element:[],hotElement:[],label:[]}),d=this.chart,e=d.get("config","animationObj"),f=e.duration,h=e.dummyObj,l=e.animObj,e=e.animType,p=this.maxminFlag,g,m,r,q,n=d.components.paper,z=d.config.rotatevalues,t=this.chart.config.realTimeConfig&&this.chart.config.realTimeConfig.clear,A=
this.hidingPosition(),v=function(){this.hide()};for(r=a.length-1;0<=r;r--)if(d=a[r],a.splice(r,1),d&&d.graphics){m=d.graphics;for(g in m)"label"===g&&void 0===this.startPosition&&void 0===this.endPosition&&m[g].hide(),q=A(d),"label"===g&&(q.transform=n.getSuggestiveRotation(z,q.x,q.y)),t&&m[g].hide(),m[g].animateWith(h,l,q,f,e,v);d.graphics.element&&(c.element=c.element.concat(d.graphics.element));d.graphics.hotElement&&(c.hotElement=c.hotElement.concat(d.graphics.hotElement));d.graphics.label&&(c.label=
c.label.concat(d.graphics.label))}b.pool=c;p&&this.setMaxMin()},getAxisValuePadding:function(){return{left:.5,right:.5}},manageSpace:function(){var b=this.config||(this.config={}),a=this.chart,c=a.config.rotatevalues,d=a.components.xAxis[0],f=a.components.yAxis[0],k=a.config.dataLabelStyle,h=(this.components||{}).data||[],l=b.leftMostData||h[0],h=b.rightMostData||h[h.length-1],p,g,m={};p={};var r=0,q=0,n,z=d.getPixel(0),m=a.linkedItems.smartLabel,t={paddingLeft:0,paddingRight:0};p=0;var A=this.groupManager,
A="column"===this.type&&A.getDataSetPosition(this),v=this.getAxisValuePadding(),B=b.topMostData,b=b.bottomMostData;l&&(l=l.config,n=l.showValue,g=l&&l.anchorProps||{},n&&(p=l.displayValue,m.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow),m.setStyle(k),p=m.getOriSize(p),p=c?p.height:p.width),null!==l.setValue&&(r=e(g.radius,0)+e(g.borderThickness,0)/2,q=(p||0)/2-(d.getPixel(v.left)-z)-(A&&A.xPosOffset+A.columnWidth/2||0),0>q&&(q=0)),t.paddingLeft=La(r,q));h&&(l=h.config,n=l.showValue,g=l&&
l.anchorProps||{},n&&!c&&(p=l.displayValue,m.setStyle(k),m=m.getOriSize(p),p=c?m.height:m.width),null!==l.setValue&&(r=e(g.radius,0)+e(g.borderThickness,0)/2,q=(p||0)/2-(d.getPixel(v.right)-z)+(A&&A.xPosOffset+A.columnWidth/2||0),0>q&&(q=0)),t.paddingRight=La(r,q));B&&(g=(l=B.config)&&l.anchorProps||{},null!==l.setValue&&(r=e(g.radius,0)+e(g.borderThickness,0)/2,q=Math.max(r-(f.getPixel(l.setValue.y)-f.getPixel(f.getLimit().max)),0)),t.paddingTop=q);b&&(g=(l=b.config)&&l.anchorProps||{},null!==l.setValue&&
(r=e(g.radius,0)+e(g.borderThickness,0)/2,q=Math.max(r-(f.getPixel(f.getLimit().min)-f.getPixel(l.setValue.y)),0)),t.paddingBottom=q);return t},getPlotClickFn:function(b){return function(a){ha.call(this,b,a)}},getEventArgs:function(){return{datasetName:(this.JSONData||{}).seriesname,datasetIndex:this.index,id:(this.config||{}).userID,visible:this.visible}},rolloverResponseSetter:function(b,a){var c=a.jsonData.chart;return function(d){var e=this.data("hoverEnabled"),f=this.data("draged"),h=this.data("dataset");
!0!==f&&(h._hoverFunc(b,"DataPlotRollOver",e,c),ha.call(this,a,d,"DataPlotRollOver"))}},rolloutResponseSetter:function(b,a){var c=a.jsonData.chart;return function(d){var e=this.data("hoverEnabled"),f=this.data("draged"),h=this.data("dataset");!0!==f&&(h._hoverFunc(b,"DataPlotRollOut",e,c),ha.call(this,a,d,"DataPlotRollOut"))}}},void 0,{showvalues:void 0,includeinlegend:1,plotfillalpha:void 0,plotfillangle:void 0,ratio:void 0}]);FusionCharts.register("component",["dataset","realtimecolumn",{_realTimeConfigure:function(b){var a=
this.chart,c=this.components.data,d=[],e=a.config.realTimeConfig.numDisplaySets;b=b?0:a.components.xAxis[0].getCategoryLen();b<e?(d.length=e-b,this.components.data=d.concat(c)):b>e&&this.components.data.splice(e,b-e)}},"Column"]);FusionCharts.register("component",["dataset","scrollcolumn2d",{},"Column"]);FusionCharts.register("component",["dataset","Column3D",{draw:function(){var b=this,d=b.JSONData,f=b.chart.jsonData.chart,l=b.config,r=b.groupManager,k=b.index,h=b.chart.config.categories,u,p,g=b.chart,
q=g.getJobList(),n=g.config,A=g.components.paper,v=g.components.xAxis[0],B=b.yAxis,H=g.graphics.columnGroup,E=g.config.isstacked,C,G,J=g.graphics,K=m.parseUnsafeString,P=m.getValidValue,L=n.showtooltip,M=g.get(bb,Ga),O=M.animType,S=M.animObj,Q=M.dummyObj,M=M.duration,W=v.getAxisPosition(0),R=v.getAxisPosition(1),R=l.groupMaxWidth=R-W,Y=l.definedGroupPadding,la=n.plotspacepercent/200,Z=r.getDataSetPosition(b),W=r.stackSumValue[b.positionIndex],xa=n.maxcolwidth,R=(1-.01*Y)*R||Sa(R*(1-2*la),1*xa),R=
e(Z.columnWidth,R/1),ga,Y=Z.xPosOffset||0,Z=Z.height,U,la=b.components.data,ba,aa,V,T,xa=B.getLimit();aa=xa.max;var X=xa.min,xa=B.getAxisBase(),ka=B.yBasePos=B.getAxisPosition(xa),ea=0,ha=n.plotborderthickness;T=b.graphics.container;var fa=b.graphics.dataLabelContainer,ja=b.graphics.shadowContainer,ia=J.trackerGroup,va,na,ma,ya,wa,ta,ra,sa,ua,J=l.use3dlighting,Aa,Da=!0,Ha=!1,La=b.visible,Fa=(b.components.removeDataArr||[]).length,Ka=b.components.pool||[],Ca=n.showplotborder,za,Pa,Ta,Ua=function(){var a,
c;if(!1===b.visible&&(!1===b._conatinerHidden||void 0===b._conatinerHidden)){a=b.components.data;for(c=0;c<u;c++)a[c]&&a[c].graphics&&a[c].graphics.element&&a[c].graphics.element.attr("visibility",Va),a[c]&&a[c].graphics&&a[c].graphics.hotElement&&a[c].graphics.hotElement.attr("visibility",Va);ja.hide();fa&&fa.hide();b._conatinerHidden=!0}},$a=function(){r.drawSumValueFlag&&r.drawSumValue()};T||(T=b.graphics.container=g.datasetLayers=g.datasetLayers||A.group(Oa,H));ja||(ja=b.graphics.shadowContainer=
A.group(Wa,H).toBack());g._cacheObj||(g._cacheObj={});!g._cacheObj.elemAttr&&(g._cacheObj.elemAttr={});za=g._cacheObj.elemAttr;!g._cacheObj.zeroplaneAttr&&(g._cacheObj.zeroplaneAttr={});wa=g._cacheObj.zeroplaneAttr;!g._cacheObj.cubepathObj&&(g._cacheObj.cubepathObj={});Pa=g._cacheObj.cubepathObj;u=v.getCategoryLen();if(La)for(p=0;p<u;p++)la[p].graphics&&la[p].graphics.element&&la[p].graphics.element.attr("visibility",Na),la[p].graphics&&la[p].graphics.hotElement&&la[p].graphics.hotElement.attr("visibility",
Na);H=T.negative=T.negative||A.group(Ra,T);ma=T.column=T.column||A.group(da,T);ya=ia.negative=ia.negative||A.group(Ra,ia);ia=ia.column=ia.column||A.group(da,ia);0>X&&0<=aa?(p=T.zeroPlane,wa.fill=[n.zeroPlaneColor,!J],wa.stroke=n.zeroPlaneBorderColor||"none",wa[Ab]=n.zeroPlaneShowBorder?1:0,p?(p=[g.config.canvasLeft-10,ka+10,g.config.canvasWidth,1,10,10,p],r.graphics.zeroplane.show(),r.graphics.zeroplane._.cubetop.show(),r.graphics.zeroplane._.cubeside.show(),Pa.cubepath=p,r.graphics.zeroplane.animateWith(Q,
S,Pa,M,O),r.graphics.zeroplane.attr(wa)):(p=T.zeroPlane=A.group(Ma,T).insertBefore(ma),!r.graphics&&(r.graphics={}),r.graphics.zeroplane=A.cubepath(g.config.canvasLeft-10,ka+10,g.config.canvasWidth,1,10,10,p).attr(wa))):r.graphics&&r.graphics.zeroplane&&r.graphics.zeroplane.hide()&&r.graphics.zeroplane._.cubetop.hide()&&r.graphics.zeroplane._.cubeside.hide();(wa=H.data(Ia))||(H.data(Ia,Array(u)),wa=H.data(Ia));(ta=ma.data(Ia))||(ma.data(Ia,Array(u)),ta=ma.data(Ia));(ra=ya.data(Ia))||(ya.data(Ia,Array(u)),
ra=ya.data(Ia));(sa=ia.data(Ia))||(ia.data(Ia,Array(u)),sa=ia.data(Ia));for(p=0;p<u;p++)if(n=la[p],Ta=n.trackerConfig={},ba=(T=n&&n.config)&&T.setValue,!n||void 0!==ba&&null!==ba||(n.graphics&&n.graphics.element&&(n.graphics.element.hide(),n.graphics.element._.cubeside.hide(),n.graphics.element._.cubetop.hide()),n.graphics&&n.graphics.hotElement&&n.graphics.hotElement.hide()),void 0!==n&&void 0!==ba&&null!==ba){wa[p]=wa[p]||A.group(H);ta[p]=ta[p]||A.group(ma);ra[p]=ra[p]||A.group(ya);sa[p]=sa[p]||
A.group(ia);n.graphics||(la[p].graphics={});aa=T.setLink;X=T.colorArr;V=T.displayValue;C=0<=ba?T.previousPositiveY:T.previousNegativeY;U=P(K(c(T.origToolText,d.plottooltext,f.plottooltext)));E&&(C=b._parseValues(p,C,W[p],U),ba=T.value);ga=B.getAxisPosition(C||xa);g=v.getAxisPosition(p)+Y;0!==Z?(G=B.getAxisPosition(ba+(C||0)),C=Qa(ga-G)):(C=0,G=ga);G=Sa(G,ga);ga=R;(Ta.isNegative=ua=0>ba)?(va=wa,na=ra):(va=ta,na=sa);Ta.targetGroupTracker=na;U=!1!==T.toolText&&T.toolText+(U?"":T.toolTipValue);Ta.eventArgs=
{index:p,link:aa,value:ba,displayValue:V,categoryLabel:h[p].label,toolText:U?U:"",id:a,datasetIndex:k,datasetName:d.seriesname,visible:La};M||(ka=G,ea=C);V=g;U=G;na=ga;Aa=C;g-=10;G+=10;n.graphics.element?(Ha=!0,ba=n.graphics.element,va[p].appendChild(ba._.cubetop),va[p].appendChild(ba._.cubeside),va[p].appendChild(ba),Pa.cubepath=[g,!0===b.visible||0===Z||E?G:ba.attrs.cubepath[1],ga,!0===b.visible||0===Z||E?C:ba.attrs.cubepath[3],10,10],ba.animateWith(Q,S,Pa,M,O,Da&&Ua),za.fill=[z(X[0]),!J],za.ishot=
!0,za.stroke=Ca&&z(X[1]),za[Ab]=Ca?ha:0,za[Eb]=T.plotBorderDashStyle,za.cursor=aa?"pointer":a,za.visibility&&delete za.visibility,za.cubepath&&delete za.cubepath,ba.attr(za),T.elemCreated=!1):(Ka.element&&Ka.element.length?(ba=n.graphics.element=Ka.element.shift(),va[p].appendChild(ba._.cubetop),va[p].appendChild(ba._.cubeside),va[p].appendChild(ba),ba.show()):ba=n.graphics.element=A.cubepath(va[p]),za.cubepath=[g,M?ka+10:G,ga,M?0:ea,10,10],za.fill=[z(X[0]),!J],za.ishot=!0,za.stroke=Ca&&z(X[1]),za[Ab]=
Ca?ha:0,za[Eb]=T.plotBorderDashStyle,za.cursor=aa?"pointer":a,za.visibility=La?Na:Va,ba.attr(za),Pa.cubepath=[g,G,ga,C,10,10],ba.animateWith(Q,S,Pa,M,O,Da&&$a),Da=!1,n._newXPos=g,T.elemCreated=!0);ba.shadow(T.shadow,ja).data("BBox",{height:ea,width:ga,x:g,y:G});if(aa||L)C<F&&(G-=(F-C)/2,C=F),Ta.attr={path:Za([g,G,ga,C,10,10]),cursor:aa?"pointer":a,stroke:ha&&t||qa,"stroke-width":Ca?l.plotBorderThickness:0,fill:t,ishot:!0};E&&ua&&ba.toBack();n._xPos=V;n._yPos=U;n._height=Aa;n._width=na}q.trackerDrawID.push(nb.addJob(b.drawTracker,
b,[],m.priorityList.tracker));b.drawn?b.drawLabel():q.labelDrawID.push(nb.addJob(b.drawLabel,b,[],m.priorityList.label));b.drawn=!0;r.drawSumValueFlag&&Ha&&r.drawSumValueFlag&&r.drawSumValue();Fa&&b.remove()},drawTracker:function(){var b=this.chart,a=this.components.data,c=b.config,d=c.isstacked,c=c.plothovereffect,e=b.components,f=e.paper,e=e.xAxis[0].getCategoryLen(),h,l,p,g,m,r,q,n,z,t=this.components.pool||[],A=function(a){ha.call(this,b,a)},v=function(a){return function(c){var d=this.getData();
0!==d.showHoverEffect&&!0!==d.draged&&(a.attr(this.getData().setRolloverAttr),ha.call(this,b,c,"DataPlotRollOver"))}},B=function(a){return function(c){var d=this.getData();0!==d.showHoverEffect&&!0!==d.draged&&(a.attr(this.getData().setRolloutAttr),ha.call(this,b,c,"DataPlotRollOut"))}};for(p=0;p<e;p++)if(l=(g=a[p])&&g.config,h=g.trackerConfig,m=g.graphics){m=g.graphics.element;z=h.targetGroupTracker;if(n=h.attr)g.graphics.hotElement?(q=g.graphics.hotElement,z[p].appendChild(q),q.attr(n),r=!1):(t.hotElement&&
t.hotElement.length?(q=g.graphics.hotElement=t.hotElement.shift(),z[p].appendChild(q),q.show()):(q=g.graphics.hotElement=f.path(z[p]),r=!0),q.attr(n));q=g.graphics.hotElement;(q||m).data("eventArgs",h.eventArgs).data(Ca,c).data(Ka,l.setRolloverAttr||{}).data(ya,l.setRolloutAttr||{}).tooltip(h.eventArgs&&h.eventArgs.toolText);(r||l.elemCreated)&&(q||m).click(A).hover(v(m),B(m));d&&h.isNegative&&q&&q.toBack()}},remove:function(){var b=this,a=b.components,c=a.removeDataArr,d=a.pool||(a.pool={element:[],
hotElement:[],label:[]}),e=c.length,f=b.config.groupMaxWidth,h,l=b.maxminFlag,p,g,m;(function(){return!1===b.endPosition?function(){return{x:h._xPos-f*e}}:!0===b.endPosition?function(){return{x:h._xPos+f*e||0}}:function(){return{width:0}}})();for(m=0;m<e;m++)if(h=c[0],c.splice(0,1),h&&h.graphics){g=h.graphics;for(p in g)g[p].hide();h.graphics.element&&(d.element=d.element.concat(h.graphics.element));h.graphics.hotElement&&(d.hotElement=d.hotElement.concat(h.graphics.hotElement));h.graphics.label&&
(d.label=d.label.concat(h.graphics.label))}a.pool=d;l&&b.setMaxMin()}},"Column",{use3dlighting:void 0}]);FusionCharts.register("component",["dataset","Waterfall2D",{configure:function(){var b,d,f=this.chart,l=f.components;b=this.config;d=this.JSONData;var r=d.data,k=f.config.categories,k=Sa(k&&k.length,r&&r.length),h=f.jsonData.chart,u=l.colorManager,p,g=u.getPlotColor(this.index||this.positionIndex),q=e(d.dashed,h.plotborderdashed),n=e(h.useplotgradientcolor,1),t=e(h.showtooltip,1),A=m.parseUnsafeString,
v=A(h.yaxisname),B=A(h.xaxisname),F=A(c(h.tooltipsepchar,", ")),H=m.parseTooltext,E,C,G,J,K,L,M,S,Q,O,W,R,la,Z,Y,T,U,ba,aa,V,X,da,ha,ea,ja,ma,qa,ia=m.getDashStyle,va=this.components.data,na=l.numberFormatter,wa;p={};p=p.dataObj||(p.dataObj={});wa=p.chart||(p.chart={});U=c(h.connectorthickness,1);var ya,za=-Infinity,ta=Infinity,ra=0,sa=0,ua=0,Aa,Ka,Ha,Ga;this.visible=1===e(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);p=b.showplotborder=e(h.showplotborder,1);b.plotBorderThickness=
K=p?e(h.plotborderthickness,1):0;b.isRoundEdges=L=e(h.useroundedges,0);b.plotBorderAlpha=W=p?c(h.plotborderalpha,G,ka):0;b.plotBorderColor=R=c(h.plotbordercolor,u.getColor("plotBorderColor").split(",")[0]);b.plotgradientcolor=O=n?ga(h.plotgradientcolor,u.getColor("plotGradientColor")):a;b.plotDashLen=n=e(h.plotborderdashlen,6);b.plotDashGap=J=e(h.plotborderdashgap,3);b.use3DLighting=e(h.use3dlighting,1);b.showSum=ya=e(h.showsumatend,1);b.plotColor=c(d.color,g);b.plotfillAngle=S=e(360-h.plotfillangle,
90);b.showShadow=L?e(h.showshadow,1):e(h.showshadow,u.getColor("showShadow"));b.showHoverEffect=M=e(h.plothovereffect,h.showhovereffect,void 0);b.plotFillAlpha=c(d.alpha,h.plotfillalpha,ka);b.plotRadius=e(h.useRoundEdges,b.isRoundEdges?1:0);b.plotFillRatio=Q=c(d.ratio,h.plotfillratio);b.plotBorderDashStyle=la=q?ia(n,J,K):"none";b.showValues=e(d.showvalues,h.showvalues,1);b.valuePadding=e(h.valuepadding,2);b.enableAnimation=g=e(h.animation,h.defaultanimation,1);b.animation=g?{duration:1E3*e(h.animationduration,
1)}:!1;wa.transposeAnimation=b.transposeAnimation=e(h.transposeanimation,wa.transposeAnimation,g);b.transposeAnimDuration=1E3*e(h.transposeanimduration,.2);b.showTooltip=e(h.showtooltip,1);b.stack100Percent=e(f.stack100percent,h.stack100percent,0);b.definedGroupPadding=La(e(h.plotspacepercent),0);b.plotSpacePercent=La(e(h.plotspacepercent,20)%100,0);b.maxColWidth=e(h.maxcolwidth,50);b.showPercentValues=e(h.showpercentvalues,0);b.showPercentInToolTip=e(h.showpercentintooltip,0);b.plotPaddingPercent=
e(h.plotpaddingpercent);b.rotateValues=e(h.rotatevalues)?270:0;b.placeValuesInside=e(h.placevaluesinside,0);b.parentYAxis=wa="s"===c(d.parentyaxis&&d.parentyaxis.toLowerCase(),"p")?1:0;va||(va=this.components.data=[]);b.zLine=Ka={step:!0,data:[],dashStyle:"1"===h.connectordashed?ia(e(h.connectordashlen,2),e(h.connectordashgap,2),U):"none",useForwardSteps:!0,color:P(c(h.connectorcolor,"000000"),c(h.connectoralpha,100)),lineWidth:U};for(f=0;f<k;f+=1)Z=r[f],T=na.getCleanValue(Z.value),C=e(Z.issum,0),
Z.vline||C?delete Z._value:(ra+=T,Z._value=T);Aa=na.dataLabels(ra);ya&&(ya=!0,k+=1,Ha={label:fa(h.sumlabel,"Total"),_value:ra,value:ra,issum:1,cumulative:1});for(Ga=f=0;f<k;f+=1)Z=r[f],U=(T=va[f])&&T.config,T||(T=va[f]={graphics:{}}),T.config||(U=va[f].config={}),!Z&&ya&&(Z=r[f]=Ha),g=c(Z.color,u.getPlotColor(f)),T.vline||(T=Z._value,delete Z._value,U.issum=C=e(Z.issum,0),G=U.isCumulative=e(Z.cumulative,1),C?(T=G?sa:sa===ua?sa:sa-ua,U.lastComTotal=ua,ua=sa,Ka.data.push({y:null,x:Ga-.5})):sa+=T,za=
La(za,sa),ta=Sa(ta,sa),U.total=sa,C=U.showLabel=e(Z.showlabel,h.showlabels,1),C=U.dataLabel=A(C?fa(Z.label,Z.name):a),0<T?(ba=c(Z.color,h.positivecolor,g),0!==M&&(aa=c(Z.positivehovercolor,h.positivehovercolor,h.plotfillhovercolor,h.columnhovercolor,ba))):(ba=c(Z.color,h.negativecolor,g),0!==M&&(aa=c(Z.negativehovercolor,h.negativehovercolor,h.plotfillhovercolor,h.columnhovercolor,ba))),G=c(Z.alpha,b.plotFillAlpha),E=e(Z.dashed,q),V=e(Z.dashlen,n),X=J=e(Z.dashgap,J),U.showValue=e(Z.showvalue,b.showValues),
U.setValue=Y=T,U.setLink=c(Z.link),U.toolTipValue=Y=na.dataLabels(Y,wa),U.setDisplayValue=da=Da(A(Z.displayvalue)),U.displayValue=c(da,Y),U.plotBorderDashStyle=E=1===E?ia(V,X,K):0===E?"none":la,U.colorArr=ba=m.graphics.getColumnColor(ba+","+O.replace(/,+?$/,""),G,Q,S,L,R,W.toString(),0,!1),0!==M&&(V=c(Z.alpha,Z.hoveralpha,d.hoveralpha,h.plotfillhoveralpha,h.columnhoveralpha,G),X=c(Z.hovergradientcolor,d.hovergradientcolor,h.plothovergradientcolor,O),!X&&(X=""),Y=c(Z.hoverratio,d.hoverratio,Z.ratio,
h.plothoverratio,Q),da=e(360-Z.hoverangle,360-d.hoverangle,360-h.plothoverangle,S),ha=c(Z.borderhovercolor,d.borderhovercolor,h.plotborderhovercolor,R),ea=c(Z.borderhoveralpha,d.borderhoveralpha,h.plotborderhoveralpha,W,G),G=e(Z.borderhoverthickness,d.borderhoverthickness,h.plotborderhoverthickness,K),ja=e(Z.borderhoverdashed,d.borderhoverdashed,h.plotborderhoverdashed),ma=e(Z.borderhoverdashgap,d.borderhoverdashgap,h.plotborderhoverdashgap,n),qa=e(Z.borderhoverdashlen,d.borderhoverdashlen,h.plotborderhoverdashlen,
J),ja=ja?ia(qa,ma,G):E,1===M&&aa===g&&(aa=tb(aa,70)),g=m.graphics.getColumnColor(aa+","+X,V,Y,da,L,ha,ea.toString(),0,!1),U.setRolloutAttr={fill:z(ba[0]),stroke:p&&z(ba[1]),"stroke-width":K,"stroke-dasharray":E},U.setRolloverAttr={fill:z(g[0]),stroke:p&&z(g[1]),"stroke-width":G,"stroke-dasharray":ja}),E=U.toolTipValue,g=Da(A(c(Z.tooltext,d.plottooltext,h.plottooltext))),t?void 0!==g?(G=[1,2,3,5,6,7,20,21,24,25],C={formattedValue:E,label:C,yaxisName:v,xaxisName:B,cumulativeValue:sa,cumulativeDataValue:na.dataLabels(sa),
sum:Aa,unformattedSum:ra},g=H(g,G,C,Z,h,d)):g=null===E?!1:C!==a?C+F+E:E:g=!1,Ka.data.push({y:null===T?null:sa,x:Ga}),Ga+=1,U.toolText=g,U.setTooltext=g);b.maxValue=za;b.minValue=ta;b.connectNullData=e(h.connectnulldata,0);b.showConnectors=e(h.showconnectors,1);b=d.catData;for(f=0;f<b.length;f+=1)d=b[f],r.splice(d.index,0,d.data);l.xAxis[0].setCategory(r);this.maxminFlag=!1},draw:function(){var b,a,c,d=this,f=d.chart,k=f.getJobList(),h=f.config.canvasBottom;c=f.graphics.datasetGroup;var l=d.JSONData,
p=d.config,g=d.groupManager,r=d.positionIndex,q=d.chart.config.categories,n=l.data,A=q&&q.length,v=n&&n.length,B,n=d.visible,H=f.components,E=H.paper,C=H.xAxis[0],G=H.yAxis[0],J=d.components,K,P,L,M=f.graphics,S=m.Raphael,Q=p.showTooltip,O=C.getAxisPosition(0),O=C.getAxisPosition(1)-O,W=p.definedGroupPadding,R=p.plotSpacePercent/200,la=g.getDataSetPosition(d),Z=p.maxColWidth,O=(1-.01*W)*O||Sa(O*(1-2*R),1*Z),O=e(la.columnWidth,O/1),Y,W=la.xPosOffset||0,la=la.height,T,U,J=J.data,ba,R=G.getAxisBase(),
Z=G.yBasePos=G.getAxisPosition(R),aa=0,V=p.showShadow,ga=p.plotBorderThickness,X=p.plotRadius,da=d.graphics.container,ea=d.graphics.trackerContainer,ka=d.graphics.dataLabelContainer,ha=d.graphics.shadowContainer;ba=M.trackerGroup;var fa,ia,M=!0,va=!1,na=d.pool||(d.pool={}),ja=function(){!1!==d.visible||!1!==d._conatinerHidden&&void 0!==d._conatinerHidden||(da.hide(),ea.hide(),ha.hide(),ka&&ka.hide(),d._conatinerHidden=!0)},ma=function(){d.drawLabel()},qa=f.get("config","animationObj"),ta=qa.duration||
0,ra=qa.dummyObj,sa=qa.animObj,qa=qa.animType,ua,H=H.canvas.config.clip["clip-canvas"].slice(0);da||(da=d.graphics.container=E.group("columns",c),n||da.hide());da.attr("clip-rect",H);ea||(ea=d.graphics.trackerContainer=E.group("col-hot",ba),n||ea.hide());ha||(ha=d.graphics.shadowContainer=E.group("shadow",c).toBack(),n||ha.hide());p.showConnectors&&d.drawLine();p=Sa(A,v);for(A=0;A<p;A++)if(ua=(v=J[A])&&(v.trackerConfig={}),a=v&&v.config,H=(c=v&&v.graphics)&&c.element,a)(B=a.setValue,K=0<=B,null===
B)?H&&H.hide():(ba=a.setLink,fa=a.colorArr,v.graphics||(J[A].graphics={}),b=a.displayValue,P=K?a.previousPositiveY:a.previousNegativeY,a.issum?a.isCumulative||(P=a.lastComTotal):P=J[A-1]&&J[A-1].config.total,Y=G.getAxisPosition(P||R),K=C.getAxisPosition(A)+W,0!==la?(P=G.getAxisPosition(B+(P||0)),T=Qa(Y-P)):(T=0,P=Y),P=Sa(P,Y),ab(P+T)>=h&&(T+=ga/2),g.isCrisp?(L=S.crispBound(K,P,O,T,ga),K=L.x,P=L.y,Y=L.width,T=L.height):Y=O,U=a.toolText,ia=a.plotBorderDashStyle,ua.eventArgs={index:A,link:ba,value:B,
displayValue:b,categoryLabel:q[A].label,toolText:U,id:"",datasetIndex:r,datasetName:l.seriesname,visible:n,setRolloutAttr:a.setRolloutAttr,setRolloverAttr:a.setRolloverAttr},ta||(Z=P,aa=T),B={ishot:!Q,fill:z(fa[0]),stroke:z(fa[1]),"stroke-width":ga,"stroke-linejoin":"miter",visibility:n},a={x:K,y:Z,width:Y,height:aa||1,r:X,"stroke-dasharray":ia},v._xPos=K,v._yPos=P,v._height=T,v._width=Y,b=!1,H?(va=!0,a.y=P,a.height=T||1,H.attr(B).animateWith(ra,sa,a,ta,qa,M&&ja)):(na.element&&na.element.length?H=
c.element=na.element.shift():(H=c.element=E.rect(da),b=!0),H.show().attr(B).attr(a),ta?(H.animateWith(ra,sa,{y:P,height:T||1},ta,qa,M&&ma),M=!1):va=!0),H.shadow({opacity:V},ha).data("BBox",L),ba||Q?(T<F&&(P-=(F-T)/2,T=F),ua.attr={x:K,y:P,width:Y,height:T,r:X,cursor:ba?"pointer":"",stroke:t,"stroke-width":ga,fill:t,ishot:!0,visibility:n}):b&&d.attachCallBack.call(H,d,f,v));k.trackerDrawID.push(nb.addJob(d.drawTracker,d,[],m.priorityList.tracker));va&&d.drawLabel()},attachCallBack:function(b,a,c){this.click(b.getPlotClickFn(a)).hover(b.rolloverResponseSetter(c,
a),b.rolloutResponseSetter(c,a))},drawTracker:function(){var b,a,c=this.chart,d=this.config,e=this.components,f=e.pool,h=this.JSONData.data,h=h&&h.length,e=e.data,l=c.components,p=l.paper,g=l.xAxis[0].getCategoryLen(),l=this.graphics.trackerContainer,m,r,q,n,z,t=this.components.removeDataArr||(this.components.removeDataArr=[]),A;q=0;for(A=Sa(g,h);q<A;q++){n=!1;r=(a=e[q])&&a.config;m=a&&a.trackerConfig;g=(b=a&&a.graphics)&&b.element;z=b&&b.hotElement;b=m&&m.eventArgs;if(null===r.setValue)z&&z.hide();
else if(m=m.attr)z?z.attr(m):f&&f.hotElement&&f.hotElement[0]?(z=a.graphics.hotElement=f.hotElement[0],f.hotElement.splice(0,1),z.attr(m)):(z=a.graphics.hotElement=p.rect(m,l),n=!0),z.show(),n&&this.attachCallBack.call(z||g,this,c,a);!(a=b&&b.toolText)&&b&&(b.toolText="");b&&(z||g).tooltip(a).data("eventArgs",b).data("hoverEnabled",0!==d.showHoverEffect).data(Ka,b.setRolloverAttr).data(ya,b.setRolloutAttr).data("setElem",g).data("dataset",this)}e.length>h&&t.push(e.pop());t.length&&this.remove()},
drawLine:function(){var b=this.chart,a=b.components,c=b.graphics,d=this.config,f=a.paper,k,h,l=a.xAxis[0],a=a.yAxis[0],p=a.getAxisBase();k=a.getAxisPosition(p);var p=this.graphics.lineContainer,g=d.definedGroupPadding,m=d.plotSpacePercent/200,r=l.getAxisPosition(0),r=l.getAxisPosition(1)-r,q=d.maxColWidth,g=((1-.01*g)*r||Sa(r*(1-2*m),1*q))/2,n=d.zLine,d=d.connectNullData,m=n.data,r=m.length,q=this.graphics,z=n.dashStyle,t=n.color,n=n.lineWidth,A,v=q.zLine,B=null,F=[],H=[],E=b.get("config","animationObj"),
b=E.duration||0,C=E.dummyObj,G=E.animObj,E=E.animType,c=c.datalabelsGroup;h=q.dataLabelContainer;h||(h=this.graphics.dataLabelContainer=f.group("datalabel",c));p||(p=q.lineContainer=f.group("line-connector",h));a.yBasePos=k;for(c=0;c<r;c+=1)h=m[c],k=h.y,null===k?(H.length=0,0===d&&(B=null)):(h=e(h.x,c),k=a.getAxisPosition(k),h=l.getAxisPosition(h),h=wa(h,n,n).position,k=wa(k,n,n).position,null!==B?(H.length&&(F=F.concat(H),H.length=0),F.push("M",A,B,"m",-g,0,"H",h,"h",g,"m",0,k-B)):H.push("M",h,k),
A=h,B=k);v||(v=q.zLine=f.path(p).attr({path:F,"stroke-linecap":"round","stroke-opacity":0}));v.animateWith(C,G,{path:F,"stroke-opacity":1,"stroke-dasharray":z,stroke:t,"stroke-linejoin":2<=n?"round":"miter","stroke-width":n},b,E)},hidingPosition:function(){return function(){return{width:0}}},_hoverFunc:function(b,a,c){var d=b.graphics[Ya]||b.graphics[gb];a="DataPlotRollOver"===a?d.data(Ka):d.data(ya);c&&b.graphics[gb].attr(a)}},"Column"]);FusionCharts.register("component",["dataset","Bar2D",{type:"bar",
draw:function(){var b=this,d=b.JSONData,f=b.chart.jsonData.chart,l=b.config,r=b.groupManager,k=b.index,h=d.data,u=b.chart.config.categories,p,g,q,n,A=b.chart,v=A.getJobList(),B=A.config,H=A.components.paper,E=A.components.xAxis[0],C=A.components.yAxis[0];p=A.graphics.columnGroup;var G=A.config.isstacked,J,K,P,L=A.graphics,M=m.parseUnsafeString,O=m.getValidValue,S=m.Raphael,Q=B.showtooltip,W=E.getAxisPosition(0),R=E.getAxisPosition(1),Y=l.groupMaxWidth=Qa(R-W),la=l.definedGroupPadding,Z=B.plotspacepercent/
200,T=r.getDataSetPosition(b),l=r.stackSumValue[b.positionIndex],ga=B.maxcolwidth,U=A.get(bb,Ga),A=U.animType,W=U.animObj,R=U.dummyObj,U=U.duration,Y=(1-.01*la)*Y||Sa(Y*(1-2*Z),1*ga),Y=e(T.columnWidth,Y/1),ba,la=T.xPosOffset||0,T=T.height,aa,Z=b.components.data,V,X,da,ka,ea,ga=C.getLimit(),ha=ga.min,ga=0<ga.max&&0>ha,ha=C.getAxisBase(),fa=C.yBasePos=C.getAxisPosition(ha),ja,ia=0,va=B.plotborderthickness,na=va/2,ma=B.useroundedges,qa=b.graphics.container,wa=b.graphics.trackerContainer,ta=b.graphics.dataLabelContainer,
ra=b.graphics.shadowContainer;n=L.trackerGroup;var sa,L=b.visible,ua=!0,Aa=!1,ya=(b.components.removeDataArr||[]).length,Ha=b.components.pool||[],B=B.showplotborder,Da,za=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(qa.hide(),wa.hide(),ra.hide(),ta&&ta.hide(),b._conatinerHidden=!0)},Ka=function(){r.drawSumValueFlag&&r.drawSumValue()};qa||(qa=b.graphics.container=H.group(Pa,p),L||qa.hide());wa||(wa=b.graphics.trackerContainer=H.group(Fa,n),L||wa.hide());ra||(ra=
b.graphics.shadowContainer=H.group(Wa,p).toBack(),L||ra.hide());L&&(qa.show(),wa.show(),ra.show());p=E.getCategoryLen();for(n=0;n<p;n++)if(g=h&&h[n],V=Z[n],Da=V.trackerConfig={},q=(ea=V&&V.config)&&ea.setValue,!V||void 0!==q&&null!==q||(V.graphics&&V.graphics.element&&V.graphics.element.hide(),V.graphics&&V.graphics.hotElement&&V.graphics.hotElement.hide()),void 0!==V&&void 0!==q&&null!==q){da=ea.setLink;sa=ea.colorArr;aa=0<=q;V.graphics||(Z[n].graphics={});ka=ea.displayValue;ba=aa?ea.previousPositiveY:
ea.previousNegativeY;X=O(M(c(g.tooltext,d.plottooltext,f.plottooltext)));G&&(ba=b._parseValues(n,ba,l[n],X),q=ea.value);ja=C.getAxisPosition(ba||ha);g=E.getAxisPosition(n)+la;0!==T?(K=C.getAxisPosition(q+(ba||0)),J=Math.abs(ja-K)):(J=0,K=ja);K=Math.min(K,ja);0<J-va&&0<va&&(ga?G?(K+=na,aa||ba)?aa&&(J=J-va+1,ba&&(K=K-va+1)&&(J=J+va-1)):J-=va:(K+=na,J-=va):aa&&(K-=na));r.isCrisp?(P=S.crispBound(g,K,Y,J,va),g=P.x,K=P.y,ba=P.width,J=P.height):ba=Y;aa=!1!==ea.toolText&&ea.toolText+(X?"":ea.toolTipValue);
X=ea.plotBorderDashStyle;Da.eventArgs={index:n,link:da,value:q,displayValue:ka,categoryLabel:u[n].label,toolText:aa?aa:"",id:a,datasetIndex:k,datasetName:d.seriesname,visible:L};U||(fa=K,ia=J);q={x:fa,y:g,width:ia||1,height:ba,r:ma,ishot:!Q,fill:z(sa[0]),stroke:z(sa[1]),"stroke-width":B?va:0,"stroke-dasharray":X,"stroke-linejoin":Bb,visibility:Na};V._xPos=K;V._yPos=g;V._height=ba;V._width=J;if(V.graphics.element){Aa=!0;V=V.graphics.element;q={x:K,y:g,height:ba};if(!0===b.visible||0===T||G)q.width=
J;V.animateWith(R,W,q,U,A,ua&&za);V.attr({ishot:!Q,fill:z(sa[0]),stroke:z(sa[1]),"stroke-width":B?va:0,"stroke-dasharray":X,"stroke-linejoin":Bb,visibility:Na});ea.elemCreated=!1}else Ha.element&&Ha.element.length?(V=V.graphics.element=Ha.element.shift(),V.show()):V=V.graphics.element=H.rect(qa),V.attr(q),V.animateWith(R,W,{x:K,width:J||1},U,A,ua&&Ka),ea.elemCreated=!0,ua=!1;V.shadow(ea.shadow,ra).data("BBox",P);if(da||Q)J<F&&(K-=(F-J)/2,J=F),Da.attr={x:K,y:g,width:J,height:ba,r:ma,cursor:da?"pointer":
a,stroke:t,"stroke-width":B?va:0,fill:t,ishot:!0,visibility:L}}v.trackerDrawID.push(nb.addJob(b.drawTracker,b,[],m.priorityList.tracker));b.drawn?b.drawLabel():v.labelDrawID.push(nb.addJob(b.drawLabel,b,[],m.priorityList.label));b.drawn=!0;r.drawSumValueFlag&&Aa&&r.drawSumValueFlag&&r.drawSumValue();ya&&b.remove()},drawLabel:function(){var b=this.chart,c=b.graphics,d=b.config,f=b.components.canvas.config,l=b.config.dataLabelStyle,k=this.JSONData.data,h=b.config.categories,m=b.is3D,p=b.config.isstacked,
g=h&&h.length,r=k.length,h=this.components.data,q=b.components.paper,n=b.linkedItems.smartLabel,z,t,A=f.yDepth,f=f.xDepth,v=b.components.numberFormatter,B=a,F,H=d.placevaluesinside,E=d.canvasWidth,C=d.canvasLeft,G,d=d.valuepadding+2,J,K,S,Q=b.get(bb,Ga),b=Q.duration,P=Q.animType,L=Q.dummyObj,Q=Q.animObj,M=this.graphics.dataLabelContainer,O,Z,W=this.components.pool||{};S=this.visible;c=c.datalabelsGroup;M||(M=this.graphics.dataLabelContainer=q.group(Db,c),S||M.hide());S&&M.show();n.setStyle(l);c=g<
r?g:r;for(g=0;g<c;g++)if(z=h[g],void 0!==z&&(r=z.graphics))if(F=k[g],J=z._yPos,S=z._xPos,t=z.config,K=v.getCleanValue(F.value),F=0>e(K),G=z._height,z=z._width,O=p?hb:F?H?Ta:$a:H?$a:Ta,B=t.displayValue,Z=r.label,t.showValue&&void 0!==B&&null!==B&&B!==a&&null!==K){t={text:B,fill:l.color,"text-bound":[l.backgroundColor,l.borderColor,l.borderThickness,l.borderPadding,l.borderRadius,l.borderDash],"line-height":l.lineHeight,visibility:Na};B=n.getOriSize(B);B=B.width;B+=d;Z=d;J+=.5*G;G=S+(F?0:z);K=F?S-C:
C+E-(S+z);p?(G+=.5*(F?z:-z),G=La(C+.5*B,G),G=Sa(C+E-.5*B,G),G-=m?f:0,J+=m?A:0):H?z>=B?(G+=F?Z:-Z,m&&(J+=A,G-=f)):B<K?(G+=F?-Z:Z,O=F?$a:Ta,m&&F&&(G-=f)):(F?(G=S+z+La(B-S-z+C,0)-Z,O=$a):(G=S-La(B-(C+E-S),0)+Z,O=Ta),m&&(G-=f,J+=A)):K>=B?(G+=F?-Z:Z,m&&F&&(G-=f,J+=f)):(G+=F?Z+B:-(Z+B),m&&(G-=f,J+=A));if(G>C+E||G<C)G=C+4,O=Ta;t["text-anchor"]=O;(Z=r.label||W.label&&W.label.shift())?Z.show().animateWith(L,Q,{x:G,y:J},b,P).attr(t):(t.x=G,t.y=J,r.label=q.text(t,M))}else Z&&Z.hide()},remove:function(){var b=
this.components,a=b.removeDataArr,c=b.pool||(b.pool={element:[],hotElement:[],label:[]}),d=a.length,e,f=this.maxminFlag,h,l,p;for(p=0;p<d;p++)if(e=a[0],a.splice(0,1),e&&e.graphics){l=e.graphics;for(h in l)l[h].hide();e.graphics.element&&(c.element=c.element.concat(e.graphics.element));e.graphics.hotElement&&(c.hotElement=c.hotElement.concat(e.graphics.hotElement));e.graphics.label&&(c.label=c.label.concat(e.graphics.label))}b.pool=c;f&&this.setMaxMin()}},"Column"]);FusionCharts.register("component",
["dataset","Bar3D",{draw:function(){var b=this,d=b.JSONData,f=b.chart.jsonData.chart,l=b.config,r=b.groupManager,k=b.index,h=d.data,u=b.chart.config.categories,p,g,q,n,A=b.chart,B=A.getJobList(),v=A.config,H=A.components.paper,E=A.components.xAxis[0],C=A.components.yAxis[0];n=A.graphics.columnGroup;var G=v.isstacked,J,K,P=A.graphics,L=m.parseUnsafeString,M=m.getValidValue,O=v.showtooltip,S=E.getAxisPosition(0),Q=E.getAxisPosition(1),W=l.groupMaxWidth=Qa(Q-S),R=l.definedGroupPadding,Y=v.plotspacepercent/
200,la=r.getDataSetPosition(b),l=r.stackSumValue[b.positionIndex],Z=v.maxcolwidth,T=A.get(bb,Ga),S=T.animType,Q=T.animObj,ga=T.dummyObj,T=T.duration,W=(1-.01*R)*W||Sa(W*(1-2*Y),1*Z),W=e(la.columnWidth,W/1),U,R=la.xPosOffset||0,la=la.height,ba,Y=b.components.data,aa,V,X,ha,ka,Z=C.getLimit(),ea=Z.max,fa=Z.min,Z=C.getAxisBase(),ja=C.yBasePos=C.getAxisPosition(Z),ma=0,ia=v.plotborderthickness,va=b.graphics.container,na=b.graphics.dataLabelContainer,wa=b.graphics.shadowContainer,ya=P.trackerGroup,Da,ta,
ra,sa,ua=v.use3dlighting,P=!0,Aa=!1,za=b.visible,Ha=(b.components.removeDataArr||[]).length,Ka=b.components.pool||[],La=v.showplotborder,Fa,Ca=function(){var a,c;if(!1===b.visible&&(!1===b._conatinerHidden||void 0===b._conatinerHidden)){na&&na.hide();a=b.components.data;for(c=0;c<p;c++)a[c]&&a[c].graphics&&a[c].graphics.element&&a[c].graphics.element.attr("visibility",Va),a[c]&&a[c].graphics&&a[c].graphics.hotElement&&a[c].graphics.hotElement.attr("visibility",Va);wa.hide();b._conatinerHidden=!0}},
Oa=function(){var a=b.components.data,c;for(c=0;c<p;c++)a[c]&&a[c].graphics&&a[c].graphics.element&&a[c].graphics.element.attr("fill",[z(a[c].config.colorArr[0]),!ua]);r.drawSumValueFlag&&r.drawSumValue()};va||(va=b.graphics.container=A.datasetLayers=A.datasetLayers||H.group(Pa,n));wa||(wa=b.graphics.shadowContainer=H.group(Wa,n).toBack());p=E.getCategoryLen();if(za)for(n=0;n<p;n++)Y[n].graphics&&Y[n].graphics.element&&Y[n].graphics.element.attr("visibility",Na),Y[n].graphics&&Y[n].graphics.hotElement&&
Y[n].graphics.hotElement.attr("visibility",Na);aa=va.negative=va.negative||H.group(Ra,va);X=va.column=va.column||H.group(da,va);ka=ya.negative=ya.negative||H.group(Ra,ya);ya=ya.column=ya.column||H.group(da,ya);0>fa&&0<=ea?(n=va.zeroPlane)?(n=[ja-5,A.config.canvasTop+5,1,A.config.canvasHeight,5,5,n],r.graphics.zeroplane.show(),r.graphics.zeroplane._.cubetop.show(),r.graphics.zeroplane._.cubeside.show(),r.graphics.zeroplane.animateWith(ga,Q,{cubepath:n},T,S),r.graphics.zeroplane.attr({fill:[v.zeroPlaneColor,
!ua],stroke:v.zeroPlaneBorderColor||"none","stroke-width":v.zeroPlaneShowBorder?1:0})):(n=va.zeroPlane=H.group(Ma,va).insertBefore(X),!r.graphics&&(r.graphics={}),r.graphics.zeroplane=H.cubepath(ja-5,A.config.canvasTop+5,1,A.config.canvasHeight,5,5,n).attr({fill:[v.zeroPlaneColor,!ua],stroke:v.zeroPlaneBorderColor||"none","stroke-width":v.zeroPlaneShowBorder?1:0})):r.graphics&&r.graphics.zeroplane&&r.graphics.zeroplane.hide()&&r.graphics.zeroplane._.cubetop.hide()&&r.graphics.zeroplane._.cubeside.hide();
(A=aa.data(Ia))||(aa.data(Ia,Array(p)),A=aa.data(Ia));(ea=X.data(Ia))||(X.data(Ia,Array(p)),ea=X.data(Ia));(va=ka.data(Ia))||(ka.data(Ia,Array(p)),va=ka.data(Ia));(fa=ya.data(Ia))||(ya.data(Ia,Array(p)),fa=ya.data(Ia));for(n=0;n<p;n+=1)A[n]=A[n]||H.group(aa),ea[n]=ea[n]||H.group(X),va[n]=va[n]||H.group(ka),fa[n]=fa[n]||H.group(ya);n=0;for(ta=p-1;n<p;n++,ta--)if(g=h&&h[n],aa=Y[n],Fa=aa.trackerConfig={},V=(ka=aa&&aa.config)&&ka.setValue,!aa||void 0!==V&&null!==V||(aa.graphics&&aa.graphics.element&&
(aa.graphics.element.hide(),aa.graphics.element._.cubeside.hide(),aa.graphics.element._.cubetop.hide()),aa.graphics&&aa.graphics.hotElement&&aa.graphics.hotElement.hide()),void 0!==aa&&void 0!==V&&null!==V){X=ka.setLink;ya=ka.colorArr;aa.graphics||(Y[n].graphics={});ha=ka.displayValue;J=0<=V?ka.previousPositiveY:ka.previousNegativeY;ba=M(L(c(g.tooltext,d.plottooltext,f.plottooltext)));G&&(J=b._parseValues(n,J,l[n],ba),V=ka.value);U=C.getAxisPosition(J||Z);g=E.getAxisPosition(n)+R;0!==la?(K=C.getAxisPosition(V+
(J||0)),J=Math.abs(U-K)):(J=0,K=U);K=Math.min(K,U);U=W;(Fa.isNegative=ra=0>V)?(q=A,Da=va):(q=ea,Da=fa);Fa.targetGroupTracker=Da;ba=!1!==ka.toolText&&ka.toolText+(ba?"":ka.toolTipValue);Fa.eventArgs={index:n,link:X,value:V,displayValue:ha,categoryLabel:u[n].label,toolText:ba?ba:"",id:a,datasetIndex:k,datasetName:d.seriesname,visible:za};T||(ja=K,ma=J);ha=g;ba=K;Da=U;sa=J;g+=5;K-=5;aa.graphics.element?(Aa=!0,V=aa.graphics.element,q[ta].appendChild(V._.cubetop),q[ta].appendChild(V._.cubeside),q[ta].appendChild(V),
q={cubepath:[K,g,!0===b.visible||0===la||G?J:V.attrs.cubepath[2],U,5,5]},V.animateWith(ga,Q,q,T,S,P&&Ca),V.attr({fill:[z(ya[0]),!ua],ishot:!0,stroke:La&&z(ya[1]),"stroke-width":La?v.plotborderthickness:0,"stroke-dasharray":ka.plotBorderDashStyle,cursor:X?"pointer":a}),ka.elemCreated=!1):(Ka.element&&Ka.element.length?(V=aa.graphics.element=Ka.element.shift(),q[ta].appendChild(V._.cubetop),q[ta].appendChild(V._.cubeside),q[ta].appendChild(V),V.show()):V=aa.graphics.element=H.cubepath(q[ta]),V.attr({cubepath:[T?
ja-5:K,g,T?0:ma,U,5,5],fill:[z(ya[0]),!ua],ishot:!0,stroke:La&&z(ya[1]),"stroke-width":La?v.plotborderthickness:0,"stroke-dasharray":ka.plotBorderDashStyle,cursor:X?"pointer":a,visibility:za?Na:Va}),V.animateWith(ga,Q,{cubepath:[K,g,J,U,5,5]},T,S,P&&Oa),P=!1,aa._newXPos=g,ka.elemCreated=!0);V.shadow(ka.shadow,wa).data("BBox",{height:U,width:ma,x:K,y:g});if(X||O)J<F&&(K-=(F-J)/2,J=F),Fa.attr={path:Za([K,g,J,U,5,5]),cursor:X?"pointer":a,stroke:ia&&t||qa,"stroke-width":La?v.plotborderthickness:0,fill:t,
ishot:!0};G&&!ra||V.toBack();aa._xPos=ba;aa._yPos=ha;aa._height=Da;aa._width=sa}B.trackerDrawID.push(nb.addJob(b.drawTracker,b,[],m.priorityList.tracker));b.drawn?b.drawLabel():B.labelDrawID.push(nb.addJob(b.drawLabel,b,[],m.priorityList.label));b.drawn=!0;r.drawSumValueFlag&&Aa&&r.drawSumValueFlag&&r.drawSumValue();Ha&&b.remove()},drawTracker:function(){var b=this.chart,a=this.components.data,c=b.config,d=c.isstacked,c=c.plothovereffect,e=b.components,f=e.paper,e=e.xAxis[0].getCategoryLen(),h,l,
p,g,m,r,q,n,z,t,A=this.components.pool||[],v=function(a){ha.call(this,b,a)},B=function(a){return function(c){var d=this.getData();0!==d.showHoverEffect&&!0!==d.draged&&(a.attr(this.getData().setRolloverAttr),ha.call(this,b,c,"DataPlotRollOver"))}},F=function(a){return function(c){var d=this.getData();0!==d.showHoverEffect&&!0!==d.draged&&(a.attr(this.getData().setRolloutAttr),ha.call(this,b,c,"DataPlotRollOut"))}};g=0;for(p=e-1;g<e;g++,p--)if(m=a[g],void 0!==m&&(l=m&&m.config,h=m.trackerConfig,r=
m.graphics)){r=m.graphics.element;t=h.targetGroupTracker;if(z=h.attr)m.graphics.hotElement?(n=m.graphics.hotElement,t[p].appendChild(n),n.attr(z),q=!1):(A.hotElement&&A.hotElement.length?(n=m.graphics.hotElement=A.hotElement.shift(),t[p].appendChild(n),n.show()):(n=m.graphics.hotElement=f.path(t[p]),q=!0),n.attr(z));n=m.graphics.hotElement;(n||r).data("eventArgs",h.eventArgs).data(Ca,c).data(Ka,l.setRolloverAttr||{}).data(ya,l.setRolloutAttr||{}).tooltip(h.eventArgs&&h.eventArgs.toolText);(q||l.elemCreated)&&
(n||r).click(v).hover(B(r),F(r));(!d||h.isNegative)&&n&&n.toBack()}},remove:function(){var b=this,a=b.components,c=a.removeDataArr,d=a.pool||(a.pool={element:[],hotElement:[],label:[]}),e=c.length,f=b.config.groupMaxWidth,h,l=b.maxminFlag,p,g,m;(function(){return!1===b.endPosition?function(){return{x:h._xPos-f*e}}:!0===b.endPosition?function(){return{x:h._xPos+f*e||0}}:function(){return{width:0}}})();for(m=0;m<e;m++)if(h=c[0],c.splice(0,1),h&&h.graphics){g=h.graphics;for(p in g)g[p].hide();h.graphics.element&&
(d.element=d.element.concat(h.graphics.element));h.graphics.hotElement&&(d.hotElement=d.hotElement.concat(h.graphics.hotElement));h.graphics.label&&(d.label=d.label.concat(h.graphics.label))}a.pool=d;l&&b.setMaxMin()}},"Bar2D"]);FusionCharts.register("component",["datasetGroup","Column",{init:function(){this.positionStackArr=[];this.stackSumValue=[];this.stackConfig=[];this.drawSumValueFlag=!0},addDataSet:function(b,a,c){var d=this.positionStackArr[a];b.groupManager=this;b.positionIndex=a;b.stackIndex=
c;d||(d=this.positionStackArr[a]=[]);d[c]={dataSet:b}},removeDataSet:function(b,a,c){var d=this.positionStackArr[b];d&&d[a]&&d.splice(a,c);0===d.length&&this.positionStackArr.splice(b,1)},draw:function(){var b=this.positionStackArr,a=b.length,c,d,e,f,h=this.chart;c=h.config.viewPortConfig.scaleX||1;d=h.graphics.columnGroup;f=h.graphics;e=h.components.canvas.config.clip["clip-canvas"].slice(0);f=f.datalabelsGroup;var l=h.get("config","animationObj"),h=l.animType,p=l.animObj,g=l.dummyObj,m=e[2],l=l.duration;
e[2]*=c;d.attrs["clip-rect"]||d.attr({"clip-rect":e});f.attrs["clip-rect"]||f.attr({"clip-rect":[e[0],0,m,e[3]+e[1]]});d.animateWith(g,p,{"clip-rect":e},l,h);f.animateWith(g,p,{"clip-rect":[e[0],0,m,e[3]+e[1]]},l,h);this.preDrawCalculate();this.drawSumValueFlag=!0;for(c=0;c<a;c++)for(d=b[c],e=d.length,this.manageClip=!0,d=0;d<e;d++)f=b[c][d].dataSet,f.draw()},getDataSetPosition:function(b){var a=this.numVisiblePositions,c=this.stackConfig[b.positionIndex||0];b=b.visible;var d;if(c){if(!b&&c.visible||
0===a)d=0;return{xPosOffset:c.xPosOffset,columnWidth:c.columnWidth,height:d}}},preDrawCalculate:function(){var b=this.chart,a=b.config.transposeAxis,c=this.stackConfig,d=this.stackSumValue,f=this.positionStackArr,k=this.sumValues=[],h=this.dataLimits=[],l=!1,p=b.config.isstacked,g=f.length,m,r,q,n,z,t,A,v,B,F,H,E,C,G,J,K,Q,P=b.isBar,L=b.jsonData.chart,M=b.components.xAxis[0],O=e(P?L.overlapbars:L.overlapcolumns,b.is3D?0:1),Z=M.getAxisPosition(0),W=M.getAxisPosition(1),Y=Qa(W-Z),U=La(e(L.plotspacepercent),
0),R=e(L.plotpaddingpercent),Z=La(e(L.plotspacepercent,20)%100,0),aa=Z/200,V,W=!0,T,ga,X;for(A=this.numVisiblePositions=0;A<g;A++){v=f[A].length;K=c[A]||(c[A]={});K.visible=!1;K.previousVisibleCount=this.numVisiblePositions;ga=[];for(Q=0;Q<v;Q++)if(X=Infinity,n=f[A][Q],T=n.dataSet.yAxis,n&&!1!==n.dataSet.visible&&(K.visible=!0),p){t=f[A][Q+1];B=Q;for(l=!1;0<=B&&!l;)l=(m=f[A][--B])&&m.dataSet.visible;z=n&&n.dataSet.components.data;J=t&&t.dataSet.components.data;F=n.dataSet.components.data;H=m&&m.dataSet.components.data;
F||(F=n.dataSet.components.data=[]);E=z&&z.length;for(t=0;t<E;t++){(C=F[t])||(C=F[t]={config:{}});G=H&&H[t];if(!G)for(;0<=B&&!G;)if(l=(m=f[A][--B])&&m.dataSet.visible)G=(H=m&&m.dataSet.components.data)&&H[t];C=C.config;C.value=l=T.getCleanValue(z[t].config.setValue);q=(G=G&&G.config)&&G.value;!ga[t]&&(ga[t]=(q||0===q)&&!0);r=(G&&G.previousPositiveY||0)+(G&&(0<q?q:0)||0);q=(G&&G.previousNegativeY||0)+(G&&(0>q?q:0)||0);C.previousPositiveY=r;C.previousNegativeY=q;X=Sa(X,(q||r)+C.setValue);J&&J[t]&&J[t].config.setValue||
(d[A]||(d[A]=[],d[A].parentYAxis=n.dataSet.config.parentYAxis),d[A][t]=r+(n.dataSet.visible&&Qa(l))+Qa(q),!d[A][t]&&(d[A][t]=1),k&&(k[A]||(k[A]=[]),k[A][t]=k[A][t]||{},null!==l&&(C=n.dataSet.visible,k[A][t].visible=ga[t]||C&&!0,k[A][t].positive=r+(0<=l?C&&l:0),k[A][t].negative=q+(0>l?C&&l:0))))}t=f[A][Q+1];B=Q;if(!a)for(m=f[A][Q-1],z=n&&n.dataSet.components.data,J=t&&t.dataSet.components.data,F=n.dataSet.components.data,H=m&&m.dataSet.components.data,E=z&&z.length,t=0;t<E;t++){C=F[t];G=H&&H[t];if(!G)for(;0<=
B&&!G;)G=(H=(m=f[A][--B])&&m.dataSet.components.data)&&H[t];C=C.config;C.value=l=T.getCleanValue(z[t].config.setValue);G=G&&G.config;X=Sa(X,(q||r)+C.setValue);V=(G&&G.previousPositiveDataLimit||0)+(G&&(0<G.value?G.value:0)||0);G=(G&&G.previousNegativeDataLimit||0)+(G&&(0>G.value?G.value:0)||0);C.previousPositiveDataLimit=V;C.previousNegativeDataLimit=G;J&&J[t]&&J[t].config.setValue||!h||(h[A]||(h[A]=[],h[A].parentYAxis=n.dataSet.config.parentYAxis),h[A][t]=h[A][t]||{},null!==l&&(h[A][t].positive=
V+(0<=l?l:0),h[A][t].negative=G+(0>l?l:0)))}X&&(n.dataSet.config.minValue=X)}K.visible&&(this.numVisiblePositions+=1)}a&&(this.dataLimits=this.sumValues);a=this.numVisiblePositions;A=Qa(e(P?L.maxbarheight:L.maxcolwidth,b.maxColWidth||50));b=(1-.01*U)*Y||Sa(Y*(1-2*aa),A*(a||1));P=b/2;L=0===a?b:b/a;O=Sa(L-1,1<a?O||void 0!==R?0<R?L*R/100:0:4:0);for(A=0;A<g;A++)c=this.stackConfig[A],R=c.previousVisibleCount,c.xPosOffset=R*L-P+O/2,L-=O,c.columnWidth=c.visible||0===a?L:0,L+=O;g=M.getAxisPosition(0)-P;4>
M.getAxisPosition(1)-P-(g+b)&&(W=!1);"0"==Z&&(W=!0);this.isCrisp=W},getMaxSumValueSpace:function(){var b=this.stackSumValue,a=this.chart,c={},d=b.length,e=a.components.numberFormatter,f,h=0,l=0,p,g,m,r=a.linkedItems.smartLabel;p=a.config.dataLabelStyle;r.useEllipsesOnOverflow(a.config.useEllipsesWhenOverflow);r.setStyle(p);for(a=0;a<d;a++)for(p=b[a],m=p.length,g=0;g<m;g++)c=p[g],c=e.dataLabels(c),c=r.getOriSize(c),f=c.width,c=c.height,l=La(l,f),h=La(h,c);return{maxWidth:l,maxHeight:h}},drawSumValue:function(){var b=
this.chart,a=b.components,c=a.paper,d=this.positionStackArr,f=this.stackConfig,k=b.linkedItems.smartLabel,h,l=b.config.rotatevalues?270:0,a=a.xAxis[0],p,g=b.config.isstacked,m,r=b.config.dataLabelStyle,q,n,z,t,A,B,v,F,H,C,E=this.sumValuesDrawn,G,J,K,Q,P=a.getPVR(),L,M=this.pool,O=!1,Z=!1,W=b.get("config","animationObj"),R=W.duration,U=W.dummyObj,Y=W.animObj,W=W.animType,aa=b.config.stack100percent,V;z=e(b.jsonData.chart.showsum,b.showsum,0);var T=1,ga=!1,X=this.sumValues,ea=b.config.canvasTop,da=
b.components.canvas.config.clip["clip-canvas"].slice(0),ka,ha=b.graphics.sumLabelsLayer;da[1]=0;da[3]+=ea;this.drawSumValueFlag=!1;if(g)if(z){ha.css(r);k.setStyle(r);ha.show();!this.graphics&&(this.graphics={});h=this.graphics.sumLabels;g=this.graphics.sumLabelContainer;h||(h=this.graphics.sumLabels=[]);g||(g=this.graphics.sumLabelContainer=[]);ga=h.length;z=X.length;if(ga>z)for(;z<ga;z++){ea=h[z].length;for(t=0;t<ea;t++)p=h[z][t]||{},(C=p.element)&&C.hide();(ea=g[z])&&ea.hide();h.pop();g.pop()}ea=
d.length;for(z=0;z<ea;z++){(h=g[z])||(h=g[z]=this.graphics.sumLabelContainer[z]||c.group("sumlabels",ha));b.isRealTime&&h.attr({"clip-rect":da});t=d[z][0].dataSet;p=t.yAxis;m=X[z];B=a.getCategoryLen();A=this.graphics.sumLabels[z]=this.graphics.sumLabels[z]||[];H=0;f[z].visible||(Z=!0);V=f[z].xPosOffset;L=f[z].columnWidth;K=a.getPixel(B-1)+V;G=t.addDataArr&&t.addDataArr.length;O=t.startPosition;J=this.removedSumLabels&&this.removedSumLabels[z]&&this.removedSumLabels[z].length;for(t=0;t<B;t++,H++)if(ga=
!1,h.show(),v=m[t]||{},C=v.positive,F=v.negative,!A[H]&&(A[H]={}),void 0!==C||void 0!==F)if(n=C+F,n=p.dataLabels(n),Q=Qa(F)>C?F:C,C=A[H].element,!v.visible)C&&C.hide();else if(n||""===n)v=r.backgroundColor,F=r.borderColor,ka=k.getOriSize(n),q=this.getSumValueConfig({xValue:t,columnWidth:L,sumValue:Q,xPosOffset:V,stack100percent:aa,yAxis:p}),Q=this.getSumValuePosition(ka,{stack100percent:aa,rotateValues:l,xPos:q.xPos,yPos:q.yPos,sumValue:Q}),q=Q.x,n={text:n,fill:r.color,"text-bound":[v,F,r.borderThickness,
r.borderPadding,r.borderRadius,r.borderDash],"line-height":r.lineHeight,visibility:Na},Q.transform=c.getSuggestiveRotation(l,q,Q.y),C||(M&&M.sumLabels[z]&&M.sumLabels[z][0]?(A[H].element=C=M.sumLabels[z][0],M.sumLabels[z].shift()):(n.x=q,n.y=Q.y,n.transform=Q.transform,Q["text-anchor"]&&(n["text-anchor"]=Q["text-anchor"]),A[H].element=C=c.text(n,h),ga=!0),E&&R&&(v=O,v=!0===v?NaN-P*(G-z):!1===v?K+P*T++:q,C.attr({x:v,y:Q.y,transform:c.getSuggestiveRotation(l,v,Q.y)}))),ga||(C.show().animateWith(U,Y,
Q,R,W),C.attr(n));J&&this.removeGraphics(z);Z&&(h.hide(),Z=!1)}}else ha.hide();this.sumValuesDrawn=!0},getSumValueConfig:function(b){var a=this.chart,c=b.columnWidth,d=b.yAxis,e=a.config.viewPortConfig,f=e.x,h=e.scaleX,e=b.stack100percent,l=b.sumValue,p=b.xPosOffset;b=a.components.xAxis[0].getAxisPosition(b.xValue)+p+f*h;d=d.getAxisPosition(e?100:l);return{xPos:b+.5*c,yPos:d}},getSumValuePosition:function(b,a){var c=this.chart,d=c.config,e=d.canvasBottom,f=d.canvasTop,h=c.is3D,l=a.stack100percent,
p=d.yDepth,d=d.xDepth,g=a.yPos,m,r=a.xPos,q=c.components.canvas.config.canvasBorderWidth,n=a.sumValue;m=c=a.rotateValues?b.width:b.height;m=m/2+2;l?g=f<=c?m:f-m-q:(0<=n&&(f=g-f,g=f<c?g+m-f:g-m),0>n&&(g=e-g<c?g-m:g+m,h&&(r-=d,g+=p)));return{x:r,y:g}},removeGraphics:function(b){var a=this.removedSumLabels||[],c=this.positionStackArr[b][0].dataSet,d=c.endPosition,e=c.config.rotateValues,f=this.chart,c=(f.config.realTimeConfig||{}).clear,h=f.components.paper,l=a[b]&&a[b].length||0,p=f.components.xAxis[0],
g=this.pool||(this.pool={sumLabels:[]}),m=p.getPVR(),r=f.get("config","animationObj"),q,f=function(){this.hide()},p=r.dummyObj,n=r.animObj,z=r.transposeAnimDuration,t=r.animType,A;A=function(){return!1===d?function(b){var a=b.attr("x")-m*l;b=b.attr("y");return{x:a,transform:h.getSuggestiveRotation(e,a,b)}}:function(b){var a=b.attr("x")+m*l||0;b=b.attr("y");return{x:a,transform:h.getSuggestiveRotation(e,a,b)}}}();g.sumLabels||(g.sumLabels=[]);for(r=0;r<l;r++)q=a[b][0]&&a[b][0].element,a[b].splice(0,
1),q&&(void 0===d||c?q&&q.hide().attr({"text-bound":[]}):z?q.animateWith(p,n,A(q),z,t,f):(q.stop(),q.hide()),g.sumLabels[b]||(g.sumLabels[b]=[]),g.sumLabels[b]=g.sumLabels[b].concat(q))},removeSumLabels:function(b,a,c){var d=this.chart,e=(this.graphics||{}).sumLabels||[],f;if(e.length){this.removedSumLabels||(this.removedSumLabels=[]);this.removedSumLabels[c]||(this.removedSumLabels[c]=[]);if(!this.removedSumLabels[c].length||!d.config._sumValuesUpdated||d.config._dataUpdated){for(f=b;f<b+a;f++)e[c].push({});
this.removedSumLabels[c]=this.removedSumLabels[c].concat(e[c].splice(b,a))}d.config._sumValuesUpdated=!0}},getDataLimits:function(){var b=this.chart,a=this.positionStackArr,c,d,e,f,h,l=-Infinity,p=Infinity,g,m,r;c=b.config.isstacked;var b=b.config.transposeAxis,q=-Infinity,n=Infinity;e=h=Infinity;var z;this.preDrawCalculate();f=this.dataLimits;if(c){c=0;for(m=f.length;c<m;c++)for(g=f[c].length,z=f[c].parentYAxis,d=0;d<g;d++)r=f[c][d],void 0!==r.positive&&void 0!==r.negative&&(1===z?(l=La(l,r.positive),
p=Sa(p,r.negative),e=Sa(e,l)):(q=La(q,r.positive),n=Sa(n,r.negative),h=Sa(h,q)));0===n&&(n=h);0===p&&(p=e)}f=a.length;for(c=0;c<f;c++)for(d=a[c],h=d.length,d=0;d<h;d++)e=a[c][d].dataSet,!1===e.visible&&b||(e=e.config,1===e.parentYAxis?(l=La(l,e.maxValue),p=Sa(p,e.minValue)):(q=La(q,e.maxValue),n=Sa(n,e.minValue)));this.maxValue=q;this.minValue=n;return{max:q,min:n,sYMax:l,sYMin:p}},manageSpace:function(){var b=this.positionStackArr,a,c,d,e,f=b.length,h={paddingLeft:-Infinity,paddingRight:-Infinity};
for(a=0;a<f;a++)for(d=b[a].length,e=0;e<d;e++)c=b[a][e].dataSet,c=c.manageSpace&&c.manageSpace()||{},h.paddingLeft=La(c.paddingLeft,h.paddingLeft),h.paddingRight=La(c.paddingRight,h.paddingRight);return h}}]);FusionCharts.register("component",["datasetGroup","realtimecolumn",{},"Column"]);FusionCharts.register("component",["datasetGroup","Waterfall2D",{},"column"]);FusionCharts.register("component",["datasetGroup","Column3d",{},"column"]);FusionCharts.register("component",["datasetGroup","bar2d",
{getSumValueConfig:function(b){var a=this.chart,c=b.columnWidth,d=b.yAxis,e=a.config.viewPortConfig,f=e.x,h=e.scaleX,e=b.stack100percent,l=b.sumValue,p=b.xPosOffset;b=a.components.xAxis[0].getAxisPosition(b.xValue)+p+f*h;d=d.getAxisPosition(e?100:l);return{xPos:d,yPos:b+.5*c}},getSumValuePosition:function(b,a){var c=this.chart,d=c.config,e=d.canvasLeft,f=d.canvasWidth,h=c.is3D,l=a.stack100percent,p=d.yDepth,d=d.xDepth,g,m={},r=a.sumValue,q=a.xPos,n=a.yPos,z=c.components.canvas.config.canvasBorderWidth,
c=g=a.rotateValues?b.height:b.width,c=c/2+2;l?(q+=z,m["text-anchor"]=Ta):(0<=r?(e=e+f-q,e<g?(q=q-c+e,h&&(q-=d,n+=p)):q+=c):(e=q-e,e<g?(q=q+c-e-(h?d:0),n+=h?p:0):(q-=c,h&&(q-=d,n+=p))),m["text-anchor"]=hb);m.x=q;m.y=n;return m}},"column"]);FusionCharts.register("component",["datasetGroup","bar3d",{},"bar2d"]);FusionCharts.register("component",["datasetGroup","scrollcolumn2d",{},"column"]);FusionCharts.register("component",["datasetGroup","Area",{draw:function(){var b=this.chart,a=b.graphics,c=this.positionStackArr,
d,f=c.length;d=a.areaGroup;var a=a.columnGroup,k=b.components.paper,b=e(b.jsonData.chart.areaovercolumns,1);d.area=d.area||k.group("area",d);d.areaConnector=d.areaConnector||k.group("area-connector",d);d.shadows||(d.shadows=k.group("shadow",d).toBack());b?a&&d.insertAfter(a):d.toBack();this.preDrawCalculate();for(d=0;d<f;d++)for(b=c[d],b=b.length,a=0;a<b;a++)k=c[d][a].dataSet,k.draw();this.drawn=!0}},"column"]);FusionCharts.register("component",["datasetGroup","scrollarea2d",{},"Area"]);FusionCharts.register("component",
["dataset","area",{type:"area",_parseShadowOptions:function(){var b=this.chart,a=this.config,c=b.jsonData.chart,b=e(b.defaultPlotShadow,b.components.colorManager.getColor("showShadow"));return{opacity:e(c.showshadow,b)?a.alpha/100:0}},configure:function(){var b=this.chart,a=b.components,d=b.config,f=this.config,l=this.JSONData,k=b.jsonData.chart,h=b.singleseries,u=a.colorManager,p=e(this.index,this.stackIndex),g=e(l.showplotborder,k.showplotborder||1),p=!h||Da(k.palettecolors)?u.getPlotColor(p):u.getColor("plotFillColor").split(/\s*\,\s*/)[0],
r,q=d.isdual,z=d.haslineset;this.__setDefaultConfig();n(l,f,b.config,{data:!0});f.plotColor=p;f.parentYAxis=q?z?r=1:r="s"===c(l.parentyaxis&&l.parentyaxis.toLowerCase(),"p")?1:0:r=0;this.yAxis=a.yAxis[r];f.valueposition=f.valueposition.toLowerCase();f.plotfillcolor=c(l.color,k.plotfillcolor,p);f.plotgradientcolor=0!==d.useplotgradientcolor?m.getDefinedColor(k.plotgradientcolor,u.getColor("plotGradientColor")):"";f.plotfillalpha=c(l.alpha,d.plotfillalpha);f.fillColor={color:f.plotfillcolor+(f.plotgradientcolor?
","+f.plotgradientcolor:""),alpha:f.plotfillalpha,angle:f.plotfillangle};f.plotborderalpha=g?c(l.plotborderalpha,k.plotborderalpha,l.alpha,k.plotfillalpha,"95"):0;f.plotbordercolor=c(l.plotbordercolor,k.plotbordercolor,k.areabordercolor,h?Da(k.palettecolors)?u.getPlotColor(0):u.getColor("plotBorderColor").split(/\s*\,\s*/)[0]:"666666");f.plotborderdashstyle=f.dashed?m.getDashStyle(f.plotborderdashlen,f.plotborderdashgap,f.plotborderthickness):"none";f.linecolor=c(l.color,k.linecolor,f.plotColor);
f.legendSymbolColor="line"===this.type?f.linecolor:f.plotfillcolor;a=m.getDashStyle(f.linedashlen,f.linedashgap,f.linethickness);f.lineDashStyle=f.dashed?a:"none";f.shadow=this._parseShadowOptions();f.drawanchors=e(l.drawanchors,l.showanchors,k.drawanchors,k.showanchors);f.anchorbgcolor=c(l.anchorbgcolor,d.anchorbgcolor,u.getColor("anchorBgColor"));f.anchorbordercolor=c(l.anchorbordercolor,d.anchorbordercolor,f.linecolor,f.plotColor);this.components.data=this.components.data||(this.components.data=
[]);this.visible=1===e(l.visible,!Number(l.initiallyhidden),1);this._setConfigure();this._realTimeConfigure&&this._realTimeConfigure();!1!==b.hasLegend&&this._addLegend()},_setConfigure:function(b,a){var d=this.chart,f=m.parseUnsafeString,l=this.config,k=d.config,h=this.JSONData,u=d.jsonData.chart,p=b||h.data||[],g,r=d.components.xAxis[0],q=b?b.data.length:r.getCategoryLen(),n,z,t,A,v,B,F=-Infinity,H=Infinity,C=f(k.yaxisname),E=f(k.xaxisname),G=this.yAxis,J=k.tooltipsepchar,K=k.linedashed,P;l.imageCount=
0;n=this.components.data;n||(n=this.components.data=[]);for(t=0;t<q;t++)b?(d=b&&b.data[t]||{},P=void 0!==a?a+t:n.length-q+t,g=n[P]):(g=n[t],d=p&&p[t]||{}),z=g&&g.config,g||(g=n[t]={}),g.config||(z=n[t].config={}),g.graphics||(g.graphics={}),v=e(P-q,t),z.setValue=A=G.getCleanValue(d.value,l.stack100percent),z.setLink=c(d.link),z.anchorProps=this._parseAnchorProperties(v),v=r.getLabel(v),z.label=Da(f(v.tooltext||v.label)),z.showValue=e(d.showvalue,l.showvalues),z.dashed=e(d.dashed,K),z.dashStyle=z.dashed?
m.getDashStyle(l.linedashlen,l.linedashgap,l.linethickness):"none",z.color=c(d.color,l.linecolor),z.setColor=d.color,z.setAlpha=d.alpha,z.setDashed=d.dashed,z.alpha=c(d.alpha,d.linealpha,l.linealpha),null!==A&&(F=La(F,A),H=Sa(H,A)),z.setTooltext=f(d.toolText),z.toolTipValue=A=G.dataLabels(A),z.setDisplayValue=v=f(d.displayvalue),z.displayValue=c(v,A),z.formatedVal=v=z.toolTipValue,z.setTooltext=m.getValidValue(f(c(d.tooltext,h.plottooltext,u.plottooltext))),z.valuePosition=c(d.valueposition,l.valueposition),
z.valuePosition&&(z.valuePosition=z.valuePosition.toLowerCase()),k.showtooltip?null===v?A=!1:void 0!==z.setTooltext?(A=[1,2,3,4,5,6,7],v={yaxisName:C,xaxisName:E,formattedValue:v,label:z.label},A=m.parseTooltext(z.setTooltext,A,v,d,u,h)):(k.seriesnameintooltip&&(B=m.getFirstValue(h&&h.seriesname)),A=B?B+J:"",A+=z.label?z.label+J:""):A=!1,z.toolText=A,z.setLevelTooltext=z.setTooltext,z.setTooltext=A,z.hoverEffects=this._parseHoverEffectOptions(g,d),z.anchorProps.isAnchorHoverRadius=z.hoverEffects.anchorRadius;
l.maxValue=F;l.minValue=H;this.ErrorValueConfigure&&this.ErrorValueConfigure()},init:function(b){this.JSONData=b;this.components={};this.graphics={};this.configure()},draw:function(){var b=this,a=b.chart,d=a.jsonData,e=a.graphics,f=a.config,k=a.getJobList(),h=a.components,l=b.JSONData,p=d.chart,g=b.config,r=a.config.isstacked,n=b.groupManager.stackSumValue[0],t=b.stackIndex,A,v,H=h.paper,C=h.xAxis[0],G=b.yAxis,E,J,K,P=f.showtooltip,L,M=b.components.data,O=b.components.removeDataArr||[],S=O.length,
Q,W,R,Y,T,Z,ga,X,U=e.areaGroup,ba=G.getAxisBase(),aa,V,da=g.plotbordercolor,ka=g.plotborderalpha,ha=g.plotborderdashstyle,ea=g.plotborderthickness,fa=b.graphics.container,ja=b.graphics.trackerContainer,ma=e.trackerGroup,ia,va=m.parseUnsafeString,na=g.fillColor,qa=a.is3D,za=function(){!1!==b.visible||!1!==b._conatinerHidden&&void 0!==b._conatinerHidden||(fa.areaGroup.hide(),Aa.hide(),fa.anchorShadowGroup.hide(),fa.anchorGroup.hide(),ja.hide(),Ia&&Ia.hide(),b._conatinerHidden=!0)},Ga=function(){!1!==
b.visible&&(fa.anchorShadowGroup.show(),fa.anchorGroup.show(),Ia.show(),Aa.show());U.area.attr({"clip-rect":null});U.area.node&&U.area.node.removeAttribute("clip-path");a._animCallBack()},ta=g.shadow,ra,sa=b.visible,ua,Aa=b.graphics.shadowContainer,Fa,Ha={},Ca=e.datalabelsGroup,Ia=b.graphics.dataLabelContainer,Ma=C.getPVR(),Na,Oa=qa?10:0,Sa,Pa=qa?10:0,Qa=a.components.scrollBar,Ta=a.components.canvas.config.clip,Ra=q([],Ta["clip-canvas"]),Ua=q([],Ta["clip-canvas-init"]),$a=f.height,Za=!f.drawfullareaborder,
Wa=b.graphics.connector,bb=b.components.pool||(b.components.pool={}),ab=0,ib=!0!==b.drawn,jb,fb,Ya,mb=b.startPosition,gb={},eb={},tb=a.get("config","animationObj")||{},hb=tb.duration,ob=tb.dummyObj,sb=tb.animObj,vb=tb.animType,zb=g.lastPath||{},xb,yb=!0,lb,Bb,Cb,Eb,Db,Ab=a.config.viewPortConfig,$b=Ab.x,Gb=Ab.scaleX,Fb,fc,Qb,Ib,Sb,Vb=b.chart.config.realTimeConfig&&b.chart.config.realTimeConfig.clear,Nb=0,Ub=!ib&&hb,Lb=0,Mb;g.imagesLoaded=0;b.noOfNewDataAtEnd=0;fa||(fa=b.graphics.container={anchorShadowGroup:H.group("anchor-shadow",
U.areaConnector),areaGroup:H.group("area",U.area),anchorGroup:H.group("anchors",U.areaConnector)},sa||(fa.anchorShadowGroup.hide(),fa.areaGroup.hide(),fa.anchorGroup.hide()));Aa||(Aa=b.graphics.shadowContainer=H.group("shadows",U.shadows),sa||Aa.hide());ja||(ja=b.graphics.trackerContainer=H.group("area-hot",ma));Ia||(Ia=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||H.group("datalabel",Ca),sa||Ia.hide());sa&&(fa.anchorShadowGroup.show(),fa.areaGroup.show(),fa.anchorGroup.show(),Aa.show(),
Ia.show(),ja.show(),b._conatinerHidden=!1);g.groupMaxWidth=C.getAxisPosition(1)-C.getAxisPosition(0);A=C.getCategoryLen();Na=Ma*A;if(Vb)for(v=0,A=O.length;v<A;v++)b._removeDataVisuals(O.shift());else b._shiftOffRemovedPoints();gb=g.removePath;a.isRealTime&&(Ra[1]=0,Ra[3]=$a,fa.areaGroup.attr({"clip-rect":Ra}),Ia.attr({"clip-rect":Ra}),fa.anchorGroup.attr({"clip-rect":Ra}),fa.anchorShadowGroup.attr({"clip-rect":Ra}),Aa.attr({"clip-rect":Ra}));for(v=0;v<A;v++)L=(Q=M[v])&&Q.config,Q&&void 0!==L.setValue&&
(Q.graphics||(Q.graphics={}),jb=C.getLabel(v).label,T=L.setValue,Y=L.setLink,Ha=L.anchorProps||{},Fa=Ha.shadow,E=Da(va(c(L.setLevelTooltext,l.plottooltext,p.plottooltext))),L&&(aa=0<=T?L.previousPositiveY:L.previousNegativeY),r&&T&&(aa=b._parseValues(v,aa,n[v],E),T=L.value),R=Q.graphics.element,Fb=Q.graphics.image,null!==T?(V=G.getAxisPosition(aa||ba)+Pa,K=b.visible?G.getAxisPosition(T+(aa||0))+Pa:V,J=C.getAxisPosition(v)-Oa+$b*Gb,J=wa(J,ea,ea).position,K=wa(K,ea,ea).position,fc=Ha.symbol,Qb=Ha.radius,
Ib=Ha.startAngle,lb=Ha.bgColor,Db=Ha.bgAlpha,Bb=Ha.borderColor,Eb=Ha.borderAlpha,Cb=Ha.borderThickness,ra=L.hoverEffects,W=P?L.toolText+(E?"":L.toolTipValue):"",L.finalTooltext=W,Z=L.eventArgs=L.eventArgs||{},Z.index=v,Z.link=Y,Z.value=T,Z.displayValue=L.displayValue,Z.categoryLabel=jb,Z.toolText=W,Z.id=b.userID,Z.datasetIndex=t||0,Z.datasetName=l.seriesname,Z.visible=sa,ra.enabled&&(L.setRolloverAttr={polypath:[ra.anchorSides||2,J,K,ra.anchorRadius,ra.startAngle,ra.dip],fill:z({color:ra.anchorColor,
alpha:ra.anchorBgAlpha}),stroke:z({color:ra.anchorBorderColor,alpha:ra.anchorBorderAlpha}),"stroke-width":ra.anchorBorderThickness},L.setRolloutAttr={polypath:[Ha.symbol[1]||2,J,K,Ha.radius,Ha.startAngle,0],fill:z({color:Ha.bgColor,alpha:Ha.bgAlpha}),stroke:z({color:Ha.borderColor,alpha:Ha.borderAlpha}),"stroke-width":Ha.borderThickness},X=L.setRolloverAttr,ga=L.setRolloutAttr),Sb={polypath:[fc[1]||2,J,K,Qb,Ib,0]},!R&&Ub&&!0!==mb&&(Ya=A+ab,fb=C.getPixel(Ya),Q._baseXPos=Q._xPos=fb,Q._yPos=K,Q._baseYPos=
V,zb=this.getLinePath([Q],zb),ab++),Ha.imageUrl?(L.anchorImageLoaded=!1,ua=new B,ua.onload=b._onAnchorImageLoad(b,v,Z,J,K,Q),ua.onerror=b._onErrorSetter(b,v),ua.src=Ha.imageUrl,Nb++):(Fb&&Fb.hide(),R||(bb.element&&bb.element.length?R=Q.graphics.element=bb.element.shift():(R=Q.graphics.element=H.polypath(fa.anchorGroup),R.attr(Sb)),Ub&&R.attr({polypath:[Ha.symbol[1]||2,fb,K,Ha.radius,Ha.startAngle,0]})),R.show().attr({transform:""}).animateWith(ob,sb,Sb,hb,vb,yb&&za),R.attr({fill:z({color:lb,alpha:Db}),
stroke:z({color:Bb,alpha:Eb}),"stroke-width":Cb,visibility:Qb?sa:Va}).shadow(Fa,fa.anchorShadowGroup),yb=!1,Fb&&Fb.hide(),ra.enabled&&R&&R.data("anchorRadius",Ha.radius).data("anchorHoverRadius",ra.anchorRadius).data(Ka,X).data(ya,ga),Mb=L.trackerConfig||(L.trackerConfig={}),Mb.trackerRadius=La(Ha.radius,ra&&!r&&ra.anchorRadius||0,F)+Ha.borderThickness/2)):(R&&R.hide(),Fb&&Fb.hide()),Q._xPos=J,Q._yPos=K,Q._baseXPos=J,Q._baseYPos=V,Lb++);g.noOfImages=Nb;g.totalImages=Nb;0===Nb&&(k.trackerDrawID.push(nb.addJob(b.drawTracker,
b,[],m.priorityList.tracker)),!0===b.drawn?b.drawLabel():k.labelDrawID.push(nb.addJob(b.drawLabel,b,[],m.priorityList.label)));eb=this.getLinePath(M,{});S&&a.isRealTime?(gb=this.getLinePath(M,gb),xb=gb.getPathArr()):xb=eb.getPathArr();g.lastPath=eb;Qa&&(Sa=Qa.conf.startPercent,Ra[2]=Na+Ua[0],1===Sa&&(Ua[0]=Ra[2],Ra[0]=0));Ra[3]+=Pa;(ia=b.graphics.lineElement)?hb&&a.isRealTime&&ia.attr({path:zb.getPathArr()}):(ia=b.graphics.lineElement=H.path(fa.areaGroup),ia.attr({path:eb.getPathArr()}),hb&&sa&&(fa.anchorGroup.hide(),
fa.anchorShadowGroup.hide(),Aa.hide(),Ia.hide(),U.area.attr({"clip-rect":Ua}).animate({"clip-rect":Ra},hb,vb,Ga)));Vb?ia.hide():ia.show().animateWith(ob,sb,{path:xb},hb,vb,yb&&za);yb=!1;ia.attr({stroke:z({color:da,alpha:ka}),"stroke-width":Za?0:ea,fill:z(na),"stroke-linecap":"round","stroke-linejoin":2<ea?"round":"miter","stroke-dasharray":ha}).shadow(ta,Aa);Za?(Wa=b.graphics.connector,Wa||(Wa=b.graphics.connector=H.path({path:eb.pathArr,stroke:z({color:da,alpha:ka}),"stroke-width":ea,"stroke-linecap":"round",
"stroke-linejoin":2<ea?"round":"miter","stroke-dasharray":ha},fa.areaGroup)),Wa.show().animateWith(ob,sb,{path:eb.pathArr},hb,vb)):Wa&&Wa.hide();b.drawn=!0},drawTracker:function(){var b=this.chart,a=this.components.data,c,d,e,f,h,l,p=this.components.pool||[],g,m=this.graphics.trackerContainer,r,q,n=b.components.paper,z=a.length,A,v;for(v=0;v<z;v++)if(c=a[v])d=c.config,e=d.trackerConfig,void 0!==e&&(A=e.trackerRadius||0,e=d.hoverEffects,f=c._xPos,h=c._yPos,l=d.setLink,g=d.finalTooltext,r=d.eventArgs,
q=d.groupId,d=d.setValue,h={cx:f,cy:h,r:A,cursor:l?"pointer":"",stroke:t,fill:t,ishot:!0,visibility:Na},f=c.graphics.hotElement||p.hotElement&&p.hotElement.shift(),null!==d?(f?f.show().attr(h):(f=c.graphics.hotElement=n.circle(h,m),f.click(this.getPlotClickFn(b)).hover(this.rolloverResponseSetter(c,b),this.rolloutResponseSetter(c,b))),f.data("eventArgs",r).data("groupId",q).data("hoverEnabled",e.enabled).data("dataset",this).tooltip(g)):f&&f.hide())},getPathArr:function(){var b=this.pathArr,a=this.path2Arr;
return b.length||a.length?b.concat(a):[]},_getPathString:function(b){var a=b.length,c="",d;for(d=0;d<a;d+=1)c+=" "+b[d];return c},getLinePath:function(b,a,c){var d=this.chart.config.connectnulldata,e=a||{};a=e.lastValidValue||!1;var f=e.temp||[],h=e.temp2||[],l=e.pathArr||[],p=e.path2Arr||[],g,m,r,q,n=b.length,e=e.pointsJoined||0,z,t,n=c&&c.end||n;for(c=c&&c.begin||0;c<n;c++)if(z=b[c])g=z.config,t=g.setValue,void 0!==t&&(g=z._xPos,m=z._yPos,r=z._baseXPos,q=z._baseYPos,null===t?d||(0<e&&("Z"!==p[p.length-
1]&&void 0!==q&&p.push("Z"),l=l.concat(p),p=[]),f=[],h=[],a=!1):a?(f.length&&(l=l.concat(f),void 0!==r&&(p=h,h=[]),f=[],e++),l.push(g,",",m),void 0!==q&&p.unshift(g,",",q)):(f.push("M",g,",",m,"L"),void 0!==q&&h.push(r,",",q),e=0,a=!0));"Z"!==p[p.length-1]&&0<e&&void 0!==q&&p.push("Z");return{pathArr:l,path2Arr:p,lastValidValue:a,pointsJoined:e,temp:f,temp2:h,getPathArr:this.getPathArr}},_shiftOffRemovedPoints:function(){var b=this,a=b.chart,c=b.config,d=b.components.removeDataArr,e,f=a.components.xAxis[0].getPVR();
e=a.get("config","animationObj");var a=e.duration,h=b.drawn&&a,l=e.dummyObj,p=e.animObj,g=e.animType,m,r,q,n,z,t={},A,v,B=b.components.removeElementsArr=b.components.removeElementsArr||(b.components.removeElementsArr=[]),F=c.hideAnimFlag=!1,H=function(){var a=b.components.removeElementsArr,c=a.length,d;for(d=0;d<c;d++)b._removeDataVisuals(a.shift())},C,G;if(d){e=d.length;for(A=0;A<e;A++){if(G=d[0])if(B.push(G),h){m=G.config.setValue;r=G._xPos;if(void 0==r){d.splice(0,1);continue}q=G.graphics.element;
n=G.graphics.label;z=G.graphics.image;v=G.graphics.connector;null!==m&&(m=e*f,C="T,"+-m+",0",G._xPos=r-m,r=G._xPos,G._baseXPos=r,q&&q.animateWith(l,p,{transform:C},a,g,!F&&H),c.hideAnimFlag=!0,n&&n.animateWith(l,p,{transform:C},a,g),z&&z.animateWith(l,p,{transform:C},a,g),v&&v.hide());t=b.getLinePath([G],t)}else H();d.splice(0,1)}c.removePath=t}},_removeDataVisuals:function(b){var a=this.components.pool||(this.components.pool={}),c,d,e;if(b)for(c in d=b.graphics,d)b=a[c]||(a[c]=[]),e=d[c],e.hide&&
"function"===typeof e.hide&&(e.attr({"text-bound":[]}),e.hide(),e.shadow&&e.shadow(!1)),b.push(d[c])},_parseAnchorProperties:function(b,a){var d=this.config,f=this.type,l="area"===(!this.chart.config.anchoralpha&&f)?0:1,k=this.JSONData,h=this.chart.jsonData.chart,u=(a||k.data||[])[b]||{},f={},p=m.graphics.mapSymbolName,g,r;g=void 0!==c(u.anchorstartangle,k.anchorstartangle,h.anchorstartangle,u.anchorimagealpha,k.anchorimagealpha,h.anchorimagealpha,u.anchorimagescale,k.anchorimagescale,h.anchorimagescale,
u.anchorimagepadding,k.anchorimagepadding,h.anchorimagepadding,u.anchorimageurl,k.anchorimageurl,h.anchorimageurl,u.anchorradius,k.anchorradius,h.anchorradius,u.anchorbgcolor,k.anchorbgcolor,h.anchorbgcolor,u.anchorbordercolor,k.anchorbordercolor,h.anchorbordercolor,u.anchoralpha,k.anchoralpha,h.anchoralpha,u.anchorsides,k.anchorsides,h.anchorsides,u.anchorborderthickness,k.anchorborderthickness,h.anchorborderthickness,void 0);r=e(u.drawanchors,d.drawanchors);f.enabled=g?e(r,g):e(r,l);f.startAngle=
e(u.anchorstartangle,d.anchorstartangle);f.imageAlpha=e(u.anchorimagealpha,d.anchorimagealpha);f.imageScale=e(u.anchorimagescale,d.anchorimagescale);f.imagePadding=e(u.anchorimagepadding,d.anchorimagepadding);0>f.imagePadding&&(f.imagePadding=0);f.imageUrl=c(u.anchorimageurl,d.anchorimageurl);f.imageUrl&&d.imageCount++;f.radius=e(u.anchorradius,d.anchorradius);f.isAnchorRadius=c(u.anchorradius,k.anchorradius,h.anchorradius);f.bgColor=c(u.anchorbgcolor,d.anchorbgcolor);l=f.enabled?T(c(u.anchoralpha,
d.anchoralpha,f.enabled?ka:"0")):0;f.anchorAlpha=l;f.bgAlpha=T(c(u.anchorbgalpha,d.anchorbgalpha,l))*l/100;f.imageAlpha=f.imageAlpha*l/100;f.borderColor=c(u.anchorbordercolor,d.anchorbordercolor);f.borderAlpha=l;f.sides=c(u.anchorsides,d.anchorsides);f.borderThickness=c(u.anchorborderthickness,d.anchorborderthickness);f.symbol=p(f.sides).split("_");d=e(u.anchorshadow,d.anchorshadow)&&1<=f.radius;f.shadow={opacity:d?l/100:0};return f},_onErrorSetter:function(b){return function(){var a=b.config,c=b.chart.getJobList();
a.imagesLoaded++;a.imagesLoaded===a.imageCount&&(!0===b.drawn?b.drawTracker():c.trackerDrawID.push(nb.addJob(b.drawTracker,b,[],m.priorityList.tracker)),!0===b.drawn?b.drawLabel():c.labelDrawID.push(nb.addJob(b.drawLabel,b,[],m.priorityList.label)))}},_onAnchorImageLoad:function(b,a,c,d,e,f){return function(){var c=b.chart,l=c.getJobList(),p=b.config,g=c.config,r=c.components.paper,D=b.components.data,n=void 0!==f?f:D[a],t=n.config,A=n.graphics,v=t.anchorProps,B=b.graphics.container,F=B.anchorGroup,
H=B.anchorShadowGroup,C=c.get("config","animationObj"),B=C.dummyObj,G=C.animObj,E=C.animType,C=C.duration,J=v.imageUrl,P=c.components.xAxis[0],L=D.length,D=t.hoverEffects,c=v.imageScale,S=v.imageAlpha,Q=D.imageHoverAlpha,M=D.imageHoverScale,O=this.height*c*.01,W=this.width*c*.01,R=this.width*M*.01,Z=this.height*M*.01,Y=g.showtooltip,T=b.startPosition,U=b.noOfNewDataAtEnd,ba=b.allImagesDrawn&&C,aa=t.setLink,V,ga,X,da,ea,ka,ha,fa,ia,va,na,g=b.config.animFlag,ja=p.noOfImages,ma=p.noOfImagesDrawn=p.noOfImagesDrawn||
(p.noOfImagesDrawn=0),qa=b.components.pool||{};t.isRemoving||(ma=t.trackerConfig||(t.trackerConfig={}),K?(ea={x:d-this.width*c*.005,y:e-this.height*c*.005,width:W,height:O,alpha:S},fa={x:d-this.width*M*.005,y:e-this.height*M*.005,width:R,height:this.height*M*.01,alpha:Q},(Q=A.element)&&"image"!==Q.type&&(Q.remove(),Q=A.element=null),Q||(A.element=Q=r.image(J,F)),Q.css({opacity:.01*S}).data("alwaysInvisible",!c).data("setRolloverProperties",D).data(Ka,fa).data(ya,ea).data("imgRef",this).data("anchorRadius",
c).data("anchorHoverRadius",M),Q.animateWith(B,G,ea,C,E),ma.trackerRadius=Sa(W,O)/2):(V=v.symbol[1],ka=D.isAnchorHoverRadius,ga=v.isAnchorRadius,ga=v.radius=ga?v.radius:Sa(W,O)/2,X=v.shadow,ea=v.imagePadding,D.radius=ka?D.anchorRadius:ga+1,da=D.radius-ea-.5*D.anchorBorderThickness,ka=ga-ea-.5*v.borderThickness,fa={},na=[V||2,d,e,ga,v.startAngle,void 0],v.markerRadius=ga,va={fill:z({color:v.bgColor,alpha:v.bgAlpha}),"stroke-width":v.borderThickness,stroke:z({color:v.borderColor,alpha:v.borderAlpha})},
ea=q({polypath:na},va),D&&(fa={polypath:[D.anchorSides||2,d,e,D.radius,D.startAngle,D.dip],fill:z({color:D.anchorColor,alpha:D.anchorBgAlpha}),"stroke-width":D.anchorBorderThickness,stroke:z({color:D.anchorBorderColor,alpha:D.anchorBorderAlpha})},ha=La(D.anchorAlpha,D.anchorBorderAlpha),Q>ha&&(Q=ha)),v.bgAlpha&&v.borderAlpha&&(ha=La(v.bgAlpha,v.borderAlpha),S>ha&&(S=ha)),ha=A.element,na={polypath:ea.polypath},ha||(qa.element&&qa.element.length?ha=A.element=qa.element.shift():(ha=A.element=r.polypath(F),
ha.attr(na)),ba&&!0!==T&&(ia=P.getPixel(L+U),b.noOfNewDataAtEnd+=1,P=[V||2,ia,e,ga,v.startAngle,void 0],ha.attr({transform:"",polypath:P}))),ha&&ha.attr({transform:""}),ha.show().animateWith(B,G,na,C,E,g&&void 0).attr(va),g=b.config.animFlag=!1,ha.attr({fill:z({color:v.bgColor,alpha:v.bgAlpha}),ishot:!Y,"stroke-width":v.borderThickness,stroke:z({color:v.borderColor,alpha:v.borderAlpha}),cursor:aa?"pointer":"",visibility:ga?Na:Va}).data("alwaysInvisible",!ga).data("setRolloverProperties",D).data(Ka,
fa).data(ya,ea).data("anchorRadius",ga).data("anchorHoverRadius",D&&D.radius).shadow(X,H),H=r.polypath(V||2,d,e,0<ka?ka:0,v.startAngle,void 0,F).attr({visibility:Va}),ea=b._getPathString(H.attrs.path),H.remove(),H=r.polypath(V||2,d,e,0<da?da:0,D.startAngle,D.dip,F).attr({visibility:Va}),P=b._getPathString(H.attrs.path),H.remove(),v.imgRefWidth=this.width,v.imgRefHeight=this.height,v.imgRefScale=c,v.rolloutClipRadius=ka,ea={x:d-this.width*c*.005,y:e-this.height*c*.005,width:W,height:O,alpha:S,"clip-path":ea},
fa={x:d-this.width*M*.005,y:e-this.height*M*.005,width:R,height:Z,alpha:Q,"clip-path":P},Q=A.image,Q||(qa.image&&qa.image.length?(Q=A.image=qa.image.shift(),Q.show()):A.image=Q=r.image(J,F),ba&&(H=r.polypath(V||2,ia,e,0<ka?ka:0,v.startAngle,void 0).attr({visibility:Va}),r=b._getPathString(H.attrs.path),H.remove(),ia={x:ia-this.width*c*.005,y:e-this.height*c*.005,width:W,height:O,alpha:S,"clip-path":r},Q.attr({transform:""}).attr(ia))),Q.attr({src:J}),Q.attr({visibility:ga?Na:Va}).css({opacity:.01*
S}).data("alwaysInvisible",!c).data("setRolloverProperties",D).data(Ka,fa).data(ya,ea).data("anchorRadius",c).data("imgRef",this).data("anchorHoverRadius",M),Q.attr({transform:""}).animateWith(B,G,{x:ea.x,y:ea.y,width:ea.width,height:ea.height,"clip-path":ea["clip-path"]},C,E,g&&void 0),Q.attr({alpha:ea.alpha}),ga=La(ga,D&&D.anchorRadius||0,2),ma.trackerRadius=ga+(v.borderThickness||0)/2),n._xPos=d,n._yPos=e,p.imagesLoaded++,t.anchorImageLoaded=!0,p.imagesLoaded===p.imageCount&&(!0===b.drawn?b.drawTracker():
l.trackerDrawID.push(nb.addJob(b.drawTracker,b,[],m.priorityList.tracker)),!0===b.drawn?b.drawLabel():l.labelDrawID.push(nb.addJob(b.drawLabel,b,[],m.priorityList.label))),ma=p.noOfImagesDrawn+=1,ma===ja&&(b.allImagesDrawn=!0))}},_hideGraphics:function(b){var a,c;for(c in b)b.hasOwnProperty(c)&&(a=b[c])&&(a.hide?a.hide():this._hideGraphics(a))},getPlotClickFn:function(b){return function(a){ha.call(this,b,a)}},show:function(){var b=this.chart,a=b.components.xAxis[0],c=this.yAxis;b._chartAnimation();
this.visible=!0;this._conatinerHidden=!1;b.config.transposeAxis&&(b._setAxisLimits(),c.draw());b.isRealTime&&a.draw();b._drawDataset()},hide:function(){var b=this.chart,a=this.yAxis,c=b.components.xAxis[0];b._chartAnimation();this.visible=!1;b.config.transposeAxis&&(b._setAxisLimits(),a.draw());b.isRealTime&&c.draw();b._drawDataset()},_parseHoverEffectOptions:function(b,a){var d=this.JSONData,f=this.chart,l=f.jsonData.chart,f=f.config,k=b.config.anchorProps||{},h=f.plothovereffect,m=this.config.drawanchors,
p={enabled:!1};a=a||{};0!==h&&0!==m&&(p.enabled=void 0!==c(a.hovercolor,a.anchorhovercolor,a.hovercolor,d.hovercolor,a.anchorbghovercolor,d.anchorbghovercolor,l.anchorbghovercolor,d.anchorhovercolor,l.anchorhovercolor,a.hoveralpha,a.anchorhoveralpha,d.anchorhoveralpha,l.anchorhoveralpha,a.bghoveralpha,a.anchorbghoveralpha,d.anchorbghoveralpha,l.anchorbghoveralpha,a.anchorborderhovercolor,a.borderhovercolor,d.anchorborderhovercolor,l.anchorborderhovercolor,a.anchorborderhoverthickness,a.borderhoverthickness,
d.anchorborderhoverthickness,l.anchorborderhoverthickness,a.anchorborderhoveralpha,a.borderhoveralpha,d.anchorborderhoveralpha,l.anchorborderhoveralpha,a.hoverdip,a.anchorhoverdip,d.anchorhoverdip,l.anchorhoverdip,a.anchorhoverstartangle,d.anchorhoverstartangle,l.anchorhoverstartangle,a.hoversides,a.anchorhoversides,d.anchorhoversides,l.anchorhoversides,a.hoverradius,a.anchorhoverradius,d.anchorhoverradius,l.anchorhoverradius,d.plotfillhovercolor,l.plotfillhovercolor,f.plothovereffect,void 0),p.startAngle=
e(a.anchorhoverstartangle,d.anchorhoverstartangle,l.anchorhoverstartangle,k.startAngle),p.anchorSides=e(a.hoversides,a.anchorhoversides,d.anchorhoversides,l.anchorhoversides,k.sides),p.anchorRadius=e(a.anchorhoverradius,d.anchorhoverradius,l.anchorhoverradius),p.isAnchorHoverRadius=p.anchorRadius,p.anchorRadius=e(p.anchorRadius,k.radius+(h?2:0)),p.anchorScale=c(a.hoverscale,d.anchorscale,l.anchorscale),p.imageHoverScale=e(a.anchorimagehoverScale,d.anchorimagehoverscale,l.anchorimagehoverscale,110),
p.imageHoverAlpha=e(a.anchorimagehoveralpha,d.anchorimaghoverealpha,l.anchorimagehoveralpha),p.anchorAlpha=c(a.anchorhoveralpha,a.hoveralpha,d.anchorhoveralpha,l.anchorhoveralpha,k.anchorAlpha),p.anchorColor=jb(c(a.hovercolor,a.anchorhovercolor,a.hoverColor,a.anchorbghovercolor,d.anchorbghovercolor,d.anchorhovercolor,d.hovercolor,l.anchorbghovercolor,l.anchorhovercolor,l.plotfillhovercolor,k.bgColor)),p.anchorBgAlpha=c(a.bghoveralpha,a.anchorbghoveralpha,d.anchorbghoveralpha,l.anchorbghoveralpha,
l.plotfillhoveralpha,k.bgAlpha),p.anchorBgAlpha=p.anchorBgAlpha*p.anchorAlpha/100,p.anchorBorderColor=c(a.borderhovercolor,a.anchorborderhovercolor,d.anchorborderhovercolor,l.anchorborderhovercolor,k.borderColor),p.anchorBorderAlpha=c(a.borderhoveralpha,a.anchorborderhoveralpha,d.anchorborderhoveralpha,l.anchorborderhoveralpha,p.anchorAlpha,k.borderAlpha),p.anchorBorderThickness=e(a.borderhoverthickness,a.anchorborderhoverthickness,d.anchorborderhoverthickness,l.anchorborderhoverthickness,l.anchorBorderThickness,
k.borderThickness),p.dip=c(a.hoverdip,a.anchorhoverdip,d.anchorhoverdip,l.anchorhoverdip,k.dip),p.anchorAnimation=e(a.anchorhoveranimation,d.anchorhoveranimation,l.anchorhoveranimation,1));return p},_hoverPlotAnchor:function(b,a){var c=b.graphics.element,d=b.graphics.label,e=b.config||{},e=e&&e.anchorProps.imageUrl,f=K&&e?b.graphics.element:b.graphics.image,h=c.data(Ka),l=c.data(ya),p="DataPlotRollOver"===a?c.data(Ka):c.data(ya),e="image"===c.type,g=c.data("anchorRadius"),m=c.data("anchorHoverRadius"),
r=d&&(d.data("isBelow")?1:-1)*(e?.5*(h.height-l.height):m-g),q=b.config.hoverEffects,n,z={polypath:p.polypath},p={fill:p.fill,"stroke-width":p["stroke-width"],stroke:p.stroke},t=d&&d.data("rotation")||"",r={transform:"T0,"+("DataPlotRollOver"===a?r:0)+t},h=!(/,0\)$/.test(h.fill)&&/,0\)$/.test(l.fill))&&c.data("anchorHoverRadius")-c.data("anchorRadius")&&q.anchorAnimation&&50;f&&(n=f.data(Ka),l=f.data(ya),n="DataPlotRollOver"==a?n:l);if("DataPlotRollOver"==a&&0!==m||"DataPlotRollOut"==a&&0!==g)c.attr({visibility:Na}),
f&&f.attr({visibility:Na});f&&f.css({opacity:.01*n.alpha});e?c.css({opacity:.01*z.alpha}):c.attr(p);c.stop();c.animate(z,h,"easeOut",function(){("DataPlotRollOver"==a&&!m||"DataPlotRollOut"==a&&!g)&&c.attr({visibility:Va})});f&&f.animate(n,h,"easeOut",function(){("DataPlotRollOver"==a&&!m||"DataPlotRollOut"==a&&!g)&&f.attr({visibility:Va})});d&&d.stop();h&&d&&d.animate(r,h,"easeOut")},drawLabel:function(b){var c=this.chart,d=c.config,e=c.linkedItems.smartLabel,f=c.config.dataLabelStyle,k=this.components.data,
h=c.components.paper,l=c.get("config","animationObj"),p=l.duration,g=!0===this.drawn&&p,m=d.stack100percent,r=l.dummyObj,q=l.animObj,n="",l=l.animType,z=d.rotatevalues?270:0,t=d.canvasTop,A=d.canvasHeight,v=c.config.isstacked,B,F=this.graphics.dataLabelContainer,H=c.components.xAxis[0],C=0,G=H.getCategoryLen(),E=this.startPosition,J=this.components.pool||{},K,P,L,M,O,W,Z,R,Y,U,T;void 0!==b?(T=b,U=T+1):(T=0,U=k.length);for(e.setStyle({"font-weight":f.fontWeight,"font-style":f.fontStyle,"font-family":f.fontFamily,
"font-size":f.fontSize,"line-height":f.lineHeight});T<U;T++)if(K=(b=(M=k[T])&&M.config)&&b.setValue,M&&void 0!==K){O=b.anchorProps;K=M.graphics;L=M._yPos;M=M._xPos;O=K.element?K.image&&.5*K.element.attr("height")||O.radius-3:0;B=d.valuepadding+2+O;O=b.valuePosition;switch(O){case "above":W=0;break;case "below":W=1;break;default:O=k[T-1]&&k[T-1].config||{},R=k[T+1]&&k[T+1].config||{},v&&m?(O=O.value,Y=R.value,R=b.value):(O=O.setValue,Y=R.setValue,R=b.setValue),W=T?O>R?1:(null==Y&&Y)>R?1:0:0}n=b.displayValue;
Y=b.showValue;O=K.label;void 0!==n&&null!==n&&n!==a&&null!==R&&Y?(Y={text:n,fill:f.color,"text-bound":[f.backgroundColor,f.borderColor,f.borderThickness,f.borderPadding,f.borderRadius,f.borderDash]},n=e.getOriSize(n),z?(b._state={labelWidth:n.height,labelHeight:n.width},b._rotated=!0):(b._state={labelWidth:n.width,labelHeight:n.height},b._rotated=!1),n=P=b._state.labelHeight,n+=B,B=.5*P+B,P=L-t,Z=t+A-L,n+=4,W?Z>n?(L+=B,b._valueBelowPoint=1):P>n&&(L-=B,b._valueBelowPoint=0):P>n?(L-=B,b._valueBelowPoint=
0):Z>n&&(L+=B,b._valueBelowPoint=1),B=W=!1,O||(J.label&&J.label.length?(K.label=O=J.label.shift(),K.label.show()):(Y.x=M,Y.y=L,Y.transform=h.getSuggestiveRotation(z,M,L),K.label=O=h.text(Y,F),B=!0),g&&c.isRealTime&&!0!==E&&(K=G+C,K=H.getPixel(K),K instanceof Object&&(K=K.x),O.attr({x:K,y:L,transform:h.getSuggestiveRotation(z,K,L)}),C++,W=!0)),B||O.attr(Y),B&&!W||O.show().animateWith(r,q,{x:M,y:L,transform:h.getSuggestiveRotation(z,M,L)},p,l),O.data("isBelow",b._valueBelowPoint),O.data("rotation",
h.getSuggestiveRotation(z,M,L))):O&&O.hide()}},getAxisValuePadding:function(){var b=(this.chart||{}).hasScroll;return{left:b?.5:0,right:b?.5:0}},hidingPosition:function(){return function(){return{polypath:[[2,0,0,0,0,0]],text:""}}},_hoverFunc:function(b,a,c,d){if(c)return this._hoverPlotAnchor(b,a,d)}},"column",{valueposition:void 0,plotborderdashlen:void 0,plotborderdashgap:void 0,plotborderdashstyle:void 0,plotborderthickness:void 0,linethickness:void 0,linedashlen:void 0,linedashgap:void 0,dashed:void 0,
linedashstyle:void 0,linecolor:void 0,linealpha:void 0,anchorbgcolor:void 0,anchorbordercolor:void 0,anchorradius:void 0,anchoralpha:void 0,anchorimageurl:void 0,anchorsides:void 0,anchorbgalpha:void 0,anchorborderthickness:void 0,anchorshadow:void 0,anchorstartangle:void 0,anchorimagealpha:void 0,anchorimagescale:void 0,anchorimagepadding:void 0,alpha:void 0,parentyaxis:void 0}]);FusionCharts.register("component",["dataset","scrollarea2d",{},"area"]);FusionCharts.register("component",["dataset",
"realtimearea",{_realTimeConfigure:FusionCharts.get("component",["dataset","realtimecolumn"]).prototype._realTimeConfigure},"area"]);FusionCharts.register("component",["datasetGroup","realtimearea",{},"area"]);FusionCharts.register("component",["datasetGroup","radar",{},"area"]);FusionCharts.register("component",["dataset","radar",{type:"radar",configure:function(){var b=this.config,a=this.chart,d=a.jsonData.chart,e=this.JSONData,a=a.components.colorManager.getPlotColor(this.index);this.__base__.configure.call(this);
b.plotfillcolor=c(e.color,d.plotfillcolor,a);b.plotbordercolor=c(e.plotbordercolor,d.plotbordercolor,d.areabordercolor,a).split(",")[0];b.fillColor.color=b.plotfillcolor;b.legendSymbolColor=b.plotfillcolor},_addLegend:function(){var b=this.chart,a=b.jsonData.chart,c,d;d=this.config;var b=b.components.legend,f=d.legendSymbolColor;c=e(a.use3dlighting,a.useplotgradientcolor,1);a=tb(f,60).replace(ja,R);c?(c=tb(f,40),c={FCcolor:{color:f+","+f+","+c+","+f+","+f,ratio:"0,70,30",angle:270,alpha:"100,100,100,100,100"}}):
c={FCcolor:{color:f,angle:0,ratio:"0",alpha:"100"}};d={enabled:d.includeInLegend,type:this.type,fillColor:z(c),strokeColor:z(a),rawFillColor:f,label:fa(this.JSONData.seriesname)};this.legendItemId=b.addItems(this,this.legendInteractivity,d)},draw:function(){var b=this,a=b.chart,d=a.getJobList(),e=a.graphics,f=a.config,k=a.components,h=b.JSONData,l=a.jsonData.chart,p=b.config,g=b.index,r=h.data||[],q,n,t,A=k.paper,v=k.xAxis[0],H=b.yAxis,C,G,E,J=f.showtooltip,K,P=b.components.data,L,M,S,Q,O,W,R=H.getAxisBase(),
Y,k=p.plotbordercolor,Z=p.plotborderalpha,T=p.plotBorderDashStyle,ga=p.plotborderthickness,U=b.graphics.container,ba=b.graphics.trackerContainer,aa=e.trackerGroup,V=[],X,da=m.parseUnsafeString,ka=!1,ea=p.fillColor,ha=a.is3D,fa=e.areaGroup,ja=a.get("config","animationObj"),ia=ja.duration,va=ja.dummyObj,na=ja.animObj,ja=ja.animType,ma=function(){!1===b.visible&&(U.areaGroup.hide(),sa.hide(),U.lineShadowGroup.hide(),U.anchorShadowGroup.hide(),U.anchorGroup.hide(),ba.hide(),za&&za.hide(),b._conatinerHidden=
!0)},qa=function(){U.areaGroup.attr({"clip-rect":null});!1!==b.visible&&(U.lineShadowGroup.show(),U.anchorShadowGroup.show(),U.anchorGroup.show(),za.show());a._animCallBack()},wa=p.shadow,ta,ra=b.visible,sa=U&&U.shadowContainer,ua,Aa={},Aa=e.datalabelsGroup,za=b.graphics.dataLabelContainer,Ha=ha?10:0,e=b.components.removeDataArr||[],ha=e.length,Fa=b.components.pool||{},Ga=!0,Ia=0,Ca,Ma,Na=0;p.imagesLoaded=0;U||(U=b.graphics.container={lineShadowGroup:A.group("connector-shadow",fa.areaConnector),anchorShadowGroup:A.group("anchor-shadow",
fa.areaConnector),areaGroup:A.group("area",fa.area),anchorGroup:A.group("anchors",fa.areaConnector)},ra||(U.lineShadowGroup.hide(),U.anchorShadowGroup.hide(),U.areaGroup.hide(),U.anchorGroup.hide()));sa||(sa=b.graphics.shadowContainer=fa.shadows||(fa.shadows=A.group("shadows",U.areaGroup).toBack()),ra||sa.hide());ba||(ba=b.graphics.trackerContainer=A.group("area-hot"),ra||ba.hide());P||(P=b.components.data);aa&&aa.appendChild(ba);za||(za=b.graphics.dataLabelContainer=b.graphics.dataLabelContainer||
A.group("datalabel",Aa),ra||za.hide());ra&&(U.lineShadowGroup.show(),U.anchorShadowGroup.show(),U.areaGroup.show(),U.anchorGroup.show(),za.show(),ba.show());q=v.getCategoryLen();aa=v.config.centerX;X=v.config.centerY;for(t=0;t<q;t++)n=r[t]||{},K=(L=P[t])&&L.config,Ca=v.getLabel(t).label,Q=K.setValue,S=K.setLink,Aa=K.anchorProps,ua=Aa.shadow,C=Da(da(c(n.tooltext,h.plottooltext,l.plottooltext))),L.graphics||(L.graphics={}),K&&(Y=0<=Q?K.previousPositiveY:K.previousNegativeY),G=L.graphics,n=G.element,
Ma=G.image,null===Q?(!1!==ka?V.push("L",aa,",",X):V.push("M",aa,",",X),ka=!1,n&&n.hide()):(G=H.getAxisPosition(Y||R)+Ha,E=b.visible?H.getAxisPosition(Q+(Y||0))+Ha:G,G=v.getAxisPosition(t,f.canvasTop+f.canvasHeight/2-E),E=G.y,G=G.x,ta=K.hoverEffects,M=J?K.toolText+(C?"":K.toolTipValue):"",K.finalTooltext=M,C=K.eventArgs||(K.eventArgs={}),C.index=t,C.link=S,C.value=Q,C.displayValue=K.displayValue,C.categoryLabel=Ca,C.toolText=M,C.id=b.userID,C.datasetIndex=g||0,C.datasetName=h.seriesname,C.visible=
ra,ta.enabled&&(K.setRolloverAttr={polypath:[ta.anchorSides||2,G,E,ta.anchorRadius,ta.startAngle,ta.dip],fill:z({color:ta.anchorColor,alpha:ta.anchorBgAlpha}),stroke:z({color:ta.anchorBorderColor,alpha:ta.anchorBorderAlpha}),"stroke-width":ta.anchorBorderThickness},K.setRolloutAttr={polypath:[Aa.symbol[1]||2,G,E,Aa.radius,Aa.startAngle,0],fill:z({color:Aa.bgColor,alpha:Aa.bgAlpha}),stroke:z({color:Aa.borderColor,alpha:Aa.borderAlpha}),"stroke-width":Aa.borderThickness},W=K.setRolloverAttr,O=K.setRolloutAttr),
Aa.imageUrl?(K.anchorImageLoaded=!1,K=new B,K.onload=b._onAnchorImageLoad(b,t,C,G,E),K.onerror=b._onErrorSetter(b,t),K.src=Aa.imageUrl,Na++):(Ma&&Ma.hide(),n||(Fa.element&&Fa.element.length?n=L.graphics.element=Fa.element.shift():(n=L.graphics.element=A.polypath(U.anchorGroup),n.attr({polypath:[Aa.symbol[1]||2,G,E,Aa.radius,Aa.startAngle,0]}))),n.show().animateWith(va,na,{polypath:[Aa.symbol[1]||2,G,E,Aa.radius,Aa.startAngle,0]},ia,ja,Ga&&ma),Ga=!1,n.attr({fill:z({color:Aa.bgColor,alpha:Aa.bgAlpha}),
stroke:z({color:Aa.borderColor,alpha:Aa.borderAlpha}),"stroke-width":Aa.borderThickness,visibility:Aa.radius?ra:Va}).shadow(ua,U.anchorShadowGroup).data("anchorRadius",Aa.radius).data("anchorHoverRadius",ta.anchorRadius).data(Ka,W).data(ya,O),ta.enabled&&n&&n.data("anchorRadius",Aa.radius).data("anchorHoverRadius",ta.anchorRadius).data(Ka,W).data(ya,O),K.trackerConfig||(K.trackerConfig={}),K.trackerConfig.trackerRadius=La(Aa.radius,ta&&!0&&ta.anchorRadius||0,F)+(Aa.borderThickness||0)/2),L._xPos=
G,L._yPos=E,ka?(V.push("L",G,",",E),Ia++):(0===t?V.push("M",G,",",E):V.push("L",G,",",E),ka=!0));V.push("Z");p.noOfImages=p.totalImages=Na;0===Na&&(d.trackerDrawID.push(nb.addJob(b.drawTracker,b,[],m.priorityList.tracker)),d.labelDrawID.push(nb.addJob(b.drawLabel,b,[],m.priorityList.label)));f=V.concat([]);d=b.graphics.lineElement;d||(d=b.graphics.lineElement=A.path(U.areaGroup),d.attr({path:V}),ia&&ra&&(U.anchorGroup.hide(),U.anchorShadowGroup.hide(),za.hide(),fa.scale(.01,.01,aa,X).animateWith(va,
na,{transform:"s1,1"},ia,ja,qa)));d.show().animateWith(va,na,{path:f},ia,ja,Ga&&ma).attr({stroke:z({color:k,alpha:Z}),"stroke-width":ga,fill:z(ea),"stroke-linecap":"round","stroke-linejoin":2<ga?"round":"miter","stroke-dasharray":T}).shadow(wa,sa);b.drawn=!0;for(t=0;t<ha;t++)b._removeDataVisuals(e.shift())}},"area"]);FusionCharts.register("component",["dataset","Line",{type:"line",_addLegend:function(){var b=this.config,a=this.chart.components.legend,d=e(b.drawanchors,1),b={enabled:b.includeinlegend,
type:this.type,drawLine:c(b.drawLine,!0),fillColor:z({color:b.anchorbgcolor,alpha:b.anchorbgalpha}),strokeColor:z({color:b.anchorbordercolor,alpha:"100"}),rawFillColor:b.anchorbgcolor,rawStrokeColor:b.anchorbordercolor,anchorSide:d?b.anchorsides:0,strokeWidth:b.anchorborderthickness,label:fa(this.JSONData.seriesname),lineWidth:b.linethickness};this.legendItemId=a.addItems(this,this.legendInteractivity,b)},draw:function(){var b,a,d=this,e=d.JSONData,f=d.chart,k=f.getJobList(),h=f.components,l=h.canvas.config.clip,
p=d.config,g=d.index,r=f.config,q=d.components,n=d.graphics,t=q.data,A=t.length,v=h.paper,C=h.xAxis[0],H=d.yAxis,G=q.removeDataArr||[],J=f.graphics,K=J.datalabelsGroup,P,L,M,O=p.linethickness,S=n.container,Q=n.trackerContainer,W=J.trackerGroup,R=r.showtooltip,Y=J.lineGroup,T,Z=p.shadow,ga,X=n.dataLabelContainer,U={},ba,aa,V,ka=f.is3D,da=r.use3dlineshift,ha=d.graphics.errorGroupContainer,ea=d.graphics.errorTrackerContainer,fa=d.graphics.errorShadowContainer,ja=function(){!1!==d.visible||!1!==d._conatinerHidden&&
void 0!==d._conatinerHidden||(S.lineGroup.hide(),S.lineShadowGroup.hide(),S.anchorShadowGroup.hide(),S.anchorGroup.hide(),Q.hide(),X&&X.hide(),ha&&ha.hide(),ea&&ea.hide(),fa&&fa.hide(),d._conatinerHidden=!0)},ma=function(){Y.lineConnector.attr({"clip-rect":null});Y.lineConnector.node&&Y.lineConnector.node.removeAttribute("clip-path");!1!==d.visible&&(S.lineShadowGroup.show(),S.anchorShadowGroup.show(),S.anchorGroup.show(),Q.show(),X&&X.show())},ia=!0,va,na,qa,za=H.getAxisBase(),Da=H.yBasePos=H.getAxisPosition(za),
ta=C.getPVR(),ra,sa=ka?10:0,ua=ka&&da?10:0,Aa=l["clip-canvas"].slice(0),Fa=l["clip-canvas-init"].slice(0),Ha=h.scrollBar,Ga=f.hasScroll||!1,Ia,Ca=p.lineDashStyle,Ma={color:p.linecolor,alpha:p.alpha},Na=[z(Ma),Ca].join(":"),Oa,Sa,Ra,Pa,Qa,Ta=n.lineElement,Ua=d.visible,Wa,Za,$a=0,bb=!0!==d.drawn,ab=d.components.pool||(d.components.pool={}),fb,ib,jb=d.startPosition,eb={},gb=A,Ya,hb={},mb=p.lastPath||{},tb,ob,sb=0,vb=f.config.viewPortConfig,yb=vb.x,zb=vb.scaleX,xb,lb,Bb,Cb,Eb,Db,Ab,Gb,Fb,Ib,Qb,ic,Sb,
Vb,Nb,Ub,Lb,Mb,dc=p.noOfImages=0,ec,Wb=f.get("config","animationObj"),Jb=Wb.duration,Xb=Wb.dummyObj,Yb=Wb.animObj,Zb=Wb.animType,jc=!bb&&Jb,kc,oc=r.height,lc=r.realTimeConfig&&r.realTimeConfig.clear,pc=gb;d.noOfNewDataAtEnd=0;p.hideAnimFlag=!1;p.imagesLoaded=0;Y.lineConnector=Y.lineConnector||v.group("line-connector",Y);S||(S=d.graphics.container={lineShadowGroup:v.group("connector-shadow",Y.lineConnector),anchorShadowGroup:v.group("anchor-shadow",Y.lineConnector),lineGroup:v.group("line",Y.lineConnector),
anchorGroup:v.group("anchors",Y.lineConnector)},Ua||(S.lineShadowGroup.hide(),S.anchorShadowGroup.hide(),S.lineGroup.hide(),S.anchorGroup.hide()));Q||(Q=d.graphics.trackerContainer=v.group("line-hot",W),Ua||Q.hide());t||(t=d.components.data=[]);X||(X=d.graphics.dataLabelContainer=d.graphics.dataLabelContainer||v.group("datalabel",K),Ua||X.hide());Ua&&(S.lineShadowGroup&&S.lineShadowGroup.show(),S.lineGroup&&S.lineGroup.show(),S.anchorGroup&&S.anchorGroup.show(),Q&&Q.show(),d._conatinerHidden=!1,X.show());
ra=ta*gb;f.isRealTime&&(Aa[1]=0,Aa[3]=oc,X.attr({"clip-rect":Aa}),S.anchorGroup.attr({"clip-rect":Aa}),S.anchorShadowGroup.attr({"clip-rect":Aa}),S.lineGroup.attr({"clip-rect":Aa}),S.lineShadowGroup.attr({"clip-rect":Aa}));if(lc)for(Ya=0,gb=G.length;Ya<gb;Ya++)d._removeDataVisuals(G.shift());else d._shiftOffRemovedPoints();eb=p.removePath||{};Ub=S.anchorShadowGroup;for(Ya=0;Ya<pc;Ya++)if(P=t[Ya])V=P.config||{},Db=V.setValue,void 0!==Db&&(Cb=P.graphics,Eb=V.setLink,Wa=V.x||Ya,va=V.setLevelTooltext,
U=V.anchorProps,aa=U.symbol,Fb=U.radius,ga=U.shadow,Ib=U.startAngle,Qb=U.bgColor,ic=U.bgAlpha,Sb=U.borderColor,Vb=U.borderAlpha,Nb=U.borderThickness,Gb=V.displayValue,Za=V.dip||0,P||(P=t[Ya]={graphics:{}}),b=V.setColor,a=V.setAlpha,qa=V.dashStyle,Pa=V.xPos||C.getAxisPosition(Wa)-sa+yb*zb,Qa=!d.visible&&Jb?Da:H.getAxisPosition(Db)+ua,Pa=wa(Pa,p.linethickness,p.linethickness).position,Qa=wa(Qa,p.linethickness,p.linethickness).position,T=V.hoverEffects,U.isAnchorHoverRadius=T.anchorRadius,tb=C.getLabel(Ya)||
{},xb=R?V.toolText+(va?"":V.toolTipValue):"",V.finalTooltext=xb,Ab=V.eventArgs=V.eventArgs||{},Ab.index=Ya,Ab.link=Eb,Ab.value=Db,Ab.displayValue=Gb,Ab.categoryLabel=tb.label,Ab.toolText=xb,Ab.id=p.userID,Ab.datasetIndex=g||0,Ab.datasetName=e.seriesname,Ab.visible=Ua,lb=P.graphics.element,Mb=P.graphics.image,Bb=P.graphics.hotElement,ec={polypath:[aa[1]||2,Pa,Qa,Fb,Ib,V.dip||0]},null!==Db?(!lb&&jc&&!0!==jb&&(ib=gb+$a,fb=C.getPixel(ib),P._xPos=fb,P._yPos=Qa,mb=d.getLinePath([P],mb),$a++),U.imageUrl?
(ba=new B,V.anchorImageLoaded=!1,ba.onload=d._onAnchorImageLoad(d,Ya,Ab,Pa,Qa,P),ba.onerror=d._onErrorSetter(d,Ya),ba.src=U.imageUrl,dc++):(Mb&&Mb.hide(),lb||(ab.element&&ab.element.length?(lb=Cb.element=ab.element.shift(),lb.show()):(lb=Cb.element=v.polypath(S.anchorGroup),lb.attr(ec)),jc&&lb.attr({polypath:[aa[1]||2,fb,Qa,Fb,Ib,0]})),lb.show().attr({transform:""}).animateWith(Xb,Yb,ec,Jb,Zb,ia&&ja),Jb||ia&&ja(),ia=!1,lb.attr({fill:z({color:Qb,alpha:ic}),stroke:z({color:Sb,alpha:Vb}),"stroke-width":Nb,
visibility:Fb?Ua:Va}).shadow(ga,Ub).data("anchorRadius",Fb).data("anchorHoverRadius",T.anchorRadius),T.enabled&&(M={polypath:[T.anchorSides||2,Pa,Qa,T.anchorRadius,T.startAngle,T.dip],fill:z({color:T.anchorColor,alpha:T.anchorBgAlpha}),stroke:z({color:T.anchorBorderColor,alpha:T.anchorBorderAlpha}),"stroke-width":T.anchorBorderThickness},L={polypath:[U.sides,Pa,Qa,U.radius,U.startAngle,Za],fill:z({color:U.bgColor,alpha:U.bgAlpha}),stroke:z({color:U.borderColor,alpha:U.borderAlpha}),"stroke-width":U.borderThickness},
lb&&lb.data("anchorRadius",U.radius).data("anchorHoverRadius",T.anchorRadius).data(Ka,M).data(ya,L)),V.trackerConfig||(V.trackerConfig={}),V.trackerConfig.trackerRadius=La(Fb,T&&T.anchorRadius||0,F)+(U.borderThickness||0)/2)):(lb&&lb.hide(),Mb&&Mb.hide(),Bb&&Bb.hide()),P._xPos=Pa,P._yPos=Qa,Ra=Na!==[z({color:c(b,Ma.color),alpha:c(a,Ma.alpha)}),qa||Ca].join(":"),na=P.graphics.connector,ob=[],Ra&&(Lb=Ya,hb=d.getLinePath(t,{},{begin:sb,end:Lb+1}),V.connStartIndex=sb,V.connEndIndex=Lb,ob=hb.getPathArr(),
ob.length&&(kc=E.animation({path:ob},Jb,Zb,ia&&ja),na||(ab.connector&&ab.connector.length?na=P.graphics.connector=ab.connector.shift():(na=P.graphics.connector=v.path(S.lineGroup),na.attr({path:ob}))),na.show().animateWith(Xb,Yb,kc),na.attr({"stroke-dasharray":Sa,"stroke-width":O,stroke:Oa,"stroke-linecap":"round","stroke-linejoin":2<O?"round":"miter"}).shadow(Z,S.lineShadowGroup),sb=Ya,hb={}),Lb=null),Ra||ob.length||na&&na.hide(),null!==Db&&(Oa=z({color:c(b,Ma.color),alpha:c(a,Ma.alpha)}),Sa=qa||
Ca),Na=[Oa,Sa].join(":"));0===dc&&(!0===d.drawn?d.drawTracker():k.trackerDrawID.push(nb.addJob(d.drawTracker,d,[],m.priorityList.tracker)),!0===d.drawn?d.drawLabel():k.labelDrawID.push(nb.addJob(d.drawLabel,d,[],m.priorityList.label)));p.pathStartIndex=sb;p.pathEndIndex=Lb;p.noOfImages=p.totalImages=dc;hb=d.getLinePath(t,{},{begin:sb,end:Lb});G&&f.isRealTime&&(eb=d.getLinePath(t,eb));f.isRealTime&&(p.lastPath=hb);Ta?Jb&&f.isRealTime&&Ta.attr({path:mb.getPathArr()}):Ta=n.lineElement=v.path({path:hb.getPathArr()},
S.lineGroup);lc?Ta.hide():Ta.show().animateWith(Xb,Yb,{path:eb.getPathArr&&f.isRealTime?eb.getPathArr():hb.getPathArr()},Jb,Zb,ia&&ja);Ta.attr({"stroke-width":O,"stroke-dasharray":Sa,stroke:Oa,"stroke-linecap":"round","stroke-linejoin":2<=O?"round":"miter"}).shadow(Z,S.lineShadowGroup);Ga&&(Ia=Ha.conf.startPercent,Aa[2]=ra+Fa[0],1===Ia&&(Fa[0]=Aa[2],Aa[0]=0));Aa[3]+=ua;d._drawTracker&&d._drawTracker();Jb&&Ua&&!d.drawn&&(S.anchorGroup.hide(),S.anchorShadowGroup.hide(),X.hide(),Y.lineConnector.attr({"clip-rect":Fa}).animateWith(Xb,
Yb,{"clip-rect":Aa},Jb,Zb,ma));d.drawn=!0;d.drawErrorValue&&d.drawErrorValue()},getDataLimits:function(){var b=this.config,a=b.maxValue,b=b.minValue,c=this.chart.config.transposeAxis;!1===this.visible&&c&&(a=-Infinity,b=Infinity);return{max:a,min:b}},pointValueWatcher:function(b,a,c){var d=c.obj||(c.obj={}),e=c.objX||(c.objX={});null!==a&&(d.max=d.max>a?d.max:a,d.min=d.min<a?d.min:a);null!==b&&(e.max=e.max>b?e.max:b,e.min=e.min<b?e.min:b);c.isRegression&&(b=b||0,a=a||0,c.sumX+=b,c.sumY+=a,c.sumXY+=
b*a,c.sumXsqure+=xb(b,2),c.xValues.push(b),c.sumYsqure+=xb(a,2),c.yValues.push(a))}},"area"]);FusionCharts.register("component",["dataset","Realtimeline",{_realTimeConfigure:FusionCharts.get("component",["dataset","realtimecolumn"]).prototype._realTimeConfigure},"line"]);FusionCharts.register("component",["quadrant","cartesian",{pIndex:1,init:function(){var b=this.chart.components,a=b.xAxis[0];this.yAxis=b.yAxis[0];this.xAxis=a;this.components={};this.conf={};this.graphics={};this.configure()},configure:function(){var b,
a,d,f,l,k,h,m,p,g,q=this.conf;p=this.chart;k=p.config;var n=p.jsonData.chart;a=p.components.canvas.config;var z=k.dataLabelStyle;b=p.linkedItems.smartLabel;if(q.enabled=e(n.drawquadrant,0))p=e(n.quadrantxval),g=e(n.quadrantyval),m=P(c(n.quadrantlinecolor,a.canvasBorderColor),c(n.quadrantlinealpha,n.quadrantlinealpha,ka)),a=e(n.quadrantlinethickness,a.canvasBorderThickness),f=e(n.quadrantlinedashed,n.quadrantlineisdashed,0),d=e(n.quadrantlinedashlen,4),l=e(n.quadrantlinedashgap,2),d=f?J(d,l,a):"none",
q.xVal=p,q.yVal=g,q.quadrantLineColor=m,q.quadrantLineThickness=a,q.dashStyle=d,a=Da(n.quadrantlabeltl,""),m=Da(n.quadrantlabeltr,""),p=Da(n.quadrantlabelbl,""),g=Da(n.quadrantlabelbr,""),q.quadrantLabelPadding=e(n.quadrantlabelpadding,3),b.useEllipsesOnOverflow(k.useEllipsesWhenOverflow),b.setStyle(z),""!==a&&(b=fa(n.quadrantlabeltlbordercolor,n.quadrantlabelbordercolor,""),f=c(n.quadrantlabeltlbgcolor,n.quadrantlabelbgcolor),k=e(n.quadrantlabeltlborderthickness,n.quadrantlabelborderthickness,1),
b=b?P(b,e(n.quadrantlabeltlborderalpha,n.quadrantlabelborderalpha,n.quadrantlabeltlalpha,n.quadrantlabelalpha,100)):"",h=q.tlConfig,h||(h=q.tlConfig={enabled:!0,styleObj:{}}),h.label=a,h.styleObj.fontSize=c(e(n.quadrantlabeltlfontsize,n.quadrantlabelfontsize),parseInt(z.fontSize,10))+"px",h.styleObj.lineHeight=z.lineHeight,h.styleObj.fontFamily=c(n.quadrantlabeltlfont,n.quadrantlabelfont,z.fontFamily),h.styleObj.color=P(c(n.quadrantlabeltlfontcolor,n.quadrantlabelfontcolor,z.color),e(n.quadrantlabeltlfontalpha,
n.quadrantlabelfontalpha,100)),h.styleObj.fontWeight=e(n.quadrantlabeltlfontbold,n.quadrantlabelfontbold)?"bold":"normal",h.styleObj.fontStyle=e(n.quadrantlabeltlfontitalic,n.quadrantlabelfontitalic)?"italic":"normal",r(h.styleObj),a=e(n.quadrantlabeltlborderpadding,n.quadrantlabelborderpadding,2),d=e(n.quadrantlabeltlborderradius,n.quadrantlabelborderradius,0),f=f?P(f,e(n.quadrantlabeltlbgalpha,n.quadrantlabelbgalpha,n.quadrantlabeltlalpha,n.quadrantlabelalpha,100)):"",l=e(n.quadrantlabeltlborderdashed,
n.quadrantlabelborderdashed,0)?J(e(n.quadrantlabeltlborderdashlen,n.quadrantlabelborderdashlen,4),e(n.quadrantlabeltlborderdashgap,n.quadrantlabelborderdashgap,2),k):"none",h["text-bound"]=[f,b,k,a,d,l]),""!==m&&(b=fa(n.quadrantlabeltrbordercolor,n.quadrantlabelbordercolor,""),f=c(n.quadrantlabeltrbgcolor,n.quadrantlabelbgcolor),k=e(n.quadrantlabeltrborderthickness,n.quadrantlabelborderthickness,1),b=b?P(b,e(n.quadrantlabeltrborderalpha,n.quadrantlabelborderalpha,n.quadrantlabeltralpha,n.quadrantlabelalpha,
100)):"",m=q.trConfig,m||(m=q.trConfig={enabled:!0,styleObj:{}}),m.label=Da(n.quadrantlabeltr,""),m.styleObj.fontSize=c(e(n.quadrantlabeltrfontsize,n.quadrantlabelfontsize),parseInt(z.fontSize,10))+"px",m.styleObj.lineHeight=z.lineHeight,m.styleObj.fontFamily=c(n.quadrantlabeltrfont,n.quadrantlabelfont,z.fontFamily),m.styleObj.color=P(c(n.quadrantlabeltrfontcolor,n.quadrantlabelfontcolor,z.color),e(n.quadrantlabeltrfontalpha,n.quadrantrabelfontalpha,100)),m.styleObj.fontWeight=e(n.quadrantlabeltrfontbold,
n.quadrantlabelfontbold)?"bold":"normal",m.styleObj.fontStyle=e(n.quadrantlabeltrfontitalic,n.quadrantlabelfontitalic)?"italic":"normal",r(m.styleObj),a=e(n.quadrantlabeltrborderpadding,n.quadrantlabelborderpadding,2),d=e(n.quadrantlabeltrborderradius,n.quadrantlabelborderradius,0),f=f?P(f,e(n.quadrantlabeltrbgalpha,n.quadrantlabelbgalpha,n.quadrantlabeltralpha,n.quadrantlabelalpha,100)):"",l=e(n.quadrantlabeltrborderdashed,n.quadrantlabelborderdashed,0)?J(e(n.quadrantlabeltrborderdashlen,n.quadrantlabelborderdashlen,
4),e(n.quadrantlabeltrborderdashgap,n.quadrantlabelborderdashgap,2),k):"none",m["text-bound"]=[f,b,k,a,d,l]),""!==p&&(b=fa(n.quadrantlabelblbordercolor,n.quadrantlabelbordercolor,""),f=c(n.quadrantlabelblbgcolor,n.quadrantlabelbgcolor),k=e(n.quadrantlabelblborderthickness,n.quadrantlabelborderthickness,1),b=b?P(b,e(n.quadrantlabelblborderalpha,n.quadrantlabelborderalpha,n.quadrantlabelblalpha,n.quadrantlabelalpha,100)):"",m=q.blConfig,m||(m=q.blConfig={enabled:!0,styleObj:{}}),m.label=p,m.styleObj.fontSize=
c(e(n.quadrantlabelblfontsize,n.quadrantlabelfontsize),parseInt(z.fontSize,10))+"px",m.styleObj.lineHeight=z.lineHeight,m.styleObj.fontFamily=c(n.quadrantlabelblfont,n.quadrantlabelfont,z.fontFamily),m.styleObj.color=P(c(n.quadrantlabelblfontcolor,n.quadrantlabelfontcolor,z.color),e(n.quadrantlabelblfontalpha,n.quadrantlabelfontalpha,100)),m.styleObj.fontWeight=e(n.quadrantlabelblfontbold,n.quadrantlabelfontbold)?"bold":"normal",m.styleObj.fontStyle=e(n.quadrantlabelblfontitalic,n.quadrantlabelfontitalic)?
"italic":"normal",r(m.styleObj),a=e(n.quadrantlabelblborderpadding,n.quadrantlabelborderpadding,2),d=e(n.quadrantlabelblborderradius,n.quadrantlabelborderradius,0),f=f?P(f,e(n.quadrantlabelblbgalpha,n.quadrantlabelbgalpha,n.quadrantlabelblalpha,n.quadrantlabelalpha,100)):"",l=e(n.quadrantlabelblborderdashed,n.quadrantlabelborderdashed,0)?J(e(n.quadrantlabelblborderdashlen,n.quadrantlabelborderdashlen,4),e(n.quadrantlabelblborderdashgap,n.quadrantlabelborderdashgap,2),k):"none",m["text-bound"]=[f,
b,k,a,d,l]),""!==g&&(b=fa(n.quadrantlabelbrbordercolor,n.quadrantlabelbordercolor,""),f=c(n.quadrantlabelbrbgcolor,n.quadrantlabelbgcolor),k=e(n.quadrantlabelbrborderthickness,n.quadrantlabelborderthickness,1),b=b?P(b,e(n.quadrantlabelbrborderalpha,n.quadrantlabelborderalpha,n.quadrantlabelbralpha,n.quadrantlabelalpha,100)):"",p=q.brConfig,p||(p=q.brConfig={enabled:!0,styleObj:{}}),p.label=Da(n.quadrantlabelbr,""),p.styleObj.fontSize=c(e(n.quadrantlabelbrfontsize,n.quadrantlabelfontsize),parseInt(z.fontSize,
10))+"px",p.styleObj.lineHeight=z.lineHeight,p.styleObj.fontFamily=c(n.quadrantlabelbrfont,n.quadrantlabelfont,z.fontFamily),p.styleObj.color=P(c(n.quadrantlabelbrfontcolor,n.quadrantlabelfontcolor,z.color),e(n.quadrantlabelbrfontalpha,n.quadrantrabelfontalpha,100)),p.styleObj.fontWeight=e(n.quadrantlabelbrfontbold,n.quadrantlabelfontbold)?"bold":"normal",p.styleObj.fontStyle=e(n.quadrantlabelbrfontitalic,n.quadrantlabelfontitalic)?"italic":"normal",r(p.styleObj),f=f?P(f,e(n.quadrantlabelbrbgalpha,
n.quadrantlabelbgalpha,n.quadrantlabelbralpha,n.quadrantlabelalpha,100)):"",a=e(n.quadrantlabelbrborderpadding,n.quadrantlabelborderpadding,2),d=e(n.quadrantlabelbrborderradius,n.quadrantlabelborderradius,0),l=e(n.quadrantlabelbrborderdashed,n.quadrantlabelborderdashed,0)?J(e(n.quadrantlabelbrborderdashlen,n.quadrantlabelborderdashlen,4),e(n.quadrantlabelbrborderdashgap,n.quadrantlabelborderdashgap,2),k):"none",p["text-bound"]=[f,b,k,a,d,l])},_preDraw:function(){var b,a,c,d,e,f;c=this.conf;var h=
this.chart;d=h.components;f=d.yAxis[0];e=d.xAxis[0].getLimit();var l=f.getLimit();d=e.max;f=l.max;var m=e.min;e=l.min;var h=h.config,g=h.canvasWidth,n=h.canvasHeight,h=c.quadrantLabelPadding,l=c.tlConfig,r=c.trConfig,q=c.blConfig,z=c.brConfig;b=c.xVal||(c.xVal=(m+d)/2);a=c.yVal||(c.yVal=(e+f)/2);if(a>=e&&a<=f&&b>=m&&b<=d){c=g/(d-m)*(b-m);d=g-c;f=n/(f-e)*(a-e);c-=h;e=n-f-h;f-=h;if(0>e||0>c)l.enabled=!1;if(0>e||0>d-h)r.enabled=!1;if(0>f||0>c)q.enabled=!1;if(0>f||0>c)z.enabled=!1}else c.enabled=!1;return this},
draw:function(){var b=this._preDraw(),a=b.conf,c=b.chart,d=c.graphics,e=c.config,f=c.components,h=c.linkedItems.smartLabel,b=b.graphics,l=b.tlLabel,m=b.trLabel,g=b.blLabel,n=b.brLabel,r=e.textDirection,q=f.xAxis[0],z=f.yAxis[0],f=f.paper,t=b.container,A=a.tlConfig||{},v=a.trConfig||{},B=a.blConfig||{},F=a.brConfig||{},A=A.enabled&&A.label,v=v.enabled&&v.label,B=B.enabled&&B.label,F=F.enabled&&F.label,C=e.canvasLeft,H=e.canvasTop,G=a.quadrantLabelPadding,E=q.getLimit(),J=z.getLimit(),K=E.max,P=J.max,
J=J.min,E=q.getPixel(E.min)+G,K=q.getPixel(K)-G,J=z.getPixel(J)-G,G=z.getPixel(P)+G,q=q.getPixel(a.xVal),L=z.getPixel(a.yVal),z=q-E,P=K-q,M=L-G,O=J-L,W=b.horizontalQuadLine,Y=b.verticalQuadLine,R=c.get("config","animationObj"),c=R.duration||0,T=R.dummyObj,R=R.animObj,ga=!1;a.enabled?(t||(ga=!0,t=b.container=f.group("quadrant").insertBefore(d.datasetGroup)),t.animateWith(T,R,{"clip-rect":e.canvasLeft+","+e.canvasTop+","+e.canvasWidth+","+e.canvasHeight},ga?0:c),W||(W=b.horizontalQuadLine=f.path(t)),
W.animateWith(T,R,{path:"M"+C+" "+L+"h"+e.canvasWidth},c).attr({stroke:a.quadrantLineColor,"stroke-dasharray":a.dashStyle,"stroke-width":a.quadrantLineThickness,"stroke-linecap":"butt"}),Y||(Y=b.verticalQuadLine=f.path(t)),Y.animateWith(T,R,{path:"M"+q+" "+H+"v"+e.canvasHeight},c).attr({stroke:a.quadrantLineColor,"stroke-width":a.quadrantLineThickness,"stroke-dasharray":a.dashStyle,"stroke-linecap":"butt"}),A?(l||(l=b.tlLabel=f.text(t).attr({"text-anchor":Ta,"vertical-align":Ua}).css(a.tlConfig.styleObj)),
h.useEllipsesOnOverflow(e.useEllipsesWhenOverflow),h.setStyle(a.tlConfig.styleObj),d=h.getSmartText(A,z,M),A&&l.animateWith(T,R,{x:E,y:G},ga?0:c).attr({text:d.text,direction:r,"text-bound":a.tlConfig["text-bound"]}).show()):l&&l.hide(),v?(m||(m=b.trLabel=f.text(t).attr({"text-anchor":$a,"vertical-align":Ua,direction:r}).css(a.trConfig.styleObj)),h.setStyle(a.trConfig.styleObj),d=h.getSmartText(v,P,M),v&&m.animateWith(T,R,{x:K,y:G},ga?0:c).attr({text:d.text,"text-bound":a.trConfig["text-bound"]}).show()):
m&&m.hide(),B?(g||(g=b.blLabel=f.text(t).attr({"text-anchor":Ta,"vertical-align":mb,direction:r}).css(a.blConfig.styleObj)),h.setStyle(a.blConfig.styleObj),d=h.getSmartText(B,z,O),B&&g.animateWith(T,R,{x:E,y:J},ga?0:c).attr({text:d.text,"text-bound":a.blConfig["text-bound"]}).show()):g&&g.hide(),F?(n||(n=b.brLabel=f.text(t).attr({"text-anchor":$a,"vertical-align":mb,direction:r}).css(a.brConfig.styleObj)),h.setStyle(a.brConfig.styleObj),d=h.getSmartText(F,P,O),F&&n.animateWith(T,R,{x:K,y:J},ga?0:
c).attr({text:d.text,"text-bound":a.brConfig["text-bound"]}).show()):n&&n.hide()):t&&t.hide()}}]);FusionCharts.register("component",["dataset","Scatter",{type:"scatter",configure:function(){var b,d,f,l=this.chart,n=l.components,k=m.parseUnsafeString,h=this.config,u=this.JSONData,p=l.areaAlpha,g=l.jsonData.chart,r=n.colorManager;b=e(u.showplotborder,g.showplotborder||1);var q=r.getPlotColor(this.index),t=h.lineDashed=e(u.linedashed,u.dashed,g.linedashed,0),A=this.isLineSet;h.plotColor=q;f=e(l.defaultPlotShadow,
r.getColor("showShadow"));h.xAxisLabelMode=c(g.xaxislabelmode,"categories");h.toolTipSepChar=c(g.tooltipsepchar,", ");h.parentYAxis=A?d=1:d="s"===c(u.parentyaxis&&u.parentyaxis.toLowerCase(),"p")?1:0;this.yAxis=n.yAxis[d];h.connectNullData=e(g.connectnulldata,0);h.includeInLegend=e(u.includeinlegend,1);h.enableAnimation=d=e(g.animation,g.defaultanimation,1);h.animation=d?{duration:1E3*e(g.animationduration,1)}:!1;h.transposeanimation=e(g.transposeanimation,d);h.transposeanimduration=1E3*e(g.transposeanimduration,
.2);h.showValues=e(u.showvalues,g.showvalues);h.valuePadding=e(g.valuepadding,2);h.valuePosition=c(u.valueposition,g.valueposition,"auto");h.showTooltip=e(g.showtooltip,1);h.seriesNameInTooltip=e(g.seriesnameintooltip,1);h.showRegressionLine=e(u.showregressionline,g.showregressionline,0);h.plotFillColor=c(u.color,g.plotfillcolor,q);h.plotFillAngle=c(g.plotfillangle,270);h.plotFillAlpha=c(u.alpha,g.plotfillalpha,p,"70");p=e(g.useplotgradientcolor,1);h.plotGradientColor=0!==p?m.getDefinedColor(g.plotgradientcolor,
r.getColor("plotGradientColor")):"";h.fillColor={color:h.plotFillColor+(h.plotGradientColor?","+h.plotGradientColor:a),alpha:h.plotFillAlpha,angle:h.plotFillAngle};h.plotBorderAlpha=b?c(u.plotborderalpha,g.plotborderalpha,u.alpha,"95"):0;h.plotBorderColor=c(u.plotbordercolor,g.plotbordercolor,g.areabordercolor,"666666");h.dashed=b=e(u.dashed,g.plotborderdashed);h.plotBorderDashLen=c(u.plotborderdashlen,g.plotborderdashlen,5);h.plotBorderDashGap=c(u.plotborderdashgap,g.plotborderdashgap,4);h.plotBorderThickness=
e(u.plotborderthickness,g.plotborderthickness,1);h.plotBorderDashStyle=b?m.getDashStyle(h.plotBorderDashLen,h.plotBorderDashGap,h.plotBorderThickness):"none";h.showHoverEffect=e(g.plothovereffect,g.anchorhovereffect,g.showhovereffect,void 0);h.rotateValues=e(g.rotatevalues)?270:0;h.drawLine=e(u.drawline,g.drawlines,0);h.lineThickness=e(u.linethickness,g.linethickness,2);h.lineDashLen=e(u.linedashlen,g.linedashlen,5);h.lineDashGap=e(u.linedashgap,g.linedashgap,4);h.lineAlpha=e(u.linealpha,g.linealpha,
u.alpha,ka);h.lineColor=c(u.linecolor,g.linecolor,u.color,h.plotColor);h.lineDashStyle=m.getDashStyle(h.lineDashLen,h.lineDashGap,h.lineThickness);h.lineDashStyle=t?h.lineDashStyle:"none";h.shadow={opacity:e(g.showshadow,f)?h.lineAlpha/100:0};h.drawanchors=e(u.drawanchors,u.showanchors,g.drawanchors,g.showanchors);h.anchorbgcolor=jb(c(u.anchorbgcolor,g.anchorbgcolor,r.getColor("anchorBgColor")));h.anchorbordercolor=jb(c(u.anchorbordercolor,u.color,g.anchorbordercolor,h.lineColor));h.anchorradius=
e(u.anchorradius,g.anchorradius,3);h.anchoralpha=c(u.anchoralpha,u.alpha,g.anchoralpha,ka);h.anchorbgalpha=c(u.anchorbgalpha,u.alpha,g.anchorbgalpha,ka);h.anchorborderthickness=c(u.anchorborderthickness,g.anchorborderthickness,1);h.anchorsides=e(u.anchorsides,g.anchorsides,this.index+3);h.anchorimageurl=c(u.anchorimageurl,g.anchorimageurl);h.anchorimagealpha=e(u.anchorimagealpha,g.anchorimagealpha,100);h.anchorimagescale=e(u.anchorimagescale,g.anchorimagescale,100);h.anchorimagepadding=e(u.anchorimagepadding,
g.anchorimagepadding,1);h.anchorstartangle=e(u.anchorstartangle,g.anchorstartangle,90);h.anchorshadow=e(u.anchorshadow,g.anchorshadow,0);h.plotToolText=m.getValidValue(k(c(u.plottooltext,g.plottooltext)));h.showRegressionLine&&(h.regressionObj={isRegression:!0,sumX:0,sumY:0,sumXY:0,sumXsqure:0,sumYsqure:0,xValues:[],yValues:[]},h.showYOnX=e(u.showyonx,g.showyonx,1),h.regressionLineColor=jb(c(u.regressionlinecolor,g.regressionlinecolor,h.anchorbordercolor)),h.regressionLineThickness=e(u.regressionlinethickness,
g.regressionlinethickness,h.anchorborderthickness),h.regressionLineAlpha=T(e(u.regressionlinealpha,g.regressionlinealpha,h.anchoralpha)),h.regLineColor=z({color:h.regressionLineColor,alpha:h.regressionLineAlpha}));h.seriesNameInTooltip&&(h.seriesname=m.getFirstValue(u&&u.seriesname));this.visible=1===e(u.visible,!Number(u.initiallyhidden),1);this._setConfigure();!1!==l.hasLegend&&this._addLegend()},_setConfigure:function(){var b,d,f,l,n,k,h,u,p,g=-Infinity,r=Infinity,q=Infinity,z=-Infinity,t=this.components.data||
(this.components.data=[]);b=this.chart;var A=m.parseUnsafeString,v=this.config,B=this.JSONData,F=b.jsonData.chart,C=B.data||[],H=C.length,G=b.components.numberFormatter,E=A(F.yaxisname),J=A(F.xaxisname),K=v.lineDashed,P=v.lineDashStyle,L=v.parentYAxis,Q=v.toolTipSepChar,M=v.seriesname;for(b=v.imageCount=0;b<H;b+=1)l=C[b],f=t[b]||(t[b]={}),d=f.config||(f.config={}),d.setValue=n={x:G.getCleanValue(l.x),y:G.getCleanValue(l.y)},null!==n.x&&null!==n.y&&(n.x>z&&(z=n.x,v.rightMostData=f),n.x<q&&(q=n.x,v.leftMostData=
f),n.y>g&&(g=n.y,v.topMostData=f),n.y<r&&(r=n.y,v.bottomMostData=f)),v.showRegressionLine&&this.pointValueWatcher(n.x,n.y,v.regressionObj),d.setLink=c(l.link),d.anchorProps=this._parseAnchorProperties(b),d.showValue=e(l.showvalue,v.showValues),d.dashed=e(l.dashed,K),d.color=c(l.color,v.lineColor),d.alpha=c(l.alpha,v.lineAlpha),d.dashStyle=d.dashed?P:"none",d.toolTipValue=k=G.dataLabels(n.y,L),d.setDisplayValue=p=A(l.displayvalue),u=d.formatedVal=c(l.toolTipValue,G.dataLabels(n.y,L)),h=G.xAxis(n.x),
d.displayValue=c(p,k),d.setTooltext=m.getValidValue(A(c(l.tooltext,v.plotToolText))),v.showTooltip?void 0!==d.setTooltext?(n=[4,5,6,7,8,9,10,11],h={yaxisName:E,xaxisName:J,yDataValue:u,xDataValue:h},l=ma(d.setTooltext,n,h,l,F,B)):null===u?l=!1:(l=M?M+Q:a,l+=n.x?h+Q:a,l+=k):l=!1,d.toolText=l,f?f.graphics||(t[b].graphics={}):f=t[b]={graphics:{}},d.hoverEffects=this._parseHoverEffectOptions(f),d.anchorProps.isAnchorHoverRadius=d.hoverEffects.anchorRadius;v.xMax=z;v.xMin=q;v.yMin=r;v.yMax=g;v.showRegressionLine&&
(v.regressionData=this.getRegressionLineSeries(v.regressionObj,v.showYOnX,H));this.ErrorValueConfigure&&this.ErrorValueConfigure()},sortFN:function(b,a){return b-a},getRegressionLineSeries:function(b,a,c){var d,e,f,h;h=b.sumXY;var l=b.sumX,m=b.sumY;e=b.xValues;f=b.sumXsqure;d=b.yValues;b=b.sumYsqure;a?(e.sort(this.sortFN),d=e[0],e=e[e.length-1],h=(c*h-l*m)/(c*f-xb(l,2)),f=!isNaN(h)&&isFinite(h)?h*(d-l/c)+m/c:m/c,c=!isNaN(h)&&isFinite(h)?h*(e-l/c)+m/c:m/c,c=[{x:d,y:f},{x:e,y:c}]):(d.sort(this.sortFN),
f=d[0],d=d[d.length-1],h=(c*h-l*m)/(c*b-xb(m,2)),e=isNaN(h)?l/c:h*(f-m/c)+l/c,c=isNaN(h)?l/c:h*(d-m/c)+l/c,c=[{x:e,y:f},{x:c,y:d}]);return c},draw:function(){var b,a,d,e,f,k,h,l,p,g,n,r,q,t,A,v,F,C,H,G=this.JSONData,E=this.chart,J=E.getJobList(),K=E.components,P=this.components.removeDataArr,P=P&&P.length,L=E.jsonData.chart,M=this.config,Q=this.index,O=G.data||[],W=E.config,R=K.paper,Y=K.xAxis[0],K=K.yAxis[0],T=m.parseUnsafeString,ga=m.getValidValue,X=this.components.data,U=X.length;F={};a={};var ba=
M.lineThickness;a=E.graphics;k=a.datalabelsGroup;var aa=this.graphics.container,V=this.graphics.trackerContainer;t=a.trackerGroup;var ka=this.pool||(this.pool={}),da=M.connectNullData,ha=M.showTooltip;a=a.datasetGroup;var ea=M.shadow,fa=this.graphics.dataLabelContainer;f={};var ja=[La(0,W.canvasLeft),La(0,W.canvasTop),La(1,W.canvasWidth),La(1,W.canvasHeight)],W=[La(0,W.canvasLeft),La(0,W.canvasTop),1,La(1,W.canvasHeight)],ma=M.lineDashStyle,ia={color:M.lineColor,alpha:M.lineAlpha},va=[],na=[],qa=
null,wa=[],za=!1,ta=this.graphics.lineElement;f=this.graphics.regressionLineElement;var ra=this.visible,sa=E.get("config","animationObj"),E=sa.duration||0,ua=sa.dummyObj,Aa=sa.animObj,sa=sa.animType,Da=0;M.imagesLoaded=0;a.line=a.line||R.group("line",a);a.lineConnector=a.lineConnector||R.group("line-connector",a);aa||(aa=this.graphics.container={lineShadowGroup:R.group("connector-shadow",a.lineConnector),anchorShadowGroup:R.group("anchor-shadow",a.lineConnector),lineGroup:R.group("connector",a.lineConnector),
anchorGroup:R.group("anchors",a.lineConnector)});V||(V=this.graphics.trackerContainer=R.group("line-hot"));X||(X=this.components.data=[]);t&&t.appendChild(V);fa||(fa=this.graphics.dataLabelContainer=R.group("datalabel",k).attr("class","fusioncharts-datalabels"));M.showRegressionLine&&ra?(k=M.regressionData[0],t=M.regressionData[1],(a=M._regressionAttr)||(M._regressionAttr=a={}),a.stroke=M.regLineColor,a["stroke-width"]=M.regressionLineThickness,a["stroke-linecap"]="round",a["stroke-linejoin"]=2<M.regressionLineThickness?
"round":"miter",a.path="M "+Y.getAxisPosition(k.x)+","+K.getAxisPosition(k.y)+" L "+Y.getAxisPosition(t.x)+","+K.getAxisPosition(t.y),f?f.animateWith(ua,Aa,a,E,sa):f=this.graphics.regressionLineElement=R.path(a,aa.regLineGroup),f.show()):f&&f.hide();for(k=0;k<U;k+=1)if(f=O[k],t=X[k],C=t.config,d=C.trackerConfig={},a=t.graphics,r=C.setValue,n=C.setLink,ga(T(c(f.tooltext,G.plottooltext,L.plottooltext))),f=C.anchorProps,F=f.symbol,A=f.shadow,q=C.displayValue,t||(t=X[k]={graphics:{}}),e=r.y,b=r.x,p=C.finalTooltext=
C.toolText,null!==e&&null!==b){v=C.hoverEffects;h=Y.getAxisPosition(b);l=K.getAxisPosition(e);C.eventArgs={index:k,link:n,x:b,y:e,value:r,displayValue:q,toolText:p,id:M.userID,datasetIndex:Q||0,datasetName:G.seriesname,visible:ra};if(f.imageUrl)C.anchorImageLoaded=!1,d=new B,C.anchorImageLoaded=!1,ra||a.image&&a.image.animateWith(ua,Aa,{opacity:0},E,sa),d.onload=this._onAnchorImageLoad(this,k,void 0,h,l),d.onerror=this._onErrorSetter(this,k),d.src=f.imageUrl,Da++;else if(g=a.element,(C=a.image)&&
C.hide(),g||(g=ka.element&&ka.element.length?a.element=ka.element.shift():a.element=R.polypath(aa.anchorGroup),za=!0,E&&za&&g.attr({polypath:[F[1]||2,h,l,f.radius,f.startAngle,0],opacity:0,"fill-opacity":0,"stroke-opacity":0})),g.attr({fill:z({color:f.bgColor,alpha:f.bgAlpha}),stroke:z({color:f.borderColor,alpha:f.borderAlpha}),"stroke-width":f.borderThickness,cursor:n?"pointer":"",visibility:f.radius?ra:Va}).shadow(A,aa.anchorShadowGroup).animateWith(ua,Aa,{polypath:[F[1]||2,h,l,f.radius,f.startAngle,
0],opacity:ra?f.bgAlpha/100:0,"fill-opacity":ra?f.bgAlpha/100:0,"stroke-opacity":ra?f.borderAlpha/100:0},E,sa),n||ha||v)a=La(f.radius,v.anchorRadius||0),d.trackerRadius=a;v.enabled&&(a={polypath:[v.anchorSides||2,h,l,v.anchorRadius,v.startAngle,v.dip],fill:z({color:v.anchorColor,alpha:v.anchorBgAlpha}),stroke:z({color:v.anchorBorderColor,alpha:v.anchorBorderAlpha}),"stroke-width":v.anchorBorderThickness},F={polypath:[F[1]||2,h,l,f.radius,f.startAngle,0],fill:z({color:f.bgColor,alpha:f.bgAlpha}),stroke:z({color:f.borderColor,
alpha:f.borderAlpha}),"stroke-width":f.borderThickness},g&&g.data("anchorRadius",f.radius).data("anchorHoverRadius",v.anchorRadius).data(Ka,a).data(ya,F));f.isAnchorHoverRadius=v.anchorRadius;null!==qa?(wa.length&&(va=va.concat(wa),wa.length=0),va.join("")||va.push("M",H,qa),va.push("L",h,l)):wa.push("M",h,l);H=h;qa=l;t._xPos=h;t._yPos=l}else wa.length=0,da||(qa=null);va.length&&(na=na.concat(va));M.drawLine&&na.join("")?(ta||(ta=this.graphics.lineElement=R.path({path:na},aa.lineGroup),za=!0),ra&&
ta.attr({"stroke-dasharray":ma,"stroke-width":ba,stroke:z(ia),"stroke-linecap":"round","stroke-linejoin":2<=ba?"round":"miter"}),ra?ta.animateWith(ua,Aa,{path:na,"stroke-opacity":1},E,sa,function(){this.shadow(ea,aa.lineShadowGroup)}):ta.animateWith(ua,Aa,{path:na,"stroke-opacity":0},za?0:E,sa).shadow(!1)):ta&&ta.animateWith(ua,Aa,{"stroke-opacity":0},E,sa).shadow(!1);M.totalImages=M.noOfImages=Da;0===Da&&(J.trackerDrawID.push(nb.addJob(this.drawTracker,this,[],m.priorityList.tracker)),this.drawn?
this.drawLabel():J.labelDrawID.push(nb.addJob(this.drawLabel,this,[],m.priorityList.label)));aa.lineShadowGroup.hide();aa.anchorShadowGroup.hide();fa.hide();za&&aa.lineGroup.attr({"clip-rect":W});aa.lineGroup.animateWith(ua,Aa,{"clip-rect":ja},E,sa,function(){aa.lineGroup.attr({"clip-rect":null});ra?(aa.lineShadowGroup.show(),aa.anchorShadowGroup.show(),aa.anchorGroup.show(),V.show(),fa&&fa.show()):(aa.lineShadowGroup.hide(),aa.anchorShadowGroup.hide(),aa.anchorGroup.hide(),V.hide(),fa&&fa.hide())});
P&&this.remove();this.drawErrorValue&&this.drawErrorValue();this.drawn=!0},getDataLimits:function(){var b=this.config,a=b.yMax,c=b.yMin,d=b.xMax,b=b.xMin,e=this.chart.config.transposeAxis;!1===this.visible&&e&&(a=-Infinity,c=Infinity,d=-Infinity,b=Infinity);return{max:a,min:c,xMax:d,xMin:b}},getAxisValuePadding:function(){return{left:0,right:0}},_addLegend:function(){var b,a=this.config,d=this.chart.components.legend,f=e(a.drawanchors,1);b=this.getPointColor(a.anchorbgcolor,ka);var l={FCcolor:{color:a.anchorbordercolor,
alpha:a.anchoralpha}};d.config.symbol3DLighting?b&&b.FCcolor?(b=q({},b),b.FCcolor.alpha="100"):b=c(b):b={FCcolor:{color:c(b&&(b.FCcolor&&b.FCcolor.color.split(",")[0]||b)),angle:0,ratio:"0",alpha:"100"}};this.legendItemId=d.addItems(this,this.legendInteractivity,{enabled:a.includeInLegend,type:this.type,drawLine:c(a.drawLine,!0),fillColor:z(b),strokeColor:z(c(l&&(l.FCcolor&&l.FCcolor.color.split(",")[0]||l))),rawFillColor:a.anchorbgcolor,rawStrokeColor:a.anchorbordercolor,anchorSide:f?a.anchorsides:
0,strokeWidth:a.anchorborderthickness,label:fa(this.JSONData.seriesname)})},getPointColor:function(b,a){var c,d;b=jb(b);a=T(a);c=tb(b,70);d=W(b,50);return{FCcolor:{gradientUnits:"objectBoundingBox",cx:.4,cy:.4,r:"100%",color:c+","+d,alpha:a+","+a,ratio:O,radialGradient:!0}}}},"Line"]);FusionCharts.register("component",["dataset","Pareto",{configure:function(){var b=this.chart,a=this.config,d=b.components,f=d.xAxis[0],l=this.JSONData,k=l.data,h=k&&k.length,n=b.jsonData.chart,p=d.colorManager,g,r=p.getPlotColor(this.index||
this.positionIndex),t=e(l.dashed,n.plotborderdashed),A=e(n.useplotgradientcolor,1),v=e(n.showtooltip,1),B=m.parseUnsafeString,F=B(n.yaxisname),C=B(n.xaxisname),H=m.parseTooltext,G,E,J,K,L,M,O,S,Q,W,R,Y,T,Z,ga,X=m.getDashStyle,U=this.components.data,d=d.numberFormatter,ba,aa=b.is3D,V,da,ha,fa,ea,ja,ma,qa,ia=-Infinity,va=Infinity,na=this.type.toLowerCase(),wa,ya,za=0,ta=[],ra=0,sa,ua=a.tootipSepChar=c(n.tooltipsepchar,", ");a.enableAnimation=O=e(n.animation,n.defaultanimation,1);a.animation=O?{duration:1E3*
e(n.animationduration,1)}:!1;a.showTooltip=e(n.showtooltip,1);a.valuePadding=e(n.valuepadding,2);a.rotateValues=e(n.rotatevalues)?270:0;a.showHoverEffect=O=e(n.plothovereffect,n.showhovereffect,void 0);a.showShadow=M||aa?e(n.showshadow,1):e(n.showshadow,p.getColor("showShadow"));a.useDataPlotColorForLabels=sa=e(n.usedataplotcolorforlabels,0);a.use3dlineshift=e(n.use3dlineshift,b.use3dlineshift);/column/.test(na)&&(g=a.showplotborder=e(n.showplotborder,aa?0:1),a.plotDashLen=J=e(n.plotborderdashlen,
5),a.plotDashGap=K=e(n.plotborderdashgap,4),a.plotfillangle=S=e(360-n.plotfillangle,90),a.plotfillalpha=Q=c(n.plotfillalpha,ka),a.plotColor=r,a.isRoundEdges=M=e(n.useroundedges,0),a.plotRadius=e(n.useRoundEdges,a.isRoundEdges?1:0),a.plotfillratio=W=c(n.plotfillratio),a.plotgradientcolor=R=m.getDefinedColor(n.plotgradientcolor,p.getColor("plotGradientColor")),!A&&(R=""),a.plotborderalpha=Y=g&&!aa?c(n.plotborderalpha,Q,ka):0,a.plotbordercolor=T=c(n.plotbordercolor,aa?"#ffffff":p.getColor("plotBorderColor")),
a.plotborderthickness=L=e(n.plotborderthickness,1),a.plotBorderDashStyle=Z=t?X(J,K,L):"none",a.showValues=e(n.showvalues,1),a.definedGroupPadding=La(e(n.plotspacepercent),0),a.plotSpacePercent=La(e(n.plotspacepercent,20)%100,0),a.maxcolwidth=e(n.maxcolwidth,50),a.plotpaddingpercent=e(n.plotpaddingpercent),a.placevaluesinside=e(n.placevaluesinside,0),a.use3dlighting=e(n.use3dlighting,1),a.parentYAxis=0);"line"===na&&(a.linecolor=jb(c(n.linecolor,p.getColor("plotBorderColor"))),a.linethickness=e(n.linethickness,
2),a.linealpha=c(n.linealpha,ka),a.linedashed=e(n.linedashed,0),a.linedashlen=e(l.linedashlen,n.linedashlen,5),a.linedashgap=e(l.linedashgap,n.linedashgap,4),t=m.getDashStyle(a.linedashlen,a.linedashgap,a.linethickness),a.lineDashStyle=a.linedashed?t:"none",a.drawanchors=e(n.drawanchors,n.showanchors),a.anchorbgcolor=c(n.anchorbgcolor,p.getColor("anchorBgColor")),a.anchorbordercolor=c(n.anchorbordercolor,a.linecolor),a.anchorradius=e(n.anchorradius,3),a.anchoralpha=c(n.anchoralpha),a.anchorbgalpha=
c(n.anchorbgalpha,100),a.anchorborderthickness=c(n.anchorborderthickness,1),a.anchorsides=c(n.anchorsides,0),a.anchorimageurl=c(n.anchorimageurl),a.anchorimagealpha=e(n.anchorimagealpha,100),a.anchorimagescale=e(n.anchorimagescale,100),a.anchorimagepadding=e(n.anchorimagepadding,1),a.anchorstartangle=e(n.anchorstartangle,90),a.parentYAxis=1,a.valuePosition=c(n.valueposition,"auto"),a.showValues=e(n.showlinevalues,n.showvalues,1),a.showShadow&&(a.shadow={opacity:a.lineAlpha/100}),a.showCumulativeLine=
e(n.showcumulativeline,1));U||(U=this.components.data=[]);for(t=0;t<h;t++)A=Qa(d.getCleanValue(k[t].value)),za+=A,ta[t]=q({},k[t]),ta[t].value=A;ta.sort(function(b,a){return a.value-b.value});for(t=a.imageCount=0;t<h;t++)A=ta[t],(r=U[t])||(r=U[t]={graphics:{}}),r.config||(k=U[t].config={}),b=Qa(d.getCleanValue(A.value)),null!==b&&(k=r&&r.config,ba=f.getLabel(t),k.label=Da(B(c(ba.label))),k.showValue=e(A.showvalue,a.showValues),k.setValue=b,k.setLink=c(A.link),k.setDisplayValue=ba=B(A.displayvalue),
ra+=k.setValue,wa=d.dataLabels(b),/column/.test(na)?(r=e(A.dashed),G=e(A.dashlen,J),ga=K=e(A.dashgap,K),k.plotBorderDashStyle=G=1===r?X(G,ga,L):0===r?"none":Z,r=p.getPlotColor(t),r=c(A.color,r),W=c(A.ratio,a.plotfillratio),Q=c(A.alpha,a.plotfillalpha),Y=c(A.alpha,a.plotborderalpha),0>b&&!M&&(E=S,S=360-S),k.colorArr=ga=m.graphics.getColumnColor(r+","+R,Q,W,S,M,T,Y.toString(),0,aa?!0:!1),0!==O&&(V=c(A.hovercolor,n.plotfillhovercolor,n.columnhovercolor,r),da=c(A.hoveralpha,n.plotfillhoveralpha,n.columnhoveralpha,
Q),ha=c(A.hovergradientcolor,n.plothovergradientcolor,R),!ha&&(ha=""),W=c(A.hoverratio,n.plothoverratio,W),fa=e(360-A.hoverangle,360-l.hoverangle,360-n.plothoverangle,S),ea=c(A.borderhovercolor,n.plotborderhovercolor,T),Y=c(A.borderhoveralpha,l.borderhoveralpha,n.plotborderhoveralpha,n.plotfillhoveralpha,Y,Q),Q=e(A.borderhoverthickness,l.borderhoverthickness,n.plotborderhoverthickness,L),ja=e(A.borderhoverdashed,n.plotborderhoverdashed),ma=e(A.borderhoverdashgap,n.plotborderhoverdashgap,J),qa=e(A.borderhoverdashlen,
n.plotborderhoverdashlen,K),ja=ja?X(qa,ma,Q):G,1==O&&V===r&&(V=tb(V,70)),V=m.graphics.getColumnColor(V+","+ha,da,W,fa,M,ea,Y.toString(),0,aa?!0:!1),k.setRolloutAttr={fill:aa?[z(ga[0]),!a.use3dlighting]:z(ga[0]),stroke:g&&z(ga[1]),"stroke-width":L,"stroke-dasharray":G},k.setRolloverAttr={fill:aa?[z(V[0]),!a.use3dlighting]:z(V[0]),stroke:g&&z(V[1]),"stroke-width":Q,"stroke-dasharray":ja}),sa&&f.updateCategory(t,{labelfontcolor:P(r)}),k.displayValue=c(ba,wa),G=k.setTooltext=k.origToolText=Da(B(c(A.tooltext,
n.plottooltext))),k.toolTipValue=d.dataLabels(b,a.parentYAxis)):(b=k.setValue=ra/za*100,ya=d.percentValue(b),k.toolTipValue=ya,k.displayValue=ya,k.valuePosition=c(A.valueposition,a.valuePosition),k.anchorProps=this._parseAnchorProperties(t,ta),k.hoverEffects=this._parseHoverEffectOptions(r)),r=k.toolTipValue,ia=La(ia,b),va=Sa(va,b),v?(a.showTooltip?void 0!==G?(r={formattedValue:r,label:k.label,yaxisName:F,xaxisName:C,cumulativeValue:ra,cumulativeDataValue:d.dataLabels(ra),cumulativePercentValue:ya,
sum:d.dataLabels(za),unformattedSum:za},b=[1,2,3,5,6,7,20,21,22,23,24,25],A=H(G,b,r,A,n)):A=k.label?k.label+ua:"":A=!1,k.toolText=A):A=!1,k.toolText=A,k.tooltext=G,k.setTooltext=A,E&&(S=E));a.maxValue=ia;a.minValue=va},init:function(b,a,c){var d=b.chart.components;b.JSONData={data:a};b.type=c;b.yAxis="line"===c?d.yAxis[1]:d.yAxis[0];b.components={};b.graphics={};b.visible=!0;this.configure.call(b)}}]);FusionCharts.register("component",["datasetGroup","MSSplineArea",{},"area"]);FusionCharts.register("component",
["dataset","MSSplineArea",{configure:function(){FusionCharts.get("component",["dataset","area"]).prototype.configure.call(this);this._calculateMaxMin()},_calculateMaxMin:function(){var b=this.config,a=this.chart,c=a.config,d=a.origRenderWidth,e=c.connectnulldata,f=this.components.data,h=Number.MIN_VALUE,l=Number.MAX_VALUE;0===c.minimizetendency&&(a=a.getSplineExtremities(f,d,e),b.maxValue=La(b.maxValue,a.max),b.minValue=Sa(b.minValue,a.min),b.maxValue===h&&(b.maxValue=0),b.minValue===l&&(b.minValue=
0))},getSplinePath:function(a,c,d,e){var f=function(a,b,c,d){b=(d-b)/za((c-a)*(c-a)+(d-b)*(d-b));b=Qa(.5*b);return a*b+c*(1-b)},k=function(a,b,c,d){var e=a.length,g=a[e-1],f=g.length,h=g[0],g=g[f-2];3>f||("R"!==h&&"C"!==h||3!==f||(a[e-1][0]="L"),b&&a.push(["L",g,d,c,d,"Z"]))},h=/area/ig.test(this.defaultDatasetType),l=[null],m=[],g=[],n=c.getAxisBase();c=c.getAxisPosition(n);var r,q,z,t,A,v,B,F,C,H,G,E,J,K,P,L;P=0;for(L=a.length;P<L;P+=1)if(C=a[P],z=a[P-1]||{},t=a[P+1]||{},A=C.x,n=C.y,r=z.x,z=z.y,
v=t.x,t=t.y,B=C.lastYPos,F=C.lastXPos,G=m.length,C=g.length,e)if(null!==B)if(q=J,P===a.length-1){B=l[P-E-1];C=v=(A+r)/2;G=(C-r)*B+z;if(z>n&&G<n||z<n&&G>n)G=n,C=(G-z)/B+r;J.push(C,G,v,(n+z)/2,A,n);m.push(J);g.push(J);h&&k(m,!0,K,c);h&&k(g,!1)}else{B=l[P-E-1];if(z>n&&t>=n||z<n&&t<=n)if(H=0,v=f(r,z,A,n),t=n,1!==P-E){C=v;G=(C-r)*B+z;if(z>n&&G<n||z<n&&G>n)G=n,C=(G-z)/B+r;J.push(C,G,v,t,A,n)}else J.push((A+r)/2,(n+z)/2,v,t,A,n);else if(z===n)H=0,J.push(r,z,A,n,A,n);else if(z>n&&n>t||z<n&&n<t){H=(t-z)/(v-
r);v=f(r,z,A,n);t=(v-A)*H+n;if(z>n&&t>z||z<n&&t<z)t=z,v=(t-n)/H+A;if(1!==P-E){C=v;G=(C-r)*B+z;if(z>n&&G<n||z<n&&G>n)G=n,C=(G-z)/B+r;J.push(C,G,v,t,A,n)}else J.push((A+r)/2,(n+z)/2,v,t,A,n)}l.push(H)}else null===B&&0!==P?(q||(q=[]),"C"===q[0]&&(m.push(J),g.push(J),h&&k(m,!0,K,c),h&&k(g,!1)),m.push(["M",A,n]),g.push(["M",A,n]),K=A,J=["C"],E=P,l=[null]):(m.push(["M",A,n]),g.push(["M",A,n]),K=A,J=["C"],E=P);else null!==B?2<=G?("M"===m[G-1][0]&&m.push(["R"]),"M"===g[C-1][0]&&g.push(["R"]),G=m.length,C=
g.length,q=m[G-1],r=q.length,m[G-1].push(A),m[G-1].push(n),g[C-1].push(A),g[C-1].push(n),P===d-1&&"R"===q[0]&&(k(m,!0,K,c),k(g,!1))):(m.push(["M",F,B]),m.push(["R",A,n]),g.push(["M",F,B]),g.push(["R",A,n]),K=F):null===B&&2<=G&&(q=m[G-1],"R"===q[0]&&(k(m,!0,K,c),k(g,!1)),m.push(["M",A,n]),g.push(["M",A,n]),K=A);q=m[m.length-1];h&&q&&(r=q.length,"Z"===q[r-1]||"R"!==q[0]&&"C"!==q[0]||(k(m,!0,K,c),k(g,!1)));h||(m=e?m:g,2<=m.length&&k(m,!1));return{closedPath:m,openPath:g}},draw:function(){var a=this,
c=a.config,d=a.chart,e=d.getJobList(),f=a.JSONData,k=d.config,h=d.components,l=h.canvas.config,p=a.index,g,n,r=h.paper,h=h.xAxis[0],q=a.yAxis,t,A,v,C,G=null,H=[],E=[],J=d.graphics,K=k.showtooltip,P,L=a.components.data,M,O,Q,W,R,Y=k.connectnulldata,T,Z,ga=k.minimizetendency,X=q.getAxisBase(),U,ba=c.plotbordercolor,aa=c.plotborderalpha,V=c.plotBorderDashStyle,ka=c.plotborderthickness,da=a.graphics.container,ha=a.graphics.trackerContainer,ea=[],fa,ja=c.fillColor,ma=J.areaGroup,ia=d.get("config","animationObj"),
va=ia.duration,na=ia.animType,qa=a.components.removeDataArr||[],wa=qa.length,za=function(){!1!==a.visible||!1!==a._conatinerHidden&&void 0!==a._conatinerHidden||(da.areaGroup.hide(),Aa.hide(),da.lineShadowGroup.hide(),da.anchorShadowGroup.hide(),da.anchorGroup.hide(),ha.hide(),Ha&&Ha.hide(),a._conatinerHidden=!0)},ta=function(){ma.area.attr({"clip-rect":null});ma.area.node&&ma.area.node.removeAttribute("clip-path");!1!==a.visible&&(da.lineShadowGroup.show(),da.anchorShadowGroup.show(),da.anchorGroup.show(),
Ha.show(),Aa.show())},ra=c.shadow,sa,ua=a.visible;fa=J.trackerGroup;var Aa=da&&da.shadowContainer,Da,ea={},ea=J.datalabelsGroup,Ha=a.graphics.dataLabelContainer,J=l.clip["clip-canvas"].slice(0),l=l.clip["clip-canvas-init"].slice(0),k=!k.drawfullareaborder,Fa=!0,Ga=a.components.pool||[],Ia=ia.dummyObj,ia=ia.animObj,Ca=a.graphics.connector,Ma=0,Na;c.imagesLoaded=0;da||(da=a.graphics.container={lineShadowGroup:r.group("connector-shadow",ma.areaConnector),anchorShadowGroup:r.group("anchor-shadow",ma.areaConnector),
areaGroup:r.group("area",ma.area),anchorGroup:r.group("anchors",ma.areaConnector)},ua||(da.lineShadowGroup.hide(),da.anchorShadowGroup.hide(),da.areaGroup.hide(),da.anchorGroup.hide()));Aa||(Aa=a.graphics.shadowContainer=r.group("shadows",ma.shadows),ua||Aa.hide());ha||(ha=a.graphics.trackerContainer=r.group("area-hot",fa),ua||ha.hide());L||(L=a.components.data);Ha||(Ha=a.graphics.dataLabelContainer=a.graphics.dataLabelContainer||r.group("datalabel",ea),ua||Ha.hide());ua&&(da.lineShadowGroup.show(),
da.anchorShadowGroup.show(),da.areaGroup.show(),da.anchorGroup.show(),Ha.show(),Aa.show(),ha.show());g=h.getCategoryLen();fa=a.graphics.splineElement;for(n=0;n<g;n++)if(M=L[n])P=M&&M.config,R=P.setValue,W=P.setLink,ea=P.anchorProps,Da=ea.shadow,t=P.setLevelTooltext,P&&(U=0<=R?P.previousPositiveY:P.previousNegativeY),Q=M.graphics.element,A=M.graphics.hotElement,Na=M.graphics.image,null===R?(Q&&Q.hide(),A&&A.hide(),Na&&Na.hide(),Y||(G=null)):(q.getAxisPosition(U||X),v=q.getAxisPosition(R+(U||0)),A=
h.getAxisPosition(n),!1===ua&&va&&(v=q.getPixel(q.getAxisBase())),sa=P.hoverEffects,O=K?P.toolText+(t?"":P.toolTipValue):"",P.finalTooltext=O,t=P.eventArgs=P.eventArgs||{},t.index=n,t.link=W,t.value=R,t.displayValue=P.displayValue,t.categoryLabel=h.getLabel(n).label,t.toolText=O,t.id=a.userID,t.datasetIndex=p||0,t.datasetName=f.seriesname,t.visible=ua,sa.enabled&&(P.setRolloverAttr={polypath:[sa.anchorSides||2,A,v,sa.anchorRadius,sa.startAngle,sa.dip],fill:z({color:sa.anchorColor,alpha:sa.anchorBgAlpha}),
stroke:z({color:sa.anchorBorderColor,alpha:sa.anchorBorderAlpha}),"stroke-width":sa.anchorBorderThickness},P.setRolloutAttr={polypath:[ea.symbol[1]||2,A,v,ea.radius,ea.startAngle,0],fill:z({color:ea.bgColor,alpha:ea.bgAlpha}),stroke:z({color:ea.borderColor,alpha:ea.borderAlpha}),"stroke-width":ea.borderThickness},Z=P.setRolloverAttr,T=P.setRolloutAttr),W=[ea.symbol[1]||2,A,v,ea.radius,ea.startAngle,0],ea.imageUrl?(P.anchorImageLoaded=!1,Ma++,P=new B,P.onload=a._onAnchorImageLoad(a,n,t,A,v),P.onerror=
a._onErrorSetter(a,n),P.src=ea.imageUrl):(Na&&Na.hide(),Q||(Ga.element&&Ga.element.length?Q=M.graphics.element=Ga.element.shift():(Q=M.graphics.element=r.polypath(da.anchorGroup),Q.attr({polypath:W}))),Na&&Na.hide(),Q.show().animateWith(Ia,ia,{polypath:W},va,na,Fa&&void 0).attr({fill:z({color:ea.bgColor,alpha:ea.bgAlpha}),stroke:z({color:ea.borderColor,alpha:ea.borderAlpha}),"stroke-width":ea.borderThickness,visibility:ea.radius?ua:Va}).shadow(Da,da.anchorShadowGroup).data("anchorRadius",ea.radius).data("anchorHoverRadius",
sa.anchorRadius).data(Ka,Z).data(ya,T),sa.enabled&&Q&&Q.data("anchorRadius",ea.radius).data("anchorHoverRadius",sa.anchorRadius).data(Ka,Z).data(ya,T),P.trackerConfig||(P.trackerConfig={}),P.trackerConfig.trackerRadius=La(ea.radius,sa&&sa.anchorRadius||0,F)+(ea.borderThickness||0)/2),M._xPos=A,M._yPos=v,E.push({x:A,y:v,lastXPos:C,lastYPos:G}),C=A,G=v);c.noOfImages=c.totalImages=Ma;0===Ma&&(e.trackerDrawID.push(nb.addJob(a.drawTracker,a,[],m.priorityList.tracker)),e.labelDrawID.push(nb.addJob(a.drawLabel,
a,[],m.priorityList.label)));ea=this.getSplinePath.call(d,E,q,g,ga).closedPath;ea=ea.join();fa||(fa=a.graphics.splineElement=r.path(da.areaGroup),fa.attr({path:ea}),va&&ua&&(da.anchorGroup.hide(),da.anchorShadowGroup.hide(),Ha.hide(),Aa.hide(),ma.area.attr({"clip-rect":l}).animateWith(Ia,ia,{"clip-rect":J},va,na,ta)));""===ea?fa.hide():fa.show().animateWith(Ia,ia,{path:ea},va,na,Fa&&za);Fa=!1;fa.attr({stroke:z({color:ba,alpha:aa}),"stroke-width":k?0:ka,fill:z(ja),"stroke-linecap":"round","stroke-linejoin":2<
ka?"round":"miter","stroke-dasharray":V}).shadow(ra,Aa);k&&(Ca||(Ca=a.graphics.connector=r.path(da.areaGroup)),Ca.animateWith(Ia,ia,{path:H},va,na),Ca.attr({stroke:z({color:ba,alpha:aa}),"stroke-width":ka,"stroke-linecap":"round","stroke-linejoin":2<ka?"round":"miter","stroke-dasharray":V}));for(n=0;n<wa;n++)a._removeDataVisuals(qa.shift())}},"area"]);FusionCharts.register("component",["dataset","MSSpline",{type:"spline",configure:function(){var a=FusionCharts.get("component",["dataset","line"]),
c=FusionCharts.get("component",["dataset","MSSplineArea"]);a.prototype.configure.call(this);c.prototype._calculateMaxMin.call(this)},getSplinePath:function(a,c,d){var e=function(a,b,c,d){b=(d-b)/za((c-a)*(c-a)+(d-b)*(d-b));b=Qa(.5*b);return a*b+c*(1-b)},f=function(a,b,c,d){var e=a.length,g=a[e-1],f=g.length,h=g[0],g=g[f-2];3>f||("R"!==h&&"C"!==h||3!==f||(a[e-1][0]="L"),b&&a.push(["L",g,d,c,d,"Z"]))},k=this.chart,h=/area/ig.test(k.defaultDatasetType);c=c.getAxisPosition(c.getAxisBase());var k=k.config.minimizetendency,
l=[null],m=[],g=[],n,r,q,z,t,A,v,B,F,C,G,H,E,J,K,P,L;P=0;for(L=a.length;P<L;P+=1)if(C=a[P],z=a[P-1]||{},t=a[P+1]||{},A=C.x,q=C.y,n=z.x,z=z.y,v=t.x,t=t.y,B=C.lastYPos,F=C.lastXPos,H=m.length,C=g.length,k)if(null!==B)if(r=J,P===a.length-1){B=l[P-E-1];C=v=(A+n)/2;H=(C-n)*B+z;if(z>q&&H<q||z<q&&H>q)H=q,C=(H-z)/B+n;J.push(C,H,v,(q+z)/2,A,q);m.push(J);g.push(J);h&&f(m,!0,K,c);h&&f(g,!1)}else{B=l[P-E-1];if(z>q&&t>=q||z<q&&t<=q)if(G=0,v=e(n,z,A,q),t=q,1!==P-E){C=v;H=(C-n)*B+z;if(z>q&&H<q||z<q&&H>q)H=q,C=(H-
z)/B+n;J.push(C,H,v,t,A,q)}else J.push((A+n)/2,(q+z)/2,v,t,A,q);else if(z===q)G=0,J.push(n,z,A,q,A,q);else if(z>q&&q>t||z<q&&q<t){G=(t-z)/(v-n);v=e(n,z,A,q);t=(v-A)*G+q;if(z>q&&t>z||z<q&&t<z)t=z,v=(t-q)/G+A;if(1!==P-E){C=v;H=(C-n)*B+z;if(z>q&&H<q||z<q&&H>q)H=q,C=(H-z)/B+n;J.push(C,H,v,t,A,q)}else J.push((A+n)/2,(q+z)/2,v,t,A,q)}l.push(G)}else null===B&&0!==P?(r||(r=[]),"C"===r[0]&&(m.push(J),g.push(J),h&&f(m,!0,K,c),h&&f(g,!1)),m.push(["M",A,q]),g.push(["M",A,q]),K=A,J=["C"],E=P,l=[null]):(m.push(["M",
A,q]),g.push(["M",A,q]),K=A,J=["C"],E=P);else null!==B?2<=H?("M"===m[H-1][0]&&m.push(["R"]),"M"===g[C-1][0]&&g.push(["R"]),H=m.length,C=g.length,r=m[H-1],n=r.length,m[H-1].push(A),m[H-1].push(q),g[C-1].push(A),g[C-1].push(q),P===d-1&&"R"===r[0]&&(f(m,!0,K,c),f(g,!1))):(m.push(["M",F,B]),m.push(["R",A,q]),g.push(["M",F,B]),g.push(["R",A,q]),K=F):null===B&&2<=H&&(r=m[H-1],"R"===r[0]&&(f(m,!0,K,c),f(g,!1)),m.push(["M",A,q]),g.push(["M",A,q]),K=A);r=m[m.length-1];h&&r&&(n=r.length,"Z"===r[n-1]||"R"!==
r[0]&&"C"!==r[0]||(f(m,!0,K,c),f(g,!1)));h||(m=k?m:g,2<=m.length&&f(m,!1));return{closedPath:m,openPath:g}},draw:function(){var a=this,d=a.JSONData,e=[],f=[],l=a.chart,f=l.getJobList(),k=l.components,h=k.canvas.config,n=a.config,p=l.config,g=a.index||a.positionIndex,r=p.categories,q=k.paper,t=k.xAxis[0],A=a.yAxis,v,C,H=l.graphics,G=H.datalabelsGroup,E=m.parseUnsafeString,J=m.getValidValue,K,P,L,M,O,S,Q=a.components.data,W,k=n.linethickness,R=a.graphics.container,Y=a.graphics.trackerContainer,T=H.trackerGroup,
Z=p.connectnulldata,p=p.showtooltip,ga=H.datasetGroup,X,H=n.shadow,U=a.graphics.dataLabelContainer,ba={},aa,V,ba=l.get("config","animationObj"),l=ba.duration,da=ba.animType,ka=a.components.removeDataArr||[],ha=ka.length,ea=a.components.pool||[],fa=function(){!1!==a.visible||!1!==a._conatinerHidden&&void 0!==a._conatinerHidden||(R.lineGroup.hide(),R.lineShadowGroup.hide(),R.anchorShadowGroup.hide(),R.anchorGroup.hide(),Y.hide(),U&&U.hide())},ja=function(){ga.lineConnector.attr({"clip-rect":null});
ga.lineConnector.node&&ga.lineConnector.node.removeAttribute("clip-path");!1!==a.visible&&(R.lineShadowGroup.show(),R.anchorShadowGroup.show(),R.anchorGroup.show(),Y.show(),U&&U.show())},ma=a.config.animFlag=a.config.animFlag||(a.config.animFlag=!0),ia=h.clip["clip-canvas"].slice(0),h=h.clip["clip-canvas-init"].slice(0),va=null,na,qa=!1,wa=n.lineDashStyle,za={color:n.linecolor,alpha:n.alpha},ta,ra,sa=ba.dummyObj,ua=ba.animObj,Aa=0,ba=a.graphics.SplineElement,Da=a.visible;n.imagesLoaded=0;ga.lineConnector=
ga.lineConnector||q.group("line-connector",ga);R||(R=a.graphics.container={lineShadowGroup:q.group("connector-shadow",ga.lineConnector),anchorShadowGroup:q.group("anchor-shadow",ga.lineConnector),lineGroup:q.group("spline",ga.lineConnector),anchorGroup:q.group("anchors",ga.lineConnector)},Da||(R.lineShadowGroup.hide(),R.anchorShadowGroup.hide(),R.lineGroup.hide(),R.anchorGroup.hide()));Y||(Y=a.graphics.trackerContainer=q.group("line-hot"),Da||Y.hide());Q||(Q=a.components.data=[]);T&&T.appendChild(Y);
U||(U=a.graphics.dataLabelContainer=a.graphics.dataLabelContainer||q.group("datalabel",G),Da||U.hide());Da&&(R.lineShadowGroup.show(),R.anchorShadowGroup.show(),R.lineGroup.show(),R.anchorGroup.show(),U.show(),Y.show());ta=t.getCategoryLen();for(T=0;T<ta;T++)if(G=Q[T])V=G.config,M=V.setValue,L=V.setLink,O=V.setLevelTooltext,ba=V.anchorProps,aa=ba.symbol,W=ba.shadow,S=V.displayValue,G||(G=Q[T]={graphics:{}}),P=G.graphics.element,ra=G.graphics.image,C=G.graphics.label,v=G.graphics.hotElement,null===
M?(P&&P.hide(),C&&C.hide(),v&&v.hide(),ra&&ra.hide(),Z||(va=null)):(v=t.getAxisPosition(T),C=A.getAxisPosition(M),X=V.hoverEffects,ba.isAnchorHoverRadius=X.anchorRadius,!1===Da&&l&&(C=A.getPixel(A.getAxisBase())),J(E(c(r[T].tooltext,r[T].label))),K=p?V.toolText+(O?"":V.toolTipValue):"",V.finalTooltext=K,O=V.eventArgs||(V.eventArgs={}),O.index=T,O.link=L,O.value=M,O.displayValue=S,O.categoryLabel=t.getLabel(T).label,O.toolText=K,O.id=n.userID,O.datasetIndex=g||0,O.datasetName=d.seriesname,O.visible=
Da,ba.imageUrl?(V.anchorImageLoaded=!1,P=new B,P.onload=a._onAnchorImageLoad(a,T,O,v,C),P.onerror=a._onErrorSetter(a,T),P.src=ba.imageUrl,Aa++):(ra&&ra.hide(),L=[aa[1]||2,v,C,ba.radius,ba.startAngle,0],P||(ea.element&&ea.element.length?P=G.graphics.element=ea.element.shift():(P=G.graphics.element=q.polypath(R.anchorGroup),P.attr({polypath:L}))),P.show().animateWith(sa,ua,{polypath:L},l,da,ma&&fa),P.attr({fill:z({color:ba.bgColor,alpha:ba.bgAlpha}),stroke:z({color:ba.borderColor,alpha:ba.borderAlpha}),
"stroke-width":ba.borderThickness,visibility:ba.radius?Da:Va}).shadow(W,R.anchorShadowGroup),ma=!1,X.enabled&&(L={polypath:[X.anchorSides||2,v,C,X.anchorRadius,X.startAngle,X.dip],fill:z({color:X.anchorColor,alpha:X.anchorBgAlpha}),stroke:z({color:X.anchorBorderColor,alpha:X.anchorBorderAlpha}),"stroke-width":X.anchorBorderThickness},W={polypath:[ba.sides,v,C,ba.radius,ba.startAngle,0],fill:z({color:ba.bgColor,alpha:ba.bgAlpha}),stroke:z({color:ba.borderColor,alpha:ba.borderAlpha}),"stroke-width":ba.borderThickness},
P&&P.data("anchorRadius",ba.radius).data("anchorHoverRadius",X.anchorRadius).data(Ka,L).data(ya,W)),V.trackerConfig||(V.trackerConfig={}),V.trackerConfig.trackerRadius=La(ba.radius,X&&X.anchorRadius||0,F)+(ba.borderThickness||0)/2),e.push({x:v,y:C,lastXPos:na,lastYPos:va}),na=v,va=C,G._xPos=v,G._yPos=C,!ba.imageUrl&&this.drawLabel(T));n.noOfImages=n.totalImages=Aa;0===Aa&&(f.trackerDrawID.push(nb.addJob(a.drawTracker,a,[],m.priorityList.tracker)),f.labelDrawID.push(nb.addJob(a.drawLabel,a,[],m.priorityList.label)));
f=a.getSplinePath(e,A).closedPath;ba=a.graphics.SplineElement;2<=f.length?(ba||(ba=a.graphics.SplineElement=q.path(f,R.lineGroup),qa=!0),ba.show().animateWith(sa,ua,{path:f},l,da,ma&&fa),ba.attr({"stroke-dasharray":wa,"stroke-width":k,stroke:z(za),"stroke-linecap":"round"}).shadow(H,R.lineShadowGroup),ma=!1):ba&&ba.hide();l&&Da&&qa&&(R.anchorGroup.hide(),R.lineShadowGroup.hide(),R.anchorShadowGroup.hide(),U.hide(),ga.lineConnector.attr({"clip-rect":h}).animateWith(sa,ua,{"clip-rect":ia},l,da,ja));
a.drawn=!0;for(T=0;T<ha;T++)a._removeDataVisuals(ka.shift())}},"Line"]);FusionCharts.register("component",["dataset","Bubble",{type:"bubble",configure:function(){var a=this.chart,d=a.components,a=a.jsonData.chart,f=this.JSONData,l=this.config,n=f.data||[],k,h,q,p,g;k=d.colorManager;h=this.index;var d=d.numberFormatter,r,t=m.parseUnsafeString,A=c(t(a.tooltipsepchar),", "),v,B,C,F,G,H,E=-Infinity,J=Infinity,K=-Infinity,L=Infinity,M=-Infinity,O=Infinity,R,Q=m.graphics.getPointColor;l.includeInLegend=
e(f.includeinlegend,1);l.seriesname=t(f.seriesname);l.anchorBgColor=c(f.color,f.plotfillcolor,a.plotfillcolor,k.getPlotColor(h));l.showPlotBorder=e(f.showplotborder,a.showplotborder,1);l.anchorBorderThickness=l.showPlotBorder?e(f.plotborderthickness,a.plotborderthickness,1):0;l.anchorBorderColor=jb(c(f.plotbordercolor,a.plotbordercolor,"666666"));l.plotFillAlpha=c(f.plotfillalpha,f.bubblefillalpha,a.plotfillalpha,"100");l.plotBorderAlpha=c(f.plotborderalpha,a.plotborderalpha,"95");l.negativeColor=
c(a.negativecolor,"FF0000");l.is3d=0!==e(a.use3dlighting,f.is3d,a.is3d);l.bubbleScale=e(a.bubblescale,1);l.minBubbleRadius=e(a.minbubbleradius);l.clipBubbles=e(a.clipbubbles,1);l.showRegressionLine=e(f.showregressionline,a.showregressionline,0);l.enableAnimation=k=e(a.animation,a.defaultanimation,1);l.animation=k?{duration:1E3*e(a.animationduration,1)}:!1;l.showTooltip=e(a.showtooltip,1);l.transposeAnimation=e(a.transposeanimation,k);l.transposeAnimDuration=1E3*e(a.transposeanimduration,.2);l.seriesNameInTooltip=
e(a.seriesnameintooltip,1);l.rotateValues=e(a.rotatevalues)?270:0;l.showHoverEffect=e(a.plothovereffect,a.showhovereffect,void 0);l.showValues=e(f.showvalues,a.showvalues,0);p=this.components.data=this.components.data||(this.components.data=[]);k=n.length;l.showRegressionLine&&(this.events={hide:this.hideRLine,show:this.showRLine},r={sumX:0,sumY:0,sumXY:0,sumXsqure:0,sumYsqure:0,xValues:[],yValues:[],isRegression:!0},l.showYOnX=e(f.showyonx,a.showyonx,1),l.regressionLineColor=jb(c(f.regressionlinecolor,
a.regressionlinecolor,l.anchorBgColor)),l.regressionLineThickness=e(f.regressionlinethickness,a.regressionlinethickness,1),l.regressionLineAlpha=T(e(f.regressionlinealpha,a.regressionlinealpha,100)),l.regLineColor=P(l.regressionLineColor,l.regressionLineAlpha));l.fillColor=l.is3d?z(Q(l.anchorBgColor,l.plotFillAlpha)):z({color:l.anchorBgColor,alpha:l.plotFillAlpha});l.strokeColor=z({color:l.anchorBorderColor,alpha:l.plotFillAlpha});for(h=0;h<k;h++)if(B=n[h],q=p[h]=p[h]||(p[h]={}),!q.graphics&&(q.graphics=
{}),C=q.config={},C.x=d.getCleanValue(B.x),C.y=d.getCleanValue(B.y),C.z=d.getCleanValue(B.z,!0),C.showValue=e(B.showvalue,l.showValues),C.anchorProps={},H=C.label=C.x,C.setLink=Da(B.link),l.max=M=La(M,C.z||0),l.min=O=Sa(O,C.z||0),C.is3d=0!==e(B.is3d,l.is3d),E=La(E,C.x),J=Sa(J,C.x),K=La(K,C.y),L=Sa(L,C.y),q=C.color=jb(c(B.color,0>B.z?l.negativeColor:l.anchorBgColor)),g=C.alpha=c(B.alpha,l.plotFillAlpha),C.colorObj=R=C.is3d?Q(q,g):{color:q,alpha:g},C.setDisplayValue=F=t(c(B.displayvalue,B.name,B.label)),
v=C.formatedVal=null===C.y?C.y:d.dataLabels(C.y),C.displayValue=c(F,C.formatedVal),C.setTooltext=m.getValidValue(t(c(B.tooltext,f.plottooltext,a.plottooltext))),l.showTooltip?null===v?F=!1:void 0!==C.setTooltext?(F=[4,5,6,7,8,9,10,11,12,13,118],v={yDataValue:v,xDataValue:d.xAxis(H),yaxisName:t(a.yaxisname),xaxisName:t(a.xaxisname),zDataValue:d.dataLabels(C.z)},F=m.parseTooltext(C.setTooltext,F,v,B,a,f)):(l.seriesNameInTooltip&&(G=m.getFirstValue(f&&f.seriesname)),F=G?G+A:"",F+=H?d.xAxis(H)+A:"",F+=
v,F+=B.z?A+d.dataLabels(B.z):""):F=!1,C.toolText=F,this.pointValueWatcher(C.x,C.y,l.showRegressionLine&&r),v=C.hoverEffects={},0!==l.showHoverEffect){H=v.enabled=void 0!==c(B.hoveralpha,f.hoveralpha,a.bubblehoveralpha,B.hovercolor,f.hovercolor,f.bubblehovercolor,a.bubblehovercolor,B.borderhovercolor,f.borderhovercolor,a.plotborderhovercolor,B.borderhoveralpha,f.borderhoveralpha,a.plotborderhoveralpha,B.hoverscale,f.bubblehoverscale,a.bubblehoverscale,B.borderhovercolor,f.borderhovercolor,a.plotborderhovercolor,
B.borderhoverthickness,f.borderhoverthickness,a.plotborderhoverthickness,B.negativehovercolor,f.negativeColor,a.negativecolor,B.is3donhover,a.plotfillhovercolor,f.is3donhover,a.is3donhover,void 0);v.negativeColor=c(B.negativehovercolor,f.negativehovercolor,a.negativehovercolor,l.negativeColor);v.is3d=e(B.is3donhover,f.is3donhover,a.is3donhover,C.is3d);v.color=c(B.hovercolor,f.hovercolor,f.bubblehovercolor,a.plotfillhovercolor,a.bubblehovercolor,C.is3d?R.FCcolor.color:q);v.color=v.negativeColor&&0>
B.z?v.negativeColor:v.color;v.scale=c(B.hoverscale,f.hoverscale,f.bubblehoverscale,a.bubblehoverscale,1);v.color=jb(v.color);v.alpha=c(B.hoveralpha,f.hoveralpha,a.plotfillhoveralpha,a.bubblehoveralpha,g);v.borderColor=c(B.borderhovercolor,f.borderhovercolor,a.plotborderhovercolor,l.anchorBorderColor);v.borderAlpha=c(B.borderhoveralpha,f.borderhoveralpha,a.plotborderhoveralpha,v.alpha,l.plotBorderAlpha);v.borderThickness=e(B.borderhoverthickness,f.borderhoverthickness,a.plotborderhoverthickness,l.anchorBorderThickness);
v.color=v.is3d?Q(v.color,v.alpha):{FCcolor:{color:v.color,alpha:v.alpha}};B=H&&l.showHoverEffect?0:l.showHoverEffect;if(1===B){C=(B="string"==typeof v.color)?v.color.split(/\s{0,},\s{0,}/):v.color.FCcolor.color.split(/\s{0,},\s{0,}/);g=C.length;for(q=0;q<g;q++)C[q]=tb(C[q],70);B?v.color=C.join(","):v.color.FCcolor.color=C.join(",")}!1===H&&(v.enabled=!!l.showHoverEffect)}else v.enabled=!1;l.xMax=E;l.xMin=J;l.yMin=L;l.yMax=K;l.regressionData=l.showRegressionLine&&this.getRegressionLineSeries(r,l.showYOnX,
k);this.visible=1===e(f.visible,!Number(f.initiallyhidden),1);this._addLegend()},init:function(a){this.yAxis=this.chart.components.yAxis[0];this.components={};this.graphics={};this.JSONData=a;this.configure()},_addLegend:function(){var a=this.config;this.legendItemId=this.chart.components.legend.addItems(this,this.legendInteractivity,{enabled:a.includeInLegend,fillColor:a.fillColor,strokeColor:a.strokeColor,rawFillColor:a.anchorBgColor,rawStrokeColor:a.anchorBorderColor,anchorSide:1,type:this.type,
label:a.seriesname})},draw:function(){var a=this,c=a.JSONData,d=eb.sqrt,f=a.chart,l=f.getJobList(),k=f.components,h=k.canvas.config,n=k.paper,p=f.config,g=f.graphics,p=Sa(p.canvasHeight,p.canvasWidth)/8,q=g.datasetGroup,r,t,A=a.yAxis,k=k.xAxis[0],v=a.config;r=v._regressionAttr;var B,C,G,H;B=h.clip["clip-canvas"].slice(0);var E=h.clip["clip-canvas-init"].slice(0),J,h=a.components.data,K=a.components.removeDataArr||[],P=K.length,L=a.graphics.container,M=function(){!1===a.visible&&(L.bubbleGroup.hide(),
L.regLineGroup.hide(),X.hide(),U.hide(),a._containerHidden=!0)};J=function(){a.visible&&(X.attr({"clip-rect":null}),L.regLineGroup.attr({"clip-rect":null}))};var O=v.minBubbleRadius,Q=v.bubbleScale,R=f.getDataLimits().zMax||0,R=d(R);H=v.clipBubbles;var W=f.get("config","animationObj"),f=W.duration;C=a.graphics.regressionLineElement;G=v.showRegressionLine;var T=a.visible,Y=v.showTooltip,Z=g.trackerGroup,ga=g.datalabelsGroup,X=a.graphics.dataLabelContainer,U=a.graphics.trackerContainer,ba,aa;ba={};
var V,da,g=!0,ka=W.dummyObj,ha=W.animObj,W=W.animType,ea=a.components.pool||{},fa=FusionCharts.get("component",["dataset","area"]).prototype.drawTracker,ja=v.anchorBorderThickness;ba=a.drawn;L||(L=a.graphics.container={bubbleGroup:n.group("bubble",q),regLineGroup:n.group("regLine",q)},T||(L.bubbleGroup.hide(),L.regLineGroup.hide()));U||(U=a.graphics.trackerContainer=n.group("bubble-hot"),T||U.hide());X||(X=a.graphics.dataLabelContainer=n.group("datalabel",ga),X.attr({"clip-rect":E}).animateWith(ka,
ha,{"clip-rect":B},f,W,J),T||X.hide());H?ba?L.bubbleGroup.animateWith(ka,ha,{"clip-rect":B},f,W):L.bubbleGroup.attr({"clip-rect":B}):(L.bubbleGroup.attr({"clip-rect":null}),L.bubbleGroup.node&&L.bubbleGroup.node.removeAttribute&&L.bubbleGroup.node.removeAttribute("clip-path"));Z&&Z.appendChild(U);T&&(L.bubbleGroup.show(),L.regLineGroup.show(),X.show(),U.show());G?(ba=v.regressionData[0],q=v.regressionData[1],r||(v._regressionAttr=r={}),r.stroke=z({color:v.regressionLineColor,alpha:v.regressionLineAlpha}),
r["stroke-width"]=v.regressionLineThickness,r["stroke-linecap"]="round",r["stroke-linejoin"]=2<v.regressionLineThickness?"round":"miter",r.path="M "+k.getAxisPosition(ba.x)+","+A.getAxisPosition(ba.y)+" L "+k.getAxisPosition(q.x)+","+A.getAxisPosition(q.y),C?C.animateWith(ka,ha,r,f,W):(C=a.graphics.regressionLineElement=n.path(r,L.regLineGroup),L.regLineGroup.attr({"clip-rect":E}),L.regLineGroup.animateWith(ka,ha,{"clip-rect":B},f,W,J))):C&&C.hide();q=0;for(E=h.length;q<E;q+=1)B=h[q],J=B.config,H=
e(J.x,q),Z=J.y,C=J.z,r=B.graphics.element,ga=J.setLink,aa=J.displayValue,G=J.toolText,J.finalTooltext=J.toolText,ba=J.hoverEffects,r=B.graphics.element,t=B.graphics.hotElement,da=B.graphics.label,null!==Z?(t=J.eventArgs||(J.eventArgs={}),t.index=q,t.link=ga,t.value=Z,t.y=Z,t.x=H,t.z=C,t.displayValue=aa,t.toolText=G,t.id=a.userID,t.datasetIndex=a.index||0,t.datasetName=c.seriesname,t.visible=T,G=A.getAxisPosition(Z),H=k.getAxisPosition(H),C=d(C),C=ab(C*p/R)*Q||0,O&&(C=La(C,O)),Z=J.setRolloutAttr={fill:z(J.colorObj),
"stroke-width":v.anchorBorderThickness,stroke:z({color:v.anchorBorderColor,alpha:v.plotBorderAlpha}),r:C},!1!==ba.enabled&&(V=J.setRolloverAttr={fill:z(ba.color),"stroke-width":ba.borderThickness,stroke:z({color:ba.borderColor,alpha:ba.borderAlpha}),r:C*ba.scale}),a.visible||(C=0),r||(ea.element&&ea.element.length?r=B.graphics.element=ea.element.shift():(r=B.graphics.element=n.circle(L.bubbleGroup),r.attr({cx:H,cy:G,r:f?0:C}))),r.show().animateWith(ka,ha,{cx:H,cy:G,r:C||0},f,W,g&&M).attr({fill:z(J.colorObj),
ishot:!Y,"stroke-width":v.anchorBorderThickness,stroke:Z.stroke,visibility:T}),g=!1,J.trackerConfig||(J.trackerConfig={}),J.trackerConfig.trackerRadius=La(C+(ja||0),F),r.data(Ka,V).data(ya,Z),B._xPos=H,B._yPos=G):(r&&r.hide(),t&&t.hide(),da&&da.hide());l.trackerDrawID.push(nb.addJob(fa,a,[],m.priorityList.tracker));a.drawn?a.drawLabel():l.labelDrawID.push(nb.addJob(a.drawLabel,a,[],m.priorityList.label));a.drawn=!0;for(q=0;q<P;q++)a._removeDataVisuals(K.shift())},show:function(){var a=this.chart,
c=this.graphics.container,d=this.graphics.dataLabelContainer,e=this.graphics.trackerContainer;this.visible=!0;c.bubbleGroup.show();c.regLineGroup&&c.regLineGroup.show();d.show();e.show();a._setAxisLimits();a._drawAxis();a._drawDataset()},hide:function(){var a=this.chart;this.visible=!1;a._setAxisLimits();a._drawAxis();a._drawDataset()},getDataLimits:function(){var a=this.config,c=a.yMax,d=a.yMin,e=this.chart.config.transposeAxis,f=a.xMin,k=a.xMax,h=a.max,a=a.min;!1===this.visible&&e&&(c=-Infinity,
f=d=Infinity,k=-Infinity);return{max:c,min:d,xMin:f,xMax:k,zMax:h,zMin:a}},drawLabel:function(){var b=this.chart,c=b.config.dataLabelStyle,d=this.components.data,e=b.components.paper,f;f="";var k=this.config,h=b.get("config","animationObj"),b=h.duration,l=h.animType,m=h.animObj,h=h.dummyObj,k=k.rotateValues,g,n=this.graphics.dataLabelContainer,q,r,z,t,A,v,B,C,F=this.components.pool||{};v=0;for(B=d.length;v<B;v++)if(f=d[v])q=f.config,g=f.graphics,z=f._yPos,r=f._xPos,f=q.displayValue,A=g.label,C=q.showValue,
void 0!==f&&null!==f&&f!==a&&null!==q.z&&C?(f={text:f,fill:c.color,"text-bound":[c.backgroundColor,c.borderColor,c.borderThickness,c.borderPadding,c.borderRadius,c.borderDash],"line-height":c.lineHeight,visibility:Na},A||(F.label&&F.label.length?A=g.label=F.label.shift():(f.x=r,f.y=z,f.transform=e.getSuggestiveRotation(k,r,z),A=g.label=e.text(f,n),t=!0)),t||(A.show().animateWith(h,m,{x:r,y:z,transform:e.getSuggestiveRotation(k,r,z)},b,l),A.attr(f))):A&&A.hide()},_hoverFunc:function(a,c,d){a=a.graphics.element;
c="DataPlotRollOut"===c?a.data(ya):a.data(Ka);d&&a.attr(c)}},"scatter"]);FusionCharts.register("component",["dataset","Pie2D",{type:"pie2d",configure:function(){var a=this.chart,d=a.config,l=d.dataLabelStyle,q=this.config,r=this.JSONData,k=a.jsonData.chart,h=m.parseUnsafeString,u=a.is3D,p,g;this.__setDefaultConfig();n({},this.config,a&&a.config);g=q.enableAnimation=e(k.animation,k.defaultanimation,1);q.animation=g?{duration:1E3*e(k.animationduration,k.moveduration,1)}:!1;q.transposeAnim=g||e(q.transposeanimation,
1)?{duration:1E3*e(k.transposeanimduration,.2)}:!1;q.showPlotBorder=e(k.showplotborder,1);q.showHoverEffect=e(k.plothovereffect,k.showhovereffect,void 0);q.showTooltip=e(k.showtooltip,1);q.toolText=Da(h(c(r.plottooltext,k.plottooltext)));g=q.enableMultiSlicing=e(k.enablemultislicing,1);p=q.use3DLighting=e(k.use3dlighting,1);q.radius3D=p?e(k.radius3d,90):100;q.showZeroPies=e(k.showzeropies,1);q.showPercentInToolTip=e(k.showpercentintooltip,1);q.showLabels=e(k.showlabels,1);q.showValues=e(r.showvalues,
k.showvalues,1);q.showPercentValues=e(k.showpercentvalues,k.showpercentagevalues,0);p=q.toolTipSepChar=c(k.tooltipsepchar,k.hovercapsepchar,f);q.labelSepChar=c(k.labelsepchar,p);q.pieBorderColor=c(k.plotbordercolor,k.piebordercolor);q.pieBorderAlpha=e(k.plotborderalpha,k.pieborderalpha);q.pieBorderThickness=q.showPlotBorder?e(k.plotborderthickness,k.pieborderthickness,d.plotborderthickness,1):0;q.plotDashLen=e(k.plotborderdashlen,5);q.plotDashGap=e(k.plotborderdashgap,4);q.showValueInLegend=e(k.showvalueinlegend,
0);q.showLabelInLegend=e(k.showlabelinlegend,1);q.valueBeforeLabelInLegend=e(k.valuebeforelabelinlegend,0);q.showValueAsPercentInLegend=e(k.showvalueaspercentinlegend,1);q.legendSepChar=c(k.legendsepchar,", ");q.showvalues=e(k.showvalues,1);q.chartPosition=M(a.linkedItems.container);q.timerThreshold=30;q.centerLabelConfig={label:h(c(k.defaultcenterlabel,"")),font:c(k.centerlabelfont,l.fontFamily),fontSize:e(k.centerlabelfontsize,parseInt(l.fontSize,10)),color:jb(c(k.centerlabelcolor,k.valuefontcolor,
d.style.inCanvasStyle.color,"555555")),alpha:e(k.centerlabelalpha,100),bold:e(k.centerlabelbold,l.fontWeight),italic:e(k.centerlabelitalic,l.style),bgColor:c(k.centerlabelbgcolor,""),bgAlpha:e(k.centerlabelbgalpha,100),borderColor:c(k.centerlabelbordercolor,l.borderColor),borderAlpha:e(k.centerlabelborderalpha,100),borderThickness:e(k.centerlabelborderthickness,l.borderThickness),borderRadius:e(k.centerlabelborderradius,l.borderRadius),textPadding:e(k.centerlabeltextpadding,l.borderPadding),padding:e(k.centerlabelpadding,
2),bgOval:e(k.centerlabelbgoval,0),shadow:e(k.showcenterlabelshadow,0),hoverColor:k.centerlabelhovercolor&&jb(c(k.centerlabelhovercolor)),hoverAlpha:e(k.centerlabelhoveralpha),toolText:h(c(k.centerlabeltooltext,""))};q.showLegend=e(k.showlegend,0);q.reverselegend=!e(k.reverselegend,0);a.is3D=u;q.pieYScale=e(k.pieyscale,40);1>q.pieYScale&&(q.pieYScale=1);100<=q.pieYScale&&(q.pieYScale=80);q.pieYScale/=100;q.pieSliceDepth=e(k.pieslicedepth,15);1>q.pieSliceDepth&&(q.pieSliceDepth=1);q.managedPieSliceDepth=
q.pieSliceDepth;q.enableMultiSlicing=!!g;q.startAngle=e(k.startingangle,0)*-(Cb/180);q.usePerPointLabelColor=k.colorlabelsfromplot==Y;q.reversePlotOrder=e(k.reverseplotorder,0);q.animateClockWise=e(k.animateclockwise,q.reversePlotOrder);q.showShadow=e(k.showshadow,1);q.singletonCase=1===r.data.length;q.valueTotal=0;this._setConfigure();this._addLegend()},_parseDisplayProperties:function(a,d){var f,l,m="",k,h,n,p,g,q,r;f=this.chart;var z=f.components.numberFormatter,t=f.jsonData.chart;p=this.config;
h=e(d.y,z.getCleanValue(a.value,!0));var A=p.valueTotal;n=p.showLabels;var v=G(c(d.seriesName,a.label,a.name,""));q=p.showPercentValues;k=p.showPercentInToolTip;var B=p.labelSepChar,C=p.toolTipSepChar,F=p.showTooltip;f=Da(G(c(a.tooltext,p.toolText)));l=d.pValue=z.percentValue(h/A*100);h=d.value=z.dataLabels(h)||"";n=1===e(a.showlabel,n)?v:"";p=1===(r=e(a.showvalue,p.showValues))?1===q?l:h:"";k=k?l:h;g=Da(G(a.displayvalue));q=c(g,v+B+(q?l:h),"");p=void 0!==g&&r?g:""!==p&&""!==n?n+B+p:c(n,p);F&&(void 0!==
f?m=ma(f,[1,2,3,5,6,7,14,24,25],{formattedValue:h,label:v,yaxisName:G(t.yaxisname),xaxisName:G(t.xaxisname),percentValue:l,sum:z.dataLabels(A),unformattedSum:A},a,t):(m=v,m=""!=m?m+C+k:k));d.displayValue=p;d.displayValueArgs=q;d.toolText=m;d.seriesName=v;d.categoryLabel=n},foldingFn:function(a){a=a.data("plotItem");return{ringpath:[a.center[0],a.center[1],a.radius,a.innerDiameter/2,a.angle,a.angle]}},_isStyled:function(a){if(this.chart.config.usedataplotcolorforlabels||a.labelbordercolor||a.labelbgcolor||
a.labelborderthickness||a.labelborderalpha||a.labelalpha||a.labelfont||a.labelfontsize||a.labelfontcolor||a.labelfontalpha||a.labelalpha||a.labelfontbold||a.labelfontitalic||a.labelborderpadding||a.labelborderradius||a.labelbgalpha||a.labelborderdashed||a.labelborderdashlen||a.labelborderdashgap)return!0},_setConfigure:function(a,d){var f,l,m,k,h,n,p,g,q,r,z,t,A,B,C,F,H,E;h=this.chart;var K=h.jsonData.chart,L=h.components;k=L.legend;var M=h.config,O=this.config,R=this.JSONData;l=(r=(a||R).data)&&
r.length;t=O.showZeroPies;var R=O.valueTotal||0,W=[],Q=e(K.plotborderdashed,0),T=this.components.data||(this.components.data=[]),ga=L.numberFormatter,L=L.colorManager,X=O.labelInLeg,da=O.valInLeg,Z=O.centerLabelConfig,ha=O.pieBorderThickness,fa=O.reversePlotOrder,U=O.radius3D,ba=O.enableMultiSlicing,aa=O.lastSlicedid||0,V=e(K.plotBorderDashed,5),ja=e(K.plotborderdashgap,4),ma=e(K.valuebeforelabelinlegend,0),qa=e(K.showvalueaspercentinlegend,1);E=0;var ea=c(K.legendsepchar,", ");h=h.get("config","animationObj");
q=h.duration||0;n=h.dummyObj;g=h.animObj;z=h.animType;M.dataLabelStyle=v({},{},K,M.dataLabelStyle,p);for(h=0;h<l;h+=1)p=r[h],m=ga.getCleanValue(p.value,!0),null===m||!t&&0===m?E+=1:(W.push(p),R+=m);if(E&&T.length>l-E)for(k&&k.emptyItems(T.length-E),h=T.length-1;0<E;--h,--E)if(T[h]){p=T[h];l=p.config;m=p.graphics;for(f in m)k=m[f],k.animateWith(n,g,this.foldingFn.call(this,k),q,z,this.hideFn.call(this,m,f));l.y=null;p.legendItemId=void 0}0===R&&(W=[]);O.valueTotal=R;O.dataLabelCounter=0;for(h=(l=W.length)-
1;0<=h;--h){m=h;a?(E=W[h],m=void 0!==d?d+h:T.length-l+h,p=T[m]):(p=T[h]||(T[h]={graphics:{},config:{}}),E=W[h]);f=p&&p.config;f||(f=T[m].config={});p.graphics||(T[m].graphics={});f.y=m=ga.getCleanValue(E.value,!0);f.seriesName=n=G(c(E.label,E.name,""));p=c(E.color,L.getPlotColor(h));k=c(E.alpha,K.plotfillalpha,ka);g=f.borderConfig=this._parseBorderConfig(p,k,E);q=g.setPlotBorderColor;g=g.setPlotBorderAlpha;r={opacity:La(k,g)/100};if(t=!!e(E.issliced,K.issliced,0))ba||(-1!==aa&&(T[T.length-aa-1].sliced=
!1),O.lastSlicedid=h),O.preSliced=t;B=(z=e(E.dashed,Q))?J(c(E.dashlen,V),c(E.dashgap,ja),ha):"none";this._parseDisplayProperties(E,f);z=X?n:"";da&&(m=qa?ga.legendPercentValue(m/R*100):ga.legendValue(m),z=ma?m+(z&&ea+z):(z&&z+ea)+m);(m=f.displayValue)&&(O.dataLabelCounter+=1);F=f.value;C=f.pValue;m={label:c((A=E.centerlabel||K.centerlabel)&&this.replaceMacros(A,["\\$value","\\$percentValue","\\$displayValue","\\$label"],[F,C,void 0===m?"":m,n]),""),font:Z.font,fontSize:e(E.centerlabelfontsize,Z.fontSize),
color:jb(c(E.centerlabelcolor,Z.color)),alpha:e(E.centerlabelalpha,Z.alpha),bold:e(E.centerlabelbold,Z.bold),italic:e(E.centerlabelitalic,Z.italic),bgColor:c(E.centerlabelbgcolor,Z.bgColor),bgAlpha:e(E.centerlabelbgalpha,Z.bgAlpha),borderColor:c(E.centerlabelbordercolor,Z.borderColor),borderAlpha:e(E.centerlabelborderalpha,Z.borderAlpha),borderThickness:Z.borderThickness,borderRadius:Z.borderRadius,textPadding:Z.textPadding,padding:Z.padding,bgOval:Z.bgOval,shadow:Z.shadow,hoverColor:(H=c(E.centerlabelhovercolor,
Z.hoverColor))&&jb(H),hoverAlpha:e(E.centerlabelhoveralpha,Z.hoverAlpha),toolText:c(E.centerlabeltooltext,"")};this._isStyled(E)?f.style=v(E,{},K,M.dataLabelStyle,p):f.style&&delete f.style;f.showInLegend=""!==z;f.isVisible=!0;f.name=z;f.shadow=r;f.setColor=p;f.color=this._getPointColor(p,k,U);f._3dAlpha=k;f.borderColor=P(q,g);f.borderWidth=ha;f.link=Da(E.link);f.sliced=t;f.dashStyle=B;f.doNotSlice=c(K.enableslicing,Y)!=Y;this._parseHoverEffectOptions(h);f.centerLabelConfig=m;f.radius3D=U}fa&&T&&
T.reverse();O.dataArr=W;O.enableRotation=1<T.length?e(K.enablerotation,1):0},_parseHoverEffectOptions:function(a){var d,f,l,m,k,h,n,p,g;h=this.chart.jsonData.chart;f=this.config;var q=this.components.data[a].config;n=this.JSONData;p=n.data[a];l=q.setColor;m=q._3dAlpha;a=f.radius3D;g=q.borderConfig;k=g.setPlotBorderAlpha;var r=g.setPlotBorderColor;g=f.setBorderWidth;f=e(q.hovereffect,f.showHoverEffect);q=q.hoverEffects={enabled:f};void 0===f&&(f=q.enabled=void 0!==c(p.hovercolor,n.hovercolor,h.plotfillhovercolor,
p.hoveralpha,n.hoveralpha,h.plotfillhoveralpha,p.borderhovercolor,n.borderhovercolor,h.plotborderhovercolor,p.borderhoveralpha,n.borderhoveralpha,h.plotborderhoveralpha,h.plotfillhoveralpha,p.borderhoverthickness,n.borderhoverthickness,h.plotborderhoverthickness,void 0));if(f){d=e(p.highlightonhover,n.highlight,h.highlight,1);(f=c(p.hovercolor,n.hovercolor,h.plotfillhovercolor))&&d&&(d=0);f=c(f,l);l=c(p.hoveralpha,n.hoveralpha,h.plotfillhoveralpha,m);m=c(p.borderhovercolor,n.borderhovercolor,h.plotborderhovercolor,
r);k=c(p.borderhoveralpha,n.borderhoveralpha,h.plotborderhoveralpha,h.plotfillhoveralpha,k);h=e(p.borderhoverthickness,n.borderhoverthickness,h.plotborderhoverthickness,g);f.replace(/,+?$/,"");if(1===d){p=(n="string"==typeof f)?f.split(/\s{0,},\s{0,}/):f.color.split(/\s{0,},\s{0,}/);g=p.length;for(d=0;d<g;d++)p[d]=tb(p[d],70);n?f=p.join(","):f.color=p.join(",")}this._setHoverColor(q,f,l,a);q.borderColor=P(m,k);q.borderWidth=h}else q.enabled=!1},_setHoverColor:function(a,c,d,e){a.color=this._getPointColor(c,
d,e)},replaceMacros:function(a,c,d){for(var e=c.length||0,f;e--;)f=new RegExp(c[e],"gi"),a=a.replace(f,d[e]);return a},containsMacro:function(a,c){for(var d=c.length||0,e;d--;)if(e=new RegExp(c[d],"gi"),e=a.match(e))return!0;return!1},updateData:function(a,c){this.config.valueTotal-=this.components.data[c].config.y;this.__base__.updateData.apply(this,arguments)},_parsePiePlotOptions:function(){var a=this.config;return{size:a.pieMinRadius,slicedOffset:a.slicingDistance}},_parseDataLabelOptions:function(){var a=
this.chart.config.style;return{style:a&&a.inCanvasStyle||a,enabled:!0}},_addLegend:function(){var a,c,d,f=this.chart.components.legend,l=this.components.data;for(a=0;a<l.length;a+=1)d=l[a],c=d.config,null!==c.y&&(d.legendItemId=f.addItems(this,this.legendInteractivity,{index:a,fillColor:z(c.setColor),strokeColor:z(c.borderColor),type:this.type,label:c.seriesName,enabled:e(c.includeInLegend,1),legendItemId:d.legendItemId}))},_parseBorderConfig:function(a,d,e){var f=this.chart.jsonData.chart,m=c(e.bordercolor,
this.config.pieBorderColor);e=c(e.borderalpha,f.plotborderalpha,f.pieborderalpha);m=c(m,tb(a,25)).split(",")[0];e=f.showplotborder==l?l:c(e,d,"80");return{setPlotBorderColor:m,setPlotBorderAlpha:e}},_getPointColor:function(a,c,d){var e,f;a=jb(a);c=T(c);100>d&&X?(e=Math.floor(85*(100-.35*d))/100,e=W(a,e),f=Math.floor(50*(100+d))/100,a=tb(a,f),c={color:a+","+e,alpha:c+","+c,ratio:d+","+(100-d),radialGradient:!0,gradientUnits:"userSpaceOnUse"}):c={color:a+","+a,alpha:c+","+c,ratio:"0,100"};return c},
hideElements:function(){var a=this.data&&this.data("plotItem").chart,c=0,d=this._&&this._.shadows||[];if(a&&a.components.dataset[0])for(this.hide();c<d.length;c+=1)d[c].hide()},hideFn:function(a,c){return function(){a[c].hide()}},singleFillColor:function(a){return z({color:jb(a.color),alpha:T(a.alpha)})},draw:function(){var a,c,d=this.chart,e=d.getJobList(),f=d.graphics,k=d.config,h=k.dataLabelStyle,l=d.graphics,n=this.config,g=n.showShadow,q=d.components.paper,r=this.components,t=r.data,A=r.removeDataArr||
[],v,B,C,F,H;v=k.style;v=f.datasetGroup.trackTooltip(!0);var G=this.graphics,E=this.pool,J=G.container,P=this.visible,L=G.shadowContainer;B=f.datalabelsGroup;var M=G.dataLabelContainer,O,Q,R,W,T,Y,ga,X,da,U=r.data||[],ba=U.length,r=k.canvasLeft+.5*k.canvasWidth,f=k.canvasTop+.5*k.canvasHeight,aa=l.datasetGroup;F=k.alphaanimation;var V=!1,l=function(){V||(V=!0,M.show(),aa.animateWith(Fa,Ga,{opacity:1},ta,Ia))},ka=function(){var a,b;if(c)for(a=0;a<ba;a+=1)b=U[a],b.graphics.element&&b.graphics.element.attr({fill:z(b.config.color)})};
O=function(){var a=n.pieCenter||[],b={cx:a[0],cy:a[1],r:(n.piePlotOptions||[]).size,r2:.5*(n.innerSize||0)};return function(a){var c,d=!1;for(c in a)if(5<Qa(a[c]-b[c])){d=!0;break}return d}}();Q=function(){V||ka()};var ha=d._plotDragMove,fa=d._plotDragStart,ea=d._plotDragEnd,ja=d._plotRollOver,ma=d._plotRollOut,qa=!!n.enableRotation,ia=n.piePlotOptions=this._parsePiePlotOptions(),k=k.textDirection,va=n.dataLabelOptions,na=ia.slicedOffset,wa,ia=ia.size,ya=.5*(n.innerSize||0),za=(n.startAngle||0)%yb,
ta,ra,sa,ua,Aa=za-yb,Da=n.animateClockWise,Ha=d.get("config","animationObj");C=Ha.duration||0;var Fa=Ha.dummyObj,Ga=Ha.animObj,Ia=Ha.animType,Ca;J?(ua=!0,C&&(ta=C,ra=Q),c=O({cx:r,cy:f,r:ia,r2:ya})):(v.pie=q.group("pie",v),v.pieLabels=q.group("pie",v),J=G.container={lineShadowGroup:q.group("connector-shadow",v.pieLabels),anchorShadowGroup:q.group("anchor-shadow",v.pieLabels),pieGroup:G.pieContainer=q.group("pie",v.pie),dataLabel:q.group("dataLabel",v.pie)},L=G.shadowContainer=v.shadows||(v.shadows=
q.group("shadows",J.pieGroup).toBack()),M=G.dataLabelContainer=this.graphics.dataLabelContainer||q.group("datalabel",B).trackTooltip(!0),C&&(ta=C,ra=l,M.hide()));M.css(h);P||(J.lineShadowGroup.hide(),J.anchorShadowGroup.hide(),J.pieGroup.hide(),J.dataLabel.hide(),L.hide(),M.hide());F&&aa.attr({opacity:0});A.length&&this.remove();J=n.valueTotal;P=yb/J;n.pieCenter=[r,f];O=A=za;e.labelDrawID.push(nb.addJob(d.placeDataLabels,d,[!1,t,n],m.priorityList.label));for(e=0;e<ba;e+=1)if(v=U[e],H=v.graphics,Q=
v.config,(Ha=Q._textAttrs)||(Ha=Q._textAttrs={}),R=Q.y,W=Q.displayValue,T=Q.sliced,B=Q.toolText,F=!!Q.link,v=Q.style,Y=F||qa||!Q.doNotSlice,null!==R&&void 0!==R&&!1!==Q.isVisible){O=Q.color;O.r=ia;O.cx=r;O.cy=f;O=A;A-=n.singletonCase?yb:R*P;ga=.5*(A+O);C=H.element;X=H.label;wa=H.connector;if(!C){C=E&&E.element.length?H.element=E.element.splice(0,1)[0].show():H.element=q.ringpath(G.pieContainer).attr({"stroke-linejoin":"round",ishot:Y}).drag(ha,fa,ea).hover(ja,ma);if(ua){if(e<ba)for(sa=void 0,a=e+
1;a<ba&&void 0===sa;a+=1)sa=U[a].config.endAngle;void 0===sa&&(sa=Aa)}else sa=Da?Aa:za;C.attr({ringpath:[r,f,ia,ya,sa,sa]})}void 0!==W?(v?((Ca=Q._textCss)||(Ca=Q._textCss={}),Ca.fontFamily=v.fontFamily,Ca.fontSize=v.fontSize,Ca.lineHeight=v.lineHeight,Ca.fontWeight=v.fontWeight,Ca.fontStyle=v.fontStyle):Q._textCss&&(X.removeCSS(),delete Q._textCss,Ca=void 0),Q.style=v||(v=h),Ha.text=W,Ha.fill=v.color||"#000000",Ha["text-bound"]=[v.backgroundColor,v.borderColor,v.borderThickness,v.borderPadding,v.borderRadius,
v.borderDash],Ha.direction=k,Ha.lineHeight=v.lineHeight,X?(Ca&&(X.css(Ca),delete Ca.fontFamily,delete Ca.fontSize,delete Ca.lineHeight,delete Ca.fontWeight,delete Ca.fontStyle,Ca=void 0),delete Ha.ishot):E&&E.label.length?X=H.label=E.label.splice(0,1)[0]:Ha.ishot=Y,0<va.distance&&(da=va.connectorWidth)&&va.enableSmartLabels?(wa||(wa=E&&E.connector.length?H.connector=E.connector.splice(0,1)[0]:H.connector=q.path("M 0 0 l 0 0",M).attr({visibility:vb,ishot:!0}).drag(ha,fa,ea).hover(ja,ma)),wa.attr({"stroke-width":da,
stroke:va.connectorColor||"#606060"}).show()):wa&&wa.hide()):(Ha.visibility="hidden",X&&X.hide(),wa&&wa.hide());v=Q.plotItem={chart:d,index:e,seriesData:n,value:R,angle:Q.angle=ga,angle1:Q.startAngle=A,angle2:Q.endAngle=O,slicedX:ob(ga)*na,slicedY:zb(ga)*na,sliced:T,labelText:W,toolText:B,name:Q.name,link:Q.link,percentage:J?R*J/100:0,originalIndex:ba-e-1,style:Q.style,color:z(Q.color),borderColor:Q.borderColor,borderWidth:Q.borderWidth,rolloverProperties:Q.hoverEffects,radius:ia,center:[r,f],innerDiameter:2*
ya,centerLabelConfig:Q.centerLabelConfig,graphic:C,isVisible:Q.isVisible,label:X,connector:wa,transX:Q.transX=ob(ga)*na,transY:Q.transY=zb(ga)*na,slicedTranslation:Q.slicedTranslation="t"+ob(ga)*na+","+zb(ga)*na};H={index:n.reversePlotOrder?ba-1-e:e,link:Q.link,value:Q.y,displayValue:Q.displayValueArgs,categoryLabel:Q.categoryLabel,isSliced:T,toolText:B};C.animateWith(Fa,Ga,{ringpath:[r,f,ia,ya,A,O]},ta,Ia,ra);C.attr({"stroke-width":Q.borderWidth,stroke:Q.borderColor,fill:K||ua&&c?this.singleFillColor(Q.color):
z(Q.color),"stroke-dasharray":Q.dashStyle,redrawDataLabels:za,cursor:F?"pointer":"",transform:v.sliced?v.slicedTranslation:""}).show().shadow(g&&Q.shadow,L).tooltip(B).data("plotItem",v).data("eventArgs",H);Ha.plotItem=v;Ha.eventArgs=H;wa&&wa.data("plotItem",v).data("eventArgs",H)}ta?ua&&d.placeDataLabels(!1,t,n):(ka(),l())},remove:function(){var a=this.components.removeDataArr||[],c=this.pool=this.pool={},d=a.length,e=this.config,f,k=e.pieCenter,h,l=k[0],k=k[1],m=this.hideElements,g=e.pieMinRadius,
n=.5*(e.innerSize||0),q,e=e.startAngle-yb;q=this.chart.get("config","animationObj");var r=q.duration||0,z=q.dummyObj,t=q.animObj,v=q.animType;for(q=0;q<d;q++){f=a[0];f=f.graphics;for(h in f)f[h].data("plotItem"),f[h].animateWith(z,t,{ringpath:[l,k,g,n,e,e+.01]},r,v,m),c[h]||(c[h]=[]),c[h].push(f[h]);a.splice(0,1)}},legendInteractivity:function(a,c){a.chart._plotGraphicClick.call(a.components.data[c.configuration.index].graphics.element)},init:function(a){var c=this.chart;if(!a)return!1;this.JSONData=
a;this.chartGraphics=c.chartGraphics;this.components={};this.graphics={};this.visible=1===e(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure()},_getInnerSize:function(){var a,c=this.config,d=this.chart.jsonData.chart;a=e(d.doughnutradius,0);var d=e(d.use3dlighting,1)?e(d.radius3d,d["3dradius"],50):100,f,l,k;f=c.pieMinRadius;100<d&&(d=100);0>d&&(d=0);a=0>=a||a>=f?f/2:a;c.innerRadius=a;if(0<d&&X&&(c=parseInt(a/f*100,10),f=(100-c)/2,d=parseInt(f*d/100,10),d=c+","+d+","+
2*(f-d)+","+d,this&&(k=this.components.data)))for(c=0,f=k.length;c<f;c+=1)l=k[c],l=l.config,l.color&&(l.color.ratio=d,l.hoverEffects&&l.hoverEffects.color&&(l.hoverEffects.color.ratio=d));return 2*a},getEventArgs:function(a){a=a.configuration.index;var c=this.components.data[a].config||{};return{datasetName:c.seriesName,datasetIndex:a,id:c.userID,visible:c.isVisible,label:c.seriesName,value:c.value,percentValue:c.pValue,tooltext:c.toolText,link:c.link,sliced:c.sliced}}},"area"]);FusionCharts.register("component",
["dataset","Pie3D",{type:"pie3d",_parsePie3DOptions:function(){var a=this.config;return{size:2*a.pieMinRadius,slicedOffset:a.slicingDistance,allowPointSelect:!0,cursor:"pointer",innerSize:"pie3d"===this.type?0:this._getInnerSize()}},_parseBorderConfig:function(a,d,e){var f=this.chart.jsonData.chart,m=c(e.bordercolor,this.config.pieBorderColor);e=c(e.borderalpha,f.plotborderalpha,f.pieborderalpha);m=c(m,tb(a,90)).split(",")[0];e=f.showplotborder==l?l:c(e,d,"80");return{setPlotBorderColor:m,setPlotBorderAlpha:e}},
_setHoverColor:function(a,c,d){a.color=c;a.alpha=d},draw:function(){var b,c,d=this.pool||(this.pool={}),e=this.components,f=this.config,k=this.chart,h=k.get("config","animationObj"),l=h.duration||0,m=h.dummyObj,g=h.animObj,n=h.animType,q=k.config;b=k.graphics;var r=e.data,h=f.dataLabelOptions,t=h.style,v=k.components.paper,A=q.tooltip||{},A=A&&!1!==A.enabled,B=f.slicingDistance,C=f.slicedOffsetY||(f.slicedOffsetY=B*f.pieYScale),F=k._plotDragMove,H=k._plotDragStart,G=k._plotDragEnd,E=k._plotRollOver,
J=k._plotRollOut,K=!!f.enableRotation,P=f.showBorderEffect,L=r.length,M=f.usePerPointLabelColor,O=q.textDirection,R,W,T,Y,ga,X,U,ba,aa,V,da,ka;c=e.removeDataArr||[];var ha;V=this.visible;var ea,fa,ja=!1,ma=this.graphics.dataLabelContainer,ia=(f.startAngle||0)%yb,qa,na,wa,ya,za=ia-yb,ta=f.animateClockWise,ra,sa,ua,Aa=b.datasetGroup;ea=q.alphaanimation;var Da=function(){ma.show();k.placeDataLabels(!1)},Ca=function(){ja||(ja=!0,Aa.animateWith(m,g,{opacity:1},l,n,Da))};sa=function(){var a,b;if(!ja)for(Ca(),
a=0;a<L;a+=1)b=r[a],b.graphics.element&&b.graphics.element.attr({fill:z(b.config.color)})};q=q.dataLabelStyle;ma?(ya=!0,l&&(qa=l,na=sa)):(ma=this.graphics.dataLabelContainer=v.group("datalabel",b.datalabelsGroup).trackTooltip(!0),l&&(qa=l,na=Ca,ma.hide(),ea&&Aa.attr({opacity:0})));ma.css(q);V||ma.hide();c.length&&this.remove();k._preDrawCalculate();b=f.center;c=f.pieYScale;r&&L||(r=[]);for(ea=-1;++ea<L;)if(t=r[ea],V=t.config,(sa=V._textAttrs)||(sa=V._textAttrs={}),da=t.graphics,R=V.y,W=V.displayValue,
Y=V.sliced,ba=V.shapeArgs,X=V.centerAngle,aa=V.toolText,T=!!V.link,t=V.style,ga=T||K||!V.doNotSlice,null!==R&&void 0!==R){ra=da.element;ka=da.label;ha=da.connector;if(!ra){ra=da.element=e.Pie3DManager.useSliceFromPool();if(ya){if(ea<L)for(wa=void 0,fa=ea+1;fa<L&&void 0===wa;fa+=1)wa=r[fa].config.shapeArgs.end;void 0===wa&&(wa=ia)}else wa=ta?ia:za;ra||(ra=da.element=e.Pie3DManager.createSlice().drag(F,H,G).mouseover(E).mouseout(J).attr({ishot:ga}));ra.attr({start:-wa,end:-wa,cx:b[0],cy:b[1],r:b[2],
innerR:b[3],radiusYFactor:c})}void 0!==W?(t?((ua=V._textCss)||(ua=V._textCss={}),ua.fontFamily=t.fontFamily,ua.fontSize=t.fontSize,ua.lineHeight=t.lineHeight,ua.fontWeight=t.fontWeight,ua.fontStyle=t.fontStyle):V._textCss&&(ka.removeCSS(),delete V._textCss,ua=void 0),V.style=t||(t=q),sa.text=W,sa.fill=(M?z(V.color):t.color)||"#000000",sa["text-bound"]=[t.backgroundColor,t.borderColor,t.borderThickness,t.borderPadding,t.borderRadius,t.borderDash],sa.direction=O,sa.lineHeight=t.lineHeight,ka?(ua&&(ka.css(ua),
delete ua.fontFamily,delete ua.fontSize,delete ua.lineHeight,delete ua.fontWeight,delete ua.fontStyle,ua=void 0),delete sa.ishot):d&&d.graphics&&d.graphics.label&&d.graphics.label.length?ka=da.label=d.graphics.label.splice(0,1):sa.ishot=ga,0<h.distance&&(U=h.connectorWidth)&&h.enableSmartLabels?(ha||(ha=d&&d.graphics&&d.graphics.connector&&d.graphics.connector.length?da.connector=d.graphics.connector.splice(0,1):da.connector=v.path("M 0 0 l 0 0",ma).attr({visibility:"hidden",ishot:ga}).drag(F,H,G).hover(E,
J)),ha.attr({"stroke-width":U,stroke:h.connectorColor||"#606060",cursor:T?"pointer":""}).show()):ha&&ha.hide()):(ka&&ka.hide(),ha&&ha.hide());R={chart:k,index:ea,seriesData:f,value:R,angle:V.angle=X,link:V.link,shapeArgs:ba,slicedX:Y&&!f.singletonCase?ob(X)*B:0,slicedY:Y&&!f.singletonCase?zb(X)*C:0,sliced:Y,labelText:W,name:V.name,percentage:V.percentage,toolText:aa,originalIndex:L-ea-1,style:V.style,graphic:ra,transX:V.transX=ob(X)*B,transY:V.transY=zb(X)*C,slicedTranslation:V.slicedTranslation=
"t"+V.transX+","+V.transY,label:ka,connector:ha};t={index:f.reversePlotOrder?ea:L-1-ea,link:V.link,value:V.y,displayValue:V.displayValueArgs,categoryLabel:V.categoryLabel,isSliced:V.sliced,toolText:V.toolText};ra.attr({transform:"t"+R.slicedX+","+R.slicedY,cursor:T?"pointer":"",color:V.color.color.split(",")[0],alpha:V._3dAlpha,borderWidth:V.borderWidth,borderColor:V.borderColor,showBorderEffect:P}).animateWith(m,g,{start:ba.start,end:ba.end,r:b[2],innerR:b[3],cx:b[0],cy:b[1],radiusYFactor:c},qa,
n,na).tooltip(A?aa:a).data("groupId",ea).data("plotItem",R).data("eventArgs",t);sa.plotItem=R;sa.eventArgs=t;ha&&ha.data("plotItem",R).data("eventArgs",t)}!l&&Da()},hideFn:function(a,c,d){var e=d&&d.components||{};return function(){c===gb?(e.Pie3DManager.removeSlice(a.element),delete a.element):a[c].hide()}},remove:function(){var a=this.chart,c=this.config,d=this.components.removeDataArr||[],e=this.pool=this.pool=[],f=d.length,k,h,l,m,g=this.hideFn,c=c.startAngle;l=a.get("config","animationObj");
var a=l.duration||0,n=l.dummyObj,q=l.animObj,r=l.animType;for(l=0;l<f;l++){k=d[0];k=k.graphics;for(h in k)m=k[h],e[h]||(e[h]=[]),h===gb?m.animateWith(n,q,{start:-c,end:-c+.01},a,r,g(k,h,this)):e[h].push(m.hide());d.splice(0,1)}},foldingFn:function(){var a=this.config.startAngle;return{start:-a,end:-a+.01}},_getPointColor:function(a,c){a=jb(a);c=T(c);return{color:a+","+a,alpha:c+","+c,ratio:"0,100"}}},"pie2D",{setBorderWidth:void 0,showBorderEffect:void 0}]);FusionCharts.register("component",["dataset",
"Doughnut2D",{type:"doughnut2d",_getPointColor:function(a,c,d){var e;a=jb(a);c=T(c);100>d&&X?(e=W(a,fb(100*(85-.2*(100-d)))/100),a=tb(a,fb(100*(100-.5*d))/100),c={color:e+","+a+","+a+","+e,alpha:c+","+c+","+c+","+c,radialGradient:!0,gradientUnits:"userSpaceOnUse",r:d}):c={color:a+","+a,alpha:c+","+c,ratio:"0,100"};return c},_parsePiePlotOptions:function(){var a=this.__base__._parsePiePlotOptions.call(this);a.innerSize=this._getInnerSize();return a},draw:function(){var a=this.chart,c=a.config,d=this.config,
e=c.canvasLeft+.5*c.canvasWidth,c=c.canvasTop+.5*c.canvasHeight,f,k=d.centerLabelConfig,h=k.label;f=.5*((d.innerSize=this._getInnerSize())||0);this.__base__.draw.call(this);h&&f&&a.drawDoughnutCenterLabel(h,e,c,2*f,2*f,k,!0);d.lastCenterLabelConfig=k},singleFillColor:function(a){return z({color:jb(a.color,1),alpha:T(a.alpha,1)})}},"Pie2D"]);FusionCharts.register("component",["dataset","Doughnut3D",{type:"doughnut3d"},"Pie3D"]);FusionCharts.register("component",["datasetGroup","marimekko",{init:function(){this.__base__.init.call(this);
this.stackConf=[]},getDataSetPosition:function(a,c){var d=this.numVisiblePositions,e=this.stackConfig[a.positionIndex||0],f=this.stackConf[c],k;if(!a.visible&&e.visible||0===d)k=0;return{columnWidth:f.columnWidth,height:k,x:f.x}},draw:function(){var a=this.positionStackArr,c=a.length,d=this.chart.getJobList(),e,f,k,h;this.preDrawCalculate();this.drawLabel();this.drawSumValueFlag=!0;for(e=0;e<c;e++)for(f=a[e],k=f.length,this.manageClip=!0,f=0;f<k;f++)h=a[e][f].dataSet,h.draw();this.drawn?this.drawSumValue():
d.labelDrawID.push(nb.addJob(this.drawSumValue,this,[],m.priorityList.label));this.drawn=!0},preDrawCalculate:function(){var a=this.chart,c=this.stackSumValue,d,f=a.isBar,l=a.jsonData.chart,k=a.components.xAxis[0];d=e(f?l.overlapbars:l.overlapcolumns,a.is3D?0:1);var h=k.getAxisPosition(0),m=k.getAxisPosition(1),n=Qa(m-h),g=La(e(l.plotspacepercent),0),q=e(l.plotpaddingpercent),r,h=a.config.canvasWidth,t,z=m=0,v=k.config.axisRange.min,k=k.config.axisRange.max-v,A=a.config.categories,B;t=0;var C=a.components.numberFormatter;
this.__base__.preDrawCalculate.call(this);a=v;r=this.numVisiblePositions;f=e(f?l.maxbarheight:l.maxcolwidth,Infinity);f=(1-.01*g)*n||Sa(1*n,f*(r||1));f=0===r?f:f/r;Sa(f-1,1<r?d||void 0!==q?0<q?f*q/100:0:4:0);d=0;for(q=c[0].length;d<q;d++)m+=c[0][d];this.totalSumValue=m;for(d=0;d<A.length;d++)f=A[d],f.widthpercent&&(t+=C.getCleanValue(f.widthpercent));100===t&&(B=this.setUserWidth=1);d=0;for(q=c[0].length;d<q;d++)f=A[d],this.stackConf[d]||(this.stackConf[d]={}),t=this.stackConf[d],f=B?C.getCleanValue(f.widthpercent)/
100:c[0][d]/m,t.columnWidth=f*h,z+=f,f=f*k/2+a,a=z*k+v,t.x=f;this.isCrisp=!0},getStackSumPercent:function(){var a=this.stackSumValue,c=this.totalSumValue,d,e=this.chart.components.numberFormatter,f=this.chart.config.categories,k=this.setUserWidth,h=[];for(d=0;d<a[0].length;d++)h[d]=k?e.getCleanValue(f[d].widthpercent):a[0][d]/c*100;return h},drawLabel:function(){var a=this.chart,d=a.components,f=a.linkedItems.smartLabel,l=this.getStackSumPercent(),m=this.stackConf,k,h,n,q=a.graphics.datalabelsGroup,
g=d.numberFormatter,r=0,t,z,v=d.paper,A=a.config.canvasBottom,B=d.xAxis[0];k=a.config.style;var C=a.config.dataLabelStyle,F=l.length,H,G=this.sumValues[0],E,J,K,P=a.jsonData.chart;J=d.canvas.config.clip["clip-canvas"];q=this.labelContainer=this.labelContainer||v.group("labelGroup",q);h=e(P.showxaxispercentvalues,1);var P=this.xLabels=this.xLabels||[],L=a.get("config","animationObj"),a=L.duration,d=L.animType,M=L.dummyObj,L=L.animObj;q.attr({"clip-rect":J});f.setStyle(C);if(h)for(J=c(C.backgroundColor,
"#ffffff"),E=c(""===C.borderColor?"#"+k.inCancolor:C.borderColor,"#000000"),K=c(C.borderThickness,1),n=0;n<F-1;n++)r+=l[n],t=g.percentValue(r),k=B.getAxisPosition(m[n].x)+m[n].columnWidth/2,h=A,H=P[n],G[n].positive===G[n].negative?H&&H.hide():(z={text:t,fill:C.color,"text-bound":[J,E,K,C.borderPadding,C.borderRadius,C.borderDash],"line-height":C.lineHeight,visibility:Na},t=f.getOriSize(t),h=h-t.height/2-K,H?(H.show().animateWith(M,L,{x:k,y:h},a,d),H.attr(z)):(z.x=k,z.y=h,P[n]=v.text(z,q)))},getSumValueConfig:function(a){var c=
a.yAxis,d=a.stack100percent,e=a.sumValue;a=this.chart.components.xAxis[0].getAxisPosition(this.stackConf[a.xValue].x);c=c.getAxisPosition(d?100:e);return{xPos:a,yPos:c}}},"column"]);FusionCharts.register("component",["dataset","marimekko",{type:"marimekko",configure:function(){m.each(this.JSONData.data,function(a){a&&(a.value=Qa(a.value))});this.__base__.configure.call(this)},_addLegend:function(){var a=this.chart,c=a.jsonData.chart,d,f;f=this.config;var a=a.components.legend,l=f.legendSymbolColor;
d=e(c.us3dlighting,c.useplotgradientcolor,1);c=tb(l,60).replace(ja,R);d?(d=tb(l,40),d={FCcolor:{color:l+","+l+","+d+","+l+","+l,ratio:"0,70,30",angle:270,alpha:"100,100,100,100,100"}}):d={FCcolor:{color:l,angle:0,ratio:"0",alpha:"100"}};f={enabled:f.includeInLegend,type:this.type,fillColor:z(d),strokeColor:z(c),rawFillColor:l,label:fa(this.JSONData.seriesname)};this.legendItemId=a.addItems(this,this.legendInteractivity,f)},draw:function(){var a=this,d=a.JSONData,f=a.chart,l=f.getJobList(),n=f.jsonData.chart,
k=f.config,h=a.config,q=a.groupManager,p=a.index,g,r,v=a.visible,A=f.components;r=A.canvas.config.clip;var B=A.paper,A=A.xAxis[0],C=A.getCategoryLen(),F=a.yAxis,H=f.graphics.datasetGroup,G=f.config.isstacked,E,J,P,L=f.graphics,M=m.parseUnsafeString,O=m.getValidValue,R=m.Raphael,W=k.showtooltip,Q=f.get("config","animationObj"),T=Q.duration,Y=Q.dummyObj,ga=Q.animObj,Q=Q.animType,X=A.getAxisPosition(0),Z=A.getAxisPosition(1),da=h.groupMaxWidth=Z-X,X=q.stackSumValue[a.positionIndex],Z=k.maxcolwidth,Z=
(1-.01*h.definedgrouppadding)*da||Sa(1*da,1*Z),ha,U,ba,aa=a.components,V=aa.data,ka,fa,ja,ea,ma,qa=a.drawn,wa=aa.removeDataArr,wa=wa&&wa.length,ia=(aa=aa.addDataArr)&&aa.length,aa=F.getAxisBase(),va=F.yBasePos=F.getAxisPosition(aa),na,ya=0,h=h.showshadow,za=k.plotborderthickness,Da=k.useroundedges,ta=a.graphics,ra=ta.container,sa=ta.trackerContainer,ua=ta.dataLabelContainer,Aa=ta.shadowContainer,ta=ta.pool;ja=L.trackerGroup;var Ca,Fa=1,Ga=A.getAxisPosition(C-1)+0,Ia=A.getAxisPosition(0)+0,Ka=!0,La=
a.startPosition,L=q.stackConf,Ma=k.showplotborder,Na=function(){!1!==a.visible||!1!==a._conatinerHidden&&void 0!==a._conatinerHidden||(ra.hide(),sa.hide(),Aa.hide(),ua&&ua.hide(),a._conatinerHidden=!0)},Oa=function(){Ka&&Na();this.show()},Pa=function(){return La?function(a,b){a.x=Ia-da*(ia-b);a.y=J;a.height=U}:!1===La?function(a){a.x=Ga+da*Fa++;a.y=J;a.height=U}:function(a){a.width=0}},f=f.components.canvas.config;Ca=f.oriCanvasBorderThickness;var f=0<f.canvasBorderWidth,Ra=k.canvasRight,Ta=k.canvasTop,
k=k.canvasLeft;qa&&(Pa=Pa());ra||(ra=a.graphics.container=B.group("columns",H),v||ra.hide());sa||(sa=a.graphics.trackerContainer=B.group("col-hot",ja),v||sa.hide());Aa||(Aa=a.graphics.shadowContainer=B.group("shadow",H).toBack(),v||Aa.hide());r=r["clip-canvas"];f||(r[3]+=Ca/2,K&&(r[2]+=2*Ca));qa?(ra.animateWith(Y,ga,{"clip-rect":r},T,Q),Aa.animateWith(Y,ga,{"clip-rect":r},T,Q)):(ra.attr({"clip-rect":r}),Aa.attr({"clip-rect":r}));for(r=0;r<C;r++)g=(fa=(H=V[r])&&H.config)&&fa.setValue,void 0!==H&&null!==
g&&(ja=q.getDataSetPosition(a,r),ha=e(ja.columnWidth,Z/1),ea=ja.height,ja=fa.setLink,Ca=fa.colorArr,H.graphics||(V[r].graphics={}),ma=fa.displayValue,na=fa.previousPositiveY,ka=O(M(c(fa.origToolText,d.plottooltext,n.plottooltext))),G&&(na=a._parseValues(r,na,X[r],ka),g=fa.value),E=L[r].x,ba=F.getAxisPosition(na||aa),E=A.getAxisPosition(E)-ha/2,0!==ea?(J=F.getAxisPosition(g+(na||0)),U=Qa(ba-J)):(U=0,J=ba),J=Sa(J,ba),parseInt(J)<=Ta&&(U-=Ta-J-+f,J=Ta-+f),1>=za&&(ab(E)<=k&&(ha+=E,E=k-za/2+ +!!za-+f,
ha-=E),ab(E+ha)>=Ra&&(ha=Ra-E+za/2-+!!za+ +f)),q.isCrisp&&(P=R.crispBound(E,J,ha,U,za),E=P.x,J=P.y,ha=P.width,U=P.height),na=H.trackerConfig||(H.trackerConfig={}),ba=!1!==fa.toolText&&fa.toolText+(ka?"":fa.toolTipValue),ka=fa.plotBorderDashStyle,ea=na.eventArgs||(na.eventArgs={}),ea.index=r,ea.link=ja,ea.value=g,ea.displayValue=ma,ea.categoryLabel=fa.label,ea.toolText=ba,ea.id="",ea.datasetIndex=p||0,ea.datasetName=d.seriesname,ea.visible=v,T||(va=J,ya=U),g={x:E,y:va,width:ha,height:ya||1,r:Da,ishot:!W,
fill:z(Ca[0]),stroke:z(Ca[1]),"stroke-width":Ma?za:0,"stroke-dasharray":ka,"stroke-linejoin":"miter",visibility:v},H._xPos=E,H._yPos=J,H._height=U,H._width=ha,H._index=r,!H.graphics.element&&qa&&(Pa(g,r),ta&&ta[0].graphics.element?(fa=ta[0].graphics.element,fa.attr(g)):fa=H.graphics.element=B.rect(g,ra),ta&&ta[0].graphics.hotElement&&(H.graphics.hotElement=ta[0].graphics.hotElement),ta&&ta.splice(0,1)),H.graphics.element?(g={x:E,y:J,width:ha,height:U||1},T?fa=H.graphics.element.animateWith(Y,ga,g,
T,Q,Oa):(fa=H.graphics.element.attr(g),Ka&&Na())):(fa=H.graphics.element=B.rect(g,ra),T&&(fa.animateWith(Y,ga,{y:J,height:U||1},T,Q),Ka=!1)),fa.attr({r:Da,ishot:!W,fill:z(Ca[0]),stroke:z(Ca[1]),"stroke-width":Ma?za:0,"stroke-dasharray":ka,"stroke-linejoin":"miter"}).shadow({opacity:h},Aa).data("BBox",P),g=na.attr||(na.attr={}),g.x=E,g.y=J,g.width=ha,g.height=U,g.r=Da,g.cursor=ja?"pointer":"",g.stroke=t,g["stroke-width"]=za,g.fill=t,g.ishot=!0,g.visibility=v);l.trackerDrawID.push(nb.addJob(a.drawTracker,
a,[],m.priorityList.tracker));a.drawn?a.drawLabel():l.labelDrawID.push(nb.addJob(a.drawLabel,a,[],m.priorityList.label));a.drawn=!0;wa&&a.remove()},getDataLimits:function(){var a=this.conf;return{max:a.yMax,min:a.yMin,xMax:100,xMin:0}}},"column"])}]);FusionCharts.register("module",["private","modules.renderer.js-interface",function(){var d=this,m=d.hcLib,E=d.renderer.getRenderer("javascript"),n=m.hasModule,C=m.loadModule,B=m.getMetaSentence,K=m.moduleCmdQueue,a=m.executeWaitingCommands,M=m.injectModuleDependency,
f=m.moduleDependencies,l=m.getDependentModuleName,O,X;O=function(f){var n,q,c,v={},C;f=B(f);for(n in d.core.items)n=d.core.items[n],q=n.chartType(),c=n.options.chartTypeSourcePath+q,(q=n.jsVars)&&q.waitingModule&&n.__state.rendering&&m.needsModule(f.predicate,c)&&(q.waitingModuleError=!0,q=l(c).concat(q.userModules),q.length&&(q=q[q.length-1],v[q]=m.moduleCmdQueue[q]));for(C in v)a(v[C]);d.raiseError(d.core,"11171116151","run","HC-interface~renderer.load","Unable to load required modules and resources: "+
f.key)};X=function(a,f,l){var c=a.args,m=a.options;a._chartMessageImageStyle={imageHAlign:c.typeNotSupportedMessageImageHAlign||m.baseChartMessageImageHAlign,imageVAlign:c.typeNotSupportedMessageImageVAlign||m.baseChartMessageImageVAlign,imageAlpha:c.typeNotSupportedMessageImageAlpha||m.baseChartMessageImageAlpha,imageScale:c.typeNotSupportedMessageImageScale||m.baseChartMessageImageScale};a._chartMessageStyle={color:c.typeNotSupportedMessageColor||m.baseChartMessageColor,fontFamily:c.typeNotSupportedMessageFont||
m.baseChartMessageFont,fontSize:c.typeNotSupportedMessageFontSize||m.baseChartMessageFontSize};d.hcLib.createChart(a,f,"base",l,m.typeNotSupportedMessage)};m.eventList=d.extend(d.legacyEventList,{loaded:"FC_Loaded",dataloaded:"FC_DataLoaded",rendered:"FC_Rendered",drawcomplete:"FC_DrawComplete",dataxmlinvalid:"FC_DataXMLInvalid",nodatatodisplay:"FC_NoDataToDisplay",exported:"FC_Exported"});m.raiseEvent=d.raiseEventWithLegacy;f.charts=d.extend(f.charts||{},{column2d:0,column3d:0,bar2d:0,bar3d:0,pie2d:0,
pie3d:0,line:0,area2d:0,doughnut2d:0,doughnut3d:0,pareto2d:0,pareto3d:0,mscolumn2d:0,mscolumn3d:0,msline:0,msarea:0,msbar2d:0,msbar3d:0,stackedcolumn2d:0,marimekko:0,stackedcolumn3d:0,stackedarea2d:0,stackedcolumn2dline:0,stackedcolumn3dline:0,stackedbar2d:0,stackedbar3d:0,msstackedcolumn2d:0,mscombi2d:0,mscombi3d:0,mscolumnline3d:0,mscombidy2d:0,mscolumn3dlinedy:0,stackedcolumn3dlinedy:0,msstackedcolumn2dlinedy:0,scatter:0,bubble:0,ssgrid:0,scrollcolumn2d:0,scrollcolumn3d:0,scrollline2d:0,scrollarea2d:0,
scrollstackedcolumn2d:0,scrollcombi2d:0,scrollcombidy2d:0,zoomline:0,zoomlinedy:0,zoomscatter:0});f.powercharts=d.extend(f.powercharts||{},{spline:0,splinearea:0,msspline:0,mssplinearea:0,mssplinedy:0,multiaxisline:0,multilevelpie:0,waterfall2d:0,msstepline:0,inversemsline:0,inversemscolumn2d:0,inversemsarea:0,errorbar2d:0,errorscatter:0,errorline:0,logmsline:0,logmscolumn2d:0,logstackedcolumn2d:0,radar:0,dragnode:0,candlestick:0,selectscatter:0,dragcolumn2d:0,dragline:0,dragarea:0,boxandwhisker2d:0,
kagi:0,heatmap:0,treemap:0});f.widgets=d.extend(f.widgets||{},{angulargauge:0,bulb:0,cylinder:0,drawingpad:0,funnel:0,hbullet:0,hled:0,hlineargauge:0,vlineargauge:0,pyramid:0,realtimearea:0,realtimecolumn:0,realtimeline:0,realtimelinedy:0,realtimestackedarea:0,realtimestackedcolumn:0,sparkcolumn:0,sparkline:0,sparkwinloss:0,thermometer:0,vbullet:0,gantt:0,vled:0});f.maps=d.extend(f.maps||{},{});d.extend(E,{render:function(a,f){var q=this.chartType(),c=this.options.chartTypeSourcePath+q,v=this.jsVars,
B=this.__state,e=m.chartAPI,r=this.options,C=this.args,z=this.options.showChartLoadingMessage,P,G;P=l(c).concat(v.userModules);v.isResizing&&(v.isResizing=clearTimeout(v.isResizing));v.hcObj&&v.hcObj.destroy&&v.hcObj.destroy();if(e[q]){if(e[B.lastRenderedType]&&B.lastRenderedType!==q)for(G in d.raiseEvent("chartTypeChanged",{previousType:B.lastRenderedType,newType:q},this),e[B.lastRenderedType].eiMethods)delete this[G];B.lastRenderedType=q;B.lastRenderedSrc=this.src;!v.waitingModuleError&&m.raiseEvent("internal.loaded",
{type:q,triggeredModuleLoad:v.drLoadAttempted||v.waitingModule},this,[this.id]);delete v.waitingModule;delete v.waitingModuleError;delete v.drLoadAttempted;d.hcLib.createChart(this,a,q,f)}else{if(q&&n(P)){if(v.drLoadAttempted){d.raiseError(this,11112822001,"run","HC-interface~renderer.render","Chart runtimes not loaded even when resource is present");X(this,a,f);return}M(c)&&(P=l(c).concat(v.userModules));v.drLoadAttempted=!0}else{if(!P.length){X(this,a,f);return}if(v.waitingModuleError){X(this,a,
f);delete v.waitingModule;delete v.waitingModuleError;return}}(q=K[P[P.length-1]])?(q.push({cmd:"render",obj:this,args:arguments}),v.waitingModule||(v=z?r.PBarLoadingText||r.loadMessage:"",this._chartMessageImageStyle={imageHAlign:C.loadMessageImageHAlign||r.baseChartMessageImageHAlign,imageVAlign:C.loadMessageImageVAlign||r.baseChartMessageImageVAlign,imageAlpha:C.loadMessageImageAlpha||r.baseChartMessageImageAlpha,imageScale:C.loadMessageImageScale||r.baseChartMessageImageScale},this._chartMessageStyle=
{color:C.loadMessageColor||r.baseChartMessageColor,fontFamily:C.loadMessageFont||r.baseChartMessageFont,fontSize:C.loadMessageFontSize||r.baseChartMessageFontSize},d.hcLib.createChart(this,a,"base",void 0,v),E.load.call(this,a,f))):(d.raiseError(this,12080515551,"run","HC-interface~renderer.render","Unregistered module in dependentModule definition."),this._chartMessageImageStyle={imageHAlign:C.renderErrorMessageImageHAlign||r.baseChartMessageImageHAlign,imageVAlign:C.renderErrorMessageImageVAlign||
r.baseChartMessageImageVAlign,imageAlpha:C.renderErrorMessageImageAlpha||r.baseChartMessageImageAlpha,imageScale:C.renderErrorMessageImageScale||r.baseChartMessageImageScale},this._chartMessageStyle={color:C.renderErrorMessageColor||r.baseChartMessageColor,fontFamily:C.renderErrorMessageFont||r.baseChartMessageFont,fontSize:C.renderErrorMessageFontSize||r.baseChartMessageFontSize},d.hcLib.createChart(this,a,"base",void 0,r.renderErrorMessage))}},update:function(a){var f=this.ref,l=this.jsVars,c=l&&
l.fcObj,c=l.container||c&&c.options&&c.options.containerElement&&c.options.containerElement.childNodes[0];l.hcObj&&l.hcObj.destroy&&l.hcObj.destroy();l.isResizing&&(l.isResizing=clearTimeout(l.isResizing));void 0===a.error?(delete l.stallLoad,delete l.loadError,this.isActive()?this.src!==this.__state.lastRenderedSrc?this.render():d.hcLib.createChart(this,c):this.__state.rendering&&!l.waitingModule&&d.hcLib.createChart(this,c)):(this.isActive()&&"function"===typeof f.showChartMessage&&f.showChartMessage("InvalidXMLText"),
delete l.loadError)},resize:function(a){var f=this.ref,l,c=this.jsVars;f&&f.resize&&(c.isResizing&&(c.isResizing=clearTimeout(c.isResizing)),c.isResizing=setTimeout(function(){l=d.normalizeCSSDimension(a.width,a.height,f);void 0!==a.width&&(f.style.width=l.width);void 0!==a.height&&(f.style.height=l.height);f.resize();delete c.isResizing},0))},dispose:function(){var a,f=this.jsVars;f.isResizing&&(f.isResizing=clearTimeout(f.isResizing));f.instanceAPI&&f.instanceAPI.dispose&&(f.instanceAPI.dispose(),
delete f.instanceAPI);if(a=this.ref)d.purgeDOM(a),a.parentNode&&a.parentNode.removeChild(a);f.container=null;m.cleanupWaitingCommands(this)},load:function(f,n){var q=this.jsVars,c=this.chartType(),v=d.hcLib.chartAPI[c],c=l(c).concat(q.userModules),B=c[c.length-1];v||!c||c&&0===c.length?(delete q.waitingModule,f&&X(this,f||this.ref,n)):q.waitingModule||(q.waitingModule=!0,delete q.waitingModuleError,C(c,function(){delete q.waitingModule;a(m.moduleCmdQueue[B])},O,this))}})}]);FusionCharts.register("module",
["private","modules.api.dynamicchartattributes",function(){var d=this;d.extend(d.core,{setChartAttribute:function(m,E){var n,C,B,K;if("string"===typeof m)n=m,m={},m[n]=E;else if(null===m||"object"!==typeof m)return;K=0;if(B=(n=this.getChartData(d.dataFormats.JSON))&&(n.chart||n.graph||n.map)){for(C in m)K+=1,null===m[C]?delete B[C.toLowerCase()]:B[C.toLowerCase()]=m[C];0<K&&("undefined"===typeof B.animation&&(B.animation="0"),this.setChartData(n,d.dataFormats.JSON))}else d.raiseError(this,"2105141421",
"run","#setChartAttribute()","Could not retrieve attribute list. Is data ready?")},getChartAttribute:function(m){var E=this.getChartData(d.dataFormats.JSON),E=E&&(E.chart||E.graph||E.map),n,C;if(0===arguments.length||void 0===m||void 0===E)return E;if("string"===typeof m)n=E[m.toString().toLowerCase()];else if(m instanceof Array)for(n={},C=0;C<m.length;C+=1)n[m[C]]=E[m[C].toString().toLowerCase()];else d.raiseError(this,"25081429","param","~getChartAttribute()",'Unexpected value of "attribute"');
return n}},!0)}]);FusionCharts.register("module",["private","api.linkmanager",function(){var d=this,m=d.FusionChartsDOMInsertModes,E={},n=function(m,n){this.items={};this.root=m;this.parent=n;n instanceof d.core?this.level=this.parent.link.level+1:(E[m.id]=[{}],this.level=0)},C=function(d,n){return(d.options.containerElement===n.options.containerElement||d.options.containerElementId===n.options.containerElementId)&&d.options.insertMode===m.REPLACE};d.policies.link=["link",void 0];n.prototype.configuration=
function(){return E[this.root.id][this.level]||(E[this.root.id][this.level]={})};d.extend(d.core,{configureLink:function(m,n){var a;if(m instanceof Array){for(a=0;a<m.length;a+=1)"object"!==typeof E[this.link.root.id][a]&&(E[this.link.root.id][a]={}),d.extend(E[this.link.root.id][a],m[a]);E[this.link.root.id].splice(m.length)}else"object"===typeof m?("number"!==typeof n&&(n=this.link.level),void 0===E[this.link.root.id][n]&&(E[this.link.root.id][n]={}),d.extend(E[this.link.root.id][n],m)):d.raiseError(this,
"25081731","param","~configureLink()","Unable to update link configuration from set parameters")}},!0);d.addEventListener("beforeRender",function(m){m.sender.link instanceof n&&!m.sender.link.root.disposed?m.sender.link.parent instanceof d.core&&(m.sender.link.parent.link.items[m.sender.id]=m.sender):m.sender.link=new n(m.sender)});d.addEventListener("linkedChartInvoked",function(m,E){var a=m.sender,M=a.clone({dataSource:E.data,dataFormat:E.linkType,link:new n(a.link.root,a)},!0),f=E.alias,l;f&&(!M.typeSource&&
M.swfUrl&&(M.typeSource=M.swfUrl.replace(/(.*?)?[^\/]*\.swf.*?/ig,"$1")),M.type=f);a.args&&0!==parseInt(a.args.animate,10)&&delete M.animate;d.extend(M,a.link.configuration());d.raiseEvent("beforeLinkedItemOpen",{level:a.link.level},a.link.root,void 0,function(){d.core.items[M.id]instanceof d.core&&d.core.items[M.id].dispose();l=new d.core(M);C(l,a)||a.options.overlayButton&&a.options.overlayButton.message||("object"!==typeof a.options.overlayButton&&(a.options.overlayButton={}),a.options.overlayButton.message=
"Close");l.render();d.raiseEvent("linkedItemOpened",{level:a.link.level,item:l},a.link.root)})});d.addEventListener("overlayButtonClick",function(m,n){if("LinkManager"===n.id){var a=m.sender,E=a.link.level-1,f=a.link.parent,l=a.link.root;d.raiseEvent("beforeLinkedItemClose",{level:E,item:a},l,a,function(){setTimeout(function(){d.core.items[a.id]&&a.dispose();d.raiseEvent("linkedItemClosed",{level:E},l)},0);f.disposed||f.isActive()||!C(a,f)||f.render()})}});d.addEventListener("Loaded",function(m){m=
m.sender;var n;m&&void 0!==m.link&&m.link.root!==m&&m.link.parent instanceof d.core&&(m.ref&&"function"===typeof m.ref.drawOverlayButton?(n=d.extend({show:!0,id:"LinkManager"},m.link.parent.options.overlayButton),d.extend(n,m.link.parent.link.configuration().overlayButton||{}),m.ref.drawOverlayButton(n)):d.raiseWarning(m,"04091602","run","::LinkManager^Loaded","Unable to draw overlay button on object. -"+m.id))});d.addEventListener("beforeDispose",function(m){var C=m.sender;C&&C.link instanceof n&&
(C&&C.link&&C.link.parent instanceof d.core&&C.link.parent.link&&C.link.parent.link.items&&delete C.link.parent.link.items[m.sender.id],delete E[C.id])})}]);FusionCharts.register("module",["private","modules.renderer.js-thememanager",function(){var d=this,m,E,n,C=/\s+!important$/,B=/\\!important$/,K=function(a,d){for(var c=d.length,f=-1;c--;)if(a===d[c]){f=c;break}return f},a=function(d,f,c,l,m){var e,n,t,z;m?(l.push(d),m.push(f)):(l=[d],m=[f]);if(f instanceof Array)for(e=0;e<f.length;e+=1){try{n=
d[e],t=f[e]}catch(B){continue}if("object"!==typeof t)c&&void 0===t||(d[e]=t);else{if(null===n||"object"!==typeof n)n=d[e]=t instanceof Array?[]:{};z=K(t,m);-1!==z?n=d[e]=l[z]:a(n,t,c,l,m)}}else for(e in f){try{n=d[e],t=f[e]}catch(B){continue}if(null!==t&&"object"===typeof t)if(z=Object.prototype.toString.call(t),"[object Object]"===z){if(null===n||"object"!==typeof n)n=d[e]={};z=K(t,m);-1!==z?n=d[e]=l[z]:a(n,t,c,l,m)}else"[object Array]"===z?(null!==n&&n instanceof Array||(n=d[e]=[]),z=K(t,m),-1!==
z?n=d[e]=l[z]:a(n,t,c,l,m)):d[e]=t;else d[e]=t}return d},M=function(d,f,c){if("object"!==typeof d&&"object"!==typeof f)return null;if("object"!==typeof f||null===f)return d;"object"!==typeof d&&(d=f instanceof Array?[]:{});a(d,f,c);return d},f=function(a){var d={important:!1,str:""};if(!a)return d;a=a.toString();C.test(a)?(a=a.replace(C,""),d.important=!0):(a=a.replace(B,"!imporant"),d.important=!1);d.str=a;return d},l=function(a,d){var c,f,m,e,n,t,z=0,B=0;for(c in a)if(f=a[c],f instanceof Array)for(t=
f.length,n=0;n<t;n+=1){if(e=f[n],"object"===typeof e)if("category"===c)if("true"===e.vline){if(m=d.component("vline",z,e))O(e,m),z+=1}else{if(m=d.component("category",B,e,t))O(e,m),B+=1}else if(m=d.component(c,n,e,t))O(e,m),l(e,m)}else"object"===typeof f&&(m=d.component(c,null,f))&&(O(f,m),l(f,m))},O=function(a,d){var c=d.getAll(),l,m;for(l in c)m=c[l].toString(),m=f(m),m.important?a[l.toLowerCase()]=m.str:void 0===a[l.toLowerCase()]&&(a[l.toLowerCase()]=m.str)},X=function(a,d){"geo"===d.defaultSeriesType&&
t.call(this,a,d)},t=function(a,f){var c=a.sender,l=c.getChartData(d.dataFormats.JSON,!0),m;l.error||((m=l.data.chart.theme)?n.themify(m,c,c.chartType(),l.data,"geo"===f.defaultSeriesType&&"geo"):c.jsVars&&c.jsVars.themeObject&&c.jsVars.themeObject.dispose())};m=function(){this.themeStore={}};m.prototype={constructor:m,add:function(a){for(var d=0,c=a.length,f;d<c;d+=1)(f=a[d].name)&&(this.themeStore[f]=a[d])},themify:function(a,f,c,l,m){var e=f.jsVars,n=a.split(","),B=[],z=n.length,C,G;if(z){for(G=
0;G<z;G+=1){C=this.themeStore;var K;K=n[G];K=K.replace(/^\s\s*/,"");for(var M=/\s/,O=K.length;M.test(K.charAt(--O)););K=K.slice(0,O+1);(C=C[K])&&B.push(this.evaluateThemeJSON(C.theme,f,c,m))}B.length?(e.themeObject=new E(B,f,!1,l),this.applyTheme(f),f.addEventListener("chartTypeChanged",t),f.addEventListener("internal.drawstart",X)):d.raiseWarning(f,"14051100501","run","api.themes~themify()",'The theme "'+a+'" requested has not been registered.')}},evaluateThemeJSON:function(a,d,c,f){var l={},e=d.jsVars,
m=function(a){var c,d;for(c in a)d=a[c],l[c]=d instanceof Array?M(l[c]||[],d):"object"===typeof d?M(l[c]||{},d):d};c=c||d.chartType();e.themeObject&&a!==e.themeObject&&(e.themeObject.dispose(),delete e.themeObject);m(a.base);f&&a[f]&&m(a[f]);c&&a[c]&&m(a[c]);return l},applyTheme:function(a){a=a.jsVars.themeObject;var d=a.getThemedJSONData().data;d&&l(d,a)}};E=function(a,d,c,f){this.themeArray=a;this.themeComponents={};this.base={};this.chartInstance=d;this.isChildInstance=!!c;this.themedData=c?null:
M({},f);this.length=a.length;d=0;for(c=a.length;d<c;d+=1)this.parse(a[d])};E.prototype={constructor:E,pushTheme:function(a){a&&(this.themeArray.push(a),this.parse(a),this.length+=1)},popTheme:function(){},parse:function(a){var d=this.themeComponents,c=this.chartInstance,l=this.base,m,e,n;for(e in a)if("string"===typeof a[e]||"number"===typeof a[e])if(l[e]){if(m=f(a[e]),n=f(l[e]),m.important||!n.important)l[e]=a[e]}else l[e]=a[e];else d[e]||(d[e]=[]),m=d[e],a[e]instanceof Array?m.push(M([],a[e])):
"object"===typeof a[e]?m.push(new E([a[e]],c,!0)):"function"===typeof a[e]&&m.push(a[e])},merge:function(a){var d=this.base,c=a.base,l=this.themeComponents,m=a.themeComponents,e,n,t;for(t in c)if(e=f(d[t]),n=f(c[t]),!e.important||n.important)d[t]=c[t];for(t in m)l[t]=l[t]?l[t].concat(m[t]):[].concat(m[t]);this.length+=a.length},get:function(a){return this.base[a]},getAll:function(){return M({},this.base)},component:function(a,d,c,f){var l=this.themeComponents,e=this.chartInstance,m=new E([],e,!0),
n,t,B;t=l[a];if(!t)return null;a=0;for(l=t.length;a<l;a+=1)B=t[a],"function"===typeof B?(d=d||0,m.pushTheme(B.call(e,d,c,f))):B instanceof Array?(d=d||0,n=B.length,d%=n,n=B[d],n instanceof E?m.merge(n):"function"===typeof n?m.pushTheme(n.call(e,d,c,f)):m.pushTheme(n)):B instanceof E?m.merge(B):m.pushTheme(B);return m},getThemedJSONData:function(){return{data:this.themedData}},dispose:function(){var a=this.themeComponents,d=this.chartInstance,c,f;for(c in a)if(f=a[c].length){for(;f--;)a[c][f].dispose&&
a[c][f].dispose();delete a[c]}this.isChildInstance||(d.removeEventListener("chartTypeChanged",t),d.removeEventListener("internal.drawstart",X));this.dataWithoutTheme=this.isChildInstance=this.themeArray=this.base=this.chartInstance=this.themeComponents=null}};n=new m;d.registrars.theme=d.registerTheme=function(a){a&&("[object Array]"!==Object.prototype.toString.call(a)&&(a=[a]),n.add(a))};d.addEventListener("beforeDataUpdate",function(a,f){var c=a.sender,l=d.core.transcodeData(f.data,f.format,d.dataFormats.JSON),
m=l.chart&&l.chart.theme;m?n.themify(m,c,c.args.type,l):c.jsVars&&c.jsVars.themeObject&&(c.jsVars&&c.jsVars.themeObject.dispose(),c.jsVars&&delete c.jsVars.themeObject)})}]);FusionCharts.register("theme",{name:"default",theme:{base:{chart:{labelDisplay:"stagger !important",caption:"Theme Caption \\!important",canvasBgColor:"#56EF22",borderThickness:"5 !important",borderColor:"#E60539",baseFontColor:"#781129"},categories:[{fontColor:"#0F4F40",fontSize:15,category:function(d){return{showLabel:d%2?0:
1}},vline:{color:"#000000",thickness:2}}],dataset:[{color:"#8C3146",data:function(d,m){8==d&&(m.value="");return{color:32E3>Number(m.value)?"#8C3146":"#FF0000",alpha:"100"}}}],trendlines:[{line:function(d){return d?{color:"#ff0000",thickness:3}:{color:"#ffff00",thickness:3}}}]},pie2d:{chart:{bgColor:"#FF0000"}},msline:{chart:{canvasBgColor:"#ff0000"}},geo:{chart:{canvasBgColor:"#0000ff"}},world:{chart:{canvasBgColor:"#00ff00"}}}});FusionCharts.register("module",["private","modules.renderer.js-highlightmanager",
function(){var d=this,m=d.hcLib,E=m.extend2,n=m.pluckNumber,C=m.toRaphaelColor,B=/^#?[0-9a-f]{6}/i,K=/FFFFFF/i,a=/255,255,255/,M=m.getFirstAlpha,f=function(a){a=a.replace("rgba(","").split(",");return"#"+("000000"+(a[0]<<16|a[1]<<8|a[2]).toString(16)).slice(-6)},l=m.pluck,O=function(a){if(/rgb/.test(a))return a=a.match(/[\d\.]+\)/g),parseFloat(a&&a[0]);if(a.FCcolor)return M(a.FCcolor.alpha)},X=function(a){a=a.split(",");var c,d,e,f={},l;c=0;for(d=a.length;c<d;c++)e=a[c].split("="),l=e[0],e=e[1],f[l]=
e;return f},t=function(a,c,d){var e,m=c.color;if(/rgb/.test(a))c=l(c.alpha,100*O(a)),/rgb/.test(m)&&(m=f(m)),e=d?C({color:l(m,f(a)),alpha:c}):a;else if(a.FCcolor){if(d){a=a.FCcolor;var n;d={};var q;for(n in a)if("alpha"===n){m=n;if(c.alpha){e=a[n];var t=c.alpha,v=void 0,A=void 0,E=[];if("number"===typeof e)e=t;else{A=e.split&&e.split(",");for(v=0;v<A.length;v++)E.push(t);e=E.join()}}else e=a[n];d[m]=e}else"color"===n?(-1!==a[n].indexOf(",")&&c.color&&(q=c.color+","+a[n].substring(a[n].indexOf(",")+
1)),d[n]=l(q||c.color,a[n])):d[n]=a[n];c=C(d)}else c=C(a.FCcolor);e=c}else B.test(a.color||a)&&(e=d?C({color:l(c.color,a.color,a),alpha:l(c.alpha,a.alpha)}):C({color:a.color||a,alpha:a.alpha}));return e},A=function(a,c,d){var e,f,m,n=a.chart;e=n.config;n=n.config.dataLabelStyle;a=a.components.data;var q,t,v,A,B,F;q=0;for(t=a.length;q<t;q++)if(e=a[q])for(A in v=e.graphics,e=e.config,m=e.anchorProps,f=m.enabled,e={FCcolor:{alpha:d&&f?l(c.anchorbgalpha,c.alpha,m.bgAlpha):m.bgAlpha,color:d&&f?l(c.anchorbgcolor,
c.color,m.bgColor):m.bgColor}},f={FCcolor:{alpha:d&&f?l(c.borderalpha,c.alpha,m.borderAlpha):m.borderAlpha,color:d&&f?l(c.anchorbordercolor,c.color,m.borderColor):m.borderColor}},m=d?c.alpha:m.imageAlpha,d||O(n.color),v)switch(F=(B=v[A])&&B.type,F){case "path":B.attr({fill:C(e),stroke:C(f)});break;case "image":B.attr({opacity:m/100});break;case "text":L(B,c,n,d)}},q=function(c,d,e,m){var n=d.symbolAttr||{},q=n.fill,n=n.stroke,v=d.textAttr||{},v=m?l(e.color,f(v.fill)):f(v.fill),A=c.legendItemText,
E=c.legendItemSymbol;c=c.legendItemLine;d=(d.lineAttr||{}).stroke;c&&d&&(B.test(d)?c.attr({stroke:m?C({color:l(e.color,d),alpha:e.alpha}):d}):(d=t(d,e,m),c.attr({stroke:d})));E&&(q&&(q=q.match(B)?m&&!K.test(q)?C({color:e.color||q,alpha:e.alpha}):q:a.test(q)?q:t(q,e,m)),n&&(n=B.test(n)?m&&!K.test(n)?C({color:e.color||n,alpha:e.alpha}):n:m&&!a.test(n)?e.color?C({color:e.color,alpha:e.alpha}):n:n),E.attr({fill:q||"none",stroke:n||"none"}));A&&A.attr({fill:C({color:v,alpha:m?e.alpha:100})})},c={area:function(a,
c,d){var e=this.chart,f=e.config,m=e.components.legend.components.items,n,t=this.legendItemId,v=m.length;a=X(a);var B=this.graphics||{},e=B.legendGraphics,E=f.dataLabelStyle,K=B.dataLabelContainer,F=this.config,L,f=0<(F.shadow||{}).opacity;if(!d&&!0===this.visible){a.alpha=a.alpha||30;for(d=0;d<v&&(n=m[d]||{},n.legendItemId!==t);d++);K&&K.attr({opacity:c?a.alpha/100:O(E.color)});d=F.plotbordercolor;m=F.plotborderalpha;t=F.plotfillalpha;v=F.plotgradientcolor;B=l(B.lineElement,B.splineElement);d=c?
l(a.bordercolor,a.color,d):d;a.color&&(L=a.color+(v?","+v:""));v=F.fillColor.color;L=c?l(L,v):v;F=F.plotfillangle;t=c?a.alpha:t;m=c?l(a.borderalpha,a.alpha):m;f=f?c?a.alpha/100:t/100:!1;B.attr({fill:C({color:L,alpha:t,angle:F}),stroke:C({color:d,alpha:m})}).shadow(f);e&&q(e,n.config,a,c);A(this,a,c)}},bubble:function(a,c,d){var e=this.chart,f=e.components.legend.components.items||[],n,t=f.length,v=this.legendItemId,e=e.config.dataLabelStyle,A=this.graphics,B=A.legendGraphics,E=m.graphics.getPointColor,
K=A.dataLabelContainer;a=X(a);if(!1===d&&!0===this.visible){a.alpha||(a.alpha=30);A=this.components.data||[];for(d=0;d<t&&(n=f[d]||{},n.legendItemId!==v);d++);q(B,n.config,a,c);K&&K.attr({opacity:c?a.alpha/100:O(e.color)});d=0;for(t=A.length;d<t;d++)if(f=A[d])v=f.graphics,n=f.config,f=n.colorObj,B=n.is3d,n=v.element,v=v.label,B?(B=c?E(l(a.color,f.FCcolor.color),l(a.alpha,M(f.alpha))):f,B=C(B)):(B=c?l(a.color,f.color):f.color,f=c?a.alpha:f.alpha,B=C({color:B,alpha:f})),n&&n.attr({fill:B}),v&&L(v,a,
e,c)}},pie:function(a,c,d,e){var f=e.chart,m;e=e._getPointColor;var n=this,t,v,A,B;A={};var n=this.legendItemId,K;v=f.components.legend.getItems()||[];a=X(a);if(!1===d){a.alpha||(a.alpha=30);d=this.graphics.element;t=this.config;B=0;for(f=v.length;B<f&&(m=v[B],K=m.legendItemId,K!==n);B++);n=m.graphics;q(n,m.config,a,c);v=t.color.color;n=d.data("plotItem");f=n.chart;m=n.style;f=f.is3D;if(B=n.center)A=B[0],B=B[1],n=n.radius,A={cx:A,cy:B,r:n};v=c?e(l(a.color,v),a.alpha,90):t.color;e=c?a.alpha:v.alpha;
v=E(v,A);f?d&&d.attr({color:v.color.split(",")[0],alpha:e}):d&&d.attr({fill:C(v)});e=this.graphics.label;d=this.graphics.connector;e&&L(e,a,m,c);d&&d.attr({opacity:c?a.alpha/100:O(m.color)})}},line:function(a,c,d){var e=this.chart,f=e.components.legend.components.items||[],m=f.length,n,t=this.legendItemId,v=e.config.dataLabelStyle;a=X(a);var B=this.graphics||{},e=B.legendGraphics,E=B.dataLabelContainer,K=B.errorGroupContainer,F=this.config,L=F.linecolor,M=F.alpha,fa=0<(F.shadow||{}).opacity;if(!d&&
!0===this.visible){a.alpha||(a.alpha=30);for(d=0;d<m&&(n=f[d]||{},n.legendItemId!==t);d++);K&&(f=O(F.errorBarColor),f=c?l(a.alpha/100,f):f,K.attr({opacity:f}));E&&E.attr({opacity:c?a.alpha/100:O(v.color)});v=l(B.lineElement,B.SplineElement);L=c?l(a.color,L):L;M=c?l(a.alpha,M):M;fa=fa?c?a.alpha/100:M/100:!1;v&&v.attr({stroke:C({color:L,alpha:M})}).shadow(fa);e&&q(e,n.config,a,c);A(this,a,c)}},boxandwhisker2d:function(a,c,d){var e=this.config.isRoundEdges,l=this.graphics,n=l.legendGraphics,v=l.lowerWhiskerContainer,
A=l.upperWhiskerContainer,B=l.dataLabelContainer,E=this.legendItemId,J=this.chart.components.legend.components.items||[],l=J.length,K;a=X(a);if(!1===d&&!0===this.visible){a.alpha||(a.alpha=30);for(d=0;d<l&&(K=J[d]||{},K.legendItemId!==E);d++);q(n,K.config,a,c);v&&v.attr({opacity:c?a.alpha/100:1});A&&A.attr({opacity:c?a.alpha/100:1});B&&B.attr({opacity:c?a.alpha/100:1});n=this.components.data;d=0;for(l=n.length;d<l;d++){v=n[d];A=v.config;v=v.graphics;K=a;var B=c,E=e,F={},L={},M=F=L=void 0,fa=J=void 0,
ma=void 0,ja=void 0,R=void 0;B?(L=m.graphics.getColumnColor(K.color||A.upperColorArr[0].FCcolor.color,K.alpha.toString(),A.upperColorArr[0].FCcolor.ratio,A.upperColorArr[0].FCcolor.angle,E,K.bordercolor||f(A.upperBoxBorder.color),K.borderalpha&&K.borderalpha.toString()||(100*O(A.lowerBoxBorder.color)).toString()),L=C(L[0]),F=m.graphics.getColumnColor(K.color||A.lowerColorArr[0].FCcolor.color,K.alpha.toString(),A.lowerColorArr[0].FCcolor.ratio,A.lowerColorArr[0].FCcolor.angle,E,K.bordercolor||f(A.lowerBoxBorder.color),
K.borderalpha&&K.borderalpha.toString()||(100*O(A.lowerBoxBorder.color)).toString()),F=C(F[0]),M=t(A.median.color,K,B),ma=t(A.lowerQuartile.color,K,B),ja=t(A.upperQuartile.color,K,B)):(L=C(A.upperColorArr[0]),F=C(A.lowerColorArr[0]),M=A.median.color,J=A.upperBoxBorder.color,fa=A.lowerBoxBorder.color,ja=A.upperQuartile.color,ma=A.lowerQuartile.color);R=v.upperBoxElem;R.attr({fill:L,"drop-shadow":R.attrs["drop-shadow"]&&"none"!==R.attrs["drop-shadow"]?[1,1,3,"rgba(64,64,64,"+O(L)+")",R.attrs[4],R.attrs["drop-shadow"][5]]:
"none"});R=v.lowerBoxElem;R.attr({fill:F,"drop-shadow":R.attrs["drop-shadow"]&&"none"!==R.attrs["drop-shadow"]?[1,1,3,"rgba(64,64,64,"+O(F)+")",R.attrs[4],R.attrs["drop-shadow"][5]]:"none"});R=v.lowerBoxBorderEle;R.attr({stroke:fa});v.upperBoxBorderEle&&v.upperBoxBorderEle.attr({stroke:J});v.lowerQuartileEle&&v.lowerQuartileEle.attr({stroke:ma});v.upperQuartileEle&&v.upperQuartileEle.attr({stroke:ja});v.midLineElem&&v.midLineElem.attr({stroke:M})}}},heatmap:function(a,c,d,e){var m=e.chart,n=m.config;
e=n.dataLabelStyle;var n=m.components.legend,t,v,m=this.legendItemId,A,B;a=X(a);var E=n.getItems()||[];if(!d&&this.config.visible){a.alpha||(a.alpha=30);n=this.config;A=0;for(d=E.length;A<d&&(t=E[A],B=t.legendItemId,B!==m);A++);m=t.graphics;q(m,t.config,a,c);t=f(n.color);n=O(n.color);t=c?l(a.color,t):t;n=c?a.alpha:100*n;d=this.graphics;m=d.element;m.attr({fill:C({color:t,alpha:n})});c||O(e.color);for(v in d)m=d[v],"text"===m.type&&L(m,a,e,c)}},funnelpyramid:function(a,c,d,e){e=e.chart.components.legend;
var m,n,t,v,A;a=X(a);e=e.getItems()||[];n=this.legendItemId;if(!1===d){a.alpha||(a.alpha=30);t=0;for(d=e.length;t<d&&(m=e[t],v=m.legendItemId,v!==n);t++);d=m.graphics;q(d,m.config,a,c);m=this.style;e=this.color;d=f(e);e=O(e);d=c?l(a.color,d):d;t=c?a.alpha:100*e;n=this.plot.graphic;v=this.plot.dataLabel;A=this.plot.connector;e=this.plot.point.style;n&&n.attr({fill:C({color:d,alpha:t})});v&&L(v,a,e,c);A&&A.attr({opacity:c?a.alpha/100:O(m.color)})}},"default":function(a,c,d){var e=this.config,f=this.chart,
t=f.config,v=t.dataLabelStyle,A=t.useroundedges,B=f.is3D,E,J,K;a=X(a);var F=this.graphics,wa=F.legendGraphics,Da=F.dataLabelContainer;K=F.errorGroupContainer;var fa,ma,t="",t=this.legendItemId,ja=f.components.legend.components.items||[];fa=ja.length;f=e.showShadow;F=m.graphics.getColumnColor;if(!1===d&&!0===this.visible){a.alpha||(a.alpha="30");d=this.components.data||[];for(E=0;E<fa&&(J=ja[E]||{},J.legendItemId!==t);E++);wa&&q(wa,J.config,a,c);Da&&Da.attr({opacity:c?a.alpha/100:O(v.color)});K&&(fa=
O(e.errorBarColor),fa=c?l(a.alpha/100,fa):fa,K.attr({opacity:fa}));E=0;for(fa=d.length;E<fa;E++)if(e=d[E]){t=e.config;K=t.colorArr[0];J=t.colorArr[1];wa=J.FCcolor.alpha;t=K.FCcolor.color;t=-1!==(ma=t.indexOf(","))&&a.color?a.color+t.substring(ma):l(a.color,t);Da=B?wa:l(a.borderalpha,a.alpha,wa);0===n(wa)&&(Da="0");wa=c?F(t,a.alpha,K.FCcolor.ratio,K.FCcolor.angle,A,l(a.bordercolor,J.FCcolor.color),Da,!1,B):[K,J];if(K=e.graphics.element)t=C(wa[0]),J=C(wa[1]),K.attr({stroke:J,fill:t}).shadow({opacity:f?
M(wa[0].alpha)/100:0});e=e.graphics.label;L(e,a,v,c)}}}},v=function(){this.effectStore={};this.eventHandlers={}},L=function(a,c,d,e){var m,n,q,t,v;m=f(d.color);q=100*O(d.color);n=e?l(c.valuefontcolor,m):m;t=e?l(c.valuefontalpha,c.alpha,q):q;m=""===d.backgroundColor?"":f(d.backgroundColor);q=""===d.backgroundColor?0:100*O(d.backgroundColor);isNaN(q)&&(q=0);v=e?l(c.valuebgcolor,m):m;q=e?l(c.valuebgalpha,c.alpha,q):q;v=C({color:v,alpha:q});m=""===d.borderColor?"":f(d.borderColor);q=""===d.borderColor?
"":100*O(d.borderColor);isNaN(q)&&(q=0);m=e?l(c.valuebordercolor,m):m;c=e?l(c.valueborderalpha,c.alpha,q):q;c=C({color:m,alpha:c});a&&a.attr({fill:C({color:n,alpha:t}),"text-bound":[v,c,d.borderThickness,d.borderPadding,d.borderRadius,d.borderDash]})},e=new v;v.prototype.add=function(a){this.effectStore[a.name]=a};v.prototype.attachEventHandlers=function(a,c){this.eventHandlers[a]||(this.eventHandlers[a]={},this.eventHandlers[a].listenerFn=d.addEventListener(a,c))};v.prototype.applyEffect=function(a,
c,d){var e=this.effectStore,f=a.jsonData.chart,m=a.defaultDatasetType,n=f.plothighlighteffect&&f.plothighlighteffect.toLowerCase(),f=a.components.dataset;a=a.isSingleSeries?f[0].components.data:f;c=l(c.itemId,c.legendItemId,c.legendItemIndex);var q,t,v,A="",B;n&&(n=n.replace(/\s+/g,"").split("|"),B=n[0],A=n[1]||"");if(B&&e[B])for(t=0,v=a.length;t<v;t++)n=a[t],m=n.type||m,m=m.toLowerCase(),q=l(n.itemId,n.legendItemId),void 0!==q&&(q=q===c,e[B][m]?e[B][m].call(n,A,d,q,f[0]):e[B]["default"].call(n,A,
d,q,f[0]))};d.registrars.highlighteffect=function(a){a&&e.add(a)};e.attachEventHandlers("legenditemrollover",function(a,c){var d=a.sender.jsVars.instanceAPI;!1!==d.hasInteractiveLegend&&!1!==d.highlightEnabled&&e.applyEffect(d,c,!0)});e.attachEventHandlers("legenditemrollout",function(a,c){var d=a.sender.jsVars.instanceAPI;!1!==d.hasInteractiveLegend&&!1!==d.highlightEnabled&&e.applyEffect(d,c,!1)});e.attachEventHandlers("legenditemclicked",function(a,c){var d=a.sender.jsVars.instanceAPI;!1!==d.hasInteractiveLegend&&
!1!==d.highlightEnabled&&e.applyEffect(d,c,!0)});FusionCharts.register("highlightEffect",{name:"fadeout",area:c.area,radar:c.area,bubble:c.bubble,pie2d:c.pie,line:c.line,spline:c.line,areaspline:c.area,pie3d:c.pie,zoomline:c.line,funnel:c.funnelpyramid,pyramid:c.funnelpyramid,scatter:c.line,doughnut2d:c.pie,doughnut3d:c.pie,heatmap:c.heatmap,boxandwhisker2d:c.boxandwhisker2d,multiaxisline:c.line,"default":c["default"]})}]);Ib&&(Gb.FusionCharts=FusionCharts);return FusionCharts});
