(self.webpackChunkRemoteClient = self.webpackChunkRemoteClient || []).push([
  [1244],
  {
    93314: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => g });
      var i,
        o = r(29768),
        s = r(74673),
        n = r(76506),
        a = r(35197),
        l = r(34250),
        u = (r(91306), r(92143), r(97714)),
        p = r(17533),
        c = r(2906);
      r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(71552),
        r(31450),
        r(40642),
        r(26341);
      let d = (i = class extends s.a {
        constructor(e) {
          super(e), (this.end = null), (this.start = null);
        }
        static get allTime() {
          return y;
        }
        static get empty() {
          return h;
        }
        readEnd(e, t) {
          return null != t.end ? new Date(t.end) : null;
        }
        writeEnd(e, t) {
          t.end = e ? e.getTime() : null;
        }
        get isAllTime() {
          return this.equals(i.allTime);
        }
        get isEmpty() {
          return this.equals(i.empty);
        }
        readStart(e, t) {
          return null != t.start ? new Date(t.start) : null;
        }
        writeStart(e, t) {
          t.start = e ? e.getTime() : null;
        }
        clone() {
          return new i({ end: this.end, start: this.start });
        }
        expandTo(e) {
          if (this.isEmpty || this.isAllTime) return this.clone();
          const t = (0, n.e)(this.start, (t) => (0, a.t)(t, e)),
            r = (0, n.e)(this.end, (t) => (0, a.o)((0, a.t)(t, e), 1, e));
          return new i({ start: t, end: r });
        }
        intersection(e) {
          if (!e) return this.clone();
          if (this.isEmpty || e.isEmpty) return i.empty;
          if (this.isAllTime) return e.clone();
          if (e.isAllTime) return this.clone();
          const t = (0, n.m)(this.start, -1 / 0, (e) => e.getTime()),
            r = (0, n.m)(this.end, 1 / 0, (e) => e.getTime()),
            o = (0, n.m)(e.start, -1 / 0, (e) => e.getTime()),
            s = (0, n.m)(e.end, 1 / 0, (e) => e.getTime());
          let a, l;
          if (
            (o >= t && o <= r ? (a = o) : t >= o && t <= s && (a = t),
            r >= o && r <= s ? (l = r) : s >= t && s <= r && (l = s),
            !isNaN(a) && !isNaN(l))
          ) {
            const e = new i();
            return (
              (e.start = a === -1 / 0 ? null : new Date(a)),
              (e.end = l === 1 / 0 ? null : new Date(l)),
              e
            );
          }
          return i.empty;
        }
        offset(e, t) {
          if (this.isEmpty || this.isAllTime) return this.clone();
          const r = new i(),
            { start: o, end: s } = this;
          return (
            (0, n.i)(o) && (r.start = (0, a.o)(o, e, t)),
            (0, n.i)(s) && (r.end = (0, a.o)(s, e, t)),
            r
          );
        }
        equals(e) {
          if (!e) return !1;
          const t = (0, n.i)(this.start) ? this.start.getTime() : this.start,
            r = (0, n.i)(this.end) ? this.end.getTime() : this.end,
            i = (0, n.i)(e.start) ? e.start.getTime() : e.start,
            o = (0, n.i)(e.end) ? e.end.getTime() : e.end;
          return t === i && r === o;
        }
        union(e) {
          if (!e || e.isEmpty) return this.clone();
          if (this.isEmpty) return e.clone();
          if (this.isAllTime || e.isAllTime) return y.clone();
          const t =
              (0, n.i)(this.start) && (0, n.i)(e.start)
                ? new Date(Math.min(this.start.getTime(), e.start.getTime()))
                : null,
            r =
              (0, n.i)(this.end) && (0, n.i)(e.end)
                ? new Date(Math.max(this.end.getTime(), e.end.getTime()))
                : null;
          return new i({ start: t, end: r });
        }
      });
      (0, o._)(
        [(0, l.Cb)({ type: Date, json: { write: { allowNull: !0 } } })],
        d.prototype,
        'end',
        void 0,
      ),
        (0, o._)([(0, u.r)('end')], d.prototype, 'readEnd', null),
        (0, o._)([(0, c.w)('end')], d.prototype, 'writeEnd', null),
        (0, o._)([(0, l.Cb)({ readOnly: !0, json: { read: !1 } })], d.prototype, 'isAllTime', null),
        (0, o._)([(0, l.Cb)({ readOnly: !0, json: { read: !1 } })], d.prototype, 'isEmpty', null),
        (0, o._)(
          [(0, l.Cb)({ type: Date, json: { write: { allowNull: !0 } } })],
          d.prototype,
          'start',
          void 0,
        ),
        (0, o._)([(0, u.r)('start')], d.prototype, 'readStart', null),
        (0, o._)([(0, c.w)('start')], d.prototype, 'writeStart', null),
        (d = i = (0, o._)([(0, p.j)('esri.TimeExtent')], d));
      const y = new d(),
        h = new d({ start: void 0, end: void 0 }),
        g = d;
    },
    47842: (e, t, r) => {
      'use strict';
      r.d(t, { E: () => w });
      var i,
        o = r(29768),
        s = r(57251),
        n = r(74673),
        a = r(76506),
        l = r(34250),
        u = (r(91306), r(92143), r(97714)),
        p = r(17533),
        c = r(2906),
        d = r(14249),
        y = r(17298);
      let h = (i = class extends n.a {
        async collectRequiredFields(e, t) {
          return (0, d.io)(e, t, this.expression);
        }
        clone() {
          return new i({ expression: this.expression, title: this.title });
        }
      });
      (0, o._)(
        [(0, l.Cb)({ type: String, json: { write: !0 } })],
        h.prototype,
        'expression',
        void 0,
      ),
        (0, o._)([(0, l.Cb)({ type: String, json: { write: !0 } })], h.prototype, 'title', void 0),
        (h = i = (0, o._)([(0, p.j)('esri.layers.support.FeatureExpressionInfo')], h));
      var g,
        m = h;
      const f = (0, s.s)()({
          onTheGround: 'on-the-ground',
          relativeToGround: 'relative-to-ground',
          relativeToScene: 'relative-to-scene',
          absoluteHeight: 'absolute-height',
        }),
        v = new s.J({
          foot: 'feet',
          kilometer: 'kilometers',
          meter: 'meters',
          mile: 'miles',
          'us-foot': 'us-feet',
          yard: 'yards',
        });
      let b = (g = class extends n.a {
        constructor() {
          super(...arguments), (this.offset = null);
        }
        readFeatureExpressionInfo(e, t) {
          return null != e
            ? e
            : t.featureExpression && 0 === t.featureExpression.value
            ? { expression: '0' }
            : void 0;
        }
        writeFeatureExpressionInfo(e, t, r, i) {
          (t[r] = e.write(null, i)), '0' === e.expression && (t.featureExpression = { value: 0 });
        }
        get mode() {
          const { offset: e, featureExpressionInfo: t } = this;
          return this._isOverridden('mode')
            ? this._get('mode')
            : (0, a.i)(e) || t
            ? 'relative-to-ground'
            : 'on-the-ground';
        }
        set mode(e) {
          this._override('mode', e);
        }
        set unit(e) {
          this._set('unit', e);
        }
        write(e, t) {
          return this.offset || this.mode || this.featureExpressionInfo || this.unit
            ? super.write(e, t)
            : null;
        }
        clone() {
          return new g({
            mode: this.mode,
            offset: this.offset,
            featureExpressionInfo: this.featureExpressionInfo
              ? this.featureExpressionInfo.clone()
              : void 0,
            unit: this.unit,
          });
        }
      });
      (0, o._)(
        [(0, l.Cb)({ type: m, json: { write: !0 } })],
        b.prototype,
        'featureExpressionInfo',
        void 0,
      ),
        (0, o._)(
          [(0, u.r)('featureExpressionInfo', ['featureExpressionInfo', 'featureExpression'])],
          b.prototype,
          'readFeatureExpressionInfo',
          null,
        ),
        (0, o._)(
          [
            (0, c.w)('featureExpressionInfo', {
              featureExpressionInfo: { type: m },
              'featureExpression.value': { type: [0] },
            }),
          ],
          b.prototype,
          'writeFeatureExpressionInfo',
          null,
        ),
        (0, o._)(
          [
            (0, l.Cb)({
              type: f.apiValues,
              nonNullable: !0,
              json: {
                type: f.jsonValues,
                read: f.read,
                write: { writer: f.write, isRequired: !0 },
              },
            }),
          ],
          b.prototype,
          'mode',
          null,
        ),
        (0, o._)([(0, l.Cb)({ type: Number, json: { write: !0 } })], b.prototype, 'offset', void 0),
        (0, o._)(
          [(0, l.Cb)({ type: y.s, json: { type: String, read: v.read, write: v.write } })],
          b.prototype,
          'unit',
          null,
        ),
        (b = g = (0, o._)([(0, p.j)('esri.layers.support.ElevationInfo')], b));
      var w = b;
    },
    69003: (e, t, r) => {
      'use strict';
      r.d(t, { I: () => l, a: () => c, b: () => y, c: () => f });
      var i = r(29768),
        o = r(74673),
        s = r(34250),
        n = (r(76506), r(91306), r(92143), r(59465)),
        a = r(17533);
      let l = class extends o.a {
        constructor() {
          super(...arguments),
            (this.nodesPerPage = null),
            (this.rootIndex = 0),
            (this.lodSelectionMetricType = null);
        }
      };
      (0, i._)([(0, s.Cb)({ type: Number })], l.prototype, 'nodesPerPage', void 0),
        (0, i._)([(0, s.Cb)({ type: Number })], l.prototype, 'rootIndex', void 0),
        (0, i._)([(0, s.Cb)({ type: String })], l.prototype, 'lodSelectionMetricType', void 0),
        (l = (0, i._)([(0, a.j)('esri.layer.support.I3SNodePageDefinition')], l));
      let u = class extends o.a {
        constructor() {
          super(...arguments), (this.factor = 1);
        }
      };
      (0, i._)(
        [(0, s.Cb)({ type: Number, json: { read: { source: 'textureSetDefinitionId' } } })],
        u.prototype,
        'id',
        void 0,
      ),
        (0, i._)([(0, s.Cb)({ type: Number })], u.prototype, 'factor', void 0),
        (u = (0, i._)([(0, a.j)('esri.layer.support.I3SMaterialTexture')], u));
      let p = class extends o.a {
        constructor() {
          super(...arguments),
            (this.baseColorFactor = [1, 1, 1, 1]),
            (this.baseColorTexture = null),
            (this.metallicRoughnessTexture = null),
            (this.metallicFactor = 1),
            (this.roughnessFactor = 1);
        }
      };
      (0, i._)([(0, s.Cb)({ type: [Number] })], p.prototype, 'baseColorFactor', void 0),
        (0, i._)([(0, s.Cb)({ type: u })], p.prototype, 'baseColorTexture', void 0),
        (0, i._)([(0, s.Cb)({ type: u })], p.prototype, 'metallicRoughnessTexture', void 0),
        (0, i._)([(0, s.Cb)({ type: Number })], p.prototype, 'metallicFactor', void 0),
        (0, i._)([(0, s.Cb)({ type: Number })], p.prototype, 'roughnessFactor', void 0),
        (p = (0, i._)([(0, a.j)('esri.layer.support.I3SMaterialPBRMetallicRoughness')], p));
      let c = class extends o.a {
        constructor() {
          super(...arguments),
            (this.alphaMode = 'opaque'),
            (this.alphaCutoff = 0.25),
            (this.doubleSided = !1),
            (this.cullFace = 'none'),
            (this.normalTexture = null),
            (this.occlusionTexture = null),
            (this.emissiveTexture = null),
            (this.emissiveFactor = null),
            (this.pbrMetallicRoughness = null);
        }
      };
      (0, i._)(
        [(0, n.e)({ opaque: 'opaque', mask: 'mask', blend: 'blend' })],
        c.prototype,
        'alphaMode',
        void 0,
      ),
        (0, i._)([(0, s.Cb)({ type: Number })], c.prototype, 'alphaCutoff', void 0),
        (0, i._)([(0, s.Cb)({ type: Boolean })], c.prototype, 'doubleSided', void 0),
        (0, i._)(
          [(0, n.e)({ none: 'none', back: 'back', front: 'front' })],
          c.prototype,
          'cullFace',
          void 0,
        ),
        (0, i._)([(0, s.Cb)({ type: u })], c.prototype, 'normalTexture', void 0),
        (0, i._)([(0, s.Cb)({ type: u })], c.prototype, 'occlusionTexture', void 0),
        (0, i._)([(0, s.Cb)({ type: u })], c.prototype, 'emissiveTexture', void 0),
        (0, i._)([(0, s.Cb)({ type: [Number] })], c.prototype, 'emissiveFactor', void 0),
        (0, i._)([(0, s.Cb)({ type: p })], c.prototype, 'pbrMetallicRoughness', void 0),
        (c = (0, i._)([(0, a.j)('esri.layer.support.I3SMaterialDefinition')], c));
      let d = class extends o.a {};
      (0, i._)(
        [
          (0, s.Cb)({
            type: String,
            json: {
              read: { source: ['name', 'index'], reader: (e, t) => (null != e ? e : `${t.index}`) },
            },
          }),
        ],
        d.prototype,
        'name',
        void 0,
      ),
        (0, i._)(
          [
            (0, n.e)({
              jpg: 'jpg',
              png: 'png',
              dds: 'dds',
              'ktx-etc2': 'ktx-etc2',
              ktx2: 'ktx2',
              basis: 'basis',
            }),
          ],
          d.prototype,
          'format',
          void 0,
        ),
        (d = (0, i._)([(0, a.j)('esri.layer.support.I3STextureFormat')], d));
      let y = class extends o.a {
        constructor() {
          super(...arguments), (this.atlas = !1);
        }
      };
      (0, i._)([(0, s.Cb)({ type: [d] })], y.prototype, 'formats', void 0),
        (0, i._)([(0, s.Cb)({ type: Boolean })], y.prototype, 'atlas', void 0),
        (y = (0, i._)([(0, a.j)('esri.layer.support.I3STextureSetDefinition')], y));
      let h = class extends o.a {};
      (0, i._)(
        [
          (0, n.e)({
            Float32: 'Float32',
            UInt64: 'UInt64',
            UInt32: 'UInt32',
            UInt16: 'UInt16',
            UInt8: 'UInt8',
          }),
        ],
        h.prototype,
        'type',
        void 0,
      ),
        (0, i._)([(0, s.Cb)({ type: Number })], h.prototype, 'component', void 0),
        (h = (0, i._)([(0, a.j)('esri.layer.support.I3SGeometryAttribute')], h));
      let g = class extends o.a {};
      (0, i._)([(0, n.e)({ draco: 'draco' })], g.prototype, 'encoding', void 0),
        (0, i._)([(0, s.Cb)({ type: [String] })], g.prototype, 'attributes', void 0),
        (g = (0, i._)([(0, a.j)('esri.layer.support.I3SGeometryCompressedAttributes')], g));
      let m = class extends o.a {
        constructor() {
          super(...arguments), (this.offset = 0);
        }
      };
      (0, i._)([(0, s.Cb)({ type: Number })], m.prototype, 'offset', void 0),
        (0, i._)([(0, s.Cb)({ type: h })], m.prototype, 'position', void 0),
        (0, i._)([(0, s.Cb)({ type: h })], m.prototype, 'normal', void 0),
        (0, i._)([(0, s.Cb)({ type: h })], m.prototype, 'uv0', void 0),
        (0, i._)([(0, s.Cb)({ type: h })], m.prototype, 'color', void 0),
        (0, i._)([(0, s.Cb)({ type: h })], m.prototype, 'uvRegion', void 0),
        (0, i._)([(0, s.Cb)({ type: h })], m.prototype, 'featureId', void 0),
        (0, i._)([(0, s.Cb)({ type: h })], m.prototype, 'faceRange', void 0),
        (0, i._)([(0, s.Cb)({ type: g })], m.prototype, 'compressedAttributes', void 0),
        (m = (0, i._)([(0, a.j)('esri.layer.support.I3SGeometryBuffer')], m));
      let f = class extends o.a {};
      (0, i._)([(0, n.e)({ triangle: 'triangle' })], f.prototype, 'topology', void 0),
        (0, i._)([(0, s.Cb)()], f.prototype, 'geometryBuffers', void 0),
        (f = (0, i._)([(0, a.j)('esri.layer.support.I3SGeometryDefinition')], f));
    },
    82673: (e, t, r) => {
      'use strict';
      r.d(t, { I: () => n });
      var i = r(29768),
        o = r(17533);
      let s = 0;
      const n = (e) => {
        let t = class extends e {
          constructor(...e) {
            super(...e),
              Object.defineProperty(this, 'uid', {
                writable: !1,
                configurable: !1,
                value: Date.now().toString(16) + '-object-' + s++,
              });
          }
        };
        return (t = (0, i._)([(0, o.j)('esri.core.Identifiable')], t)), t;
      };
      let a = class extends n(class {}) {};
      a = (0, i._)([(0, o.j)('esri.core.Identifiable')], a);
    },
    54179: (e, t, r) => {
      'use strict';
      r.d(t, { M: () => c, a: () => d });
      var i = r(29768),
        o = r(21972),
        s = r(50161),
        n = r(86656),
        a = r(26341),
        l = r(17533);
      const u = (e) => {
        let t = class extends e {
          constructor(...e) {
            super(...e);
          }
          clear(e, t = 'user') {
            return p(this).delete(e, (0, o.n)(t));
          }
          write(e = {}, t) {
            return (0, a.w)(this, (e = e || {}), t), e;
          }
          setAtOrigin(e, t, r) {
            (0, n.g)(this).setAtOrigin(e, t, (0, o.n)(r));
          }
          removeOrigin(e) {
            const t = p(this),
              r = (0, o.n)(e),
              i = t.keys(r);
            for (const e of i) t.originOf(e) === r && t.set(e, t.get(e, r), 6);
          }
          updateOrigin(e, t) {
            const r = p(this),
              i = (0, o.n)(t),
              s = this.get(e);
            for (let t = i + 1; t < o.b; ++t) r.delete(e, t);
            r.set(e, s, i);
          }
          toJSON(e) {
            return this.write({}, e);
          }
        };
        return (
          (t = (0, i._)([(0, l.j)('esri.core.WriteableMultiOriginJSONSupport')], t)),
          (t.prototype.toJSON.isDefaultToJSON = !0),
          t
        );
      };
      function p(e) {
        return (0, n.g)(e).store;
      }
      const c = (e) => {
        let t = class extends u((0, s.R)(e)) {
          constructor(...e) {
            super(...e);
          }
        };
        return (t = (0, i._)([(0, l.j)('esri.core.MultiOriginJSONSupport')], t)), t;
      };
      let d = class extends c(o.Z) {};
      d = (0, i._)([(0, l.j)('esri.core.MultiOriginJSONSupport')], d);
    },
    89440: (e, t, r) => {
      'use strict';
      r.d(t, { O: () => c });
      var i = r(29768),
        o = r(60991),
        s = r(34250),
        n = (r(76506), r(91306), r(92143), r(17533)),
        a = r(2906),
        l = r(26341),
        u = r(43022);
      const p = {
          'web-scene/operational-layers': {
            ArcGISFeatureLayer: !0,
            ArcGISImageServiceLayer: !0,
            ArcGISMapServiceLayer: !0,
            ArcGISSceneServiceLayer: !0,
            ArcGISTiledElevationServiceLayer: !0,
            ArcGISTiledImageServiceLayer: !0,
            ArcGISTiledMapServiceLayer: !0,
            BuildingSceneLayer: !0,
            GroupLayer: !0,
            IntegratedMeshLayer: !0,
            PointCloudLayer: !0,
            WebTiledLayer: !0,
            CSV: !0,
            VectorTileLayer: !0,
            WMS: !0,
            KML: !0,
            RasterDataLayer: !0,
          },
          'web-scene/basemap': {
            ArcGISTiledImageServiceLayer: !0,
            ArcGISTiledMapServiceLayer: !0,
            WebTiledLayer: !0,
            OpenStreetMap: !0,
            VectorTileLayer: !0,
            ArcGISImageServiceLayer: !0,
            WMS: !0,
            ArcGISMapServiceLayer: !0,
          },
          'web-scene/ground': {
            ArcGISTiledElevationServiceLayer: !0,
            RasterDataElevationLayer: !0,
          },
          'web-map/operational-layers': {
            ArcGISFeatureLayer: !0,
            ArcGISImageServiceLayer: !0,
            ArcGISImageServiceVectorLayer: !0,
            ArcGISMapServiceLayer: !0,
            ArcGISStreamLayer: !0,
            ArcGISTiledImageServiceLayer: !0,
            ArcGISTiledMapServiceLayer: !0,
            BingMapsAerial: !0,
            BingMapsHybrid: !0,
            BingMapsRoad: !0,
            CSV: !0,
            GeoRSS: !0,
            GroupLayer: !0,
            KML: !0,
            OGCFeatureLayer: !0,
            SubtypeGroupLayer: !0,
            VectorTileLayer: !0,
            WFS: !0,
            WMS: !0,
            WebTiledLayer: !0,
          },
          'web-map/basemap': {
            ArcGISImageServiceLayer: !0,
            ArcGISImageServiceVectorLayer: !0,
            ArcGISMapServiceLayer: !0,
            ArcGISTiledImageServiceLayer: !0,
            ArcGISTiledMapServiceLayer: !0,
            OpenStreetMap: !0,
            VectorTileLayer: !0,
            WMS: !0,
            WebTiledLayer: !0,
            BingMapsAerial: !0,
            BingMapsRoad: !0,
            BingMapsHybrid: !0,
          },
          'web-map/tables': { ArcGISFeatureLayer: !0 },
          'portal-item/operational-layers': {
            ArcGISSceneServiceLayer: !0,
            PointCloudLayer: !0,
            BuildingSceneLayer: !0,
            IntegratedMeshLayer: !0,
          },
        },
        c = (e) => {
          let t = class extends e {
            constructor() {
              super(...arguments), (this.title = null);
            }
            writeListMode(e, t, r, i) {
              ((i && 'ground' === i.layerContainerType) || (e && (0, l.b)(this, r, {}, i))) &&
                (t[r] = e);
            }
            writeOperationalLayerType(e, t, r, i) {
              !e || (i && 'tables' === i.layerContainerType) || (t.layerType = e);
            }
            writeTitle(e, t) {
              t.title = e || 'Layer';
            }
            read(e, t) {
              t && (t.layer = this), (0, l.a)(this, e, (t) => super.read(e, t), t);
            }
            write(e, t) {
              if (t && t.origin) {
                const e = `${t.origin}/${t.layerContainerType || 'operational-layers'}`,
                  r = p[e];
                let i = r && r[this.operationalLayerType];
                if (
                  ('ArcGISTiledElevationServiceLayer' === this.operationalLayerType &&
                    'web-scene/operational-layers' === e &&
                    (i = !1),
                  !i)
                )
                  return (
                    t.messages &&
                      t.messages.push(
                        new o.Z(
                          'layer:unsupported',
                          `Layers (${this.title}, ${this.id}) of type '${this.declaredClass}' are not supported in the context of '${e}'`,
                          { layer: this },
                        ),
                      ),
                    null
                  );
              }
              const r = super.write(e, { ...t, layer: this }),
                i =
                  !!t &&
                  !!t.messages &&
                  !!t.messages.filter(
                    (e) => e instanceof o.Z && 'web-document-write:property-required' === e.name,
                  ).length;
              return !this.url && i ? null : r;
            }
            beforeSave() {}
          };
          return (
            (0, i._)(
              [
                (0, s.Cb)({
                  type: String,
                  json: {
                    write: { ignoreOrigin: !0 },
                    origins: {
                      'web-scene': { write: { isRequired: !0, ignoreOrigin: !0 } },
                      'portal-item': { write: !1 },
                    },
                  },
                }),
              ],
              t.prototype,
              'id',
              void 0,
            ),
            (0, i._)(
              [
                (0, s.Cb)({
                  json: {
                    write: { ignoreOrigin: !0 },
                    origins: { 'web-map': { read: !1, write: !1 } },
                  },
                }),
              ],
              t.prototype,
              'listMode',
              void 0,
            ),
            (0, i._)([(0, a.w)('listMode')], t.prototype, 'writeListMode', null),
            (0, i._)(
              [
                (0, s.Cb)({
                  type: String,
                  readOnly: !0,
                  json: {
                    read: !1,
                    write: { target: 'layerType', ignoreOrigin: !0 },
                    origins: { 'portal-item': { write: !1 } },
                  },
                }),
              ],
              t.prototype,
              'operationalLayerType',
              void 0,
            ),
            (0, i._)(
              [(0, a.w)('operationalLayerType')],
              t.prototype,
              'writeOperationalLayerType',
              null,
            ),
            (0, i._)([(0, s.Cb)(u.o)], t.prototype, 'opacity', void 0),
            (0, i._)(
              [
                (0, s.Cb)({
                  type: String,
                  json: {
                    write: { ignoreOrigin: !0, allowNull: !0 },
                    origins: {
                      'web-scene': { write: { isRequired: !0, ignoreOrigin: !0, allowNull: !0 } },
                      'portal-item': { write: !1 },
                    },
                  },
                  value: 'Layer',
                }),
              ],
              t.prototype,
              'title',
              void 0,
            ),
            (0, i._)([(0, a.w)('title')], t.prototype, 'writeTitle', null),
            (0, i._)(
              [
                (0, s.Cb)({
                  type: Boolean,
                  json: {
                    name: 'visibility',
                    origins: {
                      'web-document': { name: 'visibility', default: !0 },
                      'portal-item': {
                        name: 'visibility',
                        read: { source: ['visible', 'visibility'] },
                      },
                    },
                  },
                }),
              ],
              t.prototype,
              'visible',
              void 0,
            ),
            (t = (0, i._)([(0, n.j)('esri.layers.mixins.OperationalLayer')], t)),
            t
          );
        };
    },
    62162: (e, t, r) => {
      'use strict';
      r.d(t, { P: () => w });
      var i = r(29768),
        o = r(88762),
        s = r(82058),
        n = r(41864),
        a = r(60991),
        l = r(92143),
        u = r(76506),
        p = r(50406),
        c = r(32101),
        d = r(34250),
        y = (r(91306), r(97714)),
        h = r(17533),
        g = r(2906),
        m = r(49900),
        f = r(56420),
        v = r(74653);
      const b = l.L.getLogger('esri.layers.mixins.PortalLayer'),
        w = (e) => {
          let t = class extends e {
            constructor() {
              super(...arguments),
                (this.resourceReferences = { portalItem: null, paths: [] }),
                (this.userHasEditingPrivileges = !0);
            }
            destroy() {
              var e;
              null == (e = this.portalItem) || e.destroy(), (this.portalItem = null);
            }
            set portalItem(e) {
              e !== this._get('portalItem') &&
                (this.removeOrigin('portal-item'), this._set('portalItem', e));
            }
            readPortalItem(e, t, r) {
              if (t.itemId) return new f.default({ id: t.itemId, portal: r && r.portal });
            }
            writePortalItem(e, t) {
              e && e.id && (t.itemId = e.id);
            }
            async loadFromPortal(e, t) {
              if (this.portalItem && this.portalItem.id)
                try {
                  const i = await r
                    .e(8642)
                    .then(r.bind(r, 8642))
                    .then(function (e) {
                      return e.l;
                    });
                  return (
                    (0, p.k_)(t),
                    await i.load(
                      {
                        instance: this,
                        supportedTypes: e.supportedTypes,
                        validateItem: e.validateItem,
                        supportsData: e.supportsData,
                      },
                      t,
                    )
                  );
                } catch (e) {
                  throw (
                    ((0, p.D_)(e) ||
                      b.warn(
                        `Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n  ${e}`,
                      ),
                    e)
                  );
                }
            }
            async finishLoadEditablePortalLayer(e) {
              this._set(
                'userHasEditingPrivileges',
                await this.fetchUserHasEditingPrivileges(e).catch((e) => ((0, p.r9)(e), !0)),
              );
            }
            async fetchUserHasEditingPrivileges(e) {
              const t = this.url ? (null == o.id ? void 0 : o.id.findCredential(this.url)) : null;
              if (!t) return !0;
              const r = _.credential === t ? _.user : await this.fetchEditingUser(e);
              return (
                (_.credential = t),
                (_.user = r),
                (0, u.b)(r) || null == r.privileges || r.privileges.includes('features:user:edit')
              );
            }
            async fetchEditingUser(e) {
              var t, r;
              const i = null == (t = this.portalItem) || null == (r = t.portal) ? void 0 : r.user;
              if (i) return i;
              const a = o.id.findServerInfo(this.url);
              if (null == a || !a.owningSystemUrl) return null;
              const l = `${a.owningSystemUrl}/sharing/rest`,
                p = m.Z.getDefault();
              if (p && p.loaded && (0, c.Fv)(p.restUrl) === (0, c.Fv)(l)) return p.user;
              const d = `${l}/community/self`,
                y = (0, u.i)(e) ? e.signal : null,
                h = await (0, n.r)(
                  (0, s.default)(d, { authMode: 'no-prompt', query: { f: 'json' }, signal: y }),
                );
              return h.ok ? v.default.fromJSON(h.value.data) : null;
            }
            read(e, t) {
              t && (t.layer = this), super.read(e, t);
            }
            write(e, t) {
              const r = t && t.portal,
                i =
                  this.portalItem &&
                  this.portalItem.id &&
                  (this.portalItem.portal || m.Z.getDefault());
              return r && i && !(0, c.tm)(i.restUrl, r.restUrl)
                ? (t.messages &&
                    t.messages.push(
                      new a.Z(
                        'layer:cross-portal',
                        `The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save the scene, set the layer.portalItem to null or save the scene to the same portal as the item associated with the layer`,
                        { layer: this },
                      ),
                    ),
                  null)
                : super.write(e, { ...t, layer: this });
            }
          };
          return (
            (0, i._)([(0, d.Cb)({ type: f.default })], t.prototype, 'portalItem', null),
            (0, i._)(
              [(0, y.r)('web-document', 'portalItem', ['itemId'])],
              t.prototype,
              'readPortalItem',
              null,
            ),
            (0, i._)(
              [(0, g.w)('web-document', 'portalItem', { itemId: { type: String } })],
              t.prototype,
              'writePortalItem',
              null,
            ),
            (0, i._)([(0, d.Cb)()], t.prototype, 'resourceReferences', void 0),
            (0, i._)(
              [(0, d.Cb)({ readOnly: !0 })],
              t.prototype,
              'userHasEditingPrivileges',
              void 0,
            ),
            (t = (0, i._)([(0, h.j)('esri.layers.mixins.PortalLayer')], t)),
            t
          );
        },
        _ = { credential: null, user: null };
    },
    50161: (e, t, r) => {
      'use strict';
      r.d(t, { R: () => p });
      var i = r(29768),
        o = r(21972),
        s = r(76506),
        n = r(26341),
        a = r(86656),
        l = r(17533);
      class u {
        constructor() {
          (this._propertyOriginMap = new Map()),
            (this._originStores = new Array(o.b)),
            (this._values = new Map());
        }
        clone(e) {
          const t = new u(),
            r = this._originStores[0];
          r &&
            r.forEach((e, r) => {
              t.set(r, (0, s.d9)(e), 0);
            });
          for (let r = 2; r < o.b; r++) {
            const i = this._originStores[r];
            i &&
              i.forEach((i, o) => {
                (e && e.has(o)) || t.set(o, (0, s.d9)(i), r);
              });
          }
          return t;
        }
        get(e, t) {
          const r = void 0 === t ? this._values : this._originStores[t];
          return r ? r.get(e) : void 0;
        }
        keys(e) {
          const t = null == e ? this._values : this._originStores[e];
          return t ? [...t.keys()] : [];
        }
        set(e, t, r = 6) {
          let i = this._originStores[r];
          if (
            (i || ((i = new Map()), (this._originStores[r] = i)),
            i.set(e, t),
            !this._values.has(e) || (0, s.a)(this._propertyOriginMap.get(e)) <= r)
          ) {
            const i = this._values.get(e);
            return this._values.set(e, t), this._propertyOriginMap.set(e, r), i !== t;
          }
          return !1;
        }
        delete(e, t = 6) {
          const r = this._originStores[t];
          if (!r) return;
          const i = r.get(e);
          if ((r.delete(e), this._values.has(e) && this._propertyOriginMap.get(e) === t)) {
            this._values.delete(e);
            for (let r = t - 1; r >= 0; r--) {
              const t = this._originStores[r];
              if (t && t.has(e)) {
                this._values.set(e, t.get(e)), this._propertyOriginMap.set(e, r);
                break;
              }
            }
          }
          return i;
        }
        has(e, t) {
          const r = void 0 === t ? this._values : this._originStores[t];
          return !!r && r.has(e);
        }
        revert(e, t) {
          for (; t > 0 && !this.has(e, t); ) --t;
          const r = this._originStores[t],
            i = r && r.get(e),
            o = this._values.get(e);
          return this._values.set(e, i), this._propertyOriginMap.set(e, t), o !== i;
        }
        originOf(e) {
          return this._propertyOriginMap.get(e) || 0;
        }
        forEach(e) {
          this._values.forEach(e);
        }
      }
      const p = (e) => {
        let t = class extends e {
          constructor(...e) {
            super(...e);
            const t = (0, s.a)((0, a.g)(this)),
              r = t.metadatas,
              i = t.store,
              o = new u();
            (t.store = o),
              i.keys().forEach((e) => {
                o.set(e, i.get(e), 0);
              }),
              Object.keys(r).forEach((e) => {
                t.internalGet(e) && o.set(e, t.internalGet(e), 0);
              });
          }
          read(e, t) {
            (0, n.r)(this, e, t);
          }
          getAtOrigin(e, t) {
            const r = c(this),
              i = (0, o.n)(t);
            if ('string' == typeof e) return r.get(e, i);
            const s = {};
            return (
              e.forEach((e) => {
                s[e] = r.get(e, i);
              }),
              s
            );
          }
          originOf(e) {
            return (0, o.c)(this.originIdOf(e));
          }
          originIdOf(e) {
            return c(this).originOf(e);
          }
          revert(e, t) {
            const r = c(this),
              i = (0, o.n)(t),
              s = (0, a.g)(this);
            let n;
            (n = 'string' == typeof e ? ('*' === e ? r.keys(i) : [e]) : e),
              n.forEach((e) => {
                s.invalidate(e), r.revert(e, i), s.commit(e);
              });
          }
        };
        return (t = (0, i._)([(0, l.j)('esri.core.ReadOnlyMultiOriginJSONSupport')], t)), t;
      };
      function c(e) {
        return (0, a.g)(e).store;
      }
      let d = class extends p(o.Z) {};
      d = (0, i._)([(0, l.j)('esri.core.ReadOnlyMultiOriginJSONSupport')], d);
    },
    58912: (e, t, r) => {
      'use strict';
      r.d(t, { S: () => n });
      var i = r(29768),
        o = r(34250),
        s = (r(76506), r(91306), r(92143), r(17533));
      const n = (e) => {
        let t = class extends e {
          constructor() {
            super(...arguments), (this.minScale = 0), (this.maxScale = 0);
          }
          get scaleRangeId() {
            return `${this.minScale},${this.maxScale}`;
          }
        };
        return (
          (0, i._)(
            [(0, o.Cb)({ type: Number, nonNullable: !0, json: { write: !0 } })],
            t.prototype,
            'minScale',
            void 0,
          ),
          (0, i._)(
            [(0, o.Cb)({ type: Number, nonNullable: !0, json: { write: !0 } })],
            t.prototype,
            'maxScale',
            void 0,
          ),
          (0, i._)([(0, o.Cb)({ readOnly: !0 })], t.prototype, 'scaleRangeId', null),
          (t = (0, i._)([(0, s.j)('esri.layers.mixins.ScaleRangeLayer')], t)),
          t
        );
      };
    },
    92482: (e, t, r) => {
      'use strict';
      r.d(t, {
        N: () => c,
        a: () => o,
        d: () => u,
        f: () => s,
        m: () => p,
        p: () => n,
        t: () => a,
        x: () => l,
      }),
        r(76506);
      var i = r(21801);
      function o(e = d) {
        return [e[0], e[1], e[2], e[3]];
      }
      function s(e, t, r, i, s = o()) {
        return (s[0] = e), (s[1] = t), (s[2] = r), (s[3] = i), s;
      }
      function n(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 p(e, t) {
        return t[0] >= e[0] && t[2] <= e[2] && t[1] >= e[1] && t[3] <= e[3];
      }
      const c = [1 / 0, 1 / 0, -1 / 0, -1 / 0],
        d = [0, 0, 0, 0];
    },
    43022: (e, t, r) => {
      'use strict';
      r.d(t, {
        a: () => f,
        b: () => y,
        c: () => S,
        d: () => u,
        e: () => h,
        f: () => v,
        i: () => w,
        l: () => c,
        m: () => _,
        o: () => m,
        p: () => p,
        r: () => g,
        s: () => b,
        u: () => d,
      });
      var i = r(93314),
        o = r(21801),
        s = r(60947),
        n = r(38742),
        a = r(47842),
        l = r(34394);
      const u = {
          type: Boolean,
          value: !0,
          json: {
            origins: { service: { read: !1, write: !1 }, 'web-map': { read: !1, write: !1 } },
            name: 'screenSizePerspective',
            write: !0,
          },
        },
        p = {
          type: Boolean,
          value: !0,
          json: {
            name: 'disablePopup',
            read: { reader: (e, t) => !t.disablePopup },
            write: {
              enabled: !0,
              writer(e, t, r) {
                t[r] = !e;
              },
            },
          },
        },
        c = { type: Boolean, value: !0, json: { name: 'showLabels', write: !0 } },
        d = {
          type: String,
          json: {
            origins: { 'portal-item': { write: !1 } },
            write: { isRequired: !0, ignoreOrigin: !0, writer: n.w },
          },
        },
        y = {
          type: Boolean,
          value: !0,
          json: { origins: { service: { read: { enabled: !1 } } }, name: 'showLegend', write: !0 },
        },
        h = {
          value: null,
          type: a.E,
          json: {
            origins: { service: { name: 'elevationInfo', write: !0 } },
            name: 'layerDefinition.elevationInfo',
            write: !0,
          },
        };
      function g(e) {
        return { type: e, readOnly: !0, json: { origins: { service: { read: !0 } }, read: !1 } };
      }
      const m = {
          type: Number,
          json: {
            origins: {
              'web-document': { default: 1, write: !0, read: !0 },
              'portal-item': { write: !0 },
            },
          },
        },
        f = {
          ...m,
          json: {
            ...m.json,
            origins: {
              'web-document': {
                ...m.json.origins['web-document'],
                write: {
                  enabled: !0,
                  target: {
                    opacity: { type: Number },
                    'layerDefinition.drawingInfo.transparency': { type: Number },
                  },
                },
              },
            },
            read: {
              source: ['layerDefinition.drawingInfo.transparency', 'drawingInfo.transparency'],
              reader: (e, t, r) =>
                (r && 'service' !== r.origin) ||
                !t.drawingInfo ||
                void 0 === t.drawingInfo.transparency
                  ? t.layerDefinition &&
                    t.layerDefinition.drawingInfo &&
                    void 0 !== t.layerDefinition.drawingInfo.transparency
                    ? (0, l.t)(t.layerDefinition.drawingInfo.transparency)
                    : void 0
                  : (0, l.t)(t.drawingInfo.transparency),
            },
          },
        },
        v = {
          type: i.Z,
          readOnly: !0,
          get() {
            var e, t;
            if (null == (e = this.layer) || !e.timeInfo) return null;
            const r = null == (t = this.view) ? void 0 : t.timeExtent,
              i = this.layer.timeExtent,
              o = this.layer.useViewTime ? (r && i ? r.intersection(i) : r || i) : i;
            if (!o || o.isEmpty) return o;
            const s = this.layer.timeOffset,
              n = s ? o.offset(-s.value, s.unit) : o,
              a = this._get('timeExtent');
            return n.equals(a) ? a : n;
          },
        },
        b = {
          type: o.Z,
          readOnly: !0,
          json: {
            origins: {
              service: {
                read: {
                  source: ['fullExtent', 'spatialReference'],
                  reader: (e, t) => {
                    const r = o.Z.fromJSON(e);
                    return (
                      null != t.spatialReference &&
                        'object' == typeof t.spatialReference &&
                        (r.spatialReference = s.Z.fromJSON(t.spatialReference)),
                      r
                    );
                  },
                },
              },
            },
            read: !1,
          },
        },
        w = {
          type: String,
          json: { origins: { service: { read: !1 }, 'portal-item': { read: !1 } } },
        },
        _ = {
          type: Number,
          json: {
            origins: { service: { write: { enabled: !1 } } },
            read: { source: 'layerDefinition.minScale' },
            write: { target: 'layerDefinition.minScale' },
          },
        },
        S = {
          type: Number,
          json: {
            origins: { service: { write: { enabled: !1 } } },
            read: { source: 'layerDefinition.maxScale' },
            write: { target: 'layerDefinition.maxScale' },
          },
        };
    },
    34394: (e, t, r) => {
      'use strict';
      r.d(t, { o: () => o, t: () => s });
      var i = r(91306);
      function o(e) {
        const t = (0, i.m)(100 * (1 - e));
        return Math.max(0, Math.min(t, 100));
      }
      function s(e) {
        const t = 1 - e / 100;
        return Math.max(0, Math.min(t, 1));
      }
    },
    38742: (e, t, r) => {
      'use strict';
      r.d(t, { f: () => s, i: () => c, p: () => y, r: () => a, t: () => n, w: () => l });
      var i = r(76506),
        o = r(32101);
      function s(e, t) {
        const r = t && t.url && t.url.path;
        if (
          e &&
          r &&
          ((e = (0, o.hF)(e, r, { preserveProtocolRelative: !0 })),
          t.portalItem && t.readResourcePaths)
        ) {
          const r = (0, o.PF)(e, t.portalItem.itemUrl);
          p.test(r) && t.readResourcePaths.push(t.portalItem.resourceFromPath(r).path);
        }
        return d(e, t && t.portal);
      }
      function n(e, t, r = 0) {
        if (!e) return e;
        !(0, o.YP)(e) && t && t.blockedRelativeUrls && t.blockedRelativeUrls.push(e);
        let i = (0, o.hF)(e);
        if (t) {
          const r =
            (t.verifyItemRelativeUrls && t.verifyItemRelativeUrls.rootPath) ||
            (t.url && t.url.path);
          if (r) {
            const s = d(r, t.portal);
            (i = (0, o.PF)(d(i, t.portal), s, s)),
              i !== e && t.verifyItemRelativeUrls && t.verifyItemRelativeUrls.writtenUrls.push(i);
          }
        }
        return (
          (i = (function (e, t) {
            return t && !t.isPortal && t.urlKey && t.customBaseUrl
              ? (0, o.Ie)(e, `${t.urlKey}.${t.customBaseUrl}`, t.portalHostname)
              : e;
          })(i, t && t.portal)),
          (0, o.YP)(i) && (i = (0, o.Fv)(i)),
          null != t &&
            t.resources &&
            null != t &&
            t.portalItem &&
            !(0, o.YP)(i) &&
            !(0, o.HK)(i) &&
            0 === r &&
            t.resources.toKeep.push({ resource: t.portalItem.resourceFromPath(i) }),
          i
        );
      }
      function a(e, t, r) {
        return s(e, r);
      }
      function l(e, t, r, i) {
        const o = n(e, i);
        void 0 !== o && (t[r] = o);
      }
      const u = /\/items\/([^\/]+)\/resources\//,
        p = /^\.\/resources\//;
      function c(e) {
        const t = (0, i.i)(e) ? e.match(u) : null;
        return (0, i.i)(t) ? t[1] : null;
      }
      function d(e, t) {
        if (!t || t.isPortal || !t.urlKey || !t.customBaseUrl) return e;
        const r = `${t.urlKey}.${t.customBaseUrl}`;
        return (0, o.D6)(o.Gd, `${o.Gd.scheme}://${r}`)
          ? (0, o.Ie)(e, t.portalHostname, r)
          : (0, o.Ie)(e, r, t.portalHostname);
      }
      var y = Object.freeze({
        __proto__: null,
        fromJSON: s,
        toJSON: n,
        read: a,
        write: l,
        itemIdFromResourceUrl: c,
      });
    },
    35197: (e, t, r) => {
      'use strict';
      r.d(t, { c: () => a, o: () => s, t: () => n }), r(76506);
      const i = {
          milliseconds: 1,
          seconds: 1e3,
          minutes: 6e4,
          hours: 36e5,
          days: 864e5,
          weeks: 6048e5,
          months: 26784e5,
          years: 31536e6,
          decades: 31536e7,
          centuries: 31536e8,
        },
        o = {
          milliseconds: { getter: 'getMilliseconds', setter: 'setMilliseconds', multiplier: 1 },
          seconds: { getter: 'getSeconds', setter: 'setSeconds', multiplier: 1 },
          minutes: { getter: 'getMinutes', setter: 'setMinutes', multiplier: 1 },
          hours: { getter: 'getHours', setter: 'setHours', multiplier: 1 },
          days: { getter: 'getDate', setter: 'setDate', multiplier: 1 },
          weeks: { getter: 'getDate', setter: 'setDate', multiplier: 7 },
          months: { getter: 'getMonth', setter: 'setMonth', multiplier: 1 },
          years: { getter: 'getFullYear', setter: 'setFullYear', multiplier: 1 },
          decades: { getter: 'getFullYear', setter: 'setFullYear', multiplier: 10 },
          centuries: { getter: 'getFullYear', setter: 'setFullYear', multiplier: 100 },
        };
      function s(e, t, r) {
        const i = new Date(e.getTime());
        if (t && r) {
          const e = o[r],
            { getter: s, setter: n, multiplier: a } = e;
          i[n](i[s]() + t * a);
        }
        return i;
      }
      function n(e, t) {
        switch (t) {
          case 'milliseconds':
            return new Date(e.getTime());
          case 'seconds':
            return new Date(
              e.getFullYear(),
              e.getMonth(),
              e.getDate(),
              e.getHours(),
              e.getMinutes(),
              e.getSeconds(),
            );
          case 'minutes':
            return new Date(
              e.getFullYear(),
              e.getMonth(),
              e.getDate(),
              e.getHours(),
              e.getMinutes(),
            );
          case 'hours':
            return new Date(e.getFullYear(), e.getMonth(), e.getDate(), e.getHours());
          case 'days':
            return new Date(e.getFullYear(), e.getMonth(), e.getDate());
          case 'weeks':
            return new Date(e.getFullYear(), e.getMonth(), e.getDate() - e.getDay());
          case 'months':
            return new Date(e.getFullYear(), e.getMonth(), 1);
          case 'years':
            return new Date(e.getFullYear(), 0, 1);
          case 'decades':
            return new Date(e.getFullYear() - (e.getFullYear() % 10), 0, 1);
          case 'centuries':
            return new Date(e.getFullYear() - (e.getFullYear() % 100), 0, 1);
          default:
            return new Date();
        }
      }
      function a(e, t, r) {
        return 0 === e ? 0 : (e * i[t]) / i[r];
      }
    },
    17298: (e, t, r) => {
      'use strict';
      r.d(t, { s: () => o });
      var i = r(85557);
      const o = (function () {
        const e = Object.keys(i.m);
        return e.sort(), e;
      })();
    },
    82933: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => p });
      var i = r(29768),
        o = r(21972),
        s = r(15324),
        n = 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) && !s.Z.isCollection(e)) return this;
          const r = this._getOrCreateGroup(t);
          return (
            Array.isArray(e) || s.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) || s.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, n.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 p = u;
    },
    617: (e, t, r) => {
      'use strict';
      r.d(t, {
        S1: () => p,
        on: () => g,
        OY: () => h,
        cm: () => d,
        N1: () => c,
        LR: () => y,
        tH: () => o,
      });
      var i = r(50406);
      function o(e, t, r, o, s) {
        const n = 'function' == typeof o ? o : null,
          a = 'object' == typeof o ? o : null;
        'boolean' == typeof o && (s = o);
        let l,
          u = !1;
        function p() {
          l && (l.remove(), (l = null));
        }
        const c = (0, i.dD)();
        (0, i.fu)(a, () => {
          p(), c.reject((0, i.zE)());
        });
        const d = {
          then: c.promise.then.bind(c.promise),
          catch: c.promise.catch.bind(c.promise),
          remove: p,
        };
        return (
          Object.freeze(d),
          (l = (function (e, t, r, i, o) {
            const s = e.watch(
              t,
              (t, o, s, n) => {
                (r && !r(t)) || null == i || i.call(e, t, o, s, n);
              },
              o,
            );
            if (Array.isArray(t))
              for (const o of t) {
                const s = e.get(o);
                r && r(s) && (null == i || i.call(e, s, s, t, e));
              }
            else {
              const o = e.get(t);
              r && r(o) && (null == i || i.call(e, o, o, t, e));
            }
            return s;
          })(
            e,
            t,
            r,
            (t, r, i, o) => {
              (u = !0),
                p(),
                n && n.call(e, t, r, i, o),
                c.resolve({ value: t, oldValue: r, propertyName: i, target: o });
            },
            s,
          )),
          u && p(),
          d
        );
      }
      function s(e) {
        return !!e;
      }
      function n(e) {
        return !e;
      }
      function a(e) {
        return !0 === e;
      }
      function l(e) {
        return !1 === e;
      }
      r(76506), r(60991), r(92143), r(31450), r(71552), r(40642), r(81172);
      const u = /\?(\.|$)/g;
      function p(e, t, r, i) {
        const o = Array.isArray(t) ? t : t.indexOf(',') > -1 ? t.split(',') : [t],
          s = (function (e, t, r, i) {
            return e.watch(t, r, i);
          })(e, t, r, i);
        for (const t of o) {
          const i = t.trim().replace(u, '$1'),
            o = e.get(i);
          r.call(e, o, o, i, e);
        }
        return s;
      }
      function c(e, t, r, i) {
        return o(e, t, s, r, i);
      }
      function d(e, t, r, i) {
        return o(e, t, n, r, i);
      }
      function y(e, t, r, i) {
        return o(e, t, a, r, i);
      }
      function h(e, t, r, i) {
        return o(e, t, l, r, i);
      }
      function g(e, t, r, o, s, n, a) {
        const l = {};
        function u(t) {
          const i = l[t];
          i && (n && n(i.target, t, e, r), i.handle.remove(), delete l[t]);
        }
        const c = p(
          e,
          t,
          (t, n, a) => {
            u(a),
              (0, i.i)(t) &&
                ((l[a] = { handle: (0, i.o)(t, r, o), target: t }), s && s(t, a, e, r));
          },
          a,
        );
        return {
          remove() {
            c.remove();
            for (const e in l) u(e);
          },
        };
      }
    },
    29027: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => v });
      var i,
        o = r(29768),
        s = r(27794),
        n = r(57251),
        a = r(74673),
        l = r(53785),
        u = r(17533),
        p = r(34250),
        c = (r(76506), r(91306), r(92143), r(97714)),
        d = r(2906);
      r(71552),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(31450),
        r(40642),
        r(26341),
        r(95587),
        r(60947),
        r(89623);
      const y = (0, n.s)()({
          orthometric: 'gravity-related-height',
          gravity_related_height: 'gravity-related-height',
          ellipsoidal: 'ellipsoidal',
        }),
        h = y.jsonValues.slice();
      (0, s.r)(h, 'orthometric');
      const g = (0, n.s)()({
        meter: 'meters',
        foot: 'feet',
        'us-foot': 'us-feet',
        'clarke-foot': 'clarke-feet',
        'clarke-yard': 'clarke-yards',
        'clarke-link': 'clarke-links',
        'sears-yard': 'sears-yards',
        'sears-foot': 'sears-feet',
        'sears-chain': 'sears-chains',
        'benoit-1895-b-chain': 'benoit-1895-b-chains',
        'indian-yard': 'indian-yards',
        'indian-1937-yard': 'indian-1937-yards',
        'gold-coast-foot': 'gold-coast-feet',
        'sears-1922-truncated-chain': 'sears-1922-truncated-chains',
        '50-kilometers': '50-kilometers',
        '150-kilometers': '150-kilometers',
      });
      let m = (i = class extends a.a {
        constructor(e) {
          super(e),
            (this.heightModel = 'gravity-related-height'),
            (this.heightUnit = 'meters'),
            (this.vertCRS = null);
        }
        writeHeightModel(e, t, r) {
          return y.write(e, t, r);
        }
        readHeightModel(e, t, r) {
          return (
            y.read(e) ||
            (r &&
              r.messages &&
              r.messages.push(
                (function (e, t) {
                  return new u.W(
                    'height-model:unsupported',
                    `Height model of value '${e}' is not supported`,
                    t,
                  );
                })(e, { context: r }),
              ),
            null)
          );
        }
        readHeightUnit(e, t, r) {
          return g.read(e) || (r && r.messages && r.messages.push(f(e, { context: r })), null);
        }
        readHeightUnitService(e, t, r) {
          return (
            (0, l.u)(e) ||
            g.read(e) ||
            (r && r.messages && r.messages.push(f(e, { context: r })), null)
          );
        }
        readVertCRS(e, t) {
          return t.vertCRS || t.ellipsoid || t.geoid;
        }
        clone() {
          return new i({
            heightModel: this.heightModel,
            heightUnit: this.heightUnit,
            vertCRS: this.vertCRS,
          });
        }
        equals(e) {
          return (
            !!e &&
            (this === e ||
              (this.heightModel === e.heightModel &&
                this.heightUnit === e.heightUnit &&
                this.vertCRS === e.vertCRS))
          );
        }
        static deriveUnitFromSR(e, t) {
          const r = (0, l.g)(t);
          return new i({ heightModel: e.heightModel, heightUnit: r, vertCRS: e.vertCRS });
        }
        write(e, t) {
          return (t = { origin: 'web-scene', ...t }), super.write(e, t);
        }
        static fromJSON(e) {
          if (!e) return null;
          const t = new i();
          return t.read(e, { origin: 'web-scene' }), t;
        }
      });
      function f(e, t) {
        return new u.W(
          'height-unit:unsupported',
          `Height unit of value '${e}' is not supported`,
          t,
        );
      }
      (0, o._)(
        [
          (0, p.Cb)({
            type: y.apiValues,
            constructOnly: !0,
            json: { origins: { 'web-scene': { type: h, default: 'ellipsoidal' } } },
          }),
        ],
        m.prototype,
        'heightModel',
        void 0,
      ),
        (0, o._)([(0, d.w)('web-scene', 'heightModel')], m.prototype, 'writeHeightModel', null),
        (0, o._)(
          [(0, c.r)(['web-scene', 'service'], 'heightModel')],
          m.prototype,
          'readHeightModel',
          null,
        ),
        (0, o._)(
          [
            (0, p.Cb)({
              type: g.apiValues,
              constructOnly: !0,
              json: { origins: { 'web-scene': { type: g.jsonValues, write: g.write } } },
            }),
          ],
          m.prototype,
          'heightUnit',
          void 0,
        ),
        (0, o._)([(0, c.r)('web-scene', 'heightUnit')], m.prototype, 'readHeightUnit', null),
        (0, o._)([(0, c.r)('service', 'heightUnit')], m.prototype, 'readHeightUnitService', null),
        (0, o._)(
          [
            (0, p.Cb)({
              type: String,
              constructOnly: !0,
              json: { origins: { 'web-scene': { write: !0 } } },
            }),
          ],
          m.prototype,
          'vertCRS',
          void 0,
        ),
        (0, o._)(
          [(0, c.r)('service', 'vertCRS', ['vertCRS', 'ellipsoid', 'geoid'])],
          m.prototype,
          'readVertCRS',
          null,
        ),
        (m = i = (0, o._)([(0, u.j)('esri.geometry.HeightModelInfo')], m));
      const v = m;
    },
    21244: (e, t, r) => {
      'use strict';
      r.r(t), r.d(t, { default: () => z });
      var i = r(29768),
        o = r(60991),
        s = r(82933),
        n = r(76506),
        a = r(54179),
        l = r(50406),
        u = r(617),
        p = r(34250),
        c = (r(91306), r(92143), r(97714)),
        d = r(17533),
        y = r(25368),
        h = r(32101),
        g = r(10279),
        m = r(86656),
        f = r(21972),
        v = r(38742);
      function b(e) {
        return (
          w[
            (function (e) {
              return e instanceof Blob
                ? e.type
                : (function (e) {
                    const t = (0, h.Ml)(e);
                    return I[t] || _;
                  })(e.url);
            })(e)
          ] || S
        );
      }
      const w = {},
        _ = 'text/plain',
        S = w[_],
        I = {
          png: 'image/png',
          jpeg: 'image/jpeg',
          jpg: 'image/jpg',
          bmp: 'image/bmp',
          gif: 'image/gif',
          json: 'application/json',
          txt: 'text/plain',
          xml: 'application/xml',
          svg: 'image/svg+xml',
          zip: 'application/zip',
          pbf: 'application/vnd.mapbox-vector-tile',
          gz: 'application/gzip',
        };
      for (const e in I) w[I[e]] = e;
      function C(e) {
        const t = (0, n.i)(e) && e.origins ? e.origins : [void 0];
        return (r, i) => {
          const o = (function (e, t, r) {
            if ((0, n.i)(e) && 'resource' === e.type)
              return (function (e, t, r) {
                const i = (0, m.a)(t, r);
                return {
                  type: String,
                  read: (e, t, r) => {
                    const o = (0, v.r)(e, t, r);
                    return i.type === String
                      ? o
                      : 'function' == typeof i.type
                      ? new i.type({ url: o })
                      : void 0;
                  },
                  write: {
                    writer(t, o, s, a) {
                      if (!a || !a.resources)
                        return 'string' == typeof t
                          ? void (o[s] = (0, v.t)(t, a))
                          : void (o[s] = t.write({}, a));
                      const l = ((c = t), (0, n.b)(c) ? null : 'string' == typeof c ? c : c.url),
                        u = l
                          ? (0, v.t)(
                              l,
                              {
                                ...a,
                                verifyItemRelativeUrls:
                                  a && a.verifyItemRelativeUrls
                                    ? {
                                        writtenUrls: a.verifyItemRelativeUrls.writtenUrls,
                                        rootPath: null,
                                      }
                                    : null,
                              },
                              1,
                            )
                          : null,
                        p =
                          i.type !== String &&
                          (!(0, y.i)(this) ||
                            (a && a.origin && this.originIdOf(r) > (0, f.n)(a.origin)));
                      var c;
                      a && a.portalItem && (0, n.i)(u) && !(0, h.YP)(u)
                        ? p
                          ? (function (e, t, r, i, o, s, n, a) {
                              const l = n.portalItem.resourceFromPath(i),
                                u = T(r, i, n);
                              b(u) === (0, h.Ml)(l.path)
                                ? (M(e, t, l, u, n.resources.toUpdate), (o[s] = i))
                                : x(e, t, r, i, o, s, n, a);
                            })(this, r, t, u, o, s, a, e)
                          : (function (e, t, r, i) {
                              i.resources.toKeep.push({
                                resource: i.portalItem.resourceFromPath(e),
                              }),
                                (t[r] = e);
                            })(u, o, s, a)
                        : a &&
                          a.portalItem &&
                          ((0, n.b)(u) || (0, n.i)((0, v.i)(u)) || (0, h.jc)(u) || p)
                        ? x(this, r, t, u, o, s, a, e)
                        : (o[s] = u);
                    },
                  },
                };
              })(e, t, r);
            switch ((0, n.i)(e) && e.type ? e.type : 'other') {
              case 'other':
                return { read: !0, write: !0 };
              case 'url': {
                const { read: e, write: t } = v.p;
                return { read: e, write: t };
              }
            }
          })(e, r, i);
          for (const e of t) {
            const t = (0, p.CJ)(r, e, i);
            for (const e in o) t[e] = o[e];
          }
        };
      }
      function x(e, t, i, o, s, a, l, u) {
        const p = (0, g.g)(),
          c = T(i, o, l),
          d = (0, h.v_)((0, n.c)(u, 'prefix'), p),
          y = `${d}.${b(c)}`,
          m = l.portalItem.resourceFromPath(y);
        (0, h.jc)(o) &&
          l.resources.pendingOperations.push(
            (async function (e) {
              const t = (
                  await Promise.resolve()
                    .then(r.bind(r, 82058))
                    .then(function (e) {
                      return e.r;
                    })
                ).default,
                { data: i } = await t(e, { responseType: 'blob' });
              return i;
            })(o)
              .then((e) => {
                (m.path = `${d}.${b(e)}`), (s[a] = m.itemRelativeUrl);
              })
              .catch(() => {}),
          ),
          M(e, t, m, c, l.resources.toAdd),
          (s[a] = m.itemRelativeUrl);
      }
      function M(e, t, r, i, o) {
        o.push({
          resource: r,
          content: i,
          finish: (r) => {
            !(function (e, t, r) {
              'string' == typeof e[t] ? (e[t] = r.url) : (e[t].url = r.url);
            })(e, t, r);
          },
        });
      }
      function T(e, t, r) {
        return 'string' == typeof e
          ? { url: t }
          : new Blob([JSON.stringify(e.toJSON(r))], { type: 'application/json' });
      }
      var O,
        j = r(41617),
        L = r(21781),
        E = r(75025),
        R = r(89440),
        D = r(62162),
        A = r(58912),
        N = r(98412),
        U = r(43022),
        F = r(69003),
        G = r(82058),
        P = r(15324),
        k = r(74673),
        Z = (r(74569), r(2906)),
        H = r(72334),
        $ = r(44567);
      r(21801),
        r(40642),
        r(71552),
        r(73796),
        r(60947),
        r(23639),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(81172),
        r(31450),
        r(26341),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(84069),
        r(92896),
        r(98380),
        r(22781),
        r(57251),
        r(32422),
        r(82426),
        r(53785),
        r(95587),
        r(65775),
        r(12381),
        r(73173),
        r(88762),
        r(92482),
        r(92624);
      let B = (O = class extends k.a {
        constructor(e) {
          super(e), (this.geometry = null), (this.type = 'clip');
        }
        writeGeometry(e, t, r, i) {
          if (
            i.layer &&
            i.layer.spatialReference &&
            !i.layer.spatialReference.equals(this.geometry.spatialReference)
          ) {
            if (!(0, H.Up)(e.spatialReference, i.layer.spatialReference))
              return void (
                i &&
                i.messages &&
                i.messages.push(
                  new d.W(
                    'scenemodification:unsupported',
                    'Scene modifications with incompatible spatial references are not supported',
                    { modification: this, spatialReference: i.layer.spatialReference, context: i },
                  ),
                )
              );
            const o = new $.Z();
            (0, H.Wt)(e, o, i.layer.spatialReference), (t[r] = o.toJSON(i));
          } else t[r] = e.toJSON(i);
          delete t[r].spatialReference;
        }
        clone() {
          return new O({ geometry: (0, n.d9)(this.geometry), type: this.type });
        }
      });
      (0, i._)([(0, p.Cb)({ type: $.Z }), C()], B.prototype, 'geometry', void 0),
        (0, i._)(
          [(0, Z.w)(['web-scene', 'portal-item'], 'geometry')],
          B.prototype,
          'writeGeometry',
          null,
        ),
        (0, i._)(
          [(0, p.Cb)({ type: ['clip', 'mask', 'replace'], nonNullable: !0 }), C()],
          B.prototype,
          'type',
          void 0,
        ),
        (B = O = (0, i._)([(0, d.j)('esri.layers.support.SceneModification')], B));
      const J = B;
      var V;
      r(76996);
      let Y = (V = class extends (0, k.J)(P.Z.ofType(J)) {
        constructor(e) {
          super(e), (this.url = null);
        }
        toJSON(e) {
          return this.toArray()
            .map((t) => t.toJSON(e))
            .filter((e) => !!e.geometry);
        }
        clone() {
          return new V({ url: this.url, items: this.items.map((e) => e.clone()) });
        }
        _readModifications(e, t) {
          for (const r of e) this.add(J.fromJSON(r, t));
        }
        static fromJSON(e, t) {
          const r = new V();
          return r._readModifications(e, t), r;
        }
        static async fromUrl(e, t, r) {
          const i = { url: (0, h.mN)(e), origin: 'service' },
            o = await (0, G.default)(e, { responseType: 'json', signal: (0, n.c)(r, 'signal') }),
            s = t.toJSON(),
            a = [];
          for (const e of o.data)
            a.push(J.fromJSON({ ...e, geometry: { ...e.geometry, spatialReference: s } }, i));
          return new V({ url: e, items: a });
        }
      });
      (0, i._)([(0, p.Cb)({ type: String })], Y.prototype, 'url', void 0),
        (Y = V = (0, i._)([(0, d.j)('esri.layers.support.SceneModifications')], Y));
      const K = Y;
      r(50161),
        r(82673),
        r(22739),
        r(20543),
        r(21132),
        r(41864),
        r(49900),
        r(66284),
        r(33921),
        r(3482),
        r(67477),
        r(78533),
        r(74653),
        r(91091),
        r(58943),
        r(56420),
        r(74742),
        r(28239),
        r(29027),
        r(83805),
        r(46857),
        r(3754),
        r(93314),
        r(35197),
        r(47842),
        r(14249),
        r(9801),
        r(53523),
        r(59465),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(17298),
        r(85557),
        r(34394);
      let q = class extends (0, N.S)(
        (0, E.A)((0, R.O)((0, D.P)((0, A.S)((0, a.M)((0, L.A)(j.Z)))))),
      ) {
        constructor(...e) {
          super(...e),
            (this.handles = new s.Z()),
            (this.geometryType = 'mesh'),
            (this.operationalLayerType = 'IntegratedMeshLayer'),
            (this.type = 'integrated-mesh'),
            (this.nodePages = null),
            (this.materialDefinitions = null),
            (this.textureSetDefinitions = null),
            (this.geometryDefinitions = null),
            (this.serviceUpdateTimeStamp = null),
            (this.profile = 'mesh-pyramids'),
            (this.modifications = null),
            (this._modificationsSource = null),
            (this.elevationInfo = null),
            (this.path = null);
        }
        destroy() {
          this.handles.destroy();
        }
        initialize() {
          this.handles.add(
            (0, u.on)(
              this,
              'modifications',
              'after-changes',
              () => (this.modifications = this.modifications),
              null,
              null,
              !0,
            ),
          );
        }
        normalizeCtorArgs(e, t) {
          return 'string' == typeof e ? { url: e, ...t } : e;
        }
        readModifications(e, t, r) {
          this._modificationsSource = { url: (0, v.f)(e, r), context: r };
        }
        async load(e) {
          return this.addResolvingPromise(this._doLoad(e)), this;
        }
        async _doLoad(e) {
          const t = (0, n.c)(e, 'signal');
          try {
            await this.loadFromPortal({ supportedTypes: ['Scene Service'] }, e);
          } catch (e) {
            (0, l.r9)(e);
          }
          if ((await this._fetchService(t), (0, n.i)(this._modificationsSource))) {
            const t = await K.fromUrl(this._modificationsSource.url, this.spatialReference, e);
            this.setAtOrigin('modifications', t, this._modificationsSource.context.origin),
              (this._modificationsSource = null);
          }
          await this._fetchIndexAndUpdateExtent(this.nodePages, t);
        }
        beforeSave() {
          if (!(0, n.b)(this._modificationsSource))
            return this.load().then(
              () => {},
              () => {},
            );
        }
        async saveAs(e, t) {
          return this._debouncedSaveOperations(
            1,
            {
              ...t,
              getTypeKeywords: () => this._getTypeKeywords(),
              portalItemLayerType: 'integrated-mesh',
            },
            e,
          );
        }
        async save() {
          const e = {
            getTypeKeywords: () => this._getTypeKeywords(),
            portalItemLayerType: 'integrated-mesh',
          };
          return this._debouncedSaveOperations(0, e);
        }
        validateLayer(e) {
          if (e.layerType && 'IntegratedMesh' !== e.layerType)
            throw new o.Z(
              'integrated-mesh-layer:layer-type-not-supported',
              'IntegratedMeshLayer does not support this layer type',
              { layerType: e.layerType },
            );
          if (isNaN(this.version.major) || isNaN(this.version.minor))
            throw new o.Z(
              'layer:service-version-not-supported',
              'Service version is not supported.',
              { serviceVersion: this.version.versionString, supportedVersions: '1.x' },
            );
          if (this.version.major > 1)
            throw new o.Z('layer:service-version-too-new', 'Service version is too new.', {
              serviceVersion: this.version.versionString,
              supportedVersions: '1.x',
            });
        }
        _getTypeKeywords() {
          return ['IntegratedMeshLayer'];
        }
      };
      (0, i._)([(0, p.Cb)({ type: String, readOnly: !0 })], q.prototype, 'geometryType', void 0),
        (0, i._)([(0, p.Cb)({ type: ['show', 'hide'] })], q.prototype, 'listMode', void 0),
        (0, i._)(
          [(0, p.Cb)({ type: ['IntegratedMeshLayer'] })],
          q.prototype,
          'operationalLayerType',
          void 0,
        ),
        (0, i._)([(0, p.Cb)({ json: { read: !1 }, readOnly: !0 })], q.prototype, 'type', void 0),
        (0, i._)([(0, p.Cb)({ type: F.I, readOnly: !0 })], q.prototype, 'nodePages', void 0),
        (0, i._)(
          [(0, p.Cb)({ type: [F.a], readOnly: !0 })],
          q.prototype,
          'materialDefinitions',
          void 0,
        ),
        (0, i._)(
          [(0, p.Cb)({ type: [F.b], readOnly: !0 })],
          q.prototype,
          'textureSetDefinitions',
          void 0,
        ),
        (0, i._)(
          [(0, p.Cb)({ type: [F.c], readOnly: !0 })],
          q.prototype,
          'geometryDefinitions',
          void 0,
        ),
        (0, i._)([(0, p.Cb)({ readOnly: !0 })], q.prototype, 'serviceUpdateTimeStamp', void 0),
        (0, i._)(
          [
            (0, p.Cb)({ type: K }),
            C({ origins: ['web-scene', 'portal-item'], type: 'resource', prefix: 'modifications' }),
          ],
          q.prototype,
          'modifications',
          void 0,
        ),
        (0, i._)(
          [(0, c.r)(['web-scene', 'portal-item'], 'modifications')],
          q.prototype,
          'readModifications',
          null,
        ),
        (0, i._)([(0, p.Cb)(U.e)], q.prototype, 'elevationInfo', void 0),
        (0, i._)(
          [
            (0, p.Cb)({
              type: String,
              json: {
                origins: {
                  'web-scene': { read: !0, write: !0 },
                  'portal-item': { read: !0, write: !0 },
                },
                read: !1,
              },
            }),
          ],
          q.prototype,
          'path',
          void 0,
        ),
        (q = (0, i._)([(0, d.j)('esri.layers.IntegratedMeshLayer')], q));
      const z = q;
    },
    41617: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => w });
      var i = r(29768),
        o = r(31450),
        s = (r(74569), r(82058)),
        n = r(60991),
        a = r(76996),
        l = r(82673),
        u = r(22739),
        p = r(92143),
        c = r(50406),
        d = r(32101),
        y = r(34250),
        h = (r(76506), r(91306), r(17533)),
        g = r(21801),
        m = r(60947);
      r(71552),
        r(73796),
        r(74673),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(40642),
        r(81172),
        r(26341),
        r(97714),
        r(2906),
        r(84069),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(57251),
        r(32422),
        r(88762),
        r(20543);
      let f = 0;
      const v = p.L.getLogger('esri.layers.Layer');
      let b = class extends a.E.EventedMixin((0, l.I)(u.L)) {
        constructor() {
          super(...arguments),
            (this.attributionDataUrl = null),
            (this.fullExtent = new g.Z(-180, -90, 180, 90, m.Z.WGS84)),
            (this.id = Date.now().toString(16) + '-layer-' + f++),
            (this.legendEnabled = !0),
            (this.listMode = 'show'),
            (this.opacity = 1),
            (this.parent = null),
            (this.popupEnabled = !0),
            (this.attributionVisible = !0),
            (this.spatialReference = m.Z.WGS84),
            (this.title = null),
            (this.type = null),
            (this.url = null),
            (this.visible = !0);
        }
        static async fromArcGISServerUrl(e) {
          const t = 'string' == typeof e ? { url: e } : e,
            i = await r.e(6601).then(r.bind(r, 66601));
          try {
            return await i.fromUrl(t);
          } catch (e) {
            throw (
              (v.error(
                "#fromArcGISServerUrl({ url: '" + t.url + "'})",
                'Failed to create layer from arcgis server url',
                e,
              ),
              e)
            );
          }
        }
        static async fromPortalItem(e) {
          const t = 'portalItem' in e ? e : { portalItem: e },
            i = await r.e(6458).then(r.bind(r, 36458));
          try {
            return await i.fromItem(t);
          } catch (e) {
            const r = t && t.portalItem,
              i = (r && r.id) || 'unset',
              s = (r && r.portal && r.portal.url) || o.Z.portalUrl;
            throw (
              (v.error(
                '#fromPortalItem()',
                "Failed to create layer from portal item (portal: '" + s + "', id: '" + i + "')",
                e,
              ),
              e)
            );
          }
        }
        initialize() {
          this.when().catch((e) => {
            var t, r;
            (0, c.D_)(e) ||
              p.L.getLogger(this.declaredClass).error(
                '#load()',
                `Failed to load layer (title: '${
                  null != (t = this.title) ? t : 'no title'
                }', id: '${null != (r = this.id) ? r : 'no id'}')`,
                { error: e },
              );
          });
        }
        destroy() {
          if (this.parent) {
            const e = this,
              t = this.parent;
            'layers' in t && t.layers.includes(e)
              ? t.layers.remove(e)
              : 'tables' in t && t.tables.includes(e)
              ? t.tables.remove(e)
              : 'baseLayers' in t && t.baseLayers.includes(e)
              ? t.baseLayers.remove(e)
              : 'baseLayers' in t && t.referenceLayers.includes(e) && t.referenceLayers.remove(e);
          }
        }
        get hasAttributionData() {
          return null != this.attributionDataUrl;
        }
        get parsedUrl() {
          const e = this.url;
          return e ? (0, d.mN)(e) : null;
        }
        async fetchAttributionData() {
          const e = this.attributionDataUrl;
          if (this.hasAttributionData && e)
            return (await (0, s.default)(e, { query: { f: 'json' }, responseType: 'json' })).data;
          throw new n.Z('layer:no-attribution-data', 'Layer does not have attribution data');
        }
      };
      (0, i._)([(0, y.Cb)({ type: String })], b.prototype, 'attributionDataUrl', void 0),
        (0, i._)([(0, y.Cb)({ type: g.Z })], b.prototype, 'fullExtent', void 0),
        (0, i._)([(0, y.Cb)({ readOnly: !0 })], b.prototype, 'hasAttributionData', null),
        (0, i._)([(0, y.Cb)({ type: String })], b.prototype, 'id', void 0),
        (0, i._)(
          [(0, y.Cb)({ type: Boolean, nonNullable: !0 })],
          b.prototype,
          'legendEnabled',
          void 0,
        ),
        (0, i._)(
          [(0, y.Cb)({ type: ['show', 'hide', 'hide-children'] })],
          b.prototype,
          'listMode',
          void 0,
        ),
        (0, i._)(
          [(0, y.Cb)({ type: Number, range: { min: 0, max: 1 }, nonNullable: !0 })],
          b.prototype,
          'opacity',
          void 0,
        ),
        (0, i._)([(0, y.Cb)()], b.prototype, 'parent', void 0),
        (0, i._)([(0, y.Cb)({ readOnly: !0 })], b.prototype, 'parsedUrl', null),
        (0, i._)([(0, y.Cb)({ type: Boolean })], b.prototype, 'popupEnabled', void 0),
        (0, i._)([(0, y.Cb)({ type: Boolean })], b.prototype, 'attributionVisible', void 0),
        (0, i._)([(0, y.Cb)({ type: m.Z })], b.prototype, 'spatialReference', void 0),
        (0, i._)([(0, y.Cb)({ type: String })], b.prototype, 'title', void 0),
        (0, i._)(
          [(0, y.Cb)({ type: String, readOnly: !0, json: { read: !1 } })],
          b.prototype,
          'type',
          void 0,
        ),
        (0, i._)([(0, y.Cb)()], b.prototype, 'url', void 0),
        (0, i._)([(0, y.Cb)({ type: Boolean, nonNullable: !0 })], b.prototype, 'visible', void 0),
        (b = (0, i._)([(0, h.j)('esri.layers.Layer')], b));
      const w = b;
    },
  },
]);
