UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

1 lines 93.4 kB
!function(t){"function"==typeof define&&define.amd?define(["kendo.core.min","kendo.drawing.min"],t):t()}((function(){var t,i,n,e;!function(t){window.kendo.dataviz=window.kendo.dataviz||{};var i=kendo.drawing,n=i.util,e=i.Path,o=i.Group,r=kendo.Class,s=kendo.support,a=kendo.geometry,l=a.Rect,h=a.Circle,u=a.transform,c=a.Segment,f=kendo.dataviz,p=kendo.deepExtend,d=kendo.isFunction,v=kendo.getter,g="arc",m="axisLabelClick",x="#000",b="bottom",y="center",w="circle",M="cross",S="date",T="12px sans-serif",k=10,R=/\{\d+:?/,L="height",U="inside",A="left",j=Number.MAX_VALUE,I=-Number.MAX_VALUE,B="none",D="noteClick",P="noteHover",C="noteLeave",O="object",E="outside",_="right",z="roundedRect",V="string",G="top",F="triangle",N="#fff",H="width",Y="x",X="y",q={ARC:g,AXIS_LABEL_CLICK:m,BLACK:x,BOTTOM:b,CENTER:y,CIRCLE:w,COORD_PRECISION:3,CROSS:M,DATE:S,DEFAULT_FONT:T,DEFAULT_HEIGHT:400,DEFAULT_PRECISION:k,DEFAULT_WIDTH:600,END:"end",FORMAT_REGEX:R,HEIGHT:L,HIGHLIGHT_ZINDEX:100,INSIDE:U,LEFT:A,MAX_VALUE:j,MIN_VALUE:I,NONE:B,NOTE_CLICK:D,NOTE_HOVER:P,NOTE_LEAVE:C,OBJECT:O,OUTSIDE:E,RIGHT:_,ROUNDED_RECT:z,START:"start",STRING:V,TOP:G,TRIANGLE:F,VALUE:"value",WHITE:N,WIDTH:H,X:Y,Y:X,DEFAULT_SERIES_OPACITY:1};function K(t){return Array.isArray(t)}var W=/\s+/g;function Q(t){var i=.5;t.options.stroke&&kendo.drawing.util.defined(t.options.stroke.width)&&t.options.stroke.width%2==0&&(i=0);for(var n=0;n<t.segments.length;n++)t.segments[n].anchor().round(0).translate(i,i);return t}function J(t,i){return-t.x*i.y+t.y*i.x<0}function Z(t){return"number"==typeof t&&!isNaN(t)}function $(t){return typeof t===V}function tt(t){return"object"==typeof t}function it(t){return Z(t)?t+"px":t}var nt=/width|height|top|left|bottom|right/i;function et(t){return nt.test(t)}function ot(t,i){void 0===i&&(i=0);var n={top:0,right:0,bottom:0,left:0};return"number"==typeof t?n.top=n.right=n.bottom=n.left=t:(n.top=t.top||i,n.right=t.right||i,n.bottom=t.bottom||i,n.left=t.left||i),n}var rt={compile:function(t){return t}},st=r.extend({});function at(t){var i;return void 0===t&&(t={}),t.template?t.template=i=st.compile(t.template):d(t.content)&&(i=t.content),i}function lt(t,i){for(var n=t.length,e=[],o=0;o<n;o++)i(t[o])&&e.push(t[o]);return e}st.register=function(t){rt=t},st.compile=function(t){return rt.compile(t)};var ht=function(){this._map={}};function ut(t,i){if(i)return-1!==i.indexOf(t)}ht.prototype.get=function(t){return this._map[this._key(t)]},ht.prototype.set=function(t,i){this._map[this._key(t)]=i},ht.prototype._key=function(t){return t instanceof Date?t.getTime():t};var ct="trigger",ft=r.extend({init:function(t,i){this.observer=t,this.handlerMap=p({},this.handlerMap,i)},trigger:function(t,i){var n,e=this.observer,o=this.handlerMap;return o[t]?n=this.callObserver(o[t],i):e.trigger&&(n=this.callObserver(ct,t,i)),n},callObserver:function(t){for(var i=arguments,n=[],e=arguments.length-1;e-- >0;)n[e]=i[e+1];return this.observer[t].apply(this.observer,n)},requiresHandlers:function(t){if(this.observer.requiresHandlers)return this.observer.requiresHandlers(t);for(var i=0;i<t.length;i++)if(this.handlerMap[t[i]])return!0}});function pt(t,i){for(var n=t.length,e=[],o=0;o<n;o++){var r=i(t[o]);kendo.drawing.util.defined(r)&&e.push(r)}return e}var dt=s.browser||{};var vt=kendo.drawing.util,gt=vt.append,mt=vt.bindEvents,xt=vt.defined,bt=vt.deg,yt=vt.elementOffset,wt=vt.elementSize,Mt=vt.eventCoordinates,St=vt.eventElement,Tt=vt.hashKey,kt=vt.last,Rt=vt.limitValue,Lt=vt.objectKey,Ut=vt.rad,At=vt.round,jt=vt.unbindEvents,It=vt.valueOrDefault,Bt=r.extend({});function Dt(t,i){var n=t.prototype;n.options?n.options=p({},n.options,i):n.options=i}function Pt(t){for(var i=j,n=I,e=0,o=t.length;e<o;e++){var r=t[e];null!==r&&isFinite(r)&&(i=Math.min(i,r),n=Math.max(n,r))}return{min:i===j?void 0:i,max:n===I?void 0:n}}Bt.fetchFonts=function(t,i,n){void 0===n&&(n={depth:0});!t||n.depth>5||!document.fonts||Object.keys(t).forEach((function(e){var o=t[e];"dataSource"!==e&&"$"!==e[0]&&o&&("font"===e?i.push(o):"object"==typeof o&&(n.depth++,Bt.fetchFonts(o,i,n),n.depth--))}))},Bt.loadFonts=function(t,i){var n=[];if(t.length>0&&document.fonts){try{n=t.map((function(t){return document.fonts.load(t)}))}catch(t){kendo.logToConsole(t)}Promise.all(n).then(i,i)}else i()},Bt.preloadFonts=function(t,i){var n=[];Bt.fetchFonts(t,n),Bt.loadFonts(n,i)};var Ct=a.Matrix,Ot=/matrix\((.*)\)/;function Et(t){var i=getComputedStyle(t).transform;return"none"===i?Ct.unit():function(t){var i=t.match(Ot);if(null===i||2!==i.length)return Ct.unit();var n=i[1].split(",").map((function(t){return parseFloat(t)}));return new(Function.prototype.bind.apply(Ct,[null].concat(n)))}(i)}var _t={},zt=r.extend({init:function(t){this._index={},this._values=t?t.slice(0):[];for(var i=0;i<this._values.length;i++)this._index[this._values[i]]=i},values:function(){return this._values.filter((function(t){return t!==_t}))},has:function(t){return void 0!==this._index[t]},add:function(t){this.has(t)||(this._index[t]=this._values.length,this._values.push(t))},delete:function(t){var i=this._index[t];void 0!==i&&(this._values[i]=_t,delete this._index[t])},clear:function(){this._index={},this._values=[]}});Object.defineProperties&&Object.defineProperties(zt.fn,{size:{get:function(){return this._values.length}}});var Vt=r.extend({init:function(t){this._set=new Set(t)},values:function(){return Array.from(this._set)},has:function(t){return this._set.has(t)},add:function(t){this._set.add(t)},delete:function(t){this._set.delete(t)},clear:function(){this._set.clear()}});Object.defineProperties&&Object.defineProperties(Vt.fn,{size:{get:function(){return this._set.size}}});function Gt(t,i){var n=At(i-t,9);if(0===n){if(0===i)return.1;n=Math.abs(i)}var e=Math.pow(10,Math.floor(Math.log(n)/Math.log(10))),o=At(n/e,k);return At(e*(o<1.904762?.2:o<4.761904?.5:o<9.523809?1:2),k)}var Ft=r.extend({init:function(t,i){this.x=t||0,this.y=i||0},clone:function(){return new Ft(this.x,this.y)},equals:function(t){return t&&this.x===t.x&&this.y===t.y},rotate:function(t,i){var n=Ut(i),e=Math.cos(n),o=Math.sin(n),r=t.x,s=t.y,a=this.x,l=this.y;return this.x=At(r+(a-r)*e+(l-s)*o,3),this.y=At(s+(l-s)*e-(a-r)*o,3),this},multiply:function(t){return this.x*=t,this.y*=t,this},distanceTo:function(t){var i=this.x-t.x,n=this.y-t.y;return Math.sqrt(i*i+n*n)}});Ft.onCircle=function(t,i,n){var e=Ut(i);return new Ft(t.x-n*Math.cos(e),t.y-n*Math.sin(e))};var Nt=r.extend({init:function(t,i,n,e){this.x1=t||0,this.y1=i||0,this.x2=n||0,this.y2=e||0},equals:function(t){return this.x1===t.x1&&this.x2===t.x2&&this.y1===t.y1&&this.y2===t.y2},width:function(){return this.x2-this.x1},height:function(){return this.y2-this.y1},translate:function(t,i){return this.x1+=t,this.x2+=t,this.y1+=i,this.y2+=i,this},move:function(t,i){var n=this.height(),e=this.width();return xt(t)&&(this.x1=t,this.x2=this.x1+e),xt(i)&&(this.y1=i,this.y2=this.y1+n),this},wrap:function(t){return this.x1=Math.min(this.x1,t.x1),this.y1=Math.min(this.y1,t.y1),this.x2=Math.max(this.x2,t.x2),this.y2=Math.max(this.y2,t.y2),this},wrapPoint:function(t){var i=K(t),n=i?t[0]:t.x,e=i?t[1]:t.y;return this.wrap(new Nt(n,e,n,e)),this},snapTo:function(t,i){return i!==Y&&i||(this.x1=t.x1,this.x2=t.x2),i!==X&&i||(this.y1=t.y1,this.y2=t.y2),this},alignTo:function(t,i){var n=this.height(),e=this.width(),o=i===G||i===b?X:Y,r=o===X?n:e;if(i===y){var s=t.center(),a=this.center();this.x1+=s.x-a.x,this.y1+=s.y-a.y}else this[o+1]=i===G||i===A?t[o+1]-r:t[o+2];return this.x2=this.x1+e,this.y2=this.y1+n,this},shrink:function(t,i){return this.x2-=t,this.y2-=i,this},expand:function(t,i){return this.shrink(-t,-i),this},pad:function(t){var i=ot(t);return this.x1-=i.left,this.x2+=i.right,this.y1-=i.top,this.y2+=i.bottom,this},unpad:function(t){var i=ot(t);return i.left=-i.left,i.top=-i.top,i.right=-i.right,i.bottom=-i.bottom,this.pad(i)},clone:function(){return new Nt(this.x1,this.y1,this.x2,this.y2)},center:function(){return new Ft(this.x1+this.width()/2,this.y1+this.height()/2)},containsPoint:function(t){return t.x>=this.x1&&t.x<=this.x2&&t.y>=this.y1&&t.y<=this.y2},points:function(){return[new Ft(this.x1,this.y1),new Ft(this.x2,this.y1),new Ft(this.x2,this.y2),new Ft(this.x1,this.y2)]},getHash:function(){return[this.x1,this.y1,this.x2,this.y2].join(",")},overlaps:function(t){return!(t.y2<this.y1||this.y2<t.y1||t.x2<this.x1||this.x2<t.x1)},rotate:function(t){var i=this.width(),n=this.height(),e=this.center(),o=e.x,r=e.y,s=Ht(0,0,o,r,t),a=Ht(i,0,o,r,t),l=Ht(i,n,o,r,t),h=Ht(0,n,o,r,t);return i=Math.max(s.x,a.x,l.x,h.x)-Math.min(s.x,a.x,l.x,h.x),n=Math.max(s.y,a.y,l.y,h.y)-Math.min(s.y,a.y,l.y,h.y),this.x2=this.x1+i,this.y2=this.y1+n,this},toRect:function(){return new l([this.x1,this.y1],[this.width(),this.height()])},hasSize:function(){return 0!==this.width()&&0!==this.height()},align:function(t,i,n){var e=i+1,o=i+2,r=i===Y?H:L,s=this[r]();ut(n,[A,G])?(this[e]=t[e],this[o]=this[e]+s):ut(n,[_,b])?(this[o]=t[o],this[e]=this[o]-s):n===y&&(this[e]=t[e]+(t[r]()-s)/2,this[o]=this[e]+s)}});function Ht(t,i,n,e,o){var r=Ut(o);return new Ft(n+(t-n)*Math.cos(r)+(i-e)*Math.sin(r),e-(t-n)*Math.sin(r)+(i-e)*Math.cos(r))}var Yt=r.extend({init:function(t,i,n,e,o){this.center=t,this.innerRadius=i,this.radius=n,this.startAngle=e,this.angle=o},clone:function(){return new Yt(this.center,this.innerRadius,this.radius,this.startAngle,this.angle)},middle:function(){return this.startAngle+this.angle/2},setRadius:function(t,i){return i?this.innerRadius=t:this.radius=t,this},point:function(t,i){var n=Ut(t),e=Math.cos(n),o=Math.sin(n),r=i?this.innerRadius:this.radius,s=At(this.center.x-e*r,3),a=At(this.center.y-o*r,3);return new Ft(s,a)},adjacentBox:function(t,i,n){var e=this.clone().expand(t),o=e.middle(),r=e.point(o),s=i/2,a=n/2,l=Math.sin(Ut(o)),h=Math.cos(Ut(o)),u=r.x-s,c=r.y-a;return Math.abs(l)<.9&&(u+=s*-h/Math.abs(h)),Math.abs(h)<.9&&(c+=a*-l/Math.abs(l)),new Nt(u,c,u+i,c+n)},containsPoint:function(t){var i=this.center,n=this.innerRadius,e=this.radius,o=this.startAngle,r=this.startAngle+this.angle,s=t.x-i.x,a=t.y-i.y,l=new Ft(s,a),h=this.point(o),u=new Ft(h.x-i.x,h.y-i.y),c=this.point(r),f=new Ft(c.x-i.x,c.y-i.y),p=At(s*s+a*a,3);return(u.equals(l)||J(u,l))&&!J(f,l)&&p>=n*n&&p<=e*e},getBBox:function(){var t,i=new Nt(j,j,I,I),n=At(this.startAngle%360),e=At((n+this.angle)%360),o=this.innerRadius,r=[0,90,180,270,n,e].sort(Xt),s=r.indexOf(n),a=r.indexOf(e);t=n===e?r:s<a?r.slice(s,a+1):[].concat(r.slice(0,a+1),r.slice(s,r.length));for(var l=0;l<t.length;l++){var h=this.point(t[l]);i.wrapPoint(h),i.wrapPoint(h,o)}return o||i.wrapPoint(this.center),i},expand:function(t){return this.radius+=t,this}});function Xt(t,i){return t-i}var qt=Yt.extend({init:function(t,i,n,e){Yt.fn.init.call(this,t,0,i,n,e)},expand:function(t){return Yt.fn.expand.call(this,t)},clone:function(){return new qt(this.center,this.radius,this.startAngle,this.angle)},setRadius:function(t){return this.radius=t,this}}),Kt=r.extend({createRing:function(t,i){var n=t.startAngle+180,o=t.angle+n;t.angle>0&&n===o&&(o+=.001);var r=new a.Point(t.center.x,t.center.y),s=Math.max(t.radius,0),l=Math.max(t.innerRadius,0),h=new a.Arc(r,{startAngle:n,endAngle:o,radiusX:s,radiusY:s}),u=e.fromArc(h,i).close();if(l){h.radiusX=h.radiusY=l;var c=h.pointAt(o);u.lineTo(c.x,c.y),u.arc(o,n,l,l,!0)}else u.lineTo(r.x,r.y);return u}});Kt.current=new Kt;var Wt=r.extend({init:function(t){this.children=[],this.options=p({},this.options,this.initUserOptions(t))},initUserOptions:function(t){return t},reflow:function(t){for(var i,n=this.children,e=0;e<n.length;e++){var o=n[e];o.reflow(t),i=i?i.wrap(o.box):o.box.clone()}this.box=i||t},destroy:function(){var t=this.children;this.animation&&this.animation.destroy();for(var i=0;i<t.length;i++)t[i].destroy()},getRoot:function(){var t=this.parent;return t?t.getRoot():null},getSender:function(){var t=this.getService();if(t)return t.sender},getService:function(){for(var t=this;t;){if(t.chartService)return t.chartService;t=t.parent}},translateChildren:function(t,i){for(var n=this.children,e=n.length,o=0;o<e;o++)n[o].box.translate(t,i)},append:function(){for(var t=arguments,i=this,n=0;n<arguments.length;n++){var e=t[n];i.children.push(e),e.parent=i}},renderVisual:function(){!1!==this.options.visible&&(this.createVisual(),this.addVisual(),this.renderChildren(),this.createAnimation(),this.renderComplete())},addVisual:function(){this.visual&&(this.visual.chartElement=this,this.parent&&this.parent.appendVisual(this.visual))},renderChildren:function(){for(var t=this.children,i=t.length,n=0;n<i;n++)t[n].renderVisual()},createVisual:function(){this.visual=new o({zIndex:this.options.zIndex,visible:It(this.options.visible,!0)})},createAnimation:function(){this.visual&&this.options.animation&&(this.animation=i.Animation.create(this.visual,this.options.animation))},appendVisual:function(t){t.chartElement||(t.chartElement=this),t.options.noclip?this.clipRoot().visual.append(t):xt(t.options.zIndex)?this.stackRoot().stackVisual(t):this.isStackRoot?this.stackVisual(t):this.visual?this.visual.append(t):this.parent.appendVisual(t)},clipRoot:function(){return this.parent?this.parent.clipRoot():this},stackRoot:function(){return this.parent?this.parent.stackRoot():this},stackVisual:function(t){var i,n=t.options.zIndex||0,e=this.visual.children,o=e.length;for(i=0;i<o;i++){var r=e[i];if(It(r.options.zIndex,0)>n)break}this.visual.insert(i,t)},traverse:function(t){for(var i=this.children,n=i.length,e=0;e<n;e++){var o=i[e];t(o),o.traverse&&o.traverse(t)}},closest:function(t){for(var i=this,n=!1;i&&!n;)(n=t(i))||(i=i.parent);if(n)return i},renderComplete:function(){},hasHighlight:function(){var t=(this.options||{}).highlight;return!(!this.createHighlight||t&&!1===t.visible)},toggleHighlight:function(i,n){var e=this,o=(this.options||{}).highlight||{},r=o.visual,s=this._highlight;if(!s){var a={fill:{color:N,opacity:n||.2},stroke:{color:N,width:1,opacity:n||.2}};if(r){if(!(s=this._highlight=r(t.extend(this.highlightVisualArgs(),{createVisual:function(){return e.createHighlight(a)},sender:this.getSender(),series:this.series,dataItem:this.dataItem,category:this.category,value:this.value,percentage:this.percentage,runningTotal:this.runningTotal,total:this.total}))))return}else s=this._highlight=this.createHighlight(a);xt(s.options.zIndex)||(s.options.zIndex=It(o.zIndex,this.options.zIndex)),this.appendVisual(s)}s.visible(i)},createGradientOverlay:function(i,n,o){var r=new e(t.extend({stroke:{color:"none"},fill:this.createGradient(o),closed:i.options.closed},n));return r.segments.elements(i.segments.elements()),r},createGradient:function(t){if(this.parent)return this.parent.createGradient(t)},supportsPointInactiveOpacity:function(){return!0}});Wt.prototype.options={};var Qt=Wt.extend({init:function(t){Wt.fn.init.call(this,t),this.options.margin=ot(this.options.margin),this.options.padding=ot(this.options.padding)},reflow:function(t){var i,n=this,e=this.options,o=e.width,r=e.height,s=e.shrinkToFit,a=o&&r,l=e.margin,h=e.padding,u=e.border.width,c=function(){n.align(t,Y,e.align),n.align(t,X,e.vAlign),n.paddingBox=i.clone().unpad(l).unpad(u)},f=t.clone();a&&(f.x2=f.x1+o,f.y2=f.y1+r),s&&f.unpad(l).unpad(u).unpad(h),Wt.fn.reflow.call(this,f),i=a?this.box=new Nt(0,0,o,r):this.box,s&&a?(c(),f=this.contentBox=this.paddingBox.clone().unpad(h)):(f=this.contentBox=i.clone(),i.pad(h).pad(u).pad(l),c()),this.translateChildren(i.x1-f.x1+l.left+u+h.left,i.y1-f.y1+l.top+u+h.top);for(var p=this.children,d=0;d<p.length;d++){var v=p[d];v.reflow(v.box)}},align:function(t,i,n){this.box.align(t,i,n)},hasBox:function(){var t=this.options;return t.border.width||t.background},createVisual:function(){Wt.fn.createVisual.call(this),this.options.visible&&this.hasBox()&&this.visual.append(e.fromRect(this.paddingBox.toRect(),this.visualStyle()))},visualStyle:function(){var t=this.options,i=t.border||{};return{stroke:{width:i.width,color:i.color,opacity:It(i.opacity,t.opacity),dashType:i.dashType},fill:{color:t.background,opacity:t.opacity},cursor:t.cursor}}});Dt(Qt,{align:A,vAlign:G,margin:{},padding:{},border:{color:x,width:0},background:"",shrinkToFit:!1,width:0,height:0,visible:!0});var Jt=Qt.extend({init:function(t,i){Qt.fn.init.call(this,t),this.pointData=i},getElement:function(){var t=this.options,n=this.paddingBox,o=t.type,r=t.rotation,s=n.center(),a=n.width()/2,l=n.height()/2;if(!t.visible||!this.hasBox())return null;var c,f=this.visualStyle();if(o===w)c=new i.Circle(new h([At(n.x1+a,3),At(n.y1+l,3)],Math.min(a,l)),f);else if(o===F)c=e.fromPoints([[n.x1+a,n.y1],[n.x1,n.y2],[n.x2,n.y2]],f).close();else if(o===M)(c=new i.MultiPath(f)).moveTo(n.x1,n.y1).lineTo(n.x2,n.y2),c.moveTo(n.x1,n.y2).lineTo(n.x2,n.y1);else{var p=n.toRect();if(o===z){var d=It(t.borderRadius,p.width()/5);p.setCornerRadius(d)}c=e.fromRect(p,f)}return r&&c.transform(u().rotate(-r,[s.x,s.y])),c.options.zIndex=t.zIndex,c},createElement:function(){var t=this,i=this.options.visual,n=this.pointData||{};return i?i({value:n.value,dataItem:n.dataItem,sender:this.getSender(),series:n.series,category:n.category,rect:this.paddingBox.toRect(),options:this.visualOptions(),createVisual:function(){return t.getElement()}}):this.getElement()},visualOptions:function(){var t=this.options;return{background:t.background,border:t.border,margin:t.margin,padding:t.padding,type:t.type,size:t.width,visible:t.visible}},createVisual:function(){this.visual=this.createElement()}});Dt(Jt,{type:w,align:y,vAlign:y});var Zt="radial",$t={glass:{type:"linear",rotation:0,stops:[{offset:0,color:N,opacity:0},{offset:.25,color:N,opacity:.3},{offset:1,color:N,opacity:0}]},sharpBevel:{type:Zt,stops:[{offset:0,color:N,opacity:.55},{offset:.65,color:N,opacity:0},{offset:.95,color:N,opacity:.25}]},roundedBevel:{type:Zt,stops:[{offset:.33,color:N,opacity:.06},{offset:.83,color:N,opacity:.2},{offset:.95,color:N,opacity:0}]},roundedGlass:{type:Zt,supportVML:!1,stops:[{offset:0,color:N,opacity:0},{offset:.5,color:N,opacity:.3},{offset:.99,color:N,opacity:0}]},sharpGlass:{type:Zt,supportVML:!1,stops:[{offset:0,color:N,opacity:.2},{offset:.15,color:N,opacity:.15},{offset:.17,color:N,opacity:.35},{offset:.85,color:N,opacity:.05},{offset:.87,color:N,opacity:.15},{offset:.99,color:N,opacity:0}]},bubbleShadow:{type:Zt,center:[.5,.5],radius:.5}};function ti(t,i){if(t.x1===i.x1&&t.y1===i.y1&&t.x2===i.x2&&t.y2===i.y2)return i;var n=Math.min(t.x1,i.x1),e=Math.max(t.x1,i.x1),o=Math.min(t.x2,i.x2),r=Math.max(t.x2,i.x2),s=Math.min(t.y1,i.y1),a=Math.max(t.y1,i.y1),l=Math.min(t.y2,i.y2),h=Math.max(t.y2,i.y2),u=[];return u[0]=new Nt(e,s,o,a),u[1]=new Nt(n,a,e,l),u[2]=new Nt(o,a,r,l),u[3]=new Nt(e,l,o,h),t.x1===n&&t.y1===s||i.x1===n&&i.y1===s?(u[4]=new Nt(n,s,e,a),u[5]=new Nt(o,l,r,h)):(u[4]=new Nt(o,s,r,a),u[5]=new Nt(n,l,e,h)),lt(u,(function(t){return t.height()>0&&t.width()>0}))[0]}var ii=Wt.extend({init:function(t){Wt.fn.init.call(this,t);var i=this.options;i.width=parseInt(i.width,10),i.height=parseInt(i.height,10),this.gradients={}},reflow:function(){var t=this.options,i=this.children,n=new Nt(0,0,t.width,t.height);this.box=n.unpad(t.margin);for(var e=0;e<i.length;e++)i[e].reflow(n),n=ti(n,i[e].box)||new Nt},createVisual:function(){this.visual=new o,this.createBackground()},createBackground:function(){var t=this.options,i=t.border||{},n=this.box.clone().pad(t.margin).unpad(i.width),o=e.fromRect(n.toRect(),{stroke:{color:i.width?i.color:"",width:i.width,dashType:i.dashType},fill:{color:t.background,opacity:t.opacity},zIndex:-10});this.visual.append(o)},getRoot:function(){return this},createGradient:function(n){var e,o=this.gradients,r=Lt(n),s=$t[n.gradient];if(o[r])e=o[r];else{var a=t.extend({},s,n);"linear"===s.type?e=new i.LinearGradient(a):(n.innerRadius&&(a.stops=function(i){for(var n=i.stops,e=i.innerRadius/i.radius*100,o=n.length,r=[],s=0;s<o;s++){var a=t.extend({},n[s]);a.offset=(a.offset*(100-e)+e)/100,r.push(a)}return r}(a)),(e=new i.RadialGradient(a)).supportVML=!1!==s.supportVML),o[r]=e}return e},cleanGradients:function(){var t=this.gradients;for(var i in t)t[i]._observers=[]},size:function(){var t=this.options;return new Nt(0,0,t.width,t.height)}});Dt(ii,{width:600,height:400,background:N,border:{color:x,width:0},margin:ot(5),zIndex:-2});var ni=Wt.extend({init:function(t){Wt.fn.init.call(this,t),this._initDirection()},_initDirection:function(){var t=this.options;t.vertical?(this.groupAxis=Y,this.elementAxis=X,this.groupSizeField=H,this.elementSizeField=L,this.groupSpacing=t.spacing,this.elementSpacing=t.vSpacing):(this.groupAxis=X,this.elementAxis=Y,this.groupSizeField=L,this.elementSizeField=H,this.groupSpacing=t.vSpacing,this.elementSpacing=t.spacing)},reflow:function(t){this.box=t.clone(),this.reflowChildren()},reflowChildren:function(){var t=this,i=this,n=i.box,e=i.elementAxis,o=i.groupAxis,r=i.elementSizeField,s=i.groupSizeField,a=this.groupOptions(),l=a.groups,h=a.groupsSize,u=a.maxGroupElementsSize,c=l.length,f=n[o+1]+this.alignStart(h,n[s]());if(c){for(var p=f,d=0;d<c;d++){for(var v=l[d],g=v.groupElements,m=n[e+1],x=g.length,b=0;b<x;b++){var y=g[b],w=t.elementSize(y),M=p+t.alignStart(w[s],v.groupSize),S=new Nt;S[o+1]=M,S[o+2]=M+w[s],S[e+1]=m,S[e+2]=m+w[r],y.reflow(S),m+=w[r]+t.elementSpacing}p+=v.groupSize+t.groupSpacing}n[o+1]=f,n[o+2]=f+h,n[e+2]=n[e+1]+u}},alignStart:function(t,i){var n=0,e=this.options.align;return e===_||e===b?n=i-t:e===y&&(n=(i-t)/2),n},groupOptions:function(){for(var t=this,i=t.box,n=t.children,e=t.elementSizeField,o=t.groupSizeField,r=t.elementSpacing,s=t.groupSpacing,a=At(i[e]()),l=n.length,h=[],u=0,c=0,f=0,p=0,d=[],v=0;v<l;v++){var g=n[v];g.box||g.reflow(i);var m=this.elementSize(g);this.options.wrap&&At(c+r+m[e])>a&&(h.push({groupElements:d,groupSize:u,groupElementsSize:c}),p=Math.max(p,c),f+=s+u,u=0,c=0,d=[]),u=Math.max(u,m[o]),c>0&&(c+=r),c+=m[e],d.push(g)}return h.push({groupElements:d,groupSize:u,groupElementsSize:c}),{groups:h,groupsSize:f+=u,maxGroupElementsSize:p=Math.max(p,c)}},elementSize:function(t){return{width:t.box.width(),height:t.box.height()}},createVisual:function(){}});Dt(ni,{vertical:!0,wrap:!0,vSpacing:0,spacing:0});var ei=i.Text,oi=Wt.extend({init:function(t,i){Wt.fn.init.call(this,i),this.content=t,this.reflow(new Nt)},reflow:function(t){var i=this.options,e=i.size=n.measureText(this.content,{font:i.font});this.baseline=e.baseline,this.box=new Nt(t.x1,t.y1,t.x1+e.width,t.y1+e.height)},createVisual:function(){var t=this.options,i=t.font,n=t.color,e=t.opacity,o=t.cursor;this.visual=new ei(this.content,this.box.toRect().topLeft(),{font:i,fill:{color:n,opacity:e},cursor:o})}});function ri(t){var i=t.origin,n=t.bottomRight();return new Nt(i.x,i.y,n.x,n.y)}Dt(oi,{font:T,color:x});var si=/\n/m,ai=Qt.extend({init:function(t,i,n){Qt.fn.init.call(this,i),this.content=t,this.data=n,this._initContainer(),!1!==this.options._autoReflow&&this.reflow(new Nt)},_initContainer:function(){var t=this.options,i=String(this.content).split(si),n=new ni({vertical:!0,align:t.align,wrap:!1}),e=p({},t,{opacity:1,animation:null});this.container=n,this.append(n);for(var o=0;o<i.length;o++){var r=new oi(i[o].trim(),e);n.append(r)}},reflow:function(t){var i=this.options,n=i.visual;if(this.container.options.align=i.align,n&&!this._boxReflow){var e=t;e.hasSize()||(this._boxReflow=!0,this.reflow(e),this._boxReflow=!1,e=this.box);var o=this.visual=n(this.visualContext(e));o&&(e=ri(o.clippedBBox()||new l),o.options.zIndex=i.zIndex),this.box=this.contentBox=this.paddingBox=e}else if(Qt.fn.reflow.call(this,t),i.rotation){var r=ot(i.margin),s=this.box.unpad(r);this.targetBox=t,this.normalBox=s.clone(),(s=this.rotate()).translate(r.left-r.right,r.top-r.bottom),this.rotatedBox=s.clone(),s.pad(r)}},createVisual:function(){var t=this.options;if(this.visual=new o({transform:this.rotationTransform(),zIndex:t.zIndex,noclip:t.noclip}),this.hasBox()){var i=e.fromRect(this.paddingBox.toRect(),this.visualStyle());this.visual.append(i)}},renderVisual:function(){if(this.options.visible)if(this.options.visual){var t=this.visual;t&&!xt(t.options.noclip)&&(t.options.noclip=this.options.noclip),this.addVisual(),this.createAnimation()}else Qt.fn.renderVisual.call(this)},visualContext:function(i){var n=this,e={text:this.content,rect:i.toRect(),sender:this.getSender(),options:this.options,createVisual:function(){return n._boxReflow=!0,n.reflow(i),n._boxReflow=!1,n.getDefaultVisual()}};return this.data&&t.extend(e,this.data),e},getDefaultVisual:function(){this.createVisual(),this.renderChildren();var t=this.visual;return delete this.visual,t},rotate:function(){var t=this.options;return this.box.rotate(t.rotation),this.align(this.targetBox,Y,t.align),this.align(this.targetBox,X,t.vAlign),this.box},rotationTransform:function(){var t=this.options.rotation;if(!t)return null;var i=this.normalBox.center(),n=i.x,e=i.y,o=this.rotatedBox.center();return u().translate(o.x-n,o.y-e).rotate(t,[n,e])}}),li=Wt.extend({init:function(i){Wt.fn.init.call(this,i),this._textBox=new ai(this.options.text,t.extend({},this.options,{vAlign:this.options.position})),this.append(this._textBox)},reflow:function(t){Wt.fn.reflow.call(this,t),this.box.snapTo(t,Y)}});function hi(i){for(var n=1;n<i.length;n++){var e=i[n]._textBox,o=i[n-1]._textBox;o.options.margin=t.extend(ot(o.options.margin),{bottom:0}),e.options.margin=t.extend(ot(e.options.margin),{top:0})}}li.buildTitle=function(i,n){var e,o=i;return"string"==typeof i&&(o={text:i}),(o=t.extend({visible:!0},n,o))&&o.visible&&o.text&&(e=new li(o)),e},li.orderTitles=function(t){var i=[].concat(t),n=i.filter((function(t){return t&&t.options.position!==b})),e=i.filter((function(t){return t&&t.options.position===b}));return hi(n),hi(e),e.reverse(),n.concat(e)},Dt(li,{color:x,position:G,align:y,margin:ot(5),padding:ot(5)});var ui=ai.extend({init:function(t,i,n,e,o){ai.fn.init.call(this,i,o),this.text=i,this.value=t,this.index=n,this.dataItem=e,this.reflow(new Nt)},visualContext:function(t){var i=ai.fn.visualContext.call(this,t);return i.value=this.value,i.dataItem=this.dataItem,i.format=this.options.format,i.culture=this.options.culture,i},click:function(t,i){t.trigger(m,{element:St(i),value:this.value,text:this.text,index:this.index,dataItem:this.dataItem,axis:this.parent.options})},rotate:function(){if(this.options.alignRotation!==y){var t=this.normalBox.toRect(),i=this.rotationTransform();this.box=ri(t.bbox(i.matrix()))}else ai.fn.rotate.call(this);return this.box},rotationTransform:function(){var t=this.options,i=t.rotation;if(!i)return null;if(t.alignRotation===y)return ai.fn.rotationTransform.call(this);var n=u().rotate(i).matrix(),e=this.normalBox.toRect(),o=this.targetBox.toRect(),r=t.rotationOrigin||G,s=r===G||r===b?Y:X,a=r===G||r===b?X:Y,h=r===G||r===A?o.origin:o.bottomRight(),c=e.topLeft().transformCopy(n),f=e.topRight().transformCopy(n),p=e.bottomRight().transformCopy(n),d=e.bottomLeft().transformCopy(n),v=l.fromPoints(c,f,p,d),g={};g[a]=o.origin[a]-v.origin[a];var m,x,w=Math.abs(c[a]+g[a]-h[a]),M=Math.abs(f[a]+g[a]-h[a]);At(w,k)===At(M,k)?(m=c,x=f):M<w?(m=f,x=p):(m=c,x=d);var S=m[s]+(x[s]-m[s])/2;return g[s]=o.center()[s]-S,u().translate(g.x,g.y).rotate(i)}});Dt(ui,{_autoReflow:!1});var ci=Qt.extend({init:function(t,i,n){Qt.fn.init.call(this,i),this.fields=t,this.chartService=n,this.render()},hide:function(){this.options.visible=!1},show:function(){this.options.visible=!0},render:function(){var t=this,i=this.options;if(i.visible){var n,e,o=i.label,r=i.icon,s=new Nt,a=function(){return t},l=r.size,h=this.fields.text;if(xt(o)&&o.visible){var u=at(o);u?h=u(this.fields):o.format&&(h=this.chartService.format.auto(o.format,h)),o.color||(o.color=o.position===U?"#fff":r.background),this.label=new ai(h,p({},o)),this.label.aliasFor=a,o.position!==U||xt(l)||(r.type===w?l=Math.max(this.label.box.width(),this.label.box.height()):(n=this.label.box.width(),e=this.label.box.height()),s.wrap(this.label.box))}r.width=n||l||7,r.height=e||l||7;var c=new Jt(p({},r));c.aliasFor=a,this.marker=c,this.append(c),this.label&&this.append(this.label),c.reflow(new Nt),this.wrapperBox=s.wrap(c.box)}},reflow:function(t){var i,n,e,o=this,r=o.options,s=o.label,a=o.marker,l=o.wrapperBox,h=t.center(),u=r.line.length,c=r.position;r.visible&&(ut(c,[A,_])?c===A?(e=l.alignTo(t,c).translate(-u,t.center().y-l.center().y),r.line.visible&&(i=[t.x1,h.y],this.linePoints=[i,[e.x2,h.y]],n=e.clone().wrapPoint(i))):(e=l.alignTo(t,c).translate(u,t.center().y-l.center().y),r.line.visible&&(i=[t.x2,h.y],this.linePoints=[i,[e.x1,h.y]],n=e.clone().wrapPoint(i))):c===b?(e=l.alignTo(t,c).translate(t.center().x-l.center().x,u),r.line.visible&&(i=[h.x,t.y2],this.linePoints=[i,[h.x,e.y1]],n=e.clone().wrapPoint(i))):(e=l.alignTo(t,c).translate(t.center().x-l.center().x,-u),r.line.visible&&(i=[h.x,t.y1],this.linePoints=[i,[h.x,e.y2]],n=e.clone().wrapPoint(i))),a&&a.reflow(e),s&&(s.reflow(e),a&&(r.label.position===E&&s.box.alignTo(a.box,c),s.reflow(s.box))),this.contentBox=e,this.targetBox=t,this.box=n||e)},createVisual:function(){Qt.fn.createVisual.call(this),this.visual.options.noclip=this.options.noclip,this.options.visible&&this.createLine()},renderVisual:function(){var i=this,n=this.options,e=n.visual;n.visible&&e?(this.visual=e(t.extend(this.fields,{sender:this.getSender(),rect:this.targetBox.toRect(),options:{background:n.background,border:n.background,icon:n.icon,label:n.label,line:n.line,position:n.position,visible:n.visible},createVisual:function(){i.createVisual(),i.renderChildren();var t=i.visual;return delete i.visual,t}})),this.addVisual()):Qt.fn.renderVisual.call(this)},createLine:function(){var t=this.options.line;if(this.linePoints){var i=e.fromPoints(this.linePoints,{stroke:{color:t.color,width:t.width,dashType:t.dashType}});Q(i),this.visual.append(i)}},click:function(t,i){var n=this.eventArgs(i);t.trigger(D,n)||i.preventDefault()},over:function(t,i){var n=this.eventArgs(i);t.trigger(P,n)||i.preventDefault()},out:function(t,i){var n=this.eventArgs(i);t.trigger(C,n)},eventArgs:function(i){var n=this.options;return t.extend(this.fields,{element:St(i),text:xt(n.label)?n.label.text:"",visual:this.visual})}});Dt(ci,{icon:{visible:!0,type:w},label:{position:U,visible:!0,align:y,vAlign:y},line:{visible:!0},visible:!0,position:G,zIndex:2});var fi={format:function(t,i){return i},toString:function(t){return t},parseDate:function(t){return new Date(t)},firstDay:function(){return 0}},pi=r.extend({});pi.register=function(t){fi=t},Object.defineProperties&&Object.defineProperties(pi,{implementation:{get:function(){return fi}}});var di=/\{(\d+)(:[^\}]+)?\}/g,vi=r.extend({init:function(t){this._intlService=t},auto:function(t){for(var i=arguments,n=[],e=arguments.length-1;e-- >0;)n[e]=i[e+1];var o=this.intl;return $(t)&&t.match(R)?o.format.apply(o,[t].concat(n)):o.toString(n[0],t)},localeAuto:function(t,i,n){var e=this.intl;return $(t)&&t.match(R)?t.replace(di,(function(t,o,r){var s=i[parseInt(o,10)];return e.toString(s,r?r.substring(1):"",n)})):e.toString(i[0],t,n)}});Object.defineProperties&&Object.defineProperties(vi.fn,{intl:{get:function(){return this._intlService||pi.implementation},set:function(t){this._intlService=t}}});var gi,mi=r.extend({init:function(t,i){void 0===i&&(i={}),this._intlService=i.intlService,this.sender=i.sender||t,this.format=new vi(i.intlService),this.chart=t,this.rtl=Boolean(i.rtl)},notify:function(t,i){this.chart&&this.chart.trigger(t,i)},isPannable:function(t){var i=((this.chart||{}).options||{}).pannable;return i&&i.lock!==t}});Object.defineProperties&&Object.defineProperties(mi.fn,{intl:{get:function(){return this._intlService||pi.implementation},set:function(t){this._intlService=t,this.format.intl=t}}});var xi=r.extend({});xi.register=function(t){gi=t},xi.create=function(t,i){if(gi)return gi.create(t,i)};var bi={ChartService:mi,DomEventsBuilder:xi,FormatService:vi,IntlService:pi,TemplateService:st};function yi(t,i){var n=t.tickX,o=t.tickY,r=t.position,s=new e({stroke:{width:i.width,color:i.color}});return t.vertical?s.moveTo(n,r).lineTo(n+i.size,r):s.moveTo(r,o).lineTo(r,o+i.size),Q(s),s}function wi(t,i){var n=t.lineStart,o=t.lineEnd,r=t.position,s=new e({stroke:{width:i.width,color:i.color,dashType:i.dashType}});return t.vertical?s.moveTo(n,r).lineTo(o,r):s.moveTo(r,n).lineTo(r,o),Q(s),s}var Mi=Wt.extend({init:function(t,i){void 0===i&&(i=new mi),Wt.fn.init.call(this,t),this.chartService=i,this.options.visible||(this.options=p({},this.options,{labels:{visible:!1},line:{visible:!1},margin:0,majorTickSize:0,minorTickSize:0})),this.options.minorTicks=p({},{color:this.options.line.color,width:this.options.line.width,visible:this.options.minorTickType!==B},this.options.minorTicks,{size:this.options.minorTickSize,align:this.options.minorTickType}),this.options.majorTicks=p({},{color:this.options.line.color,width:this.options.line.width,visible:this.options.majorTickType!==B},this.options.majorTicks,{size:this.options.majorTickSize,align:this.options.majorTickType}),this.initFields(),this.options._deferLabels||this.createLabels(),this.createTitle(),this.createNotes()},initFields:function(){},labelsRange:function(){return{min:this.options.labels.skip,max:this.labelsCount()}},normalizeLabelRotation:function(t){var i=t.rotation;tt(i)&&(t.alignRotation=i.align,t.rotation=i.angle)},createLabels:function(){var t=this,i=this.options,n=i.vertical?_:y,e=p({},i.labels,{align:n,zIndex:i.zIndex}),o=Math.max(1,e.step);if(this.clearLabels(),e.visible){this.normalizeLabelRotation(e),"auto"===e.rotation&&(e.rotation=0,i.autoRotateLabels=!0);for(var r=this.labelsRange(),s=r.min;s<r.max;s+=o){var a={index:s,count:r.max},l=t.createAxisLabel(s,e,a);l&&(t.append(l),t.labels.push(l))}}},clearLabels:function(){this.children=lt(this.children,(function(t){return!(t instanceof ui)})),this.labels=[]},clearTitle:function(){var t=this;this.title&&(this.children=lt(this.children,(function(i){return i!==t.title})),this.title=void 0)},clear:function(){this.clearLabels(),this.clearTitle()},lineBox:function(){var t=this.options,i=this.box,n=t.vertical,e=t.labels.mirror,o=e?i.x1:i.x2,r=e?i.y2:i.y1,s=t.line.width||0;return n?new Nt(o,i.y1,o,i.y2-s):new Nt(i.x1,r,i.x2-s,r)},createTitle:function(){var t=this.options,i=p({rotation:t.vertical?-90:0,text:"",zIndex:1,visualSize:!0},t.title);if(i.visible&&i.text){var n=new ai(i.text,i);this.append(n),this.title=n}},createNotes:function(){var t=this,i=this.options,n=i.notes,e=n.data||[];this.notes=[];for(var o=0;o<e.length;o++){var r=p({},n,e[o]);r.value=t.parseNoteValue(r.value);var s=new ci({value:r.value,text:r.label.text,dataItem:r},r,t.chartService);s.options.visible&&(xt(s.options.position)?i.vertical&&!ut(s.options.position,[A,_])?s.options.position=i.reverse?A:_:i.vertical||ut(s.options.position,[G,b])||(s.options.position=i.reverse?b:G):i.vertical?s.options.position=i.reverse?A:_:s.options.position=i.reverse?b:G,t.append(s),t.notes.push(s))}},parseNoteValue:function(t){return t},renderVisual:function(){Wt.fn.renderVisual.call(this),this.createPlotBands()},createVisual:function(){Wt.fn.createVisual.call(this),this.createBackground(),this.createLine()},gridLinesVisual:function(){var t=this._gridLines;return t||(t=this._gridLines=new o({zIndex:-2}),this.appendVisual(this._gridLines)),t},createTicks:function(t){var i=this.options,n=this.lineBox(),e=i.labels.mirror,o=i.majorTicks.visible?i.majorUnit:0,r={vertical:i.vertical};function s(i,o,s){var a=i.length,l=Math.max(1,o.step);if(o.visible)for(var h=o.skip;h<a;h+=l)xt(s)&&h%s==0||(r.tickX=e?n.x2:n.x2-o.size,r.tickY=e?n.y1-o.size:n.y1,r.position=i[h],t.append(yi(r,o)))}s(this.getMajorTickPositions(),i.majorTicks),s(this.getMinorTickPositions(),i.minorTicks,o/i.minorUnit)},createLine:function(){var t=this.options,i=t.line,n=this.lineBox();if(i.width>0&&i.visible){var r=new e({stroke:{width:i.width,color:i.color,dashType:i.dashType}});r.moveTo(n.x1,n.y1).lineTo(n.x2,n.y2),t._alignLines&&Q(r);var s=this._lineGroup=new o;s.append(r),this.visual.append(s),this.createTicks(s)}},getActualTickSize:function(){var t=this.options,i=0;return t.majorTicks.visible&&t.minorTicks.visible?i=Math.max(t.majorTicks.size,t.minorTicks.size):t.majorTicks.visible?i=t.majorTicks.size:t.minorTicks.visible&&(i=t.minorTicks.size),i},createBackground:function(){var t=this.options,i=this.box,n=t.background;n&&(this._backgroundPath=e.fromRect(i.toRect(),{fill:{color:n},stroke:null}),this.visual.append(this._backgroundPath))},createPlotBands:function(){var t=this,i=this.options,n=i.plotBands||[],r=i.vertical,s=this.plotArea;if(0!==n.length){for(var a=this._plotbandGroup=new o({zIndex:-1}),h=lt(this.pane.axes,(function(i){return i.options.vertical!==t.options.vertical}))[0],u=0;u<n.length;u++){var c=n[u],f=void 0,p=void 0,d=c.label,v=void 0;if(r?(f=(h||s.axisX).lineBox(),p=t.getSlot(c.from,c.to,!0)):(f=t.getSlot(c.from,c.to,!0),p=(h||s.axisY).lineBox()),d&&(d.vAlign=d.position||A,v=t.createPlotBandLabel(d,c,new Nt(f.x1,p.y1,f.x2,p.y2))),0!==f.width()&&0!==p.height()){var g=new l([f.x1,p.y1],[f.width(),p.height()]),m=e.fromRect(g,{fill:{color:c.color,opacity:c.opacity},stroke:null});a.append(m),v&&a.append(v)}}this.appendVisual(a)}},createPlotBandLabel:function(t,i,n){if(!1===t.visible)return null;var e,o=t.text;if(xt(t)&&t.visible){var r=at(t);r?o=r({text:o,item:i}):t.format&&(o=this.chartService.format.auto(t.format,o)),t.color||(t.color=this.options.labels.color)}return(e=new ai(o,t)).reflow(n),e.renderVisual(),e.visual},createGridLines:function(t){var i=this.options,n=i.minorGridLines,e=i.majorGridLines,o=i.minorUnit,r=i.vertical,s=t.options.line.visible,a=e.visible?i.majorUnit:0,l=t.lineBox(),h=l[r?"y1":"x1"],u={lineStart:l[r?"x1":"y1"],lineEnd:l[r?"x2":"y2"],vertical:r},c=[],f=this.gridLinesVisual();function p(t,i,n){var e=t.length,o=Math.max(1,i.step);if(i.visible)for(var r=i.skip;r<e;r+=o){var a=At(t[r]);ut(a,c)||r%n==0||s&&h===a||(u.position=a,f.append(wi(u,i)),c.push(a))}}return p(this.getMajorTickPositions(),e),p(this.getMinorTickPositions(),n,a/o),f.children},reflow:function(t){for(var i=this,n=i.options,e=i.labels,o=i.title,r=n.vertical,s=e.length,a=r?H:L,l=o?o.box[a]():0,h=this.getActualTickSize()+n.margin+l,u=((this.getRoot()||{}).box||t)[a](),c=0,f=0;f<s;f++){var p=e[f].box[a]();p+h<=u&&(c=Math.max(c,p))}this.box=r?new Nt(t.x1,t.y1,t.x1+c+h,t.y2):new Nt(t.x1,t.y1,t.x2,t.y1+c+h),this.arrangeTitle(),this.arrangeLabels(),this.arrangeNotes()},getLabelsTickPositions:function(){return this.getMajorTickPositions()},labelTickIndex:function(t){return t.index},arrangeLabels:function(){for(var t=this.options,i=this.labels,n=this.labelsBetweenTicks(),e=t.vertical,o=t.labels.mirror,r=this.getLabelsTickPositions(),s=0;s<i.length;s++){var a=i[s],l=this.labelTickIndex(a),h=e?a.box.height():a.box.width(),u=r[l],c=r[l+1],f=void 0,p=void 0;if(e){if(n)f=u+(c-u)/2-h/2;else f=u-h/2;p=f}else n?(f=u,p=c):p=(f=u-h/2)+h;this.positionLabel(a,o,f,p)}},positionLabel:function(t,i,n,e){void 0===e&&(e=n);var o,r=this.options,s=r.vertical,a=this.lineBox(),l=this.getActualTickSize()+r.margin;if(s){var h=a.x2;i?(h+=l,t.options.rotationOrigin=A):(h-=l+t.box.width(),t.options.rotationOrigin=_),o=t.box.move(h,n)}else{var u=a.y1;i?(u-=l+t.box.height(),t.options.rotationOrigin=b):(u+=l,t.options.rotationOrigin=G),o=new Nt(n,u,e,u+t.box.height())}t.reflow(o)},autoRotateLabelAngle:function(t,i){return t.width()<i?0:t.height()>i?-90:-45},autoRotateLabels:function(){if(!this.options.autoRotateLabels||this.options.vertical)return!1;for(var t=this.getMajorTickPositions(),i=this.labels,n=Math.min(i.length,t.length-1),e=0,o=0;o<n;o++){var r=Math.abs(t[o+1]-t[o]),s=i[o].box,a=this.autoRotateLabelAngle(s,r);if(0!==a&&(e=a),-90===e)break}if(0!==e){for(var l=0;l<i.length;l++)i[l].options.rotation=e,i[l].reflow(new Nt);return!0}},arrangeTitle:function(){var t=this.options,i=this.title,n=t.labels.mirror,e=t.vertical;i&&(e?(i.options.align=n?_:A,i.options.vAlign=i.options.position):(i.options.align=i.options.position,i.options.vAlign=n?G:b),i.reflow(this.box))},arrangeNotes:function(){for(var t=this,i=0;i<this.notes.length;i++){var n=t.notes[i],e=n.options.value,o=void 0;xt(e)?(t.shouldRenderNote(e)?n.show():n.hide(),o=t.noteSlot(e)):n.hide(),n.reflow(o||t.lineBox())}},noteSlot:function(t){return this.getSlot(t)},alignTo:function(t){var i=t.lineBox(),n=this.options.vertical,e=n?X:Y;this.box.snapTo(i,e),n?this.box.shrink(0,this.lineBox().height()-i.height()):this.box.shrink(this.lineBox().width()-i.width(),0),this.box[e+1]-=this.lineBox()[e+1]-i[e+1],this.box[e+2]-=this.lineBox()[e+2]-i[e+2]},axisLabelText:function(i,n,e){var o,r=this,s=at(n),a=function(){return n.format?r.chartService.format.localeAuto(n.format,[i],n.culture):i};s?o=s(t.extend({},e,{get text(){return a()},value:i,format:n.format,culture:n.culture})):o=a();return o},slot:function(t,i,n){var e=this.getSlot(t,i,n);if(e)return e.toRect()},contentBox:function(){var t=this.box.clone(),i=this.labels;if(i.length){var n=this.options.vertical?X:Y;if(this.chartService.isPannable(n)){var e=this.maxLabelOffset();t[n+1]-=e.start,t[n+2]+=e.end}else{i[0].options.visible&&t.wrap(i[0].box);var o=i[i.length-1];o.options.visible&&t.wrap(o.box)}}return t},maxLabelOffset:function(){for(var t=this.options,i=t.vertical,n=t.reverse,e=this.labelsBetweenTicks(),o=this.getLabelsTickPositions(),r=i?X:Y,s=this.labels,a=n?1:0,l=n?0:1,h=0,u=0,c=0;c<s.length;c++){var f=s[c],p=this.labelTickIndex(f),d=void 0,v=void 0;e?(d=o[p+a],v=o[p+l]):d=v=o[p],h=Math.max(h,d-f.box[r+1]),u=Math.max(u,f.box[r+2]-v)}return{start:h,end:u}},limitRange:function(t,i,n,e,o){var r=this.options;if(t<n&&o<0&&(!xt(r.min)||r.min<=n)||e<i&&o>0&&(!xt(r.max)||e<=r.max))return null;if(i<n&&o>0||e<t&&o<0)return{min:t,max:i};var s=i-t,a=t,l=i;return t<n&&o<0?(a=Rt(t,n,e),l=Rt(t+s,n+s,e)):i>e&&o>0&&(l=Rt(i,n,e),a=Rt(i-s,n,e-s)),{min:a,max:l}},valueRange:function(){return{min:this.seriesMin,max:this.seriesMax}},lineDir:function(){var t=this.options;return(t.vertical?-1:1)*(t.reverse?-1:1)},lineInfo:function(){var t=this.options.vertical,i=this.lineBox(),n=t?i.height():i.width(),e=t?X:Y,o=this.lineDir(),r=e+(1===o?1:2).toString();return{axis:e,axisOrigin:r,axisDir:o,lineBox:i,lineSize:n,lineStart:i[r]}},pointOffset:function(t){var i=this.lineInfo(),n=i.axis,e=i.axisDir,o=i.axisOrigin,r=i.lineBox,s=i.lineSize;return(e>0?t[n]-r[o]:r[o]-t[n])/s},scaleToDelta:function(t,i){var n=Rt(t,-.999,.999);return n>0?i*Math.min(1,n):i-i/(1+n)},labelsBetweenTicks:function(){return!this.options.justified},prepareUserOptions:function(){}});Dt(Mi,{labels:{visible:!0,rotation:0,mirror:!1,step:1,skip:0},line:{width:1,color:x,visible:!0},title:{visible:!0,position:y},majorTicks:{align:E,size:4,skip:0,step:1},minorTicks:{align:E,size:3,skip:0,step:1},axisCrossingValue:0,majorTickType:E,minorTickType:B,majorGridLines:{skip:0,step:1},minorGridLines:{visible:!1,width:1,color:x,skip:0,step:1},margin:5,visible:!0,reverse:!1,justified:!0,notes:{label:{text:""}},_alignLines:!0,_deferLabels:!1});var Si="milliseconds",Ti="seconds",ki="minutes",Ri="hours",Li="days",Ui="weeks",Ai="months",ji="years",Ii=1e3,Bi=6e4,Di=36e5,Pi=864e5,Ci=6048e5,Oi=26784e5,Ei=31536e6,_i={years:Ei,months:Oi,weeks:Ci,days:Pi,hours:Di,minutes:Bi,seconds:Ii,milliseconds:1};function zi(t,i){return t.getTime()-i-(t.getTimezoneOffset()-i.getTimezoneOffset())*Bi}function Vi(t,i){return new Date(t.getTime()+i)}function Gi(t){var i;return t instanceof Date?i=t:t&&(i=new Date(t)),i}function Fi(t,i){void 0===i&&(i=0);var n=0,e=t.getDay();if(!isNaN(e))for(;e!==i;)0===e?e=6:e--,n++;return Vi(t,-n*Pi)}function Ni(t,i){return 0===i&&23===t.getHours()&&(t.setHours(t.getHours()+2),!0)}function Hi(t,i,n,e){var o=t;if(t){var r=Gi(t),s=r.getHours();n===ji?Ni(o=new Date(r.getFullYear()+i,0,1),0):n===Ai?Ni(o=new Date(r.getFullYear(),r.getMonth()+i,1),s):n===Ui?Ni(o=Hi(Fi(r,e),7*i,Li),s):n===Li?Ni(o=new Date(r.getFullYear(),r.getMonth(),r.getDate()+i),s):n===Ri?o=function(t,i){var n=new Date(t);n.setMinutes(0,0,0);var e=(t.getTimezoneOffset()-n.getTimezoneOffset())*Bi;return Vi(n,e+i*Di)}(r,i):n===ki?(o=Vi(r,i*Bi)).getSeconds()>0&&o.setSeconds(0):n===Ti?o=Vi(r,i*Ii):n===Si&&(o=Vi(r,i)),n!==Si&&o.getMilliseconds()>0&&o.setMilliseconds(0)}return o}function Yi(t,i,n){return Hi(Gi(t),0,i,n)}function Xi(t,i,n){var e=Gi(t);return e&&Yi(e,i,n).getTime()===e.getTime()?e:Hi(e,1,i,n)}function qi(t,i){return t&&i?t.getTime()-i.getTime():-1}function Ki(t,i){return t.getTime()-i}function Wi(t){if(K(t)){for(var i=[],n=0;n<t.length;n++)i.push(Wi(t[n]));return i}if(t)return Gi(t).getTime()}function Qi(t,i){return t&&i?Wi(t)===Wi(i):t===i}function Ji(t,i,n){return zi(t,i)/_i[n]}function Zi(t,i,n,e){var o=Gi(t),r=Gi(i);return(n===Ai?o.getMonth()-r.getMonth()+12*(o.getFullYear()-r.getFullYear())+Ji(o,new Date(o.getFullYear(),o.getMonth()),Li)/new Date(o.getFullYear(),o.getMonth()+1,0).getDate():n===ji?o.getFullYear()-r.getFullYear()+Zi(o,new Date(o.getFullYear(),0),Ai,1)/12:n===Li||n===Ui?Ji(o,r,n):Ki(o,i)/_i[n])/e}function $i(t,i,n){return n===ji?i.getFullYear()-t.getFullYear():n===Ai?12*$i(t,i,ji)+i.getMonth()-t.getMonth():n===Li?Math.floor(Ki(i,t)/Pi):Math.floor(Ki(i,t)/_i[n])}function tn(t,i){return $(i)&&t.parseDate(i)||Gi(i)}function nn(t,i){if(K(i)){for(var n=[],e=0;e<i.length;e++)n.push(tn(t,i[e]));return n}return tn(t,i)}function en(t,i){return Z(t.weekStartDay)?t.weekStartDay:i&&i.firstDay?i.firstDay():0}var on=Mi.extend({initFields:function(){this._ticks={}},categoriesHash:function(){return""},clone:function(){var i=new on(t.extend({},this.options,{categories:this.options.srcCategories}),this.chartService);return i.createLabels(),i},initUserOptions:function(t){var i=t.categories||[],n=xt(t.min),e=xt(t.max);if(t.srcCategories=t.categories=i,(n||e)&&i.length){var o,r=n?Math.floor(t.min):0;o=e?t.justified?Math.floor(t.max)+1:Math.ceil(t.max):i.length,t.categories=t.categories.slice(r,o)}return t},rangeIndices:function(){var t=this.options,i=t.categories.length||1;return{min:Z(t.min)?t.min%1:0,max:Z(t.max)&&t.max%1!=0&&t.max<this.totalRange().max?i-(1-t.max%1):i-(t.justified?1:0)}},totalRangeIndices:function(t){var i,n=this.options,e=Z(n.min)?n.min:0;if(i=Z(n.max)?n.max:Z(n.min)?e+n.categories.length:this.totalRange().max||1,t){var o=this.totalRange();e=Rt(e,0,o.max),i=Rt(i,0,o.max)}return{min:e,max:i}},range:function(){var t=this.options;return{min:Z(t.min)?t.min:0,max:Z(t.max)?t.max:this.totalRange().max}},roundedRange:function(){return this.range()},totalRange:function(){var t=this.options;return{min:0,max:Math.max(this._seriesMax||0,t.srcCategories.length)-(t.justified?1:0)}},scaleOptions:function(){var t=this.rangeIndices(),i=t.min,n=t.max,e=this.lineBox();return{scale:(this.options.vertical?e.height():e.width())/(n-i||1)*(this.options.reverse?-1:1),box:e,min:i,max:n}},arrangeLabels:function(){Mi.fn.arrangeLabels.call(this),this.hideOutOfRangeLabels()},hideOutOfRangeLabels:function(){var t=this.box,i=this.labels;if(i.length>0){var n=this.options.vertical?X:Y,e=t[n+1],o=t[n+2],r=i[0],s=kt(i);(r.box[n+1]>o||r.box[n+2]<e)&&(r.options.visible=!1),(s.box[n+1]>o||s.box[n+2]<e)&&(s.options.visible=!1)}},getMajorTickPositions:function(){return this.getTicks().majorTicks},getMinorTickPositions:function(){return this.getTicks().minorTicks},getLabelsTickPositions:function(){return this.getTicks().labelTicks},tickIndices:function(t){for(var i=this.rangeIndices(),n=i.min,e=i.max,o=Math.ceil(e),r=Math.floor(n),s=[];r<=o;)s.push(r),r+=t;return s},getTickPositions:function(t){for(var i=this.options,n=i.vertical,e=i.reverse,o=this.scaleOptions(),r=o.scale,s=o.box,a=o.min,l=s[(n?X:Y)+(e?2:1)],h=this.tickIndices(t),u=[],c=0;c<h.length;c++)u.push(l+At(r*(h[c]-a),3));return u},getTicks:function(){var t=this.options,i=this._ticks,n=this.rangeIndices(),e=this.lineBox(),o=e.getHash()+n.min+","+n.max+t.reverse+t.justified;if(i._hash!==o){var r=t.minorTicks.visible||t.minorGridLines.visible;i._hash=o,i.labelTicks=this.getTickPositions(1),i.majorTicks=this.filterOutOfRangePositions(i.labelTicks,e),i.minorTicks=r?this.filterOutOfRangePositions(this.getTickPositions(.5),e):[]}return i},filterOutOfRangePositions:function(t,i){if(!t.length)return t;for(var n=this.options.vertical?X:Y,e=function(t){return i[n+1]<=t&&t<=i[n+2]},o=t.length-1,r=0;!e(t[r])&&r<=o;)r++;for(var s=o;!e(t[s])&&s>=0;)s--;return t.slice(r,s+1)},lineInfo:function(){var t=this.options,i=t.vertical,n=t.reverse,e=this.lineBox(),o=i?e.height():e.width(),r=i?X:Y,s=n?-1:1,a=r+(1===s?1:2).toString();return{axis:r,axisOrigin:a,axisDir:s,lineBox:e,lineSize:o,lineStart:e[a]}},lineDir:function(){return this.options.reverse?-1:1},getSlot:function(t,i,n){var e=this.options,o=e.reverse,r=e.justified,s=this.scaleOptions(),a=s.scale,l=s.box,h=s.min,u=this.lineInfo(),c=u.axis,f=u.lineStart,p=l.clone(),d=!xt(i),v=It(t,0),g=It(i,v);g=Math.max(g-1,v);var m=f+(v-h)*a,x=f+((g=Math.max(v,g))+1-h)*a;return d&&r&&(x=m),n&&(m=Rt(m,l[c+1],l[c+2]),x=Rt(x,l[c+1],l[c+2])),p[c+1]=o?x:m,p[c+2]=o?m:x,p},limitSlot:function(t){var i=this.options.vertical?X:Y,n=this.lineBox(),e=t.clone();return e[i+1]=Rt(t[i+1],n[i+1],n[i+2]),e[i+2]=Rt(t[i+2],n[i+1],n[i+2]),e},slot:function(t,i,n){var e=Math.floor(this.options.min||0),o=t,r=i;return"string"==typeof o?o=this.categoryIndex(o):Z(o)&&(o-=e),"string"==typeof r?r=this.categoryIndex(r):Z(r)&&(r-=e),Mi.fn.slot.call(this,o,r,n)},pointCategoryIndex:function(t){var i=this.options,n=i.reverse,e=i.justified,o=i.vertical?X:Y,r=this.scaleOptions(),s=r.scale,a=r.box,l=r.min,h=r.max,u=n?h:l,c=a[o+1],f=a[o+2],p=t[o];if(p<c||p>f)return null;var d=u+(p-c)/s,v=d%1;return e?d=Math.round(d):0===v&&d>0&&d--,Math.floor(d)},getCategory:function(t){var i=this.pointCategoryIndex(t);return null===i?null:this.options.categories[i]},categoryIndex:function(t){return this.totalIndex(t)-Math.floor(this.options.min||0)},categoryAt:function(t,i){var n=this.options;return(i?n.srcCategories:n.categories)[t]},categoriesCount:function(){return(this.options.categories||[]).length},translateRange:function(t){var i=this.options,n=this.lineBox(),e=i.vertical?n.height():n.width(),o=i.categories.length,r=At(t/(e/o),k);return{min:r,max:o+r}},scaleRange:function