File: //volume1/@appstore/MailPlus-Server/app/c3.js
/* Copyright (c) 2022 Synology Inc. All rights reserved. */
(function(aa){var j={version:"0.4.11"};var y,C,m;function R(at){this.owner=at}function w(av,at){if(Object.create){at.prototype=Object.create(av.prototype)}else{var au=function au(){};au.prototype=av.prototype;at.prototype=new au()}at.prototype.constructor=at;return at}function W(av){var au=this.internal=new am(this);au.loadConfig(av);au.beforeInit(av);au.init();au.afterInit(av);(function at(aw,ay,ax){Object.keys(aw).forEach(function(az){ay[az]=aw[az].bind(ax);if(Object.keys(aw[az]).length>0){at(aw[az],ay[az],ax)}})})(y,this,this)}function am(au){var at=this;at.d3=SYNO.SDS.DataDrivenDocuments.DrawHelper?SYNO.SDS.DataDrivenDocuments.DrawHelper:typeof require!=="undefined"?require("d3"):undefined;at.api=au;at.config=at.getDefaultConfig();at.data={};at.cache={};at.axes={}}j.generate=function(at){return new W(at)};j.chart={fn:W.prototype,internal:{fn:am.prototype,axis:{fn:u.prototype}}};y=j.chart.fn;C=j.chart.internal.fn;m=j.chart.internal.axis.fn;C.beforeInit=function(){};C.afterInit=function(){};C.init=function(){var at=this,au=at.config;at.initParams();if(au.data_url){at.convertUrlToData(au.data_url,au.data_mimeType,au.data_headers,au.data_keys,at.initWithData)}else{if(au.data_json){at.initWithData(at.convertJsonToData(au.data_json,au.data_keys))}else{if(au.data_rows){at.initWithData(at.convertRowsToData(au.data_rows))}else{if(au.data_columns){at.initWithData(at.convertColumnsToData(au.data_columns))}else{throw Error("url or json or rows or columns is required.")}}}}};C.initParams=function(){var at=this,av=at.d3,au=at.config;at.clipId="c3-"+(+new Date())+"-clip",at.clipIdForXAxis=at.clipId+"-xaxis",at.clipIdForYAxis=at.clipId+"-yaxis",at.clipIdForGrid=at.clipId+"-grid",at.clipIdForSubchart=at.clipId+"-subchart",at.clipPath=at.getClipPath(at.clipId),at.clipPathForXAxis=at.getClipPath(at.clipIdForXAxis),at.clipPathForYAxis=at.getClipPath(at.clipIdForYAxis);at.clipPathForGrid=at.getClipPath(at.clipIdForGrid),at.clipPathForSubchart=at.getClipPath(at.clipIdForSubchart),at.dragStart=null;at.dragging=false;at.flowing=false;at.cancelClick=false;at.mouseover=false;at.transiting=false;at.color=at.generateColor();at.levelColor=at.generateLevelColor();at.dataTimeFormat=au.data_xLocaltime?av.time.format:av.time.format.utc;at.axisTimeFormat=au.axis_x_localtime?av.time.format:av.time.format.utc;at.defaultAxisTimeFormat=at.axisTimeFormat.multi([[".%L",function(aw){return aw.getMilliseconds()}],[":%S",function(aw){return aw.getSeconds()}],["%I:%M",function(aw){return aw.getMinutes()}],["%I %p",function(aw){return aw.getHours()}],["%-m/%-d",function(aw){return aw.getDay()&&aw.getDate()!==1}],["%-m/%-d",function(aw){return aw.getDate()!==1}],["%-m/%-d",function(aw){return aw.getMonth()}],["%Y/%-m/%-d",function(){return true}]]);at.hiddenTargetIds=[];at.hiddenLegendIds=[];at.focusedTargetIds=[];at.defocusedTargetIds=[];at.xOrient=au.axis_rotated?"left":"bottom";at.yOrient=au.axis_rotated?(au.axis_y_inner?"top":"bottom"):(au.axis_y_inner?"right":"left");at.y2Orient=au.axis_rotated?(au.axis_y2_inner?"bottom":"top"):(au.axis_y2_inner?"left":"right");at.subXOrient=au.axis_rotated?"left":"bottom";at.isLegendRight=au.legend_position==="right";at.isLegendInset=au.legend_position==="inset";at.isLegendTop=au.legend_inset_anchor==="top-left"||au.legend_inset_anchor==="top-right";at.isLegendLeft=au.legend_inset_anchor==="top-left"||au.legend_inset_anchor==="bottom-left";at.legendStep=0;at.legendItemWidth=0;at.legendItemHeight=0;at.currentMaxTickWidths={x:0,y:0,y2:0};at.rotated_padding_left=30;at.rotated_padding_right=au.axis_rotated&&!au.axis_x_show?0:30;at.rotated_padding_top=5;at.withoutFadeIn={};at.intervalForObserveInserted=undefined;at.axes.subx=av.selectAll([])};C.initChartElements=function(){if(this.initBar){this.initBar()}if(this.initLine){this.initLine()}if(this.initArc){this.initArc()}if(this.initGauge){this.initGauge()}if(this.initText){this.initText()}};C.initWithData=function(ay){var aC=this,aD=aC.d3,at=aC.config;var aw,au,aA=true;aC.axis=new u(aC);if(aC.initPie){aC.initPie()}if(aC.initBrush){aC.initBrush()}if(aC.initZoom){aC.initZoom()}if(!at.bindto){aC.selectChart=aD.selectAll([])}else{if(typeof at.bindto.node==="function"){aC.selectChart=at.bindto}else{aC.selectChart=aD.select(at.bindto)}}if(aC.selectChart.empty()){aC.selectChart=aD.select(document.createElement("div")).style("opacity",0);aC.observeInserted(aC.selectChart);aA=false}aC.selectChart.html("").classed("c3",true);aC.data.xs={};aC.data.targets=aC.convertDataToTargets(ay);if(at.data_filter){aC.data.targets=aC.data.targets.filter(at.data_filter)}if(at.data_hide){aC.addHiddenTargetIds(at.data_hide===true?aC.mapToIds(aC.data.targets):at.data_hide)}if(at.legend_hide){aC.addHiddenLegendIds(at.legend_hide===true?aC.mapToIds(aC.data.targets):at.legend_hide)}if(aC.hasType("gauge")){at.legend_show=false}aC.updateSizes();aC.updateScales();aC.x.domain(aD.extent(aC.getXDomain(aC.data.targets)));aC.y.domain(aC.getYDomain(aC.data.targets,"y"));aC.y2.domain(aC.getYDomain(aC.data.targets,"y2"));aC.subX.domain(aC.x.domain());aC.subY.domain(aC.y.domain());aC.subY2.domain(aC.y2.domain());aC.orgXDomain=aC.x.domain();if(aC.brush){aC.brush.scale(aC.subX)}if(at.zoom_enabled){aC.zoom.scale(aC.x)}aC.svg=aC.selectChart.append("svg").style("overflow","hidden").on("mouseenter",function(){return at.onmouseover.call(aC)}).on("mouseleave",function(){return at.onmouseout.call(aC)});if(aC.config.svg_classname){aC.svg.attr("class",aC.config.svg_classname)}aw=aC.svg.append("defs");aC.clipChart=aC.appendClip(aw,aC.clipId);aC.clipXAxis=aC.appendClip(aw,aC.clipIdForXAxis);aC.clipYAxis=aC.appendClip(aw,aC.clipIdForYAxis);aC.clipGrid=aC.appendClip(aw,aC.clipIdForGrid);aC.clipSubchart=aC.appendClip(aw,aC.clipIdForSubchart);aC.updateSvgSize();au=aC.main=aC.svg.append("g").attr("transform",aC.getTranslate("main"));if(aC.initSubchart){aC.initSubchart()}if(aC.initTooltip){aC.initTooltip()}if(aC.initLegend){aC.initLegend()}if(aC.initTitle){aC.initTitle()}au.append("text").attr("class",A.text+" "+A.empty).attr("text-anchor","middle").attr("dominant-baseline","middle");aC.initRegion();aC.initGrid();au.append("g").attr("clip-path",aC.clipPath).attr("class",A.chart);if(at.grid_lines_front){aC.initGridLines()}aC.initEventRect();aC.initChartElements();au.insert("rect",at.zoom_privileged?null:"g."+A.regions).attr("class",A.zoomRect).attr("width",aC.width).attr("height",aC.height).style("opacity",0).on("dblclick.zoom",null);if(at.syno_linechart){var aB=0;var az=aC.filterTargetsToShow(aC.data.targets);for(var ax=0;ax<az.length;ax++){for(var av=0;av<az[ax].values.length;av++){aB+=az[ax].values[av].value}}au.append("text").attr("x",0).attr("y",-6).text(at.syno_linechartCountStr);for(ax=0;ax<3;ax++){au.insert("line","rect.c3-zoom-rect + *").classed("helpline",true).attr("x1",0).attr("x2",aC.width).attr("y1",aC.height*(3-ax)/4).attr("y2",aC.height*(3-ax)/4)}aC.svg.append("line").classed("rect-border-top",true).attr("x1",T(aC.margin.left)).attr("x2",T(aC.margin.left)+aC.width).attr("y1",T(aC.margin.top)+1).attr("y2",T(aC.margin.top)+1);aC.svg.append("line").classed("rect-border-right",true).attr("x1",T(aC.margin.left)+aC.width).attr("x2",T(aC.margin.left)+aC.width).attr("y1",T(aC.margin.top)+1).attr("y2",T(aC.margin.top)+aC.height);aC.svg.append("text").classed("total",true).attr("x",T(aC.margin.left)+aC.width).attr("y",T(aC.margin.top)-6).text(at.syno_linechartTotalStr+aB)}if(at.axis_x_extent){aC.brush.extent(aC.getDefaultExtent())}aC.axis.init();aC.updateTargets(aC.data.targets);if(aA){aC.updateDimension();aC.config.oninit.call(aC);aC.redraw({withTransition:false,withTransform:true,withUpdateXDomain:true,withUpdateOrgXDomain:true,withTransitionForAxis:false})}aC.bindResize();aC.api.element=aC.selectChart.node()};C.smoothLines=function(av,au){var at=this;if(au==="grid"){av.each(function(){var aA=at.d3.select(this),ax=aA.attr("x1"),aw=aA.attr("x2"),az=aA.attr("y1"),ay=aA.attr("y2");aA.attr({x1:Math.ceil(ax),x2:Math.ceil(aw),y1:Math.ceil(az),y2:Math.ceil(ay)})})}};C.updateSizes=function(){var au=this,aw=au.config;var at=au.legend?au.getLegendHeight():0,az=au.legend?au.getLegendWidth():0,ay=au.isLegendRight||au.isLegendInset?0:at,av=au.hasArcType(),ax=aw.axis_rotated||av?0:au.getHorizontalAxisHeight("x"),aA=aw.subchart_show&&!av?(aw.subchart_size_height+ax):0;au.currentWidth=au.getCurrentWidth();au.currentHeight=au.getCurrentHeight();au.margin=aw.axis_rotated?{top:au.getHorizontalAxisHeight("y2")+au.getCurrentPaddingTop(),right:av?0:au.getCurrentPaddingRight(),bottom:au.getHorizontalAxisHeight("y")+ay+au.getCurrentPaddingBottom(),left:aA+(av?0:au.getCurrentPaddingLeft())}:{top:4+au.getCurrentPaddingTop(),right:av?0:au.getCurrentPaddingRight(),bottom:ax+aA+ay+au.getCurrentPaddingBottom(),left:av?0:au.getCurrentPaddingLeft()};au.margin2=aw.axis_rotated?{top:au.margin.top,right:NaN,bottom:20+ay,left:au.rotated_padding_left}:{top:au.currentHeight-aA-ay,right:NaN,bottom:ax+ay,left:au.margin.left};au.margin3={top:0,right:NaN,bottom:0,left:0};if(au.updateSizeForLegend){au.updateSizeForLegend(at,az)}au.width=au.currentWidth-au.margin.left-au.margin.right;au.height=au.currentHeight-au.margin.top-au.margin.bottom;if(au.width<0){au.width=0}if(au.height<0){au.height=0}au.width2=aw.axis_rotated?au.margin.left-au.rotated_padding_left-au.rotated_padding_right:au.width;au.height2=aw.axis_rotated?au.height:au.currentHeight-au.margin2.top-au.margin2.bottom;if(au.width2<0){au.width2=0}if(au.height2<0){au.height2=0}au.arcWidth=au.width-(au.isLegendRight?az+10:0);au.arcHeight=au.height-(au.isLegendRight?0:10);if(au.hasType("gauge")&&!aw.gauge_fullCircle){au.arcHeight+=au.height-au.getGaugeLabelHeight()}if(au.updateRadius){au.updateRadius()}if(au.isLegendRight&&av){au.margin3.left=au.arcWidth/2+au.radiusExpanded*1.1}};C.updateTargets=function(at){var au=this;au.updateTargetsForText(at);au.updateTargetsForBar(at);au.updateTargetsForLine(at);if(au.hasArcType()&&au.updateTargetsForArc){au.updateTargetsForArc(at)}if(au.updateTargetsForSubchart){au.updateTargetsForSubchart(at)}au.showTargets()};C.showTargets=function(){var at=this;at.svg.selectAll("."+A.target).filter(function(au){return at.isTargetToShow(au.id)}).transition().duration(at.config.transition_duration).style("opacity",1)};C.redraw=function(aJ,az){var a0=this,av=a0.main,aZ=a0.d3,aV=a0.config;var aU=a0.getShapeIndices(a0.isAreaType),aP=a0.getShapeIndices(a0.isBarType),aY=a0.getShapeIndices(a0.isLineType);var aB,aS,a2,aG,aW,ay,aN,a5,aE,a8,aL,aF,a6;var aT=a0.hasArcType();var aw,a1,aR,at,ax;var aK,aC,aO;var a7,a4;var aQ=a0.filterTargetsToShow(a0.data.targets),aD,a3,aA,au;var aM=a0.xv.bind(a0),aI,aH;aJ=aJ||{};aB=r(aJ,"withY",true);aS=r(aJ,"withSubchart",true);a2=r(aJ,"withTransition",true);ay=r(aJ,"withTransform",false);aN=r(aJ,"withUpdateXDomain",false);a5=r(aJ,"withUpdateOrgXDomain",false);aE=r(aJ,"withTrimXDomain",true);a6=r(aJ,"withUpdateXAxis",aN);a8=r(aJ,"withLegend",false);aL=r(aJ,"withEventRect",true);aF=r(aJ,"withDimension",true);aG=r(aJ,"withTransitionForExit",a2);aW=r(aJ,"withTransitionForAxis",a2);aK=a2?aV.transition_duration:0;aC=aG?aK:0;aO=aW?aK:0;az=az||a0.axis.generateTransitions(aO);if(a8&&aV.legend_show){a0.updateLegend(a0.mapToIds(a0.data.targets),aJ,az)}else{if(aF){a0.updateDimension(true)}}if(a0.isCategorized()&&aQ.length===0){a0.x.domain([0,a0.axes.x.selectAll(".tick").size()])}if(aQ.length){a0.updateXDomain(aQ,aN,a5,aE);if(!aV.axis_x_tick_values){aD=a0.axis.updateXAxisTickValues(aQ)}}else{if(aV.syno_linechart&&aV.axis_x_tick_values){var aX=[];if(a0.isTimeSeries()){aX=aV.axis_x_tick_values.map(function(a9){return a0.parseDate(a9)})}else{aX=aV.axis_x_tick_values}a0.xAxis.tickValues(aX);a0.subXAxis.tickValues(aX)}else{a0.xAxis.tickValues([]);a0.subXAxis.tickValues([])}}if(aV.zoom_rescale&&!aJ.flow){au=a0.x.orgDomain()}a0.y.domain(a0.getYDomain(aQ,"y",au));a0.y2.domain(a0.getYDomain(aQ,"y2",au));if(!aV.axis_y_tick_values&&aV.axis_y_tick_count){a0.yAxis.tickValues(a0.axis.generateTickValues(a0.y.domain(),aV.axis_y_tick_count))}if(!aV.axis_y2_tick_values&&aV.axis_y2_tick_count){a0.y2Axis.tickValues(a0.axis.generateTickValues(a0.y2.domain(),aV.axis_y2_tick_count))}a0.axis.redraw(az,aT);a0.axis.updateLabels(a2);if((aN||a6)&&aQ.length){if(aV.axis_x_tick_culling&&aD){for(a3=1;a3<aD.length;a3++){if(aD.length/a3<aV.axis_x_tick_culling_max){aA=a3;break}}a0.svg.selectAll("."+A.axisX+" .tick text").each(function(ba){var a9=aD.indexOf(ba);if(a9>=0){aZ.select(this).style("display",a9%aA?"none":"block")}})}else{a0.svg.selectAll("."+A.axisX+" .tick text").style("display","block")}}aw=a0.generateDrawArea?a0.generateDrawArea(aU,false):undefined;a1=a0.generateDrawBar?a0.generateDrawBar(aP):undefined;aR=a0.generateDrawLine?a0.generateDrawLine(aY,false):undefined;at=a0.generateXYForText(aU,aP,aY,true);ax=a0.generateXYForText(aU,aP,aY,false);if(aB){a0.subY.domain(a0.getYDomain(aQ,"y"));a0.subY2.domain(a0.getYDomain(aQ,"y2"))}a0.updateXgridFocus();av.select("text."+A.text+"."+A.empty).attr("x",a0.width/2).attr("y",a0.height/2).text(aV.data_empty_label_text).transition().style("opacity",aQ.length?0:1);a0.updateGrid(aK);a0.updateRegion(aK);a0.updateBar(aC);a0.updateLine(aC);a0.updateArea(aC);a0.updateCircle();if(a0.hasDataLabel()){a0.updateText(aC)}if(a0.redrawTitle){a0.redrawTitle()}if(a0.redrawArc){a0.redrawArc(aK,aC,ay)}if(a0.redrawSubchart){a0.redrawSubchart(aS,az,aK,aC,aU,aP,aY)}av.selectAll("."+A.selectedCircles).filter(a0.isBarType.bind(a0)).selectAll("circle").remove();if(aV.interaction_enabled&&!aJ.flow&&aL){a0.redrawEventRect();if(a0.updateZoom){a0.updateZoom()}}a0.updateCircleY();aI=(a0.config.axis_rotated?a0.circleY:a0.circleX).bind(a0);aH=(a0.config.axis_rotated?a0.circleX:a0.circleY).bind(a0);if(aJ.flow){a4=a0.generateFlow({targets:aQ,flow:aJ.flow,duration:aJ.flow.duration,drawBar:a1,drawLine:aR,drawArea:aw,cx:aI,cy:aH,xv:aM,xForText:at,yForText:ax})}if((aK||a4)&&a0.isTabVisible()){aZ.transition().duration(aK).each(function(){var a9=[];[a0.redrawBar(a1,true),a0.redrawLine(aR,true),a0.redrawArea(aw,true),a0.redrawCircle(aI,aH,true),a0.redrawText(at,ax,aJ.flow,true),a0.redrawRegion(true),a0.redrawGrid(true),].forEach(function(ba){ba.forEach(function(bb){a9.push(bb)})});a7=a0.generateWait();a9.forEach(function(ba){a7.add(ba)})}).call(a7,function(){if(a4){a4()}if(aV.onrendered){aV.onrendered.call(a0)}})}else{a0.redrawBar(a1);a0.redrawLine(aR);a0.redrawArea(aw);a0.redrawCircle(aI,aH);a0.redrawText(at,ax,aJ.flow);a0.redrawRegion();a0.redrawGrid();if(aV.onrendered){aV.onrendered.call(a0)}}a0.mapToIds(a0.data.targets).forEach(function(a9){a0.withoutFadeIn[a9]=true})};C.updateAndRedraw=function(av){var at=this,au=at.config,aw;av=av||{};av.withTransition=r(av,"withTransition",true);av.withTransform=r(av,"withTransform",false);av.withLegend=r(av,"withLegend",false);av.withUpdateXDomain=true;av.withUpdateOrgXDomain=true;av.withTransitionForExit=false;av.withTransitionForTransform=r(av,"withTransitionForTransform",av.withTransition);at.updateSizes();if(!(av.withLegend&&au.legend_show)){aw=at.axis.generateTransitions(av.withTransitionForAxis?au.transition_duration:0);at.updateScales();at.updateSvgSize();at.transformAll(av.withTransitionForTransform,aw)}at.redraw(av,aw)};C.redrawWithoutRescale=function(){this.redraw({withY:false,withSubchart:false,withEventRect:false,withTransitionForAxis:false})};C.isTimeSeries=function(){return this.config.axis_x_type==="timeseries"};C.isCategorized=function(){return this.config.axis_x_type.indexOf("categor")>=0};C.isCustomX=function(){var at=this,au=at.config;return !at.isTimeSeries()&&(au.data_x||I(au.data_xs))};C.isTimeSeriesY=function(){return this.config.axis_y_type==="timeseries"};C.getTranslate=function(aw){var au=this,av=au.config,at,ax;if(aw==="main"){at=T(au.margin.left);ax=T(au.margin.top)}else{if(aw==="context"){at=T(au.margin2.left);ax=T(au.margin2.top)}else{if(aw==="legend"){at=au.margin3.left;ax=au.margin3.top}else{if(aw==="x"){at=0;ax=av.axis_rotated?0:au.height}else{if(aw==="y"){at=0;ax=av.axis_rotated?au.height:0}else{if(aw==="y2"){at=av.axis_rotated?0:au.width;ax=av.axis_rotated?1:0}else{if(aw==="subx"){at=0;ax=av.axis_rotated?0:au.height2}else{if(aw==="arc"){at=au.arcWidth/2;ax=au.arcHeight/2}}}}}}}}return"translate("+at+","+ax+")"};C.initialOpacity=function(at){return at.value!==null&&this.withoutFadeIn[at.id]?1:0};C.initialOpacityForCircle=function(at){return at.value!==null&&this.withoutFadeIn[at.id]?this.opacityForCircle(at):0};C.opacityForCircle=function(au){var at=this.config.point_show?1:0;return f(au.value)?(this.isScatterType(au)?0.5:at):0};C.opacityForText=function(){return this.hasDataLabel()?1:0};C.xx=function(at){return at?this.x(at.x):null};C.xv=function(av){var at=this,au=av.value;if(at.isTimeSeries()){au=at.parseDate(av.value)}else{if(at.isCategorized()&&typeof av.value==="string"){au=at.config.axis_x_categories.indexOf(av.value)}}return Math.ceil(at.x(au))};C.yv=function(av){var at=this,au=av.axis&&av.axis==="y2"?at.y2:at.y;return Math.ceil(au(av.value))};C.subxx=function(at){return at?this.subX(at.x):null};C.transformMain=function(av,ay){var au=this,ax,at,aw;if(ay&&ay.axisX){ax=ay.axisX}else{ax=au.main.select("."+A.axisX);if(av){ax=ax.transition()}}if(ay&&ay.axisY){at=ay.axisY}else{at=au.main.select("."+A.axisY);if(av){at=at.transition()}}if(ay&&ay.axisY2){aw=ay.axisY2}else{aw=au.main.select("."+A.axisY2);if(av){aw=aw.transition()}}(av?au.main.transition():au.main).attr("transform",au.getTranslate("main"));ax.attr("transform",au.getTranslate("x"));at.attr("transform",au.getTranslate("y"));aw.attr("transform",au.getTranslate("y2"));au.main.select("."+A.chartArcs).attr("transform",au.getTranslate("arc"))};C.transformAll=function(au,av){var at=this;at.transformMain(au,av);if(at.config.subchart_show){at.transformContext(au,av)}if(at.legend){at.transformLegend(au)}};C.updateSvgSize=function(){var av=this,au=av.svg.select(".c3-brush .background");av.svg.attr("width",av.currentWidth).attr("height",av.currentHeight);av.svg.selectAll(["#"+av.clipId,"#"+av.clipIdForGrid]).select("rect").attr("width",av.width).attr("height",av.height);av.svg.select("#"+av.clipIdForXAxis).select("rect").attr("x",av.getXAxisClipX.bind(av)).attr("y",av.getXAxisClipY.bind(av)).attr("width",av.getXAxisClipWidth.bind(av)).attr("height",av.getXAxisClipHeight.bind(av));av.svg.select("#"+av.clipIdForYAxis).select("rect").attr("x",av.getYAxisClipX.bind(av)).attr("y",av.getYAxisClipY.bind(av)).attr("width",av.getYAxisClipWidth.bind(av)).attr("height",av.getYAxisClipHeight.bind(av));av.svg.select("#"+av.clipIdForSubchart).select("rect").attr("width",av.width).attr("height",au.size()?au.attr("height"):0);av.svg.select("."+A.zoomRect).attr("width",av.width).attr("height",av.height);if(av.config.syno_linechart){var ay=0;var at=av.filterTargetsToShow(av.data.targets);for(var ax=0;ax<at.length;ax++){for(var aw=0;aw<at[ax].values.length;aw++){ay+=at[ax].values[aw].value}}av.svg.selectAll(".helpline").attr("x1",0).attr("x2",av.width).attr("y1",function(aA,az){return av.height*(az+1)/4}).attr("y2",function(aA,az){return av.height*(az+1)/4});av.svg.select(".rect-border-top").attr("x1",T(av.margin.left)).attr("x2",T(av.margin.left)+av.width).attr("y1",T(av.margin.top)+1).attr("y2",T(av.margin.top)+1);av.svg.select(".rect-border-right").attr("x1",T(av.margin.left)+av.width).attr("x2",T(av.margin.left)+av.width).attr("y1",T(av.margin.top)+1).attr("y2",T(av.margin.top)+av.height);av.svg.select(".total").attr("x",T(av.margin.left)+av.width).attr("y",T(av.margin.top)-6).text(av.config.syno_linechartTotalStr+ay)}av.selectChart.style("max-height",av.currentHeight+"px")};C.updateDimension=function(au){var at=this;if(!au){if(at.config.axis_rotated){at.axes.x.call(at.xAxis);at.axes.subx.call(at.subXAxis)}else{at.axes.y.call(at.yAxis);at.axes.y2.call(at.y2Axis)}}at.updateSizes();at.updateScales();at.updateSvgSize();at.transformAll(false)};C.observeInserted=function(av){var au=this,at;if(typeof MutationObserver==="undefined"){aa.console.error("MutationObserver not defined.");return}at=new MutationObserver(function(aw){aw.forEach(function(ax){if(ax.type==="childList"&&ax.previousSibling){at.disconnect();au.intervalForObserveInserted=aa.setInterval(function(){if(av.node().parentNode){aa.clearInterval(au.intervalForObserveInserted);au.updateDimension();if(au.brush){au.brush.update()}au.config.oninit.call(au);au.redraw({withTransform:true,withUpdateXDomain:true,withUpdateOrgXDomain:true,withTransition:false,withTransitionForTransform:false,withLegend:true});av.transition().style("opacity",1)}},10)}})});at.observe(av.node(),{attributes:true,childList:true,characterData:true})};C.bindResize=function(){var at=this,au=at.config;at.resizeFunction=at.generateResize();at.resizeFunction.add(function(){au.onresize.call(at)});if(au.resize_auto){at.resizeFunction.add(function(){if(at.resizeTimeout!==undefined){aa.clearTimeout(at.resizeTimeout)}at.resizeTimeout=aa.setTimeout(function(){delete at.resizeTimeout;at.api.flush()},100)})}at.resizeFunction.add(function(){au.onresized.call(at)});if(aa.attachEvent){aa.attachEvent("onresize",at.resizeFunction)}else{if(aa.addEventListener){aa.addEventListener("resize",at.resizeFunction,false)}else{var av=aa.onresize;if(!av){av=at.generateResize()}else{if(!av.add||!av.remove){av=at.generateResize();av.add(aa.onresize)}}av.add(at.resizeFunction);aa.onresize=av}}};C.generateResize=function(){var at=[];function au(){at.forEach(function(av){av()})}au.add=function(av){at.push(av)};au.remove=function(aw){for(var av=0;av<at.length;av++){if(at[av]===aw){at.splice(av,1);break}}};return au};C.endall=function(at,av){var au=0;at.each(function(){++au}).each("end",function(){if(!--au){av.apply(this,arguments)}})};C.generateWait=function(){var au=[],at=function(av,ax){var aw=setInterval(function(){var ay=0;au.forEach(function(az){if(az.empty()){ay+=1;return}try{az.transition()}catch(aA){ay+=1}});if(ay===au.length){clearInterval(aw);if(ax){ax()}}},10)};at.add=function(av){au.push(av)};return at};C.parseDate=function(au){var at=this,av;if(au instanceof Date){av=au}else{if(typeof au==="string"){av=at.dataTimeFormat(at.config.data_xFormat).parse(au)}else{if(typeof au==="number"&&!isNaN(au)){av=new Date(+au)}}}if(!av||isNaN(+av)){aa.console.error("Failed to parse x '"+au+"' to Date object")}return av};C.isTabVisible=function(){var at;if(typeof document.hidden!=="undefined"){at="hidden"}else{if(typeof document.mozHidden!=="undefined"){at="mozHidden"}else{if(typeof document.msHidden!=="undefined"){at="msHidden"}else{if(typeof document.webkitHidden!=="undefined"){at="webkitHidden"}}}}return document[at]?false:true};C.getDefaultConfig=function(){var at={bindto:"#chart",syno_linechart:false,syno_linechartTotalStr:undefined,syno_linechartCountStr:undefined,syno_lineChartLegendPaddingTop:undefined,svg_classname:undefined,size_width:undefined,size_height:undefined,padding_left:undefined,padding_right:undefined,padding_top:undefined,padding_bottom:undefined,resize_auto:true,zoom_enabled:false,zoom_extent:undefined,zoom_privileged:false,zoom_rescale:false,zoom_onzoom:function(){},zoom_onzoomstart:function(){},zoom_onzoomend:function(){},zoom_x_min:undefined,zoom_x_max:undefined,interaction_brighten:true,interaction_enabled:true,onmouseover:function(){},onmouseout:function(){},onresize:function(){},onresized:function(){},oninit:function(){},onrendered:function(){},transition_duration:350,data_x:undefined,data_xs:{},data_xFormat:"%Y-%m-%d",data_xLocaltime:true,data_xSort:true,data_idConverter:function(au){return au},data_names:{},data_classes:{},data_groups:[],data_axes:{},data_type:undefined,data_types:{},data_labels:{},data_order:"desc",data_regions:{},data_color:undefined,data_colors:{},data_hide:false,data_filter:undefined,data_selection_enabled:false,data_selection_grouped:false,data_selection_isselectable:function(){return true},data_selection_multiple:true,data_selection_draggable:false,data_onclick:function(){},data_onmouseover:function(){},data_onmouseout:function(){},data_onselected:function(){},data_onunselected:function(){},data_url:undefined,data_headers:undefined,data_json:undefined,data_rows:undefined,data_columns:undefined,data_mimeType:undefined,data_keys:undefined,data_empty_label_text:"",subchart_show:false,subchart_size_height:60,subchart_axis_x_show:true,subchart_onbrush:function(){},color_pattern:[],color_threshold:{},legend_show:true,legend_hide:false,legend_position:"bottom",legend_inset_anchor:"top-left",legend_inset_x:10,legend_inset_y:0,legend_inset_step:undefined,legend_item_onclick:undefined,legend_item_onmouseover:undefined,legend_item_onmouseout:undefined,legend_equally:false,legend_padding:0,legend_item_tile_width:10,legend_item_tile_height:10,axis_rotated:false,axis_x_show:true,axis_x_type:"indexed",axis_x_localtime:true,axis_x_categories:[],axis_x_tick_centered:false,axis_x_tick_format:undefined,axis_x_tick_culling:{},axis_x_tick_culling_max:10,axis_x_tick_count:undefined,axis_x_tick_fit:true,axis_x_tick_values:null,axis_x_tick_rotate:0,axis_x_tick_outer:true,axis_x_tick_multiline:true,axis_x_tick_width:null,axis_x_max:undefined,axis_x_min:undefined,axis_x_padding:{},axis_x_height:undefined,axis_x_extent:undefined,axis_x_label:{},axis_y_show:true,axis_y_type:undefined,axis_y_max:undefined,axis_y_min:undefined,axis_y_inverted:false,axis_y_center:undefined,axis_y_inner:undefined,axis_y_label:{},axis_y_tick_format:undefined,axis_y_tick_outer:true,axis_y_tick_values:null,axis_y_tick_rotate:0,axis_y_tick_count:undefined,axis_y_tick_time_value:undefined,axis_y_tick_time_interval:undefined,axis_y_padding:{},axis_y_default:undefined,axis_y2_show:false,axis_y2_max:undefined,axis_y2_min:undefined,axis_y2_inverted:false,axis_y2_center:undefined,axis_y2_inner:undefined,axis_y2_label:{},axis_y2_tick_format:undefined,axis_y2_tick_outer:true,axis_y2_tick_values:null,axis_y2_tick_count:undefined,axis_y2_padding:{},axis_y2_default:undefined,grid_x_show:false,grid_x_type:"tick",grid_x_lines:[],grid_y_show:false,grid_y_lines:[],grid_y_ticks:10,grid_focus_show:true,grid_lines_front:true,point_show:true,point_r:2.5,point_sensitivity:10,point_focus_expand_enabled:true,point_focus_expand_r:undefined,point_select_r:undefined,line_connectNull:false,line_step_type:"step",bar_width:undefined,bar_width_ratio:0.6,bar_width_max:undefined,bar_zerobased:true,area_zerobased:true,area_above:false,pie_label_show:true,pie_label_format:undefined,pie_label_threshold:0.05,pie_label_ratio:undefined,pie_expand:{},pie_expand_duration:50,gauge_fullCircle:false,gauge_label_show:true,gauge_label_format:undefined,gauge_min:0,gauge_max:100,gauge_startingAngle:-1*Math.PI/2,gauge_units:undefined,gauge_width:undefined,gauge_expand:{},gauge_expand_duration:50,donut_label_show:true,donut_label_format:undefined,donut_label_threshold:0.05,donut_label_ratio:undefined,donut_width:undefined,donut_title:"",donut_expand:{},donut_expand_duration:50,spline_interpolation_type:"cardinal",regions:[],tooltip_show:true,tooltip_grouped:true,tooltip_format_title:undefined,tooltip_format_name:undefined,tooltip_format_value:undefined,tooltip_position:undefined,tooltip_contents:function(ax,av,aw,au){return this.getTooltipContent?this.getTooltipContent(ax,av,aw,au):""},tooltip_init_show:false,tooltip_init_x:0,tooltip_init_position:{top:"0px",left:"50px"},tooltip_onshow:function(){},tooltip_onhide:function(){},title_text:undefined,title_padding:{top:0,right:0,bottom:0,left:0},title_position:"top-center",};Object.keys(this.additionalConfig).forEach(function(au){at[au]=this.additionalConfig[au]},this);return at};C.additionalConfig={};C.loadConfig=function(au){var at=this.config,ax,av,aw;function ay(){var az=av.shift();if(az&&ax&&typeof ax==="object"&&az in ax){ax=ax[az];return ay()}else{if(!az){return ax}else{return undefined}}}Object.keys(at).forEach(function(az){ax=au;av=az.split("_");aw=ay();if(F(aw)){at[az]=aw}})};C.getScale=function(au,at,av){return(av?this.d3.time.scale():this.d3.scale.linear()).range([au,at])};C.getX=function(ax,at,ay,aA){var au=this,az=au.getScale(ax,at,au.isTimeSeries()),aw=ay?az.domain(ay):az,av;if(au.isCategorized()){aA=aA||function(){return 0};az=function(aD,aC){var aB=aw(aD)+aA(aD);return aC?aB:Math.ceil(aB)}}else{az=function(aD,aC){var aB=aw(aD);return aC?aB:Math.ceil(aB)}}for(av in aw){az[av]=aw[av]}az.orgDomain=function(){return aw.domain()};if(au.isCategorized()){az.domain=function(aB){if(!arguments.length){aB=this.orgDomain();return[aB[0],aB[1]+1]}aw.domain(aB);return az}}return az};C.getY=function(au,at,av){var aw=this.getScale(au,at,this.isTimeSeriesY());if(av){aw.domain(av)}return aw};C.getYScale=function(at){return this.axis.getId(at)==="y2"?this.y2:this.y};C.getSubYScale=function(at){return this.axis.getId(at)==="y2"?this.subY2:this.subY};C.updateScales=function(){var au=this,av=au.config,at=!au.x;au.xMin=av.axis_rotated?1:0;au.xMax=av.axis_rotated?au.height:au.width;au.yMin=av.axis_rotated?0:au.height;au.yMax=av.axis_rotated?au.width:1;au.subXMin=au.xMin;au.subXMax=au.xMax;au.subYMin=av.axis_rotated?0:au.height2;au.subYMax=av.axis_rotated?au.width2:1;au.x=au.getX(au.xMin,au.xMax,at?undefined:au.x.orgDomain(),function(){return au.xAxis.tickOffset()});au.y=au.getY(au.yMin,au.yMax,at?av.axis_y_default:au.y.domain());au.y2=au.getY(au.yMin,au.yMax,at?av.axis_y2_default:au.y2.domain());au.subX=au.getX(au.xMin,au.xMax,au.orgXDomain,function(aw){return aw%1?0:au.subXAxis.tickOffset()});au.subY=au.getY(au.subYMin,au.subYMax,at?av.axis_y_default:au.subY.domain());au.subY2=au.getY(au.subYMin,au.subYMax,at?av.axis_y2_default:au.subY2.domain());au.xAxisTickFormat=au.axis.getXAxisTickFormat();au.xAxisTickValues=au.axis.getXAxisTickValues();au.yAxisTickValues=au.axis.getYAxisTickValues();au.y2AxisTickValues=au.axis.getY2AxisTickValues();au.xAxis=au.axis.getXAxis(au.x,au.xOrient,au.xAxisTickFormat,au.xAxisTickValues,av.axis_x_tick_outer);au.subXAxis=au.axis.getXAxis(au.subX,au.subXOrient,au.xAxisTickFormat,au.xAxisTickValues,av.axis_x_tick_outer);au.yAxis=au.axis.getYAxis(au.y,au.yOrient,av.axis_y_tick_format,au.yAxisTickValues,av.axis_y_tick_outer);au.y2Axis=au.axis.getYAxis(au.y2,au.y2Orient,av.axis_y2_tick_format,au.y2AxisTickValues,av.axis_y2_tick_outer);if(!at){if(au.brush){au.brush.scale(au.subX)}if(av.zoom_enabled){au.zoom.scale(au.x)}}if(au.updateArc){au.updateArc()}};C.getYDomainMin=function(az){var aD=this,av=aD.config,at=aD.mapToIds(az),aC=aD.getValuesAsIdKeyed(az),ax,aw,aB,aA,au,ay;if(av.data_groups.length>0){ay=aD.hasNegativeValueInTargets(az);for(ax=0;ax<av.data_groups.length;ax++){aA=av.data_groups[ax].filter(function(aE){return at.indexOf(aE)>=0});if(aA.length===0){continue}aB=aA[0];if(ay&&aC[aB]){aC[aB].forEach(function(aE,aF){aC[aB][aF]=aE<0?aE:0})}for(aw=1;aw<aA.length;aw++){au=aA[aw];if(!aC[au]){continue}aC[au].forEach(function(aE,aF){if(aD.axis.getId(au)===aD.axis.getId(aB)&&aC[aB]&&!(ay&&+aE>0)){aC[aB][aF]+=+aE}})}}}return aD.d3.min(Object.keys(aC).map(function(aE){return aD.d3.min(aC[aE])}))};C.getYDomainMax=function(az){var aD=this,aw=aD.config,at=aD.mapToIds(az),aC=aD.getValuesAsIdKeyed(az),ay,ax,aB,aA,au,av;if(aw.data_groups.length>0){av=aD.hasPositiveValueInTargets(az);for(ay=0;ay<aw.data_groups.length;ay++){aA=aw.data_groups[ay].filter(function(aE){return at.indexOf(aE)>=0});if(aA.length===0){continue}aB=aA[0];if(av&&aC[aB]){aC[aB].forEach(function(aE,aF){aC[aB][aF]=aE>0?aE:0})}for(ax=1;ax<aA.length;ax++){au=aA[ax];if(!aC[au]){continue}aC[au].forEach(function(aE,aF){if(aD.axis.getId(au)===aD.axis.getId(aB)&&aC[aB]&&!(av&&+aE<0)){aC[aB][aF]+=+aE}})}}}return aD.d3.max(Object.keys(aC).map(function(aE){return aD.d3.max(aC[aE])}))};C.getYDomain=function(aQ,aN,aK){var aD=this,aR=aD.config,av=aQ.filter(function(aU){return aD.axis.getId(aU.id)===aN}),aA=aK?aD.filterByXDomain(av,aK):av,at=aN==="y2"?aR.axis_y2_min:aR.axis_y_min,au=aN==="y2"?aR.axis_y2_max:aR.axis_y_max,aH=aD.getYDomainMin(aA),aJ=aD.getYDomainMax(aA),aT,ay,aF,aw,aS,aP=aN==="y2"?aR.axis_y2_center:aR.axis_y_center,aC,ax,aE,az,aB,aI,aL=(aD.hasType("bar",aA)&&aR.bar_zerobased)||(aD.hasType("area",aA)&&aR.area_zerobased),aO=aN==="y2"?aR.axis_y2_inverted:aR.axis_y_inverted,aM=aD.hasDataLabel()&&aR.axis_rotated,aG=aD.hasDataLabel()&&!aR.axis_rotated;if(aR.syno_linechart){aH=0;if(aJ===0){aJ=10}}aH=f(at)?at:f(au)?(aH<au?aH:au-10):aH;aJ=f(au)?au:f(at)?(at<aJ?aJ:at+10):aJ;if(aA.length===0){return aN==="y2"?aD.y2.domain():aD.y.domain()}if(isNaN(aH)){aH=0}if(isNaN(aJ)){aJ=aH}if(aH===aJ){aH<0?aJ=0:aH=0}aB=aH>=0&&aJ>=0;aI=aH<=0&&aJ<=0;if((f(at)&&aB)||(f(au)&&aI)){aL=false}if(aL){if(aB){aH=0}if(aI){aJ=0}}ay=Math.abs(aJ-aH);aF=aw=aS=ay*0.1;if(aR.syno_linechart){aw=Math.ceil(aJ*1.1/8)*8-aJ}if(typeof aP!=="undefined"){aC=Math.max(Math.abs(aH),Math.abs(aJ));aJ=aP+aC;aH=aP-aC}if(aM){ax=aD.getDataLabelLength(aH,aJ,"width");aE=K(aD.y.range());az=[ax[0]/aE,ax[1]/aE];aw+=ay*(az[1]/(1-az[0]-az[1]));aS+=ay*(az[0]/(1-az[0]-az[1]))}else{if(aG){ax=aD.getDataLabelLength(aH,aJ,"height");aw+=aD.axis.convertPixelsToAxisPadding(ax[1],ay);aS+=aD.axis.convertPixelsToAxisPadding(ax[0],ay)}}if(aN==="y"&&I(aR.axis_y_padding)){aw=aD.axis.getPadding(aR.axis_y_padding,"top",aw,ay);aS=aD.axis.getPadding(aR.axis_y_padding,"bottom",aS,ay)}if(aN==="y2"&&I(aR.axis_y2_padding)){aw=aD.axis.getPadding(aR.axis_y2_padding,"top",aw,ay);aS=aD.axis.getPadding(aR.axis_y2_padding,"bottom",aS,ay)}if(aL){if(aB){aS=aH}if(aI){aw=-aJ}}aT=[aH-aS,aJ+aw];return aO?aT.reverse():aT};C.getXDomainMin=function(at){var au=this,av=au.config;return F(av.axis_x_min)?(au.isTimeSeries()?this.parseDate(av.axis_x_min):av.axis_x_min):au.d3.min(at,function(aw){return au.d3.min(aw.values,function(ax){return ax.x})})};C.getXDomainMax=function(at){var au=this,av=au.config;return F(av.axis_x_max)?(au.isTimeSeries()?this.parseDate(av.axis_x_max):av.axis_x_max):au.d3.max(at,function(aw){return au.d3.max(aw.values,function(ax){return ax.x})})};C.getXDomainPadding=function(aw){var at=this,av=at.config,ay=aw[1]-aw[0],az,ax,au,aA;if(at.isCategorized()){ax=0}else{if(at.hasType("bar")){az=at.getMaxDataCount();ax=az>1?(ay/(az-1))/2:0.5}else{ax=ay*0.01}}if(typeof av.axis_x_padding==="object"&&I(av.axis_x_padding)){au=f(av.axis_x_padding.left)?av.axis_x_padding.left:ax;aA=f(av.axis_x_padding.right)?av.axis_x_padding.right:ax}else{if(typeof av.axis_x_padding==="number"){au=aA=av.axis_x_padding}else{au=aA=ax}}return{left:au,right:aA}};C.getXDomain=function(au){var av=this,ax=[av.getXDomainMin(au),av.getXDomainMax(au)],aw=ax[0],az=ax[1],aA=av.getXDomainPadding(ax),ay=0,at=0;if((aw-az)===0&&!av.isCategorized()){if(av.isTimeSeries()){aw=new Date(aw.getTime()*0.5);az=new Date(az.getTime()*1.5)}else{aw=aw===0?1:(aw*0.5);az=az===0?-1:(az*1.5)}}if(aw||aw===0){ay=av.isTimeSeries()?new Date(aw.getTime()-aA.left):aw-aA.left}if(az||az===0){at=av.isTimeSeries()?new Date(az.getTime()+aA.right):az+aA.right}return[ay,at]};C.updateXDomain=function(au,ax,az,at,ay){var av=this,aw=av.config;if(az){av.x.domain(ay?ay:av.d3.extent(av.getXDomain(au)));av.orgXDomain=av.x.domain();if(aw.zoom_enabled){av.zoom.scale(av.x).updateScaleExtent()}av.subX.domain(av.x.domain());if(av.brush){av.brush.scale(av.subX)}}if(ax){av.x.domain(ay?ay:(!av.brush||av.brush.empty())?av.orgXDomain:av.brush.extent());if(aw.zoom_enabled){av.zoom.scale(av.x).updateScaleExtent()}}if(at){av.x.domain(av.trimXDomain(av.x.orgDomain()))}return av.x.domain()};C.trimXDomain=function(av){var aw=this.getZoomDomain(),au=aw[0],at=aw[1];if(av[0]<=au){av[1]=+av[1]+(au-av[0]);av[0]=au}if(at<=av[1]){av[0]=+av[0]-(av[1]-at);av[1]=at}return av};C.isX=function(av){var at=this,au=at.config;return(au.data_x&&av===au.data_x)||(I(au.data_xs)&&q(au.data_xs,av))};C.isNotX=function(at){return !this.isX(at)};C.getXKey=function(av){var at=this,au=at.config;return au.data_x?au.data_x:I(au.data_xs)?au.data_xs[av]:null};C.getXValuesOfXKey=function(av,at){var au=this,ax,aw=at&&I(at)?au.mapToIds(at):[];aw.forEach(function(ay){if(au.getXKey(ay)===av){ax=au.data.xs[ay]}});return ax};C.getIndexByX=function(at){var au=this,av=au.filterByX(au.data.targets,at);return av.length?av[0].index:null};C.getXValue=function(av,au){var at=this;return av in at.data.xs&&at.data.xs[av]&&f(at.data.xs[av][au])?at.data.xs[av][au]:au};C.getOtherTargetXs=function(){var at=this,au=Object.keys(at.data.xs);return au.length?at.data.xs[au[0]]:null};C.getOtherTargetX=function(au){var at=this.getOtherTargetXs();return at&&au<at.length?at[au]:null};C.addXs=function(au){var at=this;Object.keys(au).forEach(function(av){at.config.data_xs[av]=au[av]})};C.hasMultipleX=function(at){return this.d3.set(Object.keys(at).map(function(au){return at[au]})).size()>1};C.isMultipleX=function(){return I(this.config.data_xs)||!this.config.data_xSort||this.hasType("scatter")};C.addName=function(av){var at=this,au;if(av){au=at.config.data_names[av.id];av.name=au!==undefined?au:av.id}return av};C.getValueOnIndex=function(au,av){var at=au.filter(function(aw){return aw.index===av});return at.length?at[0]:null};C.updateTargetX=function(au,at){var av=this;au.forEach(function(aw){aw.values.forEach(function(ax,ay){ax.x=av.generateTargetX(at[ay],aw.id,ay)});av.data.xs[aw.id]=at})};C.updateTargetXs=function(at,av){var au=this;at.forEach(function(aw){if(av[aw.id]){au.updateTargetX([aw],av[aw.id])}})};C.generateTargetX=function(av,ax,aw){var au=this,at;if(au.isTimeSeries()){at=av?au.parseDate(av):au.parseDate(au.getXValue(ax,aw))}else{if(au.isCustomX()&&!au.isCategorized()){at=f(av)?+av:au.getXValue(ax,aw)}else{at=aw}}return at};C.cloneTarget=function(at){return{id:at.id,id_org:at.id_org,values:at.values.map(function(au){return{x:au.x,value:au.value,id:au.id}})}};C.updateXs=function(){var at=this;if(at.data.targets.length){at.xs=[];at.data.targets[0].values.forEach(function(au){at.xs[au.index]=au.x})}};C.getPrevX=function(au){var at=this.xs[au-1];return typeof at!=="undefined"?at:null};C.getNextX=function(au){var at=this.xs[au+1];return typeof at!=="undefined"?at:null};C.getMaxDataCount=function(){var at=this;return at.d3.max(at.data.targets,function(au){return au.values.length})};C.getMaxDataCountTarget=function(au){var aw=au.length,at=0,av;if(aw>1){au.forEach(function(ax){if(ax.values.length>at){av=ax;at=ax.values.length}})}else{av=aw?au[0]:null}return av};C.getEdgeX=function(at){var au=this;return !at.length?[0,0]:[au.d3.min(at,function(av){return av.values[0].x}),au.d3.max(at,function(av){return av.values[av.values.length-1].x})]};C.mapToIds=function(at){return at.map(function(au){return au.id})};C.mapToTargetIds=function(au){var at=this;return au?[].concat(au):at.mapToIds(at.data.targets)};C.hasTarget=function(at,aw){var av=this.mapToIds(at),au;for(au=0;au<av.length;au++){if(av[au]===aw){return true}}return false};C.isTargetToShow=function(at){return this.hiddenTargetIds.indexOf(at)<0};C.isLegendToShow=function(at){return this.hiddenLegendIds.indexOf(at)<0};C.filterTargetsToShow=function(at){var au=this;return at.filter(function(av){return au.isTargetToShow(av.id)})};C.mapTargetsToUniqueXs=function(at){var au=this;var av=au.d3.set(au.d3.merge(at.map(function(aw){return aw.values.map(function(ax){return +ax.x})}))).values();av=au.isTimeSeries()?av.map(function(aw){return new Date(+aw)}):av.map(function(aw){return +aw});return av.sort(function(ax,aw){return ax<aw?-1:ax>aw?1:ax>=aw?0:NaN})};C.addHiddenTargetIds=function(at){this.hiddenTargetIds=this.hiddenTargetIds.concat(at)};C.removeHiddenTargetIds=function(at){this.hiddenTargetIds=this.hiddenTargetIds.filter(function(au){return at.indexOf(au)<0})};C.addHiddenLegendIds=function(at){this.hiddenLegendIds=this.hiddenLegendIds.concat(at)};C.removeHiddenLegendIds=function(at){this.hiddenLegendIds=this.hiddenLegendIds.filter(function(au){return at.indexOf(au)<0})};C.getValuesAsIdKeyed=function(at){var au={};at.forEach(function(av){au[av.id]=[];av.values.forEach(function(aw){au[av.id].push(aw.value)})});return au};C.checkValueInTargets=function(at,aw){var ay=Object.keys(at),ax,av,au;for(ax=0;ax<ay.length;ax++){au=at[ay[ax]].values;for(av=0;av<au.length;av++){if(aw(au[av].value)){return true}}}return false};C.hasNegativeValueInTargets=function(at){return this.checkValueInTargets(at,function(au){return au<0})};C.hasPositiveValueInTargets=function(at){return this.checkValueInTargets(at,function(au){return au>0})};C.isOrderDesc=function(){var at=this.config;return typeof(at.data_order)==="string"&&at.data_order.toLowerCase()==="desc"};C.isOrderAsc=function(){var at=this.config;return typeof(at.data_order)==="string"&&at.data_order.toLowerCase()==="asc"};C.orderTargets=function(at){var au=this,av=au.config,ax=au.isOrderAsc(),aw=au.isOrderDesc();if(ax||aw){at.sort(function(aA,az){var aC=function(aD,aE){return aD+Math.abs(aE.value)};var ay=aA.values.reduce(aC,0),aB=az.values.reduce(aC,0);return ax?aB-ay:ay-aB})}else{if(v(av.data_order)){at.sort(av.data_order)}}return at};C.filterByX=function(au,at){return this.d3.merge(au.map(function(av){return av.values})).filter(function(av){return av.x-at===0})};C.filterRemoveNull=function(at){return at.filter(function(au){return f(au.value)})};C.filterByXDomain=function(at,au){return at.map(function(av){return{id:av.id,id_org:av.id_org,values:av.values.filter(function(aw){return au[0]<=aw.x&&aw.x<=au[1]})}})};C.hasDataLabel=function(){var at=this.config;if(typeof at.data_labels==="boolean"&&at.data_labels){return true}else{if(typeof at.data_labels==="object"&&I(at.data_labels)){return true}}return false};C.getDataLabelLength=function(ax,at,aw){var av=this,ay=[0,0],au=1.3;av.selectChart.select("svg").selectAll(".dummy").data([ax,at]).enter().append("text").text(function(az){return av.dataLabelFormat(az.id)(az)}).each(function(aA,az){ay[az]=this.getBoundingClientRect()[aw]*au}).remove();return ay};C.isNoneArc=function(at){return this.hasTarget(this.data.targets,at.id)},C.isArc=function(at){return"data" in at&&this.hasTarget(this.data.targets,at.data.id)};C.findSameXOfValues=function(at,au){var av,ax=at[au].x,aw=[];for(av=au-1;av>=0;av--){if(ax!==at[av].x){break}aw.push(at[av])}for(av=au;av<at.length;av++){if(ax!==at[av].x){break}aw.push(at[av])}return aw};C.findClosestFromTargets=function(at,aw){var au=this,av;av=at.map(function(ax){return au.findClosest(ax.values,aw)});return au.findClosest(av,aw)};C.findClosest=function(av,ax){var au=this,at=au.config.point_sensitivity,aw;av.filter(function(ay){return ay&&au.isBarType(ay.id)}).forEach(function(az){var ay=au.main.select("."+A.bars+au.getTargetSelectorSuffix(az.id)+" ."+A.bar+"-"+az.index).node();if(!aw&&au.isWithinBar(ay)){aw=az}});av.filter(function(ay){return ay&&!au.isBarType(ay.id)}).forEach(function(ay){var az=au.dist(ay,ax);if(az<at){at=az;aw=ay}});return aw};C.dist=function(ay,aA){var aw=this,ax=aw.config,av=ax.axis_rotated?1:0,au=ax.axis_rotated?0:1,az=aw.circleY(ay,ay.index),at=aw.x(ay.x);return Math.sqrt(Math.pow(at-aA[av],2)+Math.pow(az-aA[au],2))};C.convertValuesToStep=function(at){var av=[].concat(at),au;if(!this.isCategorized()){return at}for(au=at.length+1;0<au;au--){av[au]=av[au-1]}av[0]={x:av[0].x-1,value:av[0].value,id:av[0].id};av[at.length+1]={x:av[at.length].x+1,value:av[at.length].value,id:av[at.length].id};return av};C.updateDataAttributes=function(aw,av){var at=this,au=at.config,ax=au["data_"+aw];if(typeof av==="undefined"){return ax}Object.keys(av).forEach(function(ay){ax[ay]=av[ay]});at.redraw({withLegend:true});return ax};C.convertUrlToData=function(av,aA,az,ay,at){var au=this,aw=aA?aA:"csv";var ax=au.d3.xhr(av);if(az){Object.keys(az).forEach(function(aB){ax.header(aB,az[aB])})}ax.get(function(aB,aC){var aD;if(!aC){throw new Error(aB.responseURL+" "+aB.status+" ("+aB.statusText+")")}if(aw==="json"){aD=au.convertJsonToData(JSON.parse(aC.response),ay)}else{if(aw==="tsv"){aD=au.convertTsvToData(aC.response)}else{aD=au.convertCsvToData(aC.response)}}at.call(au,aD)})};C.convertXsvToData=function(at,aw){var au=aw.parseRows(at),av;if(au.length===1){av=[{}];au[0].forEach(function(ax){av[0][ax]=null})}else{av=aw.parse(at)}return av};C.convertCsvToData=function(at){return this.convertXsvToData(at,this.d3.csv)};C.convertTsvToData=function(at){return this.convertXsvToData(at,this.d3.tsv)};C.convertJsonToData=function(av,aw){var au=this,at=[],ay,ax;if(aw){if(aw.x){ay=aw.value.concat(aw.x);au.config.data_x=aw.x}else{ay=aw.value}at.push(ay);av.forEach(function(aA){var az=[];ay.forEach(function(aC){var aB=au.findValueInJson(aA,aC);if(B(aB)){aB=null}az.push(aB)});at.push(az)});ax=au.convertRowsToData(at)}else{Object.keys(av).forEach(function(az){at.push([az].concat(av[az]))});ax=au.convertColumnsToData(at)}return ax};C.findValueInJson=function(au,ax){ax=ax.replace(/\[(\w+)\]/g,".$1");ax=ax.replace(/^\./,"");var aw=ax.split(".");for(var av=0;av<aw.length;++av){var at=aw[av];if(at in au){au=au[at]}else{return}}return au};C.convertRowsToData=function(ay){var ax=ay[0],au={},at=[],aw,av;for(aw=1;aw<ay.length;aw++){au={};for(av=0;av<ay[aw].length;av++){if(B(ay[aw][av])){throw new Error("Source data is missing a component at ("+aw+","+av+")!")}au[ax[av]]=ay[aw][av]}at.push(au)}return at};C.convertColumnsToData=function(ax){var at=[],aw,au,av;for(aw=0;aw<ax.length;aw++){av=ax[aw][0];for(au=1;au<ax[aw].length;au++){if(B(at[au-1])){at[au-1]={}}if(B(ax[aw][au])){throw new Error("Source data is missing a component at ("+aw+","+au+")!")}at[au-1][av]=ax[aw][au]}}return at};C.convertDataToTargets=function(az,ay){var au=this,aw=au.config,ax=au.d3.keys(az[0]).filter(au.isNotX,au),av=au.d3.keys(az[0]).filter(au.isX,au),at;ax.forEach(function(aB){var aA=au.getXKey(aB);if(au.isCustomX()||au.isTimeSeries()){if(av.indexOf(aA)>=0){au.data.xs[aB]=(ay&&au.data.xs[aB]?au.data.xs[aB]:[]).concat(az.map(function(aC){return aC[aA]}).filter(f).map(function(aC,aD){return au.generateTargetX(aC,aB,aD)}))}else{if(aw.data_x){au.data.xs[aB]=au.getOtherTargetXs()}else{if(I(aw.data_xs)){au.data.xs[aB]=au.getXValuesOfXKey(aA,au.data.targets)}}}}else{au.data.xs[aB]=az.map(function(aD,aC){return aC})}});ax.forEach(function(aA){if(!au.data.xs[aA]){throw new Error('x is not defined for id = "'+aA+'".')}});at=ax.map(function(aC,aA){var aB=aw.data_idConverter(aC);return{id:aB,id_org:aC,values:az.map(function(aI,aG){var aF=au.getXKey(aC),aE=aI[aF],aH=aI[aC]!==null&&!isNaN(aI[aC])?+aI[aC]:null,aD;if(au.isCustomX()&&au.isCategorized()&&aA===0&&!B(aE)){if(aA===0&&aG===0){aw.axis_x_categories=[]}aD=aw.axis_x_categories.indexOf(aE);if(aD===-1){aD=aw.axis_x_categories.length;aw.axis_x_categories.push(aE)}}else{aD=au.generateTargetX(aE,aC,aG)}if(B(aI[aC])||au.data.xs[aC].length<=aG){aD=undefined}return{x:aD,value:aH,id:aB}}).filter(function(aD){return F(aD.x)})}});at.forEach(function(aB){var aA;if(aw.data_xSort){aB.values=aB.values.sort(function(aF,aE){var aD=aF.x||aF.x===0?aF.x:Infinity,aC=aE.x||aE.x===0?aE.x:Infinity;return aD-aC})}aA=0;aB.values.forEach(function(aC){aC.index=aA++});au.data.xs[aB.id].sort(function(aD,aC){return aD-aC})});au.hasNegativeValue=au.hasNegativeValueInTargets(at);au.hasPositiveValue=au.hasPositiveValueInTargets(at);if(aw.data_type){au.setTargetType(au.mapToIds(at).filter(function(aA){return !(aA in aw.data_types)}),aw.data_type)}at.forEach(function(aA){au.addCache(aA.id_org,aA)});return at};C.load=function(at,av){var au=this;if(at){if(av.filter){at=at.filter(av.filter)}if(av.type||av.types){at.forEach(function(aw){var ax=av.types&&av.types[aw.id]?av.types[aw.id]:av.type;au.setTargetType(aw.id,ax)})}au.data.targets.forEach(function(ax){for(var aw=0;aw<at.length;aw++){if(ax.id===at[aw].id){ax.values=at[aw].values;at.splice(aw,1);break}}});au.data.targets=au.data.targets.concat(at)}au.updateTargets(au.data.targets);au.redraw({withUpdateOrgXDomain:true,withUpdateXDomain:true,withLegend:true});if(av.done){av.done()}};C.loadFromArgs=function(au){var at=this;if(au.data){at.load(at.convertDataToTargets(au.data),au)}else{if(au.url){at.convertUrlToData(au.url,au.mimeType,au.headers,au.keys,function(av){at.load(at.convertDataToTargets(av),au)})}else{if(au.json){at.load(at.convertDataToTargets(at.convertJsonToData(au.json,au.keys)),au)}else{if(au.rows){at.load(at.convertDataToTargets(at.convertRowsToData(au.rows)),au)}else{if(au.columns){at.load(at.convertDataToTargets(at.convertColumnsToData(au.columns)),au)}else{at.load(null,au)}}}}}};C.unload=function(au,at){var av=this;if(!at){at=function(){}}au=au.filter(function(aw){return av.hasTarget(av.data.targets,aw)});if(!au||au.length===0){at();return}av.svg.selectAll(au.map(function(aw){return av.selectorTarget(aw)})).transition().style("opacity",0).remove().call(av.endall,at);au.forEach(function(aw){av.withoutFadeIn[aw]=false;if(av.legend){av.legend.selectAll("."+A.legendItem+av.getTargetSelectorSuffix(aw)).remove()}av.data.targets=av.data.targets.filter(function(ax){return ax.id!==aw})})};C.categoryName=function(au){var at=this.config;return au<at.axis_x_categories.length?at.axis_x_categories[au]:au};C.initEventRect=function(){var at=this;at.main.select("."+A.chart).append("g").attr("class",A.eventRects).style("fill-opacity",0)};C.redrawEventRect=function(){var at=this,au=at.config,ay,ax,aw=at.isMultipleX();var av=at.main.select("."+A.eventRects).style("cursor",au.zoom_enabled?au.axis_rotated?"ns-resize":"ew-resize":null).classed(A.eventRectsMultiple,aw).classed(A.eventRectsSingle,!aw);av.selectAll("."+A.eventRect).remove();at.eventRect=av.selectAll("."+A.eventRect);if(aw){ay=at.eventRect.data([0]);at.generateEventRectsForMultipleXs(ay.enter());at.updateEventRect(ay)}else{ax=at.getMaxDataCountTarget(at.data.targets);av.datum(ax?ax.values:[]);at.eventRect=av.selectAll("."+A.eventRect);ay=at.eventRect.data(function(az){return az});at.generateEventRectsForSingleX(ay.enter());at.updateEventRect(ay);ay.exit().remove()}};C.updateEventRect=function(aA){var aB=this,av=aB.config,ay,ax,az,aw,au,at;aA=aA||aB.eventRect.data(function(aC){return aC});if(aB.isMultipleX()){ay=0;ax=0;az=aB.width;aw=aB.height}else{if((aB.isCustomX()||aB.isTimeSeries())&&!aB.isCategorized()){aB.updateXs();au=function(aE){var aC=aB.getPrevX(aE.index),aD=aB.getNextX(aE.index);if(aC===null&&aD===null){return av.axis_rotated?aB.height:aB.width}if(aC===null){aC=aB.x.domain()[0]}if(aD===null){aD=aB.x.domain()[1]}return Math.max(0,(aB.x(aD)-aB.x(aC))/2)};at=function(aF){var aD=aB.getPrevX(aF.index),aE=aB.getNextX(aF.index),aC=aB.data.xs[aF.id][aF.index];if(aD===null&&aE===null){return 0}if(aD===null){aD=aB.x.domain()[0]}return(aB.x(aC)+aB.x(aD))/2}}else{au=aB.getEventRectWidth();at=function(aC){return aB.x(aC.x)-(au/2)}}ay=av.axis_rotated?0:at;ax=av.axis_rotated?at:0;az=av.axis_rotated?aB.width:au;aw=av.axis_rotated?au:aB.height}aA.attr("class",aB.classEvent.bind(aB)).attr("x",ay).attr("y",ax).attr("width",az).attr("height",aw)};C.generateEventRectsForSingleX=function(av){var at=this,aw=at.d3,au=at.config;av.append("rect").attr("class",at.classEvent.bind(at)).style("cursor",au.data_selection_enabled&&au.data_selection_grouped?"pointer":null).on("mouseover",function(ay){var ax=ay.index;if(at.dragging||at.flowing){return}if(at.hasArcType()){return}if(au.point_focus_expand_enabled){at.expandCircles(ax,null,true)}at.expandBars(ax,null,true);at.main.selectAll("."+A.shape+"-"+ax).each(function(az){au.data_onmouseover.call(at.api,az)})}).on("mouseout",function(ay){var ax=ay.index;if(!at.config){return}if(at.hasArcType()){return}at.hideXGridFocus();at.hideTooltip();at.unexpandCircles();at.unexpandBars();at.main.selectAll("."+A.shape+"-"+ax).each(function(az){au.data_onmouseout.call(at.api,az)})}).on("mousemove",function(aA){var az,ax=aA.index,ay=at.svg.select("."+A.eventRect+"-"+ax);if(at.dragging||at.flowing){return}if(at.hasArcType()){return}if(at.isStepType(aA)&&at.config.line_step_type==="step-after"&&aw.mouse(this)[0]<at.x(at.getXValue(aA.id,ax))){ax-=1}az=at.filterTargetsToShow(at.data.targets).map(function(aB){return at.addName(at.getValueOnIndex(aB.values,ax))});if(au.tooltip_grouped){at.showTooltip(az,this);at.showXGridFocus(az)}if(au.tooltip_grouped&&(!au.data_selection_enabled||au.data_selection_grouped)){return}at.main.selectAll("."+A.shape+"-"+ax).each(function(){aw.select(this).classed(A.EXPANDED,true);if(au.data_selection_enabled){ay.style("cursor",au.data_selection_grouped?"pointer":null)}if(!au.tooltip_grouped){at.hideXGridFocus();at.hideTooltip();if(!au.data_selection_grouped){at.unexpandCircles(ax);at.unexpandBars(ax)}}}).filter(function(aB){return at.isWithinShape(this,aB)}).each(function(aB){if(au.data_selection_enabled&&(au.data_selection_grouped||au.data_selection_isselectable(aB))){ay.style("cursor","pointer")}if(!au.tooltip_grouped){at.showTooltip([aB],this);at.showXGridFocus([aB]);if(au.point_focus_expand_enabled){at.expandCircles(ax,aB.id,true)}at.expandBars(ax,aB.id,true)}})}).on("click",function(ay){var ax=ay.index;if(at.hasArcType()||!at.toggleShape){return}if(at.cancelClick){at.cancelClick=false;return}if(at.isStepType(ay)&&au.line_step_type==="step-after"&&aw.mouse(this)[0]<at.x(at.getXValue(ay.id,ax))){ax-=1}at.main.selectAll("."+A.shape+"-"+ax).each(function(az){if(au.data_selection_grouped||at.isWithinShape(this,az)){at.toggleShape(this,az,ax);at.config.data_onclick.call(at.api,az,this)}})}).call(au.data_selection_draggable&&at.drag?(aw.behavior.drag().origin(Object).on("drag",function(){at.drag(aw.mouse(this))}).on("dragstart",function(){at.dragstart(aw.mouse(this))}).on("dragend",function(){at.dragend()})):function(){})};C.generateEventRectsForMultipleXs=function(av){var at=this,aw=at.d3,au=at.config;function ax(){at.svg.select("."+A.eventRect).style("cursor",null);at.hideXGridFocus();at.hideTooltip();at.unexpandCircles();at.unexpandBars()}av.append("rect").attr("x",0).attr("y",0).attr("width",at.width).attr("height",at.height).attr("class",A.eventRect).on("mouseout",function(){if(!at.config){return}if(at.hasArcType()){return}ax()}).on("mousemove",function(){var az=at.filterTargetsToShow(at.data.targets);var ay,aA,aC,aB;if(at.dragging){return}if(at.hasArcType(az)){return}ay=aw.mouse(this);aA=at.findClosestFromTargets(az,ay);if(at.mouseover&&(!aA||aA.id!==at.mouseover.id)){au.data_onmouseout.call(at.api,at.mouseover);at.mouseover=undefined}if(!aA){ax();return}if(at.isScatterType(aA)||!au.tooltip_grouped){aC=[aA]}else{aC=at.filterByX(az,aA.x)}aB=aC.map(function(aD){return at.addName(aD)});at.showTooltip(aB,this);if(au.point_focus_expand_enabled){at.expandCircles(aA.index,aA.id,true)}at.expandBars(aA.index,aA.id,true);at.showXGridFocus(aB);if(at.isBarType(aA.id)||at.dist(aA,ay)<au.point_sensitivity){at.svg.select("."+A.eventRect).style("cursor","pointer");if(!at.mouseover){au.data_onmouseover.call(at.api,aA);at.mouseover=aA}}}).on("click",function(){var az=at.filterTargetsToShow(at.data.targets);var ay,aA;if(at.hasArcType(az)){return}ay=aw.mouse(this);aA=at.findClosestFromTargets(az,ay);if(!aA){return}if(at.isBarType(aA.id)||at.dist(aA,ay)<au.point_sensitivity){at.main.selectAll("."+A.shapes+at.getTargetSelectorSuffix(aA.id)).selectAll("."+A.shape+"-"+aA.index).each(function(){if(au.data_selection_grouped||at.isWithinShape(this,aA)){at.toggleShape(this,aA,aA.index);at.config.data_onclick.call(at.api,aA,this)}})}}).call(au.data_selection_draggable&&at.drag?(aw.behavior.drag().origin(Object).on("drag",function(){at.drag(aw.mouse(this))}).on("dragstart",function(){at.dragstart(aw.mouse(this))}).on("dragend",function(){at.dragend()})):function(){})};C.dispatchEvent=function(az,ax,ay){var aC=this,av="."+A.eventRect+(!aC.isMultipleX()?"-"+ax:""),au=aC.main.select(av).node(),aw=au.getBoundingClientRect(),aB=aw.left+(ay?ay[0]:0),aA=aw.top+(ay?ay[1]:0),at=document.createEvent("MouseEvents");at.initMouseEvent(az,true,true,aa,0,aB,aA,aB,aA,false,false,false,false,0,null);au.dispatchEvent(at)};C.getCurrentWidth=function(){var at=this,au=at.config;return au.size_width?au.size_width:at.getParentWidth()};C.getCurrentHeight=function(){var at=this,au=at.config,av=au.size_height?au.size_height:at.getParentHeight();return av>0?av:320/(at.hasType("gauge")&&!au.gauge_fullCircle?2:1)};C.getCurrentPaddingTop=function(){var at=this,au=at.config,av=f(au.padding_top)?au.padding_top:0;if(at.title&&at.title.node()){av+=at.getTitlePadding()}return av};C.getCurrentPaddingBottom=function(){var at=this.config;return f(at.padding_bottom)?at.padding_bottom:0};C.getCurrentPaddingLeft=function(at){var au=this,av=au.config;if(f(av.padding_left)){return av.padding_left}else{if(av.axis_rotated){return !av.axis_x_show?1:Math.max(L(au.getAxisWidthByAxisId("x",at)),40)}else{if(!av.axis_y_show||av.axis_y_inner){return au.axis.getYAxisLabelPosition().isOuter?30:1}else{if(av.syno_linechart){return Math.ceil(au.getAxisWidthByAxisId("y",at))-7}else{return L(au.getAxisWidthByAxisId("y",at))}}}}};C.getCurrentPaddingRight=function(){var at=this,au=at.config,aw=10,av=at.isLegendRight?at.getLegendWidth()+20:0;if(f(au.padding_right)){return au.padding_right+1}else{if(au.axis_rotated){return aw+av}else{if(!au.axis_y2_show||au.axis_y2_inner){return 2+av+(at.axis.getY2AxisLabelPosition().isOuter?20:0)}else{return L(at.getAxisWidthByAxisId("y2"))+av}}}};C.getParentRectValue=function(au){var av=this.selectChart.node(),at;while(av&&av.tagName!=="BODY"){try{at=av.getBoundingClientRect()[au]}catch(aw){if(au==="width"){at=av.offsetWidth}}if(at){break}av=av.parentNode}return at};C.getParentWidth=function(){return this.getParentRectValue("width")};C.getParentHeight=function(){var at=this.selectChart.style("height");return at.indexOf("px")>0?+at.replace("px",""):0};C.getSvgLeft=function(az){var aB=this,au=aB.config,ax=au.axis_rotated||(!au.axis_rotated&&!au.axis_y_inner),aC=au.axis_rotated?A.axisX:A.axisY,at=aB.main.select("."+aC).node(),aA=at&&ax?at.getBoundingClientRect():{right:0},ay=aB.selectChart.node().getBoundingClientRect(),aw=aB.hasArcType(),av=aA.right-ay.left-(aw?0:aB.getCurrentPaddingLeft(az));return av>0?av:0};C.getAxisWidthByAxisId=function(aw,au){var av=this,at=av.axis.getLabelPositionById(aw);return av.axis.getMaxTickWidth(aw,au)+(at.isInner?20:40)};C.getHorizontalAxisHeight=function(aw){var at=this,au=at.config,av=30;if(aw==="x"&&!au.axis_x_show){return 8}if(aw==="x"&&au.axis_x_height){return au.axis_x_height}if(aw==="y"&&!au.axis_y_show){return au.legend_show&&!at.isLegendRight&&!at.isLegendInset?10:1}if(aw==="y2"&&!au.axis_y2_show){return at.rotated_padding_top}if(aw==="x"&&!au.axis_rotated&&au.axis_x_tick_rotate){av=30+at.axis.getMaxTickWidth(aw)*Math.cos(Math.PI*(90-au.axis_x_tick_rotate)/180)}if(aw==="y"&&au.axis_rotated&&au.axis_y_tick_rotate){av=30+at.axis.getMaxTickWidth(aw)*Math.cos(Math.PI*(90-au.axis_y_tick_rotate)/180)}return av+(at.axis.getLabelPositionById(aw).isInner?0:10)+(aw==="y2"?-10:0)};C.getEventRectWidth=function(){return Math.max(0,this.xAxis.tickInterval())};C.getShapeIndices=function(ay){var au=this,aw=au.config,az={},ax=0,av,at;au.filterTargetsToShow(au.data.targets.filter(ay,au)).forEach(function(aA){for(av=0;av<aw.data_groups.length;av++){if(aw.data_groups[av].indexOf(aA.id)<0){continue}for(at=0;at<aw.data_groups[av].length;at++){if(aw.data_groups[av][at] in az){az[aA.id]=az[aw.data_groups[av][at]];break}}}if(B(az[aA.id])){az[aA.id]=ax++}});az.__max__=ax-1;return az};C.getShapeX=function(ay,au,ax,at){var av=this,aw=at?av.subX:av.x;return function(aA){var az=aA.id in ax?ax[aA.id]:0;return aA.x||aA.x===0?aw(aA.x)-ay*(au/2-az):0}};C.getShapeY=function(at){var au=this;return function(aw){var av=at?au.getSubYScale(aw.id):au.getYScale(aw.id);return av(aw.value)}};C.getShapeOffset=function(ax,ay,at){var aw=this,av=aw.orderTargets(aw.filterTargetsToShow(aw.data.targets.filter(ax,aw))),au=av.map(function(az){return az.id});return function(aD,az){var aC=at?aw.getSubYScale(aD.id):aw.getYScale(aD.id),aA=aC(0),aB=aA;av.forEach(function(aF){var aE=aw.isStepType(aD)?aw.convertValuesToStep(aF.values):aF.values;if(aF.id===aD.id||ay[aF.id]!==ay[aD.id]){return}if(au.indexOf(aF.id)<au.indexOf(aD.id)){if(typeof aE[az]==="undefined"||+aE[az].x!==+aD.x){az=-1;aE.forEach(function(aG,aH){if(aG.x===aD.x){az=aH}})}if(az in aE&&aE[az].value*aD.value>=0){aB+=aC(aE[az].value)-aA}}});return aB}};C.isWithinShape=function(av,aw){var au=this,at=au.d3.select(av),ax;if(!au.isTargetToShow(aw.id)){ax=false}else{if(av.nodeName==="circle"){ax=au.isStepType(aw)?au.isWithinStep(av,au.getYScale(aw.id)(aw.value)):au.isWithinCircle(av,au.pointSelectR(aw)*1.5)}else{if(av.nodeName==="path"){ax=at.classed(A.bar)?au.isWithinBar(av):true}}}return ax};C.getInterpolate=function(av){var au=this,at=au.isInterpolationType(au.config.spline_interpolation_type)?au.config.spline_interpolation_type:"cardinal";return au.isSplineType(av)?at:au.isStepType(av)?au.config.line_step_type:"linear"};C.initLine=function(){var at=this;at.main.select("."+A.chart).append("g").attr("class",A.chartLines)};C.updateTargetsForLine=function(aB){var aC=this,av=aC.config,at,au,ax=aC.classChartLine.bind(aC),ay=aC.classLines.bind(aC),az=aC.classAreas.bind(aC),aA=aC.classCircles.bind(aC),aw=aC.classFocus.bind(aC);at=aC.main.select("."+A.chartLines).selectAll("."+A.chartLine).data(aB).attr("class",function(aD){return ax(aD)+aw(aD)});au=at.enter().append("g").attr("class",ax).style("opacity",0).style("pointer-events","none");au.append("g").attr("class",ay);au.append("g").attr("class",az);au.append("g").attr("class",function(aD){return aC.generateClass(A.selectedCircles,aD.id)});au.append("g").attr("class",aA).style("cursor",function(aD){return av.data_selection_isselectable(aD)?"pointer":null});aB.forEach(function(aD){aC.main.selectAll("."+A.selectedCircles+aC.getTargetSelectorSuffix(aD.id)).selectAll("."+A.selectedCircle).each(function(aE){aE.value=aD.values[aE.index].value})})};C.updateLine=function(au){var at=this;at.mainLine=at.main.selectAll("."+A.lines).selectAll("."+A.line).data(at.lineData.bind(at));at.mainLine.enter().append("path").attr("class",at.classLine.bind(at)).style("stroke",at.color);at.mainLine.style("opacity",at.initialOpacity.bind(at)).style("shape-rendering",function(av){return at.isStepType(av)?"crispEdges":""}).attr("transform",null);at.mainLine.exit().transition().duration(au).style("opacity",0).remove()};C.redrawLine=function(au,at){return[(at?this.mainLine.transition(Math.random().toString()):this.mainLine).attr("d",au).style("stroke",this.color).style("opacity",1)]};C.generateDrawLine=function(at,aA){var az=this,au=az.config,aB=az.d3.svg.line(),ax=az.generateGetLinePoints(at,aA),av=aA?az.getSubYScale:az.getYScale,aw=function(aC){return(aA?az.subxx:az.xx).call(az,aC)},ay=function(aD,aC){return au.data_groups.length>0?ax(aD,aC)[0][1]:av.call(az,aD.id)(aD.value)};aB=au.axis_rotated?aB.x(ay).y(aw):aB.x(aw).y(ay);if(!au.line_connectNull){aB=aB.defined(function(aC){return aC.value!=null})}return function(aH){var aD=au.line_connectNull?az.filterRemoveNull(aH.values):aH.values,aC=aA?az.x:az.subX,aI=av.call(az,aH.id),aE=0,aF=0,aG;if(az.isLineType(aH)){if(au.data_regions[aH.id]){aG=az.lineWithRegions(aD,aC,aI,au.data_regions[aH.id])}else{if(az.isStepType(aH)){aD=az.convertValuesToStep(aD)}aG=aB.interpolate(az.getInterpolate(aH))(aD)}}else{if(aD[0]){aE=aC(aD[0].x);aF=aI(aD[0].value)}aG=au.axis_rotated?"M "+aF+" "+aE:"M "+aE+" "+aF}return aG?aG:"M 0 0"}};C.generateGetLinePoints=function(at,aB){var aA=this,av=aA.config,ax=at.__max__+1,az=aA.getShapeX(0,ax,at,!!aB),ay=aA.getShapeY(!!aB),aw=aA.getShapeOffset(aA.isLineType,at,!!aB),au=aB?aA.getSubYScale:aA.getYScale;return function(aG,aC){var aD=au.call(aA,aG.id)(0),aF=aw(aG,aC)||aD,aH=az(aG),aE=ay(aG);if(av.axis_rotated){if((0<aG.value&&aE<aD)||(aG.value<0&&aD<aE)){aE=aD}}return[[aH,aE-(aD-aF)],[aH,aE-(aD-aF)],[aH,aE-(aD-aF)],[aH,aE-(aD-aF)]]}};C.lineWithRegions=function(aN,ay,ax,aF){var aD=this,aP=aD.config,aH=-1,aK,aJ,aG="M",aA,aB,aL,aC,az,aO,aE,aw,aQ=aD.isCategorized()?0.5:0,aI,aM,at=[];function au(aR,aT){var aS;for(aS=0;aS<aT.length;aS++){if(aT[aS].start<aR&&aR<=aT[aS].end){return true}}return false}if(F(aF)){for(aK=0;aK<aF.length;aK++){at[aK]={};if(B(aF[aK].start)){at[aK].start=aN[0].x}else{at[aK].start=aD.isTimeSeries()?aD.parseDate(aF[aK].start):aF[aK].start}if(B(aF[aK].end)){at[aK].end=aN[aN.length-1].x}else{at[aK].end=aD.isTimeSeries()?aD.parseDate(aF[aK].end):aF[aK].end}}}aI=aP.axis_rotated?function(aR){return ax(aR.value)}:function(aR){return ay(aR.x)};aM=aP.axis_rotated?function(aR){return ay(aR.x)}:function(aR){return ax(aR.value)};function av(aR){return"M"+aR[0][0]+" "+aR[0][1]+" "+aR[1][0]+" "+aR[1][1]}if(aD.isTimeSeries()){aA=function(aS,aR,aV,aW){var aT=aS.x.getTime(),aU=aR.x-aS.x,aZ=new Date(aT+aU*aV),aY=new Date(aT+aU*(aV+aW)),aX;if(aP.axis_rotated){aX=[[ax(aL(aV)),ay(aZ)],[ax(aL(aV+aW)),ay(aY)]]}else{aX=[[ay(aZ),ax(aL(aV))],[ay(aY),ax(aL(aV+aW))]]}return av(aX)}}else{aA=function(aV,aT,aR,aU){var aS;if(aP.axis_rotated){aS=[[ax(aL(aR),true),ay(aB(aR))],[ax(aL(aR+aU),true),ay(aB(aR+aU))]]}else{aS=[[ay(aB(aR),true),ax(aL(aR))],[ay(aB(aR+aU),true),ax(aL(aR+aU))]]}return av(aS)}}for(aK=0;aK<aN.length;aK++){if(B(at)||!au(aN[aK].x,at)){aG+=" "+aI(aN[aK])+" "+aM(aN[aK])}else{aB=aD.getScale(aN[aK-1].x+aQ,aN[aK].x+aQ,aD.isTimeSeries());aL=aD.getScale(aN[aK-1].value,aN[aK].value);aC=ay(aN[aK].x)-ay(aN[aK-1].x);az=ax(aN[aK].value)-ax(aN[aK-1].value);aO=Math.sqrt(Math.pow(aC,2)+Math.pow(az,2));aE=2/aO;aw=aE*2;for(aJ=aE;aJ<=1;aJ+=aw){aG+=aA(aN[aK-1],aN[aK],aJ,aE)}}aH=aN[aK].x}return aG};C.updateArea=function(av){var at=this,au=at.d3;at.mainArea=at.main.selectAll("."+A.areas).selectAll("."+A.area).data(at.lineData.bind(at));at.mainArea.enter().append("path").attr("class",at.classArea.bind(at)).style("fill",at.color).style("opacity",function(){at.orgAreaOpacity=+au.select(this).style("opacity");return 0});at.mainArea.style("opacity",at.orgAreaOpacity);at.mainArea.exit().transition().duration(av).style("opacity",0).remove()};C.redrawArea=function(au,at){return[(at?this.mainArea.transition(Math.random().toString()):this.mainArea).attr("d",au).style("fill",this.color).style("opacity",this.orgAreaOpacity)]};C.generateDrawArea=function(aw,aC){var aB=this,au=aB.config,at=aB.d3.svg.area(),ay=aB.generateGetAreaPoints(aw,aC),av=aC?aB.getSubYScale:aB.getYScale,ax=function(aD){return(aC?aB.subxx:aB.xx).call(aB,aD)},aA=function(aE,aD){return au.data_groups.length>0?ay(aE,aD)[0][1]:av.call(aB,aE.id)(aB.getAreaBaseValue(aE.id))},az=function(aE,aD){return au.data_groups.length>0?ay(aE,aD)[1][1]:av.call(aB,aE.id)(aE.value)};at=au.axis_rotated?at.x0(aA).x1(az).y(ax):at.x(ax).y0(au.area_above?0:aA).y1(az);if(!au.line_connectNull){at=at.defined(function(aD){return aD.value!==null})}return function(aH){var aD=au.line_connectNull?aB.filterRemoveNull(aH.values):aH.values,aE=0,aF=0,aG;if(aB.isAreaType(aH)){if(aB.isStepType(aH)){aD=aB.convertValuesToStep(aD)}aG=at.interpolate(aB.getInterpolate(aH))(aD)}else{if(aD[0]){aE=aB.x(aD[0].x);aF=aB.getYScale(aH.id)(aD[0].value)}aG=au.axis_rotated?"M "+aF+" "+aE:"M "+aE+" "+aF}return aG?aG:"M 0 0"}};C.getAreaBaseValue=function(){return 0};C.generateGetAreaPoints=function(aw,aB){var aA=this,au=aA.config,ax=aw.__max__+1,az=aA.getShapeX(0,ax,aw,!!aB),ay=aA.getShapeY(!!aB),av=aA.getShapeOffset(aA.isAreaType,aw,!!aB),at=aB?aA.getSubYScale:aA.getYScale;return function(aG,aC){var aD=at.call(aA,aG.id)(0),aF=av(aG,aC)||aD,aH=az(aG),aE=ay(aG);if(au.axis_rotated){if((0<aG.value&&aE<aD)||(aG.value<0&&aD<aE)){aE=aD}}return[[aH,aF],[aH,aE-(aD-aF)],[aH,aE-(aD-aF)],[aH,aF]]}};C.updateCircle=function(){var at=this;at.mainCircle=at.main.selectAll("."+A.circles).selectAll("."+A.circle).data(at.lineOrScatterData.bind(at));at.mainCircle.enter().append("circle").attr("class",at.classCircle.bind(at)).attr("r",at.pointR.bind(at)).style("fill",at.color);at.mainCircle.style("opacity",at.initialOpacityForCircle.bind(at));at.mainCircle.exit().remove()};C.redrawCircle=function(at,aw,au){var av=this.main.selectAll("."+A.selectedCircle);return[(au?this.mainCircle.transition(Math.random().toString()):this.mainCircle).style("opacity",this.opacityForCircle.bind(this)).style("fill",this.color).attr("cx",at).attr("cy",aw),(au?av.transition(Math.random().toString()):av).attr("cx",at).attr("cy",aw)]};C.circleX=function(at){return at.x||at.x===0?this.x(at.x):null};C.updateCircleY=function(){var at=this,av,au;if(at.config.data_groups.length>0){av=at.getShapeIndices(at.isLineType),au=at.generateGetLinePoints(av);at.circleY=function(ax,aw){return au(ax,aw)[0][1]}}else{at.circleY=function(aw){return at.getYScale(aw.id)(aw.value)}}};C.getCircles=function(au,av){var at=this;return(av?at.main.selectAll("."+A.circles+at.getTargetSelectorSuffix(av)):at.main).selectAll("."+A.circle+(f(au)?"-"+au:""))};C.expandCircles=function(au,ax,aw){var at=this,av=at.pointExpandedR.bind(at);if(aw){at.unexpandCircles()}at.getCircles(au,ax).classed(A.EXPANDED,true).attr("r",av)};C.unexpandCircles=function(au){var at=this,av=at.pointR.bind(at);at.getCircles(au).filter(function(){return at.d3.select(this).classed(A.EXPANDED)}).classed(A.EXPANDED,false).attr("r",av)};C.pointR=function(av){var at=this,au=at.config;return at.isStepType(av)?0:(v(au.point_r)?au.point_r(av):au.point_r)};C.pointExpandedR=function(av){var at=this,au=at.config;return au.point_focus_expand_enabled?(au.point_focus_expand_r?au.point_focus_expand_r:at.pointR(av)*1.75):at.pointR(av)};C.pointSelectR=function(av){var at=this,au=at.config;return v(au.point_select_r)?au.point_select_r(av):((au.point_select_r)?au.point_select_r:at.pointR(av)*4)};C.isWithinCircle=function(ay,ax){var aw=this.d3,av=aw.mouse(ay),au=aw.select(ay),at=+au.attr("cx"),az=+au.attr("cy");return Math.sqrt(Math.pow(at-av[0],2)+Math.pow(az-av[1],2))<ax};C.isWithinStep=function(at,au){return Math.abs(au-this.d3.mouse(at)[1])<30};C.initBar=function(){var at=this;at.main.select("."+A.chart).append("g").attr("class",A.chartBars)};C.updateTargetsForBar=function(au){var aw=this,ay=aw.config,aA,at,ax=aw.classChartBar.bind(aw),az=aw.classBars.bind(aw),av=aw.classFocus.bind(aw);aA=aw.main.select("."+A.chartBars).selectAll("."+A.chartBar).data(au).attr("class",function(aB){return ax(aB)+av(aB)});at=aA.enter().append("g").attr("class",ax).style("opacity",0).style("pointer-events","none");at.append("g").attr("class",az).style("cursor",function(aB){return ay.data_selection_isselectable(aB)?"pointer":null})};C.updateBar=function(ay){var av=this,at=av.barData.bind(av),aw=av.classBar.bind(av),ax=av.initialOpacity.bind(av),au=function(az){return av.color(az.id)};av.mainBar=av.main.selectAll("."+A.bars).selectAll("."+A.bar).data(at);av.mainBar.enter().append("path").attr("class",aw).style("stroke",au).style("fill",au);av.mainBar.style("opacity",ax);av.mainBar.exit().transition().duration(ay).style("opacity",0).remove()};C.redrawBar=function(at,au){return[(au?this.mainBar.transition(Math.random().toString()):this.mainBar).attr("d",at).style("fill",this.color).style("opacity",1)]};C.getBarW=function(ax,aw){var au=this,av=au.config,at=typeof av.bar_width==="number"?av.bar_width:aw?(ax.tickInterval()*av.bar_width_ratio)/aw:0;return av.bar_width_max&&at>av.bar_width_max?av.bar_width_max:at};C.getBars=function(au,av){var at=this;return(av?at.main.selectAll("."+A.bars+at.getTargetSelectorSuffix(av)):at.main).selectAll("."+A.bar+(f(au)?"-"+au:""))};C.expandBars=function(au,aw,av){var at=this;if(av){at.unexpandBars()}at.getBars(au,aw).classed(A.EXPANDED,true)};C.unexpandBars=function(au){var at=this;at.getBars(au).classed(A.EXPANDED,false)};C.generateDrawBar=function(au,at){var av=this,ax=av.config,aw=av.generateGetBarPoints(au,at);return function(aD,aA){var aB=aw(aD,aA);var az=ax.axis_rotated?1:0;var ay=ax.axis_rotated?0:1;var aC="M "+aB[0][az]+","+aB[0][ay]+" L"+aB[1][az]+","+aB[1][ay]+" L"+aB[2][az]+","+aB[2][ay]+" L"+aB[3][az]+","+aB[3][ay]+" z";return aC}};C.generateGetBarPoints=function(ay,aB){var aA=this,aw=aB?aA.subXAxis:aA.xAxis,az=ay.__max__+1,au=aA.getBarW(aw,az),at=aA.getShapeX(au,az,ay,!!aB),aC=aA.getShapeY(!!aB),ax=aA.getShapeOffset(aA.isBarType,ay,!!aB),av=aB?aA.getSubYScale:aA.getYScale;return function(aH,aD){var aE=av.call(aA,aH.id)(0),aG=ax(aH,aD)||aE,aI=at(aH),aF=aC(aH);if(aA.config.axis_rotated){if((0<aH.value&&aF<aE)||(aH.value<0&&aE<aF)){aF=aE}}return[[aI,aG],[aI,aF-(aE-aG)],[aI+au,aF-(aE-aG)],[aI+au,aG]]}};C.isWithinBar=function(ax){var az=this.d3.mouse(ax),aw=ax.getBoundingClientRect(),at=ax.pathSegList.getItem(0),aG=ax.pathSegList.getItem(1),aE=Math.min(at.x,aG.x),aC=Math.min(at.y,aG.y),aF=aw.width,av=aw.height,au=2,aD=aE-au,aA=aE+aF+au,aB=aC+av+au,ay=aC-au;return aD<az[0]&&az[0]<aA&&ay<az[1]&&az[1]<aB};C.initText=function(){var at=this;at.main.select("."+A.chart).append("g").attr("class",A.chartTexts);at.mainText=at.d3.selectAll([])};C.updateTargetsForText=function(au){var aw=this,az,at,ax=aw.classChartText.bind(aw),ay=aw.classTexts.bind(aw),av=aw.classFocus.bind(aw);az=aw.main.select("."+A.chartTexts).selectAll("."+A.chartText).data(au).attr("class",function(aA){return ax(aA)+av(aA)});at=az.enter().append("g").attr("class",ax).style("opacity",0).style("pointer-events","none");at.append("g").attr("class",ay)};C.updateText=function(ax){var au=this,av=au.config,aw=au.barOrLineData.bind(au),at=au.classText.bind(au);au.mainText=au.main.selectAll("."+A.texts).selectAll("."+A.text).data(aw);au.mainText.enter().append("text").attr("class",at).attr("text-anchor",function(ay){return av.axis_rotated?(ay.value<0?"end":"start"):"middle"}).style("stroke","none").style("fill",function(ay){return au.color(ay)}).style("fill-opacity",0);au.mainText.text(function(aA,az,ay){return au.dataLabelFormat(aA.id)(aA.value,aA.id,az,ay)});au.mainText.exit().transition().duration(ax).style("fill-opacity",0).remove()};C.redrawText=function(aw,av,au,at){return[(at?this.mainText.transition():this.mainText).attr("x",aw).attr("y",av).style("fill",this.color).style("fill-opacity",au?0:this.opacityForText.bind(this))]};C.getTextRect=function(az,at,aw){var ay=this.d3.select("body").append("div").classed("c3",true),av=ay.append("svg").style("visibility","hidden").style("position","fixed").style("top",0).style("left",0),au=this.d3.select(aw).style("font"),ax;av.selectAll(".dummy").data([az]).enter().append("text").classed(at?at:"",true).style("font",au).text(az).each(function(){ax=this.getBoundingClientRect()});ay.remove();return ax};C.generateXYForText=function(aw,ay,au,at){var aB=this,av=aB.generateGetAreaPoints(aw,false),az=aB.generateGetBarPoints(ay,false),ax=aB.generateGetLinePoints(au,false),aA=at?aB.getXForText:aB.getYForText;return function(aE,aD){var aC=aB.isAreaType(aE)?av:aB.isBarType(aE)?az:ax;return aA.call(aB,aC(aE,aD),aE,this)}};C.getXForText=function(av,az,au){var at=this,aw=au.getBoundingClientRect(),ay,ax;if(at.config.axis_rotated){ax=at.isBarType(az)?4:6;ay=av[2][1]+ax*(az.value<0?-1:1)}else{ay=at.hasType("bar")?(av[2][0]+av[0][0])/2:av[0][0]}if(az.value===null){if(ay>at.width){ay=at.width-aw.width}else{if(ay<0){ay=4}}}return ay};C.getYForText=function(av,ay,au){var at=this,ax=au.getBoundingClientRect(),aw;if(at.config.axis_rotated){aw=(av[0][0]+av[2][0]+ax.height*0.6)/2}else{aw=av[2][1];if(ay.value<0||(ay.value===0&&!at.hasPositiveValue)){aw+=ax.height;if(at.isBarType(ay)&&at.isSafari()){aw-=3}else{if(!at.isBarType(ay)&&at.isChrome()){aw+=3}}}else{aw+=at.isBarType(ay)?-3:-6}}if(ay.value===null&&!at.config.axis_rotated){if(aw<ax.height){aw=ax.height}else{if(aw>this.height){aw=this.height-4}}}return aw};C.setTargetType=function(at,aw){var au=this,av=au.config;au.mapToTargetIds(at).forEach(function(ax){au.withoutFadeIn[ax]=(aw===av.data_types[ax]);av.data_types[ax]=aw});if(!at){av.data_type=aw}};C.hasType=function(ax,at){var au=this,aw=au.config.data_types,av=false;at=at||au.data.targets;if(at&&at.length){at.forEach(function(az){var ay=aw[az.id];if((ay&&ay.indexOf(ax)>=0)||(!ay&&ax==="line")){av=true}})}else{if(Object.keys(aw).length){Object.keys(aw).forEach(function(ay){if(aw[ay]===ax){av=true}})}else{av=au.config.data_type===ax}}return av};C.hasArcType=function(at){return this.hasType("pie",at)||this.hasType("donut",at)||this.hasType("gauge",at)};C.isLineType=function(au){var at=this.config,av=o(au)?au:au.id;return !at.data_types[av]||["line","spline","area","area-spline","step","area-step"].indexOf(at.data_types[av])>=0};C.isStepType=function(at){var au=o(at)?at:at.id;return["step","area-step"].indexOf(this.config.data_types[au])>=0};C.isSplineType=function(at){var au=o(at)?at:at.id;return["spline","area-spline"].indexOf(this.config.data_types[au])>=0};C.isAreaType=function(at){var au=o(at)?at:at.id;return["area","area-spline","area-step"].indexOf(this.config.data_types[au])>=0};C.isBarType=function(at){var au=o(at)?at:at.id;return this.config.data_types[au]==="bar"};C.isScatterType=function(at){var au=o(at)?at:at.id;return this.config.data_types[au]==="scatter"};C.isPieType=function(at){var au=o(at)?at:at.id;return this.config.data_types[au]==="pie"};C.isGaugeType=function(at){var au=o(at)?at:at.id;return this.config.data_types[au]==="gauge"};C.isDonutType=function(at){var au=o(at)?at:at.id;return this.config.data_types[au]==="donut"};C.isArcType=function(at){return this.isPieType(at)||this.isDonutType(at)||this.isGaugeType(at)};C.lineData=function(at){return this.isLineType(at)?[at]:[]};C.arcData=function(at){return this.isArcType(at.data)?[at]:[]};C.barData=function(at){return this.isBarType(at)?at.values:[]};C.lineOrScatterData=function(at){return this.isLineType(at)||this.isScatterType(at)?at.values:[]};C.barOrLineData=function(at){return this.isBarType(at)||this.isLineType(at)?at.values:[]};C.isInterpolationType=function(at){return["linear","linear-closed","basis","basis-open","basis-closed","bundle","cardinal","cardinal-open","cardinal-closed","monotone"].indexOf(at)>=0};C.initGrid=function(){var at=this,au=at.config,av=at.d3;at.grid=at.main.append("g").attr("clip-path",at.clipPathForGrid).attr("class",A.grid);if(au.grid_x_show){at.grid.append("g").attr("class",A.xgrids)}if(au.grid_y_show){at.grid.append("g").attr("class",A.ygrids)}if(au.grid_focus_show){at.grid.append("g").attr("class",A.xgridFocus).append("line").attr("class",A.xgridFocus)}at.xgrid=av.selectAll([]);if(!au.grid_lines_front){at.initGridLines()}};C.initGridLines=function(){var at=this,au=at.d3;at.gridLines=at.main.append("g").attr("clip-path",at.clipPathForGrid).attr("class",A.grid+" "+A.gridLines);at.gridLines.append("g").attr("class",A.xgridLines);at.gridLines.append("g").attr("class",A.ygridLines);at.xgridLines=au.selectAll([])};C.updateXGrid=function(aw){var at=this,au=at.config,av=at.d3,ay=at.generateGridData(au.grid_x_type,at.x),ax=at.isCategorized()?at.xAxis.tickOffset():0;at.xgridAttr=au.axis_rotated?{x1:0,x2:at.width,y1:function(az){return at.x(az)-ax},y2:function(az){return at.x(az)-ax}}:{x1:function(az){return at.x(az)+ax},x2:function(az){return at.x(az)+ax},y1:0,y2:at.height};at.xgrid=at.main.select("."+A.xgrids).selectAll("."+A.xgrid).data(ay);at.xgrid.enter().append("line").attr("class",A.xgrid);if(!aw){at.xgrid.attr(at.xgridAttr).style("opacity",function(){return +av.select(this).attr(au.axis_rotated?"y1":"x1")===(au.axis_rotated?at.height:0)?0:1})}at.xgrid.exit().remove()};C.updateYGrid=function(){var at=this,au=at.config,av=at.yAxis.tickValues()||at.y.ticks(au.grid_y_ticks);at.ygrid=at.main.select("."+A.ygrids).selectAll("."+A.ygrid).data(av);at.ygrid.enter().append("line").attr("class",A.ygrid);at.ygrid.attr("x1",au.axis_rotated?at.y:0).attr("x2",au.axis_rotated?at.y:at.width).attr("y1",au.axis_rotated?0:at.y).attr("y2",au.axis_rotated?at.height:at.y);at.ygrid.exit().remove();at.smoothLines(at.ygrid,"grid")};C.gridTextAnchor=function(at){return at.position?at.position:"end"};C.gridTextDx=function(at){return at.position==="start"?4:at.position==="middle"?0:-4};C.xGridTextX=function(at){return at.position==="start"?-this.height:at.position==="middle"?-this.height/2:0};C.yGridTextX=function(at){return at.position==="start"?0:at.position==="middle"?this.width/2:this.width};C.updateGrid=function(az){var av=this,at=av.main,ax=av.config,ay,aw,au;av.grid.style("visibility",av.hasArcType()?"hidden":"visible");at.select("line."+A.xgridFocus).style("visibility","hidden");if(ax.grid_x_show){av.updateXGrid()}av.xgridLines=at.select("."+A.xgridLines).selectAll("."+A.xgridLine).data(ax.grid_x_lines);ay=av.xgridLines.enter().append("g").attr("class",function(aA){return A.xgridLine+(aA["class"]?" "+aA["class"]:"")});ay.append("line").style("opacity",0);ay.append("text").attr("text-anchor",av.gridTextAnchor).attr("transform",ax.axis_rotated?"":"rotate(-90)").attr("dx",av.gridTextDx).attr("dy",-5).style("opacity",0);av.xgridLines.exit().transition().duration(az).style("opacity",0).remove();if(ax.grid_y_show){av.updateYGrid()}av.ygridLines=at.select("."+A.ygridLines).selectAll("."+A.ygridLine).data(ax.grid_y_lines);aw=av.ygridLines.enter().append("g").attr("class",function(aA){return A.ygridLine+(aA["class"]?" "+aA["class"]:"")});aw.append("line").style("opacity",0);aw.append("text").attr("text-anchor",av.gridTextAnchor).attr("transform",ax.axis_rotated?"rotate(-90)":"").attr("dx",av.gridTextDx).attr("dy",-5).style("opacity",0);au=av.yv.bind(av);av.ygridLines.select("line").transition().duration(az).attr("x1",ax.axis_rotated?au:0).attr("x2",ax.axis_rotated?au:av.width).attr("y1",ax.axis_rotated?0:au).attr("y2",ax.axis_rotated?av.height:au).style("opacity",1);av.ygridLines.select("text").transition().duration(az).attr("x",ax.axis_rotated?av.xGridTextX.bind(av):av.yGridTextX.bind(av)).attr("y",au).text(function(aA){return aA.text}).style("opacity",1);av.ygridLines.exit().transition().duration(az).style("opacity",0).remove()};C.redrawGrid=function(ax){var av=this,aw=av.config,at=av.xv.bind(av),au=av.xgridLines.select("line"),ay=av.xgridLines.select("text");return[(ax?au.transition():au).attr("x1",aw.axis_rotated?0:at).attr("x2",aw.axis_rotated?av.width:at).attr("y1",aw.axis_rotated?at:0).attr("y2",aw.axis_rotated?at:av.height).style("opacity",1),(ax?ay.transition():ay).attr("x",aw.axis_rotated?av.yGridTextX.bind(av):av.xGridTextX.bind(av)).attr("y",at).text(function(az){return az.text}).style("opacity",1)]};C.showXGridFocus=function(ax){var av=this,aw=av.config,au=ax.filter(function(az){return az&&f(az.value)}),at=av.main.selectAll("line."+A.xgridFocus),ay=av.xx.bind(av);if(!aw.tooltip_show){return}if(av.hasType("scatter")||av.hasArcType()){return}at.style("visibility","visible").data([au[0]]).attr(aw.axis_rotated?"y1":"x1",ay).attr(aw.axis_rotated?"y2":"x2",ay);av.smoothLines(at,"grid")};C.hideXGridFocus=function(){this.main.select("line."+A.xgridFocus).style("visibility","hidden")};C.updateXgridFocus=function(){var at=this,au=at.config;at.main.select("line."+A.xgridFocus).attr("x1",au.axis_rotated?0:-10).attr("x2",au.axis_rotated?at.width:-10).attr("y1",au.axis_rotated?-10:0).attr("y2",au.axis_rotated?-10:at.height)};C.generateGridData=function(az,au){var aB=this,aA=[],ay,aw,ax,av,at=aB.main.select("."+A.axisX).selectAll(".tick").size();if(az==="year"){ay=aB.getXDomain();aw=ay[0].getFullYear();ax=ay[1].getFullYear();for(av=aw;av<=ax;av++){aA.push(new Date(av+"-01-01 00:00:00"))}}else{aA=au.ticks(10);if(aA.length>at){aA=aA.filter(function(aC){return(""+aC).indexOf(".")<0})}}return aA};C.getGridFilterToRemove=function(at){return at?function(au){var av=false;[].concat(at).forEach(function(aw){if((("value" in aw&&au.value===aw.value)||("class" in aw&&au["class"]===aw["class"]))){av=true}});return av}:function(){return true}};C.removeGridLines=function(aA,az){var av=this,ax=av.config,ay=av.getGridFilterToRemove(aA),at=function(aB){return !ay(aB)},au=az?A.xgridLines:A.ygridLines,aw=az?A.xgridLine:A.ygridLine;av.main.select("."+au).selectAll("."+aw).filter(ay).transition().duration(ax.transition_duration).style("opacity",0).remove();if(az){ax.grid_x_lines=ax.grid_x_lines.filter(at)}else{ax.grid_y_lines=ax.grid_y_lines.filter(at)}};C.initTooltip=function(){var at=this,au=at.config,av;at.tooltip=at.selectChart.style("position","relative").append("div").attr("class",A.tooltipContainer).style("position","absolute").style("pointer-events","none").style("display","none");if(au.tooltip_init_show){if(at.isTimeSeries()&&o(au.tooltip_init_x)){au.tooltip_init_x=at.parseDate(au.tooltip_init_x);for(av=0;av<at.data.targets[0].values.length;av++){if((at.data.targets[0].values[av].x-au.tooltip_init_x)===0){break}}au.tooltip_init_x=av}at.tooltip.html(au.tooltip_contents.call(at,at.data.targets.map(function(aw){return at.addName(aw.values[au.tooltip_init_x])}),at.axis.getXAxisTickFormat(),at.getYFormat(at.hasArcType()),at.color));at.tooltip.style("top",au.tooltip_init_position.top).style("left",au.tooltip_init_position.left).style("display","block")}};C.getTooltipContent=function(aD,av,ax,az){var aI=this,aw=aI.config,aB=aw.tooltip_format_title||av,ay=aw.tooltip_format_name||function(aK){return aK},aC=aw.tooltip_format_value||ax,aH,aA,aE,aF,au,aJ,aG=aI.isOrderAsc();if(aw.data_groups.length===0){aD.sort(function(aL,aK){var aN=aL?aL.value:null,aM=aK?aK.value:null;return aG?aN-aM:aM-aN})}else{var at=aI.orderTargets(aI.data.targets).map(function(aK){return aK.id});aD.sort(function(aL,aK){var aN=aL?aL.value:null,aM=aK?aK.value:null;if(aN>0&&aM>0){aN=aL?at.indexOf(aL.id):null;aM=aK?at.indexOf(aK.id):null}return aG?aN-aM:aM-aN})}for(aA=0;aA<aD.length;aA++){if(!(aD[aA]&&(aD[aA].value||aD[aA].value===0))){continue}if(!aH){aE=e(aB?aB(aD[aA].x):aD[aA].x);if(aw.syno_linechart){aE='<span class="clock-icon"> </span><span class="tooltip-title">'+aE+"</span><hr/>"}aH="<table class='"+aI.CLASS.tooltip+"'>"+(aE||aE===0?"<tr><th colspan='2' style='width:200px'>"+aE+"</th></tr>":"")}aF=e(aC(aD[aA].value,aD[aA].ratio,aD[aA].id,aD[aA].index,aD));if(aF!==undefined){if(aD[aA].name===null){continue}au=e(ay(aD[aA].name,aD[aA].ratio,aD[aA].id,aD[aA].index));aJ=aI.levelColor?aI.levelColor(aD[aA].value):az(aD[aA].id);aH+="<tr class='"+aI.CLASS.tooltipName+"-"+aI.getTargetSelectorSuffix(aD[aA].id)+"'>";aH+="<td class='name'><span style='background-color:"+aJ+"'></span>"+au+"</td>";aH+="<td class='value'>"+aF+"</td>";aH+="</tr>"}}return aH+"</table>"};C.tooltipPosition=function(au,aB,aD,aA){var aF=this,aw=aF.config,aG=aF.d3;var ay,aE,av,az,ax;var at=aF.hasArcType(),aC=aG.mouse(aA);if(at){aE=((aF.width-(aF.isLegendRight?aF.getLegendWidth():0))/2)+aC[0];az=(aF.height/2)+aC[1]+20}else{ay=aF.getSvgLeft(true);if(aw.axis_rotated){aE=ay+aC[0]+100;av=aE+aB;ax=aF.currentWidth-aF.getCurrentPaddingRight();az=aF.x(au[0].x)+20}else{aE=ay+aF.getCurrentPaddingLeft(true)+aF.x(au[0].x)+20;av=aE+aB;ax=ay+aF.currentWidth-aF.getCurrentPaddingRight();az=aC[1]+15}if(av>ax){aE-=av-ax+20;if(aF.config.syno_linechart){aE=ay+aF.getCurrentPaddingLeft(true)+aF.x(au[0].x)-aB-20}}if(az+aD>aF.currentHeight){az-=aD+30}}if(az<0){az=0}return{top:az,left:aE}};C.showTooltip=function(aA,ax){var aC=this,aw=aC.config;var ay,aB,az;var au=aC.hasArcType(),at=aA.filter(function(aD){return aD&&f(aD.value)}),av=aw.tooltip_position||C.tooltipPosition;if(at.length===0||!aw.tooltip_show){return}aC.tooltip.html(aw.tooltip_contents.call(aC,aA,aC.axis.getXAxisTickFormat(),aC.getYFormat(au),aC.color)).style("display","block");ay=aC.tooltip.property("offsetWidth");aB=aC.tooltip.property("offsetHeight");az=av.call(this,at,ay,aB,ax);aC.tooltip.style("top",az.top+"px").style("left",az.left+"px")};C.hideTooltip=function(){this.tooltip.style("display","none")};C.initLegend=function(){var at=this;at.legendItemTextBox={};at.legendHasRendered=false;at.legend=at.svg.append("g").attr("transform",at.getTranslate("legend"));if(!at.config.legend_show){at.legend.style("visibility","hidden");at.hiddenLegendIds=at.mapToIds(at.data.targets);return}at.updateLegendWithDefaults()};C.updateLegendWithDefaults=function(){var at=this;at.updateLegend(at.mapToIds(at.data.targets),{withTransform:false,withTransitionForTransform:false,withTransition:false})};C.updateSizeForLegend=function(au,aw){var at=this,av=at.config,ax={top:at.isLegendTop?at.getCurrentPaddingTop()+av.legend_inset_y+5.5:at.currentHeight-au-at.getCurrentPaddingBottom()-av.legend_inset_y,left:at.isLegendLeft?at.getCurrentPaddingLeft()+av.legend_inset_x+0.5:at.currentWidth-aw-at.getCurrentPaddingRight()-av.legend_inset_x+0.5};at.margin3={top:at.isLegendRight?0:at.isLegendInset?ax.top:(at.currentHeight-au+(isNaN(av.syno_lineChartLegendPaddingTop)?0:av.syno_lineChartLegendPaddingTop)),right:NaN,bottom:0,left:at.isLegendRight?at.currentWidth-aw:at.isLegendInset?ax.left:0}};C.transformLegend=function(au){var at=this;(au?at.legend.transition():at.legend).attr("transform",at.getTranslate("legend"))};C.updateLegendStep=function(at){this.legendStep=at};C.updateLegendItemWidth=function(at){this.legendItemWidth=at};C.updateLegendItemHeight=function(at){this.legendItemHeight=at};C.getLegendWidth=function(){var at=this;return at.config.legend_show?at.isLegendRight||at.isLegendInset?at.legendItemWidth*(at.legendStep+1):at.currentWidth:0};C.getLegendHeight=function(){var at=this,au=0;if(at.config.legend_show){if(at.isLegendRight){au=at.currentHeight}else{if(at.config.syno_linechart){au=Math.max(20,at.legendItemHeight)*(at.legendStep+1)+12*at.legendStep}else{au=Math.max(20,at.legendItemHeight)*(at.legendStep+1)}}}return au};C.opacityForLegend=function(at){return at.classed(A.legendItemHidden)?null:1};C.opacityForUnfocusedLegend=function(at){return at.classed(A.legendItemHidden)?null:0.3};C.toggleFocusLegend=function(au,at){var av=this;au=av.mapToTargetIds(au);av.legend.selectAll("."+A.legendItem).filter(function(aw){return au.indexOf(aw)>=0}).classed(A.legendItemFocused,at).transition().duration(100).style("opacity",function(){var aw=at?av.opacityForLegend:av.opacityForUnfocusedLegend;return aw.call(av,av.d3.select(this))})};C.revertLegend=function(){var at=this,au=at.d3;at.legend.selectAll("."+A.legendItem).classed(A.legendItemFocused,false).transition().duration(100).style("opacity",function(){return at.opacityForLegend(au.select(this))})};C.showLegend=function(at){var au=this,av=au.config;if(!av.legend_show){av.legend_show=true;au.legend.style("visibility","visible");if(!au.legendHasRendered){au.updateLegendWithDefaults()}}au.removeHiddenLegendIds(at);au.legend.selectAll(au.selectorLegends(at)).style("visibility","visible").transition().style("opacity",function(){return au.opacityForLegend(au.d3.select(this))})};C.hideLegend=function(at){var au=this,av=au.config;if(av.legend_show&&z(at)){av.legend_show=false;au.legend.style("visibility","hidden")}au.addHiddenLegendIds(at);au.legend.selectAll(au.selectorLegends(at)).style("opacity",0).style("visibility","hidden")};C.clearLegendItemTextBoxCache=function(){this.legendItemTextBox={}};C.updateLegend=function(av,aJ,ay){var aX=this,aN=aX.config;var a2,au,az,ax,aW,a0,aD,at,aG;var a1=4,aC=10,aI=0,aV=0,aB=10,aR=aN.legend_item_tile_width+5;var aU,aT=0,aF={},aw={},aS={},aA=[0],aM={},aK=0;var aY,aE;var aQ,aP,aL,aO;av=av.filter(function(a3){return !F(aN.data_names[a3])||aN.data_names[a3]!==null});aJ=aJ||{};aY=r(aJ,"withTransition",true);aE=r(aJ,"withTransitionForTransform",true);function aH(a3,a4){if(!aX.legendItemTextBox[a4]){aX.legendItemTextBox[a4]=aX.getTextRect(a3.textContent,A.legendItem,a3)}return aX.legendItemTextBox[a4]}function aZ(a6,a5,be){var bd=be===0,ba=be===av.length-1,bb=aH(a6,a5),bf=bb.width+aR+(ba&&!(aX.isLegendRight||aX.isLegendInset)?0:aC)+aN.legend_padding,a8=bb.height+a1,bc=aX.isLegendRight||aX.isLegendInset?a8:bf,a3=aX.isLegendRight||aX.isLegendInset?aX.getLegendHeight():aX.getLegendWidth(),a9,a4;function a7(bh,bg){if(!bg&&aN.syno_linechart){a9=30;if(a9+aT+bc>a3){aT=0;aK++}}else{if(!bg){a9=(a3-aT-bc)/2;if(a9<aB){a9=(a3-bc)/2;aT=0;aK++}}}aM[bh]=aK;aA[aK]=aX.isLegendInset?10:a9;aF[bh]=aT;aT+=bc}if(bd){aT=0;aK=0;aI=0;aV=0}if(aN.legend_show&&!aX.isLegendToShow(a5)){aw[a5]=aS[a5]=aM[a5]=aF[a5]=0;return}aw[a5]=bf;aS[a5]=a8;if(!aI||bf>=aI){aI=bf}if(!aV||a8>=aV){aV=a8}a4=aX.isLegendRight||aX.isLegendInset?aV:aI;if(aN.legend_equally){Object.keys(aw).forEach(function(bg){aw[bg]=aI});Object.keys(aS).forEach(function(bg){aS[bg]=aV});a9=(a3-a4*av.length)/2;if(a9<aB){aT=0;aK=0;av.forEach(function(bg){a7(bg)})}else{a7(a5,true)}}else{a7(a5)}}if(aX.isLegendInset){aK=aN.legend_inset_step?aN.legend_inset_step:av.length;aX.updateLegendStep(aK)}if(aX.isLegendRight){a2=function(a3){return aI*aM[a3]};ax=function(a3){return aA[aM[a3]]+aF[a3]}}else{if(aX.isLegendInset){a2=function(a3){return aI*aM[a3]+10};ax=function(a3){return aA[aM[a3]]+aF[a3]}}else{a2=function(a3){return aA[aM[a3]]+aF[a3]};if(aN.syno_linechart){ax=function(a3){return aV*aM[a3]+12*aM[a3]}}else{ax=function(a3){return aV*aM[a3]}}}}au=function(a4,a3){return a2(a4,a3)+4+aN.legend_item_tile_width};aW=function(a4,a3){return ax(a4,a3)+9};az=function(a4,a3){return a2(a4,a3)};a0=function(a4,a3){return ax(a4,a3)-5};aD=function(a4,a3){return a2(a4,a3)-2};at=function(a4,a3){return a2(a4,a3)-2+aN.legend_item_tile_width};aG=function(a4,a3){return ax(a4,a3)+4};aU=aX.legend.selectAll("."+A.legendItem).data(av).enter().append("g").attr("class",function(a3){return aX.generateClass(A.legendItem,a3)}).style("visibility",function(a3){return aX.isLegendToShow(a3)?"visible":"hidden"}).style("cursor","pointer").on("click",function(a3){if(aN.legend_item_onclick){aN.legend_item_onclick.call(aX,a3)}else{if(aX.d3.event.altKey){aX.api.hide();aX.api.show(a3)}else{aX.api.toggle(a3);aX.isTargetToShow(a3)?aX.api.focus(a3):aX.api.revert()}}}).on("mouseover",function(a3){if(aN.legend_item_onmouseover){aN.legend_item_onmouseover.call(aX,a3)}else{aX.d3.select(this).classed(A.legendItemFocused,true);if(!aX.transiting&&aX.isTargetToShow(a3)){aX.api.focus(a3)}}}).on("mouseout",function(a3){if(aN.legend_item_onmouseout){aN.legend_item_onmouseout.call(aX,a3)}else{aX.d3.select(this).classed(A.legendItemFocused,false);aX.api.revert()}});aU.append("text").text(function(a3){return F(aN.data_names[a3])?aN.data_names[a3]:a3}).each(function(a4,a3){aZ(this,a4,a3)}).style("pointer-events","none").attr("x",aX.isLegendRight||aX.isLegendInset?au:-200).attr("y",aX.isLegendRight||aX.isLegendInset?-200:aW);aU.append("rect").attr("class",A.legendItemEvent).style("fill-opacity",0).attr("x",aX.isLegendRight||aX.isLegendInset?az:-200).attr("y",aX.isLegendRight||aX.isLegendInset?-200:a0);aU.append("line").attr("class",A.legendItemTile).style("stroke",aX.color).style("pointer-events","none").attr("x1",aX.isLegendRight||aX.isLegendInset?aD:-200).attr("y1",aX.isLegendRight||aX.isLegendInset?-200:aG).attr("x2",aX.isLegendRight||aX.isLegendInset?at:-200).attr("y2",aX.isLegendRight||aX.isLegendInset?-200:aG).attr("stroke-width",aN.legend_item_tile_height);aO=aX.legend.select("."+A.legendBackground+" rect");if(aX.isLegendInset&&aI>0&&aO.size()===0){aO=aX.legend.insert("g","."+A.legendItem).attr("class",A.legendBackground).append("rect")}aQ=aX.legend.selectAll("text").data(av).text(function(a3){return F(aN.data_names[a3])?aN.data_names[a3]:a3}).each(function(a4,a3){aZ(this,a4,a3)});(aY?aQ.transition():aQ).attr("x",au).attr("y",aW);aP=aX.legend.selectAll("rect."+A.legendItemEvent).data(av);(aY?aP.transition():aP).attr("width",function(a3){return aw[a3]}).attr("height",function(a3){return aS[a3]}).attr("x",az).attr("y",a0);aL=aX.legend.selectAll("line."+A.legendItemTile).data(av);(aY?aL.transition():aL).style("stroke",aX.color).attr("x1",aD).attr("y1",aG).attr("x2",at).attr("y2",aG);if(aO){(aY?aO.transition():aO).attr("height",aX.getLegendHeight()-12).attr("width",aI*(aK+1)+10)}aX.legend.selectAll("."+A.legendItem).classed(A.legendItemHidden,function(a3){return !aX.isTargetToShow(a3)});aX.updateLegendItemWidth(aI);aX.updateLegendItemHeight(aV);aX.updateLegendStep(aK);aX.updateSizes();aX.updateScales();aX.updateSvgSize();aX.transformAll(aE,ay);aX.legendHasRendered=true};C.initTitle=function(){var at=this;at.title=at.svg.append("text").text(at.config.title_text).attr("class",at.CLASS.title)};C.redrawTitle=function(){var at=this;at.title.attr("x",at.xForTitle.bind(at)).attr("y",at.yForTitle.bind(at))};C.xForTitle=function(){var av=this,aw=av.config,au=aw.title_position||"left",at;if(au.indexOf("right")>=0){at=av.currentWidth-av.getTextRect(av.title.node().textContent,av.CLASS.title,av.title.node()).width-aw.title_padding.right}else{if(au.indexOf("center")>=0){at=(av.currentWidth-av.getTextRect(av.title.node().textContent,av.CLASS.title,av.title.node()).width)/2}else{at=aw.title_padding.left}}return at};C.yForTitle=function(){var at=this;return at.config.title_padding.top+at.getTextRect(at.title.node().textContent,at.CLASS.title,at.title.node()).height};C.getTitlePadding=function(){var at=this;return at.yForTitle()+at.config.title_padding.bottom};function u(at){R.call(this,at)}w(R,u);u.prototype.init=function af(){var au=this.owner,av=au.config,at=au.main;au.axes.x=at.append("g").attr("class",A.axis+" "+A.axisX).attr("clip-path",au.clipPathForXAxis).attr("transform",au.getTranslate("x")).style("visibility",av.axis_x_show?"visible":"hidden");au.axes.x.append("text").attr("class",A.axisXLabel).attr("transform",av.axis_rotated?"rotate(-90)":"").style("text-anchor",this.textAnchorForXAxisLabel.bind(this));au.axes.y=at.append("g").attr("class",A.axis+" "+A.axisY).attr("clip-path",av.axis_y_inner?"":au.clipPathForYAxis).attr("transform",au.getTranslate("y")).style("visibility",av.axis_y_show?"visible":"hidden");au.axes.y.append("text").attr("class",A.axisYLabel).attr("transform",av.axis_rotated?"":"rotate(-90)").style("text-anchor",this.textAnchorForYAxisLabel.bind(this));au.axes.y2=at.append("g").attr("class",A.axis+" "+A.axisY2).attr("transform",au.getTranslate("y2")).style("visibility",av.axis_y2_show?"visible":"hidden");au.axes.y2.append("text").attr("class",A.axisY2Label).attr("transform",av.axis_rotated?"":"rotate(-90)").style("text-anchor",this.textAnchorForY2AxisLabel.bind(this))};u.prototype.getXAxis=function D(aw,az,ax,ay,at,aB,aA){var aD=this.owner,au=aD.config,aC={isCategory:aD.isCategorized(),withOuterTick:at,tickMultiline:au.axis_x_tick_multiline,tickWidth:au.axis_x_tick_width,tickTextRotate:aA?0:au.axis_x_tick_rotate,withoutTransition:aB,},av=a(aD.d3,aC).scale(aw).orient(az);if(aD.isTimeSeries()&&ay&&typeof ay!=="function"){ay=ay.map(function(aE){return aD.parseDate(aE)})}av.tickFormat(ax).tickValues(ay);if(aD.isCategorized()){av.tickCentered(au.axis_x_tick_centered);if(z(au.axis_x_tick_culling)){au.axis_x_tick_culling=false}}return av};u.prototype.updateXAxisTickValues=function E(at,ax){var av=this.owner,aw=av.config,au;if(aw.axis_x_tick_fit||aw.axis_x_tick_count){au=this.generateTickValues(av.mapTargetsToUniqueXs(at),aw.axis_x_tick_count,av.isTimeSeries())}if(ax){ax.tickValues(au)}else{av.xAxis.tickValues(au);av.subXAxis.tickValues(au)}return au};u.prototype.getYAxis=function d(aw,az,ax,ay,at,aB,aA){var aD=this.owner,au=aD.config,aC={synoTick:au.syno_linechart,withOuterTick:at,withoutTransition:aB,tickTextRotate:aA?0:au.axis_y_tick_rotate},av=a(aD.d3,aC).scale(aw).orient(az).tickFormat(ax);if(aD.isTimeSeriesY()){av.ticks(aD.d3.time[au.axis_y_tick_time_value],au.axis_y_tick_time_interval)}else{av.tickValues(ay)}return av};u.prototype.getId=function an(au){var at=this.owner.config;return au in at.data_axes?at.data_axes[au]:"y"};u.prototype.getXAxisTickFormat=function M(){var at=this.owner,au=at.config,av=at.isTimeSeries()?at.defaultAxisTimeFormat:at.isCategorized()?at.categoryName:function(aw){return aw<0?aw.toFixed(0):aw};if(au.axis_x_tick_format){if(v(au.axis_x_tick_format)){av=au.axis_x_tick_format}else{if(at.isTimeSeries()){av=function(aw){return aw?at.axisTimeFormat(au.axis_x_tick_format)(aw):""}}}}return v(av)?function(aw){return av.call(at,aw)}:av};u.prototype.getTickValues=function aj(at,au){return at?at:au?au.tickValues():undefined};u.prototype.getXAxisTickValues=function ar(){return this.getTickValues(this.owner.config.axis_x_tick_values,this.owner.xAxis)};u.prototype.getYAxisTickValues=function P(){return this.getTickValues(this.owner.config.axis_y_tick_values,this.owner.yAxis)};u.prototype.getY2AxisTickValues=function k(){return this.getTickValues(this.owner.config.axis_y2_tick_values,this.owner.y2Axis)};u.prototype.getLabelOptionByAxisId=function J(aw){var at=this.owner,au=at.config,av;if(aw==="y"){av=au.axis_y_label}else{if(aw==="y2"){av=au.axis_y2_label}else{if(aw==="x"){av=au.axis_x_label}}}return av};u.prototype.getLabelText=function ae(au){var at=this.getLabelOptionByAxisId(au);return o(at)?at:at?at.text:null};u.prototype.setLabelText=function x(aw,ax){var at=this.owner,au=at.config,av=this.getLabelOptionByAxisId(aw);if(o(av)){if(aw==="y"){au.axis_y_label=ax}else{if(aw==="y2"){au.axis_y2_label=ax}else{if(aw==="x"){au.axis_x_label=ax}}}}else{if(av){av.text=ax}}};u.prototype.getLabelPosition=function ai(aw,au){var av=this.getLabelOptionByAxisId(aw),at=(av&&typeof av==="object"&&av.position)?av.position:au;return{isInner:at.indexOf("inner")>=0,isOuter:at.indexOf("outer")>=0,isLeft:at.indexOf("left")>=0,isCenter:at.indexOf("center")>=0,isRight:at.indexOf("right")>=0,isTop:at.indexOf("top")>=0,isMiddle:at.indexOf("middle")>=0,isBottom:at.indexOf("bottom")>=0}};u.prototype.getXAxisLabelPosition=function i(){return this.getLabelPosition("x",this.owner.config.axis_rotated?"inner-top":"inner-right")};u.prototype.getYAxisLabelPosition=function N(){return this.getLabelPosition("y",this.owner.config.axis_rotated?"inner-right":"inner-top")};u.prototype.getY2AxisLabelPosition=function ad(){return this.getLabelPosition("y2",this.owner.config.axis_rotated?"inner-right":"inner-top")};u.prototype.getLabelPositionById=function aq(at){return at==="y2"?this.getY2AxisLabelPosition():at==="y"?this.getYAxisLabelPosition():this.getXAxisLabelPosition()};u.prototype.textForXAxisLabel=function Y(){return this.getLabelText("x")};u.prototype.textForYAxisLabel=function al(){return this.getLabelText("y")};u.prototype.textForY2AxisLabel=function G(){return this.getLabelText("y2")};u.prototype.xForAxisLabel=function p(au,at){var av=this.owner;if(au){return at.isLeft?0:at.isCenter?av.width/2:av.width}else{return at.isBottom?-av.height:at.isMiddle?-av.height/2:0}};u.prototype.dxForAxisLabel=function l(au,at){if(au){return at.isLeft?"0.5em":at.isRight?"-0.5em":"0"}else{return at.isTop?"-0.5em":at.isBottom?"0.5em":"0"}};u.prototype.textAnchorForAxisLabel=function S(au,at){if(au){return at.isLeft?"start":at.isCenter?"middle":"end"}else{return at.isBottom?"start":at.isMiddle?"middle":"end"}};u.prototype.xForXAxisLabel=function Z(){return this.xForAxisLabel(!this.owner.config.axis_rotated,this.getXAxisLabelPosition())};u.prototype.xForYAxisLabel=function ak(){return this.xForAxisLabel(this.owner.config.axis_rotated,this.getYAxisLabelPosition())};u.prototype.xForY2AxisLabel=function n(){return this.xForAxisLabel(this.owner.config.axis_rotated,this.getY2AxisLabelPosition())};u.prototype.dxForXAxisLabel=function ah(){return this.dxForAxisLabel(!this.owner.config.axis_rotated,this.getXAxisLabelPosition())};u.prototype.dxForYAxisLabel=function b(){return this.dxForAxisLabel(this.owner.config.axis_rotated,this.getYAxisLabelPosition())};u.prototype.dxForY2AxisLabel=function s(){return this.dxForAxisLabel(this.owner.config.axis_rotated,this.getY2AxisLabelPosition())};u.prototype.dyForXAxisLabel=function U(){var au=this.owner,av=au.config,at=this.getXAxisLabelPosition();if(av.axis_rotated){return at.isInner?"1.2em":-25-this.getMaxTickWidth("x")}else{return at.isInner?"-0.5em":av.axis_x_height?av.axis_x_height-10:"3em"}};u.prototype.dyForYAxisLabel=function ac(){var au=this.owner,at=this.getYAxisLabelPosition();if(au.config.axis_rotated){return at.isInner?"-0.5em":"3em"}else{return at.isInner?"1.2em":-10-(au.config.axis_y_inner?0:(this.getMaxTickWidth("y")+10))}};u.prototype.dyForY2AxisLabel=function ag(){var au=this.owner,at=this.getY2AxisLabelPosition();if(au.config.axis_rotated){return at.isInner?"1.2em":"-2.2em"}else{return at.isInner?"-0.5em":15+(au.config.axis_y2_inner?0:(this.getMaxTickWidth("y2")+15))}};u.prototype.textAnchorForXAxisLabel=function H(){var at=this.owner;return this.textAnchorForAxisLabel(!at.config.axis_rotated,this.getXAxisLabelPosition())};u.prototype.textAnchorForYAxisLabel=function X(){var at=this.owner;return this.textAnchorForAxisLabel(at.config.axis_rotated,this.getYAxisLabelPosition())};u.prototype.textAnchorForY2AxisLabel=function h(){var at=this.owner;return this.textAnchorForAxisLabel(at.config.axis_rotated,this.getY2AxisLabelPosition())};u.prototype.getMaxTickWidth=function ap(au,aA){var aC=this.owner,av=aC.config,aB=0,at,ay,aw,ax,az;if(aA&&aC.currentMaxTickWidths[au]){return aC.currentMaxTickWidths[au]}if(aC.svg){at=aC.filterTargetsToShow(aC.data.targets);if(au==="y"){ay=aC.y.copy().domain(aC.getYDomain(at,"y"));aw=this.getYAxis(ay,aC.yOrient,av.axis_y_tick_format,aC.yAxisTickValues,false,true,true)}else{if(au==="y2"){ay=aC.y2.copy().domain(aC.getYDomain(at,"y2"));aw=this.getYAxis(ay,aC.y2Orient,av.axis_y2_tick_format,aC.y2AxisTickValues,false,true,true)}else{ay=aC.x.copy().domain(aC.getXDomain(at));aw=this.getXAxis(ay,aC.xOrient,aC.xAxisTickFormat,aC.xAxisTickValues,false,true,true);this.updateXAxisTickValues(at,aw)}}ax=aC.d3.select("body").append("div").classed("c3",true);az=ax.append("svg").style("visibility","hidden").style("position","fixed").style("top",0).style("left",0),az.append("g").call(aw).each(function(){aC.d3.select(this).selectAll("text").each(function(){var aD=this.getBoundingClientRect();if(aB<aD.width){aB=aD.width}});ax.remove()})}aC.currentMaxTickWidths[au]=aB<=0?aC.currentMaxTickWidths[au]:aB;return aC.currentMaxTickWidths[au]};u.prototype.updateLabels=function c(av){var au=this.owner;var ax=au.main.select("."+A.axisX+" ."+A.axisXLabel),aw=au.main.select("."+A.axisY+" ."+A.axisYLabel),at=au.main.select("."+A.axisY2+" ."+A.axisY2Label);(av?ax.transition():ax).attr("x",this.xForXAxisLabel.bind(this)).attr("dx",this.dxForXAxisLabel.bind(this)).attr("dy",this.dyForXAxisLabel.bind(this)).text(this.textForXAxisLabel.bind(this));(av?aw.transition():aw).attr("x",this.xForYAxisLabel.bind(this)).attr("dx",this.dxForYAxisLabel.bind(this)).attr("dy",this.dyForYAxisLabel.bind(this)).text(this.textForYAxisLabel.bind(this));(av?at.transition():at).attr("x",this.xForY2AxisLabel.bind(this)).attr("dx",this.dxForY2AxisLabel.bind(this)).attr("dy",this.dyForY2AxisLabel.bind(this)).text(this.textForY2AxisLabel.bind(this))};u.prototype.getPadding=function t(ax,av,at,au){var aw=typeof ax==="number"?ax:ax[av];if(!f(aw)){return at}if(ax.unit==="ratio"){return ax[av]*au}return this.convertPixelsToAxisPadding(aw,au)};u.prototype.convertPixelsToAxisPadding=function V(aw,au){var at=this.owner,av=at.config.axis_rotated?at.width:at.height;return au*(aw/av)};u.prototype.generateTickValues=function Q(aD,at,ax){var az=aD,aw,au,aA,aC,av,aB,ay;if(at){aw=v(at)?at():at;if(aw===1){az=[aD[0]]}else{if(aw===2){az=[aD[0],aD[aD.length-1]]}else{if(aw>2){aC=aw-2;au=aD[0];aA=aD[aD.length-1];av=(aA-au)/(aC+1);az=[au];for(aB=0;aB<aC;aB++){ay=+au+av*(aB+1);az.push(ax?new Date(ay):ay)}az.push(aA)}}}}if(!ax){az=az.sort(function(aF,aE){return aF-aE})}return az};u.prototype.generateTransitions=function ab(av){var at=this.owner,au=at.axes;return{axisX:av?au.x.transition().duration(av):au.x,axisY:av?au.y.transition().duration(av):au.y,axisY2:av?au.y2.transition().duration(av):au.y2,axisSubX:av?au.subx.transition().duration(av):au.subx}};u.prototype.redraw=function g(av,au){var at=this.owner;at.axes.x.style("opacity",au?0:1);at.axes.y.style("opacity",au?0:1);at.axes.y2.style("opacity",au?0:1);at.axes.subx.style("opacity",au?0:1);av.axisX.call(at.xAxis);av.axisY.call(at.yAxis);av.axisY2.call(at.y2Axis);av.axisSubX.call(at.subXAxis)};C.getClipPath=function(au){var at=aa.navigator.appVersion.toLowerCase().indexOf("msie 9.")>=0;return"url("+(at?"":document.URL.split("#")[0])+"#"+au+")"};C.appendClip=function(at,au){return at.append("clipPath").attr("id",au).append("rect")};C.getAxisClipX=function(at){var au=Math.max(30,this.margin.left);return at?-(1+au):-(au-1)};C.getAxisClipY=function(at){return at?-20:-this.margin.top};C.getXAxisClipX=function(){var at=this;return at.getAxisClipX(!at.config.axis_rotated)};C.getXAxisClipY=function(){var at=this;return at.getAxisClipY(!at.config.axis_rotated)};C.getYAxisClipX=function(){var at=this;return at.config.axis_y_inner?-1:at.getAxisClipX(at.config.axis_rotated)};C.getYAxisClipY=function(){var at=this;return at.getAxisClipY(at.config.axis_rotated)};C.getAxisClipWidth=function(at){var au=this,aw=Math.max(30,au.margin.left),av=Math.max(30,au.margin.right);return at?au.width+2+aw+av:au.margin.left+20};C.getAxisClipHeight=function(at){return(at?this.margin.bottom:(this.margin.top+this.height))+20};C.getXAxisClipWidth=function(){var at=this;return at.getAxisClipWidth(!at.config.axis_rotated)};C.getXAxisClipHeight=function(){var at=this;return at.getAxisClipHeight(!at.config.axis_rotated)};C.getYAxisClipWidth=function(){var at=this;return at.getAxisClipWidth(at.config.axis_rotated)+(at.config.axis_y_inner?20:0)};C.getYAxisClipHeight=function(){var at=this;return at.getAxisClipHeight(at.config.axis_rotated)};C.initPie=function(){var at=this,av=at.d3,au=at.config;at.pie=av.layout.pie().value(function(aw){return aw.values.reduce(function(ay,ax){return ay+ax.value},0)});if(!au.data_order){at.pie.sort(null)}};C.updateRadius=function(){var au=this,av=au.config,at=av.gauge_width||av.donut_width;au.radiusExpanded=Math.min(au.arcWidth,au.arcHeight)/2;au.radius=au.radiusExpanded*0.95;au.innerRadiusRatio=at?(au.radius-at)/au.radius:0.6;au.innerRadius=au.hasType("donut")||au.hasType("gauge")?au.radius*au.innerRadiusRatio:0};C.updateArc=function(){var at=this;at.svgArc=at.getSvgArc();at.svgArcExpanded=at.getSvgArcExpanded();at.svgArcExpandedSub=at.getSvgArcExpanded(0.98)};C.updateAngle=function(ay){var aA=this,au=aA.config,aB=false,ax=0,av,az,aw,at;if(!au){return null}aA.pie(aA.filterTargetsToShow(aA.data.targets)).forEach(function(aC){if(!aB&&aC.data.id===ay.data.id){aB=true;ay=aC;ay.index=ax}ax++});if(isNaN(ay.startAngle)){ay.startAngle=0}if(isNaN(ay.endAngle)){ay.endAngle=ay.startAngle}if(aA.isGaugeType(ay.data)){av=au.gauge_min;az=au.gauge_max;aw=(Math.PI*(au.gauge_fullCircle?2:1))/(az-av);at=ay.value<av?0:ay.value<az?ay.value-av:(az-av);ay.startAngle=au.gauge_startingAngle;ay.endAngle=ay.startAngle+aw*at}return aB?ay:null};C.getSvgArc=function(){var at=this,au=at.d3.svg.arc().outerRadius(at.radius).innerRadius(at.innerRadius),av=function(ay,ax){var aw;if(ax){return au(ay)}aw=at.updateAngle(ay);return aw?au(aw):"M 0 0"};av.centroid=au.centroid;return av};C.getSvgArcExpanded=function(av){var at=this,au=at.d3.svg.arc().outerRadius(at.radiusExpanded*(av?av:1)).innerRadius(at.innerRadius);return function(ax){var aw=at.updateAngle(ax);return aw?au(aw):"M 0 0"}};C.getArc=function(av,au,at){return at||this.isArcType(av.data)?this.svgArc(av,au):"M 0 0"};C.transformForArcLabel=function(ay){var aC=this,at=aC.config,aw=aC.updateAngle(ay),az,aB,aA,av,ax,au="";if(aw&&!aC.hasType("gauge")){az=this.svgArc.centroid(aw);aB=isNaN(az[0])?0:az[0];aA=isNaN(az[1])?0:az[1];av=Math.sqrt(aB*aB+aA*aA);if(aC.hasType("donut")&&at.donut_label_ratio){ax=v(at.donut_label_ratio)?at.donut_label_ratio(ay,aC.radius,av):at.donut_label_ratio}else{if(aC.hasType("pie")&&at.pie_label_ratio){ax=v(at.pie_label_ratio)?at.pie_label_ratio(ay,aC.radius,av):at.pie_label_ratio}else{ax=aC.radius&&av?(36/aC.radius>0.375?1.175-36/aC.radius:0.8)*aC.radius/av:0}}au="translate("+(aB*ax)+","+(aA*ax)+")"}return au};C.getArcRatio=function(aw){var at=this,au=at.config,av=Math.PI*(at.hasType("gauge")&&!au.gauge_fullCircle?1:2);return aw?(aw.endAngle-aw.startAngle)/av:null};C.convertToArcData=function(at){return this.addName({id:at.data.id,value:at.value,ratio:this.getArcRatio(at),index:at.index})};C.textForArcLabel=function(ay){var au=this,at,aw,av,az,ax;if(!au.shouldShowArcLabel()){return""}at=au.updateAngle(ay);aw=at?at.value:null;av=au.getArcRatio(at);az=ay.data.id;if(!au.hasType("gauge")&&!au.meetsArcLabelThreshold(av)){return""}ax=au.getArcLabelFormat();return ax?ax(aw,av,az):au.defaultArcValueFormat(aw,av)};C.expandArc=function(at){var av=this,au;if(av.transiting){au=aa.setInterval(function(){if(!av.transiting){aa.clearInterval(au);if(av.legend.selectAll(".c3-legend-item-focused").size()>0){av.expandArc(at)}}},10);return}at=av.mapToTargetIds(at);av.svg.selectAll(av.selectorTargets(at,"."+A.chartArc)).each(function(aw){if(!av.shouldExpand(aw.data.id)){return}av.d3.select(this).selectAll("path").transition().duration(av.expandDuration(aw.data.id)).attr("d",av.svgArcExpanded).transition().duration(av.expandDuration(aw.data.id)*2).attr("d",av.svgArcExpandedSub).each(function(ax){if(av.isDonutType(ax.data)){}})})};C.unexpandArc=function(at){var au=this;if(au.transiting){return}at=au.mapToTargetIds(at);au.svg.selectAll(au.selectorTargets(at,"."+A.chartArc)).selectAll("path").transition().duration(function(av){return au.expandDuration(av.data.id)}).attr("d",au.svgArc);au.svg.selectAll("."+A.arc).style("opacity",1)};C.expandDuration=function(av){var at=this,au=at.config;if(at.isDonutType(av)){return au.donut_expand_duration}else{if(at.isGaugeType(av)){return au.gauge_expand_duration}else{if(at.isPieType(av)){return au.pie_expand_duration}else{return 50}}}};C.shouldExpand=function(av){var at=this,au=at.config;return(at.isDonutType(av)&&au.donut_expand)||(at.isGaugeType(av)&&au.gauge_expand)||(at.isPieType(av)&&au.pie_expand)};C.shouldShowArcLabel=function(){var au=this,av=au.config,at=true;if(au.hasType("donut")){at=av.donut_label_show}else{if(au.hasType("pie")){at=av.pie_label_show}}return at};C.meetsArcLabelThreshold=function(aw){var au=this,av=au.config,at=au.hasType("donut")?av.donut_label_threshold:av.pie_label_threshold;return aw>=at};C.getArcLabelFormat=function(){var at=this,au=at.config,av=au.pie_label_format;if(at.hasType("gauge")){av=au.gauge_label_format}else{if(at.hasType("donut")){av=au.donut_label_format}}return av};C.getArcTitle=function(){var at=this;return at.hasType("donut")?at.config.donut_title:""};C.updateTargetsForArc=function(aw){var ay=this,au=ay.main,at,az,av=ay.classChartArc.bind(ay),aA=ay.classArcs.bind(ay),ax=ay.classFocus.bind(ay);at=au.select("."+A.chartArcs).selectAll("."+A.chartArc).data(ay.pie(aw)).attr("class",function(aB){return av(aB)+ax(aB.data)});az=at.enter().append("g").attr("class",av);az.append("g").attr("class",aA);az.append("text").attr("dy",ay.hasType("gauge")?"-.1em":".35em").style("opacity",0).style("text-anchor","middle").style("pointer-events","none")};C.initArc=function(){var at=this;at.arcs=at.main.select("."+A.chart).append("g").attr("class",A.chartArcs).attr("transform",at.getTranslate("arc"));at.arcs.append("text").attr("class",A.chartArcsTitle).style("text-anchor","middle").text(at.getArcTitle())};C.redrawArc=function(az,aA,au){var av=this,ax=av.d3,aw=av.config,at=av.main,ay;ay=at.selectAll("."+A.arcs).selectAll("."+A.arc).data(av.arcData.bind(av));ay.enter().append("path").attr("class",av.classArc.bind(av)).style("fill",function(aB){return av.color(aB.data)}).style("cursor",function(aB){return aw.interaction_enabled&&aw.data_selection_isselectable(aB)?"pointer":null}).style("opacity",0).each(function(aB){if(av.isGaugeType(aB.data)){aB.startAngle=aB.endAngle=aw.gauge_startingAngle}this._current=aB});ay.attr("transform",function(aB){return !av.isGaugeType(aB.data)&&au?"scale(0)":""}).style("opacity",function(aB){return aB===this._current?0:1}).on("mouseover",aw.interaction_enabled?function(aD){var aC,aB;if(av.transiting){return}aC=av.updateAngle(aD);if(aC){aB=av.convertToArcData(aC);av.expandArc(aC.data.id);av.api.focus(aC.data.id);av.toggleFocusLegend(aC.data.id,true);av.config.data_onmouseover(aB,this)}}:null).on("mousemove",aw.interaction_enabled?function(aE){var aC=av.updateAngle(aE),aB,aD;if(aC){aB=av.convertToArcData(aC),aD=[aB];av.showTooltip(aD,this)}}:null).on("mouseout",aw.interaction_enabled?function(aD){var aC,aB;if(av.transiting){return}aC=av.updateAngle(aD);if(aC){aB=av.convertToArcData(aC);av.unexpandArc(aC.data.id);av.api.revert();av.revertLegend();av.hideTooltip();av.config.data_onmouseout(aB,this)}}:null).on("click",aw.interaction_enabled?function(aE,aD){var aC=av.updateAngle(aE),aB;if(aC){aB=av.convertToArcData(aC);if(av.toggleShape){av.toggleShape(this,aB,aD)}av.config.data_onclick.call(av.api,aB,this)}}:null).each(function(){av.transiting=true}).transition().duration(az).attrTween("d",function(aD){var aB=av.updateAngle(aD),aC;if(!aB){return function(){return"M 0 0"}}if(isNaN(this._current.startAngle)){this._current.startAngle=0}if(isNaN(this._current.endAngle)){this._current.endAngle=this._current.startAngle}aC=ax.interpolate(this._current,aB);this._current=aC(0);return function(aF){var aE=aC(aF);aE.data=aD.data;return av.getArc(aE,true)}}).attr("transform",au?"scale(1)":"").style("fill",function(aB){return av.levelColor?av.levelColor(aB.data.values[0].value):av.color(aB.data.id)}).style("opacity",1).call(av.endall,function(){av.transiting=false});ay.exit().transition().duration(aA).style("opacity",0).remove();at.selectAll("."+A.chartArc).select("text").style("opacity",0).attr("class",function(aB){return av.isGaugeType(aB.data)?A.gaugeValue:""}).text(av.textForArcLabel.bind(av)).attr("transform",av.transformForArcLabel.bind(av)).style("font-size",function(aB){return av.isGaugeType(aB.data)?Math.round(av.radius/5)+"px":""}).transition().duration(az).style("opacity",function(aB){return av.isTargetToShow(aB.data.id)&&av.isArcType(aB.data)?1:0});at.select("."+A.chartArcsTitle).style("opacity",av.hasType("donut")||av.hasType("gauge")?1:0);if(av.hasType("gauge")){av.arcs.select("."+A.chartArcsBackground).attr("d",function(){var aB={data:[{value:aw.gauge_max}],startAngle:aw.gauge_startingAngle,endAngle:-1*aw.gauge_startingAngle};return av.getArc(aB,true,true)});av.arcs.select("."+A.chartArcsGaugeUnit).attr("dy",".75em").text(aw.gauge_label_show?aw.gauge_units:"");av.arcs.select("."+A.chartArcsGaugeMin).attr("dx",-1*(av.innerRadius+((av.radius-av.innerRadius)/(aw.gauge_fullCircle?1:2)))+"px").attr("dy","1.2em").text(aw.gauge_label_show?aw.gauge_min:"");av.arcs.select("."+A.chartArcsGaugeMax).attr("dx",av.innerRadius+((av.radius-av.innerRadius)/(aw.gauge_fullCircle?1:2))+"px").attr("dy","1.2em").text(aw.gauge_label_show?aw.gauge_max:"")}};C.initGauge=function(){var at=this.arcs;if(this.hasType("gauge")){at.append("path").attr("class",A.chartArcsBackground);at.append("text").attr("class",A.chartArcsGaugeUnit).style("text-anchor","middle").style("pointer-events","none");at.append("text").attr("class",A.chartArcsGaugeMin).style("text-anchor","middle").style("pointer-events","none");at.append("text").attr("class",A.chartArcsGaugeMax).style("text-anchor","middle").style("pointer-events","none")}};C.getGaugeLabelHeight=function(){return this.config.gauge_label_show?20:0};C.initRegion=function(){var at=this;at.region=at.main.append("g").attr("clip-path",at.clipPath).attr("class",A.regions)};C.updateRegion=function(av){var at=this,au=at.config;at.region.style("visibility",at.hasArcType()?"hidden":"visible");at.mainRegion=at.main.select("."+A.regions).selectAll("."+A.region).data(au.regions);at.mainRegion.enter().append("g").append("rect").style("fill-opacity",0);at.mainRegion.attr("class",at.classRegion.bind(at));at.mainRegion.exit().transition().duration(av).style("opacity",0).remove()};C.redrawRegion=function(aw){var av=this,az=av.mainRegion.selectAll("rect").each(function(){var aA=av.d3.select(this.parentNode).datum();av.d3.select(this).datum(aA)}),at=av.regionX.bind(av),ay=av.regionY.bind(av),au=av.regionWidth.bind(av),ax=av.regionHeight.bind(av);return[(aw?az.transition():az).attr("x",at).attr("y",ay).attr("width",au).attr("height",ax).style("fill-opacity",function(aA){return f(aA.opacity)?aA.opacity:0.1})]};C.regionX=function(ax){var at=this,au=at.config,aw,av=ax.axis==="y"?at.y:at.y2;if(ax.axis==="y"||ax.axis==="y2"){aw=au.axis_rotated?("start" in ax?av(ax.start):0):0}else{aw=au.axis_rotated?0:("start" in ax?at.x(at.isTimeSeries()?at.parseDate(ax.start):ax.start):0)}return aw};C.regionY=function(ax){var at=this,au=at.config,aw,av=ax.axis==="y"?at.y:at.y2;if(ax.axis==="y"||ax.axis==="y2"){aw=au.axis_rotated?0:("end" in ax?av(ax.end):0)}else{aw=au.axis_rotated?("start" in ax?at.x(at.isTimeSeries()?at.parseDate(ax.start):ax.start):0):0}return aw};C.regionWidth=function(ax){var au=this,av=au.config,ay=au.regionX(ax),at,aw=ax.axis==="y"?au.y:au.y2;if(ax.axis==="y"||ax.axis==="y2"){at=av.axis_rotated?("end" in ax?aw(ax.end):au.width):au.width}else{at=av.axis_rotated?au.width:("end" in ax?au.x(au.isTimeSeries()?au.parseDate(ax.end):ax.end):au.width)}return at<ay?0:at-ay};C.regionHeight=function(ax){var au=this,av=au.config,ay=this.regionY(ax),at,aw=ax.axis==="y"?au.y:au.y2;if(ax.axis==="y"||ax.axis==="y2"){at=av.axis_rotated?au.height:("start" in ax?aw(ax.start):au.height)}else{at=av.axis_rotated?("end" in ax?au.x(au.isTimeSeries()?au.parseDate(ax.end):ax.end):au.height):au.height}return at<ay?0:at-ay};C.isRegionOnX=function(at){return !at.axis||at.axis==="x"};C.drag=function(az){var aE=this,av=aE.config,ay=aE.main,aF=aE.d3;var aB,aA,aD,aC,ax,au,aw,at;if(aE.hasArcType()){return}if(!av.data_selection_enabled){return}if(av.zoom_enabled&&!aE.zoom.altDomain){return}if(!av.data_selection_multiple){return}aB=aE.dragStart[0];aA=aE.dragStart[1];aD=az[0];aC=az[1];ax=Math.min(aB,aD);au=Math.max(aB,aD);aw=(av.data_selection_grouped)?aE.margin.top:Math.min(aA,aC);at=(av.data_selection_grouped)?aE.height:Math.max(aA,aC);ay.select("."+A.dragarea).attr("x",ax).attr("y",aw).attr("width",au-ax).attr("height",at-aw);ay.selectAll("."+A.shapes).selectAll("."+A.shape).filter(function(aG){return av.data_selection_isselectable(aG)}).each(function(aN,aJ){var aM=aF.select(this),aH=aM.classed(A.SELECTED),aG=aM.classed(A.INCLUDED),aP,aO,aQ,aI,aL,aR=false,aK;if(aM.classed(A.circle)){aP=aM.attr("cx")*1;aO=aM.attr("cy")*1;aL=aE.togglePoint;aR=ax<aP&&aP<au&&aw<aO&&aO<at}else{if(aM.classed(A.bar)){aK=O(this);aP=aK.x;aO=aK.y;aQ=aK.width;aI=aK.height;aL=aE.togglePath;aR=!(au<aP||aP+aQ<ax)&&!(at<aO||aO+aI<aw)}else{return}}if(aR^aG){aM.classed(A.INCLUDED,!aG);aM.classed(A.SELECTED,!aH);aL.call(aE,!aH,aM,aN,aJ)}})};C.dragstart=function(av){var at=this,au=at.config;if(at.hasArcType()){return}if(!au.data_selection_enabled){return}at.dragStart=av;at.main.select("."+A.chart).append("rect").attr("class",A.dragarea).style("opacity",0.1);at.dragging=true};C.dragend=function(){var at=this,au=at.config;if(at.hasArcType()){return}if(!au.data_selection_enabled){return}at.main.select("."+A.dragarea).transition().duration(100).style("opacity",0).remove();at.main.selectAll("."+A.shape).classed(A.INCLUDED,false);at.dragging=false};C.selectPoint=function(ay,az,aw){var au=this,av=au.config,at=(av.axis_rotated?au.circleY:au.circleX).bind(au),aA=(av.axis_rotated?au.circleX:au.circleY).bind(au),ax=au.pointSelectR.bind(au);av.data_onselected.call(au.api,az,ay.node());au.main.select("."+A.selectedCircles+au.getTargetSelectorSuffix(az.id)).selectAll("."+A.selectedCircle+"-"+aw).data([az]).enter().append("circle").attr("class",function(){return au.generateClass(A.selectedCircle,aw)}).attr("cx",at).attr("cy",aA).attr("stroke",function(){return au.color(az)}).attr("r",function(aB){return au.pointSelectR(aB)*1.4}).transition().duration(100).attr("r",ax)};C.unselectPoint=function(av,aw,au){var at=this;at.config.data_onunselected.call(at.api,aw,av.node());at.main.select("."+A.selectedCircles+at.getTargetSelectorSuffix(aw.id)).selectAll("."+A.selectedCircle+"-"+au).transition().duration(100).attr("r",0).remove()};C.togglePoint=function(au,av,aw,at){au?this.selectPoint(av,aw,at):this.unselectPoint(av,aw,at)};C.selectPath=function(au,av){var at=this;at.config.data_onselected.call(at,av,au.node());if(at.config.interaction_brighten){au.transition().duration(100).style("fill",function(){return at.d3.rgb(at.color(av)).brighter(0.75)})}};C.unselectPath=function(au,av){var at=this;at.config.data_onunselected.call(at,av,au.node());if(at.config.interaction_brighten){au.transition().duration(100).style("fill",function(){return at.color(av)})}};C.togglePath=function(au,av,aw,at){au?this.selectPath(av,aw,at):this.unselectPath(av,aw,at)};C.getToggle=function(av,aw){var au=this,at;if(av.nodeName==="circle"){if(au.isStepType(aw)){at=function(){}}else{at=au.togglePoint}}else{if(av.nodeName==="path"){at=au.togglePath}}return at};C.toggleShape=function(ax,az,av){var aA=this,aB=aA.d3,au=aA.config,ay=aB.select(ax),at=ay.classed(A.SELECTED),aw=aA.getToggle(ax,az).bind(aA);if(au.data_selection_enabled&&au.data_selection_isselectable(az)){if(!au.data_selection_multiple){aA.main.selectAll("."+A.shapes+(au.data_selection_grouped?aA.getTargetSelectorSuffix(az.id):"")).selectAll("."+A.shape).each(function(aE,aD){var aC=aB.select(this);if(aC.classed(A.SELECTED)){aw(false,aC.classed(A.SELECTED,false),aE,aD)}})}ay.classed(A.SELECTED,!at);aw(!at,ay,az,av)}};C.initBrush=function(){var at=this,au=at.d3;at.brush=au.svg.brush().on("brush",function(){at.redrawForBrush()});at.brush.update=function(){if(at.context){at.context.select("."+A.brush).call(this)}return this};at.brush.scale=function(av){return at.config.axis_rotated?this.y(av):this.x(av)}};C.initSubchart=function(){var au=this,av=au.config,aw=au.context=au.svg.append("g").attr("transform",au.getTranslate("context")),at=av.subchart_show?"visible":"hidden";aw.style("visibility",at);aw.append("g").attr("clip-path",au.clipPathForSubchart).attr("class",A.chart);aw.select("."+A.chart).append("g").attr("class",A.chartBars);aw.select("."+A.chart).append("g").attr("class",A.chartLines);aw.append("g").attr("clip-path",au.clipPath).attr("class",A.brush).call(au.brush);au.axes.subx=aw.append("g").attr("class",A.axisX).attr("transform",au.getTranslate("subx")).attr("clip-path",av.axis_rotated?"":au.clipPathForXAxis).style("visibility",av.subchart_axis_x_show?at:"hidden")};C.updateTargetsForSubchart=function(aC){var aF=this,au=aF.context,av=aF.config,aE,aB,at,az,aD=aF.classChartBar.bind(aF),aA=aF.classBars.bind(aF),ax=aF.classChartLine.bind(aF),aw=aF.classLines.bind(aF),ay=aF.classAreas.bind(aF);if(av.subchart_show){az=au.select("."+A.chartBars).selectAll("."+A.chartBar).data(aC).attr("class",aD);at=az.enter().append("g").style("opacity",0).attr("class",aD);at.append("g").attr("class",aA);aB=au.select("."+A.chartLines).selectAll("."+A.chartLine).data(aC).attr("class",ax);aE=aB.enter().append("g").style("opacity",0).attr("class",ax);aE.append("g").attr("class",aw);aE.append("g").attr("class",ay);au.selectAll("."+A.brush+" rect").attr(av.axis_rotated?"width":"height",av.axis_rotated?aF.width2:aF.height2)}};C.updateBarForSubchart=function(au){var at=this;at.contextBar=at.context.selectAll("."+A.bars).selectAll("."+A.bar).data(at.barData.bind(at));at.contextBar.enter().append("path").attr("class",at.classBar.bind(at)).style("stroke","none").style("fill",at.color);at.contextBar.style("opacity",at.initialOpacity.bind(at));at.contextBar.exit().transition().duration(au).style("opacity",0).remove()};C.redrawBarForSubchart=function(au,at,av){(at?this.contextBar.transition(Math.random().toString()).duration(av):this.contextBar).attr("d",au).style("opacity",1)};C.updateLineForSubchart=function(au){var at=this;at.contextLine=at.context.selectAll("."+A.lines).selectAll("."+A.line).data(at.lineData.bind(at));at.contextLine.enter().append("path").attr("class",at.classLine.bind(at)).style("stroke",at.color);at.contextLine.style("opacity",at.initialOpacity.bind(at));at.contextLine.exit().transition().duration(au).style("opacity",0).remove()};C.redrawLineForSubchart=function(at,au,av){(au?this.contextLine.transition(Math.random().toString()).duration(av):this.contextLine).attr("d",at).style("opacity",1)};C.updateAreaForSubchart=function(av){var at=this,au=at.d3;at.contextArea=at.context.selectAll("."+A.areas).selectAll("."+A.area).data(at.lineData.bind(at));at.contextArea.enter().append("path").attr("class",at.classArea.bind(at)).style("fill",at.color).style("opacity",function(){at.orgAreaOpacity=+au.select(this).style("opacity");return 0});at.contextArea.style("opacity",0);at.contextArea.exit().transition().duration(av).style("opacity",0).remove()};C.redrawAreaForSubchart=function(au,at,av){(at?this.contextArea.transition(Math.random().toString()).duration(av):this.contextArea).attr("d",au).style("fill",this.color).style("opacity",this.orgAreaOpacity)};C.redrawSubchart=function(aC,aB,ay,au,ax,az,at){var aD=this,aF=aD.d3,aw=aD.config,aA,av,aE;aD.context.style("visibility",aw.subchart_show?"visible":"hidden");if(aw.subchart_show){if(aF.event&&aF.event.type==="zoom"){aD.brush.extent(aD.x.orgDomain()).update()}if(aC){if(!aD.brush.empty()){aD.brush.extent(aD.x.orgDomain()).update()}aA=aD.generateDrawArea(ax,true);av=aD.generateDrawBar(az,true);aE=aD.generateDrawLine(at,true);aD.updateBarForSubchart(ay);aD.updateLineForSubchart(ay);aD.updateAreaForSubchart(ay);aD.redrawBarForSubchart(av,ay,ay);aD.redrawLineForSubchart(aE,ay,ay);aD.redrawAreaForSubchart(aA,ay,ay)}}};C.redrawForBrush=function(){var au=this,at=au.x;au.redraw({withTransition:false,withY:au.config.zoom_rescale,withSubchart:false,withUpdateXDomain:true,withDimension:false});au.config.subchart_onbrush.call(au.api,at.orgDomain())};C.transformContext=function(au,aw){var at=this,av;if(aw&&aw.axisSubX){av=aw.axisSubX}else{av=at.context.select("."+A.axisX);if(au){av=av.transition()}}at.context.attr("transform",at.getTranslate("context"));av.attr("transform",at.getTranslate("subx"))};C.getDefaultExtent=function(){var at=this,au=at.config,av=v(au.axis_x_extent)?au.axis_x_extent(at.getXDomain(at.data.targets)):au.axis_x_extent;if(at.isTimeSeries()){av=[at.parseDate(av[0]),at.parseDate(av[1])]}return av};C.initZoom=function(){var au=this,aw=au.d3,av=au.config,at;au.zoom=aw.behavior.zoom().on("zoomstart",function(){at=aw.event.sourceEvent;au.zoom.altDomain=aw.event.sourceEvent.altKey?au.x.orgDomain():null;av.zoom_onzoomstart.call(au.api,aw.event.sourceEvent)}).on("zoom",function(){au.redrawForZoom.call(au)}).on("zoomend",function(){var ax=aw.event.sourceEvent;if(ax&&at.clientX===ax.clientX&&at.clientY===ax.clientY){return}au.redrawEventRect();au.updateZoom();av.zoom_onzoomend.call(au.api,au.x.orgDomain())});au.zoom.scale=function(ax){return av.axis_rotated?this.y(ax):this.x(ax)};au.zoom.orgScaleExtent=function(){var ax=av.zoom_extent?av.zoom_extent:[1,10];return[ax[0],Math.max(au.getMaxDataCount()/ax[1],ax[1])]};au.zoom.updateScaleExtent=function(){var ay=K(au.x.orgDomain())/K(au.getZoomDomain()),ax=this.orgScaleExtent();this.scaleExtent([ax[0]*ay,ax[1]*ay]);return this}};C.getZoomDomain=function(){var au=this,av=au.config,ax=au.d3,aw=ax.min([au.orgXDomain[0],av.zoom_x_min]),at=ax.max([au.orgXDomain[1],av.zoom_x_max]);return[aw,at]};C.updateZoom=function(){var at=this,au=at.config.zoom_enabled?at.zoom:function(){};at.main.select("."+A.zoomRect).call(au).on("dblclick.zoom",null);at.main.selectAll("."+A.eventRect).call(au).on("dblclick.zoom",null)};C.redrawForZoom=function(){var au=this,aw=au.d3,av=au.config,ax=au.zoom,at=au.x;if(!av.zoom_enabled){return}if(au.filterTargetsToShow(au.data.targets).length===0){return}if(aw.event.sourceEvent.type==="mousemove"&&ax.altDomain){at.domain(ax.altDomain);ax.scale(at).updateScaleExtent();return}if(au.isCategorized()&&at.orgDomain()[0]===au.orgXDomain[0]){at.domain([au.orgXDomain[0]-1e-10,at.orgDomain()[1]])}au.redraw({withTransition:false,withY:av.zoom_rescale,withSubchart:false,withEventRect:false,withDimension:false});if(aw.event.sourceEvent.type==="mousemove"){au.cancelClick=true}av.zoom_onzoom.call(au.api,at.orgDomain())};C.generateColor=function(){var au=this,av=au.config,ax=au.d3,at=av.data_colors,ay=I(av.color_pattern)?av.color_pattern:ax.scale.category10().range(),az=av.data_color,aw=[];return function(aB){var aC=aB.id||(aB.data&&aB.data.id)||aB,aA;if(at[aC] instanceof Function){aA=at[aC](aB)}else{if(at[aC]){aA=at[aC]}else{if(aw.indexOf(aC)<0){aw.push(aC)}aA=ay[aw.indexOf(aC)%ay.length];at[aC]=aA}}return az instanceof Function?az(aA,aB):aA}};C.generateLevelColor=function(){var ax=this,ay=ax.config,av=ay.color_pattern,au=ay.color_threshold,az=au.unit==="value",aw=au.values&&au.values.length?au.values:[],at=au.max||100;return I(ay.color_threshold)?function(aD){var aC,aB,aA=av[av.length-1];for(aC=0;aC<aw.length;aC++){aB=az?aD:(aD*100/at);if(aB<aw[aC]){aA=av[aC];break}}return aA}:null};C.getYFormat=function(au){var at=this,av=au&&!at.hasType("gauge")?at.defaultArcValueFormat:at.yFormat,aw=au&&!at.hasType("gauge")?at.defaultArcValueFormat:at.y2Format;return function(ax,ay,aA){var az=at.axis.getId(aA)==="y2"?aw:av;return az.call(at,ax,ay)}};C.yFormat=function(au){var at=this,av=at.config,aw=av.axis_y_tick_format?av.axis_y_tick_format:at.defaultValueFormat;return aw(au)};C.y2Format=function(au){var at=this,av=at.config,aw=av.axis_y2_tick_format?av.axis_y2_tick_format:at.defaultValueFormat;return aw(au)};C.defaultValueFormat=function(at){return f(at)?+at:""};C.defaultArcValueFormat=function(at,au){return(au*100).toFixed(1)+"%"};C.dataLabelFormat=function(av){var at=this,au=at.config.data_labels,ax,aw=function(ay){return f(ay)?+ay:""};if(typeof au.format==="function"){ax=au.format}else{if(typeof au.format==="object"){if(au.format[av]){ax=au.format[av]===true?aw:au.format[av]}else{ax=function(){return""}}}else{ax=aw}}return ax};C.hasCaches=function(au){for(var at=0;at<au.length;at++){if(!(au[at] in this.cache)){return false}}return true};C.addCache=function(au,at){this.cache[au]=this.cloneTarget(at)};C.getCaches=function(av){var at=[],au;for(au=0;au<av.length;au++){if(av[au] in this.cache){at.push(this.cloneTarget(this.cache[av[au]]))}}return at};var A=C.CLASS={target:"c3-target",chart:"c3-chart",chartLine:"c3-chart-line",chartLines:"c3-chart-lines",chartBar:"c3-chart-bar",chartBars:"c3-chart-bars",chartText:"c3-chart-text",chartTexts:"c3-chart-texts",chartArc:"c3-chart-arc",chartArcs:"c3-chart-arcs",chartArcsTitle:"c3-chart-arcs-title",chartArcsBackground:"c3-chart-arcs-background",chartArcsGaugeUnit:"c3-chart-arcs-gauge-unit",chartArcsGaugeMax:"c3-chart-arcs-gauge-max",chartArcsGaugeMin:"c3-chart-arcs-gauge-min",selectedCircle:"c3-selected-circle",selectedCircles:"c3-selected-circles",eventRect:"c3-event-rect",eventRects:"c3-event-rects",eventRectsSingle:"c3-event-rects-single",eventRectsMultiple:"c3-event-rects-multiple",zoomRect:"c3-zoom-rect",brush:"c3-brush",focused:"c3-focused",defocused:"c3-defocused",region:"c3-region",regions:"c3-regions",title:"c3-title",tooltipContainer:"c3-tooltip-container",tooltip:"c3-tooltip",tooltipName:"c3-tooltip-name",shape:"c3-shape",shapes:"c3-shapes",line:"c3-line",lines:"c3-lines",bar:"c3-bar",bars:"c3-bars",circle:"c3-circle",circles:"c3-circles",arc:"c3-arc",arcs:"c3-arcs",area:"c3-area",areas:"c3-areas",empty:"c3-empty",text:"c3-text",texts:"c3-texts",gaugeValue:"c3-gauge-value",grid:"c3-grid",gridLines:"c3-grid-lines",xgrid:"c3-xgrid",xgrids:"c3-xgrids",xgridLine:"c3-xgrid-line",xgridLines:"c3-xgrid-lines",xgridFocus:"c3-xgrid-focus",ygrid:"c3-ygrid",ygrids:"c3-ygrids",ygridLine:"c3-ygrid-line",ygridLines:"c3-ygrid-lines",axis:"c3-axis",axisX:"c3-axis-x",axisXLabel:"c3-axis-x-label",axisY:"c3-axis-y",axisYLabel:"c3-axis-y-label",axisY2:"c3-axis-y2",axisY2Label:"c3-axis-y2-label",legendBackground:"c3-legend-background",legendItem:"c3-legend-item",legendItemEvent:"c3-legend-item-event",legendItemTile:"c3-legend-item-tile",legendItemHidden:"c3-legend-item-hidden",legendItemFocused:"c3-legend-item-focused",dragarea:"c3-dragarea",EXPANDED:"_expanded_",SELECTED:"_selected_",INCLUDED:"_included_"};C.generateClass=function(au,at){return" "+au+" "+au+this.getTargetSelectorSuffix(at)};C.classText=function(at){return this.generateClass(A.text,at.index)};C.classTexts=function(at){return this.generateClass(A.texts,at.id)};C.classShape=function(at){return this.generateClass(A.shape,at.index)};C.classShapes=function(at){return this.generateClass(A.shapes,at.id)};C.classLine=function(at){return this.classShape(at)+this.generateClass(A.line,at.id)};C.classLines=function(at){return this.classShapes(at)+this.generateClass(A.lines,at.id)};C.classCircle=function(at){return this.classShape(at)+this.generateClass(A.circle,at.index)};C.classCircles=function(at){return this.classShapes(at)+this.generateClass(A.circles,at.id)};C.classBar=function(at){return this.classShape(at)+this.generateClass(A.bar,at.index)};C.classBars=function(at){return this.classShapes(at)+this.generateClass(A.bars,at.id)};C.classArc=function(at){return this.classShape(at.data)+this.generateClass(A.arc,at.data.id)};C.classArcs=function(at){return this.classShapes(at.data)+this.generateClass(A.arcs,at.data.id)};C.classArea=function(at){return this.classShape(at)+this.generateClass(A.area,at.id)};C.classAreas=function(at){return this.classShapes(at)+this.generateClass(A.areas,at.id)};C.classRegion=function(au,at){return this.generateClass(A.region,at)+" "+("class" in au?au["class"]:"")};C.classEvent=function(at){return this.generateClass(A.eventRect,at.index)};C.classTarget=function(aw){var au=this;var av=au.config.data_classes[aw],at="";if(av){at=" "+A.target+"-"+av}return au.generateClass(A.target,aw)+at};C.classFocus=function(at){return this.classFocused(at)+this.classDefocused(at)};C.classFocused=function(at){return" "+(this.focusedTargetIds.indexOf(at.id)>=0?A.focused:"")};C.classDefocused=function(at){return" "+(this.defocusedTargetIds.indexOf(at.id)>=0?A.defocused:"")};C.classChartText=function(at){return A.chartText+this.classTarget(at.id)};C.classChartLine=function(at){return A.chartLine+this.classTarget(at.id)};C.classChartBar=function(at){return A.chartBar+this.classTarget(at.id)};C.classChartArc=function(at){return A.chartArc+this.classTarget(at.data.id)};C.getTargetSelectorSuffix=function(at){return at||at===0?("-"+at).replace(/[\s?!@#$%^&*()_=+,.<>'":;\[\]\/|~`{}\\]/g,"-"):""};C.selectorTarget=function(au,at){return(at||"")+"."+A.target+this.getTargetSelectorSuffix(au)};C.selectorTargets=function(au,av){var at=this;au=au||[];return au.length?au.map(function(aw){return at.selectorTarget(aw,av)}):null};C.selectorLegend=function(at){return"."+A.legendItem+this.getTargetSelectorSuffix(at)};C.selectorLegends=function(au){var at=this;return au&&au.length?au.map(function(av){return at.selectorLegend(av)}):null};var f=C.isValue=function(at){return at||at===0},v=C.isFunction=function(at){return typeof at==="function"},o=C.isString=function(at){return typeof at==="string"},B=C.isUndefined=function(at){return typeof at==="undefined"},F=C.isDefined=function(at){return typeof at!=="undefined"},L=C.ceil10=function(at){return Math.ceil(at/10)*10},T=C.asHalfPixel=function(at){return Math.ceil(at)+0.5},K=C.diffDomain=function(at){return at[1]-at[0]},z=C.isEmpty=function(at){return typeof at==="undefined"||at===null||(o(at)&&at.length===0)||(typeof at==="object"&&Object.keys(at).length===0)},I=C.notEmpty=function(at){return !C.isEmpty(at)},r=C.getOption=function(au,av,at){return F(au[av])?au[av]:at},q=C.hasValue=function(av,au){var at=false;Object.keys(av).forEach(function(aw){if(av[aw]===au){at=true}});return at},e=C.sanitise=function(at){return typeof at==="string"?at.replace(/</g,"<").replace(/>/g,">"):at},O=C.getPathBox=function(aw){var av=aw.getBoundingClientRect(),au=[aw.pathSegList.getItem(0),aw.pathSegList.getItem(1)],at=au[0].x,ax=Math.min(au[0].y,au[1].y);return{x:at,y:ax,width:av.width,height:av.height}};y.focus=function(at){var au=this.internal,av;at=au.mapToTargetIds(at);av=au.svg.selectAll(au.selectorTargets(at.filter(au.isTargetToShow,au))),this.revert();this.defocus();av.classed(A.focused,true).classed(A.defocused,false);if(au.hasArcType()){au.expandArc(at)}au.toggleFocusLegend(at,true);au.focusedTargetIds=at;au.defocusedTargetIds=au.defocusedTargetIds.filter(function(aw){return at.indexOf(aw)<0})};y.defocus=function(at){var au=this.internal,av;at=au.mapToTargetIds(at);av=au.svg.selectAll(au.selectorTargets(at.filter(au.isTargetToShow,au))),av.classed(A.focused,false).classed(A.defocused,true);if(au.hasArcType()){au.unexpandArc(at)}au.toggleFocusLegend(at,false);au.focusedTargetIds=au.focusedTargetIds.filter(function(aw){return at.indexOf(aw)<0});au.defocusedTargetIds=at};y.revert=function(at){var au=this.internal,av;at=au.mapToTargetIds(at);av=au.svg.selectAll(au.selectorTargets(at));av.classed(A.focused,false).classed(A.defocused,false);if(au.hasArcType()){au.unexpandArc(at)}if(au.config.legend_show){au.showLegend(at.filter(au.isLegendToShow.bind(au)));au.legend.selectAll(au.selectorLegends(at)).filter(function(){return au.d3.select(this).classed(A.legendItemFocused)}).classed(A.legendItemFocused,false)}au.focusedTargetIds=[];au.defocusedTargetIds=[]};y.show=function(au,aw){var av=this.internal,at;au=av.mapToTargetIds(au);aw=aw||{};av.removeHiddenTargetIds(au);at=av.svg.selectAll(av.selectorTargets(au));at.transition().style("opacity",1,"important").call(av.endall,function(){at.style("opacity",null).style("opacity",1)});if(aw.withLegend){av.showLegend(au)}av.redraw({withUpdateOrgXDomain:true,withUpdateXDomain:true,withLegend:true})};y.hide=function(au,aw){var av=this.internal,at;au=av.mapToTargetIds(au);aw=aw||{};av.addHiddenTargetIds(au);at=av.svg.selectAll(av.selectorTargets(au));at.transition().style("opacity",0,"important").call(av.endall,function(){at.style("opacity",null).style("opacity",0)});if(aw.withLegend){av.hideLegend(au)}av.redraw({withUpdateOrgXDomain:true,withUpdateXDomain:true,withLegend:true})};y.toggle=function(at,av){var aw=this,au=this.internal;au.mapToTargetIds(at).forEach(function(ax){au.isTargetToShow(ax)?aw.hide(ax,av):aw.show(ax,av)})};y.zoom=function(au){var at=this.internal;if(au){if(at.isTimeSeries()){au=au.map(function(av){return at.parseDate(av)})}at.brush.extent(au);at.redraw({withUpdateXDomain:true,withY:at.config.zoom_rescale});at.config.zoom_onzoom.call(this,at.x.orgDomain())}return at.brush.extent()};y.zoom.enable=function(au){var at=this.internal;at.config.zoom_enabled=au;at.updateAndRedraw()};y.unzoom=function(){var at=this.internal;at.brush.clear().update();at.redraw({withUpdateXDomain:true})};y.zoom.max=function(at){var au=this.internal,av=au.config,aw=au.d3;if(at===0||at){av.zoom_x_max=aw.max([au.orgXDomain[1],at])}else{return av.zoom_x_max}};y.zoom.min=function(av){var at=this.internal,au=at.config,aw=at.d3;if(av===0||av){au.zoom_x_min=aw.min([at.orgXDomain[0],av])}else{return au.zoom_x_min}};y.zoom.range=function(at){if(arguments.length){if(F(at.max)){this.domain.max(at.max)}if(F(at.min)){this.domain.min(at.min)}}else{return{max:this.domain.max(),min:this.domain.min()}}};y.load=function(av){var at=this.internal,au=at.config;if(av.xs){at.addXs(av.xs)}if("names" in av){y.data.names.bind(this)(av.names)}if("classes" in av){Object.keys(av.classes).forEach(function(aw){au.data_classes[aw]=av.classes[aw]})}if("categories" in av&&at.isCategorized()){au.axis_x_categories=av.categories}if("axes" in av){Object.keys(av.axes).forEach(function(aw){au.data_axes[aw]=av.axes[aw]})}if("colors" in av){Object.keys(av.colors).forEach(function(aw){au.data_colors[aw]=av.colors[aw]})}if("cacheIds" in av&&at.hasCaches(av.cacheIds)){at.load(at.getCaches(av.cacheIds),av.done);return}if("unload" in av){at.unload(at.mapToTargetIds((typeof av.unload==="boolean"&&av.unload)?null:av.unload),function(){at.loadFromArgs(av)})}else{at.loadFromArgs(av)}};y.unload=function(au){var at=this.internal;au=au||{};if(au instanceof Array){au={ids:au}}else{if(typeof au==="string"){au={ids:[au]}}}at.unload(at.mapToTargetIds(au.ids),function(){at.redraw({withUpdateOrgXDomain:true,withUpdateXDomain:true,withLegend:true});if(au.done){au.done()}})};y.flow=function(aB){var aG=this.internal,az,ay,aw=[],aC=aG.getMaxDataCount(),aD,ax,au,at,av=0,aA=0,aF,aE;if(aB.json){ay=aG.convertJsonToData(aB.json,aB.keys)}else{if(aB.rows){ay=aG.convertRowsToData(aB.rows)}else{if(aB.columns){ay=aG.convertColumnsToData(aB.columns)}else{return}}}az=aG.convertDataToTargets(ay,true);aG.data.targets.forEach(function(aJ){var aK=false,aI,aH;for(aI=0;aI<az.length;aI++){if(aJ.id===az[aI].id){aK=true;if(aJ.values[aJ.values.length-1]){aA=aJ.values[aJ.values.length-1].index+1}av=az[aI].values.length;for(aH=0;aH<av;aH++){az[aI].values[aH].index=aA+aH;if(!aG.isTimeSeries()){az[aI].values[aH].x=aA+aH}}aJ.values=aJ.values.concat(az[aI].values);az.splice(aI,1);break}}if(!aK){aw.push(aJ.id)}});aG.data.targets.forEach(function(aJ){var aI,aH;for(aI=0;aI<aw.length;aI++){if(aJ.id===aw[aI]){aA=aJ.values[aJ.values.length-1].index+1;for(aH=0;aH<av;aH++){aJ.values.push({id:aJ.id,index:aA+aH,x:aG.isTimeSeries()?aG.getOtherTargetX(aA+aH):aA+aH,value:null})}}}});if(aG.data.targets.length){az.forEach(function(aJ){var aI,aH=[];for(aI=aG.data.targets[0].values[0].index;aI<aA;aI++){aH.push({id:aJ.id,index:aI,x:aG.isTimeSeries()?aG.getOtherTargetX(aI):aI,value:null})}aJ.values.forEach(function(aK){aK.index+=aA;if(!aG.isTimeSeries()){aK.x+=aA}});aJ.values=aH.concat(aJ.values)})}aG.data.targets=aG.data.targets.concat(az);aD=aG.getMaxDataCount();au=aG.data.targets[0];at=au.values[0];if(F(aB.to)){av=0;aE=aG.isTimeSeries()?aG.parseDate(aB.to):aB.to;au.values.forEach(function(aH){if(aH.x<aE){av++}})}else{if(F(aB.length)){av=aB.length}}if(!aC){if(aG.isTimeSeries()){if(au.values.length>1){aF=au.values[au.values.length-1].x-at.x}else{aF=at.x-aG.getXDomain(aG.data.targets)[0]}}else{aF=1}ax=[at.x-aF,at.x];aG.updateXDomain(null,true,true,false,ax)}else{if(aC===1){if(aG.isTimeSeries()){aF=(au.values[au.values.length-1].x-at.x)/2;ax=[new Date(+at.x-aF),new Date(+at.x+aF)];aG.updateXDomain(null,true,true,false,ax)}}}aG.updateTargets(aG.data.targets);aG.redraw({flow:{index:at.index,length:av,duration:f(aB.duration)?aB.duration:aG.config.transition_duration,done:aB.done,orgDataCount:aC,},withLegend:true,withTransition:aC>1,withTrimXDomain:false,withUpdateXAxis:true,})};C.generateFlow=function(av){var at=this,au=at.config,aw=at.d3;return function(){var aY=av.targets,aG=av.flow,aT=av.drawBar,aN=av.drawLine,aX=av.drawArea,aD=av.cx,aB=av.cy,aI=av.xv,aC=av.xForText,aR=av.yForText,ay=av.duration;var a1,aW=1,aL,ax=aG.index,aM=aG.length,aZ=at.getValueOnIndex(at.data.targets[0].values,ax),aJ=at.getValueOnIndex(at.data.targets[0].values,ax+aM),aQ=at.x.domain(),a0,aH=aG.duration||ay,aP=aG.done||function(){},aS=at.generateWait();var az=at.xgrid||aw.selectAll([]),aV=at.xgridLines||aw.selectAll([]),aF=at.mainRegion||aw.selectAll([]),aE=at.mainText||aw.selectAll([]),aO=at.mainBar||aw.selectAll([]),aA=at.mainLine||aw.selectAll([]),aK=at.mainArea||aw.selectAll([]),aU=at.mainCircle||aw.selectAll([]);at.flowing=true;at.data.targets.forEach(function(a2){a2.values.splice(0,aM)});a0=at.updateXDomain(aY,true,true);if(at.updateXGrid){at.updateXGrid(true)}if(!aG.orgDataCount){if(at.data.targets[0].values.length!==1){a1=at.x(aQ[0])-at.x(a0[0])}else{if(at.isTimeSeries()){aZ=at.getValueOnIndex(at.data.targets[0].values,0);aJ=at.getValueOnIndex(at.data.targets[0].values,at.data.targets[0].values.length-1);a1=at.x(aZ.x)-at.x(aJ.x)}else{a1=K(a0)/2}}}else{if(aG.orgDataCount===1||(aZ&&aZ.x)===(aJ&&aJ.x)){a1=at.x(aQ[0])-at.x(a0[0])}else{if(at.isTimeSeries()){a1=(at.x(aQ[0])-at.x(a0[0]))}else{a1=(at.x(aZ.x)-at.x(aJ.x))}}}aW=(K(aQ)/K(a0));aL="translate("+a1+",0) scale("+aW+",1)";at.hideXGridFocus();aw.transition().ease("linear").duration(aH).each(function(){aS.add(at.axes.x.transition().call(at.xAxis));aS.add(aO.transition().attr("transform",aL));aS.add(aA.transition().attr("transform",aL));aS.add(aK.transition().attr("transform",aL));aS.add(aU.transition().attr("transform",aL));aS.add(aE.transition().attr("transform",aL));aS.add(aF.filter(at.isRegionOnX).transition().attr("transform",aL));aS.add(az.transition().attr("transform",aL));aS.add(aV.transition().attr("transform",aL))}).call(aS,function(){var a4,a2=[],a5=[],a3=[];if(aM){for(a4=0;a4<aM;a4++){a2.push("."+A.shape+"-"+(ax+a4));a5.push("."+A.text+"-"+(ax+a4));a3.push("."+A.eventRect+"-"+(ax+a4))}at.svg.selectAll("."+A.shapes).selectAll(a2).remove();at.svg.selectAll("."+A.texts).selectAll(a5).remove();at.svg.selectAll("."+A.eventRects).selectAll(a3).remove();at.svg.select("."+A.xgrid).remove()}az.attr("transform",null).attr(at.xgridAttr);aV.attr("transform",null);aV.select("line").attr("x1",au.axis_rotated?0:aI).attr("x2",au.axis_rotated?at.width:aI);aV.select("text").attr("x",au.axis_rotated?at.width:0).attr("y",aI);aO.attr("transform",null).attr("d",aT);aA.attr("transform",null).attr("d",aN);aK.attr("transform",null).attr("d",aX);aU.attr("transform",null).attr("cx",aD).attr("cy",aB);aE.attr("transform",null).attr("x",aC).attr("y",aR).style("fill-opacity",at.opacityForText.bind(at));aF.attr("transform",null);aF.select("rect").filter(at.isRegionOnX).attr("x",at.regionX.bind(at)).attr("width",at.regionWidth.bind(at));if(au.interaction_enabled){at.redrawEventRect()}aP();at.flowing=false})}};y.selected=function(au){var at=this.internal,av=at.d3;return av.merge(at.main.selectAll("."+A.shapes+at.getTargetSelectorSuffix(au)).selectAll("."+A.shape).filter(function(){return av.select(this).classed(A.SELECTED)}).map(function(aw){return aw.map(function(ay){var ax=ay.__data__;return ax.data?ax.data:ax})}))};y.select=function(ax,ay,aw){var at=this.internal,av=at.d3,au=at.config;if(!au.data_selection_enabled){return}at.main.selectAll("."+A.shapes).selectAll("."+A.shape).each(function(aF,aD){var aB=av.select(this),aG=aF.data?aF.data.id:aF.id,az=at.getToggle(this,aF).bind(at),aA=au.data_selection_grouped||!ax||ax.indexOf(aG)>=0,aE=!ay||ay.indexOf(aD)>=0,aC=aB.classed(A.SELECTED);if(aB.classed(A.line)||aB.classed(A.area)){return}if(aA&&aE){if(au.data_selection_isselectable(aF)&&!aC){az(true,aB.classed(A.SELECTED,true),aF,aD)}}else{if(F(aw)&&aw){if(aC){az(false,aB.classed(A.SELECTED,false),aF,aD)}}}})};y.unselect=function(aw,ax){var at=this.internal,av=at.d3,au=at.config;if(!au.data_selection_enabled){return}at.main.selectAll("."+A.shapes).selectAll("."+A.shape).each(function(aE,aC){var aA=av.select(this),aF=aE.data?aE.data.id:aE.id,ay=at.getToggle(this,aE).bind(at),az=au.data_selection_grouped||!aw||aw.indexOf(aF)>=0,aD=!ax||ax.indexOf(aC)>=0,aB=aA.classed(A.SELECTED);if(aA.classed(A.line)||aA.classed(A.area)){return}if(az&&aD){if(au.data_selection_isselectable(aE)){if(aB){ay(false,aA.classed(A.SELECTED,false),aE,aC)}}}})};y.transform=function(aw,at){var au=this.internal,av=["pie","donut"].indexOf(aw)>=0?{withTransform:true}:null;au.transformTo(at,aw,av)};C.transformTo=function(au,ax,at){var av=this,ay=!av.hasArcType(),aw=at||{withTransitionForAxis:ay};aw.withTransitionForTransform=false;av.transiting=false;av.setTargetType(au,ax);av.updateTargets(av.data.targets);av.updateAndRedraw(aw)};y.groups=function(at){var au=this.internal,av=au.config;if(B(at)){return av.data_groups}av.data_groups=at;au.redraw();return av.data_groups};y.xgrids=function(av){var at=this.internal,au=at.config;if(!av){return au.grid_x_lines}au.grid_x_lines=av;at.redrawWithoutRescale();return au.grid_x_lines};y.xgrids.add=function(au){var at=this.internal;return this.xgrids(at.config.grid_x_lines.concat(au?au:[]))};y.xgrids.remove=function(au){var at=this.internal;at.removeGridLines(au,true)};y.ygrids=function(av){var at=this.internal,au=at.config;if(!av){return au.grid_y_lines}au.grid_y_lines=av;at.redrawWithoutRescale();return au.grid_y_lines};y.ygrids.add=function(au){var at=this.internal;return this.ygrids(at.config.grid_y_lines.concat(au?au:[]))};y.ygrids.remove=function(au){var at=this.internal;at.removeGridLines(au,false)};y.regions=function(av){var at=this.internal,au=at.config;if(!av){return au.regions}au.regions=av;at.redrawWithoutRescale();return au.regions};y.regions.add=function(av){var at=this.internal,au=at.config;if(!av){return au.regions}au.regions=au.regions.concat(av);at.redrawWithoutRescale();return au.regions};y.regions.remove=function(av){var at=this.internal,au=at.config,ax,aw,ay;av=av||{};ax=at.getOption(av,"duration",au.transition_duration);aw=at.getOption(av,"classes",[A.region]);ay=at.main.select("."+A.regions).selectAll(aw.map(function(az){return"."+az}));(ax?ay.transition().duration(ax):ay).style("opacity",0).remove();au.regions=au.regions.filter(function(aA){var az=false;if(!aA["class"]){return true}aA["class"].split(" ").forEach(function(aB){if(aw.indexOf(aB)>=0){az=true}});return !az});return au.regions};y.data=function(au){var at=this.internal.data.targets;return typeof au==="undefined"?at:at.filter(function(av){return[].concat(au).indexOf(av.id)>=0})};y.data.shown=function(at){return this.internal.filterTargetsToShow(this.data(at))};y.data.values=function(av){var at,au=null;if(av){at=this.data(av);au=at[0]?at[0].values.map(function(aw){return aw.value}):null}return au};y.data.names=function(at){this.internal.clearLegendItemTextBoxCache();return this.internal.updateDataAttributes("names",at)};y.data.colors=function(at){return this.internal.updateDataAttributes("colors",at)};y.data.axes=function(at){return this.internal.updateDataAttributes("axes",at)};y.category=function(av,aw){var at=this.internal,au=at.config;if(arguments.length>1){au.axis_x_categories[av]=aw;at.redraw()}return au.axis_x_categories[av]};y.categories=function(au){var at=this.internal,av=at.config;if(!arguments.length){return av.axis_x_categories}av.axis_x_categories=au;at.redraw();return av.axis_x_categories};y.color=function(au){var at=this.internal;return at.color(au)};y.x=function(at){var au=this.internal;if(arguments.length){au.updateTargetX(au.data.targets,at);au.redraw({withUpdateOrgXDomain:true,withUpdateXDomain:true})}return au.data.xs};y.xs=function(au){var at=this.internal;if(arguments.length){at.updateTargetXs(at.data.targets,au);at.redraw({withUpdateOrgXDomain:true,withUpdateXDomain:true})}return at.data.xs};y.axis=function(){};y.axis.labels=function(au){var at=this.internal;if(arguments.length){Object.keys(au).forEach(function(av){at.axis.setLabelText(av,au[av])});at.axis.updateLabels()}};y.axis.max=function(at){var au=this.internal,av=au.config;if(arguments.length){if(typeof at==="object"){if(f(at.x)){av.axis_x_max=at.x}if(f(at.y)){av.axis_y_max=at.y}if(f(at.y2)){av.axis_y2_max=at.y2}}else{av.axis_y_max=av.axis_y2_max=at}au.redraw({withUpdateOrgXDomain:true,withUpdateXDomain:true})}else{return{x:av.axis_x_max,y:av.axis_y_max,y2:av.axis_y2_max}}};y.axis.min=function(av){var at=this.internal,au=at.config;if(arguments.length){if(typeof av==="object"){if(f(av.x)){au.axis_x_min=av.x}if(f(av.y)){au.axis_y_min=av.y}if(f(av.y2)){au.axis_y2_min=av.y2}}else{au.axis_y_min=au.axis_y2_min=av}at.redraw({withUpdateOrgXDomain:true,withUpdateXDomain:true})}else{return{x:au.axis_x_min,y:au.axis_y_min,y2:au.axis_y2_min}}};y.axis.range=function(at){if(arguments.length){if(F(at.max)){this.axis.max(at.max)}if(F(at.min)){this.axis.min(at.min)}}else{return{max:this.axis.max(),min:this.axis.min()}}};y.legend=function(){};y.legend.show=function(at){var au=this.internal;au.showLegend(au.mapToTargetIds(at));au.updateAndRedraw({withLegend:true})};y.legend.hide=function(at){var au=this.internal;au.hideLegend(au.mapToTargetIds(at));au.updateAndRedraw({withLegend:true})};y.resize=function(av){var at=this.internal,au=at.config;au.size_width=av?av.width:null;au.size_height=av?av.height:null;this.flush()};y.flush=function(){var at=this.internal;at.updateAndRedraw({withLegend:true,withTransition:false,withTransitionForTransform:false})};y.destroy=function(){var at=this.internal;aa.clearInterval(at.intervalForObserveInserted);if(at.resizeTimeout!==undefined){aa.clearTimeout(at.resizeTimeout)}if(aa.detachEvent){aa.detachEvent("onresize",at.resizeFunction)}else{if(aa.removeEventListener){aa.removeEventListener("resize",at.resizeFunction)}else{var au=aa.onresize;if(au&&au.add&&au.remove){au.remove(at.resizeFunction)}}}at.selectChart.classed("c3",false).html("");Object.keys(at).forEach(function(av){at[av]=null});return null};y.tooltip=function(){};y.tooltip.show=function(aw){var at=this.internal,av,au;if(aw.mouse){au=aw.mouse}if(aw.data){if(at.isMultipleX()){au=[at.x(aw.data.x),at.getYScale(aw.data.id)(aw.data.value)];av=null}else{av=f(aw.data.index)?aw.data.index:at.getIndexByX(aw.data.x)}}else{if(typeof aw.x!=="undefined"){av=at.getIndexByX(aw.x)}else{if(typeof aw.index!=="undefined"){av=aw.index}}}at.dispatchEvent("mouseover",av,au);at.dispatchEvent("mousemove",av,au);at.config.tooltip_onshow.call(at,aw.data)};y.tooltip.hide=function(){this.internal.dispatchEvent("mouseout",0);this.internal.config.tooltip_onhide.call(this)};var ao;function a(aO,aL){var aP=aO.scale.linear(),aE="bottom",aC=6,aA,aJ=3,at=null,aI,ay;var az=0,aK=true,aB;aL=aL||{};aA=aL.withOuterTick?6:0;function aw(aR,aQ){aR.attr("transform",function(aS){return"translate("+Math.ceil(aQ(aS)+az)+", 0)"})}function av(aQ,aR){aQ.attr("transform",function(aS){return"translate(0,"+Math.ceil(aR(aS))+")"})}function au(aR){var aS=aR[0],aQ=aR[aR.length-1];return aS<aQ?[aS,aQ]:[aQ,aS]}function aF(aU){var aR=0;var aS=[];var aT=aU.domain();var aV=aT[1]/8;var aQ=0;for(aR=0;aR<=7;aR++){aS.push(aQ);aQ+=aV}return aS}function aN(aT){var aQ,aS,aR=[];if(aT.ticks){return aT.ticks.apply(aT,ay)}aS=aT.domain();for(aQ=Math.ceil(aS[0]);aQ<aS[1];aQ++){aR.push(aQ)}if(aR.length>0&&aR[0]>0){aR.unshift(aR[0]-(aR[1]-aR[0]))}return aR}function aD(){var aR=aP.copy(),aQ;if(aL.isCategory){aQ=aP.domain();aR.domain([aQ[0],aQ[1]-1])}return aR}function aH(aQ){var aR=aI?aI(aQ):aQ;return typeof aR!=="undefined"?aR:""}function aG(aR){if(ao){return ao}var aQ={h:11.5,w:5.5};aR.select("text").text(aH).each(function(aW){var aU=this.getBoundingClientRect(),aV=aH(aW),aT=aU.height,aS=aV?(aU.width/aV.length):undefined;if(aT&&aS){aQ.h=aT;aQ.w=aS}}).text("");ao=aQ;return aQ}function aM(aQ){return aL.withoutTransition?aQ:aO.transition(aQ)}function ax(aR){if(aL.synoTick){var aQ=aF}aR.each(function(){var bj=ax.g=aO.select(this);var bf=this.__chart__||aP,bd=this.__chart__=aD();var bn=at?at:aQ(bd),bg=bj.selectAll(".tick").data(bn,bd),a7=bg.enter().insert("g",".domain").attr("class","tick").style("opacity",0.000001),bc=bg.exit().remove(),aX=aM(bg).style("opacity",1),aS,a5,a3;var a6=aP.rangeExtent?aP.rangeExtent():au(aP.range()),ba=bj.selectAll(".domain").data([0]),bp=(ba.enter().append("path").attr("class","domain"),aM(ba));a7.append("line");a7.append("text");var aV=a7.select("line"),bl=aX.select("line"),aY=a7.select("text"),bi=aX.select("text");if(aL.isCategory){az=Math.ceil((bd(1)-bd(0))/2);a5=aB?0:az;a3=aB?az:0}else{az=a5=0}var a4,aZ,bo=aG(bj.select(".tick")),bk=[];var aT=Math.max(aC,0)+aJ,a0=aE==="left"||aE==="right";function aU(bw,bu){var bq=aH(bw),bs,bt,bv,bx=[];if(Object.prototype.toString.call(bq)==="[object Array]"){return bq}if(!bu||bu<=0){bu=a0?95:aL.isCategory?(Math.ceil(bd(bn[1])-bd(bn[0]))-12):110}function br(bA,bz){bt=undefined;for(var by=1;by<bz.length;by++){if(bz.charAt(by)===" "){bt=by}bs=bz.substr(0,by+1);bv=bo.w*bs.length;if(bu<bv){return br(bA.concat(bz.substr(0,bt?bt:by)),bz.slice(bt?bt+1:by))}}return bA.concat(bz)}return br(bx,bq+"")}function a9(bs,br){var bq=bo.h;if(br===0){if(aE==="left"||aE==="right"){bq=-((bk[bs.index]-1)*(bo.h/2)-3)}else{bq=".71em"}}return bq}function a8(br){var bq=aP(br)+(aB?0:az);return a6[0]<bq&&bq<a6[1]?aC:0}a4=bg.select("text");aZ=a4.selectAll("tspan").data(function(br,bq){var bs=aL.tickMultiline?aU(br,aL.tickWidth):[].concat(aH(br));bk[bq]=bs.length;return bs.map(function(bt){return{index:bq,splitted:bt}})});aZ.enter().append("tspan");aZ.exit().remove();aZ.text(function(bq){return bq.splitted});var be=aL.tickTextRotate;function bh(bq){if(!bq){return"middle"}return bq>0?"start":"end"}function bm(bq){if(!bq){return""}return"rotate("+bq+")"}function aW(bq){if(!bq){return 0}return 8*Math.sin(Math.PI*(bq/180))}function bb(bq){if(!bq){return aT}return 11.5-2.5*(bq/15)*(bq>0?1:-1)}switch(aE){case"bottom":aS=aw;aV.attr("y2",aC);aY.attr("y",aT);bl.attr("x1",a5).attr("x2",a5).attr("y2",a8);bi.attr("x",0).attr("y",bb(be)).style("text-anchor",bh(be)).attr("transform",bm(be));aZ.attr("x",0).attr("dy",a9).attr("dx",aW(be));bp.attr("d","M"+a6[0]+","+aA+"V0H"+a6[1]+"V"+aA);break;case"top":aS=aw;aV.attr("y2",-aC);aY.attr("y",-aT);bl.attr("x2",0).attr("y2",-aC);bi.attr("x",0).attr("y",-aT);a4.style("text-anchor","middle");aZ.attr("x",0).attr("dy","0em");bp.attr("d","M"+a6[0]+","+-aA+"V0H"+a6[1]+"V"+-aA);break;case"left":aS=av;aV.attr("x2",-aC);aY.attr("x",-aT);bl.attr("x2",-aC).attr("y1",a3).attr("y2",a3);bi.attr("x",-aT).attr("y",az);a4.style("text-anchor","end");aZ.attr("x",-aT).attr("dy",a9);bp.attr("d","M"+-aA+","+a6[0]+"H0V"+a6[1]+"H"+-aA);break;case"right":aS=av;aV.attr("x2",aC);aY.attr("x",aT);bl.attr("x2",aC).attr("y2",0);bi.attr("x",aT).attr("y",0);a4.style("text-anchor","start");aZ.attr("x",aT).attr("dy",a9);bp.attr("d","M"+aA+","+a6[0]+"H0V"+a6[1]+"H"+aA);break}if(bd.rangeBand){var a1=bd,a2=a1.rangeBand()/2;bf=bd=function(bq){return a1(bq)+a2}}else{if(bf.rangeBand){bf=bd}else{bc.call(aS,bd)}}a7.call(aS,bf);aX.call(aS,bd)})}ax.scale=function(aQ){if(!arguments.length){return aP}aP=aQ;return ax};ax.orient=function(aQ){if(!arguments.length){return aE}aE=aQ in {top:1,right:1,bottom:1,left:1}?aQ+"":"bottom";return ax};ax.tickFormat=function(aQ){if(!arguments.length){return aI}aI=aQ;return ax};ax.tickCentered=function(aQ){if(!arguments.length){return aB}aB=aQ;return ax};ax.tickOffset=function(){return az};ax.tickInterval=function(){var aQ,aR;if(aL.isCategory){aQ=az*2}else{aR=ax.g.select("path.domain").node().getTotalLength()-aA*2;aQ=aR/ax.g.selectAll("line").size()}return aQ===Infinity?0:aQ};ax.ticks=function(){if(!arguments.length){return ay}ay=arguments;return ax};ax.tickCulling=function(aQ){if(!arguments.length){return aK}aK=aQ;return ax};ax.tickValues=function(aQ){if(typeof aQ==="function"){at=function(){return aQ(aP.domain())}}else{if(!arguments.length){return at}at=aQ}return ax};return ax}C.isSafari=function(){var at=aa.navigator.userAgent;return at.indexOf("Safari")>=0&&at.indexOf("Chrome")<0};C.isChrome=function(){var at=aa.navigator.userAgent;return at.indexOf("Chrome")>=0};if(!Function.prototype.bind){Function.prototype.bind=function(at){if(typeof this!=="function"){throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable")}var ax=Array.prototype.slice.call(arguments,1),aw=this,au=function(){},av=function(){return aw.apply(this instanceof au?this:at,ax.concat(Array.prototype.slice.call(arguments)))};au.prototype=this.prototype;av.prototype=new au();return av}}(function(){if(!("SVGPathSeg" in aa)){aa.SVGPathSeg=function(au,av,at){this.pathSegType=au;this.pathSegTypeAsLetter=av;this._owningPathSegList=at};SVGPathSeg.PATHSEG_UNKNOWN=0;SVGPathSeg.PATHSEG_CLOSEPATH=1;SVGPathSeg.PATHSEG_MOVETO_ABS=2;SVGPathSeg.PATHSEG_MOVETO_REL=3;SVGPathSeg.PATHSEG_LINETO_ABS=4;SVGPathSeg.PATHSEG_LINETO_REL=5;SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS=6;SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL=7;SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS=8;SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL=9;SVGPathSeg.PATHSEG_ARC_ABS=10;SVGPathSeg.PATHSEG_ARC_REL=11;SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS=12;SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL=13;SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS=14;SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL=15;SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS=16;SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL=17;SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS=18;SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL=19;SVGPathSeg.prototype._segmentChanged=function(){if(this._owningPathSegList){this._owningPathSegList.segmentChanged(this)}};aa.SVGPathSegClosePath=function(at){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_CLOSEPATH,"z",at)};SVGPathSegClosePath.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegClosePath.prototype.toString=function(){return"[object SVGPathSegClosePath]"};SVGPathSegClosePath.prototype._asPathString=function(){return this.pathSegTypeAsLetter};SVGPathSegClosePath.prototype.clone=function(){return new SVGPathSegClosePath(undefined)};aa.SVGPathSegMovetoAbs=function(au,at,av){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_MOVETO_ABS,"M",au);this._x=at;this._y=av};SVGPathSegMovetoAbs.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegMovetoAbs.prototype.toString=function(){return"[object SVGPathSegMovetoAbs]"};SVGPathSegMovetoAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y};SVGPathSegMovetoAbs.prototype.clone=function(){return new SVGPathSegMovetoAbs(undefined,this._x,this._y)};Object.defineProperty(SVGPathSegMovetoAbs.prototype,"x",{get:function(){return this._x},set:function(at){this._x=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegMovetoAbs.prototype,"y",{get:function(){return this._y},set:function(at){this._y=at;this._segmentChanged()},enumerable:true});aa.SVGPathSegMovetoRel=function(au,at,av){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_MOVETO_REL,"m",au);this._x=at;this._y=av};SVGPathSegMovetoRel.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegMovetoRel.prototype.toString=function(){return"[object SVGPathSegMovetoRel]"};SVGPathSegMovetoRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y};SVGPathSegMovetoRel.prototype.clone=function(){return new SVGPathSegMovetoRel(undefined,this._x,this._y)};Object.defineProperty(SVGPathSegMovetoRel.prototype,"x",{get:function(){return this._x},set:function(at){this._x=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegMovetoRel.prototype,"y",{get:function(){return this._y},set:function(at){this._y=at;this._segmentChanged()},enumerable:true});aa.SVGPathSegLinetoAbs=function(au,at,av){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_LINETO_ABS,"L",au);this._x=at;this._y=av};SVGPathSegLinetoAbs.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegLinetoAbs.prototype.toString=function(){return"[object SVGPathSegLinetoAbs]"};SVGPathSegLinetoAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y};SVGPathSegLinetoAbs.prototype.clone=function(){return new SVGPathSegLinetoAbs(undefined,this._x,this._y)};Object.defineProperty(SVGPathSegLinetoAbs.prototype,"x",{get:function(){return this._x},set:function(at){this._x=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegLinetoAbs.prototype,"y",{get:function(){return this._y},set:function(at){this._y=at;this._segmentChanged()},enumerable:true});aa.SVGPathSegLinetoRel=function(au,at,av){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_LINETO_REL,"l",au);this._x=at;this._y=av};SVGPathSegLinetoRel.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegLinetoRel.prototype.toString=function(){return"[object SVGPathSegLinetoRel]"};SVGPathSegLinetoRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y};SVGPathSegLinetoRel.prototype.clone=function(){return new SVGPathSegLinetoRel(undefined,this._x,this._y)};Object.defineProperty(SVGPathSegLinetoRel.prototype,"x",{get:function(){return this._x},set:function(at){this._x=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegLinetoRel.prototype,"y",{get:function(){return this._y},set:function(at){this._y=at;this._segmentChanged()},enumerable:true});aa.SVGPathSegCurvetoCubicAbs=function(aw,at,az,av,ay,au,ax){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS,"C",aw);this._x=at;this._y=az;this._x1=av;this._y1=ay;this._x2=au;this._y2=ax};SVGPathSegCurvetoCubicAbs.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegCurvetoCubicAbs.prototype.toString=function(){return"[object SVGPathSegCurvetoCubicAbs]"};SVGPathSegCurvetoCubicAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x1+" "+this._y1+" "+this._x2+" "+this._y2+" "+this._x+" "+this._y};SVGPathSegCurvetoCubicAbs.prototype.clone=function(){return new SVGPathSegCurvetoCubicAbs(undefined,this._x,this._y,this._x1,this._y1,this._x2,this._y2)};Object.defineProperty(SVGPathSegCurvetoCubicAbs.prototype,"x",{get:function(){return this._x},set:function(at){this._x=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoCubicAbs.prototype,"y",{get:function(){return this._y},set:function(at){this._y=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoCubicAbs.prototype,"x1",{get:function(){return this._x1},set:function(at){this._x1=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoCubicAbs.prototype,"y1",{get:function(){return this._y1},set:function(at){this._y1=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoCubicAbs.prototype,"x2",{get:function(){return this._x2},set:function(at){this._x2=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoCubicAbs.prototype,"y2",{get:function(){return this._y2},set:function(at){this._y2=at;this._segmentChanged()},enumerable:true});aa.SVGPathSegCurvetoCubicRel=function(aw,at,az,av,ay,au,ax){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL,"c",aw);this._x=at;this._y=az;this._x1=av;this._y1=ay;this._x2=au;this._y2=ax};SVGPathSegCurvetoCubicRel.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegCurvetoCubicRel.prototype.toString=function(){return"[object SVGPathSegCurvetoCubicRel]"};SVGPathSegCurvetoCubicRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x1+" "+this._y1+" "+this._x2+" "+this._y2+" "+this._x+" "+this._y};SVGPathSegCurvetoCubicRel.prototype.clone=function(){return new SVGPathSegCurvetoCubicRel(undefined,this._x,this._y,this._x1,this._y1,this._x2,this._y2)};Object.defineProperty(SVGPathSegCurvetoCubicRel.prototype,"x",{get:function(){return this._x},set:function(at){this._x=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoCubicRel.prototype,"y",{get:function(){return this._y},set:function(at){this._y=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoCubicRel.prototype,"x1",{get:function(){return this._x1},set:function(at){this._x1=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoCubicRel.prototype,"y1",{get:function(){return this._y1},set:function(at){this._y1=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoCubicRel.prototype,"x2",{get:function(){return this._x2},set:function(at){this._x2=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoCubicRel.prototype,"y2",{get:function(){return this._y2},set:function(at){this._y2=at;this._segmentChanged()},enumerable:true});aa.SVGPathSegCurvetoQuadraticAbs=function(av,at,ax,au,aw){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS,"Q",av);this._x=at;this._y=ax;this._x1=au;this._y1=aw};SVGPathSegCurvetoQuadraticAbs.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegCurvetoQuadraticAbs.prototype.toString=function(){return"[object SVGPathSegCurvetoQuadraticAbs]"};SVGPathSegCurvetoQuadraticAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x1+" "+this._y1+" "+this._x+" "+this._y};SVGPathSegCurvetoQuadraticAbs.prototype.clone=function(){return new SVGPathSegCurvetoQuadraticAbs(undefined,this._x,this._y,this._x1,this._y1)};Object.defineProperty(SVGPathSegCurvetoQuadraticAbs.prototype,"x",{get:function(){return this._x},set:function(at){this._x=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoQuadraticAbs.prototype,"y",{get:function(){return this._y},set:function(at){this._y=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoQuadraticAbs.prototype,"x1",{get:function(){return this._x1},set:function(at){this._x1=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoQuadraticAbs.prototype,"y1",{get:function(){return this._y1},set:function(at){this._y1=at;this._segmentChanged()},enumerable:true});aa.SVGPathSegCurvetoQuadraticRel=function(av,at,ax,au,aw){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL,"q",av);this._x=at;this._y=ax;this._x1=au;this._y1=aw};SVGPathSegCurvetoQuadraticRel.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegCurvetoQuadraticRel.prototype.toString=function(){return"[object SVGPathSegCurvetoQuadraticRel]"};SVGPathSegCurvetoQuadraticRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x1+" "+this._y1+" "+this._x+" "+this._y};SVGPathSegCurvetoQuadraticRel.prototype.clone=function(){return new SVGPathSegCurvetoQuadraticRel(undefined,this._x,this._y,this._x1,this._y1)};Object.defineProperty(SVGPathSegCurvetoQuadraticRel.prototype,"x",{get:function(){return this._x},set:function(at){this._x=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoQuadraticRel.prototype,"y",{get:function(){return this._y},set:function(at){this._y=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoQuadraticRel.prototype,"x1",{get:function(){return this._x1},set:function(at){this._x1=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoQuadraticRel.prototype,"y1",{get:function(){return this._y1},set:function(at){this._y1=at;this._segmentChanged()},enumerable:true});aa.SVGPathSegArcAbs=function(aw,at,aA,av,au,az,ay,ax){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_ARC_ABS,"A",aw);this._x=at;this._y=aA;this._r1=av;this._r2=au;this._angle=az;this._largeArcFlag=ay;this._sweepFlag=ax};SVGPathSegArcAbs.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegArcAbs.prototype.toString=function(){return"[object SVGPathSegArcAbs]"};SVGPathSegArcAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._r1+" "+this._r2+" "+this._angle+" "+(this._largeArcFlag?"1":"0")+" "+(this._sweepFlag?"1":"0")+" "+this._x+" "+this._y};SVGPathSegArcAbs.prototype.clone=function(){return new SVGPathSegArcAbs(undefined,this._x,this._y,this._r1,this._r2,this._angle,this._largeArcFlag,this._sweepFlag)};Object.defineProperty(SVGPathSegArcAbs.prototype,"x",{get:function(){return this._x},set:function(at){this._x=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegArcAbs.prototype,"y",{get:function(){return this._y},set:function(at){this._y=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegArcAbs.prototype,"r1",{get:function(){return this._r1},set:function(at){this._r1=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegArcAbs.prototype,"r2",{get:function(){return this._r2},set:function(at){this._r2=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegArcAbs.prototype,"angle",{get:function(){return this._angle},set:function(at){this._angle=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegArcAbs.prototype,"largeArcFlag",{get:function(){return this._largeArcFlag},set:function(at){this._largeArcFlag=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegArcAbs.prototype,"sweepFlag",{get:function(){return this._sweepFlag},set:function(at){this._sweepFlag=at;this._segmentChanged()},enumerable:true});aa.SVGPathSegArcRel=function(aw,at,aA,av,au,az,ay,ax){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_ARC_REL,"a",aw);this._x=at;this._y=aA;this._r1=av;this._r2=au;this._angle=az;this._largeArcFlag=ay;this._sweepFlag=ax};SVGPathSegArcRel.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegArcRel.prototype.toString=function(){return"[object SVGPathSegArcRel]"};SVGPathSegArcRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._r1+" "+this._r2+" "+this._angle+" "+(this._largeArcFlag?"1":"0")+" "+(this._sweepFlag?"1":"0")+" "+this._x+" "+this._y};SVGPathSegArcRel.prototype.clone=function(){return new SVGPathSegArcRel(undefined,this._x,this._y,this._r1,this._r2,this._angle,this._largeArcFlag,this._sweepFlag)};Object.defineProperty(SVGPathSegArcRel.prototype,"x",{get:function(){return this._x},set:function(at){this._x=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegArcRel.prototype,"y",{get:function(){return this._y},set:function(at){this._y=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegArcRel.prototype,"r1",{get:function(){return this._r1},set:function(at){this._r1=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegArcRel.prototype,"r2",{get:function(){return this._r2},set:function(at){this._r2=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegArcRel.prototype,"angle",{get:function(){return this._angle},set:function(at){this._angle=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegArcRel.prototype,"largeArcFlag",{get:function(){return this._largeArcFlag},set:function(at){this._largeArcFlag=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegArcRel.prototype,"sweepFlag",{get:function(){return this._sweepFlag},set:function(at){this._sweepFlag=at;this._segmentChanged()},enumerable:true});aa.SVGPathSegLinetoHorizontalAbs=function(au,at){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS,"H",au);this._x=at};SVGPathSegLinetoHorizontalAbs.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegLinetoHorizontalAbs.prototype.toString=function(){return"[object SVGPathSegLinetoHorizontalAbs]"};SVGPathSegLinetoHorizontalAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x};SVGPathSegLinetoHorizontalAbs.prototype.clone=function(){return new SVGPathSegLinetoHorizontalAbs(undefined,this._x)};Object.defineProperty(SVGPathSegLinetoHorizontalAbs.prototype,"x",{get:function(){return this._x},set:function(at){this._x=at;this._segmentChanged()},enumerable:true});aa.SVGPathSegLinetoHorizontalRel=function(au,at){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL,"h",au);this._x=at};SVGPathSegLinetoHorizontalRel.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegLinetoHorizontalRel.prototype.toString=function(){return"[object SVGPathSegLinetoHorizontalRel]"};SVGPathSegLinetoHorizontalRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x};SVGPathSegLinetoHorizontalRel.prototype.clone=function(){return new SVGPathSegLinetoHorizontalRel(undefined,this._x)};Object.defineProperty(SVGPathSegLinetoHorizontalRel.prototype,"x",{get:function(){return this._x},set:function(at){this._x=at;this._segmentChanged()},enumerable:true});aa.SVGPathSegLinetoVerticalAbs=function(at,au){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS,"V",at);this._y=au};SVGPathSegLinetoVerticalAbs.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegLinetoVerticalAbs.prototype.toString=function(){return"[object SVGPathSegLinetoVerticalAbs]"};SVGPathSegLinetoVerticalAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._y};SVGPathSegLinetoVerticalAbs.prototype.clone=function(){return new SVGPathSegLinetoVerticalAbs(undefined,this._y)};Object.defineProperty(SVGPathSegLinetoVerticalAbs.prototype,"y",{get:function(){return this._y},set:function(at){this._y=at;this._segmentChanged()},enumerable:true});aa.SVGPathSegLinetoVerticalRel=function(at,au){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL,"v",at);this._y=au};SVGPathSegLinetoVerticalRel.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegLinetoVerticalRel.prototype.toString=function(){return"[object SVGPathSegLinetoVerticalRel]"};SVGPathSegLinetoVerticalRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._y};SVGPathSegLinetoVerticalRel.prototype.clone=function(){return new SVGPathSegLinetoVerticalRel(undefined,this._y)};Object.defineProperty(SVGPathSegLinetoVerticalRel.prototype,"y",{get:function(){return this._y},set:function(at){this._y=at;this._segmentChanged()},enumerable:true});aa.SVGPathSegCurvetoCubicSmoothAbs=function(av,at,ax,au,aw){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS,"S",av);this._x=at;this._y=ax;this._x2=au;this._y2=aw};SVGPathSegCurvetoCubicSmoothAbs.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegCurvetoCubicSmoothAbs.prototype.toString=function(){return"[object SVGPathSegCurvetoCubicSmoothAbs]"};SVGPathSegCurvetoCubicSmoothAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x2+" "+this._y2+" "+this._x+" "+this._y};SVGPathSegCurvetoCubicSmoothAbs.prototype.clone=function(){return new SVGPathSegCurvetoCubicSmoothAbs(undefined,this._x,this._y,this._x2,this._y2)};Object.defineProperty(SVGPathSegCurvetoCubicSmoothAbs.prototype,"x",{get:function(){return this._x},set:function(at){this._x=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoCubicSmoothAbs.prototype,"y",{get:function(){return this._y},set:function(at){this._y=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoCubicSmoothAbs.prototype,"x2",{get:function(){return this._x2},set:function(at){this._x2=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoCubicSmoothAbs.prototype,"y2",{get:function(){return this._y2},set:function(at){this._y2=at;this._segmentChanged()},enumerable:true});aa.SVGPathSegCurvetoCubicSmoothRel=function(av,at,ax,au,aw){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL,"s",av);this._x=at;this._y=ax;this._x2=au;this._y2=aw};SVGPathSegCurvetoCubicSmoothRel.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegCurvetoCubicSmoothRel.prototype.toString=function(){return"[object SVGPathSegCurvetoCubicSmoothRel]"};SVGPathSegCurvetoCubicSmoothRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x2+" "+this._y2+" "+this._x+" "+this._y};SVGPathSegCurvetoCubicSmoothRel.prototype.clone=function(){return new SVGPathSegCurvetoCubicSmoothRel(undefined,this._x,this._y,this._x2,this._y2)};Object.defineProperty(SVGPathSegCurvetoCubicSmoothRel.prototype,"x",{get:function(){return this._x},set:function(at){this._x=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoCubicSmoothRel.prototype,"y",{get:function(){return this._y},set:function(at){this._y=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoCubicSmoothRel.prototype,"x2",{get:function(){return this._x2},set:function(at){this._x2=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoCubicSmoothRel.prototype,"y2",{get:function(){return this._y2},set:function(at){this._y2=at;this._segmentChanged()},enumerable:true});aa.SVGPathSegCurvetoQuadraticSmoothAbs=function(au,at,av){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS,"T",au);this._x=at;this._y=av};SVGPathSegCurvetoQuadraticSmoothAbs.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegCurvetoQuadraticSmoothAbs.prototype.toString=function(){return"[object SVGPathSegCurvetoQuadraticSmoothAbs]"};SVGPathSegCurvetoQuadraticSmoothAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y};SVGPathSegCurvetoQuadraticSmoothAbs.prototype.clone=function(){return new SVGPathSegCurvetoQuadraticSmoothAbs(undefined,this._x,this._y)};Object.defineProperty(SVGPathSegCurvetoQuadraticSmoothAbs.prototype,"x",{get:function(){return this._x},set:function(at){this._x=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoQuadraticSmoothAbs.prototype,"y",{get:function(){return this._y},set:function(at){this._y=at;this._segmentChanged()},enumerable:true});aa.SVGPathSegCurvetoQuadraticSmoothRel=function(au,at,av){SVGPathSeg.call(this,SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL,"t",au);this._x=at;this._y=av};SVGPathSegCurvetoQuadraticSmoothRel.prototype=Object.create(SVGPathSeg.prototype);SVGPathSegCurvetoQuadraticSmoothRel.prototype.toString=function(){return"[object SVGPathSegCurvetoQuadraticSmoothRel]"};SVGPathSegCurvetoQuadraticSmoothRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+" "+this._x+" "+this._y};SVGPathSegCurvetoQuadraticSmoothRel.prototype.clone=function(){return new SVGPathSegCurvetoQuadraticSmoothRel(undefined,this._x,this._y)};Object.defineProperty(SVGPathSegCurvetoQuadraticSmoothRel.prototype,"x",{get:function(){return this._x},set:function(at){this._x=at;this._segmentChanged()},enumerable:true});Object.defineProperty(SVGPathSegCurvetoQuadraticSmoothRel.prototype,"y",{get:function(){return this._y},set:function(at){this._y=at;this._segmentChanged()},enumerable:true});SVGPathElement.prototype.createSVGPathSegClosePath=function(){return new SVGPathSegClosePath(undefined)};SVGPathElement.prototype.createSVGPathSegMovetoAbs=function(at,au){return new SVGPathSegMovetoAbs(undefined,at,au)};SVGPathElement.prototype.createSVGPathSegMovetoRel=function(at,au){return new SVGPathSegMovetoRel(undefined,at,au)};SVGPathElement.prototype.createSVGPathSegLinetoAbs=function(at,au){return new SVGPathSegLinetoAbs(undefined,at,au)};SVGPathElement.prototype.createSVGPathSegLinetoRel=function(at,au){return new SVGPathSegLinetoRel(undefined,at,au)};SVGPathElement.prototype.createSVGPathSegCurvetoCubicAbs=function(at,ay,av,ax,au,aw){return new SVGPathSegCurvetoCubicAbs(undefined,at,ay,av,ax,au,aw)};SVGPathElement.prototype.createSVGPathSegCurvetoCubicRel=function(at,ay,av,ax,au,aw){return new SVGPathSegCurvetoCubicRel(undefined,at,ay,av,ax,au,aw)};SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticAbs=function(at,aw,au,av){return new SVGPathSegCurvetoQuadraticAbs(undefined,at,aw,au,av)};SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticRel=function(at,aw,au,av){return new SVGPathSegCurvetoQuadraticRel(undefined,at,aw,au,av)};SVGPathElement.prototype.createSVGPathSegArcAbs=function(at,az,av,au,ay,ax,aw){return new SVGPathSegArcAbs(undefined,at,az,av,au,ay,ax,aw)};SVGPathElement.prototype.createSVGPathSegArcRel=function(at,az,av,au,ay,ax,aw){return new SVGPathSegArcRel(undefined,at,az,av,au,ay,ax,aw)};SVGPathElement.prototype.createSVGPathSegLinetoHorizontalAbs=function(at){return new SVGPathSegLinetoHorizontalAbs(undefined,at)};SVGPathElement.prototype.createSVGPathSegLinetoHorizontalRel=function(at){return new SVGPathSegLinetoHorizontalRel(undefined,at)};SVGPathElement.prototype.createSVGPathSegLinetoVerticalAbs=function(at){return new SVGPathSegLinetoVerticalAbs(undefined,at)};SVGPathElement.prototype.createSVGPathSegLinetoVerticalRel=function(at){return new SVGPathSegLinetoVerticalRel(undefined,at)};SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothAbs=function(at,aw,au,av){return new SVGPathSegCurvetoCubicSmoothAbs(undefined,at,aw,au,av)};SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothRel=function(at,aw,au,av){return new SVGPathSegCurvetoCubicSmoothRel(undefined,at,aw,au,av)};SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothAbs=function(at,au){return new SVGPathSegCurvetoQuadraticSmoothAbs(undefined,at,au)};SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothRel=function(at,au){return new SVGPathSegCurvetoQuadraticSmoothRel(undefined,at,au)}}if(!("SVGPathSegList" in aa)){aa.SVGPathSegList=function(at){this._pathElement=at;this._list=this._parsePath(this._pathElement.getAttribute("d"));this._mutationObserverConfig={attributes:true,attributeFilter:["d"]};this._pathElementMutationObserver=new MutationObserver(this._updateListFromPathMutations.bind(this));this._pathElementMutationObserver.observe(this._pathElement,this._mutationObserverConfig)};Object.defineProperty(SVGPathSegList.prototype,"numberOfItems",{get:function(){this._checkPathSynchronizedToList();return this._list.length},enumerable:true});Object.defineProperty(SVGPathElement.prototype,"pathSegList",{get:function(){if(!this._pathSegList){this._pathSegList=new SVGPathSegList(this)}return this._pathSegList},enumerable:true});Object.defineProperty(SVGPathElement.prototype,"normalizedPathSegList",{get:function(){return this.pathSegList},enumerable:true});Object.defineProperty(SVGPathElement.prototype,"animatedPathSegList",{get:function(){return this.pathSegList},enumerable:true});Object.defineProperty(SVGPathElement.prototype,"animatedNormalizedPathSegList",{get:function(){return this.pathSegList},enumerable:true});SVGPathSegList.prototype._checkPathSynchronizedToList=function(){this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords())};SVGPathSegList.prototype._updateListFromPathMutations=function(au){if(!this._pathElement){return}var at=false;au.forEach(function(av){if(av.attributeName=="d"){at=true}});if(at){this._list=this._parsePath(this._pathElement.getAttribute("d"))}};SVGPathSegList.prototype._writeListToPath=function(){this._pathElementMutationObserver.disconnect();this._pathElement.setAttribute("d",SVGPathSegList._pathSegArrayAsString(this._list));this._pathElementMutationObserver.observe(this._pathElement,this._mutationObserverConfig)};SVGPathSegList.prototype.segmentChanged=function(at){this._writeListToPath()};SVGPathSegList.prototype.clear=function(){this._checkPathSynchronizedToList();this._list.forEach(function(at){at._owningPathSegList=null});this._list=[];this._writeListToPath()};SVGPathSegList.prototype.initialize=function(at){this._checkPathSynchronizedToList();this._list=[at];at._owningPathSegList=this;this._writeListToPath();return at};SVGPathSegList.prototype._checkValidIndex=function(at){if(isNaN(at)||at<0||at>=this.numberOfItems){throw"INDEX_SIZE_ERR"}};SVGPathSegList.prototype.getItem=function(at){this._checkPathSynchronizedToList();this._checkValidIndex(at);return this._list[at]};SVGPathSegList.prototype.insertItemBefore=function(au,at){this._checkPathSynchronizedToList();if(at>this.numberOfItems){at=this.numberOfItems}if(au._owningPathSegList){au=au.clone()}this._list.splice(at,0,au);au._owningPathSegList=this;this._writeListToPath();return au};SVGPathSegList.prototype.replaceItem=function(au,at){this._checkPathSynchronizedToList();if(au._owningPathSegList){au=au.clone()}this._checkValidIndex(at);this._list[at]=au;au._owningPathSegList=this;this._writeListToPath();return au};SVGPathSegList.prototype.removeItem=function(at){this._checkPathSynchronizedToList();this._checkValidIndex(at);var au=this._list[at];this._list.splice(at,1);this._writeListToPath();return au};SVGPathSegList.prototype.appendItem=function(at){this._checkPathSynchronizedToList();if(at._owningPathSegList){at=at.clone()}this._list.push(at);at._owningPathSegList=this;this._writeListToPath();return at};SVGPathSegList._pathSegArrayAsString=function(au){var at="";var av=true;au.forEach(function(aw){if(av){av=false;at+=aw._asPathString()}else{at+=" "+aw._asPathString()}});return at};SVGPathSegList.prototype._parsePath=function(av){if(!av||av.length==0){return[]}var au=this;var az=function(){this.pathSegList=[]};az.prototype.appendSegment=function(aA){this.pathSegList.push(aA)};var aw=function(aA){this._string=aA;this._currentIndex=0;this._endIndex=this._string.length;this._previousCommand=SVGPathSeg.PATHSEG_UNKNOWN;this._skipOptionalSpaces()};aw.prototype._isCurrentSpace=function(){var aA=this._string[this._currentIndex];return aA<=" "&&(aA==" "||aA=="\n"||aA=="\t"||aA=="\r"||aA=="\f")};aw.prototype._skipOptionalSpaces=function(){while(this._currentIndex<this._endIndex&&this._isCurrentSpace()){this._currentIndex++}return this._currentIndex<this._endIndex};aw.prototype._skipOptionalSpacesOrDelimiter=function(){if(this._currentIndex<this._endIndex&&!this._isCurrentSpace()&&this._string.charAt(this._currentIndex)!=","){return false}if(this._skipOptionalSpaces()){if(this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)==","){this._currentIndex++;this._skipOptionalSpaces()}}return this._currentIndex<this._endIndex};aw.prototype.hasMoreData=function(){return this._currentIndex<this._endIndex};aw.prototype.peekSegmentType=function(){var aA=this._string[this._currentIndex];return this._pathSegTypeFromChar(aA)};aw.prototype._pathSegTypeFromChar=function(aA){switch(aA){case"Z":case"z":return SVGPathSeg.PATHSEG_CLOSEPATH;case"M":return SVGPathSeg.PATHSEG_MOVETO_ABS;case"m":return SVGPathSeg.PATHSEG_MOVETO_REL;case"L":return SVGPathSeg.PATHSEG_LINETO_ABS;case"l":return SVGPathSeg.PATHSEG_LINETO_REL;case"C":return SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS;case"c":return SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL;case"Q":return SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS;case"q":return SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL;case"A":return SVGPathSeg.PATHSEG_ARC_ABS;case"a":return SVGPathSeg.PATHSEG_ARC_REL;case"H":return SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS;case"h":return SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL;case"V":return SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS;case"v":return SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL;case"S":return SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;case"s":return SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL;case"T":return SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;case"t":return SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;default:return SVGPathSeg.PATHSEG_UNKNOWN}};aw.prototype._nextCommandHelper=function(aA,aB){if((aA=="+"||aA=="-"||aA=="."||(aA>="0"&&aA<="9"))&&aB!=SVGPathSeg.PATHSEG_CLOSEPATH){if(aB==SVGPathSeg.PATHSEG_MOVETO_ABS){return SVGPathSeg.PATHSEG_LINETO_ABS}if(aB==SVGPathSeg.PATHSEG_MOVETO_REL){return SVGPathSeg.PATHSEG_LINETO_REL}return aB}return SVGPathSeg.PATHSEG_UNKNOWN};aw.prototype.initialCommandIsMoveTo=function(){if(!this.hasMoreData()){return true}var aA=this.peekSegmentType();return aA==SVGPathSeg.PATHSEG_MOVETO_ABS||aA==SVGPathSeg.PATHSEG_MOVETO_REL};aw.prototype._parseNumber=function(){var aI=0;var aG=0;var aB=1;var aF=0;var aC=1;var aA=1;var aJ=this._currentIndex;this._skipOptionalSpaces();if(this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)=="+"){this._currentIndex++}else{if(this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)=="-"){this._currentIndex++;aC=-1}}if(this._currentIndex==this._endIndex||((this._string.charAt(this._currentIndex)<"0"||this._string.charAt(this._currentIndex)>"9")&&this._string.charAt(this._currentIndex)!=".")){return undefined}var aH=this._currentIndex;while(this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)>="0"&&this._string.charAt(this._currentIndex)<="9"){this._currentIndex++}if(this._currentIndex!=aH){var aE=this._currentIndex-1;var aK=1;while(aE>=aH){aG+=aK*(this._string.charAt(aE--)-"0");aK*=10}}if(this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)=="."){this._currentIndex++;if(this._currentIndex>=this._endIndex||this._string.charAt(this._currentIndex)<"0"||this._string.charAt(this._currentIndex)>"9"){return undefined}while(this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)>="0"&&this._string.charAt(this._currentIndex)<="9"){aF+=(this._string.charAt(this._currentIndex++)-"0")*(aB*=0.1)}}if(this._currentIndex!=aJ&&this._currentIndex+1<this._endIndex&&(this._string.charAt(this._currentIndex)=="e"||this._string.charAt(this._currentIndex)=="E")&&(this._string.charAt(this._currentIndex+1)!="x"&&this._string.charAt(this._currentIndex+1)!="m")){this._currentIndex++;if(this._string.charAt(this._currentIndex)=="+"){this._currentIndex++}else{if(this._string.charAt(this._currentIndex)=="-"){this._currentIndex++;aA=-1}}if(this._currentIndex>=this._endIndex||this._string.charAt(this._currentIndex)<"0"||this._string.charAt(this._currentIndex)>"9"){return undefined}while(this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)>="0"&&this._string.charAt(this._currentIndex)<="9"){aI*=10;aI+=(this._string.charAt(this._currentIndex)-"0");this._currentIndex++}}var aD=aG+aF;aD*=aC;if(aI){aD*=Math.pow(10,aA*aI)}if(aJ==this._currentIndex){return undefined}this._skipOptionalSpacesOrDelimiter();return aD};aw.prototype._parseArcFlag=function(){if(this._currentIndex>=this._endIndex){return undefined}var aA=false;var aB=this._string.charAt(this._currentIndex++);if(aB=="0"){aA=false}else{if(aB=="1"){aA=true}else{return undefined}}this._skipOptionalSpacesOrDelimiter();return aA};aw.prototype.parseSegment=function(){var aB=this._string[this._currentIndex];var aC=this._pathSegTypeFromChar(aB);if(aC==SVGPathSeg.PATHSEG_UNKNOWN){if(this._previousCommand==SVGPathSeg.PATHSEG_UNKNOWN){return null}aC=this._nextCommandHelper(aB,this._previousCommand);if(aC==SVGPathSeg.PATHSEG_UNKNOWN){return null}}else{this._currentIndex++}this._previousCommand=aC;switch(aC){case SVGPathSeg.PATHSEG_MOVETO_REL:return new SVGPathSegMovetoRel(au,this._parseNumber(),this._parseNumber());case SVGPathSeg.PATHSEG_MOVETO_ABS:return new SVGPathSegMovetoAbs(au,this._parseNumber(),this._parseNumber());case SVGPathSeg.PATHSEG_LINETO_REL:return new SVGPathSegLinetoRel(au,this._parseNumber(),this._parseNumber());case SVGPathSeg.PATHSEG_LINETO_ABS:return new SVGPathSegLinetoAbs(au,this._parseNumber(),this._parseNumber());case SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:return new SVGPathSegLinetoHorizontalRel(au,this._parseNumber());case SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:return new SVGPathSegLinetoHorizontalAbs(au,this._parseNumber());case SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:return new SVGPathSegLinetoVerticalRel(au,this._parseNumber());case SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:return new SVGPathSegLinetoVerticalAbs(au,this._parseNumber());case SVGPathSeg.PATHSEG_CLOSEPATH:this._skipOptionalSpaces();return new SVGPathSegClosePath(au);case SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:var aA={x1:this._parseNumber(),y1:this._parseNumber(),x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new SVGPathSegCurvetoCubicRel(au,aA.x,aA.y,aA.x1,aA.y1,aA.x2,aA.y2);case SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:var aA={x1:this._parseNumber(),y1:this._parseNumber(),x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new SVGPathSegCurvetoCubicAbs(au,aA.x,aA.y,aA.x1,aA.y1,aA.x2,aA.y2);case SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:var aA={x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new SVGPathSegCurvetoCubicSmoothRel(au,aA.x,aA.y,aA.x2,aA.y2);case SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:var aA={x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new SVGPathSegCurvetoCubicSmoothAbs(au,aA.x,aA.y,aA.x2,aA.y2);case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:var aA={x1:this._parseNumber(),y1:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new SVGPathSegCurvetoQuadraticRel(au,aA.x,aA.y,aA.x1,aA.y1);case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:var aA={x1:this._parseNumber(),y1:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new SVGPathSegCurvetoQuadraticAbs(au,aA.x,aA.y,aA.x1,aA.y1);case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:return new SVGPathSegCurvetoQuadraticSmoothRel(au,this._parseNumber(),this._parseNumber());case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:return new SVGPathSegCurvetoQuadraticSmoothAbs(au,this._parseNumber(),this._parseNumber());case SVGPathSeg.PATHSEG_ARC_REL:var aA={x1:this._parseNumber(),y1:this._parseNumber(),arcAngle:this._parseNumber(),arcLarge:this._parseArcFlag(),arcSweep:this._parseArcFlag(),x:this._parseNumber(),y:this._parseNumber()};return new SVGPathSegArcRel(au,aA.x,aA.y,aA.x1,aA.y1,aA.arcAngle,aA.arcLarge,aA.arcSweep);case SVGPathSeg.PATHSEG_ARC_ABS:var aA={x1:this._parseNumber(),y1:this._parseNumber(),arcAngle:this._parseNumber(),arcLarge:this._parseArcFlag(),arcSweep:this._parseArcFlag(),x:this._parseNumber(),y:this._parseNumber()};return new SVGPathSegArcAbs(au,aA.x,aA.y,aA.x1,aA.y1,aA.arcAngle,aA.arcLarge,aA.arcSweep);default:throw"Unknown path seg type."}};var at=new az();var ax=new aw(av);if(!ax.initialCommandIsMoveTo()){return[]}while(ax.hasMoreData()){var ay=ax.parseSegment();if(!ay){return[]}at.appendSegment(ay)}return at.pathSegList}}}());if(typeof define==="function"&&define.amd){define("c3",["d3"],function(){return j})}else{if("undefined"!==typeof exports&&"undefined"!==typeof module){module.exports=j}else{aa.c3=j}}})(window);