import { h, i, l as l4 } from "./chunk-ZBREIOZ2.js"; import { d as d2, h as h2, l as l3, m as m5 } from "./chunk-FUB4YNLX.js"; import { u } from "./chunk-EE6TL7XD.js"; import { M as M2, N as N2 } from "./chunk-7SW2GQFP.js"; import { e as e3, n as n5, o as o4 } from "./chunk-YASLQAXE.js"; import { u as u2 } from "./chunk-VEAEIBHK.js"; import { x } from "./chunk-2VFJVI2I.js"; import { L } from "./chunk-P4UZNLD5.js"; import { N, P, a as a2, j as j2, n as n3, n2 as n4, v } from "./chunk-FUD7XO3N.js"; import { j as j3 } from "./chunk-6EU7GFUT.js"; import { p as p2 } from "./chunk-HZJYXMI6.js"; import { T as T2, m as m4 } from "./chunk-GRBROWI6.js"; import { g } from "./chunk-RZFGRBD7.js"; import { m as m3, n as n2, y as y2 } from "./chunk-EN7YGJWG.js"; import { y } from "./chunk-BJHM4JNS.js"; import { a, m as m2, p } from "./chunk-EOSZHC5H.js"; import { l as l2 } from "./chunk-7XXXCK2A.js"; import { r as r3 } from "./chunk-7ZIDBK7B.js"; import { o as o3 } from "./chunk-WEMIK25H.js"; import { U } from "./chunk-VNFRAYHO.js"; import { o as o2, s as s2 } from "./chunk-PDKDCAAD.js"; import { M2 as M, j2 as j, o } from "./chunk-ECW2QABR.js"; import { k2 as k, r as r2 } from "./chunk-MRJEICT6.js"; import { d, e, l3 as l, n2 as n, t as t2 } from "./chunk-Y3WMVFTW.js"; import { S, T } from "./chunk-IHXECKQQ.js"; import { s3 as s } from "./chunk-EMJ4ZSM2.js"; import { m } from "./chunk-IKP3YN53.js"; import { e as e2, r, t } from "./chunk-GZT4BVFP.js"; // node_modules/@arcgis/core/renderers/FlowRenderer.js var c; var d3 = new s2({ flow_from: "flow-from", flow_to: "flow-to" }); var h3 = c = class extends v(l) { constructor(o7) { super(o7), this.density = 0.8, this.color = new l2([255, 255, 255, 1]), this.maxPathLength = 200, this.trailWidth = 1.5, this.flowSpeed = 10, this.trailLength = 100, this.smoothing = 0, this.flowRepresentation = "flow-from", this.type = "flow", this.authoringInfo = null, this.legendOptions = null, this.trailCap = "butt", this.background = "none"; } clone() { const { density: o7, maxPathLength: t4, trailWidth: e4, flowSpeed: r5, trailLength: i5, smoothing: s4, flowRepresentation: n9, trailCap: p5, background: a7 } = this, l10 = this.color.clone(), m10 = (this.visualVariables || []).map((o8) => o8.clone()), d6 = this.authoringInfo?.clone(), h6 = this.legendOptions?.clone(); return new c({ density: o7, color: l10, maxPathLength: t4, trailWidth: e4, flowSpeed: r5, trailLength: i5, trailCap: p5, background: a7, smoothing: s4, flowRepresentation: n9, visualVariables: m10, authoringInfo: d6, legendOptions: h6 }); } getSymbol(o7, t4) { } async getSymbolAsync(o7, t4) { } getSymbols() { return []; } }; e([d({ type: Number, json: { write: true } })], h3.prototype, "density", void 0), e([d({ type: l2, json: { write: { allowNull: true } } })], h3.prototype, "color", void 0), e([d({ type: Number, cast: o3, json: { write: true } })], h3.prototype, "maxPathLength", void 0), e([d({ type: Number, cast: o3, json: { write: true } })], h3.prototype, "trailWidth", void 0), e([d({ type: Number, json: { write: true } })], h3.prototype, "flowSpeed", void 0), e([d({ type: Number, json: { write: true } })], h3.prototype, "trailLength", void 0), e([d({ type: Number, cast: o3, json: { write: false } })], h3.prototype, "smoothing", void 0), e([d({ type: d3.apiValues, json: { type: d3.jsonValues, read: { reader: d3.read }, write: { writer: d3.write } } })], h3.prototype, "flowRepresentation", void 0), e([r3({ flowRenderer: "flow" })], h3.prototype, "type", void 0), e([d({ type: j2, json: { write: true } })], h3.prototype, "authoringInfo", void 0), e([d({ type: p2, json: { write: true } })], h3.prototype, "legendOptions", void 0), e([d({ type: String, json: { write: true } })], h3.prototype, "trailCap", void 0), e([d({ type: String, json: { write: true } })], h3.prototype, "background", void 0), h3 = c = e([n("esri.renderers.FlowRenderer")], h3); var u3 = h3; // node_modules/@arcgis/core/renderers/support/ColormapInfo.js var c2 = class extends l { constructor() { super(...arguments), this.value = null, this.label = null, this.color = null; } }; e([d({ type: Number, json: { write: true } })], c2.prototype, "value", void 0), e([d({ type: String, json: { write: true } })], c2.prototype, "label", void 0), e([d({ type: l2, json: { type: [S], write: true } })], c2.prototype, "color", void 0), c2 = e([n("esri.renderers.support.ColormapInfo")], c2); var l5 = c2; // node_modules/@arcgis/core/renderers/RasterColormapRenderer.js var c3; var m6 = c3 = class extends l { constructor(o7) { super(o7), this.colormapInfos = null, this.type = "raster-colormap"; } static createFromColormap(o7, r5) { if (!o7) return null; const t4 = o7[0].length === 5, s4 = [...o7].sort((o8) => o8[0][0] - o8[1][0]).map((o8) => l5.fromJSON({ value: o8[0], color: t4 ? o8.slice(1, 5) : o8.slice(1, 4).concat([255]), label: r5 ? r5[o8[0]] ?? "" : o8[0] })); return new c3({ colormapInfos: s4 }); } static createFromColorramp(o7) { const r5 = h(o7, 256); return c3.createFromColormap(r5); } clone() { return new c3({ colormapInfos: this.colormapInfos.map((o7) => o7.toJSON()) }); } extractColormap() { return this.colormapInfos.map(({ value: o7, color: r5 }) => [o7, r5.r, r5.g, r5.b, r5.a > 1 ? r5.a : 255 * r5.a & 255]).sort((o7, r5) => o7[0] - r5[0]); } }; e([d({ type: [l5], json: { write: true } })], m6.prototype, "colormapInfos", void 0), e([r3({ rasterColormap: "raster-colormap" })], m6.prototype, "type", void 0), m6 = c3 = e([n("esri.renderers.RasterColormapRenderer")], m6); var l6 = m6; // node_modules/@arcgis/core/renderers/RasterShadedReliefRenderer.js var c4; var d4 = c4 = class extends l { constructor(e4) { super(e4), this.altitude = 45, this.azimuth = 315, this.colorRamp = null, this.hillshadeType = "multi-directional", this.pixelSizePower = 0.664, this.pixelSizeFactor = 0.024, this.scalingType = "none", this.type = "raster-shaded-relief", this.zFactor = 1; } readColorRamp(e4) { return p(e4); } clone() { return new c4({ hillshadeType: this.hillshadeType, altitude: this.altitude, azimuth: this.azimuth, zFactor: this.zFactor, scalingType: this.scalingType, pixelSizeFactor: this.pixelSizeFactor, pixelSizePower: this.pixelSizePower, colorRamp: m(this.colorRamp) }); } }; e([d({ type: Number, json: { write: true } })], d4.prototype, "altitude", void 0), e([d({ type: Number, json: { write: true } })], d4.prototype, "azimuth", void 0), e([d({ types: m2, json: { write: true } })], d4.prototype, "colorRamp", void 0), e([o("colorRamp")], d4.prototype, "readColorRamp", null), e([d({ type: ["traditional", "multi-directional"], json: { write: true } })], d4.prototype, "hillshadeType", void 0), e([d({ type: Number, json: { write: true } })], d4.prototype, "pixelSizePower", void 0), e([d({ type: Number, json: { write: true } })], d4.prototype, "pixelSizeFactor", void 0), e([d({ type: ["none", "adjusted"], json: { write: true } })], d4.prototype, "scalingType", void 0), e([r3({ rasterShadedRelief: "raster-shaded-relief" })], d4.prototype, "type", void 0), e([d({ type: Number, json: { write: true } })], d4.prototype, "zFactor", void 0), d4 = c4 = e([n("esri.renderers.RasterShadedReliefRenderer")], d4); var m7 = d4; // node_modules/@arcgis/core/renderers/support/stretchRendererUtils.js var n6 = new s2({ none: "none", standardDeviation: "standard-deviation", histogramEqualization: "histogram-equalization", minMax: "min-max", percentClip: "percent-clip", sigmoid: "sigmoid" }); var a3 = { 0: "none", 3: "standardDeviation", 4: "histogramEqualization", 5: "minMax", 6: "percentClip", 9: "sigmoid" }; // node_modules/@arcgis/core/renderers/RasterStretchRenderer.js var d5; var h4 = d5 = class extends l { constructor(t4) { super(t4), this.colorRamp = null, this.computeGamma = false, this.dynamicRangeAdjustment = false, this.gamma = [], this.maxPercent = null, this.minPercent = null, this.numberOfStandardDeviations = null, this.outputMax = null, this.outputMin = null, this.sigmoidStrengthLevel = null, this.statistics = [], this.histograms = null, this.useGamma = false, this.stretchType = "none", this.type = "raster-stretch"; } readColorRamp(t4) { if (t4) return p(t4); } writeStatistics(t4, e4, r5) { t4?.length && (Array.isArray(t4[0]) || (t4 = t4.map((t5) => [t5.min, t5.max, t5.avg, t5.stddev])), e4[r5] = t4); } readStretchType(t4, e4) { let r5 = e4.stretchType; return typeof r5 == "number" && (r5 = a3[r5]), n6.read(r5); } clone() { return new d5({ stretchType: this.stretchType, outputMin: this.outputMin, outputMax: this.outputMax, useGamma: this.useGamma, computeGamma: this.computeGamma, statistics: m(this.statistics), gamma: m(this.gamma), sigmoidStrengthLevel: this.sigmoidStrengthLevel, numberOfStandardDeviations: this.numberOfStandardDeviations, minPercent: this.minPercent, maxPercent: this.maxPercent, colorRamp: m(this.colorRamp), histograms: m(this.histograms), dynamicRangeAdjustment: this.dynamicRangeAdjustment }); } }; e([d({ types: m2, json: { write: true } })], h4.prototype, "colorRamp", void 0), e([o("colorRamp")], h4.prototype, "readColorRamp", null), e([d({ type: Boolean, json: { write: true } })], h4.prototype, "computeGamma", void 0), e([d({ type: Boolean, json: { write: { target: "dra" }, read: { source: "dra" } } })], h4.prototype, "dynamicRangeAdjustment", void 0), e([d({ type: [Number], json: { write: true } })], h4.prototype, "gamma", void 0), e([d({ type: Number, json: { write: true } })], h4.prototype, "maxPercent", void 0), e([d({ type: Number, json: { write: true } })], h4.prototype, "minPercent", void 0), e([d({ type: Number, json: { write: true } })], h4.prototype, "numberOfStandardDeviations", void 0), e([d({ type: Number, json: { read: { source: "max" }, write: { target: "max" } } })], h4.prototype, "outputMax", void 0), e([d({ type: Number, json: { read: { source: "min" }, write: { target: "min" } } })], h4.prototype, "outputMin", void 0), e([d({ type: Number, json: { write: true } })], h4.prototype, "sigmoidStrengthLevel", void 0), e([d({ json: { type: [[Number]], write: true } })], h4.prototype, "statistics", void 0), e([d()], h4.prototype, "histograms", void 0), e([r2("statistics")], h4.prototype, "writeStatistics", null), e([d({ type: Boolean, json: { write: true } })], h4.prototype, "useGamma", void 0), e([d({ type: n6.apiValues, json: { type: n6.jsonValues, write: n6.write } })], h4.prototype, "stretchType", void 0), e([o("stretchType", ["stretchType"])], h4.prototype, "readStretchType", null), e([r3({ rasterStretch: "raster-stretch" })], h4.prototype, "type", void 0), h4 = d5 = e([n("esri.renderers.RasterStretchRenderer")], h4); var y3 = h4; // node_modules/@arcgis/core/renderers/VectorFieldRenderer.js var z; var u4 = new Set(["esriMetersPerSecond", "esriKilometersPerHour", "esriKnots", "esriFeetPerSecond", "esriMilesPerHour"]); var Z = new s2({ beaufort_ft: "beaufort-ft", beaufort_km: "beaufort-km", beaufort_kn: "beaufort-kn", beaufort_m: "beaufort-m", beaufort_mi: "beaufort-mi", classified_arrow: "classified-arrow", ocean_current_kn: "ocean-current-kn", ocean_current_m: "ocean-current-m", simple_scalar: "simple-scalar", single_arrow: "single-arrow", wind_speed: "wind-barb" }); var b = new s2({ flow_from: "flow-from", flow_to: "flow-to" }); var h5 = z = class extends v(l) { constructor(e4) { super(e4), this.attributeField = "Magnitude", this.flowRepresentation = "flow-from", this.rotationType = "arithmetic", this.style = "single-arrow", this.symbolTileSize = 50, this.type = "vector-field"; } readInputUnit(e4, M3) { return u4.has(e4) ? h2.fromJSON(e4) : null; } readOutputUnit(e4, M3) { return u4.has(e4) ? h2.fromJSON(e4) : null; } get styleRenderer() { const e4 = this.style, M3 = this.attributeField, i5 = this._createStyleRenderer(e4); return i5.field = M3, i5; } get sizeVariables() { const e4 = []; if (this.visualVariables) for (const M3 of this.visualVariables) M3.type === "size" && e4.push(M3); if (e4.length === 0) { const M3 = new j3({ field: "Magnitude", minSize: 0.2 * this.symbolTileSize, maxSize: 0.8 * this.symbolTileSize }); this.visualVariables ? this.visualVariables.push(M3) : this._set("visualVariables", [M3]), e4.push(M3); } return e4; } get rotationVariables() { const e4 = []; if (this.visualVariables) for (const M3 of this.visualVariables) M3.type === "rotation" && e4.push(M3); if (e4.length === 0) { const M3 = new n3({ field: "Direction", rotationType: this.rotationType }); this.visualVariables ? this.visualVariables.push(M3) : this._set("visualVariables", [M3]), e4.push(M3); } return e4; } clone() { return new z({ attributeField: this.attributeField, flowRepresentation: this.flowRepresentation, rotationType: this.rotationType, symbolTileSize: this.symbolTileSize, style: this.style, visualVariables: m(this.visualVariables), inputUnit: this.inputUnit, outputUnit: this.outputUnit }); } async getGraphicsFromPixelData(e4, M3 = false, t4 = []) { const a7 = new Array(), I2 = l3(this.inputUnit, this.outputUnit), g2 = this.rotationVariables[0]?.rotationType || this.rotationType, o7 = M3 ? m5(e4.pixelBlock, "vector-uv", g2, I2) : d2(e4.pixelBlock, "vector-magdir", I2); if (t(o7)) return a7; const s4 = e4.extent, A2 = o7.mask && o7.mask.length > 0; let c5 = 0; const w = (s4.xmax - s4.xmin) / o7.width, y4 = (s4.ymax - s4.ymin) / o7.height; for (let r5 = 0; r5 < o7.height; r5++) for (let e5 = 0; e5 < o7.width; e5++, c5++) { let M4 = new j({ x: s4.xmin + e5 * w + w / 2, y: s4.ymax - r5 * y4 - y4 / 2, spatialReference: s4.spatialReference }); M4 = (await L(M4))[0]; const I3 = t4.some((e6) => e6.intersects(M4)); if ((!A2 || o7.mask[c5]) && !I3) { const e6 = { Magnitude: o7.pixels[0][c5], Direction: o7.pixels[1][c5] }, t5 = new g({ geometry: { type: "point", x: M4.x, y: M4.y, spatialReference: s4.spatialReference }, attributes: e6 }); t5.symbol = this._getVisualVariablesAppliedSymbol(t5), a7.push(t5); } } return a7; } getSymbol(e4, M3) { } async getSymbolAsync(e4, M3) { } getSymbols() { return []; } getClassBreakInfos() { return this.styleRenderer?.classBreakInfos; } getDefaultSymbol() { return this.styleRenderer?.defaultSymbol; } _getDefaultSymbol(e4) { return new y2({ path: "M14,32 14,18 9,23 16,3 22,23 17,18 17,32 z", outline: new m3({ width: 0 }), size: 20, color: e4 || new l2([0, 92, 230]) }); } _getVisualVariablesAppliedSymbol(e4) { if (!e4) return; let M3 = this.styleRenderer && this.styleRenderer.getSymbol(e4); M3 = M3.clone(); const i5 = this.sizeVariables, t4 = this.rotationVariables; if (i5 && i5.length && this.sizeVariables.forEach((i6) => M2(M3, T2([i6], e4))), t4 && t4.length) { const i6 = this.flowRepresentation === "flow-to" === (this.style === "ocean-current-kn" || this.style === "ocean-current-m") ? 0 : 180; e4.attributes.Direction = e4.attributes.Direction + i6, this.rotationVariables.forEach((i7) => N2(M3, m4(i7, e4), i7.axis)); } return M3; } _createStyleRenderer(e4) { let M3 = { defaultSymbol: this._getDefaultSymbol(), classBreakInfos: [] }; switch (e4) { case "single-arrow": M3 = this._createSingleArrowRenderer(); break; case "beaufort-kn": M3 = this._createBeaufortKnotsRenderer(); break; case "beaufort-m": M3 = this._createBeaufortMeterRenderer(); break; case "beaufort-ft": M3 = this._createBeaufortFeetRenderer(); break; case "beaufort-mi": M3 = this._createBeaufortMilesRenderer(); break; case "beaufort-km": M3 = this._createBeaufortKilometersRenderer(); break; case "ocean-current-m": M3 = this._createCurrentMeterRenderer(); break; case "ocean-current-kn": M3 = this._createCurrentKnotsRenderer(); break; case "simple-scalar": M3 = this._createSimpleScalarRenderer(); break; case "wind-barb": M3 = this._createWindBarbsRenderer(); break; case "classified-arrow": M3 = this._createClassifiedArrowRenderer(); } return new N(M3); } _createSingleArrowRenderer() { return { defaultSymbol: this._getDefaultSymbol() }; } _createBeaufortKnotsRenderer() { const e4 = [0, 1, 3, 6, 10, 16, 21, 27, 33, 40, 47, 55, 63], i5 = [[40, 146, 199], [89, 162, 186], [129, 179, 171], [160, 194, 155], [191, 212, 138], [218, 230, 119], [250, 250, 100], [252, 213, 83], [252, 179, 102], [250, 141, 52], [247, 110, 42], [240, 71, 29]]; return { defaultSymbol: this._getDefaultSymbol(new l2([214, 47, 39])), classBreakInfos: this._getClassBreaks(e4, i5) }; } _createBeaufortMeterRenderer() { const e4 = [0, 0.2, 1.8, 3.3, 5.4, 8.5, 11, 14.1, 17.2, 20.8, 24.4, 28.6, 32.7], i5 = [[69, 117, 181], [101, 137, 184], [132, 158, 186], [162, 180, 189], [192, 204, 190], [222, 227, 191], [255, 255, 191], [255, 220, 161], [250, 185, 132], [245, 152, 105], [237, 117, 81], [232, 21, 21]]; return { defaultSymbol: this._getDefaultSymbol(new l2([214, 47, 39])), classBreakInfos: this._getClassBreaks(e4, i5) }; } _createBeaufortFeetRenderer() { const e4 = this._getDefaultSymbol(new l2([214, 47, 39])); let i5 = [0, 0.2, 1.8, 3.3, 5.4, 8.5, 11, 14.1, 17.2, 20.8, 24.4, 28.6, 32.7]; const t4 = [[69, 117, 181], [101, 137, 184], [132, 158, 186], [162, 180, 189], [192, 204, 190], [222, 227, 191], [255, 255, 191], [255, 220, 161], [250, 185, 132], [245, 152, 105], [237, 117, 81], [232, 21, 21]], a7 = 3.28084; i5 = i5.map((e5) => e5 * a7); return { defaultSymbol: e4, classBreakInfos: this._getClassBreaks(i5, t4) }; } _createBeaufortMilesRenderer() { const e4 = this._getDefaultSymbol(new l2([214, 47, 39])); let i5 = [0, 0.2, 1.8, 3.3, 5.4, 8.5, 11, 14.1, 17.2, 20.8, 24.4, 28.6, 32.7]; const t4 = [[69, 117, 181], [101, 137, 184], [132, 158, 186], [162, 180, 189], [192, 204, 190], [222, 227, 191], [255, 255, 191], [255, 220, 161], [250, 185, 132], [245, 152, 105], [237, 117, 81], [232, 21, 21]], a7 = 2.23694; i5 = i5.map((e5) => e5 * a7); return { defaultSymbol: e4, classBreakInfos: this._getClassBreaks(i5, t4) }; } _createBeaufortKilometersRenderer() { const e4 = this._getDefaultSymbol(new l2([214, 47, 39])); let i5 = [0, 0.2, 1.8, 3.3, 5.4, 8.5, 11, 14.1, 17.2, 20.8, 24.4, 28.6, 32.7]; const t4 = [[69, 117, 181], [101, 137, 184], [132, 158, 186], [162, 180, 189], [192, 204, 190], [222, 227, 191], [255, 255, 191], [255, 220, 161], [250, 185, 132], [245, 152, 105], [237, 117, 81], [232, 21, 21]], a7 = 3.6; i5 = i5.map((e5) => e5 * a7); return { defaultSymbol: e4, classBreakInfos: this._getClassBreaks(i5, t4) }; } _createCurrentMeterRenderer() { const e4 = [0, 0.5, 1, 1.5, 2], i5 = [[78, 26, 153], [179, 27, 26], [202, 128, 26], [177, 177, 177]]; return { defaultSymbol: this._getDefaultSymbol(new l2([177, 177, 177])), classBreakInfos: this._getClassBreaks(e4, i5) }; } _createCurrentKnotsRenderer() { const e4 = [0, 0.25, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4], i5 = [[0, 0, 0], [0, 37, 100], [78, 26, 153], [151, 0, 100], [179, 27, 26], [177, 78, 26], [202, 128, 26], [177, 179, 52], [177, 177, 177]]; return { defaultSymbol: this._getDefaultSymbol(new l2([177, 177, 177])), classBreakInfos: this._getClassBreaks(e4, i5) }; } _createClassifiedArrowRenderer() { const e4 = this._getDefaultSymbol(new l2([56, 168, 0])); let i5 = [0, 1e-6, 3.5, 7, 10.5, 14]; if (this.sizeVariables?.length) { const e5 = this.sizeVariables[0].minDataValue, M3 = this.sizeVariables[0].maxDataValue; if (e5 && M3) { const t5 = (M3 - e5) / 5; i5 = Array.from(Array(6).keys()).map((M4) => e5 + t5 * M4); } } const t4 = [[56, 168, 0], [139, 309, 0], [255, 255, 0], [255, 128, 0], [255, 0, 0]]; return { defaultSymbol: e4, classBreakInfos: this._getClassBreaks(i5, t4) }; } _createSimpleScalarRenderer() { return { defaultSymbol: n2.fromJSON({ imageData: "iVBORw0KGgoAAAANSUhEUgAAACsAAAArCAQAAABLVLlLAAAABGdBTUEAAYagMeiWXwAAAAJiS0dEAACqjSMyAAAACXBIWXMAAABIAAAASABGyWs+AAAC3ElEQVRIx9XXvW4cVRQH8N982btpsIREJECyiCXsxX4DKh6AliqGKCBBE2SlwlHgAbBD/AKmyEYUeQ1KahPZSZQvBCkQLTHZ7KGY8Xodz4w3a1NwbzVzz/znfJ//zbStVC5q3icKak9GAs2QIdDx3PtW/S011NW3p+M5Eomh11ipTIKe6+4LQzHaQ+G+63pIZNJJQXMpljwTwj1brpgx5w1zZlyx5Z4QnllEIm2xeeSUHBf0hV0bejo1Uh09G3aFvgXk7cCJFBc9EdaRVuHJJaOdKyTV2TVhYLMduNR0Q9gxL5GaaTDw8GzejrDRBpxWoGsySRW0dttKuattwNkIlFw2YXgzOdYq4Ox49PlM+JrKd5OusjTWhBuVxUfMX/KXXZ3WEmkuqa67wspR4BTbwtKr/5u4fFgStse/T7EifFPnnYl9zPq4vmUOPrRndgoHjDti1gOPqlyXoifcRNGQzUd31lDyfHmob1Gp35vSr+P6vilcQ5Egtyd8YF/ySg9NhPM+9M/IOaHwp5+PSZayXTvCogEUwlatC3J8LLwYtcWB8EuDXQVuCkV5/B4eNHb7wGBs87LBDS+xjdVSn09wq1G8dFM+9tSUhIGneLvUdniKxKpTYljCpu3j7rVWlHj/P23v4NPGUEyeCQnexe9lJjzEQqMjJs+EzNAX6B98dBZVRmroJx95x/A/6gln18EyfCUsl+qdXb/tjvfbw+mwforpUOBz4XLVoBwAn3aWnfeH246NyBXhrq7TTN5lNSP9RkU+puUJm3W2Tsdq0nZWM07srk7MwQrZSRysjjGWBLRJNsNbfj2JMR4AbxpU1XLAb9Mxfpsq5EjMuuiR8L0JiHOOBX3hiUvOmavN0nMueSzcceFk0BK4pMqLo7vDD1Z0qrtDx7Itt4Xwm9UqbMmk8S0Dtuzb2pvOU99Z1nLTOfleNmvfZfP2pYZmPfajwosKdDBNpacNpVGGsWX9CyDI8Xq/Sj6QAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE0LTExLTEwVDAzOjE3OjU4LTA1OjAwF+tHyQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNC0xMS0xMFQwMzoxNzo1OC0wNTowMGa2/3UAAAAASUVORK5CYII=", height: 20, width: 20, type: "esriPMS", angle: 0 }) }; } _createWindBarbsRenderer() { const e4 = Array.from(Array(31).keys()).map((e5) => 5 * e5), M3 = [{ range: "0-5", path: "M20 20 M5 20 A15 15 0 1 0 35 20 A15 15 0 1 0 5 20 M20 20 M10 20 A10 10 0 1 0 30 20 A10 10 0 1 0 10 20", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTIwIDIwIE01IDIwIEExNSAxNSAwIDEgMCAzNSAyMCBBMTUgMTUgMCAxIDAgNSAyMCBNMjAgMjAgTTEwIDIwIEExMCAxMCAwIDEgMCAzMCAyMCBBMTAgMTAgMCAxIDAgMTAgMjAiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=" }, { range: "5-10", path: "M25 0 L25 40 M25 35 L17.5 37.5", imageData: "PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNyA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTTI1IDM1IEwxNy41IDM3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=" }, { range: "10-15", path: "M25 0 L25 40 L10 45 L25 40", imageData: "PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNyA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTDEwIDQ1IEwyNSA0MCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==" }, { range: "15-20", path: "M25 0 L25 40 L10 45 L25 40 M25 35 L17.5 37.5", imageData: "PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjEyIDAgMTUgNDUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxNy41IDM3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=" }, { range: "20-25", path: "M25 0 L25 40 L10 45 L25 40 M25 35 L10 40", imageData: "PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNiA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTDEwIDQ1IEwyNSA0MCBNMjUgMzUgTDEwIDQwIiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+" }, { range: "25-30", path: "M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L17.5 32.5", imageData: "PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNiA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTDEwIDQ1IEwyNSA0MCBNMjUgMzUgTDEwIDQwIEwyNSAzNSBNMjUgMzAgTDE3LjUgMzIuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==" }, { range: "30-35", path: "M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==" }, { range: "35-40", path: "M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L17.5 27.5", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxNy41IDI3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=" }, { range: "40-45", path: "M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==" }, { range: "45-50", path: "M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L17.5 22.5", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxNy41IDIyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=" }, { range: "50-55", path: "M25 0 L25 40 L10 40 L25 35", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=" }, { range: "55-60", path: "M25 0 L25 40 L10 40 L25 35 M25 30 L17.5 32.5", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxNy41IDMyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=" }, { range: "60-65", path: "M25 0 L25 40 L10 40 L25 35 M25 30 L10 35", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==" }, { range: "65-70", path: "M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L17.5 27.5", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxNy41IDI3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=" }, { range: "70-75", path: "M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==" }, { range: "75-80", path: "M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L17.5 22.5", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxNy41IDIyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=" }, { range: "80-85", path: "M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==" }, { range: "85-90", path: "M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25 L25 20 M25 15 L17.5 17.5", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSBMMjUgMjAgTTI1IDE1IEwxNy41IDE3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=" }, { range: "90-95", path: "M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25 L25 20 M25 15 L10 20", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSBMMjUgMjAgTTI1IDE1IEwxMCAyMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==" }, { range: "95-100", path: "M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25 L25 20 M25 15 L10 20 L25 15 M25 10 L17.5 12.5", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSBMMjUgMjAgTTI1IDE1IEwxMCAyMCBMMjUgMTUgTTI1IDEwIEwxNy41IDEyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=" }, { range: "100-105", path: "M25 0 L25 40 L10 40 L25 35 L10 35 L25 30", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==" }, { range: "105-110", path: "M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L17.5 27.5", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDE3LjUgMjcuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==" }, { range: "110-115", path: "M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+" }, { range: "115-120", path: "M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L17.5 22.5", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDE3LjUgMjIuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==" }, { range: "120-125", path: "M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+" }, { range: "125-130", path: "M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L17.5 17.5", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDE3LjUgMTcuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==" }, { range: "130-135", path: "M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+" }, { range: "135-140", path: "M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20 M25 15 M25 10 L17.5 12.5", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIE0yNSAxNSBNMjUgMTAgTDE3LjUgMTIuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==" }, { range: "140-145", path: "M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20 M25 15 M25 10 L17.5 12.5", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIE0yNSAxNSBNMjUgMTAgTDEwIDE1IiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+" }, { range: "145-150", path: "M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20 M25 15 M25 10 L17.5 12.5", imageData: "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIE0yNSAxNSBNMjUgMTAgTDEwIDE1IE0yNSAxMCBNMjUgNSBMMTcuNSA3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=" }], i5 = n2.fromJSON({ imageData: "iVBORw0KGgoAAAANSUhEUgAAACgAAAApCAQAAADtq6NDAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAJiS0dEAP+Hj8y/AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAEY0lEQVRIx5XXWWxWRRQH8N+d+31tUdGAVjGglYJABFEBY91jfDAg7piYaFTccA++uMQEFRcSXlATtxiXqMQt4G4iisYl0ai4sIQYtVFZ1KIFKdTS0l4f7vRCS5fPebozc+bM/2z/Mzcx0AgSiUxXnKfIdMn875FIhX53U2n/B/s+kKM4UINTjTBZImixxnrv+9a2iL6zEoUBXcoudrWj/OtHm3wt02lfU9Qao9OnHvIhgmww84MEl1qnxfNmGrqHxAizLdPpC6chGcAxKGGcL+30gOERf1BSpUqVslQSV8d5ReZFe8VQ9avufJn31cWwlJV7iafKStGOE/1qvfH9qUxxu8ydUdmuSKbGO8YUdT2inKLG69pM70tliktl5qIkCAJGmusDG7Vqsc0WjZa4UBlBiA5YZIcjYzB7qDtH5kaUJFLs7RGZTZ42W4PRRmtwvbdt1+wGiaS4drEtDttdZYIDNVuAclR3vA3+dI3qHqmVSy7U6Tv1MScCPvPR7nIpFlsdCy3FdTLPGhK92e2CUITjMJ9ocwKxnsZqc3O3JwMma3d6UVLnyVxB4aXemZqvPqLdpJhW3KVVbY4yYImPo6M5Urv50fj+0z/FG9YaEiENs8UtMfXUaTeTePNHlhXfA1UU+2lyD1Il3Gtt9+adfpNG7dNlpg2U/T3KYLZ2dUWFdTgp3/rQ4sK973qnInV5TIf40x3dhvrJPBiqyWUo4wAtLqhQYS71qK+QKOFRywmGK/kpikzV6WMKhh58vGWs4TIJNjiEYLIuP8Tt4/zmLyqk+AyrJSbF+Qq1DgqRUPMxyl+9q3IQhX/rMCJ6tEunriDs1oSyQZKlr9AkhT2ZIARbJfaJS1vtVbHB+Rgi0RK/y1q1BWsEEyLoz40xtGKcARPVWB1BTPO7f4LNtpkUl1aoMbViLyZo0GRjPD3BxnxjqXeLYlvhqYrzMMG3HoyJXa3JjfnGlbYYFlP7Jh3qKsKY4hQ7TY0nG+xwRL61n63mxHtqNHosigyMLmClNwvuecFnOZB88nNBDzNkzhxEZaKMBVoKapggMzvHHXBEpNSSFAvtcFRsVn0bW8LlMmcXs+c0Kne3gRR32+zg4uXwjC6zit6Wt4a8LXVfcp/MtQXHn2ynGbuCmb8GvvFeJLEE82ReU9/n6+dkq2x3buG9Wn94smcgAw631RPR7BTH+kbmHReZoEpOdEe7zWqZl40s0JWs9Hmv7hjBHqPDwsjGKVJnWWqjbdZp1KhJi0aPmxYZsIRhlttgeF+Jlke41QcOQKoqilSb6HJzSvNG3G/UoWnxwsmt+sVaYwd63dRbqdnMyCPVeyRPvpYgdavM22oGKoMUVRbJfOWMwidJ8Zzb1UvmWK/VVUXzHaTjjrVYh1897HT7xxYEVUaa5SWb/WO+YUWa9SrwvigzM8YlzlYv2GSdVCYxxlBtVnnFq5olwp5/BEk/OLsf5LUmG2+inRJdVvjZ97ZH9/zP34ug1O91pf4p+D+JYBpvrKxfbwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNC0xMS0xMFQwMzoxMjowOS0wNTowMB9ViV0AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTQtMTEtMTBUMDM6MTI6MDktMDU6MDBuCDHhAAAAAElFTkSuQmCC", height: 20, width: 20, type: "esriPMS", angle: 0 }), t4 = e4.map((t5, a7) => { let I2; if (a7 !== e4.length - 1) if (a7 === 0) I2 = { minValue: t5, maxValue: e4[a7 + 1], symbol: i5 }; else { const i6 = n2.fromJSON({ type: "esriPMS", imageData: M3[a7].imageData, contentType: "image/svg+xml", height: 32, width: 32, angle: 0 }); I2 = { minValue: t5, maxValue: e4[a7 + 1], symbol: i6 }; } return new a2(I2); }); return { defaultSymbol: i5, classBreakInfos: t4 }; } _getClassBreaks(e4, i5) { return i5.map((i6, t4) => new a2({ minValue: e4[t4], maxValue: e4[t4 + 1], symbol: this._getDefaultSymbol(new l2(i6)) })); } }; e([d({ type: String, json: { write: true } })], h5.prototype, "attributeField", void 0), e([d({ type: b.apiValues, json: { type: b.jsonValues, read: { reader: b.read }, write: { writer: b.write } } })], h5.prototype, "flowRepresentation", void 0), e([d({ type: ["geographic", "arithmetic"], json: { write: true } })], h5.prototype, "rotationType", void 0), e([d({ type: Z.apiValues, json: { type: Z.jsonValues, read: { reader: Z.read }, write: { writer: Z.write } } })], h5.prototype, "style", void 0), e([d({ json: { write: true } })], h5.prototype, "symbolTileSize", void 0), e([d({ type: h2.apiValues, json: { type: h2.jsonValues, write: { writer: h2.write } } })], h5.prototype, "inputUnit", void 0), e([o("inputUnit")], h5.prototype, "readInputUnit", null), e([d({ type: h2.apiValues, json: { type: h2.jsonValues, read: { reader: h2.read }, write: { writer: h2.write } } })], h5.prototype, "outputUnit", void 0), e([o("outputUnit")], h5.prototype, "readOutputUnit", null), e([r3({ vectorField: "vector-field" })], h5.prototype, "type", void 0), e([d({ type: N })], h5.prototype, "styleRenderer", null), e([d({ type: j3 })], h5.prototype, "sizeVariables", null), e([d({ type: n3 })], h5.prototype, "rotationVariables", null), h5 = z = e([n("esri.renderers.VectorFieldRenderer")], h5); var E = h5; // node_modules/@arcgis/core/rasterRenderers.js var l7 = { key: "type", base: null, typeMap: { "unique-value": P, "class-breaks": N, "raster-colormap": l6, "raster-stretch": y3, "vector-field": E, "raster-shaded-relief": m7, flow: u3 } }; var i2 = { ...l7, typeMap: { ...l7.typeMap } }; delete i2.typeMap["vector-field"], delete i2.typeMap.flow; var f = { uniqueValue: P, classBreaks: N, rasterStretch: y3, rasterColormap: l6, vectorField: E, rasterShadedRelief: m7, flowRenderer: u3 }; function p3(e4) { return e4 && f[e4.type] || null; } function u5(r5, s4) { if (!r5) return null; if (r5.type === "classBreaks" && r5.classificationMethod) { const e4 = r5.authoringInfo || { classificationMethod: "" }; e4.classificationMethod = r5.classificationMethod, r5.authoringInfo = e4; } r5.type === "vectorField" && r5.visualVariables && !Array.isArray(r5.visualVariables) && (r5.visualVariables = [r5.visualVariables]); const t4 = p3(r5); if (t4) { const e4 = new t4(); return e4.read(r5, s4), e4; } return s4 && s4.messages && r5 && s4.messages.push(new t2("renderer:unsupported", "Renderers of type '" + (r5.type || "unknown") + "' are not supported", { definition: r5, context: s4 })), null; } // node_modules/@arcgis/core/layers/support/rasterEnums.js var o5 = o2()({ RSP_NearestNeighbor: "nearest", RSP_BilinearInterpolation: "bilinear", RSP_CubicConvolution: "cubic", RSP_Majority: "majority" }); var i3 = o2()({ esriNoDataMatchAny: "any", esriNoDataMatchAll: "all" }); // node_modules/@arcgis/core/layers/support/DimensionalDefinition.js var a4; var n7 = a4 = class extends l { constructor(e4) { super(e4), this.variableName = null, this.dimensionName = null, this.values = [], this.isSlice = false; } clone() { return new a4({ variableName: this.variableName, dimensionName: this.dimensionName, values: m(this.values), isSlice: this.isSlice }); } }; e([d({ type: String, json: { write: true } })], n7.prototype, "variableName", void 0), e([d({ type: String, json: { write: true } })], n7.prototype, "dimensionName", void 0), e([d({ type: T.array(T.oneOf([T.native(Number), T.array(T.native(Number))])), json: { write: true } })], n7.prototype, "values", void 0), e([d({ type: Boolean, json: { write: true } })], n7.prototype, "isSlice", void 0), n7 = a4 = e([n("esri.layers.support.DimensionalDefinition")], n7); var p4 = n7; // node_modules/@arcgis/core/layers/support/RasterJobHandler.js var n8 = class { constructor() { this._workerThread = null, this._destroyed = false; } async initialize() { const e4 = await u2("RasterWorker"); this._destroyed ? e4.close() : this._workerThread = e4; } destroy() { this._destroyed = true, this._workerThread && (this._workerThread.close(), this._workerThread = null); } async convertVectorFieldData(r5, o7) { if (!this._workerThread) throw new s("raster-jobhandler:no-connection", "no available worker connection"); const n9 = await this._workerThread.invoke("convertVectorFieldData", { pixelBlock: r5.pixelBlock.toJSON(), type: r5.dataType }, o7); return n9 ? new u(n9) : null; } async decode(r5, o7) { if (!this._workerThread) throw new s("raster-jobhandler:no-connection", "no available worker connection"); const n9 = await this._workerThread.invoke("decode", r5, o7); return n9 ? new u(n9) : null; } async symbolize(o7, n9) { if (!this._workerThread) throw new s("raster-jobhandler:no-connection", "no available worker connection"); const a7 = { extent: o7.extent && o7.extent.toJSON(), pixelBlock: r(o7.pixelBlock) && o7.pixelBlock.toJSON(), simpleStretchParams: o7.simpleStretchParams, bandIds: o7.bandIds }, i5 = await this._workerThread.invoke("symbolize", a7, n9); return i5 ? new u(i5) : null; } async updateSymbolizer(r5, o7) { if (!this._workerThread) throw new s("raster-jobhandler:no-connection", "no available worker connection"); const t4 = r5?.rendererJSON?.histograms; await Promise.all(this._workerThread.broadcast("updateSymbolizer", { symbolizerJSON: r5.toJSON(), histograms: t4 }, o7)); } async stretch(r5, o7) { if (!this._workerThread) throw new s("raster-jobhandler:no-connection", "no available worker connection"); if (!r5?.pixelBlock) return null; const n9 = { srcPixelBlock: r5.pixelBlock.toJSON(), stretchParams: r5.stretchParams }, a7 = await this._workerThread.invoke("stretch", n9, o7); return a7 ? new u(a7) : null; } async split(r5, o7) { if (!this._workerThread) throw new s("raster-jobhandler:no-connection", "no available worker connection"); if (!r5?.pixelBlock) return null; const n9 = { srcPixelBlock: r5.pixelBlock.toJSON(), tileSize: r5.tileSize, maximumPyramidLevel: r5.maximumPyramidLevel }, a7 = await this._workerThread.invoke("split", n9, o7); return a7 && a7.forEach((e4, r6) => { a7.set(r6, e4 ? u.fromJSON(e4) : null); }), a7; } async estimateStatisticsHistograms(r5, o7) { if (!this._workerThread) throw new s("raster-jobhandler:no-connection", "no available worker connection"); if (!r5?.pixelBlock) return null; const t4 = { srcPixelBlock: r5.pixelBlock.toJSON() }; return await this._workerThread.invoke("estimateStatisticsHistograms", t4, o7); } async mosaicAndTransform(o7, n9) { if (!this._workerThread) throw new s("raster-jobhandler:no-connection", "no available worker connection"); if (!o7?.srcPixelBlocks?.length) return { pixelBlock: null }; const a7 = { ...o7, srcPixelBlocks: o7.srcPixelBlocks.map((e4) => r(e4) ? e4.toJSON() : null) }, i5 = await this._workerThread.invoke("mosaicAndTransform", a7, n9); return { pixelBlock: i5.pixelBlock ? new u(i5.pixelBlock) : null, localNorthDirections: i5.localNorthDirections }; } async createFlowMesh(r5, o7) { if (!this._workerThread) throw new s("raster-jobhandler:no-connection", "no available worker connection"); const t4 = { buffer: r5.flowData.data.buffer, maskBuffer: r5.flowData.mask.buffer, width: r5.flowData.width, height: r5.flowData.height }, { meshType: n9, simulationSettings: a7 } = r5, i5 = await this._workerThread.invoke("createFlowMesh", { meshType: n9, flowData: t4, simulationSettings: a7 }, { ...o7, transferList: [t4.buffer, t4.maskBuffer] }); return { vertexData: new Float32Array(i5.vertexBuffer), indexData: new Uint32Array(i5.indexBuffer) }; } getProjectionOffsetGrid(o7, t4) { if (!this._workerThread) throw new s("raster-jobhandler:no-connection", "no available worker connection"); const n9 = r(o7.datumTransformation) ? o7.datumTransformation.steps.map((e4) => ({ wkid: e4.wkid, wkt: e4.wkt, isInverse: e4.isInverse })) : null, a7 = r(o7.rasterTransform) ? o7.rasterTransform.toJSON() : null, i5 = { projectedExtent: o7.projectedExtent.toJSON(), srcBufferExtent: o7.srcBufferExtent.toJSON(), pixelSize: o7.pixelSize, hasWrapAround: o7.hasWrapAround, spacing: o7.spacing, datumTransformationSteps: n9, rasterTransform: a7, isAdaptive: o7.isAdaptive, includeGCSGrid: o7.includeGCSGrid }; return this._workerThread.invoke("getProjectionOffsetGrid", i5, t4); } }; // node_modules/@arcgis/core/layers/support/rasterDatasets/multidimensionalUtils.js function a5(e4, n9, t4) { const r5 = n9.shift(); if (t4.length === 0) { const e5 = []; t4.push({ sliceId: -1, multidimensionalDefinition: e5 }); } const s4 = t4.length; for (let a7 = 0; a7 < s4; a7++) { const n10 = t4.shift().multidimensionalDefinition; r5.values.forEach((a8) => { t4.push({ sliceId: -1, multidimensionalDefinition: [...n10, { variableName: e4, dimensionName: r5.name, values: [a8] }] }); }); } n9.length && a5(e4, n9, t4); } function r4(e4, n9) { const t4 = []; let r5 = 0; return (n9 ? e4.variables.filter((e5) => e5.name.toLowerCase() === n9.toLowerCase()) : [...e4.variables].sort((e5, n10) => e5.name > n10.name ? 1 : -1)).forEach((e5) => { const n10 = [], s4 = [...e5.dimensions].sort((e6, n11) => e6.name > n11.name ? -1 : 1); a5(e5.name, s4, n10), n10.forEach((e6) => { t4.push({ ...e6, sliceId: r5++ }); }); }), t4; } function s3(n9, t4, a7) { let r5 = n9; if (t4 && (t4 = [...t4].sort((e4, n10) => e4.dimensionName < n10.dimensionName ? -1 : 1)).forEach(({ dimensionName: e4, values: n10, isSlice: t5 }) => { n10.length && (r5 = r5.filter((a8) => { const r6 = a8.multidimensionalDefinition.find((n11) => n11.dimensionName === e4); if (r6 == null) return false; const s4 = r6.values[0]; return typeof s4 == "number" ? typeof n10[0] == "number" ? n10.includes(s4) : n10.some((e5) => e5[0] <= s4 && e5[1] >= s4) : typeof n10[0] == "number" ? n10.some((e5) => s4[0] <= e5 && s4[1] >= e5) : t5 ? n10.some((e5) => e5[0] === s4[0] && e5[0] === s4[1]) : n10.some((e5) => e5[0] >= s4[0] && e5[0] <= s4[1] || e5[1] >= s4[0] && e5[1] <= s4[1] || e5[0] < s4[0] && e5[1] > s4[1]); })); }), r5.length && a7 && r(a7.start) && r(a7.end)) { const e4 = a7.start.getTime(), n10 = a7.end.getTime(), t5 = r5[0].multidimensionalDefinition.findIndex((e5) => e5.dimensionName === "StdTime"); t5 > -1 && (r5 = r5.filter((a8) => { const r6 = a8.multidimensionalDefinition[t5].values[0]; return e4 <= r6 && n10 >= r6; })); } return r5.map((e4) => e4.sliceId); } function i4(e4, a7) { const { multidimensionalInfo: r5, keyProperties: s4 } = e4; if (t(r5)) return null; const i5 = s4?.DefaultVariable, { variables: o7 } = r5, l10 = i5 ? o7.find(({ name: e5 }) => e5 === i5) ?? o7[0] : o7[0]; return l10.dimensions.map((e5) => { const { values: n9, extent: r6 } = e5; let s5 = n9?.[0] ?? r6[0]; return e5.name.toLowerCase() === "stdz" && !e5.hasRanges && Math.abs(r6[1]) <= Math.abs(r6[0]) && (s5 = n9?.length ? e5.values[n9.length - 1] : r6[1]), new p4({ variableName: l10.name, dimensionName: e5.name, values: [s5], isSlice: !a7 || !!e5.hasRanges }); }); } function o6(e4) { return !(t(e4) || !e4.length) && e4.some((e5) => { if (e5.values == null) return true; const n9 = e5.values.length; return n9 === 0 || n9 > 1 || !e5.isSlice && Array.isArray(e5.values[0]); }); } function l8(e4, n9) { const { values: t4 } = n9; if (t4?.length) return Array.isArray(t4[0]) !== Array.isArray(e4) ? -1 : Array.isArray(t4[0]) ? t4.findIndex((n10) => n10[0] === e4[0] && n10[1] === e4[1]) : t4.indexOf(e4); const { extent: a7 } = n9; if (Array.isArray(e4) || e4 < a7[0] || e4 > a7[1]) return -1; const r5 = n9.interval || 1; if (n9.unit !== "ISO8601") return Math.round((e4 - a7[0]) / r5); const s4 = a7[0]; let i5 = -1; switch (n9.intervalUnit?.toLowerCase() || "seconds") { case "seconds": i5 = Math.round((e4 - s4) / 1e3 / r5); break; case "minutes": i5 = Math.round((e4 - s4) / 6e4 / r5); break; case "hours": i5 = Math.round((e4 - s4) / 36e5 / r5); break; case "days": i5 = Math.round((e4 - s4) / 864e5 / r5); break; case "months": { const n10 = new Date(e4).getUTCFullYear() - new Date(s4).getUTCFullYear(), t5 = new Date(s4).getUTCMonth(), a8 = new Date(e4).getUTCMonth(); i5 = n10 === 0 ? a8 - t5 : a8 + 11 - t5 + 12 * (n10 - 1); } break; case "years": i5 = Math.round((new Date(e4).getUTCFullYear() - new Date(s4).getUTCFullYear()) / r5); break; case "decades": i5 = Math.round((new Date(e4).getUTCFullYear() - new Date(s4).getUTCFullYear()) / 10 / r5); } return i5; } function u6(e4) { let n9 = e4.values?.length; if (n9) return n9; const { extent: t4, unit: a7 } = e4, r5 = e4.interval || 1, s4 = t4[1] - t4[0]; if (a7 !== "ISO8601") return Math.round(s4 / r5); switch (e4.intervalUnit?.toLowerCase() ?? "seconds") { case "seconds": n9 = Math.round(s4 / 1e3 / r5); break; case "minutes": n9 = Math.round(s4 / 6e4 / r5); break; case "hours": n9 = Math.round(s4 / 36e5 / r5); break; case "days": n9 = Math.round(s4 / 864e5 / r5); break; case "months": { const e5 = new Date(t4[1]).getUTCFullYear() - new Date(t4[0]).getUTCFullYear(), a8 = new Date(t4[1][0]).getUTCMonth(), r6 = new Date(t4[1][1]).getUTCMonth(); n9 = e5 === 0 ? r6 - a8 + 1 : r6 + 11 - a8 + 12 * (e5 - 1) + 1; } break; case "years": n9 = Math.round((new Date(t4[1]).getUTCFullYear() - new Date(t4[0]).getUTCFullYear()) / r5); break; case "decades": n9 = Math.round((new Date(t4[1]).getUTCFullYear() - new Date(t4[0]).getUTCFullYear()) / 10 / r5); break; default: n9 = 0; } return n9; } function m8(e4, n9) { let t4 = 0; const a7 = e4[0].variableName, r5 = [...n9.variables].sort((e5, n10) => e5.name > n10.name ? 1 : -1); for (let s4 = 0; s4 < r5.length; s4++) { const n10 = r5[s4], i5 = [...n10.dimensions].sort((e5, n11) => e5.name > n11.name ? -1 : 1); if (n10.name !== a7) { t4 += i5.map((e5) => u6(e5)).reduce((e5, n11) => e5 * n11); continue; } const o7 = i5.map((e5) => u6(e5)), m10 = i5.length; for (let a8 = 0; a8 < m10; a8++) { const n11 = e4.find((e5) => e5.dimensionName === i5[a8].name); if (n11 == null) return null; const r6 = l8(n11.values[0], i5[a8]); if (r6 === -1) return null; o7.shift(), t4 += a8 === m10 - 1 ? r6 : r6 * o7.reduce((e5, n12) => e5 * n12); } break; } return t4; } // node_modules/@arcgis/core/renderers/support/rasterRendererHelper.js var x2 = 0.25; var T3 = a.fromJSON({ type: "multipart", colorRamps: [{ fromColor: [0, 0, 255], toColor: [0, 255, 255] }, { fromColor: [0, 255, 255], toColor: [255, 255, 0] }, { fromColor: [255, 255, 0], toColor: [255, 0, 0] }] }); var R = a.fromJSON(i[0]); var j4 = new Set(["scientific", "standard-time", "vector-uv", "vector-magdir", "vector-u", "vector-v", "vector-magnitude", "vector-direction"]); function k2(e4, n9) { const { attributeTable: r5, colormap: a7 } = e4; if (X(e4)) { const n10 = $(e4); if (r(n10)) return n10; } if (r(a7)) { const n10 = A(e4); if (r(n10)) return n10; } if (r(r5)) { const n10 = N3(e4); if (r(n10)) return n10; } return S2(e4, n9); } function V(e4) { const t4 = ["raster-stretch"]; return U2(e4) && t4.push("raster-colormap"), O(e4) && t4.push("unique-value"), _(e4) && t4.push("class-breaks"), D(e4) && t4.push("raster-shaded-relief"), X(e4) && t4.push("vector-field"), Y(e4) && t4.push("flow"), t4; } function I(e4, t4, n9) { const r5 = ["nearest", "bilinear", "cubic", "majority"].find((e5) => e5 === n9?.toLowerCase()); if (t4 === "Map") return r5 ?? "bilinear"; if (e4.dataType === "standard-time") return r5 ?? "nearest"; return e4.dataType === "thematic" || e4.attributeTable || e4.colormap ? r5 === "nearest" || r5 === "majority" ? r5 : "nearest" : r5 ?? "bilinear"; } function S2(e4, r5) { e4 = L2(e4, r5?.variableName); const { bandCount: a7 } = e4; let { bandIds: s4, stretchType: o7 } = r5 || {}; s4?.some((e5) => e5 >= a7) && (s4 = null); let i5 = e2(e4.statistics), l10 = e2(e4.histograms); a7 > 1 ? (s4 = s4?.length ? s4 : B(e4), i5 = i5 == null ? null : s4.map((e5) => i5[e5]), l10 = l10 == null ? null : s4.map((e5) => l10[e5])) : s4 = [0], o7 == null && (o7 = F(e4)); let u8 = false; switch (o7) { case "none": u8 = false; break; case "percent-clip": u8 = !l10?.length; break; default: u8 = !i5?.length; } const { dataType: m10 } = e4, c5 = s4?.length === 1 && j4.has(m10) ? T3 : null, f3 = new y3({ stretchType: o7, dynamicRangeAdjustment: u8, colorRamp: c5, outputMin: 0, outputMax: 255, gamma: s4.length === 1 ? [1] : [1, 1, 1], useGamma: false }); return o7 === "percent-clip" ? f3.maxPercent = f3.minPercent = x2 : o7 === "standard-deviation" && (f3.numberOfStandardDeviations = 2), u8 || !r(e4.multidimensionalInfo) && !r5?.includeStatisticsInStretch || (o7 === "percent-clip" ? f3.histograms = l10 : o7 !== "min-max" && o7 !== "standard-deviation" || (f3.statistics = i5)), f3; } function L2(e4, r5) { if (r5 == null) return e4; let a7 = e2(e4.statistics), s4 = e2(e4.histograms); const { multidimensionalInfo: i5 } = e4; if (r5 && r(i5)) { const e5 = i5.variables.find((e6) => e6.name === r5); if (e5) { const { statistics: t4, histograms: n9 } = e5; t4?.length && (a7 = t4), n9?.length && (s4 = n9); } } return l4.fromJSON({ ...e4.toJSON(), statistics: a7, histograms: s4 }); } function B(e4) { const t4 = e4.bandCount; if (t4 === 1) return null; if (t4 === 2) return [0]; const n9 = e4.keyProperties && e4.keyProperties.BandProperties; let r5; if (n9 && n9.length === t4) { const { red: e5, green: t5, blue: a7, nir: s4 } = q(n9); e5 != null && t5 != null && a7 != null ? r5 = [e5, t5, a7] : s4 != null && e5 != null && t5 != null && (r5 = [s4, e5, t5]); } return !r5 && t4 >= 3 && (r5 = [0, 1, 2]), r5; } function q(e4) { const t4 = {}; for (let n9 = 0; n9 < e4.length; n9++) { const r5 = e4[n9], a7 = r5.BandName?.toLowerCase(); if (a7 === "red") t4.red = n9; else if (a7 === "green") t4.green = n9; else if (a7 === "blue") t4.blue = n9; else if (a7 === "nearinfrared" || a7 === "nearinfrared_1" || a7 === "nir") t4.nir = n9; else if (r5.WavelengthMax && r5.WavelengthMin) { const e5 = r5.WavelengthMin, a8 = r5.WavelengthMax; t4.blue == null && e5 >= 410 && e5 <= 480 && a8 >= 480 && a8 <= 540 ? t4.blue = n9 : t4.green == null && e5 >= 490 && e5 <= 560 && a8 >= 560 && a8 <= 610 ? t4.green = n9 : t4.red == null && e5 >= 595 && e5 <= 670 && a8 >= 660 && a8 <= 730 ? t4.red = n9 : t4.nir == null && e5 >= 700 && e5 <= 860 && a8 >= 800 && a8 <= 950 && (t4.nir = n9); } } return t4; } function F(e4) { let n9 = "percent-clip"; const { pixelType: r5, dataType: a7, histograms: s4, statistics: o7 } = e4; return r5 !== "u8" || a7 !== "processed" && r(s4) && r(o7) ? r5 === "u8" || a7 === "elevation" || j4.has(a7) ? n9 = "min-max" : r(s4) ? n9 = "percent-clip" : r(o7) && (n9 = "min-max") : n9 = "none", n9; } function N3(n9, r5, a7, s4) { if (!O(n9, r5)) return null; const { attributeTable: o7, statistics: i5 } = n9, u8 = P2(o7, r5), m10 = W(o7, "red"), p5 = W(o7, "green"), d6 = W(o7, "blue"), b2 = new j2(), h6 = [], g2 = new Set(), v2 = !!(m10 && p5 && d6); if (r(o7)) o7.features.forEach((t4) => { const n10 = t4.attributes[u8.name]; if (!g2.has(t4.attributes[u8.name]) && n10 != null) { g2.add(n10); const r6 = v2 && (m10.type === "single" || m10.type === "double") && (p5.type === "single" || p5.type === "double") && (d6.type === "single" || d6.type === "double") && !o7.features.some((e4) => e4.attributes[m10.name] > 1 || e4.attributes[p5.name] > 1 || e4.attributes[d6.name] > 1), a8 = r6 ? 255 : 1; h6.push(new n4({ value: t4.attributes[u8.name], label: t4.attributes[u8.name] + "", symbol: { type: "simple-fill", style: "solid", outline: null, color: new l2(v2 ? [t4.attributes[m10.name] * a8, t4.attributes[p5.name] * a8, t4.attributes[d6.name] * a8, 1] : [0, 0, 0, 0]) } })); } }); else if (i5?.[0]) for (let t4 = i5[0].min; t4 <= i5[0].max; t4++) h6.push(new n4({ value: t4, label: t4.toString(), symbol: { type: "simple-fill", style: "solid", outline: null, color: new l2([0, 0, 0, 0]) } })); if (h6.sort((e4, t4) => e4.value && typeof e4.value.valueOf() == "string" ? 0 : e4.value > t4.value ? 1 : -1), !v2) { const t4 = h(R, h6.length); h6.forEach((n10, r6) => n10.symbol.color = new l2(t4[r6].slice(1, 4))), b2.colorRamp = R; } if (a7 || s4) { const t4 = a7 || h(s4, h6.length).map((e4) => e4.slice(1)); h6.forEach((n10, r6) => n10.symbol.color = new l2(t4[r6])), b2.colorRamp = s4; } return new P({ field: u8.name, uniqueValueInfos: h6, authoringInfo: b2 }); } function P2(e4, n9, r5) { let a7; return r(e4) ? (a7 = n9 ? e4.fields.find((e5) => n9.toLowerCase() === e5.name.toLowerCase()) : z3(e4.fields), a7 || (r5 || (a7 = e4.fields.find((e5) => e5.type === "string")), a7 || (a7 = W(e4, "value")))) : a7 = new y({ name: "value" }), a7; } function z3(e4) { let t4; for (let n9 = 0; n9 < e4.length; n9++) { const r5 = e4[n9].name.toLowerCase(); if (e4[n9].type === "string") { if (r5.startsWith("class")) { t4 = e4[n9]; break; } t4 == null && (r5.endsWith("name") || r5.endsWith("type")) && (t4 = e4[n9]); } } return t4; } function W(e4, t4) { return t(e4) ? null : e4.fields.find((e5) => e5.name.toLowerCase() === t4); } function O(e4, t4) { const { attributeTable: n9, bandCount: a7 } = e4; if (t(n9) && K(e4)) return true; if (t(n9) || a7 > 1) return false; if (t4) { if (n9.fields.find((e5) => e5.name.toLowerCase() === t4.toLowerCase()) == null) return false; } return true; } function U2(e4) { const { bandCount: n9, colormap: r5 } = e4; return r(r5) && r5.length && n9 === 1; } function A(e4) { if (!U2(e4)) return null; let r5; const { attributeTable: a7, colormap: s4 } = e4; if (r(a7)) { const e5 = W(a7, "value"), t4 = P2(a7, null, true); t4.type === "string" && (r5 = {}, a7.features.forEach((n9) => { const a8 = n9.attributes; r5[a8[e5.name]] = t4 ? a8[t4.name] : a8[e5.name]; })); } return l6.createFromColormap(e2(s4), r5); } function D(e4) { const { bandCount: t4, dataType: n9, pixelType: r5 } = e4; return n9 === "elevation" || n9 === "generic" && t4 === 1 && (r5 === "s16" || r5 === "f32" || r5 === "f64"); } function _(e4) { const { attributeTable: n9, bandCount: r5 } = e4; return r5 === 1 && (r(n9) || r(e4.histograms)); } function K(e4) { return ["u8", "s8"].includes(e4.pixelType) && e4.statistics?.[0]?.min != null && e4.statistics[0]?.max != null && e4.bandCount === 1; } function X(e4) { const { dataType: t4 } = e4; return t4 === "vector-uv" || t4 === "vector-magdir"; } function Y(e4) { const { dataType: t4 } = e4; return t4 === "vector-uv" || t4 === "vector-magdir"; } var Z2 = new Map([["m/s", "meter-per-second"], ["km/h", "kilometer-per-hour"], ["knots", "knots"], ["ft/s", "feet-per-second"], ["mph", "mile-per-hour"]]); function $(e4) { if (!X(e4)) return null; let n9; if (r(e4.statistics) && e4.statistics.length && (e4.dataType === "vector-magdir" || e4.dataType === "vector-uv")) { const { minMagnitude: t4, maxMagnitude: r6 } = re(e4.dataType, e4.statistics); n9 = [{ type: "size", field: "Magnitude", minSize: 10, maxSize: 40, minDataValue: t4, maxDataValue: r6 }]; } const r5 = r(e4.multidimensionalInfo) ? Z2.get(e4.multidimensionalInfo.variables[0].unit) : null, a7 = new E({ visualVariables: n9, inputUnit: r5, rotationType: "geographic" }); return a7.visualVariables = [...a7.sizeVariables, ...a7.rotationVariables], a7; } function ee(e4) { return { color: e4.symbolLayers[0].material?.color, type: "esriSFS", style: "esriSFSSolid" }; } function te(e4) { if (e4.type === "uniqueValue") { const t4 = e4.uniqueValueInfos; return t4[0].symbol?.symbolLayers?.length && (e4.uniqueValueInfos = t4.map((e5) => ({ value: e5.value, label: e5.label, symbol: e5.symbol ? ee(e5.symbol) : null }))), e4; } if (e4.type === "classBreaks") { const t4 = e4.classBreakInfos; return t4[0].symbol?.symbolLayers?.length && (e4.classBreakInfos = t4.map((e5) => ({ classMinValue: e5.classMinValue, classMaxValue: e5.classMaxValue, label: e5.label, symbol: e5.symbol ? ee(e5.symbol) : null }))), e4; } return e4; } function re(e4, t4) { let n9, r5; if (e4 === "vector-magdir") n9 = t4[0].min, r5 = t4[0].max; else { const e5 = t4[0].min, a7 = t4[0].max, s4 = t4[1].min, o7 = t4[1].max; n9 = 0, r5 = Math.max(Math.abs(e5), Math.abs(s4), Math.abs(a7), Math.abs(o7)); } return { minMagnitude: n9, maxMagnitude: r5 }; } // node_modules/@arcgis/core/rest/imageService/fetchRasterInfo.js async function u7(u8, m10, f3) { const p5 = n5(u8), { renderingRule: c5, sourceJSON: d6 } = m10 || {}, h6 = c5 ? JSON.stringify(c5.rasterFunctionDefinition || c5) : null, g2 = o4({ ...p5.query, renderingRule: h6, f: "json" }), v2 = e3(g2, f3); u8 = p5.path; const y4 = d6 || await U(u8, v2).then((e4) => e4.data), S3 = y4.hasRasterAttributeTable ? U(`${u8}/rasterAttributeTable`, v2) : null, V2 = y4.hasColormap ? U(`${u8}/colormap`, v2) : null, x3 = y4.hasHistograms ? U(`${u8}/histograms`, v2) : null, b2 = y4.currentVersion >= 10.3 ? U(`${u8}/keyProperties`, v2) : null, D2 = y4.hasMultidimensions ? U(`${u8}/multidimensionalInfo`, v2) : null, R2 = await Promise.allSettled([S3, V2, x3, b2, D2]); let T4 = null; if (y4.minValues && y4.minValues.length === y4.bandCount) { T4 = []; for (let e4 = 0; e4 < y4.minValues.length; e4++) T4.push({ min: y4.minValues[e4], max: y4.maxValues[e4], avg: y4.meanValues[e4], stddev: y4.stdvValues[e4] }); } const j5 = M.fromJSON(y4.extent), w = Math.ceil(j5.width / y4.pixelSizeX - 0.1), J = Math.ceil(j5.height / y4.pixelSizeY - 0.1), N4 = k.fromJSON(y4.spatialReference || y4.extent.spatialReference), O2 = R2[0].status === "fulfilled" && R2[0].value ? x.fromJSON(R2[0].value.data) : null, I2 = R2[1].status === "fulfilled" ? R2[1].value?.data.colormap : null, z4 = R2[2].status === "fulfilled" ? R2[2].value?.data.histograms : null, C = R2[3].status === "fulfilled" ? R2[3].value?.data ?? {} : {}, $2 = R2[4].status === "fulfilled" ? R2[4].value?.data.multidimensionalInfo : null; $2?.variables?.length && $2.variables.forEach((e4) => { e4.statistics?.length && e4.statistics.forEach((e5) => { e5.avg = e5.mean, e5.stddev = e5.standardDeviation; }); }); const { defaultVariable: P3, serviceDataType: E2 } = y4; P3 && P3 !== C.DefaultVariable && (C.DefaultVariable = P3), E2 && E2.includes("esriImageServiceDataTypeVector") && !E2.includes(C.DataType) && (C.DataType = E2.replace("esriImageServiceDataType", "")); let M3 = y4.noDataValue; return y4.noDataValues?.length && y4.noDataValues.some((e4) => e4 !== M3) && (M3 = y4.noDataValues), new l4({ width: w, height: J, bandCount: y4.bandCount, extent: M.fromJSON(y4.extent), spatialReference: N4, pixelSize: new j({ x: y4.pixelSizeX, y: y4.pixelSizeY, spatialReference: N4 }), pixelType: y4.pixelType.toLowerCase(), statistics: T4, attributeTable: O2, colormap: I2, histograms: z4, keyProperties: C, noDataValue: M3, multidimensionalInfo: $2 }); } function m9(e4, t4, a7) { return u7(e4, { sourceJSON: t4 }, a7); } function f2(e4, t4, a7) { return u7(e4, { renderingRule: t4 }, a7); } export { n6 as n, l7 as l, i2 as i, u5 as u, p4 as p, o5 as o, i3 as i2, n8 as n2, r4 as r, s3 as s, i4 as i3, o6 as o2, m8 as m, k2 as k, V, I, B, te, m9 as m2, f2 as f }; //# sourceMappingURL=chunk-4LBZICSO.js.map