{"version":3,"sources":["node_modules/@arcgis/core/geometry/support/zmUtils.js","node_modules/@arcgis/core/geometry/Multipoint.js","node_modules/@arcgis/core/geometry/support/boundsUtils.js","node_modules/@arcgis/core/geometry/geometryCursorCollectUtils.js","node_modules/@arcgis/core/geometry/support/coordsUtils.js","node_modules/@arcgis/core/geometry/support/centroid.js","node_modules/@arcgis/core/geometry/support/extentUtils.js","node_modules/@arcgis/core/geometry/Polygon.js","node_modules/@arcgis/core/geometry/Polyline.js"],"sourcesContent":["/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nfunction h(h, a, s = !1) {\n let {\n hasM: t,\n hasZ: e\n } = h;\n Array.isArray(a) ? 4 !== a.length || t || e ? 3 === a.length && s && !t ? (e = !0, t = !1) : 3 === a.length && t && e && (t = !1, e = !1) : (t = !0, e = !0) : (e = !e && a.hasZ && (!t || a.hasM), t = !t && a.hasM && (!e || a.hasZ)), h.hasZ = e, h.hasM = t;\n}\nexport { h as updateSupportFromPoint };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport { _ as t } from \"../chunks/tslib.es6.js\";\nimport { clone as s } from \"../core/lang.js\";\nimport { property as e } from \"../core/accessorSupport/decorators/property.js\";\nimport \"../core/accessorSupport/ensureType.js\";\nimport { subclass as i } from \"../core/accessorSupport/decorators/subclass.js\";\nimport { writer as r } from \"../core/accessorSupport/decorators/writer.js\";\nimport o from \"./Extent.js\";\nimport n from \"./Geometry.js\";\nimport a from \"./Point.js\";\nimport { updateSupportFromPoint as p } from \"./support/zmUtils.js\";\nvar h;\nfunction l(t) {\n return (s, e) => null == s ? e : null == e ? s : t(s, e);\n}\nfunction c(t) {\n return t && (\"esri.geometry.SpatialReference\" === t.declaredClass || null != t.wkid);\n}\nlet m = h = class extends n {\n constructor(...t) {\n super(...t), this.points = [], this.type = \"multipoint\";\n }\n normalizeCtorArgs(t, s) {\n if (!t && !s) return {};\n const e = {};\n Array.isArray(t) ? (e.points = t, e.spatialReference = s) : c(t) ? e.spatialReference = t : (t.points && (e.points = t.points), t.spatialReference && (e.spatialReference = t.spatialReference), t.hasZ && (e.hasZ = t.hasZ), t.hasM && (e.hasM = t.hasM));\n const i = e.points?.[0];\n return i && (void 0 === e.hasZ && void 0 === e.hasM ? (e.hasZ = i.length > 2, e.hasM = !1) : void 0 === e.hasZ ? e.hasZ = i.length > 3 : void 0 === e.hasM && (e.hasM = i.length > 3)), e;\n }\n get cache() {\n return this.commitProperty(\"points\"), this.commitProperty(\"hasZ\"), this.commitProperty(\"hasM\"), this.commitProperty(\"spatialReference\"), {};\n }\n get extent() {\n const t = this.points;\n if (!t.length) return null;\n const s = new o(),\n e = this.hasZ,\n i = this.hasM,\n r = e ? 3 : 2,\n n = t[0],\n a = l(Math.min),\n p = l(Math.max);\n let h,\n c,\n m,\n u,\n [f, y] = n,\n [d, g] = n;\n for (let o = 0, l = t.length; o < l; o++) {\n const s = t[o],\n [n, l] = s;\n if (f = a(f, n), y = a(y, l), d = p(d, n), g = p(g, l), e && s.length > 2) {\n const t = s[2];\n h = a(h, t), m = p(m, t);\n }\n if (i && s.length > r) {\n const t = s[r];\n c = a(c, t), u = p(u, t);\n }\n }\n return s.xmin = f, s.ymin = y, s.xmax = d, s.ymax = g, s.spatialReference = this.spatialReference, e ? (s.zmin = h, s.zmax = m) : (s.zmin = void 0, s.zmax = void 0), i ? (s.mmin = c, s.mmax = u) : (s.mmin = void 0, s.mmax = void 0), s;\n }\n writePoints(t, e) {\n e.points = s(this.points);\n }\n addPoint(t) {\n return p(this, t), Array.isArray(t) ? this.points.push(t) : this.points.push(t.toArray()), this.notifyChange(\"points\"), this;\n }\n clone() {\n const t = {\n points: s(this.points),\n spatialReference: this.spatialReference\n };\n return this.hasZ && (t.hasZ = !0), this.hasM && (t.hasM = !0), new h(t);\n }\n getPoint(t) {\n if (!this._validateInputs(t)) return null;\n const s = this.points[t],\n e = {\n x: s[0],\n y: s[1],\n spatialReference: this.spatialReference\n };\n let i = 2;\n return this.hasZ && (e.z = s[2], i = 3), this.hasM && (e.m = s[i]), new a(e);\n }\n removePoint(t) {\n if (!this._validateInputs(t)) return null;\n const s = new a(this.points.splice(t, 1)[0], this.spatialReference);\n return this.notifyChange(\"points\"), s;\n }\n setPoint(t, s) {\n return this._validateInputs(t) ? (p(this, s), Array.isArray(s) || (s = s.toArray()), this.points[t] = s, this.notifyChange(\"points\"), this) : this;\n }\n toJSON(t) {\n return this.write({}, t);\n }\n _validateInputs(t) {\n return null != t && t >= 0 && t < this.points.length;\n }\n};\nt([e({\n readOnly: !0\n})], m.prototype, \"cache\", null), t([e()], m.prototype, \"extent\", null), t([e({\n type: [[Number]],\n json: {\n write: {\n isRequired: !0\n }\n }\n})], m.prototype, \"points\", void 0), t([r(\"points\")], m.prototype, \"writePoints\", null), m = h = t([i(\"esri.geometry.Multipoint\")], m), m.prototype.toJSON.isDefaultToJSON = !0;\nconst u = m;\nexport { u as default };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport { create as n } from \"./aaBoundingRect.js\";\nfunction t(n) {\n return void 0 !== n.xmin && void 0 !== n.ymin && void 0 !== n.xmax && void 0 !== n.ymax;\n}\nfunction i(n) {\n return void 0 !== n.points;\n}\nfunction o(n) {\n return void 0 !== n.x && void 0 !== n.y;\n}\nfunction e(n) {\n return void 0 !== n.paths;\n}\nfunction r(n) {\n return void 0 !== n.rings;\n}\nfunction u(n) {\n function t(t, i) {\n return null == t ? i : null == i ? t : n(t, i);\n }\n return t;\n}\nconst l = u(Math.min),\n h = u(Math.max);\nfunction a(n, u) {\n return e(u) ? x(n, u.paths, !1, !1) : r(u) ? x(n, u.rings, !1, !1) : i(u) ? g(n, u.points, !1, !1, !1, !1) : t(u) ? s(n, u) : (o(u) && (n[0] = u.x, n[1] = u.y, n[2] = u.x, n[3] = u.y), n);\n}\nfunction c(t) {\n let i, o, e, r;\n for (t.reset(), i = e = 1 / 0, o = r = -1 / 0; t.nextPath();) {\n const n = f(t);\n i = Math.min(n[0], i), e = Math.min(n[1], e), o = Math.max(n[2], o), r = Math.max(n[3], r);\n }\n return n([i, e, o, r]);\n}\nfunction f(t) {\n let i, o, e, r;\n for (i = e = 1 / 0, o = r = -1 / 0; t.nextPoint();) i = Math.min(t.x, i), e = Math.min(t.y, e), o = Math.max(t.x, o), r = Math.max(t.y, r);\n return n([i, e, o, r]);\n}\nfunction m(n, u) {\n return e(u) ? x(n, u.paths, !0, !1) : r(u) ? x(n, u.rings, !0, !1) : i(u) ? g(n, u.points, !0, !1, !0, !1) : t(u) ? s(n, u, !0, !1, !0, !1) : (o(u) && (n[0] = u.x, n[1] = u.y, n[2] = u.z, n[3] = u.x, n[4] = u.y, n[5] = u.z), n);\n}\nfunction x(n, t, i, o) {\n const e = i ? 3 : 2;\n if (!t.length || !t[0].length) return null;\n let r,\n u,\n a,\n c,\n [f, m] = t[0][0],\n [x, s] = t[0][0];\n for (let g = 0; g < t.length; g++) {\n const n = t[g];\n for (let t = 0; t < n.length; t++) {\n const g = n[t],\n [y, d] = g;\n if (f = l(f, y), m = l(m, d), x = h(x, y), s = h(s, d), i && g.length > 2) {\n const n = g[2];\n r = l(r, n), u = h(u, n);\n }\n if (o && g.length > e) {\n const n = g[e];\n a = l(r, n), c = h(u, n);\n }\n }\n }\n return i ? o ? (n[0] = f, n[1] = m, n[2] = r, n[3] = a, n[4] = x, n[5] = s, n[6] = u, n[7] = c, n.length = 8, n) : (n[0] = f, n[1] = m, n[2] = r, n[3] = x, n[4] = s, n[5] = u, n.length = 6, n) : o ? (n[0] = f, n[1] = m, n[2] = a, n[3] = x, n[4] = s, n[5] = c, n.length = 6, n) : (n[0] = f, n[1] = m, n[2] = x, n[3] = s, n.length = 4, n);\n}\nfunction s(n, t, i, o, e, r) {\n const u = t.xmin,\n l = t.xmax,\n h = t.ymin,\n a = t.ymax;\n let c = t.zmin,\n f = t.zmax,\n m = t.mmin,\n x = t.mmax;\n return e ? (c = c || 0, f = f || 0, r ? (m = m || 0, x = x || 0, n[0] = u, n[1] = h, n[2] = c, n[3] = m, n[4] = l, n[5] = a, n[6] = f, n[7] = x, n) : (n[0] = u, n[1] = h, n[2] = c, n[3] = l, n[4] = a, n[5] = f, n)) : r ? (m = m || 0, x = x || 0, n[0] = u, n[1] = h, n[2] = m, n[3] = l, n[4] = a, n[5] = x, n) : (n[0] = u, n[1] = h, n[2] = l, n[3] = a, n);\n}\nfunction g(n, t, i, o, e, r) {\n const u = i ? 3 : 2,\n a = o && r,\n c = i && e;\n if (!t.length || !t[0].length) return null;\n let f,\n m,\n x,\n s,\n [g, y] = t[0],\n [d, M] = t[0];\n for (let v = 0; v < t.length; v++) {\n const n = t[v],\n [i, o] = n;\n if (g = l(g, i), y = l(y, o), d = h(d, i), M = h(M, o), c && n.length > 2) {\n const t = n[2];\n f = l(f, t), m = h(m, t);\n }\n if (a && n.length > u) {\n const t = n[u];\n x = l(f, t), s = h(m, t);\n }\n }\n return e ? (f = f || 0, m = m || 0, r ? (x = x || 0, s = s || 0, n[0] = g, n[1] = y, n[2] = f, n[3] = x, n[4] = d, n[5] = M, n[6] = m, n[7] = s, n) : (n[0] = g, n[1] = y, n[2] = f, n[3] = d, n[4] = M, n[5] = m, n)) : r ? (x = x || 0, s = s || 0, n[0] = g, n[1] = y, n[2] = x, n[3] = d, n[4] = M, n[5] = s, n) : (n[0] = g, n[1] = y, n[2] = d, n[3] = M, n);\n}\nexport { a as getBoundsXY, m as getBoundsXYZ, c as getCursorBoundsXY, f as getCursorPathBounds, s as getExtentBounds, g as getPointsBounds, x as getRingsOrPathsBounds };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nfunction t(t) {\n const n = [];\n for (t.reset(); t.nextPath();) {\n const e = [];\n for (; t.nextPoint();) e.push([t.x, t.y]);\n n.push(e);\n }\n return t.reset(), n;\n}\nfunction n(t) {\n const n = [];\n for (; t.nextPoint();) n.push([t.x, t.y]);\n return t.seekPathStart(), n;\n}\nexport { t as collectMultipath, n as collectPath };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport { equals as t } from \"../../core/arrayUtils.js\";\nimport { Axis as n } from \"./Axis.js\";\nimport { getInfo as e } from \"./spatialReferenceUtils.js\";\nfunction r(t) {\n if (!t) return null;\n if (Array.isArray(t)) return t;\n const n = t.hasZ,\n e = t.hasM;\n if (\"point\" === t.type) return e && n ? [t.x, t.y, t.z, t.m] : n ? [t.x, t.y, t.z] : e ? [t.x, t.y, t.m] : [t.x, t.y];\n if (\"polygon\" === t.type) return t.rings.slice(0);\n if (\"polyline\" === t.type) return t.paths.slice(0);\n if (\"multipoint\" === t.type) return t.points.slice(0);\n if (\"extent\" === t.type) {\n const n = t.clone().normalize();\n if (!n) return null;\n let e = !1,\n r = !1;\n return n.forEach(t => {\n t.hasZ && (e = !0), t.hasM && (r = !0);\n }), n.map(t => {\n const n = [[t.xmin, t.ymin], [t.xmin, t.ymax], [t.xmax, t.ymax], [t.xmax, t.ymin], [t.xmin, t.ymin]];\n if (e && t.hasZ) {\n const e = .5 * (t.zmax - t.zmin);\n for (let t = 0; t < n.length; t++) n[t].push(e);\n }\n if (r && t.hasM) {\n const e = .5 * (t.mmax - t.mmin);\n for (let t = 0; t < n.length; t++) n[t].push(e);\n }\n return n;\n });\n }\n return null;\n}\nfunction i(t, n) {\n const e = n[0] - t[0],\n r = n[1] - t[1];\n if (t.length > 2 && n.length > 2) {\n const i = t[2] - n[2];\n return Math.sqrt(e * e + r * r + i * i);\n }\n return Math.sqrt(e * e + r * r);\n}\nfunction o(t, n, e) {\n const r = t[0] + e * (n[0] - t[0]),\n i = t[1] + e * (n[1] - t[1]);\n return t.length > 2 && n.length > 2 ? [r, i, t[2] + e * (n[2] - t[2])] : [r, i];\n}\nfunction s(t, n, e, r) {\n return f(t, n, e[r], e[r + 1]);\n}\nfunction f(t, n, e, r) {\n const [i, o] = n,\n [s, f] = e,\n [l, u] = r,\n c = l - s,\n h = u - f,\n p = c * c + h * h,\n a = (i - s) * c + (o - f) * h,\n y = Math.min(1, Math.max(0, a / p));\n return t[0] = s + c * y, t[1] = f + h * y, t;\n}\nfunction l(t, n, e) {\n let r,\n i,\n o,\n s,\n f = !1,\n l = 1 / 0;\n for (e.reset(); e.nextPath();) if (e.nextPoint()) for (r = e.x, i = e.y; e.nextPoint();) o = e.x, s = e.y, i > n != s > n && t < (o - r) * (n - i) / (s - i) + r && (f = !f), l = Math.min(l, u(t, n, r, i, o, s)), r = o, i = s;\n return 0 === l ? 0 : (f ? 1 : -1) * Math.sqrt(l);\n}\nfunction u(t, n, e, r, i, o) {\n let s = e,\n f = r,\n l = i - s,\n u = o - f;\n if (0 !== l || 0 !== u) {\n const e = ((t - s) * l + (n - f) * u) / (l * l + u * u);\n e > 1 ? (s = i, f = o) : e > 0 && (s += l * e, f += u * e);\n }\n return l = t - s, u = n - f, l * l + u * u;\n}\nfunction c(t, n) {\n return o(t, n, .5);\n}\nfunction h(t) {\n const n = t.length;\n let e = 0;\n for (let r = 0; r < n - 1; ++r) e += i(t[r], t[r + 1]);\n return e;\n}\nfunction p(t, n) {\n if (n <= 0) return t[0];\n const e = t.length;\n let r = 0;\n for (let s = 0; s < e - 1; ++s) {\n const e = i(t[s], t[s + 1]);\n if (n - r < e) {\n const i = (n - r) / e;\n return o(t[s], t[s + 1], i);\n }\n r += e;\n }\n return t[e - 1];\n}\nfunction a(t, e = n.X, r = n.Y) {\n let i = 0;\n const o = t.length;\n let s = t[0];\n for (let n = 0; n < o - 1; n++) {\n const o = t[n + 1];\n i += (o[e] - s[e]) * (o[r] + s[r]), s = o;\n }\n return i >= 0;\n}\nfunction y(n) {\n const e = n.length;\n return e > 2 && t(n[0], n[e - 1]);\n}\nfunction m(t) {\n if (\"rings\" in t && (g(t), t.rings.length > 0 && !a(t.rings[0]))) for (const n of t.rings) n.reverse();\n}\nfunction g(t) {\n if (\"rings\" in t) for (const n of t.rings) y(n) || n.push(n[0].slice());\n}\nfunction x(t) {\n if (\"polygon\" !== t.type && \"polyline\" !== t.type) return t;\n return M(\"polygon\" === t.type ? t.rings : t.paths, t.spatialReference), t;\n}\nfunction M(t, n) {\n const r = e(n);\n if (!r) return;\n const i = r.valid[0],\n o = r.valid[1],\n s = o - i;\n for (const e of t) {\n let t = 1 / 0,\n n = -1 / 0;\n for (const s of e) {\n const e = z(s[0], i, o);\n t = Math.min(t, e), n = Math.max(n, e), s[0] = e;\n }\n const r = n - t;\n s - r < r && e.forEach(t => {\n t[0] < 0 && (t[0] += s);\n });\n }\n}\nfunction z(t, n, e) {\n const r = e - n;\n return t < n ? e - (n - t) % r : t > e ? n + (t - n) % r : t;\n}\nfunction v(t) {\n if (!t || t.length < 3) return 0;\n let n = 0;\n const e = t.length - 1;\n for (let r = 0; r < e; r++) n += (t[r][0] - t[r + 1][0]) * (t[r][1] + t[r + 1][1]);\n return n += (t[e][0] - t[0][0]) * (t[e][1] + t[0][1]), -.5 * n;\n}\nfunction j(t, n) {\n if (t === n) return !0;\n if (t.type !== n.type) return !1;\n if (\"point\" === t.type || \"mesh\" === t.type || \"extent\" === t.type) return !0;\n if (\"multipoint\" === t.type) return t.points.length === n.points.length;\n const [e, r] = \"polyline\" === t.type ? [t.paths, n.paths] : [t.rings, n.rings];\n return e.length === r.length && e.every((t, n) => t.length === r[n].length);\n}\nexport { g as closeRings, m as closeRingsAndFixWinding, l as distanceFromPointToPolygon, u as distanceToSegmentSquared, r as geometryToCoordinates, i as getLength, c as getMidpoint, h as getPathLength, p as getPointOnPath, v as getRingArea, j as hasCompatibleTopology, a as isClockwise, y as isClosed, s as projectPointOnLine, f as projectPointOnLineSeg, x as unnormalizeGeometryOnDatelineCrossing, M as unnormalizeVerticesOnDatelineCrossing, z as unnormalizedCoordinate };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport { collectPath as t } from \"../geometryCursorCollectUtils.js\";\nimport { getLength as n, getMidpoint as e } from \"./coordsUtils.js\";\nfunction r(t) {\n return t ? t.hasZ ? [t.xmax - t.xmin / 2, t.ymax - t.ymin / 2, t.zmax - t.zmin / 2] : [t.xmax - t.xmin / 2, t.ymax - t.ymin / 2] : null;\n}\nfunction l(t) {\n return t ? o(t.rings, t.hasZ ?? !1) : null;\n}\nfunction o(t, n) {\n if (!t?.length) return null;\n const e = [],\n r = [],\n l = n ? [1 / 0, -1 / 0, 1 / 0, -1 / 0, 1 / 0, -1 / 0] : [1 / 0, -1 / 0, 1 / 0, -1 / 0];\n for (let o = 0, i = t.length; o < i; o++) {\n const e = u(t[o], n, l);\n e && r.push(e);\n }\n if (r.sort((t, e) => {\n let r = t[2] - e[2];\n return 0 === r && n && (r = t[4] - e[4]), r;\n }), r.length && (e[0] = r[0][0], e[1] = r[0][1], n && (e[2] = r[0][3]), (e[0] < l[0] || e[0] > l[1] || e[1] < l[2] || e[1] > l[3] || n && (e[2] < l[4] || e[2] > l[5])) && (e.length = 0)), !e.length) {\n const r = t[0] && t[0].length ? s(t[0], n) : null;\n if (!r) return null;\n e[0] = r[0], e[1] = r[1], n && r.length > 2 && (e[2] = r[2]);\n }\n return e;\n}\nfunction u(t, n, e) {\n let r = 0,\n l = 0,\n o = 0,\n u = 0,\n i = 0;\n const s = t.length ? t[0][0] : 0,\n I = t.length ? t[0][1] : 0,\n h = t.length && n ? t[0][2] : 0;\n for (let f = 0; f < t.length; f++) {\n const c = t[f],\n N = t[(f + 1) % t.length],\n [x, g, a] = c,\n m = x - s,\n P = g - I,\n [T, y, E] = N,\n S = T - s,\n p = y - I,\n z = m * p - S * P;\n if (u += z, r += (m + S) * z, l += (P + p) * z, n && c.length > 2 && N.length > 2) {\n const t = a - h,\n n = E - h,\n e = m * n - S * t;\n o += (t + n) * e, i += e;\n }\n x < e[0] && (e[0] = x), x > e[1] && (e[1] = x), g < e[2] && (e[2] = g), g > e[3] && (e[3] = g), n && (a < e[4] && (e[4] = a), a > e[5] && (e[5] = a));\n }\n if (u > 0 && (u *= -1), i > 0 && (i *= -1), !u) return null;\n u *= .5, i *= .5;\n const c = [r / (6 * u) + s, l / (6 * u) + I, u];\n return n && (e[4] === e[5] || 0 === i ? (c[3] = (e[4] + e[5]) / 2, c[4] = 0) : (c[3] = o / (6 * i) + h, c[4] = i)), c;\n}\nfunction i(t, n) {\n let e = 0,\n r = 0,\n l = 0;\n t.nextPoint();\n const o = t.pathSize ? t.x : 0,\n u = t.pathSize ? t.y : 0;\n for (let i = 0; i < t.pathSize; i++) {\n t.seekInPath(i);\n const s = [t.x, t.y];\n t.seekInPath((i + 1) % t.pathSize);\n const I = [t.x, t.y],\n [h, c] = s,\n f = h - o,\n N = c - u,\n [x, g] = I,\n a = x - o,\n m = g - u,\n P = f * m - a * N;\n l += P, e += (f + a) * P, r += (N + m) * P, h < n[0] && (n[0] = h), h > n[1] && (n[1] = h), c < n[2] && (n[2] = c), c > n[3] && (n[3] = c);\n }\n if (l > 0 && (l *= -1), !l) return null;\n l *= .5;\n return [e / (6 * l) + o, r / (6 * l) + u, l];\n}\nfunction s(t, r) {\n const l = r ? [0, 0, 0] : [0, 0],\n o = r ? [0, 0, 0] : [0, 0];\n let u = 0,\n i = 0,\n s = 0,\n I = 0;\n for (let h = 0, c = t.length; h < c - 1; h++) {\n const c = t[h],\n f = t[h + 1];\n if (c && f) {\n l[0] = c[0], l[1] = c[1], o[0] = f[0], o[1] = f[1], r && c.length > 2 && f.length > 2 && (l[2] = c[2], o[2] = f[2]);\n const t = n(l, o);\n if (t) {\n u += t;\n const n = e(c, f);\n i += t * n[0], s += t * n[1], r && n.length > 2 && (I += t * n[2]);\n }\n }\n }\n return u > 0 ? r ? [i / u, s / u, I / u] : [i / u, s / u] : t.length ? t[0] : null;\n}\nfunction I(n) {\n const {\n hasZ: e,\n totalSize: r\n } = n;\n if (0 === r) return null;\n const l = [],\n o = [],\n i = e ? [Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY] : [Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY];\n for (n.reset(); n.nextPath();) {\n const e = u(t(n), n.hasZ, i);\n e && o.push(e);\n }\n if (o.sort((t, n) => {\n let r = t[2] - n[2];\n return 0 === r && e && (r = t[4] - n[4]), r;\n }), o.length && (l[0] = o[0][0], l[1] = o[0][1], e && (l[2] = o[0][3]), (l[0] < i[0] || l[0] > i[1] || l[1] < i[2] || l[1] > i[3] || e && (l[2] < i[4] || l[2] > i[5])) && (l.length = 0)), !l.length) {\n n.reset(), n.nextPath();\n const t = n.pathSize ? h(n) : null;\n if (!t) return null;\n l[0] = t[0], l[1] = t[1], e && t.length > 2 && (l[2] = t[2]);\n }\n return l;\n}\nfunction h(t) {\n const {\n hasZ: r\n } = t,\n l = r ? [0, 0, 0] : [0, 0],\n o = r ? [0, 0, 0] : [0, 0];\n let u = 0,\n i = 0,\n s = 0,\n I = 0;\n if (t.nextPoint()) {\n let h = t.x,\n c = t.y,\n f = t.z;\n for (; t.nextPoint();) {\n const N = t.x,\n x = t.y,\n g = t.z;\n l[0] = h, l[1] = c, o[0] = N, o[1] = x, r && (l[2] = f, o[2] = g);\n const a = n(l, o);\n if (a) {\n u += a;\n const t = e(l, o);\n i += a * t[0], s += a * t[1], r && t.length > 2 && (I += a * t[2]);\n }\n h = N, c = x, f = g;\n }\n }\n return u > 0 ? r ? [i / u, s / u, I / u] : [i / u, s / u] : t.pathSize ? (t.seekPathStart(), t.nextPoint(), [t.x, t.y]) : null;\n}\nconst c = 1e-6;\nfunction f(t) {\n let n = 0;\n for (t.reset(); t.nextPath();) n += t.getCurrentRingArea();\n if (n < c) {\n const n = I(t);\n return n ? [n[0], n[1]] : null;\n }\n const e = [0, 0];\n if (t.reset(), !t.nextPath() || !t.nextPoint()) return null;\n const r = [t.x, t.y];\n for (t.reset(); t.nextPath();) x(e, r, t);\n return e[0] *= 1 / n, e[1] *= 1 / n, e[0] += r[0], e[1] += r[1], e;\n}\nconst N = 1 / 3;\nfunction x(t, n, e) {\n if (!t || !e || e.pathSize < 3) return null;\n e.nextPoint();\n const r = e.x,\n l = e.y;\n e.nextPoint();\n let o,\n u = e.x - r,\n i = e.y - l,\n s = 0,\n I = 0;\n for (; e.nextPoint();) s = e.x - r, I = e.y - l, o = .5 * N * (s * i - I * u), t[0] += o * (u + s), t[1] += o * (i + I), u = s, i = I;\n const h = e.getCurrentRingArea(),\n c = [r, l];\n return c[0] -= n[0], c[1] -= n[1], c[0] *= h, c[1] *= h, t[0] += c[0], t[1] += c[1], t;\n}\nexport { r as extentCentroid, s as lineCentroid, h as lineCentroidCursor, l as polygonCentroid, u as ringCentroid, i as ringCentroidCursorXY, o as ringsCentroid, I as ringsCentroidCursor, f as weightedAreaCentroid };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport { getPointsBounds as n, getRingsOrPathsBounds as i } from \"./boundsUtils.js\";\nfunction t(n) {\n return void 0 !== n.xmin && void 0 !== n.ymin && void 0 !== n.xmax && void 0 !== n.ymax;\n}\nfunction u(n) {\n return void 0 !== n.points;\n}\nfunction m(n) {\n return void 0 !== n.x && void 0 !== n.y;\n}\nfunction o(n) {\n return void 0 !== n.paths;\n}\nfunction r(n) {\n return void 0 !== n.rings;\n}\nconst x = [];\nfunction a(n, i, t, u) {\n return {\n xmin: n,\n ymin: i,\n xmax: t,\n ymax: u\n };\n}\nfunction c(n, i, t, u, m, o) {\n return {\n xmin: n,\n ymin: i,\n zmin: t,\n xmax: u,\n ymax: m,\n zmax: o\n };\n}\nfunction s(n, i, t, u, m, o) {\n return {\n xmin: n,\n ymin: i,\n mmin: t,\n xmax: u,\n ymax: m,\n mmax: o\n };\n}\nfunction e(n, i, t, u, m, o, r, x) {\n return {\n xmin: n,\n ymin: i,\n zmin: t,\n mmin: u,\n xmax: m,\n ymax: o,\n zmax: r,\n mmax: x\n };\n}\nfunction f(n, i = !1, t = !1) {\n return i ? t ? e(n[0], n[1], n[2], n[3], n[4], n[5], n[6], n[7]) : c(n[0], n[1], n[2], n[3], n[4], n[5]) : t ? s(n[0], n[1], n[2], n[3], n[4], n[5]) : a(n[0], n[1], n[2], n[3]);\n}\nfunction l(n) {\n return n ? t(n) ? n : m(n) ? d(n) : r(n) ? v(n) : o(n) ? h(n) : u(n) ? y(n) : null : null;\n}\nfunction y(i) {\n const {\n hasZ: t,\n hasM: u,\n points: m\n } = i;\n return f(n(x, m, t ?? !1, u ?? !1), t, u);\n}\nfunction d(n) {\n const {\n x: i,\n y: t,\n z: u,\n m\n } = n,\n o = null != m;\n return null != u ? o ? e(i, t, u, m, i, t, u, m) : c(i, t, u, i, t, u) : o ? s(i, t, m, i, t, m) : a(i, t, i, t);\n}\nfunction v(n) {\n const {\n hasZ: t,\n hasM: u,\n rings: m\n } = n,\n o = i(x, m, t ?? !1, u ?? !1);\n return o ? f(o, t, u) : null;\n}\nfunction h(n) {\n const {\n hasZ: t,\n hasM: u,\n paths: m\n } = n,\n o = i(x, m, t ?? !1, u ?? !1);\n return o ? f(o, t, u) : null;\n}\nexport { l as getGeometryExtent, y as getMultipointExtent, d as getPointExtent, v as getPolygonExtent, h as getPolylineExtent };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport { _ as t } from \"../chunks/tslib.es6.js\";\nimport { equals as e } from \"../core/arrayUtils.js\";\nimport { clone as r } from \"../core/lang.js\";\nimport { property as s } from \"../core/accessorSupport/decorators/property.js\";\nimport \"../core/accessorSupport/ensureType.js\";\nimport { subclass as n } from \"../core/accessorSupport/decorators/subclass.js\";\nimport { writer as i } from \"../core/accessorSupport/decorators/writer.js\";\nimport o from \"./Extent.js\";\nimport a from \"./Geometry.js\";\nimport l from \"./Point.js\";\nimport h from \"./SpatialReference.js\";\nimport { polygonCentroid as p } from \"./support/centroid.js\";\nimport { polygonContainsPoint as u } from \"./support/contains.js\";\nimport { isClockwise as c } from \"./support/coordsUtils.js\";\nimport { getPolygonExtent as f } from \"./support/extentUtils.js\";\nimport { isSelfIntersecting as m } from \"./support/intersectsBase.js\";\nimport { project as g } from \"./support/webMercatorUtils.js\";\nimport { updateSupportFromPoint as y } from \"./support/zmUtils.js\";\nvar d;\nfunction R(t) {\n return !Array.isArray(t[0]);\n}\nlet x = d = class extends a {\n static fromExtent(t) {\n const e = t.clone().normalize(),\n r = t.spatialReference;\n let s = !1,\n n = !1;\n for (const o of e) o.hasZ && (s = !0), o.hasM && (n = !0);\n const i = {\n rings: e.map(t => {\n const e = [[t.xmin, t.ymin], [t.xmin, t.ymax], [t.xmax, t.ymax], [t.xmax, t.ymin], [t.xmin, t.ymin]];\n if (s && t.hasZ) {\n const r = t.zmin + .5 * (t.zmax - t.zmin);\n for (let t = 0; t < e.length; t++) e[t].push(r);\n }\n if (n && t.hasM) {\n const r = t.mmin + .5 * (t.mmax - t.mmin);\n for (let t = 0; t < e.length; t++) e[t].push(r);\n }\n return e;\n }),\n spatialReference: r\n };\n return s && (i.hasZ = !0), n && (i.hasM = !0), new d(i);\n }\n constructor(...t) {\n super(...t), this.rings = [], this.type = \"polygon\";\n }\n normalizeCtorArgs(t, e) {\n let r,\n s,\n n = null,\n i = null;\n return t && !Array.isArray(t) ? (n = t.rings ?? null, e || (t.spatialReference ? e = t.spatialReference : t.rings || (e = t)), r = t.hasZ, s = t.hasM) : n = t, n = n || [], e = e || h.WGS84, n.length && null != n[0]?.[0] && \"number\" == typeof n[0][0] && (n = [n]), i = n[0]?.[0], i && (void 0 === r && void 0 === s ? (r = i.length > 2, s = i.length > 3) : void 0 === r ? r = s ? i.length > 3 : i.length > 2 : void 0 === s && (s = r ? i.length > 3 : i.length > 2)), {\n rings: n,\n spatialReference: e,\n hasZ: r,\n hasM: s\n };\n }\n get cache() {\n return this.commitProperty(\"rings\"), this.commitProperty(\"hasZ\"), this.commitProperty(\"hasM\"), this.commitProperty(\"spatialReference\"), {};\n }\n get centroid() {\n const t = p(this);\n if (!t || isNaN(t[0]) || isNaN(t[1]) || this.hasZ && isNaN(t[2])) return null;\n const e = new l();\n return e.x = t[0], e.y = t[1], e.spatialReference = this.spatialReference, this.hasZ && (e.z = t[2]), e;\n }\n get extent() {\n const {\n spatialReference: t\n } = this,\n e = f(this);\n if (!e) return null;\n const r = new o(e);\n return r.spatialReference = t, r;\n }\n get isSelfIntersecting() {\n return m(this.rings);\n }\n writeRings(t, e) {\n e.rings = r(this.rings);\n }\n addRing(t) {\n if (!t) return;\n const e = this.rings,\n r = e.length;\n if (R(t)) {\n const s = [];\n for (let e = 0, r = t.length; e < r; e++) s[e] = t[e].toArray();\n e[r] = s;\n } else e[r] = t.concat();\n return this.notifyChange(\"rings\"), this;\n }\n clone() {\n const t = new d();\n return t.spatialReference = this.spatialReference, t.rings = r(this.rings), t.hasZ = this.hasZ, t.hasM = this.hasM, t;\n }\n equals(t) {\n if (this === t) return !0;\n if (null == t) return !1;\n const r = this.spatialReference,\n s = t.spatialReference;\n if (null != r != (null != s)) return !1;\n if (null != r && null != s && !r.equals(s)) return !1;\n if (this.rings.length !== t.rings.length) return !1;\n const n = ([t, e, r, s], [n, i, o, a]) => t === n && e === i && (null == r && null == o || r === o) && (null == s && null == a || s === a);\n for (let i = 0; i < this.rings.length; i++) {\n const r = this.rings[i],\n s = t.rings[i];\n if (!e(r, s, n)) return !1;\n }\n return !0;\n }\n contains(t) {\n if (!t) return !1;\n const e = g(t, this.spatialReference);\n return u(this, null != e ? e : t);\n }\n isClockwise(t) {\n let e;\n return e = R(t) ? t.map(t => this.hasZ ? this.hasM ? [t.x, t.y, t.z, t.m] : [t.x, t.y, t.z] : [t.x, t.y]) : t, c(e);\n }\n getPoint(t, e) {\n if (!this._validateInputs(t, e)) return null;\n const r = this.rings[t][e],\n s = this.hasZ,\n n = this.hasM;\n return s && !n ? new l(r[0], r[1], r[2], void 0, this.spatialReference) : n && !s ? new l(r[0], r[1], void 0, r[2], this.spatialReference) : s && n ? new l(r[0], r[1], r[2], r[3], this.spatialReference) : new l(r[0], r[1], this.spatialReference);\n }\n insertPoint(t, e, r) {\n return this._validateInputs(t, e, !0) ? (y(this, r), Array.isArray(r) || (r = r.toArray()), this.rings[t].splice(e, 0, r), this.notifyChange(\"rings\"), this) : this;\n }\n removePoint(t, e) {\n if (!this._validateInputs(t, e)) return null;\n const r = new l(this.rings[t].splice(e, 1)[0], this.spatialReference);\n return this.notifyChange(\"rings\"), r;\n }\n removeRing(t) {\n if (!this._validateInputs(t, null)) return null;\n const e = this.rings.splice(t, 1)[0],\n r = this.spatialReference,\n s = e.map(t => new l(t, r));\n return this.notifyChange(\"rings\"), s;\n }\n setPoint(t, e, r) {\n return this._validateInputs(t, e) ? (y(this, r), Array.isArray(r) || (r = r.toArray()), this.rings[t][e] = r, this.notifyChange(\"rings\"), this) : this;\n }\n _validateInputs(t, e, r = !1) {\n if (null == t || t < 0 || t >= this.rings.length) return !1;\n if (null != e) {\n const s = this.rings[t];\n if (r && (e < 0 || e > s.length)) return !1;\n if (!r && (e < 0 || e >= s.length)) return !1;\n }\n return !0;\n }\n toJSON(t) {\n return this.write({}, t);\n }\n};\nt([s({\n readOnly: !0\n})], x.prototype, \"cache\", null), t([s({\n readOnly: !0\n})], x.prototype, \"centroid\", null), t([s({\n readOnly: !0\n})], x.prototype, \"extent\", null), t([s({\n readOnly: !0\n})], x.prototype, \"isSelfIntersecting\", null), t([s({\n type: [[[Number]]],\n json: {\n write: {\n isRequired: !0\n }\n }\n})], x.prototype, \"rings\", void 0), t([i(\"rings\")], x.prototype, \"writeRings\", null), x = d = t([n(\"esri.geometry.Polygon\")], x), x.prototype.toJSON.isDefaultToJSON = !0;\nconst j = x;\nexport { j as default };","/*\nAll material copyright ESRI, All Rights Reserved, unless otherwise specified.\nSee https://js.arcgis.com/4.28/esri/copyright.txt for details.\n*/\nimport { _ as t } from \"../chunks/tslib.es6.js\";\nimport { clone as e } from \"../core/lang.js\";\nimport { property as s } from \"../core/accessorSupport/decorators/property.js\";\nimport \"../core/accessorSupport/ensureType.js\";\nimport { subclass as r } from \"../core/accessorSupport/decorators/subclass.js\";\nimport { writer as i } from \"../core/accessorSupport/decorators/writer.js\";\nimport a from \"./Extent.js\";\nimport n from \"./Geometry.js\";\nimport o from \"./Point.js\";\nimport h from \"./SpatialReference.js\";\nimport { getPolylineExtent as p } from \"./support/extentUtils.js\";\nimport { updateSupportFromPoint as l } from \"./support/zmUtils.js\";\nvar c;\nfunction u(t) {\n return !Array.isArray(t[0]);\n}\nlet f = c = class extends n {\n constructor(...t) {\n super(...t), this.paths = [], this.type = \"polyline\";\n }\n normalizeCtorArgs(t, e) {\n let s,\n r,\n i = null,\n a = null;\n return t && !Array.isArray(t) ? (i = t.paths ?? null, e || (t.spatialReference ? e = t.spatialReference : t.paths || (e = t)), s = t.hasZ, r = t.hasM) : i = t, i = i || [], e = e || h.WGS84, i.length && null != i[0]?.[0] && \"number\" == typeof i[0][0] && (i = [i]), a = i[0]?.[0], a && (void 0 === s && void 0 === r ? (s = a.length > 2, r = !1) : void 0 === s ? s = !r && a.length > 3 : void 0 === r && (r = !s && a.length > 3)), {\n paths: i,\n spatialReference: e,\n hasZ: s,\n hasM: r\n };\n }\n get cache() {\n return this.commitProperty(\"paths\"), this.commitProperty(\"hasZ\"), this.commitProperty(\"hasM\"), this.commitProperty(\"spatialReference\"), {};\n }\n get extent() {\n const {\n spatialReference: t\n } = this,\n e = p(this);\n if (!e) return null;\n const s = new a(e);\n return s.spatialReference = t, s;\n }\n writePaths(t, s) {\n s.paths = e(this.paths);\n }\n addPath(t) {\n if (!t) return;\n const e = this.paths,\n s = e.length;\n if (u(t)) {\n const r = [];\n for (let e = 0, s = t.length; e < s; e++) r[e] = t[e].toArray();\n e[s] = r;\n } else e[s] = t.concat();\n return this.notifyChange(\"paths\"), this;\n }\n clone() {\n const t = new c();\n return t.spatialReference = this.spatialReference, t.paths = e(this.paths), t.hasZ = this.hasZ, t.hasM = this.hasM, t;\n }\n getPoint(t, e) {\n if (!this._validateInputs(t, e)) return null;\n const s = this.paths[t][e],\n r = this.hasZ,\n i = this.hasM;\n return r && !i ? new o(s[0], s[1], s[2], void 0, this.spatialReference) : i && !r ? new o(s[0], s[1], void 0, s[2], this.spatialReference) : r && i ? new o(s[0], s[1], s[2], s[3], this.spatialReference) : new o(s[0], s[1], this.spatialReference);\n }\n insertPoint(t, e, s) {\n return this._validateInputs(t, e, !0) ? (l(this, s), Array.isArray(s) || (s = s.toArray()), this.paths[t].splice(e, 0, s), this.notifyChange(\"paths\"), this) : this;\n }\n removePath(t) {\n if (!this._validateInputs(t, null)) return null;\n const e = this.paths.splice(t, 1)[0],\n s = this.spatialReference,\n r = e.map(t => new o(t, s));\n return this.notifyChange(\"paths\"), r;\n }\n removePoint(t, e) {\n if (!this._validateInputs(t, e)) return null;\n const s = new o(this.paths[t].splice(e, 1)[0], this.spatialReference);\n return this.notifyChange(\"paths\"), s;\n }\n setPoint(t, e, s) {\n return this._validateInputs(t, e) ? (l(this, s), Array.isArray(s) || (s = s.toArray()), this.paths[t][e] = s, this.notifyChange(\"paths\"), this) : this;\n }\n _validateInputs(t, e, s = !1) {\n if (null == t || t < 0 || t >= this.paths.length) return !1;\n if (null != e) {\n const r = this.paths[t];\n if (s && (e < 0 || e > r.length)) return !1;\n if (!s && (e < 0 || e >= r.length)) return !1;\n }\n return !0;\n }\n toJSON(t) {\n return this.write({}, t);\n }\n};\nt([s({\n readOnly: !0\n})], f.prototype, \"cache\", null), t([s({\n readOnly: !0\n})], f.prototype, \"extent\", null), t([s({\n type: [[[Number]]],\n json: {\n write: {\n isRequired: !0\n }\n }\n})], f.prototype, \"paths\", void 0), t([i(\"paths\")], f.prototype, \"writePaths\", null), f = c = t([r(\"esri.geometry.Polyline\")], f), f.prototype.toJSON.isDefaultToJSON = !0;\nconst m = f;\nexport { m as default };"],"mappings":"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","names":["h","a","s","t","e","h","t","s","e","c","i","r","n","a","p","m","u","f","y","d","g","o","l","n","e","r","u","t","i","l","h","a","x","g","c","o","f","m","s","y","d","M","v","t","n","e","i","t","n","e","r","o","s","f","l","u","c","h","p","a","y","c","t","n","o","a","t","e","r","i","o","s","n","y","m","g","r","t","l","o","n","e","i","u","s","I","h","f","c","N","x","g","a","m","y","p","t","n","u","m","o","r","x","a","i","c","s","e","f","l","h","y","g","d","t","x","e","r","s","n","o","i","l","p","a","f","h","c","u","t","f","e","s","r","i","a","h","m"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8]}