(self.webpackChunkRemoteClient = self.webpackChunkRemoteClient || []).push([
  [1135, 3602, 6202, 9450, 5709, 7258],
  {
    23761: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => f });
      var i,
        o = r(29768),
        n = r(74569),
        s = r(86748),
        a = r(96467),
        l = r(74673),
        u = r(76506),
        c = r(42788),
        p = r(34250),
        d = (r(91306), r(92143), r(17533)),
        y = r(32422);
      r(21801),
        r(40642),
        r(71552),
        r(73796),
        r(97714),
        r(60947),
        r(2906),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(31450),
        r(26341),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(84069),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(57251),
        r(15324),
        r(76996),
        r(14249),
        r(9801),
        r(53523),
        r(59465),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(29107),
        r(30574),
        r(2157),
        r(25977),
        r(7471),
        r(54414),
        r(1648),
        r(8925),
        r(33921),
        r(3482),
        r(45154),
        r(16769),
        r(55531),
        r(30582),
        r(593),
        r(85699),
        r(63136),
        r(96055),
        r(47776),
        r(18033),
        r(6331),
        r(62048),
        r(4292),
        r(75626),
        r(72652),
        r(29641),
        r(30493),
        r(70821),
        r(82673),
        r(34229),
        r(37029),
        r(63571),
        r(30776),
        r(48027),
        r(54174),
        r(82426),
        r(63130),
        r(25696),
        r(66396),
        r(42775),
        r(95834),
        r(34394),
        r(57150),
        r(76726),
        r(20444),
        r(76393),
        r(78548),
        r(2497),
        r(49906),
        r(46527),
        r(48649),
        r(9960),
        r(3101),
        r(5853),
        r(39141),
        r(32101),
        r(38742),
        r(48243),
        r(34635),
        r(10401),
        r(49900),
        r(66284),
        r(82058),
        r(88762),
        r(73173),
        r(22739),
        r(20543),
        r(67477),
        r(78533),
        r(74653),
        r(91091),
        r(58943),
        r(70737),
        r(8487),
        r(17817),
        r(90814),
        r(15459),
        r(61847),
        r(16796),
        r(16955),
        r(22401),
        r(77894),
        r(55187),
        r(8586),
        r(44509),
        r(69814),
        r(11305),
        r(62259),
        r(44790),
        r(5909),
        r(60669),
        r(48208),
        r(51589);
      let h = (i = class extends l.a {
        constructor(...e) {
          super(...e),
            (this.isAggregate = !1),
            (this.layer = null),
            (this.popupTemplate = null),
            (this.sourceLayer = null),
            Object.defineProperty(this, 'uid', { value: (0, c.g)(), configurable: !0 });
        }
        normalizeCtorArgs(e, t, r, i) {
          return e && !e.declaredClass
            ? e
            : { geometry: e, symbol: t, attributes: r, popupTemplate: i };
        }
        set attributes(e) {
          const t = this._get('attributes');
          t !== e && (this._set('attributes', e), this._notifyLayer('attributes', t, e));
        }
        set geometry(e) {
          const t = this._get('geometry');
          t !== e && (this._set('geometry', e), this._notifyLayer('geometry', t, e));
        }
        set symbol(e) {
          const t = this._get('symbol');
          t !== e && (this._set('symbol', e), this._notifyLayer('symbol', t, e));
        }
        set visible(e) {
          const t = this._get('visible');
          t !== e && (this._set('visible', e), this._notifyLayer('visible', t, e));
        }
        getEffectivePopupTemplate(e = !1) {
          if (this.popupTemplate) return this.popupTemplate;
          for (const t of [this.sourceLayer, this.layer])
            if (t) {
              if ('popupTemplate' in t && t.popupTemplate) return t.popupTemplate;
              if (e && 'defaultPopupTemplate' in t && (0, u.i)(t.defaultPopupTemplate))
                return t.defaultPopupTemplate;
            }
          return null;
        }
        getAttribute(e) {
          return this.attributes && this.attributes[e];
        }
        setAttribute(e, t) {
          if (this.attributes) {
            const r = this.getAttribute(e);
            (this.attributes[e] = t), this._notifyLayer('attributes', r, t, e);
          } else (this.attributes = { [e]: t }), this._notifyLayer('attributes', void 0, t, e);
        }
        getObjectId() {
          return this.sourceLayer &&
            'objectIdField' in this.sourceLayer &&
            this.sourceLayer.objectIdField
            ? this.getAttribute(this.sourceLayer.objectIdField)
            : null;
        }
        toJSON() {
          return {
            geometry: (0, u.i)(this.geometry) ? this.geometry.toJSON() : null,
            symbol: (0, u.i)(this.symbol) ? this.symbol.toJSON() : null,
            attributes: { ...this.attributes },
            popupTemplate: this.popupTemplate && this.popupTemplate.toJSON(),
          };
        }
        clone() {
          return new i(this.cloneProperties());
        }
        notifyGeometryChanged() {
          this._notifyLayer('geometry', this.geometry, this.geometry);
        }
        cloneProperties() {
          return {
            attributes: (0, u.d9)(this.attributes),
            geometry: (0, u.d9)(this.geometry),
            layer: this.layer,
            popupTemplate: this.popupTemplate && this.popupTemplate.clone(),
            sourceLayer: this.sourceLayer,
            symbol: (0, u.d9)(this.symbol),
            visible: this.visible,
          };
        }
        _notifyLayer(e, t, r, i) {
          if (!this.layer || !('graphicChanged' in this.layer)) return;
          const o = { graphic: this, property: e, oldValue: t, newValue: r };
          'attributes' === e && (o.attributeName = i), this.layer.graphicChanged(o);
        }
      });
      (0, o._)([(0, p.Cb)({ value: null })], h.prototype, 'attributes', null),
        (0, o._)(
          [(0, p.Cb)({ value: null, types: n.qM, json: { read: y.im } })],
          h.prototype,
          'geometry',
          null,
        ),
        (0, o._)([(0, p.Cb)({ type: Boolean })], h.prototype, 'isAggregate', void 0),
        (0, o._)([(0, p.Cb)()], h.prototype, 'layer', void 0),
        (0, o._)([(0, p.Cb)({ type: s.Z })], h.prototype, 'popupTemplate', void 0),
        (0, o._)([(0, p.Cb)()], h.prototype, 'sourceLayer', void 0),
        (0, o._)([(0, p.Cb)({ value: null, types: a.LB })], h.prototype, 'symbol', null),
        (0, o._)([(0, p.Cb)({ type: Boolean, value: !0 })], h.prototype, 'visible', null),
        (h = i = (0, o._)([(0, d.j)('esri.Graphic')], h)),
        ((h || (h = {})).generateUID = c.g);
      const f = h;
    },
    21781: (e, t, r) => {
      'use strict';
      r.d(t, { A: () => s });
      var i = r(29768),
        o = r(34250),
        n = (r(76506), r(91306), r(92143), r(17533));
      const s = (e) => {
        let t = class extends e {
          get apiKey() {
            var e;
            return this._isOverridden('apiKey')
              ? this._get('apiKey')
              : 'portalItem' in this
              ? null == (e = this.portalItem)
                ? void 0
                : e.apiKey
              : null;
          }
          set apiKey(e) {
            null != e
              ? this._override('apiKey', e)
              : (this._clearOverride('apiKey'), this.clear('apiKey', 'user'));
          }
        };
        return (
          (0, i._)([(0, o.Cb)({ type: String })], t.prototype, 'apiKey', null),
          (t = (0, i._)([(0, n.j)('esri.layers.mixins.APIKeyMixin')], t)),
          t
        );
      };
    },
    75025: (e, t, r) => {
      'use strict';
      r.d(t, { A: () => u });
      var i = r(29768),
        o = r(92143),
        n = r(76506),
        s = r(34250),
        a = (r(91306), r(17533)),
        l = r(21132);
      const u = (e) => {
        let t = class extends e {
          get title() {
            if (this._get('title') && 'defaults' !== this.originOf('title'))
              return this._get('title');
            if (this.url) {
              const e = (0, l.p)(this.url);
              if ((0, n.i)(e) && e.title) return e.title;
            }
            return this._get('title') || '';
          }
          set title(e) {
            this._set('title', e);
          }
          set url(e) {
            this._set('url', (0, l.s)(e, o.L.getLogger(this.declaredClass)));
          }
        };
        return (
          (0, i._)([(0, s.Cb)()], t.prototype, 'title', null),
          (0, i._)([(0, s.Cb)({ type: String })], t.prototype, 'url', null),
          (t = (0, i._)([(0, a.j)('esri.layers.mixins.ArcGISService')], t)),
          t
        );
      };
    },
    8547: (e, t, r) => {
      'use strict';
      r.d(t, { C: () => s });
      var i = r(29768),
        o = r(34250),
        n = (r(76506), r(91306), r(92143), r(17533));
      const s = (e) => {
        let t = class extends e {
          constructor() {
            super(...arguments), (this.customParameters = null);
          }
        };
        return (
          (0, i._)(
            [(0, o.Cb)({ type: Object, json: { write: !0 } })],
            t.prototype,
            'customParameters',
            void 0,
          ),
          (t = (0, i._)([(0, n.j)('esri.layers.mixins.CustomParametersMixin')], t)),
          t
        );
      };
    },
    92482: (e, t, r) => {
      'use strict';
      r.d(t, {
        N: () => p,
        a: () => o,
        d: () => u,
        f: () => n,
        m: () => c,
        p: () => s,
        t: () => a,
        x: () => l,
      }),
        r(76506);
      var i = r(21801);
      function o(e = d) {
        return [e[0], e[1], e[2], e[3]];
      }
      function n(e, t, r, i, n = o()) {
        return (n[0] = e), (n[1] = t), (n[2] = r), (n[3] = i), n;
      }
      function s(e, t = o()) {
        return (t[0] = e.xmin), (t[1] = e.ymin), (t[2] = e.xmax), (t[3] = e.ymax), t;
      }
      function a(e, t) {
        return new i.Z({ xmin: e[0], ymin: e[1], xmax: e[2], ymax: e[3], spatialReference: t });
      }
      function l(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];
    },
    21132: (e, t, r) => {
      'use strict';
      r.d(t, {
        a: () => g,
        b: () => f,
        c: () => y,
        d: () => c,
        e: () => v,
        f: () => d,
        p: () => p,
        s: () => m,
        t: () => h,
        w: () => b,
      });
      var i = r(76506),
        o = r(32101),
        n = r(38742);
      const s = [
          'MapServer',
          'ImageServer',
          'FeatureServer',
          'SceneServer',
          'StreamServer',
          'VectorTileServer',
        ],
        a = new RegExp(
          `^((?:https?:)?\\/\\/\\S+?\\/rest\\/services\\/(.+?)\\/(${s.join(
            '|',
          )}))(?:\\/(?:layers\\/)?(\\d+))?`,
          'i',
        ),
        l = new RegExp(
          `^((?:https?:)?\\/\\/\\S+?\\/([^\\/\\n]+)\\/(${s.join(
            '|',
          )}))(?:\\/(?:layers\\/)?(\\d+))?`,
          'i',
        ),
        u = /(.*?)\/(?:layers\/)?(\d+)\/?$/i;
      function c(e) {
        return !!a.test(e);
      }
      function p(e) {
        const t = (0, o.mN)(e),
          r = t.path.match(a) || t.path.match(l);
        if (!r) return null;
        const [, i, n, s, u] = r,
          c = n.indexOf('/');
        return {
          title: y(-1 !== c ? n.slice(c + 1) : n),
          serverType: s,
          sublayer: null != u && '' !== u ? parseInt(u, 10) : null,
          url: { path: i },
        };
      }
      function d(e) {
        const t = (0, o.mN)(e).path.match(u);
        return t ? { serviceUrl: t[1], sublayerId: Number(t[2]) } : null;
      }
      function y(e) {
        return (e = e.replace(/\s*[/_]+\s*/g, ' '))[0].toUpperCase() + e.slice(1);
      }
      function h(e, t) {
        const r = [];
        if (e) {
          const t = p(e);
          (0, i.i)(t) && t.title && r.push(t.title);
        }
        if (t) {
          const e = y(t);
          r.push(e);
        }
        if (2 === r.length) {
          if (-1 !== r[0].toLowerCase().indexOf(r[1].toLowerCase())) return r[0];
          if (-1 !== r[1].toLowerCase().indexOf(r[0].toLowerCase())) return r[1];
        }
        return r.join(' - ');
      }
      function f(e) {
        if (!e) return !1;
        const t = -1 !== (e = e.toLowerCase()).indexOf('.arcgis.com/'),
          r =
            -1 !== e.indexOf('//services') ||
            -1 !== e.indexOf('//tiles') ||
            -1 !== e.indexOf('//features');
        return t && r;
      }
      function m(e, t) {
        return e ? (0, o.Qj)((0, o.Hu)(e, t)) : e;
      }
      function g(e) {
        let { url: t } = e;
        if (!t) return { url: t };
        t = (0, o.Hu)(t, e.logger);
        const r = (0, o.mN)(t),
          n = p(r.path);
        let s;
        if ((0, i.i)(n))
          null != n.sublayer && null == e.layer.layerId && (s = n.sublayer), (t = n.url.path);
        else if (e.nonStandardUrlAllowed) {
          const e = d(r.path);
          (0, i.i)(e) && ((t = e.serviceUrl), (s = e.sublayerId));
        }
        return { url: (0, o.Qj)(t), layerId: s };
      }
      function b(e, t, r, i, s) {
        (0, n.w)(t, i, 'url', s),
          i.url && null != e.layerId && (i.url = (0, o.v_)(i.url, r, e.layerId.toString()));
      }
      function v(e) {
        if (!e) return !1;
        const t = e.toLowerCase(),
          r = -1 !== t.indexOf('/services/'),
          i = -1 !== t.indexOf('/mapserver/wmsserver'),
          o = -1 !== t.indexOf('/imageserver/wmsserver'),
          n = -1 !== t.indexOf('/wmsserver');
        return r && (i || o || n);
      }
    },
    48190: (e, t, r) => {
      'use strict';
      function i(e) {}
      r.d(t, { n: () => i }), r(76506);
    },
    6941: (e, t, r) => {
      'use strict';
      r.d(t, {
        a: () => n,
        b: () => s,
        c: () => a,
        d: () => o,
        e: () => l,
        f: () => u,
        g: () => c,
      });
      const i = [252, 146, 31, 255],
        o = {
          type: 'esriSMS',
          style: 'esriSMSCircle',
          size: 6,
          color: i,
          outline: {
            type: 'esriSLS',
            style: 'esriSLSSolid',
            width: 0.75,
            color: [153, 153, 153, 255],
          },
        },
        n = { type: 'esriSLS', style: 'esriSLSSolid', width: 0.75, color: i },
        s = {
          type: 'esriSFS',
          style: 'esriSFSSolid',
          color: [252, 146, 31, 196],
          outline: {
            type: 'esriSLS',
            style: 'esriSLSSolid',
            width: 0.75,
            color: [255, 255, 255, 191],
          },
        },
        a = {
          type: 'esriTS',
          color: [255, 255, 255, 255],
          font: { family: 'arial-unicode-ms', size: 10, weight: 'bold' },
          horizontalAlignment: 'center',
          kerning: !0,
          haloColor: [0, 0, 0, 255],
          haloSize: 1,
          rotated: !1,
          text: '',
          xoffset: 0,
          yoffset: 0,
          angle: 0,
        },
        l = {
          type: 'esriSMS',
          style: 'esriSMSCircle',
          color: [0, 0, 0, 255],
          outline: null,
          size: 10.5,
        },
        u = { type: 'esriSLS', style: 'esriSLSSolid', color: [0, 0, 0, 255], width: 1.5 },
        c = { type: 'esriSFS', style: 'esriSFSSolid', color: [0, 0, 0, 255], outline: null };
    },
    93939: (e, t, r) => {
      'use strict';
      r.d(t, { a: () => h, d: () => f, h: () => y });
      var i = r(21972),
        o = r(15324),
        n = r(76506),
        s = r(86656);
      const a = [
        'esri.Color',
        'esri.portal.Portal',
        'esri.symbols.support.Symbol3DAnchorPosition2D',
        'esri.symbols.support.Symbol3DAnchorPosition3D',
      ];
      function l(e) {
        return e instanceof i.Z;
      }
      function u(e) {
        return e instanceof o.Z
          ? Object.keys(e.items)
          : l(e)
          ? (0, s.g)(e).keys()
          : e
          ? Object.keys(e)
          : [];
      }
      function c(e, t) {
        return e instanceof o.Z ? e.items[t] : e[t];
      }
      function p(e) {
        return e ? e.declaredClass : null;
      }
      function d(e, t) {
        const r = e.diff;
        if (r && 'function' == typeof r) return r(e, t);
        const i = u(e),
          o = u(t);
        if (0 === i.length && 0 === o.length) return;
        if (
          !i.length ||
          !o.length ||
          (function (e, t) {
            return !(!Array.isArray(e) || !Array.isArray(t)) && e.length !== t.length;
          })(e, t)
        )
          return { type: 'complete', oldValue: e, newValue: t };
        const s = o.filter((e) => -1 === i.indexOf(e)),
          y = i.filter((e) => -1 === o.indexOf(e)),
          h = i
            .filter((r) => o.indexOf(r) > -1 && c(e, r) !== c(t, r))
            .concat(s, y)
            .sort(),
          f = p(e);
        if (f && a.indexOf(f) > -1 && h.length)
          return { type: 'complete', oldValue: e, newValue: t };
        let m;
        const g = l(e) && l(t);
        for (const i of h) {
          const o = c(e, i),
            s = c(t, i);
          let a;
          (g || ('function' != typeof o && 'function' != typeof s)) &&
            o !== s &&
            ((null == o && null == s) ||
              ((a =
                r && r[i] && 'function' == typeof r[i]
                  ? r[i](o, s)
                  : 'object' == typeof o && 'object' == typeof s && p(o) === p(s)
                  ? d(o, s)
                  : { type: 'complete', oldValue: o, newValue: s }),
              (0, n.i)(a) &&
                ((0, n.i)(m) ? (m.diff[i] = a) : (m = { type: 'partial', diff: { [i]: a } }))));
        }
        return m;
      }
      function y(e, t) {
        if ((0, n.b)(e)) return !1;
        const r = t.split('.');
        let i = e;
        for (const e of r) {
          if ('complete' === i.type) return !0;
          if ('partial' !== i.type) return !1;
          {
            const t = i.diff[e];
            if (!t) return !1;
            i = t;
          }
        }
        return !0;
      }
      function h(e, t) {
        for (const r of t) if (y(e, r)) return !0;
        return !1;
      }
      function f(e, t) {
        if ('function' != typeof e && 'function' != typeof t && (e || t))
          return !e || !t || ('object' == typeof e && 'object' == typeof t && p(e) !== p(t))
            ? { type: 'complete', oldValue: e, newValue: t }
            : d(e, t);
      }
    },
    54732: (e, t, r) => {
      'use strict';
      r.d(t, { k: () => i });
      const i = new (r(57251).J)({
        esriFieldTypeSmallInteger: 'small-integer',
        esriFieldTypeInteger: 'integer',
        esriFieldTypeSingle: 'single',
        esriFieldTypeDouble: 'double',
        esriFieldTypeLong: 'long',
        esriFieldTypeString: 'string',
        esriFieldTypeDate: 'date',
        esriFieldTypeOID: 'oid',
        esriFieldTypeGeometry: 'geometry',
        esriFieldTypeBlob: 'blob',
        esriFieldTypeRaster: 'raster',
        esriFieldTypeGUID: 'guid',
        esriFieldTypeGlobalID: 'global-id',
        esriFieldTypeXML: 'xml',
      });
    },
    85557: (e, t, r) => {
      'use strict';
      r.d(t, { m: () => n });
      var i = r(53785),
        o = r(89623);
      const n = {
        inches: (0, i.c)(1, 'meters', 'inches'),
        feet: (0, i.c)(1, 'meters', 'feet'),
        'us-feet': (0, i.c)(1, 'meters', 'us-feet'),
        yards: (0, i.c)(1, 'meters', 'yards'),
        miles: (0, i.c)(1, 'meters', 'miles'),
        'nautical-miles': (0, i.c)(1, 'meters', 'nautical-miles'),
        millimeters: (0, i.c)(1, 'meters', 'millimeters'),
        centimeters: (0, i.c)(1, 'meters', 'centimeters'),
        decimeters: (0, i.c)(1, 'meters', 'decimeters'),
        meters: (0, i.c)(1, 'meters', 'meters'),
        kilometers: (0, i.c)(1, 'meters', 'kilometers'),
        'decimal-degrees': 1 / (0, i.l)(1, 'meters', o.e.radius),
      };
    },
    19957: (e, t, r) => {
      'use strict';
      r.d(t, { f: () => o, i: () => i });
      const i = 1;
      function o(e, t) {
        let r = 0;
        for (const o of t) {
          var i;
          const t = null == (i = o.attributes) ? void 0 : i[e];
          'number' == typeof t && isFinite(t) && (r = Math.max(r, t));
        }
        return r;
      }
    },
    55823: (e, t, r) => {
      'use strict';
      r.d(t, { a: () => o });
      var i = r(92847);
      function o(e, t, r) {
        if (!r || !r.features || !r.hasZ) return;
        const o = (0, i.g)(r.geometryType, t, e.outSpatialReference);
        if (o) for (const e of r.features) o(e.geometry);
      }
    },
    52228: (e, t, r) => {
      'use strict';
      function i(e) {
        return e && 'esri.renderers.visualVariables.SizeVariable' === e.declaredClass;
      }
      function o(e) {
        return null != e && !isNaN(e) && isFinite(e);
      }
      function n(e) {
        return e.valueExpression
          ? 'expression'
          : e.field && 'string' == typeof e.field
          ? 'field'
          : 'unknown';
      }
      function s(e, t) {
        const r = t || n(e),
          i = e.valueUnit || 'unknown';
        return 'unknown' === r
          ? 'constant'
          : e.stops
          ? 'stops'
          : null != e.minSize &&
            null != e.maxSize &&
            null != e.minDataValue &&
            null != e.maxDataValue
          ? 'clamped-linear'
          : 'unknown' === i
          ? null != e.minSize && null != e.minDataValue
            ? e.minSize && e.minDataValue
              ? 'proportional'
              : 'additive'
            : 'identity'
          : 'real-world-size';
      }
      r.d(t, { a: () => s, b: () => o, g: () => n, i: () => i });
    },
    42788: (e, t, r) => {
      'use strict';
      r.d(t, { g: () => o });
      let i = 0;
      function o() {
        return ++i;
      }
    },
    74057: (e, t, r) => {
      'use strict';
      r.d(t, {
        PR: () => S,
        Lq: () => h,
        Km: () => f,
        cM: () => m,
        ap: () => g,
        V3: () => w,
        B3: () => y,
      });
      var i = r(48027),
        o = r(23761),
        n = r(48190),
        s = r(92143),
        a = r(76506),
        l = r(85557),
        u = r(52228);
      r(54174),
        r(82426),
        r(91306),
        r(31450),
        r(71552),
        r(40642),
        r(74569),
        r(21801),
        r(34250),
        r(86656),
        r(22723),
        r(17533),
        r(81172),
        r(73796),
        r(74673),
        r(21972),
        r(23639),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(26341),
        r(97714),
        r(60947),
        r(2906),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(84069),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(57251),
        r(32422),
        r(86748),
        r(15324),
        r(76996),
        r(14249),
        r(9801),
        r(53523),
        r(59465),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(29107),
        r(30574),
        r(2157),
        r(25977),
        r(7471),
        r(54414),
        r(1648),
        r(8925),
        r(33921),
        r(3482),
        r(45154),
        r(16769),
        r(55531),
        r(30582),
        r(593),
        r(85699),
        r(63136),
        r(96055),
        r(47776),
        r(18033),
        r(6331),
        r(62048),
        r(4292),
        r(75626),
        r(72652),
        r(29641),
        r(30493),
        r(70821),
        r(82673),
        r(34229),
        r(37029),
        r(96467),
        r(63571),
        r(30776),
        r(63130),
        r(25696),
        r(66396),
        r(42775),
        r(95834),
        r(34394),
        r(57150),
        r(76726),
        r(20444),
        r(76393),
        r(78548),
        r(2497),
        r(49906),
        r(46527),
        r(48649),
        r(9960),
        r(3101),
        r(5853),
        r(39141),
        r(32101),
        r(38742),
        r(48243),
        r(34635),
        r(10401),
        r(49900),
        r(66284),
        r(82058),
        r(88762),
        r(73173),
        r(22739),
        r(20543),
        r(67477),
        r(78533),
        r(74653),
        r(91091),
        r(58943),
        r(70737),
        r(8487),
        r(17817),
        r(90814),
        r(15459),
        r(61847),
        r(16796),
        r(16955),
        r(22401),
        r(77894),
        r(55187),
        r(8586),
        r(44509),
        r(69814),
        r(11305),
        r(62259),
        r(44790),
        r(5909),
        r(60669),
        r(48208),
        r(51589),
        r(53785),
        r(95587);
      const c = s.L.getLogger('esri.renderers.visualVariables.support.visualVariableUtils'),
        p = new o.Z(),
        d = Math.PI,
        y = /^\s*(return\s+)?\$view\.scale\s*(;)?\s*$/i;
      function h(e, t, r) {
        const o =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'color' === e.type)[0]
            : e;
        if (!o) return;
        if ('esri.renderers.visualVariables.ColorVariable' !== o.declaredClass)
          return void c.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.ColorVariable',
          );
        const n = 'number' == typeof t,
          s = n ? null : t,
          l = s && s.attributes;
        let u = n ? t : null;
        const p = o.field,
          { ipData: d, hasExpression: y } = o.cache;
        let h = o.cache.compiledFunc;
        if (!p && !y) {
          const e = o.stops;
          return e && e[0] && e[0].color;
        }
        if ('number' != typeof u)
          if (y) {
            if (!(0, a.i)(r) || !(0, a.i)(r.arcade))
              return void c.error('Use of arcade expressions requires an arcade context');
            const e = {
                viewingMode: r.viewingMode,
                scale: r.scale,
                spatialReference: r.spatialReference,
              },
              t = r.arcade.arcadeUtils,
              i = t.getViewInfo(e),
              n = t.createExecContext(s, i);
            if (!h) {
              const e = t.createSyntaxTree(o.valueExpression);
              (h = t.createFunction(e)), (o.cache.compiledFunc = h);
            }
            u = t.executeFunction(h, n);
          } else l && (u = l[p]);
        const f = o.normalizationField,
          m = l ? parseFloat(l[f]) : void 0;
        if (null != u && (!f || n || (!isNaN(m) && 0 !== m))) {
          isNaN(m) || n || (u /= m);
          const e = _(u, d);
          if (e) {
            const t = e[0],
              n = e[1],
              s =
                t === n
                  ? o.stops[t].color
                  : i.Z.blendColors(
                      o.stops[t].color,
                      o.stops[n].color,
                      e[2],
                      (0, a.i)(r) ? r.color : void 0,
                    );
            return new i.Z(s);
          }
        }
      }
      function f(e, t, r) {
        const i =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'opacity' === e.type)[0]
            : e;
        if (!i) return;
        if ('esri.renderers.visualVariables.OpacityVariable' !== i.declaredClass)
          return void c.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.OpacityVariable',
          );
        const o = 'number' == typeof t,
          n = o ? null : t,
          s = n && n.attributes;
        let l = o ? t : null;
        const u = i.field,
          { ipData: p, hasExpression: d } = i.cache;
        let y = i.cache.compiledFunc;
        if (!u && !d) {
          const e = i.stops;
          return e && e[0] && e[0].opacity;
        }
        if ('number' != typeof l)
          if (d) {
            if ((0, a.b)(r) || (0, a.b)(r.arcade))
              return void c.error('Use of arcade expressions requires an arcade context');
            const e = {
                viewingMode: r.viewingMode,
                scale: r.scale,
                spatialReference: r.spatialReference,
              },
              t = r.arcade.arcadeUtils,
              o = t.getViewInfo(e),
              s = t.createExecContext(n, o);
            if (!y) {
              const e = t.createSyntaxTree(i.valueExpression);
              (y = t.createFunction(e)), (i.cache.compiledFunc = y);
            }
            l = t.executeFunction(y, s);
          } else s && (l = s[u]);
        const h = i.normalizationField,
          f = s ? parseFloat(s[h]) : void 0;
        if (null != l && (!h || o || (!isNaN(f) && 0 !== f))) {
          isNaN(f) || o || (l /= f);
          const e = _(l, p);
          if (e) {
            const t = e[0],
              r = e[1];
            if (t === r) return i.stops[t].opacity;
            {
              const o = i.stops[t].opacity;
              return o + (i.stops[r].opacity - o) * e[2];
            }
          }
        }
      }
      function m(e, t, r) {
        const i =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'rotation' === e.type)[0]
            : e;
        if (!i) return;
        if ('esri.renderers.visualVariables.RotationVariable' !== i.declaredClass)
          return void c.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.RotationVariable',
          );
        const o = i.axis || 'heading',
          n = 'heading' === o && 'arithmetic' === i.rotationType ? 90 : 0,
          s = 'heading' === o && 'arithmetic' === i.rotationType ? -1 : 1,
          l = 'number' == typeof t ? null : t,
          u = l && l.attributes,
          p = i.field,
          { hasExpression: d } = i.cache;
        let y = i.cache.compiledFunc,
          h = 0;
        if (!p && !d) return h;
        if (d) {
          if ((0, a.b)(r) || (0, a.b)(r.arcade))
            return void c.error('Use of arcade expressions requires an arcade context');
          const e = {
              viewingMode: r.viewingMode,
              scale: r.scale,
              spatialReference: r.spatialReference,
            },
            t = r.arcade.arcadeUtils,
            o = t.getViewInfo(e),
            n = t.createExecContext(l, o);
          if (!y) {
            const e = t.createSyntaxTree(i.valueExpression);
            (y = t.createFunction(e)), (i.cache.compiledFunc = y);
          }
          h = t.executeFunction(y, n);
        } else u && (h = u[p] || 0);
        return (h = 'number' != typeof h || isNaN(h) ? null : n + s * h), h;
      }
      function g(e, t, r) {
        const i =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'size' === e.type)[0]
            : e;
        if (!i) return;
        if ('esri.renderers.visualVariables.SizeVariable' !== i.declaredClass)
          return void c.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.SizeVariable',
          );
        const o = (function (e, t, r, i, o) {
          switch (t.transformationType) {
            case 'additive':
              return (function (e, t, r, i) {
                return e + (b(t.minSize, r, i) || t.minDataValue);
              })(e, t, r, i);
            case 'constant':
              return (function (e, t, r) {
                const i = e.stops;
                let o = i && i.length && i[0].size;
                return null == o && (o = e.minSize), b(o, t, r);
              })(t, r, i);
            case 'clamped-linear':
              return (function (e, t, r, i) {
                const o = (e - t.minDataValue) / (t.maxDataValue - t.minDataValue),
                  n = b(t.minSize, r, i),
                  s = b(t.maxSize, r, i),
                  l = (0, a.i)(i) ? i.shape : void 0;
                if (e <= t.minDataValue) return n;
                if (e >= t.maxDataValue) return s;
                if ('area' === t.scaleBy && l) {
                  const e = 'circle' === l,
                    t = e ? d * (n / 2) ** 2 : n * n,
                    r = t + o * ((e ? d * (s / 2) ** 2 : s * s) - t);
                  return e ? 2 * Math.sqrt(r / d) : Math.sqrt(r);
                }
                return n + o * (s - n);
              })(e, t, r, i);
            case 'proportional':
              return (function (e, t, r, i) {
                const o = (0, a.i)(i) ? i.shape : void 0,
                  n = e / t.minDataValue,
                  s = b(t.minSize, r, i),
                  l = b(t.maxSize, r, i);
                let u = null;
                return (
                  (u =
                    'circle' === o
                      ? 2 * Math.sqrt(n * (s / 2) ** 2)
                      : 'square' === o || 'diamond' === o || 'image' === o
                      ? Math.sqrt(n * s ** 2)
                      : n * s),
                  v(u, s, l)
                );
              })(e, t, r, i);
            case 'stops':
              return (function (e, t, r, i, o) {
                const [n, s, a] = _(e, o);
                if (n === s) return b(t.stops[n].size, r, i);
                {
                  const e = b(t.stops[n].size, r, i);
                  return e + (b(t.stops[s].size, r, i) - e) * a;
                }
              })(e, t, r, i, o);
            case 'real-world-size':
              return (function (e, t, r, i) {
                const o = ((0, a.i)(i) && i.resolution ? i.resolution : 1) * l.m[t.valueUnit],
                  n = b(t.minSize, r, i),
                  s = b(t.maxSize, r, i),
                  { valueRepresentation: u } = t;
                let c = null;
                return (
                  (c =
                    'area' === u
                      ? (2 * Math.sqrt(e / d)) / o
                      : 'radius' === u || 'distance' === u
                      ? (2 * e) / o
                      : e / o),
                  v(c, n, s)
                );
              })(e, t, r, i);
            case 'identity':
              return e;
            case 'unknown':
              return null;
          }
        })(
          (function (e, t, r) {
            const i = 'number' == typeof t,
              o = i ? null : t,
              n = o && o.attributes;
            let s = i ? t : null;
            const { isScaleDriven: l } = e.cache;
            let p = e.cache.compiledFunc;
            if (l) {
              const t = (0, a.i)(r) ? r.scale : void 0,
                i = (0, a.i)(r) ? r.view : void 0;
              s =
                null == t || '3d' === i
                  ? (function (e) {
                      let t = null,
                        r = null;
                      const i = e.stops;
                      return (
                        i
                          ? ((t = i[0].value), (r = i[i.length - 1].value))
                          : ((t = e.minDataValue || 0), (r = e.maxDataValue || 0)),
                        (t + r) / 2
                      );
                    })(e)
                  : t;
            } else if (!i)
              switch (e.inputValueType) {
                case 'expression': {
                  if ((0, a.b)(r) || (0, a.b)(r.arcade))
                    return void c.error('Use of arcade expressions requires an arcade context');
                  const t = {
                      viewingMode: r.viewingMode,
                      scale: r.scale,
                      spatialReference: r.spatialReference,
                    },
                    i = r.arcade.arcadeUtils,
                    n = i.getViewInfo(t),
                    l = i.createExecContext(o, n);
                  if (!p) {
                    const t = i.createSyntaxTree(e.valueExpression);
                    (p = i.createFunction(t)), (e.cache.compiledFunc = p);
                  }
                  s = i.executeFunction(p, l);
                  break;
                }
                case 'field':
                  n && (s = n[e.field]);
                  break;
                case 'unknown':
                  s = null;
              }
            if (!(0, u.b)(s)) return null;
            if (i || !e.normalizationField) return s;
            const d = n ? parseFloat(n[e.normalizationField]) : null;
            return (0, u.b)(d) && 0 !== d ? s / d : null;
          })(i, t, r),
          i,
          t,
          r,
          i.cache.ipData,
        );
        return null == o || isNaN(o) ? 0 : o;
      }
      function b(e, t, r) {
        return null == e ? null : (0, u.i)(e) ? g(e, t, r) : (0, u.b)(e) ? e : null;
      }
      function v(e, t, r) {
        return (0, u.b)(r) && e > r ? r : (0, u.b)(t) && e < t ? t : e;
      }
      function w(e, t, r) {
        const { isScaleDriven: i } = e.cache;
        if (!((i && '3d' === r) || t)) return null;
        const o = { scale: t, view: r };
        let n = b(e.minSize, p, o),
          s = b(e.maxSize, p, o);
        if (null != n || null != s) {
          if (n > s) {
            const e = s;
            (s = n), (n = e);
          }
          return { minSize: n, maxSize: s };
        }
      }
      function _(e, t) {
        if (!t) return;
        let r = 0,
          i = t.length - 1;
        return (
          t.some((t, o) => (e < t ? ((i = o), !0) : ((r = o), !1))),
          [r, i, (e - t[r]) / (t[i] - t[r])]
        );
      }
      function S(e, t, r) {
        const i = ['proportional', 'proportional', 'proportional'];
        for (const o of e) {
          const e = o.useSymbolValue ? 'symbol-value' : g(o, t, r);
          switch (o.axis) {
            case 'width':
              i[0] = e;
              break;
            case 'depth':
              i[1] = e;
              break;
            case 'height':
              i[2] = e;
              break;
            case 'width-and-depth':
              (i[0] = e), (i[1] = e);
              break;
            case 'all':
            case void 0:
            case null:
              (i[0] = e), (i[1] = e), (i[2] = e);
              break;
            default:
              (0, n.n)(o.axis);
          }
        }
        return i;
      }
    },
    92847: (e, t, r) => {
      'use strict';
      r.d(t, { g: () => s, u: () => l });
      var i = r(76506),
        o = r(53785),
        n = r(60947);
      function s(e, t, r) {
        if ((0, i.b)(t) || (0, i.b)(r) || r.vcsWkid || (0, n.e)(t, r)) return null;
        const s = (0, o.d)(t) / (0, o.d)(r);
        if (1 === s) return null;
        switch (e) {
          case 'point':
          case 'esriGeometryPoint':
            return (e) => {
              return (r = s), void ((t = e) && null != t.z && (t.z *= r));
              var t, r;
            };
          case 'polyline':
          case 'esriGeometryPolyline':
            return (e) =>
              (function (e, t) {
                if (e) for (const r of e.paths) for (const e of r) e.length > 2 && (e[2] *= t);
              })(e, s);
          case 'polygon':
          case 'esriGeometryPolygon':
            return (e) =>
              (function (e, t) {
                if (e) for (const r of e.rings) for (const e of r) e.length > 2 && (e[2] *= t);
              })(e, s);
          case 'multipoint':
          case 'esriGeometryMultipoint':
            return (e) =>
              (function (e, t) {
                if (e) for (const r of e.points) r.length > 2 && (r[2] *= t);
              })(e, s);
          default:
            return null;
        }
      }
      function a(e, t, r) {
        if (null == e.hasM || e.hasZ)
          for (const e of t) for (const t of e) t.length > 2 && (t[2] *= r);
      }
      function l(e, t, r) {
        if ((!e && !t) || !r) return;
        const i = (0, o.d)(r);
        u(e, r, i), u(t, r, i);
      }
      function u(e, t, r) {
        if (e) for (const i of e) c(i.geometry, t, r);
      }
      function c(e, t, r) {
        if (!e || !e.spatialReference || (0, n.e)(e.spatialReference, t)) return;
        const i = (0, o.d)(e.spatialReference) / r;
        if (1 !== i)
          if ('x' in e) null != e.z && (e.z *= i);
          else if ('rings' in e) a(e, e.rings, i);
          else if ('paths' in e) a(e, e.paths, i);
          else if ('points' in e && (null == e.hasM || e.hasZ))
            for (const t of e.points) t.length > 2 && (t[2] *= i);
      }
    },
    82933: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => c });
      var i = r(29768),
        o = r(21972),
        n = r(15324),
        s = r(76506),
        a = r(34250),
        l = r(17533);
      r(23639),
        r(92143),
        r(31450),
        r(71552),
        r(40642),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(91306),
        r(76996);
      let u = class extends o.Z {
        constructor(e) {
          super(e), (this._groups = new Map());
        }
        destroy() {
          this.removeAll();
        }
        get size() {
          let e = 0;
          return (
            this._groups.forEach((t) => {
              e += t.length;
            }),
            e
          );
        }
        add(e, t) {
          if (!this._isHandle(e) && !Array.isArray(e) && !n.Z.isCollection(e)) return this;
          const r = this._getOrCreateGroup(t);
          return (
            Array.isArray(e) || n.Z.isCollection(e)
              ? e.forEach((e) => this._isHandle(e) && r.push(e))
              : r.push(e),
            this.notifyChange('size'),
            this
          );
        }
        forEach(e, t) {
          if ('function' == typeof e) this._groups.forEach((t) => t.forEach(e));
          else {
            const r = this._getGroup(e);
            r && t && r.forEach(t);
          }
        }
        has(e) {
          return this._groups.has(this._ensureGroupKey(e));
        }
        remove(e) {
          if (Array.isArray(e) || n.Z.isCollection(e)) return e.forEach(this.remove, this), this;
          if (!this.has(e)) return this;
          const t = this._getGroup(e);
          for (let e = 0; e < t.length; e++) t[e].remove();
          return this._deleteGroup(e), this.notifyChange('size'), this;
        }
        removeAll() {
          return (
            this._groups.forEach((e) => {
              for (let t = 0; t < e.length; t++) e[t].remove();
            }),
            this._groups.clear(),
            this.notifyChange('size'),
            this
          );
        }
        _isHandle(e) {
          return e && !!e.remove;
        }
        _getOrCreateGroup(e) {
          if (this.has(e)) return this._getGroup(e);
          const t = [];
          return this._groups.set(this._ensureGroupKey(e), t), t;
        }
        _getGroup(e) {
          return (0, s.a)(this._groups.get(this._ensureGroupKey(e)));
        }
        _deleteGroup(e) {
          return this._groups.delete(this._ensureGroupKey(e));
        }
        _ensureGroupKey(e) {
          return e || '_default_';
        }
      };
      (0, i._)([(0, a.Cb)({ readOnly: !0 })], u.prototype, 'size', null),
        (u = (0, i._)([(0, l.j)('esri.core.Handles')], u));
      const c = u;
    },
    46987: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => l });
      var i = r(22723),
        o = r(92143),
        n = r(50406),
        s = r(37453);
      r(76506), r(31450), r(71552), r(40642), r(60991), r(81172), r(88762), r(32101);
      const a = o.L.getLogger('esri.core.workers.Connection'),
        l = class {
          constructor() {
            (this._clients = new Array()),
              (this._clientPromises = new Array()),
              (this._clientIdx = 0);
          }
          destroy() {
            this.close();
          }
          get closed() {
            return !this._clients || !this._clients.length;
          }
          open(e, t) {
            return new Promise((r, i) => {
              let o = !0;
              const a = (e) => {
                (0, n.k_)(t.signal), o && ((o = !1), e());
              };
              (this._clients.length = e.length), (this._clientPromises.length = e.length);
              for (let o = 0; o < e.length; ++o) {
                const l = e[o];
                (0, n.y8)(l)
                  ? (this._clientPromises[o] = l.then(
                      (e) => ((this._clients[o] = new s.default(e, t)), a(r), this._clients[o]),
                      () => (a(i), null),
                    ))
                  : ((this._clients[o] = new s.default(l, t)),
                    (this._clientPromises[o] = Promise.resolve(this._clients[o])),
                    a(r));
              }
            });
          }
          broadcast(e, t, r) {
            const i = new Array(this._clientPromises.length);
            for (let o = 0; o < this._clientPromises.length; ++o) {
              const n = this._clientPromises[o];
              i[o] = n.then((i) => i.invoke(e, t, r));
            }
            return i;
          }
          close() {
            for (const e of this._clientPromises) e.then((e) => e.close());
            (this._clients.length = 0), (this._clientPromises.length = 0);
          }
          getAvailableClient() {
            let e;
            for (let t = 0; t < this._clients.length; ++t) {
              const r = this._clients[t];
              if (r) {
                if (!r.isBusy()) return Promise.resolve(r);
              } else (e = e || []), e.push(this._clientPromises[t]);
            }
            return e
              ? Promise.race(e)
              : ((this._clientIdx = (this._clientIdx + 1) % this._clients.length),
                Promise.resolve(this._clients[this._clientIdx]));
          }
          invoke(e, t, r) {
            let i = null;
            return (
              Array.isArray(r)
                ? (a.warn(
                    'invoke()',
                    'The transferList parameter is deprecated, use the options object instead',
                  ),
                  (i = { transferList: r }))
                : (i = r),
              this.closed
                ? Promise.reject(new Error('Connection closed'))
                : this.getAvailableClient().then((r) => r.invoke(e, t, i))
            );
          }
          on(e, t) {
            return Promise.all(this._clientPromises).then(() =>
              (0, i.h)(this._clients.map((r) => r.on(e, t))),
            );
          }
          openPorts() {
            return new Promise((e) => {
              const t = new Array(this._clientPromises.length);
              let r = t.length;
              for (let i = 0; i < this._clientPromises.length; ++i)
                this._clientPromises[i].then((o) => {
                  (t[i] = o.openPort()), 0 == --r && e(t);
                });
            });
          }
          get test() {
            return { numClients: this._clients.length };
          }
        };
    },
    65514: (e, t, r) => {
      'use strict';
      r.d(t, { bA: () => D, Mz: () => A });
      var i = r(60991),
        o = r(76506),
        n = r(50406),
        s = r(46987),
        a = r(37453),
        l = r(88762),
        u = r(92143),
        c = r(73173),
        p = r(31450),
        d = (r(66284), r(32101)),
        y = r(3482);
      r(81172), r(71552), r(40642), r(22723), r(82058), r(33921), r(57251);
      let h = null;
      h = (0, d.hF)((0, c.g)('esri/core/workers/init.js'));
      const f = {};
      (f.baseUrl = (0, d.hF)((0, c.g)('dojo/'))),
        (f.packages = [{ name: 'esri', location: '../esri' }]);
      class m {
        constructor() {
          const e = document.createDocumentFragment();
          ['addEventListener', 'dispatchEvent', 'removeEventListener'].forEach((t) => {
            this[t] = (...r) => e[t](...r);
          });
        }
      }
      const g = o.g.MutationObserver || o.g.WebKitMutationObserver,
        b = (function () {
          let e;
          if (o.g.process && o.g.process.nextTick)
            e = (e) => {
              o.g.process.nextTick(e);
            };
          else if (o.g.Promise)
            e = (e) => {
              o.g.Promise.resolve().then(e);
            };
          else if (g) {
            const t = [],
              r = document.createElement('div');
            new g(() => {
              for (; t.length > 0; ) t.shift()();
            }).observe(r, { attributes: !0 }),
              (e = (e) => {
                t.push(e), r.setAttribute('queueStatus', '1');
              });
          }
          return e;
        })(),
        v = (() => {
          const e = o.g.MessageEvent;
          try {
            new e('message', { data: null });
          } catch {
            return (e, t = {}) => {
              const { data: r, bubbles: i = !1, cancelable: o = !1 } = t,
                n = document.createEvent('Event');
              return n.initEvent(e, i, o), (n.data = r), n;
            };
          }
          return (t, r) => new e(t, r);
        })();
      class w {
        constructor() {
          (this._dispatcher = new m()), this._workerPostMessage({ type: a.M.HANDSHAKE });
        }
        terminate() {}
        get onmessage() {
          return this._onmessageHandler;
        }
        set onmessage(e) {
          this._onmessageHandler && this.removeEventListener('message', this._onmessageHandler),
            (this._onmessageHandler = e),
            e && this.addEventListener('message', e);
        }
        get onmessageerror() {
          return this._onmessageerrorHandler;
        }
        set onmessageerror(e) {
          this._onmessageerrorHandler &&
            this.removeEventListener('messageerror', this._onmessageerrorHandler),
            (this._onmessageerrorHandler = e),
            e && this.addEventListener('messageerror', e);
        }
        get onerror() {
          return this._onerrorHandler;
        }
        set onerror(e) {
          this._onerrorHandler && this.removeEventListener('error', this._onerrorHandler),
            (this._onerrorHandler = e),
            e && this.addEventListener('error', e);
        }
        postMessage(e) {
          b(() => {
            this._workerMessageHandler(v('message', { data: e }));
          });
        }
        dispatchEvent(e) {
          return this._dispatcher.dispatchEvent(e);
        }
        addEventListener(e, t, r) {
          this._dispatcher.addEventListener(e, t, r);
        }
        removeEventListener(e, t, r) {
          this._dispatcher.removeEventListener(e, t, r);
        }
        _workerPostMessage(e) {
          b(() => {
            this.dispatchEvent(v('message', { data: e }));
          });
        }
        async _workerMessageHandler(e) {
          const t = (0, a.r)(e);
          if (t && t.type === a.M.OPEN) {
            const { modulePath: e, jobId: r } = t;
            let i = await a.default.loadWorker(e);
            i || (i = await import(e));
            const o = a.default.connect(i);
            this._workerPostMessage({ type: a.M.OPENED, jobId: r, data: o });
          }
        }
      }
      const _ = u.L.getLogger('esri.core.workers'),
        { HANDSHAKE: S } = a.M;
      let C, x;
      const O = 'Failed to create Worker. Fallback to execute module in main thread';
      async function T(e) {
        return new Promise((t) => {
          function r(o) {
            const n = (0, a.r)(o);
            n &&
              n.type === S &&
              (e.removeEventListener('message', r), e.removeEventListener('error', i), t(e));
          }
          function i(t) {
            t.preventDefault(),
              e.removeEventListener('message', r),
              e.removeEventListener('error', i),
              _.warn('Failed to create Worker. Fallback to execute module in main thread', t),
              (e = new w()).addEventListener('message', r),
              e.addEventListener('error', i);
          }
          e.addEventListener('message', r), e.addEventListener('error', i);
        });
      }
      let k = 0;
      const N = u.L.getLogger('esri.core.workers'),
        { ABORT: E, INVOKE: P, OPEN: L, OPENED: M, RESPONSE: j } = a.M;
      class F {
        constructor(e, t) {
          (this._outJobs = new Map()),
            (this._inJobs = new Map()),
            (this.worker = e),
            (this.id = t),
            e.addEventListener('message', this._onMessage.bind(this)),
            e.addEventListener('error', (e) => {
              e.preventDefault(), N.error(e);
            });
        }
        static async create(e) {
          const t = await (async function () {
            if (!(0, o.h)('esri-workers')) return T(new w());
            if (!C && !x)
              try {
                const e = 'let globalId=0;const outgoing=new Map,configuration=JSON.parse("{CONFIGURATION}");self.esriConfig=configuration.esriConfig;const workerPath=self.esriConfig.workers.workerPath,HANDSHAKE=0,OPEN=1,OPENED=2,RESPONSE=3,INVOKE=4,ABORT=5;function createAbortError(){const e=new Error("Aborted");return e.name="AbortError",e}function receiveMessage(e){return e&&e.data?"string"==typeof e.data?JSON.parse(e.data):e.data:null}function invokeStaticMessage(e,o,r){const t=r&&r.signal,n=globalId++;return new Promise(((r,i)=>{if(t){if(t.aborted)return i(createAbortError());t.addEventListener("abort",(()=>{outgoing.get(n)&&(outgoing.delete(n),self.postMessage({type:5,jobId:n}),i(createAbortError()))}))}outgoing.set(n,{resolve:r,reject:i}),self.postMessage({type:4,jobId:n,methodName:e,abortable:null!=t,data:o})}))}let workerRevisionChecked=!1;function checkWorkerRevision(e){if(!workerRevisionChecked&&e.kernelInfo){workerRevisionChecked=!0;const{revision:o,buildDate:r,version:t}=configuration.kernelInfo,{revision:n,buildDate:i,version:s}=e.kernelInfo;o!==n&&console.warn(`[esri.core.workers] Version mismatch detected between ArcGIS API for JavaScript and assets:\nAPI version: ${t} [Date: ${r}, Revision: ${o.slice(0,8)}]\nAssets version: ${s} [Date: ${i}, Revision: ${n.slice(0,8)}]`)}}function messageHandler(e){const o=receiveMessage(e);if(!o)return;const r=o.jobId;switch(o.type){case 1:let e;function t(o){const t=e.connect(o);self.postMessage({type:2,jobId:r,data:t},[t])}"function"==typeof define&&define.amd?require([workerPath],(r=>{e=r.default||r,checkWorkerRevision(e),e.loadWorker(o.modulePath).then((e=>e||new Promise((e=>{require([o.modulePath],e)})))).then(t)})):"System"in self&&"function"==typeof System.import?System.import(workerPath).then((r=>(e=r.default,checkWorkerRevision(e),e.loadWorker(o.modulePath)))).then((e=>e||System.import(o.modulePath))).then(t):(self.RemoteClient||importScripts(workerPath),e=self.RemoteClient.default||self.RemoteClient,checkWorkerRevision(e),e.loadWorker(o.modulePath).then(t));break;case 3:if(outgoing.has(r)){const e=outgoing.get(r);outgoing.delete(r),o.error?e.reject(JSON.parse(o.error)):e.resolve(o.data)}}}self.dojoConfig=configuration.loaderConfig,esriConfig.workers.loaderUrl&&(self.importScripts(esriConfig.workers.loaderUrl),"function"==typeof require&&"function"==typeof require.config&&require.config(configuration.loaderConfig)),self.addEventListener("message",messageHandler),self.postMessage({type:0});'.replace(
                  '"{CONFIGURATION}"',
                  `'${(function () {
                    let e;
                    if (null != p.Z.default) {
                      const t = { ...p.Z };
                      delete t.default, (e = JSON.parse(JSON.stringify(t)));
                    } else e = JSON.parse(JSON.stringify(p.Z));
                    (e.assetsPath = (0, d.hF)(e.assetsPath)),
                      (e.request.interceptors = []),
                      (e.log.interceptors = []),
                      (e.locale = (0, y.g)()),
                      (e.has = {
                        'csp-restrictions': (0, o.h)('csp-restrictions'),
                        'esri-2d-debug': !1,
                        'esri-2d-update-debug': (0, o.h)('esri-2d-update-debug'),
                        'esri-2d-query-centroid-enabled': (0, o.h)(
                          'esri-2d-query-centroid-enabled',
                        ),
                        'featurelayer-pbf': (0, o.h)('featurelayer-pbf'),
                        'esri-atomics': (0, o.h)('esri-atomics'),
                        'esri-shared-array-buffer': (0, o.h)('esri-shared-array-buffer'),
                        'esri-tiles-debug': (0, o.h)('esri-tiles-debug'),
                        'esri-workers-arraybuffer-transfer': (0, o.h)(
                          'esri-workers-arraybuffer-transfer',
                        ),
                        'host-webworker': 1,
                      }),
                      e.workers.loaderUrl
                        ? (e.workers.loaderUrl = (0, d.hF)(e.workers.loaderUrl))
                        : h && (e.workers.loaderUrl = h),
                      e.workers.workerPath
                        ? (e.workers.workerPath = (0, d.hF)(e.workers.workerPath))
                        : (e.workers.workerPath = 'esri/core/workers/RemoteClient');
                    const t = p.Z.workers.loaderConfig,
                      r = (function (e) {
                        var t;
                        const r = {
                          async: e.async,
                          isDebug: e.isDebug,
                          locale: e.locale,
                          baseUrl: e.baseUrl,
                          has: { ...e.has },
                          map: { ...e.map },
                          packages: (e.packages && e.packages.concat()) || [],
                          paths: { ...e.paths },
                        };
                        return (
                          e.hasOwnProperty('async') || (r.async = !0),
                          e.hasOwnProperty('isDebug') || (r.isDebug = !1),
                          e.baseUrl || (r.baseUrl = f.baseUrl),
                          null == (t = f.packages) ||
                            t.forEach((e) => {
                              !(function (e, t) {
                                for (const r of e) if (r.name === t.name) return;
                                e.push(t);
                              })(r.packages, e);
                            }),
                          r
                        );
                      })({
                        baseUrl: null == t ? void 0 : t.baseUrl,
                        locale: (0, y.g)(),
                        has: {
                          'csp-restrictions': (0, o.h)('csp-restrictions'),
                          'dojo-test-sniff': 0,
                          'host-webworker': 1,
                          ...(null == t ? void 0 : t.has),
                        },
                        map: { ...(null == t ? void 0 : t.map) },
                        paths: { ...(null == t ? void 0 : t.paths) },
                        packages: (null == t ? void 0 : t.packages) || [],
                      }),
                      i = { version: l.i8, buildDate: l.rh, revision: l.LB };
                    return JSON.stringify({ esriConfig: e, loaderConfig: r, kernelInfo: i });
                  })()}'`,
                );
                C = URL.createObjectURL(new Blob([e], { type: 'text/javascript' }));
              } catch (e) {
                x = e || {};
              }
            let e;
            if (C)
              try {
                e = new Worker(C, { name: 'esri-worker-' + k++ });
              } catch (t) {
                _.warn(O, x), (e = new w());
              }
            else _.warn(O, x), (e = new w());
            return T(e);
          })();
          return new F(t, e);
        }
        terminate() {
          this.worker.terminate();
        }
        async open(e, t = {}) {
          const { signal: r } = t,
            i = (0, a.n)();
          return new Promise((t, o) => {
            const s = {
              resolve: t,
              reject: o,
              abortHandle: (0, n.$F)(r, () => {
                this._outJobs.delete(i), this._post({ type: E, jobId: i });
              }),
            };
            this._outJobs.set(i, s), this._post({ type: L, jobId: i, modulePath: e });
          });
        }
        _onMessage(e) {
          const t = (0, a.r)(e);
          if (t)
            switch (t.type) {
              case M:
                this._onOpenedMessage(t);
                break;
              case j:
                this._onResponseMessage(t);
                break;
              case E:
                this._onAbortMessage(t);
                break;
              case P:
                this._onInvokeMessage(t);
            }
        }
        _onAbortMessage(e) {
          const t = this._inJobs,
            r = e.jobId,
            i = t.get(r);
          i && (i.controller && i.controller.abort(), t.delete(r));
        }
        _onInvokeMessage(e) {
          const { methodName: t, jobId: r, data: i, abortable: o } = e,
            s = o ? (0, n.yi)() : null,
            u = this._inJobs,
            c = l.Nv[t];
          let p;
          try {
            if ('function' != typeof c) throw new TypeError(`${t} is not a function`);
            p = c.call(null, i, { signal: s ? s.signal : null });
          } catch (e) {
            return void this._post({ type: j, jobId: r, error: (0, a.t)(e) });
          }
          (0, n.y8)(p)
            ? (u.set(r, { controller: s, promise: p }),
              p.then(
                (e) => {
                  u.has(r) && (u.delete(r), this._post({ type: j, jobId: r }, e));
                },
                (e) => {
                  u.has(r) &&
                    (u.delete(r),
                    e || (e = { message: 'Error encountered at method' + t }),
                    (0, n.D_)(e) ||
                      this._post({
                        type: j,
                        jobId: r,
                        error: (0, a.t)(e || { message: `Error encountered at method ${t}` }),
                      }));
                },
              ))
            : this._post({ type: j, jobId: r }, p);
        }
        _onOpenedMessage(e) {
          var t;
          const { jobId: r, data: i } = e,
            o = this._outJobs.get(r);
          o && (this._outJobs.delete(r), null == (t = o.abortHandle) || t.remove(), o.resolve(i));
        }
        _onResponseMessage(e) {
          var t;
          const { jobId: r, error: o, data: n } = e,
            s = this._outJobs.get(r);
          s &&
            (this._outJobs.delete(r),
            null == (t = s.abortHandle) || t.remove(),
            o ? s.reject(i.Z.fromJSON(JSON.parse(o))) : s.resolve(n));
        }
        _post(e, t, r) {
          return (0, a.p)(this.worker, e, t, r);
        }
      }
      let I = (0, o.h)('esri-workers-debug')
        ? 1
        : (0, o.h)('host-browser')
        ? navigator.hardwareConcurrency - 1
        : 0;
      I || (I = ((0, o.h)('safari') && (0, o.h)('mac')) || (0, o.h)('trident') ? 7 : 2);
      let R = 0;
      const J = [];
      function A(e, t) {
        return V(e, { client: t });
      }
      async function V(e, t) {
        const r = new s.Z();
        return await r.open(e, t), r;
      }
      async function D(e, t = {}) {
        if ('string' != typeof e)
          throw new i.Z('workers:undefined-module', 'modulePath is missing');
        let r = t.strategy || 'distributed';
        if (
          ((0, o.h)('host-webworker') && !(0, o.h)('esri-workers') && (r = 'local'), 'local' === r)
        ) {
          let r = await a.default.loadWorker(e);
          r || (r = await import(e)), (0, n.k_)(t.signal);
          const i = t.client || r;
          return V([a.default.connect(r)], { ...t, client: i });
        }
        if (
          (await (async function () {
            if (z) return z;
            Z = (0, n.yi)();
            const e = [];
            for (let t = 0; t < I; t++) {
              const r = F.create(t).then((e) => ((J[t] = e), e));
              e.push(r);
            }
            return (z = Promise.all(e)), z;
          })(),
          (0, n.k_)(t.signal),
          'dedicated' === r)
        ) {
          const r = R++ % I;
          return V([await J[r].open(e, t)], t);
        }
        if (t.maxNumWorkers && t.maxNumWorkers > 0) {
          const r = Math.min(t.maxNumWorkers, I);
          if (r < I) {
            const i = new Array(r);
            for (let o = 0; o < r; ++o) {
              const r = R++ % I;
              i[o] = J[r].open(e, t);
            }
            return V(i, t);
          }
        }
        return V(
          J.map((r) => r.open(e, t)),
          t,
        );
      }
      let Z,
        z = null;
    },
    41135: (e, t, r) => {
      'use strict';
      r.r(t), r.d(t, { default: () => U });
      var i = r(29768),
        o = (r(74569), r(23761)),
        n = (r(96467), r(15324)),
        s = r(60991),
        a = r(76506),
        l = r(54179),
        u = r(71552),
        c = r(17533),
        p = r(34250),
        d = (r(91306), r(92143)),
        y = r(97714),
        h = r(2906),
        f = r(72334),
        m = r(95533),
        g = r(60947),
        b = r(9506),
        v = r(41617),
        w = r(11118),
        _ = r(58912),
        S = r(10401);
      const C = n.Z.ofType(o.Z);
      d.L.getLogger('esri.support.GraphicsCollection');
      let x = class extends C {
        constructor(e) {
          super(e),
            this.on('before-add', (e) => {
              e.item || e.preventDefault();
            }),
            this.on('after-add', (e) => this._own(e.item)),
            this.on('after-remove', ({ item: e }) => {
              e.layer = null;
            });
        }
        destroy() {
          this._unownAll();
        }
        get owner() {
          return this._get('owner');
        }
        set owner(e) {
          e !== this._get('owner') && (this._unownAll(), this._set('owner', e), this._ownAll());
        }
        _createNewInstance(e) {
          return new C(e);
        }
        _ownAll() {
          this.items.forEach((e) => this._own(e));
        }
        _own(e) {
          e.layer && 'remove' in e.layer && e.layer !== this.owner && e.layer.remove(e),
            (e.layer = this.owner);
        }
        _unownAll() {
          this.items.forEach((e) => this._unown(e));
        }
        _unown(e) {
          e.layer === this.owner && (e.layer = null);
        }
      };
      (0, i._)([(0, p.Cb)()], x.prototype, 'owner', null),
        (x = (0, i._)([(0, c.j)('esri.support.GraphicsCollection')], x));
      var O = x,
        T = r(47842),
        k = (r(86656), r(22723), r(31450), r(40642), r(81172), r(21801)),
        N =
          (r(73796),
          r(74673),
          r(21972),
          r(23639),
          r(91055),
          r(27794),
          r(6906),
          r(50406),
          r(26341),
          r(91597),
          r(86787),
          r(35132),
          r(89623),
          r(84069),
          r(44567),
          r(98380),
          r(92896),
          r(22781),
          r(57251),
          r(32422),
          r(82058),
          r(88762),
          r(32101),
          r(76996),
          r(82673),
          r(22739),
          r(20543),
          r(86748),
          r(14249),
          r(9801),
          r(53523),
          r(59465),
          r(42911),
          r(46826),
          r(45433),
          r(60217),
          r(29107),
          r(30574),
          r(2157),
          r(25977),
          r(7471),
          r(54414),
          r(1648),
          r(8925),
          r(33921),
          r(3482),
          r(45154),
          r(16769),
          r(55531),
          r(30582),
          r(593),
          r(85699),
          r(63136),
          r(96055),
          r(47776),
          r(18033),
          r(6331),
          r(62048),
          r(4292),
          r(75626),
          r(72652),
          r(29641),
          r(30493),
          r(70821),
          r(34229),
          r(37029),
          r(63571),
          r(30776),
          r(48027),
          r(54174),
          r(82426),
          r(63130),
          r(25696),
          r(66396),
          r(42775),
          r(95834),
          r(34394),
          r(57150),
          r(76726),
          r(20444),
          r(76393),
          r(78548)),
        E =
          (r(2497),
          r(49906),
          r(46527),
          r(48649),
          r(9960),
          r(3101),
          r(5853),
          r(39141),
          r(38742),
          r(48243),
          r(34635),
          r(49900),
          r(66284),
          r(73173),
          r(67477),
          r(78533),
          r(74653),
          r(91091),
          r(58943),
          r(70737),
          r(8487),
          r(17817),
          r(90814),
          r(15459),
          r(61847),
          r(16796),
          r(16955),
          r(22401),
          r(77894),
          r(55187),
          r(8586),
          r(44509),
          r(69814),
          r(11305),
          r(62259),
          r(44790),
          r(5909)),
        P = r(60669),
        L = r(48208);
      r(51589), r(17298), r(85557), r(53785), r(95587);
      let M = class extends (0, w.B)((0, _.S)(v.Z)) {
        constructor(e) {
          super(e),
            (this.elevationInfo = null),
            (this.graphics = new O()),
            (this.screenSizePerspectiveEnabled = !0),
            (this.type = 'graphics'),
            (this.internal = !1);
        }
        destroy() {
          this.removeAll(), this.graphics.destroy();
        }
        add(e) {
          return this.graphics.add(e), this;
        }
        addMany(e) {
          return this.graphics.addMany(e), this;
        }
        removeAll() {
          return this.graphics.removeAll(), this;
        }
        remove(e) {
          this.graphics.remove(e);
        }
        removeMany(e) {
          this.graphics.removeMany(e);
        }
        on(e, t) {
          return super.on(e, t);
        }
        graphicChanged(e) {
          this.emit('graphic-update', e);
        }
      };
      (0, i._)([(0, p.Cb)({ type: T.E })], M.prototype, 'elevationInfo', void 0),
        (0, i._)(
          [
            (0, p.Cb)(
              ((e = 'graphics') => ({
                type: x,
                cast: S.c,
                set(t) {
                  const r = (0, S.r)(t, this._get(e), x);
                  (r.owner = this), this._set(e, r);
                },
              }))(),
            ),
          ],
          M.prototype,
          'graphics',
          void 0,
        ),
        (0, i._)([(0, p.Cb)({ type: ['show', 'hide'] })], M.prototype, 'listMode', void 0),
        (0, i._)([(0, p.Cb)()], M.prototype, 'screenSizePerspectiveEnabled', void 0),
        (0, i._)([(0, p.Cb)({ readOnly: !0 })], M.prototype, 'type', void 0),
        (0, i._)([(0, p.Cb)({ constructOnly: !0 })], M.prototype, 'internal', void 0),
        (M = (0, i._)([(0, c.j)('esri.layers.GraphicsLayer')], M));
      const j = M;
      var F = r(19957),
        I = r(89440),
        R = r(62162),
        J = r(97546);
      function A(e) {
        return e.layers.some((e) => null != e.layerDefinition.visibilityField);
      }
      r(50161),
        r(65775),
        r(12381),
        r(92482),
        r(92624),
        r(94751),
        r(55306),
        r(65684),
        r(12158),
        r(74864),
        r(63683),
        r(94479),
        r(45702),
        r(51127),
        r(74071),
        r(51723),
        r(23243),
        r(51669),
        r(6090),
        r(3977),
        r(36741),
        r(11253),
        r(90319),
        r(38822),
        r(74057),
        r(48190),
        r(94070),
        r(16218),
        r(9075),
        r(67541),
        r(71206),
        r(89241),
        r(91700),
        r(51979),
        r(32037),
        r(60698),
        r(90811),
        r(86758),
        r(95310),
        r(93939),
        r(238),
        r(71831),
        r(49500),
        r(20208),
        r(82933),
        r(10691),
        r(38949),
        r(71777),
        r(27371),
        r(78648),
        r(87558),
        r(13063),
        r(17153),
        r(35962),
        r(9252),
        r(67350),
        r(11471),
        r(83748),
        r(28376),
        r(62554),
        r(29027),
        r(48687),
        r(65514),
        r(46987),
        r(37453),
        r(55823),
        r(92847),
        r(87258),
        r(54732),
        r(21781),
        r(75025),
        r(21132),
        r(8547),
        r(16647),
        r(19902),
        r(93314),
        r(35197),
        r(59765),
        r(77361),
        r(43022),
        r(13322),
        r(14460),
        r(77807),
        r(50203),
        r(30439),
        r(6941),
        r(83290),
        r(46495),
        r(78303),
        r(47346),
        r(17055),
        r(68653),
        r(2180),
        r(14327),
        r(69218),
        r(68714),
        r(41864),
        r(34446),
        r(31292),
        r(27207),
        r(46646),
        r(39210),
        r(90549),
        r(78893),
        r(56420),
        r(74742),
        r(28239);
      const V = new J.Z({
          name: 'OBJECTID',
          alias: 'OBJECTID',
          type: 'oid',
          nullable: !1,
          editable: !1,
        }),
        D = new J.Z({ name: 'title', alias: 'Title', type: 'string', nullable: !0, editable: !0 });
      let Z = class extends j {
        constructor() {
          super(...arguments), (this.visibilityMode = 'inherited');
        }
        initialize() {
          for (const e of this.graphics) e.sourceLayer = this.layer;
          this.graphics.on('after-add', (e) => {
            e.item.sourceLayer = this.layer;
          }),
            this.graphics.on('after-remove', (e) => {
              e.item.sourceLayer = null;
            });
        }
        get sublayers() {
          return this.graphics;
        }
      };
      (0, i._)([(0, p.Cb)({ readOnly: !0 })], Z.prototype, 'sublayers', null),
        (0, i._)([(0, p.Cb)()], Z.prototype, 'layer', void 0),
        (0, i._)([(0, p.Cb)({ readOnly: !0 })], Z.prototype, 'visibilityMode', void 0),
        (Z = (0, i._)([(0, c.j)('esri.layers.MapNotesLayer.MapNotesSublayer')], Z));
      const z = [
        {
          geometryType: 'polygon',
          geometryTypeJSON: 'esriGeometryPolygon',
          layerId: 'polygonLayer',
          title: 'Polygons',
          identifyingSymbol: new E.Z().toJSON(),
        },
        {
          geometryType: 'polyline',
          geometryTypeJSON: 'esriGeometryPolyline',
          layerId: 'polylineLayer',
          title: 'Polylines',
          identifyingSymbol: new N.Z().toJSON(),
        },
        {
          geometryType: 'multipoint',
          geometryTypeJSON: 'esriGeometryMultipoint',
          layerId: 'multipointLayer',
          title: 'Multipoints',
          identifyingSymbol: new P.Z().toJSON(),
        },
        {
          geometryType: 'point',
          geometryTypeJSON: 'esriGeometryPoint',
          layerId: 'pointLayer',
          title: 'Points',
          identifyingSymbol: new P.Z().toJSON(),
        },
        {
          geometryType: 'point',
          geometryTypeJSON: 'esriGeometryPoint',
          layerId: 'textLayer',
          title: 'Text',
          identifyingSymbol: new L.Z().toJSON(),
        },
      ];
      let G = class extends (0, w.B)((0, _.S)((0, I.O)((0, R.P)((0, l.M)(v.Z))))) {
        constructor(e) {
          super(e),
            (this.capabilities = { operations: { supportsMapNotesEditing: !0 } }),
            (this.featureCollections = null),
            (this.featureCollectionJSON = null),
            (this.featureCollectionType = 'notes'),
            (this.legendEnabled = !1),
            (this.minScale = 0),
            (this.maxScale = 0),
            (this.spatialReference = g.Z.WGS84),
            (this.sublayers = new n.Z(
              z.map((e) => new Z({ id: e.layerId, title: e.title, layer: this })),
            )),
            (this.title = 'Map Notes'),
            (this.type = 'map-notes'),
            (this.visibilityMode = 'inherited');
        }
        readCapabilities(e, t, r) {
          return {
            operations: {
              supportsMapNotesEditing: !A(t) && 'portal-item' !== (null == r ? void 0 : r.origin),
            },
          };
        }
        readFeatureCollections(e, t, r) {
          if (!A(t)) return null;
          const i = t.layers.map((e) => {
            const t = new b.default();
            return t.read(e, r), t;
          });
          return new n.Z({ items: i });
        }
        readLegacyfeatureCollectionJSON(e, t) {
          return A(t) ? (0, a.d9)(t.featureCollection) : null;
        }
        readFullExtent(e, t) {
          if (!t.layers.length)
            return new k.Z({
              xmin: -180,
              ymin: -90,
              xmax: 180,
              ymax: 90,
              spatialReference: g.Z.WGS84,
            });
          const r = g.Z.fromJSON(t.layers[0].layerDefinition.spatialReference);
          return t.layers.reduce((e, t) => {
            const r = t.layerDefinition.extent;
            return r ? k.Z.fromJSON(r).union(e) : e;
          }, new k.Z({ spatialReference: r }));
        }
        readMinScale(e, t) {
          for (const e of t.layers)
            if (null != e.layerDefinition.minScale) return e.layerDefinition.minScale;
          return 0;
        }
        readMaxScale(e, t) {
          for (const e of t.layers)
            if (null != e.layerDefinition.maxScale) return e.layerDefinition.maxScale;
          return 0;
        }
        get multipointLayer() {
          return this._findSublayer('multipointLayer');
        }
        get pointLayer() {
          return this._findSublayer('pointLayer');
        }
        get polygonLayer() {
          return this._findSublayer('polygonLayer');
        }
        get polylineLayer() {
          return this._findSublayer('polylineLayer');
        }
        readSpatialReference(e, t) {
          return t.layers.length
            ? g.Z.fromJSON(t.layers[0].layerDefinition.spatialReference)
            : g.Z.WGS84;
        }
        readSublayers(e, t, r) {
          if (A(t)) return null;
          const i = [];
          for (let e = 0; e < t.layers.length; e++) {
            var s;
            const { layerDefinition: r, featureSet: n } = t.layers[e],
              a = null != (s = r.geometryType) ? s : n.geometryType,
              l = z.find((e) => {
                var t, i, o;
                return (
                  a === e.geometryTypeJSON &&
                  (null == (t = r.drawingInfo) || null == (i = t.renderer) || null == (o = i.symbol)
                    ? void 0
                    : o.type) === e.identifyingSymbol.type
                );
              });
            if (l) {
              const e = new Z({
                id: l.layerId,
                title: r.name,
                layer: this,
                graphics: n.features.map(
                  ({ geometry: e, symbol: t, attributes: r, popupInfo: i }) =>
                    o.Z.fromJSON({ attributes: r, geometry: e, symbol: t, popupTemplate: i }),
                ),
              });
              i.push(e);
            }
          }
          return new n.Z(i);
        }
        writeSublayers(e, t, r, i) {
          const { minScale: o, maxScale: n } = this;
          if ((0, a.b)(e)) return;
          const l = e.some((e) => e.graphics.length > 0);
          var c;
          if (!this.capabilities.operations.supportsMapNotesEditing)
            return void (
              l &&
              (null == i ||
                null == (c = i.messages) ||
                c.push(
                  new s.Z(
                    'map-notes-layer:editing-not-supported',
                    'New map notes cannot be added to this layer',
                  ),
                ))
            );
          const p = [];
          let d = this.spatialReference.toJSON();
          e: for (const t of e)
            for (const e of t.graphics)
              if ((0, a.i)(e.geometry)) {
                d = e.geometry.spatialReference.toJSON();
                break e;
              }
          for (const t of z) {
            const r = e.find((e) => t.layerId === e.id);
            this._writeMapNoteSublayer(p, r, t, o, n, d, i);
          }
          (0, u.s)('featureCollection.layers', p, t);
        }
        get textLayer() {
          return this._findSublayer('textLayer');
        }
        load(e) {
          return (
            this.addResolvingPromise(
              this.loadFromPortal({ supportedTypes: ['Feature Collection'] }, e),
            ),
            Promise.resolve(this)
          );
        }
        read(e, t) {
          'featureCollection' in e && ((e = (0, a.d9)(e)), Object.assign(e, e.featureCollection)),
            super.read(e, t);
        }
        async beforeSave() {
          if ((0, a.b)(this.sublayers)) return;
          let e = null;
          const t = [];
          for (const r of this.sublayers)
            for (const i of r.graphics)
              if ((0, a.i)(i.geometry)) {
                const r = i.geometry;
                e
                  ? (0, g.e)(r.spatialReference, e) ||
                    ((0, f.Up)(r.spatialReference, e) || (0, f.kR)() || (await (0, f.zD)()),
                    (i.geometry = (0, f.iV)(r, e)))
                  : (e = r.spatialReference),
                  t.push(i);
              }
          const r = await (0, m.aX)(t.map((e) => e.geometry));
          t.forEach((e, t) => (e.geometry = r[t]));
        }
        _findSublayer(e) {
          var t, r;
          return (0, a.b)(this.sublayers)
            ? null
            : null != (t = null == (r = this.sublayers) ? void 0 : r.find((t) => t.id === e))
            ? t
            : null;
        }
        _writeMapNoteSublayer(e, t, r, i, o, n, s) {
          const l = [];
          if (!(0, a.b)(t)) {
            for (const e of t.graphics) this._writeMapNote(l, e, r.geometryType, s);
            this._normalizeObjectIds(l, V),
              e.push({
                layerDefinition: {
                  name: t.title,
                  drawingInfo: {
                    renderer: { type: 'simple', symbol: (0, a.d9)(r.identifyingSymbol) },
                  },
                  geometryType: r.geometryTypeJSON,
                  minScale: i,
                  maxScale: o,
                  objectIdField: 'OBJECTID',
                  fields: [V.toJSON(), D.toJSON()],
                  spatialReference: n,
                },
                featureSet: { features: l, geometryType: r.geometryTypeJSON },
              });
          }
        }
        _writeMapNote(e, t, r, i) {
          if ((0, a.b)(t)) return;
          const { geometry: o, symbol: n, popupTemplate: s } = t;
          if ((0, a.b)(o)) return;
          var l, u;
          if (o.type !== r)
            return void (
              null == i ||
              null == (l = i.messages) ||
              l.push(
                new c.W(
                  'map-notes-layer:invalid-geometry-type',
                  `Geometry "${o.type}" cannot be saved in "${r}" layer`,
                  { graphic: t },
                ),
              )
            );
          if ((0, a.b)(n))
            return void (
              null == i ||
              null == (u = i.messages) ||
              u.push(
                new c.W('map-notes-layer:no-symbol', 'Skipping map notes with no symbol', {
                  graphic: t,
                }),
              )
            );
          const p = { attributes: { ...t.attributes }, geometry: o.toJSON(), symbol: n.toJSON() };
          (0, a.i)(s) && (p.popupInfo = s.toJSON()), e.push(p);
        }
        _normalizeObjectIds(e, t) {
          const r = t.name;
          let i = (0, F.f)(r, e) + 1;
          const o = new Set();
          for (const t of e) {
            t.attributes || (t.attributes = {});
            const { attributes: e } = t;
            (null == e[r] || o.has(e[r])) && (e[r] = i++), o.add(e[r]);
          }
        }
      };
      (0, i._)([(0, p.Cb)({ readOnly: !0 })], G.prototype, 'capabilities', void 0),
        (0, i._)(
          [(0, y.r)(['portal-item', 'web-map'], 'capabilities', ['layers'])],
          G.prototype,
          'readCapabilities',
          null,
        ),
        (0, i._)([(0, p.Cb)({ readOnly: !0 })], G.prototype, 'featureCollections', void 0),
        (0, i._)(
          [(0, y.r)(['web-map', 'portal-item'], 'featureCollections', ['layers'])],
          G.prototype,
          'readFeatureCollections',
          null,
        ),
        (0, i._)(
          [
            (0, p.Cb)({
              readOnly: !0,
              json: {
                origins: { 'web-map': { write: { enabled: !0, target: 'featureCollection' } } },
              },
            }),
          ],
          G.prototype,
          'featureCollectionJSON',
          void 0,
        ),
        (0, i._)(
          [(0, y.r)(['web-map', 'portal-item'], 'featureCollectionJSON', ['featureCollection'])],
          G.prototype,
          'readLegacyfeatureCollectionJSON',
          null,
        ),
        (0, i._)(
          [
            (0, p.Cb)({
              readOnly: !0,
              json: { read: !1, write: { enabled: !0, ignoreOrigin: !0 } },
            }),
          ],
          G.prototype,
          'featureCollectionType',
          void 0,
        ),
        (0, i._)([(0, p.Cb)({ json: { write: !1 } })], G.prototype, 'fullExtent', void 0),
        (0, i._)(
          [(0, y.r)(['web-map', 'portal-item'], 'fullExtent', ['layers'])],
          G.prototype,
          'readFullExtent',
          null,
        ),
        (0, i._)(
          [
            (0, p.Cb)({
              readOnly: !0,
              json: {
                origins: {
                  'web-map': {
                    write: {
                      target: 'featureCollection.showLegend',
                      overridePolicy() {
                        return { enabled: null != this.featureCollectionJSON };
                      },
                    },
                  },
                },
              },
            }),
          ],
          G.prototype,
          'legendEnabled',
          void 0,
        ),
        (0, i._)([(0, p.Cb)({ type: ['show', 'hide'] })], G.prototype, 'listMode', void 0),
        (0, i._)(
          [(0, p.Cb)({ type: Number, nonNullable: !0, json: { write: !1 } })],
          G.prototype,
          'minScale',
          void 0,
        ),
        (0, i._)(
          [(0, y.r)(['web-map', 'portal-item'], 'minScale', ['layers'])],
          G.prototype,
          'readMinScale',
          null,
        ),
        (0, i._)(
          [(0, p.Cb)({ type: Number, nonNullable: !0, json: { write: !1 } })],
          G.prototype,
          'maxScale',
          void 0,
        ),
        (0, i._)(
          [(0, y.r)(['web-map', 'portal-item'], 'maxScale', ['layers'])],
          G.prototype,
          'readMaxScale',
          null,
        ),
        (0, i._)([(0, p.Cb)({ readOnly: !0 })], G.prototype, 'multipointLayer', null),
        (0, i._)(
          [(0, p.Cb)({ value: 'ArcGISFeatureLayer', type: ['ArcGISFeatureLayer'] })],
          G.prototype,
          'operationalLayerType',
          void 0,
        ),
        (0, i._)([(0, p.Cb)({ readOnly: !0 })], G.prototype, 'pointLayer', null),
        (0, i._)([(0, p.Cb)({ readOnly: !0 })], G.prototype, 'polygonLayer', null),
        (0, i._)([(0, p.Cb)({ readOnly: !0 })], G.prototype, 'polylineLayer', null),
        (0, i._)([(0, p.Cb)({ type: g.Z })], G.prototype, 'spatialReference', void 0),
        (0, i._)(
          [(0, y.r)(['web-map', 'portal-item'], 'spatialReference', ['layers'])],
          G.prototype,
          'readSpatialReference',
          null,
        ),
        (0, i._)(
          [
            (0, p.Cb)({
              readOnly: !0,
              json: { origins: { 'web-map': { write: { ignoreOrigin: !0 } } } },
            }),
          ],
          G.prototype,
          'sublayers',
          void 0,
        ),
        (0, i._)(
          [(0, y.r)('web-map', 'sublayers', ['layers'])],
          G.prototype,
          'readSublayers',
          null,
        ),
        (0, i._)([(0, h.w)('web-map', 'sublayers')], G.prototype, 'writeSublayers', null),
        (0, i._)([(0, p.Cb)({ readOnly: !0 })], G.prototype, 'textLayer', null),
        (0, i._)([(0, p.Cb)()], G.prototype, 'title', void 0),
        (0, i._)([(0, p.Cb)({ readOnly: !0, json: { read: !1 } })], G.prototype, 'type', void 0),
        (G = (0, i._)([(0, c.j)('esri.layers.MapNotesLayer')], G));
      const U = G;
    },
    46495: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => d });
      var i = r(29768),
        o = r(57251),
        n = r(74673),
        s = r(76506),
        a = r(34250),
        l = (r(91306), r(92143), r(17533)),
        u = r(2906);
      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);
      const c = new o.J({
        esriFeatureEditToolAutoCompletePolygon: 'auto-complete-polygon',
        esriFeatureEditToolCircle: 'circle',
        esriFeatureEditToolEllipse: 'ellipse',
        esriFeatureEditToolFreehand: 'freehand',
        esriFeatureEditToolLine: 'line',
        esriFeatureEditToolNone: 'none',
        esriFeatureEditToolPoint: 'point',
        esriFeatureEditToolPolygon: 'polygon',
        esriFeatureEditToolRectangle: 'rectangle',
        esriFeatureEditToolArrow: 'arrow',
        esriFeatureEditToolTriangle: 'triangle',
        esriFeatureEditToolLeftArrow: 'left-arrow',
        esriFeatureEditToolRightArrow: 'right-arrow',
        esriFeatureEditToolUpArrow: 'up-arrow',
        esriFeatureEditToolDownArrow: 'down-arrow',
      });
      let p = class extends n.a {
        constructor(e) {
          super(e),
            (this.name = null),
            (this.description = null),
            (this.drawingTool = null),
            (this.prototype = null),
            (this.thumbnail = null);
        }
        writeDrawingTool(e, t) {
          t.drawingTool = c.toJSON(e);
        }
        writePrototype(e, t) {
          t.prototype = (0, s.yd)((0, s.d9)(e), !0);
        }
        writeThumbnail(e, t) {
          t.thumbnail = (0, s.yd)((0, s.d9)(e));
        }
      };
      (0, i._)([(0, a.Cb)({ json: { write: !0 } })], p.prototype, 'name', void 0),
        (0, i._)([(0, a.Cb)({ json: { write: !0 } })], p.prototype, 'description', void 0),
        (0, i._)(
          [(0, a.Cb)({ json: { read: c.read, write: c.write } })],
          p.prototype,
          'drawingTool',
          void 0,
        ),
        (0, i._)([(0, u.w)('drawingTool')], p.prototype, 'writeDrawingTool', null),
        (0, i._)([(0, a.Cb)({ json: { write: !0 } })], p.prototype, 'prototype', void 0),
        (0, i._)([(0, u.w)('prototype')], p.prototype, 'writePrototype', null),
        (0, i._)([(0, a.Cb)({ json: { write: !0 } })], p.prototype, 'thumbnail', void 0),
        (0, i._)([(0, u.w)('thumbnail')], p.prototype, 'writeThumbnail', null),
        (p = (0, i._)([(0, l.j)('esri.layers.support.FeatureTemplate')], p));
      const d = p;
    },
    78303: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => f });
      var i = r(29768),
        o = r(74673),
        n = r(76506),
        s = r(34250),
        a = (r(91306), r(92143), r(97714)),
        l = r(17533),
        u = r(2906),
        c = (r(9801), r(46495)),
        p = r(46826),
        d = r(53523),
        y = r(45433);
      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),
        r(42911),
        r(57251),
        r(59465);
      let h = class extends o.a {
        constructor(e) {
          super(e),
            (this.id = null),
            (this.name = null),
            (this.domains = null),
            (this.templates = null);
        }
        readDomains(e) {
          const t = {};
          for (const r in e)
            if (e.hasOwnProperty(r)) {
              const i = e[r];
              switch (i.type) {
                case 'range':
                  t[r] = y.Z.fromJSON(i);
                  break;
                case 'codedValue':
                  t[r] = d.Z.fromJSON(i);
                  break;
                case 'inherited':
                  t[r] = p.Z.fromJSON(i);
              }
            }
          return t;
        }
        writeDomains(e, t) {
          const r = {};
          for (const t in e) e.hasOwnProperty(t) && (r[t] = e[t] && e[t].toJSON());
          (0, n.yd)(r), (t.domains = r);
        }
        readTemplates(e) {
          return e && e.map((e) => new c.Z(e));
        }
        writeTemplates(e, t) {
          t.templates = e && e.map((e) => e.toJSON());
        }
      };
      (0, i._)([(0, s.Cb)({ json: { write: !0 } })], h.prototype, 'id', void 0),
        (0, i._)([(0, s.Cb)({ json: { write: !0 } })], h.prototype, 'name', void 0),
        (0, i._)([(0, s.Cb)({ json: { write: !0 } })], h.prototype, 'domains', void 0),
        (0, i._)([(0, a.r)('domains')], h.prototype, 'readDomains', null),
        (0, i._)([(0, u.w)('domains')], h.prototype, 'writeDomains', null),
        (0, i._)([(0, s.Cb)({ json: { write: !0 } })], h.prototype, 'templates', void 0),
        (0, i._)([(0, a.r)('templates')], h.prototype, 'readTemplates', null),
        (0, i._)([(0, u.w)('templates')], h.prototype, 'writeTemplates', null),
        (h = (0, i._)([(0, l.j)('esri.layers.support.FeatureType')], h));
      const f = h;
    },
    97546: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => m });
      var i,
        o = r(29768),
        n = r(57251),
        s = r(74673),
        a = r(34250),
        l = (r(76506), r(91306)),
        u = (r(92143), r(59465)),
        c = r(97714),
        p = r(17533),
        d = r(9801),
        y = r(54732);
      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(53523),
        r(42911),
        r(46826),
        r(45433);
      const h = new n.J({
        binary: 'binary',
        coordinate: 'coordinate',
        countOrAmount: 'count-or-amount',
        dateAndTime: 'date-and-time',
        description: 'description',
        locationOrPlaceName: 'location-or-place-name',
        measurement: 'measurement',
        nameOrTitle: 'name-or-title',
        none: 'none',
        orderedOrRanked: 'ordered-or-ranked',
        percentageOrRatio: 'percentage-or-ratio',
        typeOrCategory: 'type-or-category',
        uniqueIdentifier: 'unique-identifier',
      });
      let f = (i = class extends s.a {
        constructor(e) {
          super(e),
            (this.alias = null),
            (this.defaultValue = void 0),
            (this.description = null),
            (this.domain = null),
            (this.editable = !0),
            (this.length = -1),
            (this.name = null),
            (this.nullable = !0),
            (this.type = null),
            (this.valueType = null);
        }
        readDescription(e, { description: t }) {
          let r;
          try {
            r = JSON.parse(t);
          } catch (e) {}
          return r ? r.value : null;
        }
        readValueType(e, { description: t }) {
          let r;
          try {
            r = JSON.parse(t);
          } catch (e) {}
          return r ? h.fromJSON(r.fieldValueType) : null;
        }
        clone() {
          return new i({
            alias: this.alias,
            defaultValue: this.defaultValue,
            description: this.description,
            domain: (this.domain && this.domain.clone()) || null,
            editable: this.editable,
            length: this.length,
            name: this.name,
            nullable: this.nullable,
            type: this.type,
            valueType: this.valueType,
          });
        }
      });
      (0, o._)([(0, a.Cb)({ type: String, json: { write: !0 } })], f.prototype, 'alias', void 0),
        (0, o._)(
          [(0, a.Cb)({ type: [String, Number], json: { write: { allowNull: !0 } } })],
          f.prototype,
          'defaultValue',
          void 0,
        ),
        (0, o._)([(0, a.Cb)()], f.prototype, 'description', void 0),
        (0, o._)([(0, c.r)('description')], f.prototype, 'readDescription', null),
        (0, o._)(
          [(0, a.Cb)({ types: d.t, json: { read: { reader: d.f }, write: !0 } })],
          f.prototype,
          'domain',
          void 0,
        ),
        (0, o._)(
          [(0, a.Cb)({ type: Boolean, json: { write: !0 } })],
          f.prototype,
          'editable',
          void 0,
        ),
        (0, o._)([(0, a.Cb)({ type: l.I, json: { write: !0 } })], f.prototype, 'length', void 0),
        (0, o._)([(0, a.Cb)({ type: String, json: { write: !0 } })], f.prototype, 'name', void 0),
        (0, o._)(
          [(0, a.Cb)({ type: Boolean, json: { write: !0 } })],
          f.prototype,
          'nullable',
          void 0,
        ),
        (0, o._)([(0, u.e)(y.k)], f.prototype, 'type', void 0),
        (0, o._)([(0, a.Cb)()], f.prototype, 'valueType', void 0),
        (0, o._)([(0, c.r)('valueType', ['description'])], f.prototype, 'readValueType', null),
        (f = i = (0, o._)([(0, p.j)('esri.layers.support.Field')], f));
      const m = f;
    },
    87258: (e, t, r) => {
      'use strict';
      r.r(t), r.d(t, { default: () => b });
      var i = r(29768),
        o = r(74569),
        n = r(23761),
        s = r(57251),
        a = r(74673),
        l = r(76506),
        u = r(34250),
        c = (r(91306), r(92143), r(97714)),
        p = r(17533),
        d = r(2906),
        y = r(60947),
        h = r(32422),
        f = r(97546);
      r(21801),
        r(40642),
        r(71552),
        r(73796),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(31450),
        r(26341),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(84069),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(86748),
        r(15324),
        r(76996),
        r(14249),
        r(9801),
        r(53523),
        r(59465),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(29107),
        r(30574),
        r(2157),
        r(25977),
        r(7471),
        r(54414),
        r(1648),
        r(8925),
        r(33921),
        r(3482),
        r(45154),
        r(16769),
        r(55531),
        r(30582),
        r(593),
        r(85699),
        r(63136),
        r(96055),
        r(47776),
        r(18033),
        r(6331),
        r(62048),
        r(4292),
        r(75626),
        r(72652),
        r(29641),
        r(30493),
        r(70821),
        r(82673),
        r(34229),
        r(37029),
        r(96467),
        r(63571),
        r(30776),
        r(48027),
        r(54174),
        r(82426),
        r(63130),
        r(25696),
        r(66396),
        r(42775),
        r(95834),
        r(34394),
        r(57150),
        r(76726),
        r(20444),
        r(76393),
        r(78548),
        r(2497),
        r(49906),
        r(46527),
        r(48649),
        r(9960),
        r(3101),
        r(5853),
        r(39141),
        r(32101),
        r(38742),
        r(48243),
        r(34635),
        r(10401),
        r(49900),
        r(66284),
        r(82058),
        r(88762),
        r(73173),
        r(22739),
        r(20543),
        r(67477),
        r(78533),
        r(74653),
        r(91091),
        r(58943),
        r(70737),
        r(8487),
        r(17817),
        r(90814),
        r(15459),
        r(61847),
        r(16796),
        r(16955),
        r(22401),
        r(77894),
        r(55187),
        r(8586),
        r(44509),
        r(69814),
        r(11305),
        r(62259),
        r(44790),
        r(5909),
        r(60669),
        r(48208),
        r(51589),
        r(54732);
      const m = new s.J({
        esriGeometryPoint: 'point',
        esriGeometryMultipoint: 'multipoint',
        esriGeometryPolyline: 'polyline',
        esriGeometryPolygon: 'polygon',
        esriGeometryEnvelope: 'extent',
        mesh: 'mesh',
        '': null,
      });
      let g = class extends a.a {
        constructor(e) {
          super(e),
            (this.displayFieldName = null),
            (this.exceededTransferLimit = !1),
            (this.features = []),
            (this.fields = null),
            (this.geometryType = null),
            (this.hasM = !1),
            (this.hasZ = !1),
            (this.queryGeometry = null),
            (this.spatialReference = null);
        }
        readFeatures(e, t) {
          const r = y.Z.fromJSON(t.spatialReference),
            i = [];
          for (let t = 0; t < e.length; t++) {
            const o = e[t],
              s = n.Z.fromJSON(o),
              a = o.geometry && o.geometry.spatialReference;
            (0, l.i)(s.geometry) && !a && (s.geometry.spatialReference = r), i.push(s);
          }
          return i;
        }
        writeGeometryType(e, t, r, i) {
          if (e) return void m.write(e, t, r, i);
          const { features: o } = this;
          if (o)
            for (const e of o)
              if (e && (0, l.i)(e.geometry)) return void m.write(e.geometry.type, t, r, i);
        }
        readQueryGeometry(e, t) {
          if (!e) return null;
          const r = !!e.spatialReference,
            i = (0, h.im)(e);
          return (
            !r && t.spatialReference && (i.spatialReference = y.Z.fromJSON(t.spatialReference)), i
          );
        }
        writeSpatialReference(e, t) {
          if (e) return void (t.spatialReference = e.toJSON());
          const { features: r } = this;
          if (r)
            for (const e of r)
              if (e && (0, l.i)(e.geometry) && e.geometry.spatialReference)
                return void (t.spatialReference = e.geometry.spatialReference.toJSON());
        }
        toJSON(e) {
          const t = this.write(null);
          if (t.features && Array.isArray(e) && e.length > 0)
            for (let r = 0; r < t.features.length; r++) {
              const i = t.features[r];
              if (i.geometry) {
                const t = e && e[r];
                i.geometry = (t && t.toJSON()) || i.geometry;
              }
            }
          return t;
        }
        quantize(e) {
          const {
              scale: [t, r],
              translate: [i, o],
            } = e,
            n = this.features,
            s = this._getQuantizationFunction(
              this.geometryType,
              (e) => Math.round((e - i) / t),
              (e) => Math.round((o - e) / r),
            );
          for (let e = 0, t = n.length; e < t; e++)
            s((0, l.u)(n[e].geometry)) || (n.splice(e, 1), e--, t--);
          return (this.transform = e), this;
        }
        unquantize() {
          const { geometryType: e, features: t, transform: r } = this;
          if (!r) return this;
          const {
              translate: [i, o],
              scale: [n, s],
            } = r,
            a = this._getHydrationFunction(
              e,
              (e) => e * n + i,
              (e) => o - e * s,
            );
          for (const { geometry: e } of t) (0, l.i)(e) && a(e);
          return (this.transform = null), this;
        }
        _quantizePoints(e, t, r) {
          let i, o;
          const n = [];
          for (let s = 0, a = e.length; s < a; s++) {
            const a = e[s];
            if (s > 0) {
              const e = t(a[0]),
                s = r(a[1]);
              (e === i && s === o) || (n.push([e - i, s - o]), (i = e), (o = s));
            } else (i = t(a[0])), (o = r(a[1])), n.push([i, o]);
          }
          return n.length > 0 ? n : null;
        }
        _getQuantizationFunction(e, t, r) {
          return 'point' === e
            ? (e) => ((e.x = t(e.x)), (e.y = r(e.y)), e)
            : 'polyline' === e || 'polygon' === e
            ? (e) => {
                const i = (0, h.oU)(e) ? e.rings : e.paths,
                  o = [];
                for (let e = 0, n = i.length; e < n; e++) {
                  const n = i[e],
                    s = this._quantizePoints(n, t, r);
                  s && o.push(s);
                }
                return o.length > 0 ? ((0, h.oU)(e) ? (e.rings = o) : (e.paths = o), e) : null;
              }
            : 'multipoint' === e
            ? (e) => {
                const i = this._quantizePoints(e.points, t, r);
                return i.length > 0 ? ((e.points = i), e) : null;
              }
            : 'extent' === e
            ? (e) => e
            : null;
        }
        _getHydrationFunction(e, t, r) {
          return 'point' === e
            ? (e) => {
                (e.x = t(e.x)), (e.y = r(e.y));
              }
            : 'polyline' === e || 'polygon' === e
            ? (e) => {
                const i = (0, h.oU)(e) ? e.rings : e.paths;
                let o, n;
                for (let e = 0, s = i.length; e < s; e++) {
                  const s = i[e];
                  for (let e = 0, i = s.length; e < i; e++) {
                    const i = s[e];
                    e > 0 ? ((o += i[0]), (n += i[1])) : ((o = i[0]), (n = i[1])),
                      (i[0] = t(o)),
                      (i[1] = r(n));
                  }
                }
              }
            : 'extent' === e
            ? (e) => {
                (e.xmin = t(e.xmin)),
                  (e.ymin = r(e.ymin)),
                  (e.xmax = t(e.xmax)),
                  (e.ymax = r(e.ymax));
              }
            : 'multipoint' === e
            ? (e) => {
                const i = e.points;
                let o, n;
                for (let e = 0, s = i.length; e < s; e++) {
                  const s = i[e];
                  e > 0 ? ((o += s[0]), (n += s[1])) : ((o = s[0]), (n = s[1])),
                    (s[0] = t(o)),
                    (s[1] = r(n));
                }
              }
            : void 0;
        }
      };
      (0, i._)(
        [(0, u.Cb)({ type: String, json: { write: !0 } })],
        g.prototype,
        'displayFieldName',
        void 0,
      ),
        (0, i._)(
          [
            (0, u.Cb)({
              type: Boolean,
              json: { write: { overridePolicy: (e) => ({ enabled: e }) } },
            }),
          ],
          g.prototype,
          'exceededTransferLimit',
          void 0,
        ),
        (0, i._)(
          [(0, u.Cb)({ type: [n.Z], json: { write: !0 } })],
          g.prototype,
          'features',
          void 0,
        ),
        (0, i._)([(0, c.r)('features')], g.prototype, 'readFeatures', null),
        (0, i._)([(0, u.Cb)({ type: [f.Z], json: { write: !0 } })], g.prototype, 'fields', void 0),
        (0, i._)(
          [
            (0, u.Cb)({
              type: ['point', 'multipoint', 'polyline', 'polygon', 'extent', 'mesh'],
              json: { read: { reader: m.read } },
            }),
          ],
          g.prototype,
          'geometryType',
          void 0,
        ),
        (0, i._)([(0, d.w)('geometryType')], g.prototype, 'writeGeometryType', null),
        (0, i._)(
          [
            (0, u.Cb)({
              type: Boolean,
              json: { write: { overridePolicy: (e) => ({ enabled: e }) } },
            }),
          ],
          g.prototype,
          'hasM',
          void 0,
        ),
        (0, i._)(
          [
            (0, u.Cb)({
              type: Boolean,
              json: { write: { overridePolicy: (e) => ({ enabled: e }) } },
            }),
          ],
          g.prototype,
          'hasZ',
          void 0,
        ),
        (0, i._)(
          [(0, u.Cb)({ types: o.qM, json: { write: !0 } })],
          g.prototype,
          'queryGeometry',
          void 0,
        ),
        (0, i._)([(0, c.r)('queryGeometry')], g.prototype, 'readQueryGeometry', null),
        (0, i._)(
          [(0, u.Cb)({ type: y.Z, json: { write: !0 } })],
          g.prototype,
          'spatialReference',
          void 0,
        ),
        (0, i._)([(0, d.w)('spatialReference')], g.prototype, 'writeSpatialReference', null),
        (0, i._)([(0, u.Cb)({ json: { write: !0 } })], g.prototype, 'transform', void 0),
        (g = (0, i._)([(0, p.j)('esri.rest.support.FeatureSet')], g)),
        (g.prototype.toJSON.isDefaultToJSON = !0),
        g || (g = {});
      const b = g;
    },
  },
]);
