UNPKG

igniteui-angular-charts

Version:

Ignite UI Angular charting components for building rich data visualizations for modern web apps.

8,159 lines 294 kB
/*
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 { __extends, __values } from "tslib";
import { EventArgs, Base, markType, Point_$type, runOn, typeCast, IList$1_$type, Number_$type, markDep, IEnumerable_$type, Array_$type, delegateCombine, fromEnum, Boolean_$type, enumGetBox, fromEn, String_$type, getInstanceType, INotifyPropertyChanged_$type, PropertyChangedEventArgs, Delegate_$type, toNullable, TypeRegistrar } from "igniteui-angular-core";
import { Brush } from "igniteui-angular-core";
import { DataTemplate } from "igniteui-angular-core";
import { Visibility_$type } from "igniteui-angular-core";
import { DoubleCollection } from "igniteui-angular-core";
import { PenLineCap_$type } from "igniteui-angular-core";
import { Style } from "igniteui-angular-core";
import { MarkerType_$type } from "./MarkerType";
import { HorizontalAnchoredCategorySeries } from "./HorizontalAnchoredCategorySeries";
import { CategoryLineRasterizer } from "./CategoryLineRasterizer";
import { Series } from "./Series";
import { List$1 } from "igniteui-angular-core";
import { AnchoredCategorySeries } from "./AnchoredCategorySeries";
import { CategoryAxisBase } from "./CategoryAxisBase";
import { CategorySeries } from "./CategorySeries";
import { CategoryFramePreparer } from "./CategoryFramePreparer";
import { NumericAxisBase } from "./NumericAxisBase";
import { ISupportsMarkers_$type } from "./ISupportsMarkers";
import { CategoryFrame } from "./CategoryFrame";
import { Rect } from "igniteui-angular-core";
import { CategorySeriesView } from "./CategorySeriesView";
import { Axis } from "./Axis";
import { ScalerParams } from "./ScalerParams";
import { ObservableCollection$1 } from "igniteui-angular-core";
import { AxisRange } from "./AxisRange";
import { AnchoredCategorySeriesView } from "./AnchoredCategorySeriesView";
import { CategoryBucketCalculator } from "./CategoryBucketCalculator";
import { isNaN_, isInfinity, truncate } from "igniteui-angular-core";
import { CategoryTransitionInMode_$type } from "./CategoryTransitionInMode";
import { Path } from "igniteui-angular-core";
import { ISortingAxis_$type } from "./ISortingAxis";
import { FrameworkElement } from "igniteui-angular-core";
import { XamDataChart } from "./XamDataChart";
import { DependencyProperty } from "igniteui-angular-core";
import { DependencyObject } from "igniteui-angular-core";
import { NumericYAxis } from "./NumericYAxis";
import { Defaults } from "./Defaults";
import { Pool$1 } from "igniteui-angular-core";
import { Rectangle } from "igniteui-angular-core";
import { DataContext } from "igniteui-angular-core";
import { Dictionary$2 } from "igniteui-angular-core";
import { IScaler_$type } from "./IScaler";
import { IIsCategoryBased_$type } from "./IIsCategoryBased";
import { CategoryMarkerManager } from "./CategoryMarkerManager";
import { PropertyMetadata } from "igniteui-angular-core";
import { dateMinValue, dateMaxValue } from "igniteui-angular-core";
import { NumericXAxis } from "./NumericXAxis";
import { CategoryYAxis } from "./CategoryYAxis";
import { AnchoredCategoryBucketCalculator } from "./AnchoredCategoryBucketCalculator";
import { IStacked100Series_$type } from "./IStacked100Series";
import { NotImplementedException } from "igniteui-angular-core";
import { SplineSeriesBase } from "./SplineSeriesBase";
import { CollisionAvoider } from "./CollisionAvoider";
import { SafeSortedReadOnlyDoubleCollection } from "./SafeSortedReadOnlyDoubleCollection";
import { Numeric } from "igniteui-angular-core";
import { ICategoryScaler_$type } from "./ICategoryScaler";
import { ChartSelection } from "./ChartSelection";
import { CategoryXAxis } from "./CategoryXAxis";
import { IBarSeries_$type } from "./IBarSeries";
import { Color } from "igniteui-angular-core";
import { LegendItemBadgeShape_$type } from "igniteui-angular-core";
import { LegendItemBadgeMode_$type } from "igniteui-angular-core";
import { MarkerFillMode_$type } from "./MarkerFillMode";
import { MarkerOutlineMode_$type } from "./MarkerOutlineMode";
import { SeriesOutlineMode_$type } from "./SeriesOutlineMode";
import { SeriesHighlightedValuesDisplayMode_$type } from "igniteui-angular-core";
import { TransitionInSpeedType_$type } from "./TransitionInSpeedType";
import { PropertyUpdatedEventArgs } from "igniteui-angular-core";
import { DataLegendSeriesValueInfo } from "igniteui-angular-core";
import { DataLegendSeriesContext } from "igniteui-angular-core";
import { SingleValuesHolder } from "./SingleValuesHolder";
import { stringIsNullOrEmpty } from "igniteui-angular-core";
import { SplineSeriesBaseView } from "./SplineSeriesBaseView";
import { Canvas } from "igniteui-angular-core";
import { Panel } from "igniteui-angular-core";
import { PlatformConstants } from "igniteui-angular-core";
/**
 * @hidden
 */
