var RemoteClient;
(() => {
  var e = {
      88277: (e, t, r) => {
        r.p = self.esriConfig.assetsPath + '/esri/core/workers/';
      },
      31450: (e, t, r) => {
        'use strict';
        r.d(t, { Z: () => i });
        var n = r(76506),
          o = r(71552);
        const s = {
          apiKey: void 0,
          applicationUrl: n.g.location && n.g.location.href,
          assetsPath: '',
          fontsUrl: 'https://static.arcgis.com/fonts',
          geometryService: null,
          geometryServiceUrl:
            'https://utility.arcgisonline.com/arcgis/rest/services/Geometry/GeometryServer',
          geoRSSServiceUrl: 'https://utility.arcgis.com/sharing/rss',
          kmlServiceUrl: 'https://utility.arcgis.com/sharing/kml',
          portalUrl: 'https://www.arcgis.com',
          workers: { loaderConfig: { has: {}, paths: {}, map: {}, packages: [] } },
          request: {
            httpsDomains: [
              'arcgis.com',
              'arcgisonline.com',
              'esrikr.com',
              'premiumservices.blackbridge.com',
              'esripremium.accuweather.com',
              'gbm.digitalglobe.com',
              'firstlook.digitalglobe.com',
              'msi.digitalglobe.com',
            ],
            interceptors: [],
            maxUrlLength: 2e3,
            proxyRules: [],
            proxyUrl: null,
            timeout: 6e4,
            trustedServers: [],
            useIdentity: !0,
          },
          log: { interceptors: [], level: null },
        };
        
        if ((n.g.esriConfig && ((0, o.d)(s, n.g.esriConfig, !0), delete s.has), !s.assetsPath)) {
          const e = '';
          s.assetsPath = e.slice(0, e.indexOf('@arcgis/'));
        }
        s.baseUrl && console.warn('[esri.config]', 'baseUrl has been replaced by assetsPath'),
          Object.defineProperty(s, 'baseUrl', {
            set() {
              console.warn('[esri.config]', 'baseUrl has been replaced by assetsPath');
            },
          }),
          (s.request.corsEnabledServers = []),
          (s.request.corsEnabledServers.push = function () {
            return (
              console.warn(
                '[esri.config]',
                'request.corsEnabledServers is not supported and will be removed in a future release. See http://esriurl.com/cors8664',
              ),
              0
            );
          });
        const i = s;
      },
      92143: (e, t, r) => {
        'use strict';
        r.d(t, { L: () => a });
        var n = r(31450),
          o = r(76506),
          s = r(40642);
        const i = { info: 0, warn: 1, error: 2, none: 3 };
        class a {
          constructor(e) {
            (this.level = null),
              (this._module = ''),
              (this._parent = null),
              (this.writer = null),
              (this._loggedMessages = { error: new Map(), warn: new Map(), info: new Map() }),
              null != e.level && (this.level = e.level),
              null != e.writer && (this.writer = e.writer),
              (this._module = e.module),
              (a._loggers[this.module] = this);
            const t = this.module.lastIndexOf('.');
            -1 !== t && (this._parent = a.getLogger(this.module.slice(0, t)));
          }
          get module() {
            return this._module;
          }
          get parent() {
            return this._parent;
          }
          error(...e) {
            this._log('error', 'always', ...e);
          }
          warn(...e) {
            this._log('warn', 'always', ...e);
          }
          info(...e) {
            this._log('info', 'always', ...e);
          }
          errorOnce(...e) {
            this._log('error', 'once', ...e);
          }
          warnOnce(...e) {
            this._log('warn', 'once', ...e);
          }
          infoOnce(...e) {
            this._log('info', 'once', ...e);
          }
          errorOncePerTick(...e) {
            this._log('error', 'oncePerTick', ...e);
          }
          warnOncePerTick(...e) {
            this._log('warn', 'oncePerTick', ...e);
          }
          infoOncePerTick(...e) {
            this._log('info', 'oncePerTick', ...e);
          }
          get test() {
            const e = this;
            return {
              loggedMessages: e._loggedMessages,
              clearLoggedWarnings: () => e._loggedMessages.warn.clear(),
            };
          }
          static get testSingleton() {
            return {
              resetLoggers(e = {}) {
                const t = a._loggers;
                return (a._loggers = e), t;
              },
              set throttlingDisabled(e) {
                a._throttlingDisabled = e;
              },
            };
          }
          static getLogger(e) {
            let t = a._loggers[e];
            return t || (t = new a({ module: e })), t;
          }
          _log(e, t, ...r) {
            if (this._matchLevel(e)) {
              if ('always' !== t && !a._throttlingDisabled) {
                const n = this._argsToKey(r),
                  o = this._loggedMessages[e].get(n);
                if (
                  ('once' === t && null != o) ||
                  ('oncePerTick' === t && o && o >= a._tickCounter)
                )
                  return;
                this._loggedMessages[e].set(n, a._tickCounter), a._scheduleTickCounterIncrement();
              }
              for (const t of n.Z.log.interceptors) if (t(e, this.module, ...r)) return;
              this._inheritedWriter()(e, this.module, ...r);
            }
          }
          _parentWithMember(e, t) {
            let r = this;
            for (; (0, o.i)(r); ) {
              const t = r[e];
              if ((0, o.i)(t)) return t;
              r = r.parent;
            }
            return t;
          }
          _inheritedWriter() {
            return this._parentWithMember('writer', this._consoleWriter);
          }
          _consoleWriter(e, t, ...r) {
            console[e](`[${t}]`, ...r);
          }
          _matchLevel(e) {
            const t = n.Z.log.level ? n.Z.log.level : 'warn';
            return i[this._parentWithMember('level', t)] <= i[e];
          }
          _argsToKey(...e) {
            return (0, s.n)(
              JSON.stringify(e, (e, t) =>
                'object' != typeof t || Array.isArray(t) ? t : '[Object]',
              ),
            );
          }
          static _scheduleTickCounterIncrement() {
            a._tickCounterScheduled ||
              ((a._tickCounterScheduled = !0),
              Promise.resolve().then(() => {
                a._tickCounter++, (a._tickCounterScheduled = !1);
              }));
          }
        }
        (a._loggers = {}),
          (a._tickCounter = 0),
          (a._tickCounterScheduled = !1),
          (a._throttlingDisabled = !1);
      },
      81172: (e, t, r) => {
        'use strict';
        r.d(t, { M: () => o });
        var n = r(71552);
        class o {
          constructor(e, t, r) {
            var s;
            (this.name = e),
              (this.details = r),
              (this.message = void 0),
              this instanceof o &&
                (this.message =
                  (t &&
                    ((s = r),
                    t.replace(/\$\{([^\s\:\}]*)(?:\:([^\s\:\}]+))?\}/g, function (e, t) {
                      if ('' === t) return '$';
                      const r = (0, n.g)(t, s),
                        o = null == r ? '' : r;
                      if (void 0 === o) throw new Error(`could not find key "${t}" in template`);
                      return o.toString();
                    }))) ||
                  '');
          }
          toString() {
            return '[' + this.name + ']: ' + this.message;
          }
        }
      },
      71552: (e, t, r) => {
        'use strict';
        r.d(t, { d: () => o, g: () => s, s: () => i });
        var n = r(76506);
        function o(e, t, r = !1) {
          return c(e, t, r);
        }
        function s(e, t) {
          if (null != t) return t[e] || a(e.split('.'), !1, t);
        }
        function i(e, t, r) {
          const n = e.split('.'),
            o = n.pop(),
            s = a(n, !0, r);
          s && o && (s[o] = t);
        }
        function a(e, t, r) {
          let n = r;
          for (const r of e) {
            if (null == n) return;
            if (!(r in n)) {
              if (!t) return;
              n[r] = {};
            }
            n = n[r];
          }
          return n;
        }
        function c(e, t, r) {
          return t
            ? Object.keys(t).reduce(function (e, o) {
                let s = e[o],
                  i = t[o];
                return s === i
                  ? e
                  : void 0 === s
                  ? ((e[o] = (0, n.d9)(i)), e)
                  : (Array.isArray(i) || Array.isArray(e)
                      ? ((s = s
                          ? Array.isArray(s)
                            ? (e[o] = s.concat())
                            : (e[o] = [s])
                          : (e[o] = [])),
                        i &&
                          (Array.isArray(i) || (i = [i]),
                          r
                            ? i.forEach((e) => {
                                -1 === s.indexOf(e) && s.push(e);
                              })
                            : (e[o] = i.concat())))
                      : i && 'object' == typeof i
                      ? (e[o] = c(s, i, r))
                      : (e.hasOwnProperty(o) && !t.hasOwnProperty(o)) || (e[o] = i),
                    e);
              }, e || {})
            : e;
        }
      },
      40642: (e, t, r) => {
        'use strict';
        r.d(t, { e: () => a, n: () => c, r: () => i, s: () => l });
        var n = r(71552);
        const o = /\{([^\}]+)\}/g;
        function s(e) {
          return null == e ? '' : e;
        }
        function i(e, t) {
          return e.replace(
            o,
            'object' == typeof t ? (e, r) => s((0, n.g)(r, t)) : (e, r) => s(t(r)),
          );
        }
        function a(e, t) {
          return e.replace(/([\.$?*|{}\(\)\[\]\\\/\+\-^])/g, (e) =>
            t && -1 !== t.indexOf(e) ? e : `\\${e}`,
          );
        }
        function c(e) {
          let t = 0;
          for (let r = 0; r < e.length; r++) (t = (t << 5) - t + e.charCodeAt(r)), (t |= 0);
          return t;
        }
        function l(e) {
          return new DOMParser().parseFromString(e || '', 'text/html').body.innerText || '';
        }
      },
      60991: (e, t, r) => {
        'use strict';
        r.d(t, { Z: () => a });
        var n = r(76506),
          o = r(92143),
          s = r(81172);
        r(31450), r(71552), r(40642);
        class i extends s.M {
          constructor(e, t, r) {
            if ((super(e, t, r), !(this instanceof i))) return new i(e, t, r);
          }
          toJSON() {
            if (null != this.details)
              try {
                return {
                  name: this.name,
                  message: this.message,
                  details: JSON.parse(
                    JSON.stringify(this.details, (e, t) => {
                      if (t && 'object' == typeof t && 'function' == typeof t.toJSON) return t;
                      try {
                        return (0, n.d9)(t);
                      } catch (e) {
                        return '[object]';
                      }
                    }),
                  ),
                };
              } catch (e) {
                throw (o.L.getLogger('esri.core.Error').error(e), e);
              }
            return { name: this.name, message: this.message, details: this.details };
          }
          static fromJSON(e) {
            return new i(e.name, e.message, e.details);
          }
        }
        i.prototype.type = 'error';
        const a = i;
      },
      76506: (e, t, r) => {
        'use strict';
        r.d(t, {
          A: () => C,
          B: () => A,
          D: () => P,
          E: () => d,
          F: () => O,
          G: () => b,
          a: () => x,
          b: () => u,
          c: () => E,
          d9: () => N,
          d: () => g,
          e: () => S,
          fS: () => U,
          f: () => h,
          yd: () => T,
          g: () => n,
          h: () => l,
          i: () => f,
          j: () => m,
          k: () => w,
          l: () => y,
          m: () => k,
          n: () => _,
          p: () => I,
          q: () => $,
          r: () => v,
          s: () => M,
          u: () => p,
          y: () => j,
        });
        const n =
          'undefined' != typeof globalThis
            ? globalThis
            : 'undefined' != typeof self
            ? self
            : 'undefined' != typeof window
            ? window
            : void 0 !== r.g
            ? r.g
            : void 0;
        var o, s;
        let i;
        var a, c;
        function l(e) {
          return 'function' == typeof i[e] ? (i[e] = i[e](n)) : i[e];
        }
        function f(e) {
          return null != e;
        }
        function u(e) {
          return null == e;
        }
        function d(e) {
          return void 0 === e;
        }
        function h(e, t) {
          return f(e) ? t(e) : null;
        }
        function p(e) {
          return e;
        }
        function b(e, t) {
          if (u(e)) throw new Error(t);
          return e;
        }
        function g(e, t) {
          return f(e) ? e : 'function' == typeof t ? t() : t;
        }
        function m(e) {
          return f(e) && e.destroy(), null;
        }
        function y(e) {
          return f(e) && e.dispose(), null;
        }
        function v(e) {
          return f(e) && e.remove(), null;
        }
        function w(e) {
          return f(e) && e.release(), null;
        }
        function _(e) {
          return null;
        }
        function O(e, t) {
          const r = new Array();
          for (const n of e) r.push(k(n, null, t));
          return r;
        }
        function P(e, t) {
          for (const r of e) k(r, null, t);
        }
        function k(e, t, r) {
          return f(e) ? r(e) : t;
        }
        function S(e, t) {
          return f(e) ? t(e) : null;
        }
        function E(e, ...t) {
          let r = e;
          for (let e = 0; e < t.length && r; ++e) r = r[t[e]];
          return r;
        }
        function x(e) {
          return e;
        }
        function A(e, t) {
          if (e.forEach) e.forEach(t);
          else for (let r = 0; r < e.length; r++) t(e[r], r, e);
        }
        function M(e, t, r) {
          if (e.slice) return e.slice(t, r);
          void 0 === t
            ? (t = 0)
            : (t < 0 && (t += e.length), (t = Math.min(e.length, Math.max(0, t)))),
            void 0 === r
              ? (r = e.length)
              : (r < 0 && (r += e.length), (r = Math.min(e.length, Math.max(0, r))));
          const n = Math.max(0, r - t),
            o = new (0, e.constructor)(n);
          for (let r = 0; r < n; r++) o[r] = e[t + r];
          return o;
        }
        function C(e) {
          return (
            e instanceof ArrayBuffer || (e && e.constructor && 'ArrayBuffer' === e.constructor.name)
          );
        }
        function j(e) {
          return (
            e instanceof Uint8Array || (e && e.constructor && 'Uint8Array' === e.constructor.name)
          );
        }
        function $(e) {
          return (
            e instanceof Uint16Array || (e && e.constructor && 'Uint16Array' === e.constructor.name)
          );
        }
        function I(e) {
          return (
            e instanceof Uint32Array || (e && e.constructor && 'Uint32Array' === e.constructor.name)
          );
        }
        function T(e, t) {
          let r;
          if (t)
            for (r in e)
              e.hasOwnProperty(r) &&
                (void 0 === e[r] ? delete e[r] : e[r] instanceof Object && T(e[r], !0));
          else for (r in e) e.hasOwnProperty(r) && void 0 === e[r] && delete e[r];
          return e;
        }
        function N(e) {
          if (!e || 'object' != typeof e || 'function' == typeof e) return e;
          if (
            (t = e) instanceof Int8Array ||
            (t && t.constructor && 'Int8Array' === t.constructor.name) ||
            j(e) ||
            (function (e) {
              return (
                e instanceof Uint8ClampedArray ||
                (e && e.constructor && 'Uint8ClampedArray' === e.constructor.name)
              );
            })(e) ||
            (function (e) {
              return (
                e instanceof Int16Array ||
                (e && e.constructor && 'Int16Array' === e.constructor.name)
              );
            })(e) ||
            $(e) ||
            (function (e) {
              return (
                e instanceof Int32Array ||
                (e && e.constructor && 'Int32Array' === e.constructor.name)
              );
            })(e) ||
            I(e) ||
            (function (e) {
              return (
                e instanceof Float32Array ||
                (e && e.constructor && 'Float32Array' === e.constructor.name)
              );
            })(e) ||
            (function (e) {
              return (
                e instanceof Float64Array ||
                (e && e.constructor && 'Float64Array' === e.constructor.name)
              );
            })(e)
          )
            return M(e);
          var t;
          if (e instanceof Date) return new Date(e.getTime());
          if (e instanceof ArrayBuffer) return e.slice(0, e.byteLength);
          if (e instanceof Map) {
            const t = new Map();
            return (
              e.forEach((e, r) => {
                t.set(r, N(e));
              }),
              t
            );
          }
          if (e instanceof Set) {
            const t = new Set();
            return (
              e.forEach((e) => {
                t.add(N(e));
              }),
              t
            );
          }
          let r;
          const n = e;
          if ('function' == typeof n.clone) r = n.clone();
          else if ('function' == typeof n.map && 'function' == typeof n.forEach) r = n.map(N);
          else if ('function' == typeof n.notifyChange && 'function' == typeof n.watch)
            r = n.clone();
          else {
            r = {};
            for (const t of Object.getOwnPropertyNames(e)) r[t] = N(e[t]);
          }
          return r;
        }
        function U(e, t) {
          return (
            e === t ||
            ('number' == typeof e && isNaN(e) && 'number' == typeof t && isNaN(t)) ||
            ('function' == typeof (e || {}).getTime &&
              'function' == typeof (t || {}).getTime &&
              e.getTime() === t.getTime()) ||
            !1
          );
        }
        (i =
          (null != (o = n.dojoConfig) && o.has) || (null != (s = n.esriConfig) && s.has)
            ? {
                ...(null == (a = n.dojoConfig) ? void 0 : a.has),
                ...(null == (c = n.esriConfig) ? void 0 : c.has),
              }
            : {}),
          (l.add = (e, t, r, n) => ((n || void 0 === i[e]) && (i[e] = t), r && l(e))),
          (l.cache = i),
          l.add('esri-deprecation-warnings', !0),
          (() => {
            l.add(
              'host-webworker',
              void 0 !== n.WorkerGlobalScope && self instanceof n.WorkerGlobalScope,
            );
            const e =
              'undefined' != typeof window &&
              'undefined' != typeof location &&
              'undefined' != typeof document &&
              window.location === location &&
              window.document === document;
            if (
              (l.add('host-browser', e),
              l.add(
                'host-node',
                'object' == typeof n.process &&
                  n.process.versions &&
                  n.process.versions.node &&
                  n.process.versions.v8,
              ),
              l.add('dom', e),
              l('host-browser'))
            ) {
              const e = navigator,
                t = e.userAgent,
                r = e.appVersion,
                n = parseFloat(r);
              if (
                (l.add('wp', parseFloat(t.split('Windows Phone')[1]) || void 0),
                l.add('msapp', parseFloat(t.split('MSAppHost/')[1]) || void 0),
                l.add('khtml', r.includes('Konqueror') ? n : void 0),
                l.add('edge', parseFloat(t.split('Edge/')[1]) || void 0),
                l.add('opr', parseFloat(t.split('OPR/')[1]) || void 0),
                l.add(
                  'webkit',
                  (!l('wp') && !l('edge') && parseFloat(t.split('WebKit/')[1])) || void 0,
                ),
                l.add(
                  'chrome',
                  (!l('edge') && !l('opr') && parseFloat(t.split('Chrome/')[1])) || void 0,
                ),
                l.add('android', (!l('wp') && parseFloat(t.split('Android ')[1])) || void 0),
                l.add(
                  'safari',
                  !r.includes('Safari') ||
                    l('wp') ||
                    l('chrome') ||
                    l('android') ||
                    l('edge') ||
                    l('opr')
                    ? void 0
                    : parseFloat(r.split('Version/')[1]),
                ),
                l.add('mac', r.includes('Macintosh')),
                !l('wp') && t.match(/(iPhone|iPod|iPad)/))
              ) {
                const e = RegExp.$1.replace(/P/, 'p'),
                  r = t.match(/OS ([\d_]+)/) ? RegExp.$1 : '1',
                  n = parseFloat(r.replace(/_/, '.').replace(/_/g, ''));
                l.add(e, n), l.add('ios', n);
              }
              l.add('trident', parseFloat(r.split('Trident/')[1]) || void 0),
                l('webkit') ||
                  (!t.includes('Gecko') ||
                    l('wp') ||
                    l('khtml') ||
                    l('trident') ||
                    l('edge') ||
                    l.add('mozilla', n),
                  l('mozilla') &&
                    l.add(
                      'ff',
                      parseFloat(t.split('Firefox/')[1] || t.split('Minefield/')[1]) || void 0,
                    ));
            }
          })(),
          (() => {
            if (n.navigator) {
              const e = navigator.userAgent,
                t = /Android|webOS|iPhone|iPad|iPod|BlackBerry|Opera Mini|IEMobile/i.test(e),
                r = /iPhone/i.test(e);
              t && l.add('esri-mobile', t),
                r && l.add('esri-iPhone', r),
                l.add('esri-geolocation', !!navigator.geolocation);
            }
            l.add('esri-canvas-svg-support', !l('trident')),
              l.add('esri-wasm', 'WebAssembly' in n),
              l.add('esri-shared-array-buffer', () => {
                const e = 'SharedArrayBuffer' in n,
                  t = !1 === n.crossOriginIsolated;
                return e && !t;
              }),
              l.add('esri-atomics', 'Atomics' in n),
              l.add('esri-workers', 'Worker' in n),
              l.add('esri-text-decoder', 'TextDecoder' in n),
              l.add('esri-text-encoder', 'TextEncoder' in n),
              l.add('web-feat:cache', 'caches' in n),
              l.add('esri-workers-arraybuffer-transfer', !l('safari') || Number(l('safari')) >= 12),
              l.add('featurelayer-snapshot-enabled', !0),
              l.add('featurelayer-snapshot-point-min-threshold', 8e4),
              l.add('featurelayer-snapshot-point-max-threshold', 4e5),
              l.add('featurelayer-snapshot-point-coverage', 0.1),
              l.add('featurelayer-advanced-symbols', !1),
              l.add('featurelayer-pbf', !0),
              l.add('featurelayer-pbf-statistics', !1),
              l.add('feature-layers-workers', !0),
              l.add('mapview-transitions-duration', 200),
              l.add('mapserver-pbf-enabled', !1),
              l('host-webworker') ||
                (l('host-browser') &&
                  (l.add('csp-restrictions', () => {
                    try {
                      new Function();
                    } catch {
                      return !0;
                    }
                    return !1;
                  }),
                  l.add('esri-image-decode', () => {
                    if ('decode' in new Image()) {
                      const e = new Image();
                      return (
                        (e.src =
                          'data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg"></svg>'),
                        void e
                          .decode()
                          .then(() => {
                            l.add('esri-image-decode', !0, !0, !0);
                          })
                          .catch(() => {
                            l.add('esri-image-decode', !1, !0, !0);
                          })
                      );
                    }
                    return !1;
                  }),
                  l.add('esri-url-encodes-apostrophe', () => {
                    const e = n.document.createElement('a');
                    return (e.href = "?'"), e.href.includes('?%27');
                  }),
                  l.add('vectortilelayer-max-buffers', l('ff') ? 160 : Number.POSITIVE_INFINITY)));
          })();
      },
      50406: (e, t, r) => {
        'use strict';
        r.d(t, {
          e4: () => M,
          $6: () => f,
          Ue: () => u,
          yi: () => h,
          zE: () => d,
          dD: () => k,
          hh: () => T,
          vr: () => N,
          Ds: () => I,
          as: () => S,
          WW: () => E,
          i: () => a,
          R8: () => P,
          D_: () => O,
          Hc: () => g,
          tI: () => $,
          y8: () => C,
          o: () => c,
          fu: () => v,
          $F: () => w,
          d1: () => x,
          DB: () => A,
          r9: () => m,
          k_: () => p,
          H9: () => y,
          gx: () => j,
          Hl: () => _,
        });
        var n,
          o = r(76506),
          s = r(60991),
          i =
            (r(92143),
            r(81172),
            r(71552),
            r(31450),
            r(40642),
            (n = o.g),
            {
              setTimeout: (e, t) => {
                const r = n.setTimeout(e, t);
                return { remove: () => n.clearTimeout(r) };
              },
            });
        function a(e) {
          return e && ('function' == typeof e.on || 'function' == typeof e.addEventListener);
        }
        function c(e, t, r) {
          if (!a(e)) throw new TypeError('target is not a Evented or EventTarget object');
          if ('on' in e) return e.on(t, r);
          if (Array.isArray(t)) {
            const n = t.slice();
            for (const t of n) e.addEventListener(t, r);
            return {
              remove() {
                for (const t of n) e.removeEventListener(t, r);
              },
            };
          }
          return (
            e.addEventListener(t, r),
            {
              remove() {
                e.removeEventListener(t, r);
              },
            }
          );
        }
        function l(e, t, r) {
          if (!a(e)) throw new TypeError('target is not a Evented or EventTarget object');
          if ('once' in e) return e.once(t, r);
          const n = c(e, t, (t) => {
            n.remove(), r.call(e, t);
          });
          return {
            remove() {
              n.remove();
            },
          };
        }
        function f(e) {
          return Promise.all(e);
        }
        function u(e) {
          return new Promise((t, r) => {
            try {
              e(t, r);
            } catch (e) {
              Promise.resolve().then(() => r(e));
            }
          });
        }
        function d(e = 'Aborted') {
          return new s.Z('AbortError', e);
        }
        function h() {
          return new AbortController();
        }
        function p(e, t = 'Aborted') {
          if (g(e)) throw d(t);
        }
        function b(e) {
          return (0, o.i)(e) ? ('aborted' in e ? e : e.signal) : e;
        }
        function g(e) {
          const t = b(e);
          return (0, o.i)(t) && t.aborted;
        }
        function m(e) {
          if (O(e)) throw e;
        }
        function y(e) {
          if (!O(e)) throw e;
        }
        function v(e, t) {
          const r = b(e);
          if (!(0, o.b)(r)) {
            if (!r.aborted) return l(r, 'abort', () => t());
            t();
          }
        }
        function w(e, t) {
          const r = b(e);
          if (!(0, o.b)(r)) return p(r), l(r, 'abort', () => t(d()));
        }
        function _(e, t) {
          const r = b(t);
          return (0, o.b)(r)
            ? e
            : new Promise((r, n) => {
                let s = v(t, () => n(d()));
                const i = () => (s = (0, o.r)(s));
                e.then(i, i), e.then(r, n);
              });
        }
        function O(e) {
          return e && 'AbortError' === e.name;
        }
        function P(e) {
          return e.catch((e) => {
            if (!O(e)) throw e;
          });
        }
        function k() {
          let e = null;
          const t = new Promise((t, r) => {
            e = { promise: void 0, resolve: t, reject: r };
          });
          return (e.promise = t), e;
        }
        function S(e) {
          if (!e) return;
          if ('function' != typeof e.forEach) {
            const t = Object.keys(e);
            return S(t.map((t) => e[t])).then((e) => {
              const r = {};
              return t.forEach((t, n) => (r[t] = e[n])), r;
            });
          }
          const t = e;
          return u((e) => {
            const r = [];
            let n = t.length;
            0 === n && e(r),
              t.forEach((t) => {
                const o = { promise: t || Promise.resolve(t) };
                r.push(o),
                  o.promise
                    .then((e) => {
                      o.value = e;
                    })
                    .catch((e) => {
                      o.error = e;
                    })
                    .then(() => {
                      --n, 0 === n && e(r);
                    });
              });
          });
        }
        function E(e) {
          return S(e).then((e) => e.filter((e) => !!e.value).map((e) => e.value));
        }
        function x(e) {
          return Promise.reject(e);
        }
        function A(e) {
          return Promise.resolve(e);
        }
        function M(e, t, r) {
          const n = h();
          return (
            v(r, () => n.abort()),
            new Promise((r, o) => {
              let s = setTimeout(() => {
                (s = 0), r(t);
              }, e);
              v(n, () => {
                s && (clearTimeout(s), o(d()));
              });
            })
          );
        }
        function C(e) {
          return e && 'function' == typeof e.then;
        }
        function j(e) {
          return $(e) ? e : Promise.resolve(e);
        }
        function $(e) {
          return e && 'object' == typeof e && 'then' in e && 'function' == typeof e.then;
        }
        function I(e, t = -1) {
          let r,
            n,
            s,
            i,
            a = null;
          const c = (...l) => {
            if (r) {
              (n = l), i && i.reject(d()), (i = k());
              const e = (0, o.a)(i.promise);
              if (a) {
                const e = a;
                (a = null), e.abort();
              }
              return e;
            }
            if (((s = i || k()), (i = null), t > 0)) {
              const n = h();
              r = j(e(...l, n.signal));
              const o = r;
              M(t).then(() => {
                r === o && (i ? n.abort() : (a = n));
              });
            } else (r = 1), (r = j(e(...l)));
            const f = () => {
                const e = n;
                (n = s = r = a = null), null != e && c(...e);
              },
              u = r,
              p = s;
            return u.then(f, f), u.then(p.resolve, p.reject), (0, o.a)(p.promise);
          };
          return c;
        }
        function T() {
          let e, t;
          const r = new Promise((r, n) => {
              (e = r), (t = n);
            }),
            n = (t) => {
              e(t);
            };
          return (
            (n.resolve = (t) => e(t)),
            (n.reject = (e) => t(e)),
            (n.timeout = (e, t) => i.setTimeout(() => n.reject(t), e)),
            (n.promise = r),
            n
          );
        }
        function N(e) {
          let t = h();
          const r = e(t.signal);
          let n = {
            promise: r,
            finished: !1,
            abort: () => {
              t && (t.abort(), (t = null));
            },
          };
          const o = () => {
            n && ((n.finished = !0), (n = null)), (t = null);
          };
          return r.then(o, o), n;
        }
      },
      32101: (e, t, r) => {
        'use strict';
        r.d(t, {
          R9: () => y,
          qg: () => x,
          tD: () => j,
          ZN: () => le,
          fl: () => fe,
          AX: () => _,
          Gd: () => v,
          Ie: () => ie,
          sJ: () => z,
          AH: () => K,
          vt: () => oe,
          oh: () => N,
          P$: () => D,
          Ml: () => ue,
          ed: () => $,
          b7: () => E,
          D6: () => U,
          tm: () => I,
          YP: () => B,
          jc: () => H,
          HK: () => Z,
          $U: () => X,
          oC: () => Q,
          kl: () => R,
          v_: () => F,
          hF: () => J,
          _l: () => V,
          PF: () => W,
          Fv: () => q,
          B7: () => S,
          u0: () => P,
          Yd: () => ne,
          Hu: () => ce,
          Qj: () => se,
          hO: () => ee,
          mN: () => O,
        });
        var n = r(31450),
          o = r(60991),
          s = r(76506),
          i = r(92143);
        r(71552), r(81172), r(40642);
        const a = i.L.getLogger('esri.core.urlUtils'),
          c = n.Z.request,
          l = 'esri/config: esriConfig.request.proxyUrl is not set.',
          f = /^\s*[a-z][a-z0-9-+.]*:(?![0-9])/i,
          u = /^\s*http:/i,
          d = /^\s*https:/i,
          h = /^\s*file:/i,
          p = /:\d+$/,
          b = /^https?:\/\/[^/]+\.arcgis.com\/sharing(\/|$)/i,
          g = new RegExp('^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$'),
          m = new RegExp('^((([^\\[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^\\[:]*))(:([0-9]+))?$');
        class y {
          constructor(e = '') {
            (this.uri = e),
              (this.scheme = null),
              (this.authority = null),
              (this.path = null),
              (this.query = null),
              (this.fragment = null),
              (this.user = null),
              (this.password = null),
              (this.host = null),
              (this.port = null);
            let t = (0, s.a)(this.uri.match(g));
            (this.scheme = t[2] || (t[1] ? '' : null)),
              (this.authority = t[4] || (t[3] ? '' : null)),
              (this.path = t[5]),
              (this.query = t[7] || (t[6] ? '' : null)),
              (this.fragment = t[9] || (t[8] ? '' : null)),
              null != this.authority &&
                ((t = (0, s.a)(this.authority.match(m))),
                (this.user = t[3] || null),
                (this.password = t[4] || null),
                (this.host = t[6] || t[7]),
                (this.port = t[9] || null));
          }
          toString() {
            return this.uri;
          }
        }
        const v = new y(n.Z.applicationUrl),
          w = {},
          _ = (() => {
            const e = (0, s.a)(v.path),
              t = e.substring(0, e.lastIndexOf(e.split('/')[e.split('/').length - 1]));
            return `${v.scheme}://${v.host}${null != v.port ? `:${v.port}` : ''}${t}`;
          })();
        function O(e) {
          const t = { path: null, query: null },
            r = new y(e),
            n = e.indexOf('?');
          return (
            null === r.query
              ? (t.path = e)
              : ((t.path = e.substring(0, n)), (t.query = P(r.query))),
            r.fragment &&
              ((t.hash = r.fragment),
              null === r.query &&
                (t.path = t.path.substring(0, t.path.length - (r.fragment.length + 1)))),
            t
          );
        }
        function P(e) {
          const t = e.split('&'),
            r = {};
          for (const e of t) {
            if (!e) continue;
            const t = e.indexOf('=');
            let n, o;
            t < 0
              ? ((n = decodeURIComponent(e)), (o = ''))
              : ((n = decodeURIComponent(e.slice(0, t))), (o = decodeURIComponent(e.slice(t + 1))));
            let s = r[n];
            'string' == typeof s && (s = r[n] = [s]), Array.isArray(s) ? s.push(o) : (r[n] = o);
          }
          return r;
        }
        function k(e) {
          return e && 'object' == typeof e && 'toJSON' in e && 'function' == typeof e.toJSON;
        }
        function S(e, t) {
          return e
            ? t && 'function' == typeof t
              ? Object.keys(e)
                  .map((r) => encodeURIComponent(r) + '=' + encodeURIComponent(t(r, e[r])))
                  .join('&')
              : Object.keys(e)
                  .map((r) => {
                    const n = e[r];
                    if (null == n) return '';
                    const o = encodeURIComponent(r) + '=',
                      s = t && t[r];
                    return s
                      ? o + encodeURIComponent(s(n))
                      : Array.isArray(n)
                      ? n
                          .map((e) =>
                            k(e)
                              ? o + encodeURIComponent(JSON.stringify(e))
                              : o + encodeURIComponent(e),
                          )
                          .join('&')
                      : k(n)
                      ? o + encodeURIComponent(JSON.stringify(n))
                      : o + encodeURIComponent(n);
                  })
                  .filter((e) => e)
                  .join('&')
            : '';
        }
        function E(e = !1) {
          let t,
            r = c.proxyUrl;
          if ('string' == typeof e) {
            t = X(e);
            const n = $(e);
            n && (r = n.proxyUrl);
          } else t = !!e;
          if (!r) throw (a.warn(l), new o.Z('urlutils:proxy-not-set', l));
          return t && te() && (r = ee(r)), O(r);
        }
        function x(e) {
          const t = $(e);
          let r, n;
          if (t) {
            const e = M(t.proxyUrl);
            (r = e.path), (n = e.query ? P(e.query) : null);
          }
          if (r) {
            const t = O(e);
            e = r + '?' + t.path;
            const o = S({ ...n, ...t.query });
            o && (e = `${e}?${o}`);
          }
          return e;
        }
        const A = { path: '', query: '' };
        function M(e) {
          const t = e.indexOf('?');
          return (
            -1 !== t
              ? ((A.path = e.slice(0, t)), (A.query = e.slice(t + 1)))
              : ((A.path = e), (A.query = null)),
            A
          );
        }
        function C(e) {
          return (e = re(
            (e = (function (e) {
              return e && '/' === e[e.length - 1] ? e : `${e}/`;
            })((e = M(e).path))),
            !0,
          )).toLowerCase();
        }
        function j(e) {
          const t = { proxyUrl: e.proxyUrl, urlPrefix: C(e.urlPrefix) },
            r = c.proxyRules,
            n = t.urlPrefix;
          let o = r.length;
          for (let e = 0; e < r.length; e++) {
            const t = r[e].urlPrefix;
            if (0 === n.indexOf(t)) {
              if (n.length === t.length) return -1;
              o = e;
              break;
            }
            0 === t.indexOf(n) && (o = e + 1);
          }
          return r.splice(o, 0, t), o;
        }
        function $(e) {
          const t = c.proxyRules,
            r = C(e);
          for (let e = 0; e < t.length; e++) if (0 === r.indexOf(t[e].urlPrefix)) return t[e];
        }
        function I(e, t) {
          return (e = T(e)), (t = T(t)), re(e) === re(t);
        }
        function T(e) {
          const t = (e = q(e)).indexOf('/sharing');
          return t > 0 ? e.substring(0, t) : e.replace(/\/+$/, '');
        }
        function N(e) {
          const t = (t) =>
              null == t ||
              (t instanceof RegExp && t.test(e)) ||
              ('string' == typeof t && e.startsWith(t)),
            r = c.interceptors;
          if (r)
            for (const e of r)
              if (Array.isArray(e.urls)) {
                if (e.urls.some(t)) return e;
              } else if (t(e.urls)) return e;
          return null;
        }
        function U(e, t, r = !1) {
          const n = ae(e),
            o = ae(t);
          return (
            !(!r && n.scheme !== o.scheme) &&
            null != n.host &&
            null != o.host &&
            n.host.toLowerCase() === o.host.toLowerCase() &&
            n.port === o.port
          );
        }
        function R(e) {
          if ('string' == typeof e) {
            if (!B(e)) return !0;
            e = ae(e);
          }
          if (U(e, v)) return !0;
          const t = c.trustedServers || [];
          for (let r = 0; r < t.length; r++) {
            const n = L(t[r]);
            for (let t = 0; t < n.length; t++) if (U(e, n[t])) return !0;
          }
          return !1;
        }
        function L(e) {
          return (
            w[e] ||
              (Y(e) || Q(e)
                ? (w[e] = [new y(J(e))])
                : (w[e] = [new y(`http://${e}`), new y(`https://${e}`)])),
            w[e]
          );
        }
        function J(e, t = _, r) {
          return Q(e)
            ? r && r.preserveProtocolRelative
              ? e
              : 'http' === v.scheme && v.authority === D(e).slice(2)
              ? `http:${e}`
              : `https:${e}`
            : Y(e)
            ? e
            : (0, s.a)(
                F(
                  '/' === e[0]
                    ? (function (e) {
                        const t = e.indexOf('//'),
                          r = e.indexOf('/', t + 2);
                        return -1 === r ? e : e.slice(0, r);
                      })(t)
                    : t,
                  e,
                ),
              );
        }
        function W(e, t = _, r) {
          if (!B(e)) return e;
          const n = q(e),
            o = n.toLowerCase(),
            s = q(t).toLowerCase().replace(/\/+$/, ''),
            i = r ? q(r).toLowerCase().replace(/\/+$/, '') : null;
          if (i && 0 !== s.indexOf(i)) return e;
          const a = (e, t, r) => (-1 === (r = e.indexOf(t, r)) ? e.length : r);
          let c = a(o, '/', o.indexOf('//') + 2),
            l = -1;
          for (; o.slice(0, c + 1) === s.slice(0, c) + '/' && ((l = c + 1), c !== o.length); )
            c = a(o, '/', c + 1);
          if (-1 === l) return e;
          if (i && l < i.length) return e;
          e = n.slice(l);
          const f = s.slice(l - 1).replace(/[^/]+/g, '').length;
          if (f > 0) for (let t = 0; t < f; t++) e = `../${e}`;
          else e = `./${e}`;
          return e;
        }
        function q(e) {
          return (function (e) {
            const t = c.httpsDomains;
            if (
              !(function (e) {
                return u.test(e) || ('http' === v.scheme && Q(e));
              })(e)
            )
              return e;
            const r = e.indexOf('/', 7);
            let n;
            if (((n = -1 === r ? e : e.slice(0, r)), (n = n.toLowerCase().slice(7)), p.test(n))) {
              if (!n.endsWith(':80')) return e;
              (n = n.slice(0, -3)), (e = e.replace(':80', ''));
            }
            return 'http' !== v.scheme || n !== v.authority || b.test(e)
              ? (((te() && n === v.authority) ||
                  (t && t.some((e) => n === e || n.endsWith(`.${e}`))) ||
                  (te() && !$(e))) &&
                  (e = ee(e)),
                e)
              : e;
          })(
            (e = (function (e) {
              return e.replace(/^(https?:\/\/)(arcgis\.com)/i, '$1www.$2');
            })(
              (e = (function (e) {
                if (/^https?:\/\//i.test(e)) {
                  const t = M(e);
                  (e = (e = t.path.replace(/\/{2,}/g, '/')).replace('/', '//')),
                    t.query && (e += `?${t.query}`);
                }
                return e;
              })((e = J((e = e.trim()))))),
            )),
          );
        }
        function F(...e) {
          const t = e.filter(s.i);
          if (!t || !t.length) return;
          const r = [];
          if (B(t[0])) {
            const e = t[0],
              o = e.indexOf('//');
            -1 !== o &&
              (r.push(e.slice(0, o + 1)),
              (n = t[0]),
              h.test(n) && (r[0] += '/'),
              (t[0] = e.slice(o + 2)));
          } else '/' === t[0][0] && r.push('');
          var n;
          const o = t.reduce((e, t) => (t ? e.concat(t.split('/')) : e), []);
          for (let e = 0; e < o.length; e++) {
            const t = o[e];
            '..' === t && r.length > 0 && '..' !== r[r.length - 1]
              ? r.pop()
              : ((!t && e === o.length - 1) || (t && ('.' !== t || 0 === r.length))) && r.push(t);
          }
          return r.join('/');
        }
        function D(e, t = !1) {
          if (H(e) || Z(e)) return null;
          let r = e.indexOf('://');
          if (-1 === r && Q(e)) r = 2;
          else {
            if (-1 === r) return null;
            r += 3;
          }
          const n = e.indexOf('/', r);
          return -1 !== n && (e = e.slice(0, n)), t && (e = re(e, !0)), e;
        }
        function B(e) {
          return Q(e) || Y(e);
        }
        function H(e) {
          return null != e && 'blob:' === e.slice(0, 5);
        }
        function Z(e) {
          return 'data:' === e.slice(0, 5);
        }
        function K(e) {
          const t = z(e);
          if (!t || !t.isBase64) return null;
          const r = atob(t.data),
            n = new Uint8Array(r.length);
          for (let e = 0; e < r.length; e++) n[e] = r.charCodeAt(e);
          return n.buffer;
        }
        const G = /^data:(.*?)(;base64)?,(.*)$/;
        function z(e) {
          const t = e.match(G);
          if (!t) return null;
          const [, r, n, o] = t;
          return { mediaType: r, isBase64: !!n, data: o };
        }
        function V(e) {
          return e.isBase64
            ? `data:${e.mediaType};base64,${e.data}`
            : `data:${e.mediaType},${e.data}`;
        }
        function Q(e) {
          return null != e && void 0 !== e && '/' === e[0] && '/' === e[1];
        }
        function Y(e) {
          return f.test(e);
        }
        function X(e) {
          return d.test(e) || ('https' === v.scheme && Q(e));
        }
        function ee(e) {
          return Q(e) ? `https:${e}` : e.replace(u, 'https:');
        }
        function te() {
          return 'https' === v.scheme;
        }
        function re(e, t = !1) {
          return Q(e)
            ? e.slice(2)
            : ((e = e.replace(f, '')),
              t && e.length > 1 && '/' === e[0] && '/' === e[1] && (e = e.slice(2)),
              e);
        }
        function ne(e) {
          let t = 0;
          if (B(e)) {
            const r = e.indexOf('//');
            -1 !== r && (t = r + 2);
          }
          const r = e.lastIndexOf('/');
          return r < t ? e : e.slice(0, r + 1);
        }
        function oe(e, t) {
          if (!e) return '';
          const r = O(e).path.replace(/\/+$/, ''),
            n = r.substring(r.lastIndexOf('/') + 1);
          if (null == t || !t.length) return n;
          const o = new RegExp(`.(${t.join('|')})$`, 'ig');
          return n.replace(o, '');
        }
        function se(e) {
          return e.replace(/\/+$/, '');
        }
        function ie(e, t, r) {
          if (!(t && r && e && B(e))) return e;
          const n = e.indexOf('//'),
            o = e.indexOf('/', n + 2),
            s = e.indexOf(':', n + 2),
            i = Math.min(o < 0 ? e.length : o, s < 0 ? e.length : s);
          return e.slice(n + 2, i).toLowerCase() !== t.toLowerCase()
            ? e
            : `${e.slice(0, n + 2)}${r}${e.slice(i)}`;
        }
        function ae(e) {
          return 'string' == typeof e ? new y(J(e)) : (e.scheme || (e.scheme = v.scheme), e);
        }
        function ce(e, t) {
          const r = O(e),
            n = Object.keys(r.query || {});
          return (
            n.length > 0 &&
              t &&
              t.warn(
                'removeQueryParameters()',
                `Url query parameters are not supported, the following parameters have been removed: ${n.join(
                  ', ',
                )}.`,
              ),
            r.path
          );
        }
        function le(e, t, r) {
          const n = O(e),
            o = n.query || {};
          return (o[t] = String(r)), `${n.path}?${S(o)}`;
        }
        function fe(e, t) {
          const r = O(e),
            n = r.query || {};
          for (const e in t) n[e] = t[e];
          const o = S(n);
          return o ? `${r.path}?${o}` : r.path;
        }
        function ue(e) {
          if ((0, s.b)(e)) return null;
          const t = e.match(de);
          return t ? t[1] : null;
        }
        const de = /.*?\.([^\/]*)$/;
      },
      37453: (e, t, r) => {
        'use strict';
        r.r(t),
          r.d(t, { default: () => k, M: () => c, n: () => u, p: () => h, r: () => p, t: () => d });
        var n = r(88762),
          o = r(60991),
          s = r(50406),
          i = r(76506);
        r(32101), r(31450), r(71552), r(92143), r(40642), r(81172);
        const a = {
          statsWorker: () =>
            Promise.all([r.e(6229), r.e(1801), r.e(243), r.e(2654), r.e(9461)]).then(
              r.bind(r, 99461),
            ),
          geometryEngineWorker: () => Promise.all([r.e(3361), r.e(8258)]).then(r.bind(r, 68258)),
          CSVSourceWorker: () =>
            Promise.all([
              r.e(2334),
              r.e(6229),
              r.e(1801),
              r.e(2274),
              r.e(243),
              r.e(1503),
              r.e(5754),
              r.e(2654),
              r.e(599),
              r.e(9946),
              r.e(9014),
              r.e(9884),
            ]).then(r.bind(r, 59884)),
          EdgeProcessingWorker: () =>
            Promise.all([r.e(167), r.e(8936)])
              .then(r.bind(r, 8936))
              .then(function (e) {
                return e.b;
              }),
          ElevationSamplerWorker: () =>
            Promise.all([
              r.e(2334),
              r.e(6229),
              r.e(1801),
              r.e(243),
              r.e(167),
              r.e(1658),
              r.e(2795),
            ]).then(r.bind(r, 2795)),
          FeatureServiceSnappingSourceWorker: () =>
            Promise.all([
              r.e(1292),
              r.e(2334),
              r.e(6229),
              r.e(1801),
              r.e(2274),
              r.e(243),
              r.e(1503),
              r.e(5754),
              r.e(2654),
              r.e(599),
              r.e(9946),
              r.e(9014),
              r.e(1151),
            ]).then(r.bind(r, 31151)),
          GeoJSONSourceWorker: () =>
            Promise.all([
              r.e(2334),
              r.e(6229),
              r.e(1801),
              r.e(2274),
              r.e(243),
              r.e(1503),
              r.e(5754),
              r.e(2654),
              r.e(599),
              r.e(9946),
              r.e(9014),
              r.e(5181),
            ]).then(r.bind(r, 65181)),
          LercWorker: () => r.e(8281).then(r.bind(r, 38281)),
          MemorySourceWorker: () =>
            Promise.all([
              r.e(2334),
              r.e(6229),
              r.e(1801),
              r.e(2274),
              r.e(243),
              r.e(1503),
              r.e(5754),
              r.e(2654),
              r.e(599),
              r.e(9946),
              r.e(9014),
              r.e(3900),
            ]).then(r.bind(r, 3900)),
          PBFDecoderWorker: () =>
            Promise.all([r.e(6229), r.e(1801), r.e(243), r.e(9946), r.e(629)]).then(r.bind(r, 629)),
          Pipeline: () =>
            Promise.all([
              r.e(135),
              r.e(6748),
              r.e(1292),
              r.e(2334),
              r.e(6229),
              r.e(1801),
              r.e(2274),
              r.e(243),
              r.e(1503),
              r.e(5754),
              r.e(2654),
              r.e(599),
              r.e(9946),
              r.e(9014),
              r.e(4951),
              r.e(6913),
            ]).then(r.bind(r, 76913)),
          PointCloudWorker: () =>
            Promise.all([r.e(2334), r.e(6229), r.e(1801), r.e(243), r.e(9151), r.e(5107)]).then(
              r.bind(r, 5107),
            ),
          RasterWorker: () =>
            Promise.all([r.e(6229), r.e(1801), r.e(243), r.e(558), r.e(9275)]).then(
              r.bind(r, 59275),
            ),
          SceneLayerWorker: () => r.e(8931).then(r.bind(r, 88931)),
          WFSSourceWorker: () =>
            Promise.all([
              r.e(2334),
              r.e(6229),
              r.e(1801),
              r.e(2274),
              r.e(243),
              r.e(1503),
              r.e(5754),
              r.e(2654),
              r.e(599),
              r.e(9946),
              r.e(9014),
              r.e(4344),
              r.e(3018),
            ]).then(r.bind(r, 3018)),
          WorkerTileHandler: () =>
            Promise.all([r.e(3106), r.e(6611), r.e(3315)]).then(r.bind(r, 53315)),
        };
        var c, l;
        ((l = c || (c = {}))[(l.HANDSHAKE = 0)] = 'HANDSHAKE'),
          (l[(l.OPEN = 1)] = 'OPEN'),
          (l[(l.OPENED = 2)] = 'OPENED'),
          (l[(l.RESPONSE = 3)] = 'RESPONSE'),
          (l[(l.INVOKE = 4)] = 'INVOKE'),
          (l[(l.ABORT = 5)] = 'ABORT'),
          (l[(l.CLOSE = 6)] = 'CLOSE'),
          (l[(l.OPEN_PORT = 7)] = 'OPEN_PORT'),
          (l[(l.ON = 8)] = 'ON');
        let f = 0;
        function u() {
          return f++;
        }
        function d(e) {
          return e
            ? 'string' == typeof e
              ? JSON.stringify({ name: 'message', message: e })
              : e.toJSON
              ? JSON.stringify(e)
              : JSON.stringify({
                  name: e.name,
                  message: e.message,
                  details: e.details || { stack: e.stack },
                })
            : null;
        }
        function h(e, t, r, n) {
          if (t.type === c.OPEN_PORT) return void e.postMessage(t, [t.port]);
          if (t.type !== c.INVOKE && t.type !== c.RESPONSE) return void e.postMessage(t);
          let o;
          var s;
          (s = r) && 'object' == typeof s && ('result' in s || 'transferList' in s)
            ? ((o = b(r.transferList)), (t.data = r.result))
            : ((o = b(n)), (t.data = r)),
            o ? e.postMessage(t, o) : e.postMessage(t);
        }
        function p(e) {
          if (!e) return null;
          const t = e.data;
          return t ? ('string' == typeof t ? JSON.parse(t) : t) : null;
        }
        function b(e) {
          if (!e || !e.length) return null;
          if ((0, i.h)('esri-workers-arraybuffer-transfer')) return e;
          const t = e.filter((e) => {
            return !(
              (t = e) instanceof ArrayBuffer ||
              (t && t.constructor && 'ArrayBuffer' === t.constructor.name)
            );
            var t;
          });
          return t.length ? t : null;
        }
        const { CLOSE: g, ABORT: m, INVOKE: y, RESPONSE: v, OPEN_PORT: w, ON: _ } = c;
        class O {
          constructor(e) {
            (this._timer = null),
              (this._cancelledJobIds = new Set()),
              (this._invokeMessages = []),
              (this._invoke = e),
              (this._timer = null),
              (this._process = this._process.bind(this));
          }
          push(e) {
            e.type === c.ABORT
              ? this._cancelledJobIds.add(e.jobId)
              : (this._invokeMessages.push(e),
                null === this._timer && (this._timer = setTimeout(this._process, 0)));
          }
          clear() {
            (this._invokeMessages.length = 0), this._cancelledJobIds.clear(), (this._timer = null);
          }
          _process() {
            this._timer = null;
            for (const e of this._invokeMessages)
              this._cancelledJobIds.has(e.jobId) || this._invoke(e);
            this._cancelledJobIds.clear(), (this._invokeMessages.length = 0);
          }
        }
        class P {
          constructor(e, t) {
            (this._port = e),
              (this._outJobs = new Map()),
              (this._inJobs = new Map()),
              (this._invokeQueue = new O((e) => this._onInvokeMessage(e))),
              (this._client = t.client),
              (this._onMessage = this._onMessage.bind(this)),
              (this._channel = t.channel),
              (this._schedule = t.schedule),
              this._port.addEventListener('message', this._onMessage),
              this._port.start();
          }
          static connect(e) {
            const t = new MessageChannel();
            let r;
            r =
              'function' == typeof e
                ? new e()
                : 'default' in e && 'function' == typeof e.default
                ? new e.default()
                : e;
            const n = new P(t.port1, { channel: t, client: r });
            return (
              'object' == typeof r && 'remoteClient' in r && (r.remoteClient = n),
              P.clients.set(n, r),
              t.port2
            );
          }
          static loadWorker(e) {
            const t = a[e];
            return t ? t() : Promise.resolve(null);
          }
          close() {
            this._post({ type: g }), this._close();
          }
          isBusy() {
            return this._outJobs.size > 0;
          }
          invoke(e, t, r) {
            const n = r && r.signal,
              i = r && r.transferList;
            if (!this._port)
              return Promise.reject(
                new o.Z('worker:port-closed', `Cannot call invoke('${e}'), port is closed`, {
                  methodName: e,
                  data: t,
                }),
              );
            const a = u();
            return new Promise((r, o) => {
              const c = (0, s.$F)(n, () => {
                  var e;
                  const t = this._outJobs.get(a);
                  t &&
                    (this._outJobs.delete(a),
                    null == (e = t.abortHandle) || e.remove(),
                    this._post({ type: m, jobId: a }),
                    o((0, s.zE)()));
                }),
                l = { resolve: r, reject: o, abortHandle: c, debugInfo: e };
              this._outJobs.set(a, l),
                this._post({ type: y, jobId: a, methodName: e, abortable: null != n }, t, i);
            });
          }
          on(e, t) {
            const r = new MessageChannel();
            function n(e) {
              t(e.data);
            }
            return (
              this._port.postMessage({ type: c.ON, eventType: e, port: r.port2 }, [r.port2]),
              r.port1.addEventListener('message', n),
              r.port1.start(),
              {
                remove() {
                  r.port1.postMessage({ type: c.CLOSE }),
                    r.port1.close(),
                    r.port1.removeEventListener('message', n);
                },
              }
            );
          }
          openPort() {
            const e = new MessageChannel();
            return this._post({ type: w, port: e.port2 }), e.port1;
          }
          _close() {
            this._channel && (this._channel = null),
              this._port.removeEventListener('message', this._onMessage),
              this._port.close(),
              this._outJobs.forEach((e) => {
                var t;
                null == (t = e.abortHandle) || t.remove(),
                  e.reject((0, s.zE)(`Worker closing, aborting job calling '${e.debugInfo}'`));
              }),
              this._inJobs.clear(),
              this._outJobs.clear(),
              this._invokeQueue.clear(),
              (this._port = this._client = this._schedule = null);
          }
          _onMessage(e) {
            (0, i.i)(this._schedule)
              ? this._schedule(() => this._processMessage(e))
              : this._processMessage(e);
          }
          _processMessage(e) {
            const t = p(e);
            if (t)
              switch (t.type) {
                case v:
                  this._onResponseMessage(t);
                  break;
                case y:
                  this._invokeQueue.push(t);
                  break;
                case m:
                  this._onAbortMessage(t);
                  break;
                case g:
                  this._onCloseMessage();
                  break;
                case w:
                  this._onOpenPortMessage(t);
                  break;
                case _:
                  this._onOnMessage(t);
              }
          }
          _onAbortMessage(e) {
            const t = this._inJobs,
              r = e.jobId,
              n = t.get(r);
            this._invokeQueue.push(e), n && (n.controller && n.controller.abort(), t.delete(r));
          }
          _onCloseMessage() {
            const e = this._client;
            this._close(),
              e && 'destroy' in e && P.clients.get(this) === e && e.destroy(),
              P.clients.delete(this),
              e && e.remoteClient && (e.remoteClient = null);
          }
          _onInvokeMessage(e) {
            const { methodName: t, jobId: r, data: n, abortable: o } = e,
              i = o ? (0, s.yi)() : null,
              a = this._inJobs;
            let c,
              l = this._client,
              f = l[t];
            try {
              if (!f && t && -1 !== t.indexOf('.')) {
                const e = t.split('.');
                for (let t = 0; t < e.length - 1; t++) (l = l[e[t]]), (f = l[e[t + 1]]);
              }
              if ('function' != typeof f) throw new TypeError(`${t} is not a function`);
              c = f.call(l, n, { client: this, signal: i ? i.signal : null });
            } catch (e) {
              return void this._post({ type: v, jobId: r, error: d(e) });
            }
            (0, s.y8)(c)
              ? (a.set(r, { controller: i, promise: c }),
                c.then(
                  (e) => {
                    a.has(r) && (a.delete(r), this._post({ type: v, jobId: r }, e));
                  },
                  (e) => {
                    a.has(r) &&
                      (a.delete(r),
                      (0, s.D_)(e) ||
                        this._post({
                          type: v,
                          jobId: r,
                          error: d(e || { message: `Error encountered at method ${t}` }),
                        }));
                  },
                ))
              : this._post({ type: v, jobId: r }, c);
          }
          _onOpenPortMessage(e) {
            new P(e.port, { client: this._client });
          }
          _onOnMessage(e) {
            const { port: t } = e,
              r = this._client.on(e.eventType, (e) => {
                t.postMessage(e);
              }),
              n = (0, s.o)(e.port, 'message', (e) => {
                p(e).type === c.CLOSE && (n.remove(), r.remove(), t.close());
              });
          }
          _onResponseMessage(e) {
            var t;
            const { jobId: r, error: n, data: s } = e,
              i = this._outJobs;
            if (!i.has(r)) return;
            const a = i.get(r);
            i.delete(r),
              null == (t = a.abortHandle) || t.remove(),
              n ? a.reject(o.Z.fromJSON(JSON.parse(n))) : a.resolve(s);
          }
          _post(e, t, r) {
            return h(this._port, e, t, r);
          }
        }
        (P.kernelInfo = { revision: n.LB, version: n.i8, buildDate: n.rh }),
          (P.clients = new Map());
        const k = P;
      },
      88762: (e, t, r) => {
        'use strict';
        r.d(t, {
          Dp: () => u,
          rh: () => s,
          id: () => l,
          LB: () => i,
          qh: () => f,
          i8: () => a,
          Nv: () => c,
        });
        var n = r(76506),
          o = r(32101);
        r(31450), r(71552), r(60991), r(92143), r(40642), r(81172);
        const s = '20210806',
          i = 'd1c4ecf1457c4e5613ee54ecf4ec0563e3153413',
          a = '4.20',
          c = {
            request(e, t) {
              var n;
              const o = null == (n = e.options) ? void 0 : n.responseType;
              return r
                .e(2058)
                .then(r.bind(r, 82058))
                .then(function (e) {
                  return e.r;
                })
                .then(({ default: r }) => {
                  const n = e.options || {};
                  return (
                    (n.responseType =
                      'native' === o || 'native-request-init' === o
                        ? 'native-request-init'
                        : 'array-buffer'),
                    (n.signal = null == t ? void 0 : t.signal),
                    r(e.url, n)
                  );
                })
                .then((e) => {
                  const t = { data: e.data, ssl: e.ssl };
                  return 'native-request-init' === e.requestOptions.responseType
                    ? (delete t.data.signal, t)
                    : { result: t, transferList: [t.data] };
                });
            },
          };
        let l;
        function f(e) {
          l = e;
        }
        function u(e) {
          const t = l && l.findCredential(e);
          return t && t.token ? (0, o.ZN)(e, 'token', t.token) : e;
        }
        (0, n.h)('host-webworker') ||
          (console.debug(
            `Using ArcGIS API for JavaScript 4.20 [Date: 20210806, Revision: ${i.slice(0, 8)}]`,
          ),
          ((0, n.h)('edge') || (0, n.h)('trident')) &&
            console.warn('Deprecated browser - see http://esriurl.com/oldbrowser'));
      },
    },
    t = {};
  function r(n) {
    var o = t[n];
    if (void 0 !== o) return o.exports;
    var s = (t[n] = { id: n, loaded: !1, exports: {} });
    return e[n](s, s.exports, r), (s.loaded = !0), s.exports;
  }
  (r.m = e),
    (r.d = (e, t) => {
      for (var n in t)
        r.o(t, n) && !r.o(e, n) && Object.defineProperty(e, n, { enumerable: !0, get: t[n] });
    }),
    (r.f = {}),
    (r.e = (e) => Promise.all(Object.keys(r.f).reduce((t, n) => (r.f[n](e, t), t), []))),
    (r.u = (e) =>
      'chunks/' +
      {
        17: '1f44d1d1f1cd9c0903c8',
        135: '4ea809605ce5362ace17',
        167: '818badcb835e9dc4988f',
        173: '0edc53a49f49499221fa',
        208: '60eea420ccad7b9733ba',
        243: '3646506352c10cb0d67e',
        332: 'd875ab92a8558eede3cf',
        378: 'd0455b4589788e4f2e1f',
        403: 'c1b0dbe2ca1342bf69e4',
        487: '1bb58f2dc89d127a7a34',
        522: '57f722a539c3f1e61e7c',
        558: 'fd7f2ac761331d80a19f',
        572: '6395af3ac99cd5a98337',
        599: '9de4d98df9d31b36ae33',
        605: '8d654b964d9860dda820',
        611: 'b9a2ec0e642d37b814d7',
        629: '3a7b4b09bf4393504151',
        631: '6459984dbd4e788dc1b5',
        779: '6ce638faecd1ed20f461',
        874: 'e311e4b5e4d45023096d',
        935: 'e1db688872c0234ed14b',
        1128: 'a9e3becfb82ca172c0a8',
        1135: '48aa045f22660759bbaf',
        1151: 'bedb0d07ce2fe75e6d64',
        1210: '88fce63075be34fc41c8',
        1244: '0078b3e19a38fea8d680',
        1292: 'a53f0be1b0f1360d7118',
        1348: '13884062664bf5f48796',
        1503: '2bc95ecc9cab19ec28eb',
        1511: 'b527bb1e29c90712eea5',
        1568: '77d791364109e8d46554',
        1594: 'bea0515fc21c11e41143',
        1648: 'f253797b609a4de51870',
        1658: '8bcbd230e608bebce2d8',
        1801: '82856401cd68ca93a1e9',
        1831: 'd1829403f91f262dd99d',
        1886: 'efd78677e932b61972bc',
        1903: 'a7345d54179bd5644bca',
        1991: '612ef2e9cee83bd60737',
        2011: 'ec498d2f0d9e16985966',
        2058: 'a6e1c965a1d2ac4c519f',
        2060: '82f8b933d758b5019bd1',
        2168: '51ad3a4231b2e5f01c11',
        2176: 'fd4382e686bd7e45d22a',
        2197: '2eb009079b0352885ec1',
        2204: '09de6cbf47813583fc14',
        2206: '407cc13ae5278e4f2821',
        2255: '68141773686a7339f0ed',
        2256: '1142a72a8cca7e9bef23',
        2274: '90e2bf004557a5b20808',
        2334: 'da455e48a9e6877546b0',
        2432: 'cc47ad42ca14963dfa69',
        2486: '1a88057811c52be71ac2',
        2570: 'feb7b4f74819302065fd',
        2599: '33d82f68d11079b1dc84',
        2654: '4a50480443307df22c23',
        2740: 'e80e9744823016f246f3',
        2772: 'c988ad986e74dfbb117b',
        2790: '8066bfb2b5936da0c2e4',
        2795: 'b0ee970f000b23440308',
        2829: '9515e717117eb9e5a2c7',
        2883: '5ff636cba2bab0a2c0e2',
        3018: '783f0745abca08054850',
        3092: '1d8670a78343b2b25504',
        3106: '61b1adb21b9e2a11e112',
        3117: '59f3b5a1be0a32cca81e',
        3172: 'b600754dc73ac6d7138f',
        3232: '1b97472e06dddd8c5e34',
        3283: '877025d7c0a925e51c06',
        3315: '856508721d9a60ae876d',
        3318: '269acb0aab88d208da19',
        3344: '98a7eea9a88d230c92af',
        3361: 'f1e600afb6d83d14567d',
        3439: 'cafec8fd4131ddff71c2',
        3442: 'b72952147276f34d8495',
        3554: '4368d03ab8a90c5b9c45',
        3579: 'd1cf7df92eb140810735',
        3602: 'd3d9870ec2970f30635b',
        3685: '6ad7a1dcc9cf7154ffc2',
        3717: 'b11c3b1e00d94040fde1',
        3741: 'd2a33b2866dc27df1173',
        3754: 'c11cfbb18378ca96ecd7',
        3770: '497cfd5ae70647cae91c',
        3786: '250ed18c839a9c265f0a',
        3799: '7b3f2ed005f5da2ae9e3',
        3900: 'ccccd459f5e39348a47d',
        3958: '2ec5b68395ad1a9723b5',
        3981: 'dea892e6711fd4ad423a',
        4004: '2a25bbd8e519430b2b36',
        4075: '90d61d17a90d29fc4573',
        4151: '566280102ee09fd37232',
        4344: 'bd9eefc4fe799827a7e2',
        4378: '8e2afc5be4b382826ed3',
        4385: 'b692b27a68f0850d3e8c',
        4396: 'bf8953082836758b3b49',
        4459: '44ecf6a58c9ba17f6342',
        4486: '26ce333c29b831800138',
        4494: '00852e46692f11bd4264',
        4509: '08bbd74f1a4f8cea1e65',
        4599: '6a2b1f78e5fb0e58eac8',
        4797: '6c927bbb75c1782c3b44',
        4801: '43c8014c1215966afce6',
        4824: '90f3c820a2241a93764d',
        4841: 'e2db799811b37cbc0b2d',
        4851: 'dee49039d06011164d39',
        4936: 'cbeaa84a60b266d14070',
        4951: '33e1edd71eeca1c129d7',
        5022: 'b685a9faf50fdeb3806d',
        5032: '8bdb97aab1db6e18f415',
        5073: '13c886f55d1b2adbde9d',
        5107: 'dcb4d65e59ff31c20316',
        5122: '97e074dcfdb9095472ca',
        5181: '45accfa4ace0ef5c8837',
        5194: 'c48932cc255420701493',
        5230: '063f5ca72e6991de1660',
        5269: 'edf567297e4a5f6608ee',
        5501: 'f9c1812a073e63ffdf83',
        5527: '4890191339485aebeab9',
        5528: 'fd63e6626e04fe2145f3',
        5530: 'd97cdc5189e9b9d64dc5',
        5709: 'b53be36cda1856e2d300',
        5728: 'f0fa1ac6b58595f7a530',
        5754: '40abe7c834ef43d3debf',
        5796: '9aa40ee4facebad5362f',
        5805: '3c973bafb5fcc9403298',
        5959: '4ad8531e4510fcbde620',
        5996: '5ef29f61c5a53751fde8',
        6043: '7a45e87a57ce2aeb1211',
        6046: 'dbe86d5dddc118d5b487',
        6078: '40e55de2bf8787722a0b',
        6087: 'e336c1f6fbf464c54a9a',
        6175: '8d0dced857d9c120c3a9',
        6202: '30b2edb7fc6dcb389443',
        6229: '8c3e6b463486fc5e7c2c',
        6287: 'ee05215f5ddca4ad0d1b',
        6458: '3fb5f22bc7cc93df7ed3',
        6601: '9b07d46f16b3202d87e4',
        6611: '0ba77cec1b217c7e3e55',
        6694: 'b7e7d769a837d8a965f5',
        6748: '3b044c6847df62aa9f5b',
        6776: '7eb44344b73864b90f8c',
        6854: '7fc6ab47ddb6347877ec',
        6913: '81cc112ecd9129c388d5',
        7258: '14ba1d279e9c1037b631',
        7318: 'd1de3bda2dc25e884b27',
        7442: '72f6d136223eb7abd11d',
        7585: '9c0494571f0683c51d58',
        7612: '1868432ad1e613adcac1',
        7657: '547c97eade8433533aa2',
        7802: '4d43189c5fbaeb7626c4',
        7903: '838bdee0e6f4f571e5f4',
        7963: '358396f634a6d2ea72e9',
        8166: '16ff95f437a402052d9e',
        8243: '2309e271116c8c3bac26',
        8258: '45a0962af65cdc7e92c6',
        8281: '74781fdf533a9d8a1e0c',
        8293: 'a4b3e68914508f27f7a5',
        8324: '8724a0ebaa145d36b3ee',
        8326: 'bbe599430b27b734301d',
        8615: '85f055420c1a9a16649e',
        8642: '0c703ea6bf90b7d6fff0',
        8710: 'c7727be5f4f0ecf5a0a4',
        8718: '28685c1922e27da0cd88',
        8819: 'baca03cfe56839e32f67',
        8824: '4db009155a9cb58e2f5f',
        8847: '748aef2b43432ec1b647',
        8931: '80623d3e5f906d94f909',
        8936: '7ce922ffb80addc0a8c9',
        8944: '2e10b5d1574086fce202',
        8989: '10d53ffe7abfbe3d3d09',
        8991: '3ed08edfc97f5d441926',
        9014: '5327bac179a10ce55efc',
        9032: '6779efdd088089895b99',
        9047: '7d815e5a5b857005c7cd',
        9052: '751981922934c269316f',
        9077: 'b0045e832cf2905f1838',
        9151: '520cd48d5238878bfc27',
        9214: 'f58510be706b88d99798',
        9218: 'd7428e258993431560a5',
        9231: '177768ae144d4a44a7d1',
        9263: 'bf582c967bbeb831ddbd',
        9275: '7acf9892e10877bc9497',
        9314: 'd3a744b3e2bf15a92a5b',
        9450: 'f7ab9d1bee654f87484c',
        9461: '9003ba8b96c8f7ddfe58',
        9506: '4dc54166e9333e7493e3',
        9588: '29028fce2d6584b65aba',
        9615: 'c47cfc403aaedf0ed72e',
        9716: 'a523ca7be5c48d4c8372',
        9768: '774d4f9bba50e07c5636',
        9884: '568b9ca7cba72c7d356f',
        9930: 'b9e6ee0e2bc57ad2595a',
        9946: '9ce422d2d933224673fb',
      }[e] +
      '.js'),
    (r.g = (function () {
      if ('object' == typeof globalThis) return globalThis;
      try {
        return this || new Function('return this')();
      } catch (e) {
        if ('object' == typeof window) return window;
      }
    })()),
    (r.hmd = (e) => (
      (e = Object.create(e)).children || (e.children = []),
      Object.defineProperty(e, 'exports', {
        enumerable: !0,
        set: () => {
          throw new Error(
            'ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' +
              e.id,
          );
        },
      }),
      e
    )),
    (r.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t)),
    (r.r = (e) => {
      'undefined' != typeof Symbol &&
        Symbol.toStringTag &&
        Object.defineProperty(e, Symbol.toStringTag, { value: 'Module' }),
        Object.defineProperty(e, '__esModule', { value: !0 });
    }),
    (() => {
      var e;
      r.g.importScripts && (e = r.g.location + '');
      var t = r.g.document;
      if (!e && t && (t.currentScript && (e = t.currentScript.src), !e)) {
        var n = t.getElementsByTagName('script');
        n.length && (e = n[n.length - 1].src);
      }
      if (!e) throw new Error('Automatic publicPath is not supported in this browser');
      (e = e
        .replace(/#.*$/, '')
        .replace(/\?.*$/, '')
        .replace(/\/[^\/]+$/, '/')),
        (r.p = e);
    })(),
    (() => {
      var e = { 134: 1 };
      r.f.i = (t, n) => {
        e[t] || importScripts(r.p + r.u(t));
      };
      var t = (self.webpackChunkRemoteClient = self.webpackChunkRemoteClient || []),
        n = t.push.bind(t);
      t.push = (t) => {
        var [o, s, i] = t;
        for (var a in s) r.o(s, a) && (r.m[a] = s[a]);
        for (i && i(r); o.length; ) e[o.pop()] = 1;
        n(t);
      };
    })(),
    r(88277);
  var n = r(37453);
  RemoteClient = n;
})();
