/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE  AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE:  you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import { Base, INotifyPropertyChanged_$type, BaseError, PropertyChangedEventArgs, Delegate_$type, fromEnum, String_$type, runOn, delegateCombine, EnumUtil, typeCast, delegateRemove, enumGetBox, markType, TypeRegistrar, getInstanceType } from "igniteui-react-core";
import { ArrayExtension } from "igniteui-react-core";
import { List$1 } from "igniteui-react-core";
import { Brush } from "igniteui-react-core";
import { XamDataChart } from "./XamDataChart";
import { DataSeriesType_$type } from "igniteui-react-core";
import { MarkerType_$type } from "./MarkerType";
import { Color } from "igniteui-react-core";
import { ColorUtil } from "igniteui-react-core";
import { Rect } from "igniteui-react-core";
import { HorizontalAlignment_$type } from "igniteui-react-core";
import { UnknownValuePlotting_$type } from "igniteui-react-core";
import { SeriesOutlineMode_$type } from "./SeriesOutlineMode";
import { MarkerOutlineMode_$type } from "./MarkerOutlineMode";
import { MarkerFillMode_$type } from "./MarkerFillMode";
import { TrendLineType_$type } from "igniteui-react-core";
import { ComputedPlotAreaMarginMode_$type } from "./ComputedPlotAreaMarginMode";
import { SeriesHighlightingMode_$type } from "./SeriesHighlightingMode";
import { SeriesHighlightingBehavior_$type } from "./SeriesHighlightingBehavior";
import { LegendHighlightingMode_$type } from "./LegendHighlightingMode";
import { ToolTipType_$type } from "./ToolTipType";
import { CrosshairsDisplayMode_$type } from "./CrosshairsDisplayMode";
import { Series } from "./Series";
import { DeviceUtils } from "igniteui-react-core";
import { DataSeriesAdapter } from "igniteui-react-core";
import { ObservableCollection$1 } from "igniteui-react-core";
import { ObservableColorCollection } from "igniteui-react-core";
import { BrushCollectionUtil } from "igniteui-react-core";
import { ChartSeriesEventArgs } from "./ChartSeriesEventArgs";
import { DomainChartSeriesPointerEventArgs } from "./DomainChartSeriesPointerEventArgs";
import { IUnknownValuePlotting_$type } from "igniteui-react-core";
import { ITrendLineSeries_$type } from "./ITrendLineSeries";
import { Random } from "igniteui-react-core";
import { isNaN_ } from "igniteui-react-core";
import { stringIsNullOrEmpty, stringEmpty } from "igniteui-react-core";
/**
 * @hidden
 */