var StackedSeriesCreatedEventArgs = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedSeriesCreatedEventArgs, _super);
    function StackedSeriesCreatedEventArgs(a) {
        var _this = _super.call(this) || this;
        _this.c = null;
        _this.c = a;
        return _this;
    }
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "brush", {
        get: function () {
            return this.c.kz;
        },
        set: function (a) {
            this.c.kz = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "legendItemTemplate", {
        get: function () {
            return this.c.hr;
        },
        set: function (a) {
            this.c.hr = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "legendItemBadgeTemplate", {
        get: function () {
            return this.c.hq;
        },
        set: function (a) {
            this.c.hq = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "legendItemVisibility", {
        get: function () {
            return this.c.lu;
        },
        set: function (a) {
            this.c.lu = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "outline", {
        get: function () {
            return this.c.k3;
        },
        set: function (a) {
            this.c.k3 = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "dashArray", {
        get: function () {
            return this.c.k8;
        },
        set: function (a) {
            this.c.k8 = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "dashCap", {
        get: function () {
            return this.c.lb;
        },
        set: function (a) {
            this.c.lb = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "index", {
        get: function () {
            return this.c.cc;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "thickness", {
        get: function () {
            return this.c.b4;
        },
        set: function (a) {
            this.c.b4 = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "title", {
        get: function () {
            return this.c.cj;
        },
        set: function (a) {
            this.c.cj = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "transitionDuration", {
        get: function () {
            return this.c.cd;
        },
        set: function (a) {
            this.c.cd = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "transitionEasingFunction", {
        get: function () {
            return this.c.ai;
        },
        set: function (a) {
            this.c.ai = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "markerBrush", {
        get: function () {
            return this.c.k0;
        },
        set: function (a) {
            this.c.k0 = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "markerOutline", {
        get: function () {
            return this.c.k1;
        },
        set: function (a) {
            this.c.k1 = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "markerStyle", {
        get: function () {
            return this.c.lr;
        },
        set: function (a) {
            this.c.lr = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "markerTemplate", {
        get: function () {
            return this.c.hs;
        },
        set: function (a) {
            this.c.hs = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "markerType", {
        get: function () {
            return this.c.x;
        },
        set: function (a) {
            this.c.x = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "markerThickness", {
        get: function () {
            return this.c.bx;
        },
        set: function (a) {
            this.c.bx = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesCreatedEventArgs.prototype, "lineCap", {
        get: function () {
            return this.c.la;
        },
        set: function (a) {
            this.c.lc = a;
        },
        enumerable: false,
        configurable: true
    });
    StackedSeriesCreatedEventArgs.$t = markType(StackedSeriesCreatedEventArgs, 'StackedSeriesCreatedEventArgs', EventArgs.$);
    return StackedSeriesCreatedEventArgs;
}(EventArgs));
export { StackedSeriesCreatedEventArgs };
/**
 * @hidden
 */
var FragmentBase = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(FragmentBase, _super);
    function FragmentBase() {
        var _this = _super.call(this) || this;
        _this.___neverPassByValue = true;
        _this.acx = null;
        _this._logicalSeriesLink = null;
        _this.acz = null;
        _this.acx = new CategoryLineRasterizer();
        return _this;
    }
    Object.defineProperty(FragmentBase.prototype, "logicalSeriesLink", {
        get: function () {
            return this._logicalSeriesLink;
        },
        set: function (a) {
            this._logicalSeriesLink = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(FragmentBase.prototype, "parentSeries", {
        get: function () {
            return this.acz;
        },
        set: function (a) {
            this.acz = a;
        },
        enumerable: false,
        configurable: true
    });
    FragmentBase.prototype.get_e5 = function () {
        return false;
    };
    FragmentBase.prototype.get_fb = function () {
        return true;
    };
    FragmentBase.prototype.nc = function () {
        if (this.logicalSeriesLink != null) {
            return this.logicalSeriesLink.e0;
        }
        return null;
    };
    FragmentBase.prototype.j2 = function () {
        var a = this.parentSeries;
        if (a.index == -1 || a.aa1 == null || a.aa1.f.indexOf(this) == -1) {
            return -1;
        }
        return a.aa1.f.indexOf(this);
    };
    FragmentBase.prototype.qa = function (a) {
        _super.prototype.qa.call(this, a);
        a.parentSeries = this.parentSeries;
        a.logicalSeriesLink = this.logicalSeriesLink;
    };
    FragmentBase.prototype.j7 = function () {
        var a = this.parentSeries;
        if (a.index == -1 || a.series.count == 0 || a.series.indexOf(this.logicalSeriesLink) == -1) {
            return -1;
        }
        return a.series.indexOf(this.logicalSeriesLink);
    };
    FragmentBase.prototype.resolveLegendIndex = function () {
        var a = this.parentSeries;
        if (a.aa5) {
            return -1 + a.index + a.aaw.count - a.aa1.f.indexOf(this);
        }
        return _super.prototype.resolveLegendIndex.call(this);
    };
    FragmentBase.prototype.bp = function () {
        return this.parentSeries;
    };
    FragmentBase.prototype.ys = function () {
        if (this.parentSeries == null) {
            return null;
        }
        return this.parentSeries.fetchXAxis();
    };
    FragmentBase.prototype.acw = function () {
        if (this.parentSeries == null) {
            return this.yz;
        }
        return this.parentSeries.yz;
    };
    FragmentBase.prototype.y9 = function () {
        if (this.parentSeries == null) {
            return null;
        }
        return this.parentSeries.fetchYAxis();
    };
    FragmentBase.prototype.ac2 = function (a, b, c, d, e, f, g, h) {
        var i = c[0];
        var j = c[1];
        var k = new Rect(0, i - 5, j - 5, 11, 11);
        if (!isNaN_(i) && !isNaN_(j) && !isInfinity(i) && !isInfinity(j) && d.tryAdd(k)) {
            b.n.add({ $type: Point_$type, x: i, y: j });
            a.updateMarkerTemplate(g, f, h);
            return true;
        }
        return false;
    };
    FragmentBase.prototype.aah = function (a, b) {
        a.v();
        if (this.valueColumn == null || this.parentSeries == null || this.logicalSeriesLink == null) {
            return;
        }
        if (this.logicalSeriesLink.a8.count == 0 || this.logicalSeriesLink.a7.count == 0) {
            return;
        }
        this.y0(b).d(a, b);
    };
    FragmentBase.prototype.wc = function (a, b, c) {
        var _this = this;
        return this.we(a, b, c, this.acw().r(this.ys(), this.cv.by, this.cv.bx, this.getEffectiveViewport1(this.cv)), this.y9(), this.ys(), runOn(this, this.ac3), function (d, e) { return _this.kb(d, e, _this.ys(), runOn(_this, _this.zt), _this.valueColumn != null ? new FragmentBaseValueList(_this) : null); }, function (d, e) { return _this.j9(d, e, _this.ys(), runOn(_this, _this.zt), _this.valueColumn != null ? new FragmentBaseValueList(_this) : null); });
    };
    FragmentBase.prototype.ai = function () {
        return [this.ys(), this.y9()];
    };
    FragmentBase.prototype.ac3 = function (a, b, c) {
        if (this.db == null) {
            return NaN;
        }
        var d = this.getEffectiveViewport1(this.cv);
        var e = new ScalerParams(0, this.db.v4, this.cv.bx, this.ys().ch, d);
        var f = this.yz.r(this.ys(), this.db.v4, this.cv.bx, d);
        return this.i7(this.valueColumn != null ? new FragmentBaseValueList(this) : null, a, this.ys(), e, f, runOn(this, this.zt), b, c);
    };
    FragmentBase.prototype.ac5 = function (a, b, c) {
        var d = this.aa9(c);
        var e = d;
        var f = this.logicalSeriesLink.az;
        var g = f ? this.parentSeries.aa1.e : this.parentSeries.aa1.d;
        var h = this;
        if (this.bn != null) {
            h = this.bn;
        }
        var i = g.indexOf(h);
        if (a.count == 0) {
            return;
        }
        if (i == -1) {
            return;
        }
        var j = false;
        for (var k = i; k >= 0; k--) {
            if (j) {
                break;
            }
            if (k == 0) {
                a.add({ $type: Point_$type, x: a._inner[a.count - 1].x, y: e });
                a.add({ $type: Point_$type, x: a._inner[0].x, y: e });
                break;
            }
            var l = typeCast(FragmentBase.$, g._inner[k - 1]);
            if (l != null && l.acx != null && l.acx.o.count > 0 && this.cv != null && l.he(this.cv.bx, this.cv.by, this.cv)) {
                j = true;
                for (var m = l.acx.o.count - 1; m >= 0; m--) {
                    a.add(l.acx.o._inner[m]);
                }
            }
        }
    };
    FragmentBase.prototype.he = function (a, b, c) {
        var d = _super.prototype.he.call(this, a, b, c);
        var e = typeCast(CategoryAxisBase.$, this.parentSeries.fetchXAxis());
        var f = this.parentSeries.fetchYAxis();
        if (this.parentSeries == null || e == null || e.itemsSource == null || f == null || this.parentSeries.dn == null || e.bi == null || f.bi == null) {
            d = false;
        }
        if (this.valueColumn == null) {
            return false;
        }
        if (isInfinity(this.valueColumn.minimum) && isInfinity(this.valueColumn.maximum)) {
            d = false;
        }
        if (isNaN_(this.valueColumn.minimum) && isNaN_(this.valueColumn.maximum)) {
            d = false;
        }
        return d;
    };
    FragmentBase.prototype.aa9 = function (a) {
        var b = 0;
        var c = a.by;
        var d = a.bx;
        var e = this.getEffectiveViewport1(a);
        var f = new ScalerParams(0, c, d, this.y9().ch, e);
        f.b = this.iy();
        if (!c.isEmpty && !d.isEmpty && this.y9() != null) {
            b = this.y9().el(0, f);
        }
        return b;
    };
    FragmentBase.prototype.ay = function (a) {
        return null;
    };
    FragmentBase.prototype.ac4 = function () {
        if (this.parentSeries == null) {
            return -1;
        }
        var a = this.parentSeries.index;
        var b = 0;
        var c = 1;
        if (this.parentSeries.aa5) {
            b = this.parentSeries.aaw.count - 1;
            c = -1;
        }
        for (var d = b; this.parentSeries.aa5 ? d >= 0 : d < this.parentSeries.aaw.count; d += c) {
            var e = this.parentSeries.aaw._inner[d];
            if (e.visualSeriesLink == this) {
                return a;
            }
            if (this.parentSeries.a5 == null || e.lt != 0 || e.ls != 0) {
                continue;
            }
            a++;
        }
        return -1;
    };
    FragmentBase.prototype.ac6 = function (a) {
        if (a == null) {
        }
    };
    FragmentBase.prototype.q9 = function (a, b, c, d) {
        _super.prototype.q9.call(this, a, b, c, d);
        if (this.parentSeries == null) {
            return;
        }
        var e = typeCast(NumericAxisBase.$, this.parentSeries.fetchYAxis());
        if (e == null) {
            return;
        }
        switch (b) {
            case "ValueColumn":
                if (this.aav.c8) {
                    this.aav.c7.g$i();
                }
                if (e != null && !e.c1()) {
                    this.parentSeries.aav().cw.g(this.id);
                    this.rr(this.gg && this.d7);
                }
                break;
            case "ActualBrush":
                if (this.logicalSeriesLink != null) {
                    this.logicalSeriesLink.ku = this.u9;
                }
                break;
        }
    };
    FragmentBase.prototype.rt = function (a, b) {
        _super.prototype.rt.call(this, a, b);
    };
    Object.defineProperty(FragmentBase.prototype, "useHighMarkerFidelity", {
        get: function () {
            return this.zq;
        },
        enumerable: false,
        configurable: true
    });
    FragmentBase.$t = markType(FragmentBase, 'FragmentBase', HorizontalAnchoredCategorySeries.$);
    return FragmentBase;
}(HorizontalAnchoredCategorySeries));
export { FragmentBase };
/**
 * @hidden
 */
var AreaFragment = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(AreaFragment, _super);
    function AreaFragment() {
        var _this = _super.call(this) || this;
        _this.ab = AreaFragment.$;
        return _this;
    }
    AreaFragment.prototype.bj = function () {
        return new AreaFragment();
    };
    AreaFragment.prototype.cs = function () {
        return new AreaFragmentView(this);
    };
    AreaFragment.prototype.q1 = function (a) {
        _super.prototype.q1.call(this, a);
        this.ac7 = a;
    };
    AreaFragment.prototype.get_ev = function () {
        return true;
    };
    AreaFragment.prototype.get_eu = function () {
        return true;
    };
    AreaFragment.prototype.y4 = function () {
        return 1;
    };
    AreaFragment.prototype.ac9 = function (a, b) {
        var c = this.ac7.dl.an;
        if (this.gy(a, c)) {
            return true;
        }
        var d = this.ac7.dm.an;
        if (this.gy(a, d)) {
            return true;
        }
        return false;
    };
    AreaFragment.prototype.gw = function (a, b) {
        if (this.ac8(a, b)) {
            return true;
        }
        if (this.ac9(a, b)) {
            return true;
        }
        if (this.xh(a, b)) {
            return true;
        }
        return false;
    };
    AreaFragment.prototype.ac8 = function (a, b) {
        var c = this.ac7.dn.an;
        if (this.gx(a, b, c)) {
            return true;
        }
        var d = this.ac7.dp.an;
        if (this.gx(a, b, d)) {
            return true;
        }
        return false;
    };
    AreaFragment.prototype.preferredCategoryMode = function (a) {
        return 0;
    };
    AreaFragment.prototype.o5 = function (a, b) {
        _super.prototype.o5.call(this, a, b);
        var c = b;
        c.dg();
    };
    AreaFragment.prototype.aak = function (a, b) {
        var _this = this;
        _super.prototype.aak.call(this, a, b);
        this.acx.a = typeCast(ISortingAxis_$type, this.xAxis) !== null ? true : false;
        var c = typeCast(AreaFragmentView.$, b);
        var d = a.f;
        var e = this.getEffectiveViewport1(c);
        this.y2.a2(this, this.zm(), runOn(this, this.ym), this.zv(b), this.zw(b));
        var f = false;
        var g = this.y2.b;
        if (g != null) {
            f = true;
        }
        if (f) {
            var h = new ScalerParams(0, b.by, b.bx, this.acd.ch, e);
            this.aag(d, -1, this.valueColumn.count, this.acd, h, b.q, -1);
        }
        this.y2.ad(c.dn, true, false, true, true);
        this.y2.ad(c.dp, true, false, true, true);
        this.y2.ad(c.dl, false, true, false, false);
        this.y2.ad(c.dm, false, true, false, false);
        var i = c.cw.d;
        this.acx.i(c.dl, c.dn, c.dm, c.dp, a.f.count, a.f, true, i, this.id, function (j, k, l, m, n) { return _this.ac5(j, a.f, b); }, 0);
        c.dl._opacity = this.y2.j * this.h9;
        c.dm._opacity = 0.5 * this.y2.j * this.h9;
    };
    AreaFragment.prototype.sd = function () {
        var a = (typeCast(XamDataChart.$, this.db));
        if (a != null) {
            this.h9 = isNaN_(this.ik) ? this.parentSeries.h9 : this.ik;
        }
    };
    Object.defineProperty(AreaFragment.prototype, "useHighMarkerFidelity", {
        get: function () {
            return this.zq;
        },
        enumerable: false,
        configurable: true
    });
    AreaFragment.$t = markType(AreaFragment, 'AreaFragment', FragmentBase.$);
    return AreaFragment;
}(FragmentBase));
export { AreaFragment };
/**
 * @hidden
 */
var ColumnFragment = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(ColumnFragment, _super);
    function ColumnFragment() {
        var _this = _super.call(this) || this;
        _this.ab = ColumnFragment.$;
        return _this;
    }
    ColumnFragment.prototype.bj = function () {
        return new ColumnFragment();
    };
    ColumnFragment.prototype.get_ez = function () {
        return true;
    };
    ColumnFragment.prototype.get_fl = function () {
        return true;
    };
    ColumnFragment.prototype.jk = function () {
        if (!isNaN_(this.jj)) {
            return _super.prototype.jk.call(this);
        }
        return Defaults.h;
    };
    ColumnFragment.prototype.y4 = function () {
        return 1;
    };
    ColumnFragment.prototype.cs = function () {
        return new ColumnFragmentView(this);
    };
    ColumnFragment.prototype.q1 = function (a) {
        _super.prototype.q1.call(this, a);
        this.ac8 = a;
    };
    Object.defineProperty(ColumnFragment.prototype, "fragmentXAxis", {
        get: function () {
            return this.parentSeries != null ? typeCast(CategoryAxisBase.$, this.parentSeries.fetchXAxis()) : null;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(ColumnFragment.prototype, "fragmentYAxis", {
        get: function () {
            return this.parentSeries != null ? typeCast(NumericYAxis.$, this.parentSeries.fetchYAxis()) : null;
        },
        enumerable: false,
        configurable: true
    });
    ColumnFragment.prototype.preferredCategoryMode = function (a) {
        return 2;
    };
    ColumnFragment.prototype.ys = function () {
        return this.fragmentXAxis;
    };
    ColumnFragment.prototype.y9 = function () {
        return this.fragmentYAxis;
    };
    ColumnFragment.prototype.get_ed = function () {
        return true;
    };
    ColumnFragment.prototype.fetchXAxis = function () {
        return null;
    };
    ColumnFragment.prototype.fetchYAxis = function () {
        return null;
    };
    ColumnFragment.prototype.o5 = function (a, b) {
        _super.prototype.o5.call(this, a, b);
        var c = b;
        if (a && c.dg != null) {
            this.yu.n.clear();
            c.dg.count = 0;
        }
    };
    ColumnFragment.prototype.ay = function (a) {
        if (this.valueColumn == null || this.valueColumn.count == 0) {
            return null;
        }
        return new AxisRange(this.valueColumn.minimum, this.valueColumn.maximum);
    };
    ColumnFragment.prototype.he = function (a, b, c) {
        if (this.parentSeries == null) {
            return false;
        }
        return this.parentSeries.aa6(this, a, b, this.ada(c));
    };
    ColumnFragment.prototype.hb = function () {
        return true;
    };
    ColumnFragment.prototype.zv = function (a) {
        if (this.parentSeries != null) {
            return this.parentSeries.zv(this.parentSeries.cv);
        }
        return _super.prototype.zv.call(this, a);
    };
    ColumnFragment.prototype.zw = function (a) {
        if (this.parentSeries != null) {
            return this.parentSeries.zw(this.parentSeries.cv);
        }
        return _super.prototype.zv.call(this, a);
    };
    ColumnFragment.prototype.zx = function (a) {
        if (this.parentSeries != null) {
            return this.parentSeries.zx(this.parentSeries.cv);
        }
        return _super.prototype.zx.call(this, a);
    };
    ColumnFragment.prototype.wn = function (a) {
        if (this.ys() == null || this.fragmentYAxis == null) {
            return Rect.empty;
        }
        var b = this.v7(a);
        var c = this.cv.by;
        var d = this.cv.bx;
        var e = this.getEffectiveViewport1(this.cv);
        var f = new ScalerParams(0, c, d, this.fragmentYAxis.ch, e);
        var g = this.an(this.ys(), this.yu.f, this.zv(this.cv), this.zw(this.cv), a, true);
        if (g == null) {
            return Rect.empty;
        }
        var h = g[0];
        var i = g[1];
        var j = Math.abs(b.x - h[0]);
        var k = Math.abs(b.x - i[0]);
        var l = this.ys().k8(c, d, e);
        if (j < k) {
            var m = h[0] - 0.5 * l;
            var n = h[1];
            var o = h[2];
            return new Rect(0, m, Math.min(n, o), l, Math.max(n, o) - Math.min(n, o));
        }
        else {
            var p = i[0] - 0.5 * l;
            var q = i[1];
            var r = i[2];
            return new Rect(0, p, Math.min(q, r), l, Math.max(q, r) - Math.min(q, r));
        }
    };
    ColumnFragment.prototype.gw = function (a, b) {
        if (this.gz(a, b)) {
            return true;
        }
        if (this.xh(a, b)) {
            return true;
        }
        return false;
    };
    ColumnFragment.prototype.gz = function (a, b) {
        var c = this.wo(a);
        if (c.isEmpty) {
            return false;
        }
        var d = this.adh(c, this.iu(b));
        return d.containsPoint(a);
    };
    ColumnFragment.prototype.adh = function (a, b) {
        var c = a.left + a.width / 2;
        var d = a.top + a.height / 2;
        var e = c - ((a.width / 2) + b);
        var f = d - (a.height / 2);
        var g = a.height;
        var h = a.width + b * 2;
        return new Rect(0, e, f, h, g);
    };
    ColumnFragment.prototype.kx = function (a, b) {
        var c = typeCast(FrameworkElement.$, a);
        var d = c != null ? typeCast(DataContext.$, c.dataContext) : null;
        var e = d != null ? d.item : null;
        if (e == null) {
            var f = this.cv.bx;
            var g = this.db != null ? this.db.v4 : Rect.empty;
            var h = { $type: Point_$type, x: g.left + g.width * (b.x - f.left) / f.width, y: g.top + g.height * (b.y - f.top) / f.height };
            e = this.kn(h);
        }
        return e;
    };
    ColumnFragment.prototype.kn = function (a) {
        var b = 0;
        if (typeCast(ISortingAxis_$type, this.ys()) !== null) {
            b = this.j5(a);
            if (b == -1) {
                return null;
            }
        }
        else {
            b = this.j3(a);
        }
        return b >= 0 && this.dn != null && b < this.dn.count ? this.dn.item(b) : null;
    };
    ColumnFragment.prototype.j5 = function (a) {
        var b = this.cv.by;
        var c = this.cv.bx;
        var d = this.getEffectiveViewport1(this.cv);
        if (b.isEmpty || c.isEmpty) {
            return -1;
        }
        var e = this.ys();
        var f = new ScalerParams(0, b, c, e.ch, d);
        var g = typeCast(ISortingAxis_$type, this.fragmentXAxis);
        var h = this.wj(this.cv);
        var i = e.eo(h.left, f);
        var j = e.eo(h.right, f);
        var k = (a.x - b.left) / b.width;
        var l = i + ((j - i) * k);
        if (truncate(l) <= dateMinValue().getTime() || truncate(l) >= dateMaxValue().getTime()) {
            return -1;
        }
        var m = g.i$f(l);
        return m;
    };
    ColumnFragment.prototype.j3 = function (a) {
        if (this.parentSeries == null) {
            return -1;
        }
        return this.parentSeries.abd(a);
    };
    ColumnFragment.prototype.ac2 = function (a, b, c, d, e, f, g, h) {
        var i = 0;
        var j = c[0];
        var k = e < i ? c[2] : c[1];
        var l = new Rect(0, j - 5, k - 5, 11, 11);
        if (!isNaN_(j) && !isNaN_(k) && !isInfinity(j) && !isInfinity(k) && d.tryAdd(l)) {
            b.n.add({ $type: Point_$type, x: j, y: k });
            a.updateMarkerTemplate(g, f, h);
            return true;
        }
        return false;
    };
    ColumnFragment.prototype.ada = function (a) {
        if (a.p) {
            return this.parentSeries.ba.a$j.item(a.ad);
        }
        else if (a == this.cu) {
            return this.parentSeries.cu;
        }
        else {
            return this.parentSeries.y3;
        }
    };
    ColumnFragment.prototype.rq = function (a, b, c, d, e) {
        this.ba.a$z(this, a, b, d, e);
        var f = this.ba.a$j.item(d);
        var g = f;
        f.a3(c);
        var h = this.ada(f);
        h.cw.g(this.id);
        if (this.d5(g)) {
            return;
        }
        if (this.aaw == null) {
            this.aaw = new CategoryFrame(3);
        }
        this.aaw.v();
        this.aah(this.aaw, g);
        this.aak(this.aaw, g);
    };
    ColumnFragment.prototype.aah = function (a, b) {
        a.v();
        if (this.valueColumn == null || this.parentSeries == null || this.logicalSeriesLink == null || this.logicalSeriesLink.a7.count == 0 || this.logicalSeriesLink.a8.count == 0) {
            return;
        }
        var c;
        if (b.p) {
            c = this.parentSeries.aau;
        }
        else if (b == this.cu) {
            c = this.parentSeries.yx;
        }
        else {
            c = this.parentSeries.yu;
        }
        var d = typeCast(CategorySeriesView.$, this.ada(b));
        a.f.clear();
        if (a.m != null) {
            a.m.clear();
        }
        a.n.clear();
        var e = d.cw.e;
        var f = d.cw.f;
        var g = this.parentSeries.yz.h.yScaler;
        var h = typeCast(ISortingAxis_$type, this.parentSeries.yz.h.scaler);
        var i = typeCast(NumericAxisBase.$, g) !== null && g.lp;
        var j = typeCast(StackedBucketCalculator.$, d.cw);
        var k = d.cw.d;
        var l = 0;
        if (e <= f) {
            for (var m = e; m <= f; m++) {
                var n = m * k;
                if (this._visibility != 0) {
                    break;
                }
                if (m >= this.valueColumn.count || m >= c.f.count + e) {
                    continue;
                }
                var o = this.valueColumn.item(m);
                var p = !i || (i && o > 0);
                var q = void 0;
                if (h == null) {
                    q = j.getBucket1(this, m, m, b.by, b.bx, c);
                }
                else {
                    q = j.getBucket1(this, m, h.i$b._inner[m], b.by, b.bx, c);
                }
                a.f.add(q);
                if (h != null) {
                    if (a.m == null) {
                        a.m = new List$1(Number_$type, 0);
                    }
                    a.m.add(n);
                }
                if (p) {
                    if (this.ac2(b, a, q, this.yz.h.provideCollisionDetector(), o, n, l, a.f.count - 1)) {
                        l++;
                    }
                }
            }
        }
        b.cz.count = l;
    };
    ColumnFragment.prototype.aak = function (a, b) {
        _super.prototype.aak.call(this, a, b);
        if (this.parentSeries == null) {
            return;
        }
        this.parentSeries.abm(this, a, b, runOn(this, this.ym));
        CategoryMarkerManager.e(this, a.n, b.cz, this.xi);
    };
    ColumnFragment.prototype.q9 = function (a, b, c, d) {
        _super.prototype.q9.call(this, a, b, c, d);
    };
    Object.defineProperty(ColumnFragment.prototype, "useHighMarkerFidelity", {
        get: function () {
            return this.zq;
        },
        enumerable: false,
        configurable: true
    });
    ColumnFragment.$t = markType(ColumnFragment, 'ColumnFragment', FragmentBase.$);
    ColumnFragment.$$p = markDep(DependencyProperty, PropertyMetadata, ColumnFragment, 'raisePropertyChanged', ['RadiusX:adb:adf', [1, 0], 'RadiusY:adc:adg', [1, 0]]);
    return ColumnFragment;
}(FragmentBase));
export { ColumnFragment };
/**
 * @hidden
 */
var BarFragment = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(BarFragment, _super);
    function BarFragment() {
        var _this = _super.call(this) || this;
        _this.ab = BarFragment.$;
        return _this;
    }
    BarFragment.prototype.get_ex = function () {
        return true;
    };
    BarFragment.prototype.get_fl = function () {
        return true;
    };
    BarFragment.prototype.get_ez = function () {
        return false;
    };
    BarFragment.prototype.y4 = function () {
        return 1;
    };
    Object.defineProperty(BarFragment.prototype, "barFragmentXAxis", {
        get: function () {
            return this.parentSeries != null ? this.parentSeries.xAxis : null;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(BarFragment.prototype, "barFragmentYAxis", {
        get: function () {
            return this.parentSeries != null ? this.parentSeries.yAxis : null;
        },
        enumerable: false,
        configurable: true
    });
    BarFragment.prototype.ys = function () {
        if (this.parentSeries == null) {
            return null;
        }
        return this.parentSeries.fetchYAxis();
    };
    BarFragment.prototype.get_isVertical = function () {
        return true;
    };
    BarFragment.prototype.ir = function (a) {
        var b = this.db != null ? this.db.v4 : Rect.empty;
        var c = this.cv.bx;
        var d = this.wj(this.cv);
        var e = this.getEffectiveViewport1(this.cv);
        var f = this.ys();
        var g = -1;
        if (f != null && !b.isEmpty && !c.isEmpty) {
            var h = new ScalerParams(0, b, c, f.ch, e);
            var i = f.eo(d.top, h);
            var j = f.eo(d.bottom, h);
            var k = (a.y - b.top) / b.height;
            var l = i + (k * (j - i));
            if (f.categoryMode != 0) {
                l -= 0.5;
            }
            g = l;
        }
        return g;
    };
    BarFragment.prototype.y9 = function () {
        if (this.parentSeries == null) {
            return null;
        }
        return this.parentSeries.y9();
    };
    BarFragment.prototype.adh = function (a, b) {
        var c = a.left + a.width / 2;
        var d = a.top + a.height / 2;
        var e = c - (a.width / 2);
        var f = d - ((a.height / 2) + b);
        var g = a.height + b * 2;
        var h = a.width;
        return new Rect(0, e, f, h, g);
    };
    BarFragment.prototype.wn = function (a) {
        if (this.ys() == null) {
            return Rect.empty;
        }
        var b = this.v7(a);
        var c = this.cv.by;
        var d = this.cv.bx;
        var e = this.getEffectiveViewport1(this.cv);
        var f = this.ys();
        var g = new ScalerParams(0, c, d, f.ch, e);
        var h = this.an(this.ys(), this.yu.f, this.zv(this.cv), this.zw(this.cv), a, true);
        if (h == null) {
            return Rect.empty;
        }
        var i = h[0];
        var j = h[1];
        var k = Math.abs(b.y - i[0]);
        var l = Math.abs(b.y - j[0]);
        var m = f.k8(c, d, e);
        if (k < l) {
            var n = i[0] - 0.5 * m;
            var o = i[2];
            var p = i[1];
            return new Rect(0, o, n, Math.max(p, o) - Math.min(p, o), m);
        }
        else {
            var q = j[0] - 0.5 * m;
            var r = j[2];
            var s = j[1];
            return new Rect(0, r, q, Math.max(s, r) - Math.min(s, r), m);
        }
    };
    BarFragment.prototype.gw = function (a, b) {
        if (this.gz(a, b)) {
            return true;
        }
        if (this.xh(a, b)) {
            return true;
        }
        return false;
    };
    BarFragment.prototype.ac2 = function (a, b, c, d, e, f, g, h) {
        var i = c[0];
        var j = e < 0 ? c[2] : c[1];
        var k = new Rect(0, j - 5, i - 5, 11, 11);
        if (!isNaN_(j) && !isNaN_(i) && !isInfinity(j) && !isInfinity(i) && d.tryAdd(k)) {
            b.n.add({ $type: Point_$type, x: j, y: i });
            a.updateMarkerTemplate(g, f, h);
            return true;
        }
        return false;
    };
    BarFragment.prototype.kn = function (a) {
        var b = 0;
        if (typeCast(ISortingAxis_$type, this.barFragmentYAxis) !== null) {
            b = this.j5(a);
            if (b == -1) {
                return null;
            }
        }
        else {
            b = this.j3(a);
        }
        return b >= 0 && this.dn != null && b < this.dn.count ? this.dn.item(b) : null;
    };
    BarFragment.prototype.j5 = function (a) {
        var b = this.cv.by;
        var c = this.cv.bx;
        if (b.isEmpty || c.isEmpty) {
            return -1;
        }
        var d = this.getEffectiveViewport1(this.cv);
        var e = new ScalerParams(0, b, c, this.barFragmentYAxis.ch, d);
        var f = typeCast(ISortingAxis_$type, this.barFragmentYAxis);
        var g = this.wj(this.cv);
        var h = this.barFragmentYAxis.eo(g.top, e);
        var i = this.barFragmentYAxis.eo(g.bottom, e);
        var j = (a.y - b.top) / b.height;
        var k = h + ((i - h) * j);
        if (truncate(k) <= dateMinValue().getTime() || truncate(k) >= dateMaxValue().getTime()) {
            return -1;
        }
        var l = f.i$f(k);
        return l;
    };
    BarFragment.prototype.aa9 = function (a) {
        var b = 0;
        var c = a.by;
        var d = a.bx;
        var e = this.getEffectiveViewport1(a);
        var f = new ScalerParams(0, c, d, this.barFragmentXAxis.ch, e);
        if (!c.isEmpty && !d.isEmpty && this.barFragmentXAxis != null) {
            b = this.barFragmentXAxis.el(0, f);
        }
        return b;
    };
    BarFragment.prototype.q9 = function (a, b, c, d) {
        _super.prototype.q9.call(this, a, b, c, d);
        if (this.parentSeries == null || this.barFragmentXAxis == null) {
            return;
        }
        var e = this.barFragmentXAxis;
        switch (b) {
            case "ValueColumn":
                if (this.aav.c8) {
                    this.aav.c7.g$i();
                }
                if (e != null && !e.c1()) {
                    this.parentSeries.aav().cw.g(this.id);
                    this.rr(this.gg && this.d7);
                }
                break;
        }
    };
    Object.defineProperty(BarFragment.prototype, "useHighMarkerFidelity", {
        get: function () {
            return this.zq;
        },
        enumerable: false,
        configurable: true
    });
    BarFragment.$t = markType(BarFragment, 'BarFragment', ColumnFragment.$);
    return BarFragment;
}(ColumnFragment));
export { BarFragment };
/**
 * @hidden
 */
var AreaFragmentBucketCalculator = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(AreaFragmentBucketCalculator, _super);
    function AreaFragmentBucketCalculator(a) {
        return _super.call(this, a) || this;
    }
    AreaFragmentBucketCalculator.prototype.getBucketWithoutUnknowns = function (a) {
        return this.getBucket(a);
    };
    AreaFragmentBucketCalculator.prototype.getBucket = function (a) {
        var b = Math.min(a * this.d, this.i.c5.valueColumn.count - 1);
        var c = Math.min(b + this.d - 1, this.i.c5.valueColumn.count - 1);
        var d = NaN;
        var e = NaN;
        var f = this.i.c5;
        var g = f.parentSeries;
        var h = typeCast(IStacked100Series_$type, g) !== null;
        var i = this.i.c5.valueColumn;
        var j = g.aas;
        var k = g.aat;
        var l = f.logicalSeriesLink.a8;
        var m = f.logicalSeriesLink.a7;
        for (var n = b; n <= c; ++n) {
            var o = i.item(n);
            if (isNaN_(o) || isInfinity(o)) {
                o = 0;
            }
            var p = Math.abs(k[n]) + j[n];
            if (h) {
                if (p == 0) {
                    o = 0;
                }
                else if (o < 0) {
                    o = (l._inner[n] + o) / p * 100;
                }
                else {
                    o = (m._inner[n] + o) / p * 100;
                }
            }
            else {
                o = o < 0 ? l._inner[n] + o : m._inner[n] + o;
            }
            if (!isNaN_(d)) {
                if (!isNaN_(o)) {
                    d = Math.min(d, o);
                    e = Math.max(e, o);
                }
            }
            else {
                d = o;
                e = o;
            }
        }
        if (!isNaN_(d)) {
            return [0.5 * (b + c), d, e];
        }
        return [0.5 * (b + c), NaN, NaN];
    };
    AreaFragmentBucketCalculator.$t = markType(AreaFragmentBucketCalculator, 'AreaFragmentBucketCalculator', AnchoredCategoryBucketCalculator.$);
    return AreaFragmentBucketCalculator;
}(AnchoredCategoryBucketCalculator));
export { AreaFragmentBucketCalculator };
/**
 * @hidden
 */
var LineFragmentBucketCalculator = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(LineFragmentBucketCalculator, _super);
    function LineFragmentBucketCalculator(a) {
        return _super.call(this, a) || this;
    }
    LineFragmentBucketCalculator.prototype.getBucketWithoutUnknowns = function (a) {
        return this.getBucket(a);
    };
    LineFragmentBucketCalculator.prototype.getBucket = function (a) {
        var b = Math.min(a * this.d, this.i.c5.valueColumn.count - 1);
        var c = Math.min(b + this.d - 1, this.i.c5.valueColumn.count - 1);
        var d = NaN;
        var e = NaN;
        var f = typeCast(FragmentBase.$, this.i.c5);
        var g = f.parentSeries;
        for (var h = b; h <= c; ++h) {
            var i = this.i.c5.valueColumn.item(h);
            var j = Math.abs(g.aat[h]) + g.aas[h];
            if (isNaN_(i) || isInfinity(i)) {
                i = 0;
            }
            if (typeCast(IStacked100Series_$type, g) !== null) {
                if (j == 0) {
                    i = 0;
                }
                else if (i < 0) {
                    i = (f.logicalSeriesLink.a8._inner[h] + i) / j * 100;
                }
                else {
                    i = (f.logicalSeriesLink.a7._inner[h] + i) / j * 100;
                }
            }
            else {
                i = i < 0 ? f.logicalSeriesLink.a8._inner[h] + i : f.logicalSeriesLink.a7._inner[h] + i;
            }
            if (!isNaN_(d)) {
                if (!isNaN_(i)) {
                    d = Math.min(d, i);
                    e = Math.max(e, i);
                }
            }
            else {
                d = i;
                e = i;
            }
        }
        if (!isNaN_(d)) {
            return [0.5 * (b + c), d, e];
        }
        return [0.5 * (b + c), NaN, NaN];
    };
    LineFragmentBucketCalculator.$t = markType(LineFragmentBucketCalculator, 'LineFragmentBucketCalculator', AnchoredCategoryBucketCalculator.$);
    return LineFragmentBucketCalculator;
}(AnchoredCategoryBucketCalculator));
export { LineFragmentBucketCalculator };
/**
 * @hidden
 */
var SplineFragmentBucketCalculator = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(SplineFragmentBucketCalculator, _super);
    function SplineFragmentBucketCalculator(a) {
        return _super.call(this, a) || this;
    }
    SplineFragmentBucketCalculator.prototype.getBucket = function (a) {
        var b = Math.min(a * this.d, this.i.c5.valueColumn.count - 1);
        var c = Math.min(b + this.d - 1, this.i.c5.valueColumn.count - 1);
        var d = NaN;
        var e = NaN;
        var f = typeCast(SplineFragmentBase.$, this.i.c5);
        var g = f.parentSeries;
        for (var h = b; h <= c; ++h) {
            var i = this.i.c5.valueColumn.item(h);
            var j = Math.abs(g.aat[h]) + g.aas[h];
            if (isNaN_(i) || isInfinity(i)) {
                i = 0;
            }
            if (typeCast(IStacked100Series_$type, g) !== null) {
                if (j == 0) {
                    i = 0;
                }
                else if (i < 0) {
                    i = (f.logicalSeriesLink.a8._inner[h] + i) / j * 100;
                }
                else {
                    i = (f.logicalSeriesLink.a7._inner[h] + i) / j * 100;
                }
            }
            else {
                i = i < 0 ? f.logicalSeriesLink.a8._inner[h] + i : f.logicalSeriesLink.a7._inner[h] + i;
            }
            if (!isNaN_(d)) {
                if (!isNaN_(i)) {
                    d = Math.min(d, i);
                    e = Math.max(e, i);
                }
            }
            else {
                d = i;
                e = i;
            }
        }
        if (!isNaN_(d)) {
            return [0.5 * (b + c), d, e];
        }
        return [0.5 * (b + c), NaN, NaN];
    };
    SplineFragmentBucketCalculator.$t = markType(SplineFragmentBucketCalculator, 'SplineFragmentBucketCalculator', AnchoredCategoryBucketCalculator.$);
    return SplineFragmentBucketCalculator;
}(AnchoredCategoryBucketCalculator));
export { SplineFragmentBucketCalculator };
/**
 * @hidden
 */
var StackedBucketCalculator = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedBucketCalculator, _super);
    function StackedBucketCalculator(a) {
        return _super.call(this, a) || this;
    }
    StackedBucketCalculator.prototype.getBucket = function (a) {
        var b = typeCast(StackedSeriesBase.$, this.c.cy);
        var c = Math.min(b.aat != null ? b.aat.length : 0, b.aas != null ? b.aas.length : 0);
        var d = Math.min(a * this.d, c - 1);
        var e = Math.min(d + this.d - 1, c - 1);
        var f = NaN;
        var g = NaN;
        for (var h = d; h <= e; ++h) {
            var i = Math.min(b.aat[h], b.aas[h]);
            var j = Math.max(b.aat[h], b.aas[h]);
            if (!isNaN_(f)) {
                if (!isNaN_(i)) {
                    f = Math.min(f, i);
                    g = Math.max(g, i);
                }
                if (!isNaN_(j)) {
                    f = Math.min(f, j);
                    g = Math.max(g, j);
                }
            }
            else {
                f = i;
                g = j;
            }
        }
        if (!isNaN_(f) && !isNaN_(g)) {
            return [0.5 * (d + e), f, g];
        }
        return [NaN, NaN, NaN];
    };
    StackedBucketCalculator.prototype.getBucket1 = function (a, b, c, d, e, f) {
        return null;
    };
    StackedBucketCalculator.$t = markType(StackedBucketCalculator, 'StackedBucketCalculator', CategoryBucketCalculator.$);
    return StackedBucketCalculator;
}(CategoryBucketCalculator));
export { StackedBucketCalculator };
/**
 * @hidden
 */
var StackedBarBucketCalculator = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedBarBucketCalculator, _super);
    function StackedBarBucketCalculator(a) {
        return _super.call(this, a) || this;
    }
    StackedBarBucketCalculator.prototype.g = function (a) {
        var b = this.c.by;
        var c = this.c.bx;
        var d = typeCast(StackedBarSeries.$, this.c.cy);
        var e = this.c.cy.dn;
        if (b.isEmpty || c.isEmpty || d.yAxis == null || e == null || e.count == 0) {
            this.d = 0;
            return;
        }
        var f = d.getEffectiveViewport1(this.c);
        var g = new ScalerParams(0, b, c, d.yAxis.ch, f);
        var h = d.wj(this.c);
        var i = Math.floor(d.yAxis.ep(h.top, g, 0));
        var j = Math.ceil(d.yAxis.ep(h.bottom, g, 0));
        if (!d.yAxis.ch) {
            j = Math.ceil(d.yAxis.ep(h.top, g, 0));
            i = Math.floor(d.yAxis.ep(h.bottom, g, 0));
        }
        var k = Math.floor((j - i + 1) * a / h.height);
        this.d = truncate(Math.max(1, k));
        this.e = truncate(Math.max(0, Math.floor(i / this.d) - 1));
        this.f = truncate(Math.ceil(j / this.d));
    };
    StackedBarBucketCalculator.prototype.getBucket = function (a) {
        return _super.prototype.getBucket.call(this, a);
    };
    StackedBarBucketCalculator.prototype.getBucket1 = function (a, b, c, d, e, f) {
        var g = [NaN, NaN, NaN];
        var h = typeCast(BarFragment.$, a);
        if (h == null || h.logicalSeriesLink == null) {
            return g;
        }
        var i = typeCast(StackedBarSeries.$, this.c.cy);
        var j = a.valueColumn.item(c);
        var k = 0;
        var l = NaN;
        var m = NaN;
        var n = Number.NEGATIVE_INFINITY;
        var o = Number.POSITIVE_INFINITY;
        var p = i.getEffectiveViewport1(this.c);
        var q = Math.min(i.aat != null ? i.aat.length : 0, i.aas != null ? i.aas.length : 0);
        var r = c * this.d;
        var s = Math.min(r + this.d - 1, q - 1);
        if (r <= s) {
            for (var t = r; t <= s; ++t) {
                j = a.valueColumn.item(t);
                if (j < k) {
                    o = Math.min(o, h.logicalSeriesLink.a8._inner[t] + j);
                    n = Math.max(n, h.logicalSeriesLink.a8._inner[t]);
                }
                else {
                    o = Math.min(o, h.logicalSeriesLink.a7._inner[t]);
                    n = Math.max(n, h.logicalSeriesLink.a7._inner[t] + j);
                }
                if (!isNaN_(l)) {
                    if (!isNaN_(o)) {
                        l = Math.min(l, o);
                        m = Math.max(m, o);
                    }
                    if (!isNaN_(n)) {
                        l = Math.min(l, n);
                        m = Math.max(m, n);
                    }
                }
                else {
                    l = o;
                    m = n;
                }
            }
        }
        var u = new ScalerParams(0, d, e, i.xAxis.ch, p);
        g = [f.f._inner[b - this.e][0], i.xAxis.el(m, u), i.xAxis.el(l, u)];
        return g;
    };
    StackedBarBucketCalculator.$t = markType(StackedBarBucketCalculator, 'StackedBarBucketCalculator', StackedBucketCalculator.$);
    return StackedBarBucketCalculator;
}(StackedBucketCalculator));
export { StackedBarBucketCalculator };
/**
 * @hidden
 */
var StackedColumnBucketCalculator = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedColumnBucketCalculator, _super);
    function StackedColumnBucketCalculator(a) {
        return _super.call(this, a) || this;
    }
    StackedColumnBucketCalculator.prototype.getBucket = function (a) {
        return _super.prototype.getBucket.call(this, a);
    };
    StackedColumnBucketCalculator.prototype.getBucket1 = function (a, b, c, d, e, f) {
        var g = [NaN, NaN, NaN];
        var h = typeCast(ColumnFragment.$, a);
        if (h == null || h.logicalSeriesLink == null) {
            return g;
        }
        var i = typeCast(StackedColumnSeries.$, this.c.cy);
        var j = a.valueColumn.item(c);
        var k = 0;
        var l = NaN;
        var m = NaN;
        var n = Number.NEGATIVE_INFINITY;
        var o = Number.POSITIVE_INFINITY;
        var p = i.getEffectiveViewport1(this.c);
        var q = Math.min(i.aat != null ? i.aat.length : 0, i.aas != null ? i.aas.length : 0);
        var r = c * this.d;
        var s = Math.min(r + this.d - 1, q - 1);
        if (r <= s) {
            for (var t = r; t <= s; ++t) {
                j = a.valueColumn.item(t);
                if (j < k) {
                    o = Math.min(o, h.logicalSeriesLink.a8._inner[t] + j);
                    n = Math.max(n, h.logicalSeriesLink.a8._inner[t]);
                }
                else {
                    o = Math.min(o, h.logicalSeriesLink.a7._inner[t]);
                    n = Math.max(n, h.logicalSeriesLink.a7._inner[t] + j);
                }
                if (!isNaN_(l)) {
                    if (!isNaN_(o)) {
                        l = Math.min(l, o);
                        m = Math.max(m, o);
                    }
                    if (!isNaN_(n)) {
                        l = Math.min(l, n);
                        m = Math.max(m, n);
                    }
                }
                else {
                    l = o;
                    m = n;
                }
            }
        }
        var u = new ScalerParams(0, d, e, i.yAxis.ch, p);
        g = [f.f._inner[b - this.e][0], i.yAxis.el(m, u), i.yAxis.el(l, u)];
        return g;
    };
    StackedColumnBucketCalculator.$t = markType(StackedColumnBucketCalculator, 'StackedColumnBucketCalculator', StackedBucketCalculator.$);
    return StackedColumnBucketCalculator;
}(StackedBucketCalculator));
export { StackedColumnBucketCalculator };
/**
 * @hidden
 */
var FragmentBaseValueList = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(FragmentBaseValueList, _super);
    function FragmentBaseValueList(a) {
        var _this = _super.call(this) || this;
        _this.a = null;
        _this.a = a;
        return _this;
    }
    FragmentBaseValueList.prototype.indexOf = function (a) {
        throw new NotImplementedException(0);
    };
    FragmentBaseValueList.prototype.insert = function (a, b) {
        throw new NotImplementedException(0);
    };
    FragmentBaseValueList.prototype.removeAt = function (a) {
        throw new NotImplementedException(0);
    };
    FragmentBaseValueList.prototype.item = function (a, b) {
        if (arguments.length === 2) {
            throw new NotImplementedException(0);
            return b;
        }
        else {
            var b_1 = false;
            if (this.a.parentSeries != null) {
                b_1 = this.a.parentSeries.aa4;
            }
            var c = this.a.parentSeries;
            if (c == null) {
                return NaN;
            }
            if (c.aat == null || c.aas == null || c.aat.length == 0 || c.aas.length == 0) {
                return NaN;
            }
            var d = this.a.valueColumn.item(a);
            var e = Math.abs(c.aat[a]) + c.aas[a];
            var f = this.a.logicalSeriesLink.a7;
            var g = this.a.logicalSeriesLink.a8;
            if (isNaN_(d) || isInfinity(d)) {
                d = 0;
            }
            if (b_1) {
                if (e == 0) {
                    d = 0;
                }
                else if (d < 0) {
                    d = (g._inner[a] + d) / e * 100;
                }
                else {
                    d = (f._inner[a] + d) / e * 100;
                }
            }
            else {
                d = d < 0 ? g._inner[a] + d : f._inner[a] + d;
            }
            return d;
        }
    };
    FragmentBaseValueList.prototype.add = function (a) {
        throw new NotImplementedException(0);
    };
    FragmentBaseValueList.prototype.clear = function () {
        throw new NotImplementedException(0);
    };
    FragmentBaseValueList.prototype.contains = function (a) {
        throw new NotImplementedException(0);
    };
    FragmentBaseValueList.prototype.copyTo = function (a, b) {
        throw new NotImplementedException(0);
    };
    Object.defineProperty(FragmentBaseValueList.prototype, "count", {
        get: function () {
            return this.a.valueColumn.count;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(FragmentBaseValueList.prototype, "isReadOnly", {
        get: function () {
            throw new NotImplementedException(0);
        },
        enumerable: false,
        configurable: true
    });
    FragmentBaseValueList.prototype.remove = function (a) {
        throw new NotImplementedException(0);
    };
    FragmentBaseValueList.prototype.getEnumerator = function () {
        throw new NotImplementedException(0);
    };
    FragmentBaseValueList.prototype.getEnumeratorObject = function () {
        return this.getEnumerator();
    };
    FragmentBaseValueList.$t = markType(FragmentBaseValueList, 'FragmentBaseValueList', Base.$, [IList$1_$type.specialize(Number_$type)]);
    return FragmentBaseValueList;
}(Base));
export { FragmentBaseValueList };
/**
 * @hidden
 */
var LineFragment = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(LineFragment, _super);
    function LineFragment() {
        var _this = _super.call(this) || this;
        _this.ab = LineFragment.$;
        return _this;
    }
    LineFragment.prototype.bj = function () {
        return new LineFragment();
    };
    LineFragment.prototype.get_fk = function () {
        return true;
    };
    LineFragment.prototype.zo = function () {
        return true;
    };
    LineFragment.prototype.cs = function () {
        return new LineFragmentView(this);
    };
    LineFragment.prototype.q1 = function (a) {
        _super.prototype.q1.call(this, a);
        this.ac7 = a;
    };
    LineFragment.prototype.ac9 = function (a, b) {
        var c = this.ac7.dk.an;
        if (this.gy(a, c)) {
            return true;
        }
        return false;
    };
    LineFragment.prototype.get_ev = function () {
        return true;
    };
    LineFragment.prototype.gw = function (a, b) {
        if (this.ac8(a, b)) {
            return true;
        }
        if (this.ac9(a, b)) {
            return true;
        }
        if (this.xh(a, b)) {
            return true;
        }
        return false;
    };
    LineFragment.prototype.ac8 = function (a, b) {
        var c = this.ac7.dl.an;
        if (this.gx(a, b, c)) {
            return true;
        }
        var d = this.ac7.dm.an;
        if (this.gx(a, b, d)) {
            return true;
        }
        return false;
    };
    LineFragment.prototype.preferredCategoryMode = function (a) {
        return 0;
    };
    LineFragment.prototype.o5 = function (a, b) {
        _super.prototype.o5.call(this, a, b);
        var c = b;
        c.dg();
    };
    LineFragment.prototype.aak = function (a, b) {
        _super.prototype.aak.call(this, a, b);
        var c = function (d) { return a.f._inner[d][0]; };
        var d = function (e) { return a.f._inner[e][1]; };
        var e = function (f) { return a.f._inner[f][0]; };
        var f = function (g) { return a.f._inner[g][2]; };
        this.acx.a = typeCast(ISortingAxis_$type, this.xAxis) !== null ? true : false;
        var g = b.cw.d;
        var h = typeCast(LineFragmentView.$, b);
        var i = this.getEffectiveViewport1(b);
        var j = a.f;
        this.y2.a2(this, this.zm(), runOn(this, this.ym), this.zv(b), this.zw(b));
        var k = false;
        var l = this.y2.b;
        if (l != null) {
            k = true;
        }
        if (k) {
            var m = new ScalerParams(0, b.by, b.bx, this.acd.ch, i);
            this.aag(j, -1, this.valueColumn.count, this.acd, m, b.q, -1);
        }
        this.y2.ad(h.dl, true, false, true, false);
        this.y2.ad(h.dm, true, false, true, false);
        this.y2.ad(h.dk, false, true, false, false);
        h.dk._opacity = 0.75 * this.y2.j;
        this.acx.m(h.dl, h.dk, h.dm, a.f.count, a.f, true, 0, this.aat(a.f, a.f.count - 1, b.bx, b.by), g, this.id);
    };
    Object.defineProperty(LineFragment.prototype, "useHighMarkerFidelity", {
        get: function () {
            return this.zq;
        },
        enumerable: false,
        configurable: true
    });
    LineFragment.$t = markType(LineFragment, 'LineFragment', FragmentBase.$);
    return LineFragment;
}(FragmentBase));
export { LineFragment };
/**
 * @hidden
 */
var SplineFragmentBase = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(SplineFragmentBase, _super);
    function SplineFragmentBase() {
        var _this = _super.call(this) || this;
        _this._logicalSeriesLink = null;
        _this.adg = null;
        _this.adi = null;
        _this.adg = new CategoryLineRasterizer();
        return _this;
    }
    Object.defineProperty(SplineFragmentBase.prototype, "logicalSeriesLink", {
        get: function () {
            return this._logicalSeriesLink;
        },
        set: function (a) {
            this._logicalSeriesLink = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(SplineFragmentBase.prototype, "parentSeries", {
        get: function () {
            return this.adi;
        },
        set: function (a) {
            this.adi = a;
        },
        enumerable: false,
        configurable: true
    });
    SplineFragmentBase.prototype.qa = function (a) {
        _super.prototype.qa.call(this, a);
        a.parentSeries = this.parentSeries;
        a.logicalSeriesLink = this.logicalSeriesLink;
    };
    SplineFragmentBase.prototype.get_e5 = function () {
        return false;
    };
    SplineFragmentBase.prototype.preferredCategoryMode = function (a) {
        return 0;
    };
    SplineFragmentBase.prototype.get_fb = function () {
        return true;
    };
    SplineFragmentBase.prototype.nc = function () {
        if (this.logicalSeriesLink != null) {
            return this.logicalSeriesLink.e0;
        }
        return null;
    };
    SplineFragmentBase.prototype.wc = function (a, b, c) {
        var _this = this;
        return this.we(a, b, c, this.yz.r(this.ys(), this.cv.by, this.cv.bx, this.getEffectiveViewport1(this.cv)), this.y9(), this.ys(), runOn(this, this.adk), function (d, e) { return _this.kb(d, e, _this.ys(), runOn(_this, _this.zt), new SplineFragmentBaseValueList(_this)); }, function (d, e) { return _this.j9(d, e, _this.ys(), runOn(_this, _this.zt), new SplineFragmentBaseValueList(_this)); });
    };
    SplineFragmentBase.prototype.ai = function () {
        return [this.ys(), this.y9()];
    };
    SplineFragmentBase.prototype.adk = function (a, b, c) {
        if (this.db == null) {
            return NaN;
        }
        var d = this.getEffectiveViewport1(this.cv);
        var e = new ScalerParams(0, this.db.v4, this.cv.bx, this.ys().ch, d);
        var f = this.yz.r(this.ys(), this.db.v4, this.cv.bx, d);
        return this.i7(new SplineFragmentBaseValueList(this), a, this.ys(), e, f, runOn(this, this.zt), b, c);
    };
    SplineFragmentBase.prototype.j2 = function () {
        var a = this.parentSeries;
        if (a.index == -1 || a.aa1 == null || a.aa1.f.indexOf(this) == -1) {
            return -1;
        }
        return a.aa1.f.indexOf(this);
    };
    SplineFragmentBase.prototype.resolveLegendIndex = function () {
        var a = this.parentSeries;
        if (a.aa5) {
            return -1 + a.index + a.aaw.count - a.aa1.f.indexOf(this);
        }
        return _super.prototype.resolveLegendIndex.call(this);
    };
    SplineFragmentBase.prototype.j7 = function () {
        var a = this.parentSeries;
        if (a.index == -1 || a.series.count == 0 || a.series.indexOf(this.logicalSeriesLink) == -1) {
            return -1;
        }
        return a.series.indexOf(this.logicalSeriesLink);
    };
    SplineFragmentBase.prototype.bp = function () {
        return this.parentSeries;
    };
    SplineFragmentBase.prototype.ac2 = function (a, b, c, d, e, f, g) {
        var h = b[0];
        var i = b[1];
        var j = new Rect(0, h - 5, i - 5, 11, 11);
        if (!isNaN_(h) && !isNaN_(i) && !isInfinity(h) && !isInfinity(i) && c.tryAdd(j)) {
            a.n.add({ $type: Point_$type, x: h, y: i });
            var k = f.cz.item(e);
            k.content.item = this.dn.item(d);
            k.al = g;
            return true;
        }
        return false;
    };
    SplineFragmentBase.prototype.he = function (a, b, c) {
        var d = _super.prototype.he.call(this, a, b, c);
        var e = typeCast(CategoryAxisBase.$, this.parentSeries.fetchXAxis());
        var f = this.parentSeries.fetchYAxis();
        if (this.parentSeries == null || e == null || e.itemsSource == null || f == null || this.parentSeries.dn == null || e.bi == null || f.bi == null) {
            d = false;
        }
        if (this.valueColumn == null) {
            return false;
        }
        if (isInfinity(this.valueColumn.minimum) && isInfinity(this.valueColumn.maximum)) {
            d = false;
        }
        if (isNaN_(this.valueColumn.minimum) && isNaN_(this.valueColumn.maximum)) {
            d = false;
        }
        return d;
    };
    SplineFragmentBase.prototype.ay = function (a) {
        return null;
    };
    SplineFragmentBase.prototype.adl = function (a, b, c, d, e, f) {
        var _this = this;
        var g = typeCast(ISortingAxis_$type, d);
        if (g == null) {
            return;
        }
        var h = this.getEffectiveViewport1(f);
        var i = new ScalerParams(0, b, c, d.ch, h);
        var j = new ScalerParams(0, b, c, e.ch, h);
        var k = d.eo(2, i) - d.eo(1, i);
        var l = this.xg();
        var m = 0;
        var n = this.ac6(d, b, c, h);
        var o = function (p) { return Math.abs(_this.parentSeries.aat[p]) + _this.parentSeries.aas[p]; };
        var p = function (q) { return q; };
        var q = function (r) {
            var s = g.i$b._inner[r];
            if (typeCast(IStacked100Series_$type, _this.parentSeries) !== null) {
                return _this.valueColumn.item(s) < 0 ? (_this.logicalSeriesLink.a8._inner[s] + _this.valueColumn.item(s)) / o(s) * 100 : (_this.logicalSeriesLink.a7._inner[s] + _this.valueColumn.item(s)) / o(s) * 100;
            }
            else {
                return _this.valueColumn.item(s) < 0 ? _this.logicalSeriesLink.a8._inner[s] + _this.valueColumn.item(s) : _this.logicalSeriesLink.a7._inner[s] + _this.valueColumn.item(s);
            }
        };
        var r = this.y3.cw.f;
        var s = this.y3.cw.e;
        var t = truncate(Math.ceil(c.width / (r - s)));
        var u = new CollisionAvoider();
        var v = this.y3.cw.d;
        if (v <= 0 || (s <= 0 && r <= 0)) {
            this.y3.cz.count = m;
            return;
        }
        var w = 0;
        for (var x = s; x < r + 1; ++x) {
            var y = null;
            var z = x * v;
            if (g != null && g.i$b != null && z >= 0 && z < g.i$b.count) {
                z = g.i$b._inner[z];
            }
            if (x >= (this.valueColumn.count - 1)) {
                if (l && this.ac2(a, a.f._inner[a.f.count - 1], u, Math.min(z, this.dn.count - 1), m, f, w - 1)) {
                    ++m;
                }
                break;
            }
            var aa = p(x);
            var ab = q(x);
            var ac = p(x + 1);
            var ad = q(x + 1);
            var ae = ac - aa;
            var af = this.acy[x];
            var ag = this.acy[x + 1];
            var ah = g.i$d(g.i$b._inner[x]);
            var ai = d.el(ah, i) + n;
            var aj = e.el(ab, j);
            a.f.add([ai, aj, aj]);
            w++;
            for (var ak = 1; ak < t; ++ak) {
                var al = ak / t;
                var am = aa + ae * al;
                var an = (ac - am) / ae;
                var ao = (am - aa) / ae;
                var ap = an * ab + ao * ad + ((an * an * an - an) * af + (ao * ao * ao - ao) * ag) * (ae * ae) / 6;
                var aq = g.i$d(g.i$b._inner[x]);
                var ar = g.i$d(g.i$b._inner[x + 1]);
                if (aq == ar && ab == ad) {
                    break;
                }
                var as = aq + (ar - aq) * al;
                am = d.el(as, i) + n;
                ap = e.el(ap, j);
                a.f.add([am, ap, ap]);
                w++;
            }
            if (l) {
                y = [ai, aj, aj];
            }
            if (l && this.ac2(a, y, u, Math.min(z, this.dn.count - 1), m, f, w - 1)) {
                ++m;
            }
        }
        this.y3.cz.count = m;
    };
    SplineFragmentBase.prototype.aah = function (a, b) {
        var _this = this;
        a.v();
        if (this.valueColumn == null || this.parentSeries == null || this.logicalSeriesLink == null) {
            return;
        }
        if (this.logicalSeriesLink.a8.count == 0 || this.logicalSeriesLink.a7.count == 0) {
            return;
        }
        if (this.y3.cw.d == 0) {
            return;
        }
        _super.prototype.aah.call(this, a, b);
        if (a.f.count <= 1) {
            return;
        }
        var c = b.by;
        var d = b.bx;
        var e = this.getEffectiveViewport1(b);
        var f = typeCast(CategoryAxisBase.$, this.parentSeries.fetchXAxis());
        var g = typeCast(NumericYAxis.$, this.parentSeries.fetchYAxis());
        var h = new ScalerParams(0, c, d, f.ch, e);
        var i = new ScalerParams(0, c, d, g.ch, e);
        a.f.clear();
        a.n.clear();
        var j = this.xg();
        var k = 0;
        var l;
        var m;
        if (b.p) {
            l = this.parentSeries.aau;
            m = this.parentSeries.ba.a$j.item(b.ad);
        }
        else if (b == this.cu) {
            l = this.parentSeries.yx;
            m = typeCast(CategorySeriesView.$, this.parentSeries.cu);
        }
        else {
            l = this.parentSeries.yu;
            m = this.parentSeries.y3;
        }
        var n = m.cw.d;
        var o = typeCast(ISortingAxis_$type, f);
        if (o != null && o.i$b.count != this.dn.count) {
            return;
        }
        var p = this.preferredCategoryMode(f);
        if (p == 0 && f.categoryMode != 0) {
            p = 1;
        }
        var q = 0;
        switch (p) {
            case 0:
                q = 0;
                break;
            case 1:
                q = 0.5 * f.getCategorySize(c, d, e);
                break;
            case 2:
                var r = this.index;
                q = f.getGroupCenter(this.index, c, d, e);
                break;
        }
        if (f.ch) {
            q = -q;
        }
        var s = function (t) { return Math.abs(_this.parentSeries.aat[t]) + _this.parentSeries.aas[t]; };
        var t = function (u) { return u; };
        var u = function (v) {
            var w = _this.valueColumn.item(v);
            if (isNaN_(w) || isInfinity(w)) {
                w = 0;
            }
            if (typeCast(IStacked100Series_$type, _this.parentSeries) !== null) {
                if (s(v) == 0) {
                    return 0;
                }
                return w < 0 ? (_this.logicalSeriesLink.a8._inner[v] + w) / s(v) * 100 : (_this.logicalSeriesLink.a7._inner[v] + w) / s(v) * 100;
            }
            return w < 0 ? _this.logicalSeriesLink.a8._inner[v] + w : _this.logicalSeriesLink.a7._inner[v] + w;
        };
        var v = b.cw.d;
        this.adb(b);
        var w = m.cw.e;
        var x = m.cw.f;
        var y = truncate(Math.ceil(d.width / (x - w)));
        var z = new CollisionAvoider();
        if (o != null) {
            this.adl(a, c, d, f, g, b);
            return;
        }
        var aa = 0;
        var ab = 0;
        for (var ac = w; ac < x + 1; ++ac) {
            if (ac >= this.valueColumn.count) {
                break;
            }
            var ad = null;
            if (v == 1) {
                if (ac >= (this.valueColumn.count - 1)) {
                    if (j && a.f.count > 0 && this.ac2(a, a.f._inner[a.f.count - 1], z, Math.min(ac * v, this.dn.count - 1), k, b, aa - 1)) {
                        ++k;
                    }
                    break;
                }
                var ae = t(ac);
                var af = t(ac + 1);
                var ag = u(ac);
                var ah = u(ac + 1);
                var ai = af - ae;
                var aj = this.acy[ac];
                var ak = this.acy[ac + 1];
                var al = f.el(ae, h) + q;
                var am = g.el(ag, i);
                a.f.add([al, am, am]);
                aa++;
                ab = aa;
                for (var an = 1; an < y; ++an) {
                    var ao = ae + ai * an / y;
                    var ap = (af - ao) / ai;
                    var aq = (ao - ae) / ai;
                    var ar = ap * ag + aq * ah + ((ap * ap * ap - ap) * aj + (aq * aq * aq - aq) * ak) * (ai * ai) / 6;
                    ao = f.el(ao, h) + q;
                    ar = g.el(ar, i);
                    a.f.add([ao, ar, ar]);
                    aa++;
                }
                if (j) {
                    ad = [al, am, am];
                }
            }
            else {
                ad = b.cw.getBucket(ac);
                if (!isNaN_(ad[0])) {
                    ad[0] = f.el(ad[0], h) + q;
                    ad[1] = g.el(ad[1], i);
                    ad[2] = g.el(ad[2], i);
                    a.f.add(ad);
                    aa++;
                    ab = aa;
                }
            }
            if (j && this.ac2(a, ad, z, Math.min(ac * v, this.dn.count - 1), k, b, ab - 1)) {
                ++k;
            }
        }
        b.cz.count = k;
    };
    SplineFragmentBase.prototype.acw = function (a) {
        var _this = this;
        var b = function (c) { return Math.abs(_this.parentSeries.aat[c]) + _this.parentSeries.aas[c]; };
        var c = function (d) { return d; };
        var d = function (e) {
            var f = _this.valueColumn.item(e);
            if (isNaN_(f) || isInfinity(f)) {
                f = 0;
            }
            if (typeCast(IStacked100Series_$type, _this.parentSeries) !== null) {
                if (b(e) == 0) {
                    return 0;
                }
                return f < 0 ? (_this.logicalSeriesLink.a8._inner[e] + f) / b(e) * 100 : (_this.logicalSeriesLink.a7._inner[e] + f) / b(e) * 100;
            }
            return f < 0 ? _this.logicalSeriesLink.a8._inner[e] + f : _this.logicalSeriesLink.a7._inner[e] + f;
        };
        var e = new List$1(Array_$type, 0);
        var f = a.by;
        var g = a.bx;
        var h = typeCast(ISortingAxis_$type, this.acd);
        var i = 0;
        var j = 0;
        var k = 0;
        var l = this.id;
        var m = this.wj(this.cv);
        var n = this.acd;
        var o = this.getEffectiveViewport1(a);
        if (h == null || h.i$b == null) {
            var p = new ScalerParams(0, f, g, n.ch, o);
            var q = 0;
            var r = n.lk - 1;
            var s = Math.floor((r - q + 1) * l / m.width);
            i = truncate(Math.max(1, s));
            j = truncate(Math.max(0, Math.floor(q / i) - 1));
            k = truncate(Math.ceil(r / i));
        }
        else {
            j = 0;
            k = n.lk - 1;
            i = 1;
        }
        var t = truncate(Math.ceil(g.width / (k - j)));
        var u = new CollisionAvoider();
        if (h != null) {
            return this.acx(a);
        }
        var v = 0;
        var w = 0;
        for (var x = j; x < k + 1; ++x) {
            if (x >= this.valueColumn.count) {
                break;
            }
            var y = null;
            if (i == 1) {
                if (x >= (this.valueColumn.count - 1)) {
                    break;
                }
                var z = c(x);
                var aa = c(x + 1);
                var ab = d(x);
                var ac = d(x + 1);
                var ad = aa - z;
                var ae = this.acy[x];
                var af = this.acy[x + 1];
                e.add([ab, ab]);
                for (var ag = 1; ag < t; ++ag) {
                    var ah = z + ad * ag / t;
                    var ai = (aa - ah) / ad;
                    var aj = (ah - z) / ad;
                    var ak = ai * ab + aj * ac + ((ai * ai * ai - ai) * ae + (aj * aj * aj - aj) * af) * (ad * ad) / 6;
                    e.add([ak, ak]);
                }
            }
            else {
                y = a.cw.getBucket(x);
                if (!isNaN_(y[0])) {
                    e.add([y[0], y[1]]);
                }
            }
        }
        return e.toArray();
    };
    SplineFragmentBase.prototype.acx = function (a) {
        var _this = this;
        var b = new List$1(Array_$type, 0);
        var c = a.by;
        var d = a.bx;
        var e = this.acd;
        var f = typeCast(ISortingAxis_$type, e);
        if (f == null) {
            return null;
        }
        var g = this.getEffectiveViewport1(a);
        var h = this.xg();
        var i = 0;
        var j = function (k) { return Math.abs(_this.parentSeries.aat[k]) + _this.parentSeries.aas[k]; };
        var k = function (l) { return l; };
        var l = function (m) {
            var n = f.i$b._inner[m];
            if (typeCast(IStacked100Series_$type, _this.parentSeries) !== null) {
                return _this.valueColumn.item(n) < 0 ? (_this.logicalSeriesLink.a8._inner[n] + _this.valueColumn.item(n)) / j(n) * 100 : (_this.logicalSeriesLink.a7._inner[n] + _this.valueColumn.item(n)) / j(n) * 100;
            }
            else {
                return _this.valueColumn.item(n) < 0 ? _this.logicalSeriesLink.a8._inner[n] + _this.valueColumn.item(n) : _this.logicalSeriesLink.a7._inner[n] + _this.valueColumn.item(n);
            }
        };
        var m = 0;
        var n = 0;
        var o = 0;
        var p = this.id;
        var q = this.wj(this.cv);
        if (f == null || f.i$b == null) {
            var r = 0;
            var s = e.lk - 1;
            var t = Math.floor((s - r + 1) * p / q.width);
            m = truncate(Math.max(1, t));
            n = truncate(Math.max(0, Math.floor(r / m) - 1));
            o = truncate(Math.ceil(s / m));
        }
        else {
            n = 0;
            o = e.lk - 1;
            m = 1;
        }
        if (m <= 0 || (n <= 0 && o <= 0)) {
            this.y3.cz.count = i;
            return null;
        }
        var u = truncate(Math.ceil(d.width / (o - n)));
        var v = new CollisionAvoider();
        var w = 0;
        for (var x = n; x < o + 1; ++x) {
            var y = null;
            if (x >= (this.valueColumn.count - 1)) {
                break;
            }
            var z = k(x);
            var aa = l(x);
            var ab = k(x + 1);
            var ac = l(x + 1);
            var ad = ab - z;
            var ae = this.acy[x];
            var af = this.acy[x + 1];
            b.add([aa, aa]);
            for (var ag = 1; ag < u; ++ag) {
                var ah = ag / u;
                var ai = z + ad * ah;
                var aj = (ab - ai) / ad;
                var ak = (ai - z) / ad;
                var al = aj * aa + ak * ac + ((aj * aj * aj - aj) * ae + (ak * ak * ak - ak) * af) * (ad * ad) / 6;
                b.add([al, al]);
            }
        }
        return b.toArray();
    };
    SplineFragmentBase.prototype.adb = function (a) {
        var _this = this;
        _super.prototype.adb.call(this, a);
        var b = function (c) { return Math.abs(_this.parentSeries.aat[c]) + _this.parentSeries.aas[c]; };
        var c = function (d) { return d; };
        var d = function (e) {
            var f = _this.valueColumn.item(e);
            if (isNaN_(f) || isInfinity(f)) {
                f = 0;
            }
            if (typeCast(IStacked100Series_$type, _this.parentSeries) !== null) {
                if (b(e) == 0) {
                    return 0;
                }
                return f < 0 ? (_this.logicalSeriesLink.a8._inner[e] + f) / b(e) * 100 : (_this.logicalSeriesLink.a7._inner[e] + f) / b(e) * 100;
            }
            return f < 0 ? _this.logicalSeriesLink.a8._inner[e] + f : _this.logicalSeriesLink.a7._inner[e] + f;
        };
        var e = this.acd;
        var f = this.ac0 == 0 ? NaN : 0;
        if (e != null && typeCast(ISortingAxis_$type, e) !== null && e.i$b != null) {
            var g_1 = new SafeSortedReadOnlyDoubleCollection(0, this.valueColumn, e.i$b);
            d = function (h) { return g_1.item(h); };
        }
        this.acy = Numeric.c(this.valueColumn.count, c, d, f, f);
        if (this.ac1) {
            var h = -1.7976931348623157E+308;
            var i = 1.7976931348623157E+308;
            var j = this.acw(a);
            if (j == null) {
                return;
            }
            for (var k = 0; k < j.length; k++) {
                if (isNaN_(j[k][0]) || isNaN_(j[k][1])) {
                    continue;
                }
                if (j[k][1] > h) {
                    h = j[k][1];
                }
                if (j[k][0] < i) {
                    i = j[k][0];
                }
            }
            this.ac8 = i;
            this.ac7 = h;
        }
    };
    SplineFragmentBase.prototype.q9 = function (a, b, c, d) {
        _super.prototype.q9.call(this, a, b, c, d);
        switch (b) {
            case "ActualBrush":
                if (this.logicalSeriesLink != null) {
                    this.logicalSeriesLink.ku = this.u9;
                }
                break;
        }
    };
    Object.defineProperty(SplineFragmentBase.prototype, "useHighMarkerFidelity", {
        get: function () {
            return this.zq;
        },
        enumerable: false,
        configurable: true
    });
    SplineFragmentBase.$t = markType(SplineFragmentBase, 'SplineFragmentBase', SplineSeriesBase.$);
    return SplineFragmentBase;
}(SplineSeriesBase));
export { SplineFragmentBase };
/**
 * @hidden
 */
var SplineAreaFragment = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(SplineAreaFragment, _super);
    function SplineAreaFragment() {
        var _this = _super.call(this) || this;
        _this.adq = null;
        _this.ab = SplineAreaFragment.$;
        return _this;
    }
    SplineAreaFragment.prototype.bj = function () {
        return new SplineAreaFragment();
    };
    SplineAreaFragment.prototype.cs = function () {
        return new SplineAreaFragmentView(this);
    };
    SplineAreaFragment.prototype.q1 = function (a) {
        _super.prototype.q1.call(this, a);
        this.adm = typeCast(SplineAreaFragmentView.$, a);
    };
    SplineAreaFragment.prototype.ac = function () {
        _super.prototype.ac.call(this);
        this.rr(false);
    };
    SplineAreaFragment.prototype.get_ev = function () {
        return true;
    };
    SplineAreaFragment.prototype.get_eu = function () {
        return true;
    };
    SplineAreaFragment.prototype.get_f0 = function () {
        return true;
    };
    SplineAreaFragment.prototype.y4 = function () {
        return 1;
    };
    SplineAreaFragment.prototype.ado = function (a, b) {
        var c = this.adm.dn.an;
        if (this.gy(a, c)) {
            return true;
        }
        var d = this.adm.dp.an;
        if (this.gy(a, d)) {
            return true;
        }
        return false;
    };
    SplineAreaFragment.prototype.gw = function (a, b) {
        if (this.adn(a, b)) {
            return true;
        }
        if (this.ado(a, b)) {
            return true;
        }
        if (this.xh(a, b)) {
            return true;
        }
        return false;
    };
    SplineAreaFragment.prototype.adn = function (a, b) {
        var c = this.adm.dq.an;
        if (this.gx(a, b, c)) {
            return true;
        }
        var d = this.adm.dr.an;
        if (this.gx(a, b, d)) {
            return true;
        }
        return false;
    };
    SplineAreaFragment.prototype.o5 = function (a, b) {
        _super.prototype.o5.call(this, a, b);
        var c = b;
        c.di();
    };
    SplineAreaFragment.prototype.aak = function (a, b) {
        var _this = this;
        _super.prototype.aak.call(this, a, b);
        this.adg.a = typeCast(ISortingAxis_$type, this.xAxis) !== null ? true : false;
        var c = a.f;
        var d = this.getEffectiveViewport1(b);
        this.y2.a2(this, this.zm(), runOn(this, this.ym), this.zv(b), this.zw(b));
        var e = false;
        var f = this.y2.b;
        if (f != null) {
            e = true;
        }
        if (e) {
            var g = new ScalerParams(0, b.by, b.bx, this.acd.ch, d);
            this.aag(c, -1, this.valueColumn.count, this.acd, g, b.q, -1);
        }
        var h = typeCast(SplineAreaFragmentView.$, b);
        var i = b.cw.d;
        this.y2.ad(h.dq, true, false, true, true);
        this.y2.ad(h.dr, true, false, true, true);
        this.y2.ad(h.dn, false, true, false, false);
        this.y2.ad(h.dp, false, true, false, false);
        h.dn._opacity = this.y2.j * this.h9;
        h.dp._opacity = 0.5 * this.y2.j * this.h9;
        this.adg.i(h.dn, h.dq, h.dp, h.dr, a.f.count, a.f, true, i, this.id, function (j, k, l, m, n) { return _this.adp(j, a.f, b); }, 1);
    };
    SplineAreaFragment.prototype.rt = function (a, b) {
        _super.prototype.rt.call(this, a, b);
    };
    SplineAreaFragment.prototype.adp = function (a, b, c) {
        var d = this.aa9(c);
        var e = d;
        var f = this.logicalSeriesLink.az;
        var g = f ? this.parentSeries.aa1.e : this.parentSeries.aa1.d;
        var h = g.indexOf(this);
        if (a.count == 0) {
            return;
        }
        if (h == -1) {
            return;
        }
        var i = false;
        for (var j = h; j >= 0; j--) {
            if (i) {
                break;
            }
            if (j == 0) {
                a.add({ $type: Point_$type, x: a._inner[a.count - 1].x, y: e });
                a.add({ $type: Point_$type, x: a._inner[0].x, y: e });
                break;
            }
            var k = typeCast(SplineFragmentBase.$, g._inner[j - 1]);
            if (k != null && k.adg != null && k.adg.o.count > 0 && this.cv != null && k.he(this.cv.bx, this.cv.by, this.cv)) {
                i = true;
                for (var l = k.adg.o.count - 1; l >= 0; l--) {
                    a.add(k.adg.o._inner[l]);
                }
            }
        }
    };
    SplineAreaFragment.prototype.aa9 = function (a) {
        var b = 0;
        var c = a.by;
        var d = a.bx;
        var e = this.getEffectiveViewport1(a);
        var f = new ScalerParams(0, c, d, this.yAxis.ch, e);
        if (!c.isEmpty && !d.isEmpty && this.yAxis != null) {
            b = this.yAxis.el(0, f);
        }
        return b;
    };
    SplineAreaFragment.prototype.sd = function () {
        var a = (typeCast(XamDataChart.$, this.db));
        if (a != null) {
            this.h9 = isNaN_(this.ik) ? this.parentSeries.h9 : this.ik;
        }
    };
    Object.defineProperty(SplineAreaFragment.prototype, "useHighMarkerFidelity", {
        get: function () {
            return this.zq;
        },
        enumerable: false,
        configurable: true
    });
    SplineAreaFragment.$t = markType(SplineAreaFragment, 'SplineAreaFragment', SplineFragmentBase.$);
    return SplineAreaFragment;
}(SplineFragmentBase));
export { SplineAreaFragment };
/**
 * @hidden
 */
var SplineFragment = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(SplineFragment, _super);
    function SplineFragment() {
        var _this = _super.call(this) || this;
        _this.ab = SplineFragment.$;
        return _this;
    }
    SplineFragment.prototype.bj = function () {
        return new SplineFragment();
    };
    SplineFragment.prototype.get_f0 = function () {
        return true;
    };
    SplineFragment.prototype.zo = function () {
        return true;
    };
    SplineFragment.prototype.cs = function () {
        return new SplineFragmentView(this);
    };
    SplineFragment.prototype.q1 = function (a) {
        _super.prototype.q1.call(this, a);
        this.adm = a;
    };
    SplineFragment.prototype.ado = function (a, b) {
        var c = this.adm.dm.an;
        if (this.gy(a, c)) {
            return true;
        }
        return false;
    };
    SplineFragment.prototype.get_ev = function () {
        return true;
    };
    SplineFragment.prototype.gw = function (a, b) {
        if (this.adn(a, b)) {
            return true;
        }
        if (this.ado(a, b)) {
            return true;
        }
        if (this.xh(a, b)) {
            return true;
        }
        return false;
    };
    SplineFragment.prototype.adn = function (a, b) {
        var c = this.adm.dn.an;
        if (this.gx(a, b, c)) {
            return true;
        }
        var d = this.adm.dp.an;
        if (this.gx(a, b, d)) {
            return true;
        }
        return false;
    };
    SplineFragment.prototype.o5 = function (a, b) {
        _super.prototype.o5.call(this, a, b);
        var c = b;
        c.di();
    };
    SplineFragment.prototype.aak = function (a, b) {
        _super.prototype.aak.call(this, a, b);
        this.adg.a = typeCast(ISortingAxis_$type, this.xAxis) !== null ? true : false;
        var c = typeCast(SplineFragmentView.$, b);
        var d = a.f;
        var e = this.getEffectiveViewport1(b);
        this.y2.a2(this, this.zm(), runOn(this, this.ym), this.zv(b), this.zw(b));
        var f = false;
        var g = this.y2.b;
        if (g != null) {
            f = true;
        }
        if (f) {
            var h = new ScalerParams(0, b.by, b.bx, this.acd.ch, e);
            this.aag(d, -1, this.valueColumn.count, this.acd, h, b.q, -1);
        }
        this.y2.ad(c.dn, true, false, true, false);
        this.y2.ad(c.dp, true, false, true, false);
        this.y2.ad(c.dm, false, true, false, false);
        c.dm._opacity = 0.75 * this.y2.j;
        var i = c.cw.d;
        this.adg.m(c.dn, c.dm, c.dp, a.f.count, a.f, true, 1, this.aat(a.f, a.f.count - 1, b.bx, b.by), i, this.id);
    };
    Object.defineProperty(SplineFragment.prototype, "useHighMarkerFidelity", {
        get: function () {
            return this.zq;
        },
        enumerable: false,
        configurable: true
    });
    SplineFragment.$t = markType(SplineFragment, 'SplineFragment', SplineFragmentBase.$);
    return SplineFragment;
}(SplineFragmentBase));
export { SplineFragment };
/**
 * @hidden
 */
var SplineFragmentBaseValueList = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(SplineFragmentBaseValueList, _super);
    function SplineFragmentBaseValueList(a) {
        var _this = _super.call(this) || this;
        _this.a = null;
        _this.a = a;
        return _this;
    }
    SplineFragmentBaseValueList.prototype.indexOf = function (a) {
        throw new NotImplementedException(0);
    };
    SplineFragmentBaseValueList.prototype.insert = function (a, b) {
        throw new NotImplementedException(0);
    };
    SplineFragmentBaseValueList.prototype.removeAt = function (a) {
        throw new NotImplementedException(0);
    };
    SplineFragmentBaseValueList.prototype.item = function (a, b) {
        if (arguments.length === 2) {
            throw new NotImplementedException(0);
            return b;
        }
        else {
            var b_2 = false;
            if (this.a.parentSeries != null) {
                b_2 = this.a.parentSeries.aa4;
            }
            var c = this.a.parentSeries;
            if (c == null) {
                return NaN;
            }
            var d = this.a.valueColumn.item(a);
            var e = Math.abs(c.aat[a]) + c.aas[a];
            var f = this.a.logicalSeriesLink.a7;
            var g = this.a.logicalSeriesLink.a8;
            if (isNaN_(d) || isInfinity(d)) {
                d = 0;
            }
            if (b_2) {
                if (e == 0) {
                    d = 0;
                }
                else if (d < 0) {
                    d = (g._inner[a] + d) / e * 100;
                }
                else {
                    d = (f._inner[a] + d) / e * 100;
                }
            }
            else {
                d = d < 0 ? g._inner[a] + d : f._inner[a] + d;
            }
            return d;
        }
    };
    SplineFragmentBaseValueList.prototype.add = function (a) {
        throw new NotImplementedException(0);
    };
    SplineFragmentBaseValueList.prototype.clear = function () {
        throw new NotImplementedException(0);
    };
    SplineFragmentBaseValueList.prototype.contains = function (a) {
        throw new NotImplementedException(0);
    };
    SplineFragmentBaseValueList.prototype.copyTo = function (a, b) {
        throw new NotImplementedException(0);
    };
    Object.defineProperty(SplineFragmentBaseValueList.prototype, "count", {
        get: function () {
            return this.a.valueColumn.count;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(SplineFragmentBaseValueList.prototype, "isReadOnly", {
        get: function () {
            throw new NotImplementedException(0);
        },
        enumerable: false,
        configurable: true
    });
    SplineFragmentBaseValueList.prototype.remove = function (a) {
        throw new NotImplementedException(0);
    };
    SplineFragmentBaseValueList.prototype.getEnumerator = function () {
        throw new NotImplementedException(0);
    };
    SplineFragmentBaseValueList.prototype.getEnumeratorObject = function () {
        return this.getEnumerator();
    };
    SplineFragmentBaseValueList.$t = markType(SplineFragmentBaseValueList, 'SplineFragmentBaseValueList', Base.$, [IList$1_$type.specialize(Number_$type)]);
    return SplineFragmentBaseValueList;
}(Base));
export { SplineFragmentBaseValueList };
/**
 * @hidden
 */
var StackedSeriesBase = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedSeriesBase, _super);
    function StackedSeriesBase() {
        var _this = _super.call(this) || this;
        _this._series = null;
        _this.seriesCreated = null;
        _this.abc = 0;
        _this.abb = 0;
        _this.aas = null;
        _this.aat = null;
        _this.aa0 = null;
        _this.aax = null;
        _this.aa7 = new Dictionary$2(String_$type, Boolean_$type, 0);
        _this.aau = null;
        _this.series = new StackedSeriesCollection();
        var a = _this.series;
        a.collectionResetting = delegateCombine(a.collectionResetting, runOn(_this, _this.abo));
        var b = _this.series;
        b.collectionChanged = delegateCombine(b.collectionChanged, runOn(_this, _this.abn));
        _this.yz = new StackedSeriesFramePreparer(1, _this, _this.aa2, _this, _this, _this.aa2.cw);
        _this.aax = new StackedSeriesCollection();
        var c = _this.aax;
        c.collectionChanged = delegateCombine(c.collectionChanged, runOn(_this, _this.abn));
        var d = _this.aax;
        d.collectionResetting = delegateCombine(d.collectionResetting, runOn(_this, _this.abi));
        return _this;
    }
    StackedSeriesBase.prototype.qg = function () {
        var e_1, _a;
        try {
            for (var _b = __values(fromEnum(this.aaw)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var a = _c.value;
                a.gw();
            }
        }
        catch (e_1_1) {
            e_1 = { error: e_1_1 };
        }
        finally {
            try {
                if (_c && !_c.done && (_a = _b.return))
                    _a.call(_b);
            }
            finally {
                if (e_1)
                    throw e_1.error;
            }
        }
        _super.prototype.qg.call(this);
    };
    StackedSeriesBase.prototype.get_fe = function () {
        return false;
    };
    StackedSeriesBase.prototype.getHostReferenceValue = function () {
        return this.iy();
    };
    StackedSeriesBase.prototype.cs = function () {
        return new StackedSeriesView(this);
    };
    StackedSeriesBase.prototype.q1 = function (a) {
        _super.prototype.q1.call(this, a);
        this.aa2 = a;
    };
    StackedSeriesBase.prototype.q2 = function (a, b) {
        var e_2, _a;
        _super.prototype.q2.call(this, a, b);
        try {
            for (var _b = __values(fromEnum(this.series)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var c = _c.value;
                c.visualSeriesLink.cv.bx = b;
            }
        }
        catch (e_2_1) {
            e_2 = { error: e_2_1 };
        }
        finally {
            try {
                if (_c && !_c.done && (_a = _b.return))
                    _a.call(_b);
            }
            finally {
                if (e_2)
                    throw e_2.error;
            }
        }
    };
    Object.defineProperty(StackedSeriesBase.prototype, "series", {
        get: function () {
            return this._series;
        },
        set: function (a) {
            this._series = a;
        },
        enumerable: false,
        configurable: true
    });
    StackedSeriesBase.prototype.kc = function () {
        if (this.series == null) {
            return -1;
        }
        return this.series.count;
    };
    StackedSeriesBase.prototype.p3 = function (a) {
        for (var b = 0; b < this.aa1.f.count; b++) {
            var c = this.aa1.f._inner[b];
            if (!a(c)) {
                break;
            }
        }
        _super.prototype.p3.call(this, a);
    };
    StackedSeriesBase.prototype.get_isStacked = function () {
        return true;
    };
    Object.defineProperty(StackedSeriesBase.prototype, "aa1", {
        get: function () {
            if (this.aa0 == null) {
                this.aa0 = new StackedSeriesManager(this);
            }
            return this.aa0;
        },
        set: function (a) {
            this.aa0 = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesBase.prototype, "aaw", {
        get: function () {
            return this.aa3 ? this.aax : this.series;
        },
        enumerable: false,
        configurable: true
    });
    StackedSeriesBase.prototype.abi = function (a, b) {
        var e_3, _a;
        try {
            for (var _b = __values(fromEnum(this.aax)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var c = _c.value;
                if (this.aa1 != null && this.aa1.c.contains(c)) {
                    c.parentSeries = null;
                    this.aa1.c.remove(c);
                }
            }
        }
        catch (e_3_1) {
            e_3 = { error: e_3_1 };
        }
        finally {
            try {
                if (_c && !_c.done && (_a = _b.return))
                    _a.call(_b);
            }
            finally {
                if (e_3)
                    throw e_3.error;
            }
        }
    };
    StackedSeriesBase.prototype.abo = function (a, b) {
        var e_4, _a;
        try {
            for (var _b = __values(fromEnum(this.series)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var c = _c.value;
                if (this.aa1 != null && this.aa1.c.contains(c)) {
                    c.parentSeries = null;
                    this.aa1.c.remove(c);
                }
            }
        }
        catch (e_4_1) {
            e_4 = { error: e_4_1 };
        }
        finally {
            try {
                if (_c && !_c.done && (_a = _b.return))
                    _a.call(_b);
            }
            finally {
                if (e_4)
                    throw e_4.error;
            }
        }
    };
    StackedSeriesBase.prototype.abn = function (a, b) {
        var e_5, _a, e_6, _b;
        if (b.oldItems != null) {
            try {
                for (var _c = __values(fromEn(b.oldItems)), _d = _c.next(); !_d.done; _d = _c.next()) {
                    var c = _d.value;
                    if (this.aa1 != null && this.aa1.c.contains(c)) {
                        c.parentSeries = null;
                        this.aa1.c.remove(c);
                    }
                }
            }
            catch (e_5_1) {
                e_5 = { error: e_5_1 };
            }
            finally {
                try {
                    if (_d && !_d.done && (_a = _c.return))
                        _a.call(_c);
                }
                finally {
                    if (e_5)
                        throw e_5.error;
                }
            }
        }
        if (b.newItems != null) {
            var d = b.newStartingIndex;
            try {
                for (var _e = __values(fromEn(b.newItems)), _f = _e.next(); !_f.done; _f = _e.next()) {
                    var e = _f.value;
                    if (this.aa1 != null && !this.aa1.c.contains(e)) {
                        e.parentSeries = this;
                        e.gc();
                        e.g3();
                        e.g4();
                        e.hi();
                        e.g5();
                        e.g6();
                        e.f4();
                        e.f5();
                        e.gb();
                        e.ga();
                        e.f6();
                        e.gd();
                        e.gj();
                        e.gk();
                        e.gl();
                        e.gu();
                        e.gw();
                        e.go();
                        e.gr();
                        e.gt();
                        e.gu();
                        e.gv();
                        e.gs();
                        e.gp();
                        e.hg();
                        e.hk();
                        e.hj();
                        e.f7();
                        e.f8();
                        e.gx();
                        e.gy();
                        e.gz();
                        e.f9();
                        e.f3();
                        e.g1();
                        e.g2();
                        e.gm();
                        e.g7();
                        e.gn();
                        e.g9();
                        e.gq();
                        e.g0();
                        e.ha();
                        e.hb();
                        e.gf();
                        e.hf();
                        e.hc();
                        e.he();
                        e.hh();
                        e.hm();
                        if (!this.aa3) {
                            this.aa1.c.insert(d, e);
                            d++;
                        }
                    }
                }
            }
            catch (e_6_1) {
                e_6 = { error: e_6_1 };
            }
            finally {
                try {
                    if (_f && !_f.done && (_b = _e.return))
                        _b.call(_e);
                }
                finally {
                    if (e_6)
                        throw e_6.error;
                }
            }
        }
        if (!this.aa3) {
            this.abp();
        }
    };
    StackedSeriesBase.prototype.r6 = function (a) {
        this.c9.c9.c8(a, true, false);
    };
    StackedSeriesBase.prototype.y0 = function (a) {
        if (a != null && a.q) {
            if (a.p) {
                return new StackedSeriesFramePreparer(1, typeCast(IIsCategoryBased_$type, this), typeCast(ISupportsMarkers_$type, a), a, this, a.cw);
            }
            else {
                var b = typeCast(CategorySeriesView.$, this.cu);
                return new StackedSeriesFramePreparer(1, this, typeCast(ISupportsMarkers_$type, b), this.db.c9.o, this, b.cw);
            }
        }
        else {
            return this.yz;
        }
    };
    StackedSeriesBase.prototype.aah = function (a, b) {
        a.v();
        this.abl();
        this.y0(b).d(a, b);
    };
    StackedSeriesBase.prototype.rs = function (a) {
        _super.prototype.rs.call(this, a);
        this.aa1.i(a);
    };
    StackedSeriesBase.prototype.get_gt = function () {
        return false;
    };
    StackedSeriesBase.prototype.o5 = function (a, b) {
        var e_7, _a;
        _super.prototype.o5.call(this, a, b);
        try {
            for (var _b = __values(fromEnum(this.aaw)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var c = _c.value;
                if (c.visualSeriesLink != null) {
                    c.visualSeriesLink.o5(a, c.visualSeriesLink.cv);
                }
            }
        }
        catch (e_7_1) {
            e_7 = { error: e_7_1 };
        }
        finally {
            try {
                if (_c && !_c.done && (_a = _b.return))
                    _a.call(_b);
            }
            finally {
                if (e_7)
                    throw e_7.error;
            }
        }
    };
    StackedSeriesBase.prototype.abj = function () {
        this.abl();
    };
    StackedSeriesBase.prototype.abp = function () {
        var a = this.fetchXAxis();
        if (a != null) {
            a.c2(true);
        }
        var b = this.fetchYAxis();
        if (b != null) {
            b.c2(true);
        }
    };
    StackedSeriesBase.prototype.get_aa4 = function () {
        return false;
    };
    Object.defineProperty(StackedSeriesBase.prototype, "aa4", {
        get: function () {
            return this.get_aa4();
        },
        enumerable: false,
        configurable: true
    });
    StackedSeriesBase.prototype.gd = function (a) {
        var b = this.dn != null ? this.dn.indexOf(a) : -1;
        var c = this.db != null ? this.db.v4 : Rect.empty;
        c = c.copy();
        var d = this.cv.bx;
        var e = new Rect(0, 0, 0, 1, 1);
        var f = this.wl(this.cv);
        if (b >= 0 && Rect.l_op_Inequality(c, null) && Rect.l_op_Inequality(d, null)) {
            var g = this.fetchXAxis();
            if (g != null) {
                var h = new ScalerParams(0, e, e, g.ch, f);
                var i = g.el(b, h);
                if (i < c.left + 0.1 * c.width) {
                    i = i + 0.4 * c.width;
                }
                if (i > c.right - 0.1 * c.width) {
                    i = i - 0.4 * c.width;
                }
                c.x = i - 0.5 * c.width;
            }
            var j = this.fetchYAxis();
            if (j != null && this.aas != null && b < this.aas.length) {
                var k = new ScalerParams(0, e, e, j.ch, f);
                var l = j.el(this.aas[b], k);
                var m = j.el(this.aat[b], k);
                if (!isNaN_(l) && !isNaN_(m)) {
                    var n = Math.abs(m - l);
                    if (c.height < n) {
                        c.height = n;
                        c.y = Math.min(m, l);
                    }
                    else {
                        if (m < c.top + 0.1 * c.height) {
                            m = m + 0.4 * c.height;
                        }
                        if (m > c.bottom - 0.1 * c.height) {
                            m = m - 0.4 * c.height;
                        }
                        c.y = m - 0.5 * c.height;
                    }
                }
            }
            this.c3.au(this.db, c, true);
        }
        return b >= 0;
    };
    StackedSeriesBase.prototype.ay = function (a) {
        if (this.aat == null || this.aat.length == 0 || this.aas == null || this.aas.length == 0) {
            return null;
        }
        if (a == this.fetchXAxis()) {
            var b = Math.min(this.aat.length, this.aas.length);
            return new AxisRange(0, b - 1);
        }
        if (a == this.fetchYAxis()) {
            return new AxisRange(this.abc, this.abb);
        }
        return null;
    };
    StackedSeriesBase.prototype.xg = function () {
        return false;
    };
    StackedSeriesBase.prototype.pb = function (a, b, c, d) {
        this.abl();
        this.zp();
        this.rr(true);
    };
    StackedSeriesBase.prototype.aav = function () {
        return this.aa2;
    };
    StackedSeriesBase.prototype.aa8 = function () {
        var a = 0;
        var b = this.cv.by;
        var c = this.cv.bx;
        var d = this.getEffectiveViewport1(this.cv);
        var e = typeCast(NumericYAxis.$, this.fetchYAxis());
        if (!b.isEmpty && !c.isEmpty && e != null) {
            var f = new ScalerParams(0, b, c, e.ch, d);
            a = e.el(e.me, f);
        }
        return a;
    };
    StackedSeriesBase.prototype.aa9 = function () {
        var a = typeCast(NumericYAxis.$, this.fetchYAxis());
        if (a != null) {
            return a.me;
        }
        return 0;
    };
    StackedSeriesBase.prototype.abe = function (a) {
        return this.index < 0 || this.aaw == null || this.aaw.count == 0 ? -1 : this.index + this.aaw.indexOf(a);
    };
    StackedSeriesBase.prototype.abd = function (a) {
        var b = this.db != null ? this.db.v4 : Rect.empty;
        var c = this.cv.bx;
        var d = this.getEffectiveViewport1(this.cv);
        var e = typeCast(CategoryAxisBase.$, this.fetchXAxis());
        var f = -1;
        if (e != null && !b.isEmpty && !c.isEmpty) {
            var g = new ScalerParams(0, b, c, e.ch, d);
            var h = this.wj(this.cv);
            var i = e.eo(h.left, g);
            var j = e.eo(h.right, g);
            var k = (a.x - b.left) / b.width;
            var l = i + (k * (j - i));
            if (e.categoryMode != 0) {
                l -= 0.5;
            }
            var m = truncate(Math.round(l));
            f = m;
        }
        return f;
    };
    StackedSeriesBase.prototype.aa6 = function (a, b, c, d) {
        var e = true;
        var f = typeCast(CategoryAxisBase.$, this.fetchXAxis());
        var g = typeCast(NumericYAxis.$, this.fetchYAxis());
        if (!d.o() || c.isEmpty || b.isEmpty || f == null || f.itemsSource == null || g == null || this.dn == null || f.bi == null || g.bi == null || g.l4 == g.l3) {
            e = false;
        }
        var h = d;
        var i = h.cw.d;
        if (a.valueColumn == null || a.valueColumn.count == 0 || i < 1 || a._visibility != 0) {
            e = false;
        }
        return e;
    };
    StackedSeriesBase.prototype.abk = function () {
        var e_8, _a;
        if (this.db == null || this.aa1 == null) {
            return;
        }
        if (!this.aa3) {
            this.aax.clear();
            try {
                for (var _b = __values(fromEnum(this.series)), _c = _b.next(); !_c.done; _c = _b.next()) {
                    var a = _c.value;
                    if (!this.aa1.c.contains(a)) {
                        this.aa1.c.add(a);
                    }
                }
            }
            catch (e_8_1) {
                e_8 = { error: e_8_1 };
            }
            finally {
                try {
                    if (_c && !_c.done && (_a = _b.return))
                        _a.call(_b);
                }
                finally {
                    if (e_8)
                        throw e_8.error;
                }
            }
            this.abp();
            return;
        }
    };
    StackedSeriesBase.prototype.aak = function (a, b) {
        _super.prototype.aak.call(this, a, b);
    };
    StackedSeriesBase.prototype.abm = function (a, b, c, d) {
    };
    StackedSeriesBase.prototype.az = function (a) {
        if (a.isEmpty && this.db != null) {
            a = this.db.v4;
        }
        var b = this.ys();
        if (this.aas == null || this.aat == null) {
            return null;
        }
        var c = this.wj(this.cv);
        var d = new ScalerParams(0, a, this.db.wk, b.ch, this.getEffectiveViewport());
        var e = (b.eo(c.left, d));
        var f = (b.eo(c.right, d));
        if (b.ch) {
            var g = e;
            e = f;
            f = g;
        }
        var h = null;
        if (b.cn) {
            h = b;
            e = h.i$f(e);
            f = h.i$f(f);
        }
        else {
            e = Math.floor(e);
            f = Math.ceil(f);
        }
        e = Math.max(0, Math.min(this.aat.length - 1, e));
        f = Math.max(0, Math.min(this.aat.length - 1, f));
        var i = 1.7976931348623157E+308;
        var j = -1.7976931348623157E+308;
        for (var k = truncate(e); k <= truncate(f); k++) {
            var l = k;
            if (h != null) {
                l = h.i$b._inner[k];
            }
            var m = this.aat[l];
            {
                if (isInfinity(m) || isNaN_(m)) {
                    continue;
                }
            }
            var n = this.aas[l];
            {
                if (isInfinity(n) || isNaN_(n)) {
                    continue;
                }
            }
            i = Math.min(i, m);
            j = Math.max(j, n);
        }
        var o = new AxisRange(i, j);
        var p = this.y9();
        o = this.ax(o, p, a);
        return o;
    };
    StackedSeriesBase.prototype.rv = function () {
        var e_9, _a;
        _super.prototype.rv.call(this);
        try {
            for (var _b = __values(fromEnum(this.aaw)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var a = _c.value;
                a.f1();
            }
        }
        catch (e_9_1) {
            e_9 = { error: e_9_1 };
        }
        finally {
            try {
                if (_c && !_c.done && (_a = _b.return))
                    _a.call(_b);
            }
            finally {
                if (e_9)
                    throw e_9.error;
            }
        }
    };
    StackedSeriesBase.prototype.abl = function () {
        var e_10, _a;
        if (this.dn == null) {
            return;
        }
        var a = this.dn.count;
        this.aas = new Array(a);
        this.aat = new Array(a);
        for (var b = 0; b < a; b++) {
            this.aas[b] = 0;
            this.aat[b] = 0;
        }
        this.abc = Number.POSITIVE_INFINITY;
        this.abb = Number.NEGATIVE_INFINITY;
        var c = 0;
        try {
            for (var _b = __values(fromEnum(this.aaw)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var d = _c.value;
                if (d.itemsSource != null && d.visualSeriesLink == null) {
                    continue;
                }
                if (d.itemsSource != null) {
                    d.ak = d.visualSeriesLink.valueColumn;
                }
                if (d.itemsSource == null) {
                    this.dn.deregisterColumn(d.ak);
                    d.ak = this.dk(d.ft);
                }
                if (d.visualSeriesLink != null && d.itemsSource == null) {
                    d.visualSeriesLink.aa6 = true;
                    d.visualSeriesLink.valueColumn = d.ak;
                    d.visualSeriesLink.aa6 = false;
                }
                d.az = true;
                if (d.ak != null) {
                    d.a7.clear();
                    d.a8.clear();
                    for (var e = 0; e < d.ak.count; e++) {
                        var f = d.ak.item(e);
                        if (f < c) {
                            d.a7.add(c);
                            d.a8.add(this.aat[e]);
                            this.aat[e] = this.aat[e] + f;
                            if (d.az) {
                                d.az = false;
                            }
                        }
                        else if (f >= c) {
                            d.a7.add(this.aas[e]);
                            d.a8.add(c);
                            this.aas[e] = this.aas[e] + f;
                        }
                        else if (isNaN_(f) || isInfinity(f)) {
                            d.a7.add(this.aas[e]);
                            d.a8.add(this.aat[e]);
                        }
                    }
                }
            }
        }
        catch (e_10_1) {
            e_10 = { error: e_10_1 };
        }
        finally {
            try {
                if (_c && !_c.done && (_a = _b.return))
                    _a.call(_b);
            }
            finally {
                if (e_10)
                    throw e_10.error;
            }
        }
        for (var g = 0; g < a; g++) {
            this.abc = Math.min(this.abc, this.aat[g]);
            this.abb = Math.max(this.abb, this.aas[g]);
        }
    };
    StackedSeriesBase.prototype.q9 = function (a, b, c, d) {
        var e_11, _a, e_12, _b, e_13, _c, e_14, _d, e_15, _e, e_16, _f, e_17, _g, e_18, _h, e_19, _j, e_20, _k, e_21, _l, e_22, _m, e_23, _o, e_24, _p, e_25, _q, e_26, _r, e_27, _s, e_28, _t, e_29, _u, e_30, _v, e_31, _w, e_32, _x, e_33, _y, e_34, _z, e_35, _0, e_36, _1, e_37, _2, e_38, _3, e_39, _4, e_40, _5, e_41, _6, e_42, _7, e_43, _8, e_44, _9, e_45, _10, e_46, _11, e_47, _12, e_48, _13, e_49, _14, e_50, _15, e_51, _16, e_52, _17, e_53, _18, e_54, _19, e_55, _20, e_56, _21, e_57, _22, e_58, _23;
        _super.prototype.q9.call(this, a, b, c, d);
        switch (b) {
            case "SeriesViewer":
                if (c != null && d == null) {
                    this.pc(this.fetchXAxis());
                    this.pc(this.fetchYAxis());
                }
                if (c == null && d != null) {
                    this.rh(this.fetchXAxis());
                    this.rh(this.fetchYAxis());
                }
                if (this.aaw != null) {
                    try {
                        for (var _24 = __values(fromEnum(this.aaw)), _25 = _24.next(); !_25.done; _25 = _24.next()) {
                            var e = _25.value;
                            e.af = this.db;
                            if (e.visualSeriesLink != null) {
                                e.visualSeriesLink.db = this.db;
                            }
                        }
                    }
                    catch (e_11_1) {
                        e_11 = { error: e_11_1 };
                    }
                    finally {
                        try {
                            if (_25 && !_25.done && (_a = _24.return))
                                _a.call(_24);
                        }
                        finally {
                            if (e_11)
                                throw e_11.error;
                        }
                    }
                    this.rr(false);
                }
                break;
            case "ItemsSource":
                if (this.aaw != null) {
                    try {
                        for (var _26 = __values(fromEnum(this.aaw)), _27 = _26.next(); !_27.done; _27 = _26.next()) {
                            var f = _27.value;
                            if (f.itemsSource == null) {
                                if (f.visualSeriesLink != null) {
                                    f.visualSeriesLink.itemsSource = d;
                                }
                            }
                        }
                    }
                    catch (e_12_1) {
                        e_12 = { error: e_12_1 };
                    }
                    finally {
                        try {
                            if (_27 && !_27.done && (_b = _26.return))
                                _b.call(_26);
                        }
                        finally {
                            if (e_12)
                                throw e_12.error;
                        }
                    }
                }
                break;
            case "HighlightedItemsSource":
                if (this.aaw != null) {
                    try {
                        for (var _28 = __values(fromEnum(this.aaw)), _29 = _28.next(); !_29.done; _29 = _28.next()) {
                            var g = _29.value;
                            if (g.highlightedItemsSource == null) {
                                if (g.visualSeriesLink != null) {
                                    g.visualSeriesLink.highlightedItemsSource = d;
                                }
                            }
                        }
                    }
                    catch (e_13_1) {
                        e_13 = { error: e_13_1 };
                    }
                    finally {
                        try {
                            if (_29 && !_29.done && (_c = _28.return))
                                _c.call(_28);
                        }
                        finally {
                            if (e_13)
                                throw e_13.error;
                        }
                    }
                }
                break;
            case "FastItemsSource":
                if (this.aa3) {
                    this.abk();
                }
                if (!this.zp()) {
                    this.aa2.cw.g(this.id);
                }
                this.rr(this.gg && c != null);
                break;
            case StackedSeriesBase.$$p[0]:
                this.abk();
                break;
            case StackedSeriesBase.$$p[1]:
                if (this.db != null) {
                    this.db.pf(this.aa1.f);
                }
                break;
            case StackedSeriesBase.$$p[2]:
                try {
                    for (var _30 = __values(fromEnum(this.aaw)), _31 = _30.next(); !_31.done; _31 = _30.next()) {
                        var h = _31.value;
                        h.hm();
                    }
                }
                catch (e_14_1) {
                    e_14 = { error: e_14_1 };
                }
                finally {
                    try {
                        if (_31 && !_31.done && (_d = _30.return))
                            _d.call(_30);
                    }
                    finally {
                        if (e_14)
                            throw e_14.error;
                    }
                }
                break;
            case "Brush":
                try {
                    for (var _32 = __values(fromEnum(this.aaw)), _33 = _32.next(); !_33.done; _33 = _32.next()) {
                        var i = _33.value;
                        i.f4();
                    }
                }
                catch (e_15_1) {
                    e_15 = { error: e_15_1 };
                }
                finally {
                    try {
                        if (_33 && !_33.done && (_e = _32.return))
                            _e.call(_32);
                    }
                    finally {
                        if (e_15)
                            throw e_15.error;
                    }
                }
                break;
            case "DashArray":
                try {
                    for (var _34 = __values(fromEnum(this.aaw)), _35 = _34.next(); !_35.done; _35 = _34.next()) {
                        var j = _35.value;
                        j.f5();
                    }
                }
                catch (e_16_1) {
                    e_16 = { error: e_16_1 };
                }
                finally {
                    try {
                        if (_35 && !_35.done && (_f = _34.return))
                            _f.call(_34);
                    }
                    finally {
                        if (e_16)
                            throw e_16.error;
                    }
                }
                break;
            case "HighlightingFadeOpacity":
                try {
                    for (var _36 = __values(fromEnum(this.aaw)), _37 = _36.next(); !_37.done; _37 = _36.next()) {
                        var k = _37.value;
                        k.gb();
                    }
                }
                catch (e_17_1) {
                    e_17 = { error: e_17_1 };
                }
                finally {
                    try {
                        if (_37 && !_37.done && (_g = _36.return))
                            _g.call(_36);
                    }
                    finally {
                        if (e_17)
                            throw e_17.error;
                    }
                }
                break;
            case "HighlightedValuesDisplayMode":
                try {
                    for (var _38 = __values(fromEnum(this.aaw)), _39 = _38.next(); !_39.done; _39 = _38.next()) {
                        var l = _39.value;
                        l.ga();
                    }
                }
                catch (e_18_1) {
                    e_18 = { error: e_18_1 };
                }
                finally {
                    try {
                        if (_39 && !_39.done && (_h = _38.return))
                            _h.call(_38);
                    }
                    finally {
                        if (e_18)
                            throw e_18.error;
                    }
                }
                break;
            case "DashCap":
                try {
                    for (var _40 = __values(fromEnum(this.aaw)), _41 = _40.next(); !_41.done; _41 = _40.next()) {
                        var m = _41.value;
                        m.f6();
                    }
                }
                catch (e_19_1) {
                    e_19 = { error: e_19_1 };
                }
                finally {
                    try {
                        if (_41 && !_41.done && (_j = _40.return))
                            _j.call(_40);
                    }
                    finally {
                        if (e_19)
                            throw e_19.error;
                    }
                }
                break;
            case "IsDropShadowEnabled":
                try {
                    for (var _42 = __values(fromEnum(this.aaw)), _43 = _42.next(); !_43.done; _43 = _42.next()) {
                        var n = _43.value;
                        n.gc();
                    }
                }
                catch (e_20_1) {
                    e_20 = { error: e_20_1 };
                }
                finally {
                    try {
                        if (_43 && !_43.done && (_k = _42.return))
                            _k.call(_42);
                    }
                    finally {
                        if (e_20)
                            throw e_20.error;
                    }
                }
                break;
            case "ShadowBlur":
                try {
                    for (var _44 = __values(fromEnum(this.aaw)), _45 = _44.next(); !_45.done; _45 = _44.next()) {
                        var o = _45.value;
                        o.g3();
                    }
                }
                catch (e_21_1) {
                    e_21 = { error: e_21_1 };
                }
                finally {
                    try {
                        if (_45 && !_45.done && (_l = _44.return))
                            _l.call(_44);
                    }
                    finally {
                        if (e_21)
                            throw e_21.error;
                    }
                }
                break;
            case "ShadowColor":
                try {
                    for (var _46 = __values(fromEnum(this.aaw)), _47 = _46.next(); !_47.done; _47 = _46.next()) {
                        var p = _47.value;
                        p.g4();
                    }
                }
                catch (e_22_1) {
                    e_22 = { error: e_22_1 };
                }
                finally {
                    try {
                        if (_47 && !_47.done && (_m = _46.return))
                            _m.call(_46);
                    }
                    finally {
                        if (e_22)
                            throw e_22.error;
                    }
                }
                break;
            case "UseSingleShadow":
                try {
                    for (var _48 = __values(fromEnum(this.aaw)), _49 = _48.next(); !_49.done; _49 = _48.next()) {
                        var q = _49.value;
                        q.hi();
                    }
                }
                catch (e_23_1) {
                    e_23 = { error: e_23_1 };
                }
                finally {
                    try {
                        if (_49 && !_49.done && (_o = _48.return))
                            _o.call(_48);
                    }
                    finally {
                        if (e_23)
                            throw e_23.error;
                    }
                }
                break;
            case "ShadowOffsetX":
                try {
                    for (var _50 = __values(fromEnum(this.aaw)), _51 = _50.next(); !_51.done; _51 = _50.next()) {
                        var r = _51.value;
                        r.g5();
                    }
                }
                catch (e_24_1) {
                    e_24 = { error: e_24_1 };
                }
                finally {
                    try {
                        if (_51 && !_51.done && (_p = _50.return))
                            _p.call(_50);
                    }
                    finally {
                        if (e_24)
                            throw e_24.error;
                    }
                }
                break;
            case "ShadowOffsetY":
                try {
                    for (var _52 = __values(fromEnum(this.aaw)), _53 = _52.next(); !_53.done; _53 = _52.next()) {
                        var s = _53.value;
                        s.g6();
                    }
                }
                catch (e_25_1) {
                    e_25 = { error: e_25_1 };
                }
                finally {
                    try {
                        if (_53 && !_53.done && (_q = _52.return))
                            _q.call(_52);
                    }
                    finally {
                        if (e_25)
                            throw e_25.error;
                    }
                }
                break;
            case "IsHitTestVisible":
                try {
                    for (var _54 = __values(fromEnum(this.aaw)), _55 = _54.next(); !_55.done; _55 = _54.next()) {
                        var t = _55.value;
                        t.gd();
                    }
                }
                catch (e_26_1) {
                    e_26 = { error: e_26_1 };
                }
                finally {
                    try {
                        if (_55 && !_55.done && (_r = _54.return))
                            _r.call(_54);
                    }
                    finally {
                        if (e_26)
                            throw e_26.error;
                    }
                }
                break;
            case "LegendItemBadgeTemplate":
                try {
                    for (var _56 = __values(fromEnum(this.aaw)), _57 = _56.next(); !_57.done; _57 = _56.next()) {
                        var u = _57.value;
                        u.gj();
                    }
                }
                catch (e_27_1) {
                    e_27 = { error: e_27_1 };
                }
                finally {
                    try {
                        if (_57 && !_57.done && (_s = _56.return))
                            _s.call(_56);
                    }
                    finally {
                        if (e_27)
                            throw e_27.error;
                    }
                }
                break;
            case "LegendItemTemplate":
                try {
                    for (var _58 = __values(fromEnum(this.aaw)), _59 = _58.next(); !_59.done; _59 = _58.next()) {
                        var v = _59.value;
                        v.gk();
                    }
                }
                catch (e_28_1) {
                    e_28 = { error: e_28_1 };
                }
                finally {
                    try {
                        if (_59 && !_59.done && (_t = _58.return))
                            _t.call(_58);
                    }
                    finally {
                        if (e_28)
                            throw e_28.error;
                    }
                }
                break;
            case "LegendItemVisibility":
                try {
                    for (var _60 = __values(fromEnum(this.aaw)), _61 = _60.next(); !_61.done; _61 = _60.next()) {
                        var w = _61.value;
                        w.gl();
                    }
                }
                catch (e_29_1) {
                    e_29 = { error: e_29_1 };
                }
                finally {
                    try {
                        if (_61 && !_61.done && (_u = _60.return))
                            _u.call(_60);
                    }
                    finally {
                        if (e_29)
                            throw e_29.error;
                    }
                }
                break;
            case "LegendItemBadgeShape":
                try {
                    for (var _62 = __values(fromEnum(this.aaw)), _63 = _62.next(); !_63.done; _63 = _62.next()) {
                        var x = _63.value;
                        x.gi();
                    }
                }
                catch (e_30_1) {
                    e_30 = { error: e_30_1 };
                }
                finally {
                    try {
                        if (_63 && !_63.done && (_v = _62.return))
                            _v.call(_62);
                    }
                    finally {
                        if (e_30)
                            throw e_30.error;
                    }
                }
                break;
            case "LegendItemBadgeMode":
                try {
                    for (var _64 = __values(fromEnum(this.aaw)), _65 = _64.next(); !_65.done; _65 = _64.next()) {
                        var y = _65.value;
                        y.gh();
                    }
                }
                catch (e_31_1) {
                    e_31 = { error: e_31_1 };
                }
                finally {
                    try {
                        if (_65 && !_65.done && (_w = _64.return))
                            _w.call(_64);
                    }
                    finally {
                        if (e_31)
                            throw e_31.error;
                    }
                }
                break;
            case "MarkerTemplate":
                try {
                    for (var _66 = __values(fromEnum(this.aaw)), _67 = _66.next(); !_67.done; _67 = _66.next()) {
                        var z = _67.value;
                        z.gu();
                    }
                }
                catch (e_32_1) {
                    e_32 = { error: e_32_1 };
                }
                finally {
                    try {
                        if (_67 && !_67.done && (_x = _66.return))
                            _x.call(_66);
                    }
                    finally {
                        if (e_32)
                            throw e_32.error;
                    }
                }
                break;
            case "MarkerType":
                try {
                    for (var _68 = __values(fromEnum(this.aaw)), _69 = _68.next(); !_69.done; _69 = _68.next()) {
                        var aa = _69.value;
                        aa.gw();
                    }
                }
                catch (e_33_1) {
                    e_33 = { error: e_33_1 };
                }
                finally {
                    try {
                        if (_69 && !_69.done && (_y = _68.return))
                            _y.call(_68);
                    }
                    finally {
                        if (e_33)
                            throw e_33.error;
                    }
                }
                break;
            case "MarkerThickness":
                try {
                    for (var _70 = __values(fromEnum(this.aaw)), _71 = _70.next(); !_71.done; _71 = _70.next()) {
                        var ab = _71.value;
                        ab.gv();
                    }
                }
                catch (e_34_1) {
                    e_34 = { error: e_34_1 };
                }
                finally {
                    try {
                        if (_71 && !_71.done && (_z = _70.return))
                            _z.call(_70);
                    }
                    finally {
                        if (e_34)
                            throw e_34.error;
                    }
                }
                break;
            case "MarkerBrush":
                try {
                    for (var _72 = __values(fromEnum(this.aaw)), _73 = _72.next(); !_73.done; _73 = _72.next()) {
                        var ac = _73.value;
                        ac.go();
                    }
                }
                catch (e_35_1) {
                    e_35 = { error: e_35_1 };
                }
                finally {
                    try {
                        if (_73 && !_73.done && (_0 = _72.return))
                            _0.call(_72);
                    }
                    finally {
                        if (e_35)
                            throw e_35.error;
                    }
                }
                break;
            case "MarkerOutline":
                try {
                    for (var _74 = __values(fromEnum(this.aaw)), _75 = _74.next(); !_75.done; _75 = _74.next()) {
                        var ad = _75.value;
                        ad.gr();
                    }
                }
                catch (e_36_1) {
                    e_36 = { error: e_36_1 };
                }
                finally {
                    try {
                        if (_75 && !_75.done && (_1 = _74.return))
                            _1.call(_74);
                    }
                    finally {
                        if (e_36)
                            throw e_36.error;
                    }
                }
                break;
            case "MarkerOutlineMode":
                try {
                    for (var _76 = __values(fromEnum(this.aaw)), _77 = _76.next(); !_77.done; _77 = _76.next()) {
                        var ae = _77.value;
                        ae.gs();
                    }
                }
                catch (e_37_1) {
                    e_37 = { error: e_37_1 };
                }
                finally {
                    try {
                        if (_77 && !_77.done && (_2 = _76.return))
                            _2.call(_76);
                    }
                    finally {
                        if (e_37)
                            throw e_37.error;
                    }
                }
                break;
            case "MarkerFillMode":
                try {
                    for (var _78 = __values(fromEnum(this.aaw)), _79 = _78.next(); !_79.done; _79 = _78.next()) {
                        var af = _79.value;
                        af.gp();
                    }
                }
                catch (e_38_1) {
                    e_38 = { error: e_38_1 };
                }
                finally {
                    try {
                        if (_79 && !_79.done && (_3 = _78.return))
                            _3.call(_78);
                    }
                    finally {
                        if (e_38)
                            throw e_38.error;
                    }
                }
                break;
            case "MarkerStyle":
                try {
                    for (var _80 = __values(fromEnum(this.aaw)), _81 = _80.next(); !_81.done; _81 = _80.next()) {
                        var ag = _81.value;
                        ag.gt();
                    }
                }
                catch (e_39_1) {
                    e_39 = { error: e_39_1 };
                }
                finally {
                    try {
                        if (_81 && !_81.done && (_4 = _80.return))
                            _4.call(_80);
                    }
                    finally {
                        if (e_39)
                            throw e_39.error;
                    }
                }
                break;
            case "Opacity":
                try {
                    for (var _82 = __values(fromEnum(this.aaw)), _83 = _82.next(); !_83.done; _83 = _82.next()) {
                        var ah = _83.value;
                        ah.gx();
                    }
                }
                catch (e_40_1) {
                    e_40 = { error: e_40_1 };
                }
                finally {
                    try {
                        if (_83 && !_83.done && (_5 = _82.return))
                            _5.call(_82);
                    }
                    finally {
                        if (e_40)
                            throw e_40.error;
                    }
                }
                break;
            case "OpacityMask":
                try {
                    for (var _84 = __values(fromEnum(this.aaw)), _85 = _84.next(); !_85.done; _85 = _84.next()) {
                        var ai = _85.value;
                        ai.gy();
                    }
                }
                catch (e_41_1) {
                    e_41 = { error: e_41_1 };
                }
                finally {
                    try {
                        if (_85 && !_85.done && (_6 = _84.return))
                            _6.call(_84);
                    }
                    finally {
                        if (e_41)
                            throw e_41.error;
                    }
                }
                break;
            case "AreaFillOpacity":
                try {
                    for (var _86 = __values(fromEnum(this.aaw)), _87 = _86.next(); !_87.done; _87 = _86.next()) {
                        var aj = _87.value;
                        aj.f3();
                    }
                }
                catch (e_42_1) {
                    e_42 = { error: e_42_1 };
                }
                finally {
                    try {
                        if (_87 && !_87.done && (_7 = _86.return))
                            _7.call(_86);
                    }
                    finally {
                        if (e_42)
                            throw e_42.error;
                    }
                }
                break;
            case "Outline":
                try {
                    for (var _88 = __values(fromEnum(this.aaw)), _89 = _88.next(); !_89.done; _89 = _88.next()) {
                        var ak = _89.value;
                        ak.gz();
                    }
                }
                catch (e_43_1) {
                    e_43 = { error: e_43_1 };
                }
                finally {
                    try {
                        if (_89 && !_89.done && (_8 = _88.return))
                            _8.call(_88);
                    }
                    finally {
                        if (e_43)
                            throw e_43.error;
                    }
                }
                break;
            case "LineCap":
                try {
                    for (var _90 = __values(fromEnum(this.aaw)), _91 = _90.next(); !_91.done; _91 = _90.next()) {
                        var al = _91.value;
                        al.gm();
                    }
                }
                catch (e_44_1) {
                    e_44 = { error: e_44_1 };
                }
                finally {
                    try {
                        if (_91 && !_91.done && (_9 = _90.return))
                            _9.call(_90);
                    }
                    finally {
                        if (e_44)
                            throw e_44.error;
                    }
                }
                break;
            case "OutlineMode":
                try {
                    for (var _92 = __values(fromEnum(this.aaw)), _93 = _92.next(); !_93.done; _93 = _92.next()) {
                        var am = _93.value;
                        am.g0();
                    }
                }
                catch (e_45_1) {
                    e_45 = { error: e_45_1 };
                }
                finally {
                    try {
                        if (_93 && !_93.done && (_10 = _92.return))
                            _10.call(_92);
                    }
                    finally {
                        if (e_45)
                            throw e_45.error;
                    }
                }
                break;
            case "MarkerFillOpacity":
                try {
                    for (var _94 = __values(fromEnum(this.aaw)), _95 = _94.next(); !_95.done; _95 = _94.next()) {
                        var an = _95.value;
                        an.gq();
                    }
                }
                catch (e_46_1) {
                    e_46 = { error: e_46_1 };
                }
                finally {
                    try {
                        if (_95 && !_95.done && (_11 = _94.return))
                            _11.call(_94);
                    }
                    finally {
                        if (e_46)
                            throw e_46.error;
                    }
                }
                break;
            case "Thickness":
                try {
                    for (var _96 = __values(fromEnum(this.aaw)), _97 = _96.next(); !_97.done; _97 = _96.next()) {
                        var ao = _97.value;
                        ao.g7();
                    }
                }
                catch (e_47_1) {
                    e_47 = { error: e_47_1 };
                }
                finally {
                    try {
                        if (_97 && !_97.done && (_12 = _96.return))
                            _12.call(_96);
                    }
                    finally {
                        if (e_47)
                            throw e_47.error;
                    }
                }
                break;
            case "LineJoin":
                try {
                    for (var _98 = __values(fromEnum(this.aaw)), _99 = _98.next(); !_99.done; _99 = _98.next()) {
                        var ap = _99.value;
                        ap.gn();
                    }
                }
                catch (e_48_1) {
                    e_48 = { error: e_48_1 };
                }
                finally {
                    try {
                        if (_99 && !_99.done && (_13 = _98.return))
                            _13.call(_98);
                    }
                    finally {
                        if (e_48)
                            throw e_48.error;
                    }
                }
                break;
            case "ToolTip":
                try {
                    for (var _100 = __values(fromEnum(this.aaw)), _101 = _100.next(); !_101.done; _101 = _100.next()) {
                        var aq = _101.value;
                        aq.g9();
                    }
                }
                catch (e_49_1) {
                    e_49 = { error: e_49_1 };
                }
                finally {
                    try {
                        if (_101 && !_101.done && (_14 = _100.return))
                            _14.call(_100);
                    }
                    finally {
                        if (e_49)
                            throw e_49.error;
                    }
                }
                break;
            case "TransitionEasingFunction":
                try {
                    for (var _102 = __values(fromEnum(this.aaw)), _103 = _102.next(); !_103.done; _103 = _102.next()) {
                        var ar = _103.value;
                        ar.hb();
                    }
                }
                catch (e_50_1) {
                    e_50 = { error: e_50_1 };
                }
                finally {
                    try {
                        if (_103 && !_103.done && (_15 = _102.return))
                            _15.call(_102);
                    }
                    finally {
                        if (e_50)
                            throw e_50.error;
                    }
                }
                break;
            case "TransitionDuration":
                try {
                    for (var _104 = __values(fromEnum(this.aaw)), _105 = _104.next(); !_105.done; _105 = _104.next()) {
                        var as = _105.value;
                        as.ha();
                    }
                }
                catch (e_51_1) {
                    e_51 = { error: e_51_1 };
                }
                finally {
                    try {
                        if (_105 && !_105.done && (_16 = _104.return))
                            _16.call(_104);
                    }
                    finally {
                        if (e_51)
                            throw e_51.error;
                    }
                }
                break;
            case "IsTransitionInEnabled":
                try {
                    for (var _106 = __values(fromEnum(this.aaw)), _107 = _106.next(); !_107.done; _107 = _106.next()) {
                        var at = _107.value;
                        at.gf();
                    }
                }
                catch (e_52_1) {
                    e_52 = { error: e_52_1 };
                }
                finally {
                    try {
                        if (_107 && !_107.done && (_17 = _106.return))
                            _17.call(_106);
                    }
                    finally {
                        if (e_52)
                            throw e_52.error;
                    }
                }
                break;
            case "TransitionInMode":
                try {
                    for (var _108 = __values(fromEnum(this.aaw)), _109 = _108.next(); !_109.done; _109 = _108.next()) {
                        var au = _109.value;
                        au.he();
                    }
                }
                catch (e_53_1) {
                    e_53 = { error: e_53_1 };
                }
                finally {
                    try {
                        if (_109 && !_109.done && (_18 = _108.return))
                            _18.call(_108);
                    }
                    finally {
                        if (e_53)
                            throw e_53.error;
                    }
                }
                break;
            case "TransitionInDuration":
                try {
                    for (var _110 = __values(fromEnum(this.aaw)), _111 = _110.next(); !_111.done; _111 = _110.next()) {
                        var av = _111.value;
                        av.gf();
                    }
                }
                catch (e_54_1) {
                    e_54 = { error: e_54_1 };
                }
                finally {
                    try {
                        if (_111 && !_111.done && (_19 = _110.return))
                            _19.call(_110);
                    }
                    finally {
                        if (e_54)
                            throw e_54.error;
                    }
                }
                break;
            case "TransitionInSpeedType":
                try {
                    for (var _112 = __values(fromEnum(this.aaw)), _113 = _112.next(); !_113.done; _113 = _112.next()) {
                        var aw = _113.value;
                        aw.gf();
                    }
                }
                catch (e_55_1) {
                    e_55 = { error: e_55_1 };
                }
                finally {
                    try {
                        if (_113 && !_113.done && (_20 = _112.return))
                            _20.call(_112);
                    }
                    finally {
                        if (e_55)
                            throw e_55.error;
                    }
                }
                break;
            case "TransitionInEasingFunction":
                try {
                    for (var _114 = __values(fromEnum(this.aaw)), _115 = _114.next(); !_115.done; _115 = _114.next()) {
                        var ax = _115.value;
                        ax.hd();
                    }
                }
                catch (e_56_1) {
                    e_56 = { error: e_56_1 };
                }
                finally {
                    try {
                        if (_115 && !_115.done && (_21 = _114.return))
                            _21.call(_114);
                    }
                    finally {
                        if (e_56)
                            throw e_56.error;
                    }
                }
                break;
            case "UseLightweightMarkers":
                try {
                    for (var _116 = __values(fromEnum(this.aaw)), _117 = _116.next(); !_117.done; _117 = _116.next()) {
                        var ay = _117.value;
                        ay.hh();
                    }
                }
                catch (e_57_1) {
                    e_57 = { error: e_57_1 };
                }
                finally {
                    try {
                        if (_117 && !_117.done && (_22 = _116.return))
                            _22.call(_116);
                    }
                    finally {
                        if (e_57)
                            throw e_57.error;
                    }
                }
                break;
            case "UseHighMarkerFidelity":
                try {
                    for (var _118 = __values(fromEnum(this.aaw)), _119 = _118.next(); !_119.done; _119 = _118.next()) {
                        var az = _119.value;
                        az.hg();
                    }
                }
                catch (e_58_1) {
                    e_58 = { error: e_58_1 };
                }
                finally {
                    try {
                        if (_119 && !_119.done && (_23 = _118.return))
                            _23.call(_118);
                    }
                    finally {
                        if (e_58)
                            throw e_58.error;
                    }
                }
                break;
        }
    };
    Object.defineProperty(StackedSeriesBase.prototype, "currentCategoryMode", {
        get: function () {
            return this.preferredCategoryMode(typeCast(CategoryAxisBase.$, this.ys()));
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesBase.prototype, "scaler", {
        get: function () {
            return typeCast(ICategoryScaler_$type, this.ys());
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesBase.prototype, "yScaler", {
        get: function () {
            return typeCast(IScaler_$type, this.y9());
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesBase.prototype, "bucketizer", {
        get: function () {
            return this.y3.cw;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesBase.prototype, "currentMode2Index", {
        get: function () {
            return this.zy();
        },
        enumerable: false,
        configurable: true
    });
    StackedSeriesBase.prototype.provideCollisionDetector = function () {
        return new CollisionAvoider();
    };
    StackedSeriesBase.prototype.gn = function () {
        return false;
    };
    StackedSeriesBase.prototype.get_e5 = function () {
        return false;
    };
    StackedSeriesBase.prototype.rt = function (a, b) {
        var e_59, _a;
        var c = this.g0;
        _super.prototype.rt.call(this, a, b);
        if (!c) {
            this.cv.a4(b);
            return;
        }
        this.cv.a4(b);
        if (this.d5(this.cu)) {
            return;
        }
        try {
            for (var _b = __values(fromEnum(this.series)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var d = _c.value;
                d.visualSeriesLink.rt(a, b);
            }
        }
        catch (e_59_1) {
            e_59 = { error: e_59_1 };
        }
        finally {
            try {
                if (_c && !_c.done && (_a = _b.return))
                    _a.call(_b);
            }
            finally {
                if (e_59)
                    throw e_59.error;
            }
        }
        this.g0 = false;
    };
    StackedSeriesBase.prototype.rq = function (a, b, c, d, e) {
        var e_60, _a;
        _super.prototype.rq.call(this, a, b, c, d, e);
        var f = this.ba.a$j.item(d);
        f.cw.g(this.id);
        f.a3(c);
        if (this.d5(f)) {
            return;
        }
        if (this.aau == null) {
            this.aau = new CategoryFrame(3);
        }
        this.aau.v();
        this.abl();
        this.y0(f).d(this.aau, f);
        this.aak(this.aau, f);
        try {
            for (var _b = __values(fromEnum(this.series)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var g = _c.value;
                g.visualSeriesLink.rq(a, b, c, d, e);
            }
        }
        catch (e_60_1) {
            e_60 = { error: e_60_1 };
        }
        finally {
            try {
                if (_c && !_c.done && (_a = _b.return))
                    _a.call(_b);
            }
            finally {
                if (e_60)
                    throw e_60.error;
            }
        }
    };
    StackedSeriesBase.prototype.aad = function (a, b, c, d, e, f, g) {
        var _this = this;
        var _loop_1 = function (h) {
            var i = 0;
            var _loop_2 = function (j) {
                var k = i + this_1.aba(j, h);
                var l = a == 1 ? i : k;
                if (l < f && e < k) {
                    if (g == 7 || g == 6) {
                        b.add(((function () {
                            var $ret = new ChartSelection();
                            $ret.series = _this.series._inner[j].visualSeriesLink;
                            return $ret;
                        })()));
                    }
                    else if (g == 2 || g == 1) {
                        b.add(((function () {
                            var $ret = new ChartSelection();
                            $ret.item = _this.dn.item(h);
                            return $ret;
                        })()));
                    }
                    else {
                        b.add(((function () {
                            var $ret = new ChartSelection();
                            $ret.item = _this.dn.item(h);
                            $ret.series = _this.series._inner[j].visualSeriesLink;
                            return $ret;
                        })()));
                    }
                }
                i = k;
            };
            for (var j = 0; j < this_1.series.count; j++) {
                _loop_2(j);
            }
        };
        var this_1 = this;
        for (var h = c; h <= d; h++) {
            _loop_1(h);
        }
    };
    StackedSeriesBase.prototype.aba = function (a, b) {
        var c = this.series._inner[a];
        return c.ak.item(b);
    };
    StackedSeriesBase.prototype.z7 = function (a, b, c) {
        var _this = this;
        var _loop_3 = function (d) {
            if (c == 2 || c == 1) {
                a.add(((function () {
                    var $ret = new ChartSelection();
                    $ret.item = _this.dn.item(b);
                    return $ret;
                })()));
            }
            else {
                a.add(((function () {
                    var $ret = new ChartSelection();
                    $ret.item = _this.dn.item(b);
                    $ret.series = _this.series._inner[d].visualSeriesLink;
                    return $ret;
                })()));
            }
        };
        for (var d = 0; d < this.series.count; d++) {
            _loop_3(d);
        }
    };
    StackedSeriesBase.prototype.km = function () {
        var e_61, _a, e_62, _b;
        var a = this.bc.exportStackedVisualData(this, this.ws);
        try {
            for (var _c = __values(fromEnum(this.series)), _d = _c.next(); !_d.done; _d = _c.next()) {
                var b = _d.value;
                var c = this.bc.createFragmentVisualData(this, this.ws, getInstanceType(b).typeName, b.e0);
                b.visualSeriesLink.cv.an(c);
                this.bc.addSubSeriesVisualData(a, c);
                try {
                    for (var _e = (e_62 = void 0, __values(fromEnum(b.visualSeriesLink.actualLayers))), _f = _e.next(); !_f.done; _f = _e.next()) {
                        var d = _f.value;
                        var e = this.bc.createFragmentVisualData(this, this.ws, getInstanceType(d.target).typeName, d.target.name);
                        d.target.cv.an(e);
                        this.bc.addSubSeriesLayerVisualData(c, e);
                    }
                }
                catch (e_62_1) {
                    e_62 = { error: e_62_1 };
                }
                finally {
                    try {
                        if (_f && !_f.done && (_b = _e.return))
                            _b.call(_e);
                    }
                    finally {
                        if (e_62)
                            throw e_62.error;
                    }
                }
            }
        }
        catch (e_61_1) {
            e_61 = { error: e_61_1 };
        }
        finally {
            try {
                if (_d && !_d.done && (_a = _c.return))
                    _a.call(_c);
            }
            finally {
                if (e_61)
                    throw e_61.error;
            }
        }
        this.pz(a);
        this.cv.an(a);
        return a;
    };
    Object.defineProperty(StackedSeriesBase.prototype, "mayContainUnknowns", {
        get: function () {
            return true;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesBase.prototype, "useHighMarkerFidelity", {
        get: function () {
            return this.zq;
        },
        enumerable: false,
        configurable: true
    });
    StackedSeriesBase.$t = markType(StackedSeriesBase, 'StackedSeriesBase', CategorySeries.$, [IIsCategoryBased_$type]);
    StackedSeriesBase.$$p = markDep(DependencyProperty, PropertyMetadata, StackedSeriesBase, 'raisePropertyChanged', ['AutoGenerateSeries:aa3:abq', [0, false], 'ReverseLegendOrder:aa5:abr', [0, false], 'SeriesVisibility:abt:abs', [Visibility_$type, enumGetBox(Visibility_$type, 0)]]);
    return StackedSeriesBase;
}(CategorySeries));
export { StackedSeriesBase };
/**
 * @hidden
 */
var HorizontalStackedSeriesBase = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(HorizontalStackedSeriesBase, _super);
    function HorizontalStackedSeriesBase() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    HorizontalStackedSeriesBase.prototype.get_ek = function () {
        return true;
    };
    HorizontalStackedSeriesBase.prototype.get_f5 = function () {
        return this.y9() != null && this.y9().ch;
    };
    HorizontalStackedSeriesBase.prototype.o2 = function () {
        _super.prototype.o2.call(this);
        this.xAxis = null;
        this.yAxis = null;
        this.aa1.g();
    };
    HorizontalStackedSeriesBase.prototype.ck = function () {
        return 1;
    };
    HorizontalStackedSeriesBase.prototype.cl = function () {
        if (this.yAxis != null && this.yAxis.ch) {
            return 4;
        }
        return 3;
    };
    HorizontalStackedSeriesBase.prototype.getOffsetValue = function () {
        return this.yz.r(this.xAxis, this.cv.by, this.cv.bx, this.getEffectiveViewport1(this.cv));
    };
    HorizontalStackedSeriesBase.prototype.getCategoryWidth = function () {
        return this.xAxis.getCategorySize(this.cv.by, this.cv.bx, this.getEffectiveViewport1(this.cv));
    };
    HorizontalStackedSeriesBase.prototype.fetchXAxis = function () {
        return this.xAxis;
    };
    HorizontalStackedSeriesBase.prototype.fetchYAxis = function () {
        return this.yAxis;
    };
    HorizontalStackedSeriesBase.prototype.ai = function () {
        return [this.fetchXAxis(), this.fetchYAxis()];
    };
    HorizontalStackedSeriesBase.prototype.zp = function () {
        return this.yAxis != null && this.yAxis.c1();
    };
    HorizontalStackedSeriesBase.prototype.sd = function () {
        var e_63, _a;
        var a = (typeCast(XamDataChart.$, this.db));
        if (a != null) {
            this.h9 = isNaN_(this.ik) ? a.w5.fp : this.ik;
            try {
                for (var _b = __values(fromEnum(this.aaw)), _c = _b.next(); !_c.done; _c = _b.next()) {
                    var b = _c.value;
                    b.f3();
                }
            }
            catch (e_63_1) {
                e_63 = { error: e_63_1 };
            }
            finally {
                try {
                    if (_c && !_c.done && (_a = _b.return))
                        _a.call(_b);
                }
                finally {
                    if (e_63)
                        throw e_63.error;
                }
            }
        }
    };
    HorizontalStackedSeriesBase.prototype.q9 = function (a, b, c, d) {
        _super.prototype.q9.call(this, a, b, c, d);
        switch (b) {
            case "Resolution":
                this.aa1.k();
                break;
            case HorizontalStackedSeriesBase.$$p[0]:
                if (c != d) {
                    this.pc(typeCast(Axis.$, c));
                    this.rh(typeCast(Axis.$, d));
                    this.y3.cw.g(this.id);
                    this.rr(false);
                    this.ql();
                }
                break;
            case HorizontalStackedSeriesBase.$$p[1]:
                if (c != d) {
                    this.pc(typeCast(Axis.$, c));
                    this.rh(typeCast(Axis.$, d));
                    this.y3.cw.g(this.id);
                    if (this.db != null) {
                        this.db.n2();
                    }
                    this.zp();
                    this.rr(false);
                    this.ql();
                }
                break;
        }
    };
    HorizontalStackedSeriesBase.prototype.abx = function (a) {
        if (typeCast(NumericYAxis.$, a) !== null) {
            return true;
        }
        return false;
    };
    HorizontalStackedSeriesBase.prototype.abw = function (a) {
        if (typeCast(CategoryXAxis.$, a) !== null || a.ce) {
            return true;
        }
        return false;
    };
    Object.defineProperty(HorizontalStackedSeriesBase.prototype, "useHighMarkerFidelity", {
        get: function () {
            return this.zq;
        },
        enumerable: false,
        configurable: true
    });
    HorizontalStackedSeriesBase.$t = markType(HorizontalStackedSeriesBase, 'HorizontalStackedSeriesBase', StackedSeriesBase.$);
    HorizontalStackedSeriesBase.$$p = markDep(DependencyProperty, PropertyMetadata, HorizontalStackedSeriesBase, 'raisePropertyChanged', ['XAxis::ab0', [CategoryAxisBase.$, null], 'YAxis::ab1', [NumericYAxis.$, null]]);
    return HorizontalStackedSeriesBase;
}(StackedSeriesBase));
export { HorizontalStackedSeriesBase };
/**
 * @hidden
 */
var StackedAreaSeries = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedAreaSeries, _super);
    function StackedAreaSeries() {
        var _this = _super.call(this) || this;
        _this.ab = StackedAreaSeries.$;
        return _this;
    }
    StackedAreaSeries.prototype.bj = function () {
        return new StackedAreaSeries();
    };
    StackedAreaSeries.prototype.get_eu = function () {
        return true;
    };
    StackedAreaSeries.prototype.ac = function () {
        _super.prototype.ac.call(this);
        this.rr(false);
    };
    StackedAreaSeries.prototype.cs = function () {
        return new StackedAreaSeriesView(this);
    };
    StackedAreaSeries.prototype.q1 = function (a) {
        _super.prototype.q1.call(this, a);
        this.ab2 = a;
    };
    StackedAreaSeries.prototype.ay = function (a) {
        if (this.itemsSource == null) {
            return null;
        }
        if (a == this.xAxis) {
            return new AxisRange(0, this.dn.count - 1);
        }
        if (a == this.yAxis) {
            this.abl();
            return new AxisRange(this.abc, this.abb);
        }
        return null;
    };
    StackedAreaSeries.prototype.preferredCategoryMode = function (a) {
        return 0;
    };
    StackedAreaSeries.prototype.ak = function (a, b) {
        var c = new List$1(ChartSelection.$, 0);
        this.p4(a, c, b);
        return c.toArray();
    };
    StackedAreaSeries.prototype.p4 = function (a, b, c) {
        this.aac(a, b, c, this.yt, 0);
    };
    Object.defineProperty(StackedAreaSeries.prototype, "useHighMarkerFidelity", {
        get: function () {
            return this.zq;
        },
        enumerable: false,
        configurable: true
    });
    StackedAreaSeries.$t = markType(StackedAreaSeries, 'StackedAreaSeries', HorizontalStackedSeriesBase.$);
    return StackedAreaSeries;
}(HorizontalStackedSeriesBase));
export { StackedAreaSeries };
/**
 * @hidden
 */
var VerticalStackedSeriesBase = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(VerticalStackedSeriesBase, _super);
    function VerticalStackedSeriesBase() {
        return _super !== null && _super.apply(this, arguments) || this;
    }
    VerticalStackedSeriesBase.prototype.ys = function () {
        return this.yAxis;
    };
    VerticalStackedSeriesBase.prototype.y9 = function () {
        return this.xAxis;
    };
    VerticalStackedSeriesBase.prototype.o2 = function () {
        _super.prototype.o2.call(this);
        this.xAxis = null;
        this.yAxis = null;
        this.aa1.g();
    };
    VerticalStackedSeriesBase.prototype.ck = function () {
        if (this.xAxis != null && this.xAxis.ch) {
            return 4;
        }
        return 3;
    };
    VerticalStackedSeriesBase.prototype.cl = function () {
        return 1;
    };
    VerticalStackedSeriesBase.prototype.az = function (a) {
        if (a.isEmpty && this.db != null) {
            a = this.db.v4;
        }
        var b = this.ys();
        if (this.aas == null || this.aat == null) {
            return null;
        }
        var c = this.wj(this.cv);
        var d = new ScalerParams(0, a, this.db.wk, b.ch, this.getEffectiveViewport());
        var e = (b.eo(c.top, d));
        var f = (b.eo(c.bottom, d));
        if (!b.ch) {
            var g = e;
            e = f;
            f = g;
        }
        var h = null;
        if (b.cn) {
            h = b;
            e = h.i$f(e);
            f = h.i$f(f);
        }
        else {
            e = Math.floor(e);
            f = Math.ceil(f);
        }
        e = Math.max(0, Math.min(this.aat.length - 1, e));
        f = Math.max(0, Math.min(this.aat.length - 1, f));
        var i = 1.7976931348623157E+308;
        var j = -1.7976931348623157E+308;
        for (var k = truncate(e); k <= truncate(f); k++) {
            var l = k;
            if (h != null) {
                l = h.i$b._inner[k];
            }
            var m = this.aat[l];
            {
                if (isInfinity(m) || isNaN_(m)) {
                    continue;
                }
            }
            var n = this.aas[l];
            {
                if (isInfinity(n) || isNaN_(n)) {
                    continue;
                }
            }
            i = Math.min(i, m);
            j = Math.max(j, n);
        }
        var o = new AxisRange(i, j);
        var p = this.y9();
        o = this.ax(o, p, a);
        return o;
    };
    VerticalStackedSeriesBase.prototype.getOffsetValue = function () {
        return this.yz.r(this.yAxis, this.cv.by, this.cv.bx, this.getEffectiveViewport1(this.cv));
    };
    VerticalStackedSeriesBase.prototype.getCategoryWidth = function () {
        return this.yAxis.getCategorySize(this.cv.by, this.cv.bx, this.getEffectiveViewport1(this.cv));
    };
    VerticalStackedSeriesBase.prototype.get_isVertical = function () {
        return true;
    };
    VerticalStackedSeriesBase.prototype.fetchXAxis = function () {
        return this.xAxis;
    };
    VerticalStackedSeriesBase.prototype.fetchYAxis = function () {
        return this.yAxis;
    };
    VerticalStackedSeriesBase.prototype.zp = function () {
        return this.xAxis != null && this.xAxis.c1();
    };
    VerticalStackedSeriesBase.prototype.q9 = function (a, b, c, d) {
        _super.prototype.q9.call(this, a, b, c, d);
        switch (b) {
            case VerticalStackedSeriesBase.$$p[0]:
                if (c != d) {
                    this.pc(typeCast(Axis.$, c));
                    this.rh(typeCast(Axis.$, d));
                    this.y3.cw.g(this.id);
                    if (this.db != null) {
                        this.db.n2();
                    }
                    this.rr(false);
                    this.ql();
                }
                break;
            case VerticalStackedSeriesBase.$$p[1]:
                if (c != d) {
                    this.pc(typeCast(Axis.$, c));
                    this.rh(typeCast(Axis.$, d));
                    this.y3.cw.g(this.id);
                    this.zp();
                    this.rr(false);
                    this.ql();
                }
                break;
        }
    };
    VerticalStackedSeriesBase.prototype.abx = function (a) {
        if (typeCast(CategoryYAxis.$, a) !== null) {
            return true;
        }
        return false;
    };
    VerticalStackedSeriesBase.prototype.abw = function (a) {
        if (typeCast(NumericXAxis.$, a) !== null) {
            return true;
        }
        return false;
    };
    Object.defineProperty(VerticalStackedSeriesBase.prototype, "useHighMarkerFidelity", {
        get: function () {
            return this.zq;
        },
        enumerable: false,
        configurable: true
    });
    VerticalStackedSeriesBase.$t = markType(VerticalStackedSeriesBase, 'VerticalStackedSeriesBase', StackedSeriesBase.$);
    VerticalStackedSeriesBase.$$p = markDep(DependencyProperty, PropertyMetadata, VerticalStackedSeriesBase, 'raisePropertyChanged', ['XAxis::ab0', [NumericXAxis.$, null], 'YAxis::ab1', [CategoryYAxis.$, null]]);
    return VerticalStackedSeriesBase;
}(StackedSeriesBase));
export { VerticalStackedSeriesBase };
/**
 * @hidden
 */
var StackedBarSeries = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedBarSeries, _super);
    function StackedBarSeries() {
        var _this = _super.call(this) || this;
        _this.ab = StackedBarSeries.$;
        return _this;
    }
    StackedBarSeries.prototype.bj = function () {
        return new StackedBarSeries();
    };
    StackedBarSeries.prototype.get_ex = function () {
        return true;
    };
    StackedBarSeries.prototype.get_fl = function () {
        return true;
    };
    StackedBarSeries.prototype.jk = function () {
        if (!isNaN_(this.jj)) {
            return _super.prototype.jk.call(this);
        }
        return Defaults.h;
    };
    StackedBarSeries.prototype.ac = function () {
        _super.prototype.ac.call(this);
        this.rr(false);
    };
    StackedBarSeries.prototype.cs = function () {
        return new StackedBarSeriesView(this);
    };
    StackedBarSeries.prototype.q1 = function (a) {
        _super.prototype.q1.call(this, a);
        this.ab2 = a;
    };
    StackedBarSeries.prototype.aav = function () {
        return this.ab2;
    };
    StackedBarSeries.prototype.preferredCategoryMode = function (a) {
        return 2;
    };
    StackedBarSeries.prototype.zy = function () {
        var e_64, _a;
        var a = 0;
        try {
            for (var _b = __values(fromEnum(this.db.series)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var b = _c.value;
                if (b == this) {
                    return a;
                }
                var c = typeCast(IBarSeries_$type, b);
                if (c != null && c.yAxis == this.yAxis && c.getPreferredCategoryMode() == 2) {
                    a++;
                }
            }
        }
        catch (e_64_1) {
            e_64 = { error: e_64_1 };
        }
        finally {
            try {
                if (_c && !_c.done && (_a = _b.return))
                    _a.call(_b);
            }
            finally {
                if (e_64)
                    throw e_64.error;
            }
        }
        return -1;
    };
    StackedBarSeries.prototype.aa8 = function () {
        var a = 0;
        var b = this.db != null ? this.db.v4 : Rect.empty;
        var c = this.cv.bx;
        if (!b.isEmpty && !c.isEmpty && this.xAxis != null) {
            var d = this.getEffectiveViewport1(this.cv);
            var e = new ScalerParams(0, b, c, this.xAxis.ch, d);
            a = this.xAxis.el(this.xAxis.me, e);
        }
        return a;
    };
    StackedBarSeries.prototype.aa9 = function () {
        if (this.xAxis != null) {
            return this.xAxis.me;
        }
        return 0;
    };
    StackedBarSeries.prototype.ay = function (a) {
        if (this.itemsSource == null) {
            return null;
        }
        if (a == this.yAxis) {
            return new AxisRange(0, this.dn.count - 1);
        }
        if (a == this.xAxis) {
            this.abl();
            return new AxisRange(this.abc, this.abb);
        }
        return null;
    };
    StackedBarSeries.prototype.gd = function (a) {
        var b = this.dn != null ? this.dn.indexOf(a) : -1;
        var c = this.db != null ? this.db.v4 : Rect.empty;
        c = c.copy();
        var d = this.cv.bx;
        var e = new Rect(0, 0, 0, 1, 1);
        var f = this.wl(this.cv);
        var g = new ScalerParams(0, e, e, this.xAxis.ch, f);
        var h = new ScalerParams(0, e, e, this.yAxis.ch, f);
        if (b >= 0 && Rect.l_op_Inequality(c, null) && Rect.l_op_Inequality(d, null)) {
            if (this.yAxis != null) {
                var i = this.yAxis.el(b, h);
                if (i < c.top + 0.1 * c.height) {
                    i = i + 0.4 * c.height;
                }
                if (i > c.bottom - 0.1 * c.height) {
                    i = i - 0.4 * c.height;
                }
                c.y = i - 0.5 * c.height;
            }
            if (this.xAxis != null && this.aas != null && b < this.aas.length) {
                var j = this.xAxis.el(this.aas[b], g);
                var k = this.xAxis.el(this.aat[b], g);
                if (!isNaN_(j) && !isNaN_(k)) {
                    var l = Math.abs(k - j);
                    if (c.width < l) {
                        c.width = l;
                        c.x = Math.min(k, j);
                    }
                    else {
                        if (k < c.left + 0.1 * c.width) {
                            k = k + 0.4 * c.width;
                        }
                        if (k > c.right - 0.1 * c.width) {
                            k = k - 0.4 * c.width;
                        }
                        c.x = k - 0.5 * c.width;
                    }
                }
            }
            this.c3.au(this.db, c, true);
        }
        return b >= 0;
    };
    StackedBarSeries.prototype.he = function (a, b, c) {
        var d = true;
        var e = c;
        if (!c.o() || b.isEmpty || a.isEmpty || this.yAxis == null || this.yAxis.itemsSource == null || this.xAxis == null || this.dn == null || this.xAxis.bi == null || this.yAxis.bi == null || this.xAxis.l4 == this.xAxis.l3) {
            e.cw.d = 0;
            d = false;
        }
        return d;
    };
    StackedBarSeries.prototype.pb = function (a, b, c, d) {
        switch (a) {
            case 4:
            case 1:
            case 0:
                this.y3.cw.g(this.id);
                break;
        }
        switch (a) {
            case 4:
                if (this.xAxis != null && !this.xAxis.c1()) {
                    this.rr(true);
                }
                break;
            case 1:
                if (this.xAxis != null && !this.xAxis.c1()) {
                    this.rr(true);
                }
                break;
            case 0:
                if (this.xAxis != null && !this.xAxis.c1()) {
                    this.rr(true);
                }
                break;
            case 2:
                if (this.y3.cw.d > 0) {
                    this.rr(true);
                }
                break;
            case 3:
                if (this.xAxis != null && !this.xAxis.c1()) {
                    this.rr(true);
                }
                break;
        }
    };
    StackedBarSeries.prototype.j3 = function (a) {
        var b = this.db != null ? this.db.v4 : Rect.empty;
        var c = this.cv.bx;
        var d = this.getEffectiveViewport1(this.cv);
        var e = -1;
        if (this.yAxis != null && !b.isEmpty && !c.isEmpty) {
            var f = new ScalerParams(0, b, c, this.yAxis.ch, d);
            var g = this.wj(this.cv);
            var h = this.yAxis.eo(g.top, f);
            var i = this.yAxis.eo(g.bottom, f);
            var j = (a.y - b.top) / b.height;
            var k = h + (j * (i - h));
            if (this.yAxis.categoryMode != 0) {
                k -= 0.5;
            }
            var l = truncate(Math.round(k));
            e = l;
        }
        return e;
    };
    StackedBarSeries.prototype.kn = function (a) {
        var b = this.j3(a);
        return b >= 0 && this.dn != null && b < this.dn.count ? this.dn.item(b) : null;
    };
    StackedBarSeries.prototype.abp = function () {
        if (this.xAxis != null) {
            this.xAxis.c2(true);
        }
        if (this.yAxis != null) {
            this.yAxis.c2(true);
        }
    };
    StackedBarSeries.prototype.abd = function (a) {
        return this.j3(a);
    };
    StackedBarSeries.prototype.aa6 = function (a, b, c, d) {
        var e = true;
        if (!d.o() || c.isEmpty || b.isEmpty || this.yAxis == null || this.yAxis.itemsSource == null || this.xAxis == null || this.dn == null || this.xAxis.bi == null || this.yAxis.bi == null) {
            e = false;
        }
        var f = d;
        if (a.valueColumn == null || a.valueColumn.count == 0 || f.cw.d < 1) {
            e = false;
        }
        return e;
    };
    StackedBarSeries.prototype.iw = function () {
        return this.yAxis.k8(this.cv.by, this.cv.bx, this.getEffectiveViewport1(this.cv));
    };
    StackedBarSeries.prototype.abm = function (a, b, c, d) {
        var e_65, _a;
        var e = typeCast(BarFragment.$, a);
        var f = typeCast(ColumnFragmentView.$, c);
        if (!this.he(c.bx, c.by, c) || e == null || f == null) {
            return;
        }
        var g = this.yAxis.k8(c.by, c.bx, this.getEffectiveViewport1(c));
        if (isNaN_(g) || isInfinity(g)) {
            e.ac8.dg.count = 0;
            return;
        }
        var h = 0;
        e.y2.a2(e, e.zm(), d, e.zv(c), e.zw(c));
        e.y2.r = e.adb;
        e.y2.s = e.adc;
        e.y2.k = e.adb;
        e.y2.l = e.adc;
        var i = e.valueColumn.count;
        var j = c.by;
        var k = c.bx;
        var l = this.getEffectiveViewport1(c);
        var m = false;
        var n = e.y2.b;
        if (n != null) {
            m = true;
        }
        var o = b.f;
        var p = e.ys();
        var q = p.cn ? p : null;
        var r = new ScalerParams(0, j, k, p.ch, l);
        var s = 0;
        try {
            for (var _b = __values(fromEnum(b.f)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var t = _c.value;
                if (isInfinity(t[0]) || isNaN_(t[0]) || isInfinity(t[1]) || isInfinity(t[2]) || isNaN_(t[1]) || isNaN_(t[2])) {
                    s++;
                    continue;
                }
                var u = t[0] - 0.5 * g;
                var v = t[1];
                var w = t[2];
                w = Math.max(w, -100);
                v = Math.min(v, c.bx.right + 100);
                var x = f.dg.item(h);
                x.height = g;
                x.width = Math.abs(v - w);
                var y = e.y2.aw(i, s)[0];
                if (m) {
                    e.aag(o, s, i, p, r, c.q, y);
                }
                if (x.dataContext != null) {
                    var z = x.dataContext;
                    if (e.y2.az == 1) {
                        if (y >= 0 && y < this.dn.count) {
                            if (q != null && q.i$b != null && q.i$b.count > y) {
                                y = q.i$b._inner[y];
                            }
                            z.item = this.dn.item(y);
                        }
                    }
                    else {
                        z.item = null;
                    }
                }
                e.y2.ad(x, false, false, false, false);
                x.ap = e.y2.k;
                x.aq = e.y2.l;
                f.dn(x, Math.min(v, w), u);
                h++;
                s++;
            }
        }
        catch (e_65_1) {
            e_65 = { error: e_65_1 };
        }
        finally {
            try {
                if (_c && !_c.done && (_a = _b.return))
                    _a.call(_b);
            }
            finally {
                if (e_65)
                    throw e_65.error;
            }
        }
        f.dg.count = h;
    };
    StackedBarSeries.prototype.ak = function (a, b) {
        var c = new List$1(ChartSelection.$, 0);
        this.p4(a, c, b);
        return c.toArray();
    };
    StackedBarSeries.prototype.p4 = function (a, b, c) {
        this.aac(a, b, c, this.yt, 1);
    };
    StackedBarSeries.prototype.q9 = function (a, b, c, d) {
        var e_66, _a;
        _super.prototype.q9.call(this, a, b, c, d);
        switch (b) {
            case StackedBarSeries.$$p[0]:
            case StackedBarSeries.$$p[1]:
                try {
                    for (var _b = __values(fromEnum(this.aaw)), _c = _b.next(); !_c.done; _c = _b.next()) {
                        var e = _c.value;
                        e.g1();
                        e.g2();
                    }
                }
                catch (e_66_1) {
                    e_66 = { error: e_66_1 };
                }
                finally {
                    try {
                        if (_c && !_c.done && (_a = _b.return))
                            _a.call(_b);
                    }
                    finally {
                        if (e_66)
                            throw e_66.error;
                    }
                }
                this.rr(false);
                break;
            case "SyncLink":
                if (this.xAxis != null) {
                    this.xAxis.c1();
                }
                break;
            case "FastItemsSource":
                if (this.xAxis != null && !this.xAxis.c1()) {
                    this.ab2.cw.g(this.id);
                }
                this.rr(this.gg && c != null);
                break;
            case "SeriesViewer":
                if (c != null && d == null) {
                    this.pc(this.xAxis);
                    this.pc(this.yAxis);
                }
                if (c == null && d != null) {
                    this.rh(this.xAxis);
                    this.rh(this.yAxis);
                }
                this.ab2.cw.g(this.id);
                this.rr(false);
                if (this.xAxis != null) {
                    this.xAxis.c1();
                }
                break;
        }
    };
    StackedBarSeries.prototype.getPreferredCategoryMode = function () {
        return this.preferredCategoryMode(this.yAxis);
    };
    Object.defineProperty(StackedBarSeries.prototype, "useHighMarkerFidelity", {
        get: function () {
            return this.zq;
        },
        enumerable: false,
        configurable: true
    });
    StackedBarSeries.$t = markType(StackedBarSeries, 'StackedBarSeries', VerticalStackedSeriesBase.$, [IBarSeries_$type]);
    StackedBarSeries.$$p = markDep(DependencyProperty, PropertyMetadata, StackedBarSeries, 'raisePropertyChanged', ['RadiusX:ab3:ab7', [1, 0], 'RadiusY:ab4:ab8', [1, 0]]);
    return StackedBarSeries;
}(VerticalStackedSeriesBase));
export { StackedBarSeries };
/**
 * @hidden
 */
var StackedColumnSeries = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedColumnSeries, _super);
    function StackedColumnSeries() {
        var _this = _super.call(this) || this;
        _this.ab = StackedColumnSeries.$;
        return _this;
    }
    StackedColumnSeries.prototype.bj = function () {
        return new StackedColumnSeries();
    };
    StackedColumnSeries.prototype.get_ez = function () {
        return true;
    };
    StackedColumnSeries.prototype.get_fl = function () {
        return true;
    };
    StackedColumnSeries.prototype.jk = function () {
        if (!isNaN_(this.jj)) {
            return _super.prototype.jk.call(this);
        }
        return Defaults.h;
    };
    StackedColumnSeries.prototype.cs = function () {
        return new StackedColumnSeriesView(this);
    };
    StackedColumnSeries.prototype.q1 = function (a) {
        _super.prototype.q1.call(this, a);
        this.ab2 = a;
    };
    StackedColumnSeries.prototype.aav = function () {
        return this.ab2;
    };
    StackedColumnSeries.prototype.preferredCategoryMode = function (a) {
        return 2;
    };
    StackedColumnSeries.prototype.ay = function (a) {
        if (this.itemsSource == null) {
            return null;
        }
        if (a == this.xAxis) {
            return new AxisRange(0, this.dn.count - 1);
        }
        if (a == this.yAxis) {
            this.abl();
            return new AxisRange(this.abc, this.abb);
        }
        return null;
    };
    StackedColumnSeries.prototype.iw = function () {
        var a = this.getEffectiveViewport1(this.cv);
        return this.xAxis.k8(this.cv.by, this.cv.bx, a);
    };
    StackedColumnSeries.prototype.abm = function (a, b, c, d) {
        var e_67, _a;
        var e = typeCast(ColumnFragment.$, a);
        var f = typeCast(ColumnFragmentView.$, c);
        if (!this.he(c.bx, c.by, c) || e == null || f == null) {
            return;
        }
        if (e == null) {
            return;
        }
        var g = this.getEffectiveViewport1(c);
        var h = this.xAxis.k8(c.by, c.bx, g);
        if (isNaN_(h) || isInfinity(h)) {
            e.ac8.dg.count = 0;
            return;
        }
        var i = 0;
        e.y2.a2(e, e.zm(), d, e.zv(c), e.zw(c));
        e.y2.r = e.adb;
        e.y2.s = e.adc;
        e.y2.k = e.adb;
        e.y2.l = e.adc;
        var j = c.by;
        var k = c.bx;
        var l = this.getEffectiveViewport1(c);
        var m = false;
        var n = e.y2.b;
        if (n != null) {
            m = true;
        }
        var o = b.f;
        var p = e.ys();
        var q = p.cn ? p : null;
        var r = new ScalerParams(0, j, k, p.ch, l);
        var s = e.valueColumn.count;
        var t = typeCast(ISortingAxis_$type, this.xAxis) !== null;
        var u = 0;
        try {
            for (var _b = __values(fromEnum(b.f)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var v = _c.value;
                if (isInfinity(v[0]) || isNaN_(v[0]) || isInfinity(v[1]) || isInfinity(v[2]) || isNaN_(v[1]) || isNaN_(v[2])) {
                    u++;
                    continue;
                }
                var w = v[0] - 0.5 * h;
                var x = v[1];
                var y = v[2];
                x = Math.max(x, -100);
                y = Math.min(y, c.bx.bottom + 100);
                var z = f.dg.item(u);
                z.width = h;
                z.height = Math.abs(y - x);
                var aa = e.y2.aw(s, u)[0];
                if (t && b.m != null && i >= 0 && i < b.m.count) {
                    aa = truncate(Math.round(b.m._inner[i]));
                }
                if (m) {
                    e.aag(o, u, s, p, r, c.q, aa);
                }
                if (z.dataContext != null) {
                    var ab = z.dataContext;
                    if (e.y2.az == 1) {
                        if (aa >= 0 && aa < this.dn.count) {
                            if (q != null && q.i$b != null && q.i$b.count > aa) {
                                aa = q.i$b._inner[aa];
                            }
                            ab.item = this.dn.item(aa);
                        }
                    }
                    else {
                        ab.item = null;
                    }
                }
                e.y2.ad(z, false, false, false, false);
                z.ap = e.y2.k;
                z.aq = e.y2.l;
                f.dn(z, w, Math.min(y, x));
                i++;
                u++;
            }
        }
        catch (e_67_1) {
            e_67 = { error: e_67_1 };
        }
        finally {
            try {
                if (_c && !_c.done && (_a = _b.return))
                    _a.call(_b);
            }
            finally {
                if (e_67)
                    throw e_67.error;
            }
        }
        f.dg.count = u;
    };
    StackedColumnSeries.prototype.ak = function (a, b) {
        var c = new List$1(ChartSelection.$, 0);
        this.p4(a, c, b);
        return c.toArray();
    };
    StackedColumnSeries.prototype.p4 = function (a, b, c) {
        this.aac(a, b, c, this.yt, 1);
    };
    StackedColumnSeries.prototype.q9 = function (a, b, c, d) {
        var e_68, _a;
        _super.prototype.q9.call(this, a, b, c, d);
        switch (b) {
            case StackedColumnSeries.$$p[0]:
            case StackedColumnSeries.$$p[1]:
                try {
                    for (var _b = __values(fromEnum(this.aaw)), _c = _b.next(); !_c.done; _c = _b.next()) {
                        var e = _c.value;
                        e.g1();
                        e.g2();
                    }
                }
                catch (e_68_1) {
                    e_68 = { error: e_68_1 };
                }
                finally {
                    try {
                        if (_c && !_c.done && (_a = _b.return))
                            _a.call(_b);
                    }
                    finally {
                        if (e_68)
                            throw e_68.error;
                    }
                }
                this.rr(false);
                break;
            case "SyncLink":
                if (this.yAxis != null) {
                    this.yAxis.c1();
                }
                break;
            case "SeriesViewer":
                if (this.yAxis != null) {
                    this.yAxis.c1();
                }
                break;
        }
    };
    Object.defineProperty(StackedColumnSeries.prototype, "useHighMarkerFidelity", {
        get: function () {
            return this.zq;
        },
        enumerable: false,
        configurable: true
    });
    StackedColumnSeries.$t = markType(StackedColumnSeries, 'StackedColumnSeries', HorizontalStackedSeriesBase.$);
    StackedColumnSeries.$$p = markDep(DependencyProperty, PropertyMetadata, StackedColumnSeries, 'raisePropertyChanged', ['RadiusX:ab3:ab7', [1, 0], 'RadiusY:ab4:ab8', [1, 0]]);
    return StackedColumnSeries;
}(HorizontalStackedSeriesBase));
export { StackedColumnSeries };
/**
 * @hidden
 */
var StackedSplineAreaSeries = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedSplineAreaSeries, _super);
    function StackedSplineAreaSeries() {
        var _this = _super.call(this) || this;
        _this.ab = StackedSplineAreaSeries.$;
        return _this;
    }
    StackedSplineAreaSeries.prototype.bj = function () {
        return new StackedSplineAreaSeries();
    };
    StackedSplineAreaSeries.prototype.jk = function () {
        if (!isNaN_(this.jj)) {
            return _super.prototype.jk.call(this);
        }
        return this.ab2.da();
    };
    StackedSplineAreaSeries.prototype.get_eu = function () {
        return true;
    };
    StackedSplineAreaSeries.prototype.get_f0 = function () {
        return true;
    };
    StackedSplineAreaSeries.prototype.ac = function () {
        _super.prototype.ac.call(this);
        this.rr(false);
    };
    StackedSplineAreaSeries.prototype.cs = function () {
        return new StackedSplineAreaSeriesView(this);
    };
    StackedSplineAreaSeries.prototype.q1 = function (a) {
        _super.prototype.q1.call(this, a);
        this.ab2 = a;
    };
    StackedSplineAreaSeries.prototype.ay = function (a) {
        if (this.itemsSource == null) {
            return null;
        }
        if (a == this.xAxis) {
            return new AxisRange(0, this.dn.count - 1);
        }
        if (a == this.yAxis) {
            this.abl();
            return new AxisRange(this.abc, this.abb);
        }
        return null;
    };
    StackedSplineAreaSeries.prototype.preferredCategoryMode = function (a) {
        return 0;
    };
    StackedSplineAreaSeries.prototype.q9 = function (a, b, c, d) {
        var e_69, _a;
        _super.prototype.q9.call(this, a, b, c, d);
        switch (b) {
            case StackedSplineAreaSeries.$$p[0]:
                try {
                    for (var _b = __values(fromEnum(this.aaw)), _c = _b.next(); !_c.done; _c = _b.next()) {
                        var e = _c.value;
                        e.ge();
                    }
                }
                catch (e_69_1) {
                    e_69 = { error: e_69_1 };
                }
                finally {
                    try {
                        if (_c && !_c.done && (_a = _b.return))
                            _a.call(_b);
                    }
                    finally {
                        if (e_69)
                            throw e_69.error;
                    }
                }
                break;
        }
    };
    StackedSplineAreaSeries.prototype.ak = function (a, b) {
        var c = new List$1(ChartSelection.$, 0);
        this.p4(a, c, b);
        return c.toArray();
    };
    StackedSplineAreaSeries.prototype.p4 = function (a, b, c) {
        this.aac(a, b, c, this.yt, 0);
    };
    Object.defineProperty(StackedSplineAreaSeries.prototype, "useHighMarkerFidelity", {
        get: function () {
            return this.zq;
        },
        enumerable: false,
        configurable: true
    });
    StackedSplineAreaSeries.$t = markType(StackedSplineAreaSeries, 'StackedSplineAreaSeries', HorizontalStackedSeriesBase.$);
    StackedSplineAreaSeries.$$p = markDep(DependencyProperty, PropertyMetadata, StackedSplineAreaSeries, 'raisePropertyChanged', ['IsSplineShapePartOfRange:ab3:ab5', [0, false]]);
    return StackedSplineAreaSeries;
}(HorizontalStackedSeriesBase));
export { StackedSplineAreaSeries };
/**
 * @hidden
 */
var StackedSplineSeries = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedSplineSeries, _super);
    function StackedSplineSeries() {
        var _this = _super.call(this) || this;
        _this.ab = StackedSplineSeries.$;
        return _this;
    }
    StackedSplineSeries.prototype.bj = function () {
        return new StackedSplineSeries();
    };
    StackedSplineSeries.prototype.get_f0 = function () {
        return true;
    };
    StackedSplineSeries.prototype.jk = function () {
        if (!isNaN_(this.jj)) {
            return _super.prototype.jk.call(this);
        }
        return this.ab2.da();
    };
    StackedSplineSeries.prototype.ac = function () {
        _super.prototype.ac.call(this);
        this.rr(false);
    };
    StackedSplineSeries.prototype.cs = function () {
        return new StackedSplineSeriesView(this);
    };
    StackedSplineSeries.prototype.q1 = function (a) {
        _super.prototype.q1.call(this, a);
        this.ab2 = a;
    };
    StackedSplineSeries.prototype.ay = function (a) {
        if (this.itemsSource == null) {
            return null;
        }
        if (a == this.xAxis) {
            return new AxisRange(0, this.dn.count - 1);
        }
        if (a == this.yAxis) {
            this.abl();
            return new AxisRange(this.abc, this.abb);
        }
        return null;
    };
    StackedSplineSeries.prototype.preferredCategoryMode = function (a) {
        return 0;
    };
    StackedSplineSeries.prototype.ak = function (a, b) {
        var c = new List$1(ChartSelection.$, 0);
        this.p4(a, c, b);
        return c.toArray();
    };
    StackedSplineSeries.prototype.p4 = function (a, b, c) {
        this.aac(a, b, c, this.yt, 0);
    };
    Object.defineProperty(StackedSplineSeries.prototype, "useHighMarkerFidelity", {
        get: function () {
            return this.zq;
        },
        enumerable: false,
        configurable: true
    });
    StackedSplineSeries.$t = markType(StackedSplineSeries, 'StackedSplineSeries', HorizontalStackedSeriesBase.$);
    StackedSplineSeries.$$p = markDep(DependencyProperty, PropertyMetadata, StackedSplineSeries, 'raisePropertyChanged', ['IsSplineShapePartOfRange:ab3:ab5', [0, false]]);
    return StackedSplineSeries;
}(HorizontalStackedSeriesBase));
export { StackedSplineSeries };
/**
 * @hidden
 */
var StackedFragmentSeries = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedFragmentSeries, _super);
    function StackedFragmentSeries() {
        var _this = _super.call(this) || this;
        _this._parentSeries = null;
        _this.cc = 0;
        _this.af = null;
        _this.ak = null;
        _this._visualSeriesLink = null;
        _this.a7 = null;
        _this.a8 = null;
        _this.a6 = null;
        _this.az = false;
        _this.b5 = null;
        _this.propertyChanged = null;
        _this.propertyUpdated = null;
        _this.a5 = new List$1(String_$type, 0);
        _this.a7 = new List$1(Number_$type, 0);
        _this.a8 = new List$1(Number_$type, 0);
        _this.a6 = new List$1(Array_$type, 0);
        _this.propertyUpdated = delegateCombine(_this.propertyUpdated, function (a, b) { return _this.fy(a, b.propertyName, b.oldValue, b.newValue); });
        return _this;
    }
    StackedFragmentSeries.prototype.cg = function (a, b) {
        var c = new DataLegendSeriesValueInfo();
        c.l = this.bt({ $type: Point_$type, x: a, y: b }, false, false);
        c.q = "Value";
        c.r = this.ft != null ? this.ft : "Value";
        c.s = this.fp != null ? this.fp : "";
        c.t = this.fr != null ? this.fr : "";
        var d = new DataLegendSeriesContext();
        d.e = ((function () {
            var $ret = new List$1(DataLegendSeriesValueInfo.$, 0);
            $ret.add(c);
            return $ret;
        })());
        d.h = this.eb();
        return d;
    };
    StackedFragmentSeries.prototype.eb = function () {
        return "Stacked";
    };
    Object.defineProperty(StackedFragmentSeries.prototype, "parentSeries", {
        get: function () {
            return this._parentSeries;
        },
        set: function (a) {
            this._parentSeries = a;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedFragmentSeries.prototype, "visualSeriesLink", {
        get: function () {
            return this._visualSeriesLink;
        },
        set: function (a) {
            this._visualSeriesLink = a;
        },
        enumerable: false,
        configurable: true
    });
    StackedFragmentSeries.prototype.b8 = function (a) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.j3(a);
        }
        return -1;
    };
    StackedFragmentSeries.prototype.ch = function (a) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.kn(a);
        }
        return null;
    };
    StackedFragmentSeries.prototype.cb = function (a, b) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.ka(a, b);
        }
        return -1;
    };
    StackedFragmentSeries.prototype.ca = function (a, b) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.j8(a, b);
        }
        return -1;
    };
    StackedFragmentSeries.prototype.bt = function (a, b, c) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.i5(a, b, c);
        }
        return NaN;
    };
    StackedFragmentSeries.prototype.li = function (a, b, c) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.wc(a, b, c);
        }
        return { $type: Point_$type, x: NaN, y: NaN };
    };
    StackedFragmentSeries.prototype.lm = function (a) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.wn(a);
        }
        return Rect.empty;
    };
    StackedFragmentSeries.prototype.j = function (a) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.ao(a);
        }
        return null;
    };
    StackedFragmentSeries.prototype.ln = function (a) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.wo(a);
        }
        return Rect.empty;
    };
    StackedFragmentSeries.prototype.k = function (a) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.ap(a);
        }
        return null;
    };
    StackedFragmentSeries.prototype.lo = function (a) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.wp(a);
        }
        return Rect.empty;
    };
    StackedFragmentSeries.prototype.lp = function (a) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.wq(a);
        }
        return Rect.empty;
    };
    StackedFragmentSeries.prototype.bp = function (a, b, c) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.i1(a, b, c);
        }
        return NaN;
    };
    StackedFragmentSeries.prototype.le = function (a, b, c) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.v8(a, b, c);
        }
        return { $type: Point_$type, x: NaN, y: NaN };
    };
    StackedFragmentSeries.prototype.br = function (a, b, c) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.i3(a, b, c);
        }
        return NaN;
    };
    StackedFragmentSeries.prototype.lg = function (a, b, c) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.wa(a, b, c);
        }
        return { $type: Point_$type, x: NaN, y: NaN };
    };
    StackedFragmentSeries.prototype.lj = function (a, b, c) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.wd(a, b, c);
        }
        return { $type: Point_$type, x: NaN, y: NaN };
    };
    StackedFragmentSeries.prototype.bu = function (a, b, c) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.i6(a, b, c);
        }
        return NaN;
    };
    StackedFragmentSeries.prototype.lf = function (a, b, c) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.v9(a, b, c);
        }
        return { $type: Point_$type, x: NaN, y: NaN };
    };
    StackedFragmentSeries.prototype.bq = function (a, b, c) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.i2(a, b, c);
        }
        return NaN;
    };
    StackedFragmentSeries.prototype.lh = function (a, b, c) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.wb(a, b, c);
        }
        return { $type: Point_$type, x: NaN, y: NaN };
    };
    StackedFragmentSeries.prototype.bs = function (a, b, c) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.i4(a, b, c);
        }
        return NaN;
    };
    StackedFragmentSeries.prototype.b9 = function (a) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.j4(a);
        }
        return -1;
    };
    StackedFragmentSeries.prototype.bo = function () {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.iw();
        }
        return 0;
    };
    StackedFragmentSeries.prototype.bn = function (a) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.is(a);
        }
        return NaN;
    };
    StackedFragmentSeries.prototype.ci = function (a) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.ko(a);
        }
        return null;
    };
    StackedFragmentSeries.prototype.as = function (a, b, c, d, e) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.eb(a, b, c, d, e);
        }
        return false;
    };
    StackedFragmentSeries.prototype.lk = function (a) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.wh(a);
        }
        return { $type: Point_$type, x: NaN, y: NaN };
    };
    StackedFragmentSeries.prototype.ld = function (a) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.v7(a);
        }
        return { $type: Point_$type, x: NaN, y: NaN };
    };
    StackedFragmentSeries.prototype.a0 = function (a) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.gd(a);
        }
        return false;
    };
    StackedFragmentSeries.prototype.ll = function () {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.getEffectiveViewport();
        }
        return Rect.empty;
    };
    StackedFragmentSeries.prototype.fx = function () {
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.qn();
        }
    };
    StackedFragmentSeries.prototype.f2 = function (a) {
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.r6(a);
        }
    };
    StackedFragmentSeries.prototype.a1 = function (a, b) {
        if (this.visualSeriesLink != null) {
            return this.visualSeriesLink.gw(a, b);
        }
        return false;
    };
    StackedFragmentSeries.prototype.fw = function (a) {
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.qc(a);
        }
    };
    StackedFragmentSeries.prototype.provideRenderer = function (a) {
        this.b5 = a;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.provideRenderer(a);
        }
    };
    StackedFragmentSeries.prototype.hm = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.lt = this.parentSeries._visibility != 0 ? 1 : this.lv;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink._visibility = this.lt;
        }
    };
    StackedFragmentSeries.prototype.gu = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.hp = this.hs != null ? this.hs : this.parentSeries.x2;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.x2 = this.hp;
        }
    };
    StackedFragmentSeries.prototype.gw = function () {
        if (this.parentSeries == null) {
            return;
        }
        var a = this.x == 0 || this.x == 2;
        var b = a ? this.parentSeries.w8 : this.x;
        if (b == 2 || b == 0) {
            b = 1;
        }
        this.w = b;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.xa = this.w;
        }
    };
    StackedFragmentSeries.prototype.f4 = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.k4 = this.kz != null ? this.kz : this.parentSeries.vf;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.vf = this.k4;
        }
    };
    StackedFragmentSeries.prototype.f5 = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.k7 = this.k8 != null ? this.k8 : this.parentSeries.v2;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.v2 = this.k7;
        }
    };
    StackedFragmentSeries.prototype.gb = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.bc = !isNaN_(this.bv) ? this.bv : this.parentSeries.jf;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.jf = this.bc;
        }
    };
    StackedFragmentSeries.prototype.ga = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.z = this.parentSeries.bv;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.bv = this.z;
        }
    };
    StackedFragmentSeries.prototype.g0 = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.aa = this.ab != 0 ? this.ab : this.parentSeries.ci;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.ci = this.aa;
        }
    };
    StackedFragmentSeries.prototype.gq = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.bd = !isNaN_(this.bw) || this.ay("MarkerFillOpacity") ? this.bw : this.parentSeries.jg;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.jg = this.bd;
        }
    };
    StackedFragmentSeries.prototype.f6 = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.k9 = this.at("DashCap") ? this.parentSeries.v3 : this.lb;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.v3 = this.k9;
        }
    };
    StackedFragmentSeries.prototype.gc = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.al = this.at("IsDropShadowEnabled") ? this.parentSeries.e4 : this.au;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.e4 = this.al;
        }
    };
    StackedFragmentSeries.prototype.g3 = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.bi = !isNaN_(this.b1) || this.ay("ShadowBlur") ? this.b1 : this.parentSeries.jm;
        if (this.visualSeriesLink != null && !isNaN_(this.bi)) {
            this.visualSeriesLink.jm = this.bi;
        }
    };
    StackedFragmentSeries.prototype.g4 = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.k5 = Color.e(toNullable(Color.$, this.k6), toNullable(Color.$, null)) ? this.k6 : this.parentSeries.v1;
        if (this.visualSeriesLink != null && Color.e(toNullable(Color.$, this.k5), toNullable(Color.$, null))) {
            this.visualSeriesLink.v1 = this.k5;
        }
    };
    StackedFragmentSeries.prototype.hi = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.ar = this.at("UseSingleShadow") ? this.parentSeries.hc : this.a4;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.hc = this.ar;
        }
    };
    StackedFragmentSeries.prototype.g5 = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.bj = !isNaN_(this.b2) || this.ay("ShadowOffsetX") ? this.b2 : this.parentSeries.jn;
        if (this.visualSeriesLink != null && !isNaN_(this.bj)) {
            this.visualSeriesLink.jn = this.bj;
        }
    };
    StackedFragmentSeries.prototype.g6 = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.bk = !isNaN_(this.b3) || this.ay("ShadowOffsetY") ? this.b3 : this.parentSeries.jo;
        if (this.visualSeriesLink != null && !isNaN_(this.bk)) {
            this.visualSeriesLink.jo = this.bk;
        }
    };
    StackedFragmentSeries.prototype.gd = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.am = this.av;
    };
    StackedFragmentSeries.prototype.gj = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.hn = this.hq != null ? this.hq : this.parentSeries.legendItemBadgeTemplate;
        if (this.visualSeriesLink != null) {
            if (this.hn != null) {
                this.visualSeriesLink.legendItemBadgeTemplate = this.hn;
            }
            else {
                this.visualSeriesLink.legendItemBadgeTemplate = null;
            }
        }
    };
    StackedFragmentSeries.prototype.gk = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.ho = this.hr != null ? this.hr : this.parentSeries.legendItemTemplate;
        if (this.visualSeriesLink != null) {
            if (this.ho != null) {
                this.visualSeriesLink.legendItemTemplate = this.ho;
            }
            else {
                this.visualSeriesLink.legendItemTemplate = null;
            }
        }
    };
    StackedFragmentSeries.prototype.gl = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.ls = this.parentSeries.legendItemVisibility != 0 ? 1 : this.lu;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.legendItemVisibility = this.ls;
        }
    };
    StackedFragmentSeries.prototype.gi = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.q = this.r != 0 ? this.r : this.parentSeries.legendItemBadgeShape;
        if (this.visualSeriesLink != null) {
            if (this.q != 0) {
                this.visualSeriesLink.legendItemBadgeShape = this.q;
            }
            else {
                this.visualSeriesLink.legendItemBadgeShape = 0;
            }
        }
    };
    StackedFragmentSeries.prototype.gh = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.o = this.p != 0 ? this.p : this.parentSeries.bd;
        if (this.visualSeriesLink != null) {
            if (this.o != 0) {
                this.visualSeriesLink.bd = this.o;
            }
            else {
                this.visualSeriesLink.bd = 0;
            }
        }
    };
    StackedFragmentSeries.prototype.go = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.kv = this.k0 != null ? this.k0 : this.parentSeries.yj;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.yj = this.kv;
        }
    };
    StackedFragmentSeries.prototype.gr = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.kw = this.k1 != null ? this.k1 : this.parentSeries.yk;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.yk = this.kw;
        }
    };
    StackedFragmentSeries.prototype.gt = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.lq = this.lr != null ? this.lr : this.parentSeries.yl;
        if (this.visualSeriesLink != null) {
            if (this.lq != null) {
                this.visualSeriesLink.yl = this.lq;
            }
            else {
                this.visualSeriesLink.yl = null;
            }
        }
    };
    StackedFragmentSeries.prototype.gx = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.bf = !isNaN_(this.by) || this.ay("Opacity") ? this.by : this.parentSeries._opacity;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink._opacity = this.bf;
        }
    };
    StackedFragmentSeries.prototype.gy = function () {
    };
    StackedFragmentSeries.prototype.gz = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.ky = this.k3 != null ? this.k3 : this.parentSeries.vv;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.vv = this.ky;
        }
    };
    StackedFragmentSeries.prototype.gg = function () {
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.itemsSource = this.itemsSource;
        }
    };
    StackedFragmentSeries.prototype.f9 = function () {
        var a = this.highlightedItemsSource;
        if (a == null && this.parentSeries != null) {
            a = this.parentSeries.highlightedItemsSource;
        }
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.highlightedItemsSource = a;
        }
    };
    StackedFragmentSeries.prototype.f3 = function () {
        if (this.parentSeries == null) {
            return;
        }
        var a = NaN;
        if (this.parentSeries.isStacked && this.parentSeries.eu && !this.parentSeries.f0) {
            a = this.parentSeries.h9;
        }
        if (this.parentSeries.isStacked && this.parentSeries.eu && this.parentSeries.f0) {
            a = this.parentSeries.h9;
        }
        this.bb = !isNaN_(this.bm) || this.ay("AreaFillOpacity") ? this.bm : a;
        if (this.visualSeriesLink != null) {
            if (typeCast(AreaFragment.$, this.visualSeriesLink) !== null) {
                this.visualSeriesLink.ik = this.bb;
            }
            if (typeCast(SplineAreaFragment.$, this.visualSeriesLink) !== null) {
                this.visualSeriesLink.ik = this.bb;
            }
        }
    };
    StackedFragmentSeries.prototype.ge = function () {
        if (this.parentSeries == null) {
            return;
        }
        var a = false;
        if (this.parentSeries.isStacked && this.parentSeries.f0 && this.parentSeries.eu) {
            a = this.parentSeries.ab3;
        }
        if (this.parentSeries.isStacked && this.parentSeries.ex) {
            a = this.parentSeries.ab3;
        }
        this.an = a;
        if (this.visualSeriesLink != null) {
            if (typeCast(SplineFragment.$, this.visualSeriesLink) !== null) {
                this.visualSeriesLink.ac1 = this.an;
            }
            if (typeCast(SplineAreaFragment.$, this.visualSeriesLink) !== null) {
                this.visualSeriesLink.ac1 = this.an;
            }
        }
    };
    StackedFragmentSeries.prototype.g1 = function () {
        if (this.parentSeries == null) {
            return;
        }
        var a = NaN;
        if (this.parentSeries.isStacked && this.parentSeries.ez) {
            a = this.parentSeries.ab3;
        }
        if (this.parentSeries.isStacked && this.parentSeries.ex) {
            a = this.parentSeries.ab3;
        }
        this.bg = !isNaN_(this.bz) && this.bz != a ? this.bz : a;
        if (this.visualSeriesLink != null) {
            if (typeCast(ColumnFragment.$, this.visualSeriesLink) !== null) {
                this.visualSeriesLink.adb = this.bg;
            }
            if (typeCast(BarFragment.$, this.visualSeriesLink) !== null) {
                this.visualSeriesLink.adb = this.bg;
            }
        }
    };
    StackedFragmentSeries.prototype.g2 = function () {
        if (this.parentSeries == null) {
            return;
        }
        var a = NaN;
        if (this.parentSeries.isStacked && this.parentSeries.ez) {
            a = this.parentSeries.ab4;
        }
        if (this.parentSeries.isStacked && this.parentSeries.ex) {
            a = this.parentSeries.ab4;
        }
        this.bh = !isNaN_(this.b0) && this.b0 != a ? this.b0 : a;
        if (this.visualSeriesLink != null) {
            if (typeCast(ColumnFragment.$, this.visualSeriesLink) !== null) {
                this.visualSeriesLink.adc = this.bh;
            }
            if (typeCast(BarFragment.$, this.visualSeriesLink) !== null) {
                this.visualSeriesLink.adc = this.bh;
            }
        }
    };
    StackedFragmentSeries.prototype.gm = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.la = this.at("StartCap") ? this.parentSeries.v4 : this.lc;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.v4 = this.la;
        }
    };
    StackedFragmentSeries.prototype.g7 = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.bl = !isNaN_(this.b4) && this.b4 != this.parentSeries.jp ? this.b4 : this.parentSeries.jp;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.jp = this.bl;
        }
    };
    StackedFragmentSeries.prototype.gn = function () {
        if (this.parentSeries == null) {
            return;
        }
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.v5 = this.parentSeries.v5;
        }
    };
    StackedFragmentSeries.prototype.gv = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.be = !isNaN_(this.bx) || this.ay("MarkerThickness") ? this.bx : this.parentSeries.xj;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.xj = this.be;
        }
    };
    StackedFragmentSeries.prototype.g9 = function () {
        if (this.parentSeries == null) {
            return;
        }
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.toolTip = this.ck;
        }
    };
    StackedFragmentSeries.prototype.hb = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.ag = this.ai || this.parentSeries.dd;
    };
    StackedFragmentSeries.prototype.ha = function () {
        if (this.parentSeries == null) {
            return;
        }
        if (this.parentSeries.kd != 0) {
            this.b6 = this.parentSeries.kd;
            return;
        }
        this.b6 = this.at("IsDropShadowEnabled") ? this.parentSeries.kd : this.cd;
    };
    StackedFragmentSeries.prototype.hd = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.ah = this.at("IsDropShadowEnabled") ? this.parentSeries.de : this.aj;
    };
    StackedFragmentSeries.prototype.he = function () {
        if (this.parentSeries == null) {
            return;
        }
        if (this.parentSeries.y5 != 0) {
            this.m = this.parentSeries.y5;
            return;
        }
        this.m = this.n;
    };
    StackedFragmentSeries.prototype.hf = function () {
        if (this.parentSeries == null) {
            return;
        }
        if (this.parentSeries.c5 != 0) {
            this.ad = this.parentSeries.c5;
            return;
        }
        this.ad = this.ae;
    };
    StackedFragmentSeries.prototype.gf = function () {
        if (this.parentSeries == null) {
            return;
        }
        if (this.parentSeries.zl != false) {
            this.ao = this.parentSeries.zl;
            return;
        }
        this.ao = this.ax;
    };
    StackedFragmentSeries.prototype.hc = function () {
        if (this.parentSeries == null) {
            return;
        }
        if (this.parentSeries.ke != 1000) {
            this.b7 = this.parentSeries.ke;
            return;
        }
        this.b7 = this.ce;
    };
    StackedFragmentSeries.prototype.hh = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.aq = this.at("UseLightweightMarkers") ? this.parentSeries.xi : this.a3;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.xi = this.aq;
        }
    };
    StackedFragmentSeries.prototype.g8 = function () {
        if (this.parentSeries == null) {
            return;
        }
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.title = this.cj;
        }
    };
    StackedFragmentSeries.prototype.gp = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.s = this.t != 0 ? this.t : this.parentSeries.w0;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.w0 = this.s;
        }
    };
    StackedFragmentSeries.prototype.gs = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.u = this.v != 0 ? this.v : this.parentSeries.w4;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.w4 = this.u;
        }
    };
    StackedFragmentSeries.prototype.hg = function () {
        if (this.parentSeries == null) {
            return;
        }
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.zq = this.ay("UseHighMarkerFidelity") ? this.a2 : this.parentSeries.zq;
        }
    };
    StackedFragmentSeries.prototype.hk = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.d2 = this.ay("ValueMemberAsLegendUnit") ? this.fr : null;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.abl = this.fr;
        }
    };
    StackedFragmentSeries.prototype.hj = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.d0 = this.ay("ValueMemberAsLegendLabel") ? this.fp : this.cj != null ? this.cj.toString() : null;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.abj = this.d0;
        }
    };
    StackedFragmentSeries.prototype.f7 = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.cp = this.ay("DataLegendGroup") ? this.d9 : this.eb();
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.l3 = this.cp;
        }
    };
    StackedFragmentSeries.prototype.f8 = function () {
        if (this.parentSeries == null) {
            return;
        }
        this.cr = this.ay("HighlightedDataLegendGroup") ? this.ed : this.d9;
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.mj = this.cr;
        }
    };
    StackedFragmentSeries.prototype.hl = function () {
        if (this.parentSeries == null) {
            return;
        }
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.abn = this.ft;
        }
    };
    StackedFragmentSeries.prototype.f0 = function (a, b, c) {
        if (this.propertyChanged != null) {
            this.propertyChanged(this, new PropertyChangedEventArgs(a));
        }
        if (this.propertyUpdated != null) {
            this.propertyUpdated(this, new PropertyUpdatedEventArgs(a, b, c));
        }
    };
    StackedFragmentSeries.prototype.at = function (a) {
        return !this.a5.contains(a);
    };
    StackedFragmentSeries.prototype.ay = function (a) {
        return this.a5.contains(a);
    };
    StackedFragmentSeries.prototype.fy = function (a, b, c, d) {
        if (this.parentSeries == null) {
            return;
        }
        if (!this.a5.contains(b)) {
            this.a5.add(b);
        }
        switch (b) {
            case StackedFragmentSeries.$$p[92]:
                this.g8();
                break;
            case StackedFragmentSeries.$$p[105]:
                this.hl();
                break;
            case StackedFragmentSeries.$$p[104]:
                this.hk();
                break;
            case StackedFragmentSeries.$$p[103]:
                this.hj();
                break;
            case StackedFragmentSeries.$$p[106]:
                this.hm();
                break;
            case StackedFragmentSeries.$$p[52]:
                this.f4();
                break;
            case StackedFragmentSeries.$$p[53]:
                this.f5();
                break;
            case StackedFragmentSeries.$$p[54]:
                this.f6();
                break;
            case StackedFragmentSeries.$$p[59]:
                this.gc();
                break;
            case StackedFragmentSeries.$$p[87]:
                this.g3();
                break;
            case StackedFragmentSeries.$$p[88]:
                this.g4();
                break;
            case StackedFragmentSeries.$$p[102]:
                this.hi();
                break;
            case StackedFragmentSeries.$$p[89]:
                this.g5();
                break;
            case StackedFragmentSeries.$$p[90]:
                this.g6();
                break;
            case StackedFragmentSeries.$$p[69]:
                this.gm();
                break;
            case StackedFragmentSeries.$$p[60]:
                this.gd();
                break;
            case StackedFragmentSeries.$$p[76]:
                this.gu();
                break;
            case StackedFragmentSeries.$$p[78]:
                this.gw();
                break;
            case StackedFragmentSeries.$$p[71]:
                this.gp();
                break;
            case StackedFragmentSeries.$$p[73]:
                this.gs();
                break;
            case StackedFragmentSeries.$$p[66]:
                this.gj();
                break;
            case StackedFragmentSeries.$$p[67]:
                this.gk();
                break;
            case StackedFragmentSeries.$$p[68]:
                this.gl();
                break;
            case StackedFragmentSeries.$$p[65]:
                this.gi();
                break;
            case StackedFragmentSeries.$$p[64]:
                this.gh();
                break;
            case StackedFragmentSeries.$$p[70]:
                this.go();
                break;
            case StackedFragmentSeries.$$p[74]:
                this.gr();
                break;
            case StackedFragmentSeries.$$p[75]:
                this.gt();
                break;
            case StackedFragmentSeries.$$p[77]:
                this.gv();
                break;
            case StackedFragmentSeries.$$p[81]:
                this.gx();
                break;
            case StackedFragmentSeries.$$p[80]:
                this.gy();
                break;
            case StackedFragmentSeries.$$p[63]:
                this.gg();
                break;
            case StackedFragmentSeries.$$p[56]:
                this.f9();
                break;
            case StackedFragmentSeries.$$p[83]:
                this.gz();
                break;
            case StackedFragmentSeries.$$p[82]:
                this.g0();
                break;
            case StackedFragmentSeries.$$p[72]:
                this.gq();
                break;
            case StackedFragmentSeries.$$p[51]:
                this.f3();
                break;
            case StackedFragmentSeries.$$p[85]:
                this.g1();
                break;
            case StackedFragmentSeries.$$p[86]:
                this.g2();
                break;
            case StackedFragmentSeries.$$p[61]:
                this.ge();
                break;
            case StackedFragmentSeries.$$p[91]:
                this.g7();
                break;
            case StackedFragmentSeries.$$p[93]:
                this.g9();
                break;
            case StackedFragmentSeries.$$p[95]:
                this.hb();
                break;
            case StackedFragmentSeries.$$p[97]:
                this.hd();
                break;
            case StackedFragmentSeries.$$p[94]:
                this.ha();
                break;
            case StackedFragmentSeries.$$p[62]:
                this.gf();
                break;
            case StackedFragmentSeries.$$p[98]:
                this.he();
                break;
            case StackedFragmentSeries.$$p[99]:
                this.hf();
                break;
            case StackedFragmentSeries.$$p[96]:
                this.hc();
                break;
            case StackedFragmentSeries.$$p[101]:
                this.hh();
                break;
            case StackedFragmentSeries.$$p[100]:
                this.hg();
                break;
        }
        this.parentSeries.rr(false);
    };
    StackedFragmentSeries.prototype.f1 = function () {
        if (this.visualSeriesLink != null) {
            this.visualSeriesLink.rv();
        }
    };
    StackedFragmentSeries.$t = markType(StackedFragmentSeries, 'StackedFragmentSeries', DependencyObject.$, [INotifyPropertyChanged_$type]);
    StackedFragmentSeries.$$p = markDep(DependencyProperty, PropertyMetadata, StackedFragmentSeries, 'f0', ['ActualAreaFillOpacity:bb:ht', [1, NaN], 'ActualBrush:ku:hu', [Brush.$], 'ActualDashArray:k7:hv', [DoubleCollection.$], 'ActualDashCap:k9:hw', [PenLineCap_$type, enumGetBox(PenLineCap_$type, 0)], 'ActualDataLegendGroup:cp:hx', [2, null], 'ActualHighlightedValuesDataLegendGroup:cr:hy', [2, null], 'ActualHighlightedValuesDisplayMode:z:hz', [SeriesHighlightedValuesDisplayMode_$type, enumGetBox(SeriesHighlightedValuesDisplayMode_$type, 1)], 'ActualHighlightingFadeOpacity:bc:h0', [1, NaN], 'ActualIsDropShadowEnabled:al:h1', [0, false], 'ActualIsHitTestVisible:am:h2', [0, true], 'ActualIsSplineShapePartOfRange:an:h3', [0, false], 'ActualIsTransitionInEnabled:ao:h4', [0], 'ActualLegendItemBadgeMode:o:h5', [LegendItemBadgeMode_$type], 'ActualLegendItemBadgeShape:q:h6', [LegendItemBadgeShape_$type], 'ActualLegendItemBadgeTemplate:hn:h7', [DataTemplate.$], 'ActualLegendItemTemplate:ho:h8', [DataTemplate.$], 'ActualLegendItemVisibility:ls:h9', [Visibility_$type, enumGetBox(Visibility_$type, 0)], 'ActualLineCap:la:ia', [PenLineCap_$type, enumGetBox(PenLineCap_$type, 0)], 'ActualMarkerBrush:kv:ib', [Brush.$], 'ActualMarkerFillMode:s:ic', [MarkerFillMode_$type, enumGetBox(MarkerFillMode_$type, 0)], 'ActualMarkerFillOpacity:bd:id', [1, NaN], 'ActualMarkerOutlineMode:u:ie', [MarkerOutlineMode_$type, enumGetBox(MarkerOutlineMode_$type, 0)], 'ActualMarkerOutline:kw:ig', [Brush.$], 'ActualMarkerStyle:lq:ih', [Style.$], 'ActualMarkerTemplate:hp:ii', [DataTemplate.$], 'ActualMarkerThickness:be:ij', [1, 1], 'ActualMarkerType:w:ik', [MarkerType_$type, enumGetBox(MarkerType_$type, 1)], 'ActualOpacityMask:kx:il', [Brush.$], 'ActualOpacity:bf:im', [1, NaN], 'ActualOutlineMode:aa:io', [SeriesOutlineMode_$type, enumGetBox(SeriesOutlineMode_$type, 0)], 'ActualOutline:ky:ip', [Brush.$], 'ActualRadiusX:bg:iq', [1, 0], 'ActualRadiusY:bh:ir', [1, 0], 'ActualShadowBlur:bi:is', [1, NaN], 'ActualShadowColor:k5:it', [Color.$], 'ActualShadowOffsetX:bj:iu', [1, NaN], 'ActualShadowOffsetY:bk:iv', [1, NaN], 'ActualThickness:bl:iw', [1, 1], 'ActualToolTip:cf:ix', [4], 'ActualTransitionDuration:b6:iy', [1], 'ActualTransitionEasingFunction:ag:iz', [Delegate_$type], 'ActualTransitionInDuration:b7:i0', [1], 'ActualTransitionInEasingFunction:ah:i1', [Delegate_$type], 'ActualTransitionInMode:m:i2', [CategoryTransitionInMode_$type], 'ActualTransitionInSpeedType:ad:i3', [TransitionInSpeedType_$type], 'ActualUseHighMarkerFidelity:ap:i4', [0, false], 'ActualUseLightweightMarkers:aq:i5', [0, false], 'ActualUseSingleShadow:ar:i6', [0, true], 'ActualValueMemberAsLegendLabel:d0:i7', [2, null], 'ActualValueMemberAsLegendUnit:d2:i8', [2, null], 'ActualVisibility:lt:i9', [Visibility_$type, enumGetBox(Visibility_$type, 0)], 'AreaFillOpacity:bm:ja', [1, NaN], 'Brush:kz:jb', [Brush.$], 'DashArray:k8:jc', [DoubleCollection.$], 'DashCap:lb:jd', [PenLineCap_$type, enumGetBox(PenLineCap_$type, 0)], 'DataLegendGroup:d9:je', [2, null], 'HighlightedItemsSource::jf', [IEnumerable_$type, null], 'HighlightedValuesDataLegendGroup:ed:jg', [2, null], 'HighlightingFadeOpacity:bv:jh', [1, NaN], 'IsDropShadowEnabled:au:ji', [0], 'IsHitTestVisible:av:jj', [0, true], 'IsSplineShapePartOfRange:aw:jk', [0, false], 'IsTransitionInEnabled:ax:jl', [0, false], 'ItemsSource::jm', [IEnumerable_$type, null], 'LegendItemBadgeMode:p:jn', [LegendItemBadgeMode_$type, enumGetBox(LegendItemBadgeMode_$type, 0)], 'LegendItemBadgeShape:r:jo', [LegendItemBadgeShape_$type, enumGetBox(LegendItemBadgeShape_$type, 0)], 'LegendItemBadgeTemplate:hq:jp', [DataTemplate.$, null], 'LegendItemTemplate:hr:jq', [DataTemplate.$, null], 'LegendItemVisibility:lu:jr', [Visibility_$type, enumGetBox(Visibility_$type, 0)], 'LineCap:lc:js', [PenLineCap_$type, enumGetBox(PenLineCap_$type, 0)], 'MarkerBrush:k0:jt', [Brush.$], 'MarkerFillMode:t:ju', [MarkerFillMode_$type, enumGetBox(MarkerFillMode_$type, 0)], 'MarkerFillOpacity:bw:jv', [1, NaN], 'MarkerOutlineMode:v:jw', [MarkerOutlineMode_$type, enumGetBox(MarkerOutlineMode_$type, 0)], 'MarkerOutline:k1:jx', [Brush.$], 'MarkerStyle:lr:jy', [Style.$], 'MarkerTemplate:hs:jz', [DataTemplate.$, null], 'MarkerThickness:bx:j0', [1, NaN], 'MarkerType:x:j1', [MarkerType_$type, enumGetBox(MarkerType_$type, 2)], 'Name:e0:j2', [2], 'OpacityMask:k2:j3', [Brush.$], 'Opacity:by:j4', [1, 1], 'OutlineMode:ab:j5', [SeriesOutlineMode_$type, enumGetBox(SeriesOutlineMode_$type, 0)], 'Outline:k3:j6', [Brush.$, null], 'ParentOrLocalBrush:k4:j7', [Brush.$], 'RadiusX:bz:j8', [1, NaN], 'RadiusY:b0:j9', [1, NaN], 'ShadowBlur:b1:ka', [1, NaN], 'ShadowColor:k6:kb', [Color.$], 'ShadowOffsetX:b2:kc', [1, NaN], 'ShadowOffsetY:b3:kd', [1, NaN], 'Thickness:b4:ke', [1, NaN], 'Title:cj:kf', [4, "Series Title"], 'ToolTip:ck:kg', [4, null], 'TransitionDuration:cd:kh', [1, 0], 'TransitionEasingFunction:ai:ki', [Delegate_$type, null], 'TransitionInDuration:ce:kj', [1, 1000], 'TransitionInEasingFunction:aj:kk', [Delegate_$type, null], 'TransitionInMode:n:kl', [CategoryTransitionInMode_$type, enumGetBox(CategoryTransitionInMode_$type, 0)], 'TransitionInSpeedType:ae:km', [TransitionInSpeedType_$type, enumGetBox(TransitionInSpeedType_$type, 0)], 'UseHighMarkerFidelity:a2:kn', [0, false], 'UseLightweightMarkers:a3:ko', [0, false], 'UseSingleShadow:a4:kp', [0], 'ValueMemberAsLegendLabel:fp:kq', [2, null], 'ValueMemberAsLegendUnit:fr:kr', [2, null], 'ValueMemberPath:ft:ks', [2, null], 'Visibility:lv:kt', [Visibility_$type, enumGetBox(Visibility_$type, 0)]]);
    return StackedFragmentSeries;
}(DependencyObject));
export { StackedFragmentSeries };
/**
 * @hidden
 */
