/*
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 { DomainChart } from "./DomainChart";
import { fromEnum, enumGetBox, markType } from "igniteui-angular-core";
import { HorizontalAlignment_$type } from "igniteui-angular-core";
import { VerticalAlignment_$type } from "igniteui-angular-core";
import { Visibility_$type } from "igniteui-angular-core";
import { YAxisLabelLocation_$type } from "./YAxisLabelLocation";
import { XAxisLabelLocation_$type } from "./XAxisLabelLocation";
import { AxisLabelSettings } from "./AxisLabelSettings";
import { AxisDefaults } from "./AxisDefaults";
import { TitleSettings } from "./TitleSettings";
import { ScalerParams } from "./ScalerParams";
import { DeviceUtils } from "igniteui-angular-core";
/**
 * @hidden
 */
export let XYChart = /*@__PURE__*/ (() => {
    class XYChart extends DomainChart {
        constructor() {
            super(...arguments);
            this.ty = null;
            this.tz = null;
            this.uf = 0;
            this.uh = 5;
            this.ug = 0;
            this.ue = 5;
            this.uw = 5;
            this.uy = 0;
            this.ux = 5;
            this.uv = 0;
            this.zp = null;
            this.zw = null;
            this.zn = null;
            this.zo = null;
            this.uq = 0;
            this.u7 = 0;
            this.up = NaN;
            this.u6 = NaN;
            this.us = NaN;
            this.u9 = NaN;
            this.ur = NaN;
            this.u8 = NaN;
            this.uo = NaN;
            this.u5 = NaN;
            this.zv = null;
            this.z2 = null;
            this.wh = null;
            this.wl = null;
            this.wj = null;
            this.wn = null;
            this.wc = null;
            this.wd = null;
            this.zq = null;
            this.zx = null;
            this.ui = DeviceUtils.g(1);
            this.uz = DeviceUtils.g(1);
            this.uj = DeviceUtils.g(1);
            this.u0 = DeviceUtils.g(1);
            this.zs = null;
            this.zz = null;
            this.zt = null;
            this.z0 = null;
            this.uk = DeviceUtils.g(1);
            this.u1 = DeviceUtils.g(1);
            this.ul = DeviceUtils.g(8);
            this.u2 = 0;
            this.zu = null;
            this.z1 = null;
            this.um = DeviceUtils.g(1);
            this.u3 = DeviceUtils.g(1);
            this.wi = null;
            this.wm = null;
            this.zr = null;
            this.zy = null;
            this.ud = 0;
            this.uu = 0;
            this.uc = NaN;
            this.ut = NaN;
            this.un = 0;
            this.u4 = -90;
            this.t8 = false;
            this.t9 = false;
            this.zi = 1;
            this.aal = 1;
            this.zh = 1;
            this.zj = 2;
            this.aaj = 0;
            this.aak = 1;
            this.aap = 0;
            this.aaq = 0;
            this.t6 = 4;
            this.t4 = 4;
            this.wg = null;
            this.ts = null;
            this.wk = null;
            this.tt = null;
        }
        provideContainer(a) {
            if (a != null) {
                let b = this.tw();
                let c = this.tx();
                if (b != null) {
                    b.provideRenderer(a);
                }
                if (c != null) {
                    c.provideRenderer(a);
                }
            }
            super.provideContainer(a);
        }
        p7() {
            super.p7();
            let a = this.tw();
            let b = this.tx();
            if (a != null && a.ay != null) {
                this.z5 = a.ay.textColor;
            }
            if (b != null && b.ay != null) {
                this.aac = b.ay.textColor;
            }
            this.aaa = AxisDefaults.j;
            this.aah = AxisDefaults.j;
            this.z6 = AxisDefaults.h;
            this.aad = AxisDefaults.h;
            this.z9 = AxisDefaults.g;
            this.aag = AxisDefaults.g;
        }
        qu(a, b, c) {
            super.qu(a, b, c);
            switch (a) {
                case "XAxisLabelLeftMargin":
                    this.y9((d) => d.leftMargin = this.vh);
                    break;
                case "XAxisLabelTopMargin":
                    this.y9((d) => d.topMargin = this.vj);
                    break;
                case "XAxisLabelRightMargin":
                    this.y9((d) => d.rightMargin = this.vi);
                    break;
                case "XAxisLabelBottomMargin":
                    this.y9((d) => d.bottomMargin = this.vg);
                    break;
                case "YAxisLabelLeftMargin":
                    this.ze((d) => d.leftMargin = this.vy);
                    break;
                case "YAxisLabelTopMargin":
                    this.ze((d) => d.topMargin = this.v0);
                    break;
                case "YAxisLabelRightMargin":
                    this.ze((d) => d.rightMargin = this.vz);
                    break;
                case "YAxisLabelBottomMargin":
                    this.ze((d) => d.bottomMargin = this.vx);
                    break;
                case "ActualItemsSource":
                case "ShouldDisplayMockData":
                case "ShouldUseSkeletonStyleForMockData":
                    this.z3 = this.sz(this.z5);
                    this.z4 = this.sz(this.aac);
                    break;
                case "XAxisLabelTextColor":
                    this.z3 = this.sz(this.z5);
                    break;
                case "YAxisLabelTextColor":
                    this.z4 = this.sz(this.aac);
                    break;
                case "ActualXAxisLabelTextColor":
                    this.y9((d) => d.textColor = this.z3);
                    break;
                case "ActualYAxisLabelTextColor":
                    this.ze((d) => d.textColor = this.z4);
                    break;
                case "XAxisTitleMargin":
                    this.zb((d) => d.margin = this.vs);
                    break;
                case "YAxisTitleMargin":
                    this.zg((d) => d.margin = this.v9);
                    break;
                case "XAxisTitleLeftMargin":
                    this.zb((d) => d.leftMargin = this.vr);
                    break;
                case "YAxisTitleLeftMargin":
                    this.zg((d) => d.leftMargin = this.v8);
                    break;
                case "XAxisTitleTopMargin":
                    this.zb((d) => d.topMargin = this.vu);
                    break;
                case "YAxisTitleTopMargin":
                    this.zg((d) => d.topMargin = this.wb);
                    break;
                case "XAxisTitleRightMargin":
                    this.zb((d) => d.rightMargin = this.vt);
                    break;
                case "YAxisTitleRightMargin":
                    this.zg((d) => d.rightMargin = this.wa);
                    break;
                case "XAxisTitleBottomMargin":
                    this.zb((d) => d.bottomMargin = this.vq);
                    break;
                case "YAxisTitleBottomMargin":
                    this.zg((d) => d.bottomMargin = this.v7);
                    break;
                case "XAxisTitleTextColor":
                    this.zb((d) => d.textColor = this.aab);
                    break;
                case "YAxisTitleTextColor":
                    this.zg((d) => d.textColor = this.aai);
                    break;
                case "XAxisFormatLabel":
                    this.y7((d) => d.at = this.t0);
                    break;
                case "YAxisFormatLabel":
                    this.zc((d) => d.at = this.t1);
                    break;
            }
        }
        get t0() {
            return this.ty;
        }
        set t0(a) {
            let b = this.t0;
            if (a != b) {
                this.ty = a;
                this.qt("XAxisFormatLabel", b, this.t0);
            }
        }
        get t1() {
            return this.tz;
        }
        set t1(a) {
            let b = this.t1;
            if (a != b) {
                this.tz = a;
                this.qt("YAxisFormatLabel", b, this.t1);
            }
        }
        get vh() {
            return this.uf;
        }
        set vh(a) {
            let b = this.vh;
            if (a != b) {
                this.uf = a;
                this.qt("XAxisLabelLeftMargin", b, this.vh);
            }
        }
        get vj() {
            return this.uh;
        }
        set vj(a) {
            let b = this.vj;
            if (a != b) {
                this.uh = a;
                this.qt("XAxisLabelTopMargin", b, this.vj);
            }
        }
        get vi() {
            return this.ug;
        }
        set vi(a) {
            let b = this.vi;
            if (a != b) {
                this.ug = a;
                this.qt("XAxisLabelRightMargin", b, this.vi);
            }
        }
        get vg() {
            return this.ue;
        }
        set vg(a) {
            let b = this.vg;
            if (a != b) {
                this.ue = a;
                this.qt("XAxisLabelBottomMargin", b, this.vg);
            }
        }
        get vy() {
            return this.uw;
        }
        set vy(a) {
            let b = this.vy;
            if (a != b) {
                this.uw = a;
                this.qt("YAxisLabelLeftMargin", b, this.vy);
            }
        }
        get v0() {
            return this.uy;
        }
        set v0(a) {
            let b = this.v0;
            if (a != b) {
                this.uy = a;
                this.qt("YAxisLabelTopMargin", b, this.v0);
            }
        }
        get vz() {
            return this.ux;
        }
        set vz(a) {
            let b = this.vz;
            if (a != b) {
                this.ux = a;
                this.qt("YAxisLabelRightMargin", b, this.vz);
            }
        }
        get vx() {
            return this.uv;
        }
        set vx(a) {
            let b = this.vx;
            if (a != b) {
                this.uv = a;
                this.qt("YAxisLabelBottomMargin", b, this.vx);
            }
        }
        get z5() {
            return this.zp;
        }
        set z5(a) {
            let b = this.z5;
            if (a != b) {
                this.zp = a;
                this.qt("XAxisLabelTextColor", b, this.z5);
            }
        }
        get aac() {
            return this.zw;
        }
        set aac(a) {
            let b = this.aac;
            if (a != b) {
                this.zw = a;
                this.qt("YAxisLabelTextColor", b, this.aac);
            }
        }
        get z3() {
            return this.zn;
        }
        set z3(a) {
            let b = this.zn;
            if (a != b) {
                this.zn = a;
                this.qt("ActualXAxisLabelTextColor", b, this.z3);
            }
        }
        get z4() {
            return this.zo;
        }
        set z4(a) {
            let b = this.zo;
            if (a != b) {
                this.zo = a;
                this.qt("ActualYAxisLabelTextColor", b, this.z4);
            }
        }
        get vs() {
            return this.uq;
        }
        set vs(a) {
            let b = this.vs;
            if (a != b) {
                this.uq = a;
                this.qt("XAxisTitleMargin", b, this.vs);
            }
        }
        get v9() {
            return this.u7;
        }
        set v9(a) {
            let b = this.v9;
            if (a != b) {
                this.u7 = a;
                this.qt("YAxisTitleMargin", b, this.v9);
            }
        }
        get vr() {
            return this.up;
        }
        set vr(a) {
            let b = this.vr;
            if (a != b) {
                this.up = a;
                this.qt("XAxisTitleLeftMargin", b, this.vr);
            }
        }
        get v8() {
            return this.u6;
        }
        set v8(a) {
            let b = this.v8;
            if (a != b) {
                this.u6 = a;
                this.qt("YAxisTitleLeftMargin", b, this.v8);
            }
        }
        get vu() {
            return this.us;
        }
        set vu(a) {
            let b = this.vu;
            if (a != b) {
                this.us = a;
                this.qt("XAxisTitleTopMargin", b, this.vu);
            }
        }
        get wb() {
            return this.u9;
        }
        set wb(a) {
            let b = this.wb;
            if (a != b) {
                this.u9 = a;
                this.qt("YAxisTitleTopMargin", b, this.wb);
            }
        }
        get vt() {
            return this.ur;
        }
        set vt(a) {
            let b = this.vt;
            if (a != b) {
                this.ur = a;
                this.qt("XAxisTitleRightMargin", b, this.vt);
            }
        }
        get wa() {
            return this.u8;
        }
        set wa(a) {
            let b = this.wa;
            if (a != b) {
                this.u8 = a;
                this.qt("YAxisTitleRightMargin", b, this.wa);
            }
        }
        get vq() {
            return this.uo;
        }
        set vq(a) {
            let b = this.vq;
            if (a != b) {
                this.uo = a;
                this.qt("XAxisTitleBottomMargin", b, this.vq);
            }
        }
        get v7() {
            return this.u5;
        }
        set v7(a) {
            let b = this.v7;
            if (a != b) {
                this.u5 = a;
                this.qt("YAxisTitleBottomMargin", b, this.v7);
            }
        }
        get aab() {
            return this.zv;
        }
        set aab(a) {
            let b = this.aab;
            if (a != b) {
                this.zv = a;
                this.qt("XAxisTitleTextColor", b, this.aab);
            }
        }
        get aai() {
            return this.z2;
        }
        set aai(a) {
            let b = this.aai;
            if (a != b) {
                this.z2 = a;
                this.qt("YAxisTitleTextColor", b, this.aai);
            }
        }
        qv(a, b, c) {
            super.qv(a, b, c);
            switch (a) {
                case "XAxisLabelTextStyle":
                    this.y9((d) => d.textStyle = this.w5);
                    break;
                case "YAxisLabelTextStyle":
                    this.ze((d) => d.textStyle = this.ya);
                    break;
                case "XAxisTitleTextStyle":
                    this.zb((d) => d.textStyle = this.xt);
                    break;
                case "YAxisTitleTextStyle":
                    this.zg((d) => d.textStyle = this.yy);
                    break;
            }
        }
        get w5() {
            return this.wh;
        }
        set w5(a) {
            let b = this.w5;
            if (a != b) {
                this.wh = a;
                this.qt("XAxisLabelTextStyle", b, this.w5);
            }
        }
        get ya() {
            return this.wl;
        }
        set ya(a) {
            let b = this.ya;
            if (a != b) {
                this.wl = a;
                this.qt("YAxisLabelTextStyle", b, this.ya);
            }
        }
        get xt() {
            return this.wj;
        }
        set xt(a) {
            let b = this.xt;
            if (a != b) {
                this.wj = a;
                this.qt("XAxisTitleTextStyle", b, this.xt);
            }
        }
        get yy() {
            return this.wn;
        }
        set yy(a) {
            let b = this.yy;
            if (a != b) {
                this.wn = a;
                this.qt("YAxisTitleTextStyle", b, this.yy);
            }
        }
        y4(a) {
            this.y1(a, (b) => b.leftMargin = this.vh);
            this.y1(a, (b) => b.topMargin = this.vj);
            this.y1(a, (b) => b.rightMargin = this.vi);
            this.y1(a, (b) => b.bottomMargin = this.vg);
            this.y1(a, (b) => b.textColor = this.z3);
            this.y2(a, (b) => b.textColor = this.aab);
            this.y2(a, (b) => b.leftMargin = this.vr);
            this.y2(a, (b) => b.topMargin = this.vu);
            this.y2(a, (b) => b.rightMargin = this.vt);
            this.y2(a, (b) => b.bottomMargin = this.vq);
            this.y1(a, (b) => b.textStyle = this.w5);
            this.y2(a, (b) => b.textStyle = this.xt);
        }
        y6(a) {
            this.y1(a, (b) => b.leftMargin = this.vy);
            this.y1(a, (b) => b.topMargin = this.v0);
            this.y1(a, (b) => b.rightMargin = this.vz);
            this.y1(a, (b) => b.bottomMargin = this.vx);
            this.y1(a, (b) => b.textColor = this.z4);
            this.y2(a, (b) => b.textColor = this.aai);
            this.y2(a, (b) => b.leftMargin = this.v8);
            this.y2(a, (b) => b.topMargin = this.wb);
            this.y2(a, (b) => b.rightMargin = this.wa);
            this.y2(a, (b) => b.bottomMargin = this.v7);
            this.y1(a, (b) => b.textStyle = this.ya);
            this.y2(a, (b) => b.textStyle = this.yy);
        }
        rc(a) {
            let b = this.at(a);
            let c = this.cf(a, b);
            if (c == null) {
                return;
            }
            c.itemsSource = a.data;
            c.name = this.mt(a);
            c.title = this.mu(a, b);
            this.dataChart.series.add(c);
        }
        y7(a) {
            this.y8(a, null);
        }
        y8(a, b) {
            a(this.tw());
        }
        zd(a, b) {
            a(this.tx());
        }
        zc(a) {
            this.zd(a, true);
        }
        pr(a, b) {
            this.y7(a);
            this.zd(a, b);
        }
        zb(a) {
            this.y2(this.tw(), a);
        }
        zg(a) {
            this.y2(this.tx(), a);
        }
        ze(a) {
            this.y1(this.tx(), a);
        }
        y9(a) {
            this.y1(this.tw(), a);
        }
        va(a) {
            let b = this.tw();
            return b.ei(a, new ScalerParams(1, this.s7, this.s6, b.cg));
        }
        vc(a) {
            let b = this.tw();
            return b.el(a, new ScalerParams(1, this.s7, this.s6, b.cg));
        }
        vb(a) {
            let b = this.tx();
            return b.ei(a, new ScalerParams(1, this.s7, this.s6, b.cg));
        }
        vd(a) {
            let b = this.tx();
            return b.el(a, new ScalerParams(1, this.s7, this.s6, b.cg));
        }
        q9(a) {
            super.q9(a);
            if (a == null) {
                return;
            }
            if (a.axes != null) {
                let b = this.tw();
                let c = this.tx();
                if (a.axes.contains(b)) {
                    a.axes.remove(b);
                }
                if (a.axes.contains(c)) {
                    a.axes.remove(c);
                }
            }
        }
        static wq(a, b) {
            for (let c of fromEnum(b)) {
                let d = c.findMatchingHint(16);
                if (d != null) {
                    let e = d.path;
                    return e;
                }
            }
            return null;
        }
        p2(a) {
            super.p2(a);
            if (a == this.dataChart) {
                this.dataChart.axes.add(this.tw());
                this.dataChart.axes.add(this.tx());
            }
        }
        y3(a) {
            if (a != null && this.iu != null && a.fk == null) {
                a.provideRenderer(this.iu);
            }
            a.jv = this.z6;
            a.eq = this.vk;
            a.jw = this.z7;
            a.et = this.vl;
            a.jy = this.z9;
            a.ff = this.vm;
            a.jx = this.z8;
            a.fg = this.vn;
            a.jz = this.aaa;
            a.fh = this.vo;
            a.c3 = true;
            a.ct = this.e8;
            a.cv = this.e8;
            let b = a == this.tw();
            if (b) {
                a.g5 = this.xk;
            }
            a.fz = this.we;
            a.gf = this.ww;
            a.ag = this.tu;
            this.y1(a, (c) => c.angle = this.vf);
            this.y1(a, (c) => {
                if (c.extent != this.ve) {
                    c.extent = this.ve;
                }
            });
            this.y1(a, (c) => c.horizontalAlignment = this.zk);
            this.y1(a, (c) => c.verticalAlignment = this.aam);
            this.y1(a, (c) => c.visibility = this.aar);
            this.y1(a, (c) => c.location = this.t2(this.t5));
            this.y2(a, (c) => c.horizontalAlignment = this.zl);
            this.y2(a, (c) => c.angle = this.vp);
            this.y4(a);
        }
        y5(a) {
            if (a == null) {
                return;
            }
            if (this.iu != null && a.fk == null) {
                a.provideRenderer(this.iu);
            }
            a.ct = this.e8;
            a.cv = this.e8;
            this.y1(a, (b) => b.angle = this.vw);
            this.y1(a, (b) => {
                if (b.extent != this.vv) {
                    b.extent = this.vv;
                }
            });
            this.y1(a, (b) => b.horizontalAlignment = this.zm);
            this.y1(a, (b) => b.verticalAlignment = this.aan);
            this.y1(a, (b) => b.visibility = this.aas);
            this.y1(a, (b) => b.location = this.t3(this.t7));
            this.y2(a, (b) => b.verticalAlignment = this.aao);
            this.y2(a, (b) => b.angle = this.v6);
            a.jv = this.aad;
            a.eq = this.v1;
            a.jw = this.aae;
            a.et = this.v2;
            a.jy = this.aag;
            a.ff = this.v3;
            a.jx = this.aaf;
            a.fg = this.v4;
            a.jz = this.aah;
            a.fh = this.v5;
            let b = a == this.tx();
            if (b) {
                a.g5 = this.yp;
            }
            a.gf = this.x1;
            a.ag = this.tv;
            this.y6(a);
        }
        pz() {
            super.pz();
            this.y3(this.tw());
            this.y5(this.tx());
        }
        y1(a, b) {
            if (a == null) {
                return;
            }
            if (a.ay == null) {
                a.ay = new AxisLabelSettings();
                a.ay.angle = a.d4();
                a.ay.bottomMargin = a.d5();
                a.ay.leftMargin = a.d6();
                a.ay.rightMargin = a.d7();
                a.ay.topMargin = a.d8();
                a.ay.horizontalAlignment = a.jq();
                a.ay.location = a.az();
                a.ay.verticalAlignment = a.kj();
            }
            b(a.ay);
        }
        y2(a, b) {
            if (a == null) {
                return;
            }
            if (a.be == null) {
                a.be = new TitleSettings();
                a.be.bottomMargin = a.ea();
                a.be.leftMargin = a.eb();
                a.be.rightMargin = a.ec();
                a.be.topMargin = a.ed();
                a.be.location = a.a0();
                a.be.angle = a.d9();
                a.be.horizontalAlignment = a.jr();
                a.be.verticalAlignment = a.kk();
            }
            b(a.be);
        }
        qt(a, b, c) {
            super.qt(a, b, c);
            switch (a) {
                case "XAxisLabelAngle":
                    this.y9((d) => d.angle = this.vf);
                    break;
                case "YAxisLabelAngle":
                    this.ze((d) => d.angle = this.vw);
                    break;
                case "XAxisLabelHorizontalAlignment":
                    this.y9((d) => d.horizontalAlignment = this.zk);
                    break;
                case "YAxisLabelHorizontalAlignment":
                    this.ze((d) => d.horizontalAlignment = this.zm);
                    break;
                case "XAxisLabelVerticalAlignment":
                    this.y9((d) => d.verticalAlignment = this.aam);
                    break;
                case "YAxisLabelVerticalAlignment":
                    this.ze((d) => d.verticalAlignment = this.aan);
                    break;
                case "XAxisLabelVisibility":
                    this.y9((d) => d.visibility = this.aar);
                    break;
                case "YAxisLabelVisibility":
                    this.ze((d) => d.visibility = this.aas);
                    break;
                case "XAxisLabel":
                    this.y7((d) => d.fz = this.we);
                    break;
                case "YAxisLabel":
                    this.zc((d) => d.fz = this.wf);
                    break;
                case "XAxisLabelFormat":
                    this.y7((d) => d.gf = this.ww);
                    break;
                case "XAxisLabelFormatSpecifiers":
                    this.y7((d) => d.ag = this.tu);
                    break;
                case "YAxisLabelFormat":
                    this.zc((d) => d.gf = this.x1);
                    break;
                case "YAxisLabelFormatSpecifiers":
                    this.zc((d) => d.ag = this.tv);
                    break;
                case "XAxisTitleAngle":
                    this.zb((d) => d.angle = this.vp);
                    break;
                case "YAxisTitleAngle":
                    this.zg((d) => d.angle = this.v6);
                    break;
                case "XAxisTitleAlignment":
                    this.zb((d) => d.horizontalAlignment = this.zl);
                    break;
                case "YAxisTitleAlignment":
                    this.zg((d) => d.verticalAlignment = this.aao);
                    break;
                case "XAxisTitle":
                    this.y7((d) => d.g5 = this.xk);
                    break;
                case "YAxisTitle":
                    this.zd((d) => d.g5 = this.yp, false);
                    break;
                case "XAxisMajorStroke":
                    this.y8((d) => d.jv = this.z6, a);
                    break;
                case "YAxisMajorStroke":
                    this.zc((d) => d.jv = this.aad);
                    break;
                case "XAxisMajorStrokeThickness":
                    this.y8((d) => d.eq = this.vk, a);
                    break;
                case "YAxisMajorStrokeThickness":
                    this.zc((d) => d.eq = this.v1);
                    break;
                case "XAxisMinorStroke":
                    this.y7((d) => d.jw = this.z7);
                    break;
                case "YAxisMinorStroke":
                    this.zc((d) => d.jw = this.aae);
                    break;
                case "XAxisMinorStrokeThickness":
                    this.y7((d) => d.et = this.vl);
                    break;
                case "YAxisMinorStrokeThickness":
                    this.zc((d) => d.et = this.v2);
                    break;
                case "XAxisTickLength":
                    this.y7((d) => d.fg = this.vn);
                    break;
                case "YAxisTickLength":
                    this.zc((d) => d.fg = this.v4);
                    break;
                case "XAxisTickStroke":
                    this.y7((d) => d.jz = this.aaa);
                    break;
                case "YAxisTickStroke":
                    this.zc((d) => d.jz = this.aah);
                    break;
                case "XAxisTickStrokeThickness":
                    this.y7((d) => d.fh = this.vo);
                    break;
                case "YAxisTickStrokeThickness":
                    this.zc((d) => d.fh = this.v5);
                    break;
                case "XAxisStroke":
                    this.y7((d) => d.jy = this.z9);
                    break;
                case "YAxisStroke":
                    this.zc((d) => d.jy = this.aag);
                    break;
                case "XAxisStrokeThickness":
                    this.y7((d) => d.ff = this.vm);
                    break;
                case "YAxisStrokeThickness":
                    this.zc((d) => d.ff = this.v3);
                    break;
                case "XAxisExtent":
                    this.y9((d) => d.extent = this.ve);
                    break;
                case "YAxisExtent":
                    this.ze((d) => d.extent = this.vv);
                    break;
                case "XAxisStrip":
                    this.y7((d) => d.jx = this.z8);
                    break;
                case "YAxisStrip":
                    this.zc((d) => d.jx = this.aaf);
                    break;
                case "XAxisInverted":
                    this.y7((d) => d.cg = this.ua);
                    break;
                case "YAxisInverted":
                    this.zc((d) => d.cg = this.ub);
                    break;
                case "YAxisLabelLocation":
                    this.zf();
                    break;
                case "XAxisLabelLocation":
                    this.za();
                    break;
            }
        }
        zf() {
            let a = this.t3(this.t7);
            if (a == 2 || a == 7) {
                this.zm = 2;
            }
            else {
                this.zm = 0;
            }
            this.ze((b) => b.location = a);
        }
        za() {
            let a = this.t2(this.t5);
            if (a == 1 || a == 5) {
                this.aam = 0;
            }
            else {
                this.aam = 2;
            }
            this.y9((b) => b.location = a);
        }
        t3(a) {
            if (a == 0) {
                return 2;
            }
            else if (a == 1) {
                return 3;
            }
            else if (a == 3) {
                return 7;
            }
            else if (a == 2) {
                return 6;
            }
            else {
                if (this.bi == 1) {
                    return 3;
                }
                else {
                    return 2;
                }
            }
        }
        t2(a) {
            if (a == 1) {
                return 1;
            }
            else if (a == 0) {
                return 0;
            }
            else if (a == 3) {
                return 5;
            }
            else if (a == 2) {
                return 4;
            }
            else {
                return 1;
            }
        }
        get we() {
            return this.wc;
        }
        set we(a) {
            let b = this.we;
            if (a != b) {
                this.wc = a;
                this.qt("XAxisLabel", b, this.we);
            }
        }
        get wf() {
            return this.wd;
        }
        set wf(a) {
            let b = this.wf;
            if (a != b) {
                this.wd = a;
                this.qt("YAxisLabel", b, this.wf);
            }
        }
        get z6() {
            return this.zq;
        }
        set z6(a) {
            let b = this.z6;
            if (a != b) {
                this.zq = a;
                this.qt("XAxisMajorStroke", b, this.z6);
            }
        }
        get aad() {
            return this.zx;
        }
        set aad(a) {
            let b = this.aad;
            if (a != b) {
                this.zx = a;
                this.qt("YAxisMajorStroke", b, this.aad);
            }
        }
        get vk() {
            return this.ui;
        }
        set vk(a) {
            let b = this.vk;
            if (a != b) {
                this.ui = a;
                this.qt("XAxisMajorStrokeThickness", b, this.vk);
            }
        }
        get v1() {
            return this.uz;
        }
        set v1(a) {
            let b = this.v1;
            if (a != b) {
                this.uz = a;
                this.qt("YAxisMajorStrokeThickness", b, this.v1);
            }
        }
        get vl() {
            return this.uj;
        }
        set vl(a) {
            let b = this.vl;
            if (a != b) {
                this.uj = a;
                this.qt("XAxisMinorStrokeThickness", b, this.vl);
            }
        }
        get v2() {
            return this.u0;
        }
        set v2(a) {
            let b = this.v2;
            if (a != b) {
                this.u0 = a;
                this.qt("YAxisMinorStrokeThickness", b, this.v2);
            }
        }
        get z8() {
            return this.zs;
        }
        set z8(a) {
            let b = this.z8;
            if (a != b) {
                this.zs = a;
                this.qt("XAxisStrip", b, this.z8);
            }
        }
        get aaf() {
            return this.zz;
        }
        set aaf(a) {
            let b = this.aaf;
            if (a != b) {
                this.zz = a;
                this.qt("YAxisStrip", b, this.aaf);
            }
        }
        get z9() {
            return this.zt;
        }
        set z9(a) {
            let b = this.z9;
            if (a != b) {
                this.zt = a;
                this.qt("XAxisStroke", b, this.z9);
            }
        }
        get aag() {
            return this.z0;
        }
        set aag(a) {
            let b = this.aag;
            if (a != b) {
                this.z0 = a;
                this.qt("YAxisStroke", b, this.aag);
            }
        }
        get vm() {
            return this.uk;
        }
        set vm(a) {
            let b = this.vm;
            if (a != b) {
                this.uk = a;
                this.qt("XAxisStrokeThickness", b, this.vm);
            }
        }
        get v3() {
            return this.u1;
        }
        set v3(a) {
            let b = this.v3;
            if (a != b) {
                this.u1 = a;
                this.qt("YAxisStrokeThickness", b, this.v3);
            }
        }
        get vn() {
            return this.ul;
        }
        set vn(a) {
            let b = this.vn;
            if (a != b) {
                this.ul = a;
                this.qt("XAxisTickLength", b, this.vn);
            }
        }
        get v4() {
            return this.u2;
        }
        set v4(a) {
            let b = this.v4;
            if (a != b) {
                this.u2 = a;
                this.qt("YAxisTickLength", b, this.v4);
            }
        }
        get aaa() {
            return this.zu;
        }
        set aaa(a) {
            let b = this.aaa;
            if (a != b) {
                this.zu = a;
                this.qt("XAxisTickStroke", b, this.aaa);
            }
        }
        get aah() {
            return this.z1;
        }
        set aah(a) {
            let b = this.aah;
            if (a != b) {
                this.z1 = a;
                this.qt("YAxisTickStroke", b, this.aah);
            }
        }
        get vo() {
            return this.um;
        }
        set vo(a) {
            let b = this.vo;
            if (a != b) {
                this.um = a;
                this.qt("XAxisTickStrokeThickness", b, this.vo);
            }
        }
        get v5() {
            return this.u3;
        }
        set v5(a) {
            let b = this.v5;
            if (a != b) {
                this.u3 = a;
                this.qt("YAxisTickStrokeThickness", b, this.v5);
            }
        }
        get xk() {
            return this.wi;
        }
        set xk(a) {
            let b = this.xk;
            if (a != b) {
                this.wi = a;
                this.qt("XAxisTitle", b, this.xk);
            }
        }
        get yp() {
            return this.wm;
        }
        set yp(a) {
            let b = this.yp;
            if (a != b) {
                this.wm = a;
                this.qt("YAxisTitle", b, this.yp);
            }
        }
        get z7() {
            return this.zr;
        }
        set z7(a) {
            let b = this.z7;
            if (a != b) {
                this.zr = a;
                this.qt("XAxisMinorStroke", b, this.z7);
            }
        }
        get aae() {
            return this.zy;
        }
        set aae(a) {
            let b = this.aae;
            if (a != b) {
                this.zy = a;
                this.qt("YAxisMinorStroke", b, this.aae);
            }
        }
        get vf() {
            return this.ud;
        }
        set vf(a) {
            let b = this.vf;
            if (a != b) {
                this.ud = a;
                this.qt("XAxisLabelAngle", b, this.vf);
            }
        }
        get vw() {
            return this.uu;
        }
        set vw(a) {
            let b = this.vw;
            if (a != b) {
                this.uu = a;
                this.qt("YAxisLabelAngle", b, this.vw);
            }
        }
        get ve() {
            return this.uc;
        }
        set ve(a) {
            let b = this.ve;
            if (a != b) {
                this.uc = a;
                this.qt("XAxisExtent", b, this.ve);
            }
        }
        get vv() {
            return this.ut;
        }
        set vv(a) {
            let b = this.vv;
            if (a != b) {
                this.ut = a;
                this.qt("YAxisExtent", b, this.vv);
            }
        }
        get vp() {
            return this.un;
        }
        set vp(a) {
            let b = this.vp;
            if (a != b) {
                this.un = a;
                this.qt("XAxisTitleAngle", b, this.vp);
            }
        }
        get v6() {
            return this.u4;
        }
        set v6(a) {
            let b = this.v6;
            if (a != b) {
                this.u4 = a;
                this.qt("YAxisTitleAngle", b, this.v6);
            }
        }
        get ua() {
            return this.t8;
        }
        set ua(a) {
            let b = this.ua;
            if (a != b) {
                this.t8 = a;
                this.qt("XAxisInverted", b, this.ua);
            }
        }
        get ub() {
            return this.t9;
        }
        set ub(a) {
            let b = this.ub;
            if (a != b) {
                this.t9 = a;
                this.qt("YAxisInverted", b, this.ub);
            }
        }
        get zl() {
            return this.zi;
        }
        set zl(a) {
            let b = this.zl;
            if (a != b) {
                this.zi = a;
                this.qt("XAxisTitleAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.zl));
            }
        }
        get aao() {
            return this.aal;
        }
        set aao(a) {
            let b = this.aao;
            if (a != b) {
                this.aal = a;
                this.qt("YAxisTitleAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.aao));
            }
        }
        get zk() {
            return this.zh;
        }
        set zk(a) {
            let b = this.zk;
            if (a != b) {
                this.zh = a;
                this.qt("XAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.zk));
            }
        }
        get_zm() {
            return this.zj;
        }
        set_zm(a) {
            let b = this.zm;
            if (a != b) {
                this.zj = a;
                this.qt("YAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.zm));
            }
        }
        get zm() {
            return this.get_zm();
        }
        set zm(a) {
            this.set_zm(a);
        }
        get aam() {
            return this.aaj;
        }
        set aam(a) {
            let b = this.aam;
            if (a != b) {
                this.aaj = a;
                this.qt("XAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.aam));
            }
        }
        get aan() {
            return this.aak;
        }
        set aan(a) {
            let b = this.aan;
            if (a != b) {
                this.aak = a;
                this.qt("YAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.aan));
            }
        }
        get aar() {
            return this.aap;
        }
        set aar(a) {
            let b = this.aar;
            if (a != b) {
                this.aap = a;
                this.qt("XAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.aar));
            }
        }
        get aas() {
            return this.aaq;
        }
        set aas(a) {
            let b = this.aas;
            if (a != b) {
                this.aaq = a;
                this.qt("YAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.aas));
            }
        }
        get_t7() {
            return this.t6;
        }
        set_t7(a) {
            let b = this.t7;
            if (a != b) {
                this.t6 = a;
                this.qt("YAxisLabelLocation", enumGetBox(YAxisLabelLocation_$type, b), enumGetBox(YAxisLabelLocation_$type, this.t7));
            }
        }
        get t7() {
            return this.get_t7();
        }
        set t7(a) {
            this.set_t7(a);
        }
        get_t5() {
            return this.t4;
        }
        set_t5(a) {
            let b = this.t5;
            if (a != b) {
                this.t4 = a;
                this.qt("XAxisLabelLocation", enumGetBox(XAxisLabelLocation_$type, b), enumGetBox(XAxisLabelLocation_$type, this.t5));
            }
        }
        get t5() {
            return this.get_t5();
        }
        set t5(a) {
            this.set_t5(a);
        }
        get ww() {
            return this.wg;
        }
        set ww(a) {
            let b = this.wg;
            if (a != b) {
                this.wg = a;
                this.qt("XAxisLabelFormat", b, this.wg);
            }
        }
        get tu() {
            return this.ts;
        }
        set tu(a) {
            let b = this.ts;
            if (a != b) {
                this.ts = a;
                this.qt("XAxisLabelFormatSpecifiers", b, this.ts);
            }
        }
        get x1() {
            return this.wk;
        }
        set x1(a) {
            let b = this.wk;
            if (a != b) {
                this.wk = a;
                this.qt("YAxisLabelFormat", b, this.wk);
            }
        }
        get tv() {
            return this.tt;
        }
        set tv(a) {
            let b = this.tt;
            if (a != b) {
                this.tt = a;
                this.qt("YAxisLabelFormatSpecifiers", b, this.tt);
            }
        }
    }
    XYChart.$t = markType(XYChart, 'XYChart', DomainChart.$);
    return XYChart;
})();