export let DomainChart = /*@__PURE__*/ (() => {
    class DomainChart extends Base {
        constructor() {
            super();
            this.ed = null;
            this.ec = null;
            this.cf = null;
            this.cw = NaN;
            this.eb = null;
            this.c9 = 0;
            this.da = 0;
            this.db = 0;
            this.c8 = 0;
            this.c4 = 0;
            this.c6 = 0;
            this.c5 = 0;
            this.c3 = 0;
            this.i9 = null;
            this.ja = null;
            this.cu = NaN;
            this.dc = NaN;
            this.c2 = NaN;
            this.ct = NaN;
            this.d6 = 0;
            this.be = null;
            this.d2 = null;
            this.cc = false;
            this.ah = null;
            this.eq = null;
            this.es = null;
            this.bc = null;
            this.cj = null;
            this.propertyChanged = null;
            this.d5 = 0;
            this.b6 = false;
            this.ad = null;
            this.ce = null;
            this.seriesAdded = null;
            this.seriesRemoved = null;
            this.seriesPointerEnter = null;
            this.seriesPointerLeave = null;
            this.seriesPointerMove = null;
            this.seriesPointerDown = null;
            this.seriesPointerUp = null;
            this.calloutStyleUpdating = null;
            this.ci = null;
            this.bh = null;
            this.bk = false;
            this.co = null;
            this.b = null;
            this.a = null;
            this.e = null;
            this.h = null;
            this.af = null;
            this.bq = true;
            this.bs = true;
            this.br = false;
            this.ji = new Rect(0, 0, 0, 1, 1);
            this.er = null;
            this.ep = null;
            this.i6 = 1;
            this.i5 = 1;
            this.ba = 0;
            this.c1 = 1;
            this.c7 = NaN;
            this.a4 = 0;
            this.an = 0;
            this.al = 0;
            this.cv = NaN;
            this.ar = null;
            this.f = null;
            this.g = null;
            this.d4 = 400;
            this.bj = false;
            this.i = null;
            this.a8 = 0;
            this.dd = DeviceUtils.g(1.5);
            this.bi = true;
            this.cy = NaN;
            this.c0 = NaN;
            this.cz = NaN;
            this.cx = NaN;
            this.s = 0;
            this.a2 = 0;
            this.a0 = 0;
            this.aj = 0;
            this.bt = false;
            this.cr = DeviceUtils.g(2);
            this.cs = DeviceUtils.g(60);
            this.d7 = 7;
            this.a6 = 0;
            this.u = 0;
            this.bo = true;
            this.bn = false;
            this.bp = false;
            this.bm = false;
            this.bl = false;
            this.cn = null;
            this.en = null;
            this.eo = null;
            this.em = "CalloutLabel";
            this.el = "CalloutContent";
            this.ci = new List$1(Delegate_$type, 0);
            this.hq();
            this.hc();
        }
        provideContainer(a) {
            if (a == null) {
                this.h6((b) => b.provideContainer(null));
                return;
            }
            let b = this.ed;
            this.ed = a;
            if (this.bh != null && this.ed != null && b == null) {
                this.ed.setTimeout(this.bh, 0);
                this.bh = null;
            }
            let c = ((() => {
                let $ret = new XamDataChart();
                $ret.dl = true;
                return $ret;
            })());
            c.provideContainer(a);
            this.dataChart = c;
            this.hr();
        }
        destroy() {
            this.provideContainer(null);
        }
        hr() {
            if (this.dataChart == null) {
                return;
            }
            let a = this.dataChart.b8.j.e();
            this.j = a.a;
            this.n = a.f;
            this.l = a.b;
            this.m = a.c;
            this.o = a.g;
            this.hs();
        }
        hs() {
        }
        ho(a) {
            if (a == null) {
                return;
            }
            a.fs = this.dz;
            a.fq = this.dx;
            a.fr = this.dy;
            a.fp = this.dw;
            a.oi = this.jg;
            a.fm = this.ds;
            a.fo = this.du;
            a.fn = this.dt;
            a.fl = this.dr;
            a.oh = this.jf;
            if (!isNaN_(this.dj)) {
                a.fi = this.dj;
            }
        }
        hl() {
        }
        hu(a, b) {
            a.gj = this.d9;
            a.b8 = this.bf;
        }
        ie(a, b, c) {
            switch (a) {
                case "TitleTopMargin":
                    if (this.dataChart != null) {
                        this.dataChart.fs = this.dz;
                    }
                    break;
                case "TitleLeftMargin":
                    if (this.dataChart != null) {
                        this.dataChart.fq = this.dx;
                    }
                    break;
                case "PixelScalingRatio":
                    if (this.dataChart != null) {
                        this.h6((d) => d.fi = this.dj);
                    }
                    break;
                case "TitleRightMargin":
                    if (this.dataChart != null) {
                        this.dataChart.fr = this.dy;
                    }
                    break;
                case "TitleBottomMargin":
                    if (this.dataChart != null) {
                        this.dataChart.fp = this.dw;
                    }
                    break;
                case "TitleTextColor":
                    if (this.dataChart != null) {
                        this.dataChart.oi = this.jg;
                    }
                    break;
                case "SubtitleLeftMargin":
                    if (this.dataChart != null) {
                        this.dataChart.fm = this.ds;
                    }
                    break;
                case "SubtitleTopMargin":
                    if (this.dataChart != null) {
                        this.dataChart.fo = this.du;
                    }
                    break;
                case "SubtitleRightMargin":
                    if (this.dataChart != null) {
                        this.dataChart.fn = this.dt;
                    }
                    break;
                case "SubtitleBottomMargin":
                    if (this.dataChart != null) {
                        this.dataChart.fl = this.dr;
                    }
                    break;
                case "SubtitleTextColor":
                    if (this.dataChart != null) {
                        this.dataChart.oh = this.jf;
                    }
                    break;
                case "LeftMargin":
                    if (this.dataChart != null) {
                        this.dataChart.fh = this.dh;
                    }
                    break;
                case "TopMargin":
                    if (this.dataChart != null) {
                        this.dataChart.ft = this.d0;
                    }
                    break;
                case "RightMargin":
                    if (this.dataChart != null) {
                        this.dataChart.fk = this.dq;
                    }
                    break;
                case "BottomMargin":
                    if (this.dataChart != null) {
                        this.dataChart.fd = this.dg;
                    }
                    break;
                case "TransitionDuration":
                    this.hh((d) => d.gj = this.d9);
                    break;
                case "TransitionEasingFunction":
                    this.hh((d) => d.b8 = this.bf);
                    break;
            }
        }
        get tooltipTemplate() {
            return ArrayExtension.getModulus$1(Base.$, this.tooltipTemplates, 0);
        }
        set tooltipTemplate(a) {
            this.tooltipTemplates = a == null ? null : new List$1(Base.$, 1, [a]);
        }
        get tooltipTemplates() {
            return this.cf;
        }
        set tooltipTemplates(a) {
            let b = this.tooltipTemplates;
            if (a != b) {
                this.cf = a;
                this.id("TooltipTemplates", b, this.tooltipTemplates);
            }
        }
        get dj() {
            return this.cw;
        }
        set dj(a) {
            let b = this.cw;
            if (a != b) {
                this.cw = a;
                this.id("PixelScalingRatio", b, this.dj);
            }
        }
        get toolTip() {
            return this.eb;
        }
        set toolTip(a) {
            let b = this.toolTip;
            if (b != a) {
                this.eb = a;
                this.id("ToolTip", b, this.toolTip);
            }
        }
        get dx() {
            return this.c9;
        }
        set dx(a) {
            let b = this.dx;
            if (a != b) {
                this.c9 = a;
                this.id("TitleLeftMargin", b, this.dx);
            }
        }
        get dy() {
            return this.da;
        }
        set dy(a) {
            let b = this.dy;
            if (a != b) {
                this.da = a;
                this.id("TitleRightMargin", b, this.dy);
            }
        }
        get dz() {
            return this.db;
        }
        set dz(a) {
            let b = this.dz;
            if (a != b) {
                this.db = a;
                this.id("TitleTopMargin", b, this.dz);
            }
        }
        get dw() {
            return this.c8;
        }
        set dw(a) {
            let b = this.dw;
            if (a != b) {
                this.c8 = a;
                this.id("TitleBottomMargin", b, this.dw);
            }
        }
        get ds() {
            return this.c4;
        }
        set ds(a) {
            let b = this.ds;
            if (a != b) {
                this.c4 = a;
                this.id("SubtitleLeftMargin", b, this.ds);
            }
        }
        get du() {
            return this.c6;
        }
        set du(a) {
            let b = this.du;
            if (a != b) {
                this.c6 = a;
                this.id("SubtitleTopMargin", b, this.du);
            }
        }
        get dt() {
            return this.c5;
        }
        set dt(a) {
            let b = this.dt;
            if (a != b) {
                this.c5 = a;
                this.id("SubtitleRightMargin", b, this.dt);
            }
        }
        get dr() {
            return this.c3;
        }
        set dr(a) {
            let b = this.dr;
            if (a != b) {
                this.c3 = a;
                this.id("SubtitleBottomMargin", b, this.dr);
            }
        }
        get jf() {
            return this.i9;
        }
        set jf(a) {
            let b = this.jf;
            if (a != b) {
                this.i9 = a;
                this.id("SubtitleTextColor", b, this.jf);
            }
        }
        get jg() {
            return this.ja;
        }
        set jg(a) {
            let b = this.jg;
            if (a != b) {
                this.ja = a;
                this.id("TitleTextColor", b, this.jg);
            }
        }
        get_dh() {
            return this.cu;
        }
        set_dh(a) {
            let b = this.dh;
            if (a != b) {
                this.cu = a;
                this.id("LeftMargin", b, this.dh);
            }
        }
        get dh() {
            return this.get_dh();
        }
        set dh(a) {
            this.set_dh(a);
        }
        get d0() {
            return this.dc;
        }
        set d0(a) {
            let b = this.d0;
            if (a != b) {
                this.dc = a;
                this.id("TopMargin", b, this.d0);
            }
        }
        get dq() {
            return this.c2;
        }
        set dq(a) {
            let b = this.dq;
            if (a != b) {
                this.c2 = a;
                this.id("RightMargin", b, this.dq);
            }
        }
        get dg() {
            return this.ct;
        }
        set dg(a) {
            let b = this.dg;
            if (a != b) {
                this.ct = a;
                this.id("BottomMargin", b, this.dg);
            }
        }
        get d9() {
            return this.d6;
        }
        set d9(a) {
            let b = this.d9;
            if (a != b) {
                this.d6 = a;
                this.id("TransitionDuration", b, this.d9);
            }
        }
        get bf() {
            return this.be;
        }
        set bf(a) {
            let b = this.bf;
            if (a != b) {
                this.be = a;
                this.id("TransitionEasingFunction", b, this.bf);
            }
        }
        hp(a) {
            if (this.dataChart == null) {
                return;
            }
            a.h5 = this.gt;
            a.ht = this.gi;
        }
        hv(a, b) {
            this.hw(a, b);
        }
        hm() {
        }
        hw(a, b) {
            if (a == null) {
                return;
            }
            let toolTipTemplate_ = ArrayExtension.getModulus$1(Base.$, this.tooltipTemplates, b);
            if (toolTipTemplate_ == null) {
                a.du = true;
            }
            else {
                let series_ = a;
                a.du = false;
                series_.externalObject.tooltipTemplate = toolTipTemplate_;
            }
        }
        i3(a, b, c) {
        }
        ef(a) {
            return a;
            return null;
        }
        d3(a) {
            return null;
        }
        ig(a, b, c) {
            switch (a) {
                case "SubtitleTextStyle":
                    if (this.dataChart != null) {
                        this.dataChart.ht = this.gi;
                    }
                    break;
                case "TitleTextStyle":
                    if (this.dataChart != null) {
                        this.dataChart.h5 = this.gt;
                    }
                    break;
                case "TooltipTemplate":
                    if (this.cc) {
                        return;
                    }
                    this.cc = true;
                    this.tooltipTemplate = this.ef(this.tooltipTemplate);
                    this.cc = false;
                    if (this.dataChart != null) {
                        this.dataChart.f8 = this.tooltipTemplate;
                    }
                    this.toolTip = this.tooltipTemplate;
                    break;
                case "ToolTip":
                    this.hi((d, e) => this.hw(d, e));
                    break;
                case "TooltipTemplates":
                    if (this.tooltipTemplates == null) {
                        break;
                    }
                    this.cc = true;
                    this.hi((d, e) => {
                        let f = this.ef(ArrayExtension.getModulus$1(Base.$, this.tooltipTemplates, e));
                        let series_ = d;
                        let templ_ = f;
                        series_.externalObject.tooltipTemplate = templ_;
                    });
                    this.cc = false;
                    break;
            }
        }
        get ai() {
            return this.ah;
        }
        set ai(a) {
            let b = this.ai;
            if (a != b) {
                this.ah = a;
                this.id("Widget", b, this.ai);
            }
        }
        get gi() {
            return this.eq;
        }
        set gi(a) {
            let b = this.gi;
            if (a != b) {
                this.eq = a;
                this.id("SubtitleTextStyle", b, this.gi);
            }
        }
        get gt() {
            return this.es;
        }
        set gt(a) {
            let b = this.gt;
            if (a != b) {
                this.es = a;
                this.id("TitleTextStyle", b, this.gt);
            }
        }
        get dataChart() {
            return this.bc;
        }
        set dataChart(a) {
            let b = this.dataChart;
            if (b != a) {
                this.bc = a;
                this.id("DataChart", b, this.dataChart);
            }
        }
        onDetachedFromUI() {
            this.h6((a) => a.onDetachedFromUI());
        }
        onAttachedToUI() {
            this.h6((a) => a.onAttachedToUI());
        }
        hq() {
            this.cj = new List$1(MarkerType_$type, 0);
            this.x = new DataSeriesAdapter().e;
            if (this.d != null) {
                this.x.includedProperties = this.d;
            }
            if (this.c != null) {
                this.x.excludedProperties = this.c;
            }
            this.x.supportedSeriesTypes = this.cl.toArray();
            this.x.rules.clear();
            for (let a of fromEnum(this.ck)) {
                this.x.rules.add(a);
            }
            let b = new List$1(String_$type, 0);
            for (let c of fromEnum(this.x.rules)) {
                b.add(getInstanceType(c).typeName);
            }
            let d = this.x.dataSeries;
            d.collectionChanged = delegateCombine(d.collectionChanged, runOn(this, this.h9));
        }
        b8(a) {
            return a != 24 && this.cl.contains(a);
        }
        notifyResized() {
            this.h6((a) => a.notifyContainerResized());
        }
        h4() {
            this.h6((a) => {
                for (let b = 0; b < a.series.count; b++) {
                    a.series._inner[b].kc();
                }
            });
        }
        hg() {
            if (this.dataChart == null) {
                return;
            }
            if (this.b6) {
                this.ix();
            }
            this.dataChart.flush();
        }
        hj() {
            if (this.dataChart == null) {
                return;
            }
            this.dataChart.i4();
        }
        il(a) {
            if (this.propertyChanged != null) {
                this.propertyChanged(this, new PropertyChangedEventArgs(a));
            }
        }
        hh(a) {
            this.hi((b, c) => a(b));
        }
        hi(a) {
            if (this.dataChart == null) {
                return;
            }
            for (let b = 0; b < this.dataChart.series.count; b++) {
                a(this.dataChart.series._inner[b], b);
            }
        }
        h6(a) {
            this.h7(a, true);
        }
        h7(a, b) {
            this.h8(a, b, null);
        }
        h8(a, b, c) {
            if (this.dataChart == null) {
                return;
            }
            a(this.dataChart);
        }
        b9(a) {
            if (!this.b8(a.suggestedSeries)) {
                return false;
            }
            let b = a.data;
            if (b == null) {
                return false;
            }
            return true;
        }
        b4() {
            if (this.dataChart == null) {
                return false;
            }
            return true;
        }
        fi(a) {
            let b = "series_" + (this.dataChart.series.count + 1) + "_" + EnumUtil.getName(DataSeriesType_$type, a.suggestedSeries);
            return b;
        }
        fj(a, b) {
            if (stringIsNullOrEmpty(a.title)) {
                let c = EnumUtil.getName(DataSeriesType_$type, b);
                return c + (this.dataChart.series.count + 1);
            }
            else {
                return a.title;
            }
        }
        fh() {
            return stringEmpty();
        }
        ix() {
            if (this.dataChart == null) {
                return;
            }
            this.b6 = false;
            this.iz();
            if (this.itemsSource == null) {
                return;
            }
            let a = new List$1(MarkerType_$type, 0);
            for (let b of fromEnum(this.x.dataSeries)) {
                a.add(this.ap(b.suggestedMarker));
            }
            this.cj = a;
            let c = 0;
            for (let d of fromEnum(this.x.dataSeries)) {
                if (!this.b9(d)) {
                    continue;
                }
                if (d.index < 0) {
                    d.index = c;
                }
                this.iv(d);
                this.iw(d);
                c++;
            }
            this.i4();
            this.hi(runOn(this, this.ht));
        }
        az(seriesType_) {
            return (this.externalObject.createSeries(seriesType_).i);
        }
        at() {
            return this.az(28);
        }
        av() {
            return this.az(27);
        }
        aw() {
            return this.az(29);
        }
        ax() {
            return this.az(25);
        }
        au() {
            return this.az(26);
        }
        get ae() {
            if (TypeRegistrar.isRegistered("AnnotationLayerProxy")) {
                return TypeRegistrar.create("AnnotationLayerProxy");
            }
            else {
                throw new BaseError(1, "annoation layer module is not loaded, but is required.");
            }
        }
        get b2() {
            return (TypeRegistrar.isRegistered("AnnotationLayerProxy"));
        }
        b3(a) {
            if (!this.b2) {
                return false;
            }
            return this.ae.matchesType(a);
        }
        i4() {
            let a = this.ch("", true);
            if (a != null) {
                for (let b = 0; b < a.count; b++) {
                    this.dataChart.series.add(a._inner[b]);
                }
            }
        }
        ch(a, b) {
            if (!this.b2) {
                return null;
            }
            let c = new List$1(Series.$, 0);
            if (b) {
                if (this.bm) {
                    let d = 1;
                    if (this.cn == null) {
                        for (let e of fromEnum(this.dataChart.series)) {
                            let f = this.at();
                            this.ae.setTargetSeries(f, e);
                            this.ae.setCollisionChannel(f, "MainChartCollisionChannel");
                            this.i2(f, e, this.x.dataSeries._inner[d - 1]);
                            f.name = a + getInstanceType(f).typeName + d.toString();
                            c.add(f);
                            d++;
                        }
                        ;
                    }
                    else {
                        let g = this.at();
                        this.i2(g, null, this.x.dataSeries._inner[d - 1]);
                        g.name = a + getInstanceType(g).typeName + d.toString();
                        c.add(g);
                    }
                }
            }
            switch (this.u) {
                case 4:
                case 3:
                case 2:
                    {
                        let h = this.av();
                        this.ae.setUseInterpolation(h, !this.bo);
                        this.ae.setHorizontalLineVisibility(h, (this.u == 2 || this.u == 4) ? 0 : 1);
                        this.ae.setVerticalLineVisibility(h, (this.u == 3 || this.u == 4) ? 0 : 1);
                        this.ae.setIsAxisAnnotationEnabled(h, this.bn);
                        c.add(h);
                        break;
                    }
                case 1:
                case 0:
                    {
                        break;
                    }
            }
            if (this.bp) {
                let i = this.aw();
                c.add(i);
            }
            if (b) {
                switch (this.a6) {
                    case 1:
                        {
                            let j = this.ax();
                            c.add(j);
                            break;
                        }
                    case 2:
                        {
                            let k = this.au();
                            c.add(k);
                            break;
                        }
                    case 3:
                        {
                            this.hh((l) => l.du = false);
                            break;
                        }
                    case 0:
                        {
                            this.hh((l) => l.du = true);
                            break;
                        }
                }
            }
            for (let l of fromEnum(c)) {
                if (stringIsNullOrEmpty(l.name) == false) {
                    continue;
                }
                l.name = a + getInstanceType(l).typeName;
            }
            return c;
        }
        i2(a, b, c) {
            a.itemsSource = this.cn != null ? this.cn : b.itemsSource;
            this.ae.setXMemberPath(a, this.en);
            this.ae.setYMemberPath(a, this.eo);
            this.ae.setLabelMemberPath(a, this.em);
            this.ae.setContentMemberPath(a, this.el);
        }
        iz() {
            this.i0(this.dataChart);
        }
        i0(a) {
            if (a != null && a == this.dataChart) {
                this.iy();
            }
            if (a == null || a.series.count == 0) {
                return;
            }
            this.hh((b) => {
                if (this.b3(b) && this.ae.isCalloutLayer(b)) {
                    this.ae.removeCalloutStyleUpdating(b, runOn(this, this.ik));
                }
                this.it(b);
            });
            for (let b of fromEnum(a.series)) {
                this.i1(b);
            }
            a.series.clear();
        }
        i1(a) {
            a.itemsSource = null;
            a.legend = null;
            a.ji();
        }
        h9(a, b) {
            if (this.dataChart == null) {
                return;
            }
            let c = b.oldItems == null ? "null" : b.oldItems.count.toString();
            let d = b.newItems == null ? "null" : b.newItems.count.toString();
            if (this.b6) {
                return;
            }
            let e = this.ij(runOn(this, this.he), this.b6);
            this.b6 = e.p1;
        }
        he() {
            this.ix();
        }
        jb(a) {
            return ArrayExtension.getModulus$1(Brush.$, this.j, a);
        }
        je(a) {
            return ArrayExtension.getModulus$1(Brush.$, this.n, a);
        }
        jc(a) {
            return ArrayExtension.getModulus$1(Brush.$, this.l, a);
        }
        jd(a) {
            return ArrayExtension.getModulus$1(Brush.$, this.m, a);
        }
        jh(a) {
            let b = new Color();
            if (this.j == null || this.j.count == 0) {
                b = ArrayExtension.getModulus$1(Color.$, this.cg, a);
            }
            else {
                let c = ArrayExtension.getModulus$1(Brush.$, this.j, a);
                if (c == null) {
                    b = ArrayExtension.getModulus$1(Color.$, this.cg, a);
                }
                else {
                    b = ColorUtil.q(c);
                }
            }
            return b;
        }
        bg(a) {
            let b = new ObservableColorCollection();
            b.add(ColorUtil.v(a, 0.5));
            b.add(a);
            return b;
        }
        k(a) {
            let b = this.bg(a);
            let c = BrushCollectionUtil.a(b);
            return c;
        }
        get cg() {
            if (this.ce != null) {
                return this.ce;
            }
            this.ce = new List$1(Color.$, 0);
            this.ce.add(ColorUtil.r("#8bdc5c"));
            this.ce.add(ColorUtil.r("#8b5bb1"));
            this.ce.add(ColorUtil.r("#6db1ff"));
            this.ce.add(ColorUtil.r("#f8a15f"));
            this.ce.add(ColorUtil.r("#ee5879"));
            this.ce.add(ColorUtil.r("#735656"));
            this.ce.add(ColorUtil.r("#f7d262"));
            this.ce.add(ColorUtil.r("#8ce7d9"));
            this.ce.add(ColorUtil.r("#e051a9"));
            this.ce.add(ColorUtil.r("#a8a8b7"));
            return this.ce;
        }
        ee() {
            if (this.dataChart == null) {
                return null;
            }
            return this.dataChart.qx();
        }
        hx(a, b) {
        }
        hy(a, b, c) {
        }
        ap(a) {
            if (a == 2) {
                return 3;
            }
            else if (a == 12) {
                return 13;
            }
            else if (a == 6) {
                return 7;
            }
            else if (a == 8) {
                return 9;
            }
            else if (a == 11) {
                return 12;
            }
            else if (a == 1) {
                return 1;
            }
            else if (a == 7) {
                return 8;
            }
            else if (a == 10) {
                return 11;
            }
            else if (a == 4) {
                return 5;
            }
            else if (a == 5) {
                return 6;
            }
            else if (a == 9) {
                return 10;
            }
            else if (a == 3) {
                return 4;
            }
            return 2;
        }
        h3(source_, a, b, c) {
            if (this.x != null) {
                this.x.notifySetItem(source_, a, b, c);
            }
            if (this.dataChart != null) {
                this.dataChart.ji(source_, a, b, c);
            }
        }
        hz(source_) {
            if (this.x != null) {
                this.x.notifyClearItems(source_);
            }
            if (this.dataChart != null) {
                this.dataChart.jd(source_);
            }
        }
        h0(source_, a, b) {
            if (this.x != null) {
                this.x.notifyInsertItem(source_, a, b);
            }
            if (this.dataChart != null) {
                this.dataChart.jg(source_, a, b);
            }
        }
        h1(source_, a, b) {
            if (this.x != null) {
                this.x.notifyRemoveItem(source_, a, b);
            }
            if (this.dataChart != null) {
                this.dataChart.jh(source_, a, b);
            }
        }
        im(a) {
            if (this.seriesAdded != null && a != null) {
                this.seriesAdded(this, new ChartSeriesEventArgs(a));
            }
        }
        it(a) {
            if (this.seriesRemoved != null && a != null) {
                this.seriesRemoved(this, new ChartSeriesEventArgs(a));
            }
        }
        ip(a, b) {
            if (this.seriesPointerEnter != null && a != null) {
                this.seriesPointerEnter(this, new DomainChartSeriesPointerEventArgs(a, b));
            }
        }
        iq(a, b) {
            if (this.seriesPointerLeave != null && a != null) {
                this.seriesPointerLeave(this, new DomainChartSeriesPointerEventArgs(a, b));
            }
        }
        ir(a, b) {
            if (this.seriesPointerMove != null && a != null) {
                this.seriesPointerMove(this, new DomainChartSeriesPointerEventArgs(a, b));
            }
        }
        io(a, b) {
            if (this.seriesPointerDown != null && a != null) {
                this.seriesPointerDown(this, new DomainChartSeriesPointerEventArgs(a, b));
            }
        }
        is(a, b) {
            if (this.seriesPointerUp != null && a != null) {
                this.seriesPointerUp(this, new DomainChartSeriesPointerEventArgs(a, b));
            }
        }
        ik(a, b) {
            if (this.calloutStyleUpdating != null && a != null) {
                this.calloutStyleUpdating(this, b);
            }
        }
        ii(a) {
            if (!this.ci.contains(a)) {
                this.ci.add(a);
                let b = false;
                let c = this.ij(() => {
                    a();
                    this.ci.remove(a);
                }, b);
                b = c.p1;
            }
        }
        ij(a, b) {
            if (!b) {
                b = true;
                if (this.ed != null) {
                    this.ed.setTimeout(a, 0);
                }
                else {
                    this.bh = a;
                }
            }
            return {
                p1: b
            };
        }
        get_ca() {
            return true;
        }
        get ca() {
            return this.get_ca();
        }
        hn(a) {
            let b = a == this.dataChart;
            if (b) {
                a.pe = this.j;
            }
            if (b) {
                a.ph = this.n;
            }
            a.pf = this.l;
            a.pg = this.m;
            a.legend = this.legend;
            a.py = this.b5;
            a.p1 = this.cb && this.ca;
            if (a.bj != this.a3 || a.bh != this.a1) {
                a.b8.b4(this.ed);
                a.bj = this.a3;
                a.bh = this.a1;
            }
            a.pk = this.t;
            if (!isNaN_(this.dl)) {
                a.qr = this.dl;
            }
            if (!isNaN_(this.dn)) {
                a.qt = this.dn;
            }
            if (!isNaN_(this.dm)) {
                a.qs = this.dm;
            }
            if (!isNaN_(this.dk)) {
                a.qq = this.dk;
            }
            a.a2 = this.ak;
            a.p2 = this.cd;
            a.qm = this.de;
            a.qn = this.df;
            a.seriesMouseEnter = delegateCombine(a.seriesMouseEnter, (c, d) => this.ip(d.series, d.item));
            a.seriesMouseLeave = delegateCombine(a.seriesMouseLeave, (c, d) => this.iq(d.series, d.item));
            a.seriesMouseMove = delegateCombine(a.seriesMouseMove, (c, d) => this.ir(d.series, d.item));
            a.seriesMouseLeftButtonDown = delegateCombine(a.seriesMouseLeftButtonDown, (c, d) => this.io(d.series, d.item));
            a.seriesMouseLeftButtonUp = delegateCombine(a.seriesMouseLeftButtonUp, (c, d) => this.is(d.series, d.item));
            if (b) {
                a.o8 = this.jk;
            }
            if (b) {
                a.hy = this.gm;
            }
            a.nz = this.i8;
            if (b) {
                a.hm = this.gb;
            }
            a.ny = this.i7;
            a.pu = this.bu;
            a.c3 = this.bv;
            a.fh = this.dh;
            a.fk = this.dq;
            a.ft = this.d0;
            a.fd = this.dg;
            if (a == this.dataChart) {
                this.ix();
            }
            this.ho(a);
            this.hp(a);
        }
        ht(a, b) {
            if (!isNaN_(this.dp)) {
                a.fq = this.dp;
            }
            if (!isNaN_(this.dv)) {
                a.fv = this.dv;
            }
            a.bn = this.a5;
            a.lj(this.ao);
            a.li(this.am);
            a.fn = this.di;
            if (a.isUsableInLegend) {
                a.legend = this.legend;
            }
            if (typeCast(IUnknownValuePlotting_$type, a) !== null) {
                a.unknownValuePlotting = this.bb;
            }
            a.c9 = this.b7;
            if (this.b3(a) && this.ae.isCalloutLayer(a)) {
                this.ae.setCalloutStyleUpdatingEventEnabled(a, this.bx);
                this.ae.addCalloutStyleUpdating(a, runOn(this, this.ik));
            }
            this.ha(a, b);
            this.hb(a, b);
            this.hu(a, b);
            this.hv(a, b);
            this.im(a);
        }
        get bw() {
            return this.bk;
        }
        hf() {
            if (!this.bk) {
                this.bk = true;
                this.hk();
            }
        }
        hk() {
            this.hl();
            this.hm();
        }
        iu(a) {
            this.i0(a);
        }
        hb(a, b) {
            let c = typeCast(ITrendLineSeries_$type, a);
            if (c != null) {
                c.trendLineBrush = ArrayExtension.getModulus$1(Brush.$, this.o, b);
                c.trendLineThickness = this.d1;
                c.trendLineType = this.a9;
                c.trendLinePeriod = this.ea;
            }
        }
        aq(a, b) {
            if (this.as == null || this.as.count == 0) {
                if (this.cj == null || this.cj.count == 0) {
                    return a != null && a.dd ? 1 : 2;
                }
                let c = ArrayExtension.getModulus$1(MarkerType_$type, this.cj, b);
                return c == 2 && a != null && a.dd ? 1 : c;
            }
            return ArrayExtension.getModulus$1(MarkerType_$type, this.as, b);
        }
        id(a, b, c) {
            if (this.propertyChanged != null) {
                this.propertyChanged(this, new PropertyChangedEventArgs(a));
            }
            switch (a) {
                case "DataChart":
                    this.iu(typeCast(XamDataChart.$, b));
                    this.hn(typeCast(XamDataChart.$, c));
                    break;
                case "ItemsSource":
                    this.x.itemsSource = this.itemsSource;
                    break;
                case "IncludedProperties":
                    this.x.includedProperties = this.d;
                    break;
                case "ExcludedProperties":
                    this.x.excludedProperties = this.c;
                    break;
                case "Brushes":
                    this.h8((d) => d.pe = this.j, true, a);
                    break;
                case "Outlines":
                    this.h8((d) => d.ph = this.n, true, a);
                    break;
                case "Legend":
                    this.h6((d) => d.legend = this.legend);
                    break;
                case "HighlightingMode":
                    this.h6((d) => d.bj = this.a3);
                    break;
                case "HighlightingBehavior":
                    this.h6((d) => d.bh = this.a1);
                    break;
                case "LegendHighlightingMode":
                    this.h6((d) => d.a2 = this.ak);
                    break;
                case "PlotAreaMarginLeft":
                    this.h6((d) => d.qr = this.dl);
                    break;
                case "PlotAreaMarginTop":
                    this.h6((d) => d.qt = this.dn);
                    break;
                case "PlotAreaMarginRight":
                    this.h6((d) => d.qs = this.dm);
                    break;
                case "PlotAreaMarginBottom":
                    this.h6((d) => d.qq = this.dk);
                    break;
                case "ComputedPlotAreaMarginMode":
                    this.h6((d) => d.pk = this.t);
                    break;
                case "ShouldAutoExpandMarginForInitialLabels":
                    this.h6((d) => d.p2 = this.cd);
                    break;
                case "AutoExpandMarginExtraPadding":
                    this.h6((d) => d.qm = this.de);
                    break;
                case "AutoExpandMarginMaximumValue":
                    this.h6((d) => d.qn = this.df);
                    break;
                case "IsHorizontalZoomEnabled":
                    this.h6((d) => d.py = this.b5);
                    break;
                case "IsVerticalZoomEnabled":
                    this.h6((d) => d.p1 = this.cb);
                    break;
                case "WindowRect":
                    this.h7((d) => d.o8 = this.jk, false);
                    break;
                case "Title":
                    this.h7((d) => d.hy = this.gm, false);
                    break;
                case "Subtitle":
                    this.h7((d) => d.hm = this.gb, false);
                    break;
                case "TitleAlignment":
                    this.h6((d) => d.nz = this.i8);
                    break;
                case "SubtitleAlignment":
                    this.h6((d) => d.ny = this.i7);
                    break;
                case "UnknownValuePlotting":
                    this.hh((d) => {
                        if (typeCast(IUnknownValuePlotting_$type, d) !== null) {
                            d.unknownValuePlotting = this.bb;
                        }
                    });
                    break;
                case "IsSeriesHighlightingEnabled":
                    this.hh((d) => d.c9 = this.b7);
                    break;
                case "Thickness":
                    this.hh((d) => {
                        if (!isNaN_(this.dv)) {
                            d.fv = this.dv;
                        }
                    });
                    break;
                case "OutlineMode":
                    this.hh((d) => d.bn = this.a5);
                    break;
                case "MarkerFillOpacity":
                    this.hh((d) => d.fn = this.di);
                    break;
                case "MarkerOutlineMode":
                    this.hh((d) => d.lj(this.ao));
                    break;
                case "MarkerFillMode":
                    this.hh((d) => d.li(this.am));
                    break;
                case "Resolution":
                    if (!isNaN_(this.dp)) {
                        this.hh((d) => d.fq = this.dp);
                    }
                    break;
                case "TrendLineBrushes":
                case "TrendLineType":
                case "TrendLineThickness":
                case "TrendLinePeriod":
                    this.hi((d, e) => this.hb(d, e));
                    break;
                case "MarkerMaxCount":
                    this.hi((d, e) => this.ha(d, e));
                    break;
                case "MarkerTypes":
                    let d = typeCast(ObservableCollection$1.$.specialize(MarkerType_$type), b);
                    if (d != null) {
                        d.collectionChanged = delegateRemove(d.collectionChanged, runOn(this, this.ib));
                    }
                    let e = typeCast(ObservableCollection$1.$.specialize(MarkerType_$type), c);
                    if (e != null) {
                        e.collectionChanged = delegateCombine(e.collectionChanged, runOn(this, this.ib));
                    }
                    this.hi((f, g) => this.ha(f, g));
                    break;
                case "MarkerBrushes":
                    this.h6((f) => f.pf = this.l);
                    break;
                case "MarkerOutlines":
                    this.h6((f) => f.pg = this.m);
                    break;
                case "AlignsGridLinesToPixels":
                    this.h6((f) => f.pu = this.bu);
                    break;
                case "AnimateSeriesWhenAxisRangeChanges":
                    this.h6((f) => f.c3 = this.bv);
                    break;
                case "ToolTipType":
                case "CrosshairsDisplayMode":
                case "CrosshairsSnapToData":
                case "CrosshairsAnnotationEnabled":
                case "FinalValueAnnotationsVisible":
                case "CalloutsVisible":
                case "CalloutsItemsSource":
                case "CalloutsXMemberPath":
                case "CalloutsYMemberPath":
                case "CalloutsLabelMemberPath":
                case "CalloutsContentMemberPath":
                    let f = this.ij(runOn(this, this.he), this.b6);
                    this.b6 = f.p1;
                    break;
            }
            this.ie(a, b, c);
            this.ig(a, b, c);
        }
        ib(a, b) {
            this.hi((c, d) => this.ha(c, d));
        }
        get itemsSource() {
            return this.co;
        }
        set itemsSource(a) {
            let b = this.itemsSource;
            if (b != a) {
                this.co = a;
                this.id("ItemsSource", b, this.itemsSource);
            }
        }
        get d() {
            return this.b;
        }
        set d(a) {
            let b = this.b;
            this.b = a;
            if (b != this.b) {
                this.id("IncludedProperties", b, this.b);
            }
        }
        get c() {
            return this.a;
        }
        set c(a) {
            let b = this.a;
            this.a = a;
            if (b != this.a) {
                this.id("ExcludedProperties", b, this.a);
            }
        }
        get j() {
            return this.e;
        }
        set j(a) {
            let b = this.j;
            if (a != b) {
                this.e = a;
                this.id("Brushes", b, this.j);
            }
        }
        get n() {
            return this.h;
        }
        set n(a) {
            let b = this.n;
            if (a != b) {
                this.h = a;
                this.id("Outlines", b, this.n);
            }
        }
        get legend() {
            return this.af;
        }
        set legend(a) {
            let b = this.legend;
            if (a != b) {
                this.af = a;
                this.id("Legend", b, this.legend);
            }
        }
        get_b5() {
            return this.bq;
        }
        set_b5(a) {
            let b = this.b5;
            if (a != b) {
                this.bq = a;
                this.id("IsHorizontalZoomEnabled", b, this.b5);
            }
        }
        get b5() {
            return this.get_b5();
        }
        set b5(a) {
            this.set_b5(a);
        }
        get_cb() {
            return this.bs;
        }
        set_cb(a) {
            let b = this.cb;
            if (a != b) {
                this.bs = a;
                this.id("IsVerticalZoomEnabled", b, this.cb);
            }
        }
        get cb() {
            return this.get_cb();
        }
        set cb(a) {
            this.set_cb(a);
        }
        get_b7() {
            return this.br;
        }
        set_b7(a) {
            let b = this.b7;
            if (a != b) {
                this.br = a;
                this.id("IsSeriesHighlightingEnabled", b, this.b7);
            }
        }
        get b7() {
            return this.get_b7();
        }
        set b7(a) {
            this.set_b7(a);
        }
        get jk() {
            return this.ji;
        }
        set jk(a) {
            let b = this.jk;
            if (Rect.l_op_Inequality(a, b)) {
                this.ji = a;
                this.id("WindowRect", b, this.jk);
            }
        }
        get jj() {
            return this.dataChart != null ? this.dataChart.o7 : Rect.empty;
        }
        get gm() {
            return this.er;
        }
        set gm(a) {
            let b = this.gm;
            if (a != b) {
                this.er = a;
                this.id("Title", b, this.gm);
            }
        }
        get gb() {
            return this.ep;
        }
        set gb(a) {
            let b = this.gb;
            if (a != b) {
                this.ep = a;
                this.id("Subtitle", b, this.gb);
            }
        }
        get i8() {
            return this.i6;
        }
        set i8(a) {
            let b = this.i8;
            if (b != a) {
                this.i6 = a;
                this.id("TitleAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.i8));
            }
        }
        get i7() {
            return this.i5;
        }
        set i7(a) {
            let b = this.i7;
            if (b != a) {
                this.i5 = a;
                this.id("SubtitleAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.i7));
            }
        }
        get bb() {
            return this.ba;
        }
        set bb(a) {
            let b = this.bb;
            if (a != b) {
                this.ba = a;
                this.id("UnknownValuePlotting", enumGetBox(UnknownValuePlotting_$type, b), enumGetBox(UnknownValuePlotting_$type, this.bb));
            }
        }
        get_dp() {
            return this.c1;
        }
        set_dp(a) {
            let b = this.dp;
            if (a != b) {
                this.c1 = a;
                this.id("Resolution", b, this.dp);
            }
        }
        get dp() {
            return this.get_dp();
        }
        set dp(a) {
            this.set_dp(a);
        }
        get dv() {
            return this.c7;
        }
        set dv(a) {
            let b = this.dv;
            if (a != b) {
                this.c7 = a;
                this.id("Thickness", b, this.dv);
            }
        }
        get a5() {
            return this.a4;
        }
        set a5(a) {
            let b = this.a5;
            if (a != b) {
                this.a4 = a;
                this.id("OutlineMode", enumGetBox(SeriesOutlineMode_$type, b), enumGetBox(SeriesOutlineMode_$type, this.a5));
            }
        }
        get ao() {
            return this.an;
        }
        set ao(a) {
            let b = this.ao;
            if (a != b) {
                this.an = a;
                this.id("MarkerOutlineMode", enumGetBox(MarkerOutlineMode_$type, b), enumGetBox(MarkerOutlineMode_$type, this.ao));
            }
        }
        get am() {
            return this.al;
        }
        set am(a) {
            let b = this.am;
            if (a != b) {
                this.al = a;
                this.id("MarkerFillMode", enumGetBox(MarkerFillMode_$type, b), enumGetBox(MarkerFillMode_$type, this.am));
            }
        }
        get di() {
            return this.cv;
        }
        set di(a) {
            let b = this.di;
            if (a != b) {
                this.cv = a;
                this.id("MarkerFillOpacity", b, this.di);
            }
        }
        get as() {
            return this.ar;
        }
        set as(a) {
            let b = this.as;
            if (a != b) {
                this.ar = a;
                this.id("MarkerTypes", b, this.as);
            }
        }
        get l() {
            return this.f;
        }
        set l(a) {
            let b = this.l;
            if (a != b) {
                this.f = a;
                this.id("MarkerBrushes", b, this.l);
            }
        }
        get m() {
            return this.g;
        }
        set m(a) {
            let b = this.m;
            if (!Base.equalsStatic(a, b)) {
                this.g = a;
                this.id("MarkerOutlines", b, this.m);
            }
        }
        get d8() {
            return this.d4;
        }
        set d8(a) {
            let b = this.d4;
            if (a != b) {
                this.d4 = a;
                this.id("MarkerMaxCount", b, this.d4);
            }
        }
        get bv() {
            return this.bj;
        }
        set bv(a) {
            let b = this.bj;
            if (a != b) {
                this.bj = a;
                this.id("AnimateSeriesWhenAxisRangeChanges", b, this.bj);
            }
        }
        get o() {
            return this.i;
        }
        set o(a) {
            let b = this.o;
            if (a != b) {
                this.i = a;
                this.id("TrendLineBrushes", b, this.o);
            }
        }
        get a9() {
            return this.a8;
        }
        set a9(a) {
            let b = this.a9;
            if (a != b) {
                this.a8 = a;
                this.id("TrendLineType", enumGetBox(TrendLineType_$type, b), enumGetBox(TrendLineType_$type, this.a9));
            }
        }
        get d1() {
            return this.dd;
        }
        set d1(a) {
            let b = this.d1;
            if (a != b) {
                this.dd = a;
                this.id("TrendLineThickness", b, this.d1);
            }
        }
        get bu() {
            return this.bi;
        }
        set bu(a) {
            let b = this.bu;
            if (a != b) {
                this.bi = a;
                this.id("AlignsGridLinesToPixels", b, this.bu);
            }
        }
        get dl() {
            return this.cy;
        }
        set dl(a) {
            let b = this.cy;
            this.cy = a;
            if (a != b) {
                this.id("PlotAreaMarginLeft", b, a);
            }
        }
        get dn() {
            return this.c0;
        }
        set dn(a) {
            let b = this.c0;
            this.c0 = a;
            if (a != b) {
                this.id("PlotAreaMarginTop", b, a);
            }
        }
        get dm() {
            return this.cz;
        }
        set dm(a) {
            let b = this.cz;
            this.cz = a;
            if (a != b) {
                this.id("PlotAreaMarginRight", b, a);
            }
        }
        get dk() {
            return this.cx;
        }
        set dk(a) {
            let b = this.cx;
            this.cx = a;
            if (a != b) {
                this.id("PlotAreaMarginBottom", b, a);
            }
        }
        ic() {
        }
        get t() {
            return this.s;
        }
        set t(a) {
            let b = this.t;
            if (a != b) {
                this.s = a;
                this.id("ComputedPlotAreaMarginMode", enumGetBox(ComputedPlotAreaMarginMode_$type, b), enumGetBox(ComputedPlotAreaMarginMode_$type, this.t));
            }
        }
        get a3() {
            return this.a2;
        }
        set a3(a) {
            let b = this.a3;
            if (a != b) {
                this.a2 = a;
                this.id("HighlightingMode", enumGetBox(SeriesHighlightingMode_$type, b), enumGetBox(SeriesHighlightingMode_$type, this.a3));
            }
        }
        get a1() {
            return this.a0;
        }
        set a1(a) {
            let b = this.a1;
            if (a != b) {
                this.a0 = a;
                this.id("HighlightingBehavior", enumGetBox(SeriesHighlightingBehavior_$type, b), enumGetBox(SeriesHighlightingBehavior_$type, this.a1));
            }
        }
        get ak() {
            return this.aj;
        }
        set ak(a) {
            let b = this.ak;
            if (a != b) {
                this.aj = a;
                this.id("LegendHighlightingMode", enumGetBox(LegendHighlightingMode_$type, b), enumGetBox(LegendHighlightingMode_$type, this.ak));
            }
        }
        get cd() {
            return this.bt;
        }
        set cd(a) {
            let b = this.cd;
            if (a != b) {
                this.bt = a;
                this.id("ShouldAutoExpandMarginForInitialLabels", b, this.cd);
            }
        }
        get de() {
            return this.cr;
        }
        set de(a) {
            let b = this.de;
            if (a != b) {
                this.cr = a;
                this.id("AutoExpandMarginExtraPadding", b, this.de);
            }
        }
        get df() {
            return this.cs;
        }
        set df(a) {
            let b = this.df;
            if (a != b) {
                this.cs = a;
                this.id("AutoExpandMarginMaximumValue", b, this.df);
            }
        }
        get ea() {
            return this.d7;
        }
        set ea(a) {
            let b = this.ea;
            if (a != b) {
                this.d7 = a;
                this.id("TrendLinePeriod", b, this.ea);
            }
        }
        get a7() {
            return this.a6;
        }
        set a7(a) {
            let b = this.a7;
            if (a != b) {
                this.a6 = a;
                this.id("ToolTipType", enumGetBox(ToolTipType_$type, b), enumGetBox(ToolTipType_$type, this.a7));
            }
        }
        get v() {
            return this.u;
        }
        set v(a) {
            let b = this.v;
            if (a != b) {
                this.u = a;
                this.id("CrosshairsDisplayMode", enumGetBox(CrosshairsDisplayMode_$type, b), enumGetBox(CrosshairsDisplayMode_$type, this.v));
            }
        }
        get b0() {
            return this.bo;
        }
        set b0(a) {
            let b = this.b0;
            if (a != b) {
                this.bo = a;
                this.id("CrosshairsSnapToData", b, this.b0);
            }
        }
        get bz() {
            return this.bn;
        }
        set bz(a) {
            let b = this.bz;
            if (a != b) {
                this.bn = a;
                this.id("CrosshairsAnnotationEnabled", b, this.bz);
            }
        }
        get b1() {
            return this.bp;
        }
        set b1(a) {
            let b = this.b1;
            if (a != b) {
                this.bp = a;
                this.id("FinalValueAnnotationsVisible", b, this.b1);
            }
        }
        get by() {
            return this.bm;
        }
        set by(a) {
            let b = this.by;
            if (a != b) {
                this.bm = a;
                this.id("CalloutsVisible", b, this.by);
            }
        }
        get bx() {
            return this.bl;
        }
        set bx(a) {
            let b = this.bx;
            if (a != b) {
                this.bl = a;
                this.id("CalloutStyleUpdatingEventEnabled", b, this.bx);
            }
        }
        get calloutsItemsSource() {
            return this.cn;
        }
        set calloutsItemsSource(a) {
            let b = this.calloutsItemsSource;
            if (a != b) {
                this.cn = a;
                this.id("CalloutsItemsSource", b, this.calloutsItemsSource);
            }
        }
        get e6() {
            return this.en;
        }
        set e6(a) {
            let b = this.e6;
            if (a != b) {
                this.en = a;
                this.id("CalloutsXMemberPath", b, this.e6);
            }
        }
        get e8() {
            return this.eo;
        }
        set e8(a) {
            let b = this.e8;
            if (a != b) {
                this.eo = a;
                this.id("CalloutsYMemberPath", b, this.e8);
            }
        }
        get e2() {
            return this.em;
        }
        set e2(a) {
            let b = this.e2;
            if (a != b) {
                this.em = a;
                this.id("CalloutsLabelMemberPath", b, this.e2);
            }
        }
        get ez() {
            return this.el;
        }
        set ez(a) {
            let b = this.ez;
            if (a != b) {
                this.el = a;
                this.id("CalloutsContentMemberPath", b, this.ez);
            }
        }
    }
    DomainChart.$t = /*@__PURE__*/ markType(DomainChart, 'DomainChart', Base.$, [INotifyPropertyChanged_$type]);
    DomainChart.ek = /*@__PURE__*/ new Random(0);
    return DomainChart;
})();
//# sourceMappingURL=DomainChart.js.map