var StackedSeriesCollection = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedSeriesCollection, _super);
    function StackedSeriesCollection() {
        var _this = _super.call(this, StackedFragmentSeries.$, 0) || this;
        _this.collectionResetting = null;
        return _this;
    }
    StackedSeriesCollection.prototype.p = function () {
        if (this.collectionResetting != null) {
            this.collectionResetting(this, null);
        }
        _super.prototype.p.call(this);
    };
    StackedSeriesCollection.$t = markType(StackedSeriesCollection, 'StackedSeriesCollection', ObservableCollection$1.$.specialize(StackedFragmentSeries.$));
    return StackedSeriesCollection;
}(ObservableCollection$1));
export { StackedSeriesCollection };
/**
 * @hidden
 */
var StackedSeriesFramePreparer = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedSeriesFramePreparer, _super);
    function StackedSeriesFramePreparer(a) {
        var _rest = [];
        for (var _i = 1; _i < arguments.length; _i++) {
            _rest[_i - 1] = arguments[_i];
        }
        var _this = this;
        a = (a == void 0) ? 0 : a;
        switch (a) {
            case 0:
                {
                    var c = _rest[0];
                    _this = _super.call(this, 0, c) || this;
                }
                break;
            case 1:
                {
                    var c = _rest[0];
                    var d = _rest[1];
                    var e = _rest[2];
                    var f = _rest[3];
                    var g = _rest[4];
                    _this = _super.call(this, 1, c, d, e, f, g) || this;
                }
                break;
        }
        return _this;
    }
    StackedSeriesFramePreparer.prototype.j = function (a) {
        var b = new SingleValuesHolder();
        if (typeCast(StackedColumnSeries.$, this.h) !== null || typeCast(StackedBarSeries.$, this.h) !== null) {
            var c = typeCast(StackedSeriesBase.$, this.h);
            if (c.aaw.count > 0) {
                b.f = c.aaw._inner[0].ak;
            }
            return b;
        }
        var d = this.ad.valueColumn;
        b.f = d;
        return b;
    };
    StackedSeriesFramePreparer.prototype.t = function (a, b, c, d, e) {
        var _this = this;
        var f = 0;
        var g = false;
        var h;
        var i = a.d != null;
        var j = this.h.provideCollisionDetector();
        var k = a.f;
        var l = a.n;
        var m = this.h.mayContainUnknowns;
        var n = new ScalerParams(0, a.p, a.o, a.b.j$b, l);
        var o = new ScalerParams(0, a.p, a.o, a.c.j$b, l);
        o.b = this.h.getHostReferenceValue();
        var p = (a.b.j$d(2, n) - a.b.j$d(1, n));
        var q = a.p;
        var r = a.o;
        var s = typeCast(NumericAxisBase.$, a.c) !== null && a.c.lp;
        var _loop_4 = function (t) {
            var u = void 0;
            if (a.d == null) {
                if (!m) {
                    u = this_2.g.getBucketWithoutUnknowns(t);
                }
                else {
                    u = this_2.g.getBucket(t);
                }
            }
            else {
                u = ((function () { var v = _this.f(a, t, b, p, g, h, c); t = v.p1; g = v.p4; h = v.p5; return v.ret; })());
            }
            var v = !s || (s && u[1] > 0);
            var w = u[0];
            if (!isNaN_(u[0])) {
                this_2.x(a, u, c, i, n, o);
                a.a.f.add(u);
                var x = t * a.j;
                var y = x;
                if (a.d != null && a.d.i$b != null && x >= 0 && x < a.d.i$b.count) {
                    x = a.d.i$b._inner[x];
                }
                var z = u;
                if (k && x < b.e) {
                    z = new Array(u.length);
                    z[0] = w;
                    this_2.z(b, x, true, a.e);
                    z[1] = b.c;
                    z[2] = b.d;
                    this_2.x(a, z, c, i, n, o);
                }
                if (d && v && this_2.l(a.a, z, j, Math.min(x, b.e - 1), f, a.a.f.count - 1)) {
                    ++f;
                }
            }
            out_t_1 = t;
        };
        var this_2 = this, out_t_1;
        for (var t = a.k; t <= a.l; ++t) {
            _loop_4(t);
            t = out_t_1;
        }
        return f;
    };
    StackedSeriesFramePreparer.prototype.l = function (a, b, c, d, e, f) {
        var g = b[0];
        var h = b[1];
        if (typeCast(IBarSeries_$type, this.c) !== null) {
            h = b[0];
            g = b[1];
        }
        var i = new Rect(0, g - 5, h - 5, 11, 11);
        if (!isNaN_(g) && !isNaN_(h) && !isInfinity(g) && !isInfinity(h) && c.tryAdd(i)) {
            a.n.add({ $type: Point_$type, x: g, y: h });
            this.c.updateMarkerTemplate(e, d, f);
            return true;
        }
        return false;
    };
    StackedSeriesFramePreparer.$t = markType(StackedSeriesFramePreparer, 'StackedSeriesFramePreparer', CategoryFramePreparer.$);
    return StackedSeriesFramePreparer;
}(CategoryFramePreparer));
export { StackedSeriesFramePreparer };
/**
 * @hidden
 */
