@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
1 lines • 24.3 kB
JavaScript
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9156],{8303(e,t,r){r.d(t,{A:()=>M});var l=r(5482),i=r(92602),s=r(70333),o=r(11254),n=r(60999),a=r(49186),u=r(53966),p=r(97768),c=r(74887),h=r(84952),d=r(91429),g=r(77548),y=r(20655),f=r(80812),m=r(41318),v=r(10407),w=r(36005),A=r(43937);const M=e=>{const t=e;let M=class extends t{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){this.portalItem=(0,p.pR)(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}get portalItem(){return this._get("portalItem")}set portalItem(e){e!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",e))}readPortalItem(e,t,r){if(t.itemId)return new f.default({id:t.itemId,portal:r?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}async loadFromPortal(e,t){if(this.portalItem?.id)try{const{load:l}=await r.e(1204).then(r.bind(r,41204));return(0,c.Te)(t),await l({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t)}catch(e){throw(0,c.zf)(e)||u.A.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}}async finishLoadEditablePortalLayer(e){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(e).catch(e=>((0,c.QP)(e),!0)))}async setUserPrivileges(e,t){if(!i.A.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(t);if(this.url)try{const{features:{edit:r,fullEdit:l},content:{updateItem:i}}=await this._fetchUserPrivileges(e,t);this._set("userHasEditingPrivileges",r),this._set("userHasFullEditingPrivileges",l),this._set("userHasUpdateItemPrivileges",i)}catch(e){(0,c.QP)(e)}}async _fetchUserPrivileges(e,t){let r=this.portalItem;if(!e||!r||!r.loaded||r.sourceUrl)return this._fetchFallbackUserPrivileges(t);const l=!s.id?.findCredential(this.url),i=e===r.id;if(i&&r.portal.user)return this._getUserPrivileges(r,l);let o,n;if(i)o=r.portal.url;else try{o=await(0,g.wI)(this.url,t)}catch(e){(0,c.QP)(e)}if(!o||!(0,h.b8)(o,r.portal.url))return this._fetchFallbackUserPrivileges(t);try{const e=null!=t?t.signal:null;n=await(s.id?.getCredential(`${o}/sharing`,{prompt:!1,signal:e}))}catch(e){(0,c.QP)(e)}const a=!0,u=!1,p=!1;if(!n)return{features:{edit:a,fullEdit:u},content:{updateItem:p}};try{if(i?await r.reload():(r=new f.default({id:e,portal:{url:o}}),await r.load(t)),r.portal.user)return this._getUserPrivileges(r,l)}catch(e){(0,c.QP)(e)}return{features:{edit:a,fullEdit:u},content:{updateItem:p}}}_getUserPrivileges(e,t){const r=(0,v.It)(e);return t&&(r.features.edit=!0),r}async _fetchFallbackUserPrivileges(e){let t=!0;try{t=await this._fetchUserHasEditingPrivileges(e)}catch(e){(0,c.QP)(e)}return{features:{edit:t,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(e){const t=this.url?s.id?.findCredential(this.url):null;if(!t)return!0;const r=C.credential===t?C.user:await this._fetchEditingUser(e);return C.credential=t,C.user=r,null==r?.privileges||r.privileges.includes("features:user:edit")}async _fetchEditingUser(e){const t=this.portalItem?.portal?.user;if(t)return t;const r=s.id?.findServerInfo(this.url??"");if(!r?.owningSystemUrl)return null;const l=`${r.owningSystemUrl}/sharing/rest`,i=y.A.getDefault();if(i&&i.loaded&&(0,h.S8)(i.restUrl)===(0,h.S8)(l))return i.user;const a=`${l}/community/self`,u=null!=e?e.signal:null,p=await(0,n.Ke)((0,o.A)(a,{authMode:"no-prompt",query:{f:"json"},signal:u}));return p.ok?m.A.fromJSON(p.value.data):null}read(e,t){t&&(t.layer=this),super.read(e,t)}write(e,t){const r=t?.portal,l=this.portalItem?.id&&(this.portalItem.portal||y.A.getDefault());return r&&l&&!(0,h.ut)(l.restUrl,r.restUrl)?(t.messages&&t.messages.push(new a.A("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(e,{...t,layer:this})}};return(0,l.Cg)([(0,d.MZ)({type:f.default})],M.prototype,"portalItem",null),(0,l.Cg)([(0,w.w)("web-document","portalItem",["itemId"])],M.prototype,"readPortalItem",null),(0,l.Cg)([(0,A.K)("web-document","portalItem",{itemId:{type:String}})],M.prototype,"writePortalItem",null),(0,l.Cg)([(0,d.MZ)({clonable:!1})],M.prototype,"resourceReferences",void 0),(0,l.Cg)([(0,d.MZ)({type:Boolean,readOnly:!0})],M.prototype,"userHasEditingPrivileges",void 0),(0,l.Cg)([(0,d.MZ)({type:Boolean,readOnly:!0})],M.prototype,"userHasFullEditingPrivileges",void 0),(0,l.Cg)([(0,d.MZ)({type:Boolean,readOnly:!0})],M.prototype,"userHasUpdateItemPrivileges",void 0),M=(0,l.Cg)([(0,d.$K)("esri.layers.mixins.PortalLayer")],M),M},C={credential:null,user:null}},10407(e,t,r){r.d(t,{It:()=>d,LG:()=>o,OM:()=>u,Sm:()=>p,Y:()=>n,bK:()=>a,mm:()=>h,sQ:()=>c});var l=r(91218),i=r(16930),s=r(28735);function o(e,t){if(!n(e,t)){const r=e.typeKeywords;r?r.push(t):e.typeKeywords=[t]}}function n(e,t){return!!e.typeKeywords?.includes(t)}function a(e){return n(e,h.HOSTED_SERVICE)}function u(e,t){const r=e.typeKeywords;if(r){const e=r.indexOf(t);e>-1&&r.splice(e,1)}}function p(e,t,r){r?o(e,t):u(e,t)}async function c(e){const t=e.clone().normalize();let r;if(t.length>1)for(const e of t)r?e.width>r.width&&(r=e):r=e;else r=t[0];return async function(e){const t=e.spatialReference;if(t.isWGS84)return e.clone();if(t.isWebMercator)return(0,s.ci)(e);const r=i.A.WGS84;return await(0,l.initializeProjection)(t,r),(0,l.project)(e,r)}(r)}const h={CHARTS:"Charts",DYNAMIC:"Dynamic",DEVELOPER_BASEMAP:"DeveloperBasemap",GROUP_LAYER_MAP:"Map",HOSTED_SERVICE:"Hosted Service",JSAPI:"ArcGIS API for JavaScript",LOCAL_SCENE:"ViewingMode-Local",METADATA:"Metadata",MULTI_LAYER:"Multilayer",ORIENTED_IMAGERY_LAYER:"OrientedImageryLayer",SINGLE_LAYER:"Singlelayer",SUBTYPE_GROUP_LAYER:"SubtypeGroupLayer",SUBTYPE_GROUP_TABLE:"SubtypeGroupTable",TABLE:"Table",TILED_IMAGERY:"Tiled Imagery"};function d(e){const{portal:t,isOrgItem:r,itemControl:l}=e,i=t.user?.privileges;let s=!i||i.includes("features:user:edit"),o=!!r&&!!i?.includes("features:user:fullEdit");const n="update"===l||"admin"===l;return n?o=s=!0:o&&(s=!0),{features:{edit:s,fullEdit:o},content:{updateItem:n}}}},33446(e,t,r){r.d(t,{C:()=>o,m:()=>s});var l=r(49186),i=r(74887);async function s(e,t,r){let s;try{s=await createImageBitmap(e)}catch(e){throw new l.A("request:server",`Unable to load ${t}`,{url:t,error:e})}return(0,i.Te)(r),s}async function o(e,t,r,s,o){let n;try{n=await createImageBitmap(e)}catch(e){throw new l.A("request:server",`Unable to load tile ${t}/${r}/${s}`,{error:e,level:t,row:r,col:s})}return(0,i.Te)(o),n}},47314(e,t,r){r.r(t),r.d(t,{default:()=>P});var l,i=r(5482),s=r(11254),o=r(49186),n=r(25728),a=r(799),u=r(84952),p=r(91429),c=r(5443),h=r(86738),d=r(16930),g=r(4146),y=r(63074),f=r(16131),m=r(8303),v=r(54310),w=r(25036),A=r(33446),M=r(91806),C=r(87045),b=r(83703),_=r(36005),I=r(43937);let P=l=class extends((0,y.dM)((0,v.J)((0,w.j)((0,f.q)((0,m.A)((0,n.M)(g.A))))))){constructor(...e){super(...e),this.copyright="",this.fullExtent=new c.A(-20037508.342787,-20037508.34278,20037508.34278,20037508.342787,d.A.WebMercator),this.legendEnabled=!1,this.isReference=null,this.popupEnabled=!1,this.spatialReference=d.A.WebMercator,this.subDomains=null,this.tileInfo=new C.A({size:[256,256],dpi:96,format:"png8",compressionQuality:0,origin:new h.A({x:-20037508.342787,y:20037508.342787,spatialReference:d.A.WebMercator}),spatialReference:d.A.WebMercator,lods:[new M.A({level:0,scale:591657527.591555,resolution:156543.033928}),new M.A({level:1,scale:295828763.795777,resolution:78271.5169639999}),new M.A({level:2,scale:147914381.897889,resolution:39135.7584820001}),new M.A({level:3,scale:73957190.948944,resolution:19567.8792409999}),new M.A({level:4,scale:36978595.474472,resolution:9783.93962049996}),new M.A({level:5,scale:18489297.737236,resolution:4891.96981024998}),new M.A({level:6,scale:9244648.868618,resolution:2445.98490512499}),new M.A({level:7,scale:4622324.434309,resolution:1222.99245256249}),new M.A({level:8,scale:2311162.217155,resolution:611.49622628138}),new M.A({level:9,scale:1155581.108577,resolution:305.748113140558}),new M.A({level:10,scale:577790.554289,resolution:152.874056570411}),new M.A({level:11,scale:288895.277144,resolution:76.4370282850732}),new M.A({level:12,scale:144447.638572,resolution:38.2185141425366}),new M.A({level:13,scale:72223.819286,resolution:19.1092570712683}),new M.A({level:14,scale:36111.909643,resolution:9.55462853563415}),new M.A({level:15,scale:18055.954822,resolution:4.77731426794937}),new M.A({level:16,scale:9027.977411,resolution:2.38865713397468}),new M.A({level:17,scale:4513.988705,resolution:1.19432856685505}),new M.A({level:18,scale:2256.994353,resolution:.597164283559817}),new M.A({level:19,scale:1128.497176,resolution:.298582141647617}),new M.A({level:20,scale:564.248588,resolution:.14929107082380833}),new M.A({level:21,scale:282.124294,resolution:.07464553541190416}),new M.A({level:22,scale:141.062147,resolution:.03732276770595208}),new M.A({level:23,scale:70.5310735,resolution:.01866138385297604})]}),this.type="web-tile",this.urlTemplate=null,this.wmtsInfo=null}normalizeCtorArgs(e,t){return"string"==typeof e?{urlTemplate:e,...t}:e}load(e){const t=this.loadFromPortal({supportedTypes:["WMTS"]},e).then(()=>{let e="";if(this.urlTemplate)if(this.spatialReference.equals(this.tileInfo.spatialReference)){const t=new u.s0(this.urlTemplate);!(this.subDomains&&this.subDomains.length>0)&&t.authority?.includes("{subDomain}")&&(e="is missing 'subDomains' property")}else e="spatialReference must match tileInfo.spatialReference";else e="is missing the required 'urlTemplate' property value";if(e)throw new o.A("web-tile-layer:load",`WebTileLayer (title: '${this.title}', id: '${this.id}') ${e}`)});return this.addResolvingPromise(t),Promise.resolve(this)}get levelValues(){const e=[];if(!this.tileInfo)return null;for(const t of this.tileInfo.lods)e[t.level]=t.levelValue||t.level;return e}get loaded(){return super.loaded}readSpatialReference(e,t){return e||d.A.fromJSON(t.fullExtent?.spatialReference)}get tileServers(){if(!this.urlTemplate)return null;const e=[],{urlTemplate:t,subDomains:r}=this,l=new u.s0(t),i=l.scheme?l.scheme+"://":"//",s=i+l.authority+"/",o=l.authority;if(o?.includes("{subDomain}")){if(r&&r.length>0&&o.split(".").length>1)for(const t of r)e.push(i+o.replaceAll(/\{subDomain\}/gi,t)+"/")}else e.push(s);return e.map(u.Il)}get urlPath(){if(!this.urlTemplate)return null;const e=this.urlTemplate,t=new u.s0(e),r=(t.scheme?t.scheme+"://":"//")+t.authority+"/";return e.slice(r.length)}readUrlTemplate(e,t){return e||t.templateUrl}writeUrlTemplate(e,t){(0,u.BQ)(e)&&(e="https:"+e),e&&(e=e.replaceAll(/\{z\}/gi,"{level}").replaceAll(/\{x\}/gi,"{col}").replaceAll(/\{y\}/gi,"{row}"),e=(0,u.S8)(e)),t.templateUrl=e}fetchTile(e,t,r,l={}){const{signal:i}=l,o=this.getTileUrl(e,t,r),n={responseType:"image",signal:i,query:{...this.refreshParameters}};return(0,s.A)(o,n).then(e=>e.data)}async fetchImageBitmapTile(e,t,r,i={}){const{signal:o}=i;if(this.fetchTile!==l.prototype.fetchTile){const l=await this.fetchTile(e,t,r,i);return(0,A.C)(l,e,t,r,o)}const n=this.getTileUrl(e,t,r),a={responseType:"blob",signal:o,query:{...this.refreshParameters}},{data:u}=await(0,s.A)(n,a);return(0,A.C)(u,e,t,r,o)}getTileUrl(e,t,r){const{levelValues:l,tileServers:i,urlPath:s}=this;if(!l||!i||!s)return"";const o=l[e];return i[t%i.length]+(0,a.HC)(s,{level:o,z:o,col:r,x:r,row:t,y:t})}};(0,i.Cg)([(0,p.MZ)({type:String,value:"",json:{write:!0}})],P.prototype,"copyright",void 0),(0,i.Cg)([(0,p.MZ)({type:c.A,json:{write:!0},nonNullable:!0})],P.prototype,"fullExtent",void 0),(0,i.Cg)([(0,p.MZ)({readOnly:!0,json:{read:!1,write:!1}})],P.prototype,"legendEnabled",void 0),(0,i.Cg)([(0,p.MZ)({type:["show","hide"]})],P.prototype,"listMode",void 0),(0,i.Cg)([(0,p.MZ)({json:{read:!0,write:!0}})],P.prototype,"blendMode",void 0),(0,i.Cg)([(0,p.MZ)()],P.prototype,"levelValues",null),(0,i.Cg)([(0,p.MZ)({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],P.prototype,"isReference",void 0),(0,i.Cg)([(0,p.MZ)({type:["WebTiledLayer"],value:"WebTiledLayer"})],P.prototype,"operationalLayerType",void 0),(0,i.Cg)([(0,p.MZ)({readOnly:!0,json:{read:!1,write:!1}})],P.prototype,"popupEnabled",void 0),(0,i.Cg)([(0,p.MZ)({type:d.A})],P.prototype,"spatialReference",void 0),(0,i.Cg)([(0,_.w)("spatialReference",["spatialReference","fullExtent.spatialReference"])],P.prototype,"readSpatialReference",null),(0,i.Cg)([(0,p.MZ)({type:[String],json:{write:!0}})],P.prototype,"subDomains",void 0),(0,i.Cg)([(0,p.MZ)({type:C.A,json:{write:!0}})],P.prototype,"tileInfo",void 0),(0,i.Cg)([(0,p.MZ)({readOnly:!0})],P.prototype,"tileServers",null),(0,i.Cg)([(0,p.MZ)({json:{read:!1}})],P.prototype,"type",void 0),(0,i.Cg)([(0,p.MZ)()],P.prototype,"urlPath",null),(0,i.Cg)([(0,p.MZ)({type:String,json:{origins:{"portal-item":{read:{source:"url"}}}}})],P.prototype,"urlTemplate",void 0),(0,i.Cg)([(0,_.w)("urlTemplate",["urlTemplate","templateUrl"])],P.prototype,"readUrlTemplate",null),(0,i.Cg)([(0,I.K)("urlTemplate",{templateUrl:{type:String}})],P.prototype,"writeUrlTemplate",null),(0,i.Cg)([(0,p.MZ)({type:b.x,json:{write:!0}})],P.prototype,"wmtsInfo",void 0),P=l=(0,i.Cg)([(0,p.$K)("esri.layers.WebTileLayer")],P)},60999(e,t,r){r.d(t,{DZ:()=>g,Ke:()=>d,Tj:()=>p,UT:()=>y,aD:()=>m,jJ:()=>u});var l=r(5482),i=r(69622),s=r(97768),o=r(74887),n=r(10107),a=r(64108);function u(e,t,r){return(0,o.Lx)(e.map((e,l)=>t.apply(r,[e,l])))}async function p(e,t,r){return(await(0,o.Lx)(e.map((e,l)=>t.apply(r,[e,l])))).map(e=>e.value)}function c(e){return{ok:!0,value:e}}function h(e){return{ok:!1,error:e}}async function d(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return c(await e)}catch(e){return h(e)}}async function g(e){try{return c(await e)}catch(e){return(0,o.QP)(e),h(e)}}function y(e,t){return new f(e,t)}let f=class extends i.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,s.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:r}=this._abortController;this.promise=e(r),this.promise.then(e=>{this._result=c(e),this._cleanup()},e=>{this._result=h(e),this._cleanup()}),this._abortHandle=(0,o.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,s.xt)(this._abortHandle),this._abortController=null}};(0,l.Cg)([(0,n.MZ)()],f.prototype,"value",null),(0,l.Cg)([(0,n.MZ)()],f.prototype,"error",null),(0,l.Cg)([(0,n.MZ)()],f.prototype,"finished",null),(0,l.Cg)([(0,n.MZ)()],f.prototype,"promise",void 0),(0,l.Cg)([(0,n.MZ)()],f.prototype,"_result",void 0),f=(0,l.Cg)([(0,a.$)("esri.core.asyncUtils.ReactiveTask")],f);class m{constructor(){this._sequence=Promise.resolve()}async acquire(){let e;this._sequence=new Promise(t=>{e=this._sequence.then(()=>t,()=>t)});const t=await e;return{[Symbol.dispose]:t}}async run(e){const t={stack:[],error:void 0,hasError:!1};try{return(0,l.mS)(t,await this.acquire(),!1),await e()}catch(e){t.error=e,t.hasError=!0}finally{(0,l.hk)(t)}}}},72802(e,t,r){r.d(t,{U:()=>i});var l=r(19419);class i{constructor(e,t,r,i=(0,l.vt)()){this._level=e,this._row=t,this._col=r,this.extent=i}get id(){return this._id??=`${this.level}/${this.row}/${this.col}`,this._id}get level(){return this._level}set level(e){this._level=e,this._id=null}get row(){return this._row}set row(e){this._row=e,this._id=null}get col(){return this._col}set col(e){this._col=e,this._id=null}toJSON(){return{level:this._level,row:this._row,col:this._col,extent:this.extent}}static fromJSON(e){return new i(e.level,e.row,e.col,e.extent)}}},78553(e,t,r){r.d(t,{D:()=>s,p:()=>i});var l=r(56507);function i(e){const t=(0,l.Vr)(100*(1-e));return Math.max(0,Math.min(t,100))}function s(e){const t=1-e/100;return Math.max(0,Math.min(t,1))}},83703(e,t,r){r.d(t,{x:()=>a});var l,i=r(5482),s=r(25482),o=r(4718),n=r(91429);let a=l=class extends s.o{constructor(e){super(e)}clone(){return new l({customLayerParameters:(0,o.o8)(this.customLayerParameters),customParameters:(0,o.o8)(this.customParameters),layerIdentifier:this.layerIdentifier,tileMatrixSet:this.tileMatrixSet,url:this.url})}};(0,i.Cg)([(0,n.MZ)({json:{type:Object,write:!0}})],a.prototype,"customLayerParameters",void 0),(0,i.Cg)([(0,n.MZ)({json:{type:Object,write:!0}})],a.prototype,"customParameters",void 0),(0,i.Cg)([(0,n.MZ)({type:String,json:{write:!0}})],a.prototype,"layerIdentifier",void 0),(0,i.Cg)([(0,n.MZ)({type:String,json:{write:!0}})],a.prototype,"tileMatrixSet",void 0),(0,i.Cg)([(0,n.MZ)({type:String,json:{write:!0}})],a.prototype,"url",void 0),a=l=(0,i.Cg)([(0,n.$K)("esri.layers.support.WMTSLayerInfo")],a)},87045(e,t,r){r.d(t,{A:()=>w});var l,i=r(5482),s=r(66552),o=r(25482),n=r(86211),a=r(91429),u=r(56507),p=r(86738),c=r(16930),h=r(21325),d=r(28735),g=r(91806),y=r(72802),f=r(36005),m=r(43937);const v=new s.J({PNG:"png",PNG8:"png8",PNG24:"png24",PNG32:"png32",JPEG:"jpg",JPG:"jpg",DIB:"dib",TIFF:"tiff",EMF:"emf",PS:"ps",PDF:"pdf",GIF:"gif",SVG:"svg",SVGZ:"svgz",Mixed:"mixed",MIXED:"mixed",LERC:"lerc",LERC2D:"lerc2d",RAW:"raw",pbf:"pbf"});let w=class extends o.o{static{l=this}static create(e={}){const{resolutionFactor:t=1,scales:r,size:i=256,spatialReference:s=c.A.WebMercator,numLODs:o=24}=e;if(!(0,h.fn)(s)){const e=[];if(r)for(let t=0;t<r.length;t++){const l=r[t];e.push(new g.A({level:t,scale:l,resolution:l}))}else{let t=5e-4;for(let r=o-1;r>=0;r--)e.unshift(new g.A({level:r,scale:t,resolution:t})),t*=2}return new l({dpi:96,lods:e,origin:new p.A(0,0,s),size:[i,i],spatialReference:s})}const a=(0,h.Vp)(s),u=e.origin?new p.A({x:e.origin.x,y:e.origin.y,spatialReference:s}):new p.A(a?{x:a.origin[0],y:a.origin[1],spatialReference:s}:{x:0,y:0,spatialReference:s}),d=1/(39.37*(0,n.GA)(s)*96),y=[];if(r)for(let e=0;e<r.length;e++){const t=r[e],l=t*d;y.push(new g.A({level:e,scale:t,resolution:l}))}else{let e=(0,h.EA)(s)?512/i*591657527.5917094:256/i*591657527.591555;const r=Math.ceil(o/t);y.push(new g.A({level:0,scale:e,resolution:e*d}));for(let l=1;l<r;l++){const r=e/2**t,i=r*d;y.push(new g.A({level:l,scale:r,resolution:i})),e=r}}return new l({dpi:96,lods:y,origin:u,size:[i,i],spatialReference:s})}constructor(e){super(e),this.dpi=96,this.format=null,this.origin=null,this.size=null,this.spatialReference=null}get isWrappable(){const{spatialReference:e,origin:t}=this;if(e&&t){const r=(0,h.Vp)(e);return e.isWrappable&&!!r&&Math.abs(r.origin[0]-t.x)<=r.dx}return!1}readOrigin(e,t){return p.A.fromJSON({spatialReference:t.spatialReference,...e})}set lods(e){let t=0,r=0;const l=[],i=this._levelToLOD={};e&&(t=-1/0,r=1/0,e.forEach(e=>{l.push(e.scale),t=e.scale>t?e.scale:t,r=e.scale<r?e.scale:r,i[e.level]=e})),this._set("scales",l),this._set("lods",e),this._initializeUpsampleLevels()}readSize(e,t){return[t.cols,t.rows]}writeSize(e,t){t.cols=e[0],t.rows=e[1]}zoomToScale(e){const t=this.scales;if(e<=0)return t[0];if(e>=t.length-1)return t[t.length-1];const r=Math.floor(e),l=r+1;return t[r]/(t[r]/t[l])**(e-r)}scaleToZoom(e){const t=this.scales,r=t.length-1;let l=0;for(;l<r;l++){const r=t[l],i=t[l+1];if(r<=e)return l;if(i===e)return l+1;if(r>e&&i<e)return l+Math.log(r/e)/Math.log(r/i)}return l}tileAt(e,t,r,l){const i=this.lodAt(e);if(!i)return null;let s,o;if("number"==typeof t)s=t,o=r;else if((0,h.aI)(t.spatialReference,this.spatialReference))s=t.x,o=t.y,l=r;else{const e=(0,d.Cv)(t,this.spatialReference);if(null==e)return null;s=e.x,o=e.y,l=r}const n=i.resolution*this.size[0],a=i.resolution*this.size[1];return l??=new y.U(0,0,0),l.level=e,l.row=Math.floor((this.origin.y-o)/a+.001),l.col=Math.floor((s-this.origin.x)/n+.001),this.updateTileInfo(l),l}updateTileInfo(e,t=0){if(!("extent"in e))return!1;let r=this.lodAt(e.level);if(!r&&1===t){const t=this.lods[this.lods.length-1];t.level<e.level&&(r=t)}if(!r)return!1;const l=e.level-r.level,i=r.resolution*this.size[0]/2**l,s=r.resolution*this.size[1]/2**l;return e.extent[0]=this.origin.x+e.col*i,e.extent[1]=this.origin.y-(e.row+1)*s,e.extent[2]=e.extent[0]+i,e.extent[3]=e.extent[1]+s,!0}upsampleTile(e){const t=this._upsampleLevels[e.level];return!(!t||-1===t.parentLevel||(e.level=t.parentLevel,e.row=Math.floor(e.row/t.factor+.001),e.col=Math.floor(e.col/t.factor+.001),this.updateTileInfo(e),0))}getTileBounds(e,t){const r=this.lodAt(t.level);if(null==r)return null;const{resolution:l}=r,i=l*this.size[0],s=l*this.size[1];return e[0]=this.origin.x+t.col*i,e[1]=this.origin.y-(t.row+1)*s,e[2]=e[0]+i,e[3]=e[1]+s,e}lodAt(e){return this._levelToLOD?.[e]??null}clone(){return l.fromJSON(this.write({}))}getCompatibleForVTL(e){if(this.size[0]!==this.size[1]||256===this.size[0]&&512===e)return null;const t=(512===this.size[0]&&256===e?-1:0)+(this.spatialReference.isGeographic?1:0);if(this.size[0]===e&&0===t)return this;const r=[],i=this.lods.length-t;for(let e=0;e<i;e++){const l=e+t,{scale:i,resolution:s}=l>=0?this.lods[l]:{scale:2*this.lods[0].scale,resolution:2*this.lods[0].resolution};r.push(new g.A({level:e,scale:i,resolution:s}))}return new l({size:[e,e],dpi:this.dpi,format:this.format,compressionQuality:this.compressionQuality,origin:this.origin,spatialReference:this.spatialReference,lods:r})}_initializeUpsampleLevels(){const e=this.lods;this._upsampleLevels=[];let t=null;for(let r=0;r<e.length;r++){const l=e[r];this._upsampleLevels[l.level]={parentLevel:t?t.level:-1,factor:t?t.resolution/l.resolution:0},t=l}}};(0,i.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],w.prototype,"compressionQuality",void 0),(0,i.Cg)([(0,a.MZ)({type:Number,json:{write:!0}})],w.prototype,"dpi",void 0),(0,i.Cg)([(0,a.MZ)({type:String,json:{read:v.read,write:v.write,origins:{"web-scene":{read:!1,write:!1}}}})],w.prototype,"format",void 0),(0,i.Cg)([(0,a.MZ)({readOnly:!0})],w.prototype,"isWrappable",null),(0,i.Cg)([(0,a.MZ)({type:p.A,json:{write:!0}})],w.prototype,"origin",void 0),(0,i.Cg)([(0,f.w)("origin")],w.prototype,"readOrigin",null),(0,i.Cg)([(0,a.MZ)({type:[g.A],value:null,json:{write:!0}})],w.prototype,"lods",null),(0,i.Cg)([(0,a.MZ)({readOnly:!0})],w.prototype,"scales",void 0),(0,i.Cg)([(0,a.MZ)({cast:e=>Array.isArray(e)?e:"number"==typeof e?[e,e]:[256,256]})],w.prototype,"size",void 0),(0,i.Cg)([(0,f.w)("size",["rows","cols"])],w.prototype,"readSize",null),(0,i.Cg)([(0,m.K)("size",{cols:{type:u.jz},rows:{type:u.jz}})],w.prototype,"writeSize",null),(0,i.Cg)([(0,a.MZ)({type:c.A,json:{write:!0}})],w.prototype,"spatialReference",void 0),w=l=(0,i.Cg)([(0,a.$K)("esri.layers.support.TileInfo")],w)},91806(e,t,r){r.d(t,{A:()=>a});var l,i=r(5482),s=r(25482),o=r(91429),n=r(56507);let a=class extends s.o{static{l=this}constructor(e){super(e),this.cols=null,this.level=0,this.levelValue=null,this.origin=null,this.resolution=0,this.rows=null,this.scale=0}clone(){return new l({cols:this.cols,level:this.level,levelValue:this.levelValue,resolution:this.resolution,rows:this.rows,scale:this.scale})}};(0,i.Cg)([(0,o.MZ)({json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],a.prototype,"cols",void 0),(0,i.Cg)([(0,o.MZ)({type:n.jz,json:{write:!0}})],a.prototype,"level",void 0),(0,i.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],a.prototype,"levelValue",void 0),(0,i.Cg)([(0,o.MZ)({json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],a.prototype,"origin",void 0),(0,i.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],a.prototype,"resolution",void 0),(0,i.Cg)([(0,o.MZ)({json:{write:!0,origins:{"web-document":{read:!1,write:!1},"portal-item":{read:!1,write:!1}}}})],a.prototype,"rows",void 0),(0,i.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],a.prototype,"scale",void 0),a=l=(0,i.Cg)([(0,o.$K)("esri.layers.support.LOD")],a)}}]);