(self.webpackChunkRemoteClient = self.webpackChunkRemoteClient || []).push([
  [7963],
  {
    93314: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => m });
      var s,
        i = r(29768),
        l = r(74673),
        n = r(76506),
        o = r(35197),
        a = r(34250),
        u = (r(91306), r(92143), r(97714)),
        c = r(17533),
        p = r(2906);
      r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(71552),
        r(31450),
        r(40642),
        r(26341);
      let d = (s = class extends l.a {
        constructor(e) {
          super(e), (this.end = null), (this.start = null);
        }
        static get allTime() {
          return h;
        }
        static get empty() {
          return g;
        }
        readEnd(e, t) {
          return null != t.end ? new Date(t.end) : null;
        }
        writeEnd(e, t) {
          t.end = e ? e.getTime() : null;
        }
        get isAllTime() {
          return this.equals(s.allTime);
        }
        get isEmpty() {
          return this.equals(s.empty);
        }
        readStart(e, t) {
          return null != t.start ? new Date(t.start) : null;
        }
        writeStart(e, t) {
          t.start = e ? e.getTime() : null;
        }
        clone() {
          return new s({ end: this.end, start: this.start });
        }
        expandTo(e) {
          if (this.isEmpty || this.isAllTime) return this.clone();
          const t = (0, n.e)(this.start, (t) => (0, o.t)(t, e)),
            r = (0, n.e)(this.end, (t) => (0, o.o)((0, o.t)(t, e), 1, e));
          return new s({ start: t, end: r });
        }
        intersection(e) {
          if (!e) return this.clone();
          if (this.isEmpty || e.isEmpty) return s.empty;
          if (this.isAllTime) return e.clone();
          if (e.isAllTime) return this.clone();
          const t = (0, n.m)(this.start, -1 / 0, (e) => e.getTime()),
            r = (0, n.m)(this.end, 1 / 0, (e) => e.getTime()),
            i = (0, n.m)(e.start, -1 / 0, (e) => e.getTime()),
            l = (0, n.m)(e.end, 1 / 0, (e) => e.getTime());
          let o, a;
          if (
            (i >= t && i <= r ? (o = i) : t >= i && t <= l && (o = t),
            r >= i && r <= l ? (a = r) : l >= t && l <= r && (a = l),
            !isNaN(o) && !isNaN(a))
          ) {
            const e = new s();
            return (
              (e.start = o === -1 / 0 ? null : new Date(o)),
              (e.end = a === 1 / 0 ? null : new Date(a)),
              e
            );
          }
          return s.empty;
        }
        offset(e, t) {
          if (this.isEmpty || this.isAllTime) return this.clone();
          const r = new s(),
            { start: i, end: l } = this;
          return (
            (0, n.i)(i) && (r.start = (0, o.o)(i, e, t)),
            (0, n.i)(l) && (r.end = (0, o.o)(l, e, t)),
            r
          );
        }
        equals(e) {
          if (!e) return !1;
          const t = (0, n.i)(this.start) ? this.start.getTime() : this.start,
            r = (0, n.i)(this.end) ? this.end.getTime() : this.end,
            s = (0, n.i)(e.start) ? e.start.getTime() : e.start,
            i = (0, n.i)(e.end) ? e.end.getTime() : e.end;
          return t === s && r === i;
        }
        union(e) {
          if (!e || e.isEmpty) return this.clone();
          if (this.isEmpty) return e.clone();
          if (this.isAllTime || e.isAllTime) return h.clone();
          const t =
              (0, n.i)(this.start) && (0, n.i)(e.start)
                ? new Date(Math.min(this.start.getTime(), e.start.getTime()))
                : null,
            r =
              (0, n.i)(this.end) && (0, n.i)(e.end)
                ? new Date(Math.max(this.end.getTime(), e.end.getTime()))
                : null;
          return new s({ start: t, end: r });
        }
      });
      (0, i._)(
        [(0, a.Cb)({ type: Date, json: { write: { allowNull: !0 } } })],
        d.prototype,
        'end',
        void 0,
      ),
        (0, i._)([(0, u.r)('end')], d.prototype, 'readEnd', null),
        (0, i._)([(0, p.w)('end')], d.prototype, 'writeEnd', null),
        (0, i._)([(0, a.Cb)({ readOnly: !0, json: { read: !1 } })], d.prototype, 'isAllTime', null),
        (0, i._)([(0, a.Cb)({ readOnly: !0, json: { read: !1 } })], d.prototype, 'isEmpty', null),
        (0, i._)(
          [(0, a.Cb)({ type: Date, json: { write: { allowNull: !0 } } })],
          d.prototype,
          'start',
          void 0,
        ),
        (0, i._)([(0, u.r)('start')], d.prototype, 'readStart', null),
        (0, i._)([(0, p.w)('start')], d.prototype, 'writeStart', null),
        (d = s = (0, i._)([(0, c.j)('esri.TimeExtent')], d));
      const h = new d(),
        g = new d({ start: void 0, end: void 0 }),
        m = d;
    },
    82673: (e, t, r) => {
      'use strict';
      r.d(t, { I: () => n });
      var s = r(29768),
        i = r(17533);
      let l = 0;
      const n = (e) => {
        let t = class extends e {
          constructor(...e) {
            super(...e),
              Object.defineProperty(this, 'uid', {
                writable: !1,
                configurable: !1,
                value: Date.now().toString(16) + '-object-' + l++,
              });
          }
        };
        return (t = (0, s._)([(0, i.j)('esri.core.Identifiable')], t)), t;
      };
      let o = class extends n(class {}) {};
      o = (0, s._)([(0, i.j)('esri.core.Identifiable')], o);
    },
    92482: (e, t, r) => {
      'use strict';
      r.d(t, {
        N: () => p,
        a: () => i,
        d: () => u,
        f: () => l,
        m: () => c,
        p: () => n,
        t: () => o,
        x: () => a,
      }),
        r(76506);
      var s = r(21801);
      function i(e = d) {
        return [e[0], e[1], e[2], e[3]];
      }
      function l(e, t, r, s, l = i()) {
        return (l[0] = e), (l[1] = t), (l[2] = r), (l[3] = s), l;
      }
      function n(e, t = i()) {
        return (t[0] = e.xmin), (t[1] = e.ymin), (t[2] = e.xmax), (t[3] = e.ymax), t;
      }
      function o(e, t) {
        return new s.Z({ xmin: e[0], ymin: e[1], xmax: e[2], ymax: e[3], spatialReference: t });
      }
      function a(e) {
        return (
          (function (e) {
            return e[0] >= e[2] ? 0 : e[2] - e[0];
          })(e) *
          (function (e) {
            return e[1] >= e[3] ? 0 : e[3] - e[1];
          })(e)
        );
      }
      function u(e, t) {
        return (
          Math.max(t[0], e[0]) <= Math.min(t[2], e[2]) &&
          Math.max(t[1], e[1]) <= Math.min(t[3], e[3])
        );
      }
      function c(e, t) {
        return t[0] >= e[0] && t[2] <= e[2] && t[1] >= e[1] && t[3] <= e[3];
      }
      const p = [1 / 0, 1 / 0, -1 / 0, -1 / 0],
        d = [0, 0, 0, 0];
    },
    85557: (e, t, r) => {
      'use strict';
      r.d(t, { m: () => l });
      var s = r(53785),
        i = r(89623);
      const l = {
        inches: (0, s.c)(1, 'meters', 'inches'),
        feet: (0, s.c)(1, 'meters', 'feet'),
        'us-feet': (0, s.c)(1, 'meters', 'us-feet'),
        yards: (0, s.c)(1, 'meters', 'yards'),
        miles: (0, s.c)(1, 'meters', 'miles'),
        'nautical-miles': (0, s.c)(1, 'meters', 'nautical-miles'),
        millimeters: (0, s.c)(1, 'meters', 'millimeters'),
        centimeters: (0, s.c)(1, 'meters', 'centimeters'),
        decimeters: (0, s.c)(1, 'meters', 'decimeters'),
        meters: (0, s.c)(1, 'meters', 'meters'),
        kilometers: (0, s.c)(1, 'meters', 'kilometers'),
        'decimal-degrees': 1 / (0, s.l)(1, 'meters', i.e.radius),
      };
    },
    34394: (e, t, r) => {
      'use strict';
      r.d(t, { o: () => i, t: () => l });
      var s = r(91306);
      function i(e) {
        const t = (0, s.m)(100 * (1 - e));
        return Math.max(0, Math.min(t, 100));
      }
      function l(e) {
        const t = 1 - e / 100;
        return Math.max(0, Math.min(t, 1));
      }
    },
    38742: (e, t, r) => {
      'use strict';
      r.d(t, { f: () => l, i: () => p, p: () => h, r: () => o, t: () => n, w: () => a });
      var s = r(76506),
        i = r(32101);
      function l(e, t) {
        const r = t && t.url && t.url.path;
        if (
          e &&
          r &&
          ((e = (0, i.hF)(e, r, { preserveProtocolRelative: !0 })),
          t.portalItem && t.readResourcePaths)
        ) {
          const r = (0, i.PF)(e, t.portalItem.itemUrl);
          c.test(r) && t.readResourcePaths.push(t.portalItem.resourceFromPath(r).path);
        }
        return d(e, t && t.portal);
      }
      function n(e, t, r = 0) {
        if (!e) return e;
        !(0, i.YP)(e) && t && t.blockedRelativeUrls && t.blockedRelativeUrls.push(e);
        let s = (0, i.hF)(e);
        if (t) {
          const r =
            (t.verifyItemRelativeUrls && t.verifyItemRelativeUrls.rootPath) ||
            (t.url && t.url.path);
          if (r) {
            const l = d(r, t.portal);
            (s = (0, i.PF)(d(s, t.portal), l, l)),
              s !== e && t.verifyItemRelativeUrls && t.verifyItemRelativeUrls.writtenUrls.push(s);
          }
        }
        return (
          (s = (function (e, t) {
            return t && !t.isPortal && t.urlKey && t.customBaseUrl
              ? (0, i.Ie)(e, `${t.urlKey}.${t.customBaseUrl}`, t.portalHostname)
              : e;
          })(s, t && t.portal)),
          (0, i.YP)(s) && (s = (0, i.Fv)(s)),
          null != t &&
            t.resources &&
            null != t &&
            t.portalItem &&
            !(0, i.YP)(s) &&
            !(0, i.HK)(s) &&
            0 === r &&
            t.resources.toKeep.push({ resource: t.portalItem.resourceFromPath(s) }),
          s
        );
      }
      function o(e, t, r) {
        return l(e, r);
      }
      function a(e, t, r, s) {
        const i = n(e, s);
        void 0 !== i && (t[r] = i);
      }
      const u = /\/items\/([^\/]+)\/resources\//,
        c = /^\.\/resources\//;
      function p(e) {
        const t = (0, s.i)(e) ? e.match(u) : null;
        return (0, s.i)(t) ? t[1] : null;
      }
      function d(e, t) {
        if (!t || t.isPortal || !t.urlKey || !t.customBaseUrl) return e;
        const r = `${t.urlKey}.${t.customBaseUrl}`;
        return (0, i.D6)(i.Gd, `${i.Gd.scheme}://${r}`)
          ? (0, i.Ie)(e, t.portalHostname, r)
          : (0, i.Ie)(e, r, t.portalHostname);
      }
      var h = Object.freeze({
        __proto__: null,
        fromJSON: l,
        toJSON: n,
        read: o,
        write: a,
        itemIdFromResourceUrl: p,
      });
    },
    35197: (e, t, r) => {
      'use strict';
      r.d(t, { c: () => o, o: () => l, t: () => n }), r(76506);
      const s = {
          milliseconds: 1,
          seconds: 1e3,
          minutes: 6e4,
          hours: 36e5,
          days: 864e5,
          weeks: 6048e5,
          months: 26784e5,
          years: 31536e6,
          decades: 31536e7,
          centuries: 31536e8,
        },
        i = {
          milliseconds: { getter: 'getMilliseconds', setter: 'setMilliseconds', multiplier: 1 },
          seconds: { getter: 'getSeconds', setter: 'setSeconds', multiplier: 1 },
          minutes: { getter: 'getMinutes', setter: 'setMinutes', multiplier: 1 },
          hours: { getter: 'getHours', setter: 'setHours', multiplier: 1 },
          days: { getter: 'getDate', setter: 'setDate', multiplier: 1 },
          weeks: { getter: 'getDate', setter: 'setDate', multiplier: 7 },
          months: { getter: 'getMonth', setter: 'setMonth', multiplier: 1 },
          years: { getter: 'getFullYear', setter: 'setFullYear', multiplier: 1 },
          decades: { getter: 'getFullYear', setter: 'setFullYear', multiplier: 10 },
          centuries: { getter: 'getFullYear', setter: 'setFullYear', multiplier: 100 },
        };
      function l(e, t, r) {
        const s = new Date(e.getTime());
        if (t && r) {
          const e = i[r],
            { getter: l, setter: n, multiplier: o } = e;
          s[n](s[l]() + t * o);
        }
        return s;
      }
      function n(e, t) {
        switch (t) {
          case 'milliseconds':
            return new Date(e.getTime());
          case 'seconds':
            return new Date(
              e.getFullYear(),
              e.getMonth(),
              e.getDate(),
              e.getHours(),
              e.getMinutes(),
              e.getSeconds(),
            );
          case 'minutes':
            return new Date(
              e.getFullYear(),
              e.getMonth(),
              e.getDate(),
              e.getHours(),
              e.getMinutes(),
            );
          case 'hours':
            return new Date(e.getFullYear(), e.getMonth(), e.getDate(), e.getHours());
          case 'days':
            return new Date(e.getFullYear(), e.getMonth(), e.getDate());
          case 'weeks':
            return new Date(e.getFullYear(), e.getMonth(), e.getDate() - e.getDay());
          case 'months':
            return new Date(e.getFullYear(), e.getMonth(), 1);
          case 'years':
            return new Date(e.getFullYear(), 0, 1);
          case 'decades':
            return new Date(e.getFullYear() - (e.getFullYear() % 10), 0, 1);
          case 'centuries':
            return new Date(e.getFullYear() - (e.getFullYear() % 100), 0, 1);
          default:
            return new Date();
        }
      }
      function o(e, t, r) {
        return 0 === e ? 0 : (e * s[t]) / s[r];
      }
    },
    37963: (e, t, r) => {
      'use strict';
      r.r(t), r.d(t, { default: () => S });
      var s = r(29768),
        i = r(82058),
        l = r(60991),
        n = r(57251),
        o = r(76506),
        a = r(54179),
        u = r(34250),
        c = (r(91306), r(92143), r(17533)),
        p = r(60947),
        d = r(21801),
        h = r(92482),
        g = r(41617),
        m = r(11118),
        y = r(16647),
        f = r(58912),
        v = r(43352);
      r(31450),
        r(71552),
        r(88762),
        r(32101),
        r(81172),
        r(40642),
        r(50406),
        r(86656),
        r(22723),
        r(73796),
        r(74673),
        r(21972),
        r(23639),
        r(91055),
        r(27794),
        r(6906),
        r(26341),
        r(97714),
        r(2906),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(74569),
        r(84069),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(32422),
        r(76996),
        r(82673),
        r(22739),
        r(20543),
        r(53785),
        r(95587),
        r(92817);
      const b = { id: '0/0/0', level: 0, row: 0, col: 0, extent: null };
      let w = class extends (0, m.B)((0, f.S)((0, y.R)(g.Z))) {
        constructor() {
          super(...arguments),
            (this.tileInfo = v.Z.create({ spatialReference: p.Z.WebMercator, size: 256 })),
            (this.type = 'base-tile'),
            (this.fullExtent = new d.Z(
              -20037508.342787,
              -20037508.34278,
              20037508.34278,
              20037508.342787,
              p.Z.WebMercator,
            )),
            (this.spatialReference = p.Z.WebMercator);
        }
        getTileBounds(e, t, r, s) {
          const i = s || (0, h.a)();
          return (
            (b.level = e),
            (b.row = t),
            (b.col = r),
            (b.extent = i),
            this.tileInfo.updateTileInfo(b),
            (b.extent = null),
            i
          );
        }
        fetchTile(e, t, r, s = {}) {
          const { signal: l, timestamp: n } = s,
            o = this.getTileUrl(e, t, r),
            a = { responseType: 'image', signal: l };
          return (
            null != n && (a.query = { _ts: s.timestamp }), (0, i.default)(o, a).then((e) => e.data)
          );
        }
        getTileUrl() {
          throw new l.Z(
            'basetilelayer:gettileurl-not-implemented',
            'getTileUrl() is not implemented',
          );
        }
      };
      (0, s._)([(0, u.Cb)({ type: v.Z })], w.prototype, 'tileInfo', void 0),
        (0, s._)([(0, u.Cb)({ type: ['show', 'hide'] })], w.prototype, 'listMode', void 0),
        (0, s._)([(0, u.Cb)({ readOnly: !0, value: 'base-tile' })], w.prototype, 'type', void 0),
        (0, s._)([(0, u.Cb)()], w.prototype, 'fullExtent', void 0),
        (0, s._)([(0, u.Cb)()], w.prototype, 'spatialReference', void 0),
        (w = (0, s._)([(0, c.j)('esri.layers.BaseTileLayer')], w));
      const M = w;
      var _ = r(89440);
      r(50161),
        r(43022),
        r(93314),
        r(35197),
        r(38742),
        r(47842),
        r(14249),
        r(9801),
        r(53523),
        r(59465),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(17298),
        r(85557),
        r(34394);
      const x = new n.J({
        BingMapsAerial: 'aerial',
        BingMapsRoad: 'road',
        BingMapsHybrid: 'hybrid',
      });
      let T = class extends (0, m.B)((0, _.O)((0, a.M)(M))) {
        constructor(e) {
          super(e),
            (this.type = 'bing-maps'),
            (this.tileInfo = new v.Z({
              size: [256, 256],
              dpi: 96,
              origin: {
                x: -20037508.342787,
                y: 20037508.342787,
                spatialReference: p.Z.WebMercator,
              },
              spatialReference: p.Z.WebMercator,
              lods: [
                { level: 1, resolution: 78271.5169639999, scale: 295828763.795777 },
                { level: 2, resolution: 39135.7584820001, scale: 147914381.897889 },
                { level: 3, resolution: 19567.8792409999, scale: 73957190.948944 },
                { level: 4, resolution: 9783.93962049996, scale: 36978595.474472 },
                { level: 5, resolution: 4891.96981024998, scale: 18489297.737236 },
                { level: 6, resolution: 2445.98490512499, scale: 9244648.868618 },
                { level: 7, resolution: 1222.99245256249, scale: 4622324.434309 },
                { level: 8, resolution: 611.49622628138, scale: 2311162.217155 },
                { level: 9, resolution: 305.748113140558, scale: 1155581.108577 },
                { level: 10, resolution: 152.874056570411, scale: 577790.554289 },
                { level: 11, resolution: 76.4370282850732, scale: 288895.277144 },
                { level: 12, resolution: 38.2185141425366, scale: 144447.638572 },
                { level: 13, resolution: 19.1092570712683, scale: 72223.819286 },
                { level: 14, resolution: 9.55462853563415, scale: 36111.909643 },
                { level: 15, resolution: 4.77731426794937, scale: 18055.954822 },
                { level: 16, resolution: 2.38865713397468, scale: 9027.977411 },
                { level: 17, resolution: 1.19432856685505, scale: 4513.988705 },
                { level: 18, resolution: 0.597164283559817, scale: 2256.994353 },
                { level: 19, resolution: 0.298582141647617, scale: 1128.497176 },
                { level: 20, resolution: 0.1492910708238085, scale: 564.248588 },
              ],
            })),
            (this.key = null),
            (this.style = 'road'),
            (this.culture = 'en-US'),
            (this.region = null),
            (this.portalUrl = null),
            (this.hasAttributionData = !0);
        }
        get bingMetadata() {
          return this._get('bingMetadata');
        }
        set bingMetadata(e) {
          this._set('bingMetadata', e);
        }
        get copyright() {
          return (0, o.i)(this.bingMetadata) ? this.bingMetadata.copyright : null;
        }
        get operationalLayerType() {
          return x.toJSON(this.style);
        }
        get bingLogo() {
          return (0, o.i)(this.bingMetadata) ? this.bingMetadata.brandLogoUri : null;
        }
        load(e) {
          return (
            this.key
              ? this.addResolvingPromise(this._getMetadata())
              : this.portalUrl
              ? this.addResolvingPromise(this._getPortalBingKey().then(() => this._getMetadata()))
              : this.addResolvingPromise(
                  Promise.reject(new l.Z('bingmapslayer:load', 'Bing layer must have bing key.')),
                ),
            Promise.resolve(this)
          );
        }
        getTileUrl(e, t, r) {
          if (!this.loaded || (0, o.b)(this.bingMetadata)) return null;
          const s = this.bingMetadata.resourceSets[0].resources[0],
            i = s.imageUrlSubdomains[t % s.imageUrlSubdomains.length],
            l = this._getQuadKey(e, t, r);
          return s.imageUrl.replace('{subdomain}', i).replace('{quadkey}', l);
        }
        async fetchAttributionData() {
          return this.load().then(() =>
            (0, o.b)(this.bingMetadata)
              ? null
              : {
                  contributors: this.bingMetadata.resourceSets[0].resources[0].imageryProviders.map(
                    (e) => ({
                      attribution: e.attribution,
                      coverageAreas: e.coverageAreas.map((e) => ({
                        zoomMin: e.zoomMin,
                        zoomMax: e.zoomMax,
                        score: 1,
                        bbox: [e.bbox[0], e.bbox[1], e.bbox[2], e.bbox[3]],
                      })),
                    }),
                  ),
                },
          );
        }
        _getMetadata() {
          const e = { road: 'roadOnDemand', aerial: 'aerial', hybrid: 'aerialWithLabelsOnDemand' }[
            this.style
          ];
          return (0, i.default)(`https://dev.virtualearth.net/REST/v1/Imagery/Metadata/${e}`, {
            responseType: 'json',
            query: {
              include: 'ImageryProviders',
              uriScheme: 'https',
              key: this.key,
              suppressStatus: !0,
              output: 'json',
              culture: this.culture,
              userRegion: this.region,
            },
          })
            .then((e) => {
              const t = e.data;
              if (200 !== t.statusCode)
                throw new l.Z('bingmapslayer:getmetadata', t.statusDescription);
              if (((this.bingMetadata = t), 0 === this.bingMetadata.resourceSets.length))
                throw new l.Z('bingmapslayer:getmetadata', 'no bing resourcesets');
              if (0 === this.bingMetadata.resourceSets[0].resources.length)
                throw new l.Z('bingmapslayer:getmetadata', 'no bing resources');
            })
            .catch((e) => {
              throw new l.Z('bingmapslayer:getmetadata', e.message);
            });
        }
        _getPortalBingKey() {
          return (0, i.default)(this.portalUrl, {
            responseType: 'json',
            authMode: 'no-prompt',
            query: { f: 'json' },
          })
            .then((e) => {
              if (!e.data.bingKey)
                throw new l.Z(
                  'bingmapslayer:getportalbingkey',
                  'The referenced Portal does not contain a valid bing key',
                );
              this.key = e.data.bingKey;
            })
            .catch((e) => {
              throw new l.Z('bingmapslayer:getportalbingkey', e.message);
            });
        }
        _getQuadKey(e, t, r) {
          let s = '';
          for (let i = e; i > 0; i--) {
            let e = 0;
            const l = 1 << (i - 1);
            0 != (r & l) && (e += 1), 0 != (t & l) && (e += 2), (s += e.toString());
          }
          return s;
        }
      };
      (0, s._)(
        [(0, u.Cb)({ json: { read: !1, write: !1 }, value: null })],
        T.prototype,
        'bingMetadata',
        null,
      ),
        (0, s._)(
          [(0, u.Cb)({ json: { read: !1, write: !1 }, value: 'bing-maps', readOnly: !0 })],
          T.prototype,
          'type',
          void 0,
        ),
        (0, s._)([(0, u.Cb)({ type: v.Z })], T.prototype, 'tileInfo', void 0),
        (0, s._)(
          [(0, u.Cb)({ type: String, readOnly: !0, json: { read: !1, write: !1 } })],
          T.prototype,
          'copyright',
          null,
        ),
        (0, s._)(
          [(0, u.Cb)({ type: String, json: { write: !1, read: !1 } })],
          T.prototype,
          'key',
          void 0,
        ),
        (0, s._)(
          [
            (0, u.Cb)({
              type: x.apiValues,
              nonNullable: !0,
              json: { read: { source: 'layerType', reader: x.read } },
            }),
          ],
          T.prototype,
          'style',
          void 0,
        ),
        (0, s._)(
          [(0, u.Cb)({ type: ['BingMapsAerial', 'BingMapsHybrid', 'BingMapsRoad'] })],
          T.prototype,
          'operationalLayerType',
          null,
        ),
        (0, s._)(
          [(0, u.Cb)({ type: String, json: { write: !1, read: !1 } })],
          T.prototype,
          'culture',
          void 0,
        ),
        (0, s._)(
          [(0, u.Cb)({ type: String, json: { write: !1, read: !1 } })],
          T.prototype,
          'region',
          void 0,
        ),
        (0, s._)(
          [(0, u.Cb)({ type: String, json: { write: !0, read: !0 } })],
          T.prototype,
          'portalUrl',
          void 0,
        ),
        (0, s._)(
          [(0, u.Cb)({ type: Boolean, json: { write: !1, read: !1 } })],
          T.prototype,
          'hasAttributionData',
          void 0,
        ),
        (0, s._)([(0, u.Cb)({ type: String, readOnly: !0 })], T.prototype, 'bingLogo', null),
        (T = (0, s._)([(0, c.j)('esri.layers.BingMapsLayer')], T));
      const S = T;
    },
    92817: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => c });
      var s,
        i = r(29768),
        l = r(74673),
        n = r(34250),
        o = (r(76506), r(91306)),
        a = (r(92143), r(17533));
      r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(71552),
        r(31450),
        r(40642),
        r(26341);
      let u = (s = class extends l.a {
        constructor(e) {
          super(e),
            (this.level = 0),
            (this.levelValue = null),
            (this.resolution = 0),
            (this.scale = 0);
        }
        clone() {
          return new s({
            level: this.level,
            levelValue: this.levelValue,
            resolution: this.resolution,
            scale: this.scale,
          });
        }
      });
      (0, i._)([(0, n.Cb)({ type: o.I, json: { write: !0 } })], u.prototype, 'level', void 0),
        (0, i._)(
          [(0, n.Cb)({ type: String, json: { write: !0 } })],
          u.prototype,
          'levelValue',
          void 0,
        ),
        (0, i._)(
          [(0, n.Cb)({ type: Number, json: { write: !0 } })],
          u.prototype,
          'resolution',
          void 0,
        ),
        (0, i._)([(0, n.Cb)({ type: Number, json: { write: !0 } })], u.prototype, 'scale', void 0),
        (u = s = (0, i._)([(0, a.j)('esri.layers.support.LOD')], u));
      const c = u;
    },
    43352: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => w });
      var s,
        i = r(29768),
        l = r(57251),
        n = r(74673),
        o = r(53785),
        a = r(34250),
        u = (r(76506), r(91306)),
        c = (r(92143), r(97714)),
        p = r(17533),
        d = r(2906),
        h = r(91597),
        g = r(60947),
        m = r(92482),
        y = r(35132),
        f = r(92817);
      r(71552),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(31450),
        r(40642),
        r(26341),
        r(95587),
        r(89623),
        r(86787),
        r(73796),
        r(21801);
      const v = new l.J({
        PNG: 'png',
        PNG8: 'png8',
        PNG24: 'png24',
        PNG32: 'png32',
        JPEG: 'jpg',
        JPG: 'jpg',
        DIB: 'dib',
        TIFF: 'tiff',
        EMF: 'emf',
        PS: 'ps',
        PDF: 'pdf',
        GIF: 'gif',
        SVG: 'svg',
        SVGZ: 'svgz',
        Mixed: 'mixed',
        MIXED: 'mixed',
        LERC: 'lerc',
        LERC2D: 'lerc2d',
        RAW: 'raw',
        pbf: 'pbf',
      });
      let b = (s = class extends n.a {
        constructor(e) {
          super(e),
            (this.dpi = 96),
            (this.format = null),
            (this.origin = null),
            (this.minScale = 0),
            (this.maxScale = 0),
            (this.size = null),
            (this.spatialReference = null);
        }
        static create(e = {}) {
          const {
            resolutionFactor: t = 1,
            scales: r,
            size: i = 256,
            spatialReference: l = g.Z.WebMercator,
            numLODs: n = 24,
          } = e;
          if (!(0, g.j)(l)) {
            const e = [];
            if (r)
              for (let t = 0; t < r.length; t++) {
                const s = r[t];
                e.push({ level: t, scale: s, resolution: s });
              }
            else {
              let t = 5e-4;
              for (let r = n - 1; r >= 0; r--)
                e.unshift({ level: r, scale: t, resolution: t }), (t *= 2);
            }
            return new s({
              dpi: 96,
              lods: e,
              origin: new h.Z(0, 0, l),
              size: [i, i],
              spatialReference: l,
            });
          }
          const a = (0, g.g)(l),
            u = e.origin
              ? new h.Z({ x: e.origin.x, y: e.origin.y, spatialReference: l })
              : new h.Z(
                  a
                    ? { x: a.origin[0], y: a.origin[1], spatialReference: l }
                    : { x: 0, y: 0, spatialReference: l },
                ),
            c = 1 / (39.37 * (0, o.a)(l) * 96),
            p = [];
          if (r)
            for (let e = 0; e < r.length; e++) {
              const t = r[e],
                s = t * c;
              p.push({ level: e, scale: t, resolution: s });
            }
          else {
            let e = (0, g.l)(l) ? (512 / i) * 591657527.5917094 : (256 / i) * 591657527.591555;
            const r = Math.ceil(n / t);
            p.push({ level: 0, scale: e, resolution: e * c });
            for (let s = 1; s < r; s++) {
              const r = e / 2 ** t,
                i = r * c;
              p.push({ level: s, scale: r, resolution: i }), (e = r);
            }
          }
          return new s({ dpi: 96, lods: p, origin: u, size: [i, i], spatialReference: l });
        }
        get isWrappable() {
          const { spatialReference: e, origin: t } = this;
          if (e && t) {
            const r = (0, g.g)(e);
            return e.isWrappable && Math.abs(r.origin[0] - t.x) <= r.dx;
          }
          return !1;
        }
        readOrigin(e, t) {
          return h.Z.fromJSON({ spatialReference: t.spatialReference, ...e });
        }
        set lods(e) {
          let t = 0,
            r = 0;
          const s = [];
          (this._levelToLOD = {}),
            e &&
              ((t = -1 / 0),
              (r = 1 / 0),
              e.forEach((e) => {
                s.push(e.scale),
                  (t = e.scale > t ? e.scale : t),
                  (r = e.scale < r ? e.scale : r),
                  (this._levelToLOD[e.level] = e);
              })),
            this._set('scales', s),
            this._set('minScale', t),
            this._set('maxScale', r),
            this._set('lods', e),
            this._initializeUpsampleLevels();
        }
        readSize(e, t) {
          return [t.cols, t.rows];
        }
        writeSize(e, t) {
          (t.cols = e[0]), (t.rows = e[0]);
        }
        zoomToScale(e) {
          const t = this.scales;
          if (e <= 0) return t[0];
          if (e >= t.length - 1) return t[t.length - 1];
          {
            const r = Math.floor(e),
              s = r + 1;
            return t[r] / (t[r] / t[s]) ** (e - r);
          }
        }
        scaleToZoom(e) {
          const t = this.scales,
            r = t.length - 1;
          let s = 0;
          for (; s < r; s++) {
            const r = t[s],
              i = t[s + 1];
            if (r <= e) return s;
            if (i === e) return s + 1;
            if (r > e && i < e) return s + Math.log(r / e) / Math.log(r / i);
          }
          return s;
        }
        snapScale(e, t = 0.95) {
          const r = this.scaleToZoom(e);
          return r % Math.floor(r) >= t
            ? this.zoomToScale(Math.ceil(r))
            : this.zoomToScale(Math.floor(r));
        }
        tileAt(e, t, r, s) {
          const i = this.lodAt(e);
          if (!i) return null;
          let l, n;
          if ('number' == typeof t) (l = t), (n = r);
          else if ((0, g.e)(t.spatialReference, this.spatialReference))
            (l = t.x), (n = t.y), (s = r);
          else {
            const e = (0, y.iV)(t, this.spatialReference);
            if (!e) return null;
            (l = e.x), (n = e.y), (s = r);
          }
          const o = i.resolution * this.size[0],
            a = i.resolution * this.size[1];
          return (
            s || (s = { id: null, level: 0, row: 0, col: 0, extent: (0, m.a)() }),
            (s.level = e),
            (s.row = Math.floor((this.origin.y - n) / a + 0.001)),
            (s.col = Math.floor((l - this.origin.x) / o + 0.001)),
            this.updateTileInfo(s),
            s
          );
        }
        updateTileInfo(e, t = 0) {
          let r = this.lodAt(e.level);
          if (!r && 1 === t) {
            const t = this.lods[this.lods.length - 1];
            t.level < e.level && (r = t);
          }
          if (!r) return;
          const s = e.level - r.level,
            i = (r.resolution * this.size[0]) / 2 ** s,
            l = (r.resolution * this.size[1]) / 2 ** s;
          (e.id = `${e.level}/${e.row}/${e.col}`),
            e.extent || (e.extent = (0, m.a)()),
            (e.extent[0] = this.origin.x + e.col * i),
            (e.extent[1] = this.origin.y - (e.row + 1) * l),
            (e.extent[2] = e.extent[0] + i),
            (e.extent[3] = e.extent[1] + l);
        }
        upsampleTile(e) {
          const t = this._upsampleLevels[e.level];
          return !(
            !t ||
            -1 === t.parentLevel ||
            ((e.level = t.parentLevel),
            (e.row = Math.floor(e.row / t.factor + 0.001)),
            (e.col = Math.floor(e.col / t.factor + 0.001)),
            this.updateTileInfo(e),
            0)
          );
        }
        getTileBounds(e, t) {
          const { resolution: r } = this.lodAt(t.level),
            s = r * this.size[0],
            i = r * this.size[1];
          return (
            (e[0] = this.origin.x + t.col * s),
            (e[1] = this.origin.y - (t.row + 1) * i),
            (e[2] = e[0] + s),
            (e[3] = e[1] + i),
            e
          );
        }
        lodAt(e) {
          return (this._levelToLOD && this._levelToLOD[e]) || null;
        }
        clone() {
          return s.fromJSON(this.write({}));
        }
        _initializeUpsampleLevels() {
          const e = this.lods;
          this._upsampleLevels = [];
          let t = null;
          for (let r = 0; r < e.length; r++) {
            const s = e[r];
            (this._upsampleLevels[s.level] = {
              parentLevel: t ? t.level : -1,
              factor: t ? t.resolution / s.resolution : 0,
            }),
              (t = s);
          }
        }
      });
      (0, i._)(
        [(0, a.Cb)({ type: Number, json: { write: !0 } })],
        b.prototype,
        'compressionQuality',
        void 0,
      ),
        (0, i._)([(0, a.Cb)({ type: Number, json: { write: !0 } })], b.prototype, 'dpi', void 0),
        (0, i._)(
          [
            (0, a.Cb)({
              type: String,
              json: {
                read: v.read,
                write: v.write,
                origins: { 'web-scene': { read: !1, write: !1 } },
              },
            }),
          ],
          b.prototype,
          'format',
          void 0,
        ),
        (0, i._)([(0, a.Cb)({ readOnly: !0 })], b.prototype, 'isWrappable', null),
        (0, i._)([(0, a.Cb)({ type: h.Z, json: { write: !0 } })], b.prototype, 'origin', void 0),
        (0, i._)([(0, c.r)('origin')], b.prototype, 'readOrigin', null),
        (0, i._)(
          [(0, a.Cb)({ type: [f.Z], value: null, json: { write: !0 } })],
          b.prototype,
          'lods',
          null,
        ),
        (0, i._)([(0, a.Cb)({ readOnly: !0 })], b.prototype, 'minScale', void 0),
        (0, i._)([(0, a.Cb)({ readOnly: !0 })], b.prototype, 'maxScale', void 0),
        (0, i._)([(0, a.Cb)({ readOnly: !0 })], b.prototype, 'scales', void 0),
        (0, i._)(
          [
            (0, a.Cb)({
              cast: (e) => (Array.isArray(e) ? e : 'number' == typeof e ? [e, e] : [256, 256]),
            }),
          ],
          b.prototype,
          'size',
          void 0,
        ),
        (0, i._)([(0, c.r)('size', ['rows', 'cols'])], b.prototype, 'readSize', null),
        (0, i._)(
          [(0, d.w)('size', { cols: { type: u.I }, rows: { type: u.I } })],
          b.prototype,
          'writeSize',
          null,
        ),
        (0, i._)(
          [(0, a.Cb)({ type: g.Z, json: { write: !0 } })],
          b.prototype,
          'spatialReference',
          void 0,
        ),
        (b = s = (0, i._)([(0, p.j)('esri.layers.support.TileInfo')], b));
      const w = b;
    },
  },
]);