var AreaFragmentView = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(AreaFragmentView, _super);
    function AreaFragmentView(a) {
        var _this = _super.call(this, a) || this;
        _this.df = null;
        _this.dl = new Path();
        _this.dn = new Path();
        _this.dm = new Path();
        _this.dp = new Path();
        _this.dh = new Path();
        _this.dj = new Path();
        _this.di = new Path();
        _this.dk = new Path();
        _this.df = a;
        return _this;
    }
    AreaFragmentView.prototype.au = function () {
        _super.prototype.au.call(this);
        if (!this.q) {
        }
    };
    AreaFragmentView.prototype.dg = function () {
        this.dl.an = null;
        this.dm.an = null;
        this.dn.an = null;
        this.dp.an = null;
        this.dh.an = null;
        this.di.an = null;
        this.dj.an = null;
        this.dk.an = null;
    };
    AreaFragmentView.prototype.cx = function () {
        return new AreaFragmentBucketCalculator(this);
    };
    AreaFragmentView.prototype.bd = function () {
        _super.prototype.bd.call(this);
    };
    AreaFragmentView.prototype.be = function () {
        _super.prototype.be.call(this);
        var a = this.br();
        this.dh.an = this.dl.an;
        this.di.an = this.dm.an;
        this.dj.an = this.dn.an;
        this.dk.an = this.dp.an;
        this.dh._fill = a;
        this.di._fill = a;
        this.dh._opacity = 1;
        this.di._opacity = 1;
        this.dj._stroke = a;
        this.dj.ad = this.e.ie + 3;
        this.dk._stroke = a;
        this.dk.ad = this.e.ie + 3;
    };
    AreaFragmentView.prototype.a8 = function (a, b) {
        _super.prototype.a8.call(this, a, b);
        if (a.d) {
            if (b) {
                a.t(this.dh);
                a.t(this.di);
                a.t(this.dj);
                a.t(this.dk);
            }
            else {
                a.t(this.dl);
                a.t(this.dm);
                a.t(this.dn);
                a.t(this.dp);
            }
        }
    };
    AreaFragmentView.prototype.get_index = function () {
        var a = this.df.parentSeries;
        var b = a.series.count;
        var c = a.series.indexOf(this.df.logicalSeriesLink);
        var d = (b - 1) - c;
        var e = a.cv.index;
        return e + d;
    };
    AreaFragmentView.prototype.an = function (a) {
        _super.prototype.an.call(this, a);
        this.e.bc.exportPathData(a, this.dn, "lowerShape", ["Lower"]);
        this.e.bc.exportPathData(a, this.dp, "upperShape", ["Upper", "Main"]);
        this.e.bc.exportPathData(a, this.dm, "translucentShape", ["Translucent"]);
        this.e.bc.exportPathData(a, this.dl, "fillShape", ["Fill"]);
    };
    AreaFragmentView.$t = markType(AreaFragmentView, 'AreaFragmentView', AnchoredCategorySeriesView.$);
    return AreaFragmentView;
}(AnchoredCategorySeriesView));
export { AreaFragmentView };
/**
 * @hidden
 */
var ColumnFragmentView = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(ColumnFragmentView, _super);
    function ColumnFragmentView(a) {
        var _this = _super.call(this, a) || this;
        _this.df = null;
        _this.dj = null;
        _this.dg = null;
        _this.dh = null;
        _this.di = null;
        _this.dp = new Rectangle();
        _this.df = a;
        _this.dh = new List$1(Number_$type, 0);
        _this.di = new List$1(Number_$type, 0);
        _this.dg = ((function () {
            var $ret = new Pool$1(Rectangle.$);
            $ret.create = runOn(_this, _this.dq);
            $ret.activate = runOn(_this, _this.dk);
            $ret.disactivate = runOn(_this, _this.dm);
            $ret.destroy = runOn(_this, _this.dl);
            return $ret;
        })());
        _this.dj = new List$1(Rectangle.$, 0);
        return _this;
    }
    ColumnFragmentView.prototype.au = function () {
        _super.prototype.au.call(this);
        if (!this.q) {
        }
    };
    ColumnFragmentView.prototype.dq = function () {
        var _this = this;
        var a = ((function () {
            var $ret = new Rectangle();
            $ret.dataContext = ((function () {
                var $ret = new DataContext();
                $ret.series = _this.e;
                return $ret;
            })());
            return $ret;
        })());
        this.dj.add(a);
        a._visibility = 1;
        return a;
    };
    ColumnFragmentView.prototype.dk = function (a) {
        a._visibility = 0;
    };
    ColumnFragmentView.prototype.dm = function (a) {
        a._visibility = 1;
    };
    ColumnFragmentView.prototype.dl = function (a) {
        this.dj.remove(a);
    };
    ColumnFragmentView.prototype.bg = function (a, b) {
        _super.prototype.bg.call(this, a, b);
        var c = a;
    };
    ColumnFragmentView.prototype.dn = function (a, b, c) {
        var d = false;
        if (a.o != c) {
            d = true;
            a.o = c;
        }
        if (a.n != b) {
            d = true;
            a.n = b;
        }
        if (d) {
            this.as();
        }
    };
    ColumnFragmentView.prototype.bh = function (a, b) {
        _super.prototype.bh.call(this, a, b);
    };
    ColumnFragmentView.prototype.ac = function (a) {
        return this.dj._inner[a];
    };
    ColumnFragmentView.prototype.ab = function (a) {
        var b = this.dj._inner[a];
        this.dp._visibility = b._visibility;
        this.dp.n = b.n;
        this.dp.o = b.o;
        this.dp.width = b.width;
        this.dp.height = b.height;
        var c = this.bs(a);
        this.dp._fill = c;
        this.dp._stroke = c;
        this.dp.ad = this.e.ie + 3;
        return this.dp;
    };
    ColumnFragmentView.prototype.a8 = function (a, b) {
        _super.prototype.a8.call(this, a, b);
        if (a.d) {
            for (var c = 0; c < this.dj.count; c++) {
                var d = this.aa(c, b);
                this.bf(d, c, b);
                a.w(d);
            }
        }
    };
    ColumnFragmentView.prototype.get_index = function () {
        var a = this.df.parentSeries;
        var b = a.series.count;
        var c = a.series.indexOf(this.df.logicalSeriesLink);
        var d = (b - 1) - c;
        var e = a.cv.index;
        return e + d;
    };
    ColumnFragmentView.prototype.an = function (a) {
        var e_70, _a, e_71, _b;
        _super.prototype.an.call(this, a);
        var b = 0;
        var c = new List$1(Rectangle.$, 0);
        try {
            for (var _c = __values(fromEnum(this.dg.a)), _d = _c.next(); !_d.done; _d = _c.next()) {
                var d = _d.value;
                c.add(d);
            }
        }
        catch (e_70_1) {
            e_70 = { error: e_70_1 };
        }
        finally {
            try {
                if (_d && !_d.done && (_a = _c.return))
                    _a.call(_c);
            }
            finally {
                if (e_70)
                    throw e_70.error;
            }
        }
        c.aa(function (e, f) {
            if (e.n < f.n) {
                return -1;
            }
            else if (e.n > f.n) {
                return 1;
            }
            else {
                return 0;
            }
        });
        try {
            for (var _e = __values(fromEnum(c)), _f = _e.next(); !_f.done; _f = _e.next()) {
                var e = _f.value;
                this.e.bc.exportRectangleData(a, e, "column" + b, ["Main", "Fill"]);
            }
        }
        catch (e_71_1) {
            e_71 = { error: e_71_1 };
        }
        finally {
            try {
                if (_f && !_f.done && (_b = _e.return))
                    _b.call(_e);
            }
            finally {
                if (e_71)
                    throw e_71.error;
            }
        }
        b++;
    };
    ColumnFragmentView.prototype.getDefaultTooltipTemplate = function () {
        var a = "<div class='ui-chart-default-tooltip-content'>";
        var b = null;
        if (this.df.ys().cb) {
            b = this.df.fragmentXAxis;
        }
        else if (this.df.fragmentYAxis.cb) {
            b = this.df.fragmentYAxis;
        }
        if (b.ce) {
            var c = b;
            a += "<span>${item." + c.dateTimeMemberPath + "}</span><br/>";
        }
        if (b != null && b.f2 != null) {
            a += "<span>${item." + b.f2 + "}</span><br/>";
        }
        a += "<span";
        var d = this.e.ba.a$u(this.e);
        if (!stringIsNullOrEmpty(d)) {
            a += " style='color:" + d + "'";
        }
        a += ">" + this.df.title + ": </span><span class='ui-priority-primary'>" + "${item." + this.df.abn + "}</span></div>";
        return a;
    };
    ColumnFragmentView.$t = markType(ColumnFragmentView, 'ColumnFragmentView', AnchoredCategorySeriesView.$);
    return ColumnFragmentView;
}(AnchoredCategorySeriesView));
export { ColumnFragmentView };
/**
 * @hidden
 */
var LineFragmentView = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(LineFragmentView, _super);
    function LineFragmentView(a) {
        var _this = _super.call(this, a) || this;
        _this.df = null;
        _this.dl = new Path();
        _this.dk = new Path();
        _this.dm = new Path();
        _this.di = new Path();
        _this.dh = new Path();
        _this.dj = new Path();
        _this.df = a;
        return _this;
    }
    LineFragmentView.prototype.dg = function () {
        this.dk.an = null;
        this.dl.an = null;
        this.dm.an = null;
        this.dh.an = null;
        this.di.an = null;
        this.dj.an = null;
    };
    LineFragmentView.prototype.cx = function () {
        return new LineFragmentBucketCalculator(this);
    };
    LineFragmentView.prototype.bd = function () {
        _super.prototype.bd.call(this);
    };
    LineFragmentView.prototype.be = function () {
        _super.prototype.be.call(this);
        var a = this.br();
        this.dh.an = this.dk.an;
        this.di.an = this.dl.an;
        this.dj.an = this.dm.an;
        this.di._stroke = a;
        this.di.ad = this.e.ie + 3;
        this.dj._stroke = a;
        this.dj.ad = this.e.ie + 3;
        this.dh._fill = a;
        this.dh._opacity = 1;
    };
    LineFragmentView.prototype.a8 = function (a, b) {
        _super.prototype.a8.call(this, a, b);
        if (a.d) {
            if (b) {
                a.t(this.dh);
                a.t(this.di);
                a.t(this.dj);
            }
            else {
                a.t(this.dk);
                a.t(this.dl);
                a.t(this.dm);
            }
        }
    };
    LineFragmentView.prototype.get_index = function () {
        var a = this.df.parentSeries;
        var b = a.series.count;
        var c = a.series.indexOf(this.df.logicalSeriesLink);
        var d = (b - 1) - c;
        var e = a.cv.index;
        return e + d;
    };
    LineFragmentView.prototype.an = function (a) {
        _super.prototype.an.call(this, a);
        this.e.bc.exportPathData(a, this.dl, "lowerShape", ["Lower", "Main"]);
        this.e.bc.exportPathData(a, this.dm, "upperShape", ["Upper"]);
        this.e.bc.exportPathData(a, this.dk, "translucentShape", ["Translucent"]);
    };
    LineFragmentView.$t = markType(LineFragmentView, 'LineFragmentView', AnchoredCategorySeriesView.$);
    return LineFragmentView;
}(AnchoredCategorySeriesView));
export { LineFragmentView };
/**
 * @hidden
 */
