import{a1 as ge,kL as ut,ey as h,A as n,B as o,hT as fe,bV as J,kM as pt,k5 as Bt,C as v,a6 as j,dX as E,kN as dt,a8 as z,kO as Mt,bb as D,a9 as me,kP as gt,kQ as mt,aH as ye,b$ as zt,K as Ut,dy as Rt,dw as Ht,kR as kt,kS as Zt,g7 as Ie,dx as De,kT as tt,g6 as Ze,e4 as Et,k3 as q,ea as Pt,kU as pe,z as de,ep as yt,eo as Vt,ab as Se,aI as Gt,eq as Ot,s as T,kV as It,kW as it,c_ as Wt,aU as Jt,bs as Ft,br as _t,ar as O,f as $t,E as Kt,iG as Qt,dT as Xt,cD as qt}from"./index-b5c8f851.js";import{p as wt}from"./multidimensionalUtils-bffdf14d.js";import{d as k,e as Yt,f as ei,p as ti,u as P}from"./dataUtils-c2b057a0.js";import{e as Te,f as le,i as ii,k as ai,o as Ee,u as ht,t as At,l as ri,p as ni,q as oi,a as si}from"./RasterSymbolizer-a162ee17.js";import{R as li,D as ci}from"./utils-6d77327b.js";import"./generateRendererUtils-d29abb94.js";var Ce;const re=new ge({flow_from:"flow-from",flow_to:"flow-to"});let A=Ce=class extends ut(j){constructor(e){super(e),this.density=.8,this.color=new h([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(){var N,p;const{density:e,maxPathLength:t,trailWidth:a,flowSpeed:i,trailLength:r,smoothing:s,flowRepresentation:l,trailCap:u,background:y}=this,c=this.color.clone(),w=(this.visualVariables||[]).map(d=>d.clone()),M=(N=this.authoringInfo)==null?void 0:N.clone(),U=(p=this.legendOptions)==null?void 0:p.clone();return new Ce({density:e,color:c,maxPathLength:t,trailWidth:a,flowSpeed:i,trailLength:r,trailCap:u,background:y,smoothing:s,flowRepresentation:l,visualVariables:w,authoringInfo:M,legendOptions:U})}getSymbol(e,t){}async getSymbolAsync(e,t){}getSymbols(){return[]}};n([o({type:Number,json:{write:!0}})],A.prototype,"density",void 0),n([o({type:h,json:{write:{allowNull:!0}}})],A.prototype,"color",void 0),n([o({type:Number,cast:fe,json:{write:!0}})],A.prototype,"maxPathLength",void 0),n([o({type:Number,cast:fe,json:{write:!0}})],A.prototype,"trailWidth",void 0),n([o({type:Number,json:{write:!0}})],A.prototype,"flowSpeed",void 0),n([o({type:Number,json:{write:!0}})],A.prototype,"trailLength",void 0),n([o({type:Number,cast:fe,json:{write:!1}})],A.prototype,"smoothing",void 0),n([o({type:re.apiValues,json:{type:re.jsonValues,read:{reader:re.read},write:{writer:re.write}}})],A.prototype,"flowRepresentation",void 0),n([J({flowRenderer:"flow"})],A.prototype,"type",void 0),n([o({type:pt,json:{write:!0}})],A.prototype,"authoringInfo",void 0),n([o({type:Bt,json:{write:!0}})],A.prototype,"legendOptions",void 0),n([o({type:String,json:{write:!0}})],A.prototype,"trailCap",void 0),n([o({type:String,json:{write:!0}})],A.prototype,"background",void 0),A=Ce=n([v("esri.renderers.FlowRenderer")],A);const ft=A;let W=class extends j{constructor(){super(...arguments),this.value=null,this.label=null,this.color=null}};n([o({type:Number,json:{write:!0}})],W.prototype,"value",void 0),n([o({type:String,json:{write:!0}})],W.prototype,"label",void 0),n([o({type:h,json:{type:[E],write:!0}})],W.prototype,"color",void 0),W=n([v("esri.renderers.support.ColormapInfo")],W);const Dt=W;var $;let K=$=class extends j{constructor(e){super(e),this.colormapInfos=null,this.type="raster-colormap"}static createFromColormap(e,t){if(!e)return null;const a=e[0].length===5,i=[...e].sort((r,s)=>r[0]-s[0]).map(r=>Dt.fromJSON({value:r[0],color:a?r.slice(1,5):r.slice(1,4).concat([255]),label:t?t[r[0]]??"":r[0]}));return new $({colormapInfos:i})}static createFromColorramp(e){const t=Te(e);return $.createFromColormap(t)}clone(){return new $({colormapInfos:this.colormapInfos.map(e=>e.toJSON())})}extractColormap(){return this.colormapInfos.map(({value:e,color:t})=>[e,t.r,t.g,t.b,t.a>1?t.a:255*t.a&255]).sort((e,t)=>e[0]-t[0])}};n([o({type:[Dt],json:{write:!0}})],K.prototype,"colormapInfos",void 0),n([J({rasterColormap:"raster-colormap"})],K.prototype,"type",void 0),K=$=n([v("esri.renderers.RasterColormapRenderer")],K);const Pe=K;var Ne;let C=Ne=class extends j{constructor(e){super(e),this.altitude=45,this.azimuth=315,this.colorRamp=null,this.hillshadeType="traditional",this.pixelSizePower=.664,this.pixelSizeFactor=.024,this.scalingType="none",this.type="raster-shaded-relief",this.zFactor=1}readColorRamp(e){return Mt(e)}clone(){return new Ne({hillshadeType:this.hillshadeType,altitude:this.altitude,azimuth:this.azimuth,zFactor:this.zFactor,scalingType:this.scalingType,pixelSizeFactor:this.pixelSizeFactor,pixelSizePower:this.pixelSizePower,colorRamp:D(this.colorRamp)})}};n([o({type:Number,json:{write:!0}})],C.prototype,"altitude",void 0),n([o({type:Number,json:{write:!0}})],C.prototype,"azimuth",void 0),n([o({types:dt,json:{write:!0}})],C.prototype,"colorRamp",void 0),n([z("colorRamp")],C.prototype,"readColorRamp",null),n([o({type:["traditional","multi-directional"],json:{write:!0}})],C.prototype,"hillshadeType",void 0),n([o({type:Number,json:{write:!0}})],C.prototype,"pixelSizePower",void 0),n([o({type:Number,json:{write:!0}})],C.prototype,"pixelSizeFactor",void 0),n([o({type:["none","adjusted"],json:{write:!0}})],C.prototype,"scalingType",void 0),n([J({rasterShadedRelief:"raster-shaded-relief"})],C.prototype,"type",void 0),n([o({type:Number,json:{write:!0}})],C.prototype,"zFactor",void 0),C=Ne=n([v("esri.renderers.RasterShadedReliefRenderer")],C);const bt=C;var Le;let g=Le=class extends j{constructor(e){super(e),this.colorRamp=null,this.computeGamma=!1,this.dynamicRangeAdjustment=!1,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=!1,this.stretchType="none",this.type="raster-stretch"}readColorRamp(e){if(e)return Mt(e)}writeStatistics(e,t,a){e!=null&&e.length&&(Array.isArray(e[0])||(e=e.map(i=>[i.min,i.max,i.avg,i.stddev])),t[a]=e)}readStretchType(e,t){let a=t.stretchType;return typeof a=="number"&&(a=ii[a]),le.read(a)}clone(){return new Le({stretchType:this.stretchType,outputMin:this.outputMin,outputMax:this.outputMax,useGamma:this.useGamma,computeGamma:this.computeGamma,statistics:D(this.statistics),gamma:D(this.gamma),sigmoidStrengthLevel:this.sigmoidStrengthLevel,numberOfStandardDeviations:this.numberOfStandardDeviations,minPercent:this.minPercent,maxPercent:this.maxPercent,colorRamp:D(this.colorRamp),histograms:D(this.histograms),dynamicRangeAdjustment:this.dynamicRangeAdjustment})}};n([o({types:dt,json:{write:!0}})],g.prototype,"colorRamp",void 0),n([z("colorRamp")],g.prototype,"readColorRamp",null),n([o({type:Boolean,json:{write:!0}})],g.prototype,"computeGamma",void 0),n([o({type:Boolean,json:{write:{target:"dra"},read:{source:"dra"}}})],g.prototype,"dynamicRangeAdjustment",void 0),n([o({type:[Number],json:{write:!0}})],g.prototype,"gamma",void 0),n([o({type:Number,json:{write:!0}})],g.prototype,"maxPercent",void 0),n([o({type:Number,json:{write:!0}})],g.prototype,"minPercent",void 0),n([o({type:Number,json:{write:!0}})],g.prototype,"numberOfStandardDeviations",void 0),n([o({type:Number,json:{read:{source:"max"},write:{target:"max"}}})],g.prototype,"outputMax",void 0),n([o({type:Number,json:{read:{source:"min"},write:{target:"min"}}})],g.prototype,"outputMin",void 0),n([o({type:Number,json:{write:!0}})],g.prototype,"sigmoidStrengthLevel",void 0),n([o({json:{type:[[Number]],write:!0}})],g.prototype,"statistics",void 0),n([o()],g.prototype,"histograms",void 0),n([me("statistics")],g.prototype,"writeStatistics",null),n([o({type:Boolean,json:{write:!0}})],g.prototype,"useGamma",void 0),n([o({type:le.apiValues,json:{type:le.jsonValues,write:le.write}})],g.prototype,"stretchType",void 0),n([z("stretchType",["stretchType"])],g.prototype,"readStretchType",null),n([J({rasterStretch:"raster-stretch"})],g.prototype,"type",void 0),g=Le=n([v("esri.renderers.RasterStretchRenderer")],g);const Ve=g;var xe;const at=new Set(["esriMetersPerSecond","esriKilometersPerHour","esriKnots","esriFeetPerSecond","esriMilesPerHour"]),ne=new ge({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"}),oe=new ge({flow_from:"flow-from",flow_to:"flow-to"});let f=xe=class extends ut(j){constructor(e){super(e),this.attributeField="Magnitude",this.flowRepresentation="flow-from",this.rotationType="arithmetic",this.style="single-arrow",this.symbolTileSize=50,this.type="vector-field"}readInputUnit(e,t){return at.has(e)?k.fromJSON(e):null}readOutputUnit(e,t){return at.has(e)?k.fromJSON(e):null}get styleRenderer(){const e=this.style,t=this.attributeField,a=this._createStyleRenderer(e);return a.field=t,a}get sizeVariables(){const e=[];if(this.visualVariables)for(const t of this.visualVariables)t.type==="size"&&e.push(t);if(e.length===0){const t=new gt({field:"Magnitude",minSize:.2*this.symbolTileSize,maxSize:.8*this.symbolTileSize});this.visualVariables?this.visualVariables.push(t):this._set("visualVariables",[t]),e.push(t)}return e}get rotationVariables(){const e=[];if(this.visualVariables)for(const t of this.visualVariables)t.type==="rotation"&&e.push(t);if(e.length===0){const t=new mt({field:"Direction",rotationType:this.rotationType});this.visualVariables?this.visualVariables.push(t):this._set("visualVariables",[t]),e.push(t)}return e}clone(){return new xe({attributeField:this.attributeField,flowRepresentation:this.flowRepresentation,rotationType:this.rotationType,symbolTileSize:this.symbolTileSize,style:this.style,visualVariables:D(this.visualVariables),inputUnit:this.inputUnit,outputUnit:this.outputUnit})}async getGraphicsFromPixelData(e,t=!1,a=[]){var U;const i=new Array,r=Yt(this.inputUnit,this.outputUnit),s=((U=this.rotationVariables[0])==null?void 0:U.rotationType)||this.rotationType,l=t?ei(e.pixelBlock,"vector-uv",s,r):ti(e.pixelBlock,"vector-magdir",r);if(l==null)return i;const u=e.extent,y=l.mask!=null&&l.mask.length>0;let c=0;const w=(u.xmax-u.xmin)/l.width,M=(u.ymax-u.ymin)/l.height;for(let N=0;NB.intersects(d));if((!y||l.mask[c])&&!L){const B={Magnitude:l.pixels[0][c],Direction:l.pixels[1][c]},R=new Ut({geometry:{type:"point",x:d.x,y:d.y,spatialReference:u.spatialReference},attributes:B});R.symbol=this._getVisualVariablesAppliedSymbol(R),i.push(R)}}return i}getSymbol(e,t){}async getSymbolAsync(e,t){}getSymbols(){return[]}getClassBreakInfos(){var e;return(e=this.styleRenderer)==null?void 0:e.classBreakInfos}getDefaultSymbol(){var e;return(e=this.styleRenderer)==null?void 0:e.defaultSymbol}_getDefaultSymbol(e){return new Rt({path:"M14,32 14,18 9,23 16,3 22,23 17,18 17,32 z",outline:new Ht({width:0}),size:20,color:e||new h([0,92,230])})}_getVisualVariablesAppliedSymbol(e){var r,s;if(!e)return;const t=(s=(r=this.styleRenderer)==null?void 0:r.getSymbol(e))==null?void 0:s.clone(),a=this.sizeVariables,i=this.rotationVariables;if(a&&a.length&&this.sizeVariables.forEach(l=>li(t,kt([l],e))),i&&i.length){const l=this.flowRepresentation==="flow-to"==(this.style==="ocean-current-kn"||this.style==="ocean-current-m")?0:180;e.attributes.Direction=e.attributes.Direction+l,this.rotationVariables.forEach(u=>ci(t,Zt(u,e),u.axis))}return t}_createStyleRenderer(e){let t={defaultSymbol:this._getDefaultSymbol(),classBreakInfos:[]};switch(e){case"single-arrow":t=this._createSingleArrowRenderer();break;case"beaufort-kn":t=this._createBeaufortKnotsRenderer();break;case"beaufort-m":t=this._createBeaufortMeterRenderer();break;case"beaufort-ft":t=this._createBeaufortFeetRenderer();break;case"beaufort-mi":t=this._createBeaufortMilesRenderer();break;case"beaufort-km":t=this._createBeaufortKilometersRenderer();break;case"ocean-current-m":t=this._createCurrentMeterRenderer();break;case"ocean-current-kn":t=this._createCurrentKnotsRenderer();break;case"simple-scalar":t=this._createSimpleScalarRenderer();break;case"wind-barb":t=this._createWindBarbsRenderer();break;case"classified-arrow":t=this._createClassifiedArrowRenderer()}return new Ie(t)}_createSingleArrowRenderer(){return{defaultSymbol:this._getDefaultSymbol()}}_createBeaufortKnotsRenderer(){const e=[0,1,3,6,10,16,21,27,33,40,47,55,63],t=[[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 h([214,47,39])),classBreakInfos:this._getClassBreaks(e,t)}}_createBeaufortMeterRenderer(){const e=[0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7],t=[[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 h([214,47,39])),classBreakInfos:this._getClassBreaks(e,t)}}_createBeaufortFeetRenderer(){const e=this._getDefaultSymbol(new h([214,47,39]));let t=[0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7];const a=[[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]],i=3.28084;return t=t.map(r=>r*i),{defaultSymbol:e,classBreakInfos:this._getClassBreaks(t,a)}}_createBeaufortMilesRenderer(){const e=this._getDefaultSymbol(new h([214,47,39]));let t=[0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7];const a=[[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]],i=2.23694;return t=t.map(r=>r*i),{defaultSymbol:e,classBreakInfos:this._getClassBreaks(t,a)}}_createBeaufortKilometersRenderer(){const e=this._getDefaultSymbol(new h([214,47,39]));let t=[0,.2,1.8,3.3,5.4,8.5,11,14.1,17.2,20.8,24.4,28.6,32.7];const a=[[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]],i=3.6;return t=t.map(r=>r*i),{defaultSymbol:e,classBreakInfos:this._getClassBreaks(t,a)}}_createCurrentMeterRenderer(){const e=[0,.5,1,1.5,2],t=[[78,26,153],[179,27,26],[202,128,26],[177,177,177]];return{defaultSymbol:this._getDefaultSymbol(new h([177,177,177])),classBreakInfos:this._getClassBreaks(e,t)}}_createCurrentKnotsRenderer(){const e=[0,.25,.5,1,1.5,2,2.5,3,3.5,4],t=[[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 h([177,177,177])),classBreakInfos:this._getClassBreaks(e,t)}}_createClassifiedArrowRenderer(){var i;const e=this._getDefaultSymbol(new h([56,168,0]));let t=[0,1e-6,3.5,7,10.5,14];if((i=this.sizeVariables)!=null&&i.length){const r=this.sizeVariables[0].minDataValue,s=this.sizeVariables[0].maxDataValue;if(r&&s){const l=(s-r)/5;t=Array.from(Array(6).keys()).map(u=>r+l*u)}}const a=[[56,168,0],[139,309,0],[255,255,0],[255,128,0],[255,0,0]];return{defaultSymbol:e,classBreakInfos:this._getClassBreaks(t,a)}}_createSimpleScalarRenderer(){return{defaultSymbol:De.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 e=Array.from(Array(31).keys()).map(r=>5*r),t=[{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="}],a=De.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}),i=e.map((r,s)=>{let l;if(s!==e.length-1)if(s===0)l={minValue:r,maxValue:e[s+1],symbol:a};else{const u=De.fromJSON({type:"esriPMS",imageData:t[s].imageData,contentType:"image/svg+xml",height:32,width:32,angle:0});l={minValue:r,maxValue:e[s+1],symbol:u}}return new tt(l)});return{defaultSymbol:a,classBreakInfos:i}}_getClassBreaks(e,t){return t.map((a,i)=>new tt({minValue:e[i],maxValue:e[i+1],symbol:this._getDefaultSymbol(new h(a))}))}};n([o({type:String,json:{write:!0}})],f.prototype,"attributeField",void 0),n([o({type:oe.apiValues,json:{type:oe.jsonValues,read:{reader:oe.read},write:{writer:oe.write}}})],f.prototype,"flowRepresentation",void 0),n([o({type:["geographic","arithmetic"],json:{write:!0}})],f.prototype,"rotationType",void 0),n([o({type:ne.apiValues,json:{type:ne.jsonValues,read:{reader:ne.read},write:{writer:ne.write}}})],f.prototype,"style",void 0),n([o({json:{write:!0}})],f.prototype,"symbolTileSize",void 0),n([o({type:k.apiValues,json:{type:k.jsonValues,write:{writer:k.write}}})],f.prototype,"inputUnit",void 0),n([z("inputUnit")],f.prototype,"readInputUnit",null),n([o({type:k.apiValues,json:{type:k.jsonValues,read:{reader:k.read},write:{writer:k.write}}})],f.prototype,"outputUnit",void 0),n([z("outputUnit")],f.prototype,"readOutputUnit",null),n([J({vectorField:"vector-field"})],f.prototype,"type",void 0),n([o({type:Ie})],f.prototype,"styleRenderer",null),n([o({type:gt})],f.prototype,"sizeVariables",null),n([o({type:mt})],f.prototype,"rotationVariables",null),f=xe=n([v("esri.renderers.VectorFieldRenderer")],f);const Ge=f,rt={key:"type",base:null,typeMap:{"unique-value":Ze,"class-breaks":Ie,"raster-colormap":Pe,"raster-stretch":Ve,"vector-field":Ge,"raster-shaded-relief":bt,flow:ft}},nt={...rt,typeMap:{...rt.typeMap}};delete nt.typeMap["vector-field"],delete nt.typeMap.flow;const ui={uniqueValue:Ze,classBreaks:Ie,rasterStretch:Ve,rasterColormap:Pe,vectorField:Ge,rasterShadedRelief:bt,flowRenderer:ft};function pi(e){return e&&ui[e.type]||null}function Pi(e,t){if(!e)return null;if(e.type==="classBreaks"&&e.classificationMethod){const i=e.authoringInfo||{classificationMethod:""};i.classificationMethod=e.classificationMethod,e.authoringInfo=i}e.type==="vectorField"&&e.visualVariables&&!Array.isArray(e.visualVariables)&&(e.visualVariables=[e.visualVariables]);const a=pi(e);if(a){const i=new a;return i.read(e,t),i}return t!=null&&t.messages&&e&&t.messages.push(new Et("renderer:unsupported","Renderers of type '"+(e.type||"unknown")+"' are not supported",{definition:e,context:t})),null}const Vi=q()({RSP_NearestNeighbor:"nearest",RSP_BilinearInterpolation:"bilinear",RSP_CubicConvolution:"cubic",RSP_Majority:"majority"}),Gi=q()({esriNoDataMatchAny:"any",esriNoDataMatchAll:"all"}),be=q()({U1:"u1",U2:"u2",U4:"u4",U8:"u8",S8:"s8",U16:"u16",S16:"s16",U32:"u32",S32:"s32",F32:"f32",F64:"f64",C64:"c64",C128:"c128",UNKNOWN:"unknown"});let Z=class extends j{constructor(){super(...arguments),this.pixelType="unknown"}};n([o({type:String,json:{write:!0}})],Z.prototype,"name",void 0),n([o({type:String,json:{write:!0}})],Z.prototype,"description",void 0),n([o({type:E,json:{type:E,write:!0,name:"_object_id"}})],Z.prototype,"id",void 0),n([o({type:String,json:{type:be.jsonValues,read:be.read,write:be.write}})],Z.prototype,"pixelType",void 0),n([o({type:String,json:{write:!0}})],Z.prototype,"type",void 0),Z=n([v("esri.layers.support.RasterFunctionInfo")],Z);const di=Z;let H=class extends j{constructor(){super(...arguments),this.isDataset=!1,this.isPublic=!1,this.type="RasterFunctionVariable"}};n([o({type:String,json:{write:!0}})],H.prototype,"name",void 0),n([o({type:Number,json:{type:E,write:!0,name:"_object_id"}})],H.prototype,"id",void 0),n([o({type:Boolean,json:{write:!0}})],H.prototype,"isDataset",void 0),n([o({type:Boolean,json:{write:!0}})],H.prototype,"isPublic",void 0),n([o({json:{write:!0}})],H.prototype,"value",void 0),n([o({type:String,json:{write:!0}})],H.prototype,"type",void 0),H=n([v("esri.layers.support.RasterFunctionVariable")],H);const Mi=H,se={key:"type",base:null,typeMap:{RasterFunctionVariable:Mi}};let V=class extends j{};n([o({types:se,json:{types:se,name:"MatchVariable"}})],V.prototype,"matchVariable",void 0),n([o({types:se,json:{types:se,name:"UnionDimension"}})],V.prototype,"unionDimension",void 0),n([o({type:Number,json:{type:E,write:!0,name:"_object_id"}})],V.prototype,"id",void 0),n([o({type:String,json:{write:!0}})],V.prototype,"type",void 0),V=n([v("esri.layers.support.RasterFunctionProperties")],V);const gi=V,ve=new ge({0:"mosaic",1:"item",2:"item-group"},{useNumericKeys:!0});let I=class extends j{constructor(){super(...arguments),this.functionType="mosaic",this.type="RasterFunctionTemplate"}};n([o({type:[String],json:{write:!0}})],I.prototype,"aliases",void 0),n([o({type:Object,json:{write:!0}})],I.prototype,"arguments",void 0),n([o({type:String,json:{write:!0}})],I.prototype,"description",void 0),n([o({type:di,json:{write:!0,name:"function"}})],I.prototype,"functionInfo",void 0),n([o({type:ve.apiValues,json:{type:[0,1,2],read:ve.read,write:ve.write}})],I.prototype,"functionType",void 0),n([o({type:String,json:{write:!0}})],I.prototype,"group",void 0),n([o({type:String,json:{write:!0}})],I.prototype,"help",void 0),n([o({type:Number,json:{type:E,write:!0,name:"_object_id"}})],I.prototype,"id",void 0),n([o({type:String,json:{write:!0}})],I.prototype,"name",void 0),n([o({type:String,json:{write:!0,name:"definition"}})],I.prototype,"queryDefinition",void 0),n([o({type:String,json:{write:!0}})],I.prototype,"tag",void 0),n([o({type:gi,json:{write:!0}})],I.prototype,"properties",void 0),n([o({type:String,json:{write:!0}})],I.prototype,"thumbnail",void 0),n([o({type:String,json:{write:!0}})],I.prototype,"thumbnailEx",void 0),n([o({json:{type:["RasterFunctionTemplate"],write:!0}})],I.prototype,"type",void 0),I=n([v("esri.layers.support.RasterFunctionTemplate")],I);const vt=I;var Be;const ce=new Set(["raster","raster2","dem","fillraster"]),ue=new Set(["rasters"]),ot=e=>e!=null&&e.rasterFunction?b.fromJSON(e):e,je=e=>e&&e instanceof b?e.toJSON():e,ze=e=>(e==null?void 0:e.functionName)&&!e.declaredClass,st=e=>ze(e)?new b(e):e,mi=e=>{if(e==null)return null;e=D(e);const t={};for(const a of Object.keys(e))ce.has(a.toLowerCase())?t[a]=ot(e[a]):ue.has(a.toLowerCase())&&Array.isArray(e[a])?t[a]=e[a].map(ot):t[a]=e[a];return t},yi={types:{key:"type",base:null,typeMap:{RasterFunctionTemplate:vt}},json:{write:!0,name:"rasterFunctionDefinition"}};let b=Be=class extends j{constructor(e){super(e),this.functionName=null,this.outputPixelType="unknown",this.variableName=null,this.functionDefinition=null}set functionArguments(e){if(e){const t=Object.keys(e);if(t.some(a=>ce.has(a.toLowerCase())&&ze(e[a]))||t.some(a=>ue.has(a.toLowerCase())&&Array.isArray(e[a])&&e[a].some(i=>ze(i)))){e=D(e);for(const a of t)ce.has(a.toLowerCase())?e[a]=st(e[a]):ue.has(a.toLowerCase())&&Array.isArray(e[a])&&(e[a]=e[a].map(i=>st(i)))}}this._set("functionArguments",e)}readFunctionArguments(e){return mi(e)}writeFunctionArguments(e,t,a){const i={};for(const r of Object.keys(e))ce.has(r.toLowerCase())?i[r]=je(e[r]):ue.has(r.toLowerCase())&&Array.isArray(e[r])?i[r]=e[r].map(je):i[r]=je(e[r]);t[a]=i}readFunctionName(e,t){const a=t.rasterFunctionInfos;return t.name||(a!=null&&a.length&&a[0].name!=="None"?a[0].name:t.rasterFunctionDefinition?t.rasterFunctionDefinition.name:t.rasterFunction)}get rasterFunctionDefinition(){var e;return(e=this.functionDefinition)==null?void 0:e.toJSON()}set rasterFunctionDefinition(e){this.functionDefinition=e?vt.fromJSON(e):null}clone(){return new Be({functionName:this.functionName,functionArguments:D(this.functionArguments),outputPixelType:this.outputPixelType,variableName:this.variableName,rasterFunctionDefinition:D(this.rasterFunctionDefinition)})}};n([o({json:{type:Object,name:"rasterFunctionArguments"}})],b.prototype,"functionArguments",null),n([z("functionArguments")],b.prototype,"readFunctionArguments",null),n([me("functionArguments")],b.prototype,"writeFunctionArguments",null),n([o({json:{type:String,write:{target:"rasterFunction"}}})],b.prototype,"functionName",void 0),n([z("functionName",["rasterFunction","rasterFunctionInfos","rasterFunctionDefinition"])],b.prototype,"readFunctionName",null),n([J({C128:"c128",C64:"c64",F32:"f32",F64:"f64",S16:"s16",S32:"s32",S8:"s8",U1:"u1",U16:"u16",U2:"u2",U32:"u32",U4:"u4",U8:"u8",UNKNOWN:"unknown"},{ignoreUnknown:!1}),o({json:{default:"unknown"}})],b.prototype,"outputPixelType",void 0),n([o({type:String,json:{read:!0,write:!0}})],b.prototype,"variableName",void 0),n([o()],b.prototype,"rasterFunctionDefinition",null),n([o(yi)],b.prototype,"functionDefinition",void 0),b=Be=n([v("esri.layers.support.RasterFunction")],b);const Me=b;var Ue;const Q=q()({MT_FIRST:"first",MT_LAST:"last",MT_MIN:"min",MT_MAX:"max",MT_MEAN:"mean",MT_BLEND:"blend",MT_SUM:"sum"}),Re=q()({esriMosaicNone:"none",esriMosaicCenter:"center",esriMosaicNadir:"nadir",esriMosaicViewpoint:"viewpoint",esriMosaicAttribute:"attribute",esriMosaicLockRaster:"lock-raster",esriMosaicNorthwest:"northwest",esriMosaicSeamline:"seamline"});function Ii(e){let t;switch(e?e.toLowerCase().replace("esrimosaic",""):""){case"byattribute":case"attribute":t="esriMosaicAttribute";break;case"lockraster":t="esriMosaicLockRaster";break;case"center":t="esriMosaicCenter";break;case"northwest":t="esriMosaicNorthwest";break;case"nadir":t="esriMosaicNadir";break;case"viewpoint":t="esriMosaicViewpoint";break;case"seamline":t="esriMosaicSeamline";break;default:t="esriMosaicNone"}return Re.fromJSON(t)}let m=Ue=class extends j{constructor(e){super(e),this.ascending=!0,this.itemRasterFunction=null,this.lockRasterIds=null,this.method=null,this.multidimensionalDefinition=null,this.objectIds=null,this.operation=null,this.sortField=null,this.sortValue=null,this.viewpoint=null,this.where=null}readAscending(e,t){return t.ascending!=null?t.ascending:t.sortAscending==null||t.sortAscending}get itemRenderingRule(){return pe(de.getLogger(this),"itemRenderingRule",{replacement:"itemRasterFunction",version:"4.27",warnOnce:!0}),this._get("itemRasterFunction")}set itemRenderingRule(e){pe(de.getLogger(this),"itemRenderingRule",{replacement:"itemRasterFunction",version:"4.27",warnOnce:!0}),this._set("itemRasterFunction",e)}readMethod(e,t){return Ii(t.mosaicMethod||t.defaultMosaicMethod)}writeMultidimensionalDefinition(e,t,a){e!=null&&(e=e.filter(({variableName:i,dimensionName:r})=>i&&i!=="*"||r)).length&&(t[a]=e.map(i=>i.toJSON()))}readOperation(e,t){var s;const a=t.mosaicOperation,i=(s=t.mosaicOperator)==null?void 0:s.toLowerCase(),r=a||(i?Q.toJSON(i):null);return Q.fromJSON(r)||"first"}castSortValue(e){return e==null||typeof e=="string"||typeof e=="number"?e:`${e}`}clone(){return new Ue({ascending:this.ascending,itemRasterFunction:D(this.itemRasterFunction),lockRasterIds:D(this.lockRasterIds),method:this.method,multidimensionalDefinition:D(this.multidimensionalDefinition),objectIds:D(this.objectIds),operation:this.operation,sortField:this.sortField,sortValue:this.sortValue,viewpoint:D(this.viewpoint),where:this.where})}};n([o({type:Boolean,json:{write:!0}})],m.prototype,"ascending",void 0),n([z("ascending",["ascending","sortAscending"])],m.prototype,"readAscending",null),n([o({type:Me,json:{name:"itemRenderingRule",write:!0}})],m.prototype,"itemRasterFunction",void 0),n([o({type:Me})],m.prototype,"itemRenderingRule",null),n([o({type:[E],json:{write:{overridePolicy(){return{enabled:this.method==="lock-raster"}}}}})],m.prototype,"lockRasterIds",void 0),n([o({type:String,json:{type:Re.jsonValues,write:{target:"mosaicMethod",writer:Re.write}}})],m.prototype,"method",void 0),n([z("method",["mosaicMethod","defaultMosaicMethod"])],m.prototype,"readMethod",null),n([o({type:[wt],json:{write:!0}})],m.prototype,"multidimensionalDefinition",void 0),n([me("multidimensionalDefinition")],m.prototype,"writeMultidimensionalDefinition",null),n([o({type:[E],json:{name:"fids",write:!0}})],m.prototype,"objectIds",void 0),n([o({json:{type:Q.jsonValues,read:{reader:Q.read},write:{target:"mosaicOperation",writer:Q.write}}})],m.prototype,"operation",void 0),n([z("operation",["mosaicOperation","mosaicOperator"])],m.prototype,"readOperation",null),n([o({type:String,json:{write:{overridePolicy(){return{enabled:this.method==="attribute"}}}}})],m.prototype,"sortField",void 0),n([o({type:[String,Number],json:{write:{allowNull:!0,overridePolicy(){return{enabled:this.method==="attribute",allowNull:!0}}}}})],m.prototype,"sortValue",void 0),n([Pt("sortValue")],m.prototype,"castSortValue",null),n([o({type:ye,json:{write:!0}})],m.prototype,"viewpoint",void 0),n([o({type:String,json:{write:!0}})],m.prototype,"where",void 0),m=Ue=n([v("esri.layers.support.MosaicRule")],m);const wi=m;var He;const hi={base:Vt,key:"type",typeMap:{extent:Se,polygon:Gt}};let G=He=class extends j{constructor(e){super(e),this.areaOfInterest=null,this.subsetDefinitions=null}get dimensions(){const{subsetDefinitions:e}=this;if(e==null||e.length===0)return[];const t=new Map;e.forEach(i=>{if(!i.dimensionName)return;let r,s;if(Array.isArray(i.values[0])){const l=i.values;r=l[0][0],s=l[i.values.length-1][1]}else{const l=i.values;r=l[0],s=l[i.values.length-1]}if(t.has(i.dimensionName)){const l=t.get(i.dimensionName);l[0]=Math.min(r,l[0]),l[1]=Math.max(s,l[1])}else t.set(i.dimensionName,[r,s])});const a=[];for(const i of t)a.push({name:i[0],extent:i[1]});return a}get variables(){const{subsetDefinitions:e}=this;if(e==null||e.length===0)return[];const t=new Set;return e.forEach(a=>{a.variableName&&t.add(a.variableName)}),[...t]}clone(){var a;const e=(a=this.subsetDefinitions)==null?void 0:a.map(i=>i.clone()),t=this.areaOfInterest?this.areaOfInterest.clone():this.areaOfInterest;return new He({areaOfInterest:t,subsetDefinitions:e})}};n([o({types:hi,json:{read:yt,write:!0}})],G.prototype,"areaOfInterest",void 0),n([o({readOnly:!0})],G.prototype,"dimensions",null),n([o({readOnly:!0})],G.prototype,"variables",null),n([o({type:[wt],json:{write:!0}})],G.prototype,"subsetDefinitions",void 0),G=He=n([v("esri.layers.support.MultidimensionalSubset")],G);const Fi=G;class _i{constructor(){this._workerThread=null,this._destroyed=!1}async initialize(){const t=await Ot("RasterWorker");this._destroyed?t.close():this._workerThread=t}destroy(){this._destroyed=!0,this._workerThread&&(this._workerThread.close(),this._workerThread=null)}async convertVectorFieldData(t,a){if(!this._workerThread)throw new T("raster-jobhandler:no-connection","no available worker connection");const i=await this._workerThread.invoke("convertVectorFieldData",{pixelBlock:t.pixelBlock.toJSON(),type:t.dataType},a);return i?new P(i):null}computeStatisticsHistograms(t,a){if(!this._workerThread)throw new T("raster-jobhandler:no-connection","no available worker connection");return this._workerThread.invoke("computeStatisticsHistograms",{pixelBlock:t.pixelBlock.toJSON()},a)}async decode(t,a){if(!this._workerThread)throw new T("raster-jobhandler:no-connection","no available worker connection");const i=await this._workerThread.invoke("decode",t,a);return i?new P(i):null}async symbolize(t,a){var s,l;if(!this._workerThread)throw new T("raster-jobhandler:no-connection","no available worker connection");const i={extent:(s=t.extent)==null?void 0:s.toJSON(),pixelBlock:(l=t.pixelBlock)==null?void 0:l.toJSON(),simpleStretchParams:t.simpleStretchParams,bandIds:t.bandIds},r=await this._workerThread.invoke("symbolize",i,a);return r?new P(r):null}async updateSymbolizer(t,a){var r;if(!this._workerThread)throw new T("raster-jobhandler:no-connection","no available worker connection");const i=(r=t==null?void 0:t.rendererJSON)==null?void 0:r.histograms;await Promise.all(this._workerThread.broadcast("updateSymbolizer",{symbolizerJSON:t.toJSON(),histograms:i},a))}async updateRasterFunction(t,a){if(!this._workerThread)throw new T("raster-jobhandler:no-connection","no available worker connection");await Promise.all(this._workerThread.broadcast("updateRasterFunction",{rasterFunctionJSON:t.toJSON()},a))}async process(t,a){var r,s;if(!this._workerThread)throw new T("raster-jobhandler:no-connection","no available worker connection");const i=await this._workerThread.invoke("process",{extent:(r=t.extent)==null?void 0:r.toJSON(),primaryPixelSizes:(s=t.primaryPixelSizes)==null?void 0:s.map(l=>l!=null?l.toJSON():null),primaryPixelBlocks:t.primaryPixelBlocks.map(l=>l!=null?l.toJSON():null),primaryRasterIds:t.primaryRasterIds},a);return i?new P(i):null}async stretch(t,a){if(!this._workerThread)throw new T("raster-jobhandler:no-connection","no available worker connection");if(!(t!=null&&t.pixelBlock))return null;const i={srcPixelBlock:t.pixelBlock.toJSON(),stretchParams:t.stretchParams},r=await this._workerThread.invoke("stretch",i,a);return r?new P(r):null}async split(t,a){if(!this._workerThread)throw new T("raster-jobhandler:no-connection","no available worker connection");if(!(t!=null&&t.pixelBlock))return null;const i={srcPixelBlock:t.pixelBlock.toJSON(),tileSize:t.tileSize,maximumPyramidLevel:t.maximumPyramidLevel},r=await this._workerThread.invoke("split",i,a);return r&&r.forEach((s,l)=>{r.set(l,s?P.fromJSON(s):null)}),r}async estimateStatisticsHistograms(t,a){if(!this._workerThread)throw new T("raster-jobhandler:no-connection","no available worker connection");if(!(t!=null&&t.pixelBlock))return null;const i={srcPixelBlock:t.pixelBlock.toJSON()};return await this._workerThread.invoke("estimateStatisticsHistograms",i,a)}async mosaicAndTransform(t,a){var s;if(!this._workerThread)throw new T("raster-jobhandler:no-connection","no available worker connection");if(!((s=t==null?void 0:t.srcPixelBlocks)!=null&&s.length))return{pixelBlock:null};const i={...t,srcPixelBlocks:t.srcPixelBlocks.map(l=>l!=null?l.toJSON():null)},r=await this._workerThread.invoke("mosaicAndTransform",i,a);return{pixelBlock:r.pixelBlock?new P(r.pixelBlock):null,localNorthDirections:r.localNorthDirections}}async createFlowMesh(t,a){if(!this._workerThread)throw new T("raster-jobhandler:no-connection","no available worker connection");const i={buffer:t.flowData.data.buffer,maskBuffer:t.flowData.mask.buffer,width:t.flowData.width,height:t.flowData.height},{meshType:r,simulationSettings:s}=t,l=await this._workerThread.invoke("createFlowMesh",{meshType:r,flowData:i,simulationSettings:s},{...a,transferList:[i.buffer,i.maskBuffer]});return{vertexData:new Float32Array(l.vertexBuffer),indexData:new Uint32Array(l.indexBuffer)}}getProjectionOffsetGrid(t,a){if(!this._workerThread)throw new T("raster-jobhandler:no-connection","no available worker connection");const i=t.datumTransformation!=null?t.datumTransformation.steps.map(l=>({wkid:l.wkid,wkt:l.wkt,isInverse:l.isInverse})):null,r=t.rasterTransform!=null?t.rasterTransform.toJSON():null,s={projectedExtent:t.projectedExtent.toJSON(),srcBufferExtent:t.srcBufferExtent.toJSON(),pixelSize:t.pixelSize,hasWrapAround:t.hasWrapAround,spacing:t.spacing,datumTransformationSteps:i,rasterTransform:r,isAdaptive:t.isAdaptive,includeGCSGrid:t.includeGCSGrid};return this._workerThread.invoke("getProjectionOffsetGrid",s,a)}}const Ai=.25,fi=It.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]}]}),lt=It.fromJSON(ai[0]),jt=new Set(["scientific","standard-time","vector-uv","vector-magdir","vector-u","vector-v","vector-magnitude","vector-direction"]);function $i(e,t){const{attributeTable:a,colormap:i}=e;if(Ee(e)){const r=xi(e);if(r!=null)return r}if(i!=null){const r=Ni(e);if(r!=null)return r}if(a!=null){const r=Ti(e);if(r!=null)return r}return Di(e,t)}function Ki(e,t=!1){const a=["raster-stretch"];return ht(e,t)&&a.push("raster-colormap"),At(e)&&a.push("unique-value"),ri(e,t)&&a.push("class-breaks"),ni(e)&&a.push("raster-shaded-relief"),Ee(e)&&a.push("vector-field"),oi(e)&&a.push("flow"),a}function Qi(e,t,a){const i=["nearest","bilinear","cubic","majority"].find(r=>r===(a==null?void 0:a.toLowerCase()));return t==="Map"?i??"bilinear":e.dataType==="standard-time"?i??"nearest":e.dataType==="thematic"||e.attributeTable||e.colormap?i==="nearest"||i==="majority"?i:"nearest":i??"bilinear"}function Di(e,t){e=bi(e,t==null?void 0:t.variableName);const{bandCount:a}=e;let{bandIds:i,stretchType:r}=t||{};i!=null&&i.some(M=>M>=a)&&(i=null);let s=e.statistics,l=e.histograms;a>1?(i=i!=null&&i.length?i:vi(e),s=s==null?null:i==null?void 0:i.map(M=>s[M]),l=l==null?null:i==null?void 0:i.map(M=>l[M])):i=[0],r==null&&(r=Si(e));let u=!1;switch(r){case"none":u=!1;break;case"percent-clip":u=!(l!=null&&l.length);break;default:u=!(s!=null&&s.length)}const{dataType:y}=e,c=(i==null?void 0:i.length)===1&&jt.has(y)?fi:null,w=new Ve({stretchType:r,dynamicRangeAdjustment:u,colorRamp:c,outputMin:0,outputMax:255,gamma:(i==null?void 0:i.length)===1?[1]:[1,1,1],useGamma:!1});return r==="percent-clip"?w.maxPercent=w.minPercent=Ai:r==="standard-deviation"&&(w.numberOfStandardDeviations=2),u||e.multidimensionalInfo==null&&!(t!=null&&t.includeStatisticsInStretch)||(r==="percent-clip"?w.histograms=l:r!=="min-max"&&r!=="standard-deviation"||(w.statistics=s)),w}function bi(e,t){const{multidimensionalInfo:a}=e;if(!t||!a)return e;const i=a.variables.find(r=>r.name===t);if(!i)return e;if(e=e.clone(),i){const{statistics:r,histograms:s}=i;r!=null&&r.length&&(e.statistics=r.map(l=>({min:l.min,max:l.max,avg:l.avg,stddev:l.stddev}))),s!=null&&s.length&&(e.histograms=s)}return e}function vi(e){const t=e.bandCount;if(t===1)return null;if(t===2)return[0];const{bandInfos:a}=e;let i;if(a.length===t){const{red:r,green:s,blue:l,nir:u}=ji(a);r!=null&&s!=null&&l!=null?i=[r,s,l]:u!=null&&r!=null&&s!=null&&(i=[u,r,s])}return!i&&t>=3&&(i=[0,1,2]),i}function ji(e){const t={};for(let a=0;a=410&&s<=480&&l>=480&&l<=540?t.blue=a:t.green==null&&s>=490&&s<=560&&l>=560&&l<=610?t.green=a:t.red==null&&s>=595&&s<=670&&l>=660&&l<=730?t.red=a:t.nir==null&&s>=700&&s<=860&&l>=800&&l<=950&&(t.nir=a)}}return t}function Si(e){let t="percent-clip";const{pixelType:a,dataType:i,histograms:r,statistics:s,multidimensionalInfo:l}=e,u=jt.has(i)||i==="generic"&&l!=null;return a!=="u8"||i!=="processed"&&r!=null&&s!=null?a==="u8"||i==="elevation"||u?t="min-max":r!=null?t="percent-clip":s!=null&&(t="min-max"):t="none",t}function Ti(e,t,a,i){if(!At(e,t))return null;const{attributeTable:r,statistics:s}=e,l=St(r,t),u=X(r,"red"),y=X(r,"green"),c=X(r,"blue"),w=new pt,M=[],U=new Set,N=!!(u&&y&&c);if(r!=null)r.features.forEach(p=>{const d=p.attributes[l.name];if(!U.has(p.attributes[l.name])&&d!=null){U.add(d);const L=N&&(u.type==="single"||u.type==="double")&&(y.type==="single"||y.type==="double")&&(c.type==="single"||c.type==="double")&&!r.features.some(R=>R.attributes[u.name]>1||R.attributes[y.name]>1||R.attributes[c.name]>1),B=L?255:1;M.push(new it({value:p.attributes[l.name],label:p.attributes[l.name]+"",symbol:{type:"simple-fill",style:"solid",outline:null,color:new h(N?[p.attributes[u.name]*B,p.attributes[y.name]*B,p.attributes[c.name]*B,1]:[0,0,0,0])}}))}});else if(s!=null&&s[0])for(let p=s[0].min;p<=s[0].max;p++)M.push(new it({value:p,label:p.toString(),symbol:{type:"simple-fill",style:"solid",outline:null,color:new h([0,0,0,0])}}));if(M.sort((p,d)=>p.value&&typeof p.value.valueOf()=="string"?0:p.value>d.value?1:-1),!N){const p=Te(lt,{numColors:M.length});M.forEach((d,L)=>d.symbol.color=new h(p[L].slice(1,4))),w.colorRamp=lt}if(a||i){const p=a||Te(i,{numColors:M.length}).map(d=>d.slice(1));M.forEach((d,L)=>d.symbol.color=new h(p[L])),w.colorRamp=i}return new Ze({field:l.name,uniqueValueInfos:M,authoringInfo:w})}function St(e,t,a){let i;return e!=null?(i=t?e.fields.find(r=>t.toLowerCase()===r.name.toLowerCase()):Ci(e.fields),i||(a||(i=e.fields.find(r=>r.type==="string")),i||(i=X(e,"value")))):i=new Wt({name:"value"}),i}function Ci(e){let t;for(let a=0;aa.name.toLowerCase()===t)}function Ni(e){if(!ht(e))return null;let t;const{attributeTable:a,colormap:i}=e;if(a!=null){const r=X(a,"value"),s=St(a,null,!0);s.type==="string"&&(t={},a.features.forEach(l=>{const u=l.attributes;t[u[r.name]]=s?u[s.name]:u[r.name]}))}return Pe.createFromColormap(i,t)}const Li=new Map([["m/s","meter-per-second"],["km/h","kilometer-per-hour"],["knots","knots"],["ft/s","feet-per-second"],["mph","mile-per-hour"]]);function xi(e){if(!Ee(e))return null;let t;if(e.statistics!=null&&e.statistics.length&&(e.dataType==="vector-magdir"||e.dataType==="vector-uv")){const{minMagnitude:r,maxMagnitude:s}=Bi(e.dataType,e.statistics);t=[{type:"size",field:"Magnitude",minSize:10,maxSize:40,minDataValue:r,maxDataValue:s}]}const a=e.multidimensionalInfo!=null?Li.get(e.multidimensionalInfo.variables[0].unit):null,i=new Ge({visualVariables:t,inputUnit:a,rotationType:"geographic"});return i.visualVariables=[...i.sizeVariables,...i.rotationVariables],i}function ct(e){var t;return{color:(t=e.symbolLayers[0].material)==null?void 0:t.color,type:"esriSFS",style:"esriSFSSolid"}}function Xi(e){var t,a;if(e.type==="uniqueValue"){const i=e.uniqueValueInfos,r=i==null?void 0:i[0].symbol;return(t=r==null?void 0:r.symbolLayers)!=null&&t.length&&(e.uniqueValueInfos=i==null?void 0:i.map(s=>({value:s.value,label:s.label,symbol:s.symbol?ct(s.symbol):null}))),e}if(e.type==="classBreaks"){const i=e.classBreakInfos,r=i[0].symbol;return(a=r==null?void 0:r.symbolLayers)!=null&&a.length&&(e.classBreakInfos=i.map(s=>({classMinValue:s.classMinValue,classMaxValue:s.classMaxValue,label:s.label,symbol:s.symbol?ct(s.symbol):null}))),e}return e}function Bi(e,t){let a,i;if(e==="vector-magdir")a=t[0].min,i=t[0].max;else{const r=t[0].min,s=t[0].max,l=t[1].min,u=t[1].max;a=0,i=Math.max(Math.abs(r),Math.abs(l),Math.abs(s),Math.abs(u))}return{minMagnitude:a,maxMagnitude:i}}async function Tt(e,t,a){var We,Je,Fe,_e,$e,Ke,Qe,Xe,qe,Ye;const i=Jt(e),{rasterFunction:r,sourceJSON:s}=t||{},l=r?JSON.stringify(r.rasterFunctionDefinition||r):null,u=Ft({...i.query,renderingRule:l,f:"json"}),y=_t(u,a);e=i.path;const c=s||await O(e,y).then(S=>S.data),w=c.hasRasterAttributeTable?O(`${e}/rasterAttributeTable`,y):null,M=c.hasColormap?O(`${e}/colormap`,y):null,U=c.hasHistograms?O(`${e}/histograms`,y):null,N=c.currentVersion>=10.3?O(`${e}/keyProperties`,y):null,p=c.hasMultidimensions?O(`${e}/multidimensionalInfo`,y):null,d=await Promise.allSettled([w,M,U,N,p]);let L=null;if(c.minValues&&c.minValues.length===c.bandCount){L=[];for(let S=0;S{var et;(et=S.statistics)!=null&&et.length&&S.statistics.forEach(ae=>{ae.avg=ae.mean,ae.stddev=ae.standardDeviation})});const{defaultVariable:he,serviceDataType:_}=c;he&&he!==F.DefaultVariable&&(F.DefaultVariable=he),_!=null&&_.includes("esriImageServiceDataTypeVector")&&!_.includes(F.DataType)&&(F.DataType=_.replace("esriImageServiceDataType",""));let Ae=c.noDataValue;return(Ye=c.noDataValues)!=null&&Ye.length&&c.noDataValues.some(S=>S!==Ae)&&(Ae=c.noDataValues),new si({width:R,height:Ct,bandCount:c.bandCount,extent:Se.fromJSON(c.extent),spatialReference:Oe,pixelSize:new ye({x:c.pixelSizeX,y:c.pixelSizeY,spatialReference:Oe}),pixelType:c.pixelType.toLowerCase(),statistics:L,attributeTable:Nt,colormap:Lt,histograms:xt,keyProperties:F,noDataValue:Ae,multidimensionalInfo:we})}function qi(e,t,a){return Tt(e,{sourceJSON:t},a)}function Yi(e,t,a){return Tt(e,{rasterFunction:t},a)}function ea(e,t){e.attributeTable||(t.hasRasterAttributeTable=!1),e.histograms||(t.hasHistograms=!1),e.colormap||(t.hasColormap=!1),e.multidimensionalInfo||(t.hasMultidimensions=!1)}var ke;let x=ke=class extends j{constructor(){super(...arguments),this.geometry=null,this.mosaicRule=null,this.rasterFunction=null,this.pixelSize=null,this.raster=void 0,this.timeExtent=null}writeGeometry(e,t,a){e!=null&&(t.geometryType=qt(e),t[a]=e.toJSON())}get renderingRule(){return pe(de.getLogger(this),"renderingRule",{replacement:"rasterFunction",version:"4.27",warnOnce:!0}),this._get("rasterFunction")}set renderingRule(e){pe(de.getLogger(this),"renderingRule",{replacement:"rasterFunction",version:"4.27",warnOnce:!0}),this._set("rasterFunction",e)}clone(){return new ke(D({geometry:this.geometry,mosaicRule:this.mosaicRule,rasterFunction:this.rasterFunction,pixelSize:this.pixelSize,raster:this.raster,timeExtent:this.timeExtent}))}};n([o({types:Qt,json:{read:yt}})],x.prototype,"geometry",void 0),n([me("geometry")],x.prototype,"writeGeometry",null),n([o({type:wi,json:{write:!0}})],x.prototype,"mosaicRule",void 0),n([o({type:Me})],x.prototype,"renderingRule",null),n([o({type:Me,json:{write:!0,name:"renderingRule"}})],x.prototype,"rasterFunction",void 0),n([o({type:ye,json:{write:!0}})],x.prototype,"pixelSize",void 0),n([o({json:{write:!0}})],x.prototype,"raster",void 0),n([o({type:Xt,json:{read:{source:"time"},write:{target:"time"}}})],x.prototype,"timeExtent",void 0),x=ke=n([v("esri.rest.support.ImageHistogramParameters")],x);const ta=x;export{bi as B,vi as E,Xi as K,Me as N,Qi as S,$i as V,Pi as a,Vi as b,Fi as c,nt as d,Yi as f,ta as h,Gi as i,wi as j,Ki as k,rt as l,qi as m,be as n,ea as p,_i as t};