var SplineAreaFragmentView = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(SplineAreaFragmentView, _super);
    function SplineAreaFragmentView(a) {
        var _this = _super.call(this, a) || this;
        _this.dh = null;
        _this.dn = new Path();
        _this.dq = new Path();
        _this.dp = new Path();
        _this.dr = new Path();
        _this.dj = new Path();
        _this.dl = new Path();
        _this.dk = new Path();
        _this.dm = new Path();
        _this.dh = a;
        return _this;
    }
    SplineAreaFragmentView.prototype.au = function () {
        _super.prototype.au.call(this);
        if (!this.q) {
        }
    };
    SplineAreaFragmentView.prototype.di = function () {
        this.dn.an = null;
        this.dp.an = null;
        this.dq.an = null;
        this.dr.an = null;
        this.dj.an = null;
        this.dk.an = null;
        this.dl.an = null;
        this.dm.an = null;
    };
    SplineAreaFragmentView.prototype.bd = function () {
        _super.prototype.bd.call(this);
    };
    SplineAreaFragmentView.prototype.be = function () {
        _super.prototype.be.call(this);
        var a = this.br();
        this.dj.an = this.dn.an;
        this.dk.an = this.dp.an;
        this.dl.an = this.dq.an;
        this.dm.an = this.dr.an;
        this.dj._fill = a;
        this.dk._fill = a;
        this.dk._opacity = 1;
        this.dj._opacity = 1;
        this.dl._stroke = a;
        this.dl.ad = this.e.ie + 3;
        this.dm._stroke = a;
        this.dm.ad = this.e.ie + 3;
    };
    SplineAreaFragmentView.prototype.a8 = function (a, b) {
        _super.prototype.a8.call(this, a, b);
        if (a.d) {
            if (b) {
                a.t(this.dj);
                a.t(this.dk);
                a.t(this.dl);
                a.t(this.dm);
            }
            else {
                a.t(this.dn);
                a.t(this.dp);
                a.t(this.dq);
                a.t(this.dr);
            }
        }
    };
    SplineAreaFragmentView.prototype.get_index = function () {
        var a = this.dh.parentSeries;
        var b = a.series.count;
        var c = a.series.indexOf(this.dh.logicalSeriesLink);
        var d = (b - 1) - c;
        var e = a.cv.index;
        return e + d;
    };
    SplineAreaFragmentView.prototype.an = function (a) {
        _super.prototype.an.call(this, a);
        this.e.bc.exportPathData(a, this.dq, "lowerShape", ["Lower"]);
        this.e.bc.exportPathData(a, this.dr, "upperShape", ["Upper", "Main"]);
        this.e.bc.exportPathData(a, this.dp, "translucentShape", ["Translucent"]);
        this.e.bc.exportPathData(a, this.dn, "fillShape", ["Fill"]);
    };
    SplineAreaFragmentView.$t = markType(SplineAreaFragmentView, 'SplineAreaFragmentView', SplineSeriesBaseView.$);
    return SplineAreaFragmentView;
}(SplineSeriesBaseView));
export { SplineAreaFragmentView };
/**
 * @hidden
 */
var SplineFragmentView = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(SplineFragmentView, _super);
    function SplineFragmentView(a) {
        var _this = _super.call(this, a) || this;
        _this.dh = null;
        _this.dn = new Path();
        _this.dm = new Path();
        _this.dp = new Path();
        _this.dk = new Path();
        _this.dj = new Path();
        _this.dl = new Path();
        _this.dh = a;
        return _this;
    }
    SplineFragmentView.prototype.cx = function () {
        return new SplineFragmentBucketCalculator(this);
    };
    SplineFragmentView.prototype.di = function () {
        this.dm.an = null;
        this.dn.an = null;
        this.dp.an = null;
        this.dj.an = null;
        this.dk.an = null;
        this.dl.an = null;
    };
    SplineFragmentView.prototype.bd = function () {
        _super.prototype.bd.call(this);
    };
    SplineFragmentView.prototype.be = function () {
        _super.prototype.be.call(this);
        var a = this.br();
        this.dj.an = this.dm.an;
        this.dk.an = this.dn.an;
        this.dl.an = this.dp.an;
        this.dk._stroke = a;
        this.dk.ad = this.e.ie + 3;
        this.dl._stroke = a;
        this.dl.ad = this.e.ie + 3;
        this.dj._fill = a;
        this.dj._opacity = 0.75;
    };
    SplineFragmentView.prototype.a8 = function (a, b) {
        _super.prototype.a8.call(this, a, b);
        if (a.d) {
            if (b) {
                a.t(this.dj);
                a.t(this.dk);
                a.t(this.dl);
            }
            else {
                a.t(this.dm);
                a.t(this.dn);
                a.t(this.dp);
            }
        }
    };
    SplineFragmentView.prototype.get_index = function () {
        var a = this.dh.parentSeries;
        var b = a.series.count;
        var c = a.series.indexOf(this.dh.logicalSeriesLink);
        var d = (b - 1) - c;
        var e = a.cv.index;
        return e + d;
    };
    SplineFragmentView.prototype.an = function (a) {
        _super.prototype.an.call(this, a);
        this.e.bc.exportPathData(a, this.dn, "lowerShape", ["Lower", "Main"]);
        this.e.bc.exportPathData(a, this.dp, "upperShape", ["Upper"]);
        this.e.bc.exportPathData(a, this.dm, "translucentShape", ["Translucent"]);
    };
    SplineFragmentView.$t = markType(SplineFragmentView, 'SplineFragmentView', SplineSeriesBaseView.$);
    return SplineFragmentView;
}(SplineSeriesBaseView));
export { SplineFragmentView };
/**
 * @hidden
 */
var StackedSeriesView = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedSeriesView, _super);
    function StackedSeriesView(a) {
        var _this = _super.call(this, a) || this;
        _this.c5 = null;
        _this.c6 = new Canvas();
        _this.c8 = new Panel();
        _this.c5 = a;
        return _this;
    }
    Object.defineProperty(StackedSeriesView.prototype, "c7", {
        get: function () {
            return this.c6;
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(StackedSeriesView.prototype, "c9", {
        get: function () {
            return this.c8;
        },
        enumerable: false,
        configurable: true
    });
    StackedSeriesView.prototype.cx = function () {
        return new StackedBucketCalculator(this);
    };
    StackedSeriesView.prototype.ar = function () {
        _super.prototype.ar.call(this);
        for (var a = 0; a < this.c5.aa1.f.count; a++) {
            this.c5.aa1.f._inner[a].cv.ar();
        }
    };
    StackedSeriesView.prototype.at = function (a, b) {
        var e_72, _a;
        _super.prototype.at.call(this, a, b);
        try {
            for (var _b = __values(fromEnum(this.c5.series)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var c = _c.value;
                c.visualSeriesLink.cv.at(a, b);
            }
        }
        catch (e_72_1) {
            e_72 = { error: e_72_1 };
        }
        finally {
            try {
                if (_c && !_c.done && (_a = _b.return))
                    _a.call(_b);
            }
            finally {
                if (e_72)
                    throw e_72.error;
            }
        }
    };
    StackedSeriesView.prototype.af = function () {
        var a = "rgba(95,95,95,0.5)";
        var b = true;
        var c = 5, d = 5, e = 5;
        var f = this.e;
        if ((f.isStacked && f.eu) || (f.isStacked && f.f0 && f.eu)) {
            d = 1;
            e = -3;
        }
        else if ((f.isStacked && f.fk) || (f.isStacked && f.f0)) {
            c = 3;
            d = 1;
            e = 4;
            b = false;
        }
        else if ((f.isStacked && f.ez)) {
            d = 5;
            e = 0;
        }
        var g = new Color();
        g.colorString = a;
        f.v1 = g;
        f.jm = c;
        f.jn = d;
        f.jo = e;
        f.hc = b;
    };
    StackedSeriesView.$t = markType(StackedSeriesView, 'StackedSeriesView', CategorySeriesView.$);
    return StackedSeriesView;
}(CategorySeriesView));
export { StackedSeriesView };
/**
 * @hidden
 */
var StackedBarSeriesView = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedBarSeriesView, _super);
    function StackedBarSeriesView(a) {
        var _this = _super.call(this, a) || this;
        _this.da = null;
        _this.da = a;
        return _this;
    }
    StackedBarSeriesView.prototype.cx = function () {
        return new StackedBarBucketCalculator(this);
    };
    StackedBarSeriesView.prototype.au = function () {
        _super.prototype.au.call(this);
        if (!this.q) {
            this.c5.xa = Defaults.c;
            this.c5.jp = Defaults.i;
        }
    };
    StackedBarSeriesView.$t = markType(StackedBarSeriesView, 'StackedBarSeriesView', StackedSeriesView.$);
    return StackedBarSeriesView;
}(StackedSeriesView));
export { StackedBarSeriesView };
/**
 * @hidden
 */
var StackedColumnSeriesView = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedColumnSeriesView, _super);
    function StackedColumnSeriesView(a) {
        return _super.call(this, a) || this;
    }
    StackedColumnSeriesView.prototype.cx = function () {
        return new StackedColumnBucketCalculator(this);
    };
    StackedColumnSeriesView.prototype.au = function () {
        _super.prototype.au.call(this);
        if (!this.q) {
            this.c5.xa = Defaults.c;
            this.c5.jp = Defaults.i;
        }
    };
    StackedColumnSeriesView.$t = markType(StackedColumnSeriesView, 'StackedColumnSeriesView', StackedSeriesView.$);
    return StackedColumnSeriesView;
}(StackedSeriesView));
export { StackedColumnSeriesView };
/**
 * @hidden
 */
var StackedAreaSeriesView = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedAreaSeriesView, _super);
    function StackedAreaSeriesView(a) {
        return _super.call(this, a) || this;
    }
    StackedAreaSeriesView.prototype.au = function () {
        _super.prototype.au.call(this);
        if (!this.q) {
            this.c5.xa = Defaults.e;
        }
    };
    StackedAreaSeriesView.$t = markType(StackedAreaSeriesView, 'StackedAreaSeriesView', StackedSeriesView.$);
    return StackedAreaSeriesView;
}(StackedSeriesView));
export { StackedAreaSeriesView };
/**
 * @hidden
 */
var StackedSplineAreaSeriesView = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedSplineAreaSeriesView, _super);
    function StackedSplineAreaSeriesView(a) {
        return _super.call(this, a) || this;
    }
    StackedSplineAreaSeriesView.prototype.au = function () {
        _super.prototype.au.call(this);
        if (!this.q) {
            this.c5.xa = Defaults.e;
        }
    };
    StackedSplineAreaSeriesView.prototype.da = function () {
        var a = 1;
        if (this.c5.db != null) {
            a = this.c5.db.hi;
        }
        return Math.max(1 / (a * 3), 0.3);
    };
    StackedSplineAreaSeriesView.$t = markType(StackedSplineAreaSeriesView, 'StackedSplineAreaSeriesView', StackedSeriesView.$);
    return StackedSplineAreaSeriesView;
}(StackedSeriesView));
export { StackedSplineAreaSeriesView };
/**
 * @hidden
 */
var StackedSplineSeriesView = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedSplineSeriesView, _super);
    function StackedSplineSeriesView(a) {
        return _super.call(this, a) || this;
    }
    StackedSplineSeriesView.prototype.au = function () {
        _super.prototype.au.call(this);
        if (!this.q) {
            this.c5.xa = Defaults.e;
        }
    };
    StackedSplineSeriesView.prototype.da = function () {
        var a = 1;
        if (this.c5.db != null) {
            a = this.c5.db.hi;
        }
        return Math.max(1 / (a * 3), 0.3);
    };
    StackedSplineSeriesView.$t = markType(StackedSplineSeriesView, 'StackedSplineSeriesView', StackedSeriesView.$);
    return StackedSplineSeriesView;
}(StackedSeriesView));
export { StackedSplineSeriesView };
/**
 * @hidden
 */
var StackedSeriesManager = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(StackedSeriesManager, _super);
    function StackedSeriesManager(a) {
        var _this = _super.call(this) || this;
        _this.b = null;
        _this.f = null;
        _this.c = null;
        _this.e = null;
        _this.d = null;
        _this.l = null;
        _this.m = null;
        if (a == null) {
            return _this;
        }
        _this.b = a;
        _this.f = new ObservableCollection$1(AnchoredCategorySeries.$, 0);
        _this.c = new StackedSeriesCollection();
        _this.e = new ObservableCollection$1(AnchoredCategorySeries.$, 0);
        _this.d = new ObservableCollection$1(AnchoredCategorySeries.$, 0);
        _this.l = _this.b.aa2.c7;
        _this.m = _this.b.aa2.c9;
        var b = _this.c;
        b.collectionChanged = delegateCombine(b.collectionChanged, function (b, c) {
            var e_73, _a, e_74, _b;
            if (c.oldItems != null) {
                try {
                    for (var _c = __values(fromEn(c.oldItems)), _d = _c.next(); !_d.done; _d = _c.next()) {
                        var d = _d.value;
                        if (_this.f.contains(d.visualSeriesLink)) {
                            _this.f.remove(d.visualSeriesLink);
                        }
                    }
                }
                catch (e_73_1) {
                    e_73 = { error: e_73_1 };
                }
                finally {
                    try {
                        if (_d && !_d.done && (_a = _c.return))
                            _a.call(_c);
                    }
                    finally {
                        if (e_73)
                            throw e_73.error;
                    }
                }
            }
            if (c.newItems != null) {
                var e = c.newStartingIndex;
                try {
                    for (var _e = __values(fromEn(c.newItems)), _f = _e.next(); !_f.done; _f = _e.next()) {
                        var f = _f.value;
                        var g = _this.a(f);
                        _this.f.insert(e, g);
                        e++;
                    }
                }
                catch (e_74_1) {
                    e_74 = { error: e_74_1 };
                }
                finally {
                    try {
                        if (_f && !_f.done && (_b = _e.return))
                            _b.call(_e);
                    }
                    finally {
                        if (e_74)
                            throw e_74.error;
                    }
                }
            }
        });
        var c = _this.f;
        c.collectionChanged = delegateCombine(c.collectionChanged, function (c, d) {
            var e_75, _a, e_76, _b;
            if (d.oldItems != null) {
                try {
                    for (var _c = __values(fromEn(d.oldItems)), _d = _c.next(); !_d.done; _d = _c.next()) {
                        var e = _d.value;
                        Series.pm(e, _this.b.db, true);
                        e.o5(true, e.cv);
                        e.db = null;
                        e.c3 = null;
                        e.itemsSource = null;
                        e.legend = null;
                        if (_this.m != null && _this.m.ab.contains(e)) {
                            _this.m.ab.remove(e);
                        }
                        if (_this.b.db != null) {
                            _this.b.db.q4(e);
                        }
                    }
                }
                catch (e_75_1) {
                    e_75 = { error: e_75_1 };
                }
                finally {
                    try {
                        if (_d && !_d.done && (_a = _c.return))
                            _a.call(_c);
                    }
                    finally {
                        if (e_75)
                            throw e_75.error;
                    }
                }
            }
            if (d.newItems != null) {
                try {
                    for (var _e = __values(fromEn(d.newItems)), _f = _e.next(); !_f.done; _f = _e.next()) {
                        var f = _f.value;
                        Series.pm(f, _this.b.db, false);
                        f.db = _this.b.db;
                        f.c3 = _this.b.c3;
                        if (!_this.m.ab.contains(f)) {
                            _this.m.ab.add(f);
                        }
                        if (_this.b.db != null) {
                            _this.b.db.m8(f);
                        }
                    }
                }
                catch (e_76_1) {
                    e_76 = { error: e_76_1 };
                }
                finally {
                    try {
                        if (_f && !_f.done && (_b = _e.return))
                            _b.call(_e);
                    }
                    finally {
                        if (e_76)
                            throw e_76.error;
                    }
                }
            }
            _this.b.rr(false);
        });
        return _this;
    }
    StackedSeriesManager.prototype.a = function (a) {
        if (this.b.isStacked && this.b.fk) {
            var b = new LineFragment();
            b.provideRenderer(a.b5);
            b.parentSeries = this.b;
            a.visualSeriesLink = b;
            b.logicalSeriesLink = a;
            b.cv.bx = this.b.cv.bx;
            this.j(b, a);
            this.h(b);
            return b;
        }
        if (this.b.isStacked && this.b.ez) {
            var c = new ColumnFragment();
            c.provideRenderer(a.b5);
            c.parentSeries = this.b;
            a.visualSeriesLink = c;
            c.logicalSeriesLink = a;
            c.cv.bx = this.b.cv.bx;
            this.j(c, a);
            this.h(c);
            return c;
        }
        if (this.b.isStacked && this.b.ex) {
            var d = new BarFragment();
            d.provideRenderer(a.b5);
            d.parentSeries = typeCast(StackedBarSeries.$, this.b);
            a.visualSeriesLink = d;
            d.logicalSeriesLink = a;
            d.cv.bx = this.b.cv.bx;
            this.j(d, a);
            this.h(d);
            return d;
        }
        if (this.b.isStacked && this.b.eu && !this.b.f0) {
            var e = new AreaFragment();
            e.provideRenderer(a.b5);
            e.parentSeries = this.b;
            a.visualSeriesLink = e;
            e.logicalSeriesLink = a;
            e.cv.bx = this.b.cv.bx;
            this.j(e, a);
            this.h(e);
            return e;
        }
        if (this.b.isStacked && this.b.f0 && !this.b.eu) {
            var f = new SplineFragment();
            f.provideRenderer(a.b5);
            f.parentSeries = this.b;
            a.visualSeriesLink = f;
            f.logicalSeriesLink = a;
            f.cv.bx = this.b.cv.bx;
            this.j(f, a);
            this.h(f);
            return f;
        }
        if (this.b.isStacked && this.b.f0 && this.b.eu) {
            var g = new SplineAreaFragment();
            g.provideRenderer(a.b5);
            g.parentSeries = this.b;
            a.visualSeriesLink = g;
            g.logicalSeriesLink = a;
            g.cv.bx = this.b.cv.bx;
            this.j(g, a);
            this.h(g);
            return g;
        }
        return null;
    };
    StackedSeriesManager.prototype.k = function () {
        var e_77, _a;
        if (this.b == null) {
            return;
        }
        try {
            for (var _b = __values(fromEnum(this.f)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var a = _c.value;
                a.jj = this.b.id;
            }
        }
        catch (e_77_1) {
            e_77 = { error: e_77_1 };
        }
        finally {
            try {
                if (_c && !_c.done && (_a = _b.return))
                    _a.call(_b);
            }
            finally {
                if (e_77)
                    throw e_77.error;
            }
        }
    };
    StackedSeriesManager.prototype.j = function (a, b) {
        if (b.itemsSource == null) {
            a.itemsSource = this.b.itemsSource;
        }
        else {
            a.itemsSource = b.itemsSource;
        }
        if (b.highlightedItemsSource == null) {
            a.highlightedItemsSource = this.b.highlightedItemsSource;
        }
        else {
            a.highlightedItemsSource = b.highlightedItemsSource;
        }
        a.legend = this.b.a5;
        a.legendItemTemplate = b.ho;
        a.legendItemVisibility = b.ls;
        a.jh = this.b.jh;
        a.v4 = b.la;
        a.v2 = b.k7;
        a.v3 = b.k9;
        a.vf = b.k4;
        a._opacity = b.by;
        a.vv = b.ky;
        a.ci = b.aa;
        a.jj = this.b.jj;
        a.jp = b.bl;
        a.title = b.cj;
        a.abn = b.ft;
        a.abj = b.fp;
        a.abl = b.fr;
        a._visibility = b.lt;
        a.jf = b.bc;
        a.bv = b.z;
        a.l3 = b.d9;
        a.mj = b.ed;
        a.yj = b.kv;
        a.yk = b.kw;
        a.w4 = b.u;
        a.yl = b.lq;
        a.x2 = b.hp;
        a.xa = b.w;
        a.xj = b.be;
        a.jg = b.bd;
        a.w0 = b.s;
        a.xi = b.aq;
        a.zq = b.ap;
        a.kd = b.b6;
        a.dd = b.ag;
        a.ke = b.b7;
        a.y5 = b.m;
        a.c5 = b.ad;
        a.ke = b.b7;
        a.de = b.ah;
        a.zl = b.ao;
        var c = typeCast(AreaFragment.$, a);
        if (c != null) {
            c.h9 = b.bb;
        }
        var d = typeCast(SplineAreaFragment.$, a);
        if (d != null) {
            d.h9 = b.bb;
        }
        var e = typeCast(ColumnFragment.$, a);
        if (e != null) {
            e.adb = b.bg;
            e.adc = b.bh;
        }
        var f = typeCast(BarFragment.$, a);
        if (f != null) {
            f.adb = b.bg;
            f.adc = b.bh;
        }
        a.toolTip = b.ck;
        a.e4 = b.al;
        a.hc = b.ar;
        b.g3();
        b.g4();
        b.g5();
        b.g6();
    };
    StackedSeriesManager.prototype.i = function (a) {
        var e_78, _a;
        this.e.clear();
        this.d.clear();
        var b = 0;
        try {
            for (var _b = __values(fromEnum(this.f)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var c = _c.value;
                c.g0 = true;
                c.index = this.b.abe(this.c._inner[b]);
                c.c3 = this.b.c3;
                c.db = this.b.db;
                if (this.c._inner[b].az) {
                    this.e.add(c);
                }
                else {
                    this.d.add(c);
                }
                if ((this.b.isStacked && this.b.fk) || (this.b.isStacked && this.b.eu) || (this.b.isStacked && this.b.f0)) {
                    c.abr(this.b.fetchXAxis());
                    c.abs(this.b.fetchYAxis());
                }
                c.rr(a);
                b++;
            }
        }
        catch (e_78_1) {
            e_78 = { error: e_78_1 };
        }
        finally {
            try {
                if (_c && !_c.done && (_a = _b.return))
                    _a.call(_b);
            }
            finally {
                if (e_78)
                    throw e_78.error;
            }
        }
    };
    StackedSeriesManager.prototype.h = function (a) {
        var fragment_ = a;
        fragment_.externalObject = TypeRegistrar.createFromInternal(fragment_, PlatformConstants.Prefix, PlatformConstants.Postfix);
        fragment_.externalObject._implementation = fragment_;
    };
    StackedSeriesManager.prototype.g = function () {
        var e_79, _a;
        if (this.f != null) {
            try {
                for (var _b = __values(fromEnum(this.f)), _c = _b.next(); !_c.done; _c = _b.next()) {
                    var a = _c.value;
                    a.o2();
                }
            }
            catch (e_79_1) {
                e_79 = { error: e_79_1 };
            }
            finally {
                try {
                    if (_c && !_c.done && (_a = _b.return))
                        _a.call(_b);
                }
                finally {
                    if (e_79)
                        throw e_79.error;
                }
            }
        }
    };
    StackedSeriesManager.$t = markType(StackedSeriesManager, 'StackedSeriesManager');
    return StackedSeriesManager;
}(Base));
export { StackedSeriesManager